From 50ee3ee69b753e87ee4c298cf118715c697d2ac1 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 1 Nov 2021 22:19:16 -0600 Subject: [PATCH 001/235] A few build-system preliminaries. --- CMakeLists.txt | 1 + cmake/GNDStk_dependencies.cmake | 14 ++++++++++++++ src/GNDStk.hpp | 3 +++ 3 files changed, 18 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a33c52da1..860548540 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,6 +42,7 @@ target_link_libraries( GNDStk INTERFACE catch-adapter INTERFACE pugixml-adapter INTERFACE nlohmann_json::nlohmann_json + INTERFACE HighFive ) add_executable( json2class.exe diff --git a/cmake/GNDStk_dependencies.cmake b/cmake/GNDStk_dependencies.cmake index 46c409ac9..5b6258457 100644 --- a/cmake/GNDStk_dependencies.cmake +++ b/cmake/GNDStk_dependencies.cmake @@ -34,6 +34,12 @@ FetchContent_Declare(json GIT_SHALLOW true ) +FetchContent_Declare(hdf5 + GIT_REPOSITORY https://github.com/BlueBrain/HighFive.git + GIT_TAG origin/master + GIT_SHALLOW TRUE + ) + FetchContent_GetProperties(json) set(JSON_BuildTests OFF CACHE INTERNAL "") if(NOT json_POPULATED) @@ -41,6 +47,13 @@ if(NOT json_POPULATED) add_subdirectory(${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL) endif() +FetchContent_GetProperties(hdf5) +set(HDF5_BuildTests OFF CACHE INTERNAL "") +if(NOT hdf5_POPULATED) + FetchContent_Populate(hdf5) + add_subdirectory(${hdf5_SOURCE_DIR} ${hdf5_BINARY_DIR} EXCLUDE_FROM_ALL) +endif() + FetchContent_Declare( pybind11 GIT_REPOSITORY https://github.com/pybind/pybind11 GIT_TAG v2.6.1 @@ -57,5 +70,6 @@ FetchContent_MakeAvailable( Log pugixml-adapter json + hdf5 pybind11 ) diff --git a/src/GNDStk.hpp b/src/GNDStk.hpp index c665be5ae..601b4556f 100644 --- a/src/GNDStk.hpp +++ b/src/GNDStk.hpp @@ -8,6 +8,9 @@ #include "pugixml.hpp" #include "nlohmann/json.hpp" +#define HIGHFIVE_USE_BOOST OFF +#include +#include #include "Log.hpp" From e4d56ea75d61a4fb8aede0e05370ccb3e128c54f Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Tue, 2 Nov 2021 11:28:43 -0600 Subject: [PATCH 002/235] Updatong cmake dependencies --- cmake/GNDStk_dependencies.cmake | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/cmake/GNDStk_dependencies.cmake b/cmake/GNDStk_dependencies.cmake index 5b6258457..3b64e7ace 100644 --- a/cmake/GNDStk_dependencies.cmake +++ b/cmake/GNDStk_dependencies.cmake @@ -34,12 +34,6 @@ FetchContent_Declare(json GIT_SHALLOW true ) -FetchContent_Declare(hdf5 - GIT_REPOSITORY https://github.com/BlueBrain/HighFive.git - GIT_TAG origin/master - GIT_SHALLOW TRUE - ) - FetchContent_GetProperties(json) set(JSON_BuildTests OFF CACHE INTERNAL "") if(NOT json_POPULATED) @@ -47,12 +41,14 @@ if(NOT json_POPULATED) add_subdirectory(${json_SOURCE_DIR} ${json_BINARY_DIR} EXCLUDE_FROM_ALL) endif() -FetchContent_GetProperties(hdf5) -set(HDF5_BuildTests OFF CACHE INTERNAL "") -if(NOT hdf5_POPULATED) - FetchContent_Populate(hdf5) - add_subdirectory(${hdf5_SOURCE_DIR} ${hdf5_BINARY_DIR} EXCLUDE_FROM_ALL) -endif() +FetchContent_Declare(hdf5 + GIT_REPOSITORY https://github.com/BlueBrain/HighFive.git + GIT_TAG origin/master + GIT_SHALLOW TRUE + ) +set( HIGHFIVE_USE_BOOST OFF CACHE INTERNAL "" ) +set( HIGHFIVE_UNIT_TESTS OFF CACHE INTERNAL "" ) +set( HIGHFIVE_EXAMPLES OFF CACHE INTERNAL "" ) FetchContent_Declare( pybind11 GIT_REPOSITORY https://github.com/pybind/pybind11 From fc0c91eb7b142471169da4e939419e6a4ae053df Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Tue, 2 Nov 2021 16:49:33 -0600 Subject: [PATCH 003/235] Updating CI to get hdf5 installed --- .github/workflows/ContinuousIntegration.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ContinuousIntegration.yml b/.github/workflows/ContinuousIntegration.yml index 6f987cf69..42b62e842 100644 --- a/.github/workflows/ContinuousIntegration.yml +++ b/.github/workflows/ContinuousIntegration.yml @@ -18,6 +18,12 @@ jobs: build_type: [ Debug, Release ] steps: + - name: Install hdf5 libraries for Linux + if: matrix.os == 'ubuntu-18.04' + run: sudo apt-get install libhdf5-dev + - name: Install hdf5 libraries for MacOS + if: matrix.os == 'macos-10.15' + run: brew install hdf5 - name: which CXX run: | which ${{matrix.cxx}} From 90c38c839915524e10e2c9df0f360a37e155a70b Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Tue, 2 Nov 2021 16:52:54 -0600 Subject: [PATCH 004/235] Removing compiler definition --- src/GNDStk.hpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/GNDStk.hpp b/src/GNDStk.hpp index 601b4556f..a20fecc4f 100644 --- a/src/GNDStk.hpp +++ b/src/GNDStk.hpp @@ -8,7 +8,6 @@ #include "pugixml.hpp" #include "nlohmann/json.hpp" -#define HIGHFIVE_USE_BOOST OFF #include #include #include "Log.hpp" From e964e9273a28b2946eab3c8c9ce8e9f5c7cceb13 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 4 Nov 2021 08:52:56 -0600 Subject: [PATCH 005/235] Updated CI to run tests weekly --- .github/workflows/ContinuousIntegration.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ContinuousIntegration.yml b/.github/workflows/ContinuousIntegration.yml index 6f987cf69..86bd741ee 100644 --- a/.github/workflows/ContinuousIntegration.yml +++ b/.github/workflows/ContinuousIntegration.yml @@ -2,7 +2,10 @@ name: Continuous Integration # This workflow is triggered on pushes and pull requests to the repository. +# This workflow will also run each Monday on the default branch (i.e. master) on: + schedule: + - cron: '0 0 * * 1' push: branches: '**' pull_request: @@ -14,7 +17,7 @@ jobs: strategy: matrix: os: [ ubuntu-18.04, macos-10.15 ] - cxx: [ g++-9, clang++ ] + cxx: [ clang++, g++-9 ] build_type: [ Debug, Release ] steps: From 07c3e58b1834e85fcac5293757d19696471ac8f1 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 4 Nov 2021 08:55:30 -0600 Subject: [PATCH 006/235] Updated readme with CI badge --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a8734aac2..0d05e30ed 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ +![Continuous Integration](https://github.com/njoy/GNDStk/workflows/Continuous%20Integration/badge.svg) + # GNDStk -Generalized Nuclear Database Structure toolkit +Toolkit for reading and interacting with GNDS formatted files. This toolkit provides a full C++ library along with python bindings. ## LICENSE This software is copyrighted by Los Alamos National Laboratory and distributed according to the conditions in the accompanying [LICENSE](LICENSE) file. From c6dfd339f77e9d46f1b47635c1600c9d0230a8ba Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 4 Nov 2021 12:56:27 -0600 Subject: [PATCH 007/235] Adding the json files for the GNDS 2.0 standard --- standards/gnds-2.0/readme | 24 + standards/gnds-2.0/summary_abstract.json | 252 ++ standards/gnds-2.0/summary_appData.json | 97 + standards/gnds-2.0/summary_atomic.json | 331 +++ standards/gnds-2.0/summary_basic.json | 307 +++ standards/gnds-2.0/summary_common.json | 268 ++ standards/gnds-2.0/summary_covariance.json | 1033 ++++++++ standards/gnds-2.0/summary_cpTransport.json | 307 +++ standards/gnds-2.0/summary_documentation.json | 1048 ++++++++ .../gnds-2.0/summary_fissionFragmentData.json | 118 + .../gnds-2.0/summary_fissionTransport.json | 613 +++++ standards/gnds-2.0/summary_fpy.json | 287 ++ standards/gnds-2.0/summary_gpdc.json | 1912 ++++++++++++++ standards/gnds-2.0/summary_mapfile.json | 258 ++ standards/gnds-2.0/summary_pops.json | 1923 ++++++++++++++ standards/gnds-2.0/summary_processed.json | 241 ++ standards/gnds-2.0/summary_resonance.json | 1368 ++++++++++ standards/gnds-2.0/summary_styles.json | 1082 ++++++++ standards/gnds-2.0/summary_transport.json | 2302 +++++++++++++++++ standards/gnds-2.0/summary_tsl.json | 895 +++++++ 20 files changed, 14666 insertions(+) create mode 100644 standards/gnds-2.0/readme create mode 100644 standards/gnds-2.0/summary_abstract.json create mode 100644 standards/gnds-2.0/summary_appData.json create mode 100644 standards/gnds-2.0/summary_atomic.json create mode 100644 standards/gnds-2.0/summary_basic.json create mode 100644 standards/gnds-2.0/summary_common.json create mode 100644 standards/gnds-2.0/summary_covariance.json create mode 100644 standards/gnds-2.0/summary_cpTransport.json create mode 100644 standards/gnds-2.0/summary_documentation.json create mode 100644 standards/gnds-2.0/summary_fissionFragmentData.json create mode 100644 standards/gnds-2.0/summary_fissionTransport.json create mode 100644 standards/gnds-2.0/summary_fpy.json create mode 100644 standards/gnds-2.0/summary_gpdc.json create mode 100644 standards/gnds-2.0/summary_mapfile.json create mode 100644 standards/gnds-2.0/summary_pops.json create mode 100644 standards/gnds-2.0/summary_processed.json create mode 100644 standards/gnds-2.0/summary_resonance.json create mode 100644 standards/gnds-2.0/summary_styles.json create mode 100644 standards/gnds-2.0/summary_transport.json create mode 100644 standards/gnds-2.0/summary_tsl.json diff --git a/standards/gnds-2.0/readme b/standards/gnds-2.0/readme new file mode 100644 index 000000000..5cdb3463f --- /dev/null +++ b/standards/gnds-2.0/readme @@ -0,0 +1,24 @@ +GNDS standard version : 2.0 +GNDS specification repository : https://git.oecd-nea.org/science/wpec/gnds/formats +commit hash : 9475a2829505b98a197a6492738bc84901f78d6a + +files : + Conventions/summary_abstract.json + DataContainers/summary_basic.json + DataContainers/summary_gpdc.json + Documentation/summary_documentation.json + PoPs/summary_pops.json + Styles/summary_styles.json + TopLevel/summary_appData.json + TopLevel/summary_atomic.json + TopLevel/summary_common.json + TopLevel/summary_covariance.json + TopLevel/summary_cpTransport.json + TopLevel/summary_fissionFragmentData.json + TopLevel/summary_fissionTransport.json + TopLevel/summary_fpy.json + TopLevel/summary_mapFile.json + TopLevel/summary_processed.json + TopLevel/summary_resonance.json + TopLevel/summary_transport.json + TopLevel/summary_tsl.json diff --git a/standards/gnds-2.0/summary_abstract.json b/standards/gnds-2.0/summary_abstract.json new file mode 100644 index 000000000..dbde2edf6 --- /dev/null +++ b/standards/gnds-2.0/summary_abstract.json @@ -0,0 +1,252 @@ +{ + "__namespace__":"abstract", + "Specifications":{ + "__class__": "nodes.Node", + "abstractNode": "abstract node's name", + "attributes": { + "attribute1": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Description of attribute.", + "name": "attribute1", + "required": true, + "type": "Integer32" + }, + "attribute2": { + "__class__": "nodes.Attribute", + "default": "1.0", + "description": "Description of attribute.", + "name": "attribute2", + "required": false, + "type": "Float64" + }, + "attribute3": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Description of attribute.", + "name": "attribute3", + "required": false, + "type": "Float64" + } + }, + "bodyText": "Description of body text.", + "childNodes":{ + "childNode1":{ + "__class__": "nodes.ChildNode", + "description": "Description of node.", + "name": "childNode1", + "occurrence": "1+", + "required": true + }, + "childNode2":{ + "__class__": "nodes.ChildNode", + "description": "Description of node.", + "name": "childNode2", + "occurrence": "1", + "required": false + }, + "childNode3":{ + "__class__": "nodes.ChildNode", + "description": "Description of node.", + "name": "childNodeWithChoice1", + "occurrence": "choice", + "required": false + }, + "childNode4":{ + "__class__": "nodes.ChildNode", + "description": "Description of node.", + "name": "childNodeWithChoice2", + "occurrence": "choice", + "required": false + } + }, + "description": [ + "The specification for each container will contain the container's nodeName, abstract node, attributes and body (i.e. child nodes or text).", + "An abstract node\\footnote{In this sense, an abstract node is like an abstract base class in C++ or Python.}", + "describes attributes and/or body common to several containers and, in itself, is not an actual node (container). The general specification looks like" + ], + "name": "node", + "required": false, + "rootNode": false + }, + "labelNode":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The label is used to allow an xlink to uniquely address to the node (container).", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Many nodes (containers) can reside in other nodes. When more than one node of the same type is embedded in another node,", + "a unique way is needed to address a specific node. The label attribute provides this capability. An xlink can address a", + "child node with a unique label even when embedded in a parent node containing more than one child nodes of the same type." + ], + "name": "label", + "required": false, + "rootNode": false + }, + "functionalNode":{ + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A label is required for a top-level functional node, but not for lower-dimensional functions appearing inside another functional node.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "For an $n$-dimensional function, this is its associated $x_{n+1}$ value. Required for all functional nodes that are nested inside higher-dimension functional nodes.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": "An \\elemlink{axes} node.", + "name": "axes", + "occurrence": "1", + "required": true + }, + "values": { + "__class__": "nodes.ChildNode", + "description": "A list of numeric values. The meaning of the numbers depends on the type of function.", + "name": "values", + "occurrence": "choice", + "required": false + }, + "functional": { + "__class__": "nodes.ChildNode", + "description": "A list of lower-dimensional functions contained inside this function.", + "name": "functional", + "occurrence": "choice2+", + "required": false + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "The \\elemlink{uncertainty} node.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": "This section lists attributes and child nodes common to functional nodes (containers). These are the `outerDomainValue' attribute and the child node \\elemlink{axes}.", + "name": "functional", + "required": false, + "rootNode": false + }, + "textNode":{ + "__class__": "nodes.Node", + "attributes": { + "encoding": { + "__class__": "nodes.Attribute", + "default": "ascii", + "description": "One of `ascii' or `utf8'. Defines the allowed character set for the body.", + "name": "encoding", + "required": false, + "type": "XMLName" + }, + "markup": { + "__class__": "nodes.Attribute", + "default": "none", + "description": "One of `none', `xml', `xhtml', `latex', or other markups defined by a project.", + "name": "markup", + "required": false, + "type": "attributeValue" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The label for the text node.", + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": ["The list of characters. The value for the encoding attribute defines the allowed character set. .", + "If the data are being stored in an XML file and if the body contains XML markup characters ", + "(e.g. '<', '>'), then the characters must wrapped in special XML CDATA\\footnote{An XML CDATA ", + "section is need whenever a string contains characters that are normally reserved for xml ", + "markup, such as `<', `>', `/', and `\\&'.} section."], + "childNodes": {}, + "description": "This node stores a list of characters. This node can be used to store documentation, for example.", + "name": "text", + "required": false, + "rootNode": false + }, + "physicalQuantityNode":{ + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The label is used to allow an xlink to uniquely address to the node (container).", + "name": "label", + "required": true, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": "", + "description": "String name of the unit for this quantity. The unit can be omitted if the quantity is unitless.", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Determined by the sub-class. Value is usually a Float64, but may also be Integer32, Fraction32 or String.", + "name": "value", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation specific to the physical quantity.", + "name": "documentation", + "occurrence": "1", + "required": false + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "The \\elemlink{uncertainty} node.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": ["Within, for example, a particle property, each possible assignment is a physical quantity", + "with a value, a unit and optional documentation and uncertainty information.", + "Each physical quantity is assigned a label, so that if the database contains multiple", + "possible assignments for a particle's property one can uniquely identify each possible", + "assignment by the corresponding label.\n\nFor most properties in the particle database,", + "the \\attr{value} is a floating-point number. However, the database also supports storing", + "values that are integers (e.g. for parity), fractions (for spin) and strings", + "(for values like `stable'). Since slightly different rules apply to each type of quantity,", + "they are given unique abstract node names: \\element{Float64}, \\element{Integer32}, \\element{Fraction32}", + "and \\element{String}. This section defines the abstract node used by the physical quantities."], + "name": "physicalQuantity", + "required": false, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_appData.json b/standards/gnds-2.0/summary_appData.json new file mode 100644 index 000000000..fe08cc8e9 --- /dev/null +++ b/standards/gnds-2.0/summary_appData.json @@ -0,0 +1,97 @@ +{ + "__namespace__":"appData", +"applicationData":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "institution": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "institution", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "applicationData", + "required": false, + "rootNode": false +}, +"institution":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "ENDFconversionFlags": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "ENDFconversionFlags", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "institution", + "required": false, + "rootNode": false +}, +"ENDFconversionFlags":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "conversion": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "conversion", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "ENDFconversionFlags", + "required": false, + "rootNode": false +}, +"conversion":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "flags": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "flags", + "required": false, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "href", + "required": false, + "type": "bodyText" + } + }, + "bodyText": null, + "childNodes": {}, + "description": null, + "name": "conversion", + "required": false, + "rootNode": false +} +} diff --git a/standards/gnds-2.0/summary_atomic.json b/standards/gnds-2.0/summary_atomic.json new file mode 100644 index 000000000..3268971ef --- /dev/null +++ b/standards/gnds-2.0/summary_atomic.json @@ -0,0 +1,331 @@ +{ + "__namespace__":"atomic", + "coherentPhotonScattering":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "When \\element{coherentPhotonScattering} is used in place of an actual distribution ", + "this link is used to refer back to the parameterisation that defines the distribution." + ], + "name": "href", + "required": false, + "type": "bodyText" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Style label for this cross section.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The particle identifier of the outgoing particle.", + "name": "pid", + "required": false, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "frame" + } + }, + "bodyText": null, + "childNodes": { + "formFactor": { + "__class__": "nodes.ChildNode", + "description": "The form factor $F(x,Z)$.", + "name": "formFactor", + "occurrence": "1", + "required": false + }, + "realAnomalousFactor": { + "__class__": "nodes.ChildNode", + "description": "$F'(E)$, the real part of the anomalous scattering factor.", + "name": "realAnomalousFactor", + "occurrence": "1", + "required": false + }, + "imaginaryAnomalousFactor": { + "__class__": "nodes.ChildNode", + "description": ["$F''(E)$, the imaginary part of the anomalous scattering factor."], + "name": "imaginaryAnomalousFactor", + "occurrence": "1", + "required": false + } + }, + "description": [ + "The double differential cross section for coherent (a.k.a. elastic) scattering is given by \\cite{Hubbell1975,Kissel1995}:", + "\\begin{equation}", + "\\frac{d^2\\sigma_{\\rm coh} ( E, E' ,\\mu) }{d\\mu \\; dE'} = \\frac{d\\sigma_{\\rm coh} ( E, \\mu ) }{d\\mu} \\ \\delta( E' - E ).", + "\\end{equation}", + "Here $\\delta(x)$ is the Dirac delta function and the differential cross section", + "$d\\sigma_{\\rm coh} ( E, \\mu ) / d\\mu$ is given by", + "\\begin{equation}", + "\\frac{d\\sigma _{\\rm coh} ( E,\\mu )}{d\\mu} = \\frac{d\\sigma_{T}(E)}{d\\mu}", + "\\left\\{ \\left[ F( x,Z ) + F'( E ) \\right]^2 + F''( E )^2 \\right\\} \\;", + "\\label{27:coherent}", + "\\end{equation}", + "where", + "\\begin{varlist}", + "\n", + "\\item[$d\\sigma_{T}/d\\mu$]", + "the Thompson cross section [2] which can be written in a closed form as", + "\\begin{equation}", + "\\frac{d\\sigma_{T}(E)}{d\\mu} = \\pi r_e^2 \\left( 1 + \\mu^2 \\right)", + "\\end{equation}", + "\n", + "\\item[$F(x,Z)$] a form factor, which can be easily ", + "tabulated. At high $x$, $F$ approaches zero. In the ", + "other limit $F(0,Z)$ tends to $Z$.,", + "\n", + "\\item[$F'(E)$] the real part of the anomalous scattering factor.,", + "\n", + "\\item[$F''(E)$] the imaginary part of the anomalous scattering factor.,", + "\\end{varlist}", + "\n", + "Using \\ref{27:coherent}, the total cross section and angular distribution can then easily be calculated. ", + "The incoherent and coherent scattering data should always be presented as scattering functions and form factors, respectively, whether or not data are included. ", + "The anomalous scattering factors are assumed to be isotropic. ", + "In addition, they smoothly approach zero at 1.0 MeV and can be assumed to be zero at higher energies,", + "\\cite{Cullen1997,Cullen1989}." + ], + "name": "coherentPhotonScattering", + "required": false, + "rootNode": false + }, + "imaginaryAnomalousFactor":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": ["The imaginary part of the anomalous scattering factor given as an interpolation table of $F''$ vs. $E$"], + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "The imaginary part of the anomalous scattering factor given as several regions", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": ["$F''(E)$, the imaginary part of the anomalous scattering factor."], + "name": "imaginaryAnomalousFactor", + "required": false, + "rootNode": false + }, + "incoherentPhotonScattering":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "When \\element{incoherentPhotonScattering} is used in place of an actual distribution ", + "this link is used to refer back to the parameterisation that defines the distribution." + ], + "name": "href", + "required": false, + "type": "bodyText" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Style label for this cross section.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The particle identifier of the outgoing particle.", + "name": "pid", + "required": false, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "frame" + } + }, + "bodyText": null, + "childNodes": { + "scatteringFactor" : { + "__class__": "nodes.ChildNode", + "description": "$S(x,Z)$, the incoherent scattering function.", + "name": "scatteringFactor", + "occurrence": "1", + "required": false + } + }, + "description": [ + "The double differential cross section for incoherent (a.k.a. inelastic) scattering is given by:", + "\n", + "\\begin{equation}", + "\\frac{d^2\\sigma_{\\rm incoh} ( E, E' ,\\mu) }{d\\mu \\; dE'} = \\frac{d\\sigma_{\\rm incoh} ( E, \\mu ) }{d\\mu} \\ \\delta( E' - E'(E,\\mu) )", + "\\end{equation}", + "where $\\delta(x)$ is the Dirac delta function, $E'(E,\\mu)$ is the energy of the scattered photon ", + "(see definition of $k' \\equiv k'(k,\\mu)$ below), and the differential cross section ", + "$d\\sigma_{\\rm incoh} ( E, \\mu ) / d\\mu$ is given by", + "\\begin{equation}", + "\\frac{d\\sigma_{\\rm incoh} ( E, \\mu ) }{d\\mu} = S( x, Z )\\frac{d\\sigma_{KN} (E,\\mu )}{d\\mu} \\;", + "\\label{27:incoherent}", + "\\end{equation}", + "here", + "\\begin{varlist}", + "\n", + "\\item[$d\\sigma_{KN}/d\\mu$]", + "the Klein-Nishina cross section \\cite{KleinNishina1929,Hubbell1975} which can be written in a closed ", + "form as", + "\\begin{equation}", + "\\frac{d\\sigma_{KN} (E,E',\\mu )}{d\\mu} = \\pi r_e^2 \\left(\\frac{k'}{k}\\right)^{2}\\left[1+\\mu^2+kk'(1-\\mu)^2\\right]", + "\\end{equation}", + "\n", + "\\item[$S(x,Z)$] the incoherent", + "scattering function. For large $x$, $S$ approaches $Z$.", + "For small $x$, $S(0,Z) = 0$.", + "\n", + "\\item[$x$] a quantity related to the momentum of the recoil electron. ", + "$x$ is an inverse length, given in inverse {\\AA}ngstr\\\"{o}ms as customarily reported in the literature.", + "\n", + "\\begin{equation}", + "x = \\frac{E}{h c}\\sin(\\theta/2)=\\frac{E}{h c} \\left[ \\frac{(1 - \\mu )}{2} \\right]^{1/2}", + "\\end{equation}", + "\n", + "\\item[$r_{e}$] the classical radius of the electron, $e^{2}/m_{e}c^{2}$.", + "\n", + "\\item[$k$] the incident photon energy, in units of the electron rest mass, $E/m_{e}c^2$", + "\n", + "\\item[$k'$] the scattered photon energy, in units of the electron rest mass, $E'/m_{e}c^2 = k/(1+k(1-\\mu))$", + "\n", + "\\item[$E'$] scattered photon energy,", + "\n", + "\\item[$\\mu$] $\\cos\\theta$ of the scattered photon.", + "\\end{varlist}", + "\n", + "Using \\ref{27:incoherent}, the total cross section and angular distribution can then easily be calculated. ", + "Values of $S(x,Z)$ are tabulated as a function of $x$. ", + "The user presumably will have subroutines available for calculating $x$ ", + "for energies and angles of interest and for calculating Klein-Nishina ", + "cross sections. The user will then generate the cross sections for the ", + "appropriate cases by calculating $x$'s, looking up the appropriate values ", + "of $S$, and substituting them in the above formula.", + "\n", + "The quantity $x$ is related to the the momentum of the ", + "recoil electron $q$. In units of $m_e c$, the recoil momentum is ", + "\\begin{equation}", + "q = k' \\left[ 1 + \\left(", + "\\frac{k}{k'} \\right) ^2 - 2\\mu \\left(", + "\\frac{k}{k'} \\right)", + "\\right] ^{1/2}.", + "\\end{equation}", + "In the limit of coherent (elastic) scattering, $E=E'$ and $\\theta$ is small so one has", + "\\begin{equation}", + "q = k \\left[ 2(1 - \\mu ) \\right]^{1/2} = 2hx/m_ec.", + "\\end{equation}" + ], + "name": "incoherentPhotonScattering", + "required": false, + "rootNode": false + }, + "realAnomalousFactor":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": ["The real part of the anomalous scattering factor given as an interpolation table of $F''$ vs. $E$"], + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "The real part of the anomalous scattering factor given as several regions.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": ["$F'(E)$, the real part of the anomalous scattering factor."], + "name": "realAnomalousFactor", + "required": false, + "rootNode": false + }, + "scatteringFactor":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The incoherent scattering function given as a function of incident energy as an interpolation table.", + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "The incoherent scattering function given as multiple regions.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": "$S(x,Z)$, the incoherent scattering function. For large $x$, $S$ approaches $Z$. For small $x$, $S(0,Z) = 0$.", + "name": "scatteringFactor", + "required": false, + "rootNode": false + }, + "formFactor":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The form factor given as a function of incident energy as an interpolation table.", + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "The form factor given as multiple regions.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": "A form factor $F(x,Z)$, which can be tabulated. At high $x$, $F$ approaches zero. In the other limit $F(0, Z)$ tends to $Z$.", + "name": "formFactor", + "required": false, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_basic.json b/standards/gnds-2.0/summary_basic.json new file mode 100644 index 000000000..37eb619d4 --- /dev/null +++ b/standards/gnds-2.0/summary_basic.json @@ -0,0 +1,307 @@ +{ + "__namespace__":"basic", + "XMLName":{ + "__class__": "nodes.ElementaryTypeNode", + "description": [ + "XMLName represents the set and sequence of characters that are allowed for node and attribute ", + "names. Some meta-languages and programming languages (e.g. C and Python) allow a name to start ", + "with the underscore character. While other programming languages (e.g. FORTRAN) do not. For maximum ", + "compatibility an XMLName text shall not start with an underscore character."], + "name": "XMLName", + "allowedValueDescription": [ + "XMLNames shall begin with a character from the ISO basic Latin alphabet. All other ", + "characters shall be from the following: ISO basic Latin alphabet, Arabic numerals, and/or an underscore. ", + "There is no limit on the length of a name, except that it shall contain at least 1 character."] + }, + + "attributeValue": { + "__class__": "nodes.ElementaryTypeNode", + "description": ["This represents the set and sequence of characters that are allowed for attribute values."], + "name": "attributeValue", + "allowedValueDescription": ["The allowed values for", + "an attribute will depend on the attribute/node and, in general, should be specified by the ", + "project defining the attribute/node. A project can use any UTF-8 character in a value deemed necessary. ", + "However, some general rules apply: ", + "\\begin{itemize}", + "\\item If a value of an attribute is an Integer32, UInteger32, ", + "Float64 or other defined type then it shall follow the specification for an ", + "Integer32, UInteger32, Float64 or the other defined type, respectively", + "(see Sections~\\ref{format:basic:Integer32}, \\ref{format:basic:UInteger32} and \\ref{format:basic:Float64}).", + "\\item If any part of the value of an attribute is an Integer32, UInteger32, ", + "Float64 or other defined type then that part shall follow the specification for an ", + "Integer32, UInteger32, Float64 or the other defined type, respectively.", + "\\noindent For example, if an attribute value contains a Float64 with units, as in `mass=``3.2 kg''', ", + "the numeric part of the attribute value shall follow the Float64 specification.", + "\\end{itemize}"]}, + + "bodyText": { + "__class__": "nodes.ElementaryTypeNode", + "description": [ + "In general, any UTF-8 character is allowed. However, the allowed characters ", + "for a node's body can be limited by its parent node's specifications."], + "name": "bodyText", + "allowedValueDescription": ["Any UTF-8 character is allowed."]}, + + "UTF8Text": { + "__class__": "nodes.ElementaryTypeNode", + "description": ["This is text composed of any sequence of UTF-8 characters."], + "name": "UTF8Text", + "allowedValueDescription": ["Any sequence of 0 or more UTF-8 characters."]}, + + "printableText": { + "__class__": "nodes.ElementaryTypeNode", + "description": ["This is text composed of only the printable ascii characters."], + "name": "printableText", + "allowedValueDescription": [ + "Any sequence of the ascii characters ", + "between the space character (decimal 32) to the tilde character ", + "('\\textasciitilde' or decimal 126) inclusive."]}, + + "quotedText": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This represents a UTF8Text string that is contained between two matching quote characters. The allowed quote characters are the ascii double quote character (i.e. \" or decimal 34) and the ascii single quote character (i.e. ' or decimal 39).", + "name": "quotedText", + "allowedValueDescription": ["A UTF8Text string contained between matching single or double quote characters. ", + "\\noindent For example, the quoted string ``abc 123 xyz'' is expressed as", + "\\begin{verbatim}", + "\"abc 123 xyz\"", + "\\end{verbatim}", + "or", + "\\begin{verbatim}", + "'abc 123 xyz'", + "\\end{verbatim}", + "\\noindent", + "This is not the same as", + "\\begin{verbatim}", + "'abc 123 xyz '", + "\\end{verbatim}", + "\\noindent as leading and trailing spaces are part of the string."]}, + + "tdText": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This represents a UTF8Text string that is contained between the XML start and end elements that define a standard html table cell (i.e. ``'' and ``'').", + "name": "tdText", + "allowedValueDescription": ["The XML element ``'' and the UTF8Text string it contains.", + "\\noindent For example, the quoted string ``abc 123 xyz'' is expressed as", + "\\begin{verbatim}", + "abc 123 xyz", + "\\end{verbatim}", + "\\noindent This is not the same as", + "\\begin{verbatim}", + " abc 123 xyz", + "\\end{verbatim}", + "\\noindent as leading and trailing spaces are part of the string."]}, + + "IntegerTuple": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This is text node composed of a comma-delimited list of integers. It is used to denote starting indices within an array. The integer type is Integer32.", + "name": "IntegerTuple", + "allowedValueDescription": "Any integer (0-9), the comma `,', and any printable whitespace character.\n\n \\noindent For example, the array index [3][4][7] can be represented as the IntegerTuple `3, 4, 7'."}, + + "Integer32": { + "__class__": "nodes.ElementaryTypeNode", + "description": [ + "This represents the allowed set and sequence of characters, and values that are allowed for a ", + "32-bit signed integer."], + "name": "Integer32", + "allowedValueDescription": [ + "Any integer in the range [ $-2^{31}$ to $2^{31}$ ) --", + "note that the lower limit is inclusive and the upper limit is exclusive. The minimum allowed", + "value (i.e. $-2^{31}$ = -2147483648) is defined to be \\textbf{Integer32$\\_$Min} and the maximum allowed", + "value (i.e. $2^{31}$ - 1 = 2147483647) is defined to be \\textbf{Integer32$\\_$Max}.", + "The Python regular expression (see Section~\\ref{sec:pres}) for an \\textbf{Integer32} shall be", + "\\begin{verbatim}", + "`[+-]?([1-9][0-9]*|0+)'", + "\\end{verbatim}", + "with the restriction that the value shall be in the range [\\textbf{Integer32$\\_$Min},", + "\\textbf{Integer32$\\_$Max]}."], + "C_equivalent": "int32$\\_$t"}, + + "UInteger32": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This represents the allowed set and sequence of characters, and values that are allowed for a 32-bit unsigned integer.", + "name": "UInteger32", + "allowedValueDescription": ["Any integer in the range [ 0 to $2^{32}$ ).", + "An unsigned integer is represented in the", + "same way as a signed integer, with the exception that a minus sign (e.g. `-') is not allowed).", + "The minimum allowed value (i.e. 0) is defined to be \\textbf{UInteger32\\_Min} and the maximum allowed", + "value (i.e. $2^{32} - 1$) is defined to be \\textbf{UInteger32\\_Max}.", + "The Python regular expression (see Section~\\ref{sec:pres}) for an \\textbf{UInteger32} shall be", + " \\begin{verbatim}", + " `+?([1-9][0-9]*|0+)'", + " \\end{verbatim}"], + "C_equivalent": "uint32$\\_$t"}, + + "Float64": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This represents the allowed set and sequence of characters, and values for a 64-bit floating point number.", + "name": "Float64", + "allowedValueDescription": ["Any normalised or denormalised IEEE-754 binary64~\\cite{IEEEFloats}", + "value. The Python regular expression (see Section~\\ref{sec:pres}) for a Float64 shall be", + "\\begin{verbatim}", + "'[+-]?([0-9]+\\.?[0-9]*|\\.[0-9]+)([eE][+-]?[0-9]+)?'", + "\\end{verbatim}", + "\\noindent", + "with the restriction that the value shall only be in the range for a normalised or denormalised IEEE-754", + "binary64 value. The number of significant digits (base 10) in a normalised IEEE-754 binary64 value is", + "about 16, and is fewer for a denormalised value. The string representation of a Float64 value can have", + "more significant digits than are supported by a normalised or denormalised IEEE-754 binary64 value;", + "however, these additional digits will generally be ignored when the value is read into a Float64 variable."], + "C_equivalent": "double"}, + + "Fraction32": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This represents the allowed set and sequence of characters, and values that are allowed for a faction given as the ratio of two Integer32 values.", + "name": "Fraction32", + "allowedValueDescription": "All Fraction32 are represented as `i1 / i2' or `i3' where i1, i2 and i3 are Integer32s. Spaces are allowed around all Integer32 values. Example are `1/2', ` 1 / 2 ', `5 / 32 ' and `2'."}, + + "Boolean": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This represents the allowed set and sequence of characters that represent the Boolean \\attrval{true} and \\attrval{false} values in general-purpose data containers.", + "name": "Boolean", + "allowedValueDescription": "The allowed strings are `true' and `false'. For a table cell, the allowed values are `\\texttt{}' and `\\texttt{}'.", + "comment": "the standard XML attribute value representation for Boolean values true and false are `true' and `false' respectively.", + "C_equivalent": "bool"}, + + "whiteSpace": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This represents the allowed set and sequence of characters for a white space.", + "name": "whiteSpace", + "allowedValueDescription": "Any of the characters shown in Table~\\ref{table:ValidWhiteSpaces}"}, + + "Empty": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This is the token that states that the value of the cell in a table is empty.", + "name": "Empty", + "allowedValueDescription": "The ASCII string `\\texttt{}'."}, + + "date": { + "__class__": "nodes.ElementaryTypeNode", + "description": [ + "This represents the allowed formats for a date which may also include a time or a time with offset from UTC information.", + "The allowed formats are a subset of the ISO-8061 `extended' formats \\cite{datetime}." + ], + "name": "date", + "allowedValueDescription": ["One of the following ISO-8061 'extended' formats", + "\\vskip 0.1 in", + "\\begin{itemize}", + "\\item date only as `YYYY-MM-DD' (e.g., `2015-02-01'),", + "\\item date and time as `YYYY-MM-DDThh:mm:ss' (e.g., '2015-02-01T16:55:18') and", + "\\item date and time with offset from UTC as `YYYY-MM-DDThh:mm:ss$\\pm$hh:mm' (e.g., '2015-02-01T16:55:18+01:00')", + "\\end{itemize}", + "\\vskip 0.1 in", + "where", + "\\vskip 0.1 in", + "\\begin{itemize}", + "\\item YYYY represents the year and must be in the range [0000,9999],", + "\\item MM represents the month and must be in the range [01,12],", + "\\item DD represents the day of the month and must be in the range [01,28], [01,29], [01,30] or [01,31], depending on the value specified for YYYY-MM,", + "\\item hh represents the hour and must be in the range [00,23],", + "\\item mm represents the minute and must be in the range [00,59] and", + "\\item ss represents the second and must be in the range [00,60] where 60 is only allowed to denote an added leap second.", + "\\end{itemize}", + "\\vskip 0.1 in", + "All characters must be ASCII. In particular, the 'minus sign', for representing a negative offset from UTC, must be the ASCII ", + "hyphen-minus character (i.e., 45 decimal).", + "All other ISO-8601 formats are not allowed. For example, `YYYYMMDD' (e.g., '20150201') is not allowed. Date ranges are not supported." + ]}, + "dateType": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Metadata describing important dates in the generation or maintainance of a dataset. See Table \\ref{table:dateType} for a description of the allowed values.", + "name": "dateType", + "allowedValues":["accepted", "available", "copyrighted", "collected", "created", "issued", "submitted", "updated", "valid", "withdrawn"]}, + + "contributorType": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Metadata describing various contributions to a maintainance/distribution/etc. of a dataset which are not strictly authorship contributions. See Table \\ref{table:contributorType} for a description of the allowed values.", + "name": "contributorType", + "allowedValues":["ContactPerson", "DataCollector", "DataCurator", "DataManager", "Distributor", "Editor", "HostingInstitution", "Producer", "ProjectLeader", "ProjectManager", "ProjectMember", "RegistrationAgency", "RegistrationAuthority", "RelatedPerson", "Researcher", "ResearchGroup", "RightsHolder", "Sponsor", "Supervisor", "WorkPackageLeader", "Other"]}, + + "relationType": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Metadata describing how one dataset is related to another. See Table \\ref{table:relationType} for a description of the allowed values.", + "name": "relationType", + "allowedValues":["IsCitedBy", "Cites", "IsSupplementTo", "IsSupplementedBy", "IsContinuedBy", "Continues", "Describes", "IsDescribedBy", "HasMetadata", "IsMetadataFor", "HasVersion", "IsVersionOf", "IsNewVersionOf", "IsPreviousVersionOf", "IsPartOf", "HasPart", "IsPublishedIn", "IsReferencedBy", "References", "IsDocumentedBy", "Documents", "IsCompiledBy", "Complies", "IsVariantFormOf", "IsOriginalFormOf", "IsIdenticalTo", "IsReviewedBy", "Reviews", "IsDerivedFrom", "IsSourceOf", "IsRequiredBy", "Requires", "Obsoletes", "IsObsoletedBy"]}, + + "checksum": { + "__class__": "nodes.ElementaryTypeNode", + "description": ["A checksum (also called a `hash') is a hexadecimal number computed from a file, string or other data.", + "The checksum serves as a unique digital `fingerprint' that can be used to detect whether data has changed since it was computed." + ], + "name": "checksum", + "allowedValueDescription": ["Any combination of digits 0-9 and letters a-f. The length depends on the algorithm", + "used to compute the checksum: 32 characters for MD5, 40 for SHA-1. The following regular expression can be used to", + "check for a valid MD5 or SHA-1 checksum: `[0-9a-f]\\{40\\}|[0-9a-f]\\{32\\}'."] + }, + + "parity": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Parity is a particle property related to the (anti)-symmetry of the wave function to reflection.", + "name": "parity", + "allowedValues":["+1", "-1"]}, + + "frame": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Tells what reference frame a projectile, product, distribution or double-differential cross section is given in.", + "name": "frame", + "allowedValues":["lab", "centerOfMass"]}, + + "interpolation": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Rule for interpolating between two points in a 1-dimensional function.", + "name": "interpolation", + "allowedValues":["flat", "charged-particle", "lin-lin", "lin-log", "log-lin", "log-log"]}, + + "interpolationQualifier": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Rule for interpolating between two N-dimensional functions inside an (N+1)-dimensional function.", + "name": "interpolationQualifier", + "allowedValues":["direct", "unitBase", "correspondingEnergies", "correspondingPoints"]}, + + "hashAlgorithm": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Two algorithms for computing hash sums are currently supported: the MD5 and SHA-1 algorithms.", + "name": "algorithm", + "allowedValues": ["md5", "sha1"]}, + + "Float32": { + "__class__": "nodes.ElementaryTypeNode", + "description": "Floating point number that can be stored at reduced precision", + "name": "Float32", + "allowedValueDescription": "n/a", + "comment": "Since only ASCII representation of data types is being considered here, and since Float32 is a subset of Float64, this is probably not needed.", + "implementationStatus": "Not implemented as of GNDS-1.9"}, + + "Integer64": { + "__class__": "nodes.ElementaryTypeNode", + "description": "This represents the allowed set and sequence of characters, and values for a 64-bit signed integer.", + "name": "Integer64", + "allowedValueDescription": ["Any integer in the range [ $-2^{63}$ to $2^{63}$ ). The minimum ", + "allowed value (i.e. $-2^{63}$) is defined to be \\textbf{Integer64\\_Min} and the maximum allowed", + "value (i.e. $2^{63} - 1$) is defined to be \\textbf{Integer64\\_Max}.", + "The Python regular expression (see Section~\\ref{sec:pres}) for an \\textbf{Integer64} shall be", + "\\begin{verbatim}", + "`[+-]?([1-9][0-9]*|0+)'", + "\\end{verbatim}", + "\\noindent with the restriction that the value shall be in the range ", + "[\\textbf{Integer64\\_Min}, \\textbf{Integer64\\_Max}]."], + "C_equivalent": "int64\\_t", + "comment": "Currently not needed so not defined.", + "implementationStatus": "Not implemented as of GNDS-1.9"}, + + "Hexadecimal": { + "__class__": "nodes.ElementaryTypeNode", + "description": "Typical hexadecimal number", + "name": "Hexadecimal", + "allowedValueDescription": "n/a", + "comment": "Currently not needed so not defined.", + "implementationStatus": "Not implemented as of GNDS-1.9"}, + + "Octal": { + "__class__": "nodes.ElementaryTypeNode", + "description": "Typical octal number", + "name": "Octal", + "allowedValueDescription": "n/a", + "comment": "Currently not needed so not defined.", + "implementationStatus": "Not implemented as of GNDS-1.9"} +} diff --git a/standards/gnds-2.0/summary_common.json b/standards/gnds-2.0/summary_common.json new file mode 100644 index 000000000..952468fc2 --- /dev/null +++ b/standards/gnds-2.0/summary_common.json @@ -0,0 +1,268 @@ +{ + "__namespace__":"common", + "Q":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantityNode", + "attributes": {}, + "bodyText": null, + "childUnique":"yesLabel", + "childNodes": { + "constant1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "constant1d", + "occurrence": "choice", + "required": false + }, + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "choice", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "regions1d", + "occurrence": "choice", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "choice", + "required": false + }, + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": "Grouped Q-value, weighted by the cross-section and optionally by the flux. Appears in processed files only.", + "name": "gridded1d", + "occurrence": "choice", + "required": false + } + }, + "description": null, + "name": "Q", + "required": false, + "rootNode": false + }, + "product":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Product label. Must be unique within the list of \\texttt{products}", + "name": "label", + "required": true, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id, must correspond to the id of a particle in the particle database.", + "name": "pid", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "multiplicity": { + "__class__": "nodes.ChildNode", + "description": "Component containing the multiplicity of the product.", + "name": "multiplicity", + "occurrence": "1", + "required": true + }, + "distribution": { + "__class__": "nodes.ChildNode", + "description": "Component containing the energy/angle distribution of the product.", + "name": "distribution", + "occurrence": "1", + "required": true + }, + "outputChannel": { + "__class__": "nodes.ChildNode", + "description": "Used if the product breaks up into fragments (e.g. \\attrval{Be8 -> He4 + He4})", + "name": "outputChannel", + "occurrence": "1", + "required": false + } + }, + "description": "A product is a particle that is the result of a reaction or decay. More than one particle of the same type can be released in a single reaction (e.g. (n, 2n)). A multiplicity (how many are produced) must be defined for each product. A distribution describing the outgoing energy and angle of the product is also required, although it may have a value of \\attrval{unspecified}.", + "name": "product", + "required": false, + "rootNode": false + }, + "products":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "product": { + "__class__": "nodes.ChildNode", + "description": "One or more \\element{product} child element.", + "name": "product", + "occurrence": "1+", + "required": false + } + }, + "description": "There are three ``types'' of product lists:\n\\begin{itemize}[nosep]\n\\item reaction\\item orphaned\n\\item decay\n\\end{itemize}\nEach type has the same structure; a constant for the $Q$-value, one or more child \\element{product} elements, and optional \\element{documentations} child element. Some of the child \\element{product} elements may be unstable and decay further. The decay products of the unstable product are not given here, but are given explicitly in the particle database.", + "name": "products", + "required": false, + "rootNode": false + }, + "mass":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantityNode", + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "double", + "occurrence": "1+", + "required": true + } + }, + "description": null, + "name": "mass", + "required": false, + "rootNode": false + }, + "energy":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantityNode", + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "double", + "occurrence": "1+", + "required": true + } + }, + "description": null, + "name": "energy", + "required": false, + "rootNode": false + }, + "probability":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "double", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "probability", + "required": false, + "rootNode": false + }, + "temperature":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantityNode", + "attributes": { + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "value", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": null, + "name": "temperature", + "required": false, + "rootNode": false + }, + "externalFiles":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "externalFile": { + "__class__": "nodes.ChildNode", + "description": "A file", + "name": "externalFile", + "occurrence": "1+", + "required": true + } + }, + "description": "The \\texttt{externalFiles} node is used to link data from multiple GNDS files. The most common use is to establish the link between a \\texttt{reactionSuite} file and one or more corresponding \\texttt{covarianceSuite} files. ", + "name": "externalFiles", + "required": false, + "rootNode": false + }, + "externalFile":{ + "__class__": "nodes.Node", + "abstractNode": "labelNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "unique string that can be used to identify this external file.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "path": { + "__class__": "nodes.Attribute", + "default": null, + "description": "relative path to the external file, using unix-style path separators to maintain compatability with existing xPath tools.", + "name": "path", + "required": true, + "type": "XMLName" + }, + "checksum": { + "__class__": "nodes.Attribute", + "default": null, + "description": "hexadecimal checksum for the external file. Can be used to check that whether an external file has been modified.", + "name": "checksum", + "required": false, + "type": "checksum" + }, + "algorithm": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Algorithm used to compute the `checksum'. Allowed values are `md5' and `sha1'.", + "name": "algorithm", + "required": false, + "type": "algorithm" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Stores a single external file, including a unique label and file path and optionally a checksum to help ensure file integrity.", + "name": "externalFile", + "required": false, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_covariance.json b/standards/gnds-2.0/summary_covariance.json new file mode 100644 index 000000000..bb1592512 --- /dev/null +++ b/standards/gnds-2.0/summary_covariance.json @@ -0,0 +1,1033 @@ +{ + "__namespace__":"covariance", + "covarianceSuite":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "evaluation": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the evaluation, e.g. `ENDF-VIII.0'", + "name": "evaluation", + "required": false, + "type": "XMLName" + }, + "projectile": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Projectile particle id for the most of the covariances matrices in this suite.", + "name": "projectile", + "required": false, + "type": "XMLName" + }, + "target": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Target particle id for most of the covariance matrices in this suite.", + "name": "target", + "required": false, + "type": "XMLName" + }, + "interaction": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "Defines the type of interaction for the reaction data linked from within the covarianceSuite.", + "Options are `nuclear', `atomic' and `thermalNeutronScatteringLaw'. For example,", + "a covarianceSuite containing covariances for photo-nuclear reactions has a value of `nuclear'", + "while a covarianceSuite for photo-atomic reactions has a value of `atomic'. In principal", + "a covarianceSuite could contain cross-terms between two different types of interaction,", + "but such cross-terms are not present in any current libraries. If the need arises, they", + "could be handled by allowing the interaction to be `mixed'." ], + "name": "interaction", + "required": true, + "type": "interaction" + }, + "format": { + "__class__": "nodes.Attribute", + "default": null, + "description": "GNDS format version, e.g. `2.1'", + "name": "version", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "externalFiles": { + "__class__": "nodes.ChildNode", + "description": ["Stores a list of external files related to this \\elemlink{covarianceSuite}.", + "Often used to link a \\elemlink{reactionSuite} to one or more \\elemlink{covarianceSuite} files."], + "name": "externalFiles", + "occurrence": "1", + "required": false + }, + "styles": { + "__class__": "nodes.ChildNode", + "description": ["Element containing a list of styles inside this covarinceSuite. Each style describes", + "information about the evalualated data (e.g. library, version) representation and each processed data representation."], + "name": "styles", + "occurrence": "1", + "required": false + }, + "covarianceSections": { + "__class__": "nodes.ChildNode", + "description": ["Stores covariance matrices for continuous data."], + "name": "covarianceSections", + "occurrence": "1", + "required": false + }, + "parameterCovariances": { + "__class__": "nodes.ChildNode", + "description": ["contains covariance for paramters.", + "This may be resoanance parameters or covariance matrices for other ", + " nuclear data described by parameters"], + "name": "parameterCovariances", + "occurrence": "1", + "required": false + } + }, + "description": ["Stores covariance data for various reaction and materials.", + "Covariance matrix data my be given for the combination of a projectile and target given,", + "as well as for any other combination. Therefore, one or more", + "\\elemlink{reactionSuite} elements and other related files may be listed", + "in the \\elemlink{externalFiles} link."], + "name": "covarianceSuite", + "required": false, + "rootNode": true + }, + "covarianceSections":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "covarianceSection": { + "__class__": "nodes.ChildNode", + "description": ["Each covarianceSection represents either the covariance for a single quantity,", + " or a cross-term between two different quantities. "], + "name": "covarianceSection", + "occurrence": "1+", + "required": false + } + }, + "description": ["Stores covariance matrices for continuous data. ", + "The grid on which the covariance data are given will usually be different from the one ", + " the orignal data are given on. Therefore the axes data will most often be given as ", + "\\elemlink{grid} elements.", + "This element can contain covariance matrices and cross covariance matrices for many different types of data." ], + "name": "covarianceSections", + "required": false, + "rootNode": false + }, + + "covarianceMatrix":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["If \\elemlink{covarianceMatrix} is a direct child of \\elemlink{covarianceSection}, ", + " the label refers to the style of the evalutions this covariance matrix refers to.", + " In this case, the label is required, otherwise if \\elemlink{covarianceMatrix} is a ", + " child of \\elemlink{mixed}, it is optional. In the latter case it may be used to ensure ", + " that each \\elemlink{covarianceMatrix} in \\elemlink{mixed} has a unique label by which ", + " it can be refered to in a link"], + "name": "label", + "required": false, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in. Required for covariances on energy/angular distributions.", + "name": "productFrame", + "required": false, + "type": "frame" + }, + "type": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Options are `relative' or `absolute'", + "name": "type", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "gridded2d": { + "__class__": "nodes.ChildNode", + "description": ["A two-dimensional array that gives the actual covariance data."], + "name": "gridded2d", + "occurrence": "choice", + "childUnique": "yes", + "required": false + }, + "sandwichProduct": { + "__class__": "nodes.ChildNode", + "description": "Covariance matrix decomposed into a matrix sandwich product.", + "name": "sandwichProduct", + "occurrence": "choice", + "childUnique": "yes", + "required": false + } + }, + "description": ["A covariance matrix can be either absolute or relative with the respect to the ", + " data it referes to. Choices are: ", + "\\begin{description}[font=\\ttfamily,labelindent=1cm] ", + " \\item[absolute:] the covariance matrix data are given absolute. ", + " \\item[relative:] the covariance matrix data are given relative to the data it refers to.", + "\\end{description}" ], + "name": "covarianceMatrix", + "required": false, + "rootNode": false + }, + + "sandwichProduct":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": ["An \\element{axes} element containing the \\element{grid} elements.", + "The grid applies to the final matrix after computing the matrix product"], + "name": "axes", + "occurrence": "1", + "required": true + }, + "covariance": { + "__class__": "nodes.ChildNode", + "description": "Array containing the inner portion of the sandwich product.", + "name": "covariance", + "occurrence": "1", + "required": true + }, + "rowSensitivity": { + "__class__": "nodes.ChildNode", + "description": "Array containing the left-hand side of the sandwich product.", + "name": "rowSensitivity", + "occurrence": "1", + "required": true + }, + "columnSensitivity": { + "__class__": "nodes.ChildNode", + "description": ["Array containing the right-hand side of the sandwich product.", + "May be omitted if the right-hand side is equal to", + "the transpose of the \\element{rowSensitivity}.", + "If a columnSensitivity is supplied, its dimensions must be consistent with", + "the transpose of the rowSensitivity."], + "name": "columnSensitivity", + "occurrence": "1", + "required": false + } + }, + "description": ["Contains a matrix decomposed into the sandwich product $R \\times c \\times C$.", + "In many cases C is equal to the transpose of R and need not be stored explicitly.", + "This representation can be used to store covariances more compactly.", + "For example, if eigenvalue decomposition reveals that only a few eigenvalues", + "are significant, this representation can be used to store only those eigenvalues", + "and their corresponding eigenvectors. If a covariance was computed by varying some", + "parameters and determining the sensitivity of a final quantity to each parameter,", + "this representation permits storing the parameter covariance and sensitivity explicitly."], + "name": "sandwichProduct", + "required": false, + "rootNode": false + }, + "covariance":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "array": { + "__class__": "nodes.ChildNode", + "description": ["Array storing the central term in a sandwich product.", + "The array must be square and may be symmetric or diagonal."], + "name": "array", + "occurrence": "1", + "required": true + } + }, + "description": null, + "name": "covariance", + "required": false, + "rootNode": false + }, + "rowSensitivity":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "array": { + "__class__": "nodes.ChildNode", + "description": ["Array storing the left-hand term in a sandwich product.", + "The array is generally rectangular, with the number of columns equal to", + "the dimension of the corresponding \\element{covariance} array."], + "name": "array", + "occurrence": "1", + "required": true + } + }, + "description": null, + "name": "rowSensitivity", + "required": false, + "rootNode": false + }, + "columnSensitivity":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "array": { + "__class__": "nodes.ChildNode", + "description": ["Array storing the right-hand term in a sandwich product.", + "The array is generally rectangular, with the number of rows equal to", + "the dimension of the corresponding \\element{covariance} array."], + "name": "array", + "occurrence": "1", + "required": true + } + }, + "description": ["Required only if the right-hand term in the sandwich product is not equal to the transpose", + "of the left-hand term."], + "name": "columnSensitivity", + "required": false, + "rootNode": false + }, + + "parameterCovariances":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "averageParameterCovariance": { + "__class__": "nodes.ChildNode", + "description": ["Gives the covariance matrix data on average parameters, for example ", + " average resonance parameters in the resolved range"], + "name": "averageParameterCovariance", + "occurrence": "1+", + "required": false + }, + "parameterCovariance": { + "__class__": "nodes.ChildNode", + "description": ["Gives the covariance matrix for parameters, for example resonance parameters in ", + " the resolved range."], + "name": "parameterCovariance", + "occurrence": "1+", + "required": false + } + }, + "description": null, + "name": "parameterCovariances", + "required": false, + "rootNode": false + }, + "parameters":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "parameterLink": { + "__class__": "nodes.ChildNode", + "description": ["Links the indices in the ", + "parameter covariance matrix to the correct parameter." ], + "name": "parameterLink", + "occurrence": "1+", + "required": false + } + }, + "description": ["Collects the elemlink{parameterLink} elements that allow to link the indices in the ", + "parameter covariance matrix to the correct parameters."], + "name": "parameters", + "required": false, + "rootNode": false + }, + "parameterCovariance":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Used to make the \\element{covariance}{parameterCovariance} unique within ", + "\\elemlink{parameterCovariances}. No other restrictions on the label exist."], + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childUnique" : "yesLabel", + "childNodes": { + "rowData": { + "__class__": "nodes.ChildNode", + "description": ["Gives a reference to the resonance parameters to which this matrix applies."], + "name": "rowData", + "occurrence": "1", + "required": true + }, + "parameterCovarianceMatrix": { + "__class__": "nodes.ChildNode", + "description": ["Contains the parameter covariance matrix itself."], + "name": "parameterCovarianceMatrix", + "occurrence": "1+", + "required": true + } + }, + "description": ["Container for \\elemlink{parameterCovarianceMatrix} containing the actual parameter covariance matrix.", + "Storing the data in the container, allows to give different parameter covariance matrices, ", + "depending on the evaluation."], + "name": "parameterCovariance", + "required": false, + "rootNode": false + }, + "parameterCovarianceMatrix":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The label refers to the style of the evalutions this covariance matrix refers to."], + "name": "label", + "required": true, + "type": "XMLName" + }, + "type": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Options 'absolute', 'absoluteCovariance', or 'relative'."], + "name": "type", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "parameters": { + "__class__": "nodes.ChildNode", + "description": "Cross references the matrix indices to the parameter they refer to.", + "name": "parameters", + "occurrence": "1", + "required": true + }, + "array": { + "__class__": "nodes.ChildNode", + "description": ["The two-dimensional array containing the actual parameter covariance data."], + "name": "array", + "occurrence": "1", + "required": true + } + }, + "description": ["The parameter covariance matrix can be either absolute or relative with the respect to the ", + " . Choices are: ", + "\\begin{description}[font=\\ttfamily,labelindent=1cm] ", + " \\item[absolute:] the parameters covariance matrix data is given absolute. ", + " \\item[absoluteCovariance:] the parameters covariance matrix data is given absolute. ", + " \\item[relative:] the parameter covariance matrix data are given relative to the parameters.", + "\\end{description}" ], + "name": "parameterCovariancMatrix", + "required": false, + "rootNode": false + }, + "parameterLink":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Link to the data container (usually a table) where the parameters are defined."], + "name": "href", + "required": false, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The link is used to make each \\element{covariance}{parameterLink} unique within ", + "\\elemlink{parameters}. No other restrictions are put on the value."], + "name": "label", + "required": false, + "type": "XMLName" + }, + "matrixStartIndex": { + "__class__": "nodes.Attribute", + "default": 0, + "description": ["The starting index for this set of parameters in the covariance matrix given in ", + " the \\element{array} element of the \\elemlink{parameterCovarianceMatrix}"], + "name": "matrixStartIndex", + "required": false, + "type": "Integer32" + }, + "nParameters": { + "__class__": "nodes.Attribute", + "default": "1", + "description": ["The number of parameters that are refered to in this link"], + "name": "nParameters", + "required": false, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": {}, + "description": ["The reference given can be of several different types. Depending on the type, ", + " the numbering of the parameters is as follows: ", + "\\begin{description}[font=\\ttfamily,labelindent=1cm] ", + " \\item[table:] The table is counted row-major and all entries are counted. In this case ", + " \\texttt{nParameters} should be equal to row count times column count. For example, ", + " the table object for \\elemlink{BreitWigner} resonance parameters lists L and J values, which ", + " are not usually referenced in the covariance matrix. However, the covariance matrix must list ", + " a zero entry for all terms involving L and J. This allows for easy referencing of an entire table ", + " object, rather than having to give an explicit reference to each individual resonance parameter.", + " \\item[scatteringRadius:] It is aassumed that the scattering radius contains only ", + " a \\elemlink{constant1d} element for the selected evaluation. In this case \\texttt{nParameters} ", + " should be 1", + " \\item Any references that references exactly one value, for example a \\elemlink{constant1d} ", + "\\end{description}"], + "name": "parameterLink", + "required": false, + "rootNode": false + }, + "shortRangeSelfScalingVariance":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "dependenceOnProcessedGroupWidth": { + "__class__": "nodes.Attribute", + "default": null, + "description": [], + "name": "dependenceOnProcessedGroupWidth", + "required": false, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Only used to ensure that the \\element{shortRangeSelfScalingVarianc} is ", + "unique within \\elemlink{mixed}. No other restrictions are put on the label."], + "name": "label", + "required": false, + "type": "XMLName" + }, + "type": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Options are `relative' or `absolute' to indicate whether the data ", + " are given absolute or relative with respect to the underlying data."], + "name": "type", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "gridded2d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "gridded2d", + "occurrence": "1", + "required": false + } + }, + "description":["Gives a covariance matrix for a short-range self-scaling variance.", + "The matrix will only have elements on the diagonal given on an evalutor grid ", + "$\\Delta E_{k}$ with diagonal elements $F_{k}$.", + " In order to calculate the covariance matrix on the user energy grid of $\\Delta E_{kj}$ ", + "there are two options:", + "\\begin{itemize}", + "\\item The variance contribution $\\textrm{Var}(X_{jj})$ to the processed group ", + "variance for the energy group ", + "$(E_{j},E_{j+1})$ is inversely proportional to its width $\\Delta E_{j}$ when ", + "$(E_{j},E_{j+1})$ lies within $(E_{k},E_{k+1})$ and is obtained from the relation:", + "$$\\textrm{Var}(X_{jj} )= F_{k} \\frac{\\Delta E_{k}} {\\Delta E_{j}}$$", + "where $E_{k} \\leq E_{j} \\leq E_{j+1} \\leq E_{k+1}$.", + " This form is applicable in the resonance range where the covariances in the other sub-subsections ", + "define ``average'' coarse energy-grid uncertainties, while the actual pointwise cross-section ", + "values may fluctuate by orders of magnitude. The evaluator must be aware that the actual ", + "uncertainty in the cross sections depends on the user's energy-grid. The user should be ", + "aware of possible processing problems, for example when the union grid of the user's ", + "energy group structure and the covariance grid nearly coincide at some energy. ", + "This form should not be used to specify the uncertainty on the actual value of pointwise cross sections.", + "\\item The variance contribution $\\textrm{Var}(X_{jj})$ to the processed group variance for ", + "the energy group $(E_{j},E_{j+1})$ is directly proportional to the width $\\Delta E_{j}$ when ", + "$(E_{j},E_{j+1})$ lies within $(E_{k},E_{k+1})$. It is obtained from the relation:", + "$$ \\textrm{Var}(X_{jj}) = F_{k} \\left [ 1 - ", + " \\frac{\\Delta E_{j}} {\\Delta E_{k}} \\right ]$$", + " where $E_{k} \\leq E_{j} < E_{j+1} \\leq E_{k+1}$. ", + " This form is applicable in cases when experimental evidence suggests the possibility of structure ", + "in the cross sections, but the experimental resolution is not sufficient to determine the ", + "detailed shape, which is then approximated by a smooth curve. It describes the maximum uncertainty ", + "in the cross section due to possible fine-structure, which vanishes when the user's energy grid ", + "is equal or coarser than the covariance grid. The physical consequence of this property is that ", + "it increases the absolute variance when the user defines an energy grid more refined than the ", + "covariance grid (thus avoiding zero-eigenvalue problems), but will not affect any coarse energy-group ", + "uncertainties. The increase in the variance remains finite (limited to $F_{k})$ and is ", + "applicable to defining the uncertainties of pointwise cross sections.", + "\\end{itemize}\n\n", + "Note that the $\\textrm{Var}(X_{jj})$ are variances in average cross sections. ", + "This rule suffices for arbitrary group boundaries if subgroup boundaries are chosen to include all ", + " the $E_{k}$. No contributions to off-diagonal multigroup covariance matrix elements are ", + "generated by this covariance section."], + "name": "shortRangeSelfScalingVariance", + "required": false, + "rootNode": false + }, + "mixed":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": [" The label refers to the style of the evalutions this covariance matrix refers to and", + " it is required."], + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "covarianceMatrix": { + "__class__": "nodes.ChildNode", + "description": ["Partial explicit covariance matrix"], + "name": "covarianceMatrix", + "occurrence": "1+", + "required": false + }, + "shortRangeSelfScalingVariance": { + "__class__": "nodes.ChildNode", + "description": ["Short range scaling data for this covariance data"], + "name": "shortRangeSelfScalingVariance", + "occurrence": "1+", + "required": false + }, + "sum": { + "__class__": "nodes.ChildNode", + "description": ["Sum relationship for the underlying data to be used in some range of the covariance domain." ], + "name": "sum", + "occurrence": "1+", + "required": false + } + }, + "description": ["If more than one explicit covariance matrix, short term scaling data or ", + "different sum relationships are needed to describe the covariance information, ", + "the data needs to be put into a \\element{mixed} container. ", + "All child elements of \\element{mixed} can be processed separately but need ", + " to be added together to yield the covariance matrix for the covarianceSection."], + "name": "mixed", + "required": false, + "rootNode": false + }, + "averageParameterCovariance":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "crossTerm": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "crossTerm", + "required": false, + "type": "Boolean" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childUnique":"yesLabel", + "childNodes": { + "columnData": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "columnData", + "occurrence": "1", + "required": false + }, + "covarianceMatrix": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "covarianceMatrix", + "occurrence": "choice", + "required": false + }, + "rowData": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "rowData", + "occurrence": "1", + "required": false + } + }, + "description": ["Covariance data are given for average parameters, as used in the unresolved resonance range.", + "Even so the unresolved resonance parameters may be given as energy dependent values, ", + " the covariance data are given for energy indedependent, i.e. energy averaged, parameters."], + "name": "averageParameterCovariance", + "required": false, + "rootNode": false + }, + "covarianceSection":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "crossTerm": { + "__class__": "nodes.Attribute", + "default": false, + "description": ["Indicates whether the covariance is a cross term connecting two different quantities." ], + "name": "crossTerm", + "required": false, + "type": "Boolean" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description":["The label must be unique among all \\elemlink{covarianceSection} elements in a \\elemlink{crossSections} element.", + "No other restrictions are placed on the label."], + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childUnique":"yesLabel", + "childNodes": { + "rowData": { + "__class__": "nodes.ChildNode", + "description": ["defines what data lie along the rows of the covariance"], + "name": "rowData", + "occurrence": "1", + "required": true + }, + "columnData": { + "__class__": "nodes.ChildNode", + "description":["Defines what data lie along the columns of the covariance.", + "Required if crossTerm is true.", + "Otherwise it is assumed to be the same as rowData."], + "name": "columnData", + "occurrence": "1", + "required": false + }, + "covarianceMatrix": { + "__class__": "nodes.ChildNode", + "description": ["Contains the covariance data if only one \\elemlink{covarianceMatrix} element is needed", + " to describe the covariance data for this covarianceSection and the desired style."], + "name": "covarianceMatrix", + "occurrence": "choice", + "required": false + }, + "sum": { + "__class__": "nodes.ChildNode", + "description": ["The data references by this covariance matrix are given as a sum of other data."], + "name": "sum", + "occurrence": "choice", + "required": false + }, + "mixed": { + "__class__": "nodes.ChildNode", + "description": ["Contains more than one covariance matrix. ", + "All matrices need to be added in order to get the full covariance matrix."], + "name": "mixed", + "occurrence": "choice", + "required": false + } + }, + "description": ["Within the \\elemlink{covarianceSections}, most covariance data are organised into covarianceSection nodes. ", + "Each covarianceSection represents either the covariance for a single quantity, or a cross-term between two ", + "different quantities."], + "name": "covarianceSection", + "required": false, + "rootNode": false + }, + "rowData":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "ENDF_MFMT": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["the ENDF MF and MT numbers, stored as a comma-joined list (i.e. ``MF,MT'')"], + "name": "ENDF_MFMT", + "required": false, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["An xPath expression linking to the covariant quantity. ", + "The link may contain a reference to an external file referenced in \\elemlink{externalFiles}.", + " For some covariance matrices, such as a \\elemlink{parameterCovariance} this attribute may be omitted,", + " as more explicit references are given for the parameters." ], + "name": "href", + "required": false, + "type": "XMLName" + }, + "dimension": { + "__class__": "nodes.Attribute", + "default": null, + "description": [" If the href values is refering to a multi-dimensional ", + "object, (\\elemlink{array} or \\elemlink{regions2d} for example), ", + "the dimension to which this row refers. The number should be the same index as the axis,", + "for which this dimension is indexed."], + "name": "dimension", + "required": false, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": { + "slices": { + "__class__": "nodes.ChildNode", + "description": ["If the href values is refering to a multi-dimensional object, ", + "list of slices along the fixed dimensions."], + "name": "slices", + "occurrence": "1", + "required": false + } + }, + "description": ["The rowData contains a link to the quantity (cross section, multiplicity, etc.) ", + "corresponding to the rows of the covariance matrix. One or more \\elemlink{slice} child nodes", + "are necessary when a higher-dimensional covariance ", + "such as for the outgoing energy", + "spectrum $P(E' | E)$ is divided into multiple \\elemlink{covarianceSection} nodes, each of which applies to part", + "of the incident energy domain. Each \\elemlink{slice} must contain a \\attr{dimension} attribute,", + "along with an optional \\texttt{domainUnit} and either a \\texttt{domainValue} or both \\texttt{domainMin} and \\texttt{domainMax}."], + "name": "rowData", + "required": false, + "rootNode": false + }, + "columnData":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "ENDF_MFMT": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Same as for \\elemlink{rowData}."], + "name": "ENDF_MFMT", + "required": false, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Same as for \\elemlink{rowData}."], + "name": "href", + "required": false, + "type": "XMLName" + }, + "dimension": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Same as for \\elemlink{rowData}."], + "name": "dimension", + "required": false, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": { + "slices": { + "__class__": "nodes.ChildNode", + "description": ["If the href values is refering to a multi-dimensional object, ", + "list of slices along the fixed dimensions."], + "name": "slices", + "occurrence": "1", + "required": false + } + }, + "description": ["The columnData contains a link to the quantity (cross section, multiplicity, etc.) ", + "corresponding to the columns of the covariance matrix. ", + "The element \\elemlink{columnData} is only needed if this is a ", + "cross term connecting two different quantities."], + "name": "columnData", + "required": false, + "rootNode": false + }, + "slices":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "childNodes": { + "slice": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "slice", + "occurrence": "1+", + "required": true + } + }, + "description": ["List of \\element{slice} nodes, one for each fixed dimension of a covariance", + "for a multi-dimensional function."], + "name": "slices", + "required": false, + "rootNode": false + }, + "slice":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The upper end of the domain" ], + "name": "domainMin", + "required": false, + "type": "Float64" + }, + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The lower end of the domain."], + "name": "domainMax", + "required": false, + "type": "Float64" + }, + "domainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Value of the domain (e.g. Legendre coefficient for an angular distribution covariance).", + "This attribute should be used instead of \\attr{domainMin} and \\attr{domainMax} if", + "the covariance applies to a single point in the given domain."], + "name": "domainValue", + "required": false, + "type": "Float64" + }, + "domainUnit": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The unit for \\texttt{domainMin}, \\texttt{domainMax} or \\texttt{domainValue}."], + "name": "domainUnit", + "required": false, + "type": "XMLName" + }, + "dimension": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The fixed dimension to which this dimension object refers. ", + "The number should be the same index as the axis, for which this dimension is indexed"], + "name": "dimension", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": {}, + "description": ["If giving a covariance matrix for a multidimensional object, each \\element{slice}", + "describes one dimension that is kept constant, along with the value or range of values", + "along that dimension to which the covariance applies."], + "name": "slice", + "required": false, + "rootNode": false + }, + "sum":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The lower end of the domain the sum applies to."], + "name": "domainMin", + "required": true, + "type": "Float64" + }, + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The upper end of the domain the sum applies to."], + "name": "domainMax", + "required": true, + "type": "Float64" + }, + "domainUnit": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The unit for \\texttt{domainMin} and \texttt{domainMax}"], + "name": "domainUnit", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["If \\elemlink{sum} is a direct child of \\elemlink{covarianceSection}, ", + " the label refers to the style of the evalutions this sum relationship refers to.", + " In this case, the label is required, otherwise if \\elemlink{sum} is a ", + " child of \\elemlink{mixed}, it is optional. In the latter case it may be used to ensure ", + " that each \\elemlink{sum} in \\elemlink{mixed} has a unique label by which ", + " it can refered to in a link"], + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "summand": { + "__class__": "nodes.ChildNode", + "description": ["Identifies one of the summands to calculate the covariance data."], + "name": "summand", + "occurrence": "1+", + "required": false + } + }, + "description": ["If, in a given range, the underlying data can be described by a sum over a different set of data, ", + " then the covariance matrix can be calculated from the covariance information of this set of data.", + " This implies cross correlation between these different sets of data."], + "name": "sum", + "required": false, + "rootNode": false + }, + "summand":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "ENDF_MFMT": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "ENDF_MFMT", + "required": false, + "type": "XMLName" + }, + "coefficient": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The coefficient by which to weigh this reaction data in this range to ", + " calculate the final covariance data."], + + "name": "coefficient", + "required": false, + "type": "Float64" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "href", + "required": false, + "type": "bodyText" + } + }, + "bodyText": null, + "childNodes": {}, + "description": ["Indicates how the constituents for this covariance matrix data are to be summed."], + "name": "summand", + "required": false, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_cpTransport.json b/standards/gnds-2.0/summary_cpTransport.json new file mode 100644 index 000000000..a4b7ec743 --- /dev/null +++ b/standards/gnds-2.0/summary_cpTransport.json @@ -0,0 +1,307 @@ +{ + "__namespace__":"cpTransport", + "RutherfordScattering":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": [ + "Although strictly speaking the Rutherford scattering cross section is the Coulomb scattering cross section ", + "for two non-identical charged particles (see equation (\\ref{eq:6.7})), we also use this markup to ", + "describe the case of identical charged particle Coulomb scattering (see equation (\\ref{eq:6.8})). ", + "In either case, the Coulomb scattering cross section is analytic." + ], + "name": "RutherfordScattering", + "required": false, + "rootNode": false + }, + "CoulombPlusNuclearElastic":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "When \\element{CoulombPlusNuclearElastic} is used in place of an actual distribution ", + "this link is used to refer back to the parameterisation that defines the distribution." + ], + "name": "href", + "required": false, + "type": "XMLName" + }, + "identicalParticles": { + "__class__": "nodes.Attribute", + "default": false, + "description": [ + "If both outgoing products are the same type of particle, for example ", + "in the reaction `\\texttt{p + p -> p + p}'. If true, the angular dependence is ", + "symmetric and only applies to $0 \\le \\mu \\le \\mu_{cutoff}$.", + "Otherwise, the angular dependence is not symmetric and applies $-1 \\le \\mu \\le \\mu_{cutoff}$." + ], + "name": "identicalParticles", + "required": false, + "type": "Boolean" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Style label for this cross section.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The particle identifier of the outgoing particle.", + "name": "pid", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "frame" + } + }, + "bodyText": null, + "childNodes": { + "RutherfordScattering": { + "__class__": "nodes.ChildNode", + "description": "This differential cross section is given by the Rutherford scattering cross section.", + "name": "RutherfordScattering", + "occurrence": "1", + "required": false + }, + "nuclearAmplitudeExpansion": { + "__class__": "nodes.ChildNode", + "description": "This differential cross section is given by the nuclear amplitude expansion.", + "name": "nuclearAmplitudeExpansion", + "occurrence": "1", + "required": false + }, + "nuclearPlusInterference": { + "__class__": "nodes.ChildNode", + "description": "This differential cross section is given by the nuclear plus interference approach.", + "name": "nuclearPlusInterference", + "occurrence": "1", + "required": false + } + }, + "description": [ + "This is either a container holding the differential charged particle scattering cross section or a reference to said container. ", + "It may appear inside a \\texttt{doubleDifferentialCrossSection}, \\texttt{crossSection} or \\texttt{distribution} node." + ], + "name": "CoulombPlusNuclearElastic", + "required": false, + "rootNode": false + }, + "nuclearPlusInterference":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "muCutoff": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Cosine of the cutoff angle. Above the cutoff angle, the distribution is assumed to be pure Coulomb scattering.", + "name": "muCutoff", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "crossSection": { + "__class__": "nodes.ChildNode", + "description": "The effective cross section $\\sigma_{NI}(E)$", + "name": "crossSection", + "occurrence": "1", + "required": true + }, + "distribution": { + "__class__": "nodes.ChildNode", + "description": "The effective angular distribution $P_{NI}(\\mu, E)$.", + "name": "distribution", + "occurrence": "1", + "required": true + } + }, + "description": [ + "It is possible to represent experimental data using the ``nuclear ", + "plus interference'' cross section and angular distribution in the CM ", + "system defined by:", + "\\begin{equation}", + " \\sigma _{NI} (E) = \\int\\limits_{\\mu_{\\min } }^{\\mu_{\\max } } {\\left[ \\rule{0ex}{2ex} {\\sigma _e (\\mu ,E) - \\sigma _c (\\mu ,E)}", + " \\right],d\\mu } \\label{eq:6.17}", + "\\end{equation}", + "and", + "\\begin{equation}", + " P_{NI} (\\mu ,E) = \\left\\{", + " \\begin{array}{ll}", + " \\displaystyle\\frac{{\\sigma _e (\\mu ,E) - \\sigma _c (\\mu ,E)}}{{\\sigma _{NI} (E)}}", + " & \\mu _{\\min } \\le \\mu \\le \\mu _{\\max } \\\\", + " 0 & \\mbox{otherwise}", + " \\end{array}", + " \\right.", + " \\label{eq:6.18}", + "\\end{equation}", + "where $\\mu_{min}=-1$ for different particles and 0 for ", + "identical particles. The maximum cosine should be as close to 1.0 as ", + "possible, especially at high energies where Coulomb scattering is less ", + "important. The Coulomb cross section ", + "$\\sigma_{c}(\\mu ,E)$ is to be computed using equations~(\\ref{eq:6.7}) ", + "or (\\ref{eq:6.8}) for different or identical particles, respectively." + ], + "name": "nuclearPlusInterference", + "required": false, + "rootNode": false + }, + "nuclearAmplitudeExpansion":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "nuclearTerm": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $b_l(E)$ in the nuclear term of equations (\\ref{eq:6.11}) or (\\ref{eq:6.12})", + "name": "nuclearTerm", + "occurrence": "1", + "required": true + }, + "realInterferenceTerm": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $\\texttt{Re}(a_l(E))$ in the interference term of equations (\\ref{eq:6.11}) or (\\ref{eq:6.12})", + "name": "realInterferenceTerm", + "occurrence": "1", + "required": true + }, + "imaginaryInterferenceTerm": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $\\texttt{Im}(a_l(E))$ in the interference term of equations (\\ref{eq:6.11}) or (\\ref{eq:6.12})", + "name": "imaginaryInterferenceTerm", + "occurrence": "1", + "required": true + } + }, + "description": [ + "The net elastic scattering cross section for distinguishable particles may be written as:", + "\n", + "\\begin{eqnarray}", + "\\sigma_{ed} (\\mu ,E) = \\sigma_{cd} (\\mu ,E) &-& \\frac{2\\eta}{1-\\mu}", + "{\\mathop{\\rm Re}\\nolimits} \\left\\{ {\\exp \\left( {i\\eta \\ln", + "\\frac{{1 - \\mu }}{2}} \\right)\\sum\\limits_{l = 0}^{\\rm NL} {\\frac{{2l +", + "1}}{2}a_l (E)P_l (\\mu )} } \\right\\} \\nonumber \\\\", + "&+& \\sum_{l=0}^{2\\rm NL} {\\frac{{2l + 1}}{2}b_l (E)P_l (\\mu )} \\label{eq:6.11}", + "\\end{eqnarray}", + "\n", + "\\noindent and the cross section for identical particles is:", + "\n", + "\\begin{eqnarray}", + "\\sigma _{ei} (\\mu ,E) &=& \\sigma _{ci} (\\mu ,E) \\nonumber \\\\", + "&-& \\frac{{2\\eta }}{{1 - \\mu ^2 }} \\; {\\mathop{\\rm Re}\\nolimits} \\left\\{", + "{\\sum_{l=0}^{\\rm NL} {\\left[ \\begin{array}{r}", + "(1 + \\mu )\\exp \\left( {i\\eta \\ln \\frac{{1 - \\mu }}{2}} \\right) \\\\", + "+ ( - 1)^l (1 - \\mu )\\exp \\left( {i\\eta \\ln \\frac{{1 + \\mu }}{2}}", + "\\right) \\\\", + "\\end{array} \\right]\\frac{{2l + 1}}{2}a_l (E)P_l (\\mu )} } \\right\\} \\nonumber \\\\", + "&+& \\sum\\limits_{l=0}^{\\rm NL} {\\frac{{4l + 1}}{2} \\; b_l (E)P_{2l} (\\mu )} \\label{eq:6.12}", + "\\end{eqnarray}", + "\\noindent where the $a_{l}$ are complex coefficients for expanding the trace of ", + "the nuclear scattering amplitude matrix and the $b_{l}$ are real ", + "\n", + "coefficients for expanding the nuclear scattering cross section. The ", + "value of NL represents the highest partial wave contributing to nuclear ", + "scattering. Note that $\\sigma_{ei}(-\\mu ,E) = \\sigma_{ei}(\\mu ,E)$. ", + "\n", + "The three terms in Equations (\\ref{eq:6.11}) and (\\ref{eq:6.12}) are ", + "Coulomb, interference, and nuclear scattering, respectively." + ], + "name": "nuclearAmplitudeExpansion", + "required": false, + "rootNode": false + }, + "nuclearTerm":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $b_l(E)$ given as a Legendre moment expansion inside an \\element{XYs2d}", + "name": "XYs2d", + "occurrence": "1", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $b_l(E)$ given as a Legendre moment expansion inside an \\element{regions2d}", + "name": "regions2d", + "occurrence": "1", + "required": false + } + }, + "description": "The coefficients $b_l(E)$ in the nuclear term of equations (\\ref{eq:6.11}) or (\\ref{eq:6.12})", + "name": "nuclearTerm", + "required": false, + "rootNode": false + }, + "realInterferenceTerm":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $\\texttt{Re}(a_l(E))$ given as a Legendre moment expansion inside an \\element{XYs2d}", + "name": "XYs2d", + "occurrence": "1", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $\\texttt{Re}(a_l(E))$ given as a Legendre moment expansion inside an \\element{regions2d}", + "name": "regions2d", + "occurrence": "1", + "required": false + } + }, + "description": "The coefficients $\\texttt{Re}(a_l(E))$ in the interference term of equations (\\ref{eq:6.11}) or (\\ref{eq:6.12})", + "name": "realInterferenceTerm", + "required": false, + "rootNode": false + }, + "imaginaryInterferenceTerm":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $\\texttt{Im}(a_l(E))$ given as a Legendre moment expansion inside an \\element{XYs2d}", + "name": "XYs2d", + "occurrence": "1", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": "The coefficients $\\texttt{Im}(a_l(E))$ given as a Legendre moment expansion inside an \\element{regions2d}", + "name": "regions2d", + "occurrence": "1", + "required": false + } + }, + "description": "The coefficients $\\texttt{Im}(a_l(E)$) in the interference term of equations (\\ref{eq:6.11}) or (\\ref{eq:6.12})", + "name": "imaginaryInterferenceTerm", + "required": false, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_documentation.json b/standards/gnds-2.0/summary_documentation.json new file mode 100644 index 000000000..6378bcb1f --- /dev/null +++ b/standards/gnds-2.0/summary_documentation.json @@ -0,0 +1,1048 @@ +{ + "__namespace__": "documentation", + "documentation": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "doi": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The Digital Object Identifier (DOI) is a unique identifier affixed to a document or dataset \\cite{doi}.", + "A DOI is a character string that uniquely identifies a piece of information and is associated with the URL", + "where the information may be found." + ], + "name": "doi", + "required": false, + "type": "UTF8Text" + }, + "publicationDate": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The evaluation date in the form specified in section~\\ref{format:basic:date}. ", + "This is equivalent to the DataCite.org \\attr{PublicationYear} or the ENDF-6 format's ENDATE field.", + "If the evaluation is not published, this attribute is optional." + ], + "name": "publicationDate", + "required": false, + "type": "date" + }, + "version": { + "__class__": "nodes.Attribute", + "default":null, + "description": "Version of the current evaluation or document, using whatever scheme is appropriate for the library to which the (partial) evaluation belongs", + "name": "version", + "required": false, + "type": "UTF8Text" + } + }, + "bodyText": null, + "childNodes": { + "authors": { + "__class__": "nodes.ChildNode", + "description": "The list of authors", + "name": "authors", + "occurrence": "1", + "required": true + }, + "contributors": { + "__class__": "nodes.ChildNode", + "description": "The list of additional contributors", + "name": "contributors", + "occurrence": "1", + "required": false + }, + "collaborations": { + "__class__": "nodes.ChildNode", + "description": "The name(s) of the collaboration(s) of the author(s) (e.g. CIELO or n\\_TOF)", + "name": "collaborations", + "occurrence": "1", + "required": false + }, + "dates": { + "__class__": "nodes.ChildNode", + "description": "The list of important dates in the development of the present evaluation.", + "name": "dates", + "occurrence": "1", + "required": true + }, + "copyright": { + "__class__": "nodes.ChildNode", + "description": "Copyright information", + "name": "copyright", + "occurrence": "1", + "required": false + }, + "acknowledgements": { + "__class__": "nodes.ChildNode", + "description": "Statements acknowledging contributions of some other sort (e.g. funding) not otherwise covered here", + "name": "acknowledgements", + "occurrence": "1", + "required": false + }, + "keywords": { + "__class__": "nodes.ChildNode", + "description": "A collection of NSR, PACS or PhySH keywords associated with this evaluation", + "name": "keywords", + "occurrence": "1", + "required": false + }, + "relatedItems": { + "__class__": "nodes.ChildNode", + "description": "A list of datasets related to the current one.", + "name": "relatedItems", + "occurrence": "1", + "required": false + }, + "title": { + "__class__": "nodes.ChildNode", + "description": "The title of the evaluation", + "name": "title", + "occurrence": "1", + "required": true + }, + "abstract": { + "__class__": "nodes.ChildNode", + "description": "An abstract summarizing the evaluation", + "name": "abstract", + "occurrence": "1", + "required": false + }, + "body": { + "__class__": "nodes.ChildNode", + "description": "The main body of text describing the evaluation. For translated ENDF-6 data, the entire MF1/MT451 text goes here.", + "name": "body", + "occurrence": "1", + "required": true + }, + "computerCodes": { + "__class__": "nodes.ChildNode", + "description": "The list of programs used to perform this evaluation", + "name": "computerCodes", + "occurrence": "1", + "required": false + }, + "experimentalDataSets": { + "__class__": "nodes.ChildNode", + "description": "List of references to the experimental data sets used and any corrections/rescalings used in the evaluation process", + "name": "experimentalDataSets", + "occurrence": "1", + "required": false + }, + "bibliography": { + "__class__": "nodes.ChildNode", + "description": "The list of references used in the evaluation documentation", + "name": "bibliography", + "occurrence": "1", + "required": false + }, + "endfCompatible": { + "__class__": "nodes.ChildNode", + "description": "Documentation restricted to plain ascii with 66 characters per line, for backwards compatibility with ENDF-6.", + "name": "endfCompatible", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "documentation", + "rootNode": false + }, + "authors": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "author": { + "__class__": "nodes.ChildNode", + "description": "Each author has their own \\element{author} node providing contact information, etc.", + "name": "author", + "occurrence": "1+", + "required": true + } + }, + "description": null, + "name": "authors", + "rootNode": false + }, + "author": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of author", + "name": "name", + "required": true, + "type": "UTF8Text" + }, + "orcid_id": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The author's 16-digit ORCID ID number.", + "name": "orcid_id", + "required": false, + "type": "UTF8Text" + }, + "email": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Email address of author", + "name": "email", + "required": false, + "type": "UTF8Text" + } + }, + "bodyText": null, + "childNodes": { + "affiliations": { + "__class__": "nodes.ChildNode", + "description": "Institutional affilation(s) of the author", + "name": "affiliations", + "occurrence": "1", + "required": false + }, + "note": { + "__class__": "nodes.ChildNode", + "description": "Any special note pertaining to the author", + "name": "note", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "author", + "rootNode": false + }, + "contributors": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "author": { + "__class__": "nodes.ChildNode", + "description": "Each contributor has their own \\element{contributor} node providing contact information, etc.", + "name": "contributor", + "occurrence": "1+", + "required": true + } + }, + "description": null, + "name": "contributors", + "rootNode": false + }, + "contributor": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of contributor", + "name": "name", + "required": true, + "type": "UTF8Text" + }, + "contributorType":{ + "__class__": "nodes.Attribute", + "default": null, + "description": "An enumeration describing the nature of the contribution", + "name": "contributorType", + "required": true, + "type": "contributorType" + }, + "orcid_id": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The contributor's 16-digit ORCID ID number.", + "name": "orcid_id", + "required": false, + "type": "UTF8Text" + }, + "email": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Email address of contributor", + "name": "email", + "required": false, + "type": "UTF8Text" + } + }, + "bodyText": null, + "childNodes": { + "affiliations": { + "__class__": "nodes.ChildNode", + "description": "Institutional affilation(s) of the contributor", + "name": "affiliations", + "occurrence": "1", + "required": false + }, + "note": { + "__class__": "nodes.ChildNode", + "description": "Any special note pertaining to the contributor", + "name": "note", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "contributor", + "rootNode": false + }, + "affiliations": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "affiliation": { + "__class__": "nodes.ChildNode", + "description": "Each affiliation is described in an \\element{affiliation} element.", + "name": "affilation", + "occurrence": "1+", + "required": true + } + }, + "description": null, + "name": "affiliations", + "rootNode": false + }, + "affiliation": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The name of the affiliate.", + "name": "name", + "required": true, + "type": "UTF8Text" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The URL of the affiliate.", + "name": "href", + "required": false, + "type": "UTF8Text" + } + }, + "bodyText": null, + "childNodes": { }, + "description": null, + "name": "affiliation", + "rootNode": false + }, + "collaborations": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "collaboration": { + "__class__": "nodes.ChildNode", + "description": [ + "Each collaboration is specified using a \\element{collaboration} node." + ], + "name": "collaboration", + "occurrence": "1+", + "required": true + } + }, + "description": null, + "name": "collaborations", + "rootNode": false + }, + "collaboration": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The name of the collaboration.", + "name": "name", + "required": true, + "type": "UTF8Text" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The URL of the collaboration web page.", + "name": "href", + "required": false, + "type": "UTF8Text" + } + }, + "bodyText": null, + "childNodes": { }, + "description": null, + "name": "collaboration", + "rootNode": false + }, + "dates": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "date": { + "__class__": "nodes.ChildNode", + "description": "Each event in the lifecycle of the evaluation has its own \\element{date} entry.", + "name": "date", + "occurrence": "1+", + "required": true + } + }, + "description": "List of important dates in the development of the current evaluation.", + "name": "dates", + "rootNode": false + }, + "date": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "dateType": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An enumeration describing the nature of the date in question.", + "name": "dateType", + "required": true, + "type": "dateType" + } + }, + "bodyText": "The evaluation date in the form specified in section~\\ref{format:basic:date}. Date ranges are not supported.", + "childNodes": {}, + "description": "An important date in the development of the current evaluation.", + "name": "date", + "rootNode": false + }, + "title": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "Use this markup to provide the title of the evaluation/document.", + "name": "title", + "rootNode": false + }, + "abstract": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "If needed, use this markup to provide a short summary of the documentation.", + "name": "abstract", + "rootNode": false + }, + "body": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "Use this markup for the main text of the documentation. An ENDF-6's entire MF1/MT451 file is equivalent to this element.", + "name": "body", + "rootNode": false + }, + "copyright": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A link to the text of the copyright statement", + "name": "href", + "required": false, + "type": "UTF8Text" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The \\element{copyright} element provides a way for evaluators to add or link to a copyright statement for the (partial) evaluation.", + "name": "copyright", + "rootNode": false + }, + "version": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": [ + "Used to state the version of a document or code using whatever markup is appropriate.", + "Usually versions are simple numbers (e.g. subversion revision numbers),", + "but they can be much more complex (MacOS Sierra for instance). Given this, we use a", + "\\element{text} low level container to store the version information itself.", + "When used at the \\element{documentation} level, it refers to the version of the evaluation", + "and is thus equivalent to ENDF-6's NMOD flag." + ], + "name": "version", + "rootNode": false + }, + "acknowledgements": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "acknowledgement": { + "__class__": "nodes.ChildNode", + "description": "Statement acknowledging contributions of some other sort (e.g. funding) not otherwise covered.", + "name": "acknowledgement", + "occurrence": "1+", + "required": true + } + }, + "description": "A collection of acknowledgement statements.", + "name": "acknowledgements", + "rootNode": false + }, + "acknowledgement": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "type": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The {\\em unique} reference to the acknowledgement.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "This element allows one to acknowledge contributions of some other sort (e.g. funding) not otherwise covered.", + "All United States Department of Energy funded work require a statement of the funding used and this statement should be placed here." + ], + "name": "acknowledgement", + "rootNode": false + }, + "relatedItems": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "relatedItem": { + "__class__": "nodes.ChildNode", + "description": "A dataset related to the present one.", + "name": "relatedItem", + "occurrence": "1+", + "required": true + } + }, + "description": "List of datasets related to the present one.", + "name": "relatedItems", + "rootNode": false + }, + "relatedItem": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The name of the related item.", + "name": "name", + "required": true, + "type": "UTF8Text" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The URL of the related item.", + "name": "href", + "required": false, + "type": "UTF8Text" + }, + "relationType":{ + "__class__": "nodes.Attribute", + "default": null, + "description": "The nature of the relationship of the present set with the related item.", + "name": "relationType", + "required": false, + "type": "relationType" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "A dataset related to the present one.", + "name": "relatedItem", + "rootNode": false + }, + "keywords": { + "__class__": "nodes.Node", + "description": + [ + "Both the American Physical Society and the National Nuclear Data Center use keywording systems to categorize documents. ", + "The \\element{keywords} element allows us to collect these keywords together. \n\n", + "The National Nuclear Data Center uses the Nuclear Science References (NSR) keywording system. ", + "The American Physical Society's Physics and Astronomy Classification Scheme (PACS) system is another keywording ", + "system for categorizing documents. ", + "The APS has stated that this keyword system is obsolete and will be replaced with the Physics Subject Headings (PhySH)", + "system~\\cite{PhySH}.\\footnote{For more information, see \\url{https://journals.aps.org/PACS} and ", + "\\url{https://journals.aps.org/authors/physh}.} We note that it is unlikely that older papers will be recoded or that", + "older papers will have their PACS codes removed. Therefore we expect that the present markup will be relevant for ", + "the forseeable future." + ], + "name": "keywords", + "attributes":{}, + "childNodes": { + "keyword": { + "__class__": "nodes.ChildNode", + "description": "A NSR, PACS or PhySH keyword associated with this evaluation", + "name": "keyword", + "occurrence": "1+", + "required": true + } + }, + "occurrence": "1", + "required": false + }, + "keyword": { + "__class__": "nodes.Node", + "abstractNode": "text", + "description": "A NSR, PACS or PhySH keyword associated with this evaluation", + "name": "keyword", + "attributes": { + "type": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The name of the keywording scheme used, either ``NSR'', ``PACS'' or ``PhySH''", + "name": "type", + "required": true, + "type": "XMLName" + } + }, + "childNodes": {}, + "occurrence": "1", + "required": false + }, + "computerCodes": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "computerCode": { + "__class__": "nodes.ChildNode", + "description": "Each set of code and inputs has a \\element{computerCode} node.", + "name": "computerCode", + "occurrence": "1+", + "required": true + } + }, + "description": "Lists the programs used while preparing the evaluation, along with code inputs.", + "name": "computerCodes", + "rootNode": false + }, + "computerCode": { + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The name of the code, using all the same restrictions, etc. as the \\hyperlink{sec:name}{\\element{name}} markup introduced above in the", + "\\hyperlink{sec:author}{\\element{author}} markup. This includes allowing unicode program names (such as CEA's GALILE\\'E processing code \\cite{galilee})." + ], + "name": "name", + "required": true, + "type": "UTF8Text" + }, + "version": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The version of the code, with all the restrictions and allowances of the \\hyperlink{sec:version}{\\element{version}} markup introduced above." + ], + "name": "version", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "executionArguments": { + "__class__": "nodes.ChildNode", + "description": [ + "The command line arguments used when invoking this code." + ], + "name": "executionArguments", + "occurrence": "1", + "required": false + }, + "codeRepo": { + "__class__": "nodes.ChildNode", + "description": [ + "Information for accessing the source code repository for this program." + ], + "name": "codeRepo", + "occurrence": "1", + "required": false + }, + "note": { + "__class__": "nodes.ChildNode", + "description": [ + "Any note describing extra information needed to run the code in the manner needed to reproduce the evaluation." + ], + "name": "note", + "occurrence": "1", + "required": false + }, + "inputDecks": { + "__class__": "nodes.ChildNode", + "description": "The list of input files for the code used.", + "name": "inputDecks", + "occurrence": "1", + "required": false + }, + "outputDecks": { + "__class__": "nodes.ChildNode", + "description": "The list of output files generated by the code.", + "name": "outputDecks", + "occurrence": "1", + "required": false + } + }, + "description": "Contains the information pertaining to a code used in the evaluation process and the inputs for that code.", + "name": "computerCode", + "rootNode": false + }, + "codeRepo": { + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "revisionSystem": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The source control format (e.g. \\attrval{git}, \\attrval{subversion} or \\attrval{mercurial}).", + "name": "revisionSystem", + "required": true, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Hyperlink to the source code repository.", + "name": "href", + "required": true, + "type": "XMLName" + }, + "revisionID": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Revision identifier. Could be a tag, svn revision number or git commit hash for example.", + "name": "revisionID", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "The \\element{codeRepo} element provides a mechanism for referencing the exact version of a computer code used in the evaluation.", + "This markup is meant to point to the exact revision of a code in a generally available code repository." + ], + "name": "codeRepo", + "rootNode": false + }, + "inputDecks": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "inputDeck": { + "__class__": "nodes.ChildNode", + "description": "Inputs for a \\element{computerCode} node.", + "name": "inputDeck", + "occurrence": "1+", + "required": true + } + }, + "description": "Lists the inputs for a given code.", + "name": "inputDecks", + "rootNode": false + }, + "inputDeck": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "filename": { + "__class__": "nodes.Attribute", + "default": null, + "description": "File name (possibly including relative path) for this input deck.", + "name": "filename", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The \\element{inputDeck} contains the actual code inputs. The name of the element was chosen to avoid any confusion with other uses of the word ``input'' while evoking the mental image of a stack of punch cards such as used in the early days of nuclear data.", + "name": "inputDeck", + "rootNode": false + }, + "outputDecks": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "outputDeck": { + "__class__": "nodes.ChildNode", + "description": "Inputs for a \\element{computerCode} node.", + "name": "outputDeck", + "occurrence": "1+", + "required": true + } + }, + "description": "Lists the output files for a given code.", + "name": "outputDecks", + "rootNode": false + }, + "outputDeck": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "filename": { + "__class__": "nodes.Attribute", + "default": null, + "description": "File name (possibly including relative path) for this output file.", + "name": "filename", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The \\element{outputDeck} contains the actual code outputs.", + "name": "outputDeck", + "rootNode": false + }, + "executionArguments": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "Use this markup to list any special command line specifics used to invoke this code.", + "name": "executionArguments", + "rootNode": false + }, + "experimentalDataSets": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "exforDataSets": { + "__class__": "nodes.ChildNode", + "description": "Node to contain all the exfor experimental datasets.", + "name": "exforDataSets", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Container for experimental data sets. Each type of experimental data will have its own top-level node. Currently, the only top-level node ", + "is the (\\element{exforDataSets}) node. This top-level tag is so-named so that other child nodes can be added, say for XUNDL ", + "datasets or for simple tables of XYdY pairs for raw experimen without distorting the meaning of the top-level tag." + ], + "name": "experimentalDataSets", + "rootNode": false + }, + "exforDataSets": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "exforDataSet": { + "__class__": "nodes.ChildNode", + "description": "One for each EXFOR data set.", + "name": "exforDataSet", + "occurrence": "1+", + "required": true + } + }, + "description": "Container storing a list of EXFOR datasets.", + "name": "exforDataSets", + "rootNode": false + }, + "exforDataSet": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "subentry": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The EXFOR `SUBENT' (subentry) is an 8 character ascii string comprised of integers only.", + "Each subentry corresponds to a unique dataset within the experiment detailed in the EXFOR entry." + ], + "name": "subentry", + "required": true, + "type": "XMLName" + }, + "retrievalDate": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The date the EXFOR subentry was retrieved.", + "The date must be in the form specified in the section~\\ref{format:basic:date}." + ], + "name": "retrievalDate", + "required": true, + "type": "date" + } + }, + "bodyText": null, + "childNodes": { + "covarianceScript": { + "__class__": "nodes.ChildNode", + "description": "The script describing the generation of covariance data..", + "name": "covarianceScript", + "occurrence": "1", + "required": false + }, + "correctionScript": { + "__class__": "nodes.ChildNode", + "description": "The script describing any modifications to the data.", + "name": "correctionScript", + "occurrence": "1", + "required": false + }, + "note": { + "__class__": "nodes.ChildNode", + "description": [ + "A note describing extra information needed to reproduce the evaluation." + ], + "name": "note", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Contains a reference to a specific EXFOR subentry (specified with the \\attr{SUBENT} attribute) and details of the retrieval and any corrections, rescalings, etc.", + "This markup does not contain the full EXFOR entry or subentry -- these are already stored in the master EXFOR database at the IAEA. This markup provides a scheme to reference the datasets only.", + "", + "We note that we only support the covariance generate scripts and correction scripts provided by V. Zerkin in his EXFOR Web application \\cite{exforApp}.", + "Other schemes could be designed but for the present none have been enumerated. If the current markup is insufficient to describe modifications/corrections to a data set,", + "the evaluator should consider documenting it in the main \\element{body} element." + ], + "name": "exforDataSet", + "rootNode": false + }, + "covarianceScript": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": [ + "V. Zerkin's EXFOR retrieval web application \\cite{exforApp} provides a mechanism for computing covariance matrices based off the statistical and systematic errors presented in an EXFOR entry.", + "This markup provides the means to place this script directly in the documentation for future reference and for reconstructing the covariance used at a later date." + ], + "name": "covarianceScript", + "rootNode": false + }, + "correctionScript": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": [ + "V. Zerkin's EXFOR retrieval web application \\cite{exforApp} provides a mechanism for rudimentary data correction of an EXFOR entry.", + "This markup provides the means to place this script directly in the documentation for future reference and for reconstructing the covariance used at a later date." + ], + "name": "correctionScript", + "rootNode": false + }, + "note": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "Extra note that the authors may want to include.", + "name": "note", + "rootNode": false + }, + "bibliography": { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "bibitem": { + "__class__": "nodes.ChildNode", + "description": "Each entry in the bibliography has a unique \\element{bibitem}.", + "name": "bibitem", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "The bibliography markup gives the evaluator the tools to provide references for this evaluation with a system as flexible as \\LaTeX\\ or as simple as plain text.", + "Our notation here is clearly inspired by \\LaTeX\\ and should be familiar to many scientists and engineers. The \\element{bibliography} element is the outer container", + "for all of the \\element{bibitem}s (in keeping with \\LaTeX\\ notation)." + ], + "name": "bibliography", + "rootNode": false + }, + "bibitem": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "xref": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The {\\em unique} reference to this bibitem. When using \\LaTeX markup, it is natural to use this as the key used when cross referencing with \\LaTeX's \\verb+\\cite{}+ command." + ], + "name": "xref", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "The \\element{bibitem} element contains the actual bibliographic reference.", + "The \\attr{label} attribute provides the landing point for hyperreferences to a \\element{bibitem} and must be unique." + ], + "name": "bibitem", + "rootNode": false + }, + "endfCompatible": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": [ + "Documentation in ENDF-6 is stored in MF1 MT451. This section contains free-form text which cannot be", + "broken up into the various sections supported by the \\element{documentation} node without manual intervention.", + "The \\element{endfCompatible} node is provided to support backwards compatibility and translating back to ENDF-6.", + "This node is expected to eventually be deprecated, but in the meantime evaluators should consider providing a short", + "summary of the documentation in ENDF-6 compatible form." + ], + "name": "endfCompatible", + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_fissionFragmentData.json b/standards/gnds-2.0/summary_fissionFragmentData.json new file mode 100644 index 000000000..113742d9b --- /dev/null +++ b/standards/gnds-2.0/summary_fissionFragmentData.json @@ -0,0 +1,118 @@ +{ + "__namespace__":"fissionFragmentData", + "fissionFragmentData":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "delayedNeutrons": { + "__class__": "nodes.ChildNode", + "description": "List of delayed neutrons. Each has an associated decay rate, multiplicity and energy distribution.", + "name": "delayedNeutrons", + "occurrence": "1", + "required": false + }, + "fissionEnergyReleased": { + "__class__": "nodes.ChildNode", + "description": "Describes how energy released during fission is partitioned between various products.", + "name": "fissionEnergyReleased", + "occurrence": "1", + "required": false + }, + "productYields": { + "__class__": "nodes.ChildNode", + "description": "Container to hold lists of \\element{productYield}, including evaluated or processed yields.", + "name": "productYields", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Nuclear fission generally produces some prompt neutrons and gammas and occasionally light ions,", + "plus two large fission fragments. These fragments may then decay and emit additional radiation", + "including delayed neutrons / gammas, betas, etc. The fissionFragmentData section describes the", + "heavy (A > 4) fragments and their subsequent decay.", + "When used for particle-induced fission, this node appears inside the \\element{outputChannel}", + "node of a fission reaction. When used for spontaneous fission, this node appears in the", + "\\element{nuclide} node inside the \\element{PoPs} database." + ], + "name": "fissionFragmentData", + "required": true, + "rootNode": false + }, + + "delayedNeutrons":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "delayedNeutron": { + "__class__": "nodes.ChildNode", + "description": "Information about neutrons emitted at the specified `decay rate' after fission.", + "name": "delayedNeutron", + "occurrence": "1+", + "required": true + } + }, + "description": "Stores a list of delayed neutrons, each with an associated decay rate, multiplicity and energy distribution.", + "name": "delayedNeutrons", + "required": false, + "rootNode": false + }, + "delayedNeutron":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label for this delayed neutron group.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "rate": { + "__class__": "nodes.ChildNode", + "description": "Decay rate (in decays/second or equivalent) for this delayed neutron group.", + "name": "rate", + "occurrence": "1", + "required": true + }, + "product": { + "__class__": "nodes.ChildNode", + "description": "Product describing this delayed neutron. Includes average multiplicity and distribution info.", + "name": "product", + "occurrence": "1", + "required": true + } + }, + "description": "Stores a delayed neutron product, representing an average multiplicity and distribution for neutrons emitted with the specified decay rate.", + "name": "delayedNeutron", + "required": false, + "rootNode": false + }, + "rate":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Defines the decay rate. Recommended units are `1/s' or equivalent.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": "Defines the decay rate for the parent \\element{delayedNeutron}.", + "name": "rate", + "required": false, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_fissionTransport.json b/standards/gnds-2.0/summary_fissionTransport.json new file mode 100644 index 000000000..fcf03fcdf --- /dev/null +++ b/standards/gnds-2.0/summary_fissionTransport.json @@ -0,0 +1,613 @@ +{ + "__namespace__":"fissionTransport", + "fissionComponents":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "fissionComponent": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "fissionComponent", + "occurrence": "1+", + "required": false + } + }, + "description": [ + "Nuclear data evaluations sometimes break a reaction up into multiple components,", + "but only supply a cross section (not outgoing products) for each component.", + "For example, cross sections for first-chance, second-chance, etc. fission", + "may be stored, even though product distributions are only given for total fission.", + "The \\element{fissionComponent} node supports storing this type of incomplete", + "reaction. " + ], + "name": "fissionComponents", + "required": false, + "rootNode": false + }, + "fissionComponent":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "ENDF_MT": { + "__class__": "nodes.Attribute", + "default": null, + "description": "integer MT number (e.g. `20' for 2$^{nd}$-chance fission).", + "name": "ENDF_MT", + "required": false, + "type": "Integer32" + }, + "fissionGenre": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "fissionGenre", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "crossSection": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "crossSection", + "occurrence": "1", + "required": false + }, + "outputChannel": { + "__class__": "nodes.ChildNode", + "description": "Describes the secondary particle emissions from the reaction", + "name": "outputChannel", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Fission without pre-fission particle emission is known as first chance fission, while the emission of ", + "one (n,nf) or two neutrons (n,2nf) are known as second and third chance fission, respectively. ", + "It can be advantageous to separate out these as distinct components.", + "The \\element{fissionComponent} supports storing", + "each of these fission chances. The \\element{fissionComponent} node is similar to a \\element{reaction}:", + "it contains a cross section and an outputChannel along with a Q-value.", + "The list of reaction products is generally empty, however."], + "name": "fissionComponent", + "required": false, + "rootNode": false + }, + "fissionEnergyReleased":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "delayedBetaEnergy": { + "__class__": "nodes.ChildNode", + "description": "Total energy released by delayed $\\beta$'s.", + "name": "delayedBetaEnergy", + "occurrence": "1", + "required": false + }, + "delayedGammaEnergy": { + "__class__": "nodes.ChildNode", + "description": "Total energy released by the emission of delayed $\\gamma$ rays.", + "name": "delayedGammaEnergy", + "occurrence": "1", + "required": false + }, + "delayedNeutronKE": { + "__class__": "nodes.ChildNode", + "description": "Kinetic energy of the delayed fission neutrons.", + "name": "delayedNeutronKE", + "occurrence": "1", + "required": false + }, + "neutrinoEnergy": { + "__class__": "nodes.ChildNode", + "description": "Energy carried away by neutrinos.", + "name": "neutrinoEnergy", + "occurrence": "1", + "required": false + }, + "nonNeutrinoEnergy": { + "__class__": "nodes.ChildNode", + "description": "Total energy less the energy of the neutrinos {\\tt (ET - ENU)}", + "name": "nonNeutrinoEnergy", + "occurrence": "1", + "required": false + }, + "promptGammaEnergy": { + "__class__": "nodes.ChildNode", + "description": "Total energy released by the emission of prompt $\\gamma$ rays.", + "name": "promptGammaEnergy", + "occurrence": "1", + "required": false + }, + "promptNeutronKE": { + "__class__": "nodes.ChildNode", + "description": "Kinetic energy of the prompt fission neutrons.", + "name": "promptNeutronKE", + "occurrence": "1", + "required": false + }, + "promptProductKE": { + "__class__": "nodes.ChildNode", + "description": "Kinetic energy of the fission products (following prompt neutron emission from the fission fragments).", + "name": "promptProductKE", + "occurrence": "1", + "required": false + }, + "totalEnergy": { + "__class__": "nodes.ChildNode", + "description": "Sum of the partial energies. This sum is the total energy release\nper fission and by definition is the fission $Q$-value.", + "name": "totalEnergy", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "fissionEnergyReleased", + "required": false, + "rootNode": false + }, + "delayedBetaEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Total energy released by delayed $\\beta$'s. This corresponds to ENDF's \\texttt{EB}.", + "name": "delayedBetaEnergy", + "required": false, + "rootNode": false + }, + "totalEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Sum of the partial energies. This sum is the total energy release\nper fission and by definition is the fission $Q$-value. This corresponds to ENDF's \\texttt{ET}.", + "name": "totalEnergy", + "required": false, + "rootNode": false + }, + "delayedGammaEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Total energy released by the emission of delayed $\\gamma$ rays. This corresponds to ENDF's \\texttt{EGD}.", + "name": "delayedGammaEnergy", + "required": false, + "rootNode": false + }, + "nonNeutrinoEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Total energy less the energy of the neutrinos {\\tt (ET - ENU)}.", + "name": "nonNeutrinoEnergy", + "required": false, + "rootNode": false + }, + "promptGammaEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Total energy released by the emission of prompt $\\gamma$ rays. This corresponds to ENDF's \\texttt{EGP}.", + "name": "promptGammaEnergy", + "required": false, + "rootNode": false + }, + "neutrinoEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Energy carried away by neutrinos. This corresponds to ENDF's \\texttt{ENU}.", + "name": "neutrinoEnergy", + "required": false, + "rootNode": false + }, + "promptProductKE":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Kinetic energy of the fission products (following prompt neutron emission from the fission fragments). This corresponds to ENDF's \\texttt{EFR}.", + "name": "promptProductKE", + "required": false, + "rootNode": false + }, + "promptNeutronKE":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Kinetic energy of the prompt fission neutrons. This corresponds to ENDF's \\texttt{ENP}.", + "name": "promptNeutronKE", + "required": false, + "rootNode": false + }, + "delayedNeutronKE":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "1", + "required": false + } + }, + "description": "Kinetic energy of the delayed fission neutrons. This corresponds to ENDF's \\texttt{END}.", + "name": "delayedNeutronKE", + "required": false, + "rootNode": false + }, + "Watt" : { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "U": { + "__class__": "nodes.ChildNode", + "description": "A constant introduced to define the proper upper limit for the final particle energy such that $0 \\leq E' \\leq (E - U)$., discussed in section \\ref{format:transport:U}", + "name": "U", + "occurrence": "1", + "required": true + }, + "a": { + "__class__": "nodes.ChildNode", + "description": "Contains one \\XYsOneD\\ or \\regionsOneD\\ functional data container that represents a valid $a(E)$.", + "name": "a", + "occurrence": "1", + "required": true + }, + "b": { + "__class__": "nodes.ChildNode", + "description": "Contains one \\XYsOneD\\ or \\regionsOneD\\ functional data container that represents a valid $b(E)$.", + "name": "b", + "occurrence": "1", + "required": true + } + }, + "description": [ + "This subsection provides the specification for the \\element{Watt} energy representation ", + "(equivalent to the ENDF-6 format's MF=5, LF=11 format). This is essentially a Lorentz-boosted Maxwellian.", + "\\begin{displaymath}", + " P(E'|E) = \\frac{{e^{ - E'/a} }}{I}\\sinh \\left( {\\sqrt{bE'} } \\right)", + "\\end{displaymath}", + "where", + "\\begin{varlist}", + "\\item[$I$] is the normalisation constant:", + " \\begin{eqnarray*}", + " I &= &\\frac{1}{2}\\sqrt {\\frac{{\\pi a^3 b}}{4}} \\exp \\left(", + " {\\frac{{ab}}{4}} \\right)", + " \\left[ {\\mbox{erf} {\\left( {\\sqrt {\\frac{{E - U}}{a}}", + " - \\sqrt {\\frac{{ab}}{4}} } \\right) + \\mbox{erf}\\left( {\\sqrt", + " {\\frac{{E - U}}{a}} + \\sqrt {\\frac{{ab}}{4}} } \\right)}} \\right] \\\\", + " &-& a\\exp \\left[ { - \\left( {\\frac{{E - U}}{a}} \\right)} \\right]\\sinh", + " \\sqrt {b(E - U)} \\\\", + " \\end{eqnarray*}", + "\\item[$a$ and $b$] are tabulated energy-dependent parameters;", + "\\item[$U$] is a constant introduced to", + " define the proper upper limit for the final particle energy such that", + " $0 \\leq E' \\leq (E - U)$.", + "\\end{varlist}" + ], + "name": "Watt", + "required": false, + "rootNode": false + }, + "b":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "b for Watt spectrum", + "name": "b", + "required": false, + "rootNode": false + }, + "simpleMaxwellianFission":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "U": { + "__class__": "nodes.ChildNode", + "description": "A constant introduced to define the proper upper limit for the final particle energy such that $0 \\leq E' \\leq (E - U)$.", + "name": "U", + "occurrence": "1", + "required": false + }, + "theta": { + "__class__": "nodes.ChildNode", + "description": "The effective emission temperature.", + "name": "theta", + "occurrence": "1", + "required": false + } + }, + "description": [ + "This element is the format for ENDF-6's Simple Maxwellian Fission Spectrum (MF=5, LF=7).\n", + "\\begin{displaymath}\n", + " f(E \\to E') = \\frac{\\sqrt{E'}}{I} e^{{ - E'} / {\\theta (E)}}\n", + "\\end{displaymath}\n", + "where the parameters $U$ and $\\theta$ are given in sections \\ref{format:transport:U} and \\ref{format:transport:theta} respectively and $I$ is given by", + "\\begin{displaymath}\n", + " I = \\theta^{3/2}", + " \\left[ \\frac{\\sqrt \\pi }{2} \\mbox{erf} \\left(", + " \\sqrt{(E - U) / \\theta } \\right) - \\sqrt{(E - U) / \\theta }", + " \\; e^{ {-(E - U)/\\theta }}", + " \\right]", + "\\end{displaymath}\n" + ], + "name": "simpleMaxwellianFission", + "required": false, + "rootNode": false + }, + "MadlandNix":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "EFH": { + "__class__": "nodes.ChildNode", + "description": "The $E_F(H)$ value.", + "name": "EFH", + "occurrence": "1", + "required": true + }, + "EFL": { + "__class__": "nodes.ChildNode", + "description": "The $E_F(L)$ value.", + "name": "EFL", + "occurrence": "1", + "required": true + }, + "T_M": { + "__class__": "nodes.ChildNode", + "description": "Temperature like parameter tabulated as a function of incident neutron energy, given as an \\element{XYs1d}. The $y$-axis unit must be an energy unit.", + "name": "T_M", + "occurrence": "1", + "required": true + } + }, + "description": [ + "The \\element{MadlandNix} element encodes the energy-dependent fission neutron spectrum using Madland and", + "Nix's parameterisation. This format is equivalent to ENDF-6's MF=5, LF=12. ", + "The distribution is parametrically given by,", + "\\begin{eqnarray*}", + " P(E'|E) &=&\\frac{1}{2}\\left[ {g(E',E_{F}(L)) + g(E',E_{F}(H))}\\right] \\\\", + " g(E',E_{F}) &=&\\frac{1}{3\\sqrt{(E_{F} \\; T_{M})}}", + " \\left[ {u_2^{3/2} \\mbox{E}_1 (u_2 ) - u_1^{3/2} \\mbox{E}_1 (u_1 ) +", + " \\gamma \\left(\\frac{3}{2}, u_2 \\right) -", + " \\gamma \\left(\\frac{3}{2}, u_1 \\right)} \\right] \\\\", + " u_1 &= &{\\left( {\\sqrt {E'} - \\sqrt {E_{F}} } \\right)^2 } / T_{M} \\\\", + " u_2 &= &{\\left( {\\sqrt {E'} + \\sqrt {E_{F}} } \\right)^2 } / T_{M}", + "\\end{eqnarray*}", + "where:", + "\\begin{varlist}", + "\\item[$E_{F}(X)$] are constant, which", + " represent the average kinetic energy per nucleon of the", + " fission fragment; arguments $L$ and $H$ refer to the average light", + " fragment (given by the parameter \\attr{EFL} in the file) and the average heavy fragment", + " (given by the parameter \\attr{EFH} in the file), respectively.", + "\\item[$T_{M}$] parameter tabulated as a function of incident neutron energy", + "\\item[E$_{1}(x)$] is the exponential integral", + "\\item[$\\gamma (a,x)$] is the incomplete gamma function.", + " The integral of this spectrum between zero and infinity", + " is one.", + "\\end{varlist}", + "Note the range of $E'$ is such that $0\\le E'\\le\\infty$. Physically, energy conservation", + "cuts off the integral at finite $E'_{\\max }$ but the dependence of $g(E',E_F)$ on $E'$ ensures", + "that the contribution from large values of $E'$ is negligible." + ], + "name": "MadlandNix", + "required": false, + "rootNode": false + }, + "T_M":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The table of \\attr{T{\\textunderscore}M} values vs. incident energy.", + "name": "XYs1d", + "occurrence": "1", + "required": true + } + }, + "description": "Temperature-like parameter tabulated as a function of incident neutron energy, given as an \\element{XYs1d}. ", + "name": "T_M", + "required": true, + "rootNode": false + }, + "EFL":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An energy unit.", + "name": "unit", + "required": true, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The value of $E_F(L)$ itself.", + "name": "value", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The $E_F(L)$ value.", + "name": "EFL", + "required": true, + "rootNode": false + }, + "EFH":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An energy unit.", + "name": "unit", + "required": true, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The value of $E_F(H)$ itself.", + "name": "value", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The $E_F(H)$ value.", + "name": "EFH", + "required": true, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_fpy.json b/standards/gnds-2.0/summary_fpy.json new file mode 100644 index 000000000..73898240e --- /dev/null +++ b/standards/gnds-2.0/summary_fpy.json @@ -0,0 +1,287 @@ +{ + "__namespace__":"fpy", + "productYields":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "productYield": { + "__class__": "nodes.ChildNode", + "description": "One `style' of product yield data.", + "name": "productYield", + "occurrence": "1+", + "required": true + } + }, + "description": "Container to hold lists of \\element{productYield}, including evaluated or processed yields.", + "name": "productYields", + "required": true, + "rootNode": false + }, + "productYield":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Denotes the \\attr{style} of the evaluated data.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "nuclides": { + "__class__": "nodes.ChildNode", + "description": "List of nuclide id's. For spontaneous yields, all \\element{elapsedTimes} use the same list of nuclides.", + "name": "nuclides", + "occurrence": "1", + "required": false + }, + "elapsedTimes": { + "__class__": "nodes.ChildNode", + "description": "Container to hold lists of \\element{elapsedTime} elements.", + "name": "elapsedTimes", + "occurrence": "1", + "required": true + } + }, + "description": "This element actually contains the yields, broken out by the time at which the yield is considered.", + "name": "productYield", + "required": true, + "rootNode": false + }, + "nuclides":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "xPath link to another \\element{nuclides} node, indicating to use the same list of nuclides.", + "name": "href", + "required": false, + "type": "bodyText" + } + }, + "bodyText": ["A space delimited list of nuclide id's (e.g. \\attrval{Cu79 Cu80 ...}), arranged in the same order as the appropriate values", + "tabulated in the \\element{values} container(s). For particle induced yields, the \\element{values} container is co-located", + "with this \\element{nuclide} container. For spontaneous yields, the \\element{values} container is inside the appropriate \\element{yields} container.", + "If the 'href' attribute is present, the body text must be empty."], + "childNodes": {}, + "description": ["List of nuclide id's, or href pointing to another \\element{nuclides} node.", + "GNDS permits using a different list of nuclides for different incident energies and/or elapsed times, but also supports linking if the evaluator wishes to", + "use the same list of nuclides throughout."], + "name": "nuclides", + "required": true, + "rootNode": false + }, + "elapsedTimes":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "elapsedTime": { + "__class__": "nodes.ChildNode", + "description": "The collection of yield data corresponding to one time point.", + "name": "elapsedTime", + "occurrence": "1+", + "required": true + } + }, + "description": "Container to hold lists of \\element{elapsedTime} elements.", + "name": "elapsedTimes", + "required": false, + "rootNode": false + }, + "elapsedTime":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "This labels what the time element corresponds to, namely \\attrval{initial} (e.g. independent) or \\attrval{unspecified} (e.g. cumulative)", + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childUnique": "yesLabel", + "childNodes": { + "time": { + "__class__": "nodes.ChildNode", + "description": "Time corresponding to yields in question. ", + "name": "time", + "occurrence": "1", + "required": true + }, + "yields": { + "__class__": "nodes.ChildNode", + "description": "For spontaneous fission, this collects the yields.", + "name": "yields", + "occurrence": "choice", + "required": false + }, + "incidentEnergies": { + "__class__": "nodes.ChildNode", + "description": "For induced fission, this collects the data for each of the projectile's incident energies. Contains the list of \\element{incidentEnergy} elements.", + "name": "incidentEnergies", + "occurrence": "choice", + "required": false + } + }, + "description": [ + "The collection of yield data at a given time after fission. For spontaneous fission, ", + "the \\element{elapsedTime} node contains a \\element{time} and a \\element{yields} section. ", + "For induced fission, each \\element{elapsedTime} contains a \\element{time} and ", + "an \\element{incidentEnergies}." + ], + "name": "elapsedTime", + "required": true, + "rootNode": false + }, + "time":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique": "yesLabelOmitted", + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "double", + "occurrence": "choice", + "required": false + }, + "string": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "string", + "occurrence": "choice", + "required": false + } + }, + "description": [ + "Time corresponding to the yields in question. Generally yields with time of 0 s are scission yields,", + "times between 0 s and $10^{-14}$ s are independent fission yields and", + "those with longer times are cumulative yields. Cumulative yields with an unspecified time are denoted ", + "with a \\element{string} child node containing ``unspecified''." + ], + "name": "time", + "required": true, + "rootNode": false + }, + "yields":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "nuclides": { + "__class__": "nodes.ChildNode", + "description": "List of nuclide id's or href pointing to another \\element{nuclides} node.", + "name": "nuclides", + "occurrence": "1", + "required": true + }, + "values": { + "__class__": "nodes.ChildNode", + "description": "The actual values, in the order given by the corresponding \\element{nuclides} element.", + "name": "values", + "occurrence": "1", + "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty/covariance on the actual values, in the order given by the corresponding \\element{nuclides} element.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": "Container for the nuclides and corresponding yield values. This node appears inside either a \\element{elapsedTime} node (spontaneous fission) or \\element{incidentEnergy} node (induced fission).", + "name": "yields", + "required": false, + "rootNode": false + }, + "incidentEnergies":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "incidentEnergy": { + "__class__": "nodes.ChildNode", + "description": "Yield data from one incident energy.", + "name": "incidentEnergy", + "occurrence": "1+", + "required": true + } + }, + "description": "For induced fission, this collects the data for each of the projectile's incident energies. Contains the list of \\element{incidentEnergy} elements.", + "name": "incidentEnergies", + "required": false, + "rootNode": false + }, + "incidentEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The index of this element.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "energy": { + "__class__": "nodes.ChildNode", + "description": "The projectile's incident energy.", + "name": "energy", + "occurrence": "1", + "required": true + }, + "yields": { + "__class__": "nodes.ChildNode", + "description": "Nuclides, yields and uncertainties for this elapsed time / incident energy.", + "name": "yields", + "occurrence": "1", + "required": true + } + }, + "description": "Stores yield data for a single incident energy.", + "name": "incidentEnergy", + "required": false, + "rootNode": false + }, + "energy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "The actual energy.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": "The projectile's incident energy.", + "name": "energy", + "required": true, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_gpdc.json b/standards/gnds-2.0/summary_gpdc.json new file mode 100644 index 000000000..8db929d5f --- /dev/null +++ b/standards/gnds-2.0/summary_gpdc.json @@ -0,0 +1,1912 @@ +{ + "__namespace__":"gpdc", + "double":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": "`' (no label)", + "description": "e.g. `kg' or `m'", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "numeric value", + "name": "value", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Stores the uncertainty on the parent \\element{double}.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": "Stores a double-precision quantity along with a unit, optional label and uncertainty", + "name": "double", + "required": false, + "rootNode": false + }, + "integer":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": "`' (no label)", + "description": "Unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": "`' (i.e. unitless)", + "description": "e.g. `kg' or `m'", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "value", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "The \\element{integer} physical quantity is used to store quantities that can only be integers. ", + "It is similar to the \\element{double}, except that the value must be an integer ", + "(e.g. value=`1' rather than value=`1.0'). ", + "Uncertainties are also treated differently: rather than an \\element{uncertainty} node, ", + "tentative assignments are indicated by storing each possible assignment along with a likelihood." + ], + "name": "integer", + "required": false, + "rootNode": false + }, + "fraction":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": "`' (no label)", + "description": "Unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": "`' (i.e. unitless)", + "description": "e.g. `J/s'", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "numeric value", + "name": "value", + "required": true, + "type": "Fraction32" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "The \\element{fraction} physical quantity is used to store values that can only be ", + "integers or fractions. It is nearly identical to the \\element{integer}, ", + "but the value in this case may either be an integer or a ratio of integers separated ", + "by the `/' character, as in `3/2'. Values like `1.5' are not allowed. " + ], + "name": "fraction", + "required": false, + "rootNode": false + }, + "string":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid unit", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "contains a string composed of printable ascii characters (e.g. `stable').", + "name": "value", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The \\element{string} physical quantity is used to store quantities that cannot be represented numerically. The main examples are half-lives for\nstable particles, which are best represented as the string `stable'.", + "name": "string", + "required": false, + "rootNode": false + }, + "link":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The URL or xpath-like string pointing to the referred-to element", + "name": "href", + "required": false, + "type": "bodyText" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Used to explicitly link to another part of the GNDS document (or an external document).", + "For example, if both axis grids in a \\elemlink{gridded2d}", + "container are identical, the \\element{link} can be used rather than repeating the grid values." + ], + "name": "link", + "required": false, + "rootNode": false + }, + + "uncertainty":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "standard": { + "__class__": "nodes.ChildNode", + "description": "Stores a normally-distributed uncertainty.", + "name": "standard", + "occurrence": "1", + "required": false + }, + "logNormal": { + "__class__": "nodes.ChildNode", + "description": "Stores a log-normal-distributed uncertainty.", + "name": "logNormal", + "occurrence": "1", + "required": false + }, + "confidenceIntervals": { + "__class__": "nodes.ChildNode", + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "name": "confidenceIntervals", + "occurrence": "1", + "required": false + }, + "pdf": { + "__class__": "nodes.ChildNode", + "description": "Stores a probability distribution as a 1-dimensional function.", + "name": "pdf", + "occurrence": "1", + "required": false + }, + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": [ + "Store the uncertainty for a 1-dimensional function.", + "Uncertainties are assumed to be normally distributed. If uncertainties are correlated,", + "use the \\element{covariance} option instead." + ], + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": [ + "Stores uncertainties for each coefficient in a polynomial expansion.", + "Uncertainties are assumed to be normally distributed. If coefficients are correlated,", + "use the \\element{covariance} option instead." + ], + "name": "polynomial1d", + "occurrence": "1", + "required": false + }, + "covariance": { + "__class__": "nodes.ChildNode", + "description": [ + "Stores a covariance matrix (or a link to a covariance matrix),", + "usually for a 1-dimensional function." + ], + "name": "covariance", + "occurrence": "1", + "required": false + }, + "listOfCovariances": { + "__class__": "nodes.ChildNode", + "description": [ + "Stores a list of covariance matrices (or a list of links to covariance matrices).", + "This option is generally used for higher-dimensional functions. For example,", + "if an angular distribution $P(\\mu|E)$ is stored as an energy-dependent list of", + "\\element{Legendre} expansions, the full covariance may be decomposed into energy-dependent", + "covariance matrices for each combination of $L_i$ and $L_j$. The \\element{listOfCovariances}", + "lists all of these covariances." + ], + "name": "listOfCovariances", + "occurrence": "1", + "required": false + } + }, + "description": "Stores the uncertainty for a scalar quantity or a functional data container.", + "name": "uncertainty", + "required": false, + "rootNode": false + }, + "listOfCovariances":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "covariance": { + "__class__": "nodes.ChildNode", + "description": "Covariance matrix (or link to a covariance matrix).", + "name": "covariance", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Stores a list of covariance matrices (or a list of links to covariance matrices).", + "This option is generally used for higher-dimensional functions. For example,", + "if an angular distribution $P(\\mu|E)$ is stored as an energy-dependent list of", + "\\element{Legendre} expansions, the full covariance may be decomposed into energy-dependent", + "covariance matrices for each combination of $L_i$ and $L_j$. The \\element{listOfCovariances}", + "lists all of these covariances." + ], + "name": "listOfCovariances", + "required": false, + "rootNode": false + }, + "covariance":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label for this covariance (required if it resides in a \\elemlink{listOfCovariances}).", + "name": "label", + "required": false, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The URL or xpath-like string pointing to the referred-to element. Often points to a covariance inside the \\elemlink{covarianceSuite}.", + "name": "href", + "required": false, + "type": "bodyText" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Stores a covariance matrix (or a link to a covariance matrix),", + "usually for a 1-dimensional function." + ], + "name": "covariance", + "required": false, + "rootNode": false + }, + + "standard":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Stores $\\sigma$ for the normal distribution.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Used to store the standard deviation of a standard Gaussian uncertainty distribution. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} node." + ], + "name": "standard", + "required": false, + "rootNode": false + }, + "logNormal":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Stores $\\sigma$ for the log-normal distribution.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Used to store the standard deviation $\\sigma$ of a log-normal uncertainty distribution, $X = e^{\\mu + \\sigma Z}$. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "logNormal", + "required": false, + "rootNode": false + }, + "confidenceIntervals":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "interval": { + "__class__": "nodes.ChildNode", + "description": "Stores one confidence interval.", + "name": "interval", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Stores a list of intervals along with the confidence that the `true value' lies within each interval. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "confidenceIntervals", + "required": false, + "rootNode": false + }, + "interval":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "confidence": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A value between 0 and 1, indicating how confident the evaluator is that the `true' value lies between mean - lower and mean + upper.", + "name": "confidence", + "required": true, + "type": "Float64" + }, + "lower": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value to subtract from the mean to obtain the lower limit for this interval.", + "name": "lower", + "required": true, + "type": "Float64" + }, + "upper": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value to add to the mean to obtain the upper limit for this interval.", + "name": "upper", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "name": "interval", + "required": false, + "rootNode": false + }, + "pdf":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as an \\element{XYs1d}.", + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as a \\element{regions1d}.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": "Stores an explicit probability distribution for the parent quantity.", + "name": "pdf", + "required": false, + "rootNode": false + }, + + "axes":{ + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A the URL, in xpath syntax, of another \\element{axes} element", + "name": "href", + "required": false, + "type": "UTF8Text" + } + }, + "bodyText": null, + "childNodes": { + "axis": { + "__class__": "nodes.ChildNode", + "description": "This node stores an \\element{index}, \\element{label} and \\element{unit} for an axis.", + "name": "axis", + "occurrence": "1+", + "required": false + }, + "grid": { + "__class__": "nodes.ChildNode", + "description": "Stores a list of boundaries or points along this axis, e.g. to define group boundaries for grouped data.", + "name": "grid", + "occurrence": "1+", + "required": false + } + }, + "description": [ + "Many of the data containers represent functions that have independent and dependent axes. ", + "The \\element{axes} node provides a way to assign a label and unit to each axis. ", + "If an \\element{axes} node is present, each independent and dependent axis must have an ", + "\\element{axis} or \\element{grid} node. ", + "The \\element{axis} or \\element{grid} nodes are indexed 0 to $n$ where $n$ is the number of independent axes. ", + "For the function $x_0(x_n, ..., x_1)$, index 0 is for dependent axis $x_0$, 1 is for ", + "independent axis $x_1$, ... and $n$ is for the independent axis $x_n$. ", + "Note: Two types of axes nodes are allowed: ", + "\\begin{itemize}", + "\\item One type gives an xlink to another axes node ", + "\\item The other lists the axes explicitly.", + "\\end{itemize}" + ], + "name": "axes", + "required": false, + "rootNode": false + }, + "axis":{ + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "index": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "An integer that indicates which independent/dependent axis this \\element{axis} ", + "node belongs to as defined in Section~\\ref{format:gpdc:axes}." + ], + "name": "index", + "required": false, + "type": "Integer32" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The unit for the axis.", + "name": "unit", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "This node stores an \\element{index}, \\element{label} and \\element{unit} for an axis.", + "name": "axis", + "required": false, + "rootNode": false + }, + "grid":{ + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "index": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "An integer that indicates which independent/dependent axis this \\element{grid} ", + "node belongs to." + ], + "name": "index", + "required": false, + "type": "Integer32" + }, + "interpolation": { + "__class__": "nodes.Attribute", + "default": "\\attr{lin-lin}", + "description": [ + "Defines the interpolation to be used between consecutive domain points along this axis. ", + "Note, this attribute is required when \\element{style} is \\attr{points} or \\attr{boundaries} and ", + "interpolation is other than \\attr{lin-lin}." + ], + "name": "interpolation", + "required": false, + "type": "interpolation" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "style": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "A string denoting the type of grid associated with this axis. Allowed values are `none', `points', ", + "`boundaries' and `parameters'." + ], + "name": "style", + "required": false, + "type": "UTF8Text" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The unit for the axis.", + "name": "unit", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childUnique" : "yes", + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": "List of values defining the grid.", + "name": "values", + "occurrence": "choice", + "required": false + }, + "link": { + "__class__": "nodes.ChildNode", + "description": "Link to a list of values defining the grid.", + "name": "link", + "occurrence": "choice", + "required": false + } + }, + "description": [ + "The \\element{grid} node is like the \\element{axis} but adds a list of values that the function is evaluated at for the ", + "independent axis defined by the \\element{grid}. The \\element{grid} has the same three attributes (\\element{index}, ", + "\\element{label}, and \\element{unit}) as the \\element{axis} node and adds the attributes \\element{style} ", + "and \\element{interpolation}. In addition, the \\element{grid} node has a \\element{values} child node ", + "that contains the list of values the function is evaluated at or parameters the function is specified at as ", + "indicated by the \\element{style} attribute. " + ], + "name": "grid", + "required": false, + "rootNode": false + }, + "values":{ + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "valueType": { + "__class__": "nodes.Attribute", + "default": "Float64", + "description": [ + "Specifies the type of data ", + "in the body (e.g. Integer32, Float64). Only one type of data can be stored ", + "in each instance of a values node." + ], + "name": "valueType", + "required": false, + "type": "UTF8Text" + }, + "start": { + "__class__": "nodes.Attribute", + "default": "0", + "description": "For start=``N'', the first N values are zero and are not stored.", + "name": "start", + "required": false, + "type": "Integer32" + }, + "length": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The total number of data values including leading and trailing zero ", + "values that are not stored. This attribute should only be used when ", + "the sum of \\attr{start} and the number of listed values do not ", + "add to the total number of data values. This should only happen when there are trailing zeros not ", + "listed in the Body text. " + ], + "name": "length", + "required": false, + "type": "Integer32" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "Link to another \\element{values} node or to a dataset in an external file such as HDF5.", + "If the href points to an external file, the link should be of the form `href=``FileID\\#/path/in/external/file''', ", + "where `FileID' is the label of one of the external files listed in the \\element{externalFiles} section." + ], + "name": "href", + "required": false, + "type": "UTF8Text" + }, + "startIndex": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "Optionally used along with an \\attr{href} to indicate that a subset ", + "of the externally-defined dataset should be used. ", + "This option must only be used if an \\attr{href} and \\attr{count} are also defined. ", + "Data from the external dataset between startIndex (inclusive) and startIndex + count (exclusive) are selected." + ], + "name": "startIndex", + "required": false, + "type": "Integer32" + }, + "count": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "Optionally used along with an \\attr{href} to indicate that a subset ", + "of the externally-defined dataset should be used. ", + "This option must only be used if an \\attr{href} and \\attr{startIndex} are also defined. ", + "Data from the external dataset between startIndex (inclusive) and startIndex + count (exclusive) are selected." + ], + "name": "count", + "required": false, + "type": "Integer32" + } + }, + "bodyText": "Contains a space-delimited ordered list of data for the parent node, or an href pointing to the data.", + "childNodes": {}, + "description": [ + "Data containers have meta-data and data. In most cases the data have one common piece of meta-data, ", + "which is the \\element{type} of data. For, this reason, many of the containers ", + "store their data in a \\element{values} node where, if needed, \\element{type} is stored. ", + "This node also allows for compressing leading and trailing zero data. If the \\element{start} attribute ", + "is defined, it specifies the first non-zero data value. If the sum of the \\element{start} ", + "and the number of data values is less than the value of the \\element{length} attribute, then the ", + "the \\element{length} value represents the total number of data values including the ", + "non-specified leading and trailing zeros. ", + "All data in this node must be of the same type and separated by one or more white spaces." + ], + "name": "values", + "required": false, + "rootNode": false + }, + "array":{ + "__class__": "nodes.Node", + "abstractNode": "label", + "attributes": { + "shape": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "a comma-separated list of integers representing the length of ", + "the array along each dimension. The integer type is Integer32." + ], + "name": "shape", + "required": true, + "type": "IntegerTuple" + }, + "compression": { + "__class__": "nodes.Attribute", + "default": "`none'", + "description": [ + "A flag indicating whether a sparse storage scheme is being used, ", + "and if so which scheme is used. Allowed value is either ", + "`none', `diagonal', `flattened' or `embedded'. Projects can also define their own", + "compression schemes." + ], + "name": "compression", + "required": false, + "type": "UTF8Text" + }, + "symmetry": { + "__class__": "nodes.Attribute", + "default": "`none'", + "description": [ + "Allows for storing values in only ", + "the upper- or lower-diagonal hyper-triangle. Allowed values are `none', `lower' and `upper'.", + "If \\attrval{permutation} is `none', non-stored values are zero.", + "Otherwise, they are determine by the \\attrval{permutation} attribute." + ], + "name": "symmetry", + "required": false, + "type": "UTF8Text" + }, + "permutation": { + "__class__": "nodes.Attribute", + "default": "`none'", + "description": [ + "If \\attrval{symmetry} is other then `none', ", + "this attribute specifies whether the permutation of two indices is +1 or -1. Allowed ", + "values are `none', `+1' and `-1'." + ], + "name": "permutation", + "required": false, + "type": "UTF8Text" + }, + "storageOrder": { + "__class__": "nodes.Attribute", + "default": "row-major", + "description": [ + "Indicates whether the data are stored in row-major ", + "or column-major order (i.e. whether the last or first index is varying the fastest). ", + "Allowed values are `row-major' or `column-major'," + ], + "name": "storageOrder", + "required": false, + "type": "UTF8Text" + }, + "offset": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "Required if this array is nested inside an \\attrval{embedded} array; not allowed otherwise; ", + "Gives the starting indices for a sub-array nested inside an array that uses \\attrval{embedded} compression. ", + "A comma-separated list of integers equal in dimension to the parent array. The integer type is Integer32.," + ], + "name": "offset", + "required": false, + "type": "IntegerTuple" + } + }, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": [ + "Containers holding the array values. The number of \\element{values} nodes depends on the \\attr{compression}", + "attribute. For compression of `embedded', `none', or `flattened' the number of \\element{values}", + "nodes are 0, 1, or 3 respectively. For `diagonal' compression, either 1 or 2 \\element{values} nodes may be present." + ], + "name": "values", + "occurrence": "0+", + "required": false + }, + "array": { + "__class__": "nodes.ChildNode", + "description": [ + "Containers holding sub-arrays embedded in a larger array. The number of \\element{array} nodes depends on the", + "\\attr{compression} attribute. For compression of `embedded', 0 or more are allowed. For compression of `none',", + "`diagonal' or `flattened' no \\element{array} nodes are allowed." + ], + "name": "array", + "occurrence": "0+", + "required": false + } + }, + "description": [ + "An array consists of attributes indicating the dimension, compression strategy, etc. and ", + "a list of one or more \\element{values} nodes that depend on the value of the \\attr{compression} attribute. ", + "The \\attr{label} attribute of each \\element{values} node designates the type of data stored in ", + "that node. For the \\element{values} node containing the data of the array, no label shall ", + "be specified. The allowed \\textbf{values} nodes for different compressions are: ", + "", + "\\begin{description}", + "\\item[compression=`none':] in this case the array only contains a single \\element{values} node that", + " contains the array data. The \\attr{label} attribute of the \\element{values} node shall", + " not be used. The number of data in the \\element{values} node", + " depends on the array shape and the values of the \\attr{symmetry} and \\attr{storageOrder} attributes.", + "", + "\\item[compression=`diagonal':] if all off-diagonal nodes are zero, then the", + "diagonal array only needs to contain a \\element{values} node, ", + "with size = N (the smallest array dimension). ", + "If some off-diagonal nodes are included, then the array contains two \\element{values} ", + "nodes. One node has label=``startingIndices'' and contains the starting indices. The ", + "other node contains the array data and its \\attr{label} attribute must ", + "not be used. ", + "", + "\\item[compression=`flattened':] In this case the array contains three \\element{values} nodes.", + " One node contains a list of starting indices in the flattened array and has \\attr{label}=``starts''. Another node", + " contains the number of values given after each `start' and has \\attr{label}=``lengths''.", + " The third node contains the array data and its \\attr{label} attribute shall", + " not be used. The \\attr{starts} and \\attr{lengths} both shall have data", + " type Integer32, and must have the same size.", + "", + "\\item[compression=`embedded':] contains 0 or more child \\element{array} nodes.", + " Each child array shall have the same data type as the parent array,", + " must have an \\attr{offset} attribute, and must obey size restrictions as described in", + " Section~\\ref{embeddeddef}.", + "\\end{description}" + ], + "name": "array", + "required": false, + "rootNode": false + }, + "table":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "columns": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The number of columns of the table.", + "name": "columns", + "required": true, + "type": "Integer32" + }, + "rows": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The number of rows of the table.", + "name": "rows", + "required": true, + "type": "Integer32" + }, + "storageOrder": { + "__class__": "nodes.Attribute", + "default": "row-major", + "description": "Allowed value is one of `row-major' and `column-major'", + "name": "storageOrder", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "columnHeaders": { + "__class__": "nodes.ChildNode", + "description": "Contains a list of N `header' nodes where N is the number of columns.", + "name": "columnHeaders", + "occurrence": "1", + "required": true + }, + "data": { + "__class__": "nodes.ChildNode", + "description": "The data for the table, consisting of M $\\times$ N cells.", + "name": "data", + "occurrence": "1", + "required": true + } + }, + "description": null, + "name": "table", + "required": false, + "rootNode": false + }, + "columnHeaders":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "column": { + "__class__": "nodes.ChildNode", + "description": "Container which holds the name, units, etc. describing a column of data.", + "name": "column", + "occurrence": "1+", + "required": true + } + }, + "description": "Contains a list of N `header' nodes where N is the number of columns.", + "name": "columnHeaders", + "required": true, + "rootNode": false + }, + "column":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "index": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An integer value in the range 0 to (N-1) that represents the order of the column.", + "name": "index", + "required": true, + "type": "Integer32" + }, + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string representing the name of the column.", + "name": "name", + "required": true, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": "", + "description": "The unit of the data in the column.", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "types": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Comma separated list of valid GNDS types denoting what types of elements are allowed in each cell in the column.", + "name": "types", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Container which holds the attributes that describe a column of data including the name, units, etc." + ], + "name": "column", + "required": true, + "rootNode": false + }, + "data":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "sep": { + "__class__": "nodes.Attribute", + "default": "whiteSpace", + "description": [ + "Valid options are ``whiteSpace'', ``,'', ", + "``td'', ``tr'' or ``tc''. The standard rules for ``whiteSpace'' and ``comma'' separators ", + "apply. The other separator options are described below." + ], + "name": "sep", + "required": false, + "type": "UTF8Text" + } + }, + "bodyText": [ + "The layout of the table data depends on the values of the \\attr{storageOrder} and \\attr{sep} attributes. ", + "\\begin{description}", + "\\item[sep=`whiteSpace' or `,']", + " In this case the table has no child node, and the body of the table consists of a", + " \\textbf{sep}-separated list containing M $\\times$ N values. The order of data depends on the \\attr{storageOrder}.", + " This option can only be used if all data in the table are numeric types.", + "\\item[sep=`td']", + " In this case every cell in the table is explicitly contained inside `' and `' (or `', ", + " to indicate an empty cell). The order of data depends on the \\attr{storageOrder}. This option can handle", + " multiple data types, but if only a few cells contain non-numeric data the following two options may", + " be more concise.", + "\\item[storageOrder=`row-major', sep=`tr']", + " In this case each row of the table is stored inside `' and `'. Each row can define", + " its own separator, which may be `whiteSpace' (the default), `td' or `,'. Any row containing non-numeric", + " data must have `sep=``td'''.", + "\\item[storageOrder=`column-major', sep=`tc']", + " In this case each column of the table is stored inside `' and `'.", + " Each column can define its own separator, which may be `whiteSpace' (the default),", + " `td' or `,'. Any column containing non-numeric data must have `sep=``td'''. This storage", + " is recommended whenever some columns contain only numeric data while", + " others contain mixed data types, since it helps reduce the size of the numeric columns.", + "\\end{description}" + ], + "childNodes": {}, + "description": "The data for the table, consisting of M $\\times$ N cells.", + "name": "data", + "required": true, + "rootNode": false + }, + + "XYs1d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "index": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Integer index, used when the \\element{XYs1d} appears inside a \\element{regions1d}.", + "name": "index", + "required": false, + "type": "Integer32" + }, + "interpolation": { + "__class__": "nodes.Attribute", + "default": "lin-lin", + "description": "The rule for interpolating $y$ along the $x$ axis.", + "name": "interpolation", + "required": false, + "type": "interpolation" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label. When the \\element{XYs1d} appears as a form, the label indicates the associated style.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When an XYs1d appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": "The \\element{axes} element describing the $x$ and $y$ directions.", + "name": "axes", + "occurrence": "1", + "required": false + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this one-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + }, + "values": { + "__class__": "nodes.ChildNode", + "description": "Contains the list of the $n$ pairs of $x_i, y_i$ as the list $x_0\\ y_0\\ x_1\\ y_1\\ ...\\ x_{n-1}\\ y_{n-1}$.", + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": [ + "This node stores a single-valued function $x_0(x_1)$ (i.e. $y(x)$) as a tabulated list of $(x_i,y_i)$ pairs with $x_i < x_{i+1}$. ", + "It may appear on its own (i.e. when storing an energy-dependent cross section or multiplicity), or it may appear inside ", + "of another functional data container such as \\element{regions1d} or \\element{XYs2d}." + ], + "name": "XYs1d", + "required": false, + "rootNode": false + }, + "Ys1d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "interpolation": { + "__class__": "nodes.Attribute", + "default": "lin-lin", + "description": "The rule for interpolating $y$ rule along the $x$ axis.", + "name": "interpolation", + "required": false, + "type": "interpolation" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label. When the \\element{Ys1d} appears as a form, the label indicates the associated style.", + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": "The \\element{axes} element describing the $x$ and $y$ directions.", + "name": "axes", + "occurrence": "1", + "required": true + }, + "values": { + "__class__": "nodes.ChildNode", + "description": "Contains the list of $y_i$ values.", + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": [ + "This node stores a tabulated representation of the single-valued function $x_0(x_1)$. This is like the ", + "\\element{XYs1d} node (see Section~\\ref{format:gpdc:XYs1d}) except that the independent axis must be a ", + "\\element{grid} node (see Section~\\ref{format:gpdc:grid}) that either stores a list of $x_i$ values or links to another grid that stores the list. ", + "This node is useful when many tabulated $x_0(x_1)$'s contain the same $x_i$ points. Only one of the \\element{Ys1d} node ", + "needs to store the $x_i$ values and the others can link to it, allowing for reduced redundancy and storage. ", + "The $x_i$ values must statisfy $x_i < x_{i+1}$. The $y_i$ are stored in the \\element{values} child node. " + ], + "name": "Ys1d", + "required": false, + "rootNode": false + }, + "Legendre":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When a Legendre series appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + }, + "lowerIndex": { + "__class__": "nodes.Attribute", + "default": "0", + "description": [ + "Used if the first \\attr{lowerIndex} coefficients are all zero. The upperIndex is equal to lowerIndex plus the number of coefficients ", + "in the \\element{values} node, so it is not stored." + ], + "name": "lowerIndex", + "required": false, + "type": "Integer32" + }, + "domainMin": { + "__class__": "nodes.Attribute", + "default": "-1", + "description": "$y(x_1)$ is only valid (i.e. defined) over the domain \\attr{domainMin} $\\le x_1 \\le$ \\attr{domainMax}. \\attr{domainMin} must be less than or equal to \\attr{domainMax}.", + "name": "domainMin", + "required": false, + "type": "Float64" + }, + "domainMax": { + "__class__": "nodes.Attribute", + "default": "1", + "description": "See \\attr{domainMin}.", + "name": "domainMax", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": [ + "The specifications of the \\element{values} node are given in Section~\\ref{format:gpdc:values}. ", + "The numeric values are the coefficients $C_i$ listed by consecutive order $i$ starting with \\attr{lowerIndex}." + ], + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": null, + "name": "Legendre", + "required": false, + "rootNode": false + }, + "polynomial1d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When a polynomial1d appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + }, + "lowerIndex": { + "__class__": "nodes.Attribute", + "default": "0", + "description": [ + "Used if the first \\attr{lowerIndex} coefficients are all zero. The upperIndex is equal to lowerIndex plus the number of coefficients ", + "in the \\element{values} node, so it is not stored." + ], + "name": "lowerIndex", + "required": false, + "type": "Integer32" + }, + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": "$y(x_1)$ is only valid (i.e. defined) over the domain \\attr{domainMin} $\\le x_1 \\le$ \\attr{domainMax}. \\attr{domainMin} must be less than or equal to \\attr{domainMax}.", + "name": "domainMin", + "required": false, + "type": "Float64" + }, + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": "See \\attr{domainMin}.", + "name": "domainMax", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": "The \\element{axes} element describing the $x$ and $y$ directions.", + "name": "axes", + "occurrence": "1", + "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this one-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + }, + "values": { + "__class__": "nodes.ChildNode", + "description": [ + "The specifications of the \\element{values} node are given in Section~\\ref{format:gpdc:values}. ", + "The numeric values are the coefficients $C_i$ listed by consecutive order $i$ starting with lowerIndex." + ], + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": null, + "name": "polynomial1d", + "required": false, + "rootNode": false + }, + "constant1d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The value of the data.", + "name": "value", + "required": false, + "type": "Float64" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When a constant1d appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + }, + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": "$y(x_1)$ is only valid (i.e. defined) over the domain \\attr{domainMin} $\\le x_1 \\le$ \\attr{domainMax}. \\attr{domainMin} must be less than or equal to \\attr{domainMax}.", + "name": "domainMin", + "required": false, + "type": "Float64" + }, + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": "See \\attr{domainMin}.", + "name": "domainMax", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": "The \\element{axes} element describing the $x$ and $y$ directions.", + "name": "axes", + "occurrence": "1", + "required": true + } + }, + "description": "Describes a constant one-dimensional function, $f(x) = C$.", + "name": "constant1d", + "required": false, + "rootNode": false + }, + + "xs_pdf_cdf1d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When the xs\\_pdf\\_cdf1d container appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "xs": { + "__class__": "nodes.ChildNode", + "description": "Defines the common list of $x$ values for the pdf and cdf.", + "name": "xs", + "occurrence": "1", + "required": true + }, + "pdf": { + "__class__": "nodes.ChildNode", + "description": "Stores the pdf evaluated at each corresponding $x$ value.", + "name": "pdf", + "occurrence": "1", + "required": true + }, + "cdf": { + "__class__": "nodes.ChildNode", + "description": "Stores the cdf evaluated at each corresponding $x$ value.", + "name": "cdf", + "occurrence": "1", + "required": true + } + }, + "description": [ + "For Monte-Carlo sampling it is often useful to store both the probability density (pdf) and cumulative probability density (cdf)", + "on the same grid. The sampling routine can then draw a random number in the range [0,1), do a bisection search through the cdf", + "to determine which interval the random number lies in, and then use the pdf to sample within that interval. The \\element{xs\\_pdf\\_cdf1d}", + "container provides a way to store these three related quantities together. The number of values in the \\element{xs}, \\element{pdf}", + "and \\element{cdf} must be the same." + ], + "name": "xs_pdf_cdf1d", + "required": false, + "rootNode": false + }, + "xs_in_xs_pdf_cdf1d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": "Stores the common list of $x$ values for use in an \\element{xs\\_pdf\\_cdf1d}.", + "name": "xs", + "required": false, + "rootNode": false + }, + "pdf_in_xs_pdf_cdf1d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": "Stores the value of the pdf at each $x$ in an \\element{xs\\_pdf\\_cdf1d}.", + "name": "pdf_in_xs_pdf_cdf1d", + "required": false, + "rootNode": false + }, + "cdf_in_xs_pdf_cdf1d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": "Stores the value of the cdf at each $x$ in an \\element{xs\\_pdf\\_cdf1d}.", + "name": "cdf", + "required": false, + "rootNode": false + }, + + "XYs2d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "index": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Integer index, required when the \\element{XYs2d} appears inside a \\element{regions2d}.", + "name": "index", + "required": false, + "type": "Integer32" + }, + "interpolation": { + "__class__": "nodes.Attribute", + "default": "lin-lin", + "description": "The rule for interpolating $x_0$ along the $x_2$ axis.", + "name": "interpolation", + "required": false, + "type": "interpolation" + }, + "interpolationQualifier": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The interpolation qualifier.", + "name": "interpolationQualifier", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When an XYs2d appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "axes", + "occurrence": "1", + "required": false + }, + "function1ds": { + "__class__": "nodes.ChildNode", + "description": "Contains the list of 1-dimensional functions $x_0(x_1)$ that represent $x_0(x_2, x_1)$ at various points along $x_2$.", + "name": "function1ds", + "occurrence": "1", + "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this two-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": [ "This node stores a 2-dimensional function $x_0(x_2, x_1)$ as a list of 1-dimensional functions at various $x_2$ values. Each 1-dimensional ", + "function stores its $x_2$ point in its \\attr{value} attribute. The attributes \\attr{interpolation} and \\attr{interpolationQualifier}", + " instruct how to interpolate $x_2$ and $x_0$ between two adjacent 1-dimensional functions." ], + "name": "XYs2d", + "required": false, + "rootNode": false + }, + + "function1ds" : { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "functional": { + "__class__": "nodes.ChildNode", + "description": "Any valid 1-dimensional function that is consistent with the quantity being represented.", + "name": "functional", + "occurrence": "1+", + "required": false + } + }, + "description": "This node stores a list of 1-dimensional functions.", + "name": "function1ds", + "required": 1, + "rootNode": false + }, + + "XYs3d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "interpolation": { + "__class__": "nodes.Attribute", + "default": "lin-lin", + "description": "The rule for interpolating $x_0$ along the $x_3$ axis.", + "name": "interpolation", + "required": false, + "type": "interpolation" + }, + "interpolationQualifier": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The interpolation qualifier.", + "name": "interpolationQualifier", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "axes", + "occurrence": "1", + "required": false + }, + "function2ds": { + "__class__": "nodes.ChildNode", + "description": "Contains the list of 2-dimensional functions that represent $x_0(x_3, x_2, x_1)$ at various points along $x_3$ as a $x_0(x_2, x_1)$ functions.", + "name": "function2ds", + "occurrence": "1", + "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this three-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": [ "This node stores a 3-dimensional function $x_0(x_3, x_2, x_1)$ as a list of 2-dimensional functions at various $x_3$ values. Each 2-dimensional ", + "function stores its $x_3$ point in its \\attr{value} attribute. The attributes \\attr{interpolation} and \\attr{interpolationQualifier}", + " instruct how to interpolate $x_3$ and $x_0$ between two adjacent 2-dimensional functions." ], + "name": "XYs3d", + "required": false, + "rootNode": false + }, + + "function2ds" : { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "functional": { + "__class__": "nodes.ChildNode", + "description": "Any valid 2-dimensional function that is consistent with the quantity being represented.", + "name": "functional", + "occurrence": "1+", + "required": false + } + }, + "description": "This node stores a list of 2-dimensional functions.", + "name": "function2ds", + "required": 1, + "rootNode": false + }, + + "regions1d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When an \\element{regions1d} appears inside a higher-dimensional container, the \\attr{outerDomainValue} corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "axes", + "occurrence": "1", + "required": false + }, + "function1ds": { + "__class__": "nodes.ChildNode", + "description": [ "Contains the list of 1-dimensional functions that represent $x_0(x_1)$. The upper $x_1$ value for a function ", + "in the list must be equal to the lower $x_1$ value for the next function in the list." ], + "name": "function1ds", + "occurrence": "1", + "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this one-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "regions1d", + "required": false, + "rootNode": false + }, + + "regions2d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When a regions2d appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "axes", + "occurrence": "1", + "required": false + }, + "function2ds": { + "__class__": "nodes.ChildNode", + "description": [ "Contains the list of 2-dimensional functions that represent $x_0(x_2, x_1)$. The upper $x_2$ value for a function ", + "in the list must be equal to the lower $x_2$ value for the next function in the list." ], + "name": "function2ds", + "occurrence": "1", + "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this two-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "regions2d", + "required": false, + "rootNode": false + }, + + "regions3d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When a regions3d appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "axes", + "occurrence": "1", + "required": false + }, + "function3ds": { + "__class__": "nodes.ChildNode", + "description": [ "Contains the list of 3-dimensional functions that represent $x_0(x_3, x_2, x_1)$. The upper $x_3$ value for a function ", + "in the list must be equal to the lower $x_3$ value for the next function in the list." ], + "name": "function3ds", + "occurrence": "1", + "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this three-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "regions3d", + "required": false, + "rootNode": false + }, + + "function3ds" : { + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "functional": { + "__class__": "nodes.ChildNode", + "description": "Any valid 3-dimensional function that is consistent with the quantity being represented.", + "name": "functional", + "occurrence": "1+", + "required": false + } + }, + "description": "This node stores a list of 3-dimensional functions.", + "name": "function3ds", + "required": 1, + "rootNode": false + }, + + "gridded1d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique identifier.", + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "array": { + "__class__": "nodes.ChildNode", + "description": "An \\element{array} node representing the $x_0$ values.", + "name": "array", + "occurrence": "1", + "required": true + }, + "axes": { + "__class__": "nodes.ChildNode", + "description": "An \\element{axes} element containing the \\element{grid} elements.", + "name": "axes", + "occurrence": "1", + "required": true + } + }, + "description": "A one-dimensional function defined on a grid or set of groups.", + "name": "gridded1d", + "required": false, + "rootNode": false + }, + "gridded2d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An unique identifier.", + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "array": { + "__class__": "nodes.ChildNode", + "description": "An \\element{array} node representing the $x_0$ values.", + "name": "array", + "occurrence": "1", + "required": true + }, + "axes": { + "__class__": "nodes.ChildNode", + "description": "An \\element{axes} element containing the \\element{grid} elements.", + "name": "axes", + "occurrence": "1", + "required": true + } + }, + "description": "A two-dimensional function defined on a grid or set of groups.", + "name": "gridded2d", + "required": false, + "rootNode": false + }, + "gridded3d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An unique identifier.", + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "array": { + "__class__": "nodes.ChildNode", + "description": "An \\element{array} node representing the $x_0$ values.", + "name": "array", + "occurrence": "1", + "required": true + }, + "axes": { + "__class__": "nodes.ChildNode", + "description": "An \\element{axes} element containing the \\element{grid} elements.", + "name": "axes", + "occurrence": "1", + "required": true + } + }, + "description": "A three-dimensional function defined on a grid or set of groups.", + "name": "gridded3d", + "required": false, + "rootNode": false + } + +} diff --git a/standards/gnds-2.0/summary_mapfile.json b/standards/gnds-2.0/summary_mapfile.json new file mode 100644 index 000000000..2506946c6 --- /dev/null +++ b/standards/gnds-2.0/summary_mapfile.json @@ -0,0 +1,258 @@ +{ + "__namespace__":"map", + "map":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "library": { + "__class__": "nodes.Attribute", + "default": null, + "description": "String identifier for the library defined in this map file, e.g. 'ENDF/B-VIII.0'.", + "name": "library", + "required": true, + "type": "XMLName" + }, + "format": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Map file format version id.", + "name": "format", + "required": true, + "type": "XMLName" + }, + "checksum": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Checksum for the map file, computed by string-concatenating all checksums inside", + "the file (in the order they appear) and computing the checksum of the resulting string."], + "name": "checksum", + "required": true, + "type": "checksum" + }, + "algorithm": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Algorithm used to compute the checksum.", + "name": "algorithm", + "required": true, + "type": "algorithm" + } + }, + "bodyText": null, + "childNodes": { + "import": { + "__class__": "nodes.ChildNode", + "description": "Imports another map file using a path (relative or absolute).", + "name": "import", + "occurrence": "0+", + "required": false + }, + "protare": { + "__class__": "nodes.ChildNode", + "description": "Adds one evaluation to the map file, using relative or absolute path.", + "name": "protare", + "occurrence": "0+", + "required": false + }, + "TNSL": { + "__class__": "nodes.ChildNode", + "description": "Adds a thermal neutron scattering law evaluation to the map file, using relative or absolute paths.", + "name": "TNSL", + "occurrence": "0+", + "required": false + } + }, + "description": "A map file organizes multiple files into a library. Individual files are called `protares': PROjectile + TARget + Evaluation.", + "name": "map", + "required": false, + "rootNode": true + }, + "import":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "path": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Path to another map file imported by this file.", + "name": "path", + "required": true, + "type": "XMLName" + }, + "checksum": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Checksum of the imported map file, identical to the \\attr{checksum} attribute in the top node of that file.", + "name": "checksum", + "required": true, + "type": "checksum" + }, + "algorithm": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Algorithm used to compute the checksum. Defaults to the \\attr{algorithm} of the parent \\element{map} file.", + "name": "algorithm", + "required": false, + "type": "algorithm" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Imports contents of another map file into this map file. Care must be taken to avoid circular imports.", + "name": "import", + "required": false, + "rootNode": false + }, + "protare":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "projectile": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id of the projectile.", + "name": "projectile", + "required": true, + "type": "XMLName" + }, + "target": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id of the target.", + "name": "target", + "required": true, + "type": "XMLName" + }, + "evaluation": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Evaluation label, usually equal to the library name e.g. `ENDF/B-8.0`.", + "name": "evaluation", + "required": true, + "type": "XMLName" + }, + "path": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Path (absolute or relative) to the reactionSuite associated with this protare.", + "name": "path", + "required": true, + "type": "XMLName" + }, + "interaction": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Type of interaction. Options are: `nuclear', `atomic' and `TNSL'.", + "name": "interaction", + "required": true, + "type": "XMLName" + }, + "checksum": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Checksum for the protare file located at the given \\attr{path}.", + "name": "checksum", + "required": true, + "type": "checksum" + }, + "algorithm": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Algorithm used to compute the checksum. Defaults to the \\attr{algorithm} of the parent \\element{map} file.", + "name": "algorithm", + "required": false, + "type": "algorithm" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Adds a single reactionSuite (or `ProTarE') to the map file.", + "name": "protare", + "required": false, + "rootNode": false + }, + "TNSL":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "projectile": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id of the projectile.", + "name": "projectile", + "required": true, + "type": "XMLName" + }, + "target": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id of the target.", + "name": "target", + "required": true, + "type": "XMLName" + }, + "evaluation": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Evaluation label, usually equal to the library name e.g. `ENDF/B-8.0`.", + "name": "evaluation", + "required": true, + "type": "XMLName" + }, + "path": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Path (absolute or relative) to the reactionSuite associated with this protare.", + "name": "path", + "required": true, + "type": "XMLName" + }, + "interaction": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Type of interaction. Only option in this case is `TNSL'.", + "name": "interaction", + "required": false, + "type": "XMLName" + }, + "checksum": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Checksum for the TNSL file located at the given \\attr{path}.", + "name": "checksum", + "required": true, + "type": "checksum" + }, + "algorithm": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Algorithm used to compute the checksum. Defaults to the \\attr{algorithm} of the parent \\element{map} file.", + "name": "algorithm", + "required": false, + "type": "algorithm" + }, + "standardTarget": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id of the protare to use for reactions / incident energies outside the range of this TNSL target.", + "name": "standardTarget", + "required": true, + "type": "XMLName" + }, + "standardEvaluation": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Evaluation label for the protare to use for reactions / incident energies outside the range of this TNSL target.", + "name": "standardEvaluation", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "A thermal neutron scattering law (TNSL) target to add to the map file. Requires also listing the `standard' protare to be used outside the limits of the TNSL data.", + "name": "TNSL", + "required": true, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_pops.json b/standards/gnds-2.0/summary_pops.json new file mode 100644 index 000000000..be98ed378 --- /dev/null +++ b/standards/gnds-2.0/summary_pops.json @@ -0,0 +1,1923 @@ +{ + "__namespace__":"pops", +"PoPs_database":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the PoPs library, e.g. `ENDF-VIII'", + "name": "name", + "required": true, + "type": "XMLName" + }, + "version": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Library version / release number, e.g. `VIII.1' or `8.1\\_beta'"], + "name": "version", + "required": true, + "type": "XMLName" + }, + "format": { + "__class__": "nodes.Attribute", + "default": null, + "description": "PoPs format version, e.g. `1.0.1'", + "name": "format", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "styles": { + "__class__": "nodes.ChildNode", + "description": "Defines the styles of data appearing in the database. Only required in stand-alone databases.", + "name": "styles", + "occurrence": "1", + "required": false + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Top-level documentation applying to the entire PoPs database.", + "name": "documentation", + "occurrence": "1", + "required": false + }, + "aliases": { + "__class__": "nodes.ChildNode", + "description": "Defines `alias particles' that point to other particles. Often used to identify metastable states, for example.", + "name": "aliases", + "occurrence": "1", + "required": false + }, + "gaugeBosons": { + "__class__": "nodes.ChildNode", + "description": "Contains definitions for gauge bosons, notably the photon.", + "name": "gaugeBosons", + "occurrence": "1", + "required": false + }, + "leptons": { + "__class__": "nodes.ChildNode", + "description": "Contains definitions for leptons, notably the electron and electron anti-neutrino", + "name": "leptons", + "occurrence": "1", + "required": false + }, + "baryons": { + "__class__": "nodes.ChildNode", + "description": "Contains definitions of baryons such as the neutron and proton.", + "name": "baryons", + "occurrence": "1", + "required": false + }, + "chemicalElements": { + "__class__": "nodes.ChildNode", + "description": "Contains definitions for chemical elements, which in turn contain a list of isomers, nuclides and nuclei", + "name": "chemicalElements", + "occurrence": "1", + "required": false + }, + "unorthodoxes": { + "__class__": "nodes.ChildNode", + "description": "Contains definitions for `unorthodox' particles, such as representative fission products.", + "name": "unorthodoxes", + "occurrence": "1", + "required": false + } + }, + "description": [ + "This is the root node for a full particle database. Within the database, particles are organised into different families and/or groups. ", + "Each particle in the database must have a unique `id'. A PoPs database may be a stand-alone file, or it may appear ", + "inside a reactionSuite." + ], + "name": "PoPs", + "required": false, + "rootNode": true +}, + +"aliases":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "alias": { + "__class__": "nodes.ChildNode", + "description": "Defines an alias pointing to another particle in the database.", + "name": "alias", + "occurrence": "0+", + "required": false + }, + "metaStable": { + "__class__": "nodes.ChildNode", + "description": ["Defines a metastable particle, with a particle id like `Al26\\_m1'."], + "name": "metaStable", + "occurrence": "0+", + "required": false + } + }, + "description": [ + "Particles may sometimes be known by more than one name. Examples include the $\\alpha$ particle, ", + "which is synonymous with the nucleus of a He4 atom, the photon which goes by several names including ", + "`gamma' and `x-ray', and isomeric nuclear states which can be referred to either by isomer index or by nuclear level index. ", + "The \\element{aliases} node contains a list of \\element{alias} and \\element{metastable} nodes ", + "that allow for alternate ids to be assigned to a particle." + ], + "name": "aliases", + "required": false, + "rootNode": false +}, +"alias":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "id": { + "__class__": "nodes.Attribute", + "default": null, + "description": "alias id. For example, alias `gamma' and/or `x-ray' may be used to refer to the photon.", + "name": "id", + "required": true, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Equal to the `id' of the nuclide this alias points to, for example `photon' for alias `gamma'.", + "name": "pid", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Alias particle. The alias `id' must not match the id of any other particle or alias in the database.", + "name": "alias", + "required": false, + "rootNode": false +}, +"metaStable":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "id": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Metastable id, e.g. `Am242\\_m1'."], + "name": "id", + "required": true, + "type": "XMLName" + }, + "metaStableIndex": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Index for metastable states, equal to `1' for lowest-energy metastable, `2' for second metastable, etc.", + "name": "metaStableIndex", + "required": true, + "type": "Integer32" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Equal to the `id' of the nuclide this metastable points to, for example `Am242\\_e2' for metastable `Am242\\_m1'."], + "name": "pid", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "A \\element{metaStable} node is a special type of alias pointing to a relatively long-lived excited nuclear level. ", + "In addition to the \\textbf{id} and \\textbf{pid}, it also defines a meta-stable index that shall be `1' ", + "for the lowest-energy metastable state, `2' for the second-lowest, etc.\n", + "Metastables are a useful way to identify nuclear levels that live long enough to accumulate and potentially ", + "change reaction rates during a radiation transport calculation. The definition of metastable states is often ", + "problem-specific. For some applications such as inertial confinement fusion, a micro-second half-life can be ", + "long enough to qualify a state as meta-stable, while for other applications much longer half-lives are required. ", + "A particle database allows users to define their own \\element{metaStable} nodes for more flexible control over ", + "what nuclear states to consider as meta-stable." + ], + "name": "metaStable", + "required": false, + "rootNode": false +}, + +"gaugeBosons":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "gaugeBoson": { + "__class__": "nodes.ChildNode", + "description": "Defines one gauge boson particle.", + "name": "gaugeBoson", + "occurrence": "1+", + "required": false + } + }, + "description": "Collection of gauge bosons.", + "name": "gaugeBosons", + "required": false, + "rootNode": false +}, +"gaugeBoson":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "id": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id, e.g. `photon' or `gluon'.", + "name": "id", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "charge": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "charge", + "occurrence": "1", + "required": false + }, + "halflife": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "halflife", + "occurrence": "1", + "required": false + }, + "mass": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "mass", + "occurrence": "1", + "required": false + }, + "spin": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "spin", + "occurrence": "1", + "required": false + }, + "parity": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "parity", + "occurrence": "1", + "required": false + }, + "decayData": { + "__class__": "nodes.ChildNode", + "description": "Description of nuclide decay.", + "name": "decayData", + "occurrence": "1", + "required": false + } + }, + "description": "Defines a gauge boson, notably including the photon.", + "name": "gaugeBoson", + "required": false, + "rootNode": false +}, + +"leptons":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "lepton": { + "__class__": "nodes.ChildNode", + "description": "Defines one lepton particle.", + "name": "lepton", + "occurrence": "1+", + "required": true + } + }, + "description": "Collection of leptons.", + "name": "leptons", + "required": false, + "rootNode": false +}, +"lepton":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "generation": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Lepton generation, i.e. `1' for the electron and `2' for muon.", + "name": "generation", + "required": false, + "type": "XMLName" + }, + "id": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id, e.g. `e-' for the electron.", + "name": "id", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "charge": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "charge", + "occurrence": "1", + "required": false + }, + "halflife": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "halflife", + "occurrence": "1", + "required": false + }, + "mass": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "mass", + "occurrence": "1", + "required": false + }, + "spin": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "spin", + "occurrence": "1", + "required": false + }, + "parity": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "parity", + "occurrence": "1", + "required": false + }, + "decayData": { + "__class__": "nodes.ChildNode", + "description": "Description of nuclide decay.", + "name": "decayData", + "occurrence": "1", + "required": false + } + }, + "description": "Defines a lepton, including the electron, muon, tau, neutrinos and their anti-particles.", + "name": "lepton", + "required": false, + "rootNode": false +}, + +"baryons":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "baryon": { + "__class__": "nodes.ChildNode", + "description": "Defines a baryon (a composite particle made up of three quarks)", + "name": "baryon", + "occurrence": "1+", + "required": false + } + }, + "description": "Contains definitions of baryons such as the neutron and proton.", + "name": "baryons", + "required": false, + "rootNode": false +}, +"baryon":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "id": { + "__class__": "nodes.Attribute", + "default": null, + "description": "", + "name": "id", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "charge": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "charge", + "occurrence": "1", + "required": false + }, + "halflife": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "halflife", + "occurrence": "1", + "required": false + }, + "mass": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "mass", + "occurrence": "1", + "required": false + }, + "spin": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "spin", + "occurrence": "1", + "required": false + }, + "parity": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "parity", + "occurrence": "1", + "required": false + }, + "decayData": { + "__class__": "nodes.ChildNode", + "description": "Description of nuclide decay.", + "name": "decayData", + "occurrence": "1", + "required": false + } + }, + "description": "Defines a baryon (a composite particle made up of three quarks)", + "name": "baryon", + "required": false, + "rootNode": false +}, + +"chemicalElements":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "chemicalElement": { + "__class__": "nodes.ChildNode", + "description": "Defines a chemical element (i.e. a group of particles with the same proton number Z).", + "name": "chemicalElement", + "occurrence": "1+", + "required": false + } + }, + "description": "Contains definitions for chemical elements, which in turn contain a list of isomers, nuclides and nuclei", + "name": "chemicalElements", + "required": false, + "rootNode": false +}, +"chemicalElement":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "symbol": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Standard chemical symbol, e.g. `Au' or `C'", + "name": "symbol", + "required": true, + "type": "XMLName" + }, + "Z": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Proton number `Z'", + "name": "Z", + "required": true, + "type": "Integer32" + }, + "name": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Full name, e.g. `Gold' or `Carbon'", + "name": "name", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "atomic": { + "__class__": "nodes.ChildNode", + "description": "Atomic properties of a chemical element (assumed to be independent of neutron number N).", + "name": "atomic", + "occurrence": "1", + "required": false + }, + "isotopes": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "isotopes", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Defines a chemical element (i.e. a group of particles with the same proton number Z). ", + "A chemicalElement is not a particle and does not define a mass or decay properties. ", + "If a `natural abundance' particle is required, it shall be entered in the database as a \\element{nuclide} ", + "node with A = 0, as in `Fe0'." + ], + "name": "chemicalElement", + "required": false, + "rootNode": false +}, + +"atomic":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "configurations": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "configurations", + "occurrence": "1", + "required": false + } + }, + "description": "Stores atomic properties of a chemicalElement, including electron subshells and decay properties.", + "name": "atomic", + "required": false, + "rootNode": false +}, +"configurations":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "configuration": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "configuration", + "occurrence": "1+", + "required": true + } + }, + "description": "List of atomic electron configurations.", + "name": "configurations", + "required": false, + "rootNode": false +}, +"configuration":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "subshell": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Electron subshell indicator, e.g. `1s1/2'.", + "name": "subshell", + "required": true, + "type": "attributeValue" + }, + "electronNumber": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Effective number of electrons in the given subshell.", + "name": "electronNumber", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "bindingEnergy": { + "__class__": "nodes.ChildNode", + "description": "Electron binding energy.", + "name": "bindingEnergy", + "occurrence": "1", + "required": true + }, + "decayData": { + "__class__": "nodes.ChildNode", + "description": "Decay properties for electron vacancies in this subshell (i.e. atomic relaxation).", + "name": "decayData", + "occurrence": "1", + "required": false + } + }, + "description": "", + "name": "configuration", + "required": false, + "rootNode": false +}, +"bindingEnergy":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Binding energy. Recommended unit: `eV', or `keV'", + "name": "double", + "occurrence": "1+", + "required": false + } + }, + "description": "Binding energy for an atomic or nuclear sub-shell.", + "name": "bindingEnergy", + "required": false, + "rootNode": false +}, + +"isotopes":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "isotope": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "isotope", + "occurrence": "1+", + "required": true + } + }, + "description": "List of isotopes for a chemicalElement", + "name": "isotopes", + "required": false, + "rootNode": false +}, +"isotope":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "A": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Nucleon number `A'", + "name": "A", + "required": true, + "type": "Integer32" + }, + "symbol": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Chemical element symbol + nucleon number A, e.g. `Fe56'", + "name": "symbol", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "nuclides": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "nuclides", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Defines the total nucleon number `A', and contains a list of nuclides with the ", + "same number of protons (Z) and neutrons (A)." + ], + "name": "isotope", + "required": false, + "rootNode": false +}, + +"nuclides":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "nuclide": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "nuclide", + "occurrence": "1+", + "required": true + } + }, + "description": "List of `nuclide' nodes, including ground state and excited states", + "name": "nuclides", + "required": false, + "rootNode": false +}, +"nuclide":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "id": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["Nuclide id, of the form `Th232' (ground state) or `Th232\\_e4' (4th excited state)"], + "name": "id", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "charge": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "charge", + "occurrence": "1", + "required": false + }, + "mass": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "mass", + "occurrence": "1", + "required": false + }, + "spin": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "spin", + "occurrence": "1", + "required": false + }, + "parity": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "parity", + "occurrence": "1", + "required": false + }, + "nucleus": { + "__class__": "nodes.ChildNode", + "description": "Particle corresponding to this nuclide with all electrons removed.", + "name": "nucleus", + "occurrence": "1", + "required": false + }, + "decayData": { + "__class__": "nodes.ChildNode", + "description": "Description of nuclide decay.", + "name": "decayData", + "occurrence": "1", + "required": false + }, + "fissionFragmentData": { + "__class__": "nodes.ChildNode", + "description": "Description of products, delayed neutrons, etc. produced by spontaneous fission.", + "name": "fissionFragmentData", + "occurrence": "1", + "required": false + } + }, + "description": [ + "A nuclide is a particle consisting of a nucleus (in ground or excited state) ", + "plus a full complement of Z electrons." + ], + "name": "nuclide", + "required": false, + "rootNode": false +}, +"nucleus":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "id": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["nucleus id, of the form `th232' (ground state) or `th232\\_e4' (4th excited state)"], + "name": "id", + "required": true, + "type": "XMLName" + }, + "index": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Excited state index. `0' = ground state, `1' = 1st excited, etc.", + "name": "index", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": { + "charge": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "charge", + "occurrence": "1", + "required": false + }, + "energy": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "energy", + "occurrence": "1", + "required": false + }, + "halflife": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "halflife", + "occurrence": "1", + "required": false + }, + "spin": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "spin", + "occurrence": "1", + "required": false + }, + "parity": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "parity", + "occurrence": "1", + "required": false + }, + "decayData": { + "__class__": "nodes.ChildNode", + "description": "Description of nucleus decay.", + "name": "decayData", + "occurrence": "1", + "required": false + }, + "fissionFragmentData": { + "__class__": "nodes.ChildNode", + "description": "Description of products, delayed neutrons, etc. produced by spontaneous fission.", + "name": "fissionFragmentData", + "occurrence": "1", + "required": false + } + }, + "description": "Particle definition for a bare nucleus (no electrons).", + "name": "nucleus", + "required": false, + "rootNode": false +}, + +"unorthodoxes":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "nuclide": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "unorthodox", + "occurrence": "1+", + "required": true + } + }, + "description": "List of `unorthodox' particles, such as representative fission products.", + "name": "unorthodoxes", + "required": false, + "rootNode": false +}, +"unorthodox":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "id": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unorthodox particle id.", + "name": "id", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "charge": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "charge", + "occurrence": "1", + "required": false + }, + "mass": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "mass", + "occurrence": "1", + "required": false + } + }, + "description": [ + "An unorthodox particle is particle-like but often cannot be assigned specific particle properties like spin and parity. ", + "Such particles show up in thermal neutron scattering law files (describing molecules with bulk properties like porosity) ", + "and as representative fission products. They usually only contain a \\element{mass}, although some other properties may also be pertinent." + ], + "name": "unorthodox", + "required": false, + "rootNode": false +}, + +"mass":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Particle mass. Recommended units are `amu' or `MeV/c/c'.", + "name": "double", + "occurrence": "1", + "required": false + } + }, + "description": "Particle mass.", + "name": "mass", + "required": false, + "rootNode": false +}, +"spin":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": {}, + "bodyText": null, + "childUnique":"yesLabel", + "childNodes": { + "fraction": { + "__class__": "nodes.ChildNode", + "description": "Spin assignment. Recommended unit is `hbar'. Multiple `fraction' entries may be used to indicate uncertain spin assignments.", + "name": "fraction", + "occurrence": "1+", + "required": false + } + }, + "description": "Particle spin. Recommended unit is `hbar'.", + "name": "spin", + "required": false, + "rootNode": false +}, +"parity":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": {}, + "bodyText": null, + "childUnique":"yesLabel", + "childNodes": { + "integer": { + "__class__": "nodes.ChildNode", + "description": "Parity assignment (unitless). Multiple `integer' entries may be used to indicate uncertain parity assignment.", + "name": "integer", + "occurrence": "1+", + "required": false + } + }, + "description": "Particle parity (unitless).", + "name": "parity", + "required": false, + "rootNode": false +}, +"charge":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": {}, + "bodyText": null, + "childNodes": { + "integer": { + "__class__": "nodes.ChildNode", + "description": "Net charge. Recommended unit is the elementary charge `e'.", + "name": "integer", + "occurrence": "choice", + "required": false + }, + "fraction": { + "__class__": "nodes.ChildNode", + "description": "Fractional net charge. Recommended unit is the elementary charge `e'.", + "name": "fraction", + "occurrence": "choice", + "required": false + } + }, + "description": "Particle charge, may be integer or fraction.", + "name": "charge", + "required": false, + "rootNode": false +}, +"energy":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Excitation energy. Recommended unit: `eV', `MeV', etc.", + "name": "double", + "occurrence": "1+", + "required": false + } + }, + "description": "Excitation energy (for excited-state particles).", + "name": "energy", + "required": false, + "rootNode": false +}, +"halflife":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": {}, + "bodyText": null, + "childUnique":"yesLabel", + "childNodes": { + "string": { + "__class__": "nodes.ChildNode", + "description": "Mainly used for stable particles, i.e. halflife = `stable'.", + "name": "string", + "occurrence": "choice", + "required": false + }, + "double": { + "__class__": "nodes.ChildNode", + "description": "Numeric value of halflife. Recommended unit = `s'.", + "name": "double", + "occurrence": "choice", + "required": false + } + }, + "description": ["Choices for the the string element are `stable' or `unstable', otherwise a halflife is given in the double element"], + "name": "halflife", + "required": false, + "rootNode": false +}, + +"decayType": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "Within the decay data section, the \\attr{mode} attribute indicates the type of decay. This attribute can take from an enumerated set of values.", + "name": "decayType", + "allowedValues":["SF", "beta-", "beta+", "EC", "electroMagnetic", "IT", "n", "p", "d", "t", "alpha", "atomicRelaxation"]}, + +"decayData":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "decayModes": { + "__class__": "nodes.ChildNode", + "description": "List of decay modes.", + "name": "decayModes", + "occurrence": "1", + "required": false + }, + "averageEnergies": { + "__class__": "nodes.ChildNode", + "description": "List of average energies for each type of emitted particle.", + "name": "averageEnergies", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Unstable particles undergo decay, emitting other particles in the process. The \\element{decayData} node ", + "stores details about possible ways that a particle can decay. This node is designed to be flexible enough ", + "to describe decays with varying levels of detail. This flexibility is useful since some decays are ", + "very well known (including all the details of what particles and excited nucleus energy levels are involved), ", + "while other decays are more difficult to measure and may include a `continuum' portion ", + "in addition to discrete particle emission." + ], + "name": "decayData", + "required": false, + "rootNode": false +}, + +"decayModes":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "decayMode": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "decayMode", + "occurrence": "1+", + "required": true + } + }, + "description": "List of decay modes, each containing a probability and list of decay products.", + "name": "decayModes", + "required": false, + "rootNode": false +}, +"decayMode":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label for this decay mode.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "mode": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Type of decay, e.g. `electroMagnetic', `beta+', etc.", + "name": "mode", + "required": true, + "type": "decayType" + } + }, + "bodyText": null, + "childNodes": { + "probability": { + "__class__": "nodes.ChildNode", + "description": "Probability that this decay mode occurs. Probability of all `decayMode' nodes should sum to 1.0.", + "name": "probability", + "occurrence": "1", + "required": true + }, + "internalConversionCoefficients": { + "__class__": "nodes.ChildNode", + "description": "Proportional to the probability that the decay proceeds through internal conversion.", + "name": "internalConversionCoefficients", + "occurrence": "1", + "required": false + }, + "photonEmissionProbabilities": { + "__class__": "nodes.ChildNode", + "description": "Probability that photons are emitted as part of the decay.", + "name": "photonEmissionProbabilities", + "occurrence": "1", + "required": false + }, + "Q": { + "__class__": "nodes.ChildNode", + "description": "Decay Q-value.", + "name": "Q", + "occurrence": "1", + "required": false + }, + "decayPath": { + "__class__": "nodes.ChildNode", + "description": "Lists specific decay products including excited states where possible.", + "name": "decayPath", + "occurrence": "1", + "required": false + }, + "spectra": { + "__class__": "nodes.ChildNode", + "description": "Contains a list of outgoing energy spectra for various types of decay products.", + "name": "spectra", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Description of a single decay mode. Lists the type of decay, a probability, an optional decay Q-value, ", + "a `decay path' showing how the decay proceeds and optionally a list of spectra for different types of decay products." + ], + "name": "decayMode", + "required": false, + "rootNode": false +}, + +"probability":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Numeric value of the probability (unitless). Should be in the range (0, 1]", + "name": "double", + "occurrence": "1+", + "required": true + } + }, + "description": "Probability that a particular \\element{decayMode} occurs.", + "name": "probability", + "required": false, + "rootNode": false +}, + +"internalConversionCoefficients":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "shell": { + "__class__": "nodes.ChildNode", + "description": "Internal conversion coefficient for a single electron shell.", + "name": "shell", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Contains a list of coefficients corresponding to the probability that the decay proceeds by converting an ", + "electron from a particular electron shell." + ], + "name": "internalConversionCoefficients", + "required": false, + "rootNode": false +}, +"photonEmissionProbabilities":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "shell": { + "__class__": "nodes.ChildNode", + "description": "Photon emission probabilities for internal conversion in specified electron shell.", + "name": "shell", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Contains a list of probabilities that internal conversion for a particular electron shell will be ", + "accompanied by photon emission." + ], + "name": "photonEmissionProbabilities", + "required": false, + "rootNode": false +}, +"shell":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Label of the shell, e.g. `1s1/2'. This matches the Python regular expression `[0-9+][spdf][13579]+/2'.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Probability associated with this shell (e.g. internal conversion coefficient or pair-production coefficient).", + "name": "value", + "required": true, + "type": "Float64" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": " \\kern-1ex", + "description": "Internal conversion or pair production coefficient unit and is usually dimensionless.", + "name": "unit", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Defines the probability that a process like internal conversion or pair production occurs ", + "through a particular electron shell." + ], + "name": "shell", + "required": false, + "rootNode": false +}, + +"Q":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Numeric value of the decay Q-value, recommended unit `eV' or `MeV'.", + "name": "double", + "occurrence": "1+", + "required": true + } + }, + "description": "Q-value for this decay mode.", + "name": "Q", + "required": false, + "rootNode": false + +}, + +"decayPath":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "decay": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "decay", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Shows how a decay proceeds. It contains one or more \\element{decay} nodes, ", + "each representing one step in the decay. For example, the \\element{decayPath} node for the beta-decay of a light, ", + "neutron-rich nucleus could contain multiple \\element{decay} nodes, each representing a single beta-decay towards stability. ", + "\nIn general only using one \\element{decay} node per \\element{decayPath} is recommended, then looking up each of the ", + "resulting products in PoPs to determine whether and how they decay. However, the \\element{decayPath} is meant to ", + "also be general enough to handle data like the ENDF decay sub-library where the exact identity (including excitation energy) ", + "of each intermediate state may not be specified." + ], + "name": "decayPath", + "required": false, + "rootNode": false +}, +"decay":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "index": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Index, must be unique within the parent \\element{decayPath} node.", + "name": "index", + "required": true, + "type": "Integer32" + }, + "mode": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Type of decay, e.g. `electroMagnetic'.", + "name": "mode", + "required": false, + "type": "decayType" + }, + "complete": { + "__class__": "nodes.Attribute", + "default": "false", + "description": "Whether the decay scheme is considered complete by the evaluator.", + "name": "complete", + "required": false, + "type": "Boolean" + } + }, + "bodyText": null, + "childNodes": { + "products": { + "__class__": "nodes.ChildNode", + "description": "List of decay products.", + "name": "products", + "occurrence": "1", + "required": false + } + }, + "description": "Single step in a decay. Includes a decay type and a list of products.", + "name": "decay", + "required": false, + "rootNode": false +}, +"products":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "product": { + "__class__": "nodes.ChildNode", + "description": "Single decay product.", + "name": "product", + "occurrence": "1+", + "required": true + } + }, + "description": "List of decay products.", + "name": "products", + "required": false, + "rootNode": false +}, +"product":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique decay product label.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Decay product particle id.", + "name": "pid", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Single decay product.", + "name": "product", + "required": false, + "rootNode": false +}, + +"spectra":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "spectrum": { + "__class__": "nodes.ChildNode", + "description": "Spectrum for one type of outgoing particle.", + "name": "spectrum", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Used to store outgoing energy probability distributions for each type of emitted particle. ", + "The use of \\element{decayMode} elements is preferred where possible since that supports decays to ", + "specific final states, but the spectra node is still important for cases when specific ", + "decay paths are too complicated to measure." + ], + "name": "spectra", + "required": false, + "rootNode": false +}, +"spectrum":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label for this spectrum. Usually identical to the pid attribute value.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "id of the particle corresponding to this decay spectrum.", + "name": "pid", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "continuum": { + "__class__": "nodes.ChildNode", + "description": "Spectrum for continuum emission of particles.", + "name": "continuum", + "occurrence": "1", + "required": false + }, + "discrete": { + "__class__": "nodes.ChildNode", + "description": "List of particles emitted with a specific `discrete' energy.", + "name": "discrete", + "occurrence": "1+", + "required": false + } + }, + "description": [ + "Stores the outgoing spectrum for one type of emitted particle. The spectrum can be broken down into a sum ", + "of \\element{discrete} and \\element{continuum} nodes. The sum of all \\element{discrete} node intensities ", + "plus the integral of the \\element{continuum} node contribution should equal 1.0." + ], + "name": "spectrum", + "required": false, + "rootNode": false +}, +"continuum":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "Continuum energy spectrum stored as a 1-dimensional function.", + "name": "XYs1d", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Stores the smooth part of the emitted particle spectrum as a 1-dimensional function of outgoing particle energy. ", + "If no discrete emission is present, the continuum portion is a probability density function and should integrate to one. ", + "If discrete emissions are present, the continuum should integrate to (1 - sum of discrete intensities)." + ], + "name": "continuum", + "required": false, + "rootNode": false +}, +"discrete":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "type": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Type of transition for beta and electron capture. For example, `allowed', `first-forbidden', etc.", + "name": "type", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "discreteEnergy": { + "__class__": "nodes.ChildNode", + "description": "Emitted particle energy.", + "name": "energy", + "occurrence": "1", + "required": true + }, + "intensity": { + "__class__": "nodes.ChildNode", + "description": "Relative intensity of discrete radiation (usually normalised such that most intense branch = 1.0).", + "name": "intensity", + "occurrence": "1", + "required": true + }, + "internalConversionCoefficients": { + "__class__": "nodes.ChildNode", + "description": "Proportional to the probability that the decay proceeds through internal conversion.", + "name": "internalConversionCoefficients", + "occurrence": "1", + "required": false + }, + "internalPairFormationCoefficient": { + "__class__": "nodes.ChildNode", + "description": "Proportional to the probability that an electron/positron pair are formed as part of the decay.", + "name": "internalPairFormationCoefficient", + "occurrence": "1", + "required": false + }, + "photonEmissionProbabilities": { + "__class__": "nodes.ChildNode", + "description": "Probability that photons are emitted as part of the decay.", + "name": "photonEmissionProbabilities", + "occurrence": "1", + "required": false + } + }, + "description": "Stores a single discrete particle emission, including the energy of the emitted particle and the intensity of emission.", + "name": "discrete", + "required": false, + "rootNode": false +}, + +"discreteEnergy":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "", + "name": "value", + "required": true, + "type": "Float64" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "", + "name": "unit", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty on the intensity.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": "This is the energy of the discrete emitted particle.", + "name": "energy", + "required": false, + "rootNode": false +}, +"intensity":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "", + "name": "value", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty on the intensity.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": "Relative intensity of this decay branch (usually normalised so the most intense branch has intenisty = 1).", + "name": "intensity", + "required": false, + "rootNode": false +}, +"internalPairFormationCoefficient":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "", + "name": "value", + "required": true, + "type": "Float64" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": " \\kern-1ex", + "description": "Usually dimensionless", + "name": "unit", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Related to the probability of forming an electron/positron pair.", + "name": "internalPairFormationCoefficient", + "required": false, + "rootNode": false +}, + +"averageEnergies":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "averageEnergy": { + "__class__": "nodes.ChildNode", + "description": "Mean energy for one type of decay product.", + "name": "averageEnergy", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "For complex decays such as spontaneous fission, it is sometimes useful to store information about the ", + "average energy for each category of outgoing particle." + ], + "name": "averageEnergies", + "required": false, + "rootNode": false +}, +"averageEnergy":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of outgoing particle.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "value", + "required": true, + "type": "Float64" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Energy unit, e.g. `eV' or `MeV'.", + "name": "unit", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Stores the mean outgoing energy for one type of decay product, e.g. `n', `photon' or `e-'. ", + "Note that the type of product is identified by the `label' attribute, but in the future this may change to a `pid'." + ], + "name": "averageEnergy", + "required": false, + "rootNode": false +}, +"uncertainty":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "standard": { + "__class__": "nodes.ChildNode", + "description": "Stores a normally-distributed uncertainty.", + "name": "standard", + "occurrence": "1", + "required": false + }, + "logNormal": { + "__class__": "nodes.ChildNode", + "description": "Stores a log-normal-distributed uncertainty.", + "name": "logNormal", + "occurrence": "1", + "required": false + }, + "confidenceIntervals": { + "__class__": "nodes.ChildNode", + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "name": "confidenceIntervals", + "occurrence": "1", + "required": false + }, + "pdf": { + "__class__": "nodes.ChildNode", + "description": "Stores a probability distribution as a 1-dimensional function.", + "name": "pdf", + "occurrence": "1", + "required": false + } + }, + "description": "Stores the uncertainty for a scalar quantity, e.g. probability or mean energy.", + "name": "uncertainty", + "required": false, + "rootNode": false +}, +"standard":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Stores $\\sigma$ for the normal distribution.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Used to store the standard deviation of a standard Gaussian uncertainty distribution. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "standard", + "required": false, + "rootNode": false +}, +"logNormal":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Stores $\\sigma$ for the log-normal distribution.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Used to store the standard deviation $\\sigma$ of a log-normal uncertainty distribution, $X = \\exp{\\mu + \\sigma Z}$. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "logNormal", + "required": false, + "rootNode": false +}, +"confidenceIntervals":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "interval": { + "__class__": "nodes.ChildNode", + "description": "Stores one confidence interval.", + "name": "interval", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Stores a list of intervals along with the confidence that the `true value' lies within each interval. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "confidenceIntervals", + "required": false, + "rootNode": false +}, +"interval":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "confidence": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A value between 0 and 1, indicating how confident the evaluator is that the `true' value lies between mean - lower and mean + upper.", + "name": "confidence", + "required": true, + "type": "Float64" + }, + "lower": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value to subtract from the mean to obtain the lower limit for this interval.", + "name": "lower", + "required": true, + "type": "Float64" + }, + "upper": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value to add to the mean to obtain the upper limit for this interval.", + "name": "upper", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "name": "interval", + "required": false, + "rootNode": false +}, +"pdf":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as an XYs1d.", + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as a regions1d.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": "Stores an explicit probability distribution for the parent quantity.", + "name": "pdf", + "required": false, + "rootNode": false +} + +} diff --git a/standards/gnds-2.0/summary_processed.json b/standards/gnds-2.0/summary_processed.json new file mode 100644 index 000000000..4fc9b9f78 --- /dev/null +++ b/standards/gnds-2.0/summary_processed.json @@ -0,0 +1,241 @@ +{ + "__namespace__":"processed", + "multiGroup3d":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "gridded3d": { + "__class__": "nodes.ChildNode", + "description": "Stores the multi-group transfer array with the first axis being the projectile energy, the second axis being the outgoing particle's energy and the thirds axis the Legendre order.", + "name": "gridded3d", + "occurrence": "1", + "required":true + } + }, + "description": "A multi-group transfer array.", + "name": "multiGroup3d", + "required": false, + "rootNode": false + }, + "angularEnergyMC":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the element associated with these data.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame in which the product data are defined.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "angular": { + "__class__": "nodes.ChildNode", + "description": "The outgoing particle $\\mu$ distribution $P(\\mu|E)$ give the projectile energy using a \\element{XYs2d} or \\element{regions2d} is a list of \\element{xs\\_pdf\\_cdf1d} for its function1d's.", + "name": "angular", + "occurrence": "1", + "required": true + }, + "angularEnergy": { + "__class__": "nodes.ChildNode", + "description": [ + "The outgoing particle energy distribution $P(E'|E,\\mu)$ give the projectile energy and outgoing particle $\\mu$ using a \\element{XYs3d}", + "or \\element{regions3d} with a list of \\element{XYs2d} for its function2d's. Each \\element{XYs2d} is a list \\element{xs\\_pdf\\_cdf1d} for its function1d's." + ], + "name": "angularEnergy", + "occurrence": "1", + "required": true + } + }, + "description": [ + "This distribution is processed for Monte Carlo transport. The outgoing particle distribution $P(\\mu,E'|E)$ is the projectile energy E", + "stored as $P(\\mu|E) \\times P(E'|E,\\mu)$. Each function1d must be a \\element{xs\\_pdf\\_cdf1d} node." + ], + "name": "angularEnergyMC", + "required": false, + "rootNode": false + }, + "energyAngularMC":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the element associated with these data.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "energy": { + "__class__": "nodes.ChildNode", + "description": "The outgoing particle $E'$ distribution $P(E'|E)$ give the projectile energy using a \\element{XYs2d} or \\element{regions2d} with a list of \\element{xs\\_pdf\\_cdf1d} for its function1d's.", + "name": "energy", + "occurrence": "1", + "required": true + }, + "energyAngular": { + "__class__": "nodes.ChildNode", + "description": [ + "The outgoing particle $\\mu$ distribution $P(\\mu|E,E')$ give the projectile energy and outgoing particle $E'$ using a \\element{XYs3d}", + "or \\element{regions3d} with a list of \\element{XYs2d} for its function2d's. Each \\element{XYs2d} as a list \\element{xs\\_pdf\\_cdf1d} for its function1d's." + ], + "name": "energyAngular", + "occurrence": "1", + "required": true + } + }, + "description": [ + "This distribution is processed for Monte Carlo transport. The outgoing particle distribution $P(\\mu,E'|E)$ given the projectile energy E", + "stored as $P(E'|E) \\times P(\\mu|E,E')$. Each function1d must be a \\element{xs\\_pdf\\_cdf1d} node." + ], + "name": "energyAngularMC", + "required": false, + "rootNode": false + }, + "averageProductEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "A function1d representing the lab-frame, average energy for an outgoing particle integrated over outgoing $\\mu$ and energy $E'$.", + "name": "XYs1d", + "occurrence": "1", + "required": true + }, + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "gridded1d", + "occurrence": "1", + "required": false + } + }, + "description": "A component function1d representing the lab-frame, average energy for an outgoing particle integrated over outgoing $\\mu$ and energy $E'$. This is needed to, for example, calculate KERMA.", + "name": "averageProductEnergy", + "required": false, + "rootNode": false + }, + "averageProductMomentum":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "gridded1d", + "occurrence": "1", + "required": false + } + }, + "description": "A component function1d representing the lab-frame, average momentum for an outgoing particle integrated over outgoing $\\mu$ and energy $E'$.", + "name": "averageProductMomentum", + "required": false, + "rootNode": false + }, + "availableMomentum":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "gridded1d", + "occurrence": "1", + "required": false + } + }, + "description": "For a reaction this is the total available momentum for all outgoing particle along the direction of the projectile. This is the momentum of the projectile.", + "name": "availableMomentum", + "required": false, + "rootNode": false + }, + "availableEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "gridded1d", + "occurrence": "1", + "required": false + } + }, + "description": "For a reaction this is the total available energy for all outgoing particle. It is calculated as the energy of the projectile plus the final Q-value.", + "name": "availableEnergy", + "required": false, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_resonance.json b/standards/gnds-2.0/summary_resonance.json new file mode 100644 index 000000000..187386858 --- /dev/null +++ b/standards/gnds-2.0/summary_resonance.json @@ -0,0 +1,1368 @@ +{ + "__namespace__":"resonances", + "resonances":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "href", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "scatteringRadius": { + "__class__": "nodes.ChildNode", + "description": "The scattering radius to be used by default.", + "name": "scatteringRadius", + "occurrence": "1", + "required": true + }, + "hardSphereRadius": { + "__class__": "nodes.ChildNode", + "description": "The channel radius to be used for calculating the phase shift.", + "name": "hardSphereRadius", + "occurrence": "1", + "required": false + }, + "resolved": { + "__class__": "nodes.ChildNode", + "description": [ "The resolved resonance parameters. The use of more than one ", + "\\texttt{resolved} node is deprecated. It is allowed for ", + "historic reasons but should not be used for new evaluations." ], + "name": "resolved", + "occurrence": "0+", + "required": false + }, + "unresolved": { + "__class__": "nodes.ChildNode", + "description": "The unresolved resonance parameters.", + "name": "unresolved", + "occurrence": "0+", + "required": false + } + }, + "description": [ "The \\texttt{resonances} node contains the scattering radius for the ", + "potential scattering, along with resolved and/or unresolved resonance ", + "parameter data (if they are given)." ], + "name": "resonances", + "required": false, + "rootNode": false + }, + "scatteringRadius":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique": "yesLabelOmitted", + "childNodes": { + "constant1d": { + "__class__": "nodes.ChildNode", + "description": "The scattering radius is a constant value.", + "name": "constant1d", + "occurrence": "choice", + "required": false + }, + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": [ "The scattering radius is an energy dependent function with ", + "a single interpolation range." ], + "name": "XYs1d", + "occurrence": "choice", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": [ "The scattering radius is an energy dependent function with ", + "multiple interpolation range." ], + "name": "regions1d", + "occurrence": "choice", + "required": false + } + }, + "description": [ "The \\texttt{scatteringRadius} node provides the scattering radius ", + "for potential scattering. This scattering radius is also to be used ", + "as the default channel radius for all channels in the resolved and ", + "unresolved resonance range when calculating the penetrability $P$, ", + "the shift function $S$ and the phase shift $\\phi$.", + " ", + "The scattering radius should be given in length units (the ", + "recommended unit is fm) and can be given as either a constant value ", + "or an energy dependent function of the same style. The use of an ", + "energy dependent function for the scattering radius is deprecated.", + " ", + "For a given evaluation label there can only be one \\element{XYs1d}, \\element{regions1d} or \\element{constant1d}"], + "name": "scatteringRadius", + "required": true, + "rootNode": false + }, + "hardSphereRadius":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "constant1d": { + "__class__": "nodes.ChildNode", + "description": "The hard-sphere radius.", + "name": "constant1d", + "occurrence": "1", + "required": true + } + }, + "description": [ "The \\texttt{hardSphereRadius} node provides the channel radius ", + "to be used in the calculation of the phase shift instead of the ", + "radius given in a \\texttt{scatteringRadius} node.", + " ", + "The \\texttt{hardSphereRadius} is deprecated and should not be used in new", + "evaluations. Evaluators wishing to modify the phase shift should consider using", + "a background R-Matrix term instead."], + "name": "hardSphereRadius", + "required": false, + "rootNode": false + }, + "externalRMatrix":{ + "__class__":"nodes.Node", + "abstractNode": null, + "attributes": { + "type": { + "__class__": "nodes.Attribute", + "default": "Froehner", + "description": [ "The statistical approximation for the resonances external to ", + "the observed R-matrix resonances using one of the following ", + "formalisms: \\texttt{Froehner}, \\texttt{SAMMY}. " ], + "name": "type", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childUnique": "yesLabel", + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Each of the terms in the Froehner or SAMMY formalisms", + "name": "double", + "occurrence": "1+", + "required": true + } + }, + "description": [ "The statistical approximation for the resonances external to ", + "the observed R-matrix resonances using one of the following ", + "formalisms: \\texttt{Froehner}, \\texttt{SAMMY}. ", + "For the Froehner formalism, a \\element{double} should be provided for", + "each of the following terms, with the \\attr{label} attribute specified below:", + "\\begin{description}[font=\\ttfamily,labelindent=1cm] ", + " \\item[averageRadiationWidth:] Average Radiation Width. Recommended ", + "unit: `eV', `MeV', etc.", + " \\item[constantExternalR:] Constant term for the external ", + "contribution to the R-matrix. Recommended unit: unitless", + " \\item[poleStrength:] Pole strength as defined by Fr\\\"ohner. Recommended ", + " unit: unitless", + " \\item[singularityEnergyBelow:] Energy below the energy range of observed ", + "resonances at which the Froehner and SAMMY R-external equations ", + " produce infinite terms. Recommended unit: `eV', `MeV', etc.", + " \\item[singularityEnergyAbove:] Energy above the energy range of observed ", + "resonances at which the Froehner and SAMMY R-external equations ", + " produce infinite terms. Recommended unit: `eV', `MeV', etc.", + "\\end{description}", + "For the SAMMY formalism, a \\element{double} should be provided for", + "each of the following terms, with the \\attr{label} attribute specified below:", + "\\begin{description}[font=\\ttfamily,labelindent=1cm] ", + " \\item[constantExternalR:] Constant term for the external ", + "contribution to the R-matrix. Recommended unit: unitless", + " \\item[linearExternalR:] Linear term for the external ", + "contribution to the R-matrix. Recommended unit: `eV$^{-1}$'", + " \\item[quadraticExternalR:] Quadratic term for the external ", + "contribution to the R-matrix. Recommended unit: `eV$^{-2}$'", + " \\item[constantLogarithmicCoefficient:] Constant multiplicative coefficient ", + "on the logarithmic term in the SAMMY equation. Recommended ", + " unit: unitless", + " \\item[linearLogarithmicCoefficient:] Constant multiplicative coefficient ", + "on the logarithmic term in the SAMMY equation. Recommended ", + " unit: `eV$^{-1}$'", + " \\item[singularityEnergyBelow:] Energy below the energy range of observed ", + "resonances at which the Froehner and SAMMY R-external equations ", + " produce infinite terms. Recommended unit: `eV', `MeV', etc.", + " \\item[singularityEnergyAbove:] Energy above the energy range of observed ", + "resonances at which the Froehner and SAMMY R-external equations ", + " produce infinite terms. Recommended unit: `eV', `MeV', etc.", + "\\end{description}" ], + "name": "externalRMatrix", + "required": false, + "rootNode": false + }, + "resolved":{ + "__class__": "nodes.Node", + "abstractNode": null, + "childUnique" : "yesLabel", + "attributes": { + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The lower energy limit of the resolved resonance range.", + "name": "domainMin", + "required": true, + "type": "Float64" + }, + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The upper energy limit of the resolved resonance range.", + "name": "domainMax", + "required": true, + "type": "Float64" + }, + "domainUnit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The energy unit used for the lower and upper energy limits.", + "name": "domainUnit", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "RMatrix": { + "__class__": "nodes.ChildNode", + "description": ["The resonance parameters are given using the R-matrix formalism.", + "More than one is only allowed if they are different in the style label"], + "name": "RMatrix", + "occurrence": "choice", + "required": false + }, + "BreitWigner": { + "__class__": "nodes.ChildNode", + "description": [ "The resonance parameters are given using the deprecated ", + "ENDF Breit-Wigner formalism.", + "More than one is only allowed if they are different in the style label"], + "name": "BreitWigner", + "occurrence": "choice", + "required": false + }, + "energyIntervals": { + "__class__": "nodes.ChildNode", + "description": [ "Resonance parameters are broken up into several sections, with interference", + "between sections ignored. This option is deprecated but appears in older evaluations." + ], + "name": "energyIntervals", + "occurrence": "choice", + "required": false + } + }, + "description": [ "The \\texttt{resolved} node provides a resolved resonance region ", + "over a given energy range. The energy domain of this resolved ", + "resonance region should not overlap with any of the other resonance ", + "regions defined in the \\texttt{resonances} node. ", + " ", + "The \\texttt{resolved} node defines the following formalisms for ", + "the resonance reconstruction: ", + "\\begin{description}[font=\\ttfamily,labelindent=1cm] ", + " \\item[RMatrix:] the R-matrix formalism using the single-level ", + " Breit-Wigner (SLBW), the multi-level Breit-Wigner ", + " (MLBW), the Reich-Moore approximation or the full ", + " R-matrix formalism. ", + " \\item[BreitWigner:] the deprecated ENDF Breit-Wigner formalisms ", + " (LRF=1 and 2). ", + "\\end{description}" ], + "name": "resolved", + "required": false, + "rootNode": false + }, + + "energyIntervals":{ + "__class__": "nodes.Node", + "abstractNode": null, + "childUnique" : "yesLabel", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Identifier label. Must be unique within the parent \\element{resolved} node.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "energyInterval": { + "__class__": "nodes.ChildNode", + "description": "A single energy interval including domain limits and resonance parameterisation.", + "name": "energyInterval", + "occurrence": "2+", + "required": true + } + }, + "description": [ + "Used to break the resolved resonance region into multiple independant sub-regions.", + "This was done in some older evaluations (notably the ENDF-VII.1 n + $^{239}$Pu evaluation)", + "to reduce the computational load of summing over all resonances when reconstructing the cross section.", + "This option is deprecated and should not be used for new evaluations." + ], + "name": "energyIntervals", + "required": false, + "rootNode": false + }, + "energyInterval":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "index": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Index of this \\element{energyInterval} within the parent \\element{energyIntervals}.", + "name": "index", + "required": true, + "type": "Integer32" + }, + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The lower energy limit of the resolved resonance range.", + "name": "domainMin", + "required": true, + "type": "Float64" + }, + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The upper energy limit of the resolved resonance range.", + "name": "domainMax", + "required": true, + "type": "Float64" + }, + "domainUnit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The energy unit used for the lower and upper energy limits.", + "name": "domainUnit", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "RMatrix": { + "__class__": "nodes.ChildNode", + "description": "The resonance parameters in this interval are given using the R-matrix formalism.", + "name": "RMatrix", + "occurrence": "choice", + "required": false + }, + "BreitWigner": { + "__class__": "nodes.ChildNode", + "description": [ "The resonance parameters in this interval are given using the deprecated ", + "ENDF Breit-Wigner formalism."], + "name": "BreitWigner", + "occurrence": "choice", + "required": false + } + }, + "description": "A single energy interval, including domain limits and a resonance parameterisation.", + "name": "energyInterval", + "required": false, + "rootNode": false + }, + + "boundaryCondition":{ + "__class__": "nodes.EnumeratedTypeNode", + "description": [ "Allowed values for the \\attr{boundaryCondition} attribute.", + "The R-matrix formalism requires a choice in the boundary condition ", + "used in the calculation of the scattering matrix. This boundary condition ", + "is used in the term $S - B + iP$ for each channel in each spin group (in ", + "which $S$ is the shift function, $B$ is the boundary condition and $P$ is ", + "the penetrability). The following options for the boundary condition are ", + "currently defined: ", + "\\begin{description}[font=\\ttfamily,labelindent=1cm] ", + " \\item[EliminateShiftFunction]: the boundary condition cancels out ", + " the shift factor ($S - B = 0$) so that the shift factor ", + " never has to be calculated. ", + " \\item[NegativeOrbitalMomentum]: the boundary condition is set to be ", + " equal to the minus the orbital momentum $L$.", + " \\item[Brune]: the boundary condition follows the Brune parametrisation.", + " \\item[Given]: the boundary condition is given for each channel.", + "\\end{description}", + " ", + "When the boundary condition option is \\texttt{Brune}, the resonance energies ", + "and widths given will be the Brune parameters, i.e. not the regular energies and widths ", + "for the traditional R-matrix defined by Lane and Thomas but the transformed ones defined by ", + "the Barker transform. Physical observables such as cross sections can be calculated from ", + "the Brune parameters using the level matrix, or by converting the parameters back to the ", + "the traditional R-matrix.", + " ", + "When the \\texttt{Given} option is selected, boundary condition values ", + "must be given for all channels, either by providing a global default value on ", + "the \\element{RMatrix} node or by providing a value for each individual ", + "resonance reaction or channel. The \\texttt{boundaryConditionValue} can also be used ", + "to override a \\texttt{NegativeOrbitalMomentum} boundary condition for specific resonance reactions, ", + "but cannot be used when the \\texttt{Brune} or \\texttt{EliminateShiftFunction} option is chosen." ], + "name": "boundaryCondition", + "allowedValues":["EliminateShiftFunction", "NegativeOrbitalMomentum", "Brune", "Given"] + }, + "RMatrix":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": true, + "type": "XMLName" + }, + "approximation": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The approximation to the R-matrix resonance formalism to be ", + "used for the resonance reconstruction (one of ", + "\\texttt{SingleLevelBreitWigner}, ", + "\\texttt{MultiLevelBreitWigner}, \\texttt{ReichMoore} or ", + "\\texttt{FullRMatrix})." ], + "name": "approximation", + "required": true, + "type": "XMLName" + }, + "boundaryCondition": { + "__class__": "nodes.Attribute", + "default": "EliminateShiftFunction", + "description": [ "The boundary condition option to be used." ], + "name": "boundaryCondition", + "required": false, + "type": "boundaryCondition" + }, + "boundaryConditionValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "A global default value of the boundary condition $B$ in $L = S - B + iP$ ", + "when the boundary condition option selected on the RMatrix node is \\attrval{Given}. ", + "This value can be overridden in the \\element{resonanceReaction} or \\element{channel} ", + "nodes." ], + "name": "boundaryConditionValue", + "required": false, + "type": "Float64" + }, + "calculateChannelRadius": { + "__class__": "nodes.Attribute", + "default": "false", + "description": [ "An optional flag to indicate whether or not the channel ", + "radius should be calculated for the calculation of the ", + "penetrability $P$ and shift function $S$." ], + "name": "calculateChannelRadius", + "required": false, + "type": "Boolean" + }, + "calculatePenetrability": { + "__class__": "nodes.Attribute", + "default": true, + "description": [ "A flag to indicate whether or not the penetrability should be ", + "calculated. If false, the penetrability is assumed to be 1." ], + "name": "calculatePenetrability", + "required": false, + "type": "Boolean" + }, + "useForSelfShieldingOnly": { + "__class__": "nodes.Attribute", + "default": false, + "description": [ "Flag indicating that resonance parameters are only meant for use in", + "computing self-shielding, not for calculating the cross section." ], + "name": "useForSelfShieldingOnly", + "required": false, + "type": "Boolean" + }, + "supportsAngularReconstruction": { + "__class__": "nodes.Attribute", + "default": "false", + "description": [ "A flag to indicate whether or not the resonance parameters ", + "may be used to compute angular distributions for the reactions." ], + "name": "supportsAngularReconstruction", + "required": false, + "type": "Boolean" + } + }, + "bodyText": null, + "childNodes": { + "PoPs": { + "__class__": "nodes.ChildNode", + "description": [ "Particle database to be used for the resonance reconstruction. ", + "This element only needs to be given if mass or spin values ", + "different from the particle database used in the parent ", + "\\texttt{reactionSuite} are to be used in the calculations. ", + "The use of this element is deprecated." ], + "name": "PoPs", + "occurrence": "1", + "required": false + }, + "resonanceReactions": { + "__class__": "nodes.ChildNode", + "description": "The reactions for which resonance parameters will be provided.", + "name": "resonanceReactions", + "occurrence": "1", + "required": true + }, + "spinGroups": { + "__class__": "nodes.ChildNode", + "description": "The spin groups with resonance parameters.", + "name": "spinGroups", + "occurrence": "1", + "required": true + } + }, + "description": [ "The \\texttt{RMatrix} node is used to specify resonance parameters using ", + "the R-matrix formalism, which can be given in multiple approximations. ", + "The following approximations for the resonance reconstruction using the ", + "R-matrix formalism are currently defined: ", + "\\begin{description}[font=\\ttfamily,labelindent=1cm] ", + " \\item[SingleLevelBreitWigner]: the Single-level Breit-Wigner approximation", + " \\item[MultiLevelBreitWigner]: the Multi-level Breit-Wigner approximation", + " \\item[ReichMoore]: the Reich-Moore approximation", + " \\item[FullRMatrix]: full R-matrix formalism", + "\\end{description} " ], + "name": "RMatrix", + "required": false, + "rootNode": false + }, + "resonanceReactions":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "resonanceReaction": { + "__class__": "nodes.ChildNode", + "description": "A single reaction for which resonances are specified.", + "name": "resonanceReaction", + "occurrence": "1+", + "required": true + } + }, + "description": [ "The \\texttt{resonanceReactions} node provides data on all reactions ", + "for which resonance data is provided. Each reaction that is used in ", + "the description of the resonance parameters must be described here." ], + "name": "resonanceReactions", + "required": true, + "rootNode": false + }, + "resonanceReaction":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": true, + "type": "XMLName" + }, + "ejectile": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "A string identifying the ejectile of the reaction (e.g. n). ", + "This attribute is required because the sign on the channel spin ", + "depends on which outgoing particle is the ejectile, and which ", + "the residual." ], + "name": "ejectile", + "required": true, + "type": "XMLName" + }, + "boundaryConditionValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "A value of the boundary condition $B$ in $L = S - B + iP$ to be used for every channel ", + "that points to this resonance reaction. This value overrides the ", + "boundary condition option and/or value given in the \\element{RMatrix} node. This attribute ", + "cannot be used if the boundary condition option is set to \\texttt{Brune} or", + "\\texttt{EliminateShiftFunction} on the \\element{RMatrix} node.", + "The boundary condition value given here can be overriden in a \\texttt{channel} node ", + "that points to this resonance reaction." ], + "name": "boundaryConditionValue", + "required": false, + "type": "Float64" + }, + "eliminated": { + "__class__": "nodes.Attribute", + "default": false, + "description": [ "A flag to indicate whether or not a reaction is eliminated. ", + "This is used for the Reich-Moore approximation for the neutron ", + "radiative capture reaction. At most one reaction can be treated ", + "as eliminated." ], + "name": "eliminated", + "required": false, + "type": "Boolean" + } + }, + "bodyText": null, + "childNodes": { + "Q": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the Q value of the reaction given ", + "in the \\texttt{reaction} node." ], + "name": "Q", + "occurrence": "1", + "required": false + }, + "scatteringRadius": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the scattering radius for this ", + "reaction." ], + "name": "scatteringRadius", + "occurrence": "1", + "required": false + }, + "hardSphereRadius": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the channel radius used in the ", + "calculation of the phase shift $\\phi$ for this reaction." ], + "name": "hardSphereRadius", + "occurrence": "1", + "required": false + }, + "link": { + "__class__": "nodes.ChildNode", + "description": "A link to the corresponding \\texttt{reaction} node.", + "name": "link", + "occurrence": "1", + "required": true + } + }, + "description": [ "The \\texttt{resonanceReaction} node gives information on a single ", + "reaction for which resonances will be given. It contains a link ", + "to the corresponding \\texttt{reaction} node. It also defines some ", + "additional information for use when reconstructing cross sections. ", + "This includes override values for the channel radii to be used for ", + "the calculation of the penetrability $P$, the shift function $S$ ", + "and the phase shift $\\phi$ and whether or not the reaction is ", + "eliminated (as would be the case for neutron capture in the ", + "Reich-Moore approximation)." ], + "name": "resonanceReaction", + "required": true, + "rootNode": false + }, + "spinGroups":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "spinGroup": { + "__class__": "nodes.ChildNode", + "description": [ "The resolved resonance data for a given value of the total ", + "angular momentum and associated parity $J^\\pi$ as well as ", + "the contributing channels." ], + "name": "spinGroup", + "occurrence": "1+", + "required": true + } + }, + "description": [ "The \\texttt{spinGroups} node provides data on all spin groups for which ", + "resonance data is provided." ], + "name": "spinGroups", + "required": true, + "rootNode": false + }, + "spinGroup":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A label string identifying the spin group.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "spin": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The value of the total angular momentum $J$ for the spin ", + "group in units of hbar, given as a fraction, e.g. \\texttt{0}, ", + "\\texttt{1/2}, \\texttt{1}, \\texttt{3/2}, etc." ], + "name": "spin", + "required": true, + "type": "Fraction32" + }, + "parity": { + "__class__": "nodes.Attribute", + "default": 1, + "description": "The parity for the spin group, either \\texttt{1} or \\texttt{-1}.", + "name": "parity", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": { + "channels": { + "__class__": "nodes.ChildNode", + "description": "The channels that are available in this spin group.", + "name": "channels", + "occurrence": "1", + "required": true + }, + "resonanceParameters": { + "__class__": "nodes.ChildNode", + "description": "The resonance parameter table for this spin group.", + "name": "resonanceParameters", + "occurrence": "1", + "required": true + } + }, + "description": [ "The \\texttt{spinGroup} node contains the resolved resonance data for ", + "a given value of the total angular momentum and associated parity ", + "$J^\\pi$." ], + "name": "spinGroup", + "required": true, + "rootNode": false + }, + "channels":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "channel": { + "__class__": "nodes.ChildNode", + "description": [ "A node used to identify the channel and the resonance reaction ", + "to which the channel contributes as well as the override values ", + "to be used for channel related data." ], + "name": "channel", + "occurrence": "1+", + "required": true + } + }, + "description": [ "The \\texttt{channels} section provides data on all reaction channels ", + "for which resonance data is provided in the current spin group. If no ", + "resonance parameters are given (i.e. the ", + "\\texttt{resonanceParameters} node contains an empty table), the ", + "contribution of the potential scattering is still present in the elastic ", + "channel. In this case, only the elastic channel must be specified in the ", + "\\texttt{channels} node." ], + "name": "channels", + "required": false, + "rootNode": false + }, + "channel":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique string identifying the channel in the spin group.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "resonanceReaction": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The label of the resonance reaction (as defined in the ", + "\\texttt{resonanceReaction} nodes) that the channel contributes to." ], + "name": "resonanceReaction", + "required": true, + "type": "bodyText" + }, + "L": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The value of the orbital momentum quantum number $\\ell$ in units of hbar.", + "name": "L", + "required": true, + "type": "Integer32" + }, + "channelSpin": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The value of the channel spin $s$ in units of hbar, given as a ", + "fraction, e.g. \\texttt{0}, \\texttt{1/2}, ", + "\\texttt{1}, \\texttt{3/2}, etc.." ], + "name": "channelSpin", + "required": true, + "type": "Fraction32" + }, + "boundaryConditionValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "A value of the boundary condition $B$ in $L = S - B + iP$ to be used for this channel. ", + "This value overrides the boundary condition option and/or value given in the \\element{RMatrix} node ", + "or the boundary condition value in the \\element{resonanceReaction} node. This attribute ", + "cannot be used if the boundary condition option is set to \\texttt{Brune} or", + "\\texttt{EliminateShiftFunction} on the \\element{RMatrix} node." ], + "name": "boundaryConditionValue", + "required": false, + "type": "Float64" + }, + "columnIndex": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The index of the column of the table in the ", + "\\texttt{resonanceParameters} that contains the resonance widths ", + "for this channel." ], + "name": "columnIndex", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": { + "externalRMatrix": { + "__class__": "nodes.ChildNode", + "description": [ "An optional external R-matrix element that needs to be added to ", + "the Reich-Moore R matrix." ], + "name": "externalRMatrix", + "occurrence": "1", + "required": false + }, + "scatteringRadius": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the scattering radius for this ", + "channel in the current spin group." ], + "name": "scatteringRadius", + "occurrence": "1", + "required": false + }, + "hardSphereRadius": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the channel radius used in the ", + "calculation of the phase shift $\\phi$ for this channel ", + "in the current spin group." ], + "name": "hardSphereRadius", + "occurrence": "1", + "required": false + } + }, + "description": [ "The \\element{channel} node identifies the reaction to which the channel ", + "contributes and can be used to provide channel dependendent override values ", + "for the \\texttt{scatteringRadius} and \\texttt{hardSphereRadius} nodes.", + " ", + "The \\texttt{channel} node can also be used to set a boundary condition ", + "value. This boundary condition value will then override any previously ", + "defined value (defined on the \\element{RMatrix} or \\element{resonanceReaction} ", + "node) and will even override the \\texttt{boundaryCondition} option.", + " ", + "For example: the \\texttt{boundaryCondition} option can be set to ", + "\\texttt{NegativeOrbitalMomentum} which means that the boundary condition ", + "value is set to be equal to minus l for each channel. Setting a ", + "\\texttt{boundaryConditionValue} on a given channel overrides that option." ], + "name": "channel", + "required": false, + "rootNode": false + }, + "resonanceParameters":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "table": { + "__class__": "nodes.ChildNode", + "description": "A table of resonance widths.", + "name": "table", + "occurrence": "1", + "required": true + } + }, + "description": [ "The \\texttt{resonanceParameters} node provides a table of resonance ", + "parameters for the current spin group. The number of columns of the ", + "table is equal to the number of channels that have at least one non ", + "zero width in the current spin group plus one column for the energy ", + "values (column index 0). The number of rows in the table is equal to ", + "the number of resonances that are defined for this spin group. ", + "The column indices used in this table must be given in the ", + "corresponding \\texttt{channel} node in the \\texttt{channels} node of ", + "the current spin group.", + " ", + "The table may be empty to indicate that the spin group only contributes ", + "to potential scattering.", + " ", + "The \\texttt{BreitWigner} node also has a \\texttt{resonanceParameters} ", + "but the structure of the table is different." ], + "name": "resonanceParameters", + "required": true, + "rootNode": false + }, + "BreitWigner":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": true, + "type": "XMLName" + }, + "approximation": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The approximation to the R-matrix resonance formalism to be ", + "used for the resonance reconstruction (either ", + "\\texttt{SingleLevel} or \\texttt{MultiLevel})." ], + "name": "approximation", + "required": true, + "type": "XMLName" + }, + "calculateChannelRadius": { + "__class__": "nodes.Attribute", + "default": "false", + "description": [ "An optional flag to indicate whether or not the channel ", + "radius should be calculated for the calculation of the ", + "penetrability $P$ and shift function $S$." ], + "name": "calculateChannelRadius", + "required": false, + "type": "Boolean" + }, + "useForSelfShieldingOnly": { + "__class__": "nodes.Attribute", + "default": "false", + "description": [ "An optional flag to indicate that resonance parameters are", + "only intended for self-shielding, not for reconstructing a cross section." ], + "name": "useForSelfShieldingOnly", + "required": false, + "type": "Boolean" + } + }, + "bodyText": null, + "childNodes": { + "PoPs": { + "__class__": "nodes.ChildNode", + "description": [ "Particle database to be used for the resonance reconstruction. ", + "This element only needs to be given if mass or spin values ", + "different from the particle database used in the parent ", + "\\texttt{reactionSuite} are to be used in the calculations. ", + "The use of this element is deprecated." ], + "name": "PoPs", + "occurrence": "1", + "required": false + }, + "scatteringRadius": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the scattering radius for the ", + "resolved resonance region." ], + "name": "scatteringRadius", + "occurrence": "1", + "required": false + }, + "hardSphereRadius": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the channel radius used in the ", + "calculation of the phase shift $\\phi$ for the resolved ", + "resonance region." ], + "name": "hardSphereRadius", + "occurrence": "1", + "required": false + }, + "resonanceParameters": { + "__class__": "nodes.ChildNode", + "description": "The resonance parameter table.", + "name": "resonanceParameters", + "occurrence": "1", + "required": false + } + }, + "description": [ "The \\texttt{BreitWigner} node is used to specify the resonance ", + "parameters in the Single-Level or Multi-Level Breit-Wigner approximation. ", + "The use of this element is deprecated in favour of using an ", + "\\texttt{RMatrix} node with the appropriate approximation selected." ], + "name": "BreitWigner", + "required": false, + "rootNode": false + }, + "unresolved":{ + "__class__": "nodes.Node", + "abstractNode": null, + "childUnique" : "yesLabel", + "attributes": { + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The lower energy limit of the resolved resonance range.", + "name": "domainMin", + "required": true, + "type": "Float64" + }, + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The upper energy limit of the resolved resonance range.", + "name": "domainMax", + "required": true, + "type": "Float64" + }, + "domainUnit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The energy unit used for the lower and upper energy limits.", + "name": "domainUnit", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "tabulatedWidths": { + "__class__": "nodes.ChildNode", + "description": ["The unresolved resonance parameters.", + " ", + "Only one instance per evaluation label is allowed."], + "name": "tabulatedWidths", + "occurrence": "choice", + "required": false + } + }, + "description": [ "The \\texttt{unresolved} node provides an unresolved resonance region ", + "over a given energy range. The energy domain of this unresolved ", + "resonance region should not overlap with any of the other resonance ", + "regions defined in the \\texttt{resonances} node." ], + "name": "unresolved", + "required": false, + "rootNode": false + }, + "tabulatedWidths":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": true, + "type": "XMLName" + }, + "approximation": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The approximation to the R-matrix resonance formalism ", + "for resonance reconstruction (currently only ", + "\\attrval{SingleLevelBreitWigner} is supported by ENDF-6 and hence GNDS)." ], + "name": "approximation", + "required": true, + "type": "XMLName" + }, + "useForSelfShieldingOnly": { + "__class__": "nodes.Attribute", + "default": "false", + "description": [ "An optional flag to indicate whether or not the resonance ", + "parameters are provided for self-shielding or scattering ", + "radius purposes only." ], + "name": "useForSelfShieldingOnly", + "required": false, + "type": "Boolean" + } + }, + "bodyText": null, + "childNodes": { + "PoPs": { + "__class__": "nodes.ChildNode", + "description": [ "Particle database to be used for the resonance reconstruction. ", + "This element only needs to be given if mass or spin values ", + "different from the particle database used in the parent ", + "\\texttt{reactionSuite} are to be used in the calculations. ", + "The use of this element is deprecated." ], + "name": "PoPs", + "occurrence": "1", + "required": false + }, + "scatteringRadius": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the scattering radius for the ", + "unresolved resonance region." ], + "name": "scatteringRadius", + "occurrence": "1", + "required": false + }, + "hardSphereRadius": { + "__class__": "nodes.ChildNode", + "description": [ "An optional override for the channel radius used in the ", + "calculation of the phase shift $\\phi$ for the unresolved ", + "resonance region." ], + "name": "hardSphereRadius", + "occurrence": "1", + "required": false + }, + "resonanceReactions": { + "__class__": "nodes.ChildNode", + "description": "The reactions for which resonance parameters will be provided.", + "name": "resonanceReactions", + "occurrence": "1", + "required": true + }, + "Ls": { + "__class__": "nodes.ChildNode", + "description": [ "The average unresolved resonance parameters for all values ", + "of the orbital angular momentum $\\ell$." ], + "name": "Ls", + "occurrence": "1", + "required": true + } + }, + "description": [ "The \\texttt{tabulatedWidths} node is used to describe average ", + "parameters in the unresolved range. Currently parameters can only ", + "be given in the single-level Breit-Wigner approximation." ], + "name": "tabulatedWidths", + "required": true, + "rootNode": false + }, + "Ls":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "L": { + "__class__": "nodes.ChildNode", + "description": [ "The average unresolved resonance parameters for a given value ", + "of the orbital angular momentum $\\ell$." ], + "name": "L", + "occurrence": "1+", + "required": true + } + }, + "description": [ "The \\texttt{Ls} node is gives the average unresolved resonance ", + "parameters for the values of the orbital angular momentum $\\ell$." ], + "name": "Ls", + "required": true, + "rootNode": false + }, + "L":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": true, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The value of the orbital angular momentum $\\ell$ in units of hbar.", + "name": "value", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": { + "Js": { + "__class__": "nodes.ChildNode", + "description": [ "The average unresolved resonance parameters for all values of the ", + "total angular momentum $J$ allowed by the current orbital angular ", + "momentum $\\ell$."] , + "name": "Js", + "occurrence": "1", + "required": true + } + }, + "description": [ "The \\texttt{L} node is gives the average unresolved resonance ", + "for a given value of the orbital angular momentum $\\ell$. It ", + "contains data for all associated values of the total angular ", + "momentum $J$" ], + "name": "L", + "required": true, + "rootNode": false + }, + "Js":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "J": { + "__class__": "nodes.ChildNode", + "description": [ "The average unresolved resonance parameters for a given value ", + "of the total angular momentum $J$ allowed by the current orbital ", + "angular momentum $\\ell$." ], + "name": "J", + "occurrence": "1+", + "required": true + } + }, + "description": [ "The \\texttt{Js} node gives the average unresolved resonance ", + "parameters for all values of the total angular momentum $J$ ", + "allowed by the current orbital angular momentum $\\ell$." ], + "name": "Js", + "required": true, + "rootNode": false + }, + "J":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": true, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The value of the total angular momentum $J$ for the spin ", + "group in units of hbar, given as a fraction, e.g. \\texttt{0}, ", + "\\texttt{1/2}, \\texttt{1}, \\texttt{3/2}, etc." ], + "name": "value", + "required": true, + "type": "Fraction32" + } + }, + "bodyText": null, + "childNodes": { + "levelSpacing": { + "__class__": "nodes.ChildNode", + "description": [ "The average level spacing for the current orbital angular ", + "momentum $\\ell$ and the current total angular momentum $J$." ], + "name": "levelSpacing", + "occurrence": "1", + "required": true + }, + "widths": { + "__class__": "nodes.ChildNode", + "description": [ "The average resonance parameters for the current orbital angular ", + "momentum $\\ell$ and the current total angular momentum $J$." ], + "name": "widths", + "occurrence": "1", + "required": true + } + }, + "description": [ "The \\texttt{J} node gives the unresolved resonance data for the current ", + "orbital angular momentum $\\ell$ and the current total angular ", + "momentum $J$. It contains level spacing information and resonance widths." ], + "name": "J", + "required": true, + "rootNode": false + }, + "levelSpacing":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "constant1d": { + "__class__": "nodes.ChildNode", + "description": "The level spacing is a constant value.", + "name": "constant1d", + "occurrence": "1", + "required": false + }, + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": [ "The level spacing is an energy dependent function with ", + "a single interpolation range." ], + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": [ "The level spacing is an energy dependent function with ", + "multiple interpolation range." ], + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": [ "The \\texttt{levelSpacing} node gives the average level spacing $D$ ", + "for the current orbital angular momentum $\\ell$ and the current total ", + "angular momentum $J$." ], + "name": "levelSpacing", + "required": true, + "rootNode": false + }, + "widths":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "width": { + "__class__": "nodes.ChildNode", + "description": "The average resonance width for a given channel.", + "name": "width", + "occurrence": "1+", + "required": true + } + }, + "description": [ "The \\texttt{widths} node gives the average resonance widths for each ", + "channel listed in the \\texttt{resonanceReactions} node for the current ", + "orbital angular momentum $\\ell$ and the current total angular ", + "momentum $J$.", + " ", + "If the single Level Breit Wigner aproximation is used, an optional ", + "competitive width can also be given. In this case, the associated ", + "resonance reaction should have its label set to \\texttt{competitive}." ], + "name": "widths", + "required": true, + "rootNode": false + }, + "width":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "resonanceReaction": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The label of the resonance reaction (as defined in the ", + "\\texttt{resonanceReaction} nodes) that the channel contributes to." ], + "name": "resonanceReaction", + "required": true, + "type": "bodyText" + }, + "degreesOfFreedom": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "The number of degrees of freedom to be used to sample the ", + "average width." ], + "name": "degreesOfFreedom", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "constant1d": { + "__class__": "nodes.ChildNode", + "description": "The average width is a constant value.", + "name": "constant1d", + "occurrence": "1", + "required": false + }, + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": [ "The average width is an energy dependent function with ", + "a single interpolation range." ], + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": [ "The average width is an energy dependent function with ", + "multiple interpolation range." ], + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": [ "The \\texttt{width} node gives the average resonance width for a ", + "given channel." ], + "name": "width", + "required": true, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_styles.json b/standards/gnds-2.0/summary_styles.json new file mode 100644 index 000000000..7841975a3 --- /dev/null +++ b/standards/gnds-2.0/summary_styles.json @@ -0,0 +1,1082 @@ +{ + "__namespace__":"styles", + "styles":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "evaluated": { + "__class__": "nodes.ChildNode", + "description": "Style for original data created by the evaluator(s).", + "name": "evaluated", + "occurrence": "1+", + "required": false + }, + "crossSectionReconstructed": { + "__class__": "nodes.ChildNode", + "description": "Style for pointwise cross sections produced by reconstructing resonance parameters and combining results with background (if any).", + "name": "crossSectionReconstructed", + "occurrence": "1+", + "required": false + }, + "angularDistributionReconstructed": { + "__class__": "nodes.ChildNode", + "description": "Style for angular distributions produced by reconstructing resonance parameters.", + "name": "angularDistributionReconstructed", + "occurrence": "1+", + "required": false + }, + "heated": { + "__class__": "nodes.ChildNode", + "description": "Style for cross sections that have been Doppler broadened to account for thermal motion in the target.", + "name": "heated", + "occurrence": "1+", + "required": false + }, + "averageProductData": { + "__class__": "nodes.ChildNode", + "description": "Style for average outgoing product energy and/or momentum data computed from the original (evaluated) distributions.", + "name": "averageProductData", + "occurrence": "1+", + "required": false + }, + "MonteCarlo_cdf": { + "__class__": "nodes.ChildNode", + "description": "Style for data where cumulative probability densities (cdfs) have been pre-computed and stored alongside pdfs for faster Monte Carlo sampling.", + "name": "MonteCarlo_cdf", + "occurrence": "1+", + "required": false + }, + "griddedCrossSection": { + "__class__": "nodes.ChildNode", + "description": "Style for data where all reaction cross sections are put on a union grid for more efficient Monte Carlo sampling.", + "name": "griddedCrossSection", + "occurrence": "1+", + "required": false + }, + "URR_probabilityTables": { + "__class__": "nodes.ChildNode", + "description": "Style for data cross section probability tables were generated for the unresolved resonance region.", + "name": "URR_probabilityTables", + "occurrence": "1+", + "required": false + }, + "heatedMultiGroup": { + "__class__": "nodes.ChildNode", + "description": "This style specifies parameters used for generating multi-grouped data. Some of the parameters specified include the multi-group boundaries for each particle processed via the \\element{transportables} node, and the \\element{flux} weight and \\element{inverseSpeed} for the projectile.", + "name": "heatedMultiGroup", + "occurrence": "1+", + "required": false + }, + "SnElasticUpScatter": { + "__class__": "nodes.ChildNode", + "description": "Style for data where a multi-group upscatter correction is applied to elastic scattering.", + "name": "SnElasticUpScatter", + "occurrence": "1+", + "required": false + } + }, + "description": [ "The \\element{styles} node contains a list of \\element{style} nodes. Each style describes either information about its ", + "evaluated data or information about its processed data. For example, the \\element{heated} style (see ", + "Section~\\ref{format:styles:heated}) defines cross sections that have been heated (i.e. Doppler broadened) to a ", + "temperature $T$. The following is an example of a \\element{heated} style: ", + "\n\\begin{minted}[frame=single,fontsize=\\small]{xml}\n", + " \n", + " \n", + "\\end{minted}\n", + "In this example, all cross section forms (i.e. representations) with their style attribute equal to \\attrval{heated1}", + "have been heated to 600 K on the date 2016-01-01. The \\attr{derivedFrom} attribute indicates the style before heating.", + "In addition, the code that heated the cross sections and its input should be listed under a \\code\\ element.\n"], + "name": "styles", + "required": true, + "rootNode": false + }, + + "evaluated":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were last released.", + "name": "date", + "required": true, + "type": "date" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from. For example, multi-group data are often derived from a \\element{heated} style.", + "name": "derivedFrom", + "required": false, + "type": "XMLName" + }, + "library": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The name of the library for this evaluation (e.g. ``ENDF/B'', ``JEFF'', ``JENDL'').", + "name": "library", + "required": true, + "type": "XMLName" + }, + "version": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The version of this library's release (e.g. ``8.0'', ``3.3'').", + "name": "version", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "projectileEnergyDomain": { + "__class__": "nodes.ChildNode", + "description": "Lower and upper limits of projectile incident energy included in the evaluation.", + "name": "projectileEnergyDomain", + "occurrence": "1", + "required": true + }, + "temperature": { + "__class__": "nodes.ChildNode", + "description": "The temperature the data are evaluated at.", + "name": "temperature", + "occurrence": "1", + "required": true + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": [ + "Documentation as described in document~\\cite{Documentation}.", + "As the \\element{evaluated} style describes the source of all derived data styles in this \\element{reactionSute},", + "this element contains main documentation for the entire \\element{reactionSuite}.", + "The \\element{documentation} element provides the metadata needed for external citation of the present dataset."], + "name": "documentation", + "occurrence": "1", + "required": true + } + }, + "description": [ + "This style denotes evaluated data (i.e. data created by the evaluator(s)). ", + "More than one \\element{evaluated} style is allowed.", + "Each \\element{evaluated} style represents a revision of the evaluated data. ", + "If a style represents a revision,", + "its \\element{derivedFrom} must point to the prior \\element{evaluated} style." + ], + "name": "evaluated", + "required": false, + "rootNode": false + }, + + "projectileEnergyDomain":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "max": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The maximum projectile energy for the evaluation.", + "name": "max", + "required": true, + "type": "Float64" + }, + "min": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The minimum projectile energy for the evaluation.", + "name": "min", + "required": true, + "type": "Float64" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The unit for the projectile energy minimum and maximum.", + "name": "unit", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "This element stores the energy domain of the projectile (in the lab frame) along with a unit.", + "All \\element{reaction} nodes in the evaluation should span \\textit{at least} this domain, although some may extend past the domain." + ], + "name": "projectileEnergyDomain", + "required": true, + "rootNode": false + }, + "temperature":{ + "__class__": "nodes.Node", + "abstractNode": "PhysicalQuantity", + "attributes": { + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Floating-point value of the temperature.", + "name": "value", + "required": true, + "type": "Float64" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Temperature unit, e.g. `K' or `eV/k'.", + "name": "unit", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Specifies the average temperature of the target. In general the `evaluated' style has a temperature of `0 K', while derived data", + "are Doppler broadened to higher temperature." + ], + "name": "temperature", + "required": true, + "rootNode": false + }, + + "crossSectionReconstructed":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string indicating the last time the data for this style were last updated.", + "name": "date", + "required": true, + "type": "date" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique string identifier for the style.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Contains the label of another style from which reconstructed cross sections were derived. The derivedFrom style is usually `evaluated'.", + "name": "derivedFrom", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "temperature": { + "__class__": "nodes.ChildNode", + "description": "The temperature the data are evalauted at.", + "name": "temperature", + "occurrence": "1", + "required": false + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, + "description": "This style denotes cross section data that have been reconstructed from resonance parameters.", + "name": "crossSectionReconstructed", + "required": false, + "rootNode": false + }, + + "angularDistributionReconstructed":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string indicating the last time the data for this style were last updated.", + "name": "date", + "required": true, + "type": "date" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique string identifier for the style.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Contains the label of another style from which reconstructed angular distribution were derived. The derivedFrom style is usually `evaluated'.", + "name": "derivedFrom", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "temperature": { + "__class__": "nodes.ChildNode", + "description": "The temperature the data are evalauted at.", + "name": "temperature", + "occurrence": "1", + "required": false + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, + "description": "This style denotes angular distribution data that have been reconstructed from resonance parameters.", + "name": "angularDistributionReconstructed", + "required": false, + "rootNode": false + }, + + "CoulombPlusNuclearElasticMuCutoff":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "muCutoff": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The upper limit of $\\mu$.", + "name": "muCutoff", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "For Coulomb interactions the cross section is infinite due to a singularity at $\\mu = 1.0$.", + "Because of this, a cross section for Coulomb interactions only represents the integral of the $d\\sigma(E,\\mu)/d\\mu$ from $\\mu = -1.0$ to \\attrval{muCutoff}." + ], + "name": "CoulombPlusNuclearElasticMuCutoff", + "required": false, + "rootNode": false + }, + + "heated":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "temperature": { + "__class__": "nodes.ChildNode", + "description": "The temperature the data for this style were heated to.", + "name": "temperature", + "occurrence": "1", + "required": true + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, + "description": "This style represents data that have been heated to a particular temperature. For example, cross section may be heated (i.e. Doppler broadened).", + "name": "heated", + "required": false, + "rootNode": false + }, + + "averageProductData":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string indicating the last time the data for this style were last updated.", + "name": "date", + "required": true, + "type": "date" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A unique string identifier for the style.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Contains the label of another style from which reconstructed cross sections were derived. The derivedFrom style is usually `evaluated'.", + "name": "derivedFrom", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "temperature": { + "__class__": "nodes.ChildNode", + "description": "The temperature the data for this style were heated to.", + "name": "temperature", + "occurrence": "1", + "required": true + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, + "description": "This style signifies data calulated for the \\element{averageProductEnergy} and \\element{averageProductMomentum} components.", + "name": "averageProductData", + "required": false, + "rootNode": false + }, + + "MonteCarlo_cdf":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, + "description": [ + "This style represents data that have distributions processed for use in Monte Carlo transport codes. Distribution $P(\\mu,E'|E)$ must be converted", + "to $P(\\mu|E) \\times P(E'|E,\\mu)$, distribution $P(E',\\mu|E)$ must be converted to $P(E'|E) \\times P(\\mu|E,E')$. Each function1d of $P(E'|E)$, $P(\\mu,E)$, $P(E'|E,\\mu)$ and $P(\\mu|E,E')$ (including the $P(E'|E)$ in Kalbach-Mann) must be a \\element{xs\\_pdf\\_cdf1d} node." + ], + "name": "MonteCarlo_cdf", + "required": false, + "rootNode": false + }, + + "griddedCrossSection":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "grid": { + "__class__": "nodes.ChildNode", + "description": "The common energy grid as used in Monte Carlo transport. See section~\\ref{format:gpdc:grid}.", + "name": "grid", + "occurrence": "1", + "required":true + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, + "description": "This style signifies that cross section data have been put on a common energy grid as used in Monte Carlo transport. The grid is given in the \\element{grid} child node.", + "name": "griddedCrossSection", + "required": false, + "rootNode": false + }, + + "heatedMultiGroup":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "transportables": { + "__class__": "nodes.ChildNode", + "description": "Contains a list of \\elemlink{transportable} nodes. Each \\element{transportable} specifies the multi-group boundaries for a specified particle. There can be at most one \\element{transportable} per particle id.", + "name": "transportables", + "occurrence": "1", + "required": true + }, + "flux": { + "__class__": "nodes.ChildNode", + "description": "The flux used when multi-grouping.", + "name": "flux", + "occurrence": "1", + "required": true + }, + "inverseSpeed": { + "__class__": "nodes.ChildNode", + "description": "The multi-group inverse speeds $v_g$ for group $g$. That is, $v_g = \\int_g dE \\, f(E) / v(E)$, where $E$ is the projectile's energy, $f(E)$ is a flux, $v(E)$ is the projectile's velocity and the integral is over group $g$.", + "name": "inverseSpeed", + "occurrence": "1", + "required": true + } + }, + "description": [ + "This style represents data that have been heated and multi-grouped. The temperature is inherited from the \\attr{derivedFrom} lineage.", + "The multi-group boundaries are specified under a \\elemlink{transportables} node. The flux, which can be at a temperature relevant for the reaction data, ", + "is specified by the \\element{flux} child node." + ], + "name": "heatedMultiGroup", + "required": false, + "rootNode": false + }, + + "transportables":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "transportable": { + "__class__": "nodes.ChildNode", + "description": "Each \\elemlink{transportable} specifies multi-group parameters for each particle processed for multi-group transport.", + "name": "transportable", + "occurrence": "1+", + "required": true + } + }, + "description": "Contains a list of particles (i.e. \\elemlink{transportable} nodes) for which multi-group processing was performed. Each particle's id is specified via the \\attr{label} attribute which must be unique for each transportable.", + "name": "transportables", + "required": false, + "rootNode": false + }, + + "transportable":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "conserve": { + "__class__": "nodes.Attribute", + "default": "number", + "description": "Defines the outgoing particle's energy weight used when calculating a product's transfer matrices. Allowed values are \\attrval{number} with a weight of 1 and \\attrval{energy} with a weight of the product's outgoing energy.", + "name": "conserve", + "required": false, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The transportable particle id.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "multiGroup": { + "__class__": "nodes.ChildNode", + "description": "Contains the multi-group boundaries for the specified particle.", + "name": "multiGroup", + "occurrence": "1", + "required": true + } + }, + "description": "Contains a particle id and its associated multi-group boundaries.", + "name": "transportable", + "required": true, + "rootNode": false + }, + + "multiGroup":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An identifier for the multi-group boundaries.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "grid": { + "__class__": "nodes.ChildNode", + "description": "The axes information for the multi-group boundaries. See Section~\\ref{format:gpdc:grid}. The grid values are the multi-group boundaries.", + "name": "grid", + "occurrence": "1", + "required": true + } + }, + "description": "Contains a multi-group identifier and its multi-group boundaries.", + "name": "multiGroup", + "required": true, + "rootNode": false + }, + + "flux":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An identifier string for the flux.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": [ + "The flux $f(E,\\mu)$.", + "The axes are incident particle energy, Legendre order and flux. See section~\\ref{format:gpdc:XYs2d}." + ], + "name": "XYs2d", + "occurrence": "1", + "required": true + } + }, + "description": "For \\element{heatedMultiGroup} data, this node specifies the flux used to multi-group the data.", + "name": "flux", + "required": true, + "rootNode": false + }, + + "inverseSpeed":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": "Contains the inverse speeds for each group (group boundaries are listed in the \\element{multiGroup} ancestor).", + "name": "gridded1d", + "occurrence": "1", + "required": true + } + }, + "description": "The multi-group inverse speeds $v_g$ for group $g$. That is, $v_g = \\int_g dE \\, f(E) / v(E)$ where $E$ is the projectile's energy, $f(E)$ is a flux, $v(E)$ the projectile's velocity and the integral is over group $g$.", + "name": "inverseSpeed", + "required": true, + "rootNode": false + }, + + "SnElasticUpScatter":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "upperCalculatedGroup": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Index of the highest-energy group (counting from 0) impacted by the upscatter correction.", + "name": "upperCalculatedGroup", + "required": false, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Like style \\element{heatedMultiGroup} but with an upscatter correction included for elastic scattering.", + "name": "SnElasticUpScatter", + "required": false, + "rootNode": false + }, + + "URR_probabilityTables":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Indicates that cross section probability tables ($P(\\sigma | E)$) were generated for use in Monte Carlo transport.", + "name": "URR_probabilityTables", + "required": false, + "rootNode": false + }, + + "Bondarenko":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "sigmaZeros": { + "__class__": "nodes.ChildNode", + "description": "Contains a list of `sigma-0' values at which Bondarko factors were computed.", + "name": "sigmaZeros", + "occurrence": "1", + "required": true + } + }, + "description": "Data style for Bondarenko self-shielding factors for deterministic transport.", + "name": "Bondarenko", + "required": false, + "rootNode": false + }, + "sigmaZeros":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": "List of sigma-zero values (stored as Float64).", + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": "Data style for Bondarenko self-shielding factors for deterministic transport.", + "name": "sigmaZeros", + "required": false, + "rootNode": false + }, + + "multiBand":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "numberOfBands": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Integer for the number of bands per group.", + "name": "numberOfBands", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Data style for a proposed alternative to Bondarenko factors for self-shielding in deterministic transport.", + "name": "multiBand", + "required": false, + "rootNode": false + }, + + "equalProbableBins":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "numberOfBins": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Integer for the number of equal-probable bins.", + "name": "numberOfBins", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Style for distributions that have been converted to equal-probable bins for faster Monte Carlo sampling.", + "name": "equalProbableBins", + "required": false, + "rootNode": false + }, + + "realization":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "date": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid date string representing when the data for this style were processed.", + "name": "date", + "required": true, + "type": "date" + }, + "derivedFrom": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The style that the data assoicated with this style were derived from.", + "name": "derivedFrom", + "required": true, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Style indicating that data were generated by randomly sampling from a covariance matrix, e.g. for uncertainty quantification.", + "name": "realization", + "required": false, + "rootNode": false + } + +} diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json new file mode 100644 index 000000000..0c4b379df --- /dev/null +++ b/standards/gnds-2.0/summary_transport.json @@ -0,0 +1,2302 @@ +{ + "__namespace__":"transport", + "reactionSuite":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "evaluation": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the evaluation, e.g. `ENDF-VIII.0'", + "name": "evaluation", + "required": true, + "type": "XMLName" + }, + "format": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["GNDS format version, e.g. `2.1'. ", "See Appendix \\ref{append:versioning} for an extended discussion of the GNDS version numbering."], + "name": "format", + "required": true, + "type": "XMLName" + }, + "projectile": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Projectile particle id.", + "name": "projectile", + "required": true, + "type": "XMLName" + }, + "projectileFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Options are `lab' or `centerOfMass'", + "name": "projectileFrame", + "required": true, + "type": "frame" + }, + "target": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Target particle id.", + "name": "target", + "required": true, + "type": "XMLName" + }, + "interaction": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ "Defines the type of interaction for the reaction data contained within the reactionSuite. Options are `nuclear', `atomic' and `thermalNeutronScatteringLaw'. ", + "For example, a photo-nuclear reactionSuite must have a value of `nuclear' while a photo-atomic reactionSuite must have a value of `atomic'." ], + "name": "interaction", + "required": true, + "type": "interaction" + } + }, + "bodyText": null, + "childNodes": { + "externalFiles": { + "__class__": "nodes.ChildNode", + "description": "stores a list of external files related to this \\element{reactionSuite}. Often used to link a \\element{reactionSuite} to one or more \\element{covarianceSuite} files.", + "name": "externalFiles", + "occurrence": "1", + "required": false + }, + "styles": { + "__class__": "nodes.ChildNode", + "description": ["Element containing a list of styles inside this covarinceSuite. Each style describes", + "information about the evalualated data (e.g. library, version) representation and each processed data representation."], + "name": "styles", + "occurrence": "1", + "required": true + }, + "PoPs": { + "__class__": "nodes.ChildNode", + "description": "Particle database, as described in document~\\cite{PoPs}. The database describes all particles involved in the reactionSuite, including projectile, target and reaction products.", + "name": "PoPs", + "occurrence": "1", + "required": true + }, + "resonances": { + "__class__": "nodes.ChildNode", + "description": "Describes resonance parameters.", + "name": "resonances", + "occurrence": "1", + "required": false + }, + "reactions": { + "__class__": "nodes.ChildNode", + "description": "List of all reactions.", + "name": "reactions", + "occurrence": "1", + "required": false + }, + "orphanProducts": { + "__class__": "nodes.ChildNode", + "description": "Collection of products not associated with a particlar reaction. In legacy evaluations, this element is used to store gamma-rays that are observed in experiment but whose provenance is unknown.", + "name": "orphanProducts", + "occurrence": "1", + "required": false + }, + "sums": { + "__class__": "nodes.ChildNode", + "description": "The \\elemlink{sums} node contains cross sections that are summations over two or more reaction cross sections, and also multiplicities that are summations over two or more reaction product multiplicities.", + "name": "sums", + "occurrence": "1", + "required": false + }, + "fissionComponents": { + "__class__": "nodes.ChildNode", + "description": "List of partial fission cross sections, often used to give first-chance, second-chance, etc. fission without supplying distributions for each chance. ", + "name": "fissionComponents", + "occurrence": "1", + "required": false + }, + "productions": { + "__class__": "nodes.ChildNode", + "description": "List of production reactions.", + "name": "productions", + "occurrence": "1", + "required": false + }, + "incompleteReactions": { + "__class__": "nodes.ChildNode", + "description": "List of reactions where only some data are available. May be used to store very small cross sections (i.e. sub-actinide fission) or for sharing evaluations where some reactions are still not complete.", + "name": "incompleteReactions", + "occurrence": "1", + "required": false + }, + "applicationData": { + "__class__": "nodes.ChildNode", + "description": "List of application-specific data.", + "name": "applicationData", + "occurrence": "1", + "required": false + } + }, + "description": "This element stores an evaluation of the reactions involving the combination of a projectile and target.", + "name": "reactionSuite", + "required": false, + "rootNode": true + }, + + "interaction": { + "__class__": "nodes.EnumeratedTypeNode", + "description": "", + "name": "interaction", + "allowedValues":["nuclear", "atomic", "thermalNeutronScatteringLaw"] + }, + + "reactions":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "reaction": { + "__class__": "nodes.ChildNode", + "description": "A \\texttt{reaction}", + "name": "reaction", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "The \\element{reactions} section collects all of the \\element{reaction} elements.", + "The sum of the cross sections from all \\element{reaction} elements inside \\element{reactions} should", + "be equal to the total cross section (note that the total cross section is \\textit{not} stored in", + "\\element{reactions} but rather inside \\element{sums} (see section~\\ref{format:transport:sums})." + ], + "name": "reactions", + "required": false, + "rootNode": false + }, + "reaction":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "ENDF_MT": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The ENDF MT number for this reaction. This attribute is currently required, ", + "but should be considered deprecated. Future evaluations may include reactions ", + "with no MT equivalent, so codes should not rely on the \\texttt{ENDF\\_MT}."], + "name": "ENDF_MT", + "required": true, + "type": "Integer32" + }, + "fissionGenre": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Identifies the type of fission. Must be one of `total', `firstChance', `secondChance', etc.", + "name": "fissionGenre", + "required": false, + "type": "XMLName" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Arbitrary string identifier. It must be unique among all other \\element{reaction} elements.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "doubleDifferentialCrossSection": { + "__class__": "nodes.ChildNode", + "description": "Differential cross section $d\\sigma(E)/dE'd\\Omega$ or $d\\sigma(E)/d\\Omega$ if using two-body kinematics.", + "name": "doubleDifferentialCrossSection", + "occurrence": "1", + "required": false + }, + "crossSection": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "crossSection", + "occurrence": "1", + "required": true + }, + "outputChannel": { + "__class__": "nodes.ChildNode", + "description": "Describes the secondary particle emissions from the reaction", + "name": "outputChannel", + "occurrence": "1", + "required": true + } + }, + "description": "A nuclear reaction is a process in which nucleus or nuclear particles changes by producing a set of products, either through spontaneous decay or particle collision. The \\element{reaction} element collects the information pertaining to the final state of the reaction.", + "name": "reaction", + "required": false, + "rootNode": false + }, + "sums":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "crossSectionSums": { + "__class__": "nodes.ChildNode", + "description": "Contains one or more sums of partial cross sections.", + "name": "crossSectionSums", + "occurrence": "1", + "required": true + }, + "multiplicitySums": { + "__class__": "nodes.ChildNode", + "description": [ + "Contains one or more sums of product multiplicites. Each sum should only include multiplicities for a single type of particle. Most often used for outgoing photons", + "and fission neutrons (e.g. to store `total nubar' as the sum of prompt + delayed nubar)." + ], + "name": "multiplicitySums", + "occurrence": "1", + "required": false + } + }, + "description": "The \\element{sums} node contains cross sections that are summations over two or more reaction cross sections, and also multiplicities that are summations over two or more reaction product multiplicities.", + "name": "sums", + "required": false, + "rootNode": false + }, + "outputChannel":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "genre": { + "__class__": "nodes.Attribute", + "default": null, + "description": "This can have a value of either \\element{twoBody} or \\element{NBody}", + "name": "genre", + "required": false, + "type": "XMLName" + }, + "process": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "process", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "Q": { + "__class__": "nodes.ChildNode", + "description": "The $Q$-value of the reaction. Fission reactions have a different format than other reactions.", + "name": "Q", + "occurrence": "1", + "required": false + }, + "products": { + "__class__": "nodes.ChildNode", + "description": "A list of secondary products from the reaction", + "name": "products", + "occurrence": "1", + "required": false + }, + "fissionFragmentData": { + "__class__": "nodes.ChildNode", + "description": "For use in fission reactions only. Contains information about delayed neutrons, fission product yields and energy partition.", + "name": "fissionFragmentData", + "occurrence": "1", + "required": false + } + + }, + "description": "The \\element{outputChannel} node contains all the data for the results of a reaction, including the Q-value and all outgoing products.", + "name": "outputChannel", + "required": false, + "rootNode": false + }, + "crossSectionSums":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "crossSectionSum": { + "__class__": "nodes.ChildNode", + "description": "The \\element{crossSectionSum} is similar to the \\element{crossSection}, but is a sum of the cross section for multiple partial reactions.", + "name": "crossSectionSum", + "occurrence": "1+", + "required": false + } + }, + "description": null, + "name": "crossSectionSums", + "required": false, + "rootNode": false + }, + "crossSection":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique" : "yesLabel", + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "For pointwise data using a single interpolation everywhere.", + "name": "XYs1d", + "occurrence": "choice", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "Cross section stored in multiple regions, with different interpolations and/or discontinuities.", + "name": "regions1d", + "occurrence": "choice", + "required": false + }, + "resonancesWithBackground": { + "__class__": "nodes.ChildNode", + "description": "Indicates that resonance parameters need to be reconstructed and added to the background to obtain the cross section.", + "name": "resonancesWithBackground", + "occurrence": "choice", + "required": false + }, + "CoulombPlusNuclearElastic": { + "__class__": "nodes.ChildNode", + "description": "This is either a container holding the differential charged particle scattering cross section or a reference to said container.", + "name": "CoulombPlusNuclearElastic", + "occurrence": "choice", + "required": false + }, + "thermalNeutronScatteringLaw1d": { + "__class__": "nodes.ChildNode", + "description": "This contains a reference to the double-differential thermal neutron scattering law cross section.", + "name": "thermalNeutronScatteringLaw1d", + "occurrence": "choice", + "required": false + }, + "reference": { + "__class__": "nodes.ChildNode", + "description": "Link to another cross section form, e.g. in another reaction.", + "name": "reference", + "occurrence": "choice", + "required": false + }, + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": "Grouped (and possibly flux-weighted) cross section. Appears in processed files only.", + "name": "gridded1d", + "occurrence": "choice", + "required": false + }, + "Ys1d": { + "__class__": "nodes.ChildNode", + "description": "Y-values, used when a common grid is used for multiple reaction cross sections for more efficient Monte Carlo sampling. Appears in processed files only.", + "name": "Ys1d", + "occurrence": "choice", + "required": false + }, + "URR_probabilityTables1d": { + "__class__": "nodes.ChildNode", + "description": "Stores cross section probability tables $P(\\sigma | E)$ to better capture the rapid cross section fluctuations possible in the unresolved resonance region. This element appears in processed files only.", + "name": "URR_probabilityTables1d", + "occurrence": "choice", + "required": false + } + }, + "description": "The effective target area for a particular reaction or reaction-like quantity on a given target, $\\sigma(E)$. Child elements of a \\element{crossSection} are the various representations of the cross section. At least one element that describes the dependance of the cross section as a function of energy is required and that one contains the \\attr{representation}=\\attrval{eval} attribute.", + "name": "crossSection", + "required": false, + "rootNode": false + }, + "resonancesWithBackground":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} node associated with these data.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "resonancesLink": { + "__class__": "nodes.ChildNode", + "description": "Link to the resonance parameters that have to be combined with the background.", + "name": "resonances", + "occurrence": "1", + "required": true + }, + "background": { + "__class__": "nodes.ChildNode", + "description": "The background cross section to be applied.", + "name": "background", + "occurrence": "1", + "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": [ "The \\element{resonancesWithBackground} node describes the cross ", + "sections as a set of resonance parameters with associated ", + "background cross sections." ], + "name": "resonancesWithBackground", + "required": false, + "rootNode": false + }, + "resonancesLink":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Label for this link.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "xPath link to the \\element{resonances} section.", + "name": "href", + "required": true, + "type": "bodyText" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Links to the \\element{resonances} section defined under the \\element{reactionSuite}.", + "name": "resonances", + "required": false, + "rootNode": false + }, + "background":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "resolvedRegion": { + "__class__": "nodes.ChildNode", + "description": "The background cross section in the resolved resonance region.", + "name": "resolvedRegion", + "occurrence": "1", + "required": false + }, + "unresolvedRegion": { + "__class__": "nodes.ChildNode", + "description": "The background cross section in the unresolved resonance region.", + "name": "unresolvedRegion", + "occurrence": "1", + "required": false + }, + "fastRegion": { + "__class__": "nodes.ChildNode", + "description": "The cross section in the fast region beyond the resolved and unresolved resonance region.", + "name": "fastRegion", + "occurrence": "1", + "required": false + } + }, + "description": [ "The \\element{background} gives the background cross sections that ", + "have to be added to the resonance parameters to obtain the full set ", + "of cross sections." ], + "name": "background", + "required": false, + "rootNode": false + }, + "resolvedRegion":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique" : "yes", + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": [ "The background cross section is an energy dependent function with ", + "a single interpolation range." ], + "name": "XYs1d", + "occurrence": "choice", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": [ "The background cross section is an energy dependent function with ", + "multiple interpolation ranges." ], + "name": "regions1d", + "occurrence": "choice", + "required": false + } + }, + "description": [ "The \\element{resolvedRegion} gives the background cross section in ", + "the resolved resonance region." ], + "name": "resolvedRegion", + "required": false, + "rootNode": false + }, + "unresolvedRegion":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique" : "yes", + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": [ "The background cross section is an energy dependent function with ", + "a single interpolation range." ], + "name": "XYs1d", + "occurrence": "choice", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": [ "The background cross section is an energy dependent function with ", + "multiple interpolation ranges." ], + "name": "regions1d", + "occurrence": "choice", + "required": false + } + }, + "description": [ "The \\element{unresolvedRegion} gives the background cross section in ", + "the unresolved resonance region." ], + "name": "unresolvedRegion", + "required": false, + "rootNode": false + }, + "fastRegion":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique" : "yes", + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": [ "The cross section as an energy dependent function with ", + "a single interpolation range." ], + "name": "XYs1d", + "occurrence": "choice", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": [ "The cross section as an energy dependent function with ", + "multiple interpolation ranges." ], + "name": "regions1d", + "occurrence": "choice", + "required": false + } + }, + "description": [ "The \\element{fastRegion} gives the entire cross section in the fast region,", + "beyond the resolved and unresolved resonance region." ], + "name": "fastRegion", + "required": false, + "rootNode": false + }, + "URR_probabilityTables1d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} node associated with these data.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as an \\element{XYs2d}.", + "name": "XYs2d", + "occurrence": "choice", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as a \\element{regions2d}.", + "name": "regions2d", + "occurrence": "choice", + "required": false + } + }, + "description": [ "The \\element{URR\\_probabilityTables1d} gives probability distributions for the", + "cross section as a function of incident energy, $P(\\sigma | E)$. It is derived from the", + "average widths and level spacings in the \\element{unresolved} resonance section, and is used in", + "in Monte Carlo transport codes. The child \\element{XYs2d} or \\element{regions2d} should", + "generally use an \\attr{interpolationQualifier} like `unitBase' since the cross section domain", + "varies with incident energy." + ], + "name": "URR_probabilityTables1d", + "required": false, + "rootNode": false + }, + "crossSectionSum":{ + "__class__": "nodes.Node", + "abstractNode": "labelNode", + "attributes": { + "ENDF_MT": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The corresponding ENDF MT number.", + "name": "ENDF_MT", + "required": false, + "type": "Integer32" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An arbitrary, but unique identifier for the summed cross section.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "Q": { + "__class__": "nodes.ChildNode", + "description": "The $Q$-value of the summed reaction.", + "name": "Q", + "occurrence": "1", + "required": true + }, + "crossSection": { + "__class__": "nodes.ChildNode", + "description": "The summed cross section values.", + "name": "crossSection", + "occurrence": "1", + "required": true + }, + "summands": { + "__class__": "nodes.ChildNode", + "description": "A list of links to the partial cross sections that are the summands (hence the name of the element) of the summed reaction.", + "name": "summands", + "occurrence": "1", + "required": true + } + }, + "description": "The \\element{crossSectionSum} is similar to the \\element{crossSection}, but is a sum of the cross section for multiple partial reactions.", + "name": "crossSectionSum", + "required": false, + "rootNode": false + }, + "doubleDifferentialCrossSection":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique": true, + "childNodes": { + "regions3d": { + "__class__": "nodes.ChildNode", + "description": "For a differential cross section broken up into incident energy regions. Regions may contain different interpolations, or different representations (i.e. a reference for one incident energy range followed by a CoulombPlusNuclearElastic in another energy range). ", + "name": "regions3d", + "occurrence": "1", + "required": false + }, + "XYs3d": { + "__class__": "nodes.ChildNode", + "description": "A pointwise table of $\\sigma(\\mu, E' | E)$ or $\\sigma(E', \\mu | E)$ values.", + "name": "XYs3d", + "occurrence": "1", + "required": false + }, + "CoulombPlusNuclearElastic": { + "__class__": "nodes.ChildNode", + "description": "This is either a container holding the differential charged particle scattering cross section or a reference to said container.", + "name": "CoulombPlusNuclearElastic", + "occurrence": "1", + "required": false + }, + "reference": { + "__class__": "nodes.ChildNode", + "description": "A link to resonance data, from which\n the differential cross section should be derived.", + "name": "reference", + "occurrence": "1", + "required": false + }, + "coherentPhotonScattering": { + "__class__": "nodes.ChildNode", + "description": "This is either a container holding the coherent photon scattering cross section or a reference to said container.", + "name": "coherentPhotonScattering", + "occurrence": "1", + "required": false + }, + "incoherentPhotonScattering": { + "__class__": "nodes.ChildNode", + "description": "This is either a container holding the incoherent photon scattering cross section or a reference to said container.", + "name": "incoherentPhotonScattering", + "occurrence": "1", + "required": false + }, + "thermalNeutronScatteringLaw_coherentElastic": { + "__class__": "nodes.ChildNode", + "description": "Contains the coherent elastic double-differential cross section for thermal neutrons.", + "name": "thermalNeutronScatteringLaw_coherentElastic", + "occurrence": "1", + "required": false + }, + "thermalNeutronScatteringLaw_incoherentElastic": { + "__class__": "nodes.ChildNode", + "description": "Contains the incoherent elastic double-differential cross section for thermal neutrons.", + "name": "thermalNeutronScatteringLaw_incoherentElastic", + "occurrence": "1", + "required": false + }, + "thermalNeutronScatteringLaw_incoherentInelastic": { + "__class__": "nodes.ChildNode", + "description": "Contains the incoherent inelastic double-differential cross section for thermal neutrons.", + "name": "thermalNeutronScatteringLaw_incoherentInelastic", + "occurrence": "1", + "required": false + } + }, + "description": [ + "This node represents multi-dimensional differential cross section data, ", + "e.g. $d\\sigma(E)/d\\mu$ or $d\\sigma(E)/d\\mu dE'$. In most cases, such as in ", + "charged particle, thermal neutron or (in)coherent x-ray scattering, ", + "a parameterised form of the data exists to simplify the representation of the tabulated data." + ], + "name": "doubleDifferentialCrossSection", + "required": false, + "rootNode": false + }, + "coherentPhoton":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "coherentPhoton for doubleDifferentialCrossSection", + "name": "coherentPhoton", + "required": false, + "rootNode": false + }, + "incoherentPhoton":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "incoherentPhoton for doubleDifferentialCrossSection", + "name": "incoherentPhoton", + "required": false, + "rootNode": false + }, + "multiplicitySums":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "multiplicitySum": { + "__class__": "nodes.ChildNode", + "description": "Sums over the multiplicity of multiple products of the same type of particle.", + "name": "multiplicitySum", + "occurrence": "1+", + "required": false + } + }, + "description": null, + "name": "multiplicitySums", + "required": false, + "rootNode": false + }, + "multiplicity":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique":"yesLabel", + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs1d", + "occurrence": "choice", + "required": false + }, + "constant1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "constant1d", + "occurrence": "choice", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "polynomial1d", + "occurrence": "choice", + "required": false + }, + "branching1d": { + "__class__": "nodes.ChildNode", + "description": "Multiplicity is computed from decay branching ratios listed in the \\elemlink{PoPs} database.", + "name": "branching1d", + "occurrence": "choice", + "required": false + }, + "reference": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "reference", + "occurrence": "choice", + "required": false + }, + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": "Grouped multiplicy, weighted by the cross-section and optionally by the flux. Appears in processed files only.", + "name": "gridded1d", + "occurrence": "choice", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "regions1d", + "occurrence": "choice", + "required": false + } + }, + "description": null, + "name": "multiplicity", + "required": false, + "rootNode": false + }, + "branching1d":{ + "__class__": "nodes.Node", + "abstractNode": "labelNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label for the multiplicity form.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": ["Indicates that the multiplicity can be computed from decay information in the \\elemlink{PoPs} database. ", + "Mainly used for photons emitted from discrete excited states. Also see Section~\\ref{sec:dcfdbrfcead}." ], + "name": "branching1d", + "required": false, + "rootNode": false + }, + + "orphanProducts":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "orphanProduct": { + "__class__": "nodes.ChildNode", + "description": "A reaction container to group together groups of correlated `orphan' products.", + "name": "orphanProduct", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "The \\element{orphanProducts} node is similar to the \\element{reactions} node described in", + "section~\\ref{format:transport:reactions}, containing a list of \\element{orphanProduct} nodes", + "each with a \\element{crossSection} and \\element{outputChannel}.", + "However, products inside the \\element{orphanProducts} section are not associated with a", + "particular reaction. This section is most often used to store gamma-rays that are observed", + "during reaction experiments but whose provenance is unknown.", + "", + "The \\element{crossSection} inside an orphan product reaction should be a link to one of the", + "summed cross sections inside the \\element{sums} section (see section~\\ref{format:transport:sums})." + ], + "name": "orphanProducts", + "required": false, + "rootNode": false + }, + "orphanProduct":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "ENDF_MT": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["The ENDF MT number for this orphanProduct. This attribute is currently required, ", + "but should be considered deprecated. Future evaluations may include reactions ", + "with no MT equivalent, so codes should not rely on the \\texttt{ENDF\\_MT}."], + "name": "ENDF_MT", + "required": true, + "type": "Integer32" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Arbitrary string identifier. It must be unique among all other \\element{orphanProduct} elements.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "crossSection": { + "__class__": "nodes.ChildNode", + "description": ["Cross section for emission of this orphan product. The cross section is typically a reference", + "to one of the summed cross sections defined in the \\element{sums} section of the \\element{reactionSuite}."], + "name": "crossSection", + "occurrence": "1", + "required": true + }, + "outputChannel": { + "__class__": "nodes.ChildNode", + "description": "Describes the outgoing energy/angular distributions for this orphanProduct.", + "name": "outputChannel", + "occurrence": "1", + "required": true + } + }, + "description": ["An orphanProduct is observed to be emitted during the interaction between a given projectile/target,", + "but cannot be associated with a particular reaction."], + "name": "orphanProduct", + "required": false, + "rootNode": false + }, + "multiplicitySum":{ + "__class__": "nodes.Node", + "abstractNode": "labelNode", + "attributes": { + "ENDF_MT": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The corresponding ENDF MT number.", + "name": "ENDF_MT", + "required": false, + "type": "Integer32" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An arbitrary, but unique identifier for the summed cross section.", + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "multiplicity": { + "__class__": "nodes.ChildNode", + "description": "The summed multiplicity", + "name": "multiplicity", + "occurrence": "1", + "required": true + }, + "summands": { + "__class__": "nodes.ChildNode", + "description": "A list of links to the partial cross sections that are the summands (hence the name of the element) of the summed reaction.", + "name": "summands", + "occurrence": "1", + "required": true + } + }, + "description": "The \\element{multiplicitySum} sums over the multiplicity of multiple products of the same type of particle.", + "name": "multiplicitySum", + "required": false, + "rootNode": false + }, + "distribution":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childUnique" : "yesLabel", + "childNodes": { + "angularTwoBody": { + "__class__": "nodes.ChildNode", + "description": "This format is used to describe the distribution in energy and angle of particles described by two-body kinematics. Since the energy of a particle emitted with a particular scattering cosine $\\mu$ is determined by kinematics, it is only necessary to give $P(\\mu|E)$.", + "name": "angularTwoBody", + "occurrence": "choice", + "required": false + }, + "uncorrelated": { + "__class__": "nodes.ChildNode", + "description": "The outgoing energy and angular data are uncorrelated with respect to the projectile's energy and can thus be written as a product of the outgoing energy probability times the outgoing angular probability as $P(\\mu,E'|E) = P(E'|E) \\, P(\\mu|E)$. Both $P(\\mu,E'|E)$ and $P(E'|E)$ must be normalised to 1.", + "name": "uncorrelated", + "occurrence": "choice", + "required": false + }, + "angularEnergy": { + "__class__": "nodes.ChildNode", + "description": "The distribution is a hierarchy in $E$, then $\\mu$ and finally $E',P$. That is, the data are given at a list of $E$ values. For each $E$, there is an associated $P(\\mu,E')$. Each $P(\\mu,E')$ is given as a list $\\mu$ values. For each $\\mu$, there is an associated $f(E')$. The $f(E')$ can be an \\XYsOneD\\ or \\regionsOneD\\ functional data container.", + "name": "angularEnergy", + "occurrence": "choice", + "required": false + }, + "energyAngular": { + "__class__": "nodes.ChildNode", + "description": "The distribution is stored as a hierarchy in $E$, then $E'$ and finally $\\mu,P$. That is, the data are given at a list of $E$ values. For each $E$, there is an associated $P(E',\\mu)$. Each $P(E',\\mu)$ is given as a list $E'$ values. For each $E'$, there is an associated $f(\\mu)$. The $f(\\mu)$ can be an \\XYsOneD, \\regionsOneD\\ or \\LegendreOneD\\ functional data container.", + "name": "energyAngular", + "occurrence": "choice", + "required": false + }, + "KalbachMann": { + "__class__": "nodes.ChildNode", + "description": " The distribution is defined using Kalbach-Mann systematics.", + "name": "KalbachMann", + "occurrence": "choice", + "required": false + }, + "reference": { + "__class__": "nodes.ChildNode", + "description": "Contains a link to another \\element{distribution} form.", + "name": "reference", + "occurrence": "choice", + "required": false + }, + "branching3d": { + "__class__": "nodes.ChildNode", + "description": [ + "Indicates that the distribution can be computed from the decay information listed in the", + "\\element{PoPs} database. Currently only used for photon distributions from the decay", + "of discrete excited states (e.g. after inelastic scattering)." + ], + "name": "branching3d", + "occurrence": "choice", + "required": false + }, + "CoulombPlusNuclearElastic": { + "__class__": "nodes.ChildNode", + "description": "This is either a container holding the differential charged particle scattering cross section or a reference to said container.", + "name": "CoulombPlusNuclearElastic", + "occurrence": "choice", + "required": false + }, + "thermalNeutronScatteringLaw": { + "__class__": "nodes.ChildNode", + "description": "This contains a reference to the double-differential thermal neutron scattering law cross section.", + "name": "thermalNeutronScatteringLaw", + "occurrence": "choice", + "required": false + }, + "coherentPhotonScattering": { + "__class__": "nodes.ChildNode", + "description": "Describes coherent photon scattering off of an atom.", + "name": "coherentPhotonScattering", + "occurrence": "choice", + "required": false + }, + "incoherentPhotonScattering": { + "__class__": "nodes.ChildNode", + "description": "Describes incoherent photon scattering off of an atom.", + "name": "incoherentPhotonScattering", + "occurrence": "choice", + "required": false + }, + "unspecified": { + "__class__": "nodes.ChildNode", + "description": "The distribution is not specified\\footnote{This often happens for reactions with a heavy product, often called the residual, where the evaluator does not give the heavy product's distribution information. It also happens in legacy ENDF files where only the neutron and maybe the gamma distributions are given by the evaluator.}.", + "name": "unspecified", + "occurrence": "choice", + "required": false + }, + "multiGroup3d": { + "__class__": "nodes.ChildNode", + "description": "(appears only in processed data files). This is a multi-group Legendre expanded representation with grouped integration over $E$ and $E'$. The representation is used by deterministic transport codes.", + "name": "multiGroup3d", + "occurrence": "choice", + "required": false + }, + "angularEnergyMC": { + "__class__": "nodes.ChildNode", + "description": "(appears only in processed data files). The distribution is the product of $P(\\mu,E) \\times P(E' | E,\\mu)$. This representation is used by Monte Carlo transport codes.", + "name": "angularEnergyMC", + "occurrence": "choice", + "required": false + }, + "energyAngularMC": { + "__class__": "nodes.ChildNode", + "description": "(appears only in processed data files). The distribution is the product of $P(E',E) \\times P(\\mu | E,E')$. This representation is used by Monte Carlo transport codes.", + "name": "energyAngularMC", + "occurrence": "choice", + "required": false + } + }, + "description": "Container for all (un)correlated energy-angle distributions.", + "name": "distribution", + "required": false, + "rootNode": false + }, + "branching3d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} element associated with these data.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Used when a distribution (typically for photons emitted from a discrete excited state) can be computed from decay branching ratios listed in \\elemlink{PoPs}.", + "name": "branching3d", + "required": false, + "rootNode": false + }, + "multiGroup3d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} element associated with these data.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "gridded3d": { + "__class__": "nodes.ChildNode", + "description": [ + "Transfer matrices for each Legendre order, stored in a 3-dimensional array with axes 1) incident energy group, 2) outgoing energy group and 3) Legendre order.", + "Depending on the associated data \\element{style}, the transfer matrices may include corrections for thermal upscattering." + ], + "name": "gridded3d", + "occurrence": "1", + "required": true + } + }, + "description": "This is a multi-group Legendre expanded representation with groups integrated over $E$ and $E'$. The representation is used by deterministic transport codes.", + "name": "scatteringMatrix", + "required": false, + "rootNode": false + }, + "NBodyPhaseSpace":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "numberOfProducts": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The number of products being treated by this distribution.", + "name": "numberOfProducts", + "required": false, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": { + "mass": { + "__class__": "nodes.ChildNode", + "description": "The total mass of the products being treated by this distribution.", + "name": "mass", + "occurrence": "1", + "required": false + } + }, + "description": "Outgoing particles using the n-body phase-space formalism", + "name": "NBodyPhaseSpace", + "required": false, + "rootNode": false + }, + "angular_uncorrelated":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": "$P(\\mu|E)$ given as a 2d interpolation table.", + "name": "XYs2d", + "occurrence": "1", + "required": false + }, + "isotropic2d": { + "__class__": "nodes.ChildNode", + "description": "The angular distribution is isotropic so $P(\\mu|E)=1/2$.", + "name": "isotropic2d", + "occurrence": "1", + "required": false + }, + "forward": { + "__class__": "nodes.ChildNode", + "description": "The angular distribution is pure forward-peaked so $P(\\mu|E)=\\delta(\\mu-1)$.", + "name": "forward", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "angular", + "required": false, + "rootNode": false + }, + "energy_uncorrelated":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": "$P(E'|E)$ given as a 2d interpolation table.", + "name": "XYs2d", + "occurrence": "1", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": "$P(E'|E)$ given in multiple regions.", + "name": "regions2d", + "occurrence": "1", + "required": false + }, + "generalEvaporation": { + "__class__": "nodes.ChildNode", + "description": "$P(E'|E)$ stored as a general evapouration spectrum.", + "name": "generalEvaporation", + "occurrence": "1", + "required": false + }, + "discreteGamma": { + "__class__": "nodes.ChildNode", + "description": "$P(E'|E)=\\delta(E_\\gamma)$.", + "name": "discreteGamma", + "occurrence": "1", + "required": false + }, + "primaryGamma": { + "__class__": "nodes.ChildNode", + "description": "Energy distribution for a `primary capture gamma'. Unlike discrete gammas, the primary gamma energy varies with incident energy E.", + "name": "primaryGamma", + "occurrence": "1", + "required": false + }, + "NBodyPhaseSpace": { + "__class__": "nodes.ChildNode", + "description": "$P(E'|E)$ represented using N-body phase space (must be in the centre of mass).", + "name": "NBodyPhaseSpace", + "occurrence": "1", + "required": false + }, + "evaporation": { + "__class__": "nodes.ChildNode", + "description": "$P(E'|E)$ stored as an evapouration spectrum.", + "name": "evaporation", + "occurrence": "1", + "required": false + }, + "weightedFunctionals": { + "__class__": "nodes.ChildNode", + "description": "$P(E'|E)$ stored as the weighted sum of 2 or more other energy spectra.", + "name": "weightedFunctionals", + "occurrence": "1", + "required": false + }, + "simpleMaxwellianFission": { + "__class__": "nodes.ChildNode", + "description": "Maxwellian representation for $P(E'|E)$, primarily for fission neutrons.", + "name": "simpleMaxwellianFission", + "occurrence": "1", + "required": false + }, + "Watt": { + "__class__": "nodes.ChildNode", + "description": "Watt spectrum representation for $P(E'|E)$, primarily for fission neutrons.", + "name": "Watt", + "occurrence": "1", + "required": false + }, + "MadlandNix": { + "__class__": "nodes.ChildNode", + "description": "Madland-Nix parameterisation for $P(E'|E)$, primarily for fission neutrons.", + "name": "MadlandNix", + "occurrence": "1", + "required": false + } + + }, + "description": null, + "name": "energy", + "required": false, + "rootNode": false + }, + "angularEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} element associated with these data.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "XYs3d": { + "__class__": "nodes.ChildNode", + "description": "Distribution given as $P(\\mu, E'|E)$ using a $\\mu$ major ordering.", + "name": "XYs3d", + "occurrence": "1", + "required": true + } + }, + "description": "A valid $P(\\mu,E'|E)$ represented with either a \\XYsThreeD\\ or \\regionsThreeD\\ functional data container. A \\regionsThreeD\\ must contain one or more \\XYsThreeD. Each \\XYsThreeD\\ must contain a list of \\XYsTwoD and/or \\regionsTwoD\\ functional data container. A \\regionsTwoD\\ must contain one or more \\XYsTwoD. Each \\XYsTwoD must contain a list of \\XYsOneD\\ and/or \\regionsOneD\\ functional data container. Each \\regionsOneD\\ must contain one or more \\XYsOneD\\ functional data container.", + "name": "angularEnergy", + "required": false, + "rootNode": false + }, + "energyAngular":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} element associated with these data.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "XYs3d": { + "__class__": "nodes.ChildNode", + "description": "Distribution given as $P(E', \\mu|E)$ using a $E'$ major ordering.", + "name": "XYs3d", + "occurrence": "1", + "required": true + } + }, + "description": null, + "name": "energyAngular", + "required": false, + "rootNode": false + }, + "angularTwoBody":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} element associated with these data.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": "$P(\\mu|E)$ given as a 2d interpolation table.", + "name": "XYs2d", + "occurrence": "1", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": "The angular distribution is composed of multiple regions contained within this container.", + "name": "regions2d", + "occurrence": "1", + "required": false + }, + "isotropic2d": { + "__class__": "nodes.ChildNode", + "description": "The angular distribution is isotropic so $P(\\mu|E)=1/2$.", + "name": "isotropic2d", + "occurrence": "1", + "required": false + }, + "recoil": { + "__class__": "nodes.ChildNode", + "description": "The particle in question is recoiling from the rest of the system and it's angular distribution can be determined by kinematics.", + "name": "recoil", + "occurrence": "1", + "required": false + } + }, + "description": [ + "This form is used to describe the distribution in energy and angle of", + "particles described by two-body kinematics. ", + "It corresponds to ENDF's File 6, LAW=2 and is very similar to ENDF's File~4.", + "Since the energy of a particle emitted", + "with a particular scattering cosine $\\mathrm{\\mu}$ is determined by", + "kinematics, it is only necessary to give:", + "\\begin{eqnarray}", + " p_i (\\mu ,E) &=& \\int {dE' \\; f_i (\\mu ,E,E')} \\nonumber \\\\", + " &=& \\frac{1}{2} + \\sum_{l = 1}^{\\rm NL} {\\frac{{2l + 1}}{2} \\; a_l (E) \\; P_l (\\mu),}", + "\\end{eqnarray}", + "where the $P_{l}$ are the Legendre polynomials with maximum,", + "order NL. Note that the angular distribution $p_{i}$ is normalised." + ], + "name": "angularTwoBody", + "required": false, + "rootNode": false + }, + "uncorrelated":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} element associated with these data.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "angular_uncorrelated": { + "__class__": "nodes.ChildNode", + "description": "Any valid $P(\\mu|E)$ as defined in Section~\\ref{format:transport:angular}.", + "name": "angular", + "occurrence": "1", + "required": true + }, + "energy_uncorrelated": { + "__class__": "nodes.ChildNode", + "description": "Any valid $P(E'|E)$ as defined in Sections~\\ref{sec:edr}, \\ref{sec:edgbeem}, \\ref{sec:edfdg}, or \\ref{sec:edffn}.", + "name": "energy", + "occurrence": "1", + "required": true + } + }, + "description": "The outgoing energy and angular data are uncorrelated with respect to the projectile's energy and can thus be written as a product of the outgoing energy probability times the outgoing angular probability as $P(\\mu,E'|E) = P(E'|E) \\, P(\\mu|E)$. Note, both $P(\\mu,E'|E)$ and $P(E'|E)$ must be normalised to 1.", + "name": "uncorrelated", + "required": false, + "rootNode": false + }, + "recoil":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A link to the other product's distribution representation in a two-body channel.", + "name": "href", + "required": true, + "type": "bodyText" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "In \\element{recoil} scattering, the angular distribution is the reflection in all axes of the other emitted particle's two-body product. Hence, $f(E,\\mu) = f_{\\textrm{other}}(E,-\\mu)$ where $f_{\\textrm{other}}(E,\\mu)$ is the other product's angular distribution.", + "name": "recoil", + "required": false, + "rootNode": false + }, + "KalbachMann":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} element associated with these data.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in. Must always be \\centerOfMass.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "f": { + "__class__": "nodes.ChildNode", + "description": "Kalbach-Mann $f$ parameter.", + "name": "f", + "occurrence": "1", + "required": true + }, + "r": { + "__class__": "nodes.ChildNode", + "description": "Kalbach-Mann $r$ parameter.", + "name": "r", + "occurrence": "1", + "required": true + }, + "a": { + "__class__": "nodes.ChildNode", + "description": "Kalbach-Mann $a$ parameter.", + "name": "a", + "occurrence": "1", + "required": false + } + }, + "description": "Kalbach-Mann distribution for outgoing particles.", + "name": "KalbachMann", + "required": false, + "rootNode": false + }, + "generalEvaporation":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "U": { + "__class__": "nodes.ChildNode", + "description": "The U value.", + "name": "U", + "occurrence": "1", + "required": false + }, + "g": { + "__class__": "nodes.ChildNode", + "description": "Container that represents a valid $g(x)$ where $x = E' / \\theta(E)$", + "name": "g", + "occurrence": "1", + "required": false + }, + "theta": { + "__class__": "nodes.ChildNode", + "description": "Data container that represents a valid $\\theta(E)$", + "name": "theta", + "occurrence": "1", + "required": false + } + }, + "description": [ + "This defines the energy distribution for", + "\\begin{displaymath}", + " P(E'|E) = g\\left( E' / \\theta (E) \\right)", + "\\end{displaymath}", + "and is equivalent to ENDF-6's format's $f(E \\to E')$ in MF=5, LF=5." + ], + "name": "generalEvaporation", + "required": false, + "rootNode": false + }, + "weightedFunctionals":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "weighted": { + "__class__": "nodes.ChildNode", + "description": [ + "The partial energy distributions $f_{k}(E\\rightarrow E')$ are represented by various analytical formulations.", + "Each formulation is also an energy distribution." + ], + "name": "weighted", + "occurrence": "1", + "required": true + } + }, + "description": [ + "The energy distributions $P(E'|E)$ can be broken down into partial energy distributions $f_{k}(E\\rightarrow E')$,", + "where each of the partial distributions can be described by a different analytic representation;\n", + "\\begin{equation}\n", + " P(E'|E) = \\sum\\limits_{k = 1}^{\\rm NK} p_k (E)f_k (E \\to E')\n", + "\\end{equation}\n", + "and at a particular incident energy $E$,", + "\\begin{equation}\n", + " \\sum\\limits_{k = 1}^{\\rm NK} p_k (E) = 1\n", + "\\end{equation}\n", + "where $p_{k}(E)$ is the fractional probability", + "that the distribution $f_{k}(E\\rightarrow E')$ can be used at energy $E$.", + "The partial energy distributions $f_{k}(E\\rightarrow E')$ are represented by various analytical formulations.", + "Each formulation is also an energy distribution." + ], + "name": "weightedFunctionals", + "required": false, + "rootNode": false + }, + "evaporation":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "U": { + "__class__": "nodes.ChildNode", + "description": "The U value.", + "name": "U", + "occurrence": "1", + "required": false + }, + "theta": { + "__class__": "nodes.ChildNode", + "description": "Data container that represents a valid $\\theta(E)$", + "name": "theta", + "occurrence": "1", + "required": false + } + }, + "description": [ + "This element allows one to store a ``fixed temperature'' thermal spectrum and is equivalent to ENDF-6's MF=6, LF=9 format.", + "\\begin{displaymath}", + " P(E'|E) = \\frac{{E'}}{I}e^{ - E'/\\theta (E)}", + "\\end{displaymath}", + "where $I$ is the normalisation constant:", + "\\begin{displaymath}", + " I = \\theta ^2 \\left[ {1 - e^{ - (E - U)/\\theta } \\left(", + " {1 + \\frac{{E - U}}{\\theta }} \\right)} \\right]", + "\\end{displaymath}"], + "name": "evaporation", + "required": false, + "rootNode": false + }, + "unspecified":{ + "__class__": "nodes.Node", + "abstractNode": "distributionNode", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Name of the style in the \\element{styles} element associated with these data.", + "name": "label", + "required": false, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The distribution is not specified\\footnote{This often happens for reactions with a heavy product, (the heavy product is often called the residual) where the evaluator does not give the heavy product's distribution information. It also happens in legacy ENDF files where only the neutron and maybe the gamma distributions are given by the evaluator.}.", + "name": "unspecified", + "required": false, + "rootNode": false + }, + "discreteGamma":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "domainMax", + "required": false, + "type": "Float64" + }, + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "domainMin", + "required": false, + "type": "Float64" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": ["$E_\\gamma$, the outgoing gammma energy (in eV)"], + "name": "value", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "axes", + "occurrence": "1", + "required": false + } + }, + "description": ["This format is to store the discrete energy of a photon from a bound level-bound ", + "level transition in which either the initial or final level is unspecified. ", + "The photon energy is simply $E_\\gamma'$.\n"], + "name": "discreteGamma", + "required": false, + "rootNode": false + }, + "photonEmissionProbabilities":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "shell": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "shell", + "occurrence": "1", + "required": false + } + }, + "description": null, + "name": "photonEmissionProbabilities", + "required": false, + "rootNode": false + }, + "primaryGamma":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "domainMax": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "domainMax", + "required": false, + "type": "Float64" + }, + "domainMin": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "domainMin", + "required": false, + "type": "Float64" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "$E^0_\\gamma$, the parameter needed to define the outgoing gammma energy as a function of the incident particle energy (in eV).", + "If not given, then a \\attr{finalState} must be specified." + ], + "name": "value", + "required": false, + "type": "Float64" + }, + "finalState": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "The pid of the final state for this primary gamma ray transition. ", + "This should be a valid \\element{nuclide}'s \\attr{id}. ", + "If known, then modeling the coincidence gamma emission following this primary gamma can be done."], + "name": "finalState", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "axes": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "axes", + "occurrence": "1", + "required": false + } + }, + "description": ["This format is to store the discrete energy of a photon from an unbound level-bound level transition. ", + "The unbound level is above the target+projectile separation energy. ", + "The photon energy depends on the incident projectile energy $E$ and an optional parameter $E^0_\\gamma$.", + "Ignoring the recoil of the residual nucleus, ", + "\n\\begin{displaymath}\n\tE_\\gamma' = E^0_\\gamma + E \\; \\frac{M_{\\scriptsize{\\textrm{target}}}}{M_{\\scriptsize{\\textrm{target}}} + M_{\\scriptsize{\\textrm{projectile}}}}.\n\\end{displaymath}\n", + "Including the recoil, one finds ", + "\n\\begin{displaymath}\n\tE_\\gamma' = E^0_\\gamma + E \\; \\frac{M_{\\scriptsize{\\textrm{target}}}}{M_{\\scriptsize{\\textrm{target}}} + M_{\\scriptsize{\\textrm{projectile}}}} \\left(1-\\frac{Q}{(M_{\\scriptsize{\\textrm{target}}} + M_{\\scriptsize{\\textrm{projectile}}})c^2}\\right).\n\\end{displaymath}\n", + "where $Q=M_{\\scriptsize{\\textrm{target}}} + M_{\\scriptsize{\\textrm{projectile}}} - M_{\\scriptsize{\\textrm{residual}}}$.", + "The optional parameter $E^0_\\gamma$ is", + "\n\\begin{displaymath}\n\tE^0_\\gamma = Q \\; \\left(1-\\frac{Q}{2(M_{\\scriptsize{\\textrm{target}}} + M_{\\scriptsize{\\textrm{projectile}}})c^2}\\right).\n\\end{displaymath}\n", + "Thus, if the final state of the residual nucleus is known, then $M_{\\scriptsize{\\textrm{residual}}}$ is known, enabling both the recoil corrections and complete specification of $E^0_\\gamma$.", + "Furthermore, one has the additional information needed to continue the secondary cascade induced in the residual nucleus by the present primary gamma." + ], + "name": "primaryGamma", + "required": false, + "rootNode": false + }, + "production":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "ENDF_MT": { + "__class__": "nodes.Attribute", + "default": null, + "description": "An integer MT number (e.g. `3' for the non-elastic cross section which may produce gamma products).", + "name": "ENDF_MT", + "required": false, + "type": "Integer32" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "crossSection": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "crossSection", + "occurrence": "1", + "required": false + }, + "outputChannel": { + "__class__": "nodes.ChildNode", + "description": "Describes the secondary particle emissions from the reaction", + "name": "outputChannel", + "occurrence": "1", + "required": false + } + }, + "description": [ + "A \\elemlink{production} node defines a single production reaction.", + "Like the \\elemlink{reaction} it contains a cross section and an outputChannel.", + "Unlike a \\elemlink{reaction}, the \\elemlink{production} does not support", + "differentiating between different ways of getting to the same residual. For example,", + "the `n,d' `n,n+p' and `n,p+n' reactions all end up at the same residual. Inside the", + "\\elemlink{reactions} section, evaluators may choose to store each one separately.", + "In the \\elemlink{productions} section the three methods can be combined into a single", + "reaction that produces the final residual." + ], + "name": "production", + "required": false, + "rootNode": false + }, + "productions":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "production": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "production", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Production reactions are used for inventory applications (such as dosimetry, decay heat, activity, etc.) ", + "and for calculating the amount of ", + "material accreted and/or depleted during radiation exposure." + ], + "name": "productions", + "required": false, + "rootNode": false + }, + "incompleteReactions":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "reaction": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "reaction", + "occurrence": "1", + "required": false + } + }, + "description": [ + "The \\element{incompleteReactions} section allows evaluators to include information about reactions ", "without providing complete information. For example, some sub-actinide fission reaction cross sections ", + "may be included as only a total fission cross section. This allows simulations to account for the ", + "reaction while not considering all of the reaction process (e.g. neutron production and fission ", + "products) or allows the evaluator to provide unused, informative data. It is strongly recommended that", + "this be used only in cases where the reaction cross sections are negligible. " + ], + "name": "incompleteReactions", + "required": false, + "rootNode": false + }, + "summands":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "add": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "add", + "occurrence": "1+", + "required": false + } + }, + "description": null, + "name": "summands", + "required": false, + "rootNode": false + }, + "add":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "href", + "required": false, + "type": "bodyText" + } + }, + "bodyText": null, + "childNodes": {}, + "description": null, + "name": "add", + "required": false, + "rootNode": false + }, + "f":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs2d", + "occurrence": "choice", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "regions2d", + "occurrence": "choice", + "required": false + } + }, + "description": "Kalbach-Mann $f(E,E')$ parameter, stored either as an \\XYsTwoD\\ or \\regionsTwoD\\ functional data container.", + "name": "f", + "required": false, + "rootNode": false + }, + "g":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The $g(x)$ given as an interpolation table.", + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "The $g(x)$ given as a few interpolation tables.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": "An arbitrary energy dependent weighting, tabulated as a function of $x$, and $x = E'/\\theta (E)$.", + "name": "g", + "required": false, + "rootNode": false + }, + "r":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs2d", + "occurrence": "choice", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "regions2d", + "occurrence": "choice", + "required": false + } + }, + "description": "Kalbach-Mann $r(E,E')$ parameter, stored either as an \\XYsTwoD\\ or \\regionsTwoD\\ functional data container.", + "name": "r", + "required": false, + "rootNode": false + }, + "a":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "XYs2d", + "occurrence": "choice", + "required": false + }, + "regions2d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "regions2d", + "occurrence": "choice", + "required": false + } + }, + "description": "Kalbach-Mann $a(E,E')$ parameter, stored either as an \\XYsTwoD\\ or \\regionsTwoD\\ functional data container.", + "name": "a", + "required": false, + "rootNode": false + }, + "theta":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The $\\theta(E)$ given as an interpolation table.", + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "The $\\theta(E)$ given as a few interpolation tables.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": "$\\theta$ is an effective emission temperature.", + "name": "theta", + "required": false, + "rootNode": false + }, + "U":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A valid energy unit for U", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The value of U given as a Float64", + "name": "value", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "$U$ is a constant introduced to define the proper upper limit for the final particle energy such that $0 \\leq E' \\leq (E - U)$.", + "name": "U", + "required": false, + "rootNode": false + }, + "forward":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "In forward scattering, the product goes in the same direction as the projectile. As the distributions is always normalised to 1, $f(E,\\mu) = P(\\mu|E) = \\delta(\\mu - 1)$. This is needed per Section~26.1, paragraph 3 of the ENDF manual \\cite{ENDF6Doc}.", + "name": "forward", + "required": false, + "rootNode": false + }, + "isotropic2d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "When the scattering is isotropic and independent of energy $E$ the \\element{isotropic} angular distribution can be used. Normalisation is always 1; hence, $f(E,\\mu) = P(\\mu,E) = 1/2$.", + "name": "isotropic2d", + "required": false, + "rootNode": false + }, + "weighted":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The weighting function $p_k(E)$ given as an XYs1d.", + "name": "XYs1d", + "occurrence": "1", + "required": true + }, + "XYs2d": { + "__class__": "nodes.ChildNode", + "description": "The energy distribution $f_{k}(E\\rightarrow E')$ given as an \\element{XYs2d}.", + "name": "XYs2d", + "occurrence": "1", + "required": false + }, + "evaporation": { + "__class__": "nodes.ChildNode", + "description": "The energy distribution $f_{k}(E\\rightarrow E')$ given as an \\element{evaporation}.", + "name": "evaporation", + "occurrence": "1", + "required": false + }, + "generalEvaporation": { + "__class__": "nodes.ChildNode", + "description": "The energy distribution $f_{k}(E\\rightarrow E')$ given as an \\element{generalEvaporation}.", + "name": "generalEvaporation", + "occurrence": "1", + "required": false + }, + "simpleMaxwellianFission": { + "__class__": "nodes.ChildNode", + "description": "Maxwellian representation for $P(E'|E)$, primarily for fission neutrons.", + "name": "simpleMaxwellianFission", + "occurrence": "1", + "required": false + }, + "Watt": { + "__class__": "nodes.ChildNode", + "description": "Watt spectrum representation for $P(E'|E)$, primarily for fission neutrons.", + "name": "Watt", + "occurrence": "1", + "required": false + }, + "MadlandNix": { + "__class__": "nodes.ChildNode", + "description": "Madland-Nix parameterisation for $P(E'|E)$, primarily for fission neutrons.", + "name": "MadlandNix", + "occurrence": "1", + "required": false + } + }, + "description": [ + "The partial energy distributions $f_{k}(E\\rightarrow E')$ are represented by various analytical formulations.", + "Each formulation is itself an energy distribution." + ], + "name": "weighted", + "required": true, + "rootNode": false + }, + "reference":{ + "__class__": "nodes.Node", + "abstractNode": "labelNode", + "attributes": { + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Link (using xPath syntax) to another multiplicity in the file. Link may be absolute or relative.", + "name": "href", + "required": false, + "type": "bodyText" + }, + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": false, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "A multiplicity may consist of a link to another multiplicity in the same file. The primary purpose for this option is to associate fission neutron multiplicity with a fission \\element{reaction}.", + "name": "reference", + "required": false, + "rootNode": false + } +} diff --git a/standards/gnds-2.0/summary_tsl.json b/standards/gnds-2.0/summary_tsl.json new file mode 100644 index 000000000..fde49b612 --- /dev/null +++ b/standards/gnds-2.0/summary_tsl.json @@ -0,0 +1,895 @@ +{ + "__namespace__":"tsl", + "thermalNeutronScatteringLaw1d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Style label for this element.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The URL this element links to", + "name": "href", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Used to link the reaction \\element{crossSection} to the corresponding thermal neutron scattering law entry ", + "in the \\element{doubleDifferentialCrossSection}. " + ], + "name": "thermalNeutronScatteringLaw1d", + "required": true, + "rootNode": false + }, + + "thermalNeutronScatteringLaw":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Style label for this element.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The URL this element links to", + "name": "href", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Used to link the outgoing neutron \\element{distribution} to the corresponding thermal neutron scattering law entry ", + "in the \\element{doubleDifferentialCrossSection}. " + ], + "name": "thermalNeutronScatteringLaw", + "required": true, + "rootNode": false + }, + + "thermalNeutronScatteringLaw_coherentElastic":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Style label for this element.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": "n", + "description": "The id of the scattered particle (should always be `n').", + "name": "pid", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": "lab", + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "frame" + } + }, + "bodyText": null, + "childNodes": { + "S_table": { + "__class__": "nodes.ChildNode", + "description": "Cumulative structure factor as a function of incident energy and temperature.", + "name": "S_table", + "occurrence": "choice", + "required": false + }, + "BraggEdges": { + "__class__": "nodes.ChildNode", + "description": "Stores a list of Bragg edges along with energies and structure factors.", + "name": "BraggEdges", + "occurrence": "choice", + "required": false + } + }, + "description": [ + "Neutrons can only elastically scatter coherently off of regular substances such as crystals, including powdered crystalline material. ", + "The differential cross section for such scattering off a single scatterer can be written \\cite{ENDF6Doc}", + "\\begin{equation}", + " \\frac{d^2 \\sigma}{dE' \\; d\\Omega}(E \\to E', \\mu, T) = \\frac{1}{2\\pi E} \\sum_{j = 1}^{E_{j}(T) < E}", + " s_j(T)\\; \\delta (\\mu - \\mu_j(T) ) \\; \\delta (E - E' ) \\label{eq:BraggEdge}", + "\\end{equation}", + "where:", + "\\begin{equation}", + " \\mu_j(T) = 1 - \\frac{2E_j(T)}{E} \\label{eq:BraggEdgeMu}", + "\\end{equation}", + "The sum in (\\ref{eq:BraggEdge}) extends over all Bragg edges with energy less than $E$. ", + "\n\n", + "In other sources (e.g. \\cite{cacuci2010}), the structure factors $s_j(T)$ for the $i^{th}$ scatterer are written as ", + "\\begin{equation}", + "\\ s_j(T) = 2\\pi\\sigma_{\\textrm{\\scriptsize coh},i} f_j(T) \\exp({-4WE_j(T)}).", + "\\end{equation}", + "Here $f_j(T)$ is material dependent and plays the role of the crystallographic structure factors ", + "and $W$ is the Debye Waller factor.", + "\n\n", + "Two types of data containers can be used to store the energy- and temperature-dependent coherent elastic scattering factor: ", + "\\begin{itemize} ", + "\\item Using an `S\\_table' that stores the cumulative sum of the structure factor $$S(E,T) = \\sum\\limits_{i=1}^{E_i < E} s_i (T)$$", + "$S(E,T)$ uses histogram interpolation along incident energy $E$, i.e. the cumulative structure factor is flat until the next Bragg edge is encountered. ", + "This is the same method used to store the coherent elastic scattering factor in ENDF-6. ", + "\\item Storing a list of Bragg edges which include the temperature-dependent structure factor $s_j(T)$ and Bragg energy $E_j(T)$ for ", + "each Bragg edge. ", + "\\end{itemize}", + "Parameterized coherent and incoherent elastic scattering were added to the ENDF format in the early 1990's. " + ], + "name": "thermalNeutronScatteringLaw_coherentElastic", + "required": false, + "rootNode": false + }, + "S_table":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "gridded2d": { + "__class__": "nodes.ChildNode", + "description": [ + "Cumulative structure factors, $$S(E,T) = \\sum\\limits_{i=1}^{E_i < E} s_i (T)$$", + "The cumulative structure factor uses histogram interpolation along energy, with steps at each Bragg edge." + ], + "name": "gridded2d", + "occurrence": "1", + "required": true + } + }, + "description": "Stores the cumulative structure factor as a function of incident energy and temperature.", + "name": "S_table", + "required": true, + "rootNode": false + }, + + "BraggEdges":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "BraggEdge": { + "__class__": "nodes.ChildNode", + "description": "One Bragg edge's container. See section \\ref{format:tsl:BraggEdge}.", + "name": "BraggEdge", + "occurrence": "1+", + "required": true + } + }, + "description": "This is the container for descriptions of the Bragg edges.", + "name": "BraggEdges", + "required": true, + "rootNode": false + }, + "BraggEdge":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": null, + "name": "label", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "BraggEnergy": { + "__class__": "nodes.ChildNode", + "description": "An \\element{XYs1d} specifying the temperature dependence of the Bragg edge energy $E_j(T)$ in Eqs. (\\ref{eq:BraggEdge}) and (\\ref{eq:BraggEdgeMu}).", + "name": "BraggEnergy", + "occurrence": "1", + "required": true + }, + "structureFactor": { + "__class__": "nodes.ChildNode", + "description": "An \\element{XYs1d} specifying the structure factor for this Bragg edge, $s_j(T)$, for use in Eq. (\\ref{eq:BraggEdge}). ", + "name": "structureFactor", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Each Bragg edge has a (temperature-dependent) energy and intensity. ", + "The evaluator must define a scheme for interpolating both the energy and structure factor in temperature. ", + "Note that ENDF-6 does not provide a simple way to denote the temperature dependence of Bragg energies, leaving them to processing codes to determine.\n" + ], + "name": "BraggEdge", + "required": false, + "rootNode": false + }, + "BraggEnergy":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The temperature dependence of this Bragg edge's energy $E_j(T)$. ", + "name": "XYs1d", + "occurrence": "1", + "required": true + } + }, + "description": "An \\element{XYs1d} specifying the temperature dependence of the Bragg edge energy $E_j(T)$ for use in Eqs. \\eqref{eq:BraggEdge} and \\eqref{eq:BraggEdgeMu} ", + "name": "BraggEnergy", + "required": false, + "rootNode": false + }, + "structureFactor":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The structure factors for this Bragg edge, $s_j(T)=S(E_j,T)$. ", + "name": "XYs1d", + "occurrence": "1", + "required": true + } + }, + "description": "An \\element{XYs1d} specifying the structure factor for this Bragg edge, $s_j(T)$, for use in Eq. \\eqref{eq:BraggEdge}.", + "name": "structureFactor", + "required": true, + "rootNode": false + }, + + "thermalNeutronScatteringLaw_incoherentElastic":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Style label for this element.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The id of the scattered particle (should always be `n').", + "name": "pid", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "frame" + } + }, + "bodyText": null, + "childNodes": { + "boundAtomCrossSection": { + "__class__": "nodes.ChildNode", + "description": "The $\\sigma_{\\textrm{\\scriptsize bound},i}$ cross section for a single bound atom (of the principal scattering type).", + "name": "boundAtomCrossSection", + "occurrence": "1", + "required": true + }, + "DebyeWallerIntegral": { + "__class__": "nodes.ChildNode", + "description": "The Debye-Waller integral, divided by the atomic mass.", + "name": "DebyeWallerIntegral", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Elastic scattering can be treated in the incoherent approximation for ", + "partially ordered systems such as ZrH$_x$ and polyethylene. The ", + "differential cross section is given by: ", + "\\begin{equation}", + "\\frac{{d^2 \\sigma }}{{dE' \\: d\\Omega }}", + "(E \\to E' ,\\mu ,T) = \\frac{{\\sigma_\\textrm{\\scriptsize bound} }}{{4\\pi }}", + "\\mathop e\\nolimits^{ - 2EW'(T)(1 - \\mu )} \\; \\delta (E - E')", + "\\end{equation}", + "where: ", + "\\begin{varlist}", + "\\item[$\\sigma_\\textrm{\\scriptsize bound}$] is the characteristic bound cross section (barns)", + "\\item[$W'$] is the DebyeWaller integral divided by the atomic mass (eV$^{-1}$)", + "\\end{varlist}", + "and all the other symbols have their previous meanings. The ", + "integrated cross section is easily obtained:", + "\\begin{equation}", + "\\sigma (E) = \\frac{{\\sigma_\\textrm{\\scriptsize bound} }}{2}\\left( {\\frac{{1 - e^{ - 4EW'} }}{{2EW' }}} \\right)", + "\\end{equation}", + "\n\n", + "Note that the limit of $\\sigma$ for small $E$ is $\\sigma_{\\textrm{\\scriptsize bound}}$.", + "\n\n", + "This formalism can be used for energies up to 5 eV.", + "\n\n", + "For some moderator materials containing more than one kind of atom, ", + "the incoherent elastic cross section is computed as the sum of ", + "contributions from two different materials. As an example in the ENDF-6 format, H in ", + "ZrH$_{x}$ is given in MAT 0007, and Zr in ZrH$_{x}$ is given in MAT ", + "0058." + ], + "name": "thermalNeutronScatteringLaw_incoherentElastic", + "required": false, + "rootNode": false + }, + "DebyeWallerIntegral":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "Data container storing the temperature dependence of the Debye-Waller integral. Axes have units of temperature (e.g. `K') and inverse energy (e.g. `1/eV').", + "name": "XYs1d", + "occurrence": "1", + "required": true + } + }, + "description": "The Debye-Waller integral, divided by the atomic mass, in units of inverse energy, $W'(T)$", + "name": "DebyeWallerIntegral", + "required": true, + "rootNode": false + }, + + "thermalNeutronScatteringLaw_incoherentInelastic":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Style label for this element.", + "name": "label", + "required": true, + "type": "XMLName" + }, + "pid": { + "__class__": "nodes.Attribute", + "default": "n", + "description": "The id of the scattered particle (should always be `n').", + "name": "pid", + "required": true, + "type": "XMLName" + }, + "productFrame": { + "__class__": "nodes.Attribute", + "default": "lab", + "description": "The frame that the product data are defined in.", + "name": "productFrame", + "required": true, + "type": "frame" + }, + "incoherentApproximation": { + "__class__": "nodes.Attribute", + "default": true, + "description": "The incoherent approximation, where the ``distinct'' part of the scattering law is neglected (i.e. setting ${\\cal S}_{\\textrm{\\scriptsize dis},i}(\\alpha,\\beta,T) = 0$ and $\\sigma_{\\textrm{\\scriptsize inc},i}=0$).", + "name": "incoherentApproximation", + "required": false, + "type": "Boolean" + }, + "primaryScatterer": { + "__class__": "nodes.Attribute", + "default": null, + "description": [ + "the particle id of the primary scatterer. This value must match the \\attr{pid} of one of the ", + "\\element{scatteringAtom} elements contained in this element. ", + " The primary scatterer's mass is used to define $\\alpha$ as in ENDF-6." + ], + "name": "primaryScatterer", + "required": true, + "type": "XMLName" + } + }, + "bodyText": null, + "childNodes": { + "scatteringAtoms": { + "__class__": "nodes.ChildNode", + "description": "The container element for all thermal scattering law scatterers", + "name": "scatteringAtoms", + "occurrence": "1", + "required": true + } + }, + "description": [ + "For inelastic scattering, the cross section can be computed by summing together contributions from each type of atom in the molecule. ", + "For the i$^{th}$ scattering atom, the contribution to the total cross section is given by ", + "\\begin{equation}", + " \\frac{d^2\\sigma_i(E \\to E',\\mu ,T)}{dE'd\\Omega}=\\frac{M_i}{4\\pi k_BT} \\sqrt{\\frac{E'}{E}}\\left[", + " \\sigma_{\\textrm{\\scriptsize bound},i}{\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)+", + " \\sigma_{\\textrm{\\scriptsize coh},i}{\\cal S}_{\\textrm{\\scriptsize dis},i}(\\alpha,\\beta,T)\\right]", + " \\label{eq:inelasticTSL}", + "\\end{equation}", + "Here one has", + "\\begin{varlist}", + " \\item[${\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)$] Is the self term of the scattering kernel of the $i^{th}$ type scatterer,", + " \\item[${\\cal S}_{\\textrm{\\scriptsize dis},i}(\\alpha,\\beta,T)$] Is the distinct term of the scattering kernel of the $i^{th}$ type scatterer", + " \\item[$M_{i}$] Number of atoms of the $i^{th}$ type in the molecule or unit cell", + " \\item[$\\beta$] Energy transfer, $\\beta = (E' - E)/k_BT$", + " \\item[$\\alpha$] Momentum transfer, $\\alpha = \\left[ E' +E - 2\\mu \\sqrt{E E'}\\right] \\; /(m_{0}k_BT/m_n)$", + " \\item[$m_{0}$] the mass of the principal scattering atom in the molecule", + " \\item[$m_{n}$] the mass of the projectile, presumed to be a neutron (as this is thermal {\\em neutron} scattering data)", + " \\item[$\\sigma_{\\textrm{\\scriptsize coh},i}$] Coherent atom scattering cross section of the $i^{th}$ type scatterer", + " \\item[$\\sigma_{\\textrm{\\scriptsize inc},i}$] Incoherent atom scattering cross section of the $i^{th}$ type scatterer", + " \\item[$\\sigma_{\\textrm{\\scriptsize bound},i}$] Bound atom scattering cross section of the $i^{th}$ type scatterer in the molecule in question, note", + " \\begin{equation}", + " \\sigma_{\\textrm{\\scriptsize bound},i}=\\sigma_{\\textrm{\\scriptsize coh},i}+\\sigma_{\\textrm{\\scriptsize inc},i}", + " \\end{equation}", + " \\item[$\\sigma_{\\textrm{\\scriptsize free},i}$] Free scattering cross section of the $i^{th}$ type scatterer. In principal this should match the zero energy intercept of the equivalent fast region cross section. In practice it won't match because the fast region evaluation neglects the equation of state of the atom in the molecule in question so is usually treated as a free-gas equation of state. Note, the bound and free cross sections are related through", + " \\begin{equation}", + " \\sigma_{\\textrm{\\scriptsize bound},i} = \\sigma_{\\textrm{\\scriptsize free},i} \\left( \\frac{m_i + m_n}{m_i} \\right)^2", + " \\end{equation}", + "\\end{varlist}", + "\n\n", + "In the legacy ENDF-6 format, only the incoherent approximation is used." + ], + "name": "thermalNeutronScatteringLaw_incoherentInelastic", + "required": false, + "rootNode": false + }, + "scatteringAtom":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "pid": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Particle id for this scatterer. Note that the pid will often be an element (i.e. 'Zr') rather than a nuclide.", + "name": "pid", + "required": true, + "type": "XMLName" + }, + "primaryScatterer": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Denotes that the current scattering atom is the primary one.", + "name": "primaryScatterer", + "required": true, + "type": "Boolean" + }, + "numberPerMolecule": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The number of this scattering atom per `molecule' of scatterers.", + "name": "numberPerMolecule", + "required": true, + "type": "Integer32" + } + }, + "bodyText": null, + "childNodes": { + "mass": { + "__class__": "nodes.ChildNode", + "description": "Mass of this scattering atom. Note that unlike ENDF-6, the mass is for a single atom (not multiplied by the number of atoms/molecule).", + "name": "mass", + "occurrence": "1", + "required": true + }, + "e_critical": { + "__class__": "nodes.ChildNode", + "description": [ + "Energy ($E/k_BT$) above which the static model of elastic scattering is adequate. ", + "(total scattering properties may be obtained from fast region elastic and summed ", + "inelastic for the appropriate materials). This is equivalent to ENDF-6's B(2) value." + ], + "name": "e_critical", + "occurrence": "1", + "required": false + }, + "e_max": { + "__class__": "nodes.ChildNode", + "description": "The upper energy limit for which $S_{\\alpha, \\beta}$ may be used.", + "name": "e_max", + "occurrence": "1", + "required": true + }, + "boundAtomCrossSection": { + "__class__": "nodes.ChildNode", + "description": "The bound atom cross section for the principal scatterer. ", + "name": "boundAtomCrossSection", + "occurrence": "1", + "required": true + }, + "coherentAtomCrossSection": { + "__class__": "nodes.ChildNode", + "description": "The coherent cross section, $\\sigma_{\\textrm{\\scriptsize coh},i}$. In the incoherent approximation, this cross section is equivalent to the bound cross section, so is redundant.", + "name": "coherentAtomCrossSection", + "occurrence": "1", + "required": false + }, + "distinctScatteringKernel": { + "__class__": "nodes.ChildNode", + "description": "The distinct part of the scattering kernel, ${\\cal S}_{\\textrm{\\scriptsize dis},i}(\\alpha,\\beta,T)$", + "name": "distinctScatteringKernel", + "occurrence": "1", + "required": false + }, + "selfScatteringKernel": { + "__class__": "nodes.ChildNode", + "description": "The self part of the scattering kernel, ${\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)$", + "name": "selfScatteringKernel", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Each scatterer has its own contribution to the total thermal scattering law cross section. ", + "In the legacy ENDF-6 format, each scatterer is stored in its own file, leading to possible ", + "bookkeeping errors. For example, the thermal scatter law data for H$_2$O is broken into two ", + "files, {\\ttfamily tsl-HinH2O.endf} and {\\ttfamily tsl-OinH2O.endf}. ", + "In the {\\ttfamily tsl-HinH2O.endf} file, both the Hydrogen and Oxygen scatterers are ", + "listed, but only the data for Hydrogen is provided.", + "\n\n", + "In this format specification two possibilities are allowed:", + "\\begin{itemize}", + " \\item The legacy, multiple file, arrangement where the thermal scattering law data is split across several files", + " \\item A unified file where all the scatterers for a molecule are collected in one file,", + "\\end{itemize}", + "Either way one must provide enough data to support legacy data processing where each scattering ", + "center's data is separated so that it may be ``pasted'' on to the equivalent high energy evaluation. ", + "The free atom cross section is also provided in order to facilitate this ``pasting''." + ], + "name": "scatteringAtom", + "required": true, + "rootNode": false + }, + "scatteringAtoms":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "scatteringAtom": { + "__class__": "nodes.ChildNode", + "description": [ + "Each scatterer has its own contribution to the total thermal scattering law cross section, so all the information needed ", + "to compute this contribution is contained in this child element." + ], + "name": "scatteringAtom", + "occurrence": "1+", + "required": true + } + }, + "description": "To collect the data for all the scatterers together, one defines the following container element for all thermal scattering law scatterers.", + "name": "scatteringAtoms", + "required": true, + "rootNode": false + }, + "e_critical":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unit of energy. ``eV'' is a good choice.", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value of the energy.", + "name": "value", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Energy above which the static model of elastic scattering is adequate. Above this energy, total scattering properties may be obtained from MT=2 as givin in File 2 or 3 and File 4 of the appropriate materials. This is equivalent to ENDF-6's \\texttt{B(2)} field.", + "name": "e_critical", + "required": false, + "rootNode": false + }, + "e_max":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unit of energy. ``eV'' is a good choice.", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value of the energy.", + "name": "value", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The upper energy limit for which $S_{\\alpha, \\beta}$ may be used. This is equivalent to ENDF-6's \\texttt{B(4)} field.", + "name": "e_max", + "required": true, + "rootNode": false + }, + "boundAtomCrossSection":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Any valid unit of area is acceptable however ``b'' is most appropriate.", + "name": "unit", + "required": true, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value of the cross section.", + "name": "value", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The $\\sigma_{\\textrm{\\scriptsize bound},i}$ cross section.", + "name": "boundAtomCrossSection", + "required": true, + "rootNode": false + }, + "coherentAtomCrossSection":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unit of area, such as ``b''.", + "name": "unit", + "required": true, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value of the cross section.", + "name": "value", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "The coherent cross section, $\\sigma_{\\textrm{\\scriptsize coh},i}$. In the incoherent approximation, this cross section is equivalent to the bound cross section, so is redundant.", + "name": "coherentAtomCrossSection", + "required": false, + "rootNode": false + }, + "selfScatteringKernel":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "symmetric": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Indicates whether the asymmetric version of the scattering kernel is used. Equivalent to the ENDF-6 \\texttt{LASYM} flag.", + "name": "symmetric", + "required": false, + "type": "Boolean" + } + }, + "bodyText": null, + "childNodes": { + "gridded3d": { + "__class__": "nodes.ChildNode", + "description": "The self part of the scattering kernel using a \\element{gridded3d} container with axes $\\alpha$, $\\beta$ and $T$", + "name": "gridded3d", + "occurrence": "choice", + "required": false + }, + "selfScatteringKernelGaussianApproximation": { + "__class__": "nodes.ChildNode", + "description": "The self part of the scattering kernel using the Gaussian approximation.", + "name": "selfScatteringKernelGaussianApproximation", + "occurrence": "choice", + "required": false + }, + "selfScatteringKernelSCTApproximation": { + "__class__": "nodes.ChildNode", + "description": [ + "The self part of the scattering kernel using the short collision time approximation. ", + "Note: this approximation is only meant to be used in the event that the user ``falls off'' ", + "the $\\alpha$--$\\beta$ grid when using one of the other approximations." + ], + "name": "selfScatteringKernelSCTApproximation", + "occurrence": "1", + "required": false + } + }, + "description": [ + "The self-part of the scattering kernel, denoted as ${\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)$. ", + "If the kernel is symmetric in $\\beta$, then it is useful to define and provide ", + "$S_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)=e^{\\beta/2}{\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)$. ", + "With this, ", + "${\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)=e^{-\\beta}{\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,-\\beta,T)$ ", + "becomes $S_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)=S_{\\textrm{\\scriptsize self},i}(\\alpha,-\\beta,T)$.", + "\n\n", + "Note that the rectangular $\\alpha-\\beta$ grid covered by the the interpolation tables here, when mapped ", + "back to $E-\\mu$ space, does not cover the full range of $E$ and $\\mu$. In the legacy ENDF format the ", + "$\\alpha-\\beta$ grid is padded with zeros. When one encounters the zeros, one is supposed to switch from ", + "the full ${\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)$ to the short collision time approximation. ", + "How this transition is effected in practice is defined by the processing codes.", + "\n\n", + "In ENDF, there is an option for storing $\\log({\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T))$, ", + "rather than ${\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)$. This allows for a larger dynamic ", + "range of values of ${\\cal S}_{\\textrm{\\scriptsize self},i}(\\alpha,\\beta,T)$, given ENDF's limited precision. ", + "GNDS does not suffer from the same space limitations of ENDF so has no need for this flag." + ], + "name": "selfScatteringKernel", + "required": true, + "rootNode": false + }, + "distinctScatteringKernel":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "gridded3d": { + "__class__": "nodes.ChildNode", + "description": "The distinct part of the scattering kernel using a \\element{gridded3d} container with axes $\\alpha$, $\\beta$ and $T$", + "name": "gridded3d", + "occurrence": "1", + "required": false + } + }, + "description": "The distinct part of the scattering kernel, ${\\cal S}_{\\textrm{\\scriptsize dis},i}(\\alpha,\\beta,T)$", + "name": "distinctScatteringKernel", + "required": false, + "rootNode": false + }, + + "selfScatteringKernelGaussianApproximation":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "phononSpectrum": { + "__class__": "nodes.ChildNode", + "description": "The phonon spectrum $\\rho(\\omega)$.", + "name": "phononSpectrum", + "occurrence": "1", + "required": false + } + }, + "description": [ + "By making the so-called Gaussian approximation to the intermediate scattering function ", + "\\cite{VanHove1954,HehrThesis}, the self part of the scattering kernel can be written in terms of ", + "the material phonon spectrum $\\rho(\\omega)$: ", + "\\begin{equation}", + " {\\cal S}_{\\textrm{\\scriptsize self}}(\\alpha, \\beta)=\\frac{1}{2\\pi}\\int_{-\\infty}^{\\infty}dt\\,e^{i\\beta t}e^{-\\gamma(t)}", + "\\end{equation}", + "where ", + "\\begin{equation}", + " \\gamma(t) = \\alpha\\int_{-\\infty}^{\\infty} d\\omega \\rho(\\omega)\\left(1-e^{-i\\omega t}\\right)\\frac{e^{-\\omega/2k_BT}}{(2\\omega/k_BT) \\sinh(\\omega/2k_BT)}", + "\\end{equation}", + "This Fourier transform is coded in R.E. MacFarlane's LEAPR module of NJOY \\cite{NJOYManual} and can be ", + "used to generate the inelastic scattering kernel. ", + "\n\n", + "Note that if the full scattering kernel is well approximated by only the self term and in this ", + "Gaussian approximation, the entire scattering kernel can be specified with the phonon spectrum. ", + "This spectrum may have a discrete portion and/or a continuous portion. Nevertheless, this offers one a ", + "compact way to encapsulate the scattering kernel and it provides one with a two-dimensional object that ", + "one can use to specify covariance." + ], + "name": "selfScatteringKernelGaussianApproximation", + "required": false, + "rootNode": false + }, + "phononSpectrum":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "The actual interpolation table for the phonon spectrum $\\rho(\\omega)$ ", + "name": "XYs1d", + "occurrence": "1", + "required": true + } + }, + "description": "The phonon spectrum $\\rho(\\omega)$", + "name": "phononSpectrum", + "required": false, + "rootNode": false + }, + + "selfScatteringKernelSCTApproximation":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "T_effective": { + "__class__": "nodes.ChildNode", + "description": "Effective temperature to use for this scattering atom in the short-collision-time approximation.", + "name": "T_effective", + "occurrence": "1", + "required": false + } + }, + "description": [ + "For high incident energies, $\\alpha$ and/or $\\beta$ values may be ", + "required that are outside the ranges tabulated for $S(\\alpha,\\beta)$. ", + "In these cases, the short-collision-time (SCT) approximation should be ", + "used.\\footnote{This equation is given correctly in the General Atomics ", + "report GA-9950, UC-80, Reactor Technology (1970), but is misprinted in ", + "LA-9303-M VOL II (ENDF-324) 1982, and in BNL-NCS-44945-05-Revised June 2005 (ENDF-102).} ", + "\\begin{equation}", + " S_{\\textrm{\\scriptsize self},i} (\\alpha, \\beta, T) \\approx", + " \\frac{ \\exp \\left[ -\\frac{\\left( \\alpha - \\left| \\beta \\right| \\right)^2 T}{4\\alpha T_{\\textrm{\\scriptsize eff},i} (T )}", + " - \\frac{ |\\beta |}{2} \\right] }{\\sqrt {4\\pi \\alpha \\frac{T_{\\textrm{\\scriptsize eff},i} (T)}{T} }}", + "\\end{equation}", + "The legacy ENDF-6 format signals this with the B(7)=0.0 flag" + ], + "name": "selfScatteringKernelSCTApproximation", + "required": false, + "rootNode": false + }, + "T_effective":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "Function giving the correspondence between actual and effective temperature. Both axes are in units of temperature, e.g. `K'.", + "name": "XYs1d", + "occurrence": "1", + "required": true + } + }, + "description": "Effective temperatures for use in the short collision time approximation.", + "name": "T_effective", + "required": false, + "rootNode": false + } +} From 60b7dbfc4d47bdd2d1ad526fb14d10710b79daf6 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 4 Nov 2021 14:02:55 -0600 Subject: [PATCH 008/235] Adding the Parity enumerator --- cmake/unit_testing.cmake | 2 + src/GNDStk/enums.hpp | 2 + src/GNDStk/enums/Parity.hpp | 52 +++++++++++ src/GNDStk/enums/Parity/test/CMakeLists.txt | 18 ++++ src/GNDStk/enums/Parity/test/Parity.test.cpp | 90 ++++++++++++++++++++ 5 files changed, 164 insertions(+) create mode 100644 src/GNDStk/enums/Parity.hpp create mode 100644 src/GNDStk/enums/Parity/test/CMakeLists.txt create mode 100644 src/GNDStk/enums/Parity/test/Parity.test.cpp diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index bf5bacd44..e26f230d8 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -29,6 +29,8 @@ add_subdirectory( src/GNDStk/Component/test ) add_subdirectory( src/GNDStk/BodyText/test ) add_subdirectory( src/GNDStk/precision/test ) +add_subdirectory( src/GNDStk/enums/Parity/test ) + add_subdirectory( src/GNDStk/enums/Encoding/test ) add_subdirectory( src/GNDStk/enums/Frame/test ) add_subdirectory( src/GNDStk/enums/GridStyle/test ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 57e9f4071..fe751885e 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -1,6 +1,8 @@ #include "GNDStk/enums/enumeration.hpp" +#include "GNDStk/enums/Parity.hpp" + // general #include "GNDStk/enums/Encoding.hpp" #include "GNDStk/enums/Frame.hpp" diff --git a/src/GNDStk/enums/Parity.hpp b/src/GNDStk/enums/Parity.hpp new file mode 100644 index 000000000..4f314963e --- /dev/null +++ b/src/GNDStk/enums/Parity.hpp @@ -0,0 +1,52 @@ +#ifndef NJOY_GNDSTK_PARITY +#define NJOY_GNDSTK_PARITY + +namespace enums { + + /** + * @class + * @brief Enumeration class for particle parity + */ + enum class Parity { + + minus = -1, + plus = +1 + }; + + /** + * @brief Return whether or not a string is a valid parity + * + * @param[in] string the string to be verified + * + * @return true/false + */ + inline bool isParity( const std::string& string ) { + + return isSymbol< Parity >( string ); + } + + /** + * @brief Template specialisation to convert Parity to/from strings + */ + template <> + class Map< GNDStk::enums::Parity > { + public: + + static inline const std::map< GNDStk::enums::Parity, + const std::string > values{ + + { GNDStk::enums::Parity::minus, "-1" }, + { GNDStk::enums::Parity::plus, "+1" } + }; + + static inline const std::map< const std::string, + GNDStk::enums::Parity > symbols{ + + { "-1", GNDStk::enums::Parity::minus }, + { "+1", GNDStk::enums::Parity::plus } + }; + }; + +} // namespace enums + +#endif diff --git a/src/GNDStk/enums/Parity/test/CMakeLists.txt b/src/GNDStk/enums/Parity/test/CMakeLists.txt new file mode 100644 index 000000000..2f659f4f0 --- /dev/null +++ b/src/GNDStk/enums/Parity/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.enums.Parity.test Parity.test.cpp ) +target_compile_options( GNDStk.enums.Parity.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.enums.Parity.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.enums.Parity COMMAND GNDStk.enums.Parity.test ) diff --git a/src/GNDStk/enums/Parity/test/Parity.test.cpp b/src/GNDStk/enums/Parity/test/Parity.test.cpp new file mode 100644 index 000000000..3d4e8f250 --- /dev/null +++ b/src/GNDStk/enums/Parity/test/Parity.test.cpp @@ -0,0 +1,90 @@ +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +// other includes + +// convenience typedefs +using namespace njoy::GNDStk; +using Parity = enums::Parity; + +SCENARIO( "Parity" ) { + + GIVEN( "valid frame values and symbols" ) { + + WHEN( "toString is used" ) { + + THEN( "no exception is thrown and the correct string is returned" ) { + + CHECK( "-1" == enums::toString( Parity::minus ) ); + CHECK( "+1" == enums::toString( Parity::plus ) ); + } // THEN + } // WHEN + + WHEN( "fromString is used" ) { + + THEN( "no exception is thrown when the symbol is registered" ) { + + CHECK( Parity::minus == enums::fromString< Parity >( "-1" ) ); + CHECK( Parity::plus == enums::fromString< Parity >( "+1" ) ); + } // THEN + + THEN( "an exception is thrown when the symbol is not registered" ) { + + CHECK_THROWS( enums::fromString< Parity >( "unregistered" ) ); + } // THEN + } // WHEN + + WHEN( "operator<< is used" ) { + + THEN( "no exception is thrown and the symbol is written to the stream" ) { + + std::ostringstream out; + out << Parity::minus << ' ' << Parity::plus; + + CHECK( "-1 +1" == out.str() ); + } // THEN + } // WHEN + + WHEN( "operator>> is used" ) { + + THEN( "the stream is not in fail() when the symbol is registered" ) { + + Parity value; + std::istringstream in( "-1 +1" ); + + in >> value; + CHECK( Parity::minus == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( Parity::plus == value ); + CHECK( false == in.fail() ); + CHECK( true == in.eof() ); + } // THEN + + THEN( "the stream is in fail() and the position has not changed when " + "the symbol is not registered" ) { + + Parity value = Parity::plus; + std::istringstream in( "unregistered" ); + in >> value; + + CHECK( Parity::plus == value ); + CHECK( true == in.fail() ); + } // THEN + } // WHEN + + WHEN( "isParity is used" ) { + + THEN( "registered frame values return true, unregistered frame values return false" ) { + + CHECK( true == enums::isParity( "-1" ) ); + CHECK( true == enums::isParity( "+1" ) ); + CHECK( false == enums::isParity( "unregistered" ) ); + } // THEN + } // WHEN + } // GIVEN +} // SCENARIO From 84236c4266d4358e600b48bb11c1c7b201ca61bd Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 4 Nov 2021 14:22:45 -0600 Subject: [PATCH 009/235] Adding the InterpolationQualifier enumerator --- cmake/unit_testing.cmake | 5 +- src/GNDStk/enums.hpp | 5 +- src/GNDStk/enums/Frame.hpp | 4 +- src/GNDStk/enums/Frame/test/Frame.test.cpp | 3 +- src/GNDStk/enums/Interpolation.hpp | 4 +- .../Interpolation/test/Interpolation.test.cpp | 3 +- src/GNDStk/enums/InterpolationQualifier.hpp | 58 +++++++++ .../test/CMakeLists.txt | 18 +++ .../test/InterpolationQualifier.test.cpp | 118 ++++++++++++++++++ src/GNDStk/enums/Parity.hpp | 2 +- src/GNDStk/enums/Parity/test/Parity.test.cpp | 3 +- 11 files changed, 209 insertions(+), 14 deletions(-) create mode 100644 src/GNDStk/enums/InterpolationQualifier.hpp create mode 100644 src/GNDStk/enums/InterpolationQualifier/test/CMakeLists.txt create mode 100644 src/GNDStk/enums/InterpolationQualifier/test/InterpolationQualifier.test.cpp diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index e26f230d8..09d52e7c2 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -30,12 +30,13 @@ add_subdirectory( src/GNDStk/BodyText/test ) add_subdirectory( src/GNDStk/precision/test ) add_subdirectory( src/GNDStk/enums/Parity/test ) +add_subdirectory( src/GNDStk/enums/Frame/test ) +add_subdirectory( src/GNDStk/enums/Interpolation/test ) +add_subdirectory( src/GNDStk/enums/InterpolationQualifier/test ) add_subdirectory( src/GNDStk/enums/Encoding/test ) -add_subdirectory( src/GNDStk/enums/Frame/test ) add_subdirectory( src/GNDStk/enums/GridStyle/test ) add_subdirectory( src/GNDStk/enums/Interaction/test ) -add_subdirectory( src/GNDStk/enums/Interpolation/test ) add_subdirectory( src/GNDStk/enums/StorageOrder/test ) add_subdirectory( src/GNDStk/enums/units/Energy/test ) add_subdirectory( src/GNDStk/enums/units/Length/test ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index fe751885e..38234b79f 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -2,13 +2,14 @@ #include "GNDStk/enums/enumeration.hpp" #include "GNDStk/enums/Parity.hpp" +#include "GNDStk/enums/Frame.hpp" +#include "GNDStk/enums/Interpolation.hpp" +#include "GNDStk/enums/InterpolationQualifier.hpp" // general #include "GNDStk/enums/Encoding.hpp" -#include "GNDStk/enums/Frame.hpp" #include "GNDStk/enums/GridStyle.hpp" #include "GNDStk/enums/Interaction.hpp" -#include "GNDStk/enums/Interpolation.hpp" #include "GNDStk/enums/StorageOrder.hpp" // units-specific diff --git a/src/GNDStk/enums/Frame.hpp b/src/GNDStk/enums/Frame.hpp index 5b598e67f..7555c5523 100644 --- a/src/GNDStk/enums/Frame.hpp +++ b/src/GNDStk/enums/Frame.hpp @@ -6,9 +6,7 @@ namespace enums { /** * @class - * @brief Enumeration class giving acceptable frame values - * - * See GNDS v1.9 specifications section 3.5.3 + * @brief Enumeration class for reference frame values */ enum class Frame { diff --git a/src/GNDStk/enums/Frame/test/Frame.test.cpp b/src/GNDStk/enums/Frame/test/Frame.test.cpp index 2448994ff..ec5f22597 100644 --- a/src/GNDStk/enums/Frame/test/Frame.test.cpp +++ b/src/GNDStk/enums/Frame/test/Frame.test.cpp @@ -79,7 +79,8 @@ SCENARIO( "Frame" ) { WHEN( "isFrame is used" ) { - THEN( "registered frame values return true, unregistered frame values return false" ) { + THEN( "registered frame values return true, " + "unregistered frame values return false" ) { CHECK( true == enums::isFrame( "lab" ) ); CHECK( true == enums::isFrame( "centerOfMass" ) ); diff --git a/src/GNDStk/enums/Interpolation.hpp b/src/GNDStk/enums/Interpolation.hpp index 94281587e..2ee197086 100644 --- a/src/GNDStk/enums/Interpolation.hpp +++ b/src/GNDStk/enums/Interpolation.hpp @@ -6,9 +6,7 @@ namespace enums { /** * @class - * @brief Enumeration class giving acceptable interpolation values - * - * See GNDS v1.9 specifications section 3.5.3 + * @brief Enumeration class for interpolation values */ enum class Interpolation { diff --git a/src/GNDStk/enums/Interpolation/test/Interpolation.test.cpp b/src/GNDStk/enums/Interpolation/test/Interpolation.test.cpp index 64a19e6ee..91a846d89 100644 --- a/src/GNDStk/enums/Interpolation/test/Interpolation.test.cpp +++ b/src/GNDStk/enums/Interpolation/test/Interpolation.test.cpp @@ -110,7 +110,8 @@ SCENARIO( "Interpolation" ) { WHEN( "isInterpolation is used" ) { - THEN( "registered interpolation values return true, unregistered interpolation values return false" ) { + THEN( "registered interpolation values return true, " + "unregistered interpolation values return false" ) { CHECK( true == enums::isInterpolation( "flat" ) ); CHECK( true == enums::isInterpolation( "lin-lin" ) ); diff --git a/src/GNDStk/enums/InterpolationQualifier.hpp b/src/GNDStk/enums/InterpolationQualifier.hpp new file mode 100644 index 000000000..5d1e2bf49 --- /dev/null +++ b/src/GNDStk/enums/InterpolationQualifier.hpp @@ -0,0 +1,58 @@ +#ifndef NJOY_GNDSTK_INTERPOLATIONQUALIFIER +#define NJOY_GNDSTK_INTERPOLATIONQUALIFIER + +namespace enums { + + /** + * @class + * @brief Enumeration class for interpolation qualifier values + */ + enum class InterpolationQualifier { + + direct = 1, + unitBase, + correspondingEnergies, + correspondingPoints + }; + + /** + * @brief Return whether or not a string is a valid parity + * + * @param[in] string the string to be verified + * + * @return true/false + */ + inline bool isInterpolationQualifier( const std::string& string ) { + + return isSymbol< InterpolationQualifier >( string ); + } + + /** + * @brief Template specialisation to convert InterpolationQualifier to/from strings + */ + template <> + class Map< GNDStk::enums::InterpolationQualifier > { + public: + + static inline const std::map< GNDStk::enums::InterpolationQualifier, + const std::string > values{ + + { GNDStk::enums::InterpolationQualifier::direct, "direct" }, + { GNDStk::enums::InterpolationQualifier::unitBase, "unitBase" }, + { GNDStk::enums::InterpolationQualifier::correspondingEnergies, "correspondingEnergies" }, + { GNDStk::enums::InterpolationQualifier::correspondingPoints, "correspondingPoints" } + }; + + static inline const std::map< const std::string, + GNDStk::enums::InterpolationQualifier > symbols{ + + { "direct", GNDStk::enums::InterpolationQualifier::direct }, + { "unitBase", GNDStk::enums::InterpolationQualifier::unitBase }, + { "correspondingEnergies", GNDStk::enums::InterpolationQualifier::correspondingEnergies }, + { "correspondingPoints", GNDStk::enums::InterpolationQualifier::correspondingPoints } + }; + }; + +} // namespace enums + +#endif diff --git a/src/GNDStk/enums/InterpolationQualifier/test/CMakeLists.txt b/src/GNDStk/enums/InterpolationQualifier/test/CMakeLists.txt new file mode 100644 index 000000000..6f280bddc --- /dev/null +++ b/src/GNDStk/enums/InterpolationQualifier/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.enums.InterpolationQualifier.test InterpolationQualifier.test.cpp ) +target_compile_options( GNDStk.enums.InterpolationQualifier.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.enums.InterpolationQualifier.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.enums.InterpolationQualifier COMMAND GNDStk.enums.InterpolationQualifier.test ) diff --git a/src/GNDStk/enums/InterpolationQualifier/test/InterpolationQualifier.test.cpp b/src/GNDStk/enums/InterpolationQualifier/test/InterpolationQualifier.test.cpp new file mode 100644 index 000000000..2f681667c --- /dev/null +++ b/src/GNDStk/enums/InterpolationQualifier/test/InterpolationQualifier.test.cpp @@ -0,0 +1,118 @@ +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +// other includes + +// convenience typedefs +using namespace njoy::GNDStk; +using InterpolationQualifier = enums::InterpolationQualifier; + +SCENARIO( "InterpolationQualifier" ) { + + GIVEN( "valid interpolation values and symbols" ) { + + WHEN( "toString is used" ) { + + THEN( "no exception is thrown and the correct string is returned" ) { + + CHECK( "direct" == enums::toString( InterpolationQualifier::direct ) ); + CHECK( "unitBase" == enums::toString( InterpolationQualifier::unitBase ) ); + CHECK( "correspondingEnergies" + == enums::toString( InterpolationQualifier::correspondingEnergies ) ); + CHECK( "correspondingPoints" + == enums::toString( InterpolationQualifier::correspondingPoints ) ); + } // THEN + } // WHEN + + WHEN( "fromString is used" ) { + + THEN( "no exception is thrown when the symbol is registered" ) { + + CHECK( InterpolationQualifier::direct + == enums::fromString< InterpolationQualifier >( "direct" ) ); + CHECK( InterpolationQualifier::unitBase + == enums::fromString< InterpolationQualifier >( "unitBase" ) ); + CHECK( InterpolationQualifier::correspondingEnergies + == enums::fromString< InterpolationQualifier >( "correspondingEnergies" ) ); + CHECK( InterpolationQualifier::correspondingPoints + == enums::fromString< InterpolationQualifier >( "correspondingPoints" ) ); + } // THEN + + THEN( "an exception is thrown when the symbol is not registered" ) { + + CHECK_THROWS( enums::fromString< InterpolationQualifier >( "unregistered" ) ); + } // THEN + } // WHEN + + WHEN( "operator<< is used" ) { + + THEN( "no exception is thrown and the symbol is written to the stream" ) { + + std::ostringstream out; + out << InterpolationQualifier::direct << ' ' + << InterpolationQualifier::unitBase << ' ' + << InterpolationQualifier::correspondingEnergies << ' ' + << InterpolationQualifier::correspondingPoints; + + CHECK( "direct unitBase correspondingEnergies correspondingPoints" + == out.str() ); + } // THEN + } // WHEN + + WHEN( "operator>> is used" ) { + + THEN( "the stream is not in fail() when the symbol is registered" ) { + + InterpolationQualifier value; + std::istringstream in( "direct unitBase correspondingEnergies " + "correspondingPoints" ); + + in >> value; + CHECK( InterpolationQualifier::direct == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( InterpolationQualifier::unitBase == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( InterpolationQualifier::correspondingEnergies == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( InterpolationQualifier::correspondingPoints == value ); + CHECK( false == in.fail() ); + CHECK( true == in.eof() ); + } // THEN + + THEN( "the stream is in fail() and the position has not changed when " + "the symbol is not registered" ) { + + InterpolationQualifier value = InterpolationQualifier::unitBase; + std::istringstream in( "unregistered" ); + in >> value; + + CHECK( InterpolationQualifier::unitBase == value ); + CHECK( true == in.fail() ); + } // THEN + } // WHEN + + WHEN( "isInterpolationQualifier is used" ) { + + THEN( "registered interpolation qualifier values return true, " + "unregistered interpolation values return false" ) { + + CHECK( true == enums::isInterpolationQualifier( "direct" ) ); + CHECK( true == enums::isInterpolationQualifier( "unitBase" ) ); + CHECK( true == enums::isInterpolationQualifier( "correspondingEnergies" ) ); + CHECK( true == enums::isInterpolationQualifier( "correspondingPoints" ) ); + CHECK( false == enums::isInterpolationQualifier( "unregistered" ) ); + } // THEN + } // WHEN + } // GIVEN +} // SCENARIO diff --git a/src/GNDStk/enums/Parity.hpp b/src/GNDStk/enums/Parity.hpp index 4f314963e..4c8e2485c 100644 --- a/src/GNDStk/enums/Parity.hpp +++ b/src/GNDStk/enums/Parity.hpp @@ -5,7 +5,7 @@ namespace enums { /** * @class - * @brief Enumeration class for particle parity + * @brief Enumeration class for particle parity values */ enum class Parity { diff --git a/src/GNDStk/enums/Parity/test/Parity.test.cpp b/src/GNDStk/enums/Parity/test/Parity.test.cpp index 3d4e8f250..b12d9ae2b 100644 --- a/src/GNDStk/enums/Parity/test/Parity.test.cpp +++ b/src/GNDStk/enums/Parity/test/Parity.test.cpp @@ -79,7 +79,8 @@ SCENARIO( "Parity" ) { WHEN( "isParity is used" ) { - THEN( "registered frame values return true, unregistered frame values return false" ) { + THEN( "registered parity values return true, " + "unregistered parity values return false" ) { CHECK( true == enums::isParity( "-1" ) ); CHECK( true == enums::isParity( "+1" ) ); From 9610406ef5a6f82e7abebc76fd734eddae8dbf4b Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 4 Nov 2021 14:44:06 -0600 Subject: [PATCH 010/235] Adding the HashAlgorithm enumerator --- cmake/unit_testing.cmake | 1 + src/GNDStk/enums.hpp | 1 + src/GNDStk/enums/HashAlgorithm.hpp | 52 +++++++++++ .../enums/HashAlgorithm/test/CMakeLists.txt | 18 ++++ .../HashAlgorithm/test/HashAlgorithm.test.cpp | 91 +++++++++++++++++++ 5 files changed, 163 insertions(+) create mode 100644 src/GNDStk/enums/HashAlgorithm.hpp create mode 100644 src/GNDStk/enums/HashAlgorithm/test/CMakeLists.txt create mode 100644 src/GNDStk/enums/HashAlgorithm/test/HashAlgorithm.test.cpp diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index 09d52e7c2..e6cfb9558 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -33,6 +33,7 @@ add_subdirectory( src/GNDStk/enums/Parity/test ) add_subdirectory( src/GNDStk/enums/Frame/test ) add_subdirectory( src/GNDStk/enums/Interpolation/test ) add_subdirectory( src/GNDStk/enums/InterpolationQualifier/test ) +add_subdirectory( src/GNDStk/enums/HashAlgorithm/test ) add_subdirectory( src/GNDStk/enums/Encoding/test ) add_subdirectory( src/GNDStk/enums/GridStyle/test ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 38234b79f..35fe7e764 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -5,6 +5,7 @@ #include "GNDStk/enums/Frame.hpp" #include "GNDStk/enums/Interpolation.hpp" #include "GNDStk/enums/InterpolationQualifier.hpp" +#include "GNDStk/enums/HashAlgorithm.hpp" // general #include "GNDStk/enums/Encoding.hpp" diff --git a/src/GNDStk/enums/HashAlgorithm.hpp b/src/GNDStk/enums/HashAlgorithm.hpp new file mode 100644 index 000000000..0a733cbe4 --- /dev/null +++ b/src/GNDStk/enums/HashAlgorithm.hpp @@ -0,0 +1,52 @@ +#ifndef NJOY_GNDSTK_HASHALGORITHM +#define NJOY_GNDSTK_HASHALGORITHM + +namespace enums { + + /** + * @class + * @brief Enumeration class for hash algorithm values + */ + enum class HashAlgorithm { + + md5 = 1, + sha1 = 2 + }; + + /** + * @brief Return whether or not a string is a valid frame + * + * @param[in] string the string to be verified + * + * @return true/false + */ + inline bool isHashAlgorithm( const std::string& string ) { + + return isSymbol< HashAlgorithm >( string ); + } + + /** + * @brief Template specialisation to convert HashAlgorithm to/from strings + */ + template <> + class Map< GNDStk::enums::HashAlgorithm > { + public: + + static inline const std::map< GNDStk::enums::HashAlgorithm, + const std::string > values{ + + { GNDStk::enums::HashAlgorithm::md5, "md5" }, + { GNDStk::enums::HashAlgorithm::sha1, "sha1" } + }; + + static inline const std::map< const std::string, + GNDStk::enums::HashAlgorithm > symbols{ + + { "md5", GNDStk::enums::HashAlgorithm::md5 }, + { "sha1", GNDStk::enums::HashAlgorithm::sha1 } + }; + }; + +} // namespace enums + +#endif diff --git a/src/GNDStk/enums/HashAlgorithm/test/CMakeLists.txt b/src/GNDStk/enums/HashAlgorithm/test/CMakeLists.txt new file mode 100644 index 000000000..d04273dc2 --- /dev/null +++ b/src/GNDStk/enums/HashAlgorithm/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.enums.HashAlgorithm.test HashAlgorithm.test.cpp ) +target_compile_options( GNDStk.enums.HashAlgorithm.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.enums.HashAlgorithm.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.enums.HashAlgorithm COMMAND GNDStk.enums.HashAlgorithm.test ) diff --git a/src/GNDStk/enums/HashAlgorithm/test/HashAlgorithm.test.cpp b/src/GNDStk/enums/HashAlgorithm/test/HashAlgorithm.test.cpp new file mode 100644 index 000000000..4c1a3ef13 --- /dev/null +++ b/src/GNDStk/enums/HashAlgorithm/test/HashAlgorithm.test.cpp @@ -0,0 +1,91 @@ +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +// other includes + +// convenience typedefs +using namespace njoy::GNDStk; +using HashAlgorithm = enums::HashAlgorithm; + +SCENARIO( "HashAlgorithm" ) { + + GIVEN( "valid frame values and symbols" ) { + + WHEN( "toString is used" ) { + + THEN( "no exception is thrown and the correct string is returned" ) { + + CHECK( "md5" == enums::toString( HashAlgorithm::md5 ) ); + CHECK( "sha1" == enums::toString( HashAlgorithm::sha1 ) ); + } // THEN + } // WHEN + + WHEN( "fromString is used" ) { + + THEN( "no exception is thrown when the symbol is registered" ) { + + CHECK( HashAlgorithm::md5 == enums::fromString< HashAlgorithm >( "md5" ) ); + CHECK( HashAlgorithm::sha1 == enums::fromString< HashAlgorithm >( "sha1" ) ); + } // THEN + + THEN( "an exception is thrown when the symbol is not registered" ) { + + CHECK_THROWS( enums::fromString< HashAlgorithm >( "unregistered" ) ); + } // THEN + } // WHEN + + WHEN( "operator<< is used" ) { + + THEN( "no exception is thrown and the symbol is written to the stream" ) { + + std::ostringstream out; + out << HashAlgorithm::md5 << ' ' << HashAlgorithm::sha1; + + CHECK( "md5 sha1" == out.str() ); + } // THEN + } // WHEN + + WHEN( "operator>> is used" ) { + + THEN( "the stream is not in fail() when the symbol is registered" ) { + + HashAlgorithm value; + std::istringstream in( "md5 sha1" ); + + in >> value; + CHECK( HashAlgorithm::md5 == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( HashAlgorithm::sha1 == value ); + CHECK( false == in.fail() ); + CHECK( true == in.eof() ); + } // THEN + + THEN( "the stream is in fail() and the position has not changed when " + "the symbol is not registered" ) { + + HashAlgorithm value = HashAlgorithm::sha1; + std::istringstream in( "unregistered" ); + in >> value; + + CHECK( HashAlgorithm::sha1 == value ); + CHECK( true == in.fail() ); + } // THEN + } // WHEN + + WHEN( "isHashAlgorithm is used" ) { + + THEN( "registered frame values return true, " + "unregistered frame values return false" ) { + + CHECK( true == enums::isHashAlgorithm( "md5" ) ); + CHECK( true == enums::isHashAlgorithm( "sha1" ) ); + CHECK( false == enums::isHashAlgorithm( "unregistered" ) ); + } // THEN + } // WHEN + } // GIVEN +} // SCENARIO From cea10ba58237bdaace3399bdea80153dbb2a3a89 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 4 Nov 2021 15:16:13 -0600 Subject: [PATCH 011/235] Adding the DateType enumerator --- cmake/unit_testing.cmake | 1 + src/GNDStk/enums.hpp | 1 + src/GNDStk/enums/DateType.hpp | 76 +++++++++ src/GNDStk/enums/DateType/test/CMakeLists.txt | 18 ++ .../enums/DateType/test/DateType.test.cpp | 160 ++++++++++++++++++ 5 files changed, 256 insertions(+) create mode 100644 src/GNDStk/enums/DateType.hpp create mode 100644 src/GNDStk/enums/DateType/test/CMakeLists.txt create mode 100644 src/GNDStk/enums/DateType/test/DateType.test.cpp diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index e6cfb9558..5881a7d3c 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -29,6 +29,7 @@ add_subdirectory( src/GNDStk/Component/test ) add_subdirectory( src/GNDStk/BodyText/test ) add_subdirectory( src/GNDStk/precision/test ) +add_subdirectory( src/GNDStk/enums/DateType/test ) add_subdirectory( src/GNDStk/enums/Parity/test ) add_subdirectory( src/GNDStk/enums/Frame/test ) add_subdirectory( src/GNDStk/enums/Interpolation/test ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 35fe7e764..84e6bd356 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -1,6 +1,7 @@ #include "GNDStk/enums/enumeration.hpp" +#include "GNDStk/enums/DateType.hpp" #include "GNDStk/enums/Parity.hpp" #include "GNDStk/enums/Frame.hpp" #include "GNDStk/enums/Interpolation.hpp" diff --git a/src/GNDStk/enums/DateType.hpp b/src/GNDStk/enums/DateType.hpp new file mode 100644 index 000000000..f933011c6 --- /dev/null +++ b/src/GNDStk/enums/DateType.hpp @@ -0,0 +1,76 @@ +#ifndef NJOY_GNDSTK_DATETYPE +#define NJOY_GNDSTK_DATETYPE + +namespace enums { + + /** + * @class + * @brief Enumeration class for interpolation qualifier values + */ + enum class DateType { + + accepted = 1, + available, + copyrighted, + collected, + created, + issued, + submitted, + updated, + valid, + withdrawn + }; + + /** + * @brief Return whether or not a string is a valid parity + * + * @param[in] string the string to be verified + * + * @return true/false + */ + inline bool isDateType( const std::string& string ) { + + return isSymbol< DateType >( string ); + } + + /** + * @brief Template specialisation to convert DateType to/from strings + */ + template <> + class Map< GNDStk::enums::DateType > { + public: + + static inline const std::map< GNDStk::enums::DateType, + const std::string > values{ + + { GNDStk::enums::DateType::accepted, "accepted" }, + { GNDStk::enums::DateType::available, "available" }, + { GNDStk::enums::DateType::copyrighted, "copyrighted" }, + { GNDStk::enums::DateType::collected, "collected" }, + { GNDStk::enums::DateType::created, "created" }, + { GNDStk::enums::DateType::issued, "issued" }, + { GNDStk::enums::DateType::submitted, "submitted" }, + { GNDStk::enums::DateType::updated, "updated" }, + { GNDStk::enums::DateType::valid, "valid" }, + { GNDStk::enums::DateType::withdrawn, "withdrawn" } + }; + + static inline const std::map< const std::string, + GNDStk::enums::DateType > symbols{ + + { "accepted", GNDStk::enums::DateType::accepted }, + { "available", GNDStk::enums::DateType::available }, + { "copyrighted", GNDStk::enums::DateType::copyrighted }, + { "collected", GNDStk::enums::DateType::collected }, + { "created", GNDStk::enums::DateType::created }, + { "issued", GNDStk::enums::DateType::issued }, + { "submitted", GNDStk::enums::DateType::submitted }, + { "updated", GNDStk::enums::DateType::updated }, + { "valid", GNDStk::enums::DateType::valid }, + { "withdrawn", GNDStk::enums::DateType::withdrawn } + }; + }; + +} // namespace enums + +#endif diff --git a/src/GNDStk/enums/DateType/test/CMakeLists.txt b/src/GNDStk/enums/DateType/test/CMakeLists.txt new file mode 100644 index 000000000..aee211fcd --- /dev/null +++ b/src/GNDStk/enums/DateType/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.enums.DateType.test DateType.test.cpp ) +target_compile_options( GNDStk.enums.DateType.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.enums.DateType.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.enums.DateType COMMAND GNDStk.enums.DateType.test ) diff --git a/src/GNDStk/enums/DateType/test/DateType.test.cpp b/src/GNDStk/enums/DateType/test/DateType.test.cpp new file mode 100644 index 000000000..3e05a1f21 --- /dev/null +++ b/src/GNDStk/enums/DateType/test/DateType.test.cpp @@ -0,0 +1,160 @@ +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +// other includes + +// convenience typedefs +using namespace njoy::GNDStk; +using DateType = enums::DateType; + +SCENARIO( "DateType" ) { + + GIVEN( "valid encoding values and symbols" ) { + + WHEN( "toString is used" ) { + + THEN( "no exception is thrown and the correct string is returned" ) { + + CHECK( "accepted" == enums::toString( DateType::accepted ) ); + CHECK( "available" == enums::toString( DateType::available ) ); + CHECK( "copyrighted" == enums::toString( DateType::copyrighted ) ); + CHECK( "collected" == enums::toString( DateType::collected ) ); + CHECK( "created" == enums::toString( DateType::created ) ); + CHECK( "issued" == enums::toString( DateType::issued ) ); + CHECK( "submitted" == enums::toString( DateType::submitted ) ); + CHECK( "updated" == enums::toString( DateType::updated ) ); + CHECK( "valid" == enums::toString( DateType::valid ) ); + CHECK( "withdrawn" == enums::toString( DateType::withdrawn ) ); + } // THEN + } // WHEN + + WHEN( "fromString is used" ) { + + THEN( "no exception is thrown when the symbol is registered" ) { + + CHECK( DateType::accepted == enums::fromString< DateType >( "accepted" ) ); + CHECK( DateType::available == enums::fromString< DateType >( "available" ) ); + CHECK( DateType::copyrighted == enums::fromString< DateType >( "copyrighted" ) ); + CHECK( DateType::collected == enums::fromString< DateType >( "collected" ) ); + CHECK( DateType::created == enums::fromString< DateType >( "created" ) ); + CHECK( DateType::issued == enums::fromString< DateType >( "issued" ) ); + CHECK( DateType::submitted == enums::fromString< DateType >( "submitted" ) ); + CHECK( DateType::updated == enums::fromString< DateType >( "updated" ) ); + CHECK( DateType::valid == enums::fromString< DateType >( "valid" ) ); + CHECK( DateType::withdrawn == enums::fromString< DateType >( "withdrawn" ) ); + } // THEN + + THEN( "an exception is thrown when the symbol is not registered" ) { + + CHECK_THROWS( enums::fromString< DateType >( "unregistered" ) ); + } // THEN + } // WHEN + + WHEN( "operator<< is used" ) { + + THEN( "no exception is thrown and the symbol is written to the stream" ) { + + std::ostringstream out; + out << DateType::accepted << ' ' << DateType::available << ' ' + << DateType::copyrighted << ' ' << DateType::collected << ' ' + << DateType::created << ' ' << DateType::issued << ' ' + << DateType::submitted << ' ' << DateType::updated << ' ' + << DateType::valid << ' ' << DateType::withdrawn; + + CHECK( "accepted available copyrighted collected " + "created issued submitted updated valid withdrawn" == out.str() ); + } // THEN + } // WHEN + + WHEN( "operator>> is used" ) { + + THEN( "the stream is not in fail() when the symbol is registered" ) { + + DateType value; + std::istringstream in( "accepted available copyrighted collected created issued submitted updated valid withdrawn" ); + + in >> value; + CHECK( DateType::accepted == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::available == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::copyrighted == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::collected == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::created == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::issued == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::submitted == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::updated == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::valid == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DateType::withdrawn == value ); + CHECK( false == in.fail() ); + CHECK( true == in.eof() ); + } // THEN + + THEN( "the stream is in fail() and the position has not changed when " + "the symbol is not registered" ) { + + DateType value = DateType::accepted; + std::istringstream in( "unregistered" ); + in >> value; + + CHECK( DateType::accepted == value ); + CHECK( true == in.fail() ); + } // THEN + } // WHEN + + WHEN( "isDateType is used" ) { + + THEN( "registered date types return true, " + "unregistered date types return false" ) { + + CHECK( true == enums::isDateType( "accepted" ) ); + CHECK( true == enums::isDateType( "available" ) ); + CHECK( true == enums::isDateType( "copyrighted" ) ); + CHECK( true == enums::isDateType( "collected" ) ); + CHECK( true == enums::isDateType( "created" ) ); + CHECK( true == enums::isDateType( "issued" ) ); + CHECK( true == enums::isDateType( "submitted" ) ); + CHECK( true == enums::isDateType( "updated" ) ); + CHECK( true == enums::isDateType( "valid" ) ); + CHECK( true == enums::isDateType( "withdrawn" ) ); + CHECK( false == enums::isDateType( "unregistered" ) ); + } // THEN + } // WHEN + } // GIVEN +} // SCENARIO From a643a6a504b6ee7b3513a0d4d48a178e7936cf5b Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Tue, 9 Nov 2021 18:14:22 -0700 Subject: [PATCH 012/235] Adding the ContributorType enumerator --- cmake/unit_testing.cmake | 1 + src/GNDStk/enums.hpp | 1 + src/GNDStk/enums/ContributorType.hpp | 109 +++++++ .../enums/ContributorType/test/CMakeLists.txt | 18 ++ .../test/ContributorType.test.cpp | 293 ++++++++++++++++++ 5 files changed, 422 insertions(+) create mode 100644 src/GNDStk/enums/ContributorType.hpp create mode 100644 src/GNDStk/enums/ContributorType/test/CMakeLists.txt create mode 100644 src/GNDStk/enums/ContributorType/test/ContributorType.test.cpp diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index 5881a7d3c..1cc4e6814 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -30,6 +30,7 @@ add_subdirectory( src/GNDStk/BodyText/test ) add_subdirectory( src/GNDStk/precision/test ) add_subdirectory( src/GNDStk/enums/DateType/test ) +add_subdirectory( src/GNDStk/enums/ContributorType/test ) add_subdirectory( src/GNDStk/enums/Parity/test ) add_subdirectory( src/GNDStk/enums/Frame/test ) add_subdirectory( src/GNDStk/enums/Interpolation/test ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 84e6bd356..7a1bfa3cf 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -2,6 +2,7 @@ #include "GNDStk/enums/enumeration.hpp" #include "GNDStk/enums/DateType.hpp" +#include "GNDStk/enums/ContributorType.hpp" #include "GNDStk/enums/Parity.hpp" #include "GNDStk/enums/Frame.hpp" #include "GNDStk/enums/Interpolation.hpp" diff --git a/src/GNDStk/enums/ContributorType.hpp b/src/GNDStk/enums/ContributorType.hpp new file mode 100644 index 000000000..91cc45d6b --- /dev/null +++ b/src/GNDStk/enums/ContributorType.hpp @@ -0,0 +1,109 @@ +#ifndef NJOY_GNDSTK_CONTRIBUTORTYPE +#define NJOY_GNDSTK_CONTRIBUTORTYPE + +namespace enums { + + /** + * @class + * @brief Enumeration class for interpolation qualifier values + */ + enum class ContributorType { + + ContactPerson = 1, + DataCollector, + DataCurator, + DataManager, + Distributor, + Editor, + HostingInstitution, + Producer, + ProjectLeader, + ProjectManager, + ProjectMember, + RegistrationAgency, + RegistrationAuthority, + RelatedPerson, + Researcher, + ResearchGroup, + RightsHolder, + Sponsor, + Supervisor, + WorkPackageLeader, + Other + }; + + /** + * @brief Return whether or not a string is a valid parity + * + * @param[in] string the string to be verified + * + * @return true/false + */ + inline bool isContributorType( const std::string& string ) { + + return isSymbol< ContributorType >( string ); + } + + /** + * @brief Template specialisation to convert ContributorType to/from strings + */ + template <> + class Map< GNDStk::enums::ContributorType > { + public: + + static inline const std::map< GNDStk::enums::ContributorType, + const std::string > values{ + + { GNDStk::enums::ContributorType::ContactPerson, "ContactPerson" }, + { GNDStk::enums::ContributorType::DataCollector, "DataCollector" }, + { GNDStk::enums::ContributorType::DataCurator, "DataCurator" }, + { GNDStk::enums::ContributorType::DataManager, "DataManager" }, + { GNDStk::enums::ContributorType::Distributor, "Distributor" }, + { GNDStk::enums::ContributorType::Editor, "Editor" }, + { GNDStk::enums::ContributorType::HostingInstitution, "HostingInstitution" }, + { GNDStk::enums::ContributorType::Producer, "Producer" }, + { GNDStk::enums::ContributorType::ProjectLeader, "ProjectLeader" }, + { GNDStk::enums::ContributorType::ProjectManager, "ProjectManager" }, + { GNDStk::enums::ContributorType::ProjectMember, "ProjectMember" }, + { GNDStk::enums::ContributorType::RegistrationAgency, "RegistrationAgency" }, + { GNDStk::enums::ContributorType::RegistrationAuthority, "RegistrationAuthority" }, + { GNDStk::enums::ContributorType::RelatedPerson, "RelatedPerson" }, + { GNDStk::enums::ContributorType::Researcher, "Researcher" }, + { GNDStk::enums::ContributorType::ResearchGroup, "ResearchGroup" }, + { GNDStk::enums::ContributorType::RightsHolder, "RightsHolder" }, + { GNDStk::enums::ContributorType::Sponsor, "Sponsor" }, + { GNDStk::enums::ContributorType::Supervisor, "Supervisor" }, + { GNDStk::enums::ContributorType::WorkPackageLeader, "WorkPackageLeader" }, + { GNDStk::enums::ContributorType::Other, "Other" } + }; + + static inline const std::map< const std::string, + GNDStk::enums::ContributorType > symbols{ + + { "ContactPerson", GNDStk::enums::ContributorType::ContactPerson }, + { "DataCollector", GNDStk::enums::ContributorType::DataCollector }, + { "DataCurator", GNDStk::enums::ContributorType::DataCurator }, + { "DataManager", GNDStk::enums::ContributorType::DataManager }, + { "Distributor", GNDStk::enums::ContributorType::Distributor }, + { "Editor", GNDStk::enums::ContributorType::Editor }, + { "HostingInstitution", GNDStk::enums::ContributorType::HostingInstitution }, + { "Producer", GNDStk::enums::ContributorType::Producer }, + { "ProjectLeader", GNDStk::enums::ContributorType::ProjectLeader }, + { "ProjectManager", GNDStk::enums::ContributorType::ProjectManager }, + { "ProjectMember", GNDStk::enums::ContributorType::ProjectMember }, + { "RegistrationAgency", GNDStk::enums::ContributorType::RegistrationAgency }, + { "RegistrationAuthority", GNDStk::enums::ContributorType::RegistrationAuthority }, + { "RelatedPerson", GNDStk::enums::ContributorType::RelatedPerson }, + { "Researcher", GNDStk::enums::ContributorType::Researcher }, + { "ResearchGroup", GNDStk::enums::ContributorType::ResearchGroup }, + { "RightsHolder", GNDStk::enums::ContributorType::RightsHolder }, + { "Sponsor", GNDStk::enums::ContributorType::Sponsor }, + { "Supervisor", GNDStk::enums::ContributorType::Supervisor }, + { "WorkPackageLeader", GNDStk::enums::ContributorType::WorkPackageLeader }, + { "Other", GNDStk::enums::ContributorType::Other } + }; + }; + +} // namespace enums + +#endif diff --git a/src/GNDStk/enums/ContributorType/test/CMakeLists.txt b/src/GNDStk/enums/ContributorType/test/CMakeLists.txt new file mode 100644 index 000000000..ce1835c6b --- /dev/null +++ b/src/GNDStk/enums/ContributorType/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.enums.ContributorType.test ContributorType.test.cpp ) +target_compile_options( GNDStk.enums.ContributorType.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.enums.ContributorType.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.enums.ContributorType COMMAND GNDStk.enums.ContributorType.test ) diff --git a/src/GNDStk/enums/ContributorType/test/ContributorType.test.cpp b/src/GNDStk/enums/ContributorType/test/ContributorType.test.cpp new file mode 100644 index 000000000..0586bad6e --- /dev/null +++ b/src/GNDStk/enums/ContributorType/test/ContributorType.test.cpp @@ -0,0 +1,293 @@ +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +// other includes + +// convenience typedefs +using namespace njoy::GNDStk; +using ContributorType = enums::ContributorType; + +SCENARIO( "ContributorType" ) { + + GIVEN( "valid encoding values and symbols" ) { + + WHEN( "toString is used" ) { + + THEN( "no exception is thrown and the correct string is returned" ) { + + CHECK( "ContactPerson" == enums::toString( ContributorType::ContactPerson ) ); + CHECK( "DataCollector" == enums::toString( ContributorType::DataCollector ) ); + CHECK( "DataCurator" == enums::toString( ContributorType::DataCurator ) ); + CHECK( "DataManager" == enums::toString( ContributorType::DataManager ) ); + CHECK( "Distributor" == enums::toString( ContributorType::Distributor ) ); + CHECK( "Editor" == enums::toString( ContributorType::Editor ) ); + CHECK( "HostingInstitution" == enums::toString( ContributorType::HostingInstitution ) ); + CHECK( "Producer" == enums::toString( ContributorType::Producer ) ); + CHECK( "ProjectLeader" == enums::toString( ContributorType::ProjectLeader ) ); + CHECK( "ProjectManager" == enums::toString( ContributorType::ProjectManager ) ); + CHECK( "ProjectMember" == enums::toString( ContributorType::ProjectMember ) ); + CHECK( "RegistrationAgency" == enums::toString( ContributorType::RegistrationAgency ) ); + CHECK( "RegistrationAuthority" == enums::toString( ContributorType::RegistrationAuthority ) ); + CHECK( "RelatedPerson" == enums::toString( ContributorType::RelatedPerson ) ); + CHECK( "Researcher" == enums::toString( ContributorType::Researcher ) ); + CHECK( "ResearchGroup" == enums::toString( ContributorType::ResearchGroup ) ); + CHECK( "RightsHolder" == enums::toString( ContributorType::RightsHolder ) ); + CHECK( "Sponsor" == enums::toString( ContributorType::Sponsor ) ); + CHECK( "Supervisor" == enums::toString( ContributorType::Supervisor ) ); + CHECK( "WorkPackageLeader" == enums::toString( ContributorType::WorkPackageLeader ) ); + CHECK( "Other" == enums::toString( ContributorType::Other ) ); + } // THEN + } // WHEN + + WHEN( "fromString is used" ) { + + THEN( "no exception is thrown when the symbol is registered" ) { + + CHECK( ContributorType::ContactPerson + == enums::fromString< ContributorType >( "ContactPerson" ) ); + CHECK( ContributorType::DataCollector + == enums::fromString< ContributorType >( "DataCollector" ) ); + CHECK( ContributorType::DataCurator + == enums::fromString< ContributorType >( "DataCurator" ) ); + CHECK( ContributorType::DataManager + == enums::fromString< ContributorType >( "DataManager" ) ); + CHECK( ContributorType::Distributor + == enums::fromString< ContributorType >( "Distributor" ) ); + CHECK( ContributorType::Editor + == enums::fromString< ContributorType >( "Editor" ) ); + CHECK( ContributorType::HostingInstitution + == enums::fromString< ContributorType >( "HostingInstitution" ) ); + CHECK( ContributorType::Producer + == enums::fromString< ContributorType >( "Producer" ) ); + CHECK( ContributorType::ProjectLeader + == enums::fromString< ContributorType >( "ProjectLeader" ) ); + CHECK( ContributorType::ProjectManager + == enums::fromString< ContributorType >( "ProjectManager" ) ); + CHECK( ContributorType::ProjectMember + == enums::fromString< ContributorType >( "ProjectMember" ) ); + CHECK( ContributorType::RegistrationAgency + == enums::fromString< ContributorType >( "RegistrationAgency" ) ); + CHECK( ContributorType::RegistrationAuthority + == enums::fromString< ContributorType >( "RegistrationAuthority" ) ); + CHECK( ContributorType::RelatedPerson + == enums::fromString< ContributorType >( "RelatedPerson" ) ); + CHECK( ContributorType::Researcher + == enums::fromString< ContributorType >( "Researcher" ) ); + CHECK( ContributorType::ResearchGroup + == enums::fromString< ContributorType >( "ResearchGroup" ) ); + CHECK( ContributorType::RightsHolder + == enums::fromString< ContributorType >( "RightsHolder" ) ); + CHECK( ContributorType::Sponsor + == enums::fromString< ContributorType >( "Sponsor" ) ); + CHECK( ContributorType::Supervisor + == enums::fromString< ContributorType >( "Supervisor" ) ); + CHECK( ContributorType::WorkPackageLeader + == enums::fromString< ContributorType >( "WorkPackageLeader" ) ); + CHECK( ContributorType::Other + == enums::fromString< ContributorType >( "Other" ) ); + } // THEN + + THEN( "an exception is thrown when the symbol is not registered" ) { + + CHECK_THROWS( enums::fromString< ContributorType >( "unregistered" ) ); + } // THEN + } // WHEN + + WHEN( "operator<< is used" ) { + + THEN( "no exception is thrown and the symbol is written to the stream" ) { + + std::ostringstream out; + out << ContributorType::ContactPerson << ' ' + << ContributorType::DataCollector << ' ' + << ContributorType::DataCurator << ' ' + << ContributorType::DataManager << ' ' + << ContributorType::Distributor << ' ' + << ContributorType::Editor << ' ' + << ContributorType::HostingInstitution << ' ' + << ContributorType::Producer << ' ' + << ContributorType::ProjectLeader << ' ' + << ContributorType::ProjectManager << ' ' + << ContributorType::ProjectMember << ' ' + << ContributorType::RegistrationAgency << ' ' + << ContributorType::RegistrationAuthority << ' ' + << ContributorType::RelatedPerson << ' ' + << ContributorType::Researcher << ' ' + << ContributorType::ResearchGroup << ' ' + << ContributorType::RightsHolder << ' ' + << ContributorType::Sponsor << ' ' + << ContributorType::Supervisor << ' ' + << ContributorType::WorkPackageLeader << ' ' + << ContributorType::Other; + + CHECK( "ContactPerson DataCollector DataCurator DataManager " + "Distributor Editor HostingInstitution Producer " + "ProjectLeader ProjectManager ProjectMember RegistrationAgency " + "RegistrationAuthority RelatedPerson Researcher ResearchGroup " + "RightsHolder Sponsor Supervisor WorkPackageLeader Other" + == out.str() ); + } // THEN + } // WHEN + + WHEN( "operator>> is used" ) { + + THEN( "the stream is not in fail() when the symbol is registered" ) { + + ContributorType value; + std::istringstream in( "ContactPerson DataCollector DataCurator DataManager " + "Distributor Editor HostingInstitution Producer " + "ProjectLeader ProjectManager ProjectMember RegistrationAgency " + "RegistrationAuthority RelatedPerson Researcher ResearchGroup " + "RightsHolder Sponsor Supervisor WorkPackageLeader Other" ); + + in >> value; + CHECK( ContributorType::ContactPerson == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::DataCollector == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::DataCurator == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::DataManager == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::Distributor == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::Editor == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::HostingInstitution == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::Producer == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::ProjectLeader == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::ProjectManager == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::ProjectMember == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::RegistrationAgency == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::RegistrationAuthority == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::RelatedPerson == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::Researcher == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::ResearchGroup == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::RightsHolder == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::Sponsor == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::Supervisor == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::WorkPackageLeader == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( ContributorType::Other == value ); + CHECK( false == in.fail() ); + CHECK( true == in.eof() ); + } // THEN + + THEN( "the stream is in fail() and the position has not changed when " + "the symbol is not registered" ) { + + ContributorType value = ContributorType::ContactPerson; + std::istringstream in( "unregistered" ); + in >> value; + + CHECK( ContributorType::ContactPerson == value ); + CHECK( true == in.fail() ); + } // THEN + } // WHEN + + WHEN( "isContributorType is used" ) { + + THEN( "registered date types return true, " + "unregistered date types return false" ) { + + CHECK( true == enums::isContributorType( "ContactPerson" ) ); + CHECK( true == enums::isContributorType( "DataCollector" ) ); + CHECK( true == enums::isContributorType( "DataCurator" ) ); + CHECK( true == enums::isContributorType( "DataManager" ) ); + CHECK( true == enums::isContributorType( "Distributor" ) ); + CHECK( true == enums::isContributorType( "Editor" ) ); + CHECK( true == enums::isContributorType( "HostingInstitution" ) ); + CHECK( true == enums::isContributorType( "Producer" ) ); + CHECK( true == enums::isContributorType( "ProjectLeader" ) ); + CHECK( true == enums::isContributorType( "ProjectManager" ) ); + CHECK( true == enums::isContributorType( "ProjectMember" ) ); + CHECK( true == enums::isContributorType( "RegistrationAgency" ) ); + CHECK( true == enums::isContributorType( "RegistrationAuthority" ) ); + CHECK( true == enums::isContributorType( "RelatedPerson" ) ); + CHECK( true == enums::isContributorType( "Researcher" ) ); + CHECK( true == enums::isContributorType( "ResearchGroup" ) ); + CHECK( true == enums::isContributorType( "RightsHolder" ) ); + CHECK( true == enums::isContributorType( "Sponsor" ) ); + CHECK( true == enums::isContributorType( "Supervisor" ) ); + CHECK( true == enums::isContributorType( "WorkPackageLeader" ) ); + CHECK( true == enums::isContributorType( "Other" ) ); + CHECK( false == enums::isContributorType( "unregistered" ) ); + } // THEN + } // WHEN + } // GIVEN +} // SCENARIO From 461d3702869a1da96f8f8cb847ec039050ff73a8 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Wed, 10 Nov 2021 17:06:57 -0700 Subject: [PATCH 013/235] Adding the ReleationType enumerator --- cmake/unit_testing.cmake | 1 + src/GNDStk/enums.hpp | 1 + src/GNDStk/enums/ContributorType.hpp | 4 +- src/GNDStk/enums/DateType.hpp | 4 +- src/GNDStk/enums/HashAlgorithm.hpp | 2 +- src/GNDStk/enums/Interpolation.hpp | 2 +- src/GNDStk/enums/InterpolationQualifier.hpp | 3 +- src/GNDStk/enums/RelationType.hpp | 148 +++++++ .../enums/RelationType/test/CMakeLists.txt | 18 + .../RelationType/test/RelationType.test.cpp | 393 ++++++++++++++++++ 10 files changed, 569 insertions(+), 7 deletions(-) create mode 100644 src/GNDStk/enums/RelationType.hpp create mode 100644 src/GNDStk/enums/RelationType/test/CMakeLists.txt create mode 100644 src/GNDStk/enums/RelationType/test/RelationType.test.cpp diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index 1cc4e6814..12fd53958 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -31,6 +31,7 @@ add_subdirectory( src/GNDStk/precision/test ) add_subdirectory( src/GNDStk/enums/DateType/test ) add_subdirectory( src/GNDStk/enums/ContributorType/test ) +add_subdirectory( src/GNDStk/enums/RelationType/test ) add_subdirectory( src/GNDStk/enums/Parity/test ) add_subdirectory( src/GNDStk/enums/Frame/test ) add_subdirectory( src/GNDStk/enums/Interpolation/test ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 7a1bfa3cf..15865e303 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -3,6 +3,7 @@ #include "GNDStk/enums/DateType.hpp" #include "GNDStk/enums/ContributorType.hpp" +#include "GNDStk/enums/RelationType.hpp" #include "GNDStk/enums/Parity.hpp" #include "GNDStk/enums/Frame.hpp" #include "GNDStk/enums/Interpolation.hpp" diff --git a/src/GNDStk/enums/ContributorType.hpp b/src/GNDStk/enums/ContributorType.hpp index 91cc45d6b..397b2afee 100644 --- a/src/GNDStk/enums/ContributorType.hpp +++ b/src/GNDStk/enums/ContributorType.hpp @@ -5,7 +5,7 @@ namespace enums { /** * @class - * @brief Enumeration class for interpolation qualifier values + * @brief Enumeration class for contributor type values */ enum class ContributorType { @@ -33,7 +33,7 @@ namespace enums { }; /** - * @brief Return whether or not a string is a valid parity + * @brief Return whether or not a string is a valid contributor type * * @param[in] string the string to be verified * diff --git a/src/GNDStk/enums/DateType.hpp b/src/GNDStk/enums/DateType.hpp index f933011c6..3148a3a7b 100644 --- a/src/GNDStk/enums/DateType.hpp +++ b/src/GNDStk/enums/DateType.hpp @@ -5,7 +5,7 @@ namespace enums { /** * @class - * @brief Enumeration class for interpolation qualifier values + * @brief Enumeration class for date type values */ enum class DateType { @@ -22,7 +22,7 @@ namespace enums { }; /** - * @brief Return whether or not a string is a valid parity + * @brief Return whether or not a string is a valid date type * * @param[in] string the string to be verified * diff --git a/src/GNDStk/enums/HashAlgorithm.hpp b/src/GNDStk/enums/HashAlgorithm.hpp index 0a733cbe4..98a4ec245 100644 --- a/src/GNDStk/enums/HashAlgorithm.hpp +++ b/src/GNDStk/enums/HashAlgorithm.hpp @@ -14,7 +14,7 @@ namespace enums { }; /** - * @brief Return whether or not a string is a valid frame + * @brief Return whether or not a string is a valid hash algorithm value * * @param[in] string the string to be verified * diff --git a/src/GNDStk/enums/Interpolation.hpp b/src/GNDStk/enums/Interpolation.hpp index 2ee197086..c6efd5df1 100644 --- a/src/GNDStk/enums/Interpolation.hpp +++ b/src/GNDStk/enums/Interpolation.hpp @@ -19,7 +19,7 @@ namespace enums { }; /** - * @brief Return whether or not a string is a valid interpolation + * @brief Return whether or not a string is a valid interpolation value * * @param[in] string the string to be verified * diff --git a/src/GNDStk/enums/InterpolationQualifier.hpp b/src/GNDStk/enums/InterpolationQualifier.hpp index 5d1e2bf49..e7c3e0f2a 100644 --- a/src/GNDStk/enums/InterpolationQualifier.hpp +++ b/src/GNDStk/enums/InterpolationQualifier.hpp @@ -16,7 +16,8 @@ namespace enums { }; /** - * @brief Return whether or not a string is a valid parity + * @brief Return whether or not a string is a valid interpolation qualifier + * value * * @param[in] string the string to be verified * diff --git a/src/GNDStk/enums/RelationType.hpp b/src/GNDStk/enums/RelationType.hpp new file mode 100644 index 000000000..56e9f31eb --- /dev/null +++ b/src/GNDStk/enums/RelationType.hpp @@ -0,0 +1,148 @@ +#ifndef NJOY_GNDSTK_RELATIONTYPE +#define NJOY_GNDSTK_RELATIONTYPE + +namespace enums { + + /** + * @class + * @brief Enumeration class for interpolation qualifier values + */ + enum class RelationType { + + IsCitedBy = 1, + Cites, + IsSupplementTo, + IsSupplementedBy, + IsContinuedBy, + Continues, + Describes, + IsDescribedBy, + HasMetadata, + IsMetadataFor, + HasVersion, + IsVersionOf, + IsNewVersionOf, + IsPreviousVersionOf, + IsPartOf, + HasPart, + IsPublishedIn, + IsReferencedBy, + References, + IsDocumentedBy, + Documents, + IsCompiledBy, + Complies, + IsVariantFormOf, + IsOriginalFormOf, + IsIdenticalTo, + IsReviewedBy, + Reviews, + IsDerivedFrom, + IsSourceOf, + IsRequiredBy, + Requires, + Obsoletes, + IsObsoletedBy + }; + + /** + * @brief Return whether or not a string is a valid relation type + * + * @param[in] string the string to be verified + * + * @return true/false + */ + inline bool isRelationType( const std::string& string ) { + + return isSymbol< RelationType >( string ); + } + + /** + * @brief Template specialisation to convert RelationType to/from strings + */ + template <> + class Map< GNDStk::enums::RelationType > { + public: + + static inline const std::map< GNDStk::enums::RelationType, + const std::string > values{ + + { GNDStk::enums::RelationType::IsCitedBy, "IsCitedBy" }, + { GNDStk::enums::RelationType::Cites, "Cites" }, + { GNDStk::enums::RelationType::IsSupplementTo, "IsSupplementTo" }, + { GNDStk::enums::RelationType::IsSupplementedBy, "IsSupplementedBy" }, + { GNDStk::enums::RelationType::IsContinuedBy, "IsContinuedBy" }, + { GNDStk::enums::RelationType::Continues, "Continues" }, + { GNDStk::enums::RelationType::Describes, "Describes" }, + { GNDStk::enums::RelationType::IsDescribedBy, "IsDescribedBy" }, + { GNDStk::enums::RelationType::HasMetadata, "HasMetadata" }, + { GNDStk::enums::RelationType::IsMetadataFor, "IsMetadataFor" }, + { GNDStk::enums::RelationType::HasVersion, "HasVersion" }, + { GNDStk::enums::RelationType::IsVersionOf, "IsVersionOf" }, + { GNDStk::enums::RelationType::IsNewVersionOf, "IsNewVersionOf" }, + { GNDStk::enums::RelationType::IsPreviousVersionOf, "IsPreviousVersionOf" }, + { GNDStk::enums::RelationType::IsPartOf, "IsPartOf" }, + { GNDStk::enums::RelationType::HasPart, "HasPart" }, + { GNDStk::enums::RelationType::IsPublishedIn, "IsPublishedIn" }, + { GNDStk::enums::RelationType::IsReferencedBy, "IsReferencedBy" }, + { GNDStk::enums::RelationType::References, "References" }, + { GNDStk::enums::RelationType::IsDocumentedBy, "IsDocumentedBy" }, + { GNDStk::enums::RelationType::Documents, "Documents" }, + { GNDStk::enums::RelationType::IsCompiledBy, "IsCompiledBy" }, + { GNDStk::enums::RelationType::Complies, "Complies" }, + { GNDStk::enums::RelationType::IsVariantFormOf, "IsVariantFormOf" }, + { GNDStk::enums::RelationType::IsOriginalFormOf, "IsOriginalFormOf" }, + { GNDStk::enums::RelationType::IsIdenticalTo, "IsIdenticalTo" }, + { GNDStk::enums::RelationType::IsReviewedBy, "IsReviewedBy" }, + { GNDStk::enums::RelationType::Reviews, "Reviews" }, + { GNDStk::enums::RelationType::IsDerivedFrom, "IsDerivedFrom" }, + { GNDStk::enums::RelationType::IsSourceOf, "IsSourceOf" }, + { GNDStk::enums::RelationType::IsRequiredBy, "IsRequiredBy" }, + { GNDStk::enums::RelationType::Requires, "Requires" }, + { GNDStk::enums::RelationType::Obsoletes, "Obsoletes" }, + { GNDStk::enums::RelationType::IsObsoletedBy, "IsObsoletedBy" } + }; + + static inline const std::map< const std::string, + GNDStk::enums::RelationType > symbols{ + + { "IsCitedBy", GNDStk::enums::RelationType::IsCitedBy }, + { "Cites", GNDStk::enums::RelationType::Cites }, + { "IsSupplementTo", GNDStk::enums::RelationType::IsSupplementTo }, + { "IsSupplementedBy", GNDStk::enums::RelationType::IsSupplementedBy }, + { "IsContinuedBy", GNDStk::enums::RelationType::IsContinuedBy }, + { "Continues", GNDStk::enums::RelationType::Continues }, + { "Describes", GNDStk::enums::RelationType::Describes }, + { "IsDescribedBy", GNDStk::enums::RelationType::IsDescribedBy }, + { "HasMetadata", GNDStk::enums::RelationType::HasMetadata }, + { "IsMetadataFor", GNDStk::enums::RelationType::IsMetadataFor }, + { "HasVersion", GNDStk::enums::RelationType::HasVersion }, + { "IsVersionOf", GNDStk::enums::RelationType::IsVersionOf }, + { "IsNewVersionOf", GNDStk::enums::RelationType::IsNewVersionOf }, + { "IsPreviousVersionOf", GNDStk::enums::RelationType::IsPreviousVersionOf }, + { "IsPartOf", GNDStk::enums::RelationType::IsPartOf }, + { "HasPart", GNDStk::enums::RelationType::HasPart }, + { "IsPublishedIn", GNDStk::enums::RelationType::IsPublishedIn }, + { "IsReferencedBy", GNDStk::enums::RelationType::IsReferencedBy }, + { "References", GNDStk::enums::RelationType::References }, + { "IsDocumentedBy", GNDStk::enums::RelationType::IsDocumentedBy }, + { "Documents", GNDStk::enums::RelationType::Documents }, + { "IsCompiledBy", GNDStk::enums::RelationType::IsCompiledBy }, + { "Complies", GNDStk::enums::RelationType::Complies }, + { "IsVariantFormOf", GNDStk::enums::RelationType::IsVariantFormOf }, + { "IsOriginalFormOf", GNDStk::enums::RelationType::IsOriginalFormOf }, + { "IsIdenticalTo", GNDStk::enums::RelationType::IsIdenticalTo }, + { "IsReviewedBy", GNDStk::enums::RelationType::IsReviewedBy }, + { "Reviews", GNDStk::enums::RelationType::Reviews }, + { "IsDerivedFrom", GNDStk::enums::RelationType::IsDerivedFrom }, + { "IsSourceOf", GNDStk::enums::RelationType::IsSourceOf }, + { "IsRequiredBy", GNDStk::enums::RelationType::IsRequiredBy }, + { "Requires", GNDStk::enums::RelationType::Requires }, + { "Obsoletes", GNDStk::enums::RelationType::Obsoletes }, + { "IsObsoletedBy", GNDStk::enums::RelationType::IsObsoletedBy } + }; + }; + +} // namespace enums + +#endif diff --git a/src/GNDStk/enums/RelationType/test/CMakeLists.txt b/src/GNDStk/enums/RelationType/test/CMakeLists.txt new file mode 100644 index 000000000..afd7cf2ff --- /dev/null +++ b/src/GNDStk/enums/RelationType/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.enums.RelationType.test RelationType.test.cpp ) +target_compile_options( GNDStk.enums.RelationType.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.enums.RelationType.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.enums.RelationType COMMAND GNDStk.enums.RelationType.test ) diff --git a/src/GNDStk/enums/RelationType/test/RelationType.test.cpp b/src/GNDStk/enums/RelationType/test/RelationType.test.cpp new file mode 100644 index 000000000..b1ec29a56 --- /dev/null +++ b/src/GNDStk/enums/RelationType/test/RelationType.test.cpp @@ -0,0 +1,393 @@ +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +// other includes + +// convenience typedefs +using namespace njoy::GNDStk; +using RelationType = enums::RelationType; + +SCENARIO( "RelationType" ) { + + GIVEN( "valid encoding values and symbols" ) { + + WHEN( "toString is used" ) { + + THEN( "no exception is thrown and the correct string is returned" ) { + + CHECK( "IsCitedBy" == enums::toString( RelationType::IsCitedBy ) ); + CHECK( "Cites" == enums::toString( RelationType::Cites ) ); + CHECK( "IsSupplementTo" == enums::toString( RelationType::IsSupplementTo ) ); + CHECK( "IsSupplementedBy" == enums::toString( RelationType::IsSupplementedBy ) ); + CHECK( "IsContinuedBy" == enums::toString( RelationType::IsContinuedBy ) ); + CHECK( "Continues" == enums::toString( RelationType::Continues ) ); + CHECK( "Describes" == enums::toString( RelationType::Describes ) ); + CHECK( "IsDescribedBy" == enums::toString( RelationType::IsDescribedBy ) ); + CHECK( "HasMetadata" == enums::toString( RelationType::HasMetadata ) ); + CHECK( "IsMetadataFor" == enums::toString( RelationType::IsMetadataFor ) ); + CHECK( "HasVersion" == enums::toString( RelationType::HasVersion ) ); + CHECK( "IsVersionOf" == enums::toString( RelationType::IsVersionOf ) ); + CHECK( "IsNewVersionOf" == enums::toString( RelationType::IsNewVersionOf ) ); + CHECK( "IsPreviousVersionOf" == enums::toString( RelationType::IsPreviousVersionOf ) ); + CHECK( "IsPartOf" == enums::toString( RelationType::IsPartOf ) ); + CHECK( "HasPart" == enums::toString( RelationType::HasPart ) ); + CHECK( "IsPublishedIn" == enums::toString( RelationType::IsPublishedIn ) ); + CHECK( "IsReferencedBy" == enums::toString( RelationType::IsReferencedBy ) ); + CHECK( "References" == enums::toString( RelationType::References ) ); + CHECK( "IsDocumentedBy" == enums::toString( RelationType::IsDocumentedBy ) ); + CHECK( "Documents" == enums::toString( RelationType::Documents ) ); + CHECK( "IsCompiledBy" == enums::toString( RelationType::IsCompiledBy ) ); + CHECK( "Complies" == enums::toString( RelationType::Complies ) ); + CHECK( "IsVariantFormOf" == enums::toString( RelationType::IsVariantFormOf ) ); + CHECK( "IsOriginalFormOf" == enums::toString( RelationType::IsOriginalFormOf ) ); + CHECK( "IsIdenticalTo" == enums::toString( RelationType::IsIdenticalTo ) ); + CHECK( "IsReviewedBy" == enums::toString( RelationType::IsReviewedBy ) ); + CHECK( "Reviews" == enums::toString( RelationType::Reviews ) ); + CHECK( "IsDerivedFrom" == enums::toString( RelationType::IsDerivedFrom ) ); + CHECK( "IsSourceOf" == enums::toString( RelationType::IsSourceOf ) ); + CHECK( "IsRequiredBy" == enums::toString( RelationType::IsRequiredBy ) ); + CHECK( "Requires" == enums::toString( RelationType::Requires ) ); + CHECK( "Obsoletes" == enums::toString( RelationType::Obsoletes ) ); + CHECK( "IsObsoletedBy" == enums::toString( RelationType::IsObsoletedBy ) ); + } // THEN + } // WHEN + + WHEN( "fromString is used" ) { + + THEN( "no exception is thrown when the symbol is registered" ) { + + CHECK( RelationType::IsCitedBy == enums::fromString< RelationType >( "IsCitedBy" ) ); + CHECK( RelationType::Cites == enums::fromString< RelationType >( "Cites" ) ); + CHECK( RelationType::IsSupplementTo == enums::fromString< RelationType >( "IsSupplementTo" ) ); + CHECK( RelationType::IsSupplementedBy == enums::fromString< RelationType >( "IsSupplementedBy" ) ); + CHECK( RelationType::IsContinuedBy == enums::fromString< RelationType >( "IsContinuedBy" ) ); + CHECK( RelationType::Continues == enums::fromString< RelationType >( "Continues" ) ); + CHECK( RelationType::Describes == enums::fromString< RelationType >( "Describes" ) ); + CHECK( RelationType::IsDescribedBy == enums::fromString< RelationType >( "IsDescribedBy" ) ); + CHECK( RelationType::HasMetadata == enums::fromString< RelationType >( "HasMetadata" ) ); + CHECK( RelationType::IsMetadataFor == enums::fromString< RelationType >( "IsMetadataFor" ) ); + CHECK( RelationType::HasVersion == enums::fromString< RelationType >( "HasVersion" ) ); + CHECK( RelationType::IsVersionOf == enums::fromString< RelationType >( "IsVersionOf" ) ); + CHECK( RelationType::IsNewVersionOf == enums::fromString< RelationType >( "IsNewVersionOf" ) ); + CHECK( RelationType::IsPreviousVersionOf == enums::fromString< RelationType >( "IsPreviousVersionOf" ) ); + CHECK( RelationType::IsPartOf == enums::fromString< RelationType >( "IsPartOf" ) ); + CHECK( RelationType::HasPart == enums::fromString< RelationType >( "HasPart" ) ); + CHECK( RelationType::IsPublishedIn == enums::fromString< RelationType >( "IsPublishedIn" ) ); + CHECK( RelationType::IsReferencedBy == enums::fromString< RelationType >( "IsReferencedBy" ) ); + CHECK( RelationType::References == enums::fromString< RelationType >( "References" ) ); + CHECK( RelationType::IsDocumentedBy == enums::fromString< RelationType >( "IsDocumentedBy" ) ); + CHECK( RelationType::Documents == enums::fromString< RelationType >( "Documents" ) ); + CHECK( RelationType::IsCompiledBy == enums::fromString< RelationType >( "IsCompiledBy" ) ); + CHECK( RelationType::Complies == enums::fromString< RelationType >( "Complies" ) ); + CHECK( RelationType::IsVariantFormOf == enums::fromString< RelationType >( "IsVariantFormOf" ) ); + CHECK( RelationType::IsOriginalFormOf == enums::fromString< RelationType >( "IsOriginalFormOf" ) ); + CHECK( RelationType::IsIdenticalTo == enums::fromString< RelationType >( "IsIdenticalTo" ) ); + CHECK( RelationType::IsReviewedBy == enums::fromString< RelationType >( "IsReviewedBy" ) ); + CHECK( RelationType::Reviews == enums::fromString< RelationType >( "Reviews" ) ); + CHECK( RelationType::IsDerivedFrom == enums::fromString< RelationType >( "IsDerivedFrom" ) ); + CHECK( RelationType::IsSourceOf == enums::fromString< RelationType >( "IsSourceOf" ) ); + CHECK( RelationType::IsRequiredBy == enums::fromString< RelationType >( "IsRequiredBy" ) ); + CHECK( RelationType::Requires == enums::fromString< RelationType >( "Requires" ) ); + CHECK( RelationType::Obsoletes == enums::fromString< RelationType >( "Obsoletes" ) ); + CHECK( RelationType::IsObsoletedBy == enums::fromString< RelationType >( "IsObsoletedBy" ) ); + } // THEN + + THEN( "an exception is thrown when the symbol is not registered" ) { + + CHECK_THROWS( enums::fromString< RelationType >( "unregistered" ) ); + } // THEN + } // WHEN + + WHEN( "operator<< is used" ) { + + THEN( "no exception is thrown and the symbol is written to the stream" ) { + + std::ostringstream out; + out << RelationType::IsCitedBy << ' ' + << RelationType::Cites << ' ' + << RelationType::IsSupplementTo << ' ' + << RelationType::IsSupplementedBy << ' ' + << RelationType::IsContinuedBy << ' ' + << RelationType::Continues << ' ' + << RelationType::Describes << ' ' + << RelationType::IsDescribedBy << ' ' + << RelationType::HasMetadata << ' ' + << RelationType::IsMetadataFor << ' ' + << RelationType::HasVersion << ' ' + << RelationType::IsVersionOf << ' ' + << RelationType::IsNewVersionOf << ' ' + << RelationType::IsPreviousVersionOf << ' ' + << RelationType::IsPartOf << ' ' + << RelationType::HasPart << ' ' + << RelationType::IsPublishedIn << ' ' + << RelationType::IsReferencedBy << ' ' + << RelationType::References << ' ' + << RelationType::IsDocumentedBy << ' ' + << RelationType::Documents << ' ' + << RelationType::IsCompiledBy << ' ' + << RelationType::Complies << ' ' + << RelationType::IsVariantFormOf << ' ' + << RelationType::IsOriginalFormOf << ' ' + << RelationType::IsIdenticalTo << ' ' + << RelationType::IsReviewedBy << ' ' + << RelationType::Reviews << ' ' + << RelationType::IsDerivedFrom << ' ' + << RelationType::IsSourceOf << ' ' + << RelationType::IsRequiredBy << ' ' + << RelationType::Requires << ' ' + << RelationType::Obsoletes << ' ' + << RelationType::IsObsoletedBy; + + CHECK( "IsCitedBy Cites IsSupplementTo IsSupplementedBy IsContinuedBy " + "Continues Describes IsDescribedBy HasMetadata IsMetadataFor " + "HasVersion IsVersionOf IsNewVersionOf IsPreviousVersionOf " + "IsPartOf HasPart IsPublishedIn IsReferencedBy References " + "IsDocumentedBy Documents IsCompiledBy Complies IsVariantFormOf " + "IsOriginalFormOf IsIdenticalTo IsReviewedBy Reviews IsDerivedFrom " + "IsSourceOf IsRequiredBy Requires Obsoletes IsObsoletedBy" + == out.str() ); + } // THEN + } // WHEN + + WHEN( "operator>> is used" ) { + + THEN( "the stream is not in fail() when the symbol is registered" ) { + + RelationType value; + std::istringstream in( "IsCitedBy Cites IsSupplementTo IsSupplementedBy IsContinuedBy " + "Continues Describes IsDescribedBy HasMetadata IsMetadataFor " + "HasVersion IsVersionOf IsNewVersionOf IsPreviousVersionOf " + "IsPartOf HasPart IsPublishedIn IsReferencedBy References " + "IsDocumentedBy Documents IsCompiledBy Complies IsVariantFormOf " + "IsOriginalFormOf IsIdenticalTo IsReviewedBy Reviews IsDerivedFrom " + "IsSourceOf IsRequiredBy Requires Obsoletes IsObsoletedBy" ); + + in >> value; + CHECK( RelationType::IsCitedBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::Cites == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsSupplementTo == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsSupplementedBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsContinuedBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::Continues == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::Describes == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsDescribedBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::HasMetadata == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsMetadataFor == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::HasVersion == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsVersionOf == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsNewVersionOf == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsPreviousVersionOf == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsPartOf == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::HasPart == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsPublishedIn == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsReferencedBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::References == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsDocumentedBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::Documents == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsCompiledBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::Complies == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsVariantFormOf == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsOriginalFormOf == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsIdenticalTo == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsReviewedBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::Reviews == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsDerivedFrom == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsSourceOf == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsRequiredBy == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::Requires == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::Obsoletes == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( RelationType::IsObsoletedBy == value ); + CHECK( false == in.fail() ); + CHECK( true == in.eof() ); + } // THEN + + THEN( "the stream is in fail() and the position has not changed when " + "the symbol is not registered" ) { + + RelationType value = RelationType::IsCitedBy; + std::istringstream in( "unregistered" ); + in >> value; + + CHECK( RelationType::IsCitedBy == value ); + CHECK( true == in.fail() ); + } // THEN + } // WHEN + + WHEN( "isRelationType is used" ) { + + THEN( "registered date types return true, " + "unregistered date types return false" ) { + + CHECK( true == enums::isRelationType( "IsCitedBy" ) ); + CHECK( true == enums::isRelationType( "Cites" ) ); + CHECK( true == enums::isRelationType( "IsSupplementTo" ) ); + CHECK( true == enums::isRelationType( "IsSupplementedBy" ) ); + CHECK( true == enums::isRelationType( "IsContinuedBy" ) ); + CHECK( true == enums::isRelationType( "Continues" ) ); + CHECK( true == enums::isRelationType( "Describes" ) ); + CHECK( true == enums::isRelationType( "IsDescribedBy" ) ); + CHECK( true == enums::isRelationType( "HasMetadata" ) ); + CHECK( true == enums::isRelationType( "IsMetadataFor" ) ); + CHECK( true == enums::isRelationType( "HasVersion" ) ); + CHECK( true == enums::isRelationType( "IsVersionOf" ) ); + CHECK( true == enums::isRelationType( "IsNewVersionOf" ) ); + CHECK( true == enums::isRelationType( "IsPreviousVersionOf" ) ); + CHECK( true == enums::isRelationType( "IsPartOf" ) ); + CHECK( true == enums::isRelationType( "HasPart" ) ); + CHECK( true == enums::isRelationType( "IsPublishedIn" ) ); + CHECK( true == enums::isRelationType( "IsReferencedBy" ) ); + CHECK( true == enums::isRelationType( "References" ) ); + CHECK( true == enums::isRelationType( "IsDocumentedBy" ) ); + CHECK( true == enums::isRelationType( "Documents" ) ); + CHECK( true == enums::isRelationType( "IsCompiledBy" ) ); + CHECK( true == enums::isRelationType( "Complies" ) ); + CHECK( true == enums::isRelationType( "IsVariantFormOf" ) ); + CHECK( true == enums::isRelationType( "IsOriginalFormOf" ) ); + CHECK( true == enums::isRelationType( "IsIdenticalTo" ) ); + CHECK( true == enums::isRelationType( "IsReviewedBy" ) ); + CHECK( true == enums::isRelationType( "Reviews" ) ); + CHECK( true == enums::isRelationType( "IsDerivedFrom" ) ); + CHECK( true == enums::isRelationType( "IsSourceOf" ) ); + CHECK( true == enums::isRelationType( "IsRequiredBy" ) ); + CHECK( true == enums::isRelationType( "Requires" ) ); + CHECK( true == enums::isRelationType( "Obsoletes" ) ); + CHECK( true == enums::isRelationType( "IsObsoletedBy" ) ); + CHECK( false == enums::isRelationType( "unregistered" ) ); + } // THEN + } // WHEN + } // GIVEN +} // SCENARIO From bf9c348bda13eb95a1a7704fe365220f7d738255 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Wed, 10 Nov 2021 17:38:37 -0700 Subject: [PATCH 014/235] Adding the DecayType enumerator --- cmake/unit_testing.cmake | 1 + src/GNDStk/enums.hpp | 1 + src/GNDStk/enums/DecayType.hpp | 82 ++++++++ .../enums/DecayType/test/CMakeLists.txt | 18 ++ .../enums/DecayType/test/DecayType.test.cpp | 182 ++++++++++++++++++ 5 files changed, 284 insertions(+) create mode 100644 src/GNDStk/enums/DecayType.hpp create mode 100644 src/GNDStk/enums/DecayType/test/CMakeLists.txt create mode 100644 src/GNDStk/enums/DecayType/test/DecayType.test.cpp diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index 12fd53958..cf37d91d7 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -37,6 +37,7 @@ add_subdirectory( src/GNDStk/enums/Frame/test ) add_subdirectory( src/GNDStk/enums/Interpolation/test ) add_subdirectory( src/GNDStk/enums/InterpolationQualifier/test ) add_subdirectory( src/GNDStk/enums/HashAlgorithm/test ) +add_subdirectory( src/GNDStk/enums/DecayType/test ) add_subdirectory( src/GNDStk/enums/Encoding/test ) add_subdirectory( src/GNDStk/enums/GridStyle/test ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 15865e303..9b1a9d709 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -9,6 +9,7 @@ #include "GNDStk/enums/Interpolation.hpp" #include "GNDStk/enums/InterpolationQualifier.hpp" #include "GNDStk/enums/HashAlgorithm.hpp" +#include "GNDStk/enums/DecayType.hpp" // general #include "GNDStk/enums/Encoding.hpp" diff --git a/src/GNDStk/enums/DecayType.hpp b/src/GNDStk/enums/DecayType.hpp new file mode 100644 index 000000000..5d24e7f67 --- /dev/null +++ b/src/GNDStk/enums/DecayType.hpp @@ -0,0 +1,82 @@ +#ifndef NJOY_GNDSTK_DECAYTYPE +#define NJOY_GNDSTK_DECAYTYPE + +namespace enums { + + /** + * @class + * @brief Enumeration class for interpolation decay type values + */ + enum class DecayType { + + SpontaneousFission = 1, + BetaMinus, + BetaPlus, + ElectronCapture, + ElectroMagnetic, + IsomericTransition, + Neutron, + Proton, + Deuteron, + Triton, + Alpha, + AtomicRelaxation + }; + + /** + * @brief Return whether or not a string is a valid relation type + * + * @param[in] string the string to be verified + * + * @return true/false + */ + inline bool isDecayType( const std::string& string ) { + + return isSymbol< DecayType >( string ); + } + + /** + * @brief Template specialisation to convert DecayType to/from strings + */ + template <> + class Map< GNDStk::enums::DecayType > { + public: + + static inline const std::map< GNDStk::enums::DecayType, + const std::string > values{ + + { GNDStk::enums::DecayType::SpontaneousFission, "SF" }, + { GNDStk::enums::DecayType::BetaMinus, "beta-" }, + { GNDStk::enums::DecayType::BetaPlus, "beta+" }, + { GNDStk::enums::DecayType::ElectronCapture, "EC" }, + { GNDStk::enums::DecayType::ElectroMagnetic, "electroMagnetic" }, + { GNDStk::enums::DecayType::IsomericTransition, "IT" }, + { GNDStk::enums::DecayType::Neutron, "n" }, + { GNDStk::enums::DecayType::Proton, "p" }, + { GNDStk::enums::DecayType::Deuteron, "d" }, + { GNDStk::enums::DecayType::Triton, "t" }, + { GNDStk::enums::DecayType::Alpha, "alpha" }, + { GNDStk::enums::DecayType::AtomicRelaxation, "atomicRelaxation" } + }; + + static inline const std::map< const std::string, + GNDStk::enums::DecayType > symbols{ + + { "SF", GNDStk::enums::DecayType::SpontaneousFission }, + { "beta-", GNDStk::enums::DecayType::BetaMinus }, + { "beta+", GNDStk::enums::DecayType::BetaPlus }, + { "EC", GNDStk::enums::DecayType::ElectronCapture }, + { "electroMagnetic", GNDStk::enums::DecayType::ElectroMagnetic }, + { "IT", GNDStk::enums::DecayType::IsomericTransition }, + { "n", GNDStk::enums::DecayType::Neutron }, + { "p", GNDStk::enums::DecayType::Proton }, + { "d", GNDStk::enums::DecayType::Deuteron }, + { "t", GNDStk::enums::DecayType::Triton }, + { "alpha", GNDStk::enums::DecayType::Alpha }, + { "atomicRelaxation", GNDStk::enums::DecayType::AtomicRelaxation } + }; + }; + +} // namespace enums + +#endif diff --git a/src/GNDStk/enums/DecayType/test/CMakeLists.txt b/src/GNDStk/enums/DecayType/test/CMakeLists.txt new file mode 100644 index 000000000..de111b825 --- /dev/null +++ b/src/GNDStk/enums/DecayType/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.enums.DecayType.test DecayType.test.cpp ) +target_compile_options( GNDStk.enums.DecayType.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.enums.DecayType.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.enums.DecayType COMMAND GNDStk.enums.DecayType.test ) diff --git a/src/GNDStk/enums/DecayType/test/DecayType.test.cpp b/src/GNDStk/enums/DecayType/test/DecayType.test.cpp new file mode 100644 index 000000000..5f2b96a26 --- /dev/null +++ b/src/GNDStk/enums/DecayType/test/DecayType.test.cpp @@ -0,0 +1,182 @@ +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +// other includes + +// convenience typedefs +using namespace njoy::GNDStk; +using DecayType = enums::DecayType; + +SCENARIO( "DecayType" ) { + + GIVEN( "valid DecayType values and symbols" ) { + + WHEN( "toString is used" ) { + + THEN( "no exception is thrown and the correct string is returned" ) { + + CHECK( "SF" == enums::toString( DecayType::SpontaneousFission ) ); + CHECK( "beta-" == enums::toString( DecayType::BetaMinus ) ); + CHECK( "beta+" == enums::toString( DecayType::BetaPlus ) ); + CHECK( "EC" == enums::toString( DecayType::ElectronCapture ) ); + CHECK( "electroMagnetic" == enums::toString( DecayType::ElectroMagnetic ) ); + CHECK( "IT" == enums::toString( DecayType::IsomericTransition ) ); + CHECK( "n" == enums::toString( DecayType::Neutron ) ); + CHECK( "p" == enums::toString( DecayType::Proton ) ); + CHECK( "d" == enums::toString( DecayType::Deuteron ) ); + CHECK( "t" == enums::toString( DecayType::Triton ) ); + CHECK( "alpha" == enums::toString( DecayType::Alpha ) ); + CHECK( "atomicRelaxation" == enums::toString( DecayType::AtomicRelaxation ) ); + } // THEN + } // WHEN + + WHEN( "fromString is used" ) { + + THEN( "no exception is thrown when the symbol is registered" ) { + + CHECK( DecayType::SpontaneousFission == enums::fromString< DecayType >( "SF" ) ); + CHECK( DecayType::BetaMinus == enums::fromString< DecayType >( "beta-" ) ); + CHECK( DecayType::BetaPlus == enums::fromString< DecayType >( "beta+" ) ); + CHECK( DecayType::ElectronCapture == enums::fromString< DecayType >( "EC" ) ); + CHECK( DecayType::ElectroMagnetic == enums::fromString< DecayType >( "electroMagnetic" ) ); + CHECK( DecayType::IsomericTransition == enums::fromString< DecayType >( "IT" ) ); + CHECK( DecayType::Neutron == enums::fromString< DecayType >( "n" ) ); + CHECK( DecayType::Proton == enums::fromString< DecayType >( "p" ) ); + CHECK( DecayType::Deuteron == enums::fromString< DecayType >( "d" ) ); + CHECK( DecayType::Triton == enums::fromString< DecayType >( "t" ) ); + CHECK( DecayType::Alpha == enums::fromString< DecayType >( "alpha" ) ); + CHECK( DecayType::AtomicRelaxation == enums::fromString< DecayType >( "atomicRelaxation" ) ); + } // THEN + + THEN( "an exception is thrown when the symbol is not registered" ) { + + CHECK_THROWS( enums::fromString< DecayType >( "unregistered" ) ); + } // THEN + } // WHEN + + WHEN( "operator<< is used" ) { + + THEN( "no exception is thrown and the symbol is written to the stream" ) { + + std::ostringstream out; + out << DecayType::SpontaneousFission << ' ' + << DecayType::BetaMinus << ' ' + << DecayType::BetaPlus << ' ' + << DecayType::ElectronCapture << ' ' + << DecayType::ElectroMagnetic << ' ' + << DecayType::IsomericTransition << ' ' + << DecayType::Neutron << ' ' + << DecayType::Proton << ' ' + << DecayType::Deuteron << ' ' + << DecayType::Triton << ' ' + << DecayType::Alpha << ' ' + << DecayType::AtomicRelaxation; + + CHECK( "SF beta- beta+ EC electroMagnetic IT n p d t alpha atomicRelaxation" == out.str() ); + } // THEN + } // WHEN + + WHEN( "operator>> is used" ) { + + THEN( "the stream is not in fail() when the symbol is registered" ) { + + DecayType value; + std::istringstream in( "SF beta- beta+ EC electroMagnetic IT n p d t alpha atomicRelaxation" ); + + in >> value; + CHECK( DecayType::SpontaneousFission == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::BetaMinus == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::BetaPlus == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::ElectronCapture == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::ElectroMagnetic == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::IsomericTransition == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::Neutron == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::Proton == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::Deuteron == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::Triton == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::Alpha == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( DecayType::AtomicRelaxation == value ); + CHECK( false == in.fail() ); + CHECK( true == in.eof() ); + } // THEN + + THEN( "the stream is in fail() and the position has not changed when " + "the symbol is not registered" ) { + + DecayType value = DecayType::SpontaneousFission; + std::istringstream in( "unregistered" ); + in >> value; + + CHECK( DecayType::SpontaneousFission == value ); + CHECK( true == in.fail() ); + } // THEN + } // WHEN + + WHEN( "isDecayType is used" ) { + + THEN( "registered DecayType values return true, " + "unregistered DecayType values return false" ) { + + CHECK( true == enums::isDecayType( "SF" ) ); + CHECK( true == enums::isDecayType( "beta-" ) ); + CHECK( true == enums::isDecayType( "beta+" ) ); + CHECK( true == enums::isDecayType( "EC" ) ); + CHECK( true == enums::isDecayType( "electroMagnetic" ) ); + CHECK( true == enums::isDecayType( "IT" ) ); + CHECK( true == enums::isDecayType( "n" ) ); + CHECK( true == enums::isDecayType( "p" ) ); + CHECK( true == enums::isDecayType( "d" ) ); + CHECK( true == enums::isDecayType( "t" ) ); + CHECK( true == enums::isDecayType( "alpha" ) ); + CHECK( true == enums::isDecayType( "atomicRelaxation" ) ); + CHECK( false == enums::isDecayType( "unregistered" ) ); + } // THEN + } // WHEN + } // GIVEN +} // SCENARIO From b4afb4d35e31cf6d55fc63ac52d2eb80d2b4d420 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 11 Nov 2021 14:55:38 -0700 Subject: [PATCH 015/235] Updated GridStyle enumerator --- src/GNDStk/enums.hpp | 2 +- src/GNDStk/enums/GridStyle.hpp | 5 ----- .../enums/GridStyle/test/GridStyle.test.cpp | 17 +++++------------ 3 files changed, 6 insertions(+), 18 deletions(-) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 9b1a9d709..779e805b0 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -10,10 +10,10 @@ #include "GNDStk/enums/InterpolationQualifier.hpp" #include "GNDStk/enums/HashAlgorithm.hpp" #include "GNDStk/enums/DecayType.hpp" +#include "GNDStk/enums/GridStyle.hpp" // general #include "GNDStk/enums/Encoding.hpp" -#include "GNDStk/enums/GridStyle.hpp" #include "GNDStk/enums/Interaction.hpp" #include "GNDStk/enums/StorageOrder.hpp" diff --git a/src/GNDStk/enums/GridStyle.hpp b/src/GNDStk/enums/GridStyle.hpp index 06759c324..a94715450 100644 --- a/src/GNDStk/enums/GridStyle.hpp +++ b/src/GNDStk/enums/GridStyle.hpp @@ -7,13 +7,10 @@ namespace enums { /** * @class * @brief Enumeration class giving acceptable grid style values - * - * See GNDS v1.9 specifications section 5.1.3 */ enum class GridStyle { none, - link, points, boundaries, parameters @@ -42,7 +39,6 @@ namespace enums { const std::string > values{ { GNDStk::enums::GridStyle::none, "none" }, - { GNDStk::enums::GridStyle::link, "link" }, { GNDStk::enums::GridStyle::points, "points" }, { GNDStk::enums::GridStyle::boundaries, "boundaries" }, { GNDStk::enums::GridStyle::parameters, "parameters" } @@ -52,7 +48,6 @@ namespace enums { GNDStk::enums::GridStyle > symbols{ { "none", GNDStk::enums::GridStyle::none }, - { "link", GNDStk::enums::GridStyle::link }, { "points", GNDStk::enums::GridStyle::points }, { "boundaries", GNDStk::enums::GridStyle::boundaries }, { "parameters", GNDStk::enums::GridStyle::parameters } diff --git a/src/GNDStk/enums/GridStyle/test/GridStyle.test.cpp b/src/GNDStk/enums/GridStyle/test/GridStyle.test.cpp index d6aa8797d..2396973ca 100644 --- a/src/GNDStk/enums/GridStyle/test/GridStyle.test.cpp +++ b/src/GNDStk/enums/GridStyle/test/GridStyle.test.cpp @@ -18,7 +18,6 @@ SCENARIO( "GridStyle" ) { THEN( "no exception is thrown and the correct string is returned" ) { CHECK( "none" == enums::toString( GridStyle::none ) ); - CHECK( "link" == enums::toString( GridStyle::link ) ); CHECK( "points" == enums::toString( GridStyle::points ) ); CHECK( "boundaries" == enums::toString( GridStyle::boundaries ) ); CHECK( "parameters" == enums::toString( GridStyle::parameters ) ); @@ -30,7 +29,6 @@ SCENARIO( "GridStyle" ) { THEN( "no exception is thrown when the symbol is registered" ) { CHECK( GridStyle::none == enums::fromString< GridStyle >( "none" ) ); - CHECK( GridStyle::link == enums::fromString< GridStyle >( "link" ) ); CHECK( GridStyle::points == enums::fromString< GridStyle >( "points" ) ); CHECK( GridStyle::boundaries == enums::fromString< GridStyle >( "boundaries" ) ); CHECK( GridStyle::parameters == enums::fromString< GridStyle >( "parameters" ) ); @@ -47,11 +45,12 @@ SCENARIO( "GridStyle" ) { THEN( "no exception is thrown and the symbol is written to the stream" ) { std::ostringstream out; - out << GridStyle::none << ' ' << GridStyle::link << ' ' - << GridStyle::points << ' ' << GridStyle::boundaries << ' ' + out << GridStyle::none << ' ' + << GridStyle::points << ' ' + << GridStyle::boundaries << ' ' << GridStyle::parameters; - CHECK( "none link points boundaries parameters" == out.str() ); + CHECK( "none points boundaries parameters" == out.str() ); } // THEN } // WHEN @@ -60,18 +59,13 @@ SCENARIO( "GridStyle" ) { THEN( "the stream is not in fail() when the symbol is registered" ) { GridStyle value; - std::istringstream in( "none link points boundaries parameters" ); + std::istringstream in( "none points boundaries parameters" ); in >> value; CHECK( GridStyle::none == value ); CHECK( false == in.fail() ); CHECK( false == in.eof() ); - in >> value; - CHECK( GridStyle::link == value ); - CHECK( false == in.fail() ); - CHECK( false == in.eof() ); - in >> value; CHECK( GridStyle::points == value ); CHECK( false == in.fail() ); @@ -105,7 +99,6 @@ SCENARIO( "GridStyle" ) { THEN( "registered units return true, unregistered units return false" ) { CHECK( true == enums::isGridStyle( "none" ) ); - CHECK( true == enums::isGridStyle( "link" ) ); CHECK( true == enums::isGridStyle( "points" ) ); CHECK( true == enums::isGridStyle( "boundaries" ) ); CHECK( true == enums::isGridStyle( "parameters" ) ); From 39bf4a487f5e3c34e52855aa076bd0cab4d4c492 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 11 Nov 2021 15:12:40 -0700 Subject: [PATCH 016/235] Adding the BoundaryCondition enumerator --- cmake/unit_testing.cmake | 3 +- src/GNDStk/enums.hpp | 1 + src/GNDStk/enums/BoundaryCondition.hpp | 58 +++++++++ .../test/BoundaryCondition.test.cpp | 114 ++++++++++++++++++ .../BoundaryCondition/test/CMakeLists.txt | 18 +++ src/GNDStk/enums/GridStyle.hpp | 1 - src/GNDStk/enums/Interpolation.hpp | 1 - 7 files changed, 193 insertions(+), 3 deletions(-) create mode 100644 src/GNDStk/enums/BoundaryCondition.hpp create mode 100644 src/GNDStk/enums/BoundaryCondition/test/BoundaryCondition.test.cpp create mode 100644 src/GNDStk/enums/BoundaryCondition/test/CMakeLists.txt diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index cf37d91d7..21494312a 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -38,9 +38,10 @@ add_subdirectory( src/GNDStk/enums/Interpolation/test ) add_subdirectory( src/GNDStk/enums/InterpolationQualifier/test ) add_subdirectory( src/GNDStk/enums/HashAlgorithm/test ) add_subdirectory( src/GNDStk/enums/DecayType/test ) +add_subdirectory( src/GNDStk/enums/GridStyle/test ) +add_subdirectory( src/GNDStk/enums/BoundaryCondition/test ) add_subdirectory( src/GNDStk/enums/Encoding/test ) -add_subdirectory( src/GNDStk/enums/GridStyle/test ) add_subdirectory( src/GNDStk/enums/Interaction/test ) add_subdirectory( src/GNDStk/enums/StorageOrder/test ) add_subdirectory( src/GNDStk/enums/units/Energy/test ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 779e805b0..5e1570850 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -11,6 +11,7 @@ #include "GNDStk/enums/HashAlgorithm.hpp" #include "GNDStk/enums/DecayType.hpp" #include "GNDStk/enums/GridStyle.hpp" +#include "GNDStk/enums/BoundaryCondition.hpp" // general #include "GNDStk/enums/Encoding.hpp" diff --git a/src/GNDStk/enums/BoundaryCondition.hpp b/src/GNDStk/enums/BoundaryCondition.hpp new file mode 100644 index 000000000..69e8679ed --- /dev/null +++ b/src/GNDStk/enums/BoundaryCondition.hpp @@ -0,0 +1,58 @@ +#ifndef NJOY_GNDSTK_BOUNDARYCONDITION +#define NJOY_GNDSTK_BOUNDARYCONDITION + +namespace enums { + + /** + * @class + * @brief Enumeration class for reference boundary condition values + */ + enum class BoundaryCondition { + + EliminateShiftFunction = 1, + NegativeOrbitalMomentum, + Brune, + Given + }; + + /** + * @brief Return whether or not a string is a valid boundary condition + * + * @param[in] string the string to be verified + * + * @return true/false + */ + inline bool isBoundaryCondition( const std::string& string ) { + + return isSymbol< BoundaryCondition >( string ); + } + + /** + * @brief Template specialisation to convert BoundaryCondition to/from strings + */ + template <> + class Map< GNDStk::enums::BoundaryCondition > { + public: + + static inline const std::map< GNDStk::enums::BoundaryCondition, + const std::string > values{ + + { GNDStk::enums::BoundaryCondition::EliminateShiftFunction, "EliminateShiftFunction" }, + { GNDStk::enums::BoundaryCondition::NegativeOrbitalMomentum, "NegativeOrbitalMomentum" }, + { GNDStk::enums::BoundaryCondition::Brune, "Brune" }, + { GNDStk::enums::BoundaryCondition::Given, "Given" } + }; + + static inline const std::map< const std::string, + GNDStk::enums::BoundaryCondition > symbols{ + + { "EliminateShiftFunction", GNDStk::enums::BoundaryCondition::EliminateShiftFunction }, + { "NegativeOrbitalMomentum", GNDStk::enums::BoundaryCondition::NegativeOrbitalMomentum }, + { "Brune", GNDStk::enums::BoundaryCondition::Brune }, + { "Given", GNDStk::enums::BoundaryCondition::Given } + }; + }; + +} // namespace enums + +#endif diff --git a/src/GNDStk/enums/BoundaryCondition/test/BoundaryCondition.test.cpp b/src/GNDStk/enums/BoundaryCondition/test/BoundaryCondition.test.cpp new file mode 100644 index 000000000..bdc901621 --- /dev/null +++ b/src/GNDStk/enums/BoundaryCondition/test/BoundaryCondition.test.cpp @@ -0,0 +1,114 @@ +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +// other includes + +// convenience typedefs +using namespace njoy::GNDStk; +using BoundaryCondition = enums::BoundaryCondition; + +SCENARIO( "BoundaryCondition" ) { + + GIVEN( "valid BoundaryCondition values and symbols" ) { + + WHEN( "toString is used" ) { + + THEN( "no exception is thrown and the correct string is returned" ) { + + CHECK( "EliminateShiftFunction" + == enums::toString( BoundaryCondition::EliminateShiftFunction ) ); + CHECK( "NegativeOrbitalMomentum" + == enums::toString( BoundaryCondition::NegativeOrbitalMomentum ) ); + CHECK( "Brune" == enums::toString( BoundaryCondition::Brune ) ); + CHECK( "Given" == enums::toString( BoundaryCondition::Given ) ); + } // THEN + } // WHEN + + WHEN( "fromString is used" ) { + + THEN( "no exception is thrown when the symbol is registered" ) { + + CHECK( BoundaryCondition::EliminateShiftFunction + == enums::fromString< BoundaryCondition >( "EliminateShiftFunction" ) ); + CHECK( BoundaryCondition::NegativeOrbitalMomentum + == enums::fromString< BoundaryCondition >( "NegativeOrbitalMomentum" ) ); + CHECK( BoundaryCondition::Brune == enums::fromString< BoundaryCondition >( "Brune" ) ); + CHECK( BoundaryCondition::Given == enums::fromString< BoundaryCondition >( "Given" ) ); + } // THEN + + THEN( "an exception is thrown when the symbol is not registered" ) { + + CHECK_THROWS( enums::fromString< BoundaryCondition >( "unregistered" ) ); + } // THEN + } // WHEN + + WHEN( "operator<< is used" ) { + + THEN( "no exception is thrown and the symbol is written to the stream" ) { + + std::ostringstream out; + out << BoundaryCondition::EliminateShiftFunction << ' ' + << BoundaryCondition::NegativeOrbitalMomentum << ' ' + << BoundaryCondition::Brune << ' ' + << BoundaryCondition::Given; + + CHECK( "EliminateShiftFunction NegativeOrbitalMomentum Brune Given" == out.str() ); + } // THEN + } // WHEN + + WHEN( "operator>> is used" ) { + + THEN( "the stream is not in fail() when the symbol is registered" ) { + + BoundaryCondition value; + std::istringstream in( "EliminateShiftFunction NegativeOrbitalMomentum Brune Given" ); + + in >> value; + CHECK( BoundaryCondition::EliminateShiftFunction == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( BoundaryCondition::NegativeOrbitalMomentum == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( BoundaryCondition::Brune == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + + in >> value; + CHECK( BoundaryCondition::Given == value ); + CHECK( false == in.fail() ); + CHECK( true == in.eof() ); + } // THEN + + THEN( "the stream is in fail() and the position has not changed when " + "the symbol is not registered" ) { + + BoundaryCondition value = BoundaryCondition::EliminateShiftFunction; + std::istringstream in( "unregistered" ); + in >> value; + + CHECK( BoundaryCondition::EliminateShiftFunction == value ); + CHECK( true == in.fail() ); + } // THEN + } // WHEN + + WHEN( "isBoundaryCondition is used" ) { + + THEN( "registered BoundaryCondition values return true, " + "unregistered BoundaryCondition values return false" ) { + + CHECK( true == enums::isBoundaryCondition( "EliminateShiftFunction" ) ); + CHECK( true == enums::isBoundaryCondition( "NegativeOrbitalMomentum" ) ); + CHECK( true == enums::isBoundaryCondition( "Brune" ) ); + CHECK( true == enums::isBoundaryCondition( "Given" ) ); + CHECK( false == enums::isBoundaryCondition( "unregistered" ) ); + } // THEN + } // WHEN + } // GIVEN +} // SCENARIO diff --git a/src/GNDStk/enums/BoundaryCondition/test/CMakeLists.txt b/src/GNDStk/enums/BoundaryCondition/test/CMakeLists.txt new file mode 100644 index 000000000..f2ba4b90b --- /dev/null +++ b/src/GNDStk/enums/BoundaryCondition/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.enums.BoundaryCondition.test BoundaryCondition.test.cpp ) +target_compile_options( GNDStk.enums.BoundaryCondition.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.enums.BoundaryCondition.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.enums.BoundaryCondition COMMAND GNDStk.enums.BoundaryCondition.test ) diff --git a/src/GNDStk/enums/GridStyle.hpp b/src/GNDStk/enums/GridStyle.hpp index a94715450..8aedfe8da 100644 --- a/src/GNDStk/enums/GridStyle.hpp +++ b/src/GNDStk/enums/GridStyle.hpp @@ -1,4 +1,3 @@ - #ifndef NJOY_GNDSTK_GRIDSTYLE #define NJOY_GNDSTK_GRIDSTYLE diff --git a/src/GNDStk/enums/Interpolation.hpp b/src/GNDStk/enums/Interpolation.hpp index c6efd5df1..762c95164 100644 --- a/src/GNDStk/enums/Interpolation.hpp +++ b/src/GNDStk/enums/Interpolation.hpp @@ -1,4 +1,3 @@ - #ifndef NJOY_GNDSTK_INTERPOLATION #define NJOY_GNDSTK_INTERPOLATION From 0180110e296167ed702fe8954ff19fdc44829286 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 11 Nov 2021 16:32:16 -0700 Subject: [PATCH 017/235] Adding BoudaryCondition enumerator to python bindings --- CMakeLists.txt | 1 + python/src/BoundaryCondition.python.cpp | 37 +++++++++++ python/src/GNDStk.python.cpp | 2 + python/src/GridStyle.python.cpp | 1 - python/test/Test_GNDStk_BoundaryCondition.py | 64 ++++++++++++++++++++ python/test/Test_GNDStk_GridStyle.py | 22 ------- src/GNDStk/enums.hpp | 2 +- src/GNDStk/enums/Interaction.hpp | 1 - 8 files changed, 105 insertions(+), 25 deletions(-) create mode 100644 python/src/BoundaryCondition.python.cpp create mode 100644 python/test/Test_GNDStk_BoundaryCondition.py diff --git a/CMakeLists.txt b/CMakeLists.txt index a33c52da1..82510eae0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -65,6 +65,7 @@ pybind11_add_module( GNDStk.python python/src/core/Node.python.cpp python/src/Interpolation.python.cpp python/src/GridStyle.python.cpp + python/src/BoundaryCondition.python.cpp python/src/v1.9/containers.python.cpp python/src/v1.9/containers/Axis.python.cpp python/src/v1.9/containers/Values.python.cpp diff --git a/python/src/BoundaryCondition.python.cpp b/python/src/BoundaryCondition.python.cpp new file mode 100644 index 000000000..cee60c334 --- /dev/null +++ b/python/src/BoundaryCondition.python.cpp @@ -0,0 +1,37 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapBoundaryCondition( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::BoundaryCondition; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "BoundaryCondition", + "Enumeration class giving acceptable boundary condition values", + python::arithmetic() + ); + + // wrap the component + component + .value( "EliminateShiftFunction", Component::EliminateShiftFunction ) + .value( "NegativeOrbitalMomentum", Component::NegativeOrbitalMomentum ) + .value( "Brune", Component::Brune ) + .value( "Given", Component::Given ); +} + +} // namespace core diff --git a/python/src/GNDStk.python.cpp b/python/src/GNDStk.python.cpp index 2a0ec7ad4..ed2beda86 100644 --- a/python/src/GNDStk.python.cpp +++ b/python/src/GNDStk.python.cpp @@ -14,6 +14,7 @@ namespace core { void wrapGridStyle( python::module& ); void wrapInterpolation( python::module& ); + void wrapBoundaryCondition( python::module& ); } // v1.9 interface declarations @@ -43,6 +44,7 @@ PYBIND11_MODULE( GNDStk, module ) { // enumerations (in the GNDStk module) core::wrapGridStyle( module ); core::wrapInterpolation( module ); + core::wrapBoundaryCondition( module ); // v1.9 components (in the v1_9 module, created in this function) python_v1_9::wrapGNDS( module ); diff --git a/python/src/GridStyle.python.cpp b/python/src/GridStyle.python.cpp index 25d7b15ee..87f595660 100644 --- a/python/src/GridStyle.python.cpp +++ b/python/src/GridStyle.python.cpp @@ -29,7 +29,6 @@ void wrapGridStyle( python::module& module ) { // wrap the component component .value( "none", Component::none ) - .value( "link", Component::link ) .value( "points", Component::points ) .value( "boundaries", Component::boundaries ) .value( "parameters", Component::parameters ); diff --git a/python/test/Test_GNDStk_BoundaryCondition.py b/python/test/Test_GNDStk_BoundaryCondition.py new file mode 100644 index 000000000..7e9467ba0 --- /dev/null +++ b/python/test/Test_GNDStk_BoundaryCondition.py @@ -0,0 +1,64 @@ +# standard imports +import unittest + +# third party imports + +# local imports +from GNDStk import BoundaryCondition + +class Test_GNDStk_BoundaryCondition( unittest.TestCase ) : + """Unit test for the BoundaryCondition enumerator.""" + + def test_component( self ) : + + value = BoundaryCondition.EliminateShiftFunction + + self.assertTrue( value == BoundaryCondition.EliminateShiftFunction ) + self.assertFalse( value == BoundaryCondition.NegativeOrbitalMomentum ) + self.assertFalse( value == BoundaryCondition.Brune ) + self.assertFalse( value == BoundaryCondition.Given ) + + self.assertFalse( value != BoundaryCondition.EliminateShiftFunction ) + self.assertTrue( value != BoundaryCondition.NegativeOrbitalMomentum ) + self.assertTrue( value != BoundaryCondition.Brune ) + self.assertTrue( value != BoundaryCondition.Given ) + + value = BoundaryCondition.NegativeOrbitalMomentum + + self.assertFalse( value == BoundaryCondition.EliminateShiftFunction ) + self.assertTrue( value == BoundaryCondition.NegativeOrbitalMomentum ) + self.assertFalse( value == BoundaryCondition.Brune ) + self.assertFalse( value == BoundaryCondition.Given ) + + self.assertTrue( value != BoundaryCondition.EliminateShiftFunction ) + self.assertFalse( value != BoundaryCondition.NegativeOrbitalMomentum ) + self.assertTrue( value != BoundaryCondition.Brune ) + self.assertTrue( value != BoundaryCondition.Given ) + + value = BoundaryCondition.Brune + + self.assertFalse( value == BoundaryCondition.EliminateShiftFunction ) + self.assertFalse( value == BoundaryCondition.NegativeOrbitalMomentum ) + self.assertTrue( value == BoundaryCondition.Brune ) + self.assertFalse( value == BoundaryCondition.Given ) + + self.assertTrue( value != BoundaryCondition.EliminateShiftFunction ) + self.assertTrue( value != BoundaryCondition.NegativeOrbitalMomentum ) + self.assertFalse( value != BoundaryCondition.Brune ) + self.assertTrue( value != BoundaryCondition.Given ) + + value = BoundaryCondition.Given + + self.assertFalse( value == BoundaryCondition.EliminateShiftFunction ) + self.assertFalse( value == BoundaryCondition.NegativeOrbitalMomentum ) + self.assertFalse( value == BoundaryCondition.Brune ) + self.assertTrue( value == BoundaryCondition.Given ) + + self.assertTrue( value != BoundaryCondition.EliminateShiftFunction ) + self.assertTrue( value != BoundaryCondition.NegativeOrbitalMomentum ) + self.assertTrue( value != BoundaryCondition.Brune ) + self.assertFalse( value != BoundaryCondition.Given ) + +if __name__ == '__main__' : + + unittest.main() diff --git a/python/test/Test_GNDStk_GridStyle.py b/python/test/Test_GNDStk_GridStyle.py index 3da97e03e..99960840e 100644 --- a/python/test/Test_GNDStk_GridStyle.py +++ b/python/test/Test_GNDStk_GridStyle.py @@ -14,27 +14,11 @@ def test_component( self ) : value = GridStyle.none self.assertTrue( value == GridStyle.none ) - self.assertFalse( value == GridStyle.link ) self.assertFalse( value == GridStyle.points ) self.assertFalse( value == GridStyle.boundaries ) self.assertFalse( value == GridStyle.parameters ) self.assertFalse( value != GridStyle.none ) - self.assertTrue( value != GridStyle.link ) - self.assertTrue( value != GridStyle.points ) - self.assertTrue( value != GridStyle.boundaries ) - self.assertTrue( value != GridStyle.parameters ) - - value = GridStyle.link - - self.assertFalse( value == GridStyle.none ) - self.assertTrue( value == GridStyle.link ) - self.assertFalse( value == GridStyle.points ) - self.assertFalse( value == GridStyle.boundaries ) - self.assertFalse( value == GridStyle.parameters ) - - self.assertTrue( value != GridStyle.none ) - self.assertFalse( value != GridStyle.link ) self.assertTrue( value != GridStyle.points ) self.assertTrue( value != GridStyle.boundaries ) self.assertTrue( value != GridStyle.parameters ) @@ -42,13 +26,11 @@ def test_component( self ) : value = GridStyle.points self.assertFalse( value == GridStyle.none ) - self.assertFalse( value == GridStyle.link ) self.assertTrue( value == GridStyle.points ) self.assertFalse( value == GridStyle.boundaries ) self.assertFalse( value == GridStyle.parameters ) self.assertTrue( value != GridStyle.none ) - self.assertTrue( value != GridStyle.link ) self.assertFalse( value != GridStyle.points ) self.assertTrue( value != GridStyle.boundaries ) self.assertTrue( value != GridStyle.parameters ) @@ -56,13 +38,11 @@ def test_component( self ) : value = GridStyle.boundaries self.assertFalse( value == GridStyle.none ) - self.assertFalse( value == GridStyle.link ) self.assertFalse( value == GridStyle.points ) self.assertTrue( value == GridStyle.boundaries ) self.assertFalse( value == GridStyle.parameters ) self.assertTrue( value != GridStyle.none ) - self.assertTrue( value != GridStyle.link ) self.assertTrue( value != GridStyle.points ) self.assertFalse( value != GridStyle.boundaries ) self.assertTrue( value != GridStyle.parameters ) @@ -70,13 +50,11 @@ def test_component( self ) : value = GridStyle.parameters self.assertFalse( value == GridStyle.none ) - self.assertFalse( value == GridStyle.link ) self.assertFalse( value == GridStyle.points ) self.assertFalse( value == GridStyle.boundaries ) self.assertTrue( value == GridStyle.parameters ) self.assertTrue( value != GridStyle.none ) - self.assertTrue( value != GridStyle.link ) self.assertTrue( value != GridStyle.points ) self.assertTrue( value != GridStyle.boundaries ) self.assertFalse( value != GridStyle.parameters ) diff --git a/src/GNDStk/enums.hpp b/src/GNDStk/enums.hpp index 5e1570850..c6f968733 100644 --- a/src/GNDStk/enums.hpp +++ b/src/GNDStk/enums.hpp @@ -12,10 +12,10 @@ #include "GNDStk/enums/DecayType.hpp" #include "GNDStk/enums/GridStyle.hpp" #include "GNDStk/enums/BoundaryCondition.hpp" +#include "GNDStk/enums/Interaction.hpp" // general #include "GNDStk/enums/Encoding.hpp" -#include "GNDStk/enums/Interaction.hpp" #include "GNDStk/enums/StorageOrder.hpp" // units-specific diff --git a/src/GNDStk/enums/Interaction.hpp b/src/GNDStk/enums/Interaction.hpp index 2aa344368..48fd7faae 100644 --- a/src/GNDStk/enums/Interaction.hpp +++ b/src/GNDStk/enums/Interaction.hpp @@ -1,4 +1,3 @@ - #ifndef NJOY_GNDSTK_INTERACTION #define NJOY_GNDSTK_INTERACTION From 794af0351a36792a781b23d4227315596d0b6fd9 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Fri, 12 Nov 2021 10:09:07 -0700 Subject: [PATCH 018/235] Adding more enumerators to the python bindings --- CMakeLists.txt | 7 +++- python/src/ContributorType.python.cpp | 54 +++++++++++++++++++++++++++ python/src/DateType.python.cpp | 43 +++++++++++++++++++++ python/src/DecayType.python.cpp | 45 ++++++++++++++++++++++ python/src/Frame.python.cpp | 35 +++++++++++++++++ python/src/GNDStk.python.cpp | 10 +++++ python/src/HashAlgorithm.python.cpp | 35 +++++++++++++++++ 7 files changed, 228 insertions(+), 1 deletion(-) create mode 100644 python/src/ContributorType.python.cpp create mode 100644 python/src/DateType.python.cpp create mode 100644 python/src/DecayType.python.cpp create mode 100644 python/src/Frame.python.cpp create mode 100644 python/src/HashAlgorithm.python.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 82510eae0..c0281c50e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,8 +63,13 @@ pybind11_add_module( GNDStk.python EXCLUDE_FROM_ALL python/src/GNDStk.python.cpp python/src/core/Node.python.cpp - python/src/Interpolation.python.cpp + python/src/ContributorType.python.cpp + python/src/DateType.python.cpp + python/src/DecayType.python.cpp + python/src/Frame.python.cpp python/src/GridStyle.python.cpp + python/src/HashAlgorithm.python.cpp + python/src/Interpolation.python.cpp python/src/BoundaryCondition.python.cpp python/src/v1.9/containers.python.cpp python/src/v1.9/containers/Axis.python.cpp diff --git a/python/src/ContributorType.python.cpp b/python/src/ContributorType.python.cpp new file mode 100644 index 000000000..23e12e45a --- /dev/null +++ b/python/src/ContributorType.python.cpp @@ -0,0 +1,54 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapContributorType( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::ContributorType; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "ContributorType", + "Enumeration class giving acceptable contributor type values", + python::arithmetic() + ); + + // wrap the component + component + .value( "ContactPerson", Component::ContactPerson ) + .value( "DataCollector", Component::DataCollector ) + .value( "DataCurator", Component::DataCurator ) + .value( "DataManager", Component::DataManager ) + .value( "Distributor", Component::Distributor ) + .value( "Editor", Component::Editor ) + .value( "HostingInstitution", Component::HostingInstitution ) + .value( "Producer", Component::Producer ) + .value( "ProjectLeader", Component::ProjectLeader ) + .value( "ProjectManager", Component::ProjectManager ) + .value( "ProjectMember", Component::ProjectMember ) + .value( "RegistrationAgency", Component::RegistrationAgency ) + .value( "RegistrationAuthority", Component::RegistrationAuthority ) + .value( "RelatedPerson", Component::RelatedPerson ) + .value( "Researcher", Component::Researcher ) + .value( "ResearchGroup", Component::ResearchGroup ) + .value( "RightsHolder", Component::RightsHolder ) + .value( "Sponsor", Component::Sponsor ) + .value( "Supervisor", Component::Supervisor ) + .value( "WorkPackageLeader", Component::WorkPackageLeader ) + .value( "Other", Component::Other ); +} + +} // namespace core diff --git a/python/src/DateType.python.cpp b/python/src/DateType.python.cpp new file mode 100644 index 000000000..8d3d7964f --- /dev/null +++ b/python/src/DateType.python.cpp @@ -0,0 +1,43 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapDateType( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::DateType; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "DateType", + "Enumeration class giving acceptable date type values", + python::arithmetic() + ); + + // wrap the component + component + .value( "accepted", Component::accepted ) + .value( "available", Component::available ) + .value( "copyrighted", Component::copyrighted ) + .value( "collected", Component::collected ) + .value( "created", Component::created ) + .value( "issued", Component::issued ) + .value( "submitted", Component::submitted ) + .value( "updated", Component::updated ) + .value( "valid", Component::valid ) + .value( "withdrawn", Component::withdrawn ); +} + +} // namespace core diff --git a/python/src/DecayType.python.cpp b/python/src/DecayType.python.cpp new file mode 100644 index 000000000..19d837a40 --- /dev/null +++ b/python/src/DecayType.python.cpp @@ -0,0 +1,45 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapDecayType( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::DecayType; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "DecayType", + "Enumeration class giving acceptable decay type values", + python::arithmetic() + ); + + // wrap the component + component + .value( "SF", Component::SpontaneousFission ) + .value( "beta-", Component::BetaMinus ) + .value( "beta+", Component::BetaPlus ) + .value( "EC", Component::ElectronCapture ) + .value( "electroMagnetic", Component::ElectroMagnetic ) + .value( "IT", Component::IsomericTransition ) + .value( "n", Component::Neutron ) + .value( "p", Component::Proton ) + .value( "d", Component::Deuteron ) + .value( "t", Component::Triton ) + .value( "alpha", Component::Alpha ) + .value( "atomicRelaxation", Component::AtomicRelaxation ); +} + +} // namespace core diff --git a/python/src/Frame.python.cpp b/python/src/Frame.python.cpp new file mode 100644 index 000000000..8585f03f8 --- /dev/null +++ b/python/src/Frame.python.cpp @@ -0,0 +1,35 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapFrame( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::Frame; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "Frame", + "Enumeration class giving acceptable reference frame values", + python::arithmetic() + ); + + // wrap the component + component + .value( "lab", Component::lab ) + .value( "centerOfMass", Component::centerOfMass ); +} + +} // namespace core diff --git a/python/src/GNDStk.python.cpp b/python/src/GNDStk.python.cpp index ed2beda86..35ec07ed7 100644 --- a/python/src/GNDStk.python.cpp +++ b/python/src/GNDStk.python.cpp @@ -12,7 +12,12 @@ namespace core { void wrapNode( python::module& ); + void wrapContributorType( python::module& ); + void wrapDateType( python::module& ); + void wrapDecayType( python::module& ); + void wrapFrame( python::module& ); void wrapGridStyle( python::module& ); + void wrapHashAlgorithm( python::module& ); void wrapInterpolation( python::module& ); void wrapBoundaryCondition( python::module& ); } @@ -42,7 +47,12 @@ PYBIND11_MODULE( GNDStk, module ) { core::wrapNode( submodule ); // enumerations (in the GNDStk module) + core::wrapContributorType( module ); + core::wrapDateType( module ); + core::wrapDecayType( module ); + core::wrapFrame( module ); core::wrapGridStyle( module ); + core::wrapHashAlgorithm( module ); core::wrapInterpolation( module ); core::wrapBoundaryCondition( module ); diff --git a/python/src/HashAlgorithm.python.cpp b/python/src/HashAlgorithm.python.cpp new file mode 100644 index 000000000..42ee10ee4 --- /dev/null +++ b/python/src/HashAlgorithm.python.cpp @@ -0,0 +1,35 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapHashAlgorithm( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::HashAlgorithm; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "HashAlgorithm", + "Enumeration class giving acceptable reference HashAlgorithm values", + python::arithmetic() + ); + + // wrap the component + component + .value( "md5", Component::md5 ) + .value( "sha1", Component::sha1 ); +} + +} // namespace core From db09ea7f18f629a27c78a5d453a5208b19c8f2fa Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Fri, 12 Nov 2021 10:27:23 -0700 Subject: [PATCH 019/235] Adding even more enumerators to the python bindings --- CMakeLists.txt | 6 +- python/src/GNDStk.python.cpp | 8 +++ python/src/HashAlgorithm.python.cpp | 2 +- python/src/Interaction.python.cpp | 36 +++++++++++ python/src/InterpolationQualifier.python.cpp | 37 +++++++++++ python/src/Parity.python.cpp | 35 ++++++++++ python/src/RelationType.python.cpp | 67 ++++++++++++++++++++ 7 files changed, 189 insertions(+), 2 deletions(-) create mode 100644 python/src/Interaction.python.cpp create mode 100644 python/src/InterpolationQualifier.python.cpp create mode 100644 python/src/Parity.python.cpp create mode 100644 python/src/RelationType.python.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index c0281c50e..dcfaced04 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,14 +63,18 @@ pybind11_add_module( GNDStk.python EXCLUDE_FROM_ALL python/src/GNDStk.python.cpp python/src/core/Node.python.cpp + python/src/BoundaryCondition.python.cpp python/src/ContributorType.python.cpp python/src/DateType.python.cpp python/src/DecayType.python.cpp python/src/Frame.python.cpp python/src/GridStyle.python.cpp python/src/HashAlgorithm.python.cpp + python/src/Interaction.python.cpp python/src/Interpolation.python.cpp - python/src/BoundaryCondition.python.cpp + python/src/InterpolationQualifier.python.cpp + python/src/Parity.python.cpp + python/src/RelationType.python.cpp python/src/v1.9/containers.python.cpp python/src/v1.9/containers/Axis.python.cpp python/src/v1.9/containers/Values.python.cpp diff --git a/python/src/GNDStk.python.cpp b/python/src/GNDStk.python.cpp index 35ec07ed7..d11f1da14 100644 --- a/python/src/GNDStk.python.cpp +++ b/python/src/GNDStk.python.cpp @@ -18,7 +18,11 @@ namespace core { void wrapFrame( python::module& ); void wrapGridStyle( python::module& ); void wrapHashAlgorithm( python::module& ); + void wrapInteraction( python::module& ); void wrapInterpolation( python::module& ); + void wrapInterpolationQualifier( python::module& ); + void wrapParity( python::module& ); + void wrapRelationType( python::module& ); void wrapBoundaryCondition( python::module& ); } @@ -53,7 +57,11 @@ PYBIND11_MODULE( GNDStk, module ) { core::wrapFrame( module ); core::wrapGridStyle( module ); core::wrapHashAlgorithm( module ); + core::wrapInteraction( module ); core::wrapInterpolation( module ); + core::wrapInterpolationQualifier( module ); + core::wrapParity( module ); + core::wrapRelationType( module ); core::wrapBoundaryCondition( module ); // v1.9 components (in the v1_9 module, created in this function) diff --git a/python/src/HashAlgorithm.python.cpp b/python/src/HashAlgorithm.python.cpp index 42ee10ee4..e453fb3f9 100644 --- a/python/src/HashAlgorithm.python.cpp +++ b/python/src/HashAlgorithm.python.cpp @@ -22,7 +22,7 @@ void wrapHashAlgorithm( python::module& module ) { module, "HashAlgorithm", - "Enumeration class giving acceptable reference HashAlgorithm values", + "Enumeration class giving acceptable hash algorithm values", python::arithmetic() ); diff --git a/python/src/Interaction.python.cpp b/python/src/Interaction.python.cpp new file mode 100644 index 000000000..693f60f45 --- /dev/null +++ b/python/src/Interaction.python.cpp @@ -0,0 +1,36 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapInteraction( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::Interaction; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "Interaction", + "Enumeration class giving acceptable interaction type values", + python::arithmetic() + ); + + // wrap the component + component + .value( "nuclear", Component::nuclear ) + .value( "atomic", Component::atomic ) + .value( "thermalNeutronScatteringLaw", Component::thermalNeutronScatteringLaw ); +} + +} // namespace core diff --git a/python/src/InterpolationQualifier.python.cpp b/python/src/InterpolationQualifier.python.cpp new file mode 100644 index 000000000..ef1148e6f --- /dev/null +++ b/python/src/InterpolationQualifier.python.cpp @@ -0,0 +1,37 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapInterpolationQualifier( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::InterpolationQualifier; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "InterpolationQualifier", + "Enumeration class giving acceptable interpolation qualifier values", + python::arithmetic() + ); + + // wrap the component + component + .value( "direct", Component::direct ) + .value( "unitBase", Component::unitBase ) + .value( "correspondingEnergies", Component::correspondingEnergies ) + .value( "correspondingPoints", Component::correspondingPoints ); +} + +} // namespace core diff --git a/python/src/Parity.python.cpp b/python/src/Parity.python.cpp new file mode 100644 index 000000000..001109c90 --- /dev/null +++ b/python/src/Parity.python.cpp @@ -0,0 +1,35 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapParity( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::Parity; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "Parity", + "Enumeration class giving acceptable parity values", + python::arithmetic() + ); + + // wrap the component + component + .value( "minus", Component::minus ) + .value( "plus", Component::plus ); +} + +} // namespace core diff --git a/python/src/RelationType.python.cpp b/python/src/RelationType.python.cpp new file mode 100644 index 000000000..e477e297f --- /dev/null +++ b/python/src/RelationType.python.cpp @@ -0,0 +1,67 @@ +// system includes +#include +#include + +// local includes +#include "GNDStk.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace core { + +void wrapRelationType( python::module& module ) { + + // type aliases + using Component = njoy::GNDStk::enums::RelationType; + + // wrap views created by this component + + // create the component + python::enum_< Component > component( + + module, + "RelationType", + "Enumeration class giving acceptable relation type values", + python::arithmetic() + ); + + // wrap the component + component + .value( "IsCitedBy", Component::IsCitedBy ) + .value( "Cites", Component::Cites ) + .value( "IsSupplementTo", Component::IsSupplementTo ) + .value( "IsSupplementedBy", Component::IsSupplementedBy ) + .value( "IsContinuedBy", Component::IsContinuedBy ) + .value( "Continues", Component::Continues ) + .value( "Describes", Component::Describes ) + .value( "IsDescribedBy", Component::IsDescribedBy ) + .value( "HasMetadata", Component::HasMetadata ) + .value( "IsMetadataFor", Component::IsMetadataFor ) + .value( "HasVersion", Component::HasVersion ) + .value( "IsVersionOf", Component::IsVersionOf ) + .value( "IsNewVersionOf", Component::IsNewVersionOf ) + .value( "IsPreviousVersionOf", Component::IsPreviousVersionOf ) + .value( "IsPartOf", Component::IsPartOf ) + .value( "HasPart", Component::HasPart ) + .value( "IsPublishedIn", Component::IsPublishedIn ) + .value( "IsReferencedBy", Component::IsReferencedBy ) + .value( "References", Component::References ) + .value( "IsDocumentedBy", Component::IsDocumentedBy ) + .value( "Documents", Component::Documents ) + .value( "IsCompiledBy", Component::IsCompiledBy ) + .value( "Complies", Component::Complies ) + .value( "IsVariantFormOf", Component::IsVariantFormOf ) + .value( "IsOriginalFormOf", Component::IsOriginalFormOf ) + .value( "IsIdenticalTo", Component::IsIdenticalTo ) + .value( "IsReviewedBy", Component::IsReviewedBy ) + .value( "Reviews", Component::Reviews ) + .value( "IsDerivedFrom", Component::IsDerivedFrom ) + .value( "IsSourceOf", Component::IsSourceOf ) + .value( "IsRequiredBy", Component::IsRequiredBy ) + .value( "Requires", Component::Requires ) + .value( "Obsoletes", Component::Obsoletes ) + .value( "IsObsoletedBy", Component::IsObsoletedBy ); +} + +} // namespace core From 717a4fe0b56f6d072b7e40d988927dcc4b7307a3 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Sun, 14 Nov 2021 21:42:43 -0700 Subject: [PATCH 020/235] Work-in-progress. Some files aren't finished yet, and will be uploaded in a few days. So, this particular update won't build!! Added broad infrastructure for HDF5 handling... ...Wrapper class ...Assignment operators ...convert() functions ...Constructors ...read() functions ...write() functions Etc. Completed many (not all) HDF5 capabilities. Very basic HDF5 write needs to be smarter (not string-only). HDF5 reading still needs work. Touchups are needed here and there throughout the new HDF5 code. In particular, we need smart, non-string handling. Small tweaks were made to XML and JSON material, for consistency. Some comment changes and other odds and ends. --- autogen/json2class.cpp | 7 +- cmake/unit_testing.cmake | 1 + python/src/definitions.hpp | 2 +- src/GNDStk.hpp | 4 +- src/GNDStk/Component.hpp | 5 +- src/GNDStk/HDF5.hpp | 94 +++++++++++++ src/GNDStk/HDF5/src/assign.hpp | 32 +++++ src/GNDStk/HDF5/src/ctor.hpp | 116 ++++++++++++++++ src/GNDStk/HDF5/src/read.hpp | 155 +++++++++++++++++++++ src/GNDStk/HDF5/src/write.hpp | 89 ++++++++++++ src/GNDStk/HDF5/test/CMakeLists.txt | 18 +++ src/GNDStk/HDF5/test/HDF5.test.cpp | 17 +++ src/GNDStk/JSON.hpp | 1 - src/GNDStk/JSON/src/ctor.hpp | 40 +++++- src/GNDStk/JSON/src/write.hpp | 2 +- src/GNDStk/JSON/test/JSON.test.cpp | 2 +- src/GNDStk/Node.hpp | 2 +- src/GNDStk/Node/src/assign.hpp | 2 +- src/GNDStk/Node/src/detail.hpp | 4 +- src/GNDStk/Node/src/read.hpp | 7 +- src/GNDStk/Node/src/write.hpp | 5 +- src/GNDStk/Tree.hpp | 4 +- src/GNDStk/Tree/src/ctor.hpp | 14 +- src/GNDStk/XML.hpp | 1 - src/GNDStk/XML/src/assign.hpp | 7 +- src/GNDStk/XML/src/ctor.hpp | 43 ++++-- src/GNDStk/XML/test/XML.test.cpp | 2 +- src/GNDStk/convert.hpp | 1 + src/GNDStk/convert/src/HDF5.hpp | 202 ++++++++++++++++++++++++++++ src/GNDStk/utility.hpp | 34 +++-- 30 files changed, 859 insertions(+), 54 deletions(-) create mode 100644 src/GNDStk/HDF5.hpp create mode 100644 src/GNDStk/HDF5/src/assign.hpp create mode 100644 src/GNDStk/HDF5/src/ctor.hpp create mode 100644 src/GNDStk/HDF5/src/read.hpp create mode 100644 src/GNDStk/HDF5/src/write.hpp create mode 100644 src/GNDStk/HDF5/test/CMakeLists.txt create mode 100644 src/GNDStk/HDF5/test/HDF5.test.cpp create mode 100644 src/GNDStk/convert/src/HDF5.hpp diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index d708d40e4..ff626775a 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -4,7 +4,7 @@ // ----------------------------------------------------------------------------- #include "GNDStk.hpp" -#include "cstring" +#include using namespace njoy::GNDStk::core; // Report cases of nodes that have no metadata, and zero or one child node(s). @@ -478,6 +478,11 @@ void getClassMetadata( }; if (m.defaultValue != "") { // If it has a default, then presumably it isn't required... + // fixme Should print a real, useful error message here. The mistake + // in question is something a user could easily make!! Look at other + // assert()s in this file as well; assert should be more for internal + // sanity checks than for diagnostic messages, as they aren't very + // helpful to typical users. assert(!metaRHS["required"]); } diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index 11e3c4532..0874dd594 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -20,6 +20,7 @@ add_subdirectory( src/GNDStk/string2type/test ) add_subdirectory( src/GNDStk/Meta/test ) add_subdirectory( src/GNDStk/XML/test ) add_subdirectory( src/GNDStk/JSON/test ) +add_subdirectory( src/GNDStk/HDF5/test ) add_subdirectory( src/GNDStk/Node/test ) add_subdirectory( src/GNDStk/keyword/test ) add_subdirectory( src/GNDStk/Child/test ) diff --git a/python/src/definitions.hpp b/python/src/definitions.hpp index 230bd1d99..3534c5a3f 100644 --- a/python/src/definitions.hpp +++ b/python/src/definitions.hpp @@ -45,7 +45,7 @@ void addStandardComponentDefinitions( PythonClass& component ) { return Component( node ); }, python::arg( "string" ), - "Read the component from an XML or json string\n\n" + "Read the component from an XML or JSON string\n\n" "An exception is raised if something goes wrong while reading the\n" "component\n\n" "Arguments:\n" diff --git a/src/GNDStk.hpp b/src/GNDStk.hpp index 601b4556f..0a6cdfba3 100644 --- a/src/GNDStk.hpp +++ b/src/GNDStk.hpp @@ -8,7 +8,6 @@ #include "pugixml.hpp" #include "nlohmann/json.hpp" -#define HIGHFIVE_USE_BOOST OFF #include #include #include "Log.hpp" @@ -66,6 +65,7 @@ namespace GNDStk { // external-library wrappers #include "GNDStk/XML.hpp" #include "GNDStk/JSON.hpp" +#include "GNDStk/HDF5.hpp" // string/Node to/from type #include "GNDStk/string2type.hpp" @@ -99,7 +99,7 @@ namespace GNDStk { #include "GNDStk/node2type.hpp" #include "GNDStk/type2node.hpp" -// xml/json/tree conversions +// XML/JSON/HDF5/Tree conversions #include "GNDStk/convert.hpp" // fixme See above fixme diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index 942acea86..9abe4a34a 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -87,8 +87,9 @@ class Component : public BodyText } // Component << std::string - // Meaning: read the string's content (currently XML or JSON) into an object - // of the Component's DERIVED class. Uses Node's << std::string capability. + // Meaning: read the string's content (currently XML, JSON, or HDF5) into + // an object of the Component's DERIVED class. Uses Node's << std::string + // capability, which does most of the work. void operator<<(const std::string &str) { try { diff --git a/src/GNDStk/HDF5.hpp b/src/GNDStk/HDF5.hpp new file mode 100644 index 000000000..1b29905cc --- /dev/null +++ b/src/GNDStk/HDF5.hpp @@ -0,0 +1,94 @@ + +// ----------------------------------------------------------------------------- +// HDF5 +// Wraps HighFive::File +// ----------------------------------------------------------------------------- + +class HDF5 { +public: + + // data + HighFive::File *file = nullptr; + std::string filename = "";///perhaps can use file->getName() + mutable bool temporary = false; + +private: + + void removeTemporary() const + { + if (filename != "" && temporary) { + std::ifstream ifs(filename); + if (!ifs) + return; // apparently removed already, so no need to remove + ifs.close(); // prior to remove + if (remove(filename.c_str()) != 0) { + log::error( + "Unable to remove temporary file \"{}\"", filename); + log::member( + "HDF5::removeTemporary(), with filename \"{}\"", filename); + } + } + } + +public: + + // clear + HDF5 &clear() + { + delete file; file = nullptr; + removeTemporary(); + filename = ""; + temporary = false; + return *this; + } + + // empty + bool empty() const + { + return file == nullptr; + } + + // destructor + ~HDF5() + { + delete file; + removeTemporary(); + } + + // constructors, assignment + #include "GNDStk/HDF5/src/ctor.hpp" + #include "GNDStk/HDF5/src/assign.hpp" + + // read, write + #include "GNDStk/HDF5/src/read.hpp" + #include "GNDStk/HDF5/src/write.hpp" + +}; // class HDF5 + + + +// ----------------------------------------------------------------------------- +// I/O +// ----------------------------------------------------------------------------- + +// operator>> +inline std::istream &operator>>(std::istream &is, HDF5 &obj) +{ + try { + return obj.read(is); + } catch (...) { + log::function("istream >> HDF5"); + throw; + } +} + +// operator<< +inline std::ostream &operator<<(std::ostream &os, const HDF5 &obj) +{ + try { + return obj.write(os); + } catch (...) { + log::function("ostream << HDF5"); + throw; + } +} diff --git a/src/GNDStk/HDF5/src/assign.hpp b/src/GNDStk/HDF5/src/assign.hpp new file mode 100644 index 000000000..b3df8d1f1 --- /dev/null +++ b/src/GNDStk/HDF5/src/assign.hpp @@ -0,0 +1,32 @@ + +// ----------------------------------------------------------------------------- +// HDF5 Assignment +// ----------------------------------------------------------------------------- + +// move +HDF5 &operator=(HDF5 &&other) +{ + clear(); + file = std::move(other.file); + filename = std::move(other.filename); + temporary = std::move(other.temporary); + + other.file = nullptr; + other.filename = ""; + other.temporary = false; + + return *this; +} + +// copy +HDF5 &operator=(const HDF5 &other) +{ + try { + if (!convert(other,*this)) + throw std::exception{}; + } catch (...) { + log::assign("HDF5 = HDF5"); + throw; + } + return *this; +} diff --git a/src/GNDStk/HDF5/src/ctor.hpp b/src/GNDStk/HDF5/src/ctor.hpp new file mode 100644 index 000000000..2fd76437a --- /dev/null +++ b/src/GNDStk/HDF5/src/ctor.hpp @@ -0,0 +1,116 @@ + +// ----------------------------------------------------------------------------- +// HDF5 Constructors +// ----------------------------------------------------------------------------- + +// ------------------------ +// Basics +// ------------------------ + +// default +HDF5() { } + +// move +HDF5(HDF5 &&other) : + file(std::move(other.file)), + filename(std::move(other.filename)), + temporary(std::move(other.temporary)) +{ + other.file = nullptr; + other.filename = ""; + other.temporary = false; +} + +// copy +HDF5(const HDF5 &other) +{ + try { + if (!convert(other,*this)) + throw std::exception{}; + } catch (...) { + log::ctor("HDF5(HDF5)"); + throw; + } +} + + +// ------------------------ +// From other classes +// ------------------------ + +// From XML +explicit HDF5(const XML &x) +{ + try { + if (!convert(x,*this)) + throw std::exception{}; + } catch (...) { + log::ctor("HDF5(XML)"); + throw; + } +} + +// From JSON +explicit HDF5(const JSON &j) +{ + try { + if (!convert(j,*this)) + throw std::exception{}; + } catch (...) { + log::ctor("HDF5(JSON)"); + throw; + } +} + +// From Node +explicit HDF5(const Node &n) +{ + try { + if (!convert(n,*this)) + throw std::exception{}; + } catch (...) { + log::ctor("HDF5(Node)"); + throw; + } +} + +// From Tree +explicit HDF5(const Tree &t) +{ + try { + if (!convert(t,*this)) + throw std::exception{}; + } catch (...) { + log::ctor("HDF5(Tree)"); + throw; + } +} + + +// ------------------------ +// From file and istream +// ------------------------ + +// From file +explicit HDF5(const std::string &filename) +{ + try { + if (!read(filename)) + throw std::exception{}; + } catch (...) { + log::ctor("HDF5(\"{}\")", filename); + throw; + } +} + +// From istream +explicit HDF5(std::istream &is) +{ + try { + if (!read(is)) + throw std::exception{}; + } catch (...) { + log::ctor("HDF5(istream)"); + throw; + } +} diff --git a/src/GNDStk/HDF5/src/read.hpp b/src/GNDStk/HDF5/src/read.hpp new file mode 100644 index 000000000..8f85097b5 --- /dev/null +++ b/src/GNDStk/HDF5/src/read.hpp @@ -0,0 +1,155 @@ + +// ----------------------------------------------------------------------------- +// HDF5.read() +// ----------------------------------------------------------------------------- + +/* +DISCUSSION + +While this may seem goofy and inefficient, our read(istream) function actually +transfers the istream's content to a temporary *file*, then calls read(filename) +on the temporary file. That function, in turn, uses the underlying HighFive HDF5 +library's read-from-file capability, in order to do the actual work of reading +HDF5 content into an internal data structure. + +Normally, one might do the reverse: use a read-from-istream as a helper to a +read-from-file, with the latter opening the file as an ifstream, then calling +the former to do the heavy lifting. Indeed, our read-from-file functions for +XML and JSON do just that. + +Here, we did things in the seemingly backwards way for a simple reason: at the +time of this writing, we see no capability in HighFive to read from an istream! +Just to read directly from a file. + +One might ask why we chose to implement this arguably convoluted read-from- +istream at all. Our reason: we're intentionally designing all of our file-format +classes (at present: XML, JSON, and HDF5) to "look and feel" as consistent as +possible with one another. This uniformity helps make the code - for all formats +and throughout GNDStk - to look as consistent as reasonably possible. This helps +with debugging and testing, and gives users a more-uniform interface. +*/ + + +// ----------------------------------------------------------------------------- +// read(istream) +// ----------------------------------------------------------------------------- + +// fixme +// We may want to detect whether or not the istream is in std::ios::binary +// mode. If it isn't, then copying it absolutely correctly, to a temporary +// file, might be problematic. We'll use get() and put(), below, but could +// something like platform-dependent line endings still be a problem? Play +// around with this to see what's what. + +// fixme +// Is there a way to detect if any additional content appears in the istream, +// AFTER the HDF5 content itself? If there is, then - ideally - we should +// truncate the copy-to-temporary-file process after the end of HDF5 content, +// leaving the istream's streampos at that point. (But this situation might +// not realistically arise in practice.) + +std::istream &read(std::istream &is) +{ + // Clear present contents. + clear(); + + // Current stream position. We'll rewind to this point if an error occurs. + const std::streampos pos = is.tellg(); + + // Generate a file name that's suitable for safely creating a temporary file. + // L_tmpnam and tmpnam() are from . In case anyone wonders, we don't + // need a +1 in the [L_tmpnam] here :-). + static char buffer[L_tmpnam]; + filename = tmpnam(buffer); + // fixme Possibly check if tmpnam() is screwy and the file actually exists? + + try { + // Open temporary file. This *should* work, but we check anyway. + std::ofstream ofs(filename, std::ios::binary); + if (!ofs) { + log::error("Unable to open temporary file \"{}\"", filename); + throw std::exception{}; + } + + // Copy bytes from the istream to the temporary file. + char ch; + while (is.get(ch) && ofs) + ofs.put(ch); + ofs.close(); + // fixme Maybe examine/check stream states here. + + // Call read(filename) to read HDF5 content from the temporary file. + // See our detailed discussion above. + if (!read(filename)) + throw std::exception{}; + } catch (...) { + temporary = true; // after read(filename), which makes it false + removeTemporary(); + log::member("HDF5.read(istream) (uses a temporary file)"); + detail::failback(is,pos); + } + + // done + temporary = true; // after read(filename), which makes it false + assert(!is.bad()); + /// assert(!is.fail()); + assert(is.eof()); + ///assert(false); + + // zzz above, we should clear is' flags as long as the *only* problems + // is fail(), *AND* eof() (so that eof is why it failed); I think at + // least that that's correct. + is.clear();///for now + return is; +} + + +// ----------------------------------------------------------------------------- +// read(file name) +// ----------------------------------------------------------------------------- + +// The parameter is intentionally value, not reference, so that it can't +// be surreptitiously set to "" by the clear() call if the actual parameter +// happens to be this->filename - which it *is*, in fact, if this read() +// is called from the above istream read()! (And, although it's unlikely, +// someone could conceivably make such a call directly instead of through +// the above read(), in for example a scenario where the file might have +// changed on disk and someone wants it to be re-read.) We don't run into +// a similar problem with the XML or JSON read()s, not just because their +// read(istream)s don't call their read(file name)s, but also because they +// simply don't, at present, have std::string member data that might be +// aliased by a parameter like name below, so that a clear() accidentally +// clears the parameter. +bool read(const std::string name) +{ + clear(); + filename = name; + bool ret = false; + + // Test that the file can be opened. The HighFive::File(filename) call, + // below, in fact opens and reads the file. This "test open" allows us + // to provide diagnostics that are similar to those that we provide in + // our read() functions for other file formats. Note: if this function's + // name parameter had been by-reference, right here is where we might + // inadvertently have filename == ""; see the earlier remark! + std::ifstream ifs(filename, std::ios::binary); + if (ifs) { + ifs.close(); + try { + file = new HighFive::File(filename, HighFive::File::ReadOnly); + ret = true; // all's well - our "test open" and HighFive's reading + } catch (...) { + log::error("file = HighFive::File(filename, ReadOnly)\n" + "threw an exception"); + } + } else { + log::error("Could not open file \"{}\" for input", filename); + } + + if (!ret) + log::member("HDF5.read(\"{}\")", filename); + + // done + temporary = false; + return ret; +} diff --git a/src/GNDStk/HDF5/src/write.hpp b/src/GNDStk/HDF5/src/write.hpp new file mode 100644 index 000000000..32fe71b06 --- /dev/null +++ b/src/GNDStk/HDF5/src/write.hpp @@ -0,0 +1,89 @@ + +// ----------------------------------------------------------------------------- +// HDF5.write() +// ----------------------------------------------------------------------------- + +// ------------------------ +// write(ostream) +// ------------------------ + +std::ostream &write(std::ostream &os, const bool decl = true) const +{ + (void)decl; // unused + char ch; + + try { + if (empty()) { + static char tempname[L_tmpnam]; + tmpnam(tempname); + + HighFive::File blank( + tempname, + HighFive::File::ReadWrite | + HighFive::File::Create | + HighFive::File::Truncate + ); + blank.flush(); + + std::ifstream ifs(tempname, std::ios::binary); + if (!ifs) { + log::error("Unable to open temporary file \"{}\"", tempname); + throw std::exception{}; + } + while (ifs.get(ch) && os) + os.put(ch); + + ifs.close(); // prior to remove... + if (remove(tempname) != 0) { + log::error("Unable to remove temporary file \"{}\"", tempname); + throw std::exception{}; + } + } else { + std::ifstream ifs(filename, std::ios::binary); + if (!ifs) { + log::error("Unable to open file \"{}\"", filename); + throw std::exception{}; + } + while (ifs.get(ch) && os) + os.put(ch); + } + } catch (...) { + log::member("HDF5.write(ostream)"); + os.setstate(std::ios::failbit); + } + // fixme Maybe examine/check stream states after above copies + + // done + return os; +} + + +// ------------------------ +// write(file name) +// ------------------------ + +bool write(const std::string &filename, const bool decl = true) const +{ + // well, I suppose it's possible... + if (filename == this->filename) { + temporary = false; + return true; + } + + // open file + std::ofstream ofs(filename, std::ios::binary); + if (!ofs) { + log::error("Could not open file \"{}\" for output", filename); + log::member("HDF5.write(\"{}\")", filename); + return false; + } + + // write to ostream + if (!write(ofs,decl)) { + log::member("HDF5.write(\"{}\")", filename); + return false; + } + + // done + return true; +} diff --git a/src/GNDStk/HDF5/test/CMakeLists.txt b/src/GNDStk/HDF5/test/CMakeLists.txt new file mode 100644 index 000000000..1a0b31a76 --- /dev/null +++ b/src/GNDStk/HDF5/test/CMakeLists.txt @@ -0,0 +1,18 @@ + +add_executable( GNDStk.HDF5.test HDF5.test.cpp ) +target_compile_options( GNDStk.HDF5.test PRIVATE ${${PREFIX}_common_flags} +$<$:${${PREFIX}_strict_flags}>$<$: +${${PREFIX}_DEBUG_flags} +$<$:${${PREFIX}_coverage_flags}>> +$<$: +${${PREFIX}_RELEASE_flags} +$<$:${${PREFIX}_link_time_optimization_flags}> +$<$:${${PREFIX}_nonportable_optimization_flags}>> + +${CXX_appended_flags} ${GNDStk_appended_flags} ) +target_link_libraries( GNDStk.HDF5.test PUBLIC GNDStk ) +file( GLOB resources "resources/*" ) +foreach( resource ${resources}) + file( COPY "${resource}" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}" ) +endforeach() +add_test( NAME GNDStk.HDF5 COMMAND GNDStk.HDF5.test ) diff --git a/src/GNDStk/HDF5/test/HDF5.test.cpp b/src/GNDStk/HDF5/test/HDF5.test.cpp new file mode 100644 index 000000000..92a40df51 --- /dev/null +++ b/src/GNDStk/HDF5/test/HDF5.test.cpp @@ -0,0 +1,17 @@ + +#define CATCH_CONFIG_MAIN + +#include "catch.hpp" +#include "GNDStk.hpp" + +using namespace njoy::GNDStk; + +// ----------------------------------------------------------------------------- +// SCENARIO +// ----------------------------------------------------------------------------- + +SCENARIO("Testing GNDStk HDF5") { + + /// fixme adapt code from the corresponding JSON test + +} diff --git a/src/GNDStk/JSON.hpp b/src/GNDStk/JSON.hpp index 571607101..23a8a7444 100644 --- a/src/GNDStk/JSON.hpp +++ b/src/GNDStk/JSON.hpp @@ -23,7 +23,6 @@ class JSON { // easily. This could be hacked in some way, of course, and it's worth noting // that the GNDS document speaks of basically such a hack. -MFS - // external JSON-library document nlohmann::json doc; // clear diff --git a/src/GNDStk/JSON/src/ctor.hpp b/src/GNDStk/JSON/src/ctor.hpp index 68c571014..9823ee32d 100644 --- a/src/GNDStk/JSON/src/ctor.hpp +++ b/src/GNDStk/JSON/src/ctor.hpp @@ -3,6 +3,10 @@ // JSON Constructors // ----------------------------------------------------------------------------- +// ------------------------ +// Basics +// ------------------------ + // default JSON() = default; @@ -10,8 +14,8 @@ JSON() = default; JSON(JSON &&) = default; // copy -JSON(const JSON &j) -try: doc(j.doc) +JSON(const JSON &other) +try: doc(other.doc) { } catch (...) { @@ -19,7 +23,12 @@ catch (...) { throw; } -// XML + +// ------------------------ +// From other classes +// ------------------------ + +// From XML explicit JSON(const XML &x) { try { @@ -31,7 +40,19 @@ explicit JSON(const XML &x) } } -// Node +// From HDF5 +explicit JSON(const HDF5 &h) +{ + try { + if (!convert(h,*this)) + throw std::exception{}; + } catch (...) { + log::ctor("JSON(HDF5)"); + throw; + } +} + +// From Node explicit JSON(const Node &n) { try { @@ -43,7 +64,7 @@ explicit JSON(const Node &n) } } -// Tree +// From Tree explicit JSON(const Tree &t) { try { @@ -55,7 +76,12 @@ explicit JSON(const Tree &t) } } -// file name + +// ------------------------ +// From file and istream +// ------------------------ + +// From file explicit JSON(const std::string &filename) { try { @@ -67,7 +93,7 @@ explicit JSON(const std::string &filename) } } -// istream +// From istream explicit JSON(std::istream &is) { try { diff --git a/src/GNDStk/JSON/src/write.hpp b/src/GNDStk/JSON/src/write.hpp index 6ecc8e0fc..82b9c37cb 100644 --- a/src/GNDStk/JSON/src/write.hpp +++ b/src/GNDStk/JSON/src/write.hpp @@ -9,7 +9,7 @@ std::ostream &write(std::ostream &os, const bool decl = true) const { - (void)decl; // ignored + (void)decl; // unused, for now (some changes may be forthcoming) // call nlohmann::json's write capability try { diff --git a/src/GNDStk/JSON/test/JSON.test.cpp b/src/GNDStk/JSON/test/JSON.test.cpp index d0fa98fad..1dd390a3c 100644 --- a/src/GNDStk/JSON/test/JSON.test.cpp +++ b/src/GNDStk/JSON/test/JSON.test.cpp @@ -188,7 +188,7 @@ SCENARIO("Testing GNDStk JSON") { } } - // from file name + // from file WHEN("We construct a JSON from a file") { const JSON j("n-069_Tm_170-covar.json"); THEN("It should produce an equivalent to the Tree made from the file") { diff --git a/src/GNDStk/Node.hpp b/src/GNDStk/Node.hpp index b52156b09..ec48ef4d4 100644 --- a/src/GNDStk/Node.hpp +++ b/src/GNDStk/Node.hpp @@ -172,7 +172,7 @@ inline std::istream &operator>>(std::istream &is, Node &node) // Node << std::string // Note that this is an INPUT operator to Node! -// Treating the std::string as a "file" with XML, JSON, etc. content, read it +// Treating the std::string as a "file" with XML, JSON, or HDF5 content, read it // into the Node. We return void, not the Node, so users don't incorrectly think // that the < -void node2Node(const NODE &, NODE &); +void node2node(const NODE &, NODE &); diff --git a/src/GNDStk/Node/src/read.hpp b/src/GNDStk/Node/src/read.hpp index 12c1a74c2..964069f67 100644 --- a/src/GNDStk/Node/src/read.hpp +++ b/src/GNDStk/Node/src/read.hpp @@ -6,7 +6,7 @@ // Cases: // // 1. read(istream, FileType) -// 2. read(file name, FileType) calls 1 after making istream from file name +// 2. read(file name, FileType) calls 1 after making istream from file // 3. read(istream, string ) calls 1 after making FileType from string // 4. read(file name, string ) calls 2 after making FileType from string // @@ -157,8 +157,9 @@ std::istream &read( if (!convert(JSON(is), *this, decl)) throw std::exception{}; } else if (format == FileType::hdf5) { - log::error("Node.read() for HDF5 is not implemented yet"); - throw std::exception{}; + // assume HDF5; so, create Node by converting from a temporary HDF5... + if (!convert(HDF5(is), *this, decl)) + throw std::exception{}; } else { // The earlier logic is such that this shouldn't happen; consider // removing at some point diff --git a/src/GNDStk/Node/src/write.hpp b/src/GNDStk/Node/src/write.hpp index d0a585cfe..8116355eb 100644 --- a/src/GNDStk/Node/src/write.hpp +++ b/src/GNDStk/Node/src/write.hpp @@ -12,7 +12,7 @@ // // General cases: // 1. write(ostream, FileType) -// 2. write(file name, FileType) calls 1 after making ostream from file name +// 2. write(file name, FileType) calls 1 after making ostream from file // 3. write(ostream, string ) calls 1 after making FileType from string // 4. write(file name, string ) calls 2 after making FileType from string @@ -136,8 +136,7 @@ std::ostream &write( JSON(*this).write(os,decl); } else if (format == FileType::hdf5) { // write via a temporary hdf5 object... - log::error("Node.write() for HDF5 is not implemented yet"); - throw std::exception{}; + HDF5(*this).write(os,decl); } else { // null or text: use our plain text format return write(os,0); diff --git a/src/GNDStk/Tree.hpp b/src/GNDStk/Tree.hpp index d675c8e1b..def3aea56 100644 --- a/src/GNDStk/Tree.hpp +++ b/src/GNDStk/Tree.hpp @@ -50,8 +50,8 @@ class Tree : public Node { // We pull out top() first, rather than deferring immediately to Node's // operator==, because Tree can contain a "declaration node" that might - // indicate properties such as whether the data came from an XML file or - // a JSON file. Those properties can be put to good use for other things, + // indicate properties such as whether the data came from an XML, JSON, + // or HDF5 file. Those properties can be put to good use for other things, // but won't play a role in a Tree comparison. // operator== diff --git a/src/GNDStk/Tree/src/ctor.hpp b/src/GNDStk/Tree/src/ctor.hpp index 2bbdfcfb2..7a4dc3779 100644 --- a/src/GNDStk/Tree/src/ctor.hpp +++ b/src/GNDStk/Tree/src/ctor.hpp @@ -24,7 +24,7 @@ Tree(const Tree &other) : Node{} // ----------------------------------------------------------------------------- -// From XML and JSON objects +// From XML, JSON, and HDF5 objects // ----------------------------------------------------------------------------- // XML @@ -51,6 +51,18 @@ explicit Tree(const JSON &j) } } +// HDF5 +explicit Tree(const HDF5 &h) +{ + try { + if (!convert(h,*this)) + throw std::exception{}; + } catch (...) { + log::ctor("Tree(HDF5)"); + throw; + } +} + // ----------------------------------------------------------------------------- diff --git a/src/GNDStk/XML.hpp b/src/GNDStk/XML.hpp index 65c4faeed..20d84a722 100644 --- a/src/GNDStk/XML.hpp +++ b/src/GNDStk/XML.hpp @@ -7,7 +7,6 @@ class XML { public: - // external XML-library document pugi::xml_document doc; // clear diff --git a/src/GNDStk/XML/src/assign.hpp b/src/GNDStk/XML/src/assign.hpp index 7389b8a42..1196de3ac 100644 --- a/src/GNDStk/XML/src/assign.hpp +++ b/src/GNDStk/XML/src/assign.hpp @@ -7,11 +7,12 @@ XML &operator=(XML &&) = default; // copy -// Note: pugi::xml_document's is inaccessible -XML &operator=(const XML &x) +// Note: pugi::xml_document's copy assignment is inaccessible; +// otherwise, this could = default. +XML &operator=(const XML &other) { try { - if (!convert(x,*this)) + if (!convert(other,*this)) throw std::exception{}; } catch (...) { log::assign("XML = XML"); diff --git a/src/GNDStk/XML/src/ctor.hpp b/src/GNDStk/XML/src/ctor.hpp index e2e035285..7c94e75b3 100644 --- a/src/GNDStk/XML/src/ctor.hpp +++ b/src/GNDStk/XML/src/ctor.hpp @@ -3,6 +3,10 @@ // XML Constructors // ----------------------------------------------------------------------------- +// ------------------------ +// Basics +// ------------------------ + // default XML() = default; @@ -10,11 +14,12 @@ XML() = default; XML(XML &&) = default; // copy -// Note: pugi::xml_document's is inaccessible -XML(const XML &x) +// Note: pugi::xml_document's copy constructor is inaccessible; otherwise we'd +// use it here, as we do in JSON's copy constructor, instead of using convert(). +XML(const XML &other) { try { - if (!convert(x,*this)) + if (!convert(other,*this)) throw std::exception{}; } catch (...) { log::ctor("XML(XML)"); @@ -22,7 +27,12 @@ XML(const XML &x) } } -// JSON + +// ------------------------ +// From other classes +// ------------------------ + +// From JSON explicit XML(const JSON &j) { try { @@ -34,7 +44,19 @@ explicit XML(const JSON &j) } } -// Node +// From HDF5 +explicit XML(const HDF5 &h) +{ + try { + if (!convert(h,*this)) + throw std::exception{}; + } catch (...) { + log::ctor("XML(HDF5)"); + throw; + } +} + +// From Node explicit XML(const Node &n) { try { @@ -46,7 +68,7 @@ explicit XML(const Node &n) } } -// Tree +// From Tree explicit XML(const Tree &t) { try { @@ -58,7 +80,12 @@ explicit XML(const Tree &t) } } -// file name + +// ------------------------ +// From file and istream +// ------------------------ + +// From file explicit XML(const std::string &filename) { try { @@ -70,7 +97,7 @@ explicit XML(const std::string &filename) } } -// istream +// From istream explicit XML(std::istream &is) { try { diff --git a/src/GNDStk/XML/test/XML.test.cpp b/src/GNDStk/XML/test/XML.test.cpp index a55cba0be..f183743f1 100644 --- a/src/GNDStk/XML/test/XML.test.cpp +++ b/src/GNDStk/XML/test/XML.test.cpp @@ -133,7 +133,7 @@ SCENARIO("Testing GNDStk XML") { } } - // from file name + // from file // Note: Things like this are of course tested indirectly // all over the place. WHEN("We construct an XML from a file") { diff --git a/src/GNDStk/convert.hpp b/src/GNDStk/convert.hpp index 6ba39a5f4..d6f01e99e 100644 --- a/src/GNDStk/convert.hpp +++ b/src/GNDStk/convert.hpp @@ -5,3 +5,4 @@ #include "GNDStk/convert/src/tree.hpp" #include "GNDStk/convert/src/XML.hpp" #include "GNDStk/convert/src/JSON.hpp" +#include "GNDStk/convert/src/HDF5.hpp" diff --git a/src/GNDStk/convert/src/HDF5.hpp b/src/GNDStk/convert/src/HDF5.hpp new file mode 100644 index 000000000..2156c4948 --- /dev/null +++ b/src/GNDStk/convert/src/HDF5.hpp @@ -0,0 +1,202 @@ + +// ----------------------------------------------------------------------------- +// convert(*,HDF5) +// That is, convert to HDF5 objects +// ----------------------------------------------------------------------------- + +// ----------------------------------------------------------------------------- +// Node ==> HDF5 +// ----------------------------------------------------------------------------- + +inline bool convert(const Node &node, HDF5 &h) +{ + // clear + h.clear(); + + // for the HDF5 + static char buffer[L_tmpnam]; + h.filename = tmpnam(buffer); + + static const std::string context = "convert(Node,HDF5)"; + try { + + // Open temporary file. This *should* work, but we check anyway. + std::ofstream ofs(h.filename, std::ios::binary); + if (!ofs) { + log::error("Unable to open temporary file \"{}\"", h.filename); + throw std::exception{}; + } + ofs.close(); + + h.file = new HighFive::File( + h.filename, + HighFive::File::ReadWrite | + HighFive::File::Create | + HighFive::File::Truncate + ); + h.temporary = true; + + // Probably a regular Node + if (node.name != "") { + bool ret = detail::node2hdf5(node,*h.file); + h.file->flush(); + return ret; + } + + // Probably a Tree... + if (node.metadata.size() != 0) { + log::warning( + "Encountered Node with empty name \"\",\n" + "but the Node also contains metadata.\n" + "Not expected in this context. We'll ignore the metadata." + ); + log::function(context); + } + + bool found_decl = false; + bool found_top = false; + + for (auto &c : node.children) { + if (c->name == "xml" || c->name == "json" || c->name == "hdf5") { + // looks like a declaration node + if (found_decl) { + // already seen + log::warning( + "Encountered Node with empty name \"\",\n" + "and > 1 child nodes that look like " + "declaration nodes.\n" + "Not expected in this context. " + "For HDF5, we're ignoring declaration nodes anyway." + ); + log::function(context); + } + found_decl = true; + } else { + // looks like a regular node + /**/ + /// We really need to relax this business about requiring that there + /// be only ONE top-level node. The XML format allows only one + /// document node (and GNDS, probably because of XML, has just one), + /// but JSON and HDF5 allow more (or less!) than one. And we're + /// going to be writing the NDI3 format with this code; it shouldn't + /// have this limitation. + /**/ + if (found_top) { + // already seen + log::warning( + "Encountered Node with empty name \"\",\n" + "and > 1 child nodes that look like " + "regular (non-declaration) nodes.\n" + "Not expected in this context. " + "We'll convert all the child nodes." + ); + log::function(context); + } + if (!detail::node2hdf5(*c,*h.file)) + return false; + h.file->flush(); + found_top = true; + } // else + } // for + + } catch (...) { + log::function(context); + throw; + } + + // done + return true; +} + + + +// ----------------------------------------------------------------------------- +// Tree ==> HDF5 +// ----------------------------------------------------------------------------- + +inline bool convert(const Tree &tree, HDF5 &h) +{ + try { + if (tree.has_top()) + detail::check_top(tree.top().name, "Tree", "convert(Tree,HDF5)"); + return convert(*(const Node *)&tree, h); + } catch (...) { + log::function("convert(Tree,HDF5)"); + throw; + } +} + + + +// ----------------------------------------------------------------------------- +// XML ==> HDF5 +// ----------------------------------------------------------------------------- + +inline bool convert(const XML &x, HDF5 &h) +{ + // temporary + Tree t; + + // convert + try { + return convert(x,t) && convert(t,h); + } catch (...) { + log::function("convert(XML,HDF5)"); + throw; + } +} + + + +// ----------------------------------------------------------------------------- +// JSON ==> HDF5 +// ----------------------------------------------------------------------------- + +inline bool convert(const JSON &j, HDF5 &h) +{ + // temporary + Tree t; + + // convert + try { + return convert(j,t) && convert(t,h); + } catch (...) { + log::function("convert(JSON,HDF5)"); + throw; + } +} + + + +// ----------------------------------------------------------------------------- +// HDF5 ==> HDF5 +// For completeness +// ----------------------------------------------------------------------------- + +inline bool convert(const HDF5 &from, HDF5 &to) +{ + if (&to == &from) + return true; + + // clear + to.clear(); + + // convert + try { + if (!from.empty()) { + std::ifstream ifs(from.filename, std::ios::binary); + if (!ifs) { + log::error("Unable to open file \"{}\"", from.filename); + throw std::exception{}; + } + if (!to.read(ifs)) + throw std::exception{}; + } + } catch (...) { + log::function("convert(HDF5,HDF5)"); + throw; + } + + // done + return true; +} diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 1c0979664..0110a46eb 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -323,44 +323,54 @@ inline void assign(const std::string &str, Args &&...args) // ----------------------------------------------------------------------------- // Forward declarations: some classes; convert // We're not fans of having lots of forward declarations, but these are here -// because (1) the relevant classes (Tree, XML, JSON) use these functions in, -// e.g., their constructors, which are defined in-class; and (2) the convert() +// because (1) relevant classes (Tree, XML, JSON, HDF5) use these functions in, +// e.g., their constructors, which are defined in-class; and (2) our convert() // functions in turn work with the classes and thus need the class definitions // to be available. The alternative would be to mostly define the classes, but // only declare their constructors; then define the convert()s; then finally // define the constructors. We think the forward declarations are clearer. // ----------------------------------------------------------------------------- -// Node +// Node, Tree class Node; - -// Tree class Tree; -// XML, JSON +// XML, JSON, HDF5 class XML; class JSON; +class HDF5; -// Node to {XML,JSON} -bool convert(const Node &, XML &x); -bool convert(const Node &, JSON &j); +// Node to {XML,JSON,HDF5} +bool convert(const Node &, XML &); +bool convert(const Node &, JSON &); +bool convert(const Node &, HDF5 &); -// Tree to {Tree,XML,JSON} +// Tree to {Tree,XML,JSON,HDF5} bool convert(const Tree &, Tree &); bool convert(const Tree &, XML &); bool convert(const Tree &, JSON &); +bool convert(const Tree &, HDF5 &); -// XML to {Node,Tree,XML,JSON} +// XML to {Node,Tree,XML,JSON,HDF5} bool convert(const XML &, Node &, const bool); bool convert(const XML &, Tree &); bool convert(const XML &, XML &); bool convert(const XML &, JSON &); +bool convert(const XML &, HDF5 &); -// JSON to {Node,Tree,XML,JSON} +// JSON to {Node,Tree,XML,JSON,HDF5} bool convert(const JSON &, Node &, const bool); bool convert(const JSON &, Tree &); bool convert(const JSON &, XML &); bool convert(const JSON &, JSON &); +bool convert(const JSON &, HDF5 &); + +// HDF5 to {Node,Tree,XML,JSON,HDF5} +bool convert(const HDF5 &, Node &, const bool); +bool convert(const HDF5 &, Tree &); +bool convert(const HDF5 &, XML &); +bool convert(const HDF5 &, JSON &); +bool convert(const HDF5 &, HDF5 &); From 7d17c46d6a588e8fc4456e7bbf62420a7c060de8 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Mon, 15 Nov 2021 11:08:45 -0700 Subject: [PATCH 021/235] Setting up autogenerator for containers, etc. --- CMakeLists.txt | 33 ++ python/src/GNDStk.python.cpp | 9 + standards/gnds-2.0/changes.json | 168 +++++++++ standards/gnds-2.0/gnds-2.0.json | 25 ++ standards/gnds-2.0/readme | 16 + standards/gnds-2.0/summary_gpdc.json | 516 ++++----------------------- standards/gnds-2.0/summary_pops.json | 198 +--------- 7 files changed, 315 insertions(+), 650 deletions(-) create mode 100644 standards/gnds-2.0/changes.json create mode 100644 standards/gnds-2.0/gnds-2.0.json diff --git a/CMakeLists.txt b/CMakeLists.txt index dcfaced04..aab7be598 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,6 +89,39 @@ pybind11_add_module( GNDStk.python python/src/v1.9/transport/ReactionSuite.python.cpp python/src/v1.9/transport.python.cpp python/src/v1.9/GNDS.python.cpp + + python/src/v2.0/GNDS.python.cpp + python/src/v2.0/containers.python.cpp + python/src/v2.0/containers/Array.python.cpp + python/src/v2.0/containers/Axes.python.cpp + python/src/v2.0/containers/Axis.python.cpp + python/src/v2.0/containers/Column.python.cpp + python/src/v2.0/containers/ColumnHeaders.python.cpp + python/src/v2.0/containers/Constant1d.python.cpp + python/src/v2.0/containers/Data.python.cpp + python/src/v2.0/containers/Double.python.cpp + python/src/v2.0/containers/Fraction.python.cpp + python/src/v2.0/containers/Function1ds.python.cpp + python/src/v2.0/containers/Function2ds.python.cpp + python/src/v2.0/containers/Function3ds.python.cpp + python/src/v2.0/containers/Grid.python.cpp + python/src/v2.0/containers/Gridded1d.python.cpp + python/src/v2.0/containers/Gridded2d.python.cpp + python/src/v2.0/containers/Gridded3d.python.cpp + python/src/v2.0/containers/Integer.python.cpp + python/src/v2.0/containers/Legendre.python.cpp + python/src/v2.0/containers/Link.python.cpp + python/src/v2.0/containers/Polynomial1d.python.cpp + python/src/v2.0/containers/Regions1d.python.cpp + python/src/v2.0/containers/Regions2d.python.cpp + python/src/v2.0/containers/Regions3d.python.cpp + python/src/v2.0/containers/String.python.cpp + python/src/v2.0/containers/Table.python.cpp + python/src/v2.0/containers/Values.python.cpp + python/src/v2.0/containers/XYs1d.python.cpp + python/src/v2.0/containers/XYs2d.python.cpp + python/src/v2.0/containers/XYs3d.python.cpp + python/src/v2.0/containers/Ys1d.python.cpp ) target_link_libraries( GNDStk.python PRIVATE GNDStk ) target_compile_options( GNDStk.python PRIVATE "-fvisibility=hidden" ) diff --git a/python/src/GNDStk.python.cpp b/python/src/GNDStk.python.cpp index d11f1da14..4cba436ab 100644 --- a/python/src/GNDStk.python.cpp +++ b/python/src/GNDStk.python.cpp @@ -32,6 +32,12 @@ namespace python_v1_9 { void wrapGNDS( python::module& ); } +// v2.0 interface declarations +namespace python_v2_0 { + + void wrapGNDS( python::module& ); +} + /** * @brief GNDStk python bindings * @@ -66,4 +72,7 @@ PYBIND11_MODULE( GNDStk, module ) { // v1.9 components (in the v1_9 module, created in this function) python_v1_9::wrapGNDS( module ); + + // v2.0 components (in the v2_0 module, created in this function) + python_v2_0::wrapGNDS( module ); } diff --git a/standards/gnds-2.0/changes.json b/standards/gnds-2.0/changes.json new file mode 100644 index 000000000..6572ae17b --- /dev/null +++ b/standards/gnds-2.0/changes.json @@ -0,0 +1,168 @@ +{ + "// changes to node names" : "", + "name" : { + + "// purpose: changing names of nodes" : "", + "double" : "Double" + }, + + "// changes in node metadata/attributes: type, default values, etc." : "", + "metadata" : { + + "// converting the type given in the json specs to a known GNDStk type" : "", + "type" : { + + "// json spec corrections" : "", + "bodyText" : "std::string", + + "// enumerator types" : "", + "dateType" : "enums::DateType", + "contributorType" : "enums::ContributorType", + "relationType" : "enums::RelationType", + "parity" : "enums::Parity", + "frame" : "enums::Frame", + "interpolation" : "enums::Interpolation", + "interpolationQualifier" : "enums::InterpolationQualifier", + "hashAlgorithm" : "enums::HashAlgorithm", + "decayType" : "enums::DecayType", + "gridStyle" : "enums::GridStyle", + "boundaryCondition" : "enums::BoundaryCondition", + "interaction" : "enums::Interaction" + }, + + "// converting the default given in the json specs to a GNDStk value" : "", + "default" : { + + "// json spec corrections" : "", + "\\\\attr{lin-lin}" : "enums::Interpolation::linlin", + + "// dateType" : "", + "accepted" : "enums::DateType::accepted", + "available" : "enums::DateType::available", + "copyrighted" : "enums::DateType::copyrighted", + "collected" : "enums::DateType::collected", + "created" : "enums::DateType::created", + "issued" : "enums::DateType::issued", + "submitted" : "enums::DateType::submitted", + "updated" : "enums::DateType::updated", + "valid" : "enums::DateType::valid", + "withdrawn" : "enums::DateType::withdrawn", + + "// contributorType" : "", + "ContactPerson" : "enums::ContributorType::ContactPerson", + "DataCollector" : "enums::ContributorType::DataCollector", + "DataCurator" : "enums::ContributorType::DataCurator", + "DataManager" : "enums::ContributorType::DataManager", + "Distributor" : "enums::ContributorType::Distributor", + "Editor" : "enums::ContributorType::Editor", + "HostingInstitution" : "enums::ContributorType::HostingInstitution", + "Producer" : "enums::ContributorType::Producer", + "ProjectLeader" : "enums::ContributorType::ProjectLeader", + "ProjectManager" : "enums::ContributorType::ProjectManager", + "ProjectMember" : "enums::ContributorType::ProjectMember", + "RegistrationAgency" : "enums::ContributorType::RegistrationAgency", + "RegistrationAuthority" : "enums::ContributorType::RegistrationAuthority", + "RelatedPerson" : "enums::ContributorType::RelatedPerson", + "Researcher" : "enums::ContributorType::Researcher", + "ResearchGroup" : "enums::ContributorType::ResearchGroup", + "RightsHolder" : "enums::ContributorType::RightsHolder", + "Sponsor" : "enums::ContributorType::Sponsor", + "Supervisor" : "enums::ContributorType::Supervisor", + "WorkPackageLeader" : "enums::ContributorType::WorkPackageLeader", + "Other" : "enums::ContributorType::Other", + + "// relationType" : "", + "IsCitedBy" : "enums::RelationType::IsCitedBy", + "Cites" : "enums::RelationType::Cites", + "IsSupplementTo" : "enums::RelationType::IsSupplementTo", + "IsSupplementedBy" : "enums::RelationType::IsSupplementedBy", + "IsContinuedBy" : "enums::RelationType::IsContinuedBy", + "Continues" : "enums::RelationType::Continues", + "Describes" : "enums::RelationType::Describes", + "IsDescribedBy" : "enums::RelationType::IsDescribedBy", + "HasMetadata" : "enums::RelationType::HasMetadata", + "IsMetadataFor" : "enums::RelationType::IsMetadataFor", + "HasVersion" : "enums::RelationType::HasVersion", + "IsVersionOf" : "enums::RelationType::IsVersionOf", + "IsNewVersionOf" : "enums::RelationType::IsNewVersionOf", + "IsPreviousVersionOf" : "enums::RelationType::IsPreviousVersionOf", + "IsPartOf" : "enums::RelationType::IsPartOf", + "HasPart" : "enums::RelationType::HasPart", + "IsPublishedIn" : "enums::RelationType::IsPublishedIn", + "IsReferencedBy" : "enums::RelationType::IsReferencedBy", + "References" : "enums::RelationType::References", + "IsDocumentedBy" : "enums::RelationType::IsDocumentedBy", + "Documents" : "enums::RelationType::Documents", + "IsCompiledBy" : "enums::RelationType::IsCompiledBy", + "Complies" : "enums::RelationType::Complies", + "IsVariantFormOf" : "enums::RelationType::IsVariantFormOf", + "IsOriginalFormOf" : "enums::RelationType::IsOriginalFormOf", + "IsIdenticalTo" : "enums::RelationType::IsIdenticalTo", + "IsReviewedBy" : "enums::RelationType::IsReviewedBy", + "Reviews" : "enums::RelationType::Reviews", + "IsDerivedFrom" : "enums::RelationType::IsDerivedFrom", + "IsSourceOf" : "enums::RelationType::IsSourceOf", + "IsRequiredBy" : "enums::RelationType::IsRequiredBy", + "Requires" : "enums::RelationType::Requires", + "Obsoletes" : "enums::RelationType::Obsoletes", + "IsObsoletedBy" : "enums::RelationType::IsObsoletedBy", + + "// parity" : "", + "-1" : "enums::Parity::minus", + "+1" : "enums::Parity::plus", + + "// frame" : "", + "lab" : "enums::Frame::lab", + "centerOfMass" : "enums::Frame::centerOfMass", + + "// interpolation" : "", + "flat" : "enums::Interpolation::flat", + "charged-particle" : "enums::Interpolation::chargedparticle", + "lin-lin" : "enums::Interpolation::linlin", + "lin-log" : "enums::Interpolation::linlog", + "log-lin" : "enums::Interpolation::loglin", + "log-log" : "enums::Interpolation::loglog", + + "// interpolationQualifier" : "", + "direct" : "enums::InterpolationQualifier::direct", + "unitBase" : "enums::InterpolationQualifier::unitBase", + "correspondingEnergies" : "enums::InterpolationQualifier::correspondingEnergies", + "correspondingPoints" : "enums::InterpolationQualifier::correspondingPoints", + + "// hashAlgorithm" : "", + "md5" : "enums::HashAlgorithm::md5", + "sha1" : "enums::HashAlgorithm::sha1", + + "// decayType" : "", + "SF" : "enums::DecayType::SpontaneousFission", + "beta-" : "enums::DecayType::BetaMinus", + "beta+" : "enums::DecayType::BetaPlus", + "EC" : "enums::DecayType::ElectronCapture", + "electroMagnetic" : "enums::DecayType::ElectroMagnetic", + "IT" : "enums::DecayType::IsomericTransition", + "n" : "enums::DecayType::Neutron", + "p" : "enums::DecayType::Proton", + "d" : "enums::DecayType::Deuteron", + "t" : "enums::DecayType::Triton", + "alpha" : "enums::DecayType::Alpha", + "atomicRelaxation" : "enums::DecayType::AtomicRelaxation", + + "// grid style" : "", + "none" : "enums::GridStyle::none", + "points" : "enums::GridStyle::points", + "boundaries" : "enums::GridStyle::boundaries", + "parameters" : "enums::GridStyle::parameters", + + "// grid style" : "", + "EliminateShiftFunction" : "enums::BoundaryCondition::EliminateShiftFunction", + "NegativeOrbitalMomentum" : "enums::BoundaryCondition::NegativeOrbitalMomentum", + "Brune" : "enums::BoundaryCondition::Brune", + "Given" : "enums::BoundaryCondition::Given", + + "// interaction" : "", + "nuclear" : "enums::Interaction::nuclear", + "atomic" : "enums::Interaction::atomic", + "thermalNeutronScatteringLaw" : "enums::Interaction::thermalNeutronScatteringLaw" + } + } +} diff --git a/standards/gnds-2.0/gnds-2.0.json b/standards/gnds-2.0/gnds-2.0.json new file mode 100644 index 000000000..a7c1ef48e --- /dev/null +++ b/standards/gnds-2.0/gnds-2.0.json @@ -0,0 +1,25 @@ +{ + "JSONDir": ".", + "JSONFiles": [ + "summary_abstract.json", + "summary_appData.json", + "summary_atomic.json", + "summary_common.json", + "summary_gpdc.json", + "summary_covariance.json", + "summary_cpTransport.json", + "summary_documentation.json", + "summary_fissionTransport.json", + "summary_fpy.json", + "summary_pops.json", + "summary_processed.json", + "summary_resonance.json", + "summary_styles.json", + "summary_transport.json", + "summary_tsl.json" + ], + + "GNDSDir": "../../", + "Version": "v2.0", + "Changes": "changes.json" +} diff --git a/standards/gnds-2.0/readme b/standards/gnds-2.0/readme index 5cdb3463f..0fd639462 100644 --- a/standards/gnds-2.0/readme +++ b/standards/gnds-2.0/readme @@ -22,3 +22,19 @@ files : TopLevel/summary_resonance.json TopLevel/summary_transport.json TopLevel/summary_tsl.json + +autogenerator input files : + changes.json + gnds-2.0.json + +changes: + - renamed namespace: gpdc to containers + - removed all uncertainty nodes from gpdc and pops due to circular references + - set the domainMin and domainMax defaults to "1.0" and "-1.0" to not confuse the + autogenerator (parity enum values are "+1" and "-1") + - replaced the appearance of the "functional" abstract child node by the actual + child nodes that can appear using choice+ in the function1ds, function2ds + and function3ds node. regions1d, etc are excluded since regions1d has a + functions1d node containing regions1d too. This is a major restriction but it + is required to get it working. + - removed the MC related nodes for pdf/cdf, etc. diff --git a/standards/gnds-2.0/summary_gpdc.json b/standards/gnds-2.0/summary_gpdc.json index 8db929d5f..a5acbaf55 100644 --- a/standards/gnds-2.0/summary_gpdc.json +++ b/standards/gnds-2.0/summary_gpdc.json @@ -1,5 +1,5 @@ { - "__namespace__":"gpdc", + "__namespace__":"containers", "double":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", @@ -30,15 +30,7 @@ } }, "bodyText": null, - "childNodes": { - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Stores the uncertainty on the parent \\element{double}.", - "name": "uncertainty", - "occurrence": "1", - "required": false - } - }, + "childNodes": {}, "description": "Stores a double-precision quantity along with a unit, optional label and uncertainty", "name": "double", "required": false, @@ -188,279 +180,6 @@ "rootNode": false }, - "uncertainty":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "standard": { - "__class__": "nodes.ChildNode", - "description": "Stores a normally-distributed uncertainty.", - "name": "standard", - "occurrence": "1", - "required": false - }, - "logNormal": { - "__class__": "nodes.ChildNode", - "description": "Stores a log-normal-distributed uncertainty.", - "name": "logNormal", - "occurrence": "1", - "required": false - }, - "confidenceIntervals": { - "__class__": "nodes.ChildNode", - "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", - "name": "confidenceIntervals", - "occurrence": "1", - "required": false - }, - "pdf": { - "__class__": "nodes.ChildNode", - "description": "Stores a probability distribution as a 1-dimensional function.", - "name": "pdf", - "occurrence": "1", - "required": false - }, - "XYs1d": { - "__class__": "nodes.ChildNode", - "description": [ - "Store the uncertainty for a 1-dimensional function.", - "Uncertainties are assumed to be normally distributed. If uncertainties are correlated,", - "use the \\element{covariance} option instead." - ], - "name": "XYs1d", - "occurrence": "1", - "required": false - }, - "polynomial1d": { - "__class__": "nodes.ChildNode", - "description": [ - "Stores uncertainties for each coefficient in a polynomial expansion.", - "Uncertainties are assumed to be normally distributed. If coefficients are correlated,", - "use the \\element{covariance} option instead." - ], - "name": "polynomial1d", - "occurrence": "1", - "required": false - }, - "covariance": { - "__class__": "nodes.ChildNode", - "description": [ - "Stores a covariance matrix (or a link to a covariance matrix),", - "usually for a 1-dimensional function." - ], - "name": "covariance", - "occurrence": "1", - "required": false - }, - "listOfCovariances": { - "__class__": "nodes.ChildNode", - "description": [ - "Stores a list of covariance matrices (or a list of links to covariance matrices).", - "This option is generally used for higher-dimensional functions. For example,", - "if an angular distribution $P(\\mu|E)$ is stored as an energy-dependent list of", - "\\element{Legendre} expansions, the full covariance may be decomposed into energy-dependent", - "covariance matrices for each combination of $L_i$ and $L_j$. The \\element{listOfCovariances}", - "lists all of these covariances." - ], - "name": "listOfCovariances", - "occurrence": "1", - "required": false - } - }, - "description": "Stores the uncertainty for a scalar quantity or a functional data container.", - "name": "uncertainty", - "required": false, - "rootNode": false - }, - "listOfCovariances":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "covariance": { - "__class__": "nodes.ChildNode", - "description": "Covariance matrix (or link to a covariance matrix).", - "name": "covariance", - "occurrence": "1+", - "required": true - } - }, - "description": [ - "Stores a list of covariance matrices (or a list of links to covariance matrices).", - "This option is generally used for higher-dimensional functions. For example,", - "if an angular distribution $P(\\mu|E)$ is stored as an energy-dependent list of", - "\\element{Legendre} expansions, the full covariance may be decomposed into energy-dependent", - "covariance matrices for each combination of $L_i$ and $L_j$. The \\element{listOfCovariances}", - "lists all of these covariances." - ], - "name": "listOfCovariances", - "required": false, - "rootNode": false - }, - "covariance":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": { - "label": { - "__class__": "nodes.Attribute", - "default": null, - "description": "Unique label for this covariance (required if it resides in a \\elemlink{listOfCovariances}).", - "name": "label", - "required": false, - "type": "XMLName" - }, - "href": { - "__class__": "nodes.Attribute", - "default": null, - "description": "The URL or xpath-like string pointing to the referred-to element. Often points to a covariance inside the \\elemlink{covarianceSuite}.", - "name": "href", - "required": false, - "type": "bodyText" - } - }, - "bodyText": null, - "childNodes": {}, - "description": [ - "Stores a covariance matrix (or a link to a covariance matrix),", - "usually for a 1-dimensional function." - ], - "name": "covariance", - "required": false, - "rootNode": false - }, - - "standard":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "double": { - "__class__": "nodes.ChildNode", - "description": "Stores $\\sigma$ for the normal distribution.", - "name": "double", - "occurrence": "1", - "required": true - } - }, - "description": [ - "Used to store the standard deviation of a standard Gaussian uncertainty distribution. The mean value and unit are ", - "stored higher up in the hierarchy, for example in the parent \\element{double} node." - ], - "name": "standard", - "required": false, - "rootNode": false - }, - "logNormal":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "double": { - "__class__": "nodes.ChildNode", - "description": "Stores $\\sigma$ for the log-normal distribution.", - "name": "double", - "occurrence": "1", - "required": true - } - }, - "description": [ - "Used to store the standard deviation $\\sigma$ of a log-normal uncertainty distribution, $X = e^{\\mu + \\sigma Z}$. The mean value and unit are ", - "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." - ], - "name": "logNormal", - "required": false, - "rootNode": false - }, - "confidenceIntervals":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "interval": { - "__class__": "nodes.ChildNode", - "description": "Stores one confidence interval.", - "name": "interval", - "occurrence": "1+", - "required": true - } - }, - "description": [ - "Stores a list of intervals along with the confidence that the `true value' lies within each interval. The mean value and unit are ", - "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." - ], - "name": "confidenceIntervals", - "required": false, - "rootNode": false - }, - "interval":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": { - "confidence": { - "__class__": "nodes.Attribute", - "default": null, - "description": "A value between 0 and 1, indicating how confident the evaluator is that the `true' value lies between mean - lower and mean + upper.", - "name": "confidence", - "required": true, - "type": "Float64" - }, - "lower": { - "__class__": "nodes.Attribute", - "default": null, - "description": "Value to subtract from the mean to obtain the lower limit for this interval.", - "name": "lower", - "required": true, - "type": "Float64" - }, - "upper": { - "__class__": "nodes.Attribute", - "default": null, - "description": "Value to add to the mean to obtain the upper limit for this interval.", - "name": "upper", - "required": true, - "type": "Float64" - } - }, - "bodyText": null, - "childNodes": {}, - "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", - "name": "interval", - "required": false, - "rootNode": false - }, - "pdf":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "XYs1d": { - "__class__": "nodes.ChildNode", - "description": "Probability distribution stored as an \\element{XYs1d}.", - "name": "XYs1d", - "occurrence": "1", - "required": false - }, - "regions1d": { - "__class__": "nodes.ChildNode", - "description": "Probability distribution stored as a \\element{regions1d}.", - "name": "regions1d", - "occurrence": "1", - "required": false - } - }, - "description": "Stores an explicit probability distribution for the parent quantity.", - "name": "pdf", - "required": false, - "rootNode": false - }, - "axes":{ "__class__": "nodes.Node", "abstractNode": "label", @@ -1078,13 +797,6 @@ "occurrence": "1", "required": false }, - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty and/or covariance for this one-dimensional function.", - "name": "uncertainty", - "occurrence": "1", - "required": false - }, "values": { "__class__": "nodes.ChildNode", "description": "Contains the list of the $n$ pairs of $x_i, y_i$ as the list $x_0\\ y_0\\ x_1\\ y_1\\ ...\\ x_{n-1}\\ y_{n-1}$.", @@ -1185,7 +897,7 @@ }, "domainMin": { "__class__": "nodes.Attribute", - "default": "-1", + "default": "-1.0", "description": "$y(x_1)$ is only valid (i.e. defined) over the domain \\attr{domainMin} $\\le x_1 \\le$ \\attr{domainMax}. \\attr{domainMin} must be less than or equal to \\attr{domainMax}.", "name": "domainMin", "required": false, @@ -1193,7 +905,7 @@ }, "domainMax": { "__class__": "nodes.Attribute", - "default": "1", + "default": "1.0", "description": "See \\attr{domainMin}.", "name": "domainMax", "required": false, @@ -1275,13 +987,6 @@ "occurrence": "1", "required": true }, - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty and/or covariance for this one-dimensional function.", - "name": "uncertainty", - "occurrence": "1", - "required": false - }, "values": { "__class__": "nodes.ChildNode", "description": [ @@ -1359,112 +1064,6 @@ "rootNode": false }, - "xs_pdf_cdf1d":{ - "__class__": "nodes.Node", - "abstractNode": "functional", - "attributes": { - "outerDomainValue": { - "__class__": "nodes.Attribute", - "default": null, - "description": "When the xs\\_pdf\\_cdf1d container appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", - "name": "outerDomainValue", - "required": false, - "type": "Float64" - } - }, - "bodyText": null, - "childNodes": { - "xs": { - "__class__": "nodes.ChildNode", - "description": "Defines the common list of $x$ values for the pdf and cdf.", - "name": "xs", - "occurrence": "1", - "required": true - }, - "pdf": { - "__class__": "nodes.ChildNode", - "description": "Stores the pdf evaluated at each corresponding $x$ value.", - "name": "pdf", - "occurrence": "1", - "required": true - }, - "cdf": { - "__class__": "nodes.ChildNode", - "description": "Stores the cdf evaluated at each corresponding $x$ value.", - "name": "cdf", - "occurrence": "1", - "required": true - } - }, - "description": [ - "For Monte-Carlo sampling it is often useful to store both the probability density (pdf) and cumulative probability density (cdf)", - "on the same grid. The sampling routine can then draw a random number in the range [0,1), do a bisection search through the cdf", - "to determine which interval the random number lies in, and then use the pdf to sample within that interval. The \\element{xs\\_pdf\\_cdf1d}", - "container provides a way to store these three related quantities together. The number of values in the \\element{xs}, \\element{pdf}", - "and \\element{cdf} must be the same." - ], - "name": "xs_pdf_cdf1d", - "required": false, - "rootNode": false - }, - "xs_in_xs_pdf_cdf1d":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "values": { - "__class__": "nodes.ChildNode", - "description": null, - "name": "values", - "occurrence": "1", - "required": true - } - }, - "description": "Stores the common list of $x$ values for use in an \\element{xs\\_pdf\\_cdf1d}.", - "name": "xs", - "required": false, - "rootNode": false - }, - "pdf_in_xs_pdf_cdf1d":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "values": { - "__class__": "nodes.ChildNode", - "description": null, - "name": "values", - "occurrence": "1", - "required": true - } - }, - "description": "Stores the value of the pdf at each $x$ in an \\element{xs\\_pdf\\_cdf1d}.", - "name": "pdf_in_xs_pdf_cdf1d", - "required": false, - "rootNode": false - }, - "cdf_in_xs_pdf_cdf1d":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "values": { - "__class__": "nodes.ChildNode", - "description": null, - "name": "values", - "occurrence": "1", - "required": true - } - }, - "description": "Stores the value of the cdf at each $x$ in an \\element{xs\\_pdf\\_cdf1d}.", - "name": "cdf", - "required": false, - "rootNode": false - }, - "XYs2d":{ "__class__": "nodes.Node", "abstractNode": "functional", @@ -1517,13 +1116,6 @@ "name": "function1ds", "occurrence": "1", "required": true - }, - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty and/or covariance for this two-dimensional function.", - "name": "uncertainty", - "occurrence": "1", - "required": false } }, "description": [ "This node stores a 2-dimensional function $x_0(x_2, x_1)$ as a list of 1-dimensional functions at various $x_2$ values. Each 1-dimensional ", @@ -1540,13 +1132,41 @@ "attributes": {}, "bodyText": null, "childNodes": { - "functional": { + "XYs1d": { "__class__": "nodes.ChildNode", - "description": "Any valid 1-dimensional function that is consistent with the quantity being represented.", - "name": "functional", - "occurrence": "1+", + "description": "", + "name": "XYs1d", + "occurrence": "choice+", + "required": false + }, + "constant1d": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "constant1d", + "occurrence": "choice+", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "polynomial1d", + "occurrence": "choice+", + "required": false + }, + "Legendre": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "Legendre", + "occurrence": "choice+", "required": false - } + }, + "gridded1d": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "gridded1d", + "occurrence": "choice+", + "required": false + } }, "description": "This node stores a list of 1-dimensional functions.", "name": "function1ds", @@ -1590,13 +1210,6 @@ "name": "function2ds", "occurrence": "1", "required": true - }, - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty and/or covariance for this three-dimensional function.", - "name": "uncertainty", - "occurrence": "1", - "required": false } }, "description": [ "This node stores a 3-dimensional function $x_0(x_3, x_2, x_1)$ as a list of 2-dimensional functions at various $x_3$ values. Each 2-dimensional ", @@ -1613,13 +1226,20 @@ "attributes": {}, "bodyText": null, "childNodes": { - "functional": { + "XYs2d": { "__class__": "nodes.ChildNode", - "description": "Any valid 2-dimensional function that is consistent with the quantity being represented.", - "name": "functional", - "occurrence": "1+", + "description": "", + "name": "XYs2d", + "occurrence": "choice+", + "required": false + }, + "gridded2d": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "gridded2d", + "occurrence": "choice+", "required": false - } + } }, "description": "This node stores a list of 2-dimensional functions.", "name": "function2ds", @@ -1664,13 +1284,6 @@ "name": "function1ds", "occurrence": "1", "required": true - }, - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty and/or covariance for this one-dimensional function.", - "name": "uncertainty", - "occurrence": "1", - "required": false } }, "description": null, @@ -1716,13 +1329,6 @@ "name": "function2ds", "occurrence": "1", "required": true - }, - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty and/or covariance for this two-dimensional function.", - "name": "uncertainty", - "occurrence": "1", - "required": false } }, "description": null, @@ -1768,13 +1374,6 @@ "name": "function3ds", "occurrence": "1", "required": true - }, - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty and/or covariance for this three-dimensional function.", - "name": "uncertainty", - "occurrence": "1", - "required": false } }, "description": null, @@ -1789,13 +1388,20 @@ "attributes": {}, "bodyText": null, "childNodes": { - "functional": { + "XYs3d": { "__class__": "nodes.ChildNode", - "description": "Any valid 3-dimensional function that is consistent with the quantity being represented.", - "name": "functional", - "occurrence": "1+", + "description": "", + "name": "XYs3d", + "occurrence": "choice+", "required": false - } + }, + "gridded3d": { + "__class__": "nodes.ChildNode", + "description": "", + "name": "gridded3d", + "occurrence": "choice+", + "required": false + } }, "description": "This node stores a list of 3-dimensional functions.", "name": "function3ds", diff --git a/standards/gnds-2.0/summary_pops.json b/standards/gnds-2.0/summary_pops.json index be98ed378..4dfb015b2 100644 --- a/standards/gnds-2.0/summary_pops.json +++ b/standards/gnds-2.0/summary_pops.json @@ -1611,15 +1611,7 @@ } }, "bodyText": null, - "childNodes": { - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty on the intensity.", - "name": "uncertainty", - "occurrence": "1", - "required": false - } - }, + "childNodes": {}, "description": "This is the energy of the discrete emitted particle.", "name": "energy", "required": false, @@ -1639,15 +1631,7 @@ } }, "bodyText": null, - "childNodes": { - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": "Uncertainty on the intensity.", - "name": "uncertainty", - "occurrence": "1", - "required": false - } - }, + "childNodes": {}, "description": "Relative intensity of this decay branch (usually normalised so the most intense branch has intenisty = 1).", "name": "intensity", "required": false, @@ -1734,15 +1718,7 @@ } }, "bodyText": null, - "childNodes": { - "uncertainty": { - "__class__": "nodes.ChildNode", - "description": null, - "name": "uncertainty", - "occurrence": "1", - "required": false - } - }, + "childNodes": {}, "description": [ "Stores the mean outgoing energy for one type of decay product, e.g. `n', `photon' or `e-'. ", "Note that the type of product is identified by the `label' attribute, but in the future this may change to a `pid'." @@ -1750,174 +1726,6 @@ "name": "averageEnergy", "required": false, "rootNode": false -}, -"uncertainty":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "standard": { - "__class__": "nodes.ChildNode", - "description": "Stores a normally-distributed uncertainty.", - "name": "standard", - "occurrence": "1", - "required": false - }, - "logNormal": { - "__class__": "nodes.ChildNode", - "description": "Stores a log-normal-distributed uncertainty.", - "name": "logNormal", - "occurrence": "1", - "required": false - }, - "confidenceIntervals": { - "__class__": "nodes.ChildNode", - "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", - "name": "confidenceIntervals", - "occurrence": "1", - "required": false - }, - "pdf": { - "__class__": "nodes.ChildNode", - "description": "Stores a probability distribution as a 1-dimensional function.", - "name": "pdf", - "occurrence": "1", - "required": false - } - }, - "description": "Stores the uncertainty for a scalar quantity, e.g. probability or mean energy.", - "name": "uncertainty", - "required": false, - "rootNode": false -}, -"standard":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "double": { - "__class__": "nodes.ChildNode", - "description": "Stores $\\sigma$ for the normal distribution.", - "name": "double", - "occurrence": "1", - "required": true - } - }, - "description": [ - "Used to store the standard deviation of a standard Gaussian uncertainty distribution. The mean value and unit are ", - "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." - ], - "name": "standard", - "required": false, - "rootNode": false -}, -"logNormal":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "double": { - "__class__": "nodes.ChildNode", - "description": "Stores $\\sigma$ for the log-normal distribution.", - "name": "double", - "occurrence": "1", - "required": true - } - }, - "description": [ - "Used to store the standard deviation $\\sigma$ of a log-normal uncertainty distribution, $X = \\exp{\\mu + \\sigma Z}$. The mean value and unit are ", - "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." - ], - "name": "logNormal", - "required": false, - "rootNode": false -}, -"confidenceIntervals":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "interval": { - "__class__": "nodes.ChildNode", - "description": "Stores one confidence interval.", - "name": "interval", - "occurrence": "1+", - "required": true - } - }, - "description": [ - "Stores a list of intervals along with the confidence that the `true value' lies within each interval. The mean value and unit are ", - "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." - ], - "name": "confidenceIntervals", - "required": false, - "rootNode": false -}, -"interval":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": { - "confidence": { - "__class__": "nodes.Attribute", - "default": null, - "description": "A value between 0 and 1, indicating how confident the evaluator is that the `true' value lies between mean - lower and mean + upper.", - "name": "confidence", - "required": true, - "type": "Float64" - }, - "lower": { - "__class__": "nodes.Attribute", - "default": null, - "description": "Value to subtract from the mean to obtain the lower limit for this interval.", - "name": "lower", - "required": true, - "type": "Float64" - }, - "upper": { - "__class__": "nodes.Attribute", - "default": null, - "description": "Value to add to the mean to obtain the upper limit for this interval.", - "name": "upper", - "required": true, - "type": "Float64" - } - }, - "bodyText": null, - "childNodes": {}, - "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", - "name": "interval", - "required": false, - "rootNode": false -}, -"pdf":{ - "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, - "bodyText": null, - "childNodes": { - "XYs1d": { - "__class__": "nodes.ChildNode", - "description": "Probability distribution stored as an XYs1d.", - "name": "XYs1d", - "occurrence": "1", - "required": false - }, - "regions1d": { - "__class__": "nodes.ChildNode", - "description": "Probability distribution stored as a regions1d.", - "name": "regions1d", - "occurrence": "1", - "required": false - } - }, - "description": "Stores an explicit probability distribution for the parent quantity.", - "name": "pdf", - "required": false, - "rootNode": false } } From 366e70e2e4a74e5e2e9dfd2d7f5d3f46145b19f3 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Mon, 15 Nov 2021 11:37:18 -0700 Subject: [PATCH 022/235] Autogenerated code for the "tweaked" GNDS 2.0 containers --- python/src/v2.0/GNDS.python.cpp | 29 ++ python/src/v2.0/containers.python.cpp | 89 ++++ python/src/v2.0/containers/Array.python.cpp | 105 +++++ python/src/v2.0/containers/Axes.python.cpp | 70 ++++ python/src/v2.0/containers/Axis.python.cpp | 70 ++++ python/src/v2.0/containers/Column.python.cpp | 77 ++++ .../v2.0/containers/ColumnHeaders.python.cpp | 56 +++ .../src/v2.0/containers/Constant1d.python.cpp | 91 ++++ python/src/v2.0/containers/Data.python.cpp | 92 +++++ python/src/v2.0/containers/Double.python.cpp | 70 ++++ .../src/v2.0/containers/Fraction.python.cpp | 70 ++++ .../v2.0/containers/Function1ds.python.cpp | 63 +++ .../v2.0/containers/Function2ds.python.cpp | 60 +++ .../v2.0/containers/Function3ds.python.cpp | 60 +++ python/src/v2.0/containers/Grid.python.cpp | 105 +++++ .../src/v2.0/containers/Gridded1d.python.cpp | 70 ++++ .../src/v2.0/containers/Gridded2d.python.cpp | 70 ++++ .../src/v2.0/containers/Gridded3d.python.cpp | 70 ++++ python/src/v2.0/containers/Integer.python.cpp | 70 ++++ .../src/v2.0/containers/Legendre.python.cpp | 91 ++++ python/src/v2.0/containers/Link.python.cpp | 56 +++ .../v2.0/containers/Polynomial1d.python.cpp | 98 +++++ .../src/v2.0/containers/Regions1d.python.cpp | 77 ++++ .../src/v2.0/containers/Regions2d.python.cpp | 77 ++++ .../src/v2.0/containers/Regions3d.python.cpp | 77 ++++ python/src/v2.0/containers/String.python.cpp | 70 ++++ python/src/v2.0/containers/Table.python.cpp | 84 ++++ python/src/v2.0/containers/Values.python.cpp | 127 ++++++ python/src/v2.0/containers/XYs1d.python.cpp | 91 ++++ python/src/v2.0/containers/XYs2d.python.cpp | 91 ++++ python/src/v2.0/containers/XYs3d.python.cpp | 77 ++++ python/src/v2.0/containers/Ys1d.python.cpp | 77 ++++ src/GNDStk/v2.0.hpp | 41 ++ src/GNDStk/v2.0/containers/Array.hpp | 390 ++++++++++++++++++ .../v2.0/containers/Array/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Axes.hpp | 278 +++++++++++++ .../v2.0/containers/Axes/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Axis.hpp | 216 ++++++++++ .../v2.0/containers/Axis/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Column.hpp | 236 +++++++++++ .../v2.0/containers/Column/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/ColumnHeaders.hpp | 207 ++++++++++ .../containers/ColumnHeaders/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Constant1d.hpp | 281 +++++++++++++ .../v2.0/containers/Constant1d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Data.hpp | 192 +++++++++ .../v2.0/containers/Data/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Double.hpp | 220 ++++++++++ .../v2.0/containers/Double/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Fraction.hpp | 223 ++++++++++ .../v2.0/containers/Fraction/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Function1ds.hpp | 368 +++++++++++++++++ .../containers/Function1ds/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Function2ds.hpp | 272 ++++++++++++ .../containers/Function2ds/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Function3ds.hpp | 272 ++++++++++++ .../containers/Function3ds/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Grid.hpp | 310 ++++++++++++++ .../v2.0/containers/Grid/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Gridded1d.hpp | 222 ++++++++++ .../v2.0/containers/Gridded1d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Gridded2d.hpp | 222 ++++++++++ .../v2.0/containers/Gridded2d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Gridded3d.hpp | 222 ++++++++++ .../v2.0/containers/Gridded3d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Integer.hpp | 223 ++++++++++ .../v2.0/containers/Integer/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Legendre.hpp | 291 +++++++++++++ .../v2.0/containers/Legendre/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Link.hpp | 176 ++++++++ .../v2.0/containers/Link/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Polynomial1d.hpp | 306 ++++++++++++++ .../containers/Polynomial1d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Regions1d.hpp | 242 +++++++++++ .../v2.0/containers/Regions1d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Regions2d.hpp | 242 +++++++++++ .../v2.0/containers/Regions2d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Regions3d.hpp | 242 +++++++++++ .../v2.0/containers/Regions3d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/String.hpp | 216 ++++++++++ .../v2.0/containers/String/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Table.hpp | 266 ++++++++++++ .../v2.0/containers/Table/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Values.hpp | 300 ++++++++++++++ .../v2.0/containers/Values/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/XYs1d.hpp | 286 +++++++++++++ .../v2.0/containers/XYs1d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/XYs2d.hpp | 286 +++++++++++++ .../v2.0/containers/XYs2d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/XYs3d.hpp | 246 +++++++++++ .../v2.0/containers/XYs3d/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Ys1d.hpp | 246 +++++++++++ .../v2.0/containers/Ys1d/src/custom.hpp | 4 + 93 files changed, 10340 insertions(+) create mode 100644 python/src/v2.0/GNDS.python.cpp create mode 100644 python/src/v2.0/containers.python.cpp create mode 100644 python/src/v2.0/containers/Array.python.cpp create mode 100644 python/src/v2.0/containers/Axes.python.cpp create mode 100644 python/src/v2.0/containers/Axis.python.cpp create mode 100644 python/src/v2.0/containers/Column.python.cpp create mode 100644 python/src/v2.0/containers/ColumnHeaders.python.cpp create mode 100644 python/src/v2.0/containers/Constant1d.python.cpp create mode 100644 python/src/v2.0/containers/Data.python.cpp create mode 100644 python/src/v2.0/containers/Double.python.cpp create mode 100644 python/src/v2.0/containers/Fraction.python.cpp create mode 100644 python/src/v2.0/containers/Function1ds.python.cpp create mode 100644 python/src/v2.0/containers/Function2ds.python.cpp create mode 100644 python/src/v2.0/containers/Function3ds.python.cpp create mode 100644 python/src/v2.0/containers/Grid.python.cpp create mode 100644 python/src/v2.0/containers/Gridded1d.python.cpp create mode 100644 python/src/v2.0/containers/Gridded2d.python.cpp create mode 100644 python/src/v2.0/containers/Gridded3d.python.cpp create mode 100644 python/src/v2.0/containers/Integer.python.cpp create mode 100644 python/src/v2.0/containers/Legendre.python.cpp create mode 100644 python/src/v2.0/containers/Link.python.cpp create mode 100644 python/src/v2.0/containers/Polynomial1d.python.cpp create mode 100644 python/src/v2.0/containers/Regions1d.python.cpp create mode 100644 python/src/v2.0/containers/Regions2d.python.cpp create mode 100644 python/src/v2.0/containers/Regions3d.python.cpp create mode 100644 python/src/v2.0/containers/String.python.cpp create mode 100644 python/src/v2.0/containers/Table.python.cpp create mode 100644 python/src/v2.0/containers/Values.python.cpp create mode 100644 python/src/v2.0/containers/XYs1d.python.cpp create mode 100644 python/src/v2.0/containers/XYs2d.python.cpp create mode 100644 python/src/v2.0/containers/XYs3d.python.cpp create mode 100644 python/src/v2.0/containers/Ys1d.python.cpp create mode 100644 src/GNDStk/v2.0.hpp create mode 100644 src/GNDStk/v2.0/containers/Array.hpp create mode 100644 src/GNDStk/v2.0/containers/Array/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Axes.hpp create mode 100644 src/GNDStk/v2.0/containers/Axes/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Axis.hpp create mode 100644 src/GNDStk/v2.0/containers/Axis/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Column.hpp create mode 100644 src/GNDStk/v2.0/containers/Column/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/ColumnHeaders.hpp create mode 100644 src/GNDStk/v2.0/containers/ColumnHeaders/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Constant1d.hpp create mode 100644 src/GNDStk/v2.0/containers/Constant1d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Data.hpp create mode 100644 src/GNDStk/v2.0/containers/Data/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Double.hpp create mode 100644 src/GNDStk/v2.0/containers/Double/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Fraction.hpp create mode 100644 src/GNDStk/v2.0/containers/Fraction/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Function1ds.hpp create mode 100644 src/GNDStk/v2.0/containers/Function1ds/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Function2ds.hpp create mode 100644 src/GNDStk/v2.0/containers/Function2ds/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Function3ds.hpp create mode 100644 src/GNDStk/v2.0/containers/Function3ds/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Grid.hpp create mode 100644 src/GNDStk/v2.0/containers/Grid/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Gridded1d.hpp create mode 100644 src/GNDStk/v2.0/containers/Gridded1d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Gridded2d.hpp create mode 100644 src/GNDStk/v2.0/containers/Gridded2d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Gridded3d.hpp create mode 100644 src/GNDStk/v2.0/containers/Gridded3d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Integer.hpp create mode 100644 src/GNDStk/v2.0/containers/Integer/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Legendre.hpp create mode 100644 src/GNDStk/v2.0/containers/Legendre/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Link.hpp create mode 100644 src/GNDStk/v2.0/containers/Link/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Polynomial1d.hpp create mode 100644 src/GNDStk/v2.0/containers/Polynomial1d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Regions1d.hpp create mode 100644 src/GNDStk/v2.0/containers/Regions1d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Regions2d.hpp create mode 100644 src/GNDStk/v2.0/containers/Regions2d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Regions3d.hpp create mode 100644 src/GNDStk/v2.0/containers/Regions3d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/String.hpp create mode 100644 src/GNDStk/v2.0/containers/String/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Table.hpp create mode 100644 src/GNDStk/v2.0/containers/Table/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Values.hpp create mode 100644 src/GNDStk/v2.0/containers/Values/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/XYs1d.hpp create mode 100644 src/GNDStk/v2.0/containers/XYs1d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/XYs2d.hpp create mode 100644 src/GNDStk/v2.0/containers/XYs2d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/XYs3d.hpp create mode 100644 src/GNDStk/v2.0/containers/XYs3d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/containers/Ys1d.hpp create mode 100644 src/GNDStk/v2.0/containers/Ys1d/src/custom.hpp diff --git a/python/src/v2.0/GNDS.python.cpp b/python/src/v2.0/GNDS.python.cpp new file mode 100644 index 000000000..7173442ae --- /dev/null +++ b/python/src/v2.0/GNDS.python.cpp @@ -0,0 +1,29 @@ +// system includes +#include +#include + +// other includes + +// namespace aliases +namespace python = pybind11; + +// v2.0 interface declarations +namespace python_v2_0 { + + void wrapContainers( python::module& ); +} + +namespace python_v2_0 { + + void wrapGNDS( python::module& module ) { + + // create the core submodule + python::module submodule = module.def_submodule( + + "v2_0", + "GNDS 2.0 standard components" + ); + + python_v2_0::wrapContainers( submodule ); + } +} // v2_0 namespace diff --git a/python/src/v2.0/containers.python.cpp b/python/src/v2.0/containers.python.cpp new file mode 100644 index 000000000..998d784c3 --- /dev/null +++ b/python/src/v2.0/containers.python.cpp @@ -0,0 +1,89 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// containers declarations +namespace python_containers { + void wrapAxis(python::module &); + void wrapLink(python::module &); + void wrapValues(python::module &); + void wrapGrid(python::module &); + void wrapAxes(python::module &); + void wrapXYs1d(python::module &); + void wrapLegendre(python::module &); + void wrapConstant1d(python::module &); + void wrapArray(python::module &); + void wrapGridded1d(python::module &); + void wrapPolynomial1d(python::module &); + void wrapFunction1ds(python::module &); + void wrapRegions1d(python::module &); + void wrapDouble(python::module &); + void wrapXYs2d(python::module &); + void wrapGridded2d(python::module &); + void wrapFunction2ds(python::module &); + void wrapRegions2d(python::module &); + void wrapYs1d(python::module &); + void wrapXYs3d(python::module &); + void wrapGridded3d(python::module &); + void wrapColumn(python::module &); + void wrapColumnHeaders(python::module &); + void wrapData(python::module &); + void wrapFraction(python::module &); + void wrapFunction3ds(python::module &); + void wrapInteger(python::module &); + void wrapRegions3d(python::module &); + void wrapString(python::module &); + void wrapTable(python::module &); +} // namespace python_containers + +// containers wrapper +void wrapContainers(python::module &module) +{ + // create the containers submodule + python::module submodule = module.def_submodule( + "containers", + "GNDS v2.0 containers" + ); + + // wrap containers components + python_containers::wrapAxis(submodule); + python_containers::wrapLink(submodule); + python_containers::wrapValues(submodule); + python_containers::wrapGrid(submodule); + python_containers::wrapAxes(submodule); + python_containers::wrapXYs1d(submodule); + python_containers::wrapLegendre(submodule); + python_containers::wrapConstant1d(submodule); + python_containers::wrapArray(submodule); + python_containers::wrapGridded1d(submodule); + python_containers::wrapPolynomial1d(submodule); + python_containers::wrapFunction1ds(submodule); + python_containers::wrapRegions1d(submodule); + python_containers::wrapDouble(submodule); + python_containers::wrapXYs2d(submodule); + python_containers::wrapGridded2d(submodule); + python_containers::wrapFunction2ds(submodule); + python_containers::wrapRegions2d(submodule); + python_containers::wrapYs1d(submodule); + python_containers::wrapXYs3d(submodule); + python_containers::wrapGridded3d(submodule); + python_containers::wrapColumn(submodule); + python_containers::wrapColumnHeaders(submodule); + python_containers::wrapData(submodule); + python_containers::wrapFraction(submodule); + python_containers::wrapFunction3ds(submodule); + python_containers::wrapInteger(submodule); + python_containers::wrapRegions3d(submodule); + python_containers::wrapString(submodule); + python_containers::wrapTable(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Array.python.cpp b/python/src/v2.0/containers/Array.python.cpp new file mode 100644 index 000000000..88621ba67 --- /dev/null +++ b/python/src/v2.0/containers/Array.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Array.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Array wrapper +void wrapArray(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Array; + + // create the component + python::class_ component( + module, + "Array", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const IntegerTuple &, + const std::optional &, + const std::optional &, + const std::optional> &, + const std::optional> & + >(), + python::arg("compression") = std::nullopt, + python::arg("offset") = std::nullopt, + python::arg("permutation") = std::nullopt, + python::arg("shape"), + python::arg("storage_order") = std::nullopt, + python::arg("symmetry") = std::nullopt, + python::arg("array") = std::nullopt, + python::arg("values") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "compression", + [](const Component &self) { return self.compression().value(); }, + Component::documentation("compression").data() + ) + .def_property_readonly( + "offset", + &Component::offset, + Component::documentation("offset").data() + ) + .def_property_readonly( + "permutation", + [](const Component &self) { return self.permutation().value(); }, + Component::documentation("permutation").data() + ) + .def_property_readonly( + "shape", + &Component::shape, + Component::documentation("shape").data() + ) + .def_property_readonly( + "storage_order", + [](const Component &self) { return self.storageOrder().value(); }, + Component::documentation("storage_order").data() + ) + .def_property_readonly( + "symmetry", + [](const Component &self) { return self.symmetry().value(); }, + Component::documentation("symmetry").data() + ) + .def_property_readonly( + "array", + python::overload_cast<>(&Component::array), + Component::documentation("array").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Axes.python.cpp b/python/src/v2.0/containers/Axes.python.cpp new file mode 100644 index 000000000..bc2c6c773 --- /dev/null +++ b/python/src/v2.0/containers/Axes.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Axes wrapper +void wrapAxes(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Axes; + + // create the component + python::class_ component( + module, + "Axes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional> &, + const std::optional> & + >(), + python::arg("href") = std::nullopt, + python::arg("axis") = std::nullopt, + python::arg("grid") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "axis", + python::overload_cast<>(&Component::axis), + Component::documentation("axis").data() + ) + .def_property_readonly( + "grid", + python::overload_cast<>(&Component::grid), + Component::documentation("grid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Axis.python.cpp b/python/src/v2.0/containers/Axis.python.cpp new file mode 100644 index 000000000..5d19b1fb9 --- /dev/null +++ b/python/src/v2.0/containers/Axis.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Axis.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Axis wrapper +void wrapAxis(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Axis; + + // create the component + python::class_ component( + module, + "Axis", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("index") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + &Component::index, + Component::documentation("index").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Column.python.cpp b/python/src/v2.0/containers/Column.python.cpp new file mode 100644 index 000000000..3829a96cd --- /dev/null +++ b/python/src/v2.0/containers/Column.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Column.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Column wrapper +void wrapColumn(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Column; + + // create the component + python::class_ component( + module, + "Column", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("index"), + python::arg("name"), + python::arg("types") = std::nullopt, + python::arg("unit") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + &Component::index, + Component::documentation("index").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + .def_property_readonly( + "types", + &Component::types, + Component::documentation("types").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/ColumnHeaders.python.cpp b/python/src/v2.0/containers/ColumnHeaders.python.cpp new file mode 100644 index 000000000..27ff66229 --- /dev/null +++ b/python/src/v2.0/containers/ColumnHeaders.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/ColumnHeaders.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// ColumnHeaders wrapper +void wrapColumnHeaders(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::ColumnHeaders; + + // create the component + python::class_ component( + module, + "ColumnHeaders", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("column"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "column", + python::overload_cast<>(&Component::column), + Component::documentation("column").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Constant1d.python.cpp b/python/src/v2.0/containers/Constant1d.python.cpp new file mode 100644 index 000000000..114a529e0 --- /dev/null +++ b/python/src/v2.0/containers/Constant1d.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Constant1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Constant1d wrapper +void wrapConstant1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Constant1d; + + // create the component + python::class_ component( + module, + "Constant1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Axes & + >(), + python::arg("domain_max") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("axes"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Data.python.cpp b/python/src/v2.0/containers/Data.python.cpp new file mode 100644 index 000000000..25555de02 --- /dev/null +++ b/python/src/v2.0/containers/Data.python.cpp @@ -0,0 +1,92 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Data.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Data wrapper +void wrapData(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Data; + + // create the component + python::class_ component( + module, + "Data", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("sep") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "sep", + [](const Component &self) { return self.sep().value(); }, + Component::documentation("sep").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Double.python.cpp b/python/src/v2.0/containers/Double.python.cpp new file mode 100644 index 000000000..284102603 --- /dev/null +++ b/python/src/v2.0/containers/Double.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Double.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Double wrapper +void wrapDouble(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Double; + + // create the component + python::class_ component( + module, + "Double", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const Float64 & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit().value(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Fraction.python.cpp b/python/src/v2.0/containers/Fraction.python.cpp new file mode 100644 index 000000000..21ca1df94 --- /dev/null +++ b/python/src/v2.0/containers/Fraction.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Fraction.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Fraction wrapper +void wrapFraction(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Fraction; + + // create the component + python::class_ component( + module, + "Fraction", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const Fraction32 & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label().value(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit().value(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Function1ds.python.cpp b/python/src/v2.0/containers/Function1ds.python.cpp new file mode 100644 index 000000000..b60b9be90 --- /dev/null +++ b/python/src/v2.0/containers/Function1ds.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Function1ds.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Function1ds wrapper +void wrapFunction1ds(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Function1ds; + using _t = std::variant< + containers::Legendre, + containers::XYs1d, + containers::Constant1d, + containers::Gridded1d, + containers::Polynomial1d + >; + + // create the component + python::class_ component( + module, + "Function1ds", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector<_t> & + >(), + python::arg("_legendre_xys1dconstant1dgridded1dpolynomial1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "_legendre_xys1dconstant1dgridded1dpolynomial1d", + python::overload_cast<>(&Component::_LegendreXYs1dconstant1dgridded1dpolynomial1d), + Component::documentation("_legendre_xys1dconstant1dgridded1dpolynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Function2ds.python.cpp b/python/src/v2.0/containers/Function2ds.python.cpp new file mode 100644 index 000000000..f227d07f0 --- /dev/null +++ b/python/src/v2.0/containers/Function2ds.python.cpp @@ -0,0 +1,60 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Function2ds.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Function2ds wrapper +void wrapFunction2ds(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Function2ds; + using _t = std::variant< + containers::XYs2d, + containers::Gridded2d + >; + + // create the component + python::class_ component( + module, + "Function2ds", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector<_t> & + >(), + python::arg("_xys2dgridded2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "_xys2dgridded2d", + python::overload_cast<>(&Component::_XYs2dgridded2d), + Component::documentation("_xys2dgridded2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Function3ds.python.cpp b/python/src/v2.0/containers/Function3ds.python.cpp new file mode 100644 index 000000000..2350092aa --- /dev/null +++ b/python/src/v2.0/containers/Function3ds.python.cpp @@ -0,0 +1,60 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Function3ds.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Function3ds wrapper +void wrapFunction3ds(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Function3ds; + using _t = std::variant< + containers::XYs3d, + containers::Gridded3d + >; + + // create the component + python::class_ component( + module, + "Function3ds", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector<_t> & + >(), + python::arg("_xys3dgridded3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "_xys3dgridded3d", + python::overload_cast<>(&Component::_XYs3dgridded3d), + Component::documentation("_xys3dgridded3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Grid.python.cpp b/python/src/v2.0/containers/Grid.python.cpp new file mode 100644 index 000000000..602ad3d60 --- /dev/null +++ b/python/src/v2.0/containers/Grid.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Grid.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Grid wrapper +void wrapGrid(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Grid; + using _t = std::variant< + containers::Link, + containers::Values + >; + + // create the component + python::class_ component( + module, + "Grid", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("index") = std::nullopt, + python::arg("interpolation") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("style") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("_linkvalues"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + &Component::index, + Component::documentation("index").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "style", + &Component::style, + Component::documentation("style").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "link", + python::overload_cast<>(&Component::link), + Component::documentation("link").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + .def_property_readonly( + "_linkvalues", + python::overload_cast<>(&Component::_linkvalues), + Component::documentation("_linkvalues").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Gridded1d.python.cpp b/python/src/v2.0/containers/Gridded1d.python.cpp new file mode 100644 index 000000000..3ce9c5bd7 --- /dev/null +++ b/python/src/v2.0/containers/Gridded1d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Gridded1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Gridded1d wrapper +void wrapGridded1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Gridded1d; + + // create the component + python::class_ component( + module, + "Gridded1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const containers::Array &, + const containers::Axes & + >(), + python::arg("label") = std::nullopt, + python::arg("array"), + python::arg("axes"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "array", + python::overload_cast<>(&Component::array), + Component::documentation("array").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Gridded2d.python.cpp b/python/src/v2.0/containers/Gridded2d.python.cpp new file mode 100644 index 000000000..22a05b606 --- /dev/null +++ b/python/src/v2.0/containers/Gridded2d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Gridded2d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Gridded2d wrapper +void wrapGridded2d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Gridded2d; + + // create the component + python::class_ component( + module, + "Gridded2d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const containers::Array &, + const containers::Axes & + >(), + python::arg("label") = std::nullopt, + python::arg("array"), + python::arg("axes"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "array", + python::overload_cast<>(&Component::array), + Component::documentation("array").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Gridded3d.python.cpp b/python/src/v2.0/containers/Gridded3d.python.cpp new file mode 100644 index 000000000..2afb0c8a1 --- /dev/null +++ b/python/src/v2.0/containers/Gridded3d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Gridded3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Gridded3d wrapper +void wrapGridded3d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Gridded3d; + + // create the component + python::class_ component( + module, + "Gridded3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const containers::Array &, + const containers::Axes & + >(), + python::arg("label") = std::nullopt, + python::arg("array"), + python::arg("axes"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "array", + python::overload_cast<>(&Component::array), + Component::documentation("array").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Integer.python.cpp b/python/src/v2.0/containers/Integer.python.cpp new file mode 100644 index 000000000..e280766fa --- /dev/null +++ b/python/src/v2.0/containers/Integer.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Integer.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Integer wrapper +void wrapInteger(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Integer; + + // create the component + python::class_ component( + module, + "Integer", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const Integer32 & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label().value(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit().value(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Legendre.python.cpp b/python/src/v2.0/containers/Legendre.python.cpp new file mode 100644 index 000000000..55d64b096 --- /dev/null +++ b/python/src/v2.0/containers/Legendre.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Legendre.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Legendre wrapper +void wrapLegendre(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Legendre; + + // create the component + python::class_ component( + module, + "Legendre", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Values & + >(), + python::arg("domain_max") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("lower_index") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax().value(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin().value(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "lower_index", + [](const Component &self) { return self.lowerIndex().value(); }, + Component::documentation("lower_index").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Link.python.cpp b/python/src/v2.0/containers/Link.python.cpp new file mode 100644 index 000000000..d33ab3fe1 --- /dev/null +++ b/python/src/v2.0/containers/Link.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Link.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Link wrapper +void wrapLink(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Link; + + // create the component + python::class_ component( + module, + "Link", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Polynomial1d.python.cpp b/python/src/v2.0/containers/Polynomial1d.python.cpp new file mode 100644 index 000000000..bd2907a84 --- /dev/null +++ b/python/src/v2.0/containers/Polynomial1d.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Polynomial1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Polynomial1d wrapper +void wrapPolynomial1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Polynomial1d; + + // create the component + python::class_ component( + module, + "Polynomial1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Axes &, + const containers::Values & + >(), + python::arg("domain_max") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("lower_index") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes"), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "lower_index", + [](const Component &self) { return self.lowerIndex().value(); }, + Component::documentation("lower_index").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Regions1d.python.cpp b/python/src/v2.0/containers/Regions1d.python.cpp new file mode 100644 index 000000000..7a360511f --- /dev/null +++ b/python/src/v2.0/containers/Regions1d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Regions1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Regions1d wrapper +void wrapRegions1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Regions1d; + + // create the component + python::class_ component( + module, + "Regions1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function1ds & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function1ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "function1ds", + python::overload_cast<>(&Component::function1ds), + Component::documentation("function1ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Regions2d.python.cpp b/python/src/v2.0/containers/Regions2d.python.cpp new file mode 100644 index 000000000..2e815efa1 --- /dev/null +++ b/python/src/v2.0/containers/Regions2d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Regions2d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Regions2d wrapper +void wrapRegions2d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Regions2d; + + // create the component + python::class_ component( + module, + "Regions2d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function2ds & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function2ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "function2ds", + python::overload_cast<>(&Component::function2ds), + Component::documentation("function2ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Regions3d.python.cpp b/python/src/v2.0/containers/Regions3d.python.cpp new file mode 100644 index 000000000..2b8aff7a6 --- /dev/null +++ b/python/src/v2.0/containers/Regions3d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Regions3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Regions3d wrapper +void wrapRegions3d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Regions3d; + + // create the component + python::class_ component( + module, + "Regions3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function3ds & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function3ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "function3ds", + python::overload_cast<>(&Component::function3ds), + Component::documentation("function3ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/String.python.cpp b/python/src/v2.0/containers/String.python.cpp new file mode 100644 index 000000000..c33b29969 --- /dev/null +++ b/python/src/v2.0/containers/String.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/String.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// String wrapper +void wrapString(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::String; + + // create the component + python::class_ component( + module, + "String", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Table.python.cpp b/python/src/v2.0/containers/Table.python.cpp new file mode 100644 index 000000000..94239c1ba --- /dev/null +++ b/python/src/v2.0/containers/Table.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Table.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Table wrapper +void wrapTable(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Table; + + // create the component + python::class_ component( + module, + "Table", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const Integer32 &, + const std::optional &, + const containers::ColumnHeaders &, + const containers::Data & + >(), + python::arg("columns"), + python::arg("rows"), + python::arg("storage_order") = std::nullopt, + python::arg("column_headers"), + python::arg("data"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "columns", + &Component::columns, + Component::documentation("columns").data() + ) + .def_property_readonly( + "rows", + &Component::rows, + Component::documentation("rows").data() + ) + .def_property_readonly( + "storage_order", + [](const Component &self) { return self.storageOrder().value(); }, + Component::documentation("storage_order").data() + ) + .def_property_readonly( + "column_headers", + python::overload_cast<>(&Component::columnHeaders), + Component::documentation("column_headers").data() + ) + .def_property_readonly( + "data", + python::overload_cast<>(&Component::data), + Component::documentation("data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Values.python.cpp b/python/src/v2.0/containers/Values.python.cpp new file mode 100644 index 000000000..b2358a8f6 --- /dev/null +++ b/python/src/v2.0/containers/Values.python.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Values.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Values wrapper +void wrapValues(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Values; + + // create the component + python::class_ component( + module, + "Values", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("count") = std::nullopt, + python::arg("href") = std::nullopt, + python::arg("length") = std::nullopt, + python::arg("start") = std::nullopt, + python::arg("start_index") = std::nullopt, + python::arg("value_type") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "count", + &Component::count, + Component::documentation("count").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "length", + &Component::length, + Component::documentation("length").data() + ) + .def_property_readonly( + "start", + [](const Component &self) { return self.start().value(); }, + Component::documentation("start").data() + ) + .def_property_readonly( + "start_index", + &Component::startIndex, + Component::documentation("start_index").data() + ) + .def_property_readonly( + "value_type", + [](const Component &self) { return self.valueType().value(); }, + Component::documentation("value_type").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/XYs1d.python.cpp b/python/src/v2.0/containers/XYs1d.python.cpp new file mode 100644 index 000000000..44a5ea6cc --- /dev/null +++ b/python/src/v2.0/containers/XYs1d.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/XYs1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// XYs1d wrapper +void wrapXYs1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::XYs1d; + + // create the component + python::class_ component( + module, + "XYs1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Values & + >(), + python::arg("index") = std::nullopt, + python::arg("interpolation") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + &Component::index, + Component::documentation("index").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/XYs2d.python.cpp b/python/src/v2.0/containers/XYs2d.python.cpp new file mode 100644 index 000000000..869f3b455 --- /dev/null +++ b/python/src/v2.0/containers/XYs2d.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/XYs2d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// XYs2d wrapper +void wrapXYs2d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::XYs2d; + + // create the component + python::class_ component( + module, + "XYs2d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function1ds & + >(), + python::arg("index") = std::nullopt, + python::arg("interpolation") = std::nullopt, + python::arg("interpolation_qualifier") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function1ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + &Component::index, + Component::documentation("index").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "interpolation_qualifier", + &Component::interpolationQualifier, + Component::documentation("interpolation_qualifier").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "function1ds", + python::overload_cast<>(&Component::function1ds), + Component::documentation("function1ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/XYs3d.python.cpp b/python/src/v2.0/containers/XYs3d.python.cpp new file mode 100644 index 000000000..00e7e247a --- /dev/null +++ b/python/src/v2.0/containers/XYs3d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/XYs3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// XYs3d wrapper +void wrapXYs3d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::XYs3d; + + // create the component + python::class_ component( + module, + "XYs3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function2ds & + >(), + python::arg("interpolation") = std::nullopt, + python::arg("interpolation_qualifier") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function2ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "interpolation_qualifier", + &Component::interpolationQualifier, + Component::documentation("interpolation_qualifier").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "function2ds", + python::overload_cast<>(&Component::function2ds), + Component::documentation("function2ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers/Ys1d.python.cpp b/python/src/v2.0/containers/Ys1d.python.cpp new file mode 100644 index 000000000..4c6ca9ecb --- /dev/null +++ b/python/src/v2.0/containers/Ys1d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/containers/Ys1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Ys1d wrapper +void wrapYs1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = containers::Ys1d; + + // create the component + python::class_ component( + module, + "Ys1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const containers::Axes &, + const containers::Values & + >(), + python::arg("interpolation") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("axes"), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/src/GNDStk/v2.0.hpp b/src/GNDStk/v2.0.hpp new file mode 100644 index 000000000..a9ff8d87e --- /dev/null +++ b/src/GNDStk/v2.0.hpp @@ -0,0 +1,41 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0 +#define NJOY_GNDSTK_V2_0 + +#include "GNDStk/v2.0/containers/Array.hpp" +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Axis.hpp" +#include "GNDStk/v2.0/containers/Column.hpp" +#include "GNDStk/v2.0/containers/ColumnHeaders.hpp" +#include "GNDStk/v2.0/containers/Constant1d.hpp" +#include "GNDStk/v2.0/containers/Data.hpp" +#include "GNDStk/v2.0/containers/Double.hpp" +#include "GNDStk/v2.0/containers/Fraction.hpp" +#include "GNDStk/v2.0/containers/Function1ds.hpp" +#include "GNDStk/v2.0/containers/Function2ds.hpp" +#include "GNDStk/v2.0/containers/Function3ds.hpp" +#include "GNDStk/v2.0/containers/Grid.hpp" +#include "GNDStk/v2.0/containers/Gridded1d.hpp" +#include "GNDStk/v2.0/containers/Gridded2d.hpp" +#include "GNDStk/v2.0/containers/Gridded3d.hpp" +#include "GNDStk/v2.0/containers/Integer.hpp" +#include "GNDStk/v2.0/containers/Legendre.hpp" +#include "GNDStk/v2.0/containers/Link.hpp" +#include "GNDStk/v2.0/containers/Polynomial1d.hpp" +#include "GNDStk/v2.0/containers/Regions1d.hpp" +#include "GNDStk/v2.0/containers/Regions2d.hpp" +#include "GNDStk/v2.0/containers/Regions3d.hpp" +#include "GNDStk/v2.0/containers/String.hpp" +#include "GNDStk/v2.0/containers/Table.hpp" +#include "GNDStk/v2.0/containers/Values.hpp" +#include "GNDStk/v2.0/containers/XYs1d.hpp" +#include "GNDStk/v2.0/containers/XYs2d.hpp" +#include "GNDStk/v2.0/containers/XYs3d.hpp" +#include "GNDStk/v2.0/containers/Ys1d.hpp" + +#include "GNDStk/v2.0/key.hpp" + +#endif diff --git a/src/GNDStk/v2.0/containers/Array.hpp b/src/GNDStk/v2.0/containers/Array.hpp new file mode 100644 index 000000000..f60fedb7c --- /dev/null +++ b/src/GNDStk/v2.0/containers/Array.hpp @@ -0,0 +1,390 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_ARRAY +#define NJOY_GNDSTK_V2_0_CONTAINERS_ARRAY + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Values.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Array +// ----------------------------------------------------------------------------- + +namespace containers { + +class Array : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Array"; } + static auto GNDSName() { return "array"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Defaulted{"`none'"} + / Meta<>("compression") | + std::optional{} + / Meta<>("offset") | + Defaulted{"`none'"} + / Meta<>("permutation") | + IntegerTuple{} + / Meta<>("shape") | + Defaulted{"row-major"} + / Meta<>("storageOrder") | + Defaulted{"`none'"} + / Meta<>("symmetry") | + // children + std::optional{} + / ++Child<>("array") | + std::optional{} + / ++Child<>("values") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const UTF8Text compression = "`none'"; + static inline const UTF8Text permutation = "`none'"; + static inline const UTF8Text storageOrder = "row-major"; + static inline const UTF8Text symmetry = "`none'"; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Defaulted compression{"`none'"}; + std::optional offset; + Defaulted permutation{"`none'"}; + IntegerTuple shape; + Defaulted storageOrder{"row-major"}; + Defaulted symmetry{"`none'"}; + // children + std::optional> array; + std::optional> values; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // compression + const Defaulted &compression() const + { return content.compression; } + Defaulted &compression() + { return content.compression; } + + // offset + const std::optional &offset() const + { return content.offset; } + std::optional &offset() + { return content.offset; } + + // permutation + const Defaulted &permutation() const + { return content.permutation; } + Defaulted &permutation() + { return content.permutation; } + + // shape + const IntegerTuple &shape() const + { return content.shape; } + IntegerTuple &shape() + { return content.shape; } + + // storageOrder + const Defaulted &storageOrder() const + { return content.storageOrder; } + Defaulted &storageOrder() + { return content.storageOrder; } + + // symmetry + const Defaulted &symmetry() const + { return content.symmetry; } + Defaulted &symmetry() + { return content.symmetry; } + + // array + const std::optional> &array() const + { return content.array; } + std::optional> &array() + { return content.array; } + + // array(index) + const containers::Array &array(const std::size_t index) const + { return getter(array(), index, "array"); } + containers::Array &array(const std::size_t index) + { return getter(array(), index, "array"); } + + // array(label) + const containers::Array &array(const std::string &label) const + { return getter(array(), label, "array"); } + containers::Array &array(const std::string &label) + { return getter(array(), label, "array"); } + + // values + const std::optional> &values() const + { return content.values; } + std::optional> &values() + { return content.values; } + + // values(index) + const containers::Values &values(const std::size_t index) const + { return getter(values(), index, "values"); } + containers::Values &values(const std::size_t index) + { return getter(values(), index, "values"); } + + // values(label) + const containers::Values &values(const std::string &label) const + { return getter(values(), label, "values"); } + containers::Values &values(const std::string &label) + { return getter(values(), label, "values"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // compression(value) + Array &compression(const Defaulted &obj) + { content.compression = obj; return *this; } + Array &compression(const std::optional &obj) + { content.compression = obj; return *this; } + + // offset(value) + Array &offset(const std::optional &obj) + { offset() = obj; return *this; } + + // permutation(value) + Array &permutation(const Defaulted &obj) + { content.permutation = obj; return *this; } + Array &permutation(const std::optional &obj) + { content.permutation = obj; return *this; } + + // shape(value) + Array &shape(const IntegerTuple &obj) + { shape() = obj; return *this; } + + // storageOrder(value) + Array &storageOrder(const Defaulted &obj) + { content.storageOrder = obj; return *this; } + Array &storageOrder(const std::optional &obj) + { content.storageOrder = obj; return *this; } + + // symmetry(value) + Array &symmetry(const Defaulted &obj) + { content.symmetry = obj; return *this; } + Array &symmetry(const std::optional &obj) + { content.symmetry = obj; return *this; } + + // array(value) + Array &array(const std::optional> &obj) + { array() = obj; return *this; } + + // array(index,value) + Array &array( + const std::size_t index, + const containers::Array &obj + ) { + array(index) = obj; return *this; + } + + // array(label,value) + Array &array( + const std::string &label, + const containers::Array &obj + ) { + array(label) = obj; return *this; + } + + // values(value) + Array &values(const std::optional> &obj) + { values() = obj; return *this; } + + // values(index,value) + Array &values( + const std::size_t index, + const containers::Values &obj + ) { + values(index) = obj; return *this; + } + + // values(label,value) + Array &values( + const std::string &label, + const containers::Values &obj + ) { + values(label) = obj; return *this; + } + + // ------------------------ + // Construction + // ------------------------ + + // default + Array() : + Component{ + BodyText{}, + content.compression, + content.offset, + content.permutation, + content.shape, + content.storageOrder, + content.symmetry, + content.array, + content.values + } + { + Component::finish(); + } + + // copy + Array(const Array &other) : + Component{ + other, + content.compression, + content.offset, + content.permutation, + content.shape, + content.storageOrder, + content.symmetry, + content.array, + content.values + }, + content{other.content} + { + Component::finish(other); + } + + // move + Array(Array &&other) : + Component{ + other, + content.compression, + content.offset, + content.permutation, + content.shape, + content.storageOrder, + content.symmetry, + content.array, + content.values + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Array(const Node &node) : + Component{ + BodyText{}, + content.compression, + content.offset, + content.permutation, + content.shape, + content.storageOrder, + content.symmetry, + content.array, + content.values + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Array( + const std::optional &compression, + const std::optional &offset, + const std::optional &permutation, + const IntegerTuple &shape, + const std::optional &storageOrder, + const std::optional &symmetry, + const std::optional> &array, + const std::optional> &values + ) : + Component{ + BodyText{}, + content.compression, + content.offset, + content.permutation, + content.shape, + content.storageOrder, + content.symmetry, + content.array, + content.values + }, + content{ + Defaulted(defaults.compression,compression), + offset, + Defaulted(defaults.permutation,permutation), + shape, + Defaulted(defaults.storageOrder,storageOrder), + Defaulted(defaults.symmetry,symmetry), + array, + values + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Array &operator=(const Array &) = default; + + // move + Array &operator=(Array &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Array/src/custom.hpp" + +}; // class Array + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Array/src/custom.hpp b/src/GNDStk/v2.0/containers/Array/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Array/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Axes.hpp b/src/GNDStk/v2.0/containers/Axes.hpp new file mode 100644 index 000000000..958304d43 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Axes.hpp @@ -0,0 +1,278 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_AXES +#define NJOY_GNDSTK_V2_0_CONTAINERS_AXES + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axis.hpp" +#include "GNDStk/v2.0/containers/Grid.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Axes +// ----------------------------------------------------------------------------- + +namespace containers { + +class Axes : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Axes"; } + static auto GNDSName() { return "axes"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("href") | + // children + std::optional{} + / ++Child<>("axis") | + std::optional{} + / ++Child<>("grid") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional href; + // children + std::optional> axis; + std::optional> grid; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // href + const std::optional &href() const + { return content.href; } + std::optional &href() + { return content.href; } + + // axis + const std::optional> &axis() const + { return content.axis; } + std::optional> &axis() + { return content.axis; } + + // axis(index) + const containers::Axis &axis(const std::size_t index) const + { return getter(axis(), index, "axis"); } + containers::Axis &axis(const std::size_t index) + { return getter(axis(), index, "axis"); } + + // axis(label) + const containers::Axis &axis(const std::string &label) const + { return getter(axis(), label, "axis"); } + containers::Axis &axis(const std::string &label) + { return getter(axis(), label, "axis"); } + + // grid + const std::optional> &grid() const + { return content.grid; } + std::optional> &grid() + { return content.grid; } + + // grid(index) + const containers::Grid &grid(const std::size_t index) const + { return getter(grid(), index, "grid"); } + containers::Grid &grid(const std::size_t index) + { return getter(grid(), index, "grid"); } + + // grid(label) + const containers::Grid &grid(const std::string &label) const + { return getter(grid(), label, "grid"); } + containers::Grid &grid(const std::string &label) + { return getter(grid(), label, "grid"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // href(value) + Axes &href(const std::optional &obj) + { href() = obj; return *this; } + + // axis(value) + Axes &axis(const std::optional> &obj) + { axis() = obj; return *this; } + + // axis(index,value) + Axes &axis( + const std::size_t index, + const containers::Axis &obj + ) { + axis(index) = obj; return *this; + } + + // axis(label,value) + Axes &axis( + const std::string &label, + const containers::Axis &obj + ) { + axis(label) = obj; return *this; + } + + // grid(value) + Axes &grid(const std::optional> &obj) + { grid() = obj; return *this; } + + // grid(index,value) + Axes &grid( + const std::size_t index, + const containers::Grid &obj + ) { + grid(index) = obj; return *this; + } + + // grid(label,value) + Axes &grid( + const std::string &label, + const containers::Grid &obj + ) { + grid(label) = obj; return *this; + } + + // ------------------------ + // Construction + // ------------------------ + + // default + Axes() : + Component{ + BodyText{}, + content.href, + content.axis, + content.grid + } + { + Component::finish(); + } + + // copy + Axes(const Axes &other) : + Component{ + other, + content.href, + content.axis, + content.grid + }, + content{other.content} + { + Component::finish(other); + } + + // move + Axes(Axes &&other) : + Component{ + other, + content.href, + content.axis, + content.grid + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Axes(const Node &node) : + Component{ + BodyText{}, + content.href, + content.axis, + content.grid + } + { + Component::finish(node); + } + + // from fields + explicit Axes( + const std::optional &href, + const std::optional> &axis, + const std::optional> &grid + ) : + Component{ + BodyText{}, + content.href, + content.axis, + content.grid + }, + content{ + href, + axis, + grid + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Axes &operator=(const Axes &) = default; + + // move + Axes &operator=(Axes &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Axes/src/custom.hpp" + +}; // class Axes + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Axes/src/custom.hpp b/src/GNDStk/v2.0/containers/Axes/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Axes/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Axis.hpp b/src/GNDStk/v2.0/containers/Axis.hpp new file mode 100644 index 000000000..8c7cd5eeb --- /dev/null +++ b/src/GNDStk/v2.0/containers/Axis.hpp @@ -0,0 +1,216 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_AXIS +#define NJOY_GNDSTK_V2_0_CONTAINERS_AXIS + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Axis +// ----------------------------------------------------------------------------- + +namespace containers { + +class Axis : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Axis"; } + static auto GNDSName() { return "axis"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("index") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional index; + std::optional label; + std::optional unit; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // index + const std::optional &index() const + { return content.index; } + std::optional &index() + { return content.index; } + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // unit + const std::optional &unit() const + { return content.unit; } + std::optional &unit() + { return content.unit; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // index(value) + Axis &index(const std::optional &obj) + { index() = obj; return *this; } + + // label(value) + Axis &label(const std::optional &obj) + { label() = obj; return *this; } + + // unit(value) + Axis &unit(const std::optional &obj) + { unit() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Axis() : + Component{ + BodyText{}, + content.index, + content.label, + content.unit + } + { + Component::finish(); + } + + // copy + Axis(const Axis &other) : + Component{ + other, + content.index, + content.label, + content.unit + }, + content{other.content} + { + Component::finish(other); + } + + // move + Axis(Axis &&other) : + Component{ + other, + content.index, + content.label, + content.unit + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Axis(const Node &node) : + Component{ + BodyText{}, + content.index, + content.label, + content.unit + } + { + Component::finish(node); + } + + // from fields + explicit Axis( + const std::optional &index, + const std::optional &label, + const std::optional &unit + ) : + Component{ + BodyText{}, + content.index, + content.label, + content.unit + }, + content{ + index, + label, + unit + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Axis &operator=(const Axis &) = default; + + // move + Axis &operator=(Axis &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Axis/src/custom.hpp" + +}; // class Axis + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Axis/src/custom.hpp b/src/GNDStk/v2.0/containers/Axis/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Axis/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Column.hpp b/src/GNDStk/v2.0/containers/Column.hpp new file mode 100644 index 000000000..570d06da6 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Column.hpp @@ -0,0 +1,236 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_COLUMN +#define NJOY_GNDSTK_V2_0_CONTAINERS_COLUMN + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Column +// ----------------------------------------------------------------------------- + +namespace containers { + +class Column : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Column"; } + static auto GNDSName() { return "column"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Integer32{} + / Meta<>("index") | + XMLName{} + / Meta<>("name") | + std::optional{} + / Meta<>("types") | + std::optional{} + / Meta<>("unit") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Integer32 index; + XMLName name; + std::optional types; + std::optional unit; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // index + const Integer32 &index() const + { return content.index; } + Integer32 &index() + { return content.index; } + + // name + const XMLName &name() const + { return content.name; } + XMLName &name() + { return content.name; } + + // types + const std::optional &types() const + { return content.types; } + std::optional &types() + { return content.types; } + + // unit + const std::optional &unit() const + { return content.unit; } + std::optional &unit() + { return content.unit; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // index(value) + Column &index(const Integer32 &obj) + { index() = obj; return *this; } + + // name(value) + Column &name(const XMLName &obj) + { name() = obj; return *this; } + + // types(value) + Column &types(const std::optional &obj) + { types() = obj; return *this; } + + // unit(value) + Column &unit(const std::optional &obj) + { unit() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Column() : + Component{ + BodyText{}, + content.index, + content.name, + content.types, + content.unit + } + { + Component::finish(); + } + + // copy + Column(const Column &other) : + Component{ + other, + content.index, + content.name, + content.types, + content.unit + }, + content{other.content} + { + Component::finish(other); + } + + // move + Column(Column &&other) : + Component{ + other, + content.index, + content.name, + content.types, + content.unit + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Column(const Node &node) : + Component{ + BodyText{}, + content.index, + content.name, + content.types, + content.unit + } + { + Component::finish(node); + } + + // from fields + explicit Column( + const Integer32 &index, + const XMLName &name, + const std::optional &types, + const std::optional &unit + ) : + Component{ + BodyText{}, + content.index, + content.name, + content.types, + content.unit + }, + content{ + index, + name, + types, + unit + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Column &operator=(const Column &) = default; + + // move + Column &operator=(Column &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Column/src/custom.hpp" + +}; // class Column + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Column/src/custom.hpp b/src/GNDStk/v2.0/containers/Column/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Column/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/ColumnHeaders.hpp b/src/GNDStk/v2.0/containers/ColumnHeaders.hpp new file mode 100644 index 000000000..9e1ba5433 --- /dev/null +++ b/src/GNDStk/v2.0/containers/ColumnHeaders.hpp @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_COLUMNHEADERS +#define NJOY_GNDSTK_V2_0_CONTAINERS_COLUMNHEADERS + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Column.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class ColumnHeaders +// ----------------------------------------------------------------------------- + +namespace containers { + +class ColumnHeaders : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "ColumnHeaders"; } + static auto GNDSName() { return "columnHeaders"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // children + containers::Column{} + / ++Child<>("column") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // children + std::vector column; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // column + const std::vector &column() const + { return content.column; } + std::vector &column() + { return content.column; } + + // column(index) + const containers::Column &column(const std::size_t index) const + { return getter(column(), index, "column"); } + containers::Column &column(const std::size_t index) + { return getter(column(), index, "column"); } + + // column(label) + const containers::Column &column(const std::string &label) const + { return getter(column(), label, "column"); } + containers::Column &column(const std::string &label) + { return getter(column(), label, "column"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // column(value) + ColumnHeaders &column(const std::vector &obj) + { column() = obj; return *this; } + + // column(index,value) + ColumnHeaders &column( + const std::size_t index, + const containers::Column &obj + ) { + column(index) = obj; return *this; + } + + // column(label,value) + ColumnHeaders &column( + const std::string &label, + const containers::Column &obj + ) { + column(label) = obj; return *this; + } + + // ------------------------ + // Construction + // ------------------------ + + // default + ColumnHeaders() : + Component{ + BodyText{}, + content.column + } + { + Component::finish(); + } + + // copy + ColumnHeaders(const ColumnHeaders &other) : + Component{ + other, + content.column + }, + content{other.content} + { + Component::finish(other); + } + + // move + ColumnHeaders(ColumnHeaders &&other) : + Component{ + other, + content.column + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + ColumnHeaders(const Node &node) : + Component{ + BodyText{}, + content.column + } + { + Component::finish(node); + } + + // from fields + explicit ColumnHeaders( + const std::vector &column + ) : + Component{ + BodyText{}, + content.column + }, + content{ + column + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + ColumnHeaders &operator=(const ColumnHeaders &) = default; + + // move + ColumnHeaders &operator=(ColumnHeaders &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/ColumnHeaders/src/custom.hpp" + +}; // class ColumnHeaders + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/ColumnHeaders/src/custom.hpp b/src/GNDStk/v2.0/containers/ColumnHeaders/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/ColumnHeaders/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Constant1d.hpp b/src/GNDStk/v2.0/containers/Constant1d.hpp new file mode 100644 index 000000000..137c3a5d9 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Constant1d.hpp @@ -0,0 +1,281 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_CONSTANT1D +#define NJOY_GNDSTK_V2_0_CONTAINERS_CONSTANT1D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Constant1d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Constant1d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Constant1d"; } + static auto GNDSName() { return "constant1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("domainMax") | + std::optional{} + / Meta<>("domainMin") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + std::optional{} + / Meta<>("value") | + // children + containers::Axes{} + / --Child<>("axes") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional domainMax; + std::optional domainMin; + std::optional label; + std::optional outerDomainValue; + std::optional value; + // children + containers::Axes axes; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // domainMax + const std::optional &domainMax() const + { return content.domainMax; } + std::optional &domainMax() + { return content.domainMax; } + + // domainMin + const std::optional &domainMin() const + { return content.domainMin; } + std::optional &domainMin() + { return content.domainMin; } + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // value + const std::optional &value() const + { return content.value; } + std::optional &value() + { return content.value; } + + // axes + const containers::Axes &axes() const + { return content.axes; } + containers::Axes &axes() + { return content.axes; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // domainMax(value) + Constant1d &domainMax(const std::optional &obj) + { domainMax() = obj; return *this; } + + // domainMin(value) + Constant1d &domainMin(const std::optional &obj) + { domainMin() = obj; return *this; } + + // label(value) + Constant1d &label(const std::optional &obj) + { label() = obj; return *this; } + + // outerDomainValue(value) + Constant1d &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // value(value) + Constant1d &value(const std::optional &obj) + { value() = obj; return *this; } + + // axes(value) + Constant1d &axes(const containers::Axes &obj) + { axes() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Constant1d() : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.outerDomainValue, + content.value, + content.axes + } + { + Component::finish(); + } + + // copy + Constant1d(const Constant1d &other) : + Component{ + other, + content.domainMax, + content.domainMin, + content.label, + content.outerDomainValue, + content.value, + content.axes + }, + content{other.content} + { + Component::finish(other); + } + + // move + Constant1d(Constant1d &&other) : + Component{ + other, + content.domainMax, + content.domainMin, + content.label, + content.outerDomainValue, + content.value, + content.axes + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Constant1d(const Node &node) : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.outerDomainValue, + content.value, + content.axes + } + { + Component::finish(node); + } + + // from fields + explicit Constant1d( + const std::optional &domainMax, + const std::optional &domainMin, + const std::optional &label, + const std::optional &outerDomainValue, + const std::optional &value, + const containers::Axes &axes + ) : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.outerDomainValue, + content.value, + content.axes + }, + content{ + domainMax, + domainMin, + label, + outerDomainValue, + value, + axes + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Constant1d &operator=(const Constant1d &) = default; + + // move + Constant1d &operator=(Constant1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Constant1d/src/custom.hpp" + +}; // class Constant1d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Constant1d/src/custom.hpp b/src/GNDStk/v2.0/containers/Constant1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Constant1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Data.hpp b/src/GNDStk/v2.0/containers/Data.hpp new file mode 100644 index 000000000..73878e99c --- /dev/null +++ b/src/GNDStk/v2.0/containers/Data.hpp @@ -0,0 +1,192 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_DATA +#define NJOY_GNDSTK_V2_0_CONTAINERS_DATA + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Data +// ----------------------------------------------------------------------------- + +namespace containers { + +class Data : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Data"; } + static auto GNDSName() { return "data"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Defaulted{"whiteSpace"} + / Meta<>("sep") + ; + } + +public: + + using Component::construct; + using BodyText::operator=; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const UTF8Text sep = "whiteSpace"; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Defaulted sep{"whiteSpace"}; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // sep + const Defaulted &sep() const + { return content.sep; } + Defaulted &sep() + { return content.sep; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // sep(value) + Data &sep(const Defaulted &obj) + { content.sep = obj; return *this; } + Data &sep(const std::optional &obj) + { content.sep = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Data() : + Component{ + BodyText{}, + content.sep + } + { + Component::finish(); + } + + // copy + Data(const Data &other) : + Component{ + other, + content.sep + }, + content{other.content} + { + Component::finish(other); + } + + // move + Data(Data &&other) : + Component{ + other, + content.sep + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Data(const Node &node) : + Component{ + BodyText{}, + content.sep + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Data( + const std::optional &sep + ) : + Component{ + BodyText{}, + content.sep + }, + content{ + Defaulted(defaults.sep,sep) + } + { + Component::finish(); + } + + // from vector + template>> + Data(const std::vector &vector) : + Component{ + BodyText{}, + content.sep + } + { + Component::finish(vector); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Data &operator=(const Data &) = default; + + // move + Data &operator=(Data &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Data/src/custom.hpp" + +}; // class Data + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Data/src/custom.hpp b/src/GNDStk/v2.0/containers/Data/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Data/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Double.hpp b/src/GNDStk/v2.0/containers/Double.hpp new file mode 100644 index 000000000..e2f4578ab --- /dev/null +++ b/src/GNDStk/v2.0/containers/Double.hpp @@ -0,0 +1,220 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_DOUBLE +#define NJOY_GNDSTK_V2_0_CONTAINERS_DOUBLE + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Double +// ----------------------------------------------------------------------------- + +namespace containers { + +class Double : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Double"; } + static auto GNDSName() { return "double"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + Defaulted{"`' (no label)"} + / Meta<>("unit") | + Float64{} + / Meta<>("value") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const XMLName unit = "`' (no label)"; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + Defaulted unit{"`' (no label)"}; + Float64 value; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // unit + const Defaulted &unit() const + { return content.unit; } + Defaulted &unit() + { return content.unit; } + + // value + const Float64 &value() const + { return content.value; } + Float64 &value() + { return content.value; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Double &label(const std::optional &obj) + { label() = obj; return *this; } + + // unit(value) + Double &unit(const Defaulted &obj) + { content.unit = obj; return *this; } + Double &unit(const std::optional &obj) + { content.unit = obj; return *this; } + + // value(value) + Double &value(const Float64 &obj) + { value() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Double() : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + } + { + Component::finish(); + } + + // copy + Double(const Double &other) : + Component{ + other, + content.label, + content.unit, + content.value + }, + content{other.content} + { + Component::finish(other); + } + + // move + Double(Double &&other) : + Component{ + other, + content.label, + content.unit, + content.value + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Double(const Node &node) : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Double( + const std::optional &label, + const std::optional &unit, + const Float64 &value + ) : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + }, + content{ + label, + Defaulted(defaults.unit,unit), + value + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Double &operator=(const Double &) = default; + + // move + Double &operator=(Double &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Double/src/custom.hpp" + +}; // class Double + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Double/src/custom.hpp b/src/GNDStk/v2.0/containers/Double/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Double/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Fraction.hpp b/src/GNDStk/v2.0/containers/Fraction.hpp new file mode 100644 index 000000000..e9b8af2c1 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Fraction.hpp @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_FRACTION +#define NJOY_GNDSTK_V2_0_CONTAINERS_FRACTION + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Fraction +// ----------------------------------------------------------------------------- + +namespace containers { + +class Fraction : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Fraction"; } + static auto GNDSName() { return "fraction"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Defaulted{"`' (no label)"} + / Meta<>("label") | + Defaulted{"`' (i.e. unitless)"} + / Meta<>("unit") | + Fraction32{} + / Meta<>("value") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const XMLName label = "`' (no label)"; + static inline const XMLName unit = "`' (i.e. unitless)"; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Defaulted label{"`' (no label)"}; + Defaulted unit{"`' (i.e. unitless)"}; + Fraction32 value; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const Defaulted &label() const + { return content.label; } + Defaulted &label() + { return content.label; } + + // unit + const Defaulted &unit() const + { return content.unit; } + Defaulted &unit() + { return content.unit; } + + // value + const Fraction32 &value() const + { return content.value; } + Fraction32 &value() + { return content.value; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Fraction &label(const Defaulted &obj) + { content.label = obj; return *this; } + Fraction &label(const std::optional &obj) + { content.label = obj; return *this; } + + // unit(value) + Fraction &unit(const Defaulted &obj) + { content.unit = obj; return *this; } + Fraction &unit(const std::optional &obj) + { content.unit = obj; return *this; } + + // value(value) + Fraction &value(const Fraction32 &obj) + { value() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Fraction() : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + } + { + Component::finish(); + } + + // copy + Fraction(const Fraction &other) : + Component{ + other, + content.label, + content.unit, + content.value + }, + content{other.content} + { + Component::finish(other); + } + + // move + Fraction(Fraction &&other) : + Component{ + other, + content.label, + content.unit, + content.value + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Fraction(const Node &node) : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Fraction( + const std::optional &label, + const std::optional &unit, + const Fraction32 &value + ) : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + }, + content{ + Defaulted(defaults.label,label), + Defaulted(defaults.unit,unit), + value + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Fraction &operator=(const Fraction &) = default; + + // move + Fraction &operator=(Fraction &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Fraction/src/custom.hpp" + +}; // class Fraction + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Fraction/src/custom.hpp b/src/GNDStk/v2.0/containers/Fraction/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Fraction/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Function1ds.hpp b/src/GNDStk/v2.0/containers/Function1ds.hpp new file mode 100644 index 000000000..e066e0245 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Function1ds.hpp @@ -0,0 +1,368 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_FUNCTION1DS +#define NJOY_GNDSTK_V2_0_CONTAINERS_FUNCTION1DS + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Legendre.hpp" +#include "GNDStk/v2.0/containers/XYs1d.hpp" +#include "GNDStk/v2.0/containers/Constant1d.hpp" +#include "GNDStk/v2.0/containers/Gridded1d.hpp" +#include "GNDStk/v2.0/containers/Polynomial1d.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Function1ds +// ----------------------------------------------------------------------------- + +namespace containers { + +class Function1ds : public Component { + + using _t = std::variant< + containers::Legendre, + containers::XYs1d, + containers::Constant1d, + containers::Gridded1d, + containers::Polynomial1d + >; + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Function1ds"; } + static auto GNDSName() { return "function1ds"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // children + _t{} + / ++(Child<>("Legendre") || Child<>("XYs1d") || Child<>("constant1d") || Child<>("gridded1d") || Child<>("polynomial1d")) + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // children - variant + std::vector<_t> _LegendreXYs1dconstant1dgridded1dpolynomial1d; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // _LegendreXYs1dconstant1dgridded1dpolynomial1d + const std::vector<_t> &_LegendreXYs1dconstant1dgridded1dpolynomial1d() const + { return content._LegendreXYs1dconstant1dgridded1dpolynomial1d; } + std::vector<_t> &_LegendreXYs1dconstant1dgridded1dpolynomial1d() + { return content._LegendreXYs1dconstant1dgridded1dpolynomial1d; } + + // _LegendreXYs1dconstant1dgridded1dpolynomial1d(index) + const _t &_LegendreXYs1dconstant1dgridded1dpolynomial1d(const std::size_t index) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "_LegendreXYs1dconstant1dgridded1dpolynomial1d"); } + _t &_LegendreXYs1dconstant1dgridded1dpolynomial1d(const std::size_t index) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "_LegendreXYs1dconstant1dgridded1dpolynomial1d"); } + + // _LegendreXYs1dconstant1dgridded1dpolynomial1d(label) + const _t &_LegendreXYs1dconstant1dgridded1dpolynomial1d(const std::string &label) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "_LegendreXYs1dconstant1dgridded1dpolynomial1d"); } + _t &_LegendreXYs1dconstant1dgridded1dpolynomial1d(const std::string &label) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "_LegendreXYs1dconstant1dgridded1dpolynomial1d"); } + + // Legendre(index) + const containers::Legendre *Legendre(const std::size_t index) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "Legendre"); } + containers::Legendre *Legendre(const std::size_t index) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "Legendre"); } + + // Legendre(label) + const containers::Legendre *Legendre(const std::string &label) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "Legendre"); } + containers::Legendre *Legendre(const std::string &label) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "Legendre"); } + + // XYs1d(index) + const containers::XYs1d *XYs1d(const std::size_t index) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "XYs1d"); } + containers::XYs1d *XYs1d(const std::size_t index) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "XYs1d"); } + + // XYs1d(label) + const containers::XYs1d *XYs1d(const std::string &label) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "XYs1d"); } + containers::XYs1d *XYs1d(const std::string &label) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "XYs1d"); } + + // constant1d(index) + const containers::Constant1d *constant1d(const std::size_t index) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "constant1d"); } + containers::Constant1d *constant1d(const std::size_t index) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "constant1d"); } + + // constant1d(label) + const containers::Constant1d *constant1d(const std::string &label) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "constant1d"); } + containers::Constant1d *constant1d(const std::string &label) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "constant1d"); } + + // gridded1d(index) + const containers::Gridded1d *gridded1d(const std::size_t index) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "gridded1d"); } + containers::Gridded1d *gridded1d(const std::size_t index) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "gridded1d"); } + + // gridded1d(label) + const containers::Gridded1d *gridded1d(const std::string &label) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "gridded1d"); } + containers::Gridded1d *gridded1d(const std::string &label) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "gridded1d"); } + + // polynomial1d(index) + const containers::Polynomial1d *polynomial1d(const std::size_t index) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "polynomial1d"); } + containers::Polynomial1d *polynomial1d(const std::size_t index) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), index, "polynomial1d"); } + + // polynomial1d(label) + const containers::Polynomial1d *polynomial1d(const std::string &label) const + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "polynomial1d"); } + containers::Polynomial1d *polynomial1d(const std::string &label) + { return getter(_LegendreXYs1dconstant1dgridded1dpolynomial1d(), label, "polynomial1d"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // _LegendreXYs1dconstant1dgridded1dpolynomial1d(value) + Function1ds &_LegendreXYs1dconstant1dgridded1dpolynomial1d(const std::vector<_t> &obj) + { _LegendreXYs1dconstant1dgridded1dpolynomial1d() = obj; return *this; } + + // _LegendreXYs1dconstant1dgridded1dpolynomial1d(index,value) + Function1ds &_LegendreXYs1dconstant1dgridded1dpolynomial1d( + const std::size_t index, + const _t &obj + ) { + _LegendreXYs1dconstant1dgridded1dpolynomial1d(index) = obj; return *this; + } + + // _LegendreXYs1dconstant1dgridded1dpolynomial1d(label,value) + Function1ds &_LegendreXYs1dconstant1dgridded1dpolynomial1d( + const std::string &label, + const _t &obj + ) { + _LegendreXYs1dconstant1dgridded1dpolynomial1d(label) = obj; return *this; + } + + // Legendre(index,value) + Function1ds &Legendre( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(index,obj.value()); + return *this; + } + + // Legendre(label,value) + Function1ds &Legendre( + const std::string &label, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(label,obj.value()); + return *this; + } + + // XYs1d(index,value) + Function1ds &XYs1d( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(index,obj.value()); + return *this; + } + + // XYs1d(label,value) + Function1ds &XYs1d( + const std::string &label, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(label,obj.value()); + return *this; + } + + // constant1d(index,value) + Function1ds &constant1d( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(index,obj.value()); + return *this; + } + + // constant1d(label,value) + Function1ds &constant1d( + const std::string &label, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(label,obj.value()); + return *this; + } + + // gridded1d(index,value) + Function1ds &gridded1d( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(index,obj.value()); + return *this; + } + + // gridded1d(label,value) + Function1ds &gridded1d( + const std::string &label, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(label,obj.value()); + return *this; + } + + // polynomial1d(index,value) + Function1ds &polynomial1d( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(index,obj.value()); + return *this; + } + + // polynomial1d(label,value) + Function1ds &polynomial1d( + const std::string &label, + const std::optional &obj + ) { + if (obj) _LegendreXYs1dconstant1dgridded1dpolynomial1d(label,obj.value()); + return *this; + } + + // ------------------------ + // Construction + // ------------------------ + + // default + Function1ds() : + Component{ + BodyText{}, + content._LegendreXYs1dconstant1dgridded1dpolynomial1d + } + { + Component::finish(); + } + + // copy + Function1ds(const Function1ds &other) : + Component{ + other, + content._LegendreXYs1dconstant1dgridded1dpolynomial1d + }, + content{other.content} + { + Component::finish(other); + } + + // move + Function1ds(Function1ds &&other) : + Component{ + other, + content._LegendreXYs1dconstant1dgridded1dpolynomial1d + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Function1ds(const Node &node) : + Component{ + BodyText{}, + content._LegendreXYs1dconstant1dgridded1dpolynomial1d + } + { + Component::finish(node); + } + + // from fields + explicit Function1ds( + const std::vector<_t> &_LegendreXYs1dconstant1dgridded1dpolynomial1d + ) : + Component{ + BodyText{}, + content._LegendreXYs1dconstant1dgridded1dpolynomial1d + }, + content{ + _LegendreXYs1dconstant1dgridded1dpolynomial1d + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Function1ds &operator=(const Function1ds &) = default; + + // move + Function1ds &operator=(Function1ds &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Function1ds/src/custom.hpp" + +}; // class Function1ds + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Function1ds/src/custom.hpp b/src/GNDStk/v2.0/containers/Function1ds/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Function1ds/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Function2ds.hpp b/src/GNDStk/v2.0/containers/Function2ds.hpp new file mode 100644 index 000000000..da07bbeef --- /dev/null +++ b/src/GNDStk/v2.0/containers/Function2ds.hpp @@ -0,0 +1,272 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_FUNCTION2DS +#define NJOY_GNDSTK_V2_0_CONTAINERS_FUNCTION2DS + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/XYs2d.hpp" +#include "GNDStk/v2.0/containers/Gridded2d.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Function2ds +// ----------------------------------------------------------------------------- + +namespace containers { + +class Function2ds : public Component { + + using _t = std::variant< + containers::XYs2d, + containers::Gridded2d + >; + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Function2ds"; } + static auto GNDSName() { return "function2ds"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // children + _t{} + / ++(Child<>("XYs2d") || Child<>("gridded2d")) + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // children - variant + std::vector<_t> _XYs2dgridded2d; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // _XYs2dgridded2d + const std::vector<_t> &_XYs2dgridded2d() const + { return content._XYs2dgridded2d; } + std::vector<_t> &_XYs2dgridded2d() + { return content._XYs2dgridded2d; } + + // _XYs2dgridded2d(index) + const _t &_XYs2dgridded2d(const std::size_t index) const + { return getter(_XYs2dgridded2d(), index, "_XYs2dgridded2d"); } + _t &_XYs2dgridded2d(const std::size_t index) + { return getter(_XYs2dgridded2d(), index, "_XYs2dgridded2d"); } + + // _XYs2dgridded2d(label) + const _t &_XYs2dgridded2d(const std::string &label) const + { return getter(_XYs2dgridded2d(), label, "_XYs2dgridded2d"); } + _t &_XYs2dgridded2d(const std::string &label) + { return getter(_XYs2dgridded2d(), label, "_XYs2dgridded2d"); } + + // XYs2d(index) + const containers::XYs2d *XYs2d(const std::size_t index) const + { return getter(_XYs2dgridded2d(), index, "XYs2d"); } + containers::XYs2d *XYs2d(const std::size_t index) + { return getter(_XYs2dgridded2d(), index, "XYs2d"); } + + // XYs2d(label) + const containers::XYs2d *XYs2d(const std::string &label) const + { return getter(_XYs2dgridded2d(), label, "XYs2d"); } + containers::XYs2d *XYs2d(const std::string &label) + { return getter(_XYs2dgridded2d(), label, "XYs2d"); } + + // gridded2d(index) + const containers::Gridded2d *gridded2d(const std::size_t index) const + { return getter(_XYs2dgridded2d(), index, "gridded2d"); } + containers::Gridded2d *gridded2d(const std::size_t index) + { return getter(_XYs2dgridded2d(), index, "gridded2d"); } + + // gridded2d(label) + const containers::Gridded2d *gridded2d(const std::string &label) const + { return getter(_XYs2dgridded2d(), label, "gridded2d"); } + containers::Gridded2d *gridded2d(const std::string &label) + { return getter(_XYs2dgridded2d(), label, "gridded2d"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // _XYs2dgridded2d(value) + Function2ds &_XYs2dgridded2d(const std::vector<_t> &obj) + { _XYs2dgridded2d() = obj; return *this; } + + // _XYs2dgridded2d(index,value) + Function2ds &_XYs2dgridded2d( + const std::size_t index, + const _t &obj + ) { + _XYs2dgridded2d(index) = obj; return *this; + } + + // _XYs2dgridded2d(label,value) + Function2ds &_XYs2dgridded2d( + const std::string &label, + const _t &obj + ) { + _XYs2dgridded2d(label) = obj; return *this; + } + + // XYs2d(index,value) + Function2ds &XYs2d( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _XYs2dgridded2d(index,obj.value()); + return *this; + } + + // XYs2d(label,value) + Function2ds &XYs2d( + const std::string &label, + const std::optional &obj + ) { + if (obj) _XYs2dgridded2d(label,obj.value()); + return *this; + } + + // gridded2d(index,value) + Function2ds &gridded2d( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _XYs2dgridded2d(index,obj.value()); + return *this; + } + + // gridded2d(label,value) + Function2ds &gridded2d( + const std::string &label, + const std::optional &obj + ) { + if (obj) _XYs2dgridded2d(label,obj.value()); + return *this; + } + + // ------------------------ + // Construction + // ------------------------ + + // default + Function2ds() : + Component{ + BodyText{}, + content._XYs2dgridded2d + } + { + Component::finish(); + } + + // copy + Function2ds(const Function2ds &other) : + Component{ + other, + content._XYs2dgridded2d + }, + content{other.content} + { + Component::finish(other); + } + + // move + Function2ds(Function2ds &&other) : + Component{ + other, + content._XYs2dgridded2d + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Function2ds(const Node &node) : + Component{ + BodyText{}, + content._XYs2dgridded2d + } + { + Component::finish(node); + } + + // from fields + explicit Function2ds( + const std::vector<_t> &_XYs2dgridded2d + ) : + Component{ + BodyText{}, + content._XYs2dgridded2d + }, + content{ + _XYs2dgridded2d + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Function2ds &operator=(const Function2ds &) = default; + + // move + Function2ds &operator=(Function2ds &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Function2ds/src/custom.hpp" + +}; // class Function2ds + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Function2ds/src/custom.hpp b/src/GNDStk/v2.0/containers/Function2ds/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Function2ds/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Function3ds.hpp b/src/GNDStk/v2.0/containers/Function3ds.hpp new file mode 100644 index 000000000..c8ce1c1a7 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Function3ds.hpp @@ -0,0 +1,272 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_FUNCTION3DS +#define NJOY_GNDSTK_V2_0_CONTAINERS_FUNCTION3DS + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/XYs3d.hpp" +#include "GNDStk/v2.0/containers/Gridded3d.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Function3ds +// ----------------------------------------------------------------------------- + +namespace containers { + +class Function3ds : public Component { + + using _t = std::variant< + containers::XYs3d, + containers::Gridded3d + >; + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Function3ds"; } + static auto GNDSName() { return "function3ds"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // children + _t{} + / ++(Child<>("XYs3d") || Child<>("gridded3d")) + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // children - variant + std::vector<_t> _XYs3dgridded3d; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // _XYs3dgridded3d + const std::vector<_t> &_XYs3dgridded3d() const + { return content._XYs3dgridded3d; } + std::vector<_t> &_XYs3dgridded3d() + { return content._XYs3dgridded3d; } + + // _XYs3dgridded3d(index) + const _t &_XYs3dgridded3d(const std::size_t index) const + { return getter(_XYs3dgridded3d(), index, "_XYs3dgridded3d"); } + _t &_XYs3dgridded3d(const std::size_t index) + { return getter(_XYs3dgridded3d(), index, "_XYs3dgridded3d"); } + + // _XYs3dgridded3d(label) + const _t &_XYs3dgridded3d(const std::string &label) const + { return getter(_XYs3dgridded3d(), label, "_XYs3dgridded3d"); } + _t &_XYs3dgridded3d(const std::string &label) + { return getter(_XYs3dgridded3d(), label, "_XYs3dgridded3d"); } + + // XYs3d(index) + const containers::XYs3d *XYs3d(const std::size_t index) const + { return getter(_XYs3dgridded3d(), index, "XYs3d"); } + containers::XYs3d *XYs3d(const std::size_t index) + { return getter(_XYs3dgridded3d(), index, "XYs3d"); } + + // XYs3d(label) + const containers::XYs3d *XYs3d(const std::string &label) const + { return getter(_XYs3dgridded3d(), label, "XYs3d"); } + containers::XYs3d *XYs3d(const std::string &label) + { return getter(_XYs3dgridded3d(), label, "XYs3d"); } + + // gridded3d(index) + const containers::Gridded3d *gridded3d(const std::size_t index) const + { return getter(_XYs3dgridded3d(), index, "gridded3d"); } + containers::Gridded3d *gridded3d(const std::size_t index) + { return getter(_XYs3dgridded3d(), index, "gridded3d"); } + + // gridded3d(label) + const containers::Gridded3d *gridded3d(const std::string &label) const + { return getter(_XYs3dgridded3d(), label, "gridded3d"); } + containers::Gridded3d *gridded3d(const std::string &label) + { return getter(_XYs3dgridded3d(), label, "gridded3d"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // _XYs3dgridded3d(value) + Function3ds &_XYs3dgridded3d(const std::vector<_t> &obj) + { _XYs3dgridded3d() = obj; return *this; } + + // _XYs3dgridded3d(index,value) + Function3ds &_XYs3dgridded3d( + const std::size_t index, + const _t &obj + ) { + _XYs3dgridded3d(index) = obj; return *this; + } + + // _XYs3dgridded3d(label,value) + Function3ds &_XYs3dgridded3d( + const std::string &label, + const _t &obj + ) { + _XYs3dgridded3d(label) = obj; return *this; + } + + // XYs3d(index,value) + Function3ds &XYs3d( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _XYs3dgridded3d(index,obj.value()); + return *this; + } + + // XYs3d(label,value) + Function3ds &XYs3d( + const std::string &label, + const std::optional &obj + ) { + if (obj) _XYs3dgridded3d(label,obj.value()); + return *this; + } + + // gridded3d(index,value) + Function3ds &gridded3d( + const std::size_t index, + const std::optional &obj + ) { + if (obj) _XYs3dgridded3d(index,obj.value()); + return *this; + } + + // gridded3d(label,value) + Function3ds &gridded3d( + const std::string &label, + const std::optional &obj + ) { + if (obj) _XYs3dgridded3d(label,obj.value()); + return *this; + } + + // ------------------------ + // Construction + // ------------------------ + + // default + Function3ds() : + Component{ + BodyText{}, + content._XYs3dgridded3d + } + { + Component::finish(); + } + + // copy + Function3ds(const Function3ds &other) : + Component{ + other, + content._XYs3dgridded3d + }, + content{other.content} + { + Component::finish(other); + } + + // move + Function3ds(Function3ds &&other) : + Component{ + other, + content._XYs3dgridded3d + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Function3ds(const Node &node) : + Component{ + BodyText{}, + content._XYs3dgridded3d + } + { + Component::finish(node); + } + + // from fields + explicit Function3ds( + const std::vector<_t> &_XYs3dgridded3d + ) : + Component{ + BodyText{}, + content._XYs3dgridded3d + }, + content{ + _XYs3dgridded3d + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Function3ds &operator=(const Function3ds &) = default; + + // move + Function3ds &operator=(Function3ds &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Function3ds/src/custom.hpp" + +}; // class Function3ds + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Function3ds/src/custom.hpp b/src/GNDStk/v2.0/containers/Function3ds/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Function3ds/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Grid.hpp b/src/GNDStk/v2.0/containers/Grid.hpp new file mode 100644 index 000000000..12a51a429 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Grid.hpp @@ -0,0 +1,310 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_GRID +#define NJOY_GNDSTK_V2_0_CONTAINERS_GRID + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Link.hpp" +#include "GNDStk/v2.0/containers/Values.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Grid +// ----------------------------------------------------------------------------- + +namespace containers { + +class Grid : public Component { + + using _t = std::variant< + containers::Link, + containers::Values + >; + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Grid"; } + static auto GNDSName() { return "grid"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("index") | + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("style") | + std::optional{} + / Meta<>("unit") | + // children + _t{} + / --(Child<>("link") || Child<>("values")) + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional index; + Defaulted interpolation{enums::Interpolation::linlin}; + std::optional label; + std::optional style; + std::optional unit; + // children - variant + _t _linkvalues; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // index + const std::optional &index() const + { return content.index; } + std::optional &index() + { return content.index; } + + // interpolation + const Defaulted &interpolation() const + { return content.interpolation; } + Defaulted &interpolation() + { return content.interpolation; } + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // style + const std::optional &style() const + { return content.style; } + std::optional &style() + { return content.style; } + + // unit + const std::optional &unit() const + { return content.unit; } + std::optional &unit() + { return content.unit; } + + // _linkvalues + const _t &_linkvalues() const + { return content._linkvalues; } + _t &_linkvalues() + { return content._linkvalues; } + + // link + const containers::Link *link() const + { return getter(_linkvalues(), "link"); } + containers::Link *link() + { return getter(_linkvalues(), "link"); } + + // values + const containers::Values *values() const + { return getter(_linkvalues(), "values"); } + containers::Values *values() + { return getter(_linkvalues(), "values"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // index(value) + Grid &index(const std::optional &obj) + { index() = obj; return *this; } + + // interpolation(value) + Grid &interpolation(const Defaulted &obj) + { content.interpolation = obj; return *this; } + Grid &interpolation(const std::optional &obj) + { content.interpolation = obj; return *this; } + + // label(value) + Grid &label(const std::optional &obj) + { label() = obj; return *this; } + + // style(value) + Grid &style(const std::optional &obj) + { style() = obj; return *this; } + + // unit(value) + Grid &unit(const std::optional &obj) + { unit() = obj; return *this; } + + // _linkvalues(value) + Grid &_linkvalues(const _t &obj) + { _linkvalues() = obj; return *this; } + + // link(value) + Grid &link(const std::optional &obj) + { if (obj) _linkvalues(obj.value()); return *this; } + + // values(value) + Grid &values(const std::optional &obj) + { if (obj) _linkvalues(obj.value()); return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Grid() : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.label, + content.style, + content.unit, + content._linkvalues + } + { + Component::finish(); + } + + // copy + Grid(const Grid &other) : + Component{ + other, + content.index, + content.interpolation, + content.label, + content.style, + content.unit, + content._linkvalues + }, + content{other.content} + { + Component::finish(other); + } + + // move + Grid(Grid &&other) : + Component{ + other, + content.index, + content.interpolation, + content.label, + content.style, + content.unit, + content._linkvalues + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Grid(const Node &node) : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.label, + content.style, + content.unit, + content._linkvalues + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Grid( + const std::optional &index, + const std::optional &interpolation, + const std::optional &label, + const std::optional &style, + const std::optional &unit, + const _t &_linkvalues + ) : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.label, + content.style, + content.unit, + content._linkvalues + }, + content{ + index, + Defaulted(defaults.interpolation,interpolation), + label, + style, + unit, + _linkvalues + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Grid &operator=(const Grid &) = default; + + // move + Grid &operator=(Grid &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Grid/src/custom.hpp" + +}; // class Grid + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Grid/src/custom.hpp b/src/GNDStk/v2.0/containers/Grid/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Grid/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Gridded1d.hpp b/src/GNDStk/v2.0/containers/Gridded1d.hpp new file mode 100644 index 000000000..bd9e685f5 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Gridded1d.hpp @@ -0,0 +1,222 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_GRIDDED1D +#define NJOY_GNDSTK_V2_0_CONTAINERS_GRIDDED1D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Array.hpp" +#include "GNDStk/v2.0/containers/Axes.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Gridded1d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Gridded1d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Gridded1d"; } + static auto GNDSName() { return "gridded1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + containers::Array{} + / --Child<>("array") | + containers::Axes{} + / --Child<>("axes") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + // children + containers::Array array; + containers::Axes axes; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // array + const containers::Array &array() const + { return content.array; } + containers::Array &array() + { return content.array; } + + // axes + const containers::Axes &axes() const + { return content.axes; } + containers::Axes &axes() + { return content.axes; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Gridded1d &label(const std::optional &obj) + { label() = obj; return *this; } + + // array(value) + Gridded1d &array(const containers::Array &obj) + { array() = obj; return *this; } + + // axes(value) + Gridded1d &axes(const containers::Axes &obj) + { axes() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Gridded1d() : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + } + { + Component::finish(); + } + + // copy + Gridded1d(const Gridded1d &other) : + Component{ + other, + content.label, + content.array, + content.axes + }, + content{other.content} + { + Component::finish(other); + } + + // move + Gridded1d(Gridded1d &&other) : + Component{ + other, + content.label, + content.array, + content.axes + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Gridded1d(const Node &node) : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + } + { + Component::finish(node); + } + + // from fields + explicit Gridded1d( + const std::optional &label, + const containers::Array &array, + const containers::Axes &axes + ) : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + }, + content{ + label, + array, + axes + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Gridded1d &operator=(const Gridded1d &) = default; + + // move + Gridded1d &operator=(Gridded1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Gridded1d/src/custom.hpp" + +}; // class Gridded1d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Gridded1d/src/custom.hpp b/src/GNDStk/v2.0/containers/Gridded1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Gridded1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Gridded2d.hpp b/src/GNDStk/v2.0/containers/Gridded2d.hpp new file mode 100644 index 000000000..e3d6fe54d --- /dev/null +++ b/src/GNDStk/v2.0/containers/Gridded2d.hpp @@ -0,0 +1,222 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_GRIDDED2D +#define NJOY_GNDSTK_V2_0_CONTAINERS_GRIDDED2D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Array.hpp" +#include "GNDStk/v2.0/containers/Axes.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Gridded2d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Gridded2d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Gridded2d"; } + static auto GNDSName() { return "gridded2d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + containers::Array{} + / --Child<>("array") | + containers::Axes{} + / --Child<>("axes") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + // children + containers::Array array; + containers::Axes axes; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // array + const containers::Array &array() const + { return content.array; } + containers::Array &array() + { return content.array; } + + // axes + const containers::Axes &axes() const + { return content.axes; } + containers::Axes &axes() + { return content.axes; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Gridded2d &label(const std::optional &obj) + { label() = obj; return *this; } + + // array(value) + Gridded2d &array(const containers::Array &obj) + { array() = obj; return *this; } + + // axes(value) + Gridded2d &axes(const containers::Axes &obj) + { axes() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Gridded2d() : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + } + { + Component::finish(); + } + + // copy + Gridded2d(const Gridded2d &other) : + Component{ + other, + content.label, + content.array, + content.axes + }, + content{other.content} + { + Component::finish(other); + } + + // move + Gridded2d(Gridded2d &&other) : + Component{ + other, + content.label, + content.array, + content.axes + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Gridded2d(const Node &node) : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + } + { + Component::finish(node); + } + + // from fields + explicit Gridded2d( + const std::optional &label, + const containers::Array &array, + const containers::Axes &axes + ) : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + }, + content{ + label, + array, + axes + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Gridded2d &operator=(const Gridded2d &) = default; + + // move + Gridded2d &operator=(Gridded2d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Gridded2d/src/custom.hpp" + +}; // class Gridded2d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Gridded2d/src/custom.hpp b/src/GNDStk/v2.0/containers/Gridded2d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Gridded2d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Gridded3d.hpp b/src/GNDStk/v2.0/containers/Gridded3d.hpp new file mode 100644 index 000000000..7705f89a6 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Gridded3d.hpp @@ -0,0 +1,222 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_GRIDDED3D +#define NJOY_GNDSTK_V2_0_CONTAINERS_GRIDDED3D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Array.hpp" +#include "GNDStk/v2.0/containers/Axes.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Gridded3d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Gridded3d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Gridded3d"; } + static auto GNDSName() { return "gridded3d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + containers::Array{} + / --Child<>("array") | + containers::Axes{} + / --Child<>("axes") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + // children + containers::Array array; + containers::Axes axes; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // array + const containers::Array &array() const + { return content.array; } + containers::Array &array() + { return content.array; } + + // axes + const containers::Axes &axes() const + { return content.axes; } + containers::Axes &axes() + { return content.axes; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Gridded3d &label(const std::optional &obj) + { label() = obj; return *this; } + + // array(value) + Gridded3d &array(const containers::Array &obj) + { array() = obj; return *this; } + + // axes(value) + Gridded3d &axes(const containers::Axes &obj) + { axes() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Gridded3d() : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + } + { + Component::finish(); + } + + // copy + Gridded3d(const Gridded3d &other) : + Component{ + other, + content.label, + content.array, + content.axes + }, + content{other.content} + { + Component::finish(other); + } + + // move + Gridded3d(Gridded3d &&other) : + Component{ + other, + content.label, + content.array, + content.axes + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Gridded3d(const Node &node) : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + } + { + Component::finish(node); + } + + // from fields + explicit Gridded3d( + const std::optional &label, + const containers::Array &array, + const containers::Axes &axes + ) : + Component{ + BodyText{}, + content.label, + content.array, + content.axes + }, + content{ + label, + array, + axes + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Gridded3d &operator=(const Gridded3d &) = default; + + // move + Gridded3d &operator=(Gridded3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Gridded3d/src/custom.hpp" + +}; // class Gridded3d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Gridded3d/src/custom.hpp b/src/GNDStk/v2.0/containers/Gridded3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Gridded3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Integer.hpp b/src/GNDStk/v2.0/containers/Integer.hpp new file mode 100644 index 000000000..78da88cc7 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Integer.hpp @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_INTEGER +#define NJOY_GNDSTK_V2_0_CONTAINERS_INTEGER + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Integer +// ----------------------------------------------------------------------------- + +namespace containers { + +class Integer : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Integer"; } + static auto GNDSName() { return "integer"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Defaulted{"`' (no label)"} + / Meta<>("label") | + Defaulted{"`' (i.e. unitless)"} + / Meta<>("unit") | + Integer32{} + / Meta<>("value") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const XMLName label = "`' (no label)"; + static inline const XMLName unit = "`' (i.e. unitless)"; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Defaulted label{"`' (no label)"}; + Defaulted unit{"`' (i.e. unitless)"}; + Integer32 value; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const Defaulted &label() const + { return content.label; } + Defaulted &label() + { return content.label; } + + // unit + const Defaulted &unit() const + { return content.unit; } + Defaulted &unit() + { return content.unit; } + + // value + const Integer32 &value() const + { return content.value; } + Integer32 &value() + { return content.value; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Integer &label(const Defaulted &obj) + { content.label = obj; return *this; } + Integer &label(const std::optional &obj) + { content.label = obj; return *this; } + + // unit(value) + Integer &unit(const Defaulted &obj) + { content.unit = obj; return *this; } + Integer &unit(const std::optional &obj) + { content.unit = obj; return *this; } + + // value(value) + Integer &value(const Integer32 &obj) + { value() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Integer() : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + } + { + Component::finish(); + } + + // copy + Integer(const Integer &other) : + Component{ + other, + content.label, + content.unit, + content.value + }, + content{other.content} + { + Component::finish(other); + } + + // move + Integer(Integer &&other) : + Component{ + other, + content.label, + content.unit, + content.value + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Integer(const Node &node) : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Integer( + const std::optional &label, + const std::optional &unit, + const Integer32 &value + ) : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + }, + content{ + Defaulted(defaults.label,label), + Defaulted(defaults.unit,unit), + value + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Integer &operator=(const Integer &) = default; + + // move + Integer &operator=(Integer &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Integer/src/custom.hpp" + +}; // class Integer + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Integer/src/custom.hpp b/src/GNDStk/v2.0/containers/Integer/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Integer/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Legendre.hpp b/src/GNDStk/v2.0/containers/Legendre.hpp new file mode 100644 index 000000000..c0ddeecd7 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Legendre.hpp @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_LEGENDRE +#define NJOY_GNDSTK_V2_0_CONTAINERS_LEGENDRE + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Values.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Legendre +// ----------------------------------------------------------------------------- + +namespace containers { + +class Legendre : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Legendre"; } + static auto GNDSName() { return "Legendre"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Defaulted{1.0} + / Meta<>("domainMax") | + Defaulted{-1.0} + / Meta<>("domainMin") | + std::optional{} + / Meta<>("label") | + Defaulted{0} + / Meta<>("lowerIndex") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + containers::Values{} + / --Child<>("values") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const Float64 domainMax = 1.0; + static inline const Float64 domainMin = -1.0; + static inline const Integer32 lowerIndex = 0; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Defaulted domainMax{1.0}; + Defaulted domainMin{-1.0}; + std::optional label; + Defaulted lowerIndex{0}; + std::optional outerDomainValue; + // children + containers::Values values; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // domainMax + const Defaulted &domainMax() const + { return content.domainMax; } + Defaulted &domainMax() + { return content.domainMax; } + + // domainMin + const Defaulted &domainMin() const + { return content.domainMin; } + Defaulted &domainMin() + { return content.domainMin; } + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // lowerIndex + const Defaulted &lowerIndex() const + { return content.lowerIndex; } + Defaulted &lowerIndex() + { return content.lowerIndex; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // values + const containers::Values &values() const + { return content.values; } + containers::Values &values() + { return content.values; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // domainMax(value) + Legendre &domainMax(const Defaulted &obj) + { content.domainMax = obj; return *this; } + Legendre &domainMax(const std::optional &obj) + { content.domainMax = obj; return *this; } + + // domainMin(value) + Legendre &domainMin(const Defaulted &obj) + { content.domainMin = obj; return *this; } + Legendre &domainMin(const std::optional &obj) + { content.domainMin = obj; return *this; } + + // label(value) + Legendre &label(const std::optional &obj) + { label() = obj; return *this; } + + // lowerIndex(value) + Legendre &lowerIndex(const Defaulted &obj) + { content.lowerIndex = obj; return *this; } + Legendre &lowerIndex(const std::optional &obj) + { content.lowerIndex = obj; return *this; } + + // outerDomainValue(value) + Legendre &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // values(value) + Legendre &values(const containers::Values &obj) + { values() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Legendre() : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.values + } + { + Component::finish(); + } + + // copy + Legendre(const Legendre &other) : + Component{ + other, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.values + }, + content{other.content} + { + Component::finish(other); + } + + // move + Legendre(Legendre &&other) : + Component{ + other, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.values + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Legendre(const Node &node) : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.values + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Legendre( + const std::optional &domainMax, + const std::optional &domainMin, + const std::optional &label, + const std::optional &lowerIndex, + const std::optional &outerDomainValue, + const containers::Values &values + ) : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.values + }, + content{ + Defaulted(defaults.domainMax,domainMax), + Defaulted(defaults.domainMin,domainMin), + label, + Defaulted(defaults.lowerIndex,lowerIndex), + outerDomainValue, + values + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Legendre &operator=(const Legendre &) = default; + + // move + Legendre &operator=(Legendre &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Legendre/src/custom.hpp" + +}; // class Legendre + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Legendre/src/custom.hpp b/src/GNDStk/v2.0/containers/Legendre/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Legendre/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Link.hpp b/src/GNDStk/v2.0/containers/Link.hpp new file mode 100644 index 000000000..811e84301 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Link.hpp @@ -0,0 +1,176 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_LINK +#define NJOY_GNDSTK_V2_0_CONTAINERS_LINK + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Link +// ----------------------------------------------------------------------------- + +namespace containers { + +class Link : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Link"; } + static auto GNDSName() { return "link"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("href") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional href; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // href + const std::optional &href() const + { return content.href; } + std::optional &href() + { return content.href; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // href(value) + Link &href(const std::optional &obj) + { href() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Link() : + Component{ + BodyText{}, + content.href + } + { + Component::finish(); + } + + // copy + Link(const Link &other) : + Component{ + other, + content.href + }, + content{other.content} + { + Component::finish(other); + } + + // move + Link(Link &&other) : + Component{ + other, + content.href + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Link(const Node &node) : + Component{ + BodyText{}, + content.href + } + { + Component::finish(node); + } + + // from fields + explicit Link( + const std::optional &href + ) : + Component{ + BodyText{}, + content.href + }, + content{ + href + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Link &operator=(const Link &) = default; + + // move + Link &operator=(Link &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Link/src/custom.hpp" + +}; // class Link + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Link/src/custom.hpp b/src/GNDStk/v2.0/containers/Link/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Link/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Polynomial1d.hpp b/src/GNDStk/v2.0/containers/Polynomial1d.hpp new file mode 100644 index 000000000..42b9da441 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Polynomial1d.hpp @@ -0,0 +1,306 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_POLYNOMIAL1D +#define NJOY_GNDSTK_V2_0_CONTAINERS_POLYNOMIAL1D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Values.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Polynomial1d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Polynomial1d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Polynomial1d"; } + static auto GNDSName() { return "polynomial1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("domainMax") | + std::optional{} + / Meta<>("domainMin") | + std::optional{} + / Meta<>("label") | + Defaulted{0} + / Meta<>("lowerIndex") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + containers::Axes{} + / --Child<>("axes") | + containers::Values{} + / --Child<>("values") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const Integer32 lowerIndex = 0; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional domainMax; + std::optional domainMin; + std::optional label; + Defaulted lowerIndex{0}; + std::optional outerDomainValue; + // children + containers::Axes axes; + containers::Values values; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // domainMax + const std::optional &domainMax() const + { return content.domainMax; } + std::optional &domainMax() + { return content.domainMax; } + + // domainMin + const std::optional &domainMin() const + { return content.domainMin; } + std::optional &domainMin() + { return content.domainMin; } + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // lowerIndex + const Defaulted &lowerIndex() const + { return content.lowerIndex; } + Defaulted &lowerIndex() + { return content.lowerIndex; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // axes + const containers::Axes &axes() const + { return content.axes; } + containers::Axes &axes() + { return content.axes; } + + // values + const containers::Values &values() const + { return content.values; } + containers::Values &values() + { return content.values; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // domainMax(value) + Polynomial1d &domainMax(const std::optional &obj) + { domainMax() = obj; return *this; } + + // domainMin(value) + Polynomial1d &domainMin(const std::optional &obj) + { domainMin() = obj; return *this; } + + // label(value) + Polynomial1d &label(const std::optional &obj) + { label() = obj; return *this; } + + // lowerIndex(value) + Polynomial1d &lowerIndex(const Defaulted &obj) + { content.lowerIndex = obj; return *this; } + Polynomial1d &lowerIndex(const std::optional &obj) + { content.lowerIndex = obj; return *this; } + + // outerDomainValue(value) + Polynomial1d &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // axes(value) + Polynomial1d &axes(const containers::Axes &obj) + { axes() = obj; return *this; } + + // values(value) + Polynomial1d &values(const containers::Values &obj) + { values() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Polynomial1d() : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.axes, + content.values + } + { + Component::finish(); + } + + // copy + Polynomial1d(const Polynomial1d &other) : + Component{ + other, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.axes, + content.values + }, + content{other.content} + { + Component::finish(other); + } + + // move + Polynomial1d(Polynomial1d &&other) : + Component{ + other, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.axes, + content.values + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Polynomial1d(const Node &node) : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.axes, + content.values + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Polynomial1d( + const std::optional &domainMax, + const std::optional &domainMin, + const std::optional &label, + const std::optional &lowerIndex, + const std::optional &outerDomainValue, + const containers::Axes &axes, + const containers::Values &values + ) : + Component{ + BodyText{}, + content.domainMax, + content.domainMin, + content.label, + content.lowerIndex, + content.outerDomainValue, + content.axes, + content.values + }, + content{ + domainMax, + domainMin, + label, + Defaulted(defaults.lowerIndex,lowerIndex), + outerDomainValue, + axes, + values + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Polynomial1d &operator=(const Polynomial1d &) = default; + + // move + Polynomial1d &operator=(Polynomial1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Polynomial1d/src/custom.hpp" + +}; // class Polynomial1d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Polynomial1d/src/custom.hpp b/src/GNDStk/v2.0/containers/Polynomial1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Polynomial1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Regions1d.hpp b/src/GNDStk/v2.0/containers/Regions1d.hpp new file mode 100644 index 000000000..76d6bd76d --- /dev/null +++ b/src/GNDStk/v2.0/containers/Regions1d.hpp @@ -0,0 +1,242 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_REGIONS1D +#define NJOY_GNDSTK_V2_0_CONTAINERS_REGIONS1D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Function1ds.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Regions1d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Regions1d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Regions1d"; } + static auto GNDSName() { return "regions1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function1ds{} + / --Child<>("function1ds") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + std::optional outerDomainValue; + // children + std::optional axes; + containers::Function1ds function1ds; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // axes + const std::optional &axes() const + { return content.axes; } + std::optional &axes() + { return content.axes; } + + // function1ds + const containers::Function1ds &function1ds() const + { return content.function1ds; } + containers::Function1ds &function1ds() + { return content.function1ds; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Regions1d &label(const std::optional &obj) + { label() = obj; return *this; } + + // outerDomainValue(value) + Regions1d &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // axes(value) + Regions1d &axes(const std::optional &obj) + { axes() = obj; return *this; } + + // function1ds(value) + Regions1d &function1ds(const containers::Function1ds &obj) + { function1ds() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Regions1d() : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function1ds + } + { + Component::finish(); + } + + // copy + Regions1d(const Regions1d &other) : + Component{ + other, + content.label, + content.outerDomainValue, + content.axes, + content.function1ds + }, + content{other.content} + { + Component::finish(other); + } + + // move + Regions1d(Regions1d &&other) : + Component{ + other, + content.label, + content.outerDomainValue, + content.axes, + content.function1ds + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Regions1d(const Node &node) : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function1ds + } + { + Component::finish(node); + } + + // from fields + explicit Regions1d( + const std::optional &label, + const std::optional &outerDomainValue, + const std::optional &axes, + const containers::Function1ds &function1ds + ) : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function1ds + }, + content{ + label, + outerDomainValue, + axes, + function1ds + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Regions1d &operator=(const Regions1d &) = default; + + // move + Regions1d &operator=(Regions1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Regions1d/src/custom.hpp" + +}; // class Regions1d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Regions1d/src/custom.hpp b/src/GNDStk/v2.0/containers/Regions1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Regions1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Regions2d.hpp b/src/GNDStk/v2.0/containers/Regions2d.hpp new file mode 100644 index 000000000..570edd30c --- /dev/null +++ b/src/GNDStk/v2.0/containers/Regions2d.hpp @@ -0,0 +1,242 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_REGIONS2D +#define NJOY_GNDSTK_V2_0_CONTAINERS_REGIONS2D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Function2ds.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Regions2d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Regions2d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Regions2d"; } + static auto GNDSName() { return "regions2d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function2ds{} + / --Child<>("function2ds") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + std::optional outerDomainValue; + // children + std::optional axes; + containers::Function2ds function2ds; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // axes + const std::optional &axes() const + { return content.axes; } + std::optional &axes() + { return content.axes; } + + // function2ds + const containers::Function2ds &function2ds() const + { return content.function2ds; } + containers::Function2ds &function2ds() + { return content.function2ds; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Regions2d &label(const std::optional &obj) + { label() = obj; return *this; } + + // outerDomainValue(value) + Regions2d &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // axes(value) + Regions2d &axes(const std::optional &obj) + { axes() = obj; return *this; } + + // function2ds(value) + Regions2d &function2ds(const containers::Function2ds &obj) + { function2ds() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Regions2d() : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function2ds + } + { + Component::finish(); + } + + // copy + Regions2d(const Regions2d &other) : + Component{ + other, + content.label, + content.outerDomainValue, + content.axes, + content.function2ds + }, + content{other.content} + { + Component::finish(other); + } + + // move + Regions2d(Regions2d &&other) : + Component{ + other, + content.label, + content.outerDomainValue, + content.axes, + content.function2ds + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Regions2d(const Node &node) : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function2ds + } + { + Component::finish(node); + } + + // from fields + explicit Regions2d( + const std::optional &label, + const std::optional &outerDomainValue, + const std::optional &axes, + const containers::Function2ds &function2ds + ) : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function2ds + }, + content{ + label, + outerDomainValue, + axes, + function2ds + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Regions2d &operator=(const Regions2d &) = default; + + // move + Regions2d &operator=(Regions2d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Regions2d/src/custom.hpp" + +}; // class Regions2d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Regions2d/src/custom.hpp b/src/GNDStk/v2.0/containers/Regions2d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Regions2d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Regions3d.hpp b/src/GNDStk/v2.0/containers/Regions3d.hpp new file mode 100644 index 000000000..0c1587f49 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Regions3d.hpp @@ -0,0 +1,242 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_REGIONS3D +#define NJOY_GNDSTK_V2_0_CONTAINERS_REGIONS3D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Function3ds.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Regions3d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Regions3d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Regions3d"; } + static auto GNDSName() { return "regions3d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function3ds{} + / --Child<>("function3ds") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + std::optional outerDomainValue; + // children + std::optional axes; + containers::Function3ds function3ds; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // axes + const std::optional &axes() const + { return content.axes; } + std::optional &axes() + { return content.axes; } + + // function3ds + const containers::Function3ds &function3ds() const + { return content.function3ds; } + containers::Function3ds &function3ds() + { return content.function3ds; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Regions3d &label(const std::optional &obj) + { label() = obj; return *this; } + + // outerDomainValue(value) + Regions3d &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // axes(value) + Regions3d &axes(const std::optional &obj) + { axes() = obj; return *this; } + + // function3ds(value) + Regions3d &function3ds(const containers::Function3ds &obj) + { function3ds() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Regions3d() : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function3ds + } + { + Component::finish(); + } + + // copy + Regions3d(const Regions3d &other) : + Component{ + other, + content.label, + content.outerDomainValue, + content.axes, + content.function3ds + }, + content{other.content} + { + Component::finish(other); + } + + // move + Regions3d(Regions3d &&other) : + Component{ + other, + content.label, + content.outerDomainValue, + content.axes, + content.function3ds + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Regions3d(const Node &node) : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function3ds + } + { + Component::finish(node); + } + + // from fields + explicit Regions3d( + const std::optional &label, + const std::optional &outerDomainValue, + const std::optional &axes, + const containers::Function3ds &function3ds + ) : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.function3ds + }, + content{ + label, + outerDomainValue, + axes, + function3ds + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Regions3d &operator=(const Regions3d &) = default; + + // move + Regions3d &operator=(Regions3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Regions3d/src/custom.hpp" + +}; // class Regions3d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Regions3d/src/custom.hpp b/src/GNDStk/v2.0/containers/Regions3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Regions3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/String.hpp b/src/GNDStk/v2.0/containers/String.hpp new file mode 100644 index 000000000..a8fef671f --- /dev/null +++ b/src/GNDStk/v2.0/containers/String.hpp @@ -0,0 +1,216 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_STRING +#define NJOY_GNDSTK_V2_0_CONTAINERS_STRING + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class String +// ----------------------------------------------------------------------------- + +namespace containers { + +class String : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "String"; } + static auto GNDSName() { return "string"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + std::optional unit; + XMLName value; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // unit + const std::optional &unit() const + { return content.unit; } + std::optional &unit() + { return content.unit; } + + // value + const XMLName &value() const + { return content.value; } + XMLName &value() + { return content.value; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + String &label(const std::optional &obj) + { label() = obj; return *this; } + + // unit(value) + String &unit(const std::optional &obj) + { unit() = obj; return *this; } + + // value(value) + String &value(const XMLName &obj) + { value() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + String() : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + } + { + Component::finish(); + } + + // copy + String(const String &other) : + Component{ + other, + content.label, + content.unit, + content.value + }, + content{other.content} + { + Component::finish(other); + } + + // move + String(String &&other) : + Component{ + other, + content.label, + content.unit, + content.value + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + String(const Node &node) : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + } + { + Component::finish(node); + } + + // from fields + explicit String( + const std::optional &label, + const std::optional &unit, + const XMLName &value + ) : + Component{ + BodyText{}, + content.label, + content.unit, + content.value + }, + content{ + label, + unit, + value + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + String &operator=(const String &) = default; + + // move + String &operator=(String &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/String/src/custom.hpp" + +}; // class String + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/String/src/custom.hpp b/src/GNDStk/v2.0/containers/String/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/String/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Table.hpp b/src/GNDStk/v2.0/containers/Table.hpp new file mode 100644 index 000000000..72861ef56 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Table.hpp @@ -0,0 +1,266 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_TABLE +#define NJOY_GNDSTK_V2_0_CONTAINERS_TABLE + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/ColumnHeaders.hpp" +#include "GNDStk/v2.0/containers/Data.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Table +// ----------------------------------------------------------------------------- + +namespace containers { + +class Table : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Table"; } + static auto GNDSName() { return "table"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Integer32{} + / Meta<>("columns") | + Integer32{} + / Meta<>("rows") | + Defaulted{"row-major"} + / Meta<>("storageOrder") | + // children + containers::ColumnHeaders{} + / --Child<>("columnHeaders") | + containers::Data{} + / --Child<>("data") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const XMLName storageOrder = "row-major"; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Integer32 columns; + Integer32 rows; + Defaulted storageOrder{"row-major"}; + // children + containers::ColumnHeaders columnHeaders; + containers::Data data; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // columns + const Integer32 &columns() const + { return content.columns; } + Integer32 &columns() + { return content.columns; } + + // rows + const Integer32 &rows() const + { return content.rows; } + Integer32 &rows() + { return content.rows; } + + // storageOrder + const Defaulted &storageOrder() const + { return content.storageOrder; } + Defaulted &storageOrder() + { return content.storageOrder; } + + // columnHeaders + const containers::ColumnHeaders &columnHeaders() const + { return content.columnHeaders; } + containers::ColumnHeaders &columnHeaders() + { return content.columnHeaders; } + + // data + const containers::Data &data() const + { return content.data; } + containers::Data &data() + { return content.data; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // columns(value) + Table &columns(const Integer32 &obj) + { columns() = obj; return *this; } + + // rows(value) + Table &rows(const Integer32 &obj) + { rows() = obj; return *this; } + + // storageOrder(value) + Table &storageOrder(const Defaulted &obj) + { content.storageOrder = obj; return *this; } + Table &storageOrder(const std::optional &obj) + { content.storageOrder = obj; return *this; } + + // columnHeaders(value) + Table &columnHeaders(const containers::ColumnHeaders &obj) + { columnHeaders() = obj; return *this; } + + // data(value) + Table &data(const containers::Data &obj) + { data() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Table() : + Component{ + BodyText{}, + content.columns, + content.rows, + content.storageOrder, + content.columnHeaders, + content.data + } + { + Component::finish(); + } + + // copy + Table(const Table &other) : + Component{ + other, + content.columns, + content.rows, + content.storageOrder, + content.columnHeaders, + content.data + }, + content{other.content} + { + Component::finish(other); + } + + // move + Table(Table &&other) : + Component{ + other, + content.columns, + content.rows, + content.storageOrder, + content.columnHeaders, + content.data + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Table(const Node &node) : + Component{ + BodyText{}, + content.columns, + content.rows, + content.storageOrder, + content.columnHeaders, + content.data + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Table( + const Integer32 &columns, + const Integer32 &rows, + const std::optional &storageOrder, + const containers::ColumnHeaders &columnHeaders, + const containers::Data &data + ) : + Component{ + BodyText{}, + content.columns, + content.rows, + content.storageOrder, + content.columnHeaders, + content.data + }, + content{ + columns, + rows, + Defaulted(defaults.storageOrder,storageOrder), + columnHeaders, + data + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Table &operator=(const Table &) = default; + + // move + Table &operator=(Table &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Table/src/custom.hpp" + +}; // class Table + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Table/src/custom.hpp b/src/GNDStk/v2.0/containers/Table/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Table/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Values.hpp b/src/GNDStk/v2.0/containers/Values.hpp new file mode 100644 index 000000000..cd5fa5d40 --- /dev/null +++ b/src/GNDStk/v2.0/containers/Values.hpp @@ -0,0 +1,300 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_VALUES +#define NJOY_GNDSTK_V2_0_CONTAINERS_VALUES + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Values +// ----------------------------------------------------------------------------- + +namespace containers { + +class Values : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Values"; } + static auto GNDSName() { return "values"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("count") | + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("length") | + Defaulted{0} + / Meta<>("start") | + std::optional{} + / Meta<>("startIndex") | + Defaulted{"Float64"} + / Meta<>("valueType") + ; + } + +public: + + using Component::construct; + using BodyText::operator=; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const Integer32 start = 0; + static inline const UTF8Text valueType = "Float64"; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional count; + std::optional href; + mutable std::optional length; + mutable Defaulted start{0}; + std::optional startIndex; + mutable Defaulted valueType{"Float64"}; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // count + const std::optional &count() const + { return content.count; } + std::optional &count() + { return content.count; } + + // href + const std::optional &href() const + { return content.href; } + std::optional &href() + { return content.href; } + + // length + const std::optional &length() const + { return content.length; } + std::optional &length() + { return content.length; } + + // start + const Defaulted &start() const + { return content.start; } + Defaulted &start() + { return content.start; } + + // startIndex + const std::optional &startIndex() const + { return content.startIndex; } + std::optional &startIndex() + { return content.startIndex; } + + // valueType + const Defaulted &valueType() const + { return content.valueType; } + Defaulted &valueType() + { return content.valueType; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // count(value) + Values &count(const std::optional &obj) + { count() = obj; return *this; } + + // href(value) + Values &href(const std::optional &obj) + { href() = obj; return *this; } + + // length(value) + Values &length(const std::optional &obj) + { BodyText::length(length() = obj); return *this; } + + // start(value) + Values &start(const Defaulted &obj) + { BodyText::start(content.start = obj); return *this; } + Values &start(const std::optional &obj) + { BodyText::start(content.start = obj); return *this; } + + // startIndex(value) + Values &startIndex(const std::optional &obj) + { startIndex() = obj; return *this; } + + // valueType(value) + Values &valueType(const Defaulted &obj) + { BodyText::valueType(content.valueType = obj); return *this; } + Values &valueType(const std::optional &obj) + { BodyText::valueType(content.valueType = obj); return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Values() : + Component{ + BodyText{}, + content.count, + content.href, + content.length, + content.start, + content.startIndex, + content.valueType + } + { + Component::finish(); + } + + // copy + Values(const Values &other) : + Component{ + other, + content.count, + content.href, + content.length, + content.start, + content.startIndex, + content.valueType + }, + content{other.content} + { + Component::finish(other); + } + + // move + Values(Values &&other) : + Component{ + other, + content.count, + content.href, + content.length, + content.start, + content.startIndex, + content.valueType + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Values(const Node &node) : + Component{ + BodyText{}, + content.count, + content.href, + content.length, + content.start, + content.startIndex, + content.valueType + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Values( + const std::optional &count, + const std::optional &href, + const std::optional &length, + const std::optional &start, + const std::optional &startIndex, + const std::optional &valueType + ) : + Component{ + BodyText{}, + content.count, + content.href, + content.length, + content.start, + content.startIndex, + content.valueType + }, + content{ + count, + href, + length, + Defaulted(defaults.start,start), + startIndex, + Defaulted(defaults.valueType,valueType) + } + { + Component::finish(); + } + + // from vector + template>> + Values(const std::vector &vector) : + Component{ + BodyText{}, + content.count, + content.href, + content.length, + content.start, + content.startIndex, + content.valueType + } + { + Component::finish(vector); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Values &operator=(const Values &) = default; + + // move + Values &operator=(Values &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Values/src/custom.hpp" + +}; // class Values + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Values/src/custom.hpp b/src/GNDStk/v2.0/containers/Values/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Values/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/XYs1d.hpp b/src/GNDStk/v2.0/containers/XYs1d.hpp new file mode 100644 index 000000000..b09f0d8d0 --- /dev/null +++ b/src/GNDStk/v2.0/containers/XYs1d.hpp @@ -0,0 +1,286 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_XYS1D +#define NJOY_GNDSTK_V2_0_CONTAINERS_XYS1D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Values.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class XYs1d +// ----------------------------------------------------------------------------- + +namespace containers { + +class XYs1d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "XYs1d"; } + static auto GNDSName() { return "XYs1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("index") | + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Values{} + / --Child<>("values") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional index; + Defaulted interpolation{enums::Interpolation::linlin}; + std::optional label; + std::optional outerDomainValue; + // children + std::optional axes; + containers::Values values; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // index + const std::optional &index() const + { return content.index; } + std::optional &index() + { return content.index; } + + // interpolation + const Defaulted &interpolation() const + { return content.interpolation; } + Defaulted &interpolation() + { return content.interpolation; } + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // axes + const std::optional &axes() const + { return content.axes; } + std::optional &axes() + { return content.axes; } + + // values + const containers::Values &values() const + { return content.values; } + containers::Values &values() + { return content.values; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // index(value) + XYs1d &index(const std::optional &obj) + { index() = obj; return *this; } + + // interpolation(value) + XYs1d &interpolation(const Defaulted &obj) + { content.interpolation = obj; return *this; } + XYs1d &interpolation(const std::optional &obj) + { content.interpolation = obj; return *this; } + + // label(value) + XYs1d &label(const std::optional &obj) + { label() = obj; return *this; } + + // outerDomainValue(value) + XYs1d &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // axes(value) + XYs1d &axes(const std::optional &obj) + { axes() = obj; return *this; } + + // values(value) + XYs1d &values(const containers::Values &obj) + { values() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + XYs1d() : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.label, + content.outerDomainValue, + content.axes, + content.values + } + { + Component::finish(); + } + + // copy + XYs1d(const XYs1d &other) : + Component{ + other, + content.index, + content.interpolation, + content.label, + content.outerDomainValue, + content.axes, + content.values + }, + content{other.content} + { + Component::finish(other); + } + + // move + XYs1d(XYs1d &&other) : + Component{ + other, + content.index, + content.interpolation, + content.label, + content.outerDomainValue, + content.axes, + content.values + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + XYs1d(const Node &node) : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.label, + content.outerDomainValue, + content.axes, + content.values + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit XYs1d( + const std::optional &index, + const std::optional &interpolation, + const std::optional &label, + const std::optional &outerDomainValue, + const std::optional &axes, + const containers::Values &values + ) : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.label, + content.outerDomainValue, + content.axes, + content.values + }, + content{ + index, + Defaulted(defaults.interpolation,interpolation), + label, + outerDomainValue, + axes, + values + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + XYs1d &operator=(const XYs1d &) = default; + + // move + XYs1d &operator=(XYs1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/XYs1d/src/custom.hpp" + +}; // class XYs1d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/XYs1d/src/custom.hpp b/src/GNDStk/v2.0/containers/XYs1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/XYs1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/XYs2d.hpp b/src/GNDStk/v2.0/containers/XYs2d.hpp new file mode 100644 index 000000000..6e645afd3 --- /dev/null +++ b/src/GNDStk/v2.0/containers/XYs2d.hpp @@ -0,0 +1,286 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_XYS2D +#define NJOY_GNDSTK_V2_0_CONTAINERS_XYS2D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Function1ds.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class XYs2d +// ----------------------------------------------------------------------------- + +namespace containers { + +class XYs2d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "XYs2d"; } + static auto GNDSName() { return "XYs2d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("index") | + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("interpolationQualifier") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function1ds{} + / --Child<>("function1ds") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional index; + Defaulted interpolation{enums::Interpolation::linlin}; + std::optional interpolationQualifier; + std::optional outerDomainValue; + // children + std::optional axes; + containers::Function1ds function1ds; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // index + const std::optional &index() const + { return content.index; } + std::optional &index() + { return content.index; } + + // interpolation + const Defaulted &interpolation() const + { return content.interpolation; } + Defaulted &interpolation() + { return content.interpolation; } + + // interpolationQualifier + const std::optional &interpolationQualifier() const + { return content.interpolationQualifier; } + std::optional &interpolationQualifier() + { return content.interpolationQualifier; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // axes + const std::optional &axes() const + { return content.axes; } + std::optional &axes() + { return content.axes; } + + // function1ds + const containers::Function1ds &function1ds() const + { return content.function1ds; } + containers::Function1ds &function1ds() + { return content.function1ds; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // index(value) + XYs2d &index(const std::optional &obj) + { index() = obj; return *this; } + + // interpolation(value) + XYs2d &interpolation(const Defaulted &obj) + { content.interpolation = obj; return *this; } + XYs2d &interpolation(const std::optional &obj) + { content.interpolation = obj; return *this; } + + // interpolationQualifier(value) + XYs2d &interpolationQualifier(const std::optional &obj) + { interpolationQualifier() = obj; return *this; } + + // outerDomainValue(value) + XYs2d &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // axes(value) + XYs2d &axes(const std::optional &obj) + { axes() = obj; return *this; } + + // function1ds(value) + XYs2d &function1ds(const containers::Function1ds &obj) + { function1ds() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + XYs2d() : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.interpolationQualifier, + content.outerDomainValue, + content.axes, + content.function1ds + } + { + Component::finish(); + } + + // copy + XYs2d(const XYs2d &other) : + Component{ + other, + content.index, + content.interpolation, + content.interpolationQualifier, + content.outerDomainValue, + content.axes, + content.function1ds + }, + content{other.content} + { + Component::finish(other); + } + + // move + XYs2d(XYs2d &&other) : + Component{ + other, + content.index, + content.interpolation, + content.interpolationQualifier, + content.outerDomainValue, + content.axes, + content.function1ds + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + XYs2d(const Node &node) : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.interpolationQualifier, + content.outerDomainValue, + content.axes, + content.function1ds + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit XYs2d( + const std::optional &index, + const std::optional &interpolation, + const std::optional &interpolationQualifier, + const std::optional &outerDomainValue, + const std::optional &axes, + const containers::Function1ds &function1ds + ) : + Component{ + BodyText{}, + content.index, + content.interpolation, + content.interpolationQualifier, + content.outerDomainValue, + content.axes, + content.function1ds + }, + content{ + index, + Defaulted(defaults.interpolation,interpolation), + interpolationQualifier, + outerDomainValue, + axes, + function1ds + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + XYs2d &operator=(const XYs2d &) = default; + + // move + XYs2d &operator=(XYs2d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/XYs2d/src/custom.hpp" + +}; // class XYs2d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/XYs2d/src/custom.hpp b/src/GNDStk/v2.0/containers/XYs2d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/XYs2d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/XYs3d.hpp b/src/GNDStk/v2.0/containers/XYs3d.hpp new file mode 100644 index 000000000..c5963645b --- /dev/null +++ b/src/GNDStk/v2.0/containers/XYs3d.hpp @@ -0,0 +1,246 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_XYS3D +#define NJOY_GNDSTK_V2_0_CONTAINERS_XYS3D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Function2ds.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class XYs3d +// ----------------------------------------------------------------------------- + +namespace containers { + +class XYs3d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "XYs3d"; } + static auto GNDSName() { return "XYs3d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("interpolationQualifier") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function2ds{} + / --Child<>("function2ds") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Defaulted interpolation{enums::Interpolation::linlin}; + std::optional interpolationQualifier; + // children + std::optional axes; + containers::Function2ds function2ds; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // interpolation + const Defaulted &interpolation() const + { return content.interpolation; } + Defaulted &interpolation() + { return content.interpolation; } + + // interpolationQualifier + const std::optional &interpolationQualifier() const + { return content.interpolationQualifier; } + std::optional &interpolationQualifier() + { return content.interpolationQualifier; } + + // axes + const std::optional &axes() const + { return content.axes; } + std::optional &axes() + { return content.axes; } + + // function2ds + const containers::Function2ds &function2ds() const + { return content.function2ds; } + containers::Function2ds &function2ds() + { return content.function2ds; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // interpolation(value) + XYs3d &interpolation(const Defaulted &obj) + { content.interpolation = obj; return *this; } + XYs3d &interpolation(const std::optional &obj) + { content.interpolation = obj; return *this; } + + // interpolationQualifier(value) + XYs3d &interpolationQualifier(const std::optional &obj) + { interpolationQualifier() = obj; return *this; } + + // axes(value) + XYs3d &axes(const std::optional &obj) + { axes() = obj; return *this; } + + // function2ds(value) + XYs3d &function2ds(const containers::Function2ds &obj) + { function2ds() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + XYs3d() : + Component{ + BodyText{}, + content.interpolation, + content.interpolationQualifier, + content.axes, + content.function2ds + } + { + Component::finish(); + } + + // copy + XYs3d(const XYs3d &other) : + Component{ + other, + content.interpolation, + content.interpolationQualifier, + content.axes, + content.function2ds + }, + content{other.content} + { + Component::finish(other); + } + + // move + XYs3d(XYs3d &&other) : + Component{ + other, + content.interpolation, + content.interpolationQualifier, + content.axes, + content.function2ds + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + XYs3d(const Node &node) : + Component{ + BodyText{}, + content.interpolation, + content.interpolationQualifier, + content.axes, + content.function2ds + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit XYs3d( + const std::optional &interpolation, + const std::optional &interpolationQualifier, + const std::optional &axes, + const containers::Function2ds &function2ds + ) : + Component{ + BodyText{}, + content.interpolation, + content.interpolationQualifier, + content.axes, + content.function2ds + }, + content{ + Defaulted(defaults.interpolation,interpolation), + interpolationQualifier, + axes, + function2ds + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + XYs3d &operator=(const XYs3d &) = default; + + // move + XYs3d &operator=(XYs3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/XYs3d/src/custom.hpp" + +}; // class XYs3d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/XYs3d/src/custom.hpp b/src/GNDStk/v2.0/containers/XYs3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/XYs3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/containers/Ys1d.hpp b/src/GNDStk/v2.0/containers/Ys1d.hpp new file mode 100644 index 000000000..4db69ed1d --- /dev/null +++ b/src/GNDStk/v2.0/containers/Ys1d.hpp @@ -0,0 +1,246 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_CONTAINERS_YS1D +#define NJOY_GNDSTK_V2_0_CONTAINERS_YS1D + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/containers/Values.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// containers:: +// class Ys1d +// ----------------------------------------------------------------------------- + +namespace containers { + +class Ys1d : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "containers"; } + static auto className() { return "Ys1d"; } + static auto GNDSName() { return "Ys1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("label") | + // children + containers::Axes{} + / --Child<>("axes") | + containers::Values{} + / --Child<>("values") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + Defaulted interpolation{enums::Interpolation::linlin}; + std::optional label; + // children + containers::Axes axes; + containers::Values values; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // interpolation + const Defaulted &interpolation() const + { return content.interpolation; } + Defaulted &interpolation() + { return content.interpolation; } + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // axes + const containers::Axes &axes() const + { return content.axes; } + containers::Axes &axes() + { return content.axes; } + + // values + const containers::Values &values() const + { return content.values; } + containers::Values &values() + { return content.values; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // interpolation(value) + Ys1d &interpolation(const Defaulted &obj) + { content.interpolation = obj; return *this; } + Ys1d &interpolation(const std::optional &obj) + { content.interpolation = obj; return *this; } + + // label(value) + Ys1d &label(const std::optional &obj) + { label() = obj; return *this; } + + // axes(value) + Ys1d &axes(const containers::Axes &obj) + { axes() = obj; return *this; } + + // values(value) + Ys1d &values(const containers::Values &obj) + { values() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Ys1d() : + Component{ + BodyText{}, + content.interpolation, + content.label, + content.axes, + content.values + } + { + Component::finish(); + } + + // copy + Ys1d(const Ys1d &other) : + Component{ + other, + content.interpolation, + content.label, + content.axes, + content.values + }, + content{other.content} + { + Component::finish(other); + } + + // move + Ys1d(Ys1d &&other) : + Component{ + other, + content.interpolation, + content.label, + content.axes, + content.values + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Ys1d(const Node &node) : + Component{ + BodyText{}, + content.interpolation, + content.label, + content.axes, + content.values + } + { + Component::finish(node); + } + + // from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Ys1d( + const std::optional &interpolation, + const std::optional &label, + const containers::Axes &axes, + const containers::Values &values + ) : + Component{ + BodyText{}, + content.interpolation, + content.label, + content.axes, + content.values + }, + content{ + Defaulted(defaults.interpolation,interpolation), + label, + axes, + values + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Ys1d &operator=(const Ys1d &) = default; + + // move + Ys1d &operator=(Ys1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/containers/Ys1d/src/custom.hpp" + +}; // class Ys1d + +} // namespace containers +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/containers/Ys1d/src/custom.hpp b/src/GNDStk/v2.0/containers/Ys1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/containers/Ys1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; From dc6a88988403264c934ff778fbf982daa7305731 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Mon, 15 Nov 2021 12:29:53 -0700 Subject: [PATCH 023/235] Putting back the link value on the grid style enum --- python/src/GridStyle.python.cpp | 1 + python/test/Test_GNDStk_GridStyle.py | 22 +++++++++++++++++++ src/GNDStk/enums/GridStyle.hpp | 3 +++ .../enums/GridStyle/test/GridStyle.test.cpp | 17 +++++++++----- 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/python/src/GridStyle.python.cpp b/python/src/GridStyle.python.cpp index 87f595660..25d7b15ee 100644 --- a/python/src/GridStyle.python.cpp +++ b/python/src/GridStyle.python.cpp @@ -29,6 +29,7 @@ void wrapGridStyle( python::module& module ) { // wrap the component component .value( "none", Component::none ) + .value( "link", Component::link ) .value( "points", Component::points ) .value( "boundaries", Component::boundaries ) .value( "parameters", Component::parameters ); diff --git a/python/test/Test_GNDStk_GridStyle.py b/python/test/Test_GNDStk_GridStyle.py index 99960840e..3da97e03e 100644 --- a/python/test/Test_GNDStk_GridStyle.py +++ b/python/test/Test_GNDStk_GridStyle.py @@ -14,11 +14,27 @@ def test_component( self ) : value = GridStyle.none self.assertTrue( value == GridStyle.none ) + self.assertFalse( value == GridStyle.link ) self.assertFalse( value == GridStyle.points ) self.assertFalse( value == GridStyle.boundaries ) self.assertFalse( value == GridStyle.parameters ) self.assertFalse( value != GridStyle.none ) + self.assertTrue( value != GridStyle.link ) + self.assertTrue( value != GridStyle.points ) + self.assertTrue( value != GridStyle.boundaries ) + self.assertTrue( value != GridStyle.parameters ) + + value = GridStyle.link + + self.assertFalse( value == GridStyle.none ) + self.assertTrue( value == GridStyle.link ) + self.assertFalse( value == GridStyle.points ) + self.assertFalse( value == GridStyle.boundaries ) + self.assertFalse( value == GridStyle.parameters ) + + self.assertTrue( value != GridStyle.none ) + self.assertFalse( value != GridStyle.link ) self.assertTrue( value != GridStyle.points ) self.assertTrue( value != GridStyle.boundaries ) self.assertTrue( value != GridStyle.parameters ) @@ -26,11 +42,13 @@ def test_component( self ) : value = GridStyle.points self.assertFalse( value == GridStyle.none ) + self.assertFalse( value == GridStyle.link ) self.assertTrue( value == GridStyle.points ) self.assertFalse( value == GridStyle.boundaries ) self.assertFalse( value == GridStyle.parameters ) self.assertTrue( value != GridStyle.none ) + self.assertTrue( value != GridStyle.link ) self.assertFalse( value != GridStyle.points ) self.assertTrue( value != GridStyle.boundaries ) self.assertTrue( value != GridStyle.parameters ) @@ -38,11 +56,13 @@ def test_component( self ) : value = GridStyle.boundaries self.assertFalse( value == GridStyle.none ) + self.assertFalse( value == GridStyle.link ) self.assertFalse( value == GridStyle.points ) self.assertTrue( value == GridStyle.boundaries ) self.assertFalse( value == GridStyle.parameters ) self.assertTrue( value != GridStyle.none ) + self.assertTrue( value != GridStyle.link ) self.assertTrue( value != GridStyle.points ) self.assertFalse( value != GridStyle.boundaries ) self.assertTrue( value != GridStyle.parameters ) @@ -50,11 +70,13 @@ def test_component( self ) : value = GridStyle.parameters self.assertFalse( value == GridStyle.none ) + self.assertFalse( value == GridStyle.link ) self.assertFalse( value == GridStyle.points ) self.assertFalse( value == GridStyle.boundaries ) self.assertTrue( value == GridStyle.parameters ) self.assertTrue( value != GridStyle.none ) + self.assertTrue( value != GridStyle.link ) self.assertTrue( value != GridStyle.points ) self.assertTrue( value != GridStyle.boundaries ) self.assertFalse( value != GridStyle.parameters ) diff --git a/src/GNDStk/enums/GridStyle.hpp b/src/GNDStk/enums/GridStyle.hpp index 8aedfe8da..ced64d0a4 100644 --- a/src/GNDStk/enums/GridStyle.hpp +++ b/src/GNDStk/enums/GridStyle.hpp @@ -10,6 +10,7 @@ namespace enums { enum class GridStyle { none, + link, points, boundaries, parameters @@ -38,6 +39,7 @@ namespace enums { const std::string > values{ { GNDStk::enums::GridStyle::none, "none" }, + { GNDStk::enums::GridStyle::link, "link" }, { GNDStk::enums::GridStyle::points, "points" }, { GNDStk::enums::GridStyle::boundaries, "boundaries" }, { GNDStk::enums::GridStyle::parameters, "parameters" } @@ -47,6 +49,7 @@ namespace enums { GNDStk::enums::GridStyle > symbols{ { "none", GNDStk::enums::GridStyle::none }, + { "link", GNDStk::enums::GridStyle::link }, { "points", GNDStk::enums::GridStyle::points }, { "boundaries", GNDStk::enums::GridStyle::boundaries }, { "parameters", GNDStk::enums::GridStyle::parameters } diff --git a/src/GNDStk/enums/GridStyle/test/GridStyle.test.cpp b/src/GNDStk/enums/GridStyle/test/GridStyle.test.cpp index 2396973ca..d6aa8797d 100644 --- a/src/GNDStk/enums/GridStyle/test/GridStyle.test.cpp +++ b/src/GNDStk/enums/GridStyle/test/GridStyle.test.cpp @@ -18,6 +18,7 @@ SCENARIO( "GridStyle" ) { THEN( "no exception is thrown and the correct string is returned" ) { CHECK( "none" == enums::toString( GridStyle::none ) ); + CHECK( "link" == enums::toString( GridStyle::link ) ); CHECK( "points" == enums::toString( GridStyle::points ) ); CHECK( "boundaries" == enums::toString( GridStyle::boundaries ) ); CHECK( "parameters" == enums::toString( GridStyle::parameters ) ); @@ -29,6 +30,7 @@ SCENARIO( "GridStyle" ) { THEN( "no exception is thrown when the symbol is registered" ) { CHECK( GridStyle::none == enums::fromString< GridStyle >( "none" ) ); + CHECK( GridStyle::link == enums::fromString< GridStyle >( "link" ) ); CHECK( GridStyle::points == enums::fromString< GridStyle >( "points" ) ); CHECK( GridStyle::boundaries == enums::fromString< GridStyle >( "boundaries" ) ); CHECK( GridStyle::parameters == enums::fromString< GridStyle >( "parameters" ) ); @@ -45,12 +47,11 @@ SCENARIO( "GridStyle" ) { THEN( "no exception is thrown and the symbol is written to the stream" ) { std::ostringstream out; - out << GridStyle::none << ' ' - << GridStyle::points << ' ' - << GridStyle::boundaries << ' ' + out << GridStyle::none << ' ' << GridStyle::link << ' ' + << GridStyle::points << ' ' << GridStyle::boundaries << ' ' << GridStyle::parameters; - CHECK( "none points boundaries parameters" == out.str() ); + CHECK( "none link points boundaries parameters" == out.str() ); } // THEN } // WHEN @@ -59,13 +60,18 @@ SCENARIO( "GridStyle" ) { THEN( "the stream is not in fail() when the symbol is registered" ) { GridStyle value; - std::istringstream in( "none points boundaries parameters" ); + std::istringstream in( "none link points boundaries parameters" ); in >> value; CHECK( GridStyle::none == value ); CHECK( false == in.fail() ); CHECK( false == in.eof() ); + in >> value; + CHECK( GridStyle::link == value ); + CHECK( false == in.fail() ); + CHECK( false == in.eof() ); + in >> value; CHECK( GridStyle::points == value ); CHECK( false == in.fail() ); @@ -99,6 +105,7 @@ SCENARIO( "GridStyle" ) { THEN( "registered units return true, unregistered units return false" ) { CHECK( true == enums::isGridStyle( "none" ) ); + CHECK( true == enums::isGridStyle( "link" ) ); CHECK( true == enums::isGridStyle( "points" ) ); CHECK( true == enums::isGridStyle( "boundaries" ) ); CHECK( true == enums::isGridStyle( "parameters" ) ); From ca89e13f52468c0dd3e2221c90ae2d5d56568a8a Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Tue, 16 Nov 2021 11:59:06 -0700 Subject: [PATCH 024/235] Saving some changes --- .../DelayedNeutrons.python.cpp | 56 +++++ src/GNDStk/enums/GridStyle.hpp | 4 +- .../fissionFragmentData/DelayedNeutrons.hpp | 207 ++++++++++++++++++ 3 files changed, 265 insertions(+), 2 deletions(-) create mode 100644 python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp create mode 100644 src/GNDStk/v2.0/fissionFragmentData/DelayedNeutrons.hpp diff --git a/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp b/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp new file mode 100644 index 000000000..bf0f6b0cc --- /dev/null +++ b/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionFragmentData { + +// DelayedNeutrons wrapper +void wrapDelayedNeutrons(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionFragmentData::DelayedNeutrons; + + // create the component + python::class_ component( + module, + "DelayedNeutrons", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("delayed_neutron"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "delayed_neutron", + python::overload_cast<>(&Component::delayedNeutron), + Component::documentation("delayed_neutron").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionFragmentData +} // namespace python_v2_0 diff --git a/src/GNDStk/enums/GridStyle.hpp b/src/GNDStk/enums/GridStyle.hpp index ced64d0a4..403a5dd44 100644 --- a/src/GNDStk/enums/GridStyle.hpp +++ b/src/GNDStk/enums/GridStyle.hpp @@ -48,8 +48,8 @@ namespace enums { static inline const std::map< const std::string, GNDStk::enums::GridStyle > symbols{ - { "none", GNDStk::enums::GridStyle::none }, - { "link", GNDStk::enums::GridStyle::link }, + { "none", GNDStk::enums::GridStyle::none }, + { "link", GNDStk::enums::GridStyle::link }, { "points", GNDStk::enums::GridStyle::points }, { "boundaries", GNDStk::enums::GridStyle::boundaries }, { "parameters", GNDStk::enums::GridStyle::parameters } diff --git a/src/GNDStk/v2.0/fissionFragmentData/DelayedNeutrons.hpp b/src/GNDStk/v2.0/fissionFragmentData/DelayedNeutrons.hpp new file mode 100644 index 000000000..33cc02e2b --- /dev/null +++ b/src/GNDStk/v2.0/fissionFragmentData/DelayedNeutrons.hpp @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS +#define NJOY_GNDSTK_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/fissionFragmentData/DelayedNeutron.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// fissionFragmentData:: +// class DelayedNeutrons +// ----------------------------------------------------------------------------- + +namespace fissionFragmentData { + +class DelayedNeutrons : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "fissionFragmentData"; } + static auto className() { return "DelayedNeutrons"; } + static auto GNDSName() { return "delayedNeutrons"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // children + fissionFragmentData::DelayedNeutron{} + / ++Child<>("delayedNeutron") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // children + std::vector delayedNeutron; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // delayedNeutron + const std::vector &delayedNeutron() const + { return content.delayedNeutron; } + std::vector &delayedNeutron() + { return content.delayedNeutron; } + + // delayedNeutron(index) + const fissionFragmentData::DelayedNeutron &delayedNeutron(const std::size_t index) const + { return getter(delayedNeutron(), index, "delayedNeutron"); } + fissionFragmentData::DelayedNeutron &delayedNeutron(const std::size_t index) + { return getter(delayedNeutron(), index, "delayedNeutron"); } + + // delayedNeutron(label) + const fissionFragmentData::DelayedNeutron &delayedNeutron(const std::string &label) const + { return getter(delayedNeutron(), label, "delayedNeutron"); } + fissionFragmentData::DelayedNeutron &delayedNeutron(const std::string &label) + { return getter(delayedNeutron(), label, "delayedNeutron"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // delayedNeutron(value) + DelayedNeutrons &delayedNeutron(const std::vector &obj) + { delayedNeutron() = obj; return *this; } + + // delayedNeutron(index,value) + DelayedNeutrons &delayedNeutron( + const std::size_t index, + const fissionFragmentData::DelayedNeutron &obj + ) { + delayedNeutron(index) = obj; return *this; + } + + // delayedNeutron(label,value) + DelayedNeutrons &delayedNeutron( + const std::string &label, + const fissionFragmentData::DelayedNeutron &obj + ) { + delayedNeutron(label) = obj; return *this; + } + + // ------------------------ + // Construction + // ------------------------ + + // default + DelayedNeutrons() : + Component{ + BodyText{}, + content.delayedNeutron + } + { + Component::finish(); + } + + // copy + DelayedNeutrons(const DelayedNeutrons &other) : + Component{ + other, + content.delayedNeutron + }, + content{other.content} + { + Component::finish(other); + } + + // move + DelayedNeutrons(DelayedNeutrons &&other) : + Component{ + other, + content.delayedNeutron + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + DelayedNeutrons(const Node &node) : + Component{ + BodyText{}, + content.delayedNeutron + } + { + Component::finish(node); + } + + // from fields + explicit DelayedNeutrons( + const std::vector &delayedNeutron + ) : + Component{ + BodyText{}, + content.delayedNeutron + }, + content{ + delayedNeutron + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + DelayedNeutrons &operator=(const DelayedNeutrons &) = default; + + // move + DelayedNeutrons &operator=(DelayedNeutrons &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp" + +}; // class DelayedNeutrons + +} // namespace fissionFragmentData +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif From 1d023516abfb07797148e5462f185e7a987d5e9c Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Tue, 16 Nov 2021 12:03:02 -0700 Subject: [PATCH 025/235] Saving work --- .../DelayedNeutron.python.cpp | 70 ++++++ .../fissionFragmentData/DelayedNeutron.hpp | 222 ++++++++++++++++++ 2 files changed, 292 insertions(+) create mode 100644 python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp create mode 100644 src/GNDStk/v2.0/fissionFragmentData/DelayedNeutron.hpp diff --git a/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp b/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp new file mode 100644 index 000000000..382706b79 --- /dev/null +++ b/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionFragmentData/DelayedNeutron.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionFragmentData { + +// DelayedNeutron wrapper +void wrapDelayedNeutron(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionFragmentData::DelayedNeutron; + + // create the component + python::class_ component( + module, + "DelayedNeutron", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const pops::Product &, + const fissionFragmentData::Rate & + >(), + python::arg("label"), + python::arg("product"), + python::arg("rate"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product", + python::overload_cast<>(&Component::product), + Component::documentation("product").data() + ) + .def_property_readonly( + "rate", + python::overload_cast<>(&Component::rate), + Component::documentation("rate").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionFragmentData +} // namespace python_v2_0 diff --git a/src/GNDStk/v2.0/fissionFragmentData/DelayedNeutron.hpp b/src/GNDStk/v2.0/fissionFragmentData/DelayedNeutron.hpp new file mode 100644 index 000000000..8688523ed --- /dev/null +++ b/src/GNDStk/v2.0/fissionFragmentData/DelayedNeutron.hpp @@ -0,0 +1,222 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON +#define NJOY_GNDSTK_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/pops/Product.hpp" +#include "GNDStk/v2.0/fissionFragmentData/Rate.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// fissionFragmentData:: +// class DelayedNeutron +// ----------------------------------------------------------------------------- + +namespace fissionFragmentData { + +class DelayedNeutron : public Component { + + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "fissionFragmentData"; } + static auto className() { return "DelayedNeutron"; } + static auto GNDSName() { return "delayedNeutron"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + pops::Product{} + / --Child<>("product") | + fissionFragmentData::Rate{} + / --Child<>("rate") + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + XMLName label; + // children + pops::Product product; + fissionFragmentData::Rate rate; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const XMLName &label() const + { return content.label; } + XMLName &label() + { return content.label; } + + // product + const pops::Product &product() const + { return content.product; } + pops::Product &product() + { return content.product; } + + // rate + const fissionFragmentData::Rate &rate() const + { return content.rate; } + fissionFragmentData::Rate &rate() + { return content.rate; } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + DelayedNeutron &label(const XMLName &obj) + { label() = obj; return *this; } + + // product(value) + DelayedNeutron &product(const pops::Product &obj) + { product() = obj; return *this; } + + // rate(value) + DelayedNeutron &rate(const fissionFragmentData::Rate &obj) + { rate() = obj; return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + DelayedNeutron() : + Component{ + BodyText{}, + content.label, + content.product, + content.rate + } + { + Component::finish(); + } + + // copy + DelayedNeutron(const DelayedNeutron &other) : + Component{ + other, + content.label, + content.product, + content.rate + }, + content{other.content} + { + Component::finish(other); + } + + // move + DelayedNeutron(DelayedNeutron &&other) : + Component{ + other, + content.label, + content.product, + content.rate + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + DelayedNeutron(const Node &node) : + Component{ + BodyText{}, + content.label, + content.product, + content.rate + } + { + Component::finish(node); + } + + // from fields + explicit DelayedNeutron( + const XMLName &label, + const pops::Product &product, + const fissionFragmentData::Rate &rate + ) : + Component{ + BodyText{}, + content.label, + content.product, + content.rate + }, + content{ + label, + product, + rate + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + DelayedNeutron &operator=(const DelayedNeutron &) = default; + + // move + DelayedNeutron &operator=(DelayedNeutron &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp" + +}; // class DelayedNeutron + +} // namespace fissionFragmentData +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif From 316b6d7cc30ddec1d819d6b4c1e670a594ec19b9 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 17 Nov 2021 00:35:09 -0700 Subject: [PATCH 026/235] Extended the autogenerator to support a ProjectDir entry. To be used for non-GNDS products, e.g. NDI3. When ProjectDir is given, namespaces and various other constructs are done differently. Made miscellaneous small improvements in various other files. For example: direct read() and write() in Component, aligning with Node's. So: autogenerated classes have those read()s and write(); there's no need for a user to explicitly go through Node. --- autogen/json2class.cpp | 222 ++++++++++++++++++----------- src/GNDStk/Component.hpp | 13 +- src/GNDStk/Component/src/read.hpp | 54 +++++++ src/GNDStk/Component/src/write.hpp | 49 ++++++- src/GNDStk/Node.hpp | 36 +++-- src/GNDStk/Node/src/write.hpp | 22 +++ src/GNDStk/Support/src/detail.hpp | 4 +- src/GNDStk/Tree.hpp | 34 +++-- 8 files changed, 318 insertions(+), 116 deletions(-) create mode 100644 src/GNDStk/Component/src/read.hpp diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 23ea31157..3a14ea2e5 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -62,7 +62,7 @@ struct InfoMetadata { // - a GNDStk::defaulted // but (in contrast with child nodes) can't make it be a vector of metadata. // An individual metadatum may be a vector in its own right, as in an XML - // construct such as (so that meta is a vector of + // construct such as (so that meta is a vector of // integers). We mean here that there isn't a vector of such [meta] entries, // and shouldn't be (XML wouldn't allow it). std::string name; @@ -160,6 +160,7 @@ struct InfoSpecs { std::string JSONDir; std::vector JSONFiles; std::string GNDSDir; + std::string ProjectDir; std::string Version; // Version, but with '_' in place of '.' @@ -206,9 +207,7 @@ struct InfoSpecs { // Print text describing an action the code is about to take void action(const std::string &str) { - std::cout - << "\n" - << colors::plain::blue << str << "..." << colors::reset << std::endl; + std::cout << colors::plain::blue << str << colors::reset << std::endl; } // Is the string all whitespace? @@ -858,7 +857,8 @@ void writeClassPrefix(writer &out, const PerClass &per) void writeClassForComponent(writer &out, const PerClass &per) { // using [name for variant] = ... - out(); + if (per.variants.size()) + out(); for (const auto &v : per.variants) { out(1,"using @ = std::variant<", v.type); int count = 0, total = v.children.size(); @@ -931,7 +931,7 @@ void writeClassForComponent(writer &out, const PerClass &per) // Class suffix void writeClassSuffix( - writer &out, const PerClass &per, const std::string &version + writer &out, const PerClass &per, const InfoSpecs &specs ) { // assignment out(); @@ -951,8 +951,13 @@ void writeClassSuffix( out(1,"// Custom functionality"); out(1,smallComment); out(); - out(1,"#include \"GNDStk/@/@/@/src/custom.hpp\"", - version, per.nsname, per.clname); + if (specs.ProjectDir == "") { + out(1,"#include \"GNDStk/@/@/@/src/custom.hpp\"", + specs.Version, per.nsname, per.clname); + } else { + out(1,"#include \"@/@/@/@/src/custom.hpp\"", + specs.ProjectDir, specs.Version, per.nsname, per.clname); + } // class+namespace end out(); @@ -963,7 +968,6 @@ void writeClassSuffix( - // ----------------------------------------------------------------------------- // writeClass* // For metadata, children, and variant children @@ -1378,10 +1382,10 @@ void writeClass(PerClass &per, const InfoSpecs &specs) writer out(false); // output: class begin - writeClassPrefix(out,per); + writeClassPrefix(out, per); // output: for the Component base - writeClassForComponent(out,per); + writeClassForComponent(out, per); // output: using directives out(); @@ -1428,7 +1432,7 @@ void writeClass(PerClass &per, const InfoSpecs &specs) writeClassCtors(out, per); // output: class end - writeClassSuffix(out, per, specs.Version); + writeClassSuffix(out, per, specs); // done per.code = out.str(); @@ -1574,6 +1578,7 @@ void commandLine( static const std::string input = "JSONDir"; static const std::string files = "JSONFiles"; static const std::string output = "GNDSDir"; + static const std::string project = "ProjectDir"; // optional static const std::string version = "Version"; static const std::string changes = "Changes"; @@ -1598,6 +1603,8 @@ void commandLine( specs.JSONDir = jmain[input]; specs.JSONFiles = std::vector(jmain[files]); specs.GNDSDir = jmain[output]; + if (jmain.contains(project)) + specs.ProjectDir = jmain[project]; specs.Version = jmain[version]; specs.VersionUnderscore = replace(specs.Version, '.', '_'); @@ -1606,14 +1613,22 @@ void commandLine( file = specs.JSONDir + '/' + file; // File names - specs.hppVersion = specs.GNDSDir + "/src/GNDStk/" + specs.Version + ".hpp"; - specs.hppKey = specs.GNDSDir + "/src/GNDStk/" + specs.Version + "/key.hpp"; + if (specs.ProjectDir == "") { + specs.hppVersion = specs.GNDSDir + "/src/GNDStk/"; + specs.hppKey = specs.GNDSDir + "/src/GNDStk/"; + } else { + specs.hppVersion = specs.ProjectDir + "/src/" + specs.ProjectDir + "/"; + specs.hppKey = specs.ProjectDir + "/src/" + specs.ProjectDir + "/"; + } + specs.hppVersion += specs.Version + ".hpp"; + specs.hppKey += specs.Version + "/key.hpp"; // Report on "singletons" if (singletons) { - action("Finding possible simplifications"); + action("\nFinding possible simplifications..."); for (const std::string &file : specs.JSONFiles) printSingletons(file); + action("Done looking for simplifications."); } // Changes? @@ -1648,15 +1663,22 @@ void preprocessClass( // Given the base GNDS directory and the GNDS version, as obtained earlier // from the JSON input file to this tool, compute relevant directory names. - const std::string - // For the present namespace: C++ and Python directories. The present - // namespace probably contains multiple classes, so its directories - // may have been created already, but that's fine. - nsdir = specs.GNDSDir + "/src/GNDStk/" + specs.Version + "/" + nsname, - nsdirpy = specs.GNDSDir + "/python/src/" + specs.Version + "/" + nsname, - // For the present class: C++ source and test directories. - clsrc = nsdir + "/" + clname + "/src", - cltest = nsdir + "/" + clname + "/test"; + std::string nsdir, nsdirpy; + // For the present namespace: C++ and Python directories. The present + // namespace probably contains multiple classes, so its directories + // may have been created already, but that's fine. + if (specs.ProjectDir == "") { + nsdir = specs.GNDSDir + "/src/GNDStk"; + nsdirpy = specs.GNDSDir + "/python/src"; + } else { + nsdir = specs.ProjectDir + "/src/" + specs.ProjectDir; + nsdirpy = specs.ProjectDir + "/python/src"; + } + nsdir += "/" + specs.Version + "/" + nsname; + nsdirpy += "/" + specs.Version + "/" + nsname; + // For the present class: C++ source and test directories. + const std::string clsrc = nsdir + "/" + clname + "/src"; + const std::string cltest = nsdir + "/" + clname + "/test"; // Create the above directories, if (and only if) they don't already exist. system(("mkdir -p " + nsdir ).data()); @@ -1713,7 +1735,7 @@ void preprocessClass( // names are computed as part of the "information" for the maps just mentioned. void preprocessFiles(InfoSpecs &specs) { - action("Preprocessing input files"); + action("\nPreprocessing input files..."); // files for (const std::string &file : specs.JSONFiles) { const nlohmann::json jmain = readJSONFile(file,true); @@ -1722,6 +1744,7 @@ void preprocessFiles(InfoSpecs &specs) for (const auto &cl : jmain.items()) preprocessClass(specs, nsname, cl); } + action("Done preprocessing."); } // preprocessFiles @@ -1812,7 +1835,7 @@ void getClass( // getFiles void getFiles(InfoSpecs &specs) { - action("Creating classes"); + action("\nCreating classes..."); // files for (const std::string &file : specs.JSONFiles) { const nlohmann::json jmain = readJSONFile(file,true); @@ -1821,6 +1844,7 @@ void getFiles(InfoSpecs &specs) for (const auto &cl : jmain.items()) getClass(specs, nsname, cl); } + action("Done creating classes."); } // getFiles @@ -1872,8 +1896,15 @@ void fileGNDStkVersion(const InfoSpecs &specs) // Create an overarching file for this version writer out(specs.hppVersion); out(); - out("#ifndef NJOY_GNDSTK_@", allcaps(specs.VersionUnderscore)); - out("#define NJOY_GNDSTK_@", allcaps(specs.VersionUnderscore)); + if (specs.ProjectDir == "") { + out("#ifndef NJOY_GNDSTK_@", allcaps(specs.VersionUnderscore)); + out("#define NJOY_GNDSTK_@", allcaps(specs.VersionUnderscore)); + } else { + out("#ifndef GUARD_@_@", + allcaps(specs.ProjectDir), allcaps(specs.VersionUnderscore)); + out("#define GUARD_@_@", + allcaps(specs.ProjectDir), allcaps(specs.VersionUnderscore)); + } std::string nsname_last = ""; for (auto &c : specs.class2data) { @@ -1882,41 +1913,25 @@ void fileGNDStkVersion(const InfoSpecs &specs) if (nsname != nsname_last) out(); nsname_last = nsname; - out("#include \"GNDStk/@/@/@.hpp\"", specs.Version, nsname, clname); + if (specs.ProjectDir == "") + out("#include \"GNDStk/@/@/@.hpp\"", + specs.Version, nsname, clname); + else + out("#include \"@/@/@/@.hpp\"", + specs.ProjectDir, specs.Version, nsname, clname); } out(); - out("#include \"GNDStk/@/key.hpp\"", specs.Version); + if (specs.ProjectDir == "") + out("#include \"GNDStk/@/key.hpp\"", specs.Version); + else + out("#include \"@/@/key.hpp\"", specs.ProjectDir, specs.Version); out(); out("#endif"); } // fileGNDStkVersion -// fixme Reconsider the arrangement described here... // fileGNDStkKey -const std::string file_key_comment = -R"***( -This file contains Meta and Child objects for metadata and child nodes in the -current GNDS version. These may prove to be useful if you wish to use the Core -Interface in conjunction with the autogenerated classes for this GNDS version. - -Within the outer njoy::GNDStk::version namespace below, the remaining namespace -arrangement was chosen to make the use of these objects smooth and logical. - -Meta and Child objects are collectively called "keys." Meta keys are placed -into key::meta. Child keys correspond to autogenerated classes, each of which -is already in some namespace; we thus use theNamespace::key::child::. That way, -an autogenerated class [ns::Foo] has [ns::key::foo] as its Child object, and -a "using namespace ns" allows the class and the Child object to be [Foo] and -[key::foo], respectively. (If we reordered ns:: and key::, that wouldn't work.) - -Within key::, we use meta:: and child:: around Meta and Child objects, just in -case there exist any identical GNDS metadata names and child-node names. (That -can, in fact, happen). The "using namespace meta" and "using namespace child" -directives then make the Meta<> and Child<> objects appear directly in key::, -so that "meta::" and "child::" are needed only to disambiguate identical names. -)***"; - void fileGNDStkKey(const InfoSpecs &specs) { // ------------------------ @@ -1963,16 +1978,25 @@ void fileGNDStkKey(const InfoSpecs &specs) writer out(specs.hppKey); out(); - out("/*",false); - out(file_key_comment,false); - out("*/"); - out(); - out("#ifndef NJOY_GNDSTK_@_KEY", allcaps(specs.VersionUnderscore)); - out("#define NJOY_GNDSTK_@_KEY", allcaps(specs.VersionUnderscore)); + if (specs.ProjectDir == "") { + out("#ifndef NJOY_GNDSTK_@_KEY", allcaps(specs.VersionUnderscore)); + out("#define NJOY_GNDSTK_@_KEY", allcaps(specs.VersionUnderscore)); + } else { + out("#ifndef GUARD_@_@_KEY", + allcaps(specs.ProjectDir), allcaps(specs.VersionUnderscore)); + out("#define GUARD_@_@_KEY", + allcaps(specs.ProjectDir), allcaps(specs.VersionUnderscore)); + } out(); - out("namespace njoy {"); - out("namespace GNDStk {"); + if (specs.ProjectDir == "") { + out("namespace njoy {"); + out("namespace GNDStk {"); + } else { + out("namespace @ {", specs.ProjectDir); + } out("namespace @ {", specs.VersionUnderscore); + out(); + out("using namespace njoy::GNDStk::core;"); // ------------------------ // Meta<> objects @@ -2037,8 +2061,12 @@ void fileGNDStkKey(const InfoSpecs &specs) out(largeComment); out(); out("} // namespace @", specs.VersionUnderscore); - out("} // namespace GNDStk"); - out("} // namespace njoy"); + if (specs.ProjectDir == "") { + out("} // namespace GNDStk"); + out("} // namespace njoy"); + } else { + out("} // namespace @", specs.ProjectDir); + } out(); out("#endif"); } // fileGNDStkKey @@ -2050,35 +2078,56 @@ void fileGNDStkClass( ) { // class-specific hpp file writer out(per.hppGNDStk); - const std::string guard = - "NJOY_GNDSTK_" + allcaps(specs.VersionUnderscore) + "_" + - allcaps(per.nsname) + "_" + allcaps(per.clname); + std::string guard; + if (specs.ProjectDir == "") { + guard = "NJOY_GNDSTK_" + + allcaps(specs.VersionUnderscore) + "_" + + allcaps(per.nsname) + "_" + allcaps(per.clname); + } else { + guard = "GUARD_" + allcaps(specs.ProjectDir) + "_" + + allcaps(specs.VersionUnderscore) + "_" + + allcaps(per.nsname) + "_" + allcaps(per.clname); + } out(); out("#ifndef @", guard); out("#define @", guard); out(); - out("// core interface"); + out("// GNDStk Core Interface"); out("#include \"GNDStk.hpp\""); if (c2d.dependencies.size() > 0) { out(); - out("// @ dependencies", specs.Version); - for (const auto &dep : c2d.dependencies) - out("#include \"GNDStk/@/@/@.hpp\"", - specs.Version, dep.nsname, dep.clname); + out("// Dependencies"); + if (specs.ProjectDir == "") { + for (const auto &dep : c2d.dependencies) + out("#include \"GNDStk/@/@/@.hpp\"", + specs.Version, dep.nsname, dep.clname); + } else { + for (const auto &dep : c2d.dependencies) + out("#include \"@/@/@/@.hpp\"", + specs.ProjectDir, specs.Version, dep.nsname, dep.clname); + } } out(); - out("namespace njoy {"); - out("namespace GNDStk {"); + if (specs.ProjectDir == "") { + out("namespace njoy {"); + out("namespace GNDStk {"); + } else { + out("namespace @ {", specs.ProjectDir); + } out("namespace @ {", specs.VersionUnderscore); out(); out("using namespace njoy::GNDStk::core;"); out(per.code,false); out("} // namespace @", specs.VersionUnderscore); - out("} // namespace GNDStk"); - out("} // namespace njoy"); + if (specs.ProjectDir == "") { + out("} // namespace GNDStk"); + out("} // namespace njoy"); + } else { + out("} // namespace @", specs.ProjectDir); + } out(); out("#endif"); } // fileGNDStkClass @@ -2112,7 +2161,10 @@ void filePythonNamespace(const InfoSpecs &specs, const PerNamespace &per) out(1,"// create the @ submodule", per.nsname); out(1,"python::module submodule = module.def_submodule("); out(2,"\"@\",", per.nsname); - out(2,"\"GNDS @ @\"", specs.Version, per.nsname); + if (specs.ProjectDir == "") + out(2,"\"GNDS @ @\"", specs.Version, per.nsname); + else + out(2,"\"@ @ @\"", specs.ProjectDir, specs.Version, per.nsname); out(1,");"); out(); @@ -2201,7 +2253,12 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) out(); out("// local includes"); - out("#include \"GNDStk/@/@/@.hpp\"", specs.Version, nsname, clname); + if (specs.ProjectDir == "") + out("#include \"GNDStk/@/@/@.hpp\"", + specs.Version, nsname, clname); + else + out("#include \"@/@/@/@.hpp\"", + specs.ProjectDir, specs.Version, nsname, clname); out("#include \"definitions.hpp\""); out(); @@ -2216,8 +2273,13 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) out("// @ wrapper", clname); out("void wrap@(python::module &module)", clname); out("{"); - out(1,"using namespace njoy::GNDStk;"); - out(1,"using namespace njoy::GNDStk::@;", specs.VersionUnderscore); + if (specs.ProjectDir == "") { + out(1,"using namespace njoy::GNDStk;"); + out(1,"using namespace njoy::GNDStk::@;", specs.VersionUnderscore); + } else { + out(1,"using namespace @;", specs.ProjectDir); + out(1,"using namespace @::@;", specs.ProjectDir, specs.VersionUnderscore); + } out(); out(1,"// type aliases"); out(1,"using Component = @::@;", nsname, clname); diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index 9abe4a34a..636ac4ef4 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -60,12 +60,13 @@ class Component : public BodyText public: + #include "GNDStk/Component/src/read.hpp" + #include "GNDStk/Component/src/write.hpp" #include "GNDStk/Component/src/fromNode.hpp" #include "GNDStk/Component/src/sort.hpp" #include "GNDStk/Component/src/toNode.hpp" // conversion to Node - #include "GNDStk/Component/src/write.hpp" - // You can (but don't need to) override the following in DERIVED + // You can (but need not) override the following in DERIVED static std::string namespaceName() { return ""; } // derived @@ -86,10 +87,10 @@ class Component : public BodyText } } - // Component << std::string + // Component << string // Meaning: read the string's content (currently XML, JSON, or HDF5) into - // an object of the Component's DERIVED class. Uses Node's << std::string - // capability, which does most of the work. + // an object of the Component's DERIVED class. Uses Node's << string, which + // does most of the work. void operator<<(const std::string &str) { try { @@ -114,5 +115,5 @@ std::ostream &operator<<( std::ostream &os, const Component &obj ) { - return obj.write(os); + return obj.write(os,0); } diff --git a/src/GNDStk/Component/src/read.hpp b/src/GNDStk/Component/src/read.hpp new file mode 100644 index 000000000..af5556ff5 --- /dev/null +++ b/src/GNDStk/Component/src/read.hpp @@ -0,0 +1,54 @@ + +// ----------------------------------------------------------------------------- +// Component::read() +// Via Node, and using Node's available read() functions. +// So, autogenerated classes can directly use .read(...). +// ----------------------------------------------------------------------------- + +// read(istream, FileType) +std::istream &read( + std::istream &is, + FileType format = FileType::null, + const bool decl = false +) { + Node node; + std::istream &ret = node.read(is, format, decl); + derived() = DERIVED(node); + return ret; +} + +// read(file name, FileType) +bool read( + const std::string &filename, + const FileType format = FileType::null, + const bool decl = false +) { + Node node; + bool ret = node.read(filename, format, decl); + derived() = DERIVED(node); + return ret; +} + +// read(istream, string) +std::istream &read( + std::istream &is, + const std::string &format, + const bool decl = false +) { + Node node; + std::istream &ret = node.read(is, format, decl); + derived() = DERIVED(node); + return ret; +} + +// read(file name, string) +bool read( + const std::string &filename, + const std::string &format, + const bool decl = false +) { + Node node; + bool ret = node.read(filename, format, decl); + derived() = DERIVED(node); + return ret; +} diff --git a/src/GNDStk/Component/src/write.hpp b/src/GNDStk/Component/src/write.hpp index a2a8507bb..eeab38313 100644 --- a/src/GNDStk/Component/src/write.hpp +++ b/src/GNDStk/Component/src/write.hpp @@ -1,9 +1,9 @@ // ----------------------------------------------------------------------------- -// Component::write() +// Component::write(), for "prettyprinting" // ----------------------------------------------------------------------------- -std::ostream &write(std::ostream &os = std::cout, const int level = 0) const +std::ostream &write(std::ostream &os, const int level) const { try { // Indent, write header, newline @@ -79,7 +79,7 @@ std::ostream &write(std::ostream &os = std::cout, const int level = 0) const if constexpr (detail::hasWriteOneArg) { // DERIVED::write() doesn't take an indentation level; we handle here std::ostringstream tmp; - derived().write(tmp); + derived().write(tmp,0); if (tmp.str().size() != 0) os << indentTo(level+1); for (char c : tmp.str()) @@ -124,3 +124,46 @@ std::ostream &write(std::ostream &os = std::cout, const int level = 0) const throw; } } + + +// ----------------------------------------------------------------------------- +// Component::write() +// Via Node, and using Node's available write() functions. +// So, autogenerated classes can directly use .write(...). +// ----------------------------------------------------------------------------- + +// write(ostream, FileType) +std::ostream &write( + std::ostream &os = std::cout, + const FileType format = FileType::null, + const bool decl = false +) const { + return Node(*this).write(os, format, decl); +} + +// write(file name, FileType) +bool write( + const std::string &filename, + FileType format = FileType::null, + const bool decl = false +) const { + return Node(*this).write(filename, format, decl); +} + +// write(ostream, string) +std::ostream &write( + std::ostream &os, + const std::string &format, + const bool decl = false +) const { + return Node(*this).write(os, format, decl); +} + +// write(file name, string) +bool write( + const std::string &filename, + const std::string &format, + const bool decl = false +) const { + return Node(*this).write(filename, format, decl); +} diff --git a/src/GNDStk/Node.hpp b/src/GNDStk/Node.hpp index ec48ef4d4..10dab51eb 100644 --- a/src/GNDStk/Node.hpp +++ b/src/GNDStk/Node.hpp @@ -156,7 +156,7 @@ class Node { // ----------------------------------------------------------------------------- -// I/O +// Stream I/O // ----------------------------------------------------------------------------- // operator>> @@ -170,7 +170,25 @@ inline std::istream &operator>>(std::istream &is, Node &node) } } -// Node << std::string +// operator<< +inline std::ostream &operator<<(std::ostream &os, const Node &node) +{ + try { + return node.write(os); + } catch (...) { + log::function("ostream << Node"); + throw; + } +} + + +// ----------------------------------------------------------------------------- +// I/O with respect to a string +// The string is considered to have content that would otherwise be in a file. +// So, this is convenience for reading and writing, for instance, XML snippets. +// ----------------------------------------------------------------------------- + +// Node << string // Note that this is an INPUT operator to Node! // Treating the std::string as a "file" with XML, JSON, or HDF5 content, read it // into the Node. We return void, not the Node, so users don't incorrectly think @@ -180,20 +198,12 @@ inline void operator<<(Node &node, const std::string &str) { try { std::istringstream iss(str); - iss >> node; + node.read(iss); } catch (...) { log::function("Node << string"); throw; } } -// operator<< -inline std::ostream &operator<<(std::ostream &os, const Node &node) -{ - try { - return node.write(os); - } catch (...) { - log::function("ostream << Node"); - throw; - } -} +// string >> Node +// fixme Write and test this diff --git a/src/GNDStk/Node/src/write.hpp b/src/GNDStk/Node/src/write.hpp index 8116355eb..4bae62dff 100644 --- a/src/GNDStk/Node/src/write.hpp +++ b/src/GNDStk/Node/src/write.hpp @@ -19,10 +19,13 @@ // ----------------------------------------------------------------------------- +// Helper // write(ostream, int level) // For FileType::text // ----------------------------------------------------------------------------- +private: + std::ostream &write(std::ostream &os, const int level) const { // indentation: spaces for current and next levels @@ -66,10 +69,19 @@ std::ostream &write(std::ostream &os, const int level) const // ----------------------------------------------------------------------------- +// Helper // write(file name, int level) // For FileType::text // ----------------------------------------------------------------------------- +private: + +// fixme I noticed that this write() variant isn't used (other write() functions +// with filename go through ostream first, and call the earlier write() helper +// with const int level). Decide if there's any reason to keep it. If we do keep +// it, then it needs to be exercised in the test suite, which it isn't now. +#if 0 + bool write(const std::string &filename, const int level) const { // open file @@ -90,12 +102,16 @@ bool write(const std::string &filename, const int level) const return true; } +#endif + // ----------------------------------------------------------------------------- // 1. write(ostream, FileType) // ----------------------------------------------------------------------------- +public: + std::ostream &write( std::ostream &os = std::cout, const FileType format = FileType::null, @@ -161,6 +177,8 @@ std::ostream &write( // 2. write(file name, FileType) // ----------------------------------------------------------------------------- +public: + bool write( const std::string &filename, FileType format = FileType::null, @@ -235,6 +253,8 @@ bool write( // 3. write(ostream, string) // ----------------------------------------------------------------------------- +public: + std::ostream &write( std::ostream &os, const std::string &format, @@ -268,6 +288,8 @@ std::ostream &write( // 4. write(file name, string) // ----------------------------------------------------------------------------- +public: + bool write( const std::string &filename, const std::string &format, diff --git a/src/GNDStk/Support/src/detail.hpp b/src/GNDStk/Support/src/detail.hpp index db43f50c9..2738f12de 100644 --- a/src/GNDStk/Support/src/detail.hpp +++ b/src/GNDStk/Support/src/detail.hpp @@ -19,7 +19,7 @@ class MapTypeString { static inline const std::vector value = {""}; static bool find(const std::string &str) { - return std::find(value.begin(),value.end(),str) != value.end(); + return std::find(value.begin(), value.end(), str) != value.end(); } }; @@ -34,7 +34,7 @@ class MapTypeString { static inline const std::vector value = vec; \ static bool find(const std::string &str) \ { \ - return std::find(value.begin(),value.end(),str) != value.end(); \ + return std::find(value.begin(), value.end(), str) != value.end(); \ } \ } diff --git a/src/GNDStk/Tree.hpp b/src/GNDStk/Tree.hpp index def3aea56..8fb16b214 100644 --- a/src/GNDStk/Tree.hpp +++ b/src/GNDStk/Tree.hpp @@ -81,7 +81,7 @@ class Tree : public Node { // ----------------------------------------------------------------------------- -// I/O +// Stream I/O // ----------------------------------------------------------------------------- // operator>> @@ -95,27 +95,37 @@ inline std::istream &operator>>(std::istream &is, Tree &tree) } } -// Tree << std::string -// Note that this is an INPUT operator to Tree! -// Other comments as for Node << std::string -inline void operator<<(Tree &tree, const std::string &str) +// operator<< +inline std::ostream &operator<<(std::ostream &os, const Tree &tree) { try { - std::istringstream iss(str); - iss >> tree; + return tree.write(os); } catch (...) { - log::function("Tree << string"); + log::function("ostream << Tree"); throw; } } -// operator<< -inline std::ostream &operator<<(std::ostream &os, const Tree &tree) + +// ----------------------------------------------------------------------------- +// I/O with respect to a string +// As for Node. +// ----------------------------------------------------------------------------- + +// fixme Not currently tested +// Tree << string +// Note that this is an INPUT operator to Tree! +// Other comments as for Node << string +inline void operator<<(Tree &tree, const std::string &str) { try { - return tree.write(os); + std::istringstream iss(str); + tree.read(iss); } catch (...) { - log::function("ostream << Tree"); + log::function("Tree << string"); throw; } } + +// string >> Tree +// fixme Write and test this From 017790812051618faaa84e3faa4c02e077b399b8 Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Wed, 17 Nov 2021 11:17:04 -0700 Subject: [PATCH 027/235] Saving work --- CMakeLists.txt | 92 +++ python/src/v2.0/GNDS.python.cpp | 8 + python/src/v2.0/abstract.python.cpp | 37 + .../src/v2.0/abstract/Functional.python.cpp | 98 +++ python/src/v2.0/abstract/Label.python.cpp | 56 ++ .../v2.0/abstract/PhysicalQuantity.python.cpp | 84 ++ python/src/v2.0/abstract/Text.python.cpp | 106 +++ python/src/v2.0/appData.python.cpp | 37 + .../v2.0/appData/ApplicationData.python.cpp | 56 ++ python/src/v2.0/appData/Conversion.python.cpp | 63 ++ .../appData/ENDFconversionFlags.python.cpp | 56 ++ .../src/v2.0/appData/Institution.python.cpp | 63 ++ python/src/v2.0/atomic.python.cpp | 41 + .../CoherentPhotonScattering.python.cpp | 98 +++ python/src/v2.0/atomic/FormFactor.python.cpp | 63 ++ .../ImaginaryAnomalousFactor.python.cpp | 63 ++ .../IncoherentPhotonScattering.python.cpp | 84 ++ .../atomic/RealAnomalousFactor.python.cpp | 63 ++ .../v2.0/atomic/ScatteringFactor.python.cpp | 63 ++ python/src/v2.0/common.python.cpp | 47 ++ python/src/v2.0/common/Energy.python.cpp | 56 ++ .../src/v2.0/common/ExternalFile.python.cpp | 77 ++ .../src/v2.0/common/ExternalFiles.python.cpp | 56 ++ python/src/v2.0/common/Mass.python.cpp | 56 ++ python/src/v2.0/common/Probability.python.cpp | 56 ++ python/src/v2.0/common/Product.python.cpp | 84 ++ python/src/v2.0/common/Products.python.cpp | 56 ++ python/src/v2.0/common/Q.python.cpp | 88 ++ python/src/v2.0/common/Temperature.python.cpp | 63 ++ python/src/v2.0/containers.python.cpp | 4 +- python/src/v2.0/containers/Double.python.cpp | 2 +- .../src/v2.0/containers/Fraction.python.cpp | 4 +- python/src/v2.0/containers/Integer.python.cpp | 4 +- python/src/v2.0/covariance.python.cpp | 73 ++ .../AverageParameterCovariance.python.cpp | 92 +++ .../src/v2.0/covariance/ColumnData.python.cpp | 77 ++ .../covariance/ColumnSensitivity.python.cpp | 56 ++ .../src/v2.0/covariance/Covariance.python.cpp | 56 ++ .../covariance/CovarianceMatrix.python.cpp | 91 +++ .../covariance/CovarianceSection.python.cpp | 104 +++ .../covariance/CovarianceSections.python.cpp | 56 ++ .../covariance/CovarianceSuite.python.cpp | 112 +++ python/src/v2.0/covariance/Mixed.python.cpp | 77 ++ .../ParameterCovariancMatrix.python.cpp | 77 ++ .../covariance/ParameterCovariance.python.cpp | 70 ++ .../ParameterCovariances.python.cpp | 63 ++ .../v2.0/covariance/ParameterLink.python.cpp | 77 ++ .../src/v2.0/covariance/Parameters.python.cpp | 56 ++ python/src/v2.0/covariance/RowData.python.cpp | 77 ++ .../v2.0/covariance/RowSensitivity.python.cpp | 56 ++ .../covariance/SandwichProduct.python.cpp | 77 ++ .../ShortRangeSelfScalingVariance.python.cpp | 77 ++ python/src/v2.0/covariance/Slice.python.cpp | 84 ++ python/src/v2.0/covariance/Slices.python.cpp | 56 ++ python/src/v2.0/covariance/Sum.python.cpp | 84 ++ python/src/v2.0/covariance/Summand.python.cpp | 70 ++ python/src/v2.0/cpTransport.python.cpp | 43 + .../CoulombPlusNuclearElastic.python.cpp | 105 +++ .../ImaginaryInterferenceTerm.python.cpp | 63 ++ .../NuclearAmplitudeExpansion.python.cpp | 70 ++ .../NuclearPlusInterference.python.cpp | 70 ++ .../v2.0/cpTransport/NuclearTerm.python.cpp | 63 ++ .../RealInterferenceTerm.python.cpp | 63 ++ .../RutherfordScattering.python.cpp | 49 ++ python/src/v2.0/documentation.python.cpp | 89 +++ .../documentation/Acknowledgement.python.cpp | 56 ++ .../documentation/Acknowledgements.python.cpp | 56 ++ .../v2.0/documentation/Affiliation.python.cpp | 63 ++ .../documentation/Affiliations.python.cpp | 56 ++ .../src/v2.0/documentation/Author.python.cpp | 77 ++ .../src/v2.0/documentation/Authors.python.cpp | 56 ++ .../src/v2.0/documentation/Bibitem.python.cpp | 56 ++ .../documentation/Bibliography.python.cpp | 56 ++ python/src/v2.0/documentation/Body.python.cpp | 49 ++ .../v2.0/documentation/CodeRepo.python.cpp | 70 ++ .../documentation/Collaboration.python.cpp | 63 ++ .../documentation/Collaborations.python.cpp | 56 ++ .../documentation/ComputerCode.python.cpp | 84 ++ .../documentation/ComputerCodes.python.cpp | 56 ++ .../v2.0/documentation/Contributor.python.cpp | 84 ++ .../documentation/Contributors.python.cpp | 56 ++ .../v2.0/documentation/Copyright.python.cpp | 56 ++ .../documentation/CorrectionScript.python.cpp | 49 ++ .../documentation/CovarianceScript.python.cpp | 49 ++ python/src/v2.0/documentation/Date.python.cpp | 92 +++ .../src/v2.0/documentation/Dates.python.cpp | 56 ++ .../documentation/Documentation.python.cpp | 147 ++++ .../documentation/EndfCompatible.python.cpp | 49 ++ .../ExecutionArguments.python.cpp | 49 ++ .../documentation/ExforDataSet.python.cpp | 63 ++ .../documentation/ExforDataSets.python.cpp | 56 ++ .../ExperimentalDataSets.python.cpp | 56 ++ .../v2.0/documentation/InputDeck.python.cpp | 56 ++ .../v2.0/documentation/InputDecks.python.cpp | 56 ++ .../src/v2.0/documentation/Keyword.python.cpp | 56 ++ .../v2.0/documentation/Keywords.python.cpp | 56 ++ python/src/v2.0/documentation/Note.python.cpp | 49 ++ .../v2.0/documentation/OutputDeck.python.cpp | 56 ++ .../v2.0/documentation/OutputDecks.python.cpp | 56 ++ .../v2.0/documentation/RelatedItem.python.cpp | 70 ++ .../documentation/RelatedItems.python.cpp | 56 ++ .../src/v2.0/documentation/Version.python.cpp | 49 ++ .../src/v2.0/fissionFragmentData.python.cpp | 37 + .../FissionFragmentData.python.cpp | 70 ++ .../v2.0/fissionFragmentData/Rate.python.cpp | 56 ++ python/src/v2.0/fissionTransport.python.cpp | 67 ++ python/src/v2.0/fissionTransport/B.python.cpp | 49 ++ .../DelayedBetaEnergy.python.cpp | 56 ++ .../DelayedGammaEnergy.python.cpp | 56 ++ .../DelayedNeutronKE.python.cpp | 63 ++ .../src/v2.0/fissionTransport/EFH.python.cpp | 63 ++ .../src/v2.0/fissionTransport/EFL.python.cpp | 63 ++ .../FissionComponent.python.cpp | 84 ++ .../FissionComponents.python.cpp | 56 ++ .../FissionEnergyReleased.python.cpp | 119 +++ .../fissionTransport/MadlandNix.python.cpp | 70 ++ .../NeutrinoEnergy.python.cpp | 56 ++ .../NonNeutrinoEnergy.python.cpp | 56 ++ .../PromptGammaEnergy.python.cpp | 63 ++ .../PromptNeutronKE.python.cpp | 63 ++ .../PromptProductKE.python.cpp | 63 ++ .../SimpleMaxwellianFission.python.cpp | 63 ++ .../src/v2.0/fissionTransport/T_M.python.cpp | 56 ++ .../fissionTransport/TotalEnergy.python.cpp | 56 ++ .../src/v2.0/fissionTransport/Watt.python.cpp | 70 ++ python/src/v2.0/fpy.python.cpp | 49 ++ python/src/v2.0/fpy/ElapsedTime.python.cpp | 84 ++ python/src/v2.0/fpy/ElapsedTimes.python.cpp | 56 ++ python/src/v2.0/fpy/Energy.python.cpp | 56 ++ .../src/v2.0/fpy/IncidentEnergies.python.cpp | 56 ++ python/src/v2.0/fpy/IncidentEnergy.python.cpp | 70 ++ python/src/v2.0/fpy/Nuclides.python.cpp | 92 +++ python/src/v2.0/fpy/ProductYield.python.cpp | 70 ++ python/src/v2.0/fpy/ProductYields.python.cpp | 56 ++ python/src/v2.0/fpy/Time.python.cpp | 70 ++ python/src/v2.0/fpy/Yields.python.cpp | 63 ++ python/src/v2.0/pops.python.cpp | 129 +++ python/src/v2.0/pops/Alias.python.cpp | 63 ++ python/src/v2.0/pops/Aliases.python.cpp | 63 ++ python/src/v2.0/pops/Atomic.python.cpp | 56 ++ .../src/v2.0/pops/AverageEnergies.python.cpp | 56 ++ python/src/v2.0/pops/AverageEnergy.python.cpp | 70 ++ python/src/v2.0/pops/Baryon.python.cpp | 98 +++ python/src/v2.0/pops/Baryons.python.cpp | 56 ++ python/src/v2.0/pops/Charge.python.cpp | 70 ++ .../src/v2.0/pops/ChemicalElement.python.cpp | 84 ++ .../src/v2.0/pops/ChemicalElements.python.cpp | 56 ++ python/src/v2.0/pops/Configuration.python.cpp | 77 ++ .../src/v2.0/pops/Configurations.python.cpp | 56 ++ python/src/v2.0/pops/Continuum.python.cpp | 56 ++ python/src/v2.0/pops/Decay.python.cpp | 77 ++ python/src/v2.0/pops/DecayData.python.cpp | 63 ++ python/src/v2.0/pops/DecayMode.python.cpp | 105 +++ python/src/v2.0/pops/DecayModes.python.cpp | 56 ++ python/src/v2.0/pops/DecayPath.python.cpp | 56 ++ python/src/v2.0/pops/Discrete.python.cpp | 91 +++ python/src/v2.0/pops/Energy.python.cpp | 70 ++ python/src/v2.0/pops/GaugeBoson.python.cpp | 98 +++ python/src/v2.0/pops/GaugeBosons.python.cpp | 56 ++ python/src/v2.0/pops/Halflife.python.cpp | 70 ++ python/src/v2.0/pops/Intensity.python.cpp | 56 ++ .../InternalConversionCoefficients.python.cpp | 56 ++ ...nternalPairFormationCoefficient.python.cpp | 63 ++ python/src/v2.0/pops/Isotope.python.cpp | 70 ++ python/src/v2.0/pops/Isotopes.python.cpp | 56 ++ python/src/v2.0/pops/Lepton.python.cpp | 105 +++ python/src/v2.0/pops/Leptons.python.cpp | 56 ++ python/src/v2.0/pops/Mass.python.cpp | 56 ++ python/src/v2.0/pops/MetaStable.python.cpp | 70 ++ python/src/v2.0/pops/Nucleus.python.cpp | 112 +++ python/src/v2.0/pops/Nuclide.python.cpp | 105 +++ python/src/v2.0/pops/Nuclides.python.cpp | 56 ++ python/src/v2.0/pops/Parity.python.cpp | 56 ++ .../PhotonEmissionProbabilities.python.cpp | 56 ++ python/src/v2.0/pops/PoPs.python.cpp | 126 +++ python/src/v2.0/pops/Probability.python.cpp | 56 ++ python/src/v2.0/pops/Product.python.cpp | 63 ++ python/src/v2.0/pops/Products.python.cpp | 56 ++ python/src/v2.0/pops/Q.python.cpp | 56 ++ python/src/v2.0/pops/Shell.python.cpp | 70 ++ python/src/v2.0/pops/Spectra.python.cpp | 56 ++ python/src/v2.0/pops/Spectrum.python.cpp | 77 ++ python/src/v2.0/pops/Spin.python.cpp | 56 ++ python/src/v2.0/pops/Unorthodox.python.cpp | 70 ++ python/src/v2.0/pops/Unorthodoxes.python.cpp | 56 ++ python/src/v2.0/processed.python.cpp | 43 + .../v2.0/processed/AngularEnergyMC.python.cpp | 77 ++ .../v2.0/processed/AvailableEnergy.python.cpp | 63 ++ .../processed/AvailableMomentum.python.cpp | 63 ++ .../processed/AverageProductEnergy.python.cpp | 63 ++ .../AverageProductMomentum.python.cpp | 63 ++ .../v2.0/processed/EnergyAngularMC.python.cpp | 77 ++ .../v2.0/processed/MultiGroup3d.python.cpp | 70 ++ python/src/v2.0/resonances.python.cpp | 79 ++ .../v2.0/resonances/BreitWigner.python.cpp | 105 +++ python/src/v2.0/resonances/Channel.python.cpp | 112 +++ .../src/v2.0/resonances/Channels.python.cpp | 56 ++ .../v2.0/resonances/EnergyInterval.python.cpp | 98 +++ .../resonances/EnergyIntervals.python.cpp | 63 ++ .../resonances/ExternalRMatrix.python.cpp | 63 ++ .../resonances/HardSphereRadius.python.cpp | 56 ++ python/src/v2.0/resonances/J.python.cpp | 77 ++ python/src/v2.0/resonances/Js.python.cpp | 56 ++ python/src/v2.0/resonances/L.python.cpp | 70 ++ .../v2.0/resonances/LevelSpacing.python.cpp | 70 ++ python/src/v2.0/resonances/Ls.python.cpp | 56 ++ python/src/v2.0/resonances/RMatrix.python.cpp | 126 +++ .../src/v2.0/resonances/Resolved.python.cpp | 97 +++ .../resonances/ResonanceParameters.python.cpp | 56 ++ .../resonances/ResonanceReaction.python.cpp | 105 +++ .../resonances/ResonanceReactions.python.cpp | 56 ++ .../src/v2.0/resonances/Resonances.python.cpp | 84 ++ .../resonances/ScatteringRadius.python.cpp | 76 ++ .../src/v2.0/resonances/SpinGroup.python.cpp | 84 ++ .../src/v2.0/resonances/SpinGroups.python.cpp | 56 ++ .../resonances/TabulatedWidths.python.cpp | 105 +++ .../src/v2.0/resonances/Unresolved.python.cpp | 85 ++ python/src/v2.0/resonances/Width.python.cpp | 84 ++ python/src/v2.0/resonances/Widths.python.cpp | 56 ++ python/src/v2.0/styles.python.cpp | 77 ++ ...ngularDistributionReconstructed.python.cpp | 84 ++ .../v2.0/styles/AverageProductData.python.cpp | 84 ++ python/src/v2.0/styles/Bondarenko.python.cpp | 77 ++ ...ulombPlusNuclearElasticMuCutoff.python.cpp | 77 ++ .../CrossSectionReconstructed.python.cpp | 84 ++ .../v2.0/styles/EqualProbableBins.python.cpp | 77 ++ python/src/v2.0/styles/Evaluated.python.cpp | 105 +++ python/src/v2.0/styles/Flux.python.cpp | 63 ++ .../styles/GriddedCrossSection.python.cpp | 84 ++ python/src/v2.0/styles/Heated.python.cpp | 84 ++ .../v2.0/styles/HeatedMultiGroup.python.cpp | 91 +++ .../src/v2.0/styles/InverseSpeed.python.cpp | 56 ++ .../src/v2.0/styles/MonteCarlo_cdf.python.cpp | 77 ++ python/src/v2.0/styles/MultiBand.python.cpp | 77 ++ python/src/v2.0/styles/MultiGroup.python.cpp | 63 ++ .../styles/ProjectileEnergyDomain.python.cpp | 70 ++ python/src/v2.0/styles/Realization.python.cpp | 70 ++ python/src/v2.0/styles/SigmaZeros.python.cpp | 56 ++ .../v2.0/styles/SnElasticUpScatter.python.cpp | 77 ++ python/src/v2.0/styles/Styles.python.cpp | 119 +++ python/src/v2.0/styles/Temperature.python.cpp | 63 ++ .../src/v2.0/styles/Transportable.python.cpp | 70 ++ .../src/v2.0/styles/Transportables.python.cpp | 56 ++ .../styles/URR_probabilityTables.python.cpp | 70 ++ python/src/v2.0/transport.python.cpp | 145 ++++ python/src/v2.0/transport/A.python.cpp | 70 ++ python/src/v2.0/transport/Add.python.cpp | 56 ++ python/src/v2.0/transport/Angular.python.cpp | 70 ++ .../v2.0/transport/AngularEnergy.python.cpp | 70 ++ .../v2.0/transport/AngularTwoBody.python.cpp | 91 +++ .../src/v2.0/transport/Background.python.cpp | 70 ++ .../src/v2.0/transport/Branching1d.python.cpp | 56 ++ .../src/v2.0/transport/Branching3d.python.cpp | 63 ++ .../v2.0/transport/CoherentPhoton.python.cpp | 49 ++ .../v2.0/transport/CrossSection.python.cpp | 112 +++ .../v2.0/transport/CrossSectionSum.python.cpp | 84 ++ .../transport/CrossSectionSums.python.cpp | 56 ++ .../v2.0/transport/DiscreteGamma.python.cpp | 77 ++ .../v2.0/transport/Distribution.python.cpp | 148 ++++ .../DoubleDifferentialCrossSection.python.cpp | 112 +++ python/src/v2.0/transport/Energy.python.cpp | 126 +++ .../v2.0/transport/EnergyAngular.python.cpp | 70 ++ .../src/v2.0/transport/Evaporation.python.cpp | 63 ++ python/src/v2.0/transport/F.python.cpp | 70 ++ .../src/v2.0/transport/FastRegion.python.cpp | 70 ++ python/src/v2.0/transport/Forward.python.cpp | 49 ++ python/src/v2.0/transport/G.python.cpp | 63 ++ .../transport/GeneralEvaporation.python.cpp | 70 ++ .../transport/IncoherentPhoton.python.cpp | 49 ++ .../transport/IncompleteReactions.python.cpp | 56 ++ .../src/v2.0/transport/Isotropic2d.python.cpp | 49 ++ .../src/v2.0/transport/KalbachMann.python.cpp | 84 ++ .../v2.0/transport/Multiplicity.python.cpp | 100 +++ .../v2.0/transport/MultiplicitySum.python.cpp | 77 ++ .../transport/MultiplicitySums.python.cpp | 56 ++ .../v2.0/transport/NBodyPhaseSpace.python.cpp | 63 ++ .../v2.0/transport/OrphanProduct.python.cpp | 77 ++ .../v2.0/transport/OrphanProducts.python.cpp | 56 ++ .../v2.0/transport/OutputChannel.python.cpp | 84 ++ .../PhotonEmissionProbabilities.python.cpp | 56 ++ .../v2.0/transport/PrimaryGamma.python.cpp | 84 ++ .../src/v2.0/transport/Production.python.cpp | 77 ++ .../src/v2.0/transport/Productions.python.cpp | 56 ++ python/src/v2.0/transport/R.python.cpp | 70 ++ python/src/v2.0/transport/Reaction.python.cpp | 91 +++ .../v2.0/transport/ReactionSuite.python.cpp | 168 ++++ .../src/v2.0/transport/Reactions.python.cpp | 56 ++ python/src/v2.0/transport/Recoil.python.cpp | 56 ++ .../src/v2.0/transport/Reference.python.cpp | 63 ++ .../v2.0/transport/ResolvedRegion.python.cpp | 70 ++ .../src/v2.0/transport/Resonances.python.cpp | 63 ++ .../ResonancesWithBackground.python.cpp | 77 ++ .../transport/ScatteringMatrix.python.cpp | 70 ++ python/src/v2.0/transport/Summands.python.cpp | 56 ++ python/src/v2.0/transport/Sums.python.cpp | 63 ++ python/src/v2.0/transport/Theta.python.cpp | 63 ++ python/src/v2.0/transport/U.python.cpp | 63 ++ .../URR_probabilityTables1d.python.cpp | 77 ++ .../v2.0/transport/Uncorrelated.python.cpp | 77 ++ .../transport/UnresolvedRegion.python.cpp | 70 ++ .../src/v2.0/transport/Unspecified.python.cpp | 63 ++ python/src/v2.0/transport/Weighted.python.cpp | 98 +++ .../transport/WeightedFunctionals.python.cpp | 56 ++ python/src/v2.0/tsl.python.cpp | 75 ++ .../v2.0/tsl/BoundAtomCrossSection.python.cpp | 63 ++ python/src/v2.0/tsl/BraggEdge.python.cpp | 70 ++ python/src/v2.0/tsl/BraggEdges.python.cpp | 56 ++ python/src/v2.0/tsl/BraggEnergy.python.cpp | 56 ++ .../tsl/CoherentAtomCrossSection.python.cpp | 63 ++ .../v2.0/tsl/DebyeWallerIntegral.python.cpp | 56 ++ .../tsl/DistinctScatteringKernel.python.cpp | 56 ++ python/src/v2.0/tsl/E_critical.python.cpp | 63 ++ python/src/v2.0/tsl/E_max.python.cpp | 63 ++ python/src/v2.0/tsl/PhononSpectrum.python.cpp | 56 ++ python/src/v2.0/tsl/S_table.python.cpp | 56 ++ python/src/v2.0/tsl/ScatteringAtom.python.cpp | 119 +++ .../src/v2.0/tsl/ScatteringAtoms.python.cpp | 56 ++ .../v2.0/tsl/SelfScatteringKernel.python.cpp | 84 ++ ...ringKernelGaussianApproximation.python.cpp | 56 ++ ...catteringKernelSCTApproximation.python.cpp | 56 ++ .../src/v2.0/tsl/StructureFactor.python.cpp | 56 ++ python/src/v2.0/tsl/T_effective.python.cpp | 56 ++ .../ThermalNeutronScatteringLaw.python.cpp | 63 ++ .../ThermalNeutronScatteringLaw1d.python.cpp | 63 ++ ...onScatteringLaw_coherentElastic.python.cpp | 91 +++ ...ScatteringLaw_incoherentElastic.python.cpp | 84 ++ ...atteringLaw_incoherentInelastic.python.cpp | 91 +++ src/GNDStk/v2.0.hpp | 317 ++++++++ src/GNDStk/v2.0/abstract/Functional.hpp | 288 +++++++ .../v2.0/abstract/Functional/src/custom.hpp | 4 + src/GNDStk/v2.0/abstract/Label.hpp | 176 ++++ src/GNDStk/v2.0/abstract/Label/src/custom.hpp | 4 + src/GNDStk/v2.0/abstract/PhysicalQuantity.hpp | 262 ++++++ .../abstract/PhysicalQuantity/src/custom.hpp | 4 + src/GNDStk/v2.0/abstract/Text.hpp | 237 ++++++ src/GNDStk/v2.0/abstract/Text/src/custom.hpp | 4 + src/GNDStk/v2.0/appData/ApplicationData.hpp | 179 +++++ .../appData/ApplicationData/src/custom.hpp | 4 + src/GNDStk/v2.0/appData/Conversion.hpp | 196 +++++ .../v2.0/appData/Conversion/src/custom.hpp | 4 + .../v2.0/appData/ENDFconversionFlags.hpp | 179 +++++ .../ENDFconversionFlags/src/custom.hpp | 4 + src/GNDStk/v2.0/appData/Institution.hpp | 201 +++++ .../v2.0/appData/Institution/src/custom.hpp | 4 + .../v2.0/atomic/CoherentPhotonScattering.hpp | 303 +++++++ .../CoherentPhotonScattering/src/custom.hpp | 4 + src/GNDStk/v2.0/atomic/FormFactor.hpp | 200 +++++ .../v2.0/atomic/FormFactor/src/custom.hpp | 4 + .../v2.0/atomic/ImaginaryAnomalousFactor.hpp | 200 +++++ .../ImaginaryAnomalousFactor/src/custom.hpp | 4 + .../atomic/IncoherentPhotonScattering.hpp | 261 ++++++ .../IncoherentPhotonScattering/src/custom.hpp | 4 + .../v2.0/atomic/RealAnomalousFactor.hpp | 200 +++++ .../atomic/RealAnomalousFactor/src/custom.hpp | 4 + src/GNDStk/v2.0/atomic/ScatteringFactor.hpp | 200 +++++ .../atomic/ScatteringFactor/src/custom.hpp | 4 + src/GNDStk/v2.0/common/Energy.hpp | 207 +++++ src/GNDStk/v2.0/common/Energy/src/custom.hpp | 4 + src/GNDStk/v2.0/common/ExternalFile.hpp | 236 ++++++ .../v2.0/common/ExternalFile/src/custom.hpp | 4 + src/GNDStk/v2.0/common/ExternalFiles.hpp | 207 +++++ .../v2.0/common/ExternalFiles/src/custom.hpp | 4 + src/GNDStk/v2.0/common/Mass.hpp | 207 +++++ src/GNDStk/v2.0/common/Mass/src/custom.hpp | 4 + src/GNDStk/v2.0/common/Probability.hpp | 179 +++++ .../v2.0/common/Probability/src/custom.hpp | 4 + src/GNDStk/v2.0/common/Product.hpp | 263 ++++++ src/GNDStk/v2.0/common/Product/src/custom.hpp | 4 + src/GNDStk/v2.0/common/Products.hpp | 207 +++++ .../v2.0/common/Products/src/custom.hpp | 4 + src/GNDStk/v2.0/common/Q.hpp | 240 ++++++ src/GNDStk/v2.0/common/Q/src/custom.hpp | 4 + src/GNDStk/v2.0/common/Temperature.hpp | 196 +++++ .../v2.0/common/Temperature/src/custom.hpp | 4 + src/GNDStk/v2.0/containers/Double.hpp | 16 +- src/GNDStk/v2.0/containers/Fraction.hpp | 31 +- src/GNDStk/v2.0/containers/Integer.hpp | 31 +- .../covariance/AverageParameterCovariance.hpp | 277 +++++++ .../AverageParameterCovariance/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/ColumnData.hpp | 241 ++++++ .../v2.0/covariance/ColumnData/src/custom.hpp | 4 + .../v2.0/covariance/ColumnSensitivity.hpp | 179 +++++ .../ColumnSensitivity/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/Covariance.hpp | 179 +++++ .../v2.0/covariance/Covariance/src/custom.hpp | 4 + .../v2.0/covariance/CovarianceMatrix.hpp | 266 ++++++ .../CovarianceMatrix/src/custom.hpp | 4 + .../v2.0/covariance/CovarianceSection.hpp | 305 +++++++ .../CovarianceSection/src/custom.hpp | 4 + .../v2.0/covariance/CovarianceSections.hpp | 207 +++++ .../CovarianceSections/src/custom.hpp | 4 + .../v2.0/covariance/CovarianceSuite.hpp | 344 ++++++++ .../covariance/CovarianceSuite/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/Mixed.hpp | 327 ++++++++ .../v2.0/covariance/Mixed/src/custom.hpp | 4 + .../covariance/ParameterCovariancMatrix.hpp | 242 ++++++ .../ParameterCovariancMatrix/src/custom.hpp | 4 + .../v2.0/covariance/ParameterCovariance.hpp | 250 ++++++ .../ParameterCovariance/src/custom.hpp | 4 + .../v2.0/covariance/ParameterCovariances.hpp | 256 ++++++ .../ParameterCovariances/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/ParameterLink.hpp | 243 ++++++ .../covariance/ParameterLink/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/Parameters.hpp | 207 +++++ .../v2.0/covariance/Parameters/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/RowData.hpp | 241 ++++++ .../v2.0/covariance/RowData/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/RowSensitivity.hpp | 179 +++++ .../covariance/RowSensitivity/src/custom.hpp | 4 + .../v2.0/covariance/SandwichProduct.hpp | 242 ++++++ .../covariance/SandwichProduct/src/custom.hpp | 4 + .../ShortRangeSelfScalingVariance.hpp | 241 ++++++ .../src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/Slice.hpp | 256 ++++++ .../v2.0/covariance/Slice/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/Slices.hpp | 207 +++++ .../v2.0/covariance/Slices/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/Sum.hpp | 289 +++++++ src/GNDStk/v2.0/covariance/Sum/src/custom.hpp | 4 + src/GNDStk/v2.0/covariance/Summand.hpp | 216 +++++ .../v2.0/covariance/Summand/src/custom.hpp | 4 + .../cpTransport/CoulombPlusNuclearElastic.hpp | 327 ++++++++ .../CoulombPlusNuclearElastic/src/custom.hpp | 4 + .../cpTransport/ImaginaryInterferenceTerm.hpp | 200 +++++ .../ImaginaryInterferenceTerm/src/custom.hpp | 4 + .../cpTransport/NuclearAmplitudeExpansion.hpp | 221 +++++ .../NuclearAmplitudeExpansion/src/custom.hpp | 4 + .../cpTransport/NuclearPlusInterference.hpp | 222 ++++++ .../NuclearPlusInterference/src/custom.hpp | 4 + src/GNDStk/v2.0/cpTransport/NuclearTerm.hpp | 200 +++++ .../cpTransport/NuclearTerm/src/custom.hpp | 4 + .../v2.0/cpTransport/RealInterferenceTerm.hpp | 200 +++++ .../RealInterferenceTerm/src/custom.hpp | 4 + .../v2.0/cpTransport/RutherfordScattering.hpp | 130 +++ .../RutherfordScattering/src/custom.hpp | 4 + .../v2.0/documentation/Acknowledgement.hpp | 176 ++++ .../Acknowledgement/src/custom.hpp | 4 + .../v2.0/documentation/Acknowledgements.hpp | 207 +++++ .../Acknowledgements/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Affiliation.hpp | 196 +++++ .../documentation/Affiliation/src/custom.hpp | 4 + .../v2.0/documentation/Affiliations.hpp | 207 +++++ .../documentation/Affiliations/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Author.hpp | 241 ++++++ .../v2.0/documentation/Author/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Authors.hpp | 207 +++++ .../v2.0/documentation/Authors/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Bibitem.hpp | 176 ++++ .../v2.0/documentation/Bibitem/src/custom.hpp | 4 + .../v2.0/documentation/Bibliography.hpp | 207 +++++ .../documentation/Bibliography/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Body.hpp | 130 +++ .../v2.0/documentation/Body/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/CodeRepo.hpp | 216 +++++ .../documentation/CodeRepo/src/custom.hpp | 4 + .../v2.0/documentation/Collaboration.hpp | 196 +++++ .../Collaboration/src/custom.hpp | 4 + .../v2.0/documentation/Collaborations.hpp | 207 +++++ .../Collaborations/src/custom.hpp | 4 + .../v2.0/documentation/ComputerCode.hpp | 263 ++++++ .../documentation/ComputerCode/src/custom.hpp | 4 + .../v2.0/documentation/ComputerCodes.hpp | 207 +++++ .../ComputerCodes/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Contributor.hpp | 261 ++++++ .../documentation/Contributor/src/custom.hpp | 4 + .../v2.0/documentation/Contributors.hpp | 207 +++++ .../documentation/Contributors/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Copyright.hpp | 176 ++++ .../documentation/Copyright/src/custom.hpp | 4 + .../v2.0/documentation/CorrectionScript.hpp | 130 +++ .../CorrectionScript/src/custom.hpp | 4 + .../v2.0/documentation/CovarianceScript.hpp | 130 +++ .../CovarianceScript/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Date.hpp | 188 +++++ .../v2.0/documentation/Date/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Dates.hpp | 207 +++++ .../v2.0/documentation/Dates/src/custom.hpp | 4 + .../v2.0/documentation/Documentation.hpp | 451 +++++++++++ .../Documentation/src/custom.hpp | 4 + .../v2.0/documentation/EndfCompatible.hpp | 130 +++ .../EndfCompatible/src/custom.hpp | 4 + .../v2.0/documentation/ExecutionArguments.hpp | 130 +++ .../ExecutionArguments/src/custom.hpp | 4 + .../v2.0/documentation/ExforDataSet.hpp | 196 +++++ .../documentation/ExforDataSet/src/custom.hpp | 4 + .../v2.0/documentation/ExforDataSets.hpp | 207 +++++ .../ExforDataSets/src/custom.hpp | 4 + .../documentation/ExperimentalDataSets.hpp | 179 +++++ .../ExperimentalDataSets/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/InputDeck.hpp | 176 ++++ .../documentation/InputDeck/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/InputDecks.hpp | 207 +++++ .../documentation/InputDecks/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Keyword.hpp | 176 ++++ .../v2.0/documentation/Keyword/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Keywords.hpp | 207 +++++ .../documentation/Keywords/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Note.hpp | 130 +++ .../v2.0/documentation/Note/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/OutputDeck.hpp | 176 ++++ .../documentation/OutputDeck/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/OutputDecks.hpp | 207 +++++ .../documentation/OutputDecks/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/RelatedItem.hpp | 216 +++++ .../documentation/RelatedItem/src/custom.hpp | 4 + .../v2.0/documentation/RelatedItems.hpp | 207 +++++ .../documentation/RelatedItems/src/custom.hpp | 4 + src/GNDStk/v2.0/documentation/Version.hpp | 130 +++ .../v2.0/documentation/Version/src/custom.hpp | 4 + .../DelayedNeutron/src/custom.hpp | 4 + .../DelayedNeutrons/src/custom.hpp | 4 + .../FissionFragmentData.hpp | 221 +++++ .../FissionFragmentData/src/custom.hpp | 4 + src/GNDStk/v2.0/fissionFragmentData/Rate.hpp | 179 +++++ .../fissionFragmentData/Rate/src/custom.hpp | 4 + src/GNDStk/v2.0/fissionTransport/B.hpp | 130 +++ .../v2.0/fissionTransport/B/src/custom.hpp | 4 + .../fissionTransport/DelayedBetaEnergy.hpp | 179 +++++ .../DelayedBetaEnergy/src/custom.hpp | 4 + .../fissionTransport/DelayedGammaEnergy.hpp | 179 +++++ .../DelayedGammaEnergy/src/custom.hpp | 4 + .../fissionTransport/DelayedNeutronKE.hpp | 200 +++++ .../DelayedNeutronKE/src/custom.hpp | 4 + src/GNDStk/v2.0/fissionTransport/EFH.hpp | 196 +++++ .../v2.0/fissionTransport/EFH/src/custom.hpp | 4 + src/GNDStk/v2.0/fissionTransport/EFL.hpp | 196 +++++ .../v2.0/fissionTransport/EFL/src/custom.hpp | 4 + .../fissionTransport/FissionComponent.hpp | 262 ++++++ .../FissionComponent/src/custom.hpp | 4 + .../fissionTransport/FissionComponents.hpp | 207 +++++ .../FissionComponents/src/custom.hpp | 4 + .../FissionEnergyReleased.hpp | 369 +++++++++ .../FissionEnergyReleased/src/custom.hpp | 4 + .../v2.0/fissionTransport/MadlandNix.hpp | 221 +++++ .../MadlandNix/src/custom.hpp | 4 + .../v2.0/fissionTransport/NeutrinoEnergy.hpp | 179 +++++ .../NeutrinoEnergy/src/custom.hpp | 4 + .../fissionTransport/NonNeutrinoEnergy.hpp | 179 +++++ .../NonNeutrinoEnergy/src/custom.hpp | 4 + .../fissionTransport/PromptGammaEnergy.hpp | 200 +++++ .../PromptGammaEnergy/src/custom.hpp | 4 + .../v2.0/fissionTransport/PromptNeutronKE.hpp | 200 +++++ .../PromptNeutronKE/src/custom.hpp | 4 + .../v2.0/fissionTransport/PromptProductKE.hpp | 200 +++++ .../PromptProductKE/src/custom.hpp | 4 + .../SimpleMaxwellianFission.hpp | 200 +++++ .../SimpleMaxwellianFission/src/custom.hpp | 4 + src/GNDStk/v2.0/fissionTransport/T_M.hpp | 179 +++++ .../v2.0/fissionTransport/T_M/src/custom.hpp | 4 + .../v2.0/fissionTransport/TotalEnergy.hpp | 179 +++++ .../TotalEnergy/src/custom.hpp | 4 + src/GNDStk/v2.0/fissionTransport/Watt.hpp | 221 +++++ .../v2.0/fissionTransport/Watt/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/ElapsedTime.hpp | 248 ++++++ .../v2.0/fpy/ElapsedTime/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/ElapsedTimes.hpp | 207 +++++ .../v2.0/fpy/ElapsedTimes/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/Energy.hpp | 179 +++++ src/GNDStk/v2.0/fpy/Energy/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/IncidentEnergies.hpp | 207 +++++ .../v2.0/fpy/IncidentEnergies/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/IncidentEnergy.hpp | 222 ++++++ .../v2.0/fpy/IncidentEnergy/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/Nuclides.hpp | 188 +++++ src/GNDStk/v2.0/fpy/Nuclides/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/ProductYield.hpp | 222 ++++++ .../v2.0/fpy/ProductYield/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/ProductYields.hpp | 207 +++++ .../v2.0/fpy/ProductYields/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/Time.hpp | 204 +++++ src/GNDStk/v2.0/fpy/Time/src/custom.hpp | 4 + src/GNDStk/v2.0/fpy/Yields.hpp | 200 +++++ src/GNDStk/v2.0/fpy/Yields/src/custom.hpp | 4 + src/GNDStk/v2.0/key.hpp | 754 ++++++++++++++++++ src/GNDStk/v2.0/pops/Alias.hpp | 196 +++++ src/GNDStk/v2.0/pops/Alias/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Aliases.hpp | 256 ++++++ src/GNDStk/v2.0/pops/Aliases/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Atomic.hpp | 179 +++++ src/GNDStk/v2.0/pops/Atomic/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/AverageEnergies.hpp | 207 +++++ .../v2.0/pops/AverageEnergies/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/AverageEnergy.hpp | 216 +++++ .../v2.0/pops/AverageEnergy/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Baryon.hpp | 306 +++++++ src/GNDStk/v2.0/pops/Baryon/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Baryons.hpp | 207 +++++ src/GNDStk/v2.0/pops/Baryons/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Charge.hpp | 204 +++++ src/GNDStk/v2.0/pops/Charge/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/ChemicalElement.hpp | 262 ++++++ .../v2.0/pops/ChemicalElement/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/ChemicalElements.hpp | 207 +++++ .../v2.0/pops/ChemicalElements/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Configuration.hpp | 242 ++++++ .../v2.0/pops/Configuration/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Configurations.hpp | 207 +++++ .../v2.0/pops/Configurations/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Continuum.hpp | 179 +++++ src/GNDStk/v2.0/pops/Continuum/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Decay.hpp | 245 ++++++ src/GNDStk/v2.0/pops/Decay/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/DecayData.hpp | 200 +++++ src/GNDStk/v2.0/pops/DecayData/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/DecayMode.hpp | 326 ++++++++ src/GNDStk/v2.0/pops/DecayMode/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/DecayModes.hpp | 207 +++++ .../v2.0/pops/DecayModes/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/DecayPath.hpp | 207 +++++ src/GNDStk/v2.0/pops/DecayPath/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Discrete.hpp | 285 +++++++ src/GNDStk/v2.0/pops/Discrete/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Energy.hpp | 249 ++++++ src/GNDStk/v2.0/pops/Energy/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/GaugeBoson.hpp | 306 +++++++ .../v2.0/pops/GaugeBoson/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/GaugeBosons.hpp | 207 +++++ .../v2.0/pops/GaugeBosons/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Halflife.hpp | 204 +++++ src/GNDStk/v2.0/pops/Halflife/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Intensity.hpp | 176 ++++ src/GNDStk/v2.0/pops/Intensity/src/custom.hpp | 4 + .../pops/InternalConversionCoefficients.hpp | 207 +++++ .../src/custom.hpp | 4 + .../pops/InternalPairFormationCoefficient.hpp | 196 +++++ .../src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Isotope.hpp | 221 +++++ src/GNDStk/v2.0/pops/Isotope/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Isotopes.hpp | 207 +++++ src/GNDStk/v2.0/pops/Isotopes/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Lepton.hpp | 326 ++++++++ src/GNDStk/v2.0/pops/Lepton/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Leptons.hpp | 207 +++++ src/GNDStk/v2.0/pops/Leptons/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Mass.hpp | 179 +++++ src/GNDStk/v2.0/pops/Mass/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/MetaStable.hpp | 216 +++++ .../v2.0/pops/MetaStable/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Nucleus.hpp | 347 ++++++++ src/GNDStk/v2.0/pops/Nucleus/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Nuclide.hpp | 327 ++++++++ src/GNDStk/v2.0/pops/Nuclide/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Nuclides.hpp | 207 +++++ src/GNDStk/v2.0/pops/Nuclides/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Parity.hpp | 207 +++++ src/GNDStk/v2.0/pops/Parity/src/custom.hpp | 4 + .../v2.0/pops/PhotonEmissionProbabilities.hpp | 207 +++++ .../src/custom.hpp | 4 + src/GNDStk/v2.0/pops/PoPs.hpp | 388 +++++++++ src/GNDStk/v2.0/pops/PoPs/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Probability.hpp | 207 +++++ .../v2.0/pops/Probability/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Product.hpp | 196 +++++ src/GNDStk/v2.0/pops/Product/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Products.hpp | 207 +++++ src/GNDStk/v2.0/pops/Products/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Q.hpp | 207 +++++ src/GNDStk/v2.0/pops/Q/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Shell.hpp | 220 +++++ src/GNDStk/v2.0/pops/Shell/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Spectra.hpp | 207 +++++ src/GNDStk/v2.0/pops/Spectra/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Spectrum.hpp | 270 +++++++ src/GNDStk/v2.0/pops/Spectrum/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Spin.hpp | 207 +++++ src/GNDStk/v2.0/pops/Spin/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Unorthodox.hpp | 222 ++++++ .../v2.0/pops/Unorthodox/src/custom.hpp | 4 + src/GNDStk/v2.0/pops/Unorthodoxes.hpp | 207 +++++ .../v2.0/pops/Unorthodoxes/src/custom.hpp | 4 + src/GNDStk/v2.0/processed/AngularEnergyMC.hpp | 242 ++++++ .../processed/AngularEnergyMC/src/custom.hpp | 4 + src/GNDStk/v2.0/processed/AvailableEnergy.hpp | 200 +++++ .../processed/AvailableEnergy/src/custom.hpp | 4 + .../v2.0/processed/AvailableMomentum.hpp | 200 +++++ .../AvailableMomentum/src/custom.hpp | 4 + .../v2.0/processed/AverageProductEnergy.hpp | 200 +++++ .../AverageProductEnergy/src/custom.hpp | 4 + .../v2.0/processed/AverageProductMomentum.hpp | 200 +++++ .../AverageProductMomentum/src/custom.hpp | 4 + src/GNDStk/v2.0/processed/EnergyAngularMC.hpp | 242 ++++++ .../processed/EnergyAngularMC/src/custom.hpp | 4 + src/GNDStk/v2.0/processed/MultiGroup3d.hpp | 221 +++++ .../processed/MultiGroup3d/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/BreitWigner.hpp | 331 ++++++++ .../resonances/BreitWigner/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Channel.hpp | 343 ++++++++ .../v2.0/resonances/Channel/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Channels.hpp | 207 +++++ .../v2.0/resonances/Channels/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/EnergyInterval.hpp | 286 +++++++ .../resonances/EnergyInterval/src/custom.hpp | 4 + .../v2.0/resonances/EnergyIntervals.hpp | 229 ++++++ .../resonances/EnergyIntervals/src/custom.hpp | 4 + .../v2.0/resonances/ExternalRMatrix.hpp | 229 ++++++ .../resonances/ExternalRMatrix/src/custom.hpp | 4 + .../v2.0/resonances/HardSphereRadius.hpp | 179 +++++ .../HardSphereRadius/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/J.hpp | 242 ++++++ src/GNDStk/v2.0/resonances/J/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Js.hpp | 207 +++++ src/GNDStk/v2.0/resonances/Js/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/L.hpp | 221 +++++ src/GNDStk/v2.0/resonances/L/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/LevelSpacing.hpp | 221 +++++ .../resonances/LevelSpacing/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Ls.hpp | 207 +++++ src/GNDStk/v2.0/resonances/Ls/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/RMatrix.hpp | 399 +++++++++ .../v2.0/resonances/RMatrix/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Resolved.hpp | 278 +++++++ .../v2.0/resonances/Resolved/src/custom.hpp | 4 + .../v2.0/resonances/ResonanceParameters.hpp | 179 +++++ .../ResonanceParameters/src/custom.hpp | 4 + .../v2.0/resonances/ResonanceReaction.hpp | 328 ++++++++ .../ResonanceReaction/src/custom.hpp | 4 + .../v2.0/resonances/ResonanceReactions.hpp | 207 +++++ .../ResonanceReactions/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Resonances.hpp | 320 ++++++++ .../v2.0/resonances/Resonances/src/custom.hpp | 4 + .../v2.0/resonances/ScatteringRadius.hpp | 216 +++++ .../ScatteringRadius/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/SpinGroup.hpp | 262 ++++++ .../v2.0/resonances/SpinGroup/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/SpinGroups.hpp | 207 +++++ .../v2.0/resonances/SpinGroups/src/custom.hpp | 4 + .../v2.0/resonances/TabulatedWidths.hpp | 329 ++++++++ .../resonances/TabulatedWidths/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Unresolved.hpp | 254 ++++++ .../v2.0/resonances/Unresolved/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Width.hpp | 263 ++++++ .../v2.0/resonances/Width/src/custom.hpp | 4 + src/GNDStk/v2.0/resonances/Widths.hpp | 207 +++++ .../v2.0/resonances/Widths/src/custom.hpp | 4 + .../AngularDistributionReconstructed.hpp | 262 ++++++ .../src/custom.hpp | 4 + src/GNDStk/v2.0/styles/AverageProductData.hpp | 262 ++++++ .../styles/AverageProductData/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Bondarenko.hpp | 241 ++++++ .../v2.0/styles/Bondarenko/src/custom.hpp | 4 + .../CoulombPlusNuclearElasticMuCutoff.hpp | 236 ++++++ .../src/custom.hpp | 4 + .../v2.0/styles/CrossSectionReconstructed.hpp | 262 ++++++ .../CrossSectionReconstructed/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/EqualProbableBins.hpp | 236 ++++++ .../styles/EqualProbableBins/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Evaluated.hpp | 323 ++++++++ .../v2.0/styles/Evaluated/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Flux.hpp | 201 +++++ src/GNDStk/v2.0/styles/Flux/src/custom.hpp | 4 + .../v2.0/styles/GriddedCrossSection.hpp | 262 ++++++ .../styles/GriddedCrossSection/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Heated.hpp | 262 ++++++ src/GNDStk/v2.0/styles/Heated/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/HeatedMultiGroup.hpp | 283 +++++++ .../styles/HeatedMultiGroup/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/InverseSpeed.hpp | 179 +++++ .../v2.0/styles/InverseSpeed/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/MonteCarlo_cdf.hpp | 241 ++++++ .../v2.0/styles/MonteCarlo_cdf/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/MultiBand.hpp | 236 ++++++ .../v2.0/styles/MultiBand/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/MultiGroup.hpp | 201 +++++ .../v2.0/styles/MultiGroup/src/custom.hpp | 4 + .../v2.0/styles/ProjectileEnergyDomain.hpp | 216 +++++ .../ProjectileEnergyDomain/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Realization.hpp | 216 +++++ .../v2.0/styles/Realization/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/SigmaZeros.hpp | 179 +++++ .../v2.0/styles/SigmaZeros/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/SnElasticUpScatter.hpp | 236 ++++++ .../styles/SnElasticUpScatter/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Styles.hpp | 648 +++++++++++++++ src/GNDStk/v2.0/styles/Styles/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Temperature.hpp | 196 +++++ .../v2.0/styles/Temperature/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Transportable.hpp | 225 ++++++ .../v2.0/styles/Transportable/src/custom.hpp | 4 + src/GNDStk/v2.0/styles/Transportables.hpp | 207 +++++ .../v2.0/styles/Transportables/src/custom.hpp | 4 + .../v2.0/styles/URR_probabilityTables.hpp | 216 +++++ .../URR_probabilityTables/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/A.hpp | 204 +++++ src/GNDStk/v2.0/transport/A/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Add.hpp | 176 ++++ src/GNDStk/v2.0/transport/Add/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Angular.hpp | 221 +++++ .../v2.0/transport/Angular/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/AngularEnergy.hpp | 221 +++++ .../transport/AngularEnergy/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/AngularTwoBody.hpp | 284 +++++++ .../transport/AngularTwoBody/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Background.hpp | 221 +++++ .../v2.0/transport/Background/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Branching1d.hpp | 176 ++++ .../v2.0/transport/Branching1d/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Branching3d.hpp | 196 +++++ .../v2.0/transport/Branching3d/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/CoherentPhoton.hpp | 130 +++ .../transport/CoherentPhoton/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/CrossSection.hpp | 288 +++++++ .../transport/CrossSection/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/CrossSectionSum.hpp | 263 ++++++ .../transport/CrossSectionSum/src/custom.hpp | 4 + .../v2.0/transport/CrossSectionSums.hpp | 207 +++++ .../transport/CrossSectionSums/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/DiscreteGamma.hpp | 241 ++++++ .../transport/DiscreteGamma/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Distribution.hpp | 360 +++++++++ .../transport/Distribution/src/custom.hpp | 4 + .../DoubleDifferentialCrossSection.hpp | 347 ++++++++ .../src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Energy.hpp | 389 +++++++++ .../v2.0/transport/Energy/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/EnergyAngular.hpp | 221 +++++ .../transport/EnergyAngular/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Evaporation.hpp | 200 +++++ .../v2.0/transport/Evaporation/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/F.hpp | 204 +++++ src/GNDStk/v2.0/transport/F/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/FastRegion.hpp | 204 +++++ .../v2.0/transport/FastRegion/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Forward.hpp | 130 +++ .../v2.0/transport/Forward/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/G.hpp | 200 +++++ src/GNDStk/v2.0/transport/G/src/custom.hpp | 4 + .../v2.0/transport/GeneralEvaporation.hpp | 221 +++++ .../GeneralEvaporation/src/custom.hpp | 4 + .../v2.0/transport/IncoherentPhoton.hpp | 130 +++ .../transport/IncoherentPhoton/src/custom.hpp | 4 + .../v2.0/transport/IncompleteReactions.hpp | 179 +++++ .../IncompleteReactions/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Isotropic2d.hpp | 130 +++ .../v2.0/transport/Isotropic2d/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/KalbachMann.hpp | 263 ++++++ .../v2.0/transport/KalbachMann/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Multiplicity.hpp | 264 ++++++ .../transport/Multiplicity/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/MultiplicitySum.hpp | 242 ++++++ .../transport/MultiplicitySum/src/custom.hpp | 4 + .../v2.0/transport/MultiplicitySums.hpp | 207 +++++ .../transport/MultiplicitySums/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/NBodyPhaseSpace.hpp | 201 +++++ .../transport/NBodyPhaseSpace/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/OrphanProduct.hpp | 242 ++++++ .../transport/OrphanProduct/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/OrphanProducts.hpp | 207 +++++ .../transport/OrphanProducts/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/OutputChannel.hpp | 263 ++++++ .../transport/OutputChannel/src/custom.hpp | 4 + .../transport/PhotonEmissionProbabilities.hpp | 179 +++++ .../src/custom.hpp | 4 + src/GNDStk/v2.0/transport/PrimaryGamma.hpp | 261 ++++++ .../transport/PrimaryGamma/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Production.hpp | 242 ++++++ .../v2.0/transport/Production/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Productions.hpp | 179 +++++ .../v2.0/transport/Productions/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/R.hpp | 204 +++++ src/GNDStk/v2.0/transport/R/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Reaction.hpp | 283 +++++++ .../v2.0/transport/Reaction/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/ReactionSuite.hpp | 511 ++++++++++++ .../transport/ReactionSuite/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Reactions.hpp | 207 +++++ .../v2.0/transport/Reactions/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Recoil.hpp | 176 ++++ .../v2.0/transport/Recoil/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Reference.hpp | 196 +++++ .../v2.0/transport/Reference/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/ResolvedRegion.hpp | 204 +++++ .../transport/ResolvedRegion/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Resonances.hpp | 196 +++++ .../v2.0/transport/Resonances/src/custom.hpp | 4 + .../transport/ResonancesWithBackground.hpp | 243 ++++++ .../ResonancesWithBackground/src/custom.hpp | 4 + .../v2.0/transport/ScatteringMatrix.hpp | 221 +++++ .../transport/ScatteringMatrix/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Summands.hpp | 207 +++++ .../v2.0/transport/Summands/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Sums.hpp | 200 +++++ src/GNDStk/v2.0/transport/Sums/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Theta.hpp | 200 +++++ .../v2.0/transport/Theta/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/U.hpp | 196 +++++ src/GNDStk/v2.0/transport/U/src/custom.hpp | 4 + .../transport/URR_probabilityTables1d.hpp | 226 ++++++ .../URR_probabilityTables1d/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Uncorrelated.hpp | 242 ++++++ .../transport/Uncorrelated/src/custom.hpp | 4 + .../v2.0/transport/UnresolvedRegion.hpp | 204 +++++ .../transport/UnresolvedRegion/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Unspecified.hpp | 196 +++++ .../v2.0/transport/Unspecified/src/custom.hpp | 4 + src/GNDStk/v2.0/transport/Weighted.hpp | 305 +++++++ .../v2.0/transport/Weighted/src/custom.hpp | 4 + .../v2.0/transport/WeightedFunctionals.hpp | 179 +++++ .../WeightedFunctionals/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/BoundAtomCrossSection.hpp | 196 +++++ .../tsl/BoundAtomCrossSection/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/BraggEdge.hpp | 222 ++++++ src/GNDStk/v2.0/tsl/BraggEdge/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/BraggEdges.hpp | 207 +++++ src/GNDStk/v2.0/tsl/BraggEdges/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/BraggEnergy.hpp | 179 +++++ .../v2.0/tsl/BraggEnergy/src/custom.hpp | 4 + .../v2.0/tsl/CoherentAtomCrossSection.hpp | 196 +++++ .../CoherentAtomCrossSection/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/DebyeWallerIntegral.hpp | 179 +++++ .../tsl/DebyeWallerIntegral/src/custom.hpp | 4 + .../v2.0/tsl/DistinctScatteringKernel.hpp | 179 +++++ .../DistinctScatteringKernel/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/E_critical.hpp | 196 +++++ src/GNDStk/v2.0/tsl/E_critical/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/E_max.hpp | 196 +++++ src/GNDStk/v2.0/tsl/E_max/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/PhononSpectrum.hpp | 179 +++++ .../v2.0/tsl/PhononSpectrum/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/S_table.hpp | 179 +++++ src/GNDStk/v2.0/tsl/S_table/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/ScatteringAtom.hpp | 367 +++++++++ .../v2.0/tsl/ScatteringAtom/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/ScatteringAtoms.hpp | 207 +++++ .../v2.0/tsl/ScatteringAtoms/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/SelfScatteringKernel.hpp | 248 ++++++ .../tsl/SelfScatteringKernel/src/custom.hpp | 4 + ...fScatteringKernelGaussianApproximation.hpp | 179 +++++ .../src/custom.hpp | 4 + .../SelfScatteringKernelSCTApproximation.hpp | 179 +++++ .../src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/StructureFactor.hpp | 179 +++++ .../v2.0/tsl/StructureFactor/src/custom.hpp | 4 + src/GNDStk/v2.0/tsl/T_effective.hpp | 179 +++++ .../v2.0/tsl/T_effective/src/custom.hpp | 4 + .../v2.0/tsl/ThermalNeutronScatteringLaw.hpp | 196 +++++ .../src/custom.hpp | 4 + .../tsl/ThermalNeutronScatteringLaw1d.hpp | 196 +++++ .../src/custom.hpp | 4 + ...alNeutronScatteringLaw_coherentElastic.hpp | 266 ++++++ .../src/custom.hpp | 4 + ...NeutronScatteringLaw_incoherentElastic.hpp | 262 ++++++ .../src/custom.hpp | 4 + ...utronScatteringLaw_incoherentInelastic.hpp | 285 +++++++ .../src/custom.hpp | 4 + standards/gnds-2.0/changes.json | 3 + standards/gnds-2.0/gnds-2.0.json | 1 + standards/gnds-2.0/readme | 8 +- standards/gnds-2.0/summary_documentation.json | 199 +---- standards/gnds-2.0/summary_fpy.json | 7 - standards/gnds-2.0/summary_gpdc.json | 10 +- 950 files changed, 93363 insertions(+), 264 deletions(-) create mode 100644 python/src/v2.0/abstract.python.cpp create mode 100644 python/src/v2.0/abstract/Functional.python.cpp create mode 100644 python/src/v2.0/abstract/Label.python.cpp create mode 100644 python/src/v2.0/abstract/PhysicalQuantity.python.cpp create mode 100644 python/src/v2.0/abstract/Text.python.cpp create mode 100644 python/src/v2.0/appData.python.cpp create mode 100644 python/src/v2.0/appData/ApplicationData.python.cpp create mode 100644 python/src/v2.0/appData/Conversion.python.cpp create mode 100644 python/src/v2.0/appData/ENDFconversionFlags.python.cpp create mode 100644 python/src/v2.0/appData/Institution.python.cpp create mode 100644 python/src/v2.0/atomic.python.cpp create mode 100644 python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp create mode 100644 python/src/v2.0/atomic/FormFactor.python.cpp create mode 100644 python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp create mode 100644 python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp create mode 100644 python/src/v2.0/atomic/RealAnomalousFactor.python.cpp create mode 100644 python/src/v2.0/atomic/ScatteringFactor.python.cpp create mode 100644 python/src/v2.0/common.python.cpp create mode 100644 python/src/v2.0/common/Energy.python.cpp create mode 100644 python/src/v2.0/common/ExternalFile.python.cpp create mode 100644 python/src/v2.0/common/ExternalFiles.python.cpp create mode 100644 python/src/v2.0/common/Mass.python.cpp create mode 100644 python/src/v2.0/common/Probability.python.cpp create mode 100644 python/src/v2.0/common/Product.python.cpp create mode 100644 python/src/v2.0/common/Products.python.cpp create mode 100644 python/src/v2.0/common/Q.python.cpp create mode 100644 python/src/v2.0/common/Temperature.python.cpp create mode 100644 python/src/v2.0/covariance.python.cpp create mode 100644 python/src/v2.0/covariance/AverageParameterCovariance.python.cpp create mode 100644 python/src/v2.0/covariance/ColumnData.python.cpp create mode 100644 python/src/v2.0/covariance/ColumnSensitivity.python.cpp create mode 100644 python/src/v2.0/covariance/Covariance.python.cpp create mode 100644 python/src/v2.0/covariance/CovarianceMatrix.python.cpp create mode 100644 python/src/v2.0/covariance/CovarianceSection.python.cpp create mode 100644 python/src/v2.0/covariance/CovarianceSections.python.cpp create mode 100644 python/src/v2.0/covariance/CovarianceSuite.python.cpp create mode 100644 python/src/v2.0/covariance/Mixed.python.cpp create mode 100644 python/src/v2.0/covariance/ParameterCovariancMatrix.python.cpp create mode 100644 python/src/v2.0/covariance/ParameterCovariance.python.cpp create mode 100644 python/src/v2.0/covariance/ParameterCovariances.python.cpp create mode 100644 python/src/v2.0/covariance/ParameterLink.python.cpp create mode 100644 python/src/v2.0/covariance/Parameters.python.cpp create mode 100644 python/src/v2.0/covariance/RowData.python.cpp create mode 100644 python/src/v2.0/covariance/RowSensitivity.python.cpp create mode 100644 python/src/v2.0/covariance/SandwichProduct.python.cpp create mode 100644 python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp create mode 100644 python/src/v2.0/covariance/Slice.python.cpp create mode 100644 python/src/v2.0/covariance/Slices.python.cpp create mode 100644 python/src/v2.0/covariance/Sum.python.cpp create mode 100644 python/src/v2.0/covariance/Summand.python.cpp create mode 100644 python/src/v2.0/cpTransport.python.cpp create mode 100644 python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp create mode 100644 python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp create mode 100644 python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp create mode 100644 python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp create mode 100644 python/src/v2.0/cpTransport/NuclearTerm.python.cpp create mode 100644 python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp create mode 100644 python/src/v2.0/cpTransport/RutherfordScattering.python.cpp create mode 100644 python/src/v2.0/documentation.python.cpp create mode 100644 python/src/v2.0/documentation/Acknowledgement.python.cpp create mode 100644 python/src/v2.0/documentation/Acknowledgements.python.cpp create mode 100644 python/src/v2.0/documentation/Affiliation.python.cpp create mode 100644 python/src/v2.0/documentation/Affiliations.python.cpp create mode 100644 python/src/v2.0/documentation/Author.python.cpp create mode 100644 python/src/v2.0/documentation/Authors.python.cpp create mode 100644 python/src/v2.0/documentation/Bibitem.python.cpp create mode 100644 python/src/v2.0/documentation/Bibliography.python.cpp create mode 100644 python/src/v2.0/documentation/Body.python.cpp create mode 100644 python/src/v2.0/documentation/CodeRepo.python.cpp create mode 100644 python/src/v2.0/documentation/Collaboration.python.cpp create mode 100644 python/src/v2.0/documentation/Collaborations.python.cpp create mode 100644 python/src/v2.0/documentation/ComputerCode.python.cpp create mode 100644 python/src/v2.0/documentation/ComputerCodes.python.cpp create mode 100644 python/src/v2.0/documentation/Contributor.python.cpp create mode 100644 python/src/v2.0/documentation/Contributors.python.cpp create mode 100644 python/src/v2.0/documentation/Copyright.python.cpp create mode 100644 python/src/v2.0/documentation/CorrectionScript.python.cpp create mode 100644 python/src/v2.0/documentation/CovarianceScript.python.cpp create mode 100644 python/src/v2.0/documentation/Date.python.cpp create mode 100644 python/src/v2.0/documentation/Dates.python.cpp create mode 100644 python/src/v2.0/documentation/Documentation.python.cpp create mode 100644 python/src/v2.0/documentation/EndfCompatible.python.cpp create mode 100644 python/src/v2.0/documentation/ExecutionArguments.python.cpp create mode 100644 python/src/v2.0/documentation/ExforDataSet.python.cpp create mode 100644 python/src/v2.0/documentation/ExforDataSets.python.cpp create mode 100644 python/src/v2.0/documentation/ExperimentalDataSets.python.cpp create mode 100644 python/src/v2.0/documentation/InputDeck.python.cpp create mode 100644 python/src/v2.0/documentation/InputDecks.python.cpp create mode 100644 python/src/v2.0/documentation/Keyword.python.cpp create mode 100644 python/src/v2.0/documentation/Keywords.python.cpp create mode 100644 python/src/v2.0/documentation/Note.python.cpp create mode 100644 python/src/v2.0/documentation/OutputDeck.python.cpp create mode 100644 python/src/v2.0/documentation/OutputDecks.python.cpp create mode 100644 python/src/v2.0/documentation/RelatedItem.python.cpp create mode 100644 python/src/v2.0/documentation/RelatedItems.python.cpp create mode 100644 python/src/v2.0/documentation/Version.python.cpp create mode 100644 python/src/v2.0/fissionFragmentData.python.cpp create mode 100644 python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp create mode 100644 python/src/v2.0/fissionFragmentData/Rate.python.cpp create mode 100644 python/src/v2.0/fissionTransport.python.cpp create mode 100644 python/src/v2.0/fissionTransport/B.python.cpp create mode 100644 python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp create mode 100644 python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp create mode 100644 python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp create mode 100644 python/src/v2.0/fissionTransport/EFH.python.cpp create mode 100644 python/src/v2.0/fissionTransport/EFL.python.cpp create mode 100644 python/src/v2.0/fissionTransport/FissionComponent.python.cpp create mode 100644 python/src/v2.0/fissionTransport/FissionComponents.python.cpp create mode 100644 python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp create mode 100644 python/src/v2.0/fissionTransport/MadlandNix.python.cpp create mode 100644 python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp create mode 100644 python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp create mode 100644 python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp create mode 100644 python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp create mode 100644 python/src/v2.0/fissionTransport/PromptProductKE.python.cpp create mode 100644 python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp create mode 100644 python/src/v2.0/fissionTransport/T_M.python.cpp create mode 100644 python/src/v2.0/fissionTransport/TotalEnergy.python.cpp create mode 100644 python/src/v2.0/fissionTransport/Watt.python.cpp create mode 100644 python/src/v2.0/fpy.python.cpp create mode 100644 python/src/v2.0/fpy/ElapsedTime.python.cpp create mode 100644 python/src/v2.0/fpy/ElapsedTimes.python.cpp create mode 100644 python/src/v2.0/fpy/Energy.python.cpp create mode 100644 python/src/v2.0/fpy/IncidentEnergies.python.cpp create mode 100644 python/src/v2.0/fpy/IncidentEnergy.python.cpp create mode 100644 python/src/v2.0/fpy/Nuclides.python.cpp create mode 100644 python/src/v2.0/fpy/ProductYield.python.cpp create mode 100644 python/src/v2.0/fpy/ProductYields.python.cpp create mode 100644 python/src/v2.0/fpy/Time.python.cpp create mode 100644 python/src/v2.0/fpy/Yields.python.cpp create mode 100644 python/src/v2.0/pops.python.cpp create mode 100644 python/src/v2.0/pops/Alias.python.cpp create mode 100644 python/src/v2.0/pops/Aliases.python.cpp create mode 100644 python/src/v2.0/pops/Atomic.python.cpp create mode 100644 python/src/v2.0/pops/AverageEnergies.python.cpp create mode 100644 python/src/v2.0/pops/AverageEnergy.python.cpp create mode 100644 python/src/v2.0/pops/Baryon.python.cpp create mode 100644 python/src/v2.0/pops/Baryons.python.cpp create mode 100644 python/src/v2.0/pops/Charge.python.cpp create mode 100644 python/src/v2.0/pops/ChemicalElement.python.cpp create mode 100644 python/src/v2.0/pops/ChemicalElements.python.cpp create mode 100644 python/src/v2.0/pops/Configuration.python.cpp create mode 100644 python/src/v2.0/pops/Configurations.python.cpp create mode 100644 python/src/v2.0/pops/Continuum.python.cpp create mode 100644 python/src/v2.0/pops/Decay.python.cpp create mode 100644 python/src/v2.0/pops/DecayData.python.cpp create mode 100644 python/src/v2.0/pops/DecayMode.python.cpp create mode 100644 python/src/v2.0/pops/DecayModes.python.cpp create mode 100644 python/src/v2.0/pops/DecayPath.python.cpp create mode 100644 python/src/v2.0/pops/Discrete.python.cpp create mode 100644 python/src/v2.0/pops/Energy.python.cpp create mode 100644 python/src/v2.0/pops/GaugeBoson.python.cpp create mode 100644 python/src/v2.0/pops/GaugeBosons.python.cpp create mode 100644 python/src/v2.0/pops/Halflife.python.cpp create mode 100644 python/src/v2.0/pops/Intensity.python.cpp create mode 100644 python/src/v2.0/pops/InternalConversionCoefficients.python.cpp create mode 100644 python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp create mode 100644 python/src/v2.0/pops/Isotope.python.cpp create mode 100644 python/src/v2.0/pops/Isotopes.python.cpp create mode 100644 python/src/v2.0/pops/Lepton.python.cpp create mode 100644 python/src/v2.0/pops/Leptons.python.cpp create mode 100644 python/src/v2.0/pops/Mass.python.cpp create mode 100644 python/src/v2.0/pops/MetaStable.python.cpp create mode 100644 python/src/v2.0/pops/Nucleus.python.cpp create mode 100644 python/src/v2.0/pops/Nuclide.python.cpp create mode 100644 python/src/v2.0/pops/Nuclides.python.cpp create mode 100644 python/src/v2.0/pops/Parity.python.cpp create mode 100644 python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp create mode 100644 python/src/v2.0/pops/PoPs.python.cpp create mode 100644 python/src/v2.0/pops/Probability.python.cpp create mode 100644 python/src/v2.0/pops/Product.python.cpp create mode 100644 python/src/v2.0/pops/Products.python.cpp create mode 100644 python/src/v2.0/pops/Q.python.cpp create mode 100644 python/src/v2.0/pops/Shell.python.cpp create mode 100644 python/src/v2.0/pops/Spectra.python.cpp create mode 100644 python/src/v2.0/pops/Spectrum.python.cpp create mode 100644 python/src/v2.0/pops/Spin.python.cpp create mode 100644 python/src/v2.0/pops/Unorthodox.python.cpp create mode 100644 python/src/v2.0/pops/Unorthodoxes.python.cpp create mode 100644 python/src/v2.0/processed.python.cpp create mode 100644 python/src/v2.0/processed/AngularEnergyMC.python.cpp create mode 100644 python/src/v2.0/processed/AvailableEnergy.python.cpp create mode 100644 python/src/v2.0/processed/AvailableMomentum.python.cpp create mode 100644 python/src/v2.0/processed/AverageProductEnergy.python.cpp create mode 100644 python/src/v2.0/processed/AverageProductMomentum.python.cpp create mode 100644 python/src/v2.0/processed/EnergyAngularMC.python.cpp create mode 100644 python/src/v2.0/processed/MultiGroup3d.python.cpp create mode 100644 python/src/v2.0/resonances.python.cpp create mode 100644 python/src/v2.0/resonances/BreitWigner.python.cpp create mode 100644 python/src/v2.0/resonances/Channel.python.cpp create mode 100644 python/src/v2.0/resonances/Channels.python.cpp create mode 100644 python/src/v2.0/resonances/EnergyInterval.python.cpp create mode 100644 python/src/v2.0/resonances/EnergyIntervals.python.cpp create mode 100644 python/src/v2.0/resonances/ExternalRMatrix.python.cpp create mode 100644 python/src/v2.0/resonances/HardSphereRadius.python.cpp create mode 100644 python/src/v2.0/resonances/J.python.cpp create mode 100644 python/src/v2.0/resonances/Js.python.cpp create mode 100644 python/src/v2.0/resonances/L.python.cpp create mode 100644 python/src/v2.0/resonances/LevelSpacing.python.cpp create mode 100644 python/src/v2.0/resonances/Ls.python.cpp create mode 100644 python/src/v2.0/resonances/RMatrix.python.cpp create mode 100644 python/src/v2.0/resonances/Resolved.python.cpp create mode 100644 python/src/v2.0/resonances/ResonanceParameters.python.cpp create mode 100644 python/src/v2.0/resonances/ResonanceReaction.python.cpp create mode 100644 python/src/v2.0/resonances/ResonanceReactions.python.cpp create mode 100644 python/src/v2.0/resonances/Resonances.python.cpp create mode 100644 python/src/v2.0/resonances/ScatteringRadius.python.cpp create mode 100644 python/src/v2.0/resonances/SpinGroup.python.cpp create mode 100644 python/src/v2.0/resonances/SpinGroups.python.cpp create mode 100644 python/src/v2.0/resonances/TabulatedWidths.python.cpp create mode 100644 python/src/v2.0/resonances/Unresolved.python.cpp create mode 100644 python/src/v2.0/resonances/Width.python.cpp create mode 100644 python/src/v2.0/resonances/Widths.python.cpp create mode 100644 python/src/v2.0/styles.python.cpp create mode 100644 python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp create mode 100644 python/src/v2.0/styles/AverageProductData.python.cpp create mode 100644 python/src/v2.0/styles/Bondarenko.python.cpp create mode 100644 python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp create mode 100644 python/src/v2.0/styles/CrossSectionReconstructed.python.cpp create mode 100644 python/src/v2.0/styles/EqualProbableBins.python.cpp create mode 100644 python/src/v2.0/styles/Evaluated.python.cpp create mode 100644 python/src/v2.0/styles/Flux.python.cpp create mode 100644 python/src/v2.0/styles/GriddedCrossSection.python.cpp create mode 100644 python/src/v2.0/styles/Heated.python.cpp create mode 100644 python/src/v2.0/styles/HeatedMultiGroup.python.cpp create mode 100644 python/src/v2.0/styles/InverseSpeed.python.cpp create mode 100644 python/src/v2.0/styles/MonteCarlo_cdf.python.cpp create mode 100644 python/src/v2.0/styles/MultiBand.python.cpp create mode 100644 python/src/v2.0/styles/MultiGroup.python.cpp create mode 100644 python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp create mode 100644 python/src/v2.0/styles/Realization.python.cpp create mode 100644 python/src/v2.0/styles/SigmaZeros.python.cpp create mode 100644 python/src/v2.0/styles/SnElasticUpScatter.python.cpp create mode 100644 python/src/v2.0/styles/Styles.python.cpp create mode 100644 python/src/v2.0/styles/Temperature.python.cpp create mode 100644 python/src/v2.0/styles/Transportable.python.cpp create mode 100644 python/src/v2.0/styles/Transportables.python.cpp create mode 100644 python/src/v2.0/styles/URR_probabilityTables.python.cpp create mode 100644 python/src/v2.0/transport.python.cpp create mode 100644 python/src/v2.0/transport/A.python.cpp create mode 100644 python/src/v2.0/transport/Add.python.cpp create mode 100644 python/src/v2.0/transport/Angular.python.cpp create mode 100644 python/src/v2.0/transport/AngularEnergy.python.cpp create mode 100644 python/src/v2.0/transport/AngularTwoBody.python.cpp create mode 100644 python/src/v2.0/transport/Background.python.cpp create mode 100644 python/src/v2.0/transport/Branching1d.python.cpp create mode 100644 python/src/v2.0/transport/Branching3d.python.cpp create mode 100644 python/src/v2.0/transport/CoherentPhoton.python.cpp create mode 100644 python/src/v2.0/transport/CrossSection.python.cpp create mode 100644 python/src/v2.0/transport/CrossSectionSum.python.cpp create mode 100644 python/src/v2.0/transport/CrossSectionSums.python.cpp create mode 100644 python/src/v2.0/transport/DiscreteGamma.python.cpp create mode 100644 python/src/v2.0/transport/Distribution.python.cpp create mode 100644 python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp create mode 100644 python/src/v2.0/transport/Energy.python.cpp create mode 100644 python/src/v2.0/transport/EnergyAngular.python.cpp create mode 100644 python/src/v2.0/transport/Evaporation.python.cpp create mode 100644 python/src/v2.0/transport/F.python.cpp create mode 100644 python/src/v2.0/transport/FastRegion.python.cpp create mode 100644 python/src/v2.0/transport/Forward.python.cpp create mode 100644 python/src/v2.0/transport/G.python.cpp create mode 100644 python/src/v2.0/transport/GeneralEvaporation.python.cpp create mode 100644 python/src/v2.0/transport/IncoherentPhoton.python.cpp create mode 100644 python/src/v2.0/transport/IncompleteReactions.python.cpp create mode 100644 python/src/v2.0/transport/Isotropic2d.python.cpp create mode 100644 python/src/v2.0/transport/KalbachMann.python.cpp create mode 100644 python/src/v2.0/transport/Multiplicity.python.cpp create mode 100644 python/src/v2.0/transport/MultiplicitySum.python.cpp create mode 100644 python/src/v2.0/transport/MultiplicitySums.python.cpp create mode 100644 python/src/v2.0/transport/NBodyPhaseSpace.python.cpp create mode 100644 python/src/v2.0/transport/OrphanProduct.python.cpp create mode 100644 python/src/v2.0/transport/OrphanProducts.python.cpp create mode 100644 python/src/v2.0/transport/OutputChannel.python.cpp create mode 100644 python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp create mode 100644 python/src/v2.0/transport/PrimaryGamma.python.cpp create mode 100644 python/src/v2.0/transport/Production.python.cpp create mode 100644 python/src/v2.0/transport/Productions.python.cpp create mode 100644 python/src/v2.0/transport/R.python.cpp create mode 100644 python/src/v2.0/transport/Reaction.python.cpp create mode 100644 python/src/v2.0/transport/ReactionSuite.python.cpp create mode 100644 python/src/v2.0/transport/Reactions.python.cpp create mode 100644 python/src/v2.0/transport/Recoil.python.cpp create mode 100644 python/src/v2.0/transport/Reference.python.cpp create mode 100644 python/src/v2.0/transport/ResolvedRegion.python.cpp create mode 100644 python/src/v2.0/transport/Resonances.python.cpp create mode 100644 python/src/v2.0/transport/ResonancesWithBackground.python.cpp create mode 100644 python/src/v2.0/transport/ScatteringMatrix.python.cpp create mode 100644 python/src/v2.0/transport/Summands.python.cpp create mode 100644 python/src/v2.0/transport/Sums.python.cpp create mode 100644 python/src/v2.0/transport/Theta.python.cpp create mode 100644 python/src/v2.0/transport/U.python.cpp create mode 100644 python/src/v2.0/transport/URR_probabilityTables1d.python.cpp create mode 100644 python/src/v2.0/transport/Uncorrelated.python.cpp create mode 100644 python/src/v2.0/transport/UnresolvedRegion.python.cpp create mode 100644 python/src/v2.0/transport/Unspecified.python.cpp create mode 100644 python/src/v2.0/transport/Weighted.python.cpp create mode 100644 python/src/v2.0/transport/WeightedFunctionals.python.cpp create mode 100644 python/src/v2.0/tsl.python.cpp create mode 100644 python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp create mode 100644 python/src/v2.0/tsl/BraggEdge.python.cpp create mode 100644 python/src/v2.0/tsl/BraggEdges.python.cpp create mode 100644 python/src/v2.0/tsl/BraggEnergy.python.cpp create mode 100644 python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp create mode 100644 python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp create mode 100644 python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp create mode 100644 python/src/v2.0/tsl/E_critical.python.cpp create mode 100644 python/src/v2.0/tsl/E_max.python.cpp create mode 100644 python/src/v2.0/tsl/PhononSpectrum.python.cpp create mode 100644 python/src/v2.0/tsl/S_table.python.cpp create mode 100644 python/src/v2.0/tsl/ScatteringAtom.python.cpp create mode 100644 python/src/v2.0/tsl/ScatteringAtoms.python.cpp create mode 100644 python/src/v2.0/tsl/SelfScatteringKernel.python.cpp create mode 100644 python/src/v2.0/tsl/SelfScatteringKernelGaussianApproximation.python.cpp create mode 100644 python/src/v2.0/tsl/SelfScatteringKernelSCTApproximation.python.cpp create mode 100644 python/src/v2.0/tsl/StructureFactor.python.cpp create mode 100644 python/src/v2.0/tsl/T_effective.python.cpp create mode 100644 python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp create mode 100644 python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp create mode 100644 python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp create mode 100644 python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp create mode 100644 python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp create mode 100644 src/GNDStk/v2.0/abstract/Functional.hpp create mode 100644 src/GNDStk/v2.0/abstract/Functional/src/custom.hpp create mode 100644 src/GNDStk/v2.0/abstract/Label.hpp create mode 100644 src/GNDStk/v2.0/abstract/Label/src/custom.hpp create mode 100644 src/GNDStk/v2.0/abstract/PhysicalQuantity.hpp create mode 100644 src/GNDStk/v2.0/abstract/PhysicalQuantity/src/custom.hpp create mode 100644 src/GNDStk/v2.0/abstract/Text.hpp create mode 100644 src/GNDStk/v2.0/abstract/Text/src/custom.hpp create mode 100644 src/GNDStk/v2.0/appData/ApplicationData.hpp create mode 100644 src/GNDStk/v2.0/appData/ApplicationData/src/custom.hpp create mode 100644 src/GNDStk/v2.0/appData/Conversion.hpp create mode 100644 src/GNDStk/v2.0/appData/Conversion/src/custom.hpp create mode 100644 src/GNDStk/v2.0/appData/ENDFconversionFlags.hpp create mode 100644 src/GNDStk/v2.0/appData/ENDFconversionFlags/src/custom.hpp create mode 100644 src/GNDStk/v2.0/appData/Institution.hpp create mode 100644 src/GNDStk/v2.0/appData/Institution/src/custom.hpp create mode 100644 src/GNDStk/v2.0/atomic/CoherentPhotonScattering.hpp create mode 100644 src/GNDStk/v2.0/atomic/CoherentPhotonScattering/src/custom.hpp create mode 100644 src/GNDStk/v2.0/atomic/FormFactor.hpp create mode 100644 src/GNDStk/v2.0/atomic/FormFactor/src/custom.hpp create mode 100644 src/GNDStk/v2.0/atomic/ImaginaryAnomalousFactor.hpp create mode 100644 src/GNDStk/v2.0/atomic/ImaginaryAnomalousFactor/src/custom.hpp create mode 100644 src/GNDStk/v2.0/atomic/IncoherentPhotonScattering.hpp create mode 100644 src/GNDStk/v2.0/atomic/IncoherentPhotonScattering/src/custom.hpp create mode 100644 src/GNDStk/v2.0/atomic/RealAnomalousFactor.hpp create mode 100644 src/GNDStk/v2.0/atomic/RealAnomalousFactor/src/custom.hpp create mode 100644 src/GNDStk/v2.0/atomic/ScatteringFactor.hpp create mode 100644 src/GNDStk/v2.0/atomic/ScatteringFactor/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/Energy.hpp create mode 100644 src/GNDStk/v2.0/common/Energy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/ExternalFile.hpp create mode 100644 src/GNDStk/v2.0/common/ExternalFile/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/ExternalFiles.hpp create mode 100644 src/GNDStk/v2.0/common/ExternalFiles/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/Mass.hpp create mode 100644 src/GNDStk/v2.0/common/Mass/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/Probability.hpp create mode 100644 src/GNDStk/v2.0/common/Probability/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/Product.hpp create mode 100644 src/GNDStk/v2.0/common/Product/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/Products.hpp create mode 100644 src/GNDStk/v2.0/common/Products/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/Q.hpp create mode 100644 src/GNDStk/v2.0/common/Q/src/custom.hpp create mode 100644 src/GNDStk/v2.0/common/Temperature.hpp create mode 100644 src/GNDStk/v2.0/common/Temperature/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/AverageParameterCovariance.hpp create mode 100644 src/GNDStk/v2.0/covariance/AverageParameterCovariance/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/ColumnData.hpp create mode 100644 src/GNDStk/v2.0/covariance/ColumnData/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/ColumnSensitivity.hpp create mode 100644 src/GNDStk/v2.0/covariance/ColumnSensitivity/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/Covariance.hpp create mode 100644 src/GNDStk/v2.0/covariance/Covariance/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/CovarianceMatrix.hpp create mode 100644 src/GNDStk/v2.0/covariance/CovarianceMatrix/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/CovarianceSection.hpp create mode 100644 src/GNDStk/v2.0/covariance/CovarianceSection/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/CovarianceSections.hpp create mode 100644 src/GNDStk/v2.0/covariance/CovarianceSections/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/CovarianceSuite.hpp create mode 100644 src/GNDStk/v2.0/covariance/CovarianceSuite/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/Mixed.hpp create mode 100644 src/GNDStk/v2.0/covariance/Mixed/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/ParameterCovariancMatrix.hpp create mode 100644 src/GNDStk/v2.0/covariance/ParameterCovariancMatrix/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/ParameterCovariance.hpp create mode 100644 src/GNDStk/v2.0/covariance/ParameterCovariance/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/ParameterCovariances.hpp create mode 100644 src/GNDStk/v2.0/covariance/ParameterCovariances/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/ParameterLink.hpp create mode 100644 src/GNDStk/v2.0/covariance/ParameterLink/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/Parameters.hpp create mode 100644 src/GNDStk/v2.0/covariance/Parameters/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/RowData.hpp create mode 100644 src/GNDStk/v2.0/covariance/RowData/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/RowSensitivity.hpp create mode 100644 src/GNDStk/v2.0/covariance/RowSensitivity/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/SandwichProduct.hpp create mode 100644 src/GNDStk/v2.0/covariance/SandwichProduct/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/ShortRangeSelfScalingVariance.hpp create mode 100644 src/GNDStk/v2.0/covariance/ShortRangeSelfScalingVariance/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/Slice.hpp create mode 100644 src/GNDStk/v2.0/covariance/Slice/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/Slices.hpp create mode 100644 src/GNDStk/v2.0/covariance/Slices/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/Sum.hpp create mode 100644 src/GNDStk/v2.0/covariance/Sum/src/custom.hpp create mode 100644 src/GNDStk/v2.0/covariance/Summand.hpp create mode 100644 src/GNDStk/v2.0/covariance/Summand/src/custom.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/CoulombPlusNuclearElastic/src/custom.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/ImaginaryInterferenceTerm/src/custom.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/NuclearAmplitudeExpansion/src/custom.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/NuclearPlusInterference.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/NuclearPlusInterference/src/custom.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/NuclearTerm.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/NuclearTerm/src/custom.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/RealInterferenceTerm.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/RutherfordScattering.hpp create mode 100644 src/GNDStk/v2.0/cpTransport/RutherfordScattering/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Acknowledgement.hpp create mode 100644 src/GNDStk/v2.0/documentation/Acknowledgement/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Acknowledgements.hpp create mode 100644 src/GNDStk/v2.0/documentation/Acknowledgements/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Affiliation.hpp create mode 100644 src/GNDStk/v2.0/documentation/Affiliation/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Affiliations.hpp create mode 100644 src/GNDStk/v2.0/documentation/Affiliations/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Author.hpp create mode 100644 src/GNDStk/v2.0/documentation/Author/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Authors.hpp create mode 100644 src/GNDStk/v2.0/documentation/Authors/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Bibitem.hpp create mode 100644 src/GNDStk/v2.0/documentation/Bibitem/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Bibliography.hpp create mode 100644 src/GNDStk/v2.0/documentation/Bibliography/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Body.hpp create mode 100644 src/GNDStk/v2.0/documentation/Body/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/CodeRepo.hpp create mode 100644 src/GNDStk/v2.0/documentation/CodeRepo/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Collaboration.hpp create mode 100644 src/GNDStk/v2.0/documentation/Collaboration/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Collaborations.hpp create mode 100644 src/GNDStk/v2.0/documentation/Collaborations/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/ComputerCode.hpp create mode 100644 src/GNDStk/v2.0/documentation/ComputerCode/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/ComputerCodes.hpp create mode 100644 src/GNDStk/v2.0/documentation/ComputerCodes/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Contributor.hpp create mode 100644 src/GNDStk/v2.0/documentation/Contributor/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Contributors.hpp create mode 100644 src/GNDStk/v2.0/documentation/Contributors/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Copyright.hpp create mode 100644 src/GNDStk/v2.0/documentation/Copyright/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/CorrectionScript.hpp create mode 100644 src/GNDStk/v2.0/documentation/CorrectionScript/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/CovarianceScript.hpp create mode 100644 src/GNDStk/v2.0/documentation/CovarianceScript/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Date.hpp create mode 100644 src/GNDStk/v2.0/documentation/Date/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Dates.hpp create mode 100644 src/GNDStk/v2.0/documentation/Dates/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Documentation.hpp create mode 100644 src/GNDStk/v2.0/documentation/Documentation/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/EndfCompatible.hpp create mode 100644 src/GNDStk/v2.0/documentation/EndfCompatible/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/ExecutionArguments.hpp create mode 100644 src/GNDStk/v2.0/documentation/ExecutionArguments/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/ExforDataSet.hpp create mode 100644 src/GNDStk/v2.0/documentation/ExforDataSet/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/ExforDataSets.hpp create mode 100644 src/GNDStk/v2.0/documentation/ExforDataSets/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/ExperimentalDataSets.hpp create mode 100644 src/GNDStk/v2.0/documentation/ExperimentalDataSets/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/InputDeck.hpp create mode 100644 src/GNDStk/v2.0/documentation/InputDeck/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/InputDecks.hpp create mode 100644 src/GNDStk/v2.0/documentation/InputDecks/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Keyword.hpp create mode 100644 src/GNDStk/v2.0/documentation/Keyword/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Keywords.hpp create mode 100644 src/GNDStk/v2.0/documentation/Keywords/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Note.hpp create mode 100644 src/GNDStk/v2.0/documentation/Note/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/OutputDeck.hpp create mode 100644 src/GNDStk/v2.0/documentation/OutputDeck/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/OutputDecks.hpp create mode 100644 src/GNDStk/v2.0/documentation/OutputDecks/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/RelatedItem.hpp create mode 100644 src/GNDStk/v2.0/documentation/RelatedItem/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/RelatedItems.hpp create mode 100644 src/GNDStk/v2.0/documentation/RelatedItems/src/custom.hpp create mode 100644 src/GNDStk/v2.0/documentation/Version.hpp create mode 100644 src/GNDStk/v2.0/documentation/Version/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionFragmentData/FissionFragmentData.hpp create mode 100644 src/GNDStk/v2.0/fissionFragmentData/FissionFragmentData/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionFragmentData/Rate.hpp create mode 100644 src/GNDStk/v2.0/fissionFragmentData/Rate/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/B.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/B/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/DelayedBetaEnergy.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/DelayedGammaEnergy.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/DelayedGammaEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/DelayedNeutronKE.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/EFH.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/EFH/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/EFL.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/EFL/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/FissionComponent.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/FissionComponent/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/FissionComponents.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/FissionComponents/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/FissionEnergyReleased.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/FissionEnergyReleased/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/MadlandNix.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/MadlandNix/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/NeutrinoEnergy.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/NonNeutrinoEnergy.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/PromptGammaEnergy.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/PromptNeutronKE.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/PromptProductKE.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/PromptProductKE/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/SimpleMaxwellianFission.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/SimpleMaxwellianFission/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/T_M.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/T_M/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/TotalEnergy.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/TotalEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/Watt.hpp create mode 100644 src/GNDStk/v2.0/fissionTransport/Watt/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/ElapsedTime.hpp create mode 100644 src/GNDStk/v2.0/fpy/ElapsedTime/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/ElapsedTimes.hpp create mode 100644 src/GNDStk/v2.0/fpy/ElapsedTimes/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/Energy.hpp create mode 100644 src/GNDStk/v2.0/fpy/Energy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/IncidentEnergies.hpp create mode 100644 src/GNDStk/v2.0/fpy/IncidentEnergies/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/IncidentEnergy.hpp create mode 100644 src/GNDStk/v2.0/fpy/IncidentEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/Nuclides.hpp create mode 100644 src/GNDStk/v2.0/fpy/Nuclides/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/ProductYield.hpp create mode 100644 src/GNDStk/v2.0/fpy/ProductYield/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/ProductYields.hpp create mode 100644 src/GNDStk/v2.0/fpy/ProductYields/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/Time.hpp create mode 100644 src/GNDStk/v2.0/fpy/Time/src/custom.hpp create mode 100644 src/GNDStk/v2.0/fpy/Yields.hpp create mode 100644 src/GNDStk/v2.0/fpy/Yields/src/custom.hpp create mode 100644 src/GNDStk/v2.0/key.hpp create mode 100644 src/GNDStk/v2.0/pops/Alias.hpp create mode 100644 src/GNDStk/v2.0/pops/Alias/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Aliases.hpp create mode 100644 src/GNDStk/v2.0/pops/Aliases/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Atomic.hpp create mode 100644 src/GNDStk/v2.0/pops/Atomic/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/AverageEnergies.hpp create mode 100644 src/GNDStk/v2.0/pops/AverageEnergies/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/AverageEnergy.hpp create mode 100644 src/GNDStk/v2.0/pops/AverageEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Baryon.hpp create mode 100644 src/GNDStk/v2.0/pops/Baryon/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Baryons.hpp create mode 100644 src/GNDStk/v2.0/pops/Baryons/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Charge.hpp create mode 100644 src/GNDStk/v2.0/pops/Charge/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/ChemicalElement.hpp create mode 100644 src/GNDStk/v2.0/pops/ChemicalElement/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/ChemicalElements.hpp create mode 100644 src/GNDStk/v2.0/pops/ChemicalElements/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Configuration.hpp create mode 100644 src/GNDStk/v2.0/pops/Configuration/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Configurations.hpp create mode 100644 src/GNDStk/v2.0/pops/Configurations/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Continuum.hpp create mode 100644 src/GNDStk/v2.0/pops/Continuum/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Decay.hpp create mode 100644 src/GNDStk/v2.0/pops/Decay/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/DecayData.hpp create mode 100644 src/GNDStk/v2.0/pops/DecayData/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/DecayMode.hpp create mode 100644 src/GNDStk/v2.0/pops/DecayMode/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/DecayModes.hpp create mode 100644 src/GNDStk/v2.0/pops/DecayModes/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/DecayPath.hpp create mode 100644 src/GNDStk/v2.0/pops/DecayPath/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Discrete.hpp create mode 100644 src/GNDStk/v2.0/pops/Discrete/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Energy.hpp create mode 100644 src/GNDStk/v2.0/pops/Energy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/GaugeBoson.hpp create mode 100644 src/GNDStk/v2.0/pops/GaugeBoson/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/GaugeBosons.hpp create mode 100644 src/GNDStk/v2.0/pops/GaugeBosons/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Halflife.hpp create mode 100644 src/GNDStk/v2.0/pops/Halflife/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Intensity.hpp create mode 100644 src/GNDStk/v2.0/pops/Intensity/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/InternalConversionCoefficients.hpp create mode 100644 src/GNDStk/v2.0/pops/InternalConversionCoefficients/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/InternalPairFormationCoefficient.hpp create mode 100644 src/GNDStk/v2.0/pops/InternalPairFormationCoefficient/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Isotope.hpp create mode 100644 src/GNDStk/v2.0/pops/Isotope/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Isotopes.hpp create mode 100644 src/GNDStk/v2.0/pops/Isotopes/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Lepton.hpp create mode 100644 src/GNDStk/v2.0/pops/Lepton/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Leptons.hpp create mode 100644 src/GNDStk/v2.0/pops/Leptons/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Mass.hpp create mode 100644 src/GNDStk/v2.0/pops/Mass/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/MetaStable.hpp create mode 100644 src/GNDStk/v2.0/pops/MetaStable/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Nucleus.hpp create mode 100644 src/GNDStk/v2.0/pops/Nucleus/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Nuclide.hpp create mode 100644 src/GNDStk/v2.0/pops/Nuclide/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Nuclides.hpp create mode 100644 src/GNDStk/v2.0/pops/Nuclides/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Parity.hpp create mode 100644 src/GNDStk/v2.0/pops/Parity/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/PhotonEmissionProbabilities.hpp create mode 100644 src/GNDStk/v2.0/pops/PhotonEmissionProbabilities/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/PoPs.hpp create mode 100644 src/GNDStk/v2.0/pops/PoPs/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Probability.hpp create mode 100644 src/GNDStk/v2.0/pops/Probability/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Product.hpp create mode 100644 src/GNDStk/v2.0/pops/Product/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Products.hpp create mode 100644 src/GNDStk/v2.0/pops/Products/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Q.hpp create mode 100644 src/GNDStk/v2.0/pops/Q/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Shell.hpp create mode 100644 src/GNDStk/v2.0/pops/Shell/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Spectra.hpp create mode 100644 src/GNDStk/v2.0/pops/Spectra/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Spectrum.hpp create mode 100644 src/GNDStk/v2.0/pops/Spectrum/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Spin.hpp create mode 100644 src/GNDStk/v2.0/pops/Spin/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Unorthodox.hpp create mode 100644 src/GNDStk/v2.0/pops/Unorthodox/src/custom.hpp create mode 100644 src/GNDStk/v2.0/pops/Unorthodoxes.hpp create mode 100644 src/GNDStk/v2.0/pops/Unorthodoxes/src/custom.hpp create mode 100644 src/GNDStk/v2.0/processed/AngularEnergyMC.hpp create mode 100644 src/GNDStk/v2.0/processed/AngularEnergyMC/src/custom.hpp create mode 100644 src/GNDStk/v2.0/processed/AvailableEnergy.hpp create mode 100644 src/GNDStk/v2.0/processed/AvailableEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/processed/AvailableMomentum.hpp create mode 100644 src/GNDStk/v2.0/processed/AvailableMomentum/src/custom.hpp create mode 100644 src/GNDStk/v2.0/processed/AverageProductEnergy.hpp create mode 100644 src/GNDStk/v2.0/processed/AverageProductEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/processed/AverageProductMomentum.hpp create mode 100644 src/GNDStk/v2.0/processed/AverageProductMomentum/src/custom.hpp create mode 100644 src/GNDStk/v2.0/processed/EnergyAngularMC.hpp create mode 100644 src/GNDStk/v2.0/processed/EnergyAngularMC/src/custom.hpp create mode 100644 src/GNDStk/v2.0/processed/MultiGroup3d.hpp create mode 100644 src/GNDStk/v2.0/processed/MultiGroup3d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/BreitWigner.hpp create mode 100644 src/GNDStk/v2.0/resonances/BreitWigner/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Channel.hpp create mode 100644 src/GNDStk/v2.0/resonances/Channel/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Channels.hpp create mode 100644 src/GNDStk/v2.0/resonances/Channels/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/EnergyInterval.hpp create mode 100644 src/GNDStk/v2.0/resonances/EnergyInterval/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/EnergyIntervals.hpp create mode 100644 src/GNDStk/v2.0/resonances/EnergyIntervals/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/ExternalRMatrix.hpp create mode 100644 src/GNDStk/v2.0/resonances/ExternalRMatrix/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/HardSphereRadius.hpp create mode 100644 src/GNDStk/v2.0/resonances/HardSphereRadius/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/J.hpp create mode 100644 src/GNDStk/v2.0/resonances/J/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Js.hpp create mode 100644 src/GNDStk/v2.0/resonances/Js/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/L.hpp create mode 100644 src/GNDStk/v2.0/resonances/L/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/LevelSpacing.hpp create mode 100644 src/GNDStk/v2.0/resonances/LevelSpacing/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Ls.hpp create mode 100644 src/GNDStk/v2.0/resonances/Ls/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/RMatrix.hpp create mode 100644 src/GNDStk/v2.0/resonances/RMatrix/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Resolved.hpp create mode 100644 src/GNDStk/v2.0/resonances/Resolved/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/ResonanceParameters.hpp create mode 100644 src/GNDStk/v2.0/resonances/ResonanceParameters/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/ResonanceReaction.hpp create mode 100644 src/GNDStk/v2.0/resonances/ResonanceReaction/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/ResonanceReactions.hpp create mode 100644 src/GNDStk/v2.0/resonances/ResonanceReactions/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Resonances.hpp create mode 100644 src/GNDStk/v2.0/resonances/Resonances/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/ScatteringRadius.hpp create mode 100644 src/GNDStk/v2.0/resonances/ScatteringRadius/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/SpinGroup.hpp create mode 100644 src/GNDStk/v2.0/resonances/SpinGroup/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/SpinGroups.hpp create mode 100644 src/GNDStk/v2.0/resonances/SpinGroups/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/TabulatedWidths.hpp create mode 100644 src/GNDStk/v2.0/resonances/TabulatedWidths/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Unresolved.hpp create mode 100644 src/GNDStk/v2.0/resonances/Unresolved/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Width.hpp create mode 100644 src/GNDStk/v2.0/resonances/Width/src/custom.hpp create mode 100644 src/GNDStk/v2.0/resonances/Widths.hpp create mode 100644 src/GNDStk/v2.0/resonances/Widths/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/AngularDistributionReconstructed.hpp create mode 100644 src/GNDStk/v2.0/styles/AngularDistributionReconstructed/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/AverageProductData.hpp create mode 100644 src/GNDStk/v2.0/styles/AverageProductData/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Bondarenko.hpp create mode 100644 src/GNDStk/v2.0/styles/Bondarenko/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp create mode 100644 src/GNDStk/v2.0/styles/CoulombPlusNuclearElasticMuCutoff/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/CrossSectionReconstructed.hpp create mode 100644 src/GNDStk/v2.0/styles/CrossSectionReconstructed/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/EqualProbableBins.hpp create mode 100644 src/GNDStk/v2.0/styles/EqualProbableBins/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Evaluated.hpp create mode 100644 src/GNDStk/v2.0/styles/Evaluated/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Flux.hpp create mode 100644 src/GNDStk/v2.0/styles/Flux/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/GriddedCrossSection.hpp create mode 100644 src/GNDStk/v2.0/styles/GriddedCrossSection/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Heated.hpp create mode 100644 src/GNDStk/v2.0/styles/Heated/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/HeatedMultiGroup.hpp create mode 100644 src/GNDStk/v2.0/styles/HeatedMultiGroup/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/InverseSpeed.hpp create mode 100644 src/GNDStk/v2.0/styles/InverseSpeed/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/MonteCarlo_cdf.hpp create mode 100644 src/GNDStk/v2.0/styles/MonteCarlo_cdf/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/MultiBand.hpp create mode 100644 src/GNDStk/v2.0/styles/MultiBand/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/MultiGroup.hpp create mode 100644 src/GNDStk/v2.0/styles/MultiGroup/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/ProjectileEnergyDomain.hpp create mode 100644 src/GNDStk/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Realization.hpp create mode 100644 src/GNDStk/v2.0/styles/Realization/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/SigmaZeros.hpp create mode 100644 src/GNDStk/v2.0/styles/SigmaZeros/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/SnElasticUpScatter.hpp create mode 100644 src/GNDStk/v2.0/styles/SnElasticUpScatter/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Styles.hpp create mode 100644 src/GNDStk/v2.0/styles/Styles/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Temperature.hpp create mode 100644 src/GNDStk/v2.0/styles/Temperature/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Transportable.hpp create mode 100644 src/GNDStk/v2.0/styles/Transportable/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/Transportables.hpp create mode 100644 src/GNDStk/v2.0/styles/Transportables/src/custom.hpp create mode 100644 src/GNDStk/v2.0/styles/URR_probabilityTables.hpp create mode 100644 src/GNDStk/v2.0/styles/URR_probabilityTables/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/A.hpp create mode 100644 src/GNDStk/v2.0/transport/A/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Add.hpp create mode 100644 src/GNDStk/v2.0/transport/Add/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Angular.hpp create mode 100644 src/GNDStk/v2.0/transport/Angular/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/AngularEnergy.hpp create mode 100644 src/GNDStk/v2.0/transport/AngularEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/AngularTwoBody.hpp create mode 100644 src/GNDStk/v2.0/transport/AngularTwoBody/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Background.hpp create mode 100644 src/GNDStk/v2.0/transport/Background/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Branching1d.hpp create mode 100644 src/GNDStk/v2.0/transport/Branching1d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Branching3d.hpp create mode 100644 src/GNDStk/v2.0/transport/Branching3d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/CoherentPhoton.hpp create mode 100644 src/GNDStk/v2.0/transport/CoherentPhoton/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/CrossSection.hpp create mode 100644 src/GNDStk/v2.0/transport/CrossSection/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/CrossSectionSum.hpp create mode 100644 src/GNDStk/v2.0/transport/CrossSectionSum/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/CrossSectionSums.hpp create mode 100644 src/GNDStk/v2.0/transport/CrossSectionSums/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/DiscreteGamma.hpp create mode 100644 src/GNDStk/v2.0/transport/DiscreteGamma/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Distribution.hpp create mode 100644 src/GNDStk/v2.0/transport/Distribution/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/DoubleDifferentialCrossSection.hpp create mode 100644 src/GNDStk/v2.0/transport/DoubleDifferentialCrossSection/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Energy.hpp create mode 100644 src/GNDStk/v2.0/transport/Energy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/EnergyAngular.hpp create mode 100644 src/GNDStk/v2.0/transport/EnergyAngular/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Evaporation.hpp create mode 100644 src/GNDStk/v2.0/transport/Evaporation/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/F.hpp create mode 100644 src/GNDStk/v2.0/transport/F/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/FastRegion.hpp create mode 100644 src/GNDStk/v2.0/transport/FastRegion/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Forward.hpp create mode 100644 src/GNDStk/v2.0/transport/Forward/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/G.hpp create mode 100644 src/GNDStk/v2.0/transport/G/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/GeneralEvaporation.hpp create mode 100644 src/GNDStk/v2.0/transport/GeneralEvaporation/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/IncoherentPhoton.hpp create mode 100644 src/GNDStk/v2.0/transport/IncoherentPhoton/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/IncompleteReactions.hpp create mode 100644 src/GNDStk/v2.0/transport/IncompleteReactions/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Isotropic2d.hpp create mode 100644 src/GNDStk/v2.0/transport/Isotropic2d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/KalbachMann.hpp create mode 100644 src/GNDStk/v2.0/transport/KalbachMann/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Multiplicity.hpp create mode 100644 src/GNDStk/v2.0/transport/Multiplicity/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/MultiplicitySum.hpp create mode 100644 src/GNDStk/v2.0/transport/MultiplicitySum/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/MultiplicitySums.hpp create mode 100644 src/GNDStk/v2.0/transport/MultiplicitySums/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/NBodyPhaseSpace.hpp create mode 100644 src/GNDStk/v2.0/transport/NBodyPhaseSpace/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/OrphanProduct.hpp create mode 100644 src/GNDStk/v2.0/transport/OrphanProduct/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/OrphanProducts.hpp create mode 100644 src/GNDStk/v2.0/transport/OrphanProducts/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/OutputChannel.hpp create mode 100644 src/GNDStk/v2.0/transport/OutputChannel/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/PhotonEmissionProbabilities.hpp create mode 100644 src/GNDStk/v2.0/transport/PhotonEmissionProbabilities/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/PrimaryGamma.hpp create mode 100644 src/GNDStk/v2.0/transport/PrimaryGamma/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Production.hpp create mode 100644 src/GNDStk/v2.0/transport/Production/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Productions.hpp create mode 100644 src/GNDStk/v2.0/transport/Productions/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/R.hpp create mode 100644 src/GNDStk/v2.0/transport/R/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Reaction.hpp create mode 100644 src/GNDStk/v2.0/transport/Reaction/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/ReactionSuite.hpp create mode 100644 src/GNDStk/v2.0/transport/ReactionSuite/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Reactions.hpp create mode 100644 src/GNDStk/v2.0/transport/Reactions/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Recoil.hpp create mode 100644 src/GNDStk/v2.0/transport/Recoil/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Reference.hpp create mode 100644 src/GNDStk/v2.0/transport/Reference/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/ResolvedRegion.hpp create mode 100644 src/GNDStk/v2.0/transport/ResolvedRegion/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Resonances.hpp create mode 100644 src/GNDStk/v2.0/transport/Resonances/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/ResonancesWithBackground.hpp create mode 100644 src/GNDStk/v2.0/transport/ResonancesWithBackground/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/ScatteringMatrix.hpp create mode 100644 src/GNDStk/v2.0/transport/ScatteringMatrix/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Summands.hpp create mode 100644 src/GNDStk/v2.0/transport/Summands/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Sums.hpp create mode 100644 src/GNDStk/v2.0/transport/Sums/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Theta.hpp create mode 100644 src/GNDStk/v2.0/transport/Theta/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/U.hpp create mode 100644 src/GNDStk/v2.0/transport/U/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/URR_probabilityTables1d.hpp create mode 100644 src/GNDStk/v2.0/transport/URR_probabilityTables1d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Uncorrelated.hpp create mode 100644 src/GNDStk/v2.0/transport/Uncorrelated/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/UnresolvedRegion.hpp create mode 100644 src/GNDStk/v2.0/transport/UnresolvedRegion/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Unspecified.hpp create mode 100644 src/GNDStk/v2.0/transport/Unspecified/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/Weighted.hpp create mode 100644 src/GNDStk/v2.0/transport/Weighted/src/custom.hpp create mode 100644 src/GNDStk/v2.0/transport/WeightedFunctionals.hpp create mode 100644 src/GNDStk/v2.0/transport/WeightedFunctionals/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/BoundAtomCrossSection.hpp create mode 100644 src/GNDStk/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/BraggEdge.hpp create mode 100644 src/GNDStk/v2.0/tsl/BraggEdge/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/BraggEdges.hpp create mode 100644 src/GNDStk/v2.0/tsl/BraggEdges/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/BraggEnergy.hpp create mode 100644 src/GNDStk/v2.0/tsl/BraggEnergy/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/CoherentAtomCrossSection.hpp create mode 100644 src/GNDStk/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/DebyeWallerIntegral.hpp create mode 100644 src/GNDStk/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/DistinctScatteringKernel.hpp create mode 100644 src/GNDStk/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/E_critical.hpp create mode 100644 src/GNDStk/v2.0/tsl/E_critical/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/E_max.hpp create mode 100644 src/GNDStk/v2.0/tsl/E_max/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/PhononSpectrum.hpp create mode 100644 src/GNDStk/v2.0/tsl/PhononSpectrum/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/S_table.hpp create mode 100644 src/GNDStk/v2.0/tsl/S_table/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/ScatteringAtom.hpp create mode 100644 src/GNDStk/v2.0/tsl/ScatteringAtom/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/ScatteringAtoms.hpp create mode 100644 src/GNDStk/v2.0/tsl/ScatteringAtoms/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/SelfScatteringKernel.hpp create mode 100644 src/GNDStk/v2.0/tsl/SelfScatteringKernel/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/SelfScatteringKernelGaussianApproximation.hpp create mode 100644 src/GNDStk/v2.0/tsl/SelfScatteringKernelGaussianApproximation/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/SelfScatteringKernelSCTApproximation.hpp create mode 100644 src/GNDStk/v2.0/tsl/SelfScatteringKernelSCTApproximation/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/StructureFactor.hpp create mode 100644 src/GNDStk/v2.0/tsl/StructureFactor/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/T_effective.hpp create mode 100644 src/GNDStk/v2.0/tsl/T_effective/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw1d/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic/src/custom.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp create mode 100644 src/GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic/src/custom.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index aab7be598..ada9bcb90 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,6 +122,98 @@ pybind11_add_module( GNDStk.python python/src/v2.0/containers/XYs2d.python.cpp python/src/v2.0/containers/XYs3d.python.cpp python/src/v2.0/containers/Ys1d.python.cpp + python/src/v2.0/fissionFragmentData.python.cpp + python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp + python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp + python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp + python/src/v2.0/fpy.python.cpp + python/src/v2.0/fpy/ElapsedTime.python.cpp + python/src/v2.0/fpy/ElapsedTimes.python.cpp + python/src/v2.0/fpy/Energy.python.cpp + python/src/v2.0/fpy/IncidentEnergies.python.cpp + python/src/v2.0/fpy/IncidentEnergy.python.cpp + python/src/v2.0/fpy/Nuclides.python.cpp + python/src/v2.0/fpy/ProductYield.python.cpp + python/src/v2.0/fpy/ProductYields.python.cpp + python/src/v2.0/fpy/Time.python.cpp + python/src/v2.0/fpy/Yields.python.cpp + python/src/v2.0/fissionFragmentData/Rate.python.cpp + python/src/v2.0/pops.python.cpp + python/src/v2.0/pops/Alias.python.cpp + python/src/v2.0/pops/Aliases.python.cpp + python/src/v2.0/pops/Atomic.python.cpp + python/src/v2.0/pops/AverageEnergies.python.cpp + python/src/v2.0/pops/AverageEnergy.python.cpp + python/src/v2.0/pops/Baryon.python.cpp + python/src/v2.0/pops/Baryons.python.cpp + python/src/v2.0/pops/BindingEnergy.python.cpp + python/src/v2.0/pops/Charge.python.cpp + python/src/v2.0/pops/ChemicalElement.python.cpp + python/src/v2.0/pops/ChemicalElements.python.cpp + python/src/v2.0/pops/Configuration.python.cpp + python/src/v2.0/pops/Configurations.python.cpp + python/src/v2.0/pops/Continuum.python.cpp + python/src/v2.0/pops/Decay.python.cpp + python/src/v2.0/pops/DecayData.python.cpp + python/src/v2.0/pops/DecayMode.python.cpp + python/src/v2.0/pops/DecayModes.python.cpp + python/src/v2.0/pops/DecayPath.python.cpp + python/src/v2.0/pops/Discrete.python.cpp + python/src/v2.0/pops/Energy.python.cpp + python/src/v2.0/pops/GaugeBoson.python.cpp + python/src/v2.0/pops/GaugeBosons.python.cpp + python/src/v2.0/pops/Halflife.python.cpp + python/src/v2.0/pops/Intensity.python.cpp + python/src/v2.0/pops/InternalConversionCoefficients.python.cpp + python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp + python/src/v2.0/pops/Isotope.python.cpp + python/src/v2.0/pops/Isotopes.python.cpp + python/src/v2.0/pops/Lepton.python.cpp + python/src/v2.0/pops/Leptons.python.cpp + python/src/v2.0/pops/Mass.python.cpp + python/src/v2.0/pops/MetaStable.python.cpp + python/src/v2.0/pops/Nucleus.python.cpp + python/src/v2.0/pops/Nuclide.python.cpp + python/src/v2.0/pops/Nuclides.python.cpp + python/src/v2.0/pops/Parity.python.cpp + python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp + python/src/v2.0/pops/PoPs.python.cpp + python/src/v2.0/pops/Probability.python.cpp + python/src/v2.0/pops/Product.python.cpp + python/src/v2.0/pops/Products.python.cpp + python/src/v2.0/pops/Q.python.cpp + python/src/v2.0/pops/Shell.python.cpp + python/src/v2.0/pops/Spectra.python.cpp + python/src/v2.0/pops/Spectrum.python.cpp + python/src/v2.0/pops/Spin.python.cpp + python/src/v2.0/pops/Unorthodox.python.cpp + python/src/v2.0/pops/Unorthodoxes.python.cpp + python/src/v2.0/resonances.python.cpp + python/src/v2.0/resonances/BreitWigner.python.cpp + python/src/v2.0/resonances/Channel.python.cpp + python/src/v2.0/resonances/Channels.python.cpp + python/src/v2.0/resonances/EnergyInterval.python.cpp + python/src/v2.0/resonances/EnergyIntervals.python.cpp + python/src/v2.0/resonances/ExternalRMatrix.python.cpp + python/src/v2.0/resonances/HardSphereRadius.python.cpp + python/src/v2.0/resonances/J.python.cpp + python/src/v2.0/resonances/Js.python.cpp + python/src/v2.0/resonances/L.python.cpp + python/src/v2.0/resonances/LevelSpacing.python.cpp + python/src/v2.0/resonances/Ls.python.cpp + python/src/v2.0/resonances/RMatrix.python.cpp + python/src/v2.0/resonances/Resolved.python.cpp + python/src/v2.0/resonances/ResonanceParameters.python.cpp + python/src/v2.0/resonances/ResonanceReaction.python.cpp + python/src/v2.0/resonances/ResonanceReactions.python.cpp + python/src/v2.0/resonances/Resonances.python.cpp + python/src/v2.0/resonances/ScatteringRadius.python.cpp + python/src/v2.0/resonances/SpinGroup.python.cpp + python/src/v2.0/resonances/SpinGroups.python.cpp + python/src/v2.0/resonances/TabulatedWidths.python.cpp + python/src/v2.0/resonances/Unresolved.python.cpp + python/src/v2.0/resonances/Width.python.cpp + python/src/v2.0/resonances/Widths.python.cpp ) target_link_libraries( GNDStk.python PRIVATE GNDStk ) target_compile_options( GNDStk.python PRIVATE "-fvisibility=hidden" ) diff --git a/python/src/v2.0/GNDS.python.cpp b/python/src/v2.0/GNDS.python.cpp index 7173442ae..ea02d1ce9 100644 --- a/python/src/v2.0/GNDS.python.cpp +++ b/python/src/v2.0/GNDS.python.cpp @@ -11,6 +11,10 @@ namespace python = pybind11; namespace python_v2_0 { void wrapContainers( python::module& ); + void wrapFpy( python::module& ); + void wrapFissionFragmentData( python::module& ); + void wrapPops( python::module& ); + void wrapResonances( python::module& ); } namespace python_v2_0 { @@ -25,5 +29,9 @@ namespace python_v2_0 { ); python_v2_0::wrapContainers( submodule ); + python_v2_0::wrapFpy( submodule ); + python_v2_0::wrapFissionFragmentData( submodule ); + python_v2_0::wrapPops( submodule ); + python_v2_0::wrapResonances( submodule ); } } // v2_0 namespace diff --git a/python/src/v2.0/abstract.python.cpp b/python/src/v2.0/abstract.python.cpp new file mode 100644 index 000000000..b159ad793 --- /dev/null +++ b/python/src/v2.0/abstract.python.cpp @@ -0,0 +1,37 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// abstract declarations +namespace python_abstract { + void wrapFunctional(python::module &); + void wrapLabel(python::module &); + void wrapPhysicalQuantity(python::module &); + void wrapText(python::module &); +} // namespace python_abstract + +// abstract wrapper +void wrapAbstract(python::module &module) +{ + // create the abstract submodule + python::module submodule = module.def_submodule( + "abstract", + "GNDS v2.0 abstract" + ); + + // wrap abstract components + python_abstract::wrapFunctional(submodule); + python_abstract::wrapLabel(submodule); + python_abstract::wrapPhysicalQuantity(submodule); + python_abstract::wrapText(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/abstract/Functional.python.cpp b/python/src/v2.0/abstract/Functional.python.cpp new file mode 100644 index 000000000..39dd179ba --- /dev/null +++ b/python/src/v2.0/abstract/Functional.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/abstract/Functional.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_abstract { + +// Functional wrapper +void wrapFunctional(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = abstract::Functional; + using _t = std::variant< + abstract::Functional, + containers::Values + >; + + // create the component + python::class_ component( + module, + "Functional", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const containers::Axes &, + const std::optional &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes"), + python::arg("uncertainty") = std::nullopt, + python::arg("_functionalvalues"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + &Component::outerDomainValue, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "uncertainty", + python::overload_cast<>(&Component::uncertainty), + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "functional", + python::overload_cast<>(&Component::functional), + Component::documentation("functional").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + .def_property_readonly( + "_functionalvalues", + python::overload_cast<>(&Component::_functionalvalues), + Component::documentation("_functionalvalues").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_abstract +} // namespace python_v2_0 diff --git a/python/src/v2.0/abstract/Label.python.cpp b/python/src/v2.0/abstract/Label.python.cpp new file mode 100644 index 000000000..5c9a2d544 --- /dev/null +++ b/python/src/v2.0/abstract/Label.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/abstract/Label.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_abstract { + +// Label wrapper +void wrapLabel(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = abstract::Label; + + // create the component + python::class_ component( + module, + "Label", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName & + >(), + python::arg("label"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_abstract +} // namespace python_v2_0 diff --git a/python/src/v2.0/abstract/PhysicalQuantity.python.cpp b/python/src/v2.0/abstract/PhysicalQuantity.python.cpp new file mode 100644 index 000000000..722a31ca3 --- /dev/null +++ b/python/src/v2.0/abstract/PhysicalQuantity.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/abstract/PhysicalQuantity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_abstract { + +// PhysicalQuantity wrapper +void wrapPhysicalQuantity(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = abstract::PhysicalQuantity; + + // create the component + python::class_ component( + module, + "PhysicalQuantity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("label"), + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::documentation), + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + python::overload_cast<>(&Component::uncertainty), + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_abstract +} // namespace python_v2_0 diff --git a/python/src/v2.0/abstract/Text.python.cpp b/python/src/v2.0/abstract/Text.python.cpp new file mode 100644 index 000000000..fdca89ed1 --- /dev/null +++ b/python/src/v2.0/abstract/Text.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/abstract/Text.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_abstract { + +// Text wrapper +void wrapText(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = abstract::Text; + + // create the component + python::class_ component( + module, + "Text", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("markup") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_abstract +} // namespace python_v2_0 diff --git a/python/src/v2.0/appData.python.cpp b/python/src/v2.0/appData.python.cpp new file mode 100644 index 000000000..d666c02a2 --- /dev/null +++ b/python/src/v2.0/appData.python.cpp @@ -0,0 +1,37 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// appData declarations +namespace python_appData { + void wrapConversion(python::module &); + void wrapENDFconversionFlags(python::module &); + void wrapInstitution(python::module &); + void wrapApplicationData(python::module &); +} // namespace python_appData + +// appData wrapper +void wrapAppData(python::module &module) +{ + // create the appData submodule + python::module submodule = module.def_submodule( + "appData", + "GNDS v2.0 appData" + ); + + // wrap appData components + python_appData::wrapConversion(submodule); + python_appData::wrapENDFconversionFlags(submodule); + python_appData::wrapInstitution(submodule); + python_appData::wrapApplicationData(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/appData/ApplicationData.python.cpp b/python/src/v2.0/appData/ApplicationData.python.cpp new file mode 100644 index 000000000..e7750a1b8 --- /dev/null +++ b/python/src/v2.0/appData/ApplicationData.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/appData/ApplicationData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_appData { + +// ApplicationData wrapper +void wrapApplicationData(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = appData::ApplicationData; + + // create the component + python::class_ component( + module, + "ApplicationData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("institution") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "institution", + python::overload_cast<>(&Component::institution), + Component::documentation("institution").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_appData +} // namespace python_v2_0 diff --git a/python/src/v2.0/appData/Conversion.python.cpp b/python/src/v2.0/appData/Conversion.python.cpp new file mode 100644 index 000000000..613eb720f --- /dev/null +++ b/python/src/v2.0/appData/Conversion.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/appData/Conversion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_appData { + +// Conversion wrapper +void wrapConversion(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = appData::Conversion; + + // create the component + python::class_ component( + module, + "Conversion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("flags") = std::nullopt, + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "flags", + &Component::flags, + Component::documentation("flags").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_appData +} // namespace python_v2_0 diff --git a/python/src/v2.0/appData/ENDFconversionFlags.python.cpp b/python/src/v2.0/appData/ENDFconversionFlags.python.cpp new file mode 100644 index 000000000..81c47b7ef --- /dev/null +++ b/python/src/v2.0/appData/ENDFconversionFlags.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/appData/ENDFconversionFlags.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_appData { + +// ENDFconversionFlags wrapper +void wrapENDFconversionFlags(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = appData::ENDFconversionFlags; + + // create the component + python::class_ component( + module, + "ENDFconversionFlags", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("conversion") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "conversion", + python::overload_cast<>(&Component::conversion), + Component::documentation("conversion").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_appData +} // namespace python_v2_0 diff --git a/python/src/v2.0/appData/Institution.python.cpp b/python/src/v2.0/appData/Institution.python.cpp new file mode 100644 index 000000000..c40959734 --- /dev/null +++ b/python/src/v2.0/appData/Institution.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/appData/Institution.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_appData { + +// Institution wrapper +void wrapInstitution(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = appData::Institution; + + // create the component + python::class_ component( + module, + "Institution", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("endfconversion_flags") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "endfconversion_flags", + python::overload_cast<>(&Component::ENDFconversionFlags), + Component::documentation("endfconversion_flags").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_appData +} // namespace python_v2_0 diff --git a/python/src/v2.0/atomic.python.cpp b/python/src/v2.0/atomic.python.cpp new file mode 100644 index 000000000..f3df7e33d --- /dev/null +++ b/python/src/v2.0/atomic.python.cpp @@ -0,0 +1,41 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// atomic declarations +namespace python_atomic { + void wrapFormFactor(python::module &); + void wrapImaginaryAnomalousFactor(python::module &); + void wrapRealAnomalousFactor(python::module &); + void wrapCoherentPhotonScattering(python::module &); + void wrapScatteringFactor(python::module &); + void wrapIncoherentPhotonScattering(python::module &); +} // namespace python_atomic + +// atomic wrapper +void wrapAtomic(python::module &module) +{ + // create the atomic submodule + python::module submodule = module.def_submodule( + "atomic", + "GNDS v2.0 atomic" + ); + + // wrap atomic components + python_atomic::wrapFormFactor(submodule); + python_atomic::wrapImaginaryAnomalousFactor(submodule); + python_atomic::wrapRealAnomalousFactor(submodule); + python_atomic::wrapCoherentPhotonScattering(submodule); + python_atomic::wrapScatteringFactor(submodule); + python_atomic::wrapIncoherentPhotonScattering(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp b/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp new file mode 100644 index 000000000..3a5eea3f7 --- /dev/null +++ b/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// CoherentPhotonScattering wrapper +void wrapCoherentPhotonScattering(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = atomic::CoherentPhotonScattering; + + // create the component + python::class_ component( + module, + "CoherentPhotonScattering", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const enums::Frame &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("pid") = std::nullopt, + python::arg("product_frame"), + python::arg("form_factor") = std::nullopt, + python::arg("imaginary_anomalous_factor") = std::nullopt, + python::arg("real_anomalous_factor") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "form_factor", + python::overload_cast<>(&Component::formFactor), + Component::documentation("form_factor").data() + ) + .def_property_readonly( + "imaginary_anomalous_factor", + python::overload_cast<>(&Component::imaginaryAnomalousFactor), + Component::documentation("imaginary_anomalous_factor").data() + ) + .def_property_readonly( + "real_anomalous_factor", + python::overload_cast<>(&Component::realAnomalousFactor), + Component::documentation("real_anomalous_factor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/python/src/v2.0/atomic/FormFactor.python.cpp b/python/src/v2.0/atomic/FormFactor.python.cpp new file mode 100644 index 000000000..b07a2bd47 --- /dev/null +++ b/python/src/v2.0/atomic/FormFactor.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/atomic/FormFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// FormFactor wrapper +void wrapFormFactor(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = atomic::FormFactor; + + // create the component + python::class_ component( + module, + "FormFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp b/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp new file mode 100644 index 000000000..89b16ac22 --- /dev/null +++ b/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/atomic/ImaginaryAnomalousFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// ImaginaryAnomalousFactor wrapper +void wrapImaginaryAnomalousFactor(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = atomic::ImaginaryAnomalousFactor; + + // create the component + python::class_ component( + module, + "ImaginaryAnomalousFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp b/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp new file mode 100644 index 000000000..55582d6e3 --- /dev/null +++ b/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// IncoherentPhotonScattering wrapper +void wrapIncoherentPhotonScattering(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = atomic::IncoherentPhotonScattering; + + // create the component + python::class_ component( + module, + "IncoherentPhotonScattering", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const enums::Frame &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("pid") = std::nullopt, + python::arg("product_frame"), + python::arg("scattering_factor") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "scattering_factor", + python::overload_cast<>(&Component::scatteringFactor), + Component::documentation("scattering_factor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp b/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp new file mode 100644 index 000000000..86d6a902f --- /dev/null +++ b/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/atomic/RealAnomalousFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// RealAnomalousFactor wrapper +void wrapRealAnomalousFactor(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = atomic::RealAnomalousFactor; + + // create the component + python::class_ component( + module, + "RealAnomalousFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/python/src/v2.0/atomic/ScatteringFactor.python.cpp b/python/src/v2.0/atomic/ScatteringFactor.python.cpp new file mode 100644 index 000000000..44236cddc --- /dev/null +++ b/python/src/v2.0/atomic/ScatteringFactor.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/atomic/ScatteringFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// ScatteringFactor wrapper +void wrapScatteringFactor(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = atomic::ScatteringFactor; + + // create the component + python::class_ component( + module, + "ScatteringFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/python/src/v2.0/common.python.cpp b/python/src/v2.0/common.python.cpp new file mode 100644 index 000000000..268e13fcc --- /dev/null +++ b/python/src/v2.0/common.python.cpp @@ -0,0 +1,47 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// common declarations +namespace python_common { + void wrapQ(python::module &); + void wrapEnergy(python::module &); + void wrapExternalFile(python::module &); + void wrapExternalFiles(python::module &); + void wrapMass(python::module &); + void wrapProbability(python::module &); + void wrapProduct(python::module &); + void wrapProducts(python::module &); + void wrapTemperature(python::module &); +} // namespace python_common + +// common wrapper +void wrapCommon(python::module &module) +{ + // create the common submodule + python::module submodule = module.def_submodule( + "common", + "GNDS v2.0 common" + ); + + // wrap common components + python_common::wrapQ(submodule); + python_common::wrapEnergy(submodule); + python_common::wrapExternalFile(submodule); + python_common::wrapExternalFiles(submodule); + python_common::wrapMass(submodule); + python_common::wrapProbability(submodule); + python_common::wrapProduct(submodule); + python_common::wrapProducts(submodule); + python_common::wrapTemperature(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/Energy.python.cpp b/python/src/v2.0/common/Energy.python.cpp new file mode 100644 index 000000000..763197fb2 --- /dev/null +++ b/python/src/v2.0/common/Energy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/Energy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Energy wrapper +void wrapEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::Energy; + + // create the component + python::class_ component( + module, + "Energy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/ExternalFile.python.cpp b/python/src/v2.0/common/ExternalFile.python.cpp new file mode 100644 index 000000000..e441778ed --- /dev/null +++ b/python/src/v2.0/common/ExternalFile.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/ExternalFile.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// ExternalFile wrapper +void wrapExternalFile(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::ExternalFile; + + // create the component + python::class_ component( + module, + "ExternalFile", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const XMLName & + >(), + python::arg("algorithm") = std::nullopt, + python::arg("checksum") = std::nullopt, + python::arg("label"), + python::arg("path"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "algorithm", + &Component::algorithm, + Component::documentation("algorithm").data() + ) + .def_property_readonly( + "checksum", + &Component::checksum, + Component::documentation("checksum").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "path", + &Component::path, + Component::documentation("path").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/ExternalFiles.python.cpp b/python/src/v2.0/common/ExternalFiles.python.cpp new file mode 100644 index 000000000..a07d48218 --- /dev/null +++ b/python/src/v2.0/common/ExternalFiles.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/ExternalFiles.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// ExternalFiles wrapper +void wrapExternalFiles(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::ExternalFiles; + + // create the component + python::class_ component( + module, + "ExternalFiles", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("external_file"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "external_file", + python::overload_cast<>(&Component::externalFile), + Component::documentation("external_file").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/Mass.python.cpp b/python/src/v2.0/common/Mass.python.cpp new file mode 100644 index 000000000..a39795673 --- /dev/null +++ b/python/src/v2.0/common/Mass.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/Mass.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Mass wrapper +void wrapMass(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::Mass; + + // create the component + python::class_ component( + module, + "Mass", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/Probability.python.cpp b/python/src/v2.0/common/Probability.python.cpp new file mode 100644 index 000000000..eaa4a8398 --- /dev/null +++ b/python/src/v2.0/common/Probability.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/Probability.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Probability wrapper +void wrapProbability(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::Probability; + + // create the component + python::class_ component( + module, + "Probability", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("double") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/Product.python.cpp b/python/src/v2.0/common/Product.python.cpp new file mode 100644 index 000000000..3033c0de9 --- /dev/null +++ b/python/src/v2.0/common/Product.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/Product.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Product wrapper +void wrapProduct(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::Product; + + // create the component + python::class_ component( + module, + "Product", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const transport::Distribution &, + const transport::Multiplicity &, + const std::optional & + >(), + python::arg("label"), + python::arg("pid"), + python::arg("distribution"), + python::arg("multiplicity"), + python::arg("output_channel") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "distribution", + python::overload_cast<>(&Component::distribution), + Component::documentation("distribution").data() + ) + .def_property_readonly( + "multiplicity", + python::overload_cast<>(&Component::multiplicity), + Component::documentation("multiplicity").data() + ) + .def_property_readonly( + "output_channel", + python::overload_cast<>(&Component::outputChannel), + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/Products.python.cpp b/python/src/v2.0/common/Products.python.cpp new file mode 100644 index 000000000..25d69fcc2 --- /dev/null +++ b/python/src/v2.0/common/Products.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/Products.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Products wrapper +void wrapProducts(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::Products; + + // create the component + python::class_ component( + module, + "Products", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("product") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "product", + python::overload_cast<>(&Component::product), + Component::documentation("product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/Q.python.cpp b/python/src/v2.0/common/Q.python.cpp new file mode 100644 index 000000000..7ef93a75e --- /dev/null +++ b/python/src/v2.0/common/Q.python.cpp @@ -0,0 +1,88 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/Q.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Q wrapper +void wrapQ(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::Q; + using _t = std::variant< + containers::XYs1d, + containers::Constant1d, + containers::Gridded1d, + containers::Polynomial1d, + containers::Regions1d + >; + + // create the component + python::class_ component( + module, + "Q", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dconstant1dgridded1dpolynomial1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "constant1d", + python::overload_cast<>(&Component::constant1d), + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "gridded1d", + python::overload_cast<>(&Component::gridded1d), + Component::documentation("gridded1d").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dconstant1dgridded1dpolynomial1dregions1d", + python::overload_cast<>(&Component::_XYs1dconstant1dgridded1dpolynomial1dregions1d), + Component::documentation("_xys1dconstant1dgridded1dpolynomial1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/common/Temperature.python.cpp b/python/src/v2.0/common/Temperature.python.cpp new file mode 100644 index 000000000..f139892a2 --- /dev/null +++ b/python/src/v2.0/common/Temperature.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/common/Temperature.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Temperature wrapper +void wrapTemperature(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = common::Temperature; + + // create the component + python::class_ component( + module, + "Temperature", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/python/src/v2.0/containers.python.cpp b/python/src/v2.0/containers.python.cpp index 998d784c3..dd02d5077 100644 --- a/python/src/v2.0/containers.python.cpp +++ b/python/src/v2.0/containers.python.cpp @@ -33,6 +33,7 @@ namespace python_containers { void wrapYs1d(python::module &); void wrapXYs3d(python::module &); void wrapGridded3d(python::module &); + void wrapString(python::module &); void wrapColumn(python::module &); void wrapColumnHeaders(python::module &); void wrapData(python::module &); @@ -40,7 +41,6 @@ namespace python_containers { void wrapFunction3ds(python::module &); void wrapInteger(python::module &); void wrapRegions3d(python::module &); - void wrapString(python::module &); void wrapTable(python::module &); } // namespace python_containers @@ -75,6 +75,7 @@ void wrapContainers(python::module &module) python_containers::wrapYs1d(submodule); python_containers::wrapXYs3d(submodule); python_containers::wrapGridded3d(submodule); + python_containers::wrapString(submodule); python_containers::wrapColumn(submodule); python_containers::wrapColumnHeaders(submodule); python_containers::wrapData(submodule); @@ -82,7 +83,6 @@ void wrapContainers(python::module &module) python_containers::wrapFunction3ds(submodule); python_containers::wrapInteger(submodule); python_containers::wrapRegions3d(submodule); - python_containers::wrapString(submodule); python_containers::wrapTable(submodule); }; diff --git a/python/src/v2.0/containers/Double.python.cpp b/python/src/v2.0/containers/Double.python.cpp index 284102603..783c2029d 100644 --- a/python/src/v2.0/containers/Double.python.cpp +++ b/python/src/v2.0/containers/Double.python.cpp @@ -52,7 +52,7 @@ void wrapDouble(python::module &module) ) .def_property_readonly( "unit", - [](const Component &self) { return self.unit().value(); }, + &Component::unit, Component::documentation("unit").data() ) .def_property_readonly( diff --git a/python/src/v2.0/containers/Fraction.python.cpp b/python/src/v2.0/containers/Fraction.python.cpp index 21ca1df94..6c20d5221 100644 --- a/python/src/v2.0/containers/Fraction.python.cpp +++ b/python/src/v2.0/containers/Fraction.python.cpp @@ -47,12 +47,12 @@ void wrapFraction(python::module &module) ) .def_property_readonly( "label", - [](const Component &self) { return self.label().value(); }, + &Component::label, Component::documentation("label").data() ) .def_property_readonly( "unit", - [](const Component &self) { return self.unit().value(); }, + &Component::unit, Component::documentation("unit").data() ) .def_property_readonly( diff --git a/python/src/v2.0/containers/Integer.python.cpp b/python/src/v2.0/containers/Integer.python.cpp index e280766fa..35ac60981 100644 --- a/python/src/v2.0/containers/Integer.python.cpp +++ b/python/src/v2.0/containers/Integer.python.cpp @@ -47,12 +47,12 @@ void wrapInteger(python::module &module) ) .def_property_readonly( "label", - [](const Component &self) { return self.label().value(); }, + &Component::label, Component::documentation("label").data() ) .def_property_readonly( "unit", - [](const Component &self) { return self.unit().value(); }, + &Component::unit, Component::documentation("unit").data() ) .def_property_readonly( diff --git a/python/src/v2.0/covariance.python.cpp b/python/src/v2.0/covariance.python.cpp new file mode 100644 index 000000000..88456fdfe --- /dev/null +++ b/python/src/v2.0/covariance.python.cpp @@ -0,0 +1,73 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// covariance declarations +namespace python_covariance { + void wrapSlice(python::module &); + void wrapSlices(python::module &); + void wrapColumnData(python::module &); + void wrapRowData(python::module &); + void wrapColumnSensitivity(python::module &); + void wrapCovariance(python::module &); + void wrapRowSensitivity(python::module &); + void wrapSandwichProduct(python::module &); + void wrapCovarianceMatrix(python::module &); + void wrapAverageParameterCovariance(python::module &); + void wrapShortRangeSelfScalingVariance(python::module &); + void wrapSummand(python::module &); + void wrapSum(python::module &); + void wrapMixed(python::module &); + void wrapCovarianceSection(python::module &); + void wrapCovarianceSections(python::module &); + void wrapParameterCovariance(python::module &); + void wrapParameterCovariances(python::module &); + void wrapCovarianceSuite(python::module &); + void wrapParameterLink(python::module &); + void wrapParameters(python::module &); + void wrapParameterCovariancMatrix(python::module &); +} // namespace python_covariance + +// covariance wrapper +void wrapCovariance(python::module &module) +{ + // create the covariance submodule + python::module submodule = module.def_submodule( + "covariance", + "GNDS v2.0 covariance" + ); + + // wrap covariance components + python_covariance::wrapSlice(submodule); + python_covariance::wrapSlices(submodule); + python_covariance::wrapColumnData(submodule); + python_covariance::wrapRowData(submodule); + python_covariance::wrapColumnSensitivity(submodule); + python_covariance::wrapCovariance(submodule); + python_covariance::wrapRowSensitivity(submodule); + python_covariance::wrapSandwichProduct(submodule); + python_covariance::wrapCovarianceMatrix(submodule); + python_covariance::wrapAverageParameterCovariance(submodule); + python_covariance::wrapShortRangeSelfScalingVariance(submodule); + python_covariance::wrapSummand(submodule); + python_covariance::wrapSum(submodule); + python_covariance::wrapMixed(submodule); + python_covariance::wrapCovarianceSection(submodule); + python_covariance::wrapCovarianceSections(submodule); + python_covariance::wrapParameterCovariance(submodule); + python_covariance::wrapParameterCovariances(submodule); + python_covariance::wrapCovarianceSuite(submodule); + python_covariance::wrapParameterLink(submodule); + python_covariance::wrapParameters(submodule); + python_covariance::wrapParameterCovariancMatrix(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp b/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp new file mode 100644 index 000000000..84cbc2b01 --- /dev/null +++ b/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp @@ -0,0 +1,92 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/AverageParameterCovariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// AverageParameterCovariance wrapper +void wrapAverageParameterCovariance(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::AverageParameterCovariance; + using _t = std::variant< + covariance::CovarianceMatrix + >; + + // create the component + python::class_ component( + module, + "AverageParameterCovariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("cross_term") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("column_data") = std::nullopt, + python::arg("row_data") = std::nullopt, + python::arg("_covariance_matrix"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "cross_term", + &Component::crossTerm, + Component::documentation("cross_term").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "column_data", + python::overload_cast<>(&Component::columnData), + Component::documentation("column_data").data() + ) + .def_property_readonly( + "row_data", + python::overload_cast<>(&Component::rowData), + Component::documentation("row_data").data() + ) + .def_property_readonly( + "covariance_matrix", + python::overload_cast<>(&Component::covarianceMatrix), + Component::documentation("covariance_matrix").data() + ) + .def_property_readonly( + "_covariance_matrix", + python::overload_cast<>(&Component::_covarianceMatrix), + Component::documentation("_covariance_matrix").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/ColumnData.python.cpp b/python/src/v2.0/covariance/ColumnData.python.cpp new file mode 100644 index 000000000..fcc5b7044 --- /dev/null +++ b/python/src/v2.0/covariance/ColumnData.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/ColumnData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ColumnData wrapper +void wrapColumnData(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::ColumnData; + + // create the component + python::class_ component( + module, + "ColumnData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mfmt") = std::nullopt, + python::arg("dimension") = std::nullopt, + python::arg("href") = std::nullopt, + python::arg("slices") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mfmt", + &Component::ENDF_MFMT, + Component::documentation("endf_mfmt").data() + ) + .def_property_readonly( + "dimension", + &Component::dimension, + Component::documentation("dimension").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "slices", + python::overload_cast<>(&Component::slices), + Component::documentation("slices").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/ColumnSensitivity.python.cpp b/python/src/v2.0/covariance/ColumnSensitivity.python.cpp new file mode 100644 index 000000000..6abc20ce7 --- /dev/null +++ b/python/src/v2.0/covariance/ColumnSensitivity.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/ColumnSensitivity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ColumnSensitivity wrapper +void wrapColumnSensitivity(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::ColumnSensitivity; + + // create the component + python::class_ component( + module, + "ColumnSensitivity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Array & + >(), + python::arg("array"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "array", + python::overload_cast<>(&Component::array), + Component::documentation("array").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/Covariance.python.cpp b/python/src/v2.0/covariance/Covariance.python.cpp new file mode 100644 index 000000000..e7dc38304 --- /dev/null +++ b/python/src/v2.0/covariance/Covariance.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/Covariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Covariance wrapper +void wrapCovariance(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::Covariance; + + // create the component + python::class_ component( + module, + "Covariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Array & + >(), + python::arg("array"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "array", + python::overload_cast<>(&Component::array), + Component::documentation("array").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/CovarianceMatrix.python.cpp b/python/src/v2.0/covariance/CovarianceMatrix.python.cpp new file mode 100644 index 000000000..703aff5e3 --- /dev/null +++ b/python/src/v2.0/covariance/CovarianceMatrix.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/CovarianceMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// CovarianceMatrix wrapper +void wrapCovarianceMatrix(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::CovarianceMatrix; + using _t = std::variant< + containers::Gridded2d, + covariance::SandwichProduct + >; + + // create the component + python::class_ component( + module, + "CovarianceMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame") = std::nullopt, + python::arg("type"), + python::arg("_gridded2dsandwich_product"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "type", + &Component::type, + Component::documentation("type").data() + ) + .def_property_readonly( + "gridded2d", + python::overload_cast<>(&Component::gridded2d), + Component::documentation("gridded2d").data() + ) + .def_property_readonly( + "sandwich_product", + python::overload_cast<>(&Component::sandwichProduct), + Component::documentation("sandwich_product").data() + ) + .def_property_readonly( + "_gridded2dsandwich_product", + python::overload_cast<>(&Component::_gridded2dsandwichProduct), + Component::documentation("_gridded2dsandwich_product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/CovarianceSection.python.cpp b/python/src/v2.0/covariance/CovarianceSection.python.cpp new file mode 100644 index 000000000..683e94fc7 --- /dev/null +++ b/python/src/v2.0/covariance/CovarianceSection.python.cpp @@ -0,0 +1,104 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/CovarianceSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// CovarianceSection wrapper +void wrapCovarianceSection(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::CovarianceSection; + using _t = std::variant< + covariance::CovarianceMatrix, + covariance::Mixed, + covariance::Sum + >; + + // create the component + python::class_ component( + module, + "CovarianceSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const covariance::RowData &, + const _t & + >(), + python::arg("cross_term") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("column_data") = std::nullopt, + python::arg("row_data"), + python::arg("_covariance_matrixmixedsum"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "cross_term", + [](const Component &self) { return self.crossTerm().value(); }, + Component::documentation("cross_term").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "column_data", + python::overload_cast<>(&Component::columnData), + Component::documentation("column_data").data() + ) + .def_property_readonly( + "row_data", + python::overload_cast<>(&Component::rowData), + Component::documentation("row_data").data() + ) + .def_property_readonly( + "covariance_matrix", + python::overload_cast<>(&Component::covarianceMatrix), + Component::documentation("covariance_matrix").data() + ) + .def_property_readonly( + "mixed", + python::overload_cast<>(&Component::mixed), + Component::documentation("mixed").data() + ) + .def_property_readonly( + "sum", + python::overload_cast<>(&Component::sum), + Component::documentation("sum").data() + ) + .def_property_readonly( + "_covariance_matrixmixedsum", + python::overload_cast<>(&Component::_covarianceMatrixmixedsum), + Component::documentation("_covariance_matrixmixedsum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/CovarianceSections.python.cpp b/python/src/v2.0/covariance/CovarianceSections.python.cpp new file mode 100644 index 000000000..3adc2f904 --- /dev/null +++ b/python/src/v2.0/covariance/CovarianceSections.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/CovarianceSections.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// CovarianceSections wrapper +void wrapCovarianceSections(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::CovarianceSections; + + // create the component + python::class_ component( + module, + "CovarianceSections", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("covariance_section") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "covariance_section", + python::overload_cast<>(&Component::covarianceSection), + Component::documentation("covariance_section").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/CovarianceSuite.python.cpp b/python/src/v2.0/covariance/CovarianceSuite.python.cpp new file mode 100644 index 000000000..165492548 --- /dev/null +++ b/python/src/v2.0/covariance/CovarianceSuite.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/CovarianceSuite.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// CovarianceSuite wrapper +void wrapCovarianceSuite(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::CovarianceSuite; + + // create the component + python::class_ component( + module, + "CovarianceSuite", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const enums::Interaction &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("evaluation") = std::nullopt, + python::arg("version") = std::nullopt, + python::arg("interaction"), + python::arg("projectile") = std::nullopt, + python::arg("target") = std::nullopt, + python::arg("covariance_sections") = std::nullopt, + python::arg("external_files") = std::nullopt, + python::arg("parameter_covariances") = std::nullopt, + python::arg("styles") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "evaluation", + &Component::evaluation, + Component::documentation("evaluation").data() + ) + .def_property_readonly( + "version", + &Component::version, + Component::documentation("version").data() + ) + .def_property_readonly( + "interaction", + &Component::interaction, + Component::documentation("interaction").data() + ) + .def_property_readonly( + "projectile", + &Component::projectile, + Component::documentation("projectile").data() + ) + .def_property_readonly( + "target", + &Component::target, + Component::documentation("target").data() + ) + .def_property_readonly( + "covariance_sections", + python::overload_cast<>(&Component::covarianceSections), + Component::documentation("covariance_sections").data() + ) + .def_property_readonly( + "external_files", + python::overload_cast<>(&Component::externalFiles), + Component::documentation("external_files").data() + ) + .def_property_readonly( + "parameter_covariances", + python::overload_cast<>(&Component::parameterCovariances), + Component::documentation("parameter_covariances").data() + ) + .def_property_readonly( + "styles", + python::overload_cast<>(&Component::styles), + Component::documentation("styles").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/Mixed.python.cpp b/python/src/v2.0/covariance/Mixed.python.cpp new file mode 100644 index 000000000..1d82d3864 --- /dev/null +++ b/python/src/v2.0/covariance/Mixed.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/Mixed.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Mixed wrapper +void wrapMixed(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::Mixed; + + // create the component + python::class_ component( + module, + "Mixed", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional> &, + const std::optional> &, + const std::optional> & + >(), + python::arg("label"), + python::arg("covariance_matrix") = std::nullopt, + python::arg("short_range_self_scaling_variance") = std::nullopt, + python::arg("sum") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "covariance_matrix", + python::overload_cast<>(&Component::covarianceMatrix), + Component::documentation("covariance_matrix").data() + ) + .def_property_readonly( + "short_range_self_scaling_variance", + python::overload_cast<>(&Component::shortRangeSelfScalingVariance), + Component::documentation("short_range_self_scaling_variance").data() + ) + .def_property_readonly( + "sum", + python::overload_cast<>(&Component::sum), + Component::documentation("sum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/ParameterCovariancMatrix.python.cpp b/python/src/v2.0/covariance/ParameterCovariancMatrix.python.cpp new file mode 100644 index 000000000..63259079e --- /dev/null +++ b/python/src/v2.0/covariance/ParameterCovariancMatrix.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/ParameterCovariancMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ParameterCovariancMatrix wrapper +void wrapParameterCovariancMatrix(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::ParameterCovariancMatrix; + + // create the component + python::class_ component( + module, + "ParameterCovariancMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const containers::Array &, + const covariance::Parameters & + >(), + python::arg("label"), + python::arg("type") = std::nullopt, + python::arg("array"), + python::arg("parameters"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "type", + &Component::type, + Component::documentation("type").data() + ) + .def_property_readonly( + "array", + python::overload_cast<>(&Component::array), + Component::documentation("array").data() + ) + .def_property_readonly( + "parameters", + python::overload_cast<>(&Component::parameters), + Component::documentation("parameters").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/ParameterCovariance.python.cpp b/python/src/v2.0/covariance/ParameterCovariance.python.cpp new file mode 100644 index 000000000..10a2fedb5 --- /dev/null +++ b/python/src/v2.0/covariance/ParameterCovariance.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/ParameterCovariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ParameterCovariance wrapper +void wrapParameterCovariance(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::ParameterCovariance; + + // create the component + python::class_ component( + module, + "ParameterCovariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::vector &, + const covariance::RowData & + >(), + python::arg("label") = std::nullopt, + python::arg("parameter_covariance_matrix"), + python::arg("row_data"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "parameter_covariance_matrix", + python::overload_cast<>(&Component::parameterCovarianceMatrix), + Component::documentation("parameter_covariance_matrix").data() + ) + .def_property_readonly( + "row_data", + python::overload_cast<>(&Component::rowData), + Component::documentation("row_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/ParameterCovariances.python.cpp b/python/src/v2.0/covariance/ParameterCovariances.python.cpp new file mode 100644 index 000000000..cf937a7d0 --- /dev/null +++ b/python/src/v2.0/covariance/ParameterCovariances.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/ParameterCovariances.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ParameterCovariances wrapper +void wrapParameterCovariances(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::ParameterCovariances; + + // create the component + python::class_ component( + module, + "ParameterCovariances", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> &, + const std::optional> & + >(), + python::arg("average_parameter_covariance") = std::nullopt, + python::arg("parameter_covariance") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "average_parameter_covariance", + python::overload_cast<>(&Component::averageParameterCovariance), + Component::documentation("average_parameter_covariance").data() + ) + .def_property_readonly( + "parameter_covariance", + python::overload_cast<>(&Component::parameterCovariance), + Component::documentation("parameter_covariance").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/ParameterLink.python.cpp b/python/src/v2.0/covariance/ParameterLink.python.cpp new file mode 100644 index 000000000..679c108f5 --- /dev/null +++ b/python/src/v2.0/covariance/ParameterLink.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/ParameterLink.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ParameterLink wrapper +void wrapParameterLink(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::ParameterLink; + + // create the component + python::class_ component( + module, + "ParameterLink", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("matrix_start_index") = std::nullopt, + python::arg("n_parameters") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "matrix_start_index", + [](const Component &self) { return self.matrixStartIndex().value(); }, + Component::documentation("matrix_start_index").data() + ) + .def_property_readonly( + "n_parameters", + [](const Component &self) { return self.nParameters().value(); }, + Component::documentation("n_parameters").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/Parameters.python.cpp b/python/src/v2.0/covariance/Parameters.python.cpp new file mode 100644 index 000000000..578b63bca --- /dev/null +++ b/python/src/v2.0/covariance/Parameters.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/Parameters.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Parameters wrapper +void wrapParameters(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::Parameters; + + // create the component + python::class_ component( + module, + "Parameters", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("parameter_link") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "parameter_link", + python::overload_cast<>(&Component::parameterLink), + Component::documentation("parameter_link").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/RowData.python.cpp b/python/src/v2.0/covariance/RowData.python.cpp new file mode 100644 index 000000000..13b0d699c --- /dev/null +++ b/python/src/v2.0/covariance/RowData.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/RowData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// RowData wrapper +void wrapRowData(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::RowData; + + // create the component + python::class_ component( + module, + "RowData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mfmt") = std::nullopt, + python::arg("dimension") = std::nullopt, + python::arg("href") = std::nullopt, + python::arg("slices") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mfmt", + &Component::ENDF_MFMT, + Component::documentation("endf_mfmt").data() + ) + .def_property_readonly( + "dimension", + &Component::dimension, + Component::documentation("dimension").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "slices", + python::overload_cast<>(&Component::slices), + Component::documentation("slices").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/RowSensitivity.python.cpp b/python/src/v2.0/covariance/RowSensitivity.python.cpp new file mode 100644 index 000000000..06ed2dd2f --- /dev/null +++ b/python/src/v2.0/covariance/RowSensitivity.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/RowSensitivity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// RowSensitivity wrapper +void wrapRowSensitivity(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::RowSensitivity; + + // create the component + python::class_ component( + module, + "RowSensitivity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Array & + >(), + python::arg("array"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "array", + python::overload_cast<>(&Component::array), + Component::documentation("array").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/SandwichProduct.python.cpp b/python/src/v2.0/covariance/SandwichProduct.python.cpp new file mode 100644 index 000000000..9e0a11c62 --- /dev/null +++ b/python/src/v2.0/covariance/SandwichProduct.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/SandwichProduct.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// SandwichProduct wrapper +void wrapSandwichProduct(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::SandwichProduct; + + // create the component + python::class_ component( + module, + "SandwichProduct", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Axes &, + const std::optional &, + const covariance::Covariance &, + const covariance::RowSensitivity & + >(), + python::arg("axes"), + python::arg("column_sensitivity") = std::nullopt, + python::arg("covariance"), + python::arg("row_sensitivity"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + .def_property_readonly( + "column_sensitivity", + python::overload_cast<>(&Component::columnSensitivity), + Component::documentation("column_sensitivity").data() + ) + .def_property_readonly( + "covariance", + python::overload_cast<>(&Component::covariance), + Component::documentation("covariance").data() + ) + .def_property_readonly( + "row_sensitivity", + python::overload_cast<>(&Component::rowSensitivity), + Component::documentation("row_sensitivity").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp b/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp new file mode 100644 index 000000000..e3cb40ee0 --- /dev/null +++ b/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ShortRangeSelfScalingVariance wrapper +void wrapShortRangeSelfScalingVariance(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::ShortRangeSelfScalingVariance; + + // create the component + python::class_ component( + module, + "ShortRangeSelfScalingVariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("dependence_on_processed_group_width") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("type") = std::nullopt, + python::arg("gridded2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "dependence_on_processed_group_width", + &Component::dependenceOnProcessedGroupWidth, + Component::documentation("dependence_on_processed_group_width").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "type", + &Component::type, + Component::documentation("type").data() + ) + .def_property_readonly( + "gridded2d", + python::overload_cast<>(&Component::gridded2d), + Component::documentation("gridded2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/Slice.python.cpp b/python/src/v2.0/covariance/Slice.python.cpp new file mode 100644 index 000000000..77eb6e2e2 --- /dev/null +++ b/python/src/v2.0/covariance/Slice.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/Slice.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Slice wrapper +void wrapSlice(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::Slice; + + // create the component + python::class_ component( + module, + "Slice", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("dimension"), + python::arg("domain_max") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("domain_unit") = std::nullopt, + python::arg("domain_value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "dimension", + &Component::dimension, + Component::documentation("dimension").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_unit", + &Component::domainUnit, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "domain_value", + &Component::domainValue, + Component::documentation("domain_value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/Slices.python.cpp b/python/src/v2.0/covariance/Slices.python.cpp new file mode 100644 index 000000000..6b749b173 --- /dev/null +++ b/python/src/v2.0/covariance/Slices.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/Slices.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Slices wrapper +void wrapSlices(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::Slices; + + // create the component + python::class_ component( + module, + "Slices", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("slice"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "slice", + python::overload_cast<>(&Component::slice), + Component::documentation("slice").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/Sum.python.cpp b/python/src/v2.0/covariance/Sum.python.cpp new file mode 100644 index 000000000..bba0976c7 --- /dev/null +++ b/python/src/v2.0/covariance/Sum.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/Sum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Sum wrapper +void wrapSum(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::Sum; + + // create the component + python::class_ component( + module, + "Sum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const XMLName &, + const std::optional &, + const std::optional> & + >(), + python::arg("domain_max"), + python::arg("domain_min"), + python::arg("domain_unit"), + python::arg("label") = std::nullopt, + python::arg("summand") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_unit", + &Component::domainUnit, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "summand", + python::overload_cast<>(&Component::summand), + Component::documentation("summand").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/covariance/Summand.python.cpp b/python/src/v2.0/covariance/Summand.python.cpp new file mode 100644 index 000000000..268787c82 --- /dev/null +++ b/python/src/v2.0/covariance/Summand.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/covariance/Summand.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Summand wrapper +void wrapSummand(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = covariance::Summand; + + // create the component + python::class_ component( + module, + "Summand", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mfmt") = std::nullopt, + python::arg("coefficient") = std::nullopt, + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mfmt", + &Component::ENDF_MFMT, + Component::documentation("endf_mfmt").data() + ) + .def_property_readonly( + "coefficient", + &Component::coefficient, + Component::documentation("coefficient").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/python/src/v2.0/cpTransport.python.cpp b/python/src/v2.0/cpTransport.python.cpp new file mode 100644 index 000000000..c5513b630 --- /dev/null +++ b/python/src/v2.0/cpTransport.python.cpp @@ -0,0 +1,43 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// cpTransport declarations +namespace python_cpTransport { + void wrapRutherfordScattering(python::module &); + void wrapImaginaryInterferenceTerm(python::module &); + void wrapNuclearTerm(python::module &); + void wrapRealInterferenceTerm(python::module &); + void wrapNuclearAmplitudeExpansion(python::module &); + void wrapNuclearPlusInterference(python::module &); + void wrapCoulombPlusNuclearElastic(python::module &); +} // namespace python_cpTransport + +// cpTransport wrapper +void wrapCpTransport(python::module &module) +{ + // create the cpTransport submodule + python::module submodule = module.def_submodule( + "cpTransport", + "GNDS v2.0 cpTransport" + ); + + // wrap cpTransport components + python_cpTransport::wrapRutherfordScattering(submodule); + python_cpTransport::wrapImaginaryInterferenceTerm(submodule); + python_cpTransport::wrapNuclearTerm(submodule); + python_cpTransport::wrapRealInterferenceTerm(submodule); + python_cpTransport::wrapNuclearAmplitudeExpansion(submodule); + python_cpTransport::wrapNuclearPlusInterference(submodule); + python_cpTransport::wrapCoulombPlusNuclearElastic(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp b/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp new file mode 100644 index 000000000..6cc40e4d2 --- /dev/null +++ b/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// CoulombPlusNuclearElastic wrapper +void wrapCoulombPlusNuclearElastic(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = cpTransport::CoulombPlusNuclearElastic; + + // create the component + python::class_ component( + module, + "CoulombPlusNuclearElastic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const XMLName &, + const enums::Frame &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("identical_particles") = std::nullopt, + python::arg("label"), + python::arg("pid"), + python::arg("product_frame"), + python::arg("rutherford_scattering") = std::nullopt, + python::arg("nuclear_amplitude_expansion") = std::nullopt, + python::arg("nuclear_plus_interference") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "identical_particles", + [](const Component &self) { return self.identicalParticles().value(); }, + Component::documentation("identical_particles").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "rutherford_scattering", + python::overload_cast<>(&Component::RutherfordScattering), + Component::documentation("rutherford_scattering").data() + ) + .def_property_readonly( + "nuclear_amplitude_expansion", + python::overload_cast<>(&Component::nuclearAmplitudeExpansion), + Component::documentation("nuclear_amplitude_expansion").data() + ) + .def_property_readonly( + "nuclear_plus_interference", + python::overload_cast<>(&Component::nuclearPlusInterference), + Component::documentation("nuclear_plus_interference").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp b/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp new file mode 100644 index 000000000..f50a617ae --- /dev/null +++ b/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// ImaginaryInterferenceTerm wrapper +void wrapImaginaryInterferenceTerm(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = cpTransport::ImaginaryInterferenceTerm; + + // create the component + python::class_ component( + module, + "ImaginaryInterferenceTerm", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("regions2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp b/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp new file mode 100644 index 000000000..bb2f70589 --- /dev/null +++ b/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// NuclearAmplitudeExpansion wrapper +void wrapNuclearAmplitudeExpansion(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = cpTransport::NuclearAmplitudeExpansion; + + // create the component + python::class_ component( + module, + "NuclearAmplitudeExpansion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const cpTransport::ImaginaryInterferenceTerm &, + const cpTransport::NuclearTerm &, + const cpTransport::RealInterferenceTerm & + >(), + python::arg("imaginary_interference_term"), + python::arg("nuclear_term"), + python::arg("real_interference_term"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "imaginary_interference_term", + python::overload_cast<>(&Component::imaginaryInterferenceTerm), + Component::documentation("imaginary_interference_term").data() + ) + .def_property_readonly( + "nuclear_term", + python::overload_cast<>(&Component::nuclearTerm), + Component::documentation("nuclear_term").data() + ) + .def_property_readonly( + "real_interference_term", + python::overload_cast<>(&Component::realInterferenceTerm), + Component::documentation("real_interference_term").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp b/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp new file mode 100644 index 000000000..fd1c96a29 --- /dev/null +++ b/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/cpTransport/NuclearPlusInterference.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// NuclearPlusInterference wrapper +void wrapNuclearPlusInterference(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = cpTransport::NuclearPlusInterference; + + // create the component + python::class_ component( + module, + "NuclearPlusInterference", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const transport::CrossSection &, + const transport::Distribution & + >(), + python::arg("mu_cutoff"), + python::arg("cross_section"), + python::arg("distribution"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "mu_cutoff", + &Component::muCutoff, + Component::documentation("mu_cutoff").data() + ) + .def_property_readonly( + "cross_section", + python::overload_cast<>(&Component::crossSection), + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "distribution", + python::overload_cast<>(&Component::distribution), + Component::documentation("distribution").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/cpTransport/NuclearTerm.python.cpp b/python/src/v2.0/cpTransport/NuclearTerm.python.cpp new file mode 100644 index 000000000..25f0d280b --- /dev/null +++ b/python/src/v2.0/cpTransport/NuclearTerm.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/cpTransport/NuclearTerm.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// NuclearTerm wrapper +void wrapNuclearTerm(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = cpTransport::NuclearTerm; + + // create the component + python::class_ component( + module, + "NuclearTerm", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("regions2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp b/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp new file mode 100644 index 000000000..9e8e2aebd --- /dev/null +++ b/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/cpTransport/RealInterferenceTerm.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// RealInterferenceTerm wrapper +void wrapRealInterferenceTerm(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = cpTransport::RealInterferenceTerm; + + // create the component + python::class_ component( + module, + "RealInterferenceTerm", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("regions2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp b/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp new file mode 100644 index 000000000..e0c66a750 --- /dev/null +++ b/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/cpTransport/RutherfordScattering.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// RutherfordScattering wrapper +void wrapRutherfordScattering(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = cpTransport::RutherfordScattering; + + // create the component + python::class_ component( + module, + "RutherfordScattering", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation.python.cpp b/python/src/v2.0/documentation.python.cpp new file mode 100644 index 000000000..412446621 --- /dev/null +++ b/python/src/v2.0/documentation.python.cpp @@ -0,0 +1,89 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// documentation declarations +namespace python_documentation { + void wrapAcknowledgement(python::module &); + void wrapAcknowledgements(python::module &); + void wrapAffiliation(python::module &); + void wrapAffiliations(python::module &); + void wrapAuthor(python::module &); + void wrapAuthors(python::module &); + void wrapBibitem(python::module &); + void wrapBibliography(python::module &); + void wrapCollaboration(python::module &); + void wrapCollaborations(python::module &); + void wrapCodeRepo(python::module &); + void wrapInputDeck(python::module &); + void wrapInputDecks(python::module &); + void wrapOutputDeck(python::module &); + void wrapOutputDecks(python::module &); + void wrapComputerCode(python::module &); + void wrapComputerCodes(python::module &); + void wrapContributor(python::module &); + void wrapContributors(python::module &); + void wrapCopyright(python::module &); + void wrapDate(python::module &); + void wrapDates(python::module &); + void wrapExforDataSet(python::module &); + void wrapExforDataSets(python::module &); + void wrapExperimentalDataSets(python::module &); + void wrapKeyword(python::module &); + void wrapKeywords(python::module &); + void wrapRelatedItem(python::module &); + void wrapRelatedItems(python::module &); + void wrapDocumentation(python::module &); +} // namespace python_documentation + +// documentation wrapper +void wrapDocumentation(python::module &module) +{ + // create the documentation submodule + python::module submodule = module.def_submodule( + "documentation", + "GNDS v2.0 documentation" + ); + + // wrap documentation components + python_documentation::wrapAcknowledgement(submodule); + python_documentation::wrapAcknowledgements(submodule); + python_documentation::wrapAffiliation(submodule); + python_documentation::wrapAffiliations(submodule); + python_documentation::wrapAuthor(submodule); + python_documentation::wrapAuthors(submodule); + python_documentation::wrapBibitem(submodule); + python_documentation::wrapBibliography(submodule); + python_documentation::wrapCollaboration(submodule); + python_documentation::wrapCollaborations(submodule); + python_documentation::wrapCodeRepo(submodule); + python_documentation::wrapInputDeck(submodule); + python_documentation::wrapInputDecks(submodule); + python_documentation::wrapOutputDeck(submodule); + python_documentation::wrapOutputDecks(submodule); + python_documentation::wrapComputerCode(submodule); + python_documentation::wrapComputerCodes(submodule); + python_documentation::wrapContributor(submodule); + python_documentation::wrapContributors(submodule); + python_documentation::wrapCopyright(submodule); + python_documentation::wrapDate(submodule); + python_documentation::wrapDates(submodule); + python_documentation::wrapExforDataSet(submodule); + python_documentation::wrapExforDataSets(submodule); + python_documentation::wrapExperimentalDataSets(submodule); + python_documentation::wrapKeyword(submodule); + python_documentation::wrapKeywords(submodule); + python_documentation::wrapRelatedItem(submodule); + python_documentation::wrapRelatedItems(submodule); + python_documentation::wrapDocumentation(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Acknowledgement.python.cpp b/python/src/v2.0/documentation/Acknowledgement.python.cpp new file mode 100644 index 000000000..ad9aa4096 --- /dev/null +++ b/python/src/v2.0/documentation/Acknowledgement.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Acknowledgement.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Acknowledgement wrapper +void wrapAcknowledgement(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Acknowledgement; + + // create the component + python::class_ component( + module, + "Acknowledgement", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName & + >(), + python::arg("label"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Acknowledgements.python.cpp b/python/src/v2.0/documentation/Acknowledgements.python.cpp new file mode 100644 index 000000000..b4f45ea70 --- /dev/null +++ b/python/src/v2.0/documentation/Acknowledgements.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Acknowledgements.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Acknowledgements wrapper +void wrapAcknowledgements(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Acknowledgements; + + // create the component + python::class_ component( + module, + "Acknowledgements", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("acknowledgement"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "acknowledgement", + python::overload_cast<>(&Component::acknowledgement), + Component::documentation("acknowledgement").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Affiliation.python.cpp b/python/src/v2.0/documentation/Affiliation.python.cpp new file mode 100644 index 000000000..7855ab744 --- /dev/null +++ b/python/src/v2.0/documentation/Affiliation.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Affiliation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Affiliation wrapper +void wrapAffiliation(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Affiliation; + + // create the component + python::class_ component( + module, + "Affiliation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const UTF8Text & + >(), + python::arg("href") = std::nullopt, + python::arg("name"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Affiliations.python.cpp b/python/src/v2.0/documentation/Affiliations.python.cpp new file mode 100644 index 000000000..c39742815 --- /dev/null +++ b/python/src/v2.0/documentation/Affiliations.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Affiliations.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Affiliations wrapper +void wrapAffiliations(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Affiliations; + + // create the component + python::class_ component( + module, + "Affiliations", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("affiliation"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "affiliation", + python::overload_cast<>(&Component::affiliation), + Component::documentation("affiliation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Author.python.cpp b/python/src/v2.0/documentation/Author.python.cpp new file mode 100644 index 000000000..1b7e72afd --- /dev/null +++ b/python/src/v2.0/documentation/Author.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Author.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Author wrapper +void wrapAuthor(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Author; + + // create the component + python::class_ component( + module, + "Author", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const UTF8Text &, + const std::optional &, + const std::optional & + >(), + python::arg("email") = std::nullopt, + python::arg("name"), + python::arg("orcid_id") = std::nullopt, + python::arg("affiliations") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "email", + &Component::email, + Component::documentation("email").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + .def_property_readonly( + "orcid_id", + &Component::orcid_id, + Component::documentation("orcid_id").data() + ) + .def_property_readonly( + "affiliations", + python::overload_cast<>(&Component::affiliations), + Component::documentation("affiliations").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Authors.python.cpp b/python/src/v2.0/documentation/Authors.python.cpp new file mode 100644 index 000000000..2464c7a6c --- /dev/null +++ b/python/src/v2.0/documentation/Authors.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Authors.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Authors wrapper +void wrapAuthors(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Authors; + + // create the component + python::class_ component( + module, + "Authors", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("author"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "author", + python::overload_cast<>(&Component::author), + Component::documentation("author").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Bibitem.python.cpp b/python/src/v2.0/documentation/Bibitem.python.cpp new file mode 100644 index 000000000..597e83915 --- /dev/null +++ b/python/src/v2.0/documentation/Bibitem.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Bibitem.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Bibitem wrapper +void wrapBibitem(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Bibitem; + + // create the component + python::class_ component( + module, + "Bibitem", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName & + >(), + python::arg("xref"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xref", + &Component::xref, + Component::documentation("xref").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Bibliography.python.cpp b/python/src/v2.0/documentation/Bibliography.python.cpp new file mode 100644 index 000000000..92aea4702 --- /dev/null +++ b/python/src/v2.0/documentation/Bibliography.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Bibliography.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Bibliography wrapper +void wrapBibliography(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Bibliography; + + // create the component + python::class_ component( + module, + "Bibliography", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("bibitem"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "bibitem", + python::overload_cast<>(&Component::bibitem), + Component::documentation("bibitem").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Body.python.cpp b/python/src/v2.0/documentation/Body.python.cpp new file mode 100644 index 000000000..f3d692294 --- /dev/null +++ b/python/src/v2.0/documentation/Body.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Body.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Body wrapper +void wrapBody(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Body; + + // create the component + python::class_ component( + module, + "Body", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/CodeRepo.python.cpp b/python/src/v2.0/documentation/CodeRepo.python.cpp new file mode 100644 index 000000000..9bf199e41 --- /dev/null +++ b/python/src/v2.0/documentation/CodeRepo.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/CodeRepo.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// CodeRepo wrapper +void wrapCodeRepo(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::CodeRepo; + + // create the component + python::class_ component( + module, + "CodeRepo", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const XMLName & + >(), + python::arg("href"), + python::arg("revision_id"), + python::arg("revision_system"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "revision_id", + &Component::revisionID, + Component::documentation("revision_id").data() + ) + .def_property_readonly( + "revision_system", + &Component::revisionSystem, + Component::documentation("revision_system").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Collaboration.python.cpp b/python/src/v2.0/documentation/Collaboration.python.cpp new file mode 100644 index 000000000..f18576523 --- /dev/null +++ b/python/src/v2.0/documentation/Collaboration.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Collaboration.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Collaboration wrapper +void wrapCollaboration(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Collaboration; + + // create the component + python::class_ component( + module, + "Collaboration", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const UTF8Text & + >(), + python::arg("href") = std::nullopt, + python::arg("name"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Collaborations.python.cpp b/python/src/v2.0/documentation/Collaborations.python.cpp new file mode 100644 index 000000000..f53919497 --- /dev/null +++ b/python/src/v2.0/documentation/Collaborations.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Collaborations.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Collaborations wrapper +void wrapCollaborations(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Collaborations; + + // create the component + python::class_ component( + module, + "Collaborations", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("collaboration"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "collaboration", + python::overload_cast<>(&Component::collaboration), + Component::documentation("collaboration").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/ComputerCode.python.cpp b/python/src/v2.0/documentation/ComputerCode.python.cpp new file mode 100644 index 000000000..983892e5b --- /dev/null +++ b/python/src/v2.0/documentation/ComputerCode.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/ComputerCode.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ComputerCode wrapper +void wrapComputerCode(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::ComputerCode; + + // create the component + python::class_ component( + module, + "ComputerCode", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const UTF8Text &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("name"), + python::arg("version"), + python::arg("code_repo") = std::nullopt, + python::arg("input_decks") = std::nullopt, + python::arg("output_decks") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + .def_property_readonly( + "version", + &Component::version, + Component::documentation("version").data() + ) + .def_property_readonly( + "code_repo", + python::overload_cast<>(&Component::codeRepo), + Component::documentation("code_repo").data() + ) + .def_property_readonly( + "input_decks", + python::overload_cast<>(&Component::inputDecks), + Component::documentation("input_decks").data() + ) + .def_property_readonly( + "output_decks", + python::overload_cast<>(&Component::outputDecks), + Component::documentation("output_decks").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/ComputerCodes.python.cpp b/python/src/v2.0/documentation/ComputerCodes.python.cpp new file mode 100644 index 000000000..7d879cd0c --- /dev/null +++ b/python/src/v2.0/documentation/ComputerCodes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/ComputerCodes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ComputerCodes wrapper +void wrapComputerCodes(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::ComputerCodes; + + // create the component + python::class_ component( + module, + "ComputerCodes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("computer_code"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "computer_code", + python::overload_cast<>(&Component::computerCode), + Component::documentation("computer_code").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Contributor.python.cpp b/python/src/v2.0/documentation/Contributor.python.cpp new file mode 100644 index 000000000..64c3a3c15 --- /dev/null +++ b/python/src/v2.0/documentation/Contributor.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Contributor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Contributor wrapper +void wrapContributor(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Contributor; + + // create the component + python::class_ component( + module, + "Contributor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const enums::ContributorType &, + const std::optional &, + const UTF8Text &, + const std::optional &, + const std::optional & + >(), + python::arg("contributor_type"), + python::arg("email") = std::nullopt, + python::arg("name"), + python::arg("orcid_id") = std::nullopt, + python::arg("affiliations") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "contributor_type", + &Component::contributorType, + Component::documentation("contributor_type").data() + ) + .def_property_readonly( + "email", + &Component::email, + Component::documentation("email").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + .def_property_readonly( + "orcid_id", + &Component::orcid_id, + Component::documentation("orcid_id").data() + ) + .def_property_readonly( + "affiliations", + python::overload_cast<>(&Component::affiliations), + Component::documentation("affiliations").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Contributors.python.cpp b/python/src/v2.0/documentation/Contributors.python.cpp new file mode 100644 index 000000000..c419eb923 --- /dev/null +++ b/python/src/v2.0/documentation/Contributors.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Contributors.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Contributors wrapper +void wrapContributors(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Contributors; + + // create the component + python::class_ component( + module, + "Contributors", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("contributor"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "contributor", + python::overload_cast<>(&Component::contributor), + Component::documentation("contributor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Copyright.python.cpp b/python/src/v2.0/documentation/Copyright.python.cpp new file mode 100644 index 000000000..9f0696bb2 --- /dev/null +++ b/python/src/v2.0/documentation/Copyright.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Copyright.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Copyright wrapper +void wrapCopyright(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Copyright; + + // create the component + python::class_ component( + module, + "Copyright", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/CorrectionScript.python.cpp b/python/src/v2.0/documentation/CorrectionScript.python.cpp new file mode 100644 index 000000000..5aba50f1f --- /dev/null +++ b/python/src/v2.0/documentation/CorrectionScript.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/CorrectionScript.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// CorrectionScript wrapper +void wrapCorrectionScript(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::CorrectionScript; + + // create the component + python::class_ component( + module, + "CorrectionScript", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/CovarianceScript.python.cpp b/python/src/v2.0/documentation/CovarianceScript.python.cpp new file mode 100644 index 000000000..609ec09d1 --- /dev/null +++ b/python/src/v2.0/documentation/CovarianceScript.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/CovarianceScript.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// CovarianceScript wrapper +void wrapCovarianceScript(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::CovarianceScript; + + // create the component + python::class_ component( + module, + "CovarianceScript", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Date.python.cpp b/python/src/v2.0/documentation/Date.python.cpp new file mode 100644 index 000000000..e36e73d16 --- /dev/null +++ b/python/src/v2.0/documentation/Date.python.cpp @@ -0,0 +1,92 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Date.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Date wrapper +void wrapDate(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Date; + + // create the component + python::class_ component( + module, + "Date", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const enums::DateType & + >(), + python::arg("date_type"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date_type", + &Component::dateType, + Component::documentation("date_type").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Dates.python.cpp b/python/src/v2.0/documentation/Dates.python.cpp new file mode 100644 index 000000000..aca6860bc --- /dev/null +++ b/python/src/v2.0/documentation/Dates.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Dates.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Dates wrapper +void wrapDates(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Dates; + + // create the component + python::class_ component( + module, + "Dates", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("date"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + python::overload_cast<>(&Component::date), + Component::documentation("date").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Documentation.python.cpp b/python/src/v2.0/documentation/Documentation.python.cpp new file mode 100644 index 000000000..cdedfe9b9 --- /dev/null +++ b/python/src/v2.0/documentation/Documentation.python.cpp @@ -0,0 +1,147 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Documentation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Documentation wrapper +void wrapDocumentation(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Documentation; + + // create the component + python::class_ component( + module, + "Documentation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const documentation::Authors &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const documentation::Dates &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("doi") = std::nullopt, + python::arg("publication_date") = std::nullopt, + python::arg("version") = std::nullopt, + python::arg("acknowledgements") = std::nullopt, + python::arg("authors"), + python::arg("bibliography") = std::nullopt, + python::arg("collaborations") = std::nullopt, + python::arg("computer_codes") = std::nullopt, + python::arg("contributors") = std::nullopt, + python::arg("copyright") = std::nullopt, + python::arg("dates"), + python::arg("experimental_data_sets") = std::nullopt, + python::arg("keywords") = std::nullopt, + python::arg("related_items") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "doi", + &Component::doi, + Component::documentation("doi").data() + ) + .def_property_readonly( + "publication_date", + &Component::publicationDate, + Component::documentation("publication_date").data() + ) + .def_property_readonly( + "version", + &Component::version, + Component::documentation("version").data() + ) + .def_property_readonly( + "acknowledgements", + python::overload_cast<>(&Component::acknowledgements), + Component::documentation("acknowledgements").data() + ) + .def_property_readonly( + "authors", + python::overload_cast<>(&Component::authors), + Component::documentation("authors").data() + ) + .def_property_readonly( + "bibliography", + python::overload_cast<>(&Component::bibliography), + Component::documentation("bibliography").data() + ) + .def_property_readonly( + "collaborations", + python::overload_cast<>(&Component::collaborations), + Component::documentation("collaborations").data() + ) + .def_property_readonly( + "computer_codes", + python::overload_cast<>(&Component::computerCodes), + Component::documentation("computer_codes").data() + ) + .def_property_readonly( + "contributors", + python::overload_cast<>(&Component::contributors), + Component::documentation("contributors").data() + ) + .def_property_readonly( + "copyright", + python::overload_cast<>(&Component::copyright), + Component::documentation("copyright").data() + ) + .def_property_readonly( + "dates", + python::overload_cast<>(&Component::dates), + Component::documentation("dates").data() + ) + .def_property_readonly( + "experimental_data_sets", + python::overload_cast<>(&Component::experimentalDataSets), + Component::documentation("experimental_data_sets").data() + ) + .def_property_readonly( + "keywords", + python::overload_cast<>(&Component::keywords), + Component::documentation("keywords").data() + ) + .def_property_readonly( + "related_items", + python::overload_cast<>(&Component::relatedItems), + Component::documentation("related_items").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/EndfCompatible.python.cpp b/python/src/v2.0/documentation/EndfCompatible.python.cpp new file mode 100644 index 000000000..511ee9d89 --- /dev/null +++ b/python/src/v2.0/documentation/EndfCompatible.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/EndfCompatible.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// EndfCompatible wrapper +void wrapEndfCompatible(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::EndfCompatible; + + // create the component + python::class_ component( + module, + "EndfCompatible", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/ExecutionArguments.python.cpp b/python/src/v2.0/documentation/ExecutionArguments.python.cpp new file mode 100644 index 000000000..7c95287c7 --- /dev/null +++ b/python/src/v2.0/documentation/ExecutionArguments.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/ExecutionArguments.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ExecutionArguments wrapper +void wrapExecutionArguments(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::ExecutionArguments; + + // create the component + python::class_ component( + module, + "ExecutionArguments", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/ExforDataSet.python.cpp b/python/src/v2.0/documentation/ExforDataSet.python.cpp new file mode 100644 index 000000000..d2b649c26 --- /dev/null +++ b/python/src/v2.0/documentation/ExforDataSet.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/ExforDataSet.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ExforDataSet wrapper +void wrapExforDataSet(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::ExforDataSet; + + // create the component + python::class_ component( + module, + "ExforDataSet", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("retrieval_date"), + python::arg("subentry"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "retrieval_date", + &Component::retrievalDate, + Component::documentation("retrieval_date").data() + ) + .def_property_readonly( + "subentry", + &Component::subentry, + Component::documentation("subentry").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/ExforDataSets.python.cpp b/python/src/v2.0/documentation/ExforDataSets.python.cpp new file mode 100644 index 000000000..4d6a7a9ca --- /dev/null +++ b/python/src/v2.0/documentation/ExforDataSets.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/ExforDataSets.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ExforDataSets wrapper +void wrapExforDataSets(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::ExforDataSets; + + // create the component + python::class_ component( + module, + "ExforDataSets", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("exfor_data_set"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "exfor_data_set", + python::overload_cast<>(&Component::exforDataSet), + Component::documentation("exfor_data_set").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp b/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp new file mode 100644 index 000000000..7d45df8dd --- /dev/null +++ b/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/ExperimentalDataSets.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ExperimentalDataSets wrapper +void wrapExperimentalDataSets(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::ExperimentalDataSets; + + // create the component + python::class_ component( + module, + "ExperimentalDataSets", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const documentation::ExforDataSets & + >(), + python::arg("exfor_data_sets"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "exfor_data_sets", + python::overload_cast<>(&Component::exforDataSets), + Component::documentation("exfor_data_sets").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/InputDeck.python.cpp b/python/src/v2.0/documentation/InputDeck.python.cpp new file mode 100644 index 000000000..cce675f10 --- /dev/null +++ b/python/src/v2.0/documentation/InputDeck.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/InputDeck.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// InputDeck wrapper +void wrapInputDeck(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::InputDeck; + + // create the component + python::class_ component( + module, + "InputDeck", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("filename") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "filename", + &Component::filename, + Component::documentation("filename").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/InputDecks.python.cpp b/python/src/v2.0/documentation/InputDecks.python.cpp new file mode 100644 index 000000000..87e030f00 --- /dev/null +++ b/python/src/v2.0/documentation/InputDecks.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/InputDecks.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// InputDecks wrapper +void wrapInputDecks(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::InputDecks; + + // create the component + python::class_ component( + module, + "InputDecks", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("input_deck"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "input_deck", + python::overload_cast<>(&Component::inputDeck), + Component::documentation("input_deck").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Keyword.python.cpp b/python/src/v2.0/documentation/Keyword.python.cpp new file mode 100644 index 000000000..85a7965e3 --- /dev/null +++ b/python/src/v2.0/documentation/Keyword.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Keyword.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Keyword wrapper +void wrapKeyword(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Keyword; + + // create the component + python::class_ component( + module, + "Keyword", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName & + >(), + python::arg("type"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "type", + &Component::type, + Component::documentation("type").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Keywords.python.cpp b/python/src/v2.0/documentation/Keywords.python.cpp new file mode 100644 index 000000000..bf3bf30b5 --- /dev/null +++ b/python/src/v2.0/documentation/Keywords.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Keywords.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Keywords wrapper +void wrapKeywords(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Keywords; + + // create the component + python::class_ component( + module, + "Keywords", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("keyword"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "keyword", + python::overload_cast<>(&Component::keyword), + Component::documentation("keyword").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Note.python.cpp b/python/src/v2.0/documentation/Note.python.cpp new file mode 100644 index 000000000..9dcd6af22 --- /dev/null +++ b/python/src/v2.0/documentation/Note.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Note.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Note wrapper +void wrapNote(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Note; + + // create the component + python::class_ component( + module, + "Note", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/OutputDeck.python.cpp b/python/src/v2.0/documentation/OutputDeck.python.cpp new file mode 100644 index 000000000..ebbf13caf --- /dev/null +++ b/python/src/v2.0/documentation/OutputDeck.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/OutputDeck.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// OutputDeck wrapper +void wrapOutputDeck(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::OutputDeck; + + // create the component + python::class_ component( + module, + "OutputDeck", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("filename") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "filename", + &Component::filename, + Component::documentation("filename").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/OutputDecks.python.cpp b/python/src/v2.0/documentation/OutputDecks.python.cpp new file mode 100644 index 000000000..fd9aeda27 --- /dev/null +++ b/python/src/v2.0/documentation/OutputDecks.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/OutputDecks.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// OutputDecks wrapper +void wrapOutputDecks(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::OutputDecks; + + // create the component + python::class_ component( + module, + "OutputDecks", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("output_deck"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "output_deck", + python::overload_cast<>(&Component::outputDeck), + Component::documentation("output_deck").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/RelatedItem.python.cpp b/python/src/v2.0/documentation/RelatedItem.python.cpp new file mode 100644 index 000000000..946db207b --- /dev/null +++ b/python/src/v2.0/documentation/RelatedItem.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/RelatedItem.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// RelatedItem wrapper +void wrapRelatedItem(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::RelatedItem; + + // create the component + python::class_ component( + module, + "RelatedItem", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const UTF8Text &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("name"), + python::arg("relation_type") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + .def_property_readonly( + "relation_type", + &Component::relationType, + Component::documentation("relation_type").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/RelatedItems.python.cpp b/python/src/v2.0/documentation/RelatedItems.python.cpp new file mode 100644 index 000000000..83755cd6d --- /dev/null +++ b/python/src/v2.0/documentation/RelatedItems.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/RelatedItems.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// RelatedItems wrapper +void wrapRelatedItems(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::RelatedItems; + + // create the component + python::class_ component( + module, + "RelatedItems", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("related_item"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "related_item", + python::overload_cast<>(&Component::relatedItem), + Component::documentation("related_item").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/documentation/Version.python.cpp b/python/src/v2.0/documentation/Version.python.cpp new file mode 100644 index 000000000..653c851db --- /dev/null +++ b/python/src/v2.0/documentation/Version.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/documentation/Version.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Version wrapper +void wrapVersion(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = documentation::Version; + + // create the component + python::class_ component( + module, + "Version", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionFragmentData.python.cpp b/python/src/v2.0/fissionFragmentData.python.cpp new file mode 100644 index 000000000..f07e98b83 --- /dev/null +++ b/python/src/v2.0/fissionFragmentData.python.cpp @@ -0,0 +1,37 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// fissionFragmentData declarations +namespace python_fissionFragmentData { + void wrapRate(python::module &); + void wrapDelayedNeutron(python::module &); + void wrapDelayedNeutrons(python::module &); + void wrapFissionFragmentData(python::module &); +} // namespace python_fissionFragmentData + +// fissionFragmentData wrapper +void wrapFissionFragmentData(python::module &module) +{ + // create the fissionFragmentData submodule + python::module submodule = module.def_submodule( + "fissionFragmentData", + "GNDS v2.0 fissionFragmentData" + ); + + // wrap fissionFragmentData components + python_fissionFragmentData::wrapRate(submodule); + python_fissionFragmentData::wrapDelayedNeutron(submodule); + python_fissionFragmentData::wrapDelayedNeutrons(submodule); + python_fissionFragmentData::wrapFissionFragmentData(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp b/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp new file mode 100644 index 000000000..ff341ce62 --- /dev/null +++ b/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionFragmentData/FissionFragmentData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionFragmentData { + +// FissionFragmentData wrapper +void wrapFissionFragmentData(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionFragmentData::FissionFragmentData; + + // create the component + python::class_ component( + module, + "FissionFragmentData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("delayed_neutrons") = std::nullopt, + python::arg("fission_energy_released") = std::nullopt, + python::arg("product_yields") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "delayed_neutrons", + python::overload_cast<>(&Component::delayedNeutrons), + Component::documentation("delayed_neutrons").data() + ) + .def_property_readonly( + "fission_energy_released", + python::overload_cast<>(&Component::fissionEnergyReleased), + Component::documentation("fission_energy_released").data() + ) + .def_property_readonly( + "product_yields", + python::overload_cast<>(&Component::productYields), + Component::documentation("product_yields").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionFragmentData +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionFragmentData/Rate.python.cpp b/python/src/v2.0/fissionFragmentData/Rate.python.cpp new file mode 100644 index 000000000..4f451f1d2 --- /dev/null +++ b/python/src/v2.0/fissionFragmentData/Rate.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionFragmentData/Rate.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionFragmentData { + +// Rate wrapper +void wrapRate(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionFragmentData::Rate; + + // create the component + python::class_ component( + module, + "Rate", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionFragmentData +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport.python.cpp b/python/src/v2.0/fissionTransport.python.cpp new file mode 100644 index 000000000..b1846e8ff --- /dev/null +++ b/python/src/v2.0/fissionTransport.python.cpp @@ -0,0 +1,67 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// fissionTransport declarations +namespace python_fissionTransport { + void wrapEFH(python::module &); + void wrapEFL(python::module &); + void wrapT_M(python::module &); + void wrapMadlandNix(python::module &); + void wrapB(python::module &); + void wrapWatt(python::module &); + void wrapSimpleMaxwellianFission(python::module &); + void wrapDelayedBetaEnergy(python::module &); + void wrapDelayedGammaEnergy(python::module &); + void wrapDelayedNeutronKE(python::module &); + void wrapNeutrinoEnergy(python::module &); + void wrapNonNeutrinoEnergy(python::module &); + void wrapPromptGammaEnergy(python::module &); + void wrapPromptNeutronKE(python::module &); + void wrapPromptProductKE(python::module &); + void wrapTotalEnergy(python::module &); + void wrapFissionEnergyReleased(python::module &); + void wrapFissionComponent(python::module &); + void wrapFissionComponents(python::module &); +} // namespace python_fissionTransport + +// fissionTransport wrapper +void wrapFissionTransport(python::module &module) +{ + // create the fissionTransport submodule + python::module submodule = module.def_submodule( + "fissionTransport", + "GNDS v2.0 fissionTransport" + ); + + // wrap fissionTransport components + python_fissionTransport::wrapEFH(submodule); + python_fissionTransport::wrapEFL(submodule); + python_fissionTransport::wrapT_M(submodule); + python_fissionTransport::wrapMadlandNix(submodule); + python_fissionTransport::wrapB(submodule); + python_fissionTransport::wrapWatt(submodule); + python_fissionTransport::wrapSimpleMaxwellianFission(submodule); + python_fissionTransport::wrapDelayedBetaEnergy(submodule); + python_fissionTransport::wrapDelayedGammaEnergy(submodule); + python_fissionTransport::wrapDelayedNeutronKE(submodule); + python_fissionTransport::wrapNeutrinoEnergy(submodule); + python_fissionTransport::wrapNonNeutrinoEnergy(submodule); + python_fissionTransport::wrapPromptGammaEnergy(submodule); + python_fissionTransport::wrapPromptNeutronKE(submodule); + python_fissionTransport::wrapPromptProductKE(submodule); + python_fissionTransport::wrapTotalEnergy(submodule); + python_fissionTransport::wrapFissionEnergyReleased(submodule); + python_fissionTransport::wrapFissionComponent(submodule); + python_fissionTransport::wrapFissionComponents(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/B.python.cpp b/python/src/v2.0/fissionTransport/B.python.cpp new file mode 100644 index 000000000..a6dc9e0dc --- /dev/null +++ b/python/src/v2.0/fissionTransport/B.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/B.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// B wrapper +void wrapB(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::B; + + // create the component + python::class_ component( + module, + "B", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp b/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp new file mode 100644 index 000000000..2adfc5aec --- /dev/null +++ b/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/DelayedBetaEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// DelayedBetaEnergy wrapper +void wrapDelayedBetaEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::DelayedBetaEnergy; + + // create the component + python::class_ component( + module, + "DelayedBetaEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp b/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp new file mode 100644 index 000000000..e815ed923 --- /dev/null +++ b/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/DelayedGammaEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// DelayedGammaEnergy wrapper +void wrapDelayedGammaEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::DelayedGammaEnergy; + + // create the component + python::class_ component( + module, + "DelayedGammaEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp b/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp new file mode 100644 index 000000000..e88c485cb --- /dev/null +++ b/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/DelayedNeutronKE.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// DelayedNeutronKE wrapper +void wrapDelayedNeutronKE(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::DelayedNeutronKE; + + // create the component + python::class_ component( + module, + "DelayedNeutronKE", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/EFH.python.cpp b/python/src/v2.0/fissionTransport/EFH.python.cpp new file mode 100644 index 000000000..c3e619f97 --- /dev/null +++ b/python/src/v2.0/fissionTransport/EFH.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/EFH.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// EFH wrapper +void wrapEFH(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::EFH; + + // create the component + python::class_ component( + module, + "EFH", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/EFL.python.cpp b/python/src/v2.0/fissionTransport/EFL.python.cpp new file mode 100644 index 000000000..f2aa103d7 --- /dev/null +++ b/python/src/v2.0/fissionTransport/EFL.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/EFL.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// EFL wrapper +void wrapEFL(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::EFL; + + // create the component + python::class_ component( + module, + "EFL", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/FissionComponent.python.cpp b/python/src/v2.0/fissionTransport/FissionComponent.python.cpp new file mode 100644 index 000000000..27b3d23a8 --- /dev/null +++ b/python/src/v2.0/fissionTransport/FissionComponent.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/FissionComponent.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// FissionComponent wrapper +void wrapFissionComponent(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::FissionComponent; + + // create the component + python::class_ component( + module, + "FissionComponent", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mt") = std::nullopt, + python::arg("fission_genre"), + python::arg("label"), + python::arg("cross_section") = std::nullopt, + python::arg("output_channel") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + &Component::ENDF_MT, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "fission_genre", + &Component::fissionGenre, + Component::documentation("fission_genre").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "cross_section", + python::overload_cast<>(&Component::crossSection), + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "output_channel", + python::overload_cast<>(&Component::outputChannel), + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/FissionComponents.python.cpp b/python/src/v2.0/fissionTransport/FissionComponents.python.cpp new file mode 100644 index 000000000..edb038afb --- /dev/null +++ b/python/src/v2.0/fissionTransport/FissionComponents.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/FissionComponents.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// FissionComponents wrapper +void wrapFissionComponents(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::FissionComponents; + + // create the component + python::class_ component( + module, + "FissionComponents", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("fission_component") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "fission_component", + python::overload_cast<>(&Component::fissionComponent), + Component::documentation("fission_component").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp b/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp new file mode 100644 index 000000000..e5b217739 --- /dev/null +++ b/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp @@ -0,0 +1,119 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/FissionEnergyReleased.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// FissionEnergyReleased wrapper +void wrapFissionEnergyReleased(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::FissionEnergyReleased; + + // create the component + python::class_ component( + module, + "FissionEnergyReleased", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("delayed_beta_energy") = std::nullopt, + python::arg("delayed_gamma_energy") = std::nullopt, + python::arg("delayed_neutron_ke") = std::nullopt, + python::arg("neutrino_energy") = std::nullopt, + python::arg("non_neutrino_energy") = std::nullopt, + python::arg("prompt_gamma_energy") = std::nullopt, + python::arg("prompt_neutron_ke") = std::nullopt, + python::arg("prompt_product_ke") = std::nullopt, + python::arg("total_energy") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "delayed_beta_energy", + python::overload_cast<>(&Component::delayedBetaEnergy), + Component::documentation("delayed_beta_energy").data() + ) + .def_property_readonly( + "delayed_gamma_energy", + python::overload_cast<>(&Component::delayedGammaEnergy), + Component::documentation("delayed_gamma_energy").data() + ) + .def_property_readonly( + "delayed_neutron_ke", + python::overload_cast<>(&Component::delayedNeutronKE), + Component::documentation("delayed_neutron_ke").data() + ) + .def_property_readonly( + "neutrino_energy", + python::overload_cast<>(&Component::neutrinoEnergy), + Component::documentation("neutrino_energy").data() + ) + .def_property_readonly( + "non_neutrino_energy", + python::overload_cast<>(&Component::nonNeutrinoEnergy), + Component::documentation("non_neutrino_energy").data() + ) + .def_property_readonly( + "prompt_gamma_energy", + python::overload_cast<>(&Component::promptGammaEnergy), + Component::documentation("prompt_gamma_energy").data() + ) + .def_property_readonly( + "prompt_neutron_ke", + python::overload_cast<>(&Component::promptNeutronKE), + Component::documentation("prompt_neutron_ke").data() + ) + .def_property_readonly( + "prompt_product_ke", + python::overload_cast<>(&Component::promptProductKE), + Component::documentation("prompt_product_ke").data() + ) + .def_property_readonly( + "total_energy", + python::overload_cast<>(&Component::totalEnergy), + Component::documentation("total_energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/MadlandNix.python.cpp b/python/src/v2.0/fissionTransport/MadlandNix.python.cpp new file mode 100644 index 000000000..120c19301 --- /dev/null +++ b/python/src/v2.0/fissionTransport/MadlandNix.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/MadlandNix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// MadlandNix wrapper +void wrapMadlandNix(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::MadlandNix; + + // create the component + python::class_ component( + module, + "MadlandNix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const fissionTransport::EFH &, + const fissionTransport::EFL &, + const fissionTransport::T_M & + >(), + python::arg("efh"), + python::arg("efl"), + python::arg("t_m"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "efh", + python::overload_cast<>(&Component::EFH), + Component::documentation("efh").data() + ) + .def_property_readonly( + "efl", + python::overload_cast<>(&Component::EFL), + Component::documentation("efl").data() + ) + .def_property_readonly( + "t_m", + python::overload_cast<>(&Component::T_M), + Component::documentation("t_m").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp b/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp new file mode 100644 index 000000000..05196fe8d --- /dev/null +++ b/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/NeutrinoEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// NeutrinoEnergy wrapper +void wrapNeutrinoEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::NeutrinoEnergy; + + // create the component + python::class_ component( + module, + "NeutrinoEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp b/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp new file mode 100644 index 000000000..9528782dd --- /dev/null +++ b/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// NonNeutrinoEnergy wrapper +void wrapNonNeutrinoEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::NonNeutrinoEnergy; + + // create the component + python::class_ component( + module, + "NonNeutrinoEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp b/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp new file mode 100644 index 000000000..d9068e41d --- /dev/null +++ b/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/PromptGammaEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// PromptGammaEnergy wrapper +void wrapPromptGammaEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::PromptGammaEnergy; + + // create the component + python::class_ component( + module, + "PromptGammaEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp b/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp new file mode 100644 index 000000000..2dc5eccde --- /dev/null +++ b/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/PromptNeutronKE.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// PromptNeutronKE wrapper +void wrapPromptNeutronKE(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::PromptNeutronKE; + + // create the component + python::class_ component( + module, + "PromptNeutronKE", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp b/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp new file mode 100644 index 000000000..cf9386a99 --- /dev/null +++ b/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/PromptProductKE.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// PromptProductKE wrapper +void wrapPromptProductKE(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::PromptProductKE; + + // create the component + python::class_ component( + module, + "PromptProductKE", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp b/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp new file mode 100644 index 000000000..8a0a954c7 --- /dev/null +++ b/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// SimpleMaxwellianFission wrapper +void wrapSimpleMaxwellianFission(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::SimpleMaxwellianFission; + + // create the component + python::class_ component( + module, + "SimpleMaxwellianFission", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("u") = std::nullopt, + python::arg("theta") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "u", + python::overload_cast<>(&Component::U), + Component::documentation("u").data() + ) + .def_property_readonly( + "theta", + python::overload_cast<>(&Component::theta), + Component::documentation("theta").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/T_M.python.cpp b/python/src/v2.0/fissionTransport/T_M.python.cpp new file mode 100644 index 000000000..7cca5fd4b --- /dev/null +++ b/python/src/v2.0/fissionTransport/T_M.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/T_M.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// T_M wrapper +void wrapT_M(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::T_M; + + // create the component + python::class_ component( + module, + "T_M", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp b/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp new file mode 100644 index 000000000..842417212 --- /dev/null +++ b/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/TotalEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// TotalEnergy wrapper +void wrapTotalEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::TotalEnergy; + + // create the component + python::class_ component( + module, + "TotalEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fissionTransport/Watt.python.cpp b/python/src/v2.0/fissionTransport/Watt.python.cpp new file mode 100644 index 000000000..75cded907 --- /dev/null +++ b/python/src/v2.0/fissionTransport/Watt.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fissionTransport/Watt.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// Watt wrapper +void wrapWatt(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fissionTransport::Watt; + + // create the component + python::class_ component( + module, + "Watt", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const transport::U &, + const transport::A &, + const fissionTransport::B & + >(), + python::arg("u"), + python::arg("a"), + python::arg("b"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "u", + python::overload_cast<>(&Component::U), + Component::documentation("u").data() + ) + .def_property_readonly( + "a", + python::overload_cast<>(&Component::a), + Component::documentation("a").data() + ) + .def_property_readonly( + "b", + python::overload_cast<>(&Component::b), + Component::documentation("b").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy.python.cpp b/python/src/v2.0/fpy.python.cpp new file mode 100644 index 000000000..df15af1ee --- /dev/null +++ b/python/src/v2.0/fpy.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// fpy declarations +namespace python_fpy { + void wrapTime(python::module &); + void wrapEnergy(python::module &); + void wrapNuclides(python::module &); + void wrapYields(python::module &); + void wrapIncidentEnergy(python::module &); + void wrapIncidentEnergies(python::module &); + void wrapElapsedTime(python::module &); + void wrapElapsedTimes(python::module &); + void wrapProductYield(python::module &); + void wrapProductYields(python::module &); +} // namespace python_fpy + +// fpy wrapper +void wrapFpy(python::module &module) +{ + // create the fpy submodule + python::module submodule = module.def_submodule( + "fpy", + "GNDS v2.0 fpy" + ); + + // wrap fpy components + python_fpy::wrapTime(submodule); + python_fpy::wrapEnergy(submodule); + python_fpy::wrapNuclides(submodule); + python_fpy::wrapYields(submodule); + python_fpy::wrapIncidentEnergy(submodule); + python_fpy::wrapIncidentEnergies(submodule); + python_fpy::wrapElapsedTime(submodule); + python_fpy::wrapElapsedTimes(submodule); + python_fpy::wrapProductYield(submodule); + python_fpy::wrapProductYields(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/ElapsedTime.python.cpp b/python/src/v2.0/fpy/ElapsedTime.python.cpp new file mode 100644 index 000000000..94dcdc678 --- /dev/null +++ b/python/src/v2.0/fpy/ElapsedTime.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/ElapsedTime.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// ElapsedTime wrapper +void wrapElapsedTime(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::ElapsedTime; + using _t = std::variant< + fpy::IncidentEnergies, + fpy::Yields + >; + + // create the component + python::class_ component( + module, + "ElapsedTime", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const fpy::Time &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("time"), + python::arg("_incident_energiesyields"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "time", + python::overload_cast<>(&Component::time), + Component::documentation("time").data() + ) + .def_property_readonly( + "incident_energies", + python::overload_cast<>(&Component::incidentEnergies), + Component::documentation("incident_energies").data() + ) + .def_property_readonly( + "yields", + python::overload_cast<>(&Component::yields), + Component::documentation("yields").data() + ) + .def_property_readonly( + "_incident_energiesyields", + python::overload_cast<>(&Component::_incidentEnergiesyields), + Component::documentation("_incident_energiesyields").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/ElapsedTimes.python.cpp b/python/src/v2.0/fpy/ElapsedTimes.python.cpp new file mode 100644 index 000000000..f22e9378f --- /dev/null +++ b/python/src/v2.0/fpy/ElapsedTimes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/ElapsedTimes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// ElapsedTimes wrapper +void wrapElapsedTimes(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::ElapsedTimes; + + // create the component + python::class_ component( + module, + "ElapsedTimes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("elapsed_time"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "elapsed_time", + python::overload_cast<>(&Component::elapsedTime), + Component::documentation("elapsed_time").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/Energy.python.cpp b/python/src/v2.0/fpy/Energy.python.cpp new file mode 100644 index 000000000..142ba67d4 --- /dev/null +++ b/python/src/v2.0/fpy/Energy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/Energy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// Energy wrapper +void wrapEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::Energy; + + // create the component + python::class_ component( + module, + "Energy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/IncidentEnergies.python.cpp b/python/src/v2.0/fpy/IncidentEnergies.python.cpp new file mode 100644 index 000000000..3b4138ae8 --- /dev/null +++ b/python/src/v2.0/fpy/IncidentEnergies.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/IncidentEnergies.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// IncidentEnergies wrapper +void wrapIncidentEnergies(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::IncidentEnergies; + + // create the component + python::class_ component( + module, + "IncidentEnergies", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("incident_energy"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "incident_energy", + python::overload_cast<>(&Component::incidentEnergy), + Component::documentation("incident_energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/IncidentEnergy.python.cpp b/python/src/v2.0/fpy/IncidentEnergy.python.cpp new file mode 100644 index 000000000..61fb000ac --- /dev/null +++ b/python/src/v2.0/fpy/IncidentEnergy.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/IncidentEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// IncidentEnergy wrapper +void wrapIncidentEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::IncidentEnergy; + + // create the component + python::class_ component( + module, + "IncidentEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const fpy::Energy &, + const fpy::Yields & + >(), + python::arg("label"), + python::arg("energy"), + python::arg("yields"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "energy", + python::overload_cast<>(&Component::energy), + Component::documentation("energy").data() + ) + .def_property_readonly( + "yields", + python::overload_cast<>(&Component::yields), + Component::documentation("yields").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/Nuclides.python.cpp b/python/src/v2.0/fpy/Nuclides.python.cpp new file mode 100644 index 000000000..c3829ef26 --- /dev/null +++ b/python/src/v2.0/fpy/Nuclides.python.cpp @@ -0,0 +1,92 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/Nuclides.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// Nuclides wrapper +void wrapNuclides(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::Nuclides; + + // create the component + python::class_ component( + module, + "Nuclides", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/ProductYield.python.cpp b/python/src/v2.0/fpy/ProductYield.python.cpp new file mode 100644 index 000000000..1ea7dad70 --- /dev/null +++ b/python/src/v2.0/fpy/ProductYield.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/ProductYield.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// ProductYield wrapper +void wrapProductYield(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::ProductYield; + + // create the component + python::class_ component( + module, + "ProductYield", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const fpy::ElapsedTimes &, + const std::optional & + >(), + python::arg("label"), + python::arg("elapsed_times"), + python::arg("nuclides") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "elapsed_times", + python::overload_cast<>(&Component::elapsedTimes), + Component::documentation("elapsed_times").data() + ) + .def_property_readonly( + "nuclides", + python::overload_cast<>(&Component::nuclides), + Component::documentation("nuclides").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/ProductYields.python.cpp b/python/src/v2.0/fpy/ProductYields.python.cpp new file mode 100644 index 000000000..5b1d2e7ea --- /dev/null +++ b/python/src/v2.0/fpy/ProductYields.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/ProductYields.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// ProductYields wrapper +void wrapProductYields(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::ProductYields; + + // create the component + python::class_ component( + module, + "ProductYields", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("product_yield"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "product_yield", + python::overload_cast<>(&Component::productYield), + Component::documentation("product_yield").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/Time.python.cpp b/python/src/v2.0/fpy/Time.python.cpp new file mode 100644 index 000000000..9776283a0 --- /dev/null +++ b/python/src/v2.0/fpy/Time.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/Time.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// Time wrapper +void wrapTime(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::Time; + using _t = std::variant< + containers::Double, + containers::String + >; + + // create the component + python::class_ component( + module, + "Time", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_doublestring"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + .def_property_readonly( + "string", + python::overload_cast<>(&Component::string), + Component::documentation("string").data() + ) + .def_property_readonly( + "_doublestring", + python::overload_cast<>(&Component::_Doublestring), + Component::documentation("_doublestring").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/fpy/Yields.python.cpp b/python/src/v2.0/fpy/Yields.python.cpp new file mode 100644 index 000000000..fbc74c730 --- /dev/null +++ b/python/src/v2.0/fpy/Yields.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/fpy/Yields.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// Yields wrapper +void wrapYields(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = fpy::Yields; + + // create the component + python::class_ component( + module, + "Yields", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const fpy::Nuclides &, + const containers::Values & + >(), + python::arg("nuclides"), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "nuclides", + python::overload_cast<>(&Component::nuclides), + Component::documentation("nuclides").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops.python.cpp b/python/src/v2.0/pops.python.cpp new file mode 100644 index 000000000..0f178d45c --- /dev/null +++ b/python/src/v2.0/pops.python.cpp @@ -0,0 +1,129 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// pops declarations +namespace python_pops { + void wrapAlias(python::module &); + void wrapMetaStable(python::module &); + void wrapAliases(python::module &); + void wrapCharge(python::module &); + void wrapAverageEnergy(python::module &); + void wrapAverageEnergies(python::module &); + void wrapQ(python::module &); + void wrapProduct(python::module &); + void wrapProducts(python::module &); + void wrapDecay(python::module &); + void wrapDecayPath(python::module &); + void wrapShell(python::module &); + void wrapInternalConversionCoefficients(python::module &); + void wrapPhotonEmissionProbabilities(python::module &); + void wrapProbability(python::module &); + void wrapContinuum(python::module &); + void wrapEnergy(python::module &); + void wrapIntensity(python::module &); + void wrapInternalPairFormationCoefficient(python::module &); + void wrapDiscrete(python::module &); + void wrapSpectrum(python::module &); + void wrapSpectra(python::module &); + void wrapDecayMode(python::module &); + void wrapDecayModes(python::module &); + void wrapDecayData(python::module &); + void wrapHalflife(python::module &); + void wrapMass(python::module &); + void wrapParity(python::module &); + void wrapSpin(python::module &); + void wrapBaryon(python::module &); + void wrapBaryons(python::module &); + void wrapBindingEnergy(python::module &); + void wrapConfiguration(python::module &); + void wrapConfigurations(python::module &); + void wrapAtomic(python::module &); + void wrapEnergy(python::module &); + void wrapNucleus(python::module &); + void wrapNuclide(python::module &); + void wrapNuclides(python::module &); + void wrapIsotope(python::module &); + void wrapIsotopes(python::module &); + void wrapChemicalElement(python::module &); + void wrapChemicalElements(python::module &); + void wrapGaugeBoson(python::module &); + void wrapGaugeBosons(python::module &); + void wrapLepton(python::module &); + void wrapLeptons(python::module &); + void wrapUnorthodox(python::module &); + void wrapUnorthodoxes(python::module &); + void wrapPoPs(python::module &); +} // namespace python_pops + +// pops wrapper +void wrapPops(python::module &module) +{ + // create the pops submodule + python::module submodule = module.def_submodule( + "pops", + "GNDS v2.0 pops" + ); + + // wrap pops components + python_pops::wrapAlias(submodule); + python_pops::wrapMetaStable(submodule); + python_pops::wrapAliases(submodule); + python_pops::wrapCharge(submodule); + python_pops::wrapAverageEnergy(submodule); + python_pops::wrapAverageEnergies(submodule); + python_pops::wrapQ(submodule); + python_pops::wrapProduct(submodule); + python_pops::wrapProducts(submodule); + python_pops::wrapDecay(submodule); + python_pops::wrapDecayPath(submodule); + python_pops::wrapShell(submodule); + python_pops::wrapInternalConversionCoefficients(submodule); + python_pops::wrapPhotonEmissionProbabilities(submodule); + python_pops::wrapProbability(submodule); + python_pops::wrapContinuum(submodule); + python_pops::wrapEnergy(submodule); + python_pops::wrapIntensity(submodule); + python_pops::wrapInternalPairFormationCoefficient(submodule); + python_pops::wrapDiscrete(submodule); + python_pops::wrapSpectrum(submodule); + python_pops::wrapSpectra(submodule); + python_pops::wrapDecayMode(submodule); + python_pops::wrapDecayModes(submodule); + python_pops::wrapDecayData(submodule); + python_pops::wrapHalflife(submodule); + python_pops::wrapMass(submodule); + python_pops::wrapParity(submodule); + python_pops::wrapSpin(submodule); + python_pops::wrapBaryon(submodule); + python_pops::wrapBaryons(submodule); + python_pops::wrapBindingEnergy(submodule); + python_pops::wrapConfiguration(submodule); + python_pops::wrapConfigurations(submodule); + python_pops::wrapAtomic(submodule); + python_pops::wrapEnergy(submodule); + python_pops::wrapNucleus(submodule); + python_pops::wrapNuclide(submodule); + python_pops::wrapNuclides(submodule); + python_pops::wrapIsotope(submodule); + python_pops::wrapIsotopes(submodule); + python_pops::wrapChemicalElement(submodule); + python_pops::wrapChemicalElements(submodule); + python_pops::wrapGaugeBoson(submodule); + python_pops::wrapGaugeBosons(submodule); + python_pops::wrapLepton(submodule); + python_pops::wrapLeptons(submodule); + python_pops::wrapUnorthodox(submodule); + python_pops::wrapUnorthodoxes(submodule); + python_pops::wrapPoPs(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Alias.python.cpp b/python/src/v2.0/pops/Alias.python.cpp new file mode 100644 index 000000000..44c9f4e32 --- /dev/null +++ b/python/src/v2.0/pops/Alias.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Alias.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Alias wrapper +void wrapAlias(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Alias; + + // create the component + python::class_ component( + module, + "Alias", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("id"), + python::arg("pid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + &Component::id, + Component::documentation("id").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Aliases.python.cpp b/python/src/v2.0/pops/Aliases.python.cpp new file mode 100644 index 000000000..7aa384847 --- /dev/null +++ b/python/src/v2.0/pops/Aliases.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Aliases.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Aliases wrapper +void wrapAliases(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Aliases; + + // create the component + python::class_ component( + module, + "Aliases", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> &, + const std::optional> & + >(), + python::arg("alias") = std::nullopt, + python::arg("meta_stable") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "alias", + python::overload_cast<>(&Component::alias), + Component::documentation("alias").data() + ) + .def_property_readonly( + "meta_stable", + python::overload_cast<>(&Component::metaStable), + Component::documentation("meta_stable").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Atomic.python.cpp b/python/src/v2.0/pops/Atomic.python.cpp new file mode 100644 index 000000000..3a2b35c71 --- /dev/null +++ b/python/src/v2.0/pops/Atomic.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Atomic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Atomic wrapper +void wrapAtomic(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Atomic; + + // create the component + python::class_ component( + module, + "Atomic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("configurations") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "configurations", + python::overload_cast<>(&Component::configurations), + Component::documentation("configurations").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/AverageEnergies.python.cpp b/python/src/v2.0/pops/AverageEnergies.python.cpp new file mode 100644 index 000000000..fddc39ac7 --- /dev/null +++ b/python/src/v2.0/pops/AverageEnergies.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/AverageEnergies.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// AverageEnergies wrapper +void wrapAverageEnergies(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::AverageEnergies; + + // create the component + python::class_ component( + module, + "AverageEnergies", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("average_energy"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "average_energy", + python::overload_cast<>(&Component::averageEnergy), + Component::documentation("average_energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/AverageEnergy.python.cpp b/python/src/v2.0/pops/AverageEnergy.python.cpp new file mode 100644 index 000000000..109763339 --- /dev/null +++ b/python/src/v2.0/pops/AverageEnergy.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/AverageEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// AverageEnergy wrapper +void wrapAverageEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::AverageEnergy; + + // create the component + python::class_ component( + module, + "AverageEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const Float64 & + >(), + python::arg("label"), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Baryon.python.cpp b/python/src/v2.0/pops/Baryon.python.cpp new file mode 100644 index 000000000..6475c9ead --- /dev/null +++ b/python/src/v2.0/pops/Baryon.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Baryon.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Baryon wrapper +void wrapBaryon(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Baryon; + + // create the component + python::class_ component( + module, + "Baryon", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("decay_data") = std::nullopt, + python::arg("halflife") = std::nullopt, + python::arg("mass") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("spin") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + &Component::id, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + python::overload_cast<>(&Component::charge), + Component::documentation("charge").data() + ) + .def_property_readonly( + "decay_data", + python::overload_cast<>(&Component::decayData), + Component::documentation("decay_data").data() + ) + .def_property_readonly( + "halflife", + python::overload_cast<>(&Component::halflife), + Component::documentation("halflife").data() + ) + .def_property_readonly( + "mass", + python::overload_cast<>(&Component::mass), + Component::documentation("mass").data() + ) + .def_property_readonly( + "parity", + python::overload_cast<>(&Component::parity), + Component::documentation("parity").data() + ) + .def_property_readonly( + "spin", + python::overload_cast<>(&Component::spin), + Component::documentation("spin").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Baryons.python.cpp b/python/src/v2.0/pops/Baryons.python.cpp new file mode 100644 index 000000000..29dd9732d --- /dev/null +++ b/python/src/v2.0/pops/Baryons.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Baryons.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Baryons wrapper +void wrapBaryons(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Baryons; + + // create the component + python::class_ component( + module, + "Baryons", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("baryon") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "baryon", + python::overload_cast<>(&Component::baryon), + Component::documentation("baryon").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Charge.python.cpp b/python/src/v2.0/pops/Charge.python.cpp new file mode 100644 index 000000000..ebb7e5889 --- /dev/null +++ b/python/src/v2.0/pops/Charge.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Charge.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Charge wrapper +void wrapCharge(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Charge; + using _t = std::variant< + containers::Fraction, + containers::Integer + >; + + // create the component + python::class_ component( + module, + "Charge", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_fractioninteger"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "fraction", + python::overload_cast<>(&Component::fraction), + Component::documentation("fraction").data() + ) + .def_property_readonly( + "integer", + python::overload_cast<>(&Component::integer), + Component::documentation("integer").data() + ) + .def_property_readonly( + "_fractioninteger", + python::overload_cast<>(&Component::_fractioninteger), + Component::documentation("_fractioninteger").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/ChemicalElement.python.cpp b/python/src/v2.0/pops/ChemicalElement.python.cpp new file mode 100644 index 000000000..4ab5f32a6 --- /dev/null +++ b/python/src/v2.0/pops/ChemicalElement.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/ChemicalElement.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// ChemicalElement wrapper +void wrapChemicalElement(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::ChemicalElement; + + // create the component + python::class_ component( + module, + "ChemicalElement", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("z"), + python::arg("name") = std::nullopt, + python::arg("symbol"), + python::arg("atomic") = std::nullopt, + python::arg("isotopes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "z", + &Component::Z, + Component::documentation("z").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + .def_property_readonly( + "symbol", + &Component::symbol, + Component::documentation("symbol").data() + ) + .def_property_readonly( + "atomic", + python::overload_cast<>(&Component::atomic), + Component::documentation("atomic").data() + ) + .def_property_readonly( + "isotopes", + python::overload_cast<>(&Component::isotopes), + Component::documentation("isotopes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/ChemicalElements.python.cpp b/python/src/v2.0/pops/ChemicalElements.python.cpp new file mode 100644 index 000000000..0f6112db2 --- /dev/null +++ b/python/src/v2.0/pops/ChemicalElements.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/ChemicalElements.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// ChemicalElements wrapper +void wrapChemicalElements(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::ChemicalElements; + + // create the component + python::class_ component( + module, + "ChemicalElements", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("chemical_element") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "chemical_element", + python::overload_cast<>(&Component::chemicalElement), + Component::documentation("chemical_element").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Configuration.python.cpp b/python/src/v2.0/pops/Configuration.python.cpp new file mode 100644 index 000000000..48c95dd4f --- /dev/null +++ b/python/src/v2.0/pops/Configuration.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Configuration.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Configuration wrapper +void wrapConfiguration(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Configuration; + + // create the component + python::class_ component( + module, + "Configuration", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const std::string &, + const pops::BindingEnergy &, + const std::optional & + >(), + python::arg("electron_number"), + python::arg("subshell"), + python::arg("binding_energy"), + python::arg("decay_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "electron_number", + &Component::electronNumber, + Component::documentation("electron_number").data() + ) + .def_property_readonly( + "subshell", + &Component::subshell, + Component::documentation("subshell").data() + ) + .def_property_readonly( + "binding_energy", + python::overload_cast<>(&Component::bindingEnergy), + Component::documentation("binding_energy").data() + ) + .def_property_readonly( + "decay_data", + python::overload_cast<>(&Component::decayData), + Component::documentation("decay_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Configurations.python.cpp b/python/src/v2.0/pops/Configurations.python.cpp new file mode 100644 index 000000000..9f7525447 --- /dev/null +++ b/python/src/v2.0/pops/Configurations.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Configurations.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Configurations wrapper +void wrapConfigurations(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Configurations; + + // create the component + python::class_ component( + module, + "Configurations", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("configuration"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "configuration", + python::overload_cast<>(&Component::configuration), + Component::documentation("configuration").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Continuum.python.cpp b/python/src/v2.0/pops/Continuum.python.cpp new file mode 100644 index 000000000..5730a879d --- /dev/null +++ b/python/src/v2.0/pops/Continuum.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Continuum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Continuum wrapper +void wrapContinuum(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Continuum; + + // create the component + python::class_ component( + module, + "Continuum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Decay.python.cpp b/python/src/v2.0/pops/Decay.python.cpp new file mode 100644 index 000000000..f4174df78 --- /dev/null +++ b/python/src/v2.0/pops/Decay.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Decay.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Decay wrapper +void wrapDecay(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Decay; + + // create the component + python::class_ component( + module, + "Decay", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const Integer32 &, + const std::optional &, + const std::optional & + >(), + python::arg("complete") = std::nullopt, + python::arg("index"), + python::arg("mode") = std::nullopt, + python::arg("products") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "complete", + [](const Component &self) { return self.complete().value(); }, + Component::documentation("complete").data() + ) + .def_property_readonly( + "index", + &Component::index, + Component::documentation("index").data() + ) + .def_property_readonly( + "mode", + &Component::mode, + Component::documentation("mode").data() + ) + .def_property_readonly( + "products", + python::overload_cast<>(&Component::products), + Component::documentation("products").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/DecayData.python.cpp b/python/src/v2.0/pops/DecayData.python.cpp new file mode 100644 index 000000000..d55ceace9 --- /dev/null +++ b/python/src/v2.0/pops/DecayData.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/DecayData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DecayData wrapper +void wrapDecayData(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::DecayData; + + // create the component + python::class_ component( + module, + "DecayData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("average_energies") = std::nullopt, + python::arg("decay_modes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "average_energies", + python::overload_cast<>(&Component::averageEnergies), + Component::documentation("average_energies").data() + ) + .def_property_readonly( + "decay_modes", + python::overload_cast<>(&Component::decayModes), + Component::documentation("decay_modes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/DecayMode.python.cpp b/python/src/v2.0/pops/DecayMode.python.cpp new file mode 100644 index 000000000..630db23af --- /dev/null +++ b/python/src/v2.0/pops/DecayMode.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/DecayMode.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DecayMode wrapper +void wrapDecayMode(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::DecayMode; + + // create the component + python::class_ component( + module, + "DecayMode", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const enums::DecayType &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const pops::Probability &, + const std::optional & + >(), + python::arg("label"), + python::arg("mode"), + python::arg("q") = std::nullopt, + python::arg("decay_path") = std::nullopt, + python::arg("internal_conversion_coefficients") = std::nullopt, + python::arg("photon_emission_probabilities") = std::nullopt, + python::arg("probability"), + python::arg("spectra") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "mode", + &Component::mode, + Component::documentation("mode").data() + ) + .def_property_readonly( + "q", + python::overload_cast<>(&Component::Q), + Component::documentation("q").data() + ) + .def_property_readonly( + "decay_path", + python::overload_cast<>(&Component::decayPath), + Component::documentation("decay_path").data() + ) + .def_property_readonly( + "internal_conversion_coefficients", + python::overload_cast<>(&Component::internalConversionCoefficients), + Component::documentation("internal_conversion_coefficients").data() + ) + .def_property_readonly( + "photon_emission_probabilities", + python::overload_cast<>(&Component::photonEmissionProbabilities), + Component::documentation("photon_emission_probabilities").data() + ) + .def_property_readonly( + "probability", + python::overload_cast<>(&Component::probability), + Component::documentation("probability").data() + ) + .def_property_readonly( + "spectra", + python::overload_cast<>(&Component::spectra), + Component::documentation("spectra").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/DecayModes.python.cpp b/python/src/v2.0/pops/DecayModes.python.cpp new file mode 100644 index 000000000..c13e0a8fa --- /dev/null +++ b/python/src/v2.0/pops/DecayModes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/DecayModes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DecayModes wrapper +void wrapDecayModes(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::DecayModes; + + // create the component + python::class_ component( + module, + "DecayModes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("decay_mode"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "decay_mode", + python::overload_cast<>(&Component::decayMode), + Component::documentation("decay_mode").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/DecayPath.python.cpp b/python/src/v2.0/pops/DecayPath.python.cpp new file mode 100644 index 000000000..f6e2b0811 --- /dev/null +++ b/python/src/v2.0/pops/DecayPath.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/DecayPath.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DecayPath wrapper +void wrapDecayPath(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::DecayPath; + + // create the component + python::class_ component( + module, + "DecayPath", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("decay"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "decay", + python::overload_cast<>(&Component::decay), + Component::documentation("decay").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Discrete.python.cpp b/python/src/v2.0/pops/Discrete.python.cpp new file mode 100644 index 000000000..b1cbe0a1e --- /dev/null +++ b/python/src/v2.0/pops/Discrete.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Discrete.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Discrete wrapper +void wrapDiscrete(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Discrete; + + // create the component + python::class_ component( + module, + "Discrete", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const pops::Energy &, + const pops::Intensity &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("type") = std::nullopt, + python::arg("energy"), + python::arg("intensity"), + python::arg("internal_conversion_coefficients") = std::nullopt, + python::arg("internal_pair_formation_coefficient") = std::nullopt, + python::arg("photon_emission_probabilities") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "type", + &Component::type, + Component::documentation("type").data() + ) + .def_property_readonly( + "energy", + python::overload_cast<>(&Component::energy), + Component::documentation("energy").data() + ) + .def_property_readonly( + "intensity", + python::overload_cast<>(&Component::intensity), + Component::documentation("intensity").data() + ) + .def_property_readonly( + "internal_conversion_coefficients", + python::overload_cast<>(&Component::internalConversionCoefficients), + Component::documentation("internal_conversion_coefficients").data() + ) + .def_property_readonly( + "internal_pair_formation_coefficient", + python::overload_cast<>(&Component::internalPairFormationCoefficient), + Component::documentation("internal_pair_formation_coefficient").data() + ) + .def_property_readonly( + "photon_emission_probabilities", + python::overload_cast<>(&Component::photonEmissionProbabilities), + Component::documentation("photon_emission_probabilities").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Energy.python.cpp b/python/src/v2.0/pops/Energy.python.cpp new file mode 100644 index 000000000..ec2f9a194 --- /dev/null +++ b/python/src/v2.0/pops/Energy.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Energy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Energy wrapper +void wrapEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Energy; + + // create the component + python::class_ component( + module, + "Energy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 &, + const std::optional> & + >(), + python::arg("unit"), + python::arg("value"), + python::arg("double") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/GaugeBoson.python.cpp b/python/src/v2.0/pops/GaugeBoson.python.cpp new file mode 100644 index 000000000..83ea4000a --- /dev/null +++ b/python/src/v2.0/pops/GaugeBoson.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/GaugeBoson.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// GaugeBoson wrapper +void wrapGaugeBoson(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::GaugeBoson; + + // create the component + python::class_ component( + module, + "GaugeBoson", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("decay_data") = std::nullopt, + python::arg("halflife") = std::nullopt, + python::arg("mass") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("spin") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + &Component::id, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + python::overload_cast<>(&Component::charge), + Component::documentation("charge").data() + ) + .def_property_readonly( + "decay_data", + python::overload_cast<>(&Component::decayData), + Component::documentation("decay_data").data() + ) + .def_property_readonly( + "halflife", + python::overload_cast<>(&Component::halflife), + Component::documentation("halflife").data() + ) + .def_property_readonly( + "mass", + python::overload_cast<>(&Component::mass), + Component::documentation("mass").data() + ) + .def_property_readonly( + "parity", + python::overload_cast<>(&Component::parity), + Component::documentation("parity").data() + ) + .def_property_readonly( + "spin", + python::overload_cast<>(&Component::spin), + Component::documentation("spin").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/GaugeBosons.python.cpp b/python/src/v2.0/pops/GaugeBosons.python.cpp new file mode 100644 index 000000000..f9a364045 --- /dev/null +++ b/python/src/v2.0/pops/GaugeBosons.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/GaugeBosons.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// GaugeBosons wrapper +void wrapGaugeBosons(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::GaugeBosons; + + // create the component + python::class_ component( + module, + "GaugeBosons", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("gauge_boson") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "gauge_boson", + python::overload_cast<>(&Component::gaugeBoson), + Component::documentation("gauge_boson").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Halflife.python.cpp b/python/src/v2.0/pops/Halflife.python.cpp new file mode 100644 index 000000000..a81ed4133 --- /dev/null +++ b/python/src/v2.0/pops/Halflife.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Halflife.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Halflife wrapper +void wrapHalflife(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Halflife; + using _t = std::variant< + containers::Double, + containers::String + >; + + // create the component + python::class_ component( + module, + "Halflife", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_doublestring"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + .def_property_readonly( + "string", + python::overload_cast<>(&Component::string), + Component::documentation("string").data() + ) + .def_property_readonly( + "_doublestring", + python::overload_cast<>(&Component::_Doublestring), + Component::documentation("_doublestring").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Intensity.python.cpp b/python/src/v2.0/pops/Intensity.python.cpp new file mode 100644 index 000000000..2032db005 --- /dev/null +++ b/python/src/v2.0/pops/Intensity.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Intensity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Intensity wrapper +void wrapIntensity(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Intensity; + + // create the component + python::class_ component( + module, + "Intensity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp b/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp new file mode 100644 index 000000000..25dec44f6 --- /dev/null +++ b/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/InternalConversionCoefficients.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// InternalConversionCoefficients wrapper +void wrapInternalConversionCoefficients(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::InternalConversionCoefficients; + + // create the component + python::class_ component( + module, + "InternalConversionCoefficients", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("shell"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "shell", + python::overload_cast<>(&Component::shell), + Component::documentation("shell").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp b/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp new file mode 100644 index 000000000..358d9794d --- /dev/null +++ b/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/InternalPairFormationCoefficient.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// InternalPairFormationCoefficient wrapper +void wrapInternalPairFormationCoefficient(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::InternalPairFormationCoefficient; + + // create the component + python::class_ component( + module, + "InternalPairFormationCoefficient", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Isotope.python.cpp b/python/src/v2.0/pops/Isotope.python.cpp new file mode 100644 index 000000000..51832486b --- /dev/null +++ b/python/src/v2.0/pops/Isotope.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Isotope.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Isotope wrapper +void wrapIsotope(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Isotope; + + // create the component + python::class_ component( + module, + "Isotope", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const XMLName &, + const std::optional & + >(), + python::arg("a"), + python::arg("symbol"), + python::arg("nuclides") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "a", + &Component::A, + Component::documentation("a").data() + ) + .def_property_readonly( + "symbol", + &Component::symbol, + Component::documentation("symbol").data() + ) + .def_property_readonly( + "nuclides", + python::overload_cast<>(&Component::nuclides), + Component::documentation("nuclides").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Isotopes.python.cpp b/python/src/v2.0/pops/Isotopes.python.cpp new file mode 100644 index 000000000..2d4224237 --- /dev/null +++ b/python/src/v2.0/pops/Isotopes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Isotopes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Isotopes wrapper +void wrapIsotopes(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Isotopes; + + // create the component + python::class_ component( + module, + "Isotopes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("isotope"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "isotope", + python::overload_cast<>(&Component::isotope), + Component::documentation("isotope").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Lepton.python.cpp b/python/src/v2.0/pops/Lepton.python.cpp new file mode 100644 index 000000000..71543dc5a --- /dev/null +++ b/python/src/v2.0/pops/Lepton.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Lepton.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Lepton wrapper +void wrapLepton(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Lepton; + + // create the component + python::class_ component( + module, + "Lepton", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("generation") = std::nullopt, + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("decay_data") = std::nullopt, + python::arg("halflife") = std::nullopt, + python::arg("mass") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("spin") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "generation", + &Component::generation, + Component::documentation("generation").data() + ) + .def_property_readonly( + "id", + &Component::id, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + python::overload_cast<>(&Component::charge), + Component::documentation("charge").data() + ) + .def_property_readonly( + "decay_data", + python::overload_cast<>(&Component::decayData), + Component::documentation("decay_data").data() + ) + .def_property_readonly( + "halflife", + python::overload_cast<>(&Component::halflife), + Component::documentation("halflife").data() + ) + .def_property_readonly( + "mass", + python::overload_cast<>(&Component::mass), + Component::documentation("mass").data() + ) + .def_property_readonly( + "parity", + python::overload_cast<>(&Component::parity), + Component::documentation("parity").data() + ) + .def_property_readonly( + "spin", + python::overload_cast<>(&Component::spin), + Component::documentation("spin").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Leptons.python.cpp b/python/src/v2.0/pops/Leptons.python.cpp new file mode 100644 index 000000000..644ac0c94 --- /dev/null +++ b/python/src/v2.0/pops/Leptons.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Leptons.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Leptons wrapper +void wrapLeptons(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Leptons; + + // create the component + python::class_ component( + module, + "Leptons", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("lepton"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "lepton", + python::overload_cast<>(&Component::lepton), + Component::documentation("lepton").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Mass.python.cpp b/python/src/v2.0/pops/Mass.python.cpp new file mode 100644 index 000000000..9a3337ddf --- /dev/null +++ b/python/src/v2.0/pops/Mass.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Mass.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Mass wrapper +void wrapMass(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Mass; + + // create the component + python::class_ component( + module, + "Mass", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("double") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/MetaStable.python.cpp b/python/src/v2.0/pops/MetaStable.python.cpp new file mode 100644 index 000000000..13ad8fcd3 --- /dev/null +++ b/python/src/v2.0/pops/MetaStable.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/MetaStable.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// MetaStable wrapper +void wrapMetaStable(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::MetaStable; + + // create the component + python::class_ component( + module, + "MetaStable", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Integer32 &, + const XMLName & + >(), + python::arg("id"), + python::arg("meta_stable_index"), + python::arg("pid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + &Component::id, + Component::documentation("id").data() + ) + .def_property_readonly( + "meta_stable_index", + &Component::metaStableIndex, + Component::documentation("meta_stable_index").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Nucleus.python.cpp b/python/src/v2.0/pops/Nucleus.python.cpp new file mode 100644 index 000000000..d7cb79869 --- /dev/null +++ b/python/src/v2.0/pops/Nucleus.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Nucleus.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Nucleus wrapper +void wrapNucleus(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Nucleus; + + // create the component + python::class_ component( + module, + "Nucleus", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Integer32 &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("index"), + python::arg("charge") = std::nullopt, + python::arg("decay_data") = std::nullopt, + python::arg("energy") = std::nullopt, + python::arg("fission_fragment_data") = std::nullopt, + python::arg("halflife") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("spin") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + &Component::id, + Component::documentation("id").data() + ) + .def_property_readonly( + "index", + &Component::index, + Component::documentation("index").data() + ) + .def_property_readonly( + "charge", + python::overload_cast<>(&Component::charge), + Component::documentation("charge").data() + ) + .def_property_readonly( + "decay_data", + python::overload_cast<>(&Component::decayData), + Component::documentation("decay_data").data() + ) + .def_property_readonly( + "energy", + python::overload_cast<>(&Component::energy), + Component::documentation("energy").data() + ) + .def_property_readonly( + "fission_fragment_data", + python::overload_cast<>(&Component::fissionFragmentData), + Component::documentation("fission_fragment_data").data() + ) + .def_property_readonly( + "halflife", + python::overload_cast<>(&Component::halflife), + Component::documentation("halflife").data() + ) + .def_property_readonly( + "parity", + python::overload_cast<>(&Component::parity), + Component::documentation("parity").data() + ) + .def_property_readonly( + "spin", + python::overload_cast<>(&Component::spin), + Component::documentation("spin").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Nuclide.python.cpp b/python/src/v2.0/pops/Nuclide.python.cpp new file mode 100644 index 000000000..fe604313f --- /dev/null +++ b/python/src/v2.0/pops/Nuclide.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Nuclide.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Nuclide wrapper +void wrapNuclide(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Nuclide; + + // create the component + python::class_ component( + module, + "Nuclide", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("decay_data") = std::nullopt, + python::arg("fission_fragment_data") = std::nullopt, + python::arg("mass") = std::nullopt, + python::arg("nucleus") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("spin") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + &Component::id, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + python::overload_cast<>(&Component::charge), + Component::documentation("charge").data() + ) + .def_property_readonly( + "decay_data", + python::overload_cast<>(&Component::decayData), + Component::documentation("decay_data").data() + ) + .def_property_readonly( + "fission_fragment_data", + python::overload_cast<>(&Component::fissionFragmentData), + Component::documentation("fission_fragment_data").data() + ) + .def_property_readonly( + "mass", + python::overload_cast<>(&Component::mass), + Component::documentation("mass").data() + ) + .def_property_readonly( + "nucleus", + python::overload_cast<>(&Component::nucleus), + Component::documentation("nucleus").data() + ) + .def_property_readonly( + "parity", + python::overload_cast<>(&Component::parity), + Component::documentation("parity").data() + ) + .def_property_readonly( + "spin", + python::overload_cast<>(&Component::spin), + Component::documentation("spin").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Nuclides.python.cpp b/python/src/v2.0/pops/Nuclides.python.cpp new file mode 100644 index 000000000..d0efa5f8e --- /dev/null +++ b/python/src/v2.0/pops/Nuclides.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Nuclides.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Nuclides wrapper +void wrapNuclides(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Nuclides; + + // create the component + python::class_ component( + module, + "Nuclides", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("nuclide"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "nuclide", + python::overload_cast<>(&Component::nuclide), + Component::documentation("nuclide").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Parity.python.cpp b/python/src/v2.0/pops/Parity.python.cpp new file mode 100644 index 000000000..82adc4a0f --- /dev/null +++ b/python/src/v2.0/pops/Parity.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Parity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Parity wrapper +void wrapParity(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Parity; + + // create the component + python::class_ component( + module, + "Parity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("integer") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "integer", + python::overload_cast<>(&Component::integer), + Component::documentation("integer").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp b/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp new file mode 100644 index 000000000..05fe46b31 --- /dev/null +++ b/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// PhotonEmissionProbabilities wrapper +void wrapPhotonEmissionProbabilities(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::PhotonEmissionProbabilities; + + // create the component + python::class_ component( + module, + "PhotonEmissionProbabilities", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("shell"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "shell", + python::overload_cast<>(&Component::shell), + Component::documentation("shell").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/PoPs.python.cpp b/python/src/v2.0/pops/PoPs.python.cpp new file mode 100644 index 000000000..398704e0f --- /dev/null +++ b/python/src/v2.0/pops/PoPs.python.cpp @@ -0,0 +1,126 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/PoPs.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// PoPs wrapper +void wrapPoPs(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::PoPs; + + // create the component + python::class_ component( + module, + "PoPs", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("format"), + python::arg("name"), + python::arg("version"), + python::arg("aliases") = std::nullopt, + python::arg("baryons") = std::nullopt, + python::arg("chemical_elements") = std::nullopt, + python::arg("documentation") = std::nullopt, + python::arg("gauge_bosons") = std::nullopt, + python::arg("leptons") = std::nullopt, + python::arg("styles") = std::nullopt, + python::arg("unorthodoxes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "format", + &Component::format, + Component::documentation("format").data() + ) + .def_property_readonly( + "name", + &Component::name, + Component::documentation("name").data() + ) + .def_property_readonly( + "version", + &Component::version, + Component::documentation("version").data() + ) + .def_property_readonly( + "aliases", + python::overload_cast<>(&Component::aliases), + Component::documentation("aliases").data() + ) + .def_property_readonly( + "baryons", + python::overload_cast<>(&Component::baryons), + Component::documentation("baryons").data() + ) + .def_property_readonly( + "chemical_elements", + python::overload_cast<>(&Component::chemicalElements), + Component::documentation("chemical_elements").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::doc), + Component::documentation("documentation").data() + ) + .def_property_readonly( + "gauge_bosons", + python::overload_cast<>(&Component::gaugeBosons), + Component::documentation("gauge_bosons").data() + ) + .def_property_readonly( + "leptons", + python::overload_cast<>(&Component::leptons), + Component::documentation("leptons").data() + ) + .def_property_readonly( + "styles", + python::overload_cast<>(&Component::styles), + Component::documentation("styles").data() + ) + .def_property_readonly( + "unorthodoxes", + python::overload_cast<>(&Component::unorthodoxes), + Component::documentation("unorthodoxes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Probability.python.cpp b/python/src/v2.0/pops/Probability.python.cpp new file mode 100644 index 000000000..fce7fb4b1 --- /dev/null +++ b/python/src/v2.0/pops/Probability.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Probability.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Probability wrapper +void wrapProbability(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Probability; + + // create the component + python::class_ component( + module, + "Probability", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Product.python.cpp b/python/src/v2.0/pops/Product.python.cpp new file mode 100644 index 000000000..ed673aad8 --- /dev/null +++ b/python/src/v2.0/pops/Product.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Product.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Product wrapper +void wrapProduct(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Product; + + // create the component + python::class_ component( + module, + "Product", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("label"), + python::arg("pid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Products.python.cpp b/python/src/v2.0/pops/Products.python.cpp new file mode 100644 index 000000000..d7467e5c6 --- /dev/null +++ b/python/src/v2.0/pops/Products.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Products.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Products wrapper +void wrapProducts(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Products; + + // create the component + python::class_ component( + module, + "Products", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("product"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "product", + python::overload_cast<>(&Component::product), + Component::documentation("product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Q.python.cpp b/python/src/v2.0/pops/Q.python.cpp new file mode 100644 index 000000000..7246cf770 --- /dev/null +++ b/python/src/v2.0/pops/Q.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Q.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Q wrapper +void wrapQ(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Q; + + // create the component + python::class_ component( + module, + "Q", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Shell.python.cpp b/python/src/v2.0/pops/Shell.python.cpp new file mode 100644 index 000000000..a1b97297a --- /dev/null +++ b/python/src/v2.0/pops/Shell.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Shell.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Shell wrapper +void wrapShell(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Shell; + + // create the component + python::class_ component( + module, + "Shell", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const Float64 & + >(), + python::arg("label"), + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit().value(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Spectra.python.cpp b/python/src/v2.0/pops/Spectra.python.cpp new file mode 100644 index 000000000..da31db827 --- /dev/null +++ b/python/src/v2.0/pops/Spectra.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Spectra.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Spectra wrapper +void wrapSpectra(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Spectra; + + // create the component + python::class_ component( + module, + "Spectra", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("spectrum"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "spectrum", + python::overload_cast<>(&Component::spectrum), + Component::documentation("spectrum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Spectrum.python.cpp b/python/src/v2.0/pops/Spectrum.python.cpp new file mode 100644 index 000000000..6773d1bc3 --- /dev/null +++ b/python/src/v2.0/pops/Spectrum.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Spectrum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Spectrum wrapper +void wrapSpectrum(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Spectrum; + + // create the component + python::class_ component( + module, + "Spectrum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional> & + >(), + python::arg("label"), + python::arg("pid"), + python::arg("continuum") = std::nullopt, + python::arg("discrete") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "continuum", + python::overload_cast<>(&Component::continuum), + Component::documentation("continuum").data() + ) + .def_property_readonly( + "discrete", + python::overload_cast<>(&Component::discrete), + Component::documentation("discrete").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Spin.python.cpp b/python/src/v2.0/pops/Spin.python.cpp new file mode 100644 index 000000000..624d7005c --- /dev/null +++ b/python/src/v2.0/pops/Spin.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Spin.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Spin wrapper +void wrapSpin(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Spin; + + // create the component + python::class_ component( + module, + "Spin", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("fraction") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "fraction", + python::overload_cast<>(&Component::fraction), + Component::documentation("fraction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Unorthodox.python.cpp b/python/src/v2.0/pops/Unorthodox.python.cpp new file mode 100644 index 000000000..eaa3214aa --- /dev/null +++ b/python/src/v2.0/pops/Unorthodox.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Unorthodox.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Unorthodox wrapper +void wrapUnorthodox(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Unorthodox; + + // create the component + python::class_ component( + module, + "Unorthodox", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("mass") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + &Component::id, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + python::overload_cast<>(&Component::charge), + Component::documentation("charge").data() + ) + .def_property_readonly( + "mass", + python::overload_cast<>(&Component::mass), + Component::documentation("mass").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/pops/Unorthodoxes.python.cpp b/python/src/v2.0/pops/Unorthodoxes.python.cpp new file mode 100644 index 000000000..ca46f1c53 --- /dev/null +++ b/python/src/v2.0/pops/Unorthodoxes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/pops/Unorthodoxes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Unorthodoxes wrapper +void wrapUnorthodoxes(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = pops::Unorthodoxes; + + // create the component + python::class_ component( + module, + "Unorthodoxes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("unorthodox"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unorthodox", + python::overload_cast<>(&Component::unorthodox), + Component::documentation("unorthodox").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/python/src/v2.0/processed.python.cpp b/python/src/v2.0/processed.python.cpp new file mode 100644 index 000000000..f556b0ec4 --- /dev/null +++ b/python/src/v2.0/processed.python.cpp @@ -0,0 +1,43 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// processed declarations +namespace python_processed { + void wrapAngularEnergyMC(python::module &); + void wrapEnergyAngularMC(python::module &); + void wrapMultiGroup3d(python::module &); + void wrapAvailableEnergy(python::module &); + void wrapAvailableMomentum(python::module &); + void wrapAverageProductEnergy(python::module &); + void wrapAverageProductMomentum(python::module &); +} // namespace python_processed + +// processed wrapper +void wrapProcessed(python::module &module) +{ + // create the processed submodule + python::module submodule = module.def_submodule( + "processed", + "GNDS v2.0 processed" + ); + + // wrap processed components + python_processed::wrapAngularEnergyMC(submodule); + python_processed::wrapEnergyAngularMC(submodule); + python_processed::wrapMultiGroup3d(submodule); + python_processed::wrapAvailableEnergy(submodule); + python_processed::wrapAvailableMomentum(submodule); + python_processed::wrapAverageProductEnergy(submodule); + python_processed::wrapAverageProductMomentum(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/processed/AngularEnergyMC.python.cpp b/python/src/v2.0/processed/AngularEnergyMC.python.cpp new file mode 100644 index 000000000..f352cc53a --- /dev/null +++ b/python/src/v2.0/processed/AngularEnergyMC.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/processed/AngularEnergyMC.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AngularEnergyMC wrapper +void wrapAngularEnergyMC(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = processed::AngularEnergyMC; + + // create the component + python::class_ component( + module, + "AngularEnergyMC", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const transport::Angular &, + const transport::AngularEnergy & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("angular"), + python::arg("angular_energy"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "angular", + python::overload_cast<>(&Component::angular), + Component::documentation("angular").data() + ) + .def_property_readonly( + "angular_energy", + python::overload_cast<>(&Component::angularEnergy), + Component::documentation("angular_energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/python/src/v2.0/processed/AvailableEnergy.python.cpp b/python/src/v2.0/processed/AvailableEnergy.python.cpp new file mode 100644 index 000000000..be1210306 --- /dev/null +++ b/python/src/v2.0/processed/AvailableEnergy.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/processed/AvailableEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AvailableEnergy wrapper +void wrapAvailableEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = processed::AvailableEnergy; + + // create the component + python::class_ component( + module, + "AvailableEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("gridded1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "gridded1d", + python::overload_cast<>(&Component::gridded1d), + Component::documentation("gridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/python/src/v2.0/processed/AvailableMomentum.python.cpp b/python/src/v2.0/processed/AvailableMomentum.python.cpp new file mode 100644 index 000000000..43cb3ee40 --- /dev/null +++ b/python/src/v2.0/processed/AvailableMomentum.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/processed/AvailableMomentum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AvailableMomentum wrapper +void wrapAvailableMomentum(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = processed::AvailableMomentum; + + // create the component + python::class_ component( + module, + "AvailableMomentum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("gridded1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "gridded1d", + python::overload_cast<>(&Component::gridded1d), + Component::documentation("gridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/python/src/v2.0/processed/AverageProductEnergy.python.cpp b/python/src/v2.0/processed/AverageProductEnergy.python.cpp new file mode 100644 index 000000000..1b0578f8b --- /dev/null +++ b/python/src/v2.0/processed/AverageProductEnergy.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/processed/AverageProductEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AverageProductEnergy wrapper +void wrapAverageProductEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = processed::AverageProductEnergy; + + // create the component + python::class_ component( + module, + "AverageProductEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::XYs1d &, + const std::optional & + >(), + python::arg("xys1d"), + python::arg("gridded1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "gridded1d", + python::overload_cast<>(&Component::gridded1d), + Component::documentation("gridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/python/src/v2.0/processed/AverageProductMomentum.python.cpp b/python/src/v2.0/processed/AverageProductMomentum.python.cpp new file mode 100644 index 000000000..391855bac --- /dev/null +++ b/python/src/v2.0/processed/AverageProductMomentum.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/processed/AverageProductMomentum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AverageProductMomentum wrapper +void wrapAverageProductMomentum(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = processed::AverageProductMomentum; + + // create the component + python::class_ component( + module, + "AverageProductMomentum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("gridded1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "gridded1d", + python::overload_cast<>(&Component::gridded1d), + Component::documentation("gridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/python/src/v2.0/processed/EnergyAngularMC.python.cpp b/python/src/v2.0/processed/EnergyAngularMC.python.cpp new file mode 100644 index 000000000..c86df1ab3 --- /dev/null +++ b/python/src/v2.0/processed/EnergyAngularMC.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/processed/EnergyAngularMC.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// EnergyAngularMC wrapper +void wrapEnergyAngularMC(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = processed::EnergyAngularMC; + + // create the component + python::class_ component( + module, + "EnergyAngularMC", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const ambiguousNamespace::Energy &, + const transport::EnergyAngular & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("energy"), + python::arg("energy_angular"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "energy", + python::overload_cast<>(&Component::energy), + Component::documentation("energy").data() + ) + .def_property_readonly( + "energy_angular", + python::overload_cast<>(&Component::energyAngular), + Component::documentation("energy_angular").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/python/src/v2.0/processed/MultiGroup3d.python.cpp b/python/src/v2.0/processed/MultiGroup3d.python.cpp new file mode 100644 index 000000000..e0750d29b --- /dev/null +++ b/python/src/v2.0/processed/MultiGroup3d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/processed/MultiGroup3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// MultiGroup3d wrapper +void wrapMultiGroup3d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = processed::MultiGroup3d; + + // create the component + python::class_ component( + module, + "MultiGroup3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const containers::Gridded3d & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("gridded3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "gridded3d", + python::overload_cast<>(&Component::gridded3d), + Component::documentation("gridded3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances.python.cpp b/python/src/v2.0/resonances.python.cpp new file mode 100644 index 000000000..f8520240d --- /dev/null +++ b/python/src/v2.0/resonances.python.cpp @@ -0,0 +1,79 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// resonances declarations +namespace python_resonances { + void wrapHardSphereRadius(python::module &); + void wrapResonanceParameters(python::module &); + void wrapScatteringRadius(python::module &); + void wrapBreitWigner(python::module &); + void wrapLevelSpacing(python::module &); + void wrapWidth(python::module &); + void wrapWidths(python::module &); + void wrapJ(python::module &); + void wrapJs(python::module &); + void wrapL(python::module &); + void wrapLs(python::module &); + void wrapResonanceReaction(python::module &); + void wrapResonanceReactions(python::module &); + void wrapExternalRMatrix(python::module &); + void wrapChannel(python::module &); + void wrapChannels(python::module &); + void wrapSpinGroup(python::module &); + void wrapSpinGroups(python::module &); + void wrapRMatrix(python::module &); + void wrapEnergyInterval(python::module &); + void wrapEnergyIntervals(python::module &); + void wrapResolved(python::module &); + void wrapTabulatedWidths(python::module &); + void wrapUnresolved(python::module &); + void wrapResonances(python::module &); +} // namespace python_resonances + +// resonances wrapper +void wrapResonances(python::module &module) +{ + // create the resonances submodule + python::module submodule = module.def_submodule( + "resonances", + "GNDS v2.0 resonances" + ); + + // wrap resonances components + python_resonances::wrapHardSphereRadius(submodule); + python_resonances::wrapResonanceParameters(submodule); + python_resonances::wrapScatteringRadius(submodule); + python_resonances::wrapBreitWigner(submodule); + python_resonances::wrapLevelSpacing(submodule); + python_resonances::wrapWidth(submodule); + python_resonances::wrapWidths(submodule); + python_resonances::wrapJ(submodule); + python_resonances::wrapJs(submodule); + python_resonances::wrapL(submodule); + python_resonances::wrapLs(submodule); + python_resonances::wrapResonanceReaction(submodule); + python_resonances::wrapResonanceReactions(submodule); + python_resonances::wrapExternalRMatrix(submodule); + python_resonances::wrapChannel(submodule); + python_resonances::wrapChannels(submodule); + python_resonances::wrapSpinGroup(submodule); + python_resonances::wrapSpinGroups(submodule); + python_resonances::wrapRMatrix(submodule); + python_resonances::wrapEnergyInterval(submodule); + python_resonances::wrapEnergyIntervals(submodule); + python_resonances::wrapResolved(submodule); + python_resonances::wrapTabulatedWidths(submodule); + python_resonances::wrapUnresolved(submodule); + python_resonances::wrapResonances(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/BreitWigner.python.cpp b/python/src/v2.0/resonances/BreitWigner.python.cpp new file mode 100644 index 000000000..bac9108b2 --- /dev/null +++ b/python/src/v2.0/resonances/BreitWigner.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/BreitWigner.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// BreitWigner wrapper +void wrapBreitWigner(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::BreitWigner; + + // create the component + python::class_ component( + module, + "BreitWigner", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("approximation"), + python::arg("calculate_channel_radius") = std::nullopt, + python::arg("label"), + python::arg("use_for_self_shielding_only") = std::nullopt, + python::arg("po_ps") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("resonance_parameters") = std::nullopt, + python::arg("scattering_radius") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "approximation", + &Component::approximation, + Component::documentation("approximation").data() + ) + .def_property_readonly( + "calculate_channel_radius", + [](const Component &self) { return self.calculateChannelRadius().value(); }, + Component::documentation("calculate_channel_radius").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "use_for_self_shielding_only", + [](const Component &self) { return self.useForSelfShieldingOnly().value(); }, + Component::documentation("use_for_self_shielding_only").data() + ) + .def_property_readonly( + "po_ps", + python::overload_cast<>(&Component::PoPs), + Component::documentation("po_ps").data() + ) + .def_property_readonly( + "hard_sphere_radius", + python::overload_cast<>(&Component::hardSphereRadius), + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "resonance_parameters", + python::overload_cast<>(&Component::resonanceParameters), + Component::documentation("resonance_parameters").data() + ) + .def_property_readonly( + "scattering_radius", + python::overload_cast<>(&Component::scatteringRadius), + Component::documentation("scattering_radius").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Channel.python.cpp b/python/src/v2.0/resonances/Channel.python.cpp new file mode 100644 index 000000000..4cedf1b43 --- /dev/null +++ b/python/src/v2.0/resonances/Channel.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Channel.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Channel wrapper +void wrapChannel(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Channel; + + // create the component + python::class_ component( + module, + "Channel", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const std::optional &, + const Fraction32 &, + const Integer32 &, + const XMLName &, + const std::string &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("l"), + python::arg("boundary_condition_value") = std::nullopt, + python::arg("channel_spin"), + python::arg("column_index"), + python::arg("label"), + python::arg("resonance_reaction"), + python::arg("external_rmatrix") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("scattering_radius") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "l", + &Component::L, + Component::documentation("l").data() + ) + .def_property_readonly( + "boundary_condition_value", + &Component::boundaryConditionValue, + Component::documentation("boundary_condition_value").data() + ) + .def_property_readonly( + "channel_spin", + &Component::channelSpin, + Component::documentation("channel_spin").data() + ) + .def_property_readonly( + "column_index", + &Component::columnIndex, + Component::documentation("column_index").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "resonance_reaction", + &Component::resonanceReaction, + Component::documentation("resonance_reaction").data() + ) + .def_property_readonly( + "external_rmatrix", + python::overload_cast<>(&Component::externalRMatrix), + Component::documentation("external_rmatrix").data() + ) + .def_property_readonly( + "hard_sphere_radius", + python::overload_cast<>(&Component::hardSphereRadius), + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "scattering_radius", + python::overload_cast<>(&Component::scatteringRadius), + Component::documentation("scattering_radius").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Channels.python.cpp b/python/src/v2.0/resonances/Channels.python.cpp new file mode 100644 index 000000000..4f0bbacec --- /dev/null +++ b/python/src/v2.0/resonances/Channels.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Channels.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Channels wrapper +void wrapChannels(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Channels; + + // create the component + python::class_ component( + module, + "Channels", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("channel"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "channel", + python::overload_cast<>(&Component::channel), + Component::documentation("channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/EnergyInterval.python.cpp b/python/src/v2.0/resonances/EnergyInterval.python.cpp new file mode 100644 index 000000000..66165ece1 --- /dev/null +++ b/python/src/v2.0/resonances/EnergyInterval.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/EnergyInterval.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// EnergyInterval wrapper +void wrapEnergyInterval(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::EnergyInterval; + using _t = std::variant< + resonances::BreitWigner, + resonances::RMatrix + >; + + // create the component + python::class_ component( + module, + "EnergyInterval", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const XMLName &, + const Integer32 &, + const _t & + >(), + python::arg("domain_max"), + python::arg("domain_min"), + python::arg("domain_unit"), + python::arg("index"), + python::arg("_breit_wigner_rmatrix"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_unit", + &Component::domainUnit, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "index", + &Component::index, + Component::documentation("index").data() + ) + .def_property_readonly( + "breit_wigner", + python::overload_cast<>(&Component::BreitWigner), + Component::documentation("breit_wigner").data() + ) + .def_property_readonly( + "rmatrix", + python::overload_cast<>(&Component::RMatrix), + Component::documentation("rmatrix").data() + ) + .def_property_readonly( + "_breit_wigner_rmatrix", + python::overload_cast<>(&Component::_BreitWignerRMatrix), + Component::documentation("_breit_wigner_rmatrix").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/EnergyIntervals.python.cpp b/python/src/v2.0/resonances/EnergyIntervals.python.cpp new file mode 100644 index 000000000..d47f3e5cc --- /dev/null +++ b/python/src/v2.0/resonances/EnergyIntervals.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/EnergyIntervals.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// EnergyIntervals wrapper +void wrapEnergyIntervals(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::EnergyIntervals; + + // create the component + python::class_ component( + module, + "EnergyIntervals", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::vector & + >(), + python::arg("label"), + python::arg("energy_interval"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "energy_interval", + python::overload_cast<>(&Component::energyInterval), + Component::documentation("energy_interval").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/ExternalRMatrix.python.cpp b/python/src/v2.0/resonances/ExternalRMatrix.python.cpp new file mode 100644 index 000000000..4b155ab6a --- /dev/null +++ b/python/src/v2.0/resonances/ExternalRMatrix.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/ExternalRMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ExternalRMatrix wrapper +void wrapExternalRMatrix(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::ExternalRMatrix; + + // create the component + python::class_ component( + module, + "ExternalRMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::vector & + >(), + python::arg("type"), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "type", + &Component::type, + Component::documentation("type").data() + ) + .def_property_readonly( + "double", + python::overload_cast<>(&Component::Double), + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/HardSphereRadius.python.cpp b/python/src/v2.0/resonances/HardSphereRadius.python.cpp new file mode 100644 index 000000000..143ca77b9 --- /dev/null +++ b/python/src/v2.0/resonances/HardSphereRadius.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/HardSphereRadius.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// HardSphereRadius wrapper +void wrapHardSphereRadius(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::HardSphereRadius; + + // create the component + python::class_ component( + module, + "HardSphereRadius", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Constant1d & + >(), + python::arg("constant1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "constant1d", + python::overload_cast<>(&Component::constant1d), + Component::documentation("constant1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/J.python.cpp b/python/src/v2.0/resonances/J.python.cpp new file mode 100644 index 000000000..b5b43169b --- /dev/null +++ b/python/src/v2.0/resonances/J.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/J.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// J wrapper +void wrapJ(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::J; + + // create the component + python::class_ component( + module, + "J", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Fraction32 &, + const resonances::LevelSpacing &, + const resonances::Widths & + >(), + python::arg("label"), + python::arg("value"), + python::arg("level_spacing"), + python::arg("widths"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + .def_property_readonly( + "level_spacing", + python::overload_cast<>(&Component::levelSpacing), + Component::documentation("level_spacing").data() + ) + .def_property_readonly( + "widths", + python::overload_cast<>(&Component::widths), + Component::documentation("widths").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Js.python.cpp b/python/src/v2.0/resonances/Js.python.cpp new file mode 100644 index 000000000..e8878e5d3 --- /dev/null +++ b/python/src/v2.0/resonances/Js.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Js.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Js wrapper +void wrapJs(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Js; + + // create the component + python::class_ component( + module, + "Js", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("j"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "j", + python::overload_cast<>(&Component::J), + Component::documentation("j").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/L.python.cpp b/python/src/v2.0/resonances/L.python.cpp new file mode 100644 index 000000000..e7ffceeea --- /dev/null +++ b/python/src/v2.0/resonances/L.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/L.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// L wrapper +void wrapL(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::L; + + // create the component + python::class_ component( + module, + "L", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Integer32 &, + const resonances::Js & + >(), + python::arg("label"), + python::arg("value"), + python::arg("js"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + .def_property_readonly( + "js", + python::overload_cast<>(&Component::Js), + Component::documentation("js").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/LevelSpacing.python.cpp b/python/src/v2.0/resonances/LevelSpacing.python.cpp new file mode 100644 index 000000000..0856fb696 --- /dev/null +++ b/python/src/v2.0/resonances/LevelSpacing.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/LevelSpacing.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// LevelSpacing wrapper +void wrapLevelSpacing(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::LevelSpacing; + + // create the component + python::class_ component( + module, + "LevelSpacing", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("constant1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "constant1d", + python::overload_cast<>(&Component::constant1d), + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Ls.python.cpp b/python/src/v2.0/resonances/Ls.python.cpp new file mode 100644 index 000000000..8922da2dc --- /dev/null +++ b/python/src/v2.0/resonances/Ls.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Ls.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Ls wrapper +void wrapLs(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Ls; + + // create the component + python::class_ component( + module, + "Ls", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("l"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "l", + python::overload_cast<>(&Component::L), + Component::documentation("l").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/RMatrix.python.cpp b/python/src/v2.0/resonances/RMatrix.python.cpp new file mode 100644 index 000000000..784487410 --- /dev/null +++ b/python/src/v2.0/resonances/RMatrix.python.cpp @@ -0,0 +1,126 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/RMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// RMatrix wrapper +void wrapRMatrix(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::RMatrix; + + // create the component + python::class_ component( + module, + "RMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const resonances::ResonanceReactions &, + const resonances::SpinGroups & + >(), + python::arg("approximation"), + python::arg("boundary_condition") = std::nullopt, + python::arg("boundary_condition_value") = std::nullopt, + python::arg("calculate_channel_radius") = std::nullopt, + python::arg("calculate_penetrability") = std::nullopt, + python::arg("label"), + python::arg("supports_angular_reconstruction") = std::nullopt, + python::arg("use_for_self_shielding_only") = std::nullopt, + python::arg("po_ps") = std::nullopt, + python::arg("resonance_reactions"), + python::arg("spin_groups"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "approximation", + &Component::approximation, + Component::documentation("approximation").data() + ) + .def_property_readonly( + "boundary_condition", + [](const Component &self) { return self.boundaryCondition().value(); }, + Component::documentation("boundary_condition").data() + ) + .def_property_readonly( + "boundary_condition_value", + &Component::boundaryConditionValue, + Component::documentation("boundary_condition_value").data() + ) + .def_property_readonly( + "calculate_channel_radius", + [](const Component &self) { return self.calculateChannelRadius().value(); }, + Component::documentation("calculate_channel_radius").data() + ) + .def_property_readonly( + "calculate_penetrability", + [](const Component &self) { return self.calculatePenetrability().value(); }, + Component::documentation("calculate_penetrability").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "supports_angular_reconstruction", + [](const Component &self) { return self.supportsAngularReconstruction().value(); }, + Component::documentation("supports_angular_reconstruction").data() + ) + .def_property_readonly( + "use_for_self_shielding_only", + [](const Component &self) { return self.useForSelfShieldingOnly().value(); }, + Component::documentation("use_for_self_shielding_only").data() + ) + .def_property_readonly( + "po_ps", + python::overload_cast<>(&Component::PoPs), + Component::documentation("po_ps").data() + ) + .def_property_readonly( + "resonance_reactions", + python::overload_cast<>(&Component::resonanceReactions), + Component::documentation("resonance_reactions").data() + ) + .def_property_readonly( + "spin_groups", + python::overload_cast<>(&Component::spinGroups), + Component::documentation("spin_groups").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Resolved.python.cpp b/python/src/v2.0/resonances/Resolved.python.cpp new file mode 100644 index 000000000..f35d22c87 --- /dev/null +++ b/python/src/v2.0/resonances/Resolved.python.cpp @@ -0,0 +1,97 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Resolved.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Resolved wrapper +void wrapResolved(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Resolved; + using _t = std::variant< + resonances::BreitWigner, + resonances::RMatrix, + resonances::EnergyIntervals + >; + + // create the component + python::class_ component( + module, + "Resolved", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const XMLName &, + const _t & + >(), + python::arg("domain_max"), + python::arg("domain_min"), + python::arg("domain_unit"), + python::arg("_breit_wigner_rmatrixenergy_intervals"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_unit", + &Component::domainUnit, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "breit_wigner", + python::overload_cast<>(&Component::BreitWigner), + Component::documentation("breit_wigner").data() + ) + .def_property_readonly( + "rmatrix", + python::overload_cast<>(&Component::RMatrix), + Component::documentation("rmatrix").data() + ) + .def_property_readonly( + "energy_intervals", + python::overload_cast<>(&Component::energyIntervals), + Component::documentation("energy_intervals").data() + ) + .def_property_readonly( + "_breit_wigner_rmatrixenergy_intervals", + python::overload_cast<>(&Component::_BreitWignerRMatrixenergyIntervals), + Component::documentation("_breit_wigner_rmatrixenergy_intervals").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/ResonanceParameters.python.cpp b/python/src/v2.0/resonances/ResonanceParameters.python.cpp new file mode 100644 index 000000000..024aac8b0 --- /dev/null +++ b/python/src/v2.0/resonances/ResonanceParameters.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/ResonanceParameters.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ResonanceParameters wrapper +void wrapResonanceParameters(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::ResonanceParameters; + + // create the component + python::class_ component( + module, + "ResonanceParameters", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Table & + >(), + python::arg("table"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "table", + python::overload_cast<>(&Component::table), + Component::documentation("table").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/ResonanceReaction.python.cpp b/python/src/v2.0/resonances/ResonanceReaction.python.cpp new file mode 100644 index 000000000..9cc2caf23 --- /dev/null +++ b/python/src/v2.0/resonances/ResonanceReaction.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/ResonanceReaction.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ResonanceReaction wrapper +void wrapResonanceReaction(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::ResonanceReaction; + + // create the component + python::class_ component( + module, + "ResonanceReaction", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const containers::Link &, + const std::optional & + >(), + python::arg("boundary_condition_value") = std::nullopt, + python::arg("ejectile"), + python::arg("eliminated") = std::nullopt, + python::arg("label"), + python::arg("q") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("link"), + python::arg("scattering_radius") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "boundary_condition_value", + &Component::boundaryConditionValue, + Component::documentation("boundary_condition_value").data() + ) + .def_property_readonly( + "ejectile", + &Component::ejectile, + Component::documentation("ejectile").data() + ) + .def_property_readonly( + "eliminated", + [](const Component &self) { return self.eliminated().value(); }, + Component::documentation("eliminated").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "q", + python::overload_cast<>(&Component::Q), + Component::documentation("q").data() + ) + .def_property_readonly( + "hard_sphere_radius", + python::overload_cast<>(&Component::hardSphereRadius), + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "link", + python::overload_cast<>(&Component::link), + Component::documentation("link").data() + ) + .def_property_readonly( + "scattering_radius", + python::overload_cast<>(&Component::scatteringRadius), + Component::documentation("scattering_radius").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/ResonanceReactions.python.cpp b/python/src/v2.0/resonances/ResonanceReactions.python.cpp new file mode 100644 index 000000000..4ecd83df7 --- /dev/null +++ b/python/src/v2.0/resonances/ResonanceReactions.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/ResonanceReactions.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ResonanceReactions wrapper +void wrapResonanceReactions(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::ResonanceReactions; + + // create the component + python::class_ component( + module, + "ResonanceReactions", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("resonance_reaction"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "resonance_reaction", + python::overload_cast<>(&Component::resonanceReaction), + Component::documentation("resonance_reaction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Resonances.python.cpp b/python/src/v2.0/resonances/Resonances.python.cpp new file mode 100644 index 000000000..687301304 --- /dev/null +++ b/python/src/v2.0/resonances/Resonances.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Resonances.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Resonances wrapper +void wrapResonances(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Resonances; + + // create the component + python::class_ component( + module, + "Resonances", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional> &, + const resonances::ScatteringRadius &, + const std::optional> & + >(), + python::arg("href") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("resolved") = std::nullopt, + python::arg("scattering_radius"), + python::arg("unresolved") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "hard_sphere_radius", + python::overload_cast<>(&Component::hardSphereRadius), + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "resolved", + python::overload_cast<>(&Component::resolved), + Component::documentation("resolved").data() + ) + .def_property_readonly( + "scattering_radius", + python::overload_cast<>(&Component::scatteringRadius), + Component::documentation("scattering_radius").data() + ) + .def_property_readonly( + "unresolved", + python::overload_cast<>(&Component::unresolved), + Component::documentation("unresolved").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/ScatteringRadius.python.cpp b/python/src/v2.0/resonances/ScatteringRadius.python.cpp new file mode 100644 index 000000000..711114000 --- /dev/null +++ b/python/src/v2.0/resonances/ScatteringRadius.python.cpp @@ -0,0 +1,76 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/ScatteringRadius.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ScatteringRadius wrapper +void wrapScatteringRadius(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::ScatteringRadius; + using _t = std::variant< + containers::XYs1d, + containers::Constant1d, + containers::Regions1d + >; + + // create the component + python::class_ component( + module, + "ScatteringRadius", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dconstant1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "constant1d", + python::overload_cast<>(&Component::constant1d), + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dconstant1dregions1d", + python::overload_cast<>(&Component::_XYs1dconstant1dregions1d), + Component::documentation("_xys1dconstant1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/SpinGroup.python.cpp b/python/src/v2.0/resonances/SpinGroup.python.cpp new file mode 100644 index 000000000..87f6145f9 --- /dev/null +++ b/python/src/v2.0/resonances/SpinGroup.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/SpinGroup.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// SpinGroup wrapper +void wrapSpinGroup(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::SpinGroup; + + // create the component + python::class_ component( + module, + "SpinGroup", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Integer32 &, + const Fraction32 &, + const resonances::Channels &, + const resonances::ResonanceParameters & + >(), + python::arg("label"), + python::arg("parity"), + python::arg("spin"), + python::arg("channels"), + python::arg("resonance_parameters"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "parity", + &Component::parity, + Component::documentation("parity").data() + ) + .def_property_readonly( + "spin", + &Component::spin, + Component::documentation("spin").data() + ) + .def_property_readonly( + "channels", + python::overload_cast<>(&Component::channels), + Component::documentation("channels").data() + ) + .def_property_readonly( + "resonance_parameters", + python::overload_cast<>(&Component::resonanceParameters), + Component::documentation("resonance_parameters").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/SpinGroups.python.cpp b/python/src/v2.0/resonances/SpinGroups.python.cpp new file mode 100644 index 000000000..20ff833e6 --- /dev/null +++ b/python/src/v2.0/resonances/SpinGroups.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/SpinGroups.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// SpinGroups wrapper +void wrapSpinGroups(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::SpinGroups; + + // create the component + python::class_ component( + module, + "SpinGroups", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("spin_group"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "spin_group", + python::overload_cast<>(&Component::spinGroup), + Component::documentation("spin_group").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/TabulatedWidths.python.cpp b/python/src/v2.0/resonances/TabulatedWidths.python.cpp new file mode 100644 index 000000000..5b4c51036 --- /dev/null +++ b/python/src/v2.0/resonances/TabulatedWidths.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/TabulatedWidths.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// TabulatedWidths wrapper +void wrapTabulatedWidths(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::TabulatedWidths; + + // create the component + python::class_ component( + module, + "TabulatedWidths", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const std::optional &, + const resonances::Ls &, + const std::optional &, + const std::optional &, + const resonances::ResonanceReactions &, + const std::optional & + >(), + python::arg("approximation"), + python::arg("label"), + python::arg("use_for_self_shielding_only") = std::nullopt, + python::arg("ls"), + python::arg("po_ps") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("resonance_reactions"), + python::arg("scattering_radius") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "approximation", + &Component::approximation, + Component::documentation("approximation").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "use_for_self_shielding_only", + [](const Component &self) { return self.useForSelfShieldingOnly().value(); }, + Component::documentation("use_for_self_shielding_only").data() + ) + .def_property_readonly( + "ls", + python::overload_cast<>(&Component::Ls), + Component::documentation("ls").data() + ) + .def_property_readonly( + "po_ps", + python::overload_cast<>(&Component::PoPs), + Component::documentation("po_ps").data() + ) + .def_property_readonly( + "hard_sphere_radius", + python::overload_cast<>(&Component::hardSphereRadius), + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "resonance_reactions", + python::overload_cast<>(&Component::resonanceReactions), + Component::documentation("resonance_reactions").data() + ) + .def_property_readonly( + "scattering_radius", + python::overload_cast<>(&Component::scatteringRadius), + Component::documentation("scattering_radius").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Unresolved.python.cpp b/python/src/v2.0/resonances/Unresolved.python.cpp new file mode 100644 index 000000000..04c0afd0a --- /dev/null +++ b/python/src/v2.0/resonances/Unresolved.python.cpp @@ -0,0 +1,85 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Unresolved.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Unresolved wrapper +void wrapUnresolved(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Unresolved; + using _t = std::variant< + resonances::TabulatedWidths + >; + + // create the component + python::class_ component( + module, + "Unresolved", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const XMLName &, + const _t & + >(), + python::arg("domain_max"), + python::arg("domain_min"), + python::arg("domain_unit"), + python::arg("_tabulated_widths"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_unit", + &Component::domainUnit, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "tabulated_widths", + python::overload_cast<>(&Component::tabulatedWidths), + Component::documentation("tabulated_widths").data() + ) + .def_property_readonly( + "_tabulated_widths", + python::overload_cast<>(&Component::_tabulatedWidths), + Component::documentation("_tabulated_widths").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Width.python.cpp b/python/src/v2.0/resonances/Width.python.cpp new file mode 100644 index 000000000..e13ecc14b --- /dev/null +++ b/python/src/v2.0/resonances/Width.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Width.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Width wrapper +void wrapWidth(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Width; + + // create the component + python::class_ component( + module, + "Width", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const std::string &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("degrees_of_freedom"), + python::arg("resonance_reaction"), + python::arg("xys1d") = std::nullopt, + python::arg("constant1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "degrees_of_freedom", + &Component::degreesOfFreedom, + Component::documentation("degrees_of_freedom").data() + ) + .def_property_readonly( + "resonance_reaction", + &Component::resonanceReaction, + Component::documentation("resonance_reaction").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "constant1d", + python::overload_cast<>(&Component::constant1d), + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/resonances/Widths.python.cpp b/python/src/v2.0/resonances/Widths.python.cpp new file mode 100644 index 000000000..600eeb8c6 --- /dev/null +++ b/python/src/v2.0/resonances/Widths.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/resonances/Widths.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Widths wrapper +void wrapWidths(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = resonances::Widths; + + // create the component + python::class_ component( + module, + "Widths", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("width"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "width", + python::overload_cast<>(&Component::width), + Component::documentation("width").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles.python.cpp b/python/src/v2.0/styles.python.cpp new file mode 100644 index 000000000..f5c4c5579 --- /dev/null +++ b/python/src/v2.0/styles.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// styles declarations +namespace python_styles { + void wrapMonteCarlo_cdf(python::module &); + void wrapSnElasticUpScatter(python::module &); + void wrapURR_probabilityTables(python::module &); + void wrapTemperature(python::module &); + void wrapAngularDistributionReconstructed(python::module &); + void wrapAverageProductData(python::module &); + void wrapCrossSectionReconstructed(python::module &); + void wrapProjectileEnergyDomain(python::module &); + void wrapEvaluated(python::module &); + void wrapGriddedCrossSection(python::module &); + void wrapHeated(python::module &); + void wrapFlux(python::module &); + void wrapInverseSpeed(python::module &); + void wrapMultiGroup(python::module &); + void wrapTransportable(python::module &); + void wrapTransportables(python::module &); + void wrapHeatedMultiGroup(python::module &); + void wrapStyles(python::module &); + void wrapSigmaZeros(python::module &); + void wrapBondarenko(python::module &); + void wrapCoulombPlusNuclearElasticMuCutoff(python::module &); + void wrapEqualProbableBins(python::module &); + void wrapMultiBand(python::module &); + void wrapRealization(python::module &); +} // namespace python_styles + +// styles wrapper +void wrapStyles(python::module &module) +{ + // create the styles submodule + python::module submodule = module.def_submodule( + "styles", + "GNDS v2.0 styles" + ); + + // wrap styles components + python_styles::wrapMonteCarlo_cdf(submodule); + python_styles::wrapSnElasticUpScatter(submodule); + python_styles::wrapURR_probabilityTables(submodule); + python_styles::wrapTemperature(submodule); + python_styles::wrapAngularDistributionReconstructed(submodule); + python_styles::wrapAverageProductData(submodule); + python_styles::wrapCrossSectionReconstructed(submodule); + python_styles::wrapProjectileEnergyDomain(submodule); + python_styles::wrapEvaluated(submodule); + python_styles::wrapGriddedCrossSection(submodule); + python_styles::wrapHeated(submodule); + python_styles::wrapFlux(submodule); + python_styles::wrapInverseSpeed(submodule); + python_styles::wrapMultiGroup(submodule); + python_styles::wrapTransportable(submodule); + python_styles::wrapTransportables(submodule); + python_styles::wrapHeatedMultiGroup(submodule); + python_styles::wrapStyles(submodule); + python_styles::wrapSigmaZeros(submodule); + python_styles::wrapBondarenko(submodule); + python_styles::wrapCoulombPlusNuclearElasticMuCutoff(submodule); + python_styles::wrapEqualProbableBins(submodule); + python_styles::wrapMultiBand(submodule); + python_styles::wrapRealization(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp b/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp new file mode 100644 index 000000000..c9a3a2e8a --- /dev/null +++ b/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/AngularDistributionReconstructed.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// AngularDistributionReconstructed wrapper +void wrapAngularDistributionReconstructed(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::AngularDistributionReconstructed; + + // create the component + python::class_ component( + module, + "AngularDistributionReconstructed", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from") = std::nullopt, + python::arg("label"), + python::arg("documentation") = std::nullopt, + python::arg("temperature") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::documentation), + Component::documentation("documentation").data() + ) + .def_property_readonly( + "temperature", + python::overload_cast<>(&Component::temperature), + Component::documentation("temperature").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/AverageProductData.python.cpp b/python/src/v2.0/styles/AverageProductData.python.cpp new file mode 100644 index 000000000..03d4b62a2 --- /dev/null +++ b/python/src/v2.0/styles/AverageProductData.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/AverageProductData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// AverageProductData wrapper +void wrapAverageProductData(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::AverageProductData; + + // create the component + python::class_ component( + module, + "AverageProductData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::optional &, + const XMLName &, + const std::optional &, + const styles::Temperature & + >(), + python::arg("date"), + python::arg("derived_from") = std::nullopt, + python::arg("label"), + python::arg("documentation") = std::nullopt, + python::arg("temperature"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::documentation), + Component::documentation("documentation").data() + ) + .def_property_readonly( + "temperature", + python::overload_cast<>(&Component::temperature), + Component::documentation("temperature").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Bondarenko.python.cpp b/python/src/v2.0/styles/Bondarenko.python.cpp new file mode 100644 index 000000000..30a6fa1a8 --- /dev/null +++ b/python/src/v2.0/styles/Bondarenko.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Bondarenko.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Bondarenko wrapper +void wrapBondarenko(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Bondarenko; + + // create the component + python::class_ component( + module, + "Bondarenko", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const styles::SigmaZeros & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("sigma_zeros"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "sigma_zeros", + python::overload_cast<>(&Component::sigmaZeros), + Component::documentation("sigma_zeros").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp b/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp new file mode 100644 index 000000000..e4622931d --- /dev/null +++ b/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// CoulombPlusNuclearElasticMuCutoff wrapper +void wrapCoulombPlusNuclearElasticMuCutoff(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::CoulombPlusNuclearElasticMuCutoff; + + // create the component + python::class_ component( + module, + "CoulombPlusNuclearElasticMuCutoff", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const Float64 & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("mu_cutoff"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "mu_cutoff", + &Component::muCutoff, + Component::documentation("mu_cutoff").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp b/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp new file mode 100644 index 000000000..1db6c7ac6 --- /dev/null +++ b/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/CrossSectionReconstructed.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// CrossSectionReconstructed wrapper +void wrapCrossSectionReconstructed(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::CrossSectionReconstructed; + + // create the component + python::class_ component( + module, + "CrossSectionReconstructed", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from") = std::nullopt, + python::arg("label"), + python::arg("documentation") = std::nullopt, + python::arg("temperature") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::documentation), + Component::documentation("documentation").data() + ) + .def_property_readonly( + "temperature", + python::overload_cast<>(&Component::temperature), + Component::documentation("temperature").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/EqualProbableBins.python.cpp b/python/src/v2.0/styles/EqualProbableBins.python.cpp new file mode 100644 index 000000000..df16e13e1 --- /dev/null +++ b/python/src/v2.0/styles/EqualProbableBins.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/EqualProbableBins.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// EqualProbableBins wrapper +void wrapEqualProbableBins(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::EqualProbableBins; + + // create the component + python::class_ component( + module, + "EqualProbableBins", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const Integer32 & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("number_of_bins"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "number_of_bins", + &Component::numberOfBins, + Component::documentation("number_of_bins").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Evaluated.python.cpp b/python/src/v2.0/styles/Evaluated.python.cpp new file mode 100644 index 000000000..5ab94ce77 --- /dev/null +++ b/python/src/v2.0/styles/Evaluated.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Evaluated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Evaluated wrapper +void wrapEvaluated(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Evaluated; + + // create the component + python::class_ component( + module, + "Evaluated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::optional &, + const XMLName &, + const XMLName &, + const XMLName &, + const documentation::Documentation &, + const styles::ProjectileEnergyDomain &, + const styles::Temperature & + >(), + python::arg("date"), + python::arg("derived_from") = std::nullopt, + python::arg("label"), + python::arg("library"), + python::arg("version"), + python::arg("documentation"), + python::arg("projectile_energy_domain"), + python::arg("temperature"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "library", + &Component::library, + Component::documentation("library").data() + ) + .def_property_readonly( + "version", + &Component::version, + Component::documentation("version").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::documentation), + Component::documentation("documentation").data() + ) + .def_property_readonly( + "projectile_energy_domain", + python::overload_cast<>(&Component::projectileEnergyDomain), + Component::documentation("projectile_energy_domain").data() + ) + .def_property_readonly( + "temperature", + python::overload_cast<>(&Component::temperature), + Component::documentation("temperature").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Flux.python.cpp b/python/src/v2.0/styles/Flux.python.cpp new file mode 100644 index 000000000..b3ae3c56b --- /dev/null +++ b/python/src/v2.0/styles/Flux.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Flux.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Flux wrapper +void wrapFlux(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Flux; + + // create the component + python::class_ component( + module, + "Flux", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const containers::XYs2d & + >(), + python::arg("label"), + python::arg("xys2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/GriddedCrossSection.python.cpp b/python/src/v2.0/styles/GriddedCrossSection.python.cpp new file mode 100644 index 000000000..ef820b753 --- /dev/null +++ b/python/src/v2.0/styles/GriddedCrossSection.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/GriddedCrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// GriddedCrossSection wrapper +void wrapGriddedCrossSection(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::GriddedCrossSection; + + // create the component + python::class_ component( + module, + "GriddedCrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const std::optional &, + const containers::Grid & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("documentation") = std::nullopt, + python::arg("grid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::documentation), + Component::documentation("documentation").data() + ) + .def_property_readonly( + "grid", + python::overload_cast<>(&Component::grid), + Component::documentation("grid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Heated.python.cpp b/python/src/v2.0/styles/Heated.python.cpp new file mode 100644 index 000000000..441634058 --- /dev/null +++ b/python/src/v2.0/styles/Heated.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Heated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Heated wrapper +void wrapHeated(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Heated; + + // create the component + python::class_ component( + module, + "Heated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const std::optional &, + const styles::Temperature & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("documentation") = std::nullopt, + python::arg("temperature"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::documentation), + Component::documentation("documentation").data() + ) + .def_property_readonly( + "temperature", + python::overload_cast<>(&Component::temperature), + Component::documentation("temperature").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/HeatedMultiGroup.python.cpp b/python/src/v2.0/styles/HeatedMultiGroup.python.cpp new file mode 100644 index 000000000..697ac825d --- /dev/null +++ b/python/src/v2.0/styles/HeatedMultiGroup.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/HeatedMultiGroup.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// HeatedMultiGroup wrapper +void wrapHeatedMultiGroup(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::HeatedMultiGroup; + + // create the component + python::class_ component( + module, + "HeatedMultiGroup", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const styles::Flux &, + const styles::InverseSpeed &, + const styles::Transportables & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("flux"), + python::arg("inverse_speed"), + python::arg("transportables"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "flux", + python::overload_cast<>(&Component::flux), + Component::documentation("flux").data() + ) + .def_property_readonly( + "inverse_speed", + python::overload_cast<>(&Component::inverseSpeed), + Component::documentation("inverse_speed").data() + ) + .def_property_readonly( + "transportables", + python::overload_cast<>(&Component::transportables), + Component::documentation("transportables").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/InverseSpeed.python.cpp b/python/src/v2.0/styles/InverseSpeed.python.cpp new file mode 100644 index 000000000..7db133cf2 --- /dev/null +++ b/python/src/v2.0/styles/InverseSpeed.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/InverseSpeed.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// InverseSpeed wrapper +void wrapInverseSpeed(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::InverseSpeed; + + // create the component + python::class_ component( + module, + "InverseSpeed", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Gridded1d & + >(), + python::arg("gridded1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "gridded1d", + python::overload_cast<>(&Component::gridded1d), + Component::documentation("gridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp b/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp new file mode 100644 index 000000000..f0703b286 --- /dev/null +++ b/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/MonteCarlo_cdf.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// MonteCarlo_cdf wrapper +void wrapMonteCarlo_cdf(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::MonteCarlo_cdf; + + // create the component + python::class_ component( + module, + "MonteCarlo_cdf", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + python::overload_cast<>(&Component::documentation), + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/MultiBand.python.cpp b/python/src/v2.0/styles/MultiBand.python.cpp new file mode 100644 index 000000000..43d105fdc --- /dev/null +++ b/python/src/v2.0/styles/MultiBand.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/MultiBand.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// MultiBand wrapper +void wrapMultiBand(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::MultiBand; + + // create the component + python::class_ component( + module, + "MultiBand", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const Integer32 & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("number_of_bands"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "number_of_bands", + &Component::numberOfBands, + Component::documentation("number_of_bands").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/MultiGroup.python.cpp b/python/src/v2.0/styles/MultiGroup.python.cpp new file mode 100644 index 000000000..e3a092d98 --- /dev/null +++ b/python/src/v2.0/styles/MultiGroup.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/MultiGroup.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// MultiGroup wrapper +void wrapMultiGroup(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::MultiGroup; + + // create the component + python::class_ component( + module, + "MultiGroup", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const containers::Grid & + >(), + python::arg("label"), + python::arg("grid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "grid", + python::overload_cast<>(&Component::grid), + Component::documentation("grid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp b/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp new file mode 100644 index 000000000..c8adcba22 --- /dev/null +++ b/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/ProjectileEnergyDomain.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// ProjectileEnergyDomain wrapper +void wrapProjectileEnergyDomain(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::ProjectileEnergyDomain; + + // create the component + python::class_ component( + module, + "ProjectileEnergyDomain", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const XMLName & + >(), + python::arg("max"), + python::arg("min"), + python::arg("unit"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "max", + &Component::max, + Component::documentation("max").data() + ) + .def_property_readonly( + "min", + &Component::min, + Component::documentation("min").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Realization.python.cpp b/python/src/v2.0/styles/Realization.python.cpp new file mode 100644 index 000000000..10891198d --- /dev/null +++ b/python/src/v2.0/styles/Realization.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Realization.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Realization wrapper +void wrapRealization(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Realization; + + // create the component + python::class_ component( + module, + "Realization", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/SigmaZeros.python.cpp b/python/src/v2.0/styles/SigmaZeros.python.cpp new file mode 100644 index 000000000..6deba6699 --- /dev/null +++ b/python/src/v2.0/styles/SigmaZeros.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/SigmaZeros.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// SigmaZeros wrapper +void wrapSigmaZeros(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::SigmaZeros; + + // create the component + python::class_ component( + module, + "SigmaZeros", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Values & + >(), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "values", + python::overload_cast<>(&Component::values), + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/SnElasticUpScatter.python.cpp b/python/src/v2.0/styles/SnElasticUpScatter.python.cpp new file mode 100644 index 000000000..a83a391d1 --- /dev/null +++ b/python/src/v2.0/styles/SnElasticUpScatter.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/SnElasticUpScatter.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// SnElasticUpScatter wrapper +void wrapSnElasticUpScatter(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::SnElasticUpScatter; + + // create the component + python::class_ component( + module, + "SnElasticUpScatter", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("upper_calculated_group") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "upper_calculated_group", + &Component::upperCalculatedGroup, + Component::documentation("upper_calculated_group").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Styles.python.cpp b/python/src/v2.0/styles/Styles.python.cpp new file mode 100644 index 000000000..5ff95939e --- /dev/null +++ b/python/src/v2.0/styles/Styles.python.cpp @@ -0,0 +1,119 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Styles.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Styles wrapper +void wrapStyles(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Styles; + + // create the component + python::class_ component( + module, + "Styles", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> & + >(), + python::arg("monte_carlo_cdf") = std::nullopt, + python::arg("sn_elastic_up_scatter") = std::nullopt, + python::arg("urr_probability_tables") = std::nullopt, + python::arg("angular_distribution_reconstructed") = std::nullopt, + python::arg("average_product_data") = std::nullopt, + python::arg("cross_section_reconstructed") = std::nullopt, + python::arg("evaluated") = std::nullopt, + python::arg("gridded_cross_section") = std::nullopt, + python::arg("heated") = std::nullopt, + python::arg("heated_multi_group") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "monte_carlo_cdf", + python::overload_cast<>(&Component::MonteCarlo_cdf), + Component::documentation("monte_carlo_cdf").data() + ) + .def_property_readonly( + "sn_elastic_up_scatter", + python::overload_cast<>(&Component::SnElasticUpScatter), + Component::documentation("sn_elastic_up_scatter").data() + ) + .def_property_readonly( + "urr_probability_tables", + python::overload_cast<>(&Component::URR_probabilityTables), + Component::documentation("urr_probability_tables").data() + ) + .def_property_readonly( + "angular_distribution_reconstructed", + python::overload_cast<>(&Component::angularDistributionReconstructed), + Component::documentation("angular_distribution_reconstructed").data() + ) + .def_property_readonly( + "average_product_data", + python::overload_cast<>(&Component::averageProductData), + Component::documentation("average_product_data").data() + ) + .def_property_readonly( + "cross_section_reconstructed", + python::overload_cast<>(&Component::crossSectionReconstructed), + Component::documentation("cross_section_reconstructed").data() + ) + .def_property_readonly( + "evaluated", + python::overload_cast<>(&Component::evaluated), + Component::documentation("evaluated").data() + ) + .def_property_readonly( + "gridded_cross_section", + python::overload_cast<>(&Component::griddedCrossSection), + Component::documentation("gridded_cross_section").data() + ) + .def_property_readonly( + "heated", + python::overload_cast<>(&Component::heated), + Component::documentation("heated").data() + ) + .def_property_readonly( + "heated_multi_group", + python::overload_cast<>(&Component::heatedMultiGroup), + Component::documentation("heated_multi_group").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Temperature.python.cpp b/python/src/v2.0/styles/Temperature.python.cpp new file mode 100644 index 000000000..06a717973 --- /dev/null +++ b/python/src/v2.0/styles/Temperature.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Temperature.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Temperature wrapper +void wrapTemperature(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Temperature; + + // create the component + python::class_ component( + module, + "Temperature", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Transportable.python.cpp b/python/src/v2.0/styles/Transportable.python.cpp new file mode 100644 index 000000000..24207c559 --- /dev/null +++ b/python/src/v2.0/styles/Transportable.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Transportable.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Transportable wrapper +void wrapTransportable(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Transportable; + + // create the component + python::class_ component( + module, + "Transportable", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const styles::MultiGroup & + >(), + python::arg("conserve") = std::nullopt, + python::arg("label"), + python::arg("multi_group"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "conserve", + [](const Component &self) { return self.conserve().value(); }, + Component::documentation("conserve").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "multi_group", + python::overload_cast<>(&Component::multiGroup), + Component::documentation("multi_group").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/Transportables.python.cpp b/python/src/v2.0/styles/Transportables.python.cpp new file mode 100644 index 000000000..931542f2d --- /dev/null +++ b/python/src/v2.0/styles/Transportables.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/Transportables.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Transportables wrapper +void wrapTransportables(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::Transportables; + + // create the component + python::class_ component( + module, + "Transportables", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("transportable"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "transportable", + python::overload_cast<>(&Component::transportable), + Component::documentation("transportable").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/styles/URR_probabilityTables.python.cpp b/python/src/v2.0/styles/URR_probabilityTables.python.cpp new file mode 100644 index 000000000..8a5dd6701 --- /dev/null +++ b/python/src/v2.0/styles/URR_probabilityTables.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/styles/URR_probabilityTables.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// URR_probabilityTables wrapper +void wrapURR_probabilityTables(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = styles::URR_probabilityTables; + + // create the component + python::class_ component( + module, + "URR_probabilityTables", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + &Component::date, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + &Component::derivedFrom, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport.python.cpp b/python/src/v2.0/transport.python.cpp new file mode 100644 index 000000000..53bade5a8 --- /dev/null +++ b/python/src/v2.0/transport.python.cpp @@ -0,0 +1,145 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// transport declarations +namespace python_transport { + void wrapURR_probabilityTables1d(python::module &); + void wrapReference(python::module &); + void wrapFastRegion(python::module &); + void wrapResolvedRegion(python::module &); + void wrapUnresolvedRegion(python::module &); + void wrapBackground(python::module &); + void wrapResonances(python::module &); + void wrapResonancesWithBackground(python::module &); + void wrapCrossSection(python::module &); + void wrapA(python::module &); + void wrapF(python::module &); + void wrapR(python::module &); + void wrapKalbachMann(python::module &); + void wrapAngularEnergy(python::module &); + void wrapForward(python::module &); + void wrapIsotropic2d(python::module &); + void wrapAngular(python::module &); + void wrapRecoil(python::module &); + void wrapAngularTwoBody(python::module &); + void wrapBranching3d(python::module &); + void wrapEnergyAngular(python::module &); + void wrapNBodyPhaseSpace(python::module &); + void wrapU(python::module &); + void wrapDiscreteGamma(python::module &); + void wrapTheta(python::module &); + void wrapEvaporation(python::module &); + void wrapG(python::module &); + void wrapGeneralEvaporation(python::module &); + void wrapPrimaryGamma(python::module &); + void wrapWeighted(python::module &); + void wrapWeightedFunctionals(python::module &); + void wrapEnergy(python::module &); + void wrapUncorrelated(python::module &); + void wrapUnspecified(python::module &); + void wrapDistribution(python::module &); + void wrapBranching1d(python::module &); + void wrapMultiplicity(python::module &); + void wrapOutputChannel(python::module &); + void wrapAdd(python::module &); + void wrapCoherentPhoton(python::module &); + void wrapSummands(python::module &); + void wrapCrossSectionSum(python::module &); + void wrapCrossSectionSums(python::module &); + void wrapDoubleDifferentialCrossSection(python::module &); + void wrapIncoherentPhoton(python::module &); + void wrapReaction(python::module &); + void wrapIncompleteReactions(python::module &); + void wrapScatteringMatrix(python::module &); + void wrapMultiplicitySum(python::module &); + void wrapMultiplicitySums(python::module &); + void wrapOrphanProduct(python::module &); + void wrapOrphanProducts(python::module &); + void wrapPhotonEmissionProbabilities(python::module &); + void wrapProduction(python::module &); + void wrapProductions(python::module &); + void wrapReactions(python::module &); + void wrapSums(python::module &); + void wrapReactionSuite(python::module &); +} // namespace python_transport + +// transport wrapper +void wrapTransport(python::module &module) +{ + // create the transport submodule + python::module submodule = module.def_submodule( + "transport", + "GNDS v2.0 transport" + ); + + // wrap transport components + python_transport::wrapURR_probabilityTables1d(submodule); + python_transport::wrapReference(submodule); + python_transport::wrapFastRegion(submodule); + python_transport::wrapResolvedRegion(submodule); + python_transport::wrapUnresolvedRegion(submodule); + python_transport::wrapBackground(submodule); + python_transport::wrapResonances(submodule); + python_transport::wrapResonancesWithBackground(submodule); + python_transport::wrapCrossSection(submodule); + python_transport::wrapA(submodule); + python_transport::wrapF(submodule); + python_transport::wrapR(submodule); + python_transport::wrapKalbachMann(submodule); + python_transport::wrapAngularEnergy(submodule); + python_transport::wrapForward(submodule); + python_transport::wrapIsotropic2d(submodule); + python_transport::wrapAngular(submodule); + python_transport::wrapRecoil(submodule); + python_transport::wrapAngularTwoBody(submodule); + python_transport::wrapBranching3d(submodule); + python_transport::wrapEnergyAngular(submodule); + python_transport::wrapNBodyPhaseSpace(submodule); + python_transport::wrapU(submodule); + python_transport::wrapDiscreteGamma(submodule); + python_transport::wrapTheta(submodule); + python_transport::wrapEvaporation(submodule); + python_transport::wrapG(submodule); + python_transport::wrapGeneralEvaporation(submodule); + python_transport::wrapPrimaryGamma(submodule); + python_transport::wrapWeighted(submodule); + python_transport::wrapWeightedFunctionals(submodule); + python_transport::wrapEnergy(submodule); + python_transport::wrapUncorrelated(submodule); + python_transport::wrapUnspecified(submodule); + python_transport::wrapDistribution(submodule); + python_transport::wrapBranching1d(submodule); + python_transport::wrapMultiplicity(submodule); + python_transport::wrapOutputChannel(submodule); + python_transport::wrapAdd(submodule); + python_transport::wrapCoherentPhoton(submodule); + python_transport::wrapSummands(submodule); + python_transport::wrapCrossSectionSum(submodule); + python_transport::wrapCrossSectionSums(submodule); + python_transport::wrapDoubleDifferentialCrossSection(submodule); + python_transport::wrapIncoherentPhoton(submodule); + python_transport::wrapReaction(submodule); + python_transport::wrapIncompleteReactions(submodule); + python_transport::wrapScatteringMatrix(submodule); + python_transport::wrapMultiplicitySum(submodule); + python_transport::wrapMultiplicitySums(submodule); + python_transport::wrapOrphanProduct(submodule); + python_transport::wrapOrphanProducts(submodule); + python_transport::wrapPhotonEmissionProbabilities(submodule); + python_transport::wrapProduction(submodule); + python_transport::wrapProductions(submodule); + python_transport::wrapReactions(submodule); + python_transport::wrapSums(submodule); + python_transport::wrapReactionSuite(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/A.python.cpp b/python/src/v2.0/transport/A.python.cpp new file mode 100644 index 000000000..60c61bd74 --- /dev/null +++ b/python/src/v2.0/transport/A.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/A.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// A wrapper +void wrapA(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::A; + using _t = std::variant< + containers::XYs2d, + containers::Regions2d + >; + + // create the component + python::class_ component( + module, + "A", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys2dregions2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "_xys2dregions2d", + python::overload_cast<>(&Component::_XYs2dregions2d), + Component::documentation("_xys2dregions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Add.python.cpp b/python/src/v2.0/transport/Add.python.cpp new file mode 100644 index 000000000..1623dff81 --- /dev/null +++ b/python/src/v2.0/transport/Add.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Add.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Add wrapper +void wrapAdd(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Add; + + // create the component + python::class_ component( + module, + "Add", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Angular.python.cpp b/python/src/v2.0/transport/Angular.python.cpp new file mode 100644 index 000000000..07e7e8343 --- /dev/null +++ b/python/src/v2.0/transport/Angular.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Angular.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Angular wrapper +void wrapAngular(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Angular; + + // create the component + python::class_ component( + module, + "Angular", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("forward") = std::nullopt, + python::arg("isotropic2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "forward", + python::overload_cast<>(&Component::forward), + Component::documentation("forward").data() + ) + .def_property_readonly( + "isotropic2d", + python::overload_cast<>(&Component::isotropic2d), + Component::documentation("isotropic2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/AngularEnergy.python.cpp b/python/src/v2.0/transport/AngularEnergy.python.cpp new file mode 100644 index 000000000..f1da46bc8 --- /dev/null +++ b/python/src/v2.0/transport/AngularEnergy.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/AngularEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// AngularEnergy wrapper +void wrapAngularEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::AngularEnergy; + + // create the component + python::class_ component( + module, + "AngularEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const containers::XYs3d & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("xys3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "xys3d", + python::overload_cast<>(&Component::XYs3d), + Component::documentation("xys3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/AngularTwoBody.python.cpp b/python/src/v2.0/transport/AngularTwoBody.python.cpp new file mode 100644 index 000000000..e09c8cb35 --- /dev/null +++ b/python/src/v2.0/transport/AngularTwoBody.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/AngularTwoBody.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// AngularTwoBody wrapper +void wrapAngularTwoBody(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::AngularTwoBody; + + // create the component + python::class_ component( + module, + "AngularTwoBody", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + python::arg("xys2d") = std::nullopt, + python::arg("isotropic2d") = std::nullopt, + python::arg("recoil") = std::nullopt, + python::arg("regions2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "isotropic2d", + python::overload_cast<>(&Component::isotropic2d), + Component::documentation("isotropic2d").data() + ) + .def_property_readonly( + "recoil", + python::overload_cast<>(&Component::recoil), + Component::documentation("recoil").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Background.python.cpp b/python/src/v2.0/transport/Background.python.cpp new file mode 100644 index 000000000..2ab924517 --- /dev/null +++ b/python/src/v2.0/transport/Background.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Background.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Background wrapper +void wrapBackground(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Background; + + // create the component + python::class_ component( + module, + "Background", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("fast_region") = std::nullopt, + python::arg("resolved_region") = std::nullopt, + python::arg("unresolved_region") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "fast_region", + python::overload_cast<>(&Component::fastRegion), + Component::documentation("fast_region").data() + ) + .def_property_readonly( + "resolved_region", + python::overload_cast<>(&Component::resolvedRegion), + Component::documentation("resolved_region").data() + ) + .def_property_readonly( + "unresolved_region", + python::overload_cast<>(&Component::unresolvedRegion), + Component::documentation("unresolved_region").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Branching1d.python.cpp b/python/src/v2.0/transport/Branching1d.python.cpp new file mode 100644 index 000000000..f3c25b174 --- /dev/null +++ b/python/src/v2.0/transport/Branching1d.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Branching1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Branching1d wrapper +void wrapBranching1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Branching1d; + + // create the component + python::class_ component( + module, + "Branching1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName & + >(), + python::arg("label"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Branching3d.python.cpp b/python/src/v2.0/transport/Branching3d.python.cpp new file mode 100644 index 000000000..eefec1d26 --- /dev/null +++ b/python/src/v2.0/transport/Branching3d.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Branching3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Branching3d wrapper +void wrapBranching3d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Branching3d; + + // create the component + python::class_ component( + module, + "Branching3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("label"), + python::arg("product_frame"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/CoherentPhoton.python.cpp b/python/src/v2.0/transport/CoherentPhoton.python.cpp new file mode 100644 index 000000000..85f4f8cd0 --- /dev/null +++ b/python/src/v2.0/transport/CoherentPhoton.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/CoherentPhoton.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// CoherentPhoton wrapper +void wrapCoherentPhoton(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::CoherentPhoton; + + // create the component + python::class_ component( + module, + "CoherentPhoton", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/CrossSection.python.cpp b/python/src/v2.0/transport/CrossSection.python.cpp new file mode 100644 index 000000000..5e615e550 --- /dev/null +++ b/python/src/v2.0/transport/CrossSection.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/CrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// CrossSection wrapper +void wrapCrossSection(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::CrossSection; + using _t = std::variant< + cpTransport::CoulombPlusNuclearElastic, + transport::URR_probabilityTables1d, + containers::XYs1d, + containers::Ys1d, + containers::Gridded1d, + transport::Reference, + containers::Regions1d, + transport::ResonancesWithBackground, + tsl::ThermalNeutronScatteringLaw1d + >; + + // create the component + python::class_ component( + module, + "CrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_coulomb_plus_nuclear_elastic_urr_probability_tables1d_xys1d_ys1dgridded1dreferenceregions1dresonances_with_backgroundthermal_neutron_scattering_law1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic", + python::overload_cast<>(&Component::CoulombPlusNuclearElastic), + Component::documentation("coulomb_plus_nuclear_elastic").data() + ) + .def_property_readonly( + "urr_probability_tables1d", + python::overload_cast<>(&Component::URR_probabilityTables1d), + Component::documentation("urr_probability_tables1d").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "ys1d", + python::overload_cast<>(&Component::Ys1d), + Component::documentation("ys1d").data() + ) + .def_property_readonly( + "gridded1d", + python::overload_cast<>(&Component::gridded1d), + Component::documentation("gridded1d").data() + ) + .def_property_readonly( + "reference", + python::overload_cast<>(&Component::reference), + Component::documentation("reference").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "resonances_with_background", + python::overload_cast<>(&Component::resonancesWithBackground), + Component::documentation("resonances_with_background").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law1d", + python::overload_cast<>(&Component::thermalNeutronScatteringLaw1d), + Component::documentation("thermal_neutron_scattering_law1d").data() + ) + .def_property_readonly( + "_coulomb_plus_nuclear_elastic_urr_probability_tables1d_xys1d_ys1dgridded1dreferenceregions1dresonances_with_backgroundthermal_neutron_scattering_law1d", + python::overload_cast<>(&Component::_CoulombPlusNuclearElasticURR_probabilityTables1dXYs1dYs1dgridded1dreferenceregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1d), + Component::documentation("_coulomb_plus_nuclear_elastic_urr_probability_tables1d_xys1d_ys1dgridded1dreferenceregions1dresonances_with_backgroundthermal_neutron_scattering_law1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/CrossSectionSum.python.cpp b/python/src/v2.0/transport/CrossSectionSum.python.cpp new file mode 100644 index 000000000..9c854ce01 --- /dev/null +++ b/python/src/v2.0/transport/CrossSectionSum.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/CrossSectionSum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// CrossSectionSum wrapper +void wrapCrossSectionSum(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::CrossSectionSum; + + // create the component + python::class_ component( + module, + "CrossSectionSum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const ambiguousNamespace::Q &, + const transport::CrossSection &, + const transport::Summands & + >(), + python::arg("endf_mt") = std::nullopt, + python::arg("label"), + python::arg("q"), + python::arg("cross_section"), + python::arg("summands"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + &Component::ENDF_MT, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "q", + python::overload_cast<>(&Component::Q), + Component::documentation("q").data() + ) + .def_property_readonly( + "cross_section", + python::overload_cast<>(&Component::crossSection), + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "summands", + python::overload_cast<>(&Component::summands), + Component::documentation("summands").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/CrossSectionSums.python.cpp b/python/src/v2.0/transport/CrossSectionSums.python.cpp new file mode 100644 index 000000000..e531b6ed3 --- /dev/null +++ b/python/src/v2.0/transport/CrossSectionSums.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/CrossSectionSums.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// CrossSectionSums wrapper +void wrapCrossSectionSums(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::CrossSectionSums; + + // create the component + python::class_ component( + module, + "CrossSectionSums", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("cross_section_sum") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "cross_section_sum", + python::overload_cast<>(&Component::crossSectionSum), + Component::documentation("cross_section_sum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/DiscreteGamma.python.cpp b/python/src/v2.0/transport/DiscreteGamma.python.cpp new file mode 100644 index 000000000..145f3b5f1 --- /dev/null +++ b/python/src/v2.0/transport/DiscreteGamma.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/DiscreteGamma.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// DiscreteGamma wrapper +void wrapDiscreteGamma(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::DiscreteGamma; + + // create the component + python::class_ component( + module, + "DiscreteGamma", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("domain_max") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("axes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Distribution.python.cpp b/python/src/v2.0/transport/Distribution.python.cpp new file mode 100644 index 000000000..83219eb78 --- /dev/null +++ b/python/src/v2.0/transport/Distribution.python.cpp @@ -0,0 +1,148 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Distribution.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Distribution wrapper +void wrapDistribution(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Distribution; + using _t = std::variant< + cpTransport::CoulombPlusNuclearElastic, + transport::KalbachMann, + transport::AngularEnergy, + processed::AngularEnergyMC, + transport::AngularTwoBody, + transport::Branching3d, + atomic::CoherentPhotonScattering, + transport::EnergyAngular, + processed::EnergyAngularMC, + atomic::IncoherentPhotonScattering, + processed::MultiGroup3d, + transport::Reference, + tsl::ThermalNeutronScatteringLaw, + transport::Uncorrelated, + transport::Unspecified + >; + + // create the component + python::class_ component( + module, + "Distribution", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_coulomb_plus_nuclear_elastic_kalbach_mannangular_energyangular_energy_mcangular_two_bodybranching3dcoherent_photon_scatteringenergy_angularenergy_angular_mcincoherent_photon_scatteringmulti_group3dreferencethermal_neutron_scattering_lawuncorrelatedunspecified"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic", + python::overload_cast<>(&Component::CoulombPlusNuclearElastic), + Component::documentation("coulomb_plus_nuclear_elastic").data() + ) + .def_property_readonly( + "kalbach_mann", + python::overload_cast<>(&Component::KalbachMann), + Component::documentation("kalbach_mann").data() + ) + .def_property_readonly( + "angular_energy", + python::overload_cast<>(&Component::angularEnergy), + Component::documentation("angular_energy").data() + ) + .def_property_readonly( + "angular_energy_mc", + python::overload_cast<>(&Component::angularEnergyMC), + Component::documentation("angular_energy_mc").data() + ) + .def_property_readonly( + "angular_two_body", + python::overload_cast<>(&Component::angularTwoBody), + Component::documentation("angular_two_body").data() + ) + .def_property_readonly( + "branching3d", + python::overload_cast<>(&Component::branching3d), + Component::documentation("branching3d").data() + ) + .def_property_readonly( + "coherent_photon_scattering", + python::overload_cast<>(&Component::coherentPhotonScattering), + Component::documentation("coherent_photon_scattering").data() + ) + .def_property_readonly( + "energy_angular", + python::overload_cast<>(&Component::energyAngular), + Component::documentation("energy_angular").data() + ) + .def_property_readonly( + "energy_angular_mc", + python::overload_cast<>(&Component::energyAngularMC), + Component::documentation("energy_angular_mc").data() + ) + .def_property_readonly( + "incoherent_photon_scattering", + python::overload_cast<>(&Component::incoherentPhotonScattering), + Component::documentation("incoherent_photon_scattering").data() + ) + .def_property_readonly( + "multi_group3d", + python::overload_cast<>(&Component::multiGroup3d), + Component::documentation("multi_group3d").data() + ) + .def_property_readonly( + "reference", + python::overload_cast<>(&Component::reference), + Component::documentation("reference").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law", + python::overload_cast<>(&Component::thermalNeutronScatteringLaw), + Component::documentation("thermal_neutron_scattering_law").data() + ) + .def_property_readonly( + "uncorrelated", + python::overload_cast<>(&Component::uncorrelated), + Component::documentation("uncorrelated").data() + ) + .def_property_readonly( + "unspecified", + python::overload_cast<>(&Component::unspecified), + Component::documentation("unspecified").data() + ) + .def_property_readonly( + "_coulomb_plus_nuclear_elastic_kalbach_mannangular_energyangular_energy_mcangular_two_bodybranching3dcoherent_photon_scatteringenergy_angularenergy_angular_mcincoherent_photon_scatteringmulti_group3dreferencethermal_neutron_scattering_lawuncorrelatedunspecified", + python::overload_cast<>(&Component::_CoulombPlusNuclearElasticKalbachMannangularEnergyangularEnergyMCangularTwoBodybranching3dcoherentPhotonScatteringenergyAngularenergyAngularMCincoherentPhotonScatteringmultiGroup3dreferencethermalNeutronScatteringLawuncorrelatedunspecified), + Component::documentation("_coulomb_plus_nuclear_elastic_kalbach_mannangular_energyangular_energy_mcangular_two_bodybranching3dcoherent_photon_scatteringenergy_angularenergy_angular_mcincoherent_photon_scatteringmulti_group3dreferencethermal_neutron_scattering_lawuncorrelatedunspecified").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp b/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp new file mode 100644 index 000000000..8681a6a4b --- /dev/null +++ b/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/DoubleDifferentialCrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// DoubleDifferentialCrossSection wrapper +void wrapDoubleDifferentialCrossSection(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::DoubleDifferentialCrossSection; + + // create the component + python::class_ component( + module, + "DoubleDifferentialCrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("coulomb_plus_nuclear_elastic") = std::nullopt, + python::arg("xys3d") = std::nullopt, + python::arg("coherent_photon_scattering") = std::nullopt, + python::arg("incoherent_photon_scattering") = std::nullopt, + python::arg("reference") = std::nullopt, + python::arg("regions3d") = std::nullopt, + python::arg("thermal_neutron_scattering_law_coherent_elastic") = std::nullopt, + python::arg("thermal_neutron_scattering_law_incoherent_elastic") = std::nullopt, + python::arg("thermal_neutron_scattering_law_incoherent_inelastic") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic", + python::overload_cast<>(&Component::CoulombPlusNuclearElastic), + Component::documentation("coulomb_plus_nuclear_elastic").data() + ) + .def_property_readonly( + "xys3d", + python::overload_cast<>(&Component::XYs3d), + Component::documentation("xys3d").data() + ) + .def_property_readonly( + "coherent_photon_scattering", + python::overload_cast<>(&Component::coherentPhotonScattering), + Component::documentation("coherent_photon_scattering").data() + ) + .def_property_readonly( + "incoherent_photon_scattering", + python::overload_cast<>(&Component::incoherentPhotonScattering), + Component::documentation("incoherent_photon_scattering").data() + ) + .def_property_readonly( + "reference", + python::overload_cast<>(&Component::reference), + Component::documentation("reference").data() + ) + .def_property_readonly( + "regions3d", + python::overload_cast<>(&Component::regions3d), + Component::documentation("regions3d").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law_coherent_elastic", + python::overload_cast<>(&Component::thermalNeutronScatteringLaw_coherentElastic), + Component::documentation("thermal_neutron_scattering_law_coherent_elastic").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law_incoherent_elastic", + python::overload_cast<>(&Component::thermalNeutronScatteringLaw_incoherentElastic), + Component::documentation("thermal_neutron_scattering_law_incoherent_elastic").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law_incoherent_inelastic", + python::overload_cast<>(&Component::thermalNeutronScatteringLaw_incoherentInelastic), + Component::documentation("thermal_neutron_scattering_law_incoherent_inelastic").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Energy.python.cpp b/python/src/v2.0/transport/Energy.python.cpp new file mode 100644 index 000000000..09b70c1fb --- /dev/null +++ b/python/src/v2.0/transport/Energy.python.cpp @@ -0,0 +1,126 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Energy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Energy wrapper +void wrapEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Energy; + + // create the component + python::class_ component( + module, + "Energy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("madland_nix") = std::nullopt, + python::arg("nbody_phase_space") = std::nullopt, + python::arg("watt") = std::nullopt, + python::arg("xys2d") = std::nullopt, + python::arg("discrete_gamma") = std::nullopt, + python::arg("evaporation") = std::nullopt, + python::arg("general_evaporation") = std::nullopt, + python::arg("primary_gamma") = std::nullopt, + python::arg("regions2d") = std::nullopt, + python::arg("simple_maxwellian_fission") = std::nullopt, + python::arg("weighted_functionals") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "madland_nix", + python::overload_cast<>(&Component::MadlandNix), + Component::documentation("madland_nix").data() + ) + .def_property_readonly( + "nbody_phase_space", + python::overload_cast<>(&Component::NBodyPhaseSpace), + Component::documentation("nbody_phase_space").data() + ) + .def_property_readonly( + "watt", + python::overload_cast<>(&Component::Watt), + Component::documentation("watt").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "discrete_gamma", + python::overload_cast<>(&Component::discreteGamma), + Component::documentation("discrete_gamma").data() + ) + .def_property_readonly( + "evaporation", + python::overload_cast<>(&Component::evaporation), + Component::documentation("evaporation").data() + ) + .def_property_readonly( + "general_evaporation", + python::overload_cast<>(&Component::generalEvaporation), + Component::documentation("general_evaporation").data() + ) + .def_property_readonly( + "primary_gamma", + python::overload_cast<>(&Component::primaryGamma), + Component::documentation("primary_gamma").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "simple_maxwellian_fission", + python::overload_cast<>(&Component::simpleMaxwellianFission), + Component::documentation("simple_maxwellian_fission").data() + ) + .def_property_readonly( + "weighted_functionals", + python::overload_cast<>(&Component::weightedFunctionals), + Component::documentation("weighted_functionals").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/EnergyAngular.python.cpp b/python/src/v2.0/transport/EnergyAngular.python.cpp new file mode 100644 index 000000000..d2aa88a20 --- /dev/null +++ b/python/src/v2.0/transport/EnergyAngular.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/EnergyAngular.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// EnergyAngular wrapper +void wrapEnergyAngular(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::EnergyAngular; + + // create the component + python::class_ component( + module, + "EnergyAngular", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const containers::XYs3d & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + python::arg("xys3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "xys3d", + python::overload_cast<>(&Component::XYs3d), + Component::documentation("xys3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Evaporation.python.cpp b/python/src/v2.0/transport/Evaporation.python.cpp new file mode 100644 index 000000000..605387707 --- /dev/null +++ b/python/src/v2.0/transport/Evaporation.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Evaporation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Evaporation wrapper +void wrapEvaporation(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Evaporation; + + // create the component + python::class_ component( + module, + "Evaporation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("u") = std::nullopt, + python::arg("theta") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "u", + python::overload_cast<>(&Component::U), + Component::documentation("u").data() + ) + .def_property_readonly( + "theta", + python::overload_cast<>(&Component::theta), + Component::documentation("theta").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/F.python.cpp b/python/src/v2.0/transport/F.python.cpp new file mode 100644 index 000000000..6307bdef5 --- /dev/null +++ b/python/src/v2.0/transport/F.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/F.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// F wrapper +void wrapF(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::F; + using _t = std::variant< + containers::XYs2d, + containers::Regions2d + >; + + // create the component + python::class_ component( + module, + "F", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys2dregions2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "_xys2dregions2d", + python::overload_cast<>(&Component::_XYs2dregions2d), + Component::documentation("_xys2dregions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/FastRegion.python.cpp b/python/src/v2.0/transport/FastRegion.python.cpp new file mode 100644 index 000000000..52f50bfe5 --- /dev/null +++ b/python/src/v2.0/transport/FastRegion.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/FastRegion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// FastRegion wrapper +void wrapFastRegion(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::FastRegion; + using _t = std::variant< + containers::XYs1d, + containers::Regions1d + >; + + // create the component + python::class_ component( + module, + "FastRegion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dregions1d", + python::overload_cast<>(&Component::_XYs1dregions1d), + Component::documentation("_xys1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Forward.python.cpp b/python/src/v2.0/transport/Forward.python.cpp new file mode 100644 index 000000000..cba675358 --- /dev/null +++ b/python/src/v2.0/transport/Forward.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Forward.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Forward wrapper +void wrapForward(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Forward; + + // create the component + python::class_ component( + module, + "Forward", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/G.python.cpp b/python/src/v2.0/transport/G.python.cpp new file mode 100644 index 000000000..f01d26ee9 --- /dev/null +++ b/python/src/v2.0/transport/G.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/G.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// G wrapper +void wrapG(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::G; + + // create the component + python::class_ component( + module, + "G", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/GeneralEvaporation.python.cpp b/python/src/v2.0/transport/GeneralEvaporation.python.cpp new file mode 100644 index 000000000..001e45abe --- /dev/null +++ b/python/src/v2.0/transport/GeneralEvaporation.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/GeneralEvaporation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// GeneralEvaporation wrapper +void wrapGeneralEvaporation(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::GeneralEvaporation; + + // create the component + python::class_ component( + module, + "GeneralEvaporation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("u") = std::nullopt, + python::arg("g") = std::nullopt, + python::arg("theta") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "u", + python::overload_cast<>(&Component::U), + Component::documentation("u").data() + ) + .def_property_readonly( + "g", + python::overload_cast<>(&Component::g), + Component::documentation("g").data() + ) + .def_property_readonly( + "theta", + python::overload_cast<>(&Component::theta), + Component::documentation("theta").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/IncoherentPhoton.python.cpp b/python/src/v2.0/transport/IncoherentPhoton.python.cpp new file mode 100644 index 000000000..3c34ab939 --- /dev/null +++ b/python/src/v2.0/transport/IncoherentPhoton.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/IncoherentPhoton.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// IncoherentPhoton wrapper +void wrapIncoherentPhoton(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::IncoherentPhoton; + + // create the component + python::class_ component( + module, + "IncoherentPhoton", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/IncompleteReactions.python.cpp b/python/src/v2.0/transport/IncompleteReactions.python.cpp new file mode 100644 index 000000000..e397cd3b5 --- /dev/null +++ b/python/src/v2.0/transport/IncompleteReactions.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/IncompleteReactions.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// IncompleteReactions wrapper +void wrapIncompleteReactions(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::IncompleteReactions; + + // create the component + python::class_ component( + module, + "IncompleteReactions", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("reaction") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "reaction", + python::overload_cast<>(&Component::reaction), + Component::documentation("reaction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Isotropic2d.python.cpp b/python/src/v2.0/transport/Isotropic2d.python.cpp new file mode 100644 index 000000000..63326d8f1 --- /dev/null +++ b/python/src/v2.0/transport/Isotropic2d.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Isotropic2d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Isotropic2d wrapper +void wrapIsotropic2d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Isotropic2d; + + // create the component + python::class_ component( + module, + "Isotropic2d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/KalbachMann.python.cpp b/python/src/v2.0/transport/KalbachMann.python.cpp new file mode 100644 index 000000000..d141645b8 --- /dev/null +++ b/python/src/v2.0/transport/KalbachMann.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/KalbachMann.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// KalbachMann wrapper +void wrapKalbachMann(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::KalbachMann; + + // create the component + python::class_ component( + module, + "KalbachMann", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const std::optional &, + const transport::F &, + const transport::R & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + python::arg("a") = std::nullopt, + python::arg("f"), + python::arg("r"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "a", + python::overload_cast<>(&Component::a), + Component::documentation("a").data() + ) + .def_property_readonly( + "f", + python::overload_cast<>(&Component::f), + Component::documentation("f").data() + ) + .def_property_readonly( + "r", + python::overload_cast<>(&Component::r), + Component::documentation("r").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Multiplicity.python.cpp b/python/src/v2.0/transport/Multiplicity.python.cpp new file mode 100644 index 000000000..53eb0807f --- /dev/null +++ b/python/src/v2.0/transport/Multiplicity.python.cpp @@ -0,0 +1,100 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Multiplicity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Multiplicity wrapper +void wrapMultiplicity(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Multiplicity; + using _t = std::variant< + containers::XYs1d, + transport::Branching1d, + containers::Constant1d, + containers::Gridded1d, + containers::Polynomial1d, + transport::Reference, + containers::Regions1d + >; + + // create the component + python::class_ component( + module, + "Multiplicity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dbranching1dconstant1dgridded1dpolynomial1dreferenceregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "branching1d", + python::overload_cast<>(&Component::branching1d), + Component::documentation("branching1d").data() + ) + .def_property_readonly( + "constant1d", + python::overload_cast<>(&Component::constant1d), + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "gridded1d", + python::overload_cast<>(&Component::gridded1d), + Component::documentation("gridded1d").data() + ) + .def_property_readonly( + "polynomial1d", + python::overload_cast<>(&Component::polynomial1d), + Component::documentation("polynomial1d").data() + ) + .def_property_readonly( + "reference", + python::overload_cast<>(&Component::reference), + Component::documentation("reference").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dbranching1dconstant1dgridded1dpolynomial1dreferenceregions1d", + python::overload_cast<>(&Component::_XYs1dbranching1dconstant1dgridded1dpolynomial1dreferenceregions1d), + Component::documentation("_xys1dbranching1dconstant1dgridded1dpolynomial1dreferenceregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/MultiplicitySum.python.cpp b/python/src/v2.0/transport/MultiplicitySum.python.cpp new file mode 100644 index 000000000..9e0b388b9 --- /dev/null +++ b/python/src/v2.0/transport/MultiplicitySum.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/MultiplicitySum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// MultiplicitySum wrapper +void wrapMultiplicitySum(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::MultiplicitySum; + + // create the component + python::class_ component( + module, + "MultiplicitySum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const transport::Multiplicity &, + const transport::Summands & + >(), + python::arg("endf_mt") = std::nullopt, + python::arg("label"), + python::arg("multiplicity"), + python::arg("summands"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + &Component::ENDF_MT, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "multiplicity", + python::overload_cast<>(&Component::multiplicity), + Component::documentation("multiplicity").data() + ) + .def_property_readonly( + "summands", + python::overload_cast<>(&Component::summands), + Component::documentation("summands").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/MultiplicitySums.python.cpp b/python/src/v2.0/transport/MultiplicitySums.python.cpp new file mode 100644 index 000000000..8b069fddf --- /dev/null +++ b/python/src/v2.0/transport/MultiplicitySums.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/MultiplicitySums.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// MultiplicitySums wrapper +void wrapMultiplicitySums(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::MultiplicitySums; + + // create the component + python::class_ component( + module, + "MultiplicitySums", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("multiplicity_sum") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "multiplicity_sum", + python::overload_cast<>(&Component::multiplicitySum), + Component::documentation("multiplicity_sum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp b/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp new file mode 100644 index 000000000..e0e5c4c8b --- /dev/null +++ b/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/NBodyPhaseSpace.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// NBodyPhaseSpace wrapper +void wrapNBodyPhaseSpace(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::NBodyPhaseSpace; + + // create the component + python::class_ component( + module, + "NBodyPhaseSpace", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("number_of_products") = std::nullopt, + python::arg("mass") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "number_of_products", + &Component::numberOfProducts, + Component::documentation("number_of_products").data() + ) + .def_property_readonly( + "mass", + python::overload_cast<>(&Component::mass), + Component::documentation("mass").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/OrphanProduct.python.cpp b/python/src/v2.0/transport/OrphanProduct.python.cpp new file mode 100644 index 000000000..3339c044a --- /dev/null +++ b/python/src/v2.0/transport/OrphanProduct.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/OrphanProduct.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// OrphanProduct wrapper +void wrapOrphanProduct(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::OrphanProduct; + + // create the component + python::class_ component( + module, + "OrphanProduct", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const XMLName &, + const transport::CrossSection &, + const transport::OutputChannel & + >(), + python::arg("endf_mt"), + python::arg("label"), + python::arg("cross_section"), + python::arg("output_channel"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + &Component::ENDF_MT, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "cross_section", + python::overload_cast<>(&Component::crossSection), + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "output_channel", + python::overload_cast<>(&Component::outputChannel), + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/OrphanProducts.python.cpp b/python/src/v2.0/transport/OrphanProducts.python.cpp new file mode 100644 index 000000000..04b5391cf --- /dev/null +++ b/python/src/v2.0/transport/OrphanProducts.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/OrphanProducts.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// OrphanProducts wrapper +void wrapOrphanProducts(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::OrphanProducts; + + // create the component + python::class_ component( + module, + "OrphanProducts", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("orphan_product"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "orphan_product", + python::overload_cast<>(&Component::orphanProduct), + Component::documentation("orphan_product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/OutputChannel.python.cpp b/python/src/v2.0/transport/OutputChannel.python.cpp new file mode 100644 index 000000000..c3d8aa5e7 --- /dev/null +++ b/python/src/v2.0/transport/OutputChannel.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/OutputChannel.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// OutputChannel wrapper +void wrapOutputChannel(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::OutputChannel; + + // create the component + python::class_ component( + module, + "OutputChannel", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("genre") = std::nullopt, + python::arg("process") = std::nullopt, + python::arg("q") = std::nullopt, + python::arg("fission_fragment_data") = std::nullopt, + python::arg("products") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "genre", + &Component::genre, + Component::documentation("genre").data() + ) + .def_property_readonly( + "process", + &Component::process, + Component::documentation("process").data() + ) + .def_property_readonly( + "q", + python::overload_cast<>(&Component::Q), + Component::documentation("q").data() + ) + .def_property_readonly( + "fission_fragment_data", + python::overload_cast<>(&Component::fissionFragmentData), + Component::documentation("fission_fragment_data").data() + ) + .def_property_readonly( + "products", + python::overload_cast<>(&Component::products), + Component::documentation("products").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp b/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp new file mode 100644 index 000000000..cd51af174 --- /dev/null +++ b/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/PhotonEmissionProbabilities.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// PhotonEmissionProbabilities wrapper +void wrapPhotonEmissionProbabilities(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::PhotonEmissionProbabilities; + + // create the component + python::class_ component( + module, + "PhotonEmissionProbabilities", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("shell") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "shell", + python::overload_cast<>(&Component::shell), + Component::documentation("shell").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/PrimaryGamma.python.cpp b/python/src/v2.0/transport/PrimaryGamma.python.cpp new file mode 100644 index 000000000..de933e85e --- /dev/null +++ b/python/src/v2.0/transport/PrimaryGamma.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/PrimaryGamma.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// PrimaryGamma wrapper +void wrapPrimaryGamma(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::PrimaryGamma; + + // create the component + python::class_ component( + module, + "PrimaryGamma", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("domain_max") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("final_state") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("axes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + &Component::domainMax, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + &Component::domainMin, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "final_state", + &Component::finalState, + Component::documentation("final_state").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + .def_property_readonly( + "axes", + python::overload_cast<>(&Component::axes), + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Production.python.cpp b/python/src/v2.0/transport/Production.python.cpp new file mode 100644 index 000000000..e25a0c975 --- /dev/null +++ b/python/src/v2.0/transport/Production.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Production.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Production wrapper +void wrapProduction(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Production; + + // create the component + python::class_ component( + module, + "Production", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mt") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("cross_section") = std::nullopt, + python::arg("output_channel") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + &Component::ENDF_MT, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "cross_section", + python::overload_cast<>(&Component::crossSection), + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "output_channel", + python::overload_cast<>(&Component::outputChannel), + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Productions.python.cpp b/python/src/v2.0/transport/Productions.python.cpp new file mode 100644 index 000000000..d1a2fc935 --- /dev/null +++ b/python/src/v2.0/transport/Productions.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Productions.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Productions wrapper +void wrapProductions(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Productions; + + // create the component + python::class_ component( + module, + "Productions", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("production") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "production", + python::overload_cast<>(&Component::production), + Component::documentation("production").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/R.python.cpp b/python/src/v2.0/transport/R.python.cpp new file mode 100644 index 000000000..2e7dce263 --- /dev/null +++ b/python/src/v2.0/transport/R.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/R.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// R wrapper +void wrapR(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::R; + using _t = std::variant< + containers::XYs2d, + containers::Regions2d + >; + + // create the component + python::class_ component( + module, + "R", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys2dregions2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "_xys2dregions2d", + python::overload_cast<>(&Component::_XYs2dregions2d), + Component::documentation("_xys2dregions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Reaction.python.cpp b/python/src/v2.0/transport/Reaction.python.cpp new file mode 100644 index 000000000..6414cc506 --- /dev/null +++ b/python/src/v2.0/transport/Reaction.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Reaction.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Reaction wrapper +void wrapReaction(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Reaction; + + // create the component + python::class_ component( + module, + "Reaction", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const std::optional &, + const XMLName &, + const transport::CrossSection &, + const std::optional &, + const transport::OutputChannel & + >(), + python::arg("endf_mt"), + python::arg("fission_genre") = std::nullopt, + python::arg("label"), + python::arg("cross_section"), + python::arg("double_differential_cross_section") = std::nullopt, + python::arg("output_channel"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + &Component::ENDF_MT, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "fission_genre", + &Component::fissionGenre, + Component::documentation("fission_genre").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "cross_section", + python::overload_cast<>(&Component::crossSection), + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "double_differential_cross_section", + python::overload_cast<>(&Component::doubleDifferentialCrossSection), + Component::documentation("double_differential_cross_section").data() + ) + .def_property_readonly( + "output_channel", + python::overload_cast<>(&Component::outputChannel), + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/ReactionSuite.python.cpp b/python/src/v2.0/transport/ReactionSuite.python.cpp new file mode 100644 index 000000000..12ea44914 --- /dev/null +++ b/python/src/v2.0/transport/ReactionSuite.python.cpp @@ -0,0 +1,168 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/ReactionSuite.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// ReactionSuite wrapper +void wrapReactionSuite(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::ReactionSuite; + + // create the component + python::class_ component( + module, + "ReactionSuite", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const enums::Interaction &, + const XMLName &, + const enums::Frame &, + const XMLName &, + const pops::PoPs &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const styles::Styles &, + const std::optional & + >(), + python::arg("evaluation"), + python::arg("format"), + python::arg("interaction"), + python::arg("projectile"), + python::arg("projectile_frame"), + python::arg("target"), + python::arg("po_ps"), + python::arg("application_data") = std::nullopt, + python::arg("external_files") = std::nullopt, + python::arg("fission_components") = std::nullopt, + python::arg("incomplete_reactions") = std::nullopt, + python::arg("orphan_products") = std::nullopt, + python::arg("productions") = std::nullopt, + python::arg("reactions") = std::nullopt, + python::arg("resonances") = std::nullopt, + python::arg("styles"), + python::arg("sums") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "evaluation", + &Component::evaluation, + Component::documentation("evaluation").data() + ) + .def_property_readonly( + "format", + &Component::format, + Component::documentation("format").data() + ) + .def_property_readonly( + "interaction", + &Component::interaction, + Component::documentation("interaction").data() + ) + .def_property_readonly( + "projectile", + &Component::projectile, + Component::documentation("projectile").data() + ) + .def_property_readonly( + "projectile_frame", + &Component::projectileFrame, + Component::documentation("projectile_frame").data() + ) + .def_property_readonly( + "target", + &Component::target, + Component::documentation("target").data() + ) + .def_property_readonly( + "po_ps", + python::overload_cast<>(&Component::PoPs), + Component::documentation("po_ps").data() + ) + .def_property_readonly( + "application_data", + python::overload_cast<>(&Component::applicationData), + Component::documentation("application_data").data() + ) + .def_property_readonly( + "external_files", + python::overload_cast<>(&Component::externalFiles), + Component::documentation("external_files").data() + ) + .def_property_readonly( + "fission_components", + python::overload_cast<>(&Component::fissionComponents), + Component::documentation("fission_components").data() + ) + .def_property_readonly( + "incomplete_reactions", + python::overload_cast<>(&Component::incompleteReactions), + Component::documentation("incomplete_reactions").data() + ) + .def_property_readonly( + "orphan_products", + python::overload_cast<>(&Component::orphanProducts), + Component::documentation("orphan_products").data() + ) + .def_property_readonly( + "productions", + python::overload_cast<>(&Component::productions), + Component::documentation("productions").data() + ) + .def_property_readonly( + "reactions", + python::overload_cast<>(&Component::reactions), + Component::documentation("reactions").data() + ) + .def_property_readonly( + "resonances", + python::overload_cast<>(&Component::resonances), + Component::documentation("resonances").data() + ) + .def_property_readonly( + "styles", + python::overload_cast<>(&Component::styles), + Component::documentation("styles").data() + ) + .def_property_readonly( + "sums", + python::overload_cast<>(&Component::sums), + Component::documentation("sums").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Reactions.python.cpp b/python/src/v2.0/transport/Reactions.python.cpp new file mode 100644 index 000000000..4dff38fd6 --- /dev/null +++ b/python/src/v2.0/transport/Reactions.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Reactions.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Reactions wrapper +void wrapReactions(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Reactions; + + // create the component + python::class_ component( + module, + "Reactions", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("reaction"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "reaction", + python::overload_cast<>(&Component::reaction), + Component::documentation("reaction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Recoil.python.cpp b/python/src/v2.0/transport/Recoil.python.cpp new file mode 100644 index 000000000..fe73fd62e --- /dev/null +++ b/python/src/v2.0/transport/Recoil.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Recoil.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Recoil wrapper +void wrapRecoil(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Recoil; + + // create the component + python::class_ component( + module, + "Recoil", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string & + >(), + python::arg("href"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Reference.python.cpp b/python/src/v2.0/transport/Reference.python.cpp new file mode 100644 index 000000000..bd468c137 --- /dev/null +++ b/python/src/v2.0/transport/Reference.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Reference.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Reference wrapper +void wrapReference(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Reference; + + // create the component + python::class_ component( + module, + "Reference", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/ResolvedRegion.python.cpp b/python/src/v2.0/transport/ResolvedRegion.python.cpp new file mode 100644 index 000000000..f38517951 --- /dev/null +++ b/python/src/v2.0/transport/ResolvedRegion.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/ResolvedRegion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// ResolvedRegion wrapper +void wrapResolvedRegion(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::ResolvedRegion; + using _t = std::variant< + containers::XYs1d, + containers::Regions1d + >; + + // create the component + python::class_ component( + module, + "ResolvedRegion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dregions1d", + python::overload_cast<>(&Component::_XYs1dregions1d), + Component::documentation("_xys1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Resonances.python.cpp b/python/src/v2.0/transport/Resonances.python.cpp new file mode 100644 index 000000000..c1f2bca36 --- /dev/null +++ b/python/src/v2.0/transport/Resonances.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Resonances.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Resonances wrapper +void wrapResonances(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Resonances; + + // create the component + python::class_ component( + module, + "Resonances", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::optional & + >(), + python::arg("href"), + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/ResonancesWithBackground.python.cpp b/python/src/v2.0/transport/ResonancesWithBackground.python.cpp new file mode 100644 index 000000000..6c2e52104 --- /dev/null +++ b/python/src/v2.0/transport/ResonancesWithBackground.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/ResonancesWithBackground.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// ResonancesWithBackground wrapper +void wrapResonancesWithBackground(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::ResonancesWithBackground; + + // create the component + python::class_ component( + module, + "ResonancesWithBackground", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const transport::Background &, + const transport::Resonances &, + const std::optional & + >(), + python::arg("label"), + python::arg("background"), + python::arg("resonances"), + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "background", + python::overload_cast<>(&Component::background), + Component::documentation("background").data() + ) + .def_property_readonly( + "resonances", + python::overload_cast<>(&Component::resonances), + Component::documentation("resonances").data() + ) + .def_property_readonly( + "uncertainty", + python::overload_cast<>(&Component::uncertainty), + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/ScatteringMatrix.python.cpp b/python/src/v2.0/transport/ScatteringMatrix.python.cpp new file mode 100644 index 000000000..4c7139331 --- /dev/null +++ b/python/src/v2.0/transport/ScatteringMatrix.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/ScatteringMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// ScatteringMatrix wrapper +void wrapScatteringMatrix(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::ScatteringMatrix; + + // create the component + python::class_ component( + module, + "ScatteringMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const containers::Gridded3d & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("gridded3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "gridded3d", + python::overload_cast<>(&Component::gridded3d), + Component::documentation("gridded3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Summands.python.cpp b/python/src/v2.0/transport/Summands.python.cpp new file mode 100644 index 000000000..4367f562a --- /dev/null +++ b/python/src/v2.0/transport/Summands.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Summands.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Summands wrapper +void wrapSummands(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Summands; + + // create the component + python::class_ component( + module, + "Summands", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("add") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "add", + python::overload_cast<>(&Component::add), + Component::documentation("add").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Sums.python.cpp b/python/src/v2.0/transport/Sums.python.cpp new file mode 100644 index 000000000..257d47462 --- /dev/null +++ b/python/src/v2.0/transport/Sums.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Sums.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Sums wrapper +void wrapSums(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Sums; + + // create the component + python::class_ component( + module, + "Sums", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const transport::CrossSectionSums &, + const std::optional & + >(), + python::arg("cross_section_sums"), + python::arg("multiplicity_sums") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "cross_section_sums", + python::overload_cast<>(&Component::crossSectionSums), + Component::documentation("cross_section_sums").data() + ) + .def_property_readonly( + "multiplicity_sums", + python::overload_cast<>(&Component::multiplicitySums), + Component::documentation("multiplicity_sums").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Theta.python.cpp b/python/src/v2.0/transport/Theta.python.cpp new file mode 100644 index 000000000..274522a39 --- /dev/null +++ b/python/src/v2.0/transport/Theta.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Theta.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Theta wrapper +void wrapTheta(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Theta; + + // create the component + python::class_ component( + module, + "Theta", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/U.python.cpp b/python/src/v2.0/transport/U.python.cpp new file mode 100644 index 000000000..57b21127c --- /dev/null +++ b/python/src/v2.0/transport/U.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/U.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// U wrapper +void wrapU(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::U; + + // create the component + python::class_ component( + module, + "U", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp b/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp new file mode 100644 index 000000000..bd4bc6305 --- /dev/null +++ b/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/URR_probabilityTables1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// URR_probabilityTables1d wrapper +void wrapURR_probabilityTables1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::URR_probabilityTables1d; + using _t = std::variant< + containers::XYs2d, + containers::Regions2d + >; + + // create the component + python::class_ component( + module, + "URR_probabilityTables1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const _t & + >(), + python::arg("label"), + python::arg("_xys2dregions2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + python::overload_cast<>(&Component::regions2d), + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "_xys2dregions2d", + python::overload_cast<>(&Component::_XYs2dregions2d), + Component::documentation("_xys2dregions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Uncorrelated.python.cpp b/python/src/v2.0/transport/Uncorrelated.python.cpp new file mode 100644 index 000000000..776665628 --- /dev/null +++ b/python/src/v2.0/transport/Uncorrelated.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Uncorrelated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Uncorrelated wrapper +void wrapUncorrelated(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Uncorrelated; + + // create the component + python::class_ component( + module, + "Uncorrelated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const transport::Angular &, + const transport::Energy & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + python::arg("angular"), + python::arg("energy"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "angular", + python::overload_cast<>(&Component::angular), + Component::documentation("angular").data() + ) + .def_property_readonly( + "energy", + python::overload_cast<>(&Component::energy), + Component::documentation("energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/UnresolvedRegion.python.cpp b/python/src/v2.0/transport/UnresolvedRegion.python.cpp new file mode 100644 index 000000000..a8cf9ff51 --- /dev/null +++ b/python/src/v2.0/transport/UnresolvedRegion.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/UnresolvedRegion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// UnresolvedRegion wrapper +void wrapUnresolvedRegion(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::UnresolvedRegion; + using _t = std::variant< + containers::XYs1d, + containers::Regions1d + >; + + // create the component + python::class_ component( + module, + "UnresolvedRegion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + python::overload_cast<>(&Component::regions1d), + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dregions1d", + python::overload_cast<>(&Component::_XYs1dregions1d), + Component::documentation("_xys1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Unspecified.python.cpp b/python/src/v2.0/transport/Unspecified.python.cpp new file mode 100644 index 000000000..cbfad1442 --- /dev/null +++ b/python/src/v2.0/transport/Unspecified.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Unspecified.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Unspecified wrapper +void wrapUnspecified(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Unspecified; + + // create the component + python::class_ component( + module, + "Unspecified", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/Weighted.python.cpp b/python/src/v2.0/transport/Weighted.python.cpp new file mode 100644 index 000000000..342809cc7 --- /dev/null +++ b/python/src/v2.0/transport/Weighted.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/Weighted.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Weighted wrapper +void wrapWeighted(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::Weighted; + + // create the component + python::class_ component( + module, + "Weighted", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const containers::XYs1d &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("madland_nix") = std::nullopt, + python::arg("watt") = std::nullopt, + python::arg("xys1d"), + python::arg("xys2d") = std::nullopt, + python::arg("evaporation") = std::nullopt, + python::arg("general_evaporation") = std::nullopt, + python::arg("simple_maxwellian_fission") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "madland_nix", + python::overload_cast<>(&Component::MadlandNix), + Component::documentation("madland_nix").data() + ) + .def_property_readonly( + "watt", + python::overload_cast<>(&Component::Watt), + Component::documentation("watt").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "xys2d", + python::overload_cast<>(&Component::XYs2d), + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "evaporation", + python::overload_cast<>(&Component::evaporation), + Component::documentation("evaporation").data() + ) + .def_property_readonly( + "general_evaporation", + python::overload_cast<>(&Component::generalEvaporation), + Component::documentation("general_evaporation").data() + ) + .def_property_readonly( + "simple_maxwellian_fission", + python::overload_cast<>(&Component::simpleMaxwellianFission), + Component::documentation("simple_maxwellian_fission").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/transport/WeightedFunctionals.python.cpp b/python/src/v2.0/transport/WeightedFunctionals.python.cpp new file mode 100644 index 000000000..37993ba20 --- /dev/null +++ b/python/src/v2.0/transport/WeightedFunctionals.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/transport/WeightedFunctionals.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// WeightedFunctionals wrapper +void wrapWeightedFunctionals(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = transport::WeightedFunctionals; + + // create the component + python::class_ component( + module, + "WeightedFunctionals", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const transport::Weighted & + >(), + python::arg("weighted"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "weighted", + python::overload_cast<>(&Component::weighted), + Component::documentation("weighted").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl.python.cpp b/python/src/v2.0/tsl.python.cpp new file mode 100644 index 000000000..01ca73493 --- /dev/null +++ b/python/src/v2.0/tsl.python.cpp @@ -0,0 +1,75 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// tsl declarations +namespace python_tsl { + void wrapThermalNeutronScatteringLaw1d(python::module &); + void wrapThermalNeutronScatteringLaw(python::module &); + void wrapBraggEnergy(python::module &); + void wrapStructureFactor(python::module &); + void wrapBraggEdge(python::module &); + void wrapBraggEdges(python::module &); + void wrapS_table(python::module &); + void wrapThermalNeutronScatteringLaw_coherentElastic(python::module &); + void wrapDebyeWallerIntegral(python::module &); + void wrapBoundAtomCrossSection(python::module &); + void wrapThermalNeutronScatteringLaw_incoherentElastic(python::module &); + void wrapCoherentAtomCrossSection(python::module &); + void wrapDistinctScatteringKernel(python::module &); + void wrapE_critical(python::module &); + void wrapE_max(python::module &); + void wrapT_effective(python::module &); + void wrapSelfScatteringKernelSCTApproximation(python::module &); + void wrapPhononSpectrum(python::module &); + void wrapSelfScatteringKernelGaussianApproximation(python::module &); + void wrapSelfScatteringKernel(python::module &); + void wrapScatteringAtom(python::module &); + void wrapScatteringAtoms(python::module &); + void wrapThermalNeutronScatteringLaw_incoherentInelastic(python::module &); +} // namespace python_tsl + +// tsl wrapper +void wrapTsl(python::module &module) +{ + // create the tsl submodule + python::module submodule = module.def_submodule( + "tsl", + "GNDS v2.0 tsl" + ); + + // wrap tsl components + python_tsl::wrapThermalNeutronScatteringLaw1d(submodule); + python_tsl::wrapThermalNeutronScatteringLaw(submodule); + python_tsl::wrapBraggEnergy(submodule); + python_tsl::wrapStructureFactor(submodule); + python_tsl::wrapBraggEdge(submodule); + python_tsl::wrapBraggEdges(submodule); + python_tsl::wrapS_table(submodule); + python_tsl::wrapThermalNeutronScatteringLaw_coherentElastic(submodule); + python_tsl::wrapDebyeWallerIntegral(submodule); + python_tsl::wrapBoundAtomCrossSection(submodule); + python_tsl::wrapThermalNeutronScatteringLaw_incoherentElastic(submodule); + python_tsl::wrapCoherentAtomCrossSection(submodule); + python_tsl::wrapDistinctScatteringKernel(submodule); + python_tsl::wrapE_critical(submodule); + python_tsl::wrapE_max(submodule); + python_tsl::wrapT_effective(submodule); + python_tsl::wrapSelfScatteringKernelSCTApproximation(submodule); + python_tsl::wrapPhononSpectrum(submodule); + python_tsl::wrapSelfScatteringKernelGaussianApproximation(submodule); + python_tsl::wrapSelfScatteringKernel(submodule); + python_tsl::wrapScatteringAtom(submodule); + python_tsl::wrapScatteringAtoms(submodule); + python_tsl::wrapThermalNeutronScatteringLaw_incoherentInelastic(submodule); +}; + +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp b/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp new file mode 100644 index 000000000..d97759f20 --- /dev/null +++ b/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// BoundAtomCrossSection wrapper +void wrapBoundAtomCrossSection(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::BoundAtomCrossSection; + + // create the component + python::class_ component( + module, + "BoundAtomCrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/BraggEdge.python.cpp b/python/src/v2.0/tsl/BraggEdge.python.cpp new file mode 100644 index 000000000..47d7fcf04 --- /dev/null +++ b/python/src/v2.0/tsl/BraggEdge.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/BraggEdge.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// BraggEdge wrapper +void wrapBraggEdge(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::BraggEdge; + + // create the component + python::class_ component( + module, + "BraggEdge", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const tsl::BraggEnergy &, + const tsl::StructureFactor & + >(), + python::arg("label"), + python::arg("bragg_energy"), + python::arg("structure_factor"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "bragg_energy", + python::overload_cast<>(&Component::BraggEnergy), + Component::documentation("bragg_energy").data() + ) + .def_property_readonly( + "structure_factor", + python::overload_cast<>(&Component::structureFactor), + Component::documentation("structure_factor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/BraggEdges.python.cpp b/python/src/v2.0/tsl/BraggEdges.python.cpp new file mode 100644 index 000000000..4b77ce9b9 --- /dev/null +++ b/python/src/v2.0/tsl/BraggEdges.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/BraggEdges.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// BraggEdges wrapper +void wrapBraggEdges(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::BraggEdges; + + // create the component + python::class_ component( + module, + "BraggEdges", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("bragg_edge"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "bragg_edge", + python::overload_cast<>(&Component::BraggEdge), + Component::documentation("bragg_edge").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/BraggEnergy.python.cpp b/python/src/v2.0/tsl/BraggEnergy.python.cpp new file mode 100644 index 000000000..4c7ec4669 --- /dev/null +++ b/python/src/v2.0/tsl/BraggEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/BraggEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// BraggEnergy wrapper +void wrapBraggEnergy(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::BraggEnergy; + + // create the component + python::class_ component( + module, + "BraggEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp b/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp new file mode 100644 index 000000000..6b28d2e10 --- /dev/null +++ b/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// CoherentAtomCrossSection wrapper +void wrapCoherentAtomCrossSection(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::CoherentAtomCrossSection; + + // create the component + python::class_ component( + module, + "CoherentAtomCrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp b/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp new file mode 100644 index 000000000..d3a243c7e --- /dev/null +++ b/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/DebyeWallerIntegral.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// DebyeWallerIntegral wrapper +void wrapDebyeWallerIntegral(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::DebyeWallerIntegral; + + // create the component + python::class_ component( + module, + "DebyeWallerIntegral", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp b/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp new file mode 100644 index 000000000..9b6f5fb69 --- /dev/null +++ b/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// DistinctScatteringKernel wrapper +void wrapDistinctScatteringKernel(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::DistinctScatteringKernel; + + // create the component + python::class_ component( + module, + "DistinctScatteringKernel", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("gridded3d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "gridded3d", + python::overload_cast<>(&Component::gridded3d), + Component::documentation("gridded3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/E_critical.python.cpp b/python/src/v2.0/tsl/E_critical.python.cpp new file mode 100644 index 000000000..7fbfee12e --- /dev/null +++ b/python/src/v2.0/tsl/E_critical.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/E_critical.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// E_critical wrapper +void wrapE_critical(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::E_critical; + + // create the component + python::class_ component( + module, + "E_critical", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/E_max.python.cpp b/python/src/v2.0/tsl/E_max.python.cpp new file mode 100644 index 000000000..06d1cf6c8 --- /dev/null +++ b/python/src/v2.0/tsl/E_max.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/E_max.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// E_max wrapper +void wrapE_max(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::E_max; + + // create the component + python::class_ component( + module, + "E_max", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + &Component::unit, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + &Component::value, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/PhononSpectrum.python.cpp b/python/src/v2.0/tsl/PhononSpectrum.python.cpp new file mode 100644 index 000000000..d9c14c30c --- /dev/null +++ b/python/src/v2.0/tsl/PhononSpectrum.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/PhononSpectrum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// PhononSpectrum wrapper +void wrapPhononSpectrum(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::PhononSpectrum; + + // create the component + python::class_ component( + module, + "PhononSpectrum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/S_table.python.cpp b/python/src/v2.0/tsl/S_table.python.cpp new file mode 100644 index 000000000..45954234e --- /dev/null +++ b/python/src/v2.0/tsl/S_table.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/S_table.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// S_table wrapper +void wrapS_table(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::S_table; + + // create the component + python::class_ component( + module, + "S_table", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Gridded2d & + >(), + python::arg("gridded2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "gridded2d", + python::overload_cast<>(&Component::gridded2d), + Component::documentation("gridded2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/ScatteringAtom.python.cpp b/python/src/v2.0/tsl/ScatteringAtom.python.cpp new file mode 100644 index 000000000..f8781527e --- /dev/null +++ b/python/src/v2.0/tsl/ScatteringAtom.python.cpp @@ -0,0 +1,119 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/ScatteringAtom.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ScatteringAtom wrapper +void wrapScatteringAtom(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::ScatteringAtom; + + // create the component + python::class_ component( + module, + "ScatteringAtom", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const XMLName &, + const bool &, + const tsl::BoundAtomCrossSection &, + const std::optional &, + const std::optional &, + const std::optional &, + const tsl::E_max &, + const ambiguousNamespace::Mass &, + const tsl::SelfScatteringKernel & + >(), + python::arg("number_per_molecule"), + python::arg("pid"), + python::arg("primary_scatterer"), + python::arg("bound_atom_cross_section"), + python::arg("coherent_atom_cross_section") = std::nullopt, + python::arg("distinct_scattering_kernel") = std::nullopt, + python::arg("e_critical") = std::nullopt, + python::arg("e_max"), + python::arg("mass"), + python::arg("self_scattering_kernel"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "number_per_molecule", + &Component::numberPerMolecule, + Component::documentation("number_per_molecule").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "primary_scatterer", + &Component::primaryScatterer, + Component::documentation("primary_scatterer").data() + ) + .def_property_readonly( + "bound_atom_cross_section", + python::overload_cast<>(&Component::boundAtomCrossSection), + Component::documentation("bound_atom_cross_section").data() + ) + .def_property_readonly( + "coherent_atom_cross_section", + python::overload_cast<>(&Component::coherentAtomCrossSection), + Component::documentation("coherent_atom_cross_section").data() + ) + .def_property_readonly( + "distinct_scattering_kernel", + python::overload_cast<>(&Component::distinctScatteringKernel), + Component::documentation("distinct_scattering_kernel").data() + ) + .def_property_readonly( + "e_critical", + python::overload_cast<>(&Component::e_critical), + Component::documentation("e_critical").data() + ) + .def_property_readonly( + "e_max", + python::overload_cast<>(&Component::e_max), + Component::documentation("e_max").data() + ) + .def_property_readonly( + "mass", + python::overload_cast<>(&Component::mass), + Component::documentation("mass").data() + ) + .def_property_readonly( + "self_scattering_kernel", + python::overload_cast<>(&Component::selfScatteringKernel), + Component::documentation("self_scattering_kernel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/ScatteringAtoms.python.cpp b/python/src/v2.0/tsl/ScatteringAtoms.python.cpp new file mode 100644 index 000000000..af3eeefd7 --- /dev/null +++ b/python/src/v2.0/tsl/ScatteringAtoms.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/ScatteringAtoms.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ScatteringAtoms wrapper +void wrapScatteringAtoms(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::ScatteringAtoms; + + // create the component + python::class_ component( + module, + "ScatteringAtoms", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("scattering_atom"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "scattering_atom", + python::overload_cast<>(&Component::scatteringAtom), + Component::documentation("scattering_atom").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp b/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp new file mode 100644 index 000000000..10c15ff62 --- /dev/null +++ b/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/SelfScatteringKernel.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// SelfScatteringKernel wrapper +void wrapSelfScatteringKernel(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::SelfScatteringKernel; + using _t = std::variant< + containers::Gridded3d, + tsl::SelfScatteringKernelGaussianApproximation + >; + + // create the component + python::class_ component( + module, + "SelfScatteringKernel", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("symmetric") = std::nullopt, + python::arg("self_scattering_kernel_sctapproximation") = std::nullopt, + python::arg("_gridded3dself_scattering_kernel_gaussian_approximation"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "symmetric", + &Component::symmetric, + Component::documentation("symmetric").data() + ) + .def_property_readonly( + "self_scattering_kernel_sctapproximation", + python::overload_cast<>(&Component::selfScatteringKernelSCTApproximation), + Component::documentation("self_scattering_kernel_sctapproximation").data() + ) + .def_property_readonly( + "gridded3d", + python::overload_cast<>(&Component::gridded3d), + Component::documentation("gridded3d").data() + ) + .def_property_readonly( + "self_scattering_kernel_gaussian_approximation", + python::overload_cast<>(&Component::selfScatteringKernelGaussianApproximation), + Component::documentation("self_scattering_kernel_gaussian_approximation").data() + ) + .def_property_readonly( + "_gridded3dself_scattering_kernel_gaussian_approximation", + python::overload_cast<>(&Component::_gridded3dselfScatteringKernelGaussianApproximation), + Component::documentation("_gridded3dself_scattering_kernel_gaussian_approximation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/SelfScatteringKernelGaussianApproximation.python.cpp b/python/src/v2.0/tsl/SelfScatteringKernelGaussianApproximation.python.cpp new file mode 100644 index 000000000..f6aead58a --- /dev/null +++ b/python/src/v2.0/tsl/SelfScatteringKernelGaussianApproximation.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/SelfScatteringKernelGaussianApproximation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// SelfScatteringKernelGaussianApproximation wrapper +void wrapSelfScatteringKernelGaussianApproximation(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::SelfScatteringKernelGaussianApproximation; + + // create the component + python::class_ component( + module, + "SelfScatteringKernelGaussianApproximation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("phonon_spectrum") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "phonon_spectrum", + python::overload_cast<>(&Component::phononSpectrum), + Component::documentation("phonon_spectrum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/SelfScatteringKernelSCTApproximation.python.cpp b/python/src/v2.0/tsl/SelfScatteringKernelSCTApproximation.python.cpp new file mode 100644 index 000000000..a12063e2d --- /dev/null +++ b/python/src/v2.0/tsl/SelfScatteringKernelSCTApproximation.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/SelfScatteringKernelSCTApproximation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// SelfScatteringKernelSCTApproximation wrapper +void wrapSelfScatteringKernelSCTApproximation(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::SelfScatteringKernelSCTApproximation; + + // create the component + python::class_ component( + module, + "SelfScatteringKernelSCTApproximation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("t_effective") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "t_effective", + python::overload_cast<>(&Component::T_effective), + Component::documentation("t_effective").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/StructureFactor.python.cpp b/python/src/v2.0/tsl/StructureFactor.python.cpp new file mode 100644 index 000000000..df7c26894 --- /dev/null +++ b/python/src/v2.0/tsl/StructureFactor.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/StructureFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// StructureFactor wrapper +void wrapStructureFactor(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::StructureFactor; + + // create the component + python::class_ component( + module, + "StructureFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/T_effective.python.cpp b/python/src/v2.0/tsl/T_effective.python.cpp new file mode 100644 index 000000000..a39fdc9fd --- /dev/null +++ b/python/src/v2.0/tsl/T_effective.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/T_effective.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// T_effective wrapper +void wrapT_effective(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::T_effective; + + // create the component + python::class_ component( + module, + "T_effective", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + python::overload_cast<>(&Component::XYs1d), + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp new file mode 100644 index 000000000..6ad6cf54b --- /dev/null +++ b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw wrapper +void wrapThermalNeutronScatteringLaw(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("href"), + python::arg("label"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp new file mode 100644 index 000000000..551de2d7d --- /dev/null +++ b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw1d wrapper +void wrapThermalNeutronScatteringLaw1d(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw1d; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("href"), + python::arg("label"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + &Component::href, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp new file mode 100644 index 000000000..7589dd4f1 --- /dev/null +++ b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw_coherentElastic wrapper +void wrapThermalNeutronScatteringLaw_coherentElastic(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw_coherentElastic; + using _t = std::variant< + tsl::BraggEdges, + tsl::S_table + >; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw_coherentElastic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const enums::Frame &, + const _t & + >(), + python::arg("label"), + python::arg("pid"), + python::arg("product_frame"), + python::arg("_bragg_edges_s_table"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "bragg_edges", + python::overload_cast<>(&Component::BraggEdges), + Component::documentation("bragg_edges").data() + ) + .def_property_readonly( + "s_table", + python::overload_cast<>(&Component::S_table), + Component::documentation("s_table").data() + ) + .def_property_readonly( + "_bragg_edges_s_table", + python::overload_cast<>(&Component::_BraggEdgesS_table), + Component::documentation("_bragg_edges_s_table").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp new file mode 100644 index 000000000..54b3b5af3 --- /dev/null +++ b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw_incoherentElastic wrapper +void wrapThermalNeutronScatteringLaw_incoherentElastic(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw_incoherentElastic; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw_incoherentElastic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const enums::Frame &, + const tsl::DebyeWallerIntegral &, + const tsl::BoundAtomCrossSection & + >(), + python::arg("label"), + python::arg("pid"), + python::arg("product_frame"), + python::arg("debye_waller_integral"), + python::arg("bound_atom_cross_section"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "debye_waller_integral", + python::overload_cast<>(&Component::DebyeWallerIntegral), + Component::documentation("debye_waller_integral").data() + ) + .def_property_readonly( + "bound_atom_cross_section", + python::overload_cast<>(&Component::boundAtomCrossSection), + Component::documentation("bound_atom_cross_section").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp new file mode 100644 index 000000000..01fe70507 --- /dev/null +++ b/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw_incoherentInelastic wrapper +void wrapThermalNeutronScatteringLaw_incoherentInelastic(python::module &module) +{ + using namespace njoy::GNDStk; + using namespace njoy::GNDStk::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw_incoherentInelastic; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw_incoherentInelastic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const XMLName &, + const XMLName &, + const enums::Frame &, + const tsl::ScatteringAtoms & + >(), + python::arg("incoherent_approximation") = std::nullopt, + python::arg("label"), + python::arg("pid"), + python::arg("primary_scatterer"), + python::arg("product_frame"), + python::arg("scattering_atoms"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "incoherent_approximation", + [](const Component &self) { return self.incoherentApproximation().value(); }, + Component::documentation("incoherent_approximation").data() + ) + .def_property_readonly( + "label", + &Component::label, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + &Component::pid, + Component::documentation("pid").data() + ) + .def_property_readonly( + "primary_scatterer", + &Component::primaryScatterer, + Component::documentation("primary_scatterer").data() + ) + .def_property_readonly( + "product_frame", + &Component::productFrame, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "scattering_atoms", + python::overload_cast<>(&Component::scatteringAtoms), + Component::documentation("scattering_atoms").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/src/GNDStk/v2.0.hpp b/src/GNDStk/v2.0.hpp index a9ff8d87e..19e8146c2 100644 --- a/src/GNDStk/v2.0.hpp +++ b/src/GNDStk/v2.0.hpp @@ -5,6 +5,33 @@ #ifndef NJOY_GNDSTK_V2_0 #define NJOY_GNDSTK_V2_0 +#include "GNDStk/v2.0/abstract/Functional.hpp" +#include "GNDStk/v2.0/abstract/Label.hpp" +#include "GNDStk/v2.0/abstract/PhysicalQuantity.hpp" +#include "GNDStk/v2.0/abstract/Text.hpp" + +#include "GNDStk/v2.0/appData/ApplicationData.hpp" +#include "GNDStk/v2.0/appData/Conversion.hpp" +#include "GNDStk/v2.0/appData/ENDFconversionFlags.hpp" +#include "GNDStk/v2.0/appData/Institution.hpp" + +#include "GNDStk/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "GNDStk/v2.0/atomic/FormFactor.hpp" +#include "GNDStk/v2.0/atomic/ImaginaryAnomalousFactor.hpp" +#include "GNDStk/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "GNDStk/v2.0/atomic/RealAnomalousFactor.hpp" +#include "GNDStk/v2.0/atomic/ScatteringFactor.hpp" + +#include "GNDStk/v2.0/common/Energy.hpp" +#include "GNDStk/v2.0/common/ExternalFile.hpp" +#include "GNDStk/v2.0/common/ExternalFiles.hpp" +#include "GNDStk/v2.0/common/Mass.hpp" +#include "GNDStk/v2.0/common/Probability.hpp" +#include "GNDStk/v2.0/common/Product.hpp" +#include "GNDStk/v2.0/common/Products.hpp" +#include "GNDStk/v2.0/common/Q.hpp" +#include "GNDStk/v2.0/common/Temperature.hpp" + #include "GNDStk/v2.0/containers/Array.hpp" #include "GNDStk/v2.0/containers/Axes.hpp" #include "GNDStk/v2.0/containers/Axis.hpp" @@ -36,6 +63,296 @@ #include "GNDStk/v2.0/containers/XYs3d.hpp" #include "GNDStk/v2.0/containers/Ys1d.hpp" +#include "GNDStk/v2.0/covariance/AverageParameterCovariance.hpp" +#include "GNDStk/v2.0/covariance/ColumnData.hpp" +#include "GNDStk/v2.0/covariance/ColumnSensitivity.hpp" +#include "GNDStk/v2.0/covariance/Covariance.hpp" +#include "GNDStk/v2.0/covariance/CovarianceMatrix.hpp" +#include "GNDStk/v2.0/covariance/CovarianceSection.hpp" +#include "GNDStk/v2.0/covariance/CovarianceSections.hpp" +#include "GNDStk/v2.0/covariance/CovarianceSuite.hpp" +#include "GNDStk/v2.0/covariance/Mixed.hpp" +#include "GNDStk/v2.0/covariance/ParameterCovariancMatrix.hpp" +#include "GNDStk/v2.0/covariance/ParameterCovariance.hpp" +#include "GNDStk/v2.0/covariance/ParameterCovariances.hpp" +#include "GNDStk/v2.0/covariance/ParameterLink.hpp" +#include "GNDStk/v2.0/covariance/Parameters.hpp" +#include "GNDStk/v2.0/covariance/RowData.hpp" +#include "GNDStk/v2.0/covariance/RowSensitivity.hpp" +#include "GNDStk/v2.0/covariance/SandwichProduct.hpp" +#include "GNDStk/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "GNDStk/v2.0/covariance/Slice.hpp" +#include "GNDStk/v2.0/covariance/Slices.hpp" +#include "GNDStk/v2.0/covariance/Sum.hpp" +#include "GNDStk/v2.0/covariance/Summand.hpp" + +#include "GNDStk/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "GNDStk/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" +#include "GNDStk/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "GNDStk/v2.0/cpTransport/NuclearPlusInterference.hpp" +#include "GNDStk/v2.0/cpTransport/NuclearTerm.hpp" +#include "GNDStk/v2.0/cpTransport/RealInterferenceTerm.hpp" +#include "GNDStk/v2.0/cpTransport/RutherfordScattering.hpp" + +#include "GNDStk/v2.0/documentation/Acknowledgement.hpp" +#include "GNDStk/v2.0/documentation/Acknowledgements.hpp" +#include "GNDStk/v2.0/documentation/Affiliation.hpp" +#include "GNDStk/v2.0/documentation/Affiliations.hpp" +#include "GNDStk/v2.0/documentation/Author.hpp" +#include "GNDStk/v2.0/documentation/Authors.hpp" +#include "GNDStk/v2.0/documentation/Bibitem.hpp" +#include "GNDStk/v2.0/documentation/Bibliography.hpp" +#include "GNDStk/v2.0/documentation/CodeRepo.hpp" +#include "GNDStk/v2.0/documentation/Collaboration.hpp" +#include "GNDStk/v2.0/documentation/Collaborations.hpp" +#include "GNDStk/v2.0/documentation/ComputerCode.hpp" +#include "GNDStk/v2.0/documentation/ComputerCodes.hpp" +#include "GNDStk/v2.0/documentation/Contributor.hpp" +#include "GNDStk/v2.0/documentation/Contributors.hpp" +#include "GNDStk/v2.0/documentation/Copyright.hpp" +#include "GNDStk/v2.0/documentation/Date.hpp" +#include "GNDStk/v2.0/documentation/Dates.hpp" +#include "GNDStk/v2.0/documentation/Documentation.hpp" +#include "GNDStk/v2.0/documentation/ExforDataSet.hpp" +#include "GNDStk/v2.0/documentation/ExforDataSets.hpp" +#include "GNDStk/v2.0/documentation/ExperimentalDataSets.hpp" +#include "GNDStk/v2.0/documentation/InputDeck.hpp" +#include "GNDStk/v2.0/documentation/InputDecks.hpp" +#include "GNDStk/v2.0/documentation/Keyword.hpp" +#include "GNDStk/v2.0/documentation/Keywords.hpp" +#include "GNDStk/v2.0/documentation/OutputDeck.hpp" +#include "GNDStk/v2.0/documentation/OutputDecks.hpp" +#include "GNDStk/v2.0/documentation/RelatedItem.hpp" +#include "GNDStk/v2.0/documentation/RelatedItems.hpp" + +#include "GNDStk/v2.0/fissionFragmentData/DelayedNeutron.hpp" +#include "GNDStk/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "GNDStk/v2.0/fissionFragmentData/FissionFragmentData.hpp" +#include "GNDStk/v2.0/fissionFragmentData/Rate.hpp" + +#include "GNDStk/v2.0/fissionTransport/B.hpp" +#include "GNDStk/v2.0/fissionTransport/DelayedBetaEnergy.hpp" +#include "GNDStk/v2.0/fissionTransport/DelayedGammaEnergy.hpp" +#include "GNDStk/v2.0/fissionTransport/DelayedNeutronKE.hpp" +#include "GNDStk/v2.0/fissionTransport/EFH.hpp" +#include "GNDStk/v2.0/fissionTransport/EFL.hpp" +#include "GNDStk/v2.0/fissionTransport/FissionComponent.hpp" +#include "GNDStk/v2.0/fissionTransport/FissionComponents.hpp" +#include "GNDStk/v2.0/fissionTransport/FissionEnergyReleased.hpp" +#include "GNDStk/v2.0/fissionTransport/MadlandNix.hpp" +#include "GNDStk/v2.0/fissionTransport/NeutrinoEnergy.hpp" +#include "GNDStk/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "GNDStk/v2.0/fissionTransport/PromptGammaEnergy.hpp" +#include "GNDStk/v2.0/fissionTransport/PromptNeutronKE.hpp" +#include "GNDStk/v2.0/fissionTransport/PromptProductKE.hpp" +#include "GNDStk/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "GNDStk/v2.0/fissionTransport/T_M.hpp" +#include "GNDStk/v2.0/fissionTransport/TotalEnergy.hpp" +#include "GNDStk/v2.0/fissionTransport/Watt.hpp" + +#include "GNDStk/v2.0/fpy/ElapsedTime.hpp" +#include "GNDStk/v2.0/fpy/ElapsedTimes.hpp" +#include "GNDStk/v2.0/fpy/Energy.hpp" +#include "GNDStk/v2.0/fpy/IncidentEnergies.hpp" +#include "GNDStk/v2.0/fpy/IncidentEnergy.hpp" +#include "GNDStk/v2.0/fpy/Nuclides.hpp" +#include "GNDStk/v2.0/fpy/ProductYield.hpp" +#include "GNDStk/v2.0/fpy/ProductYields.hpp" +#include "GNDStk/v2.0/fpy/Time.hpp" +#include "GNDStk/v2.0/fpy/Yields.hpp" + +#include "GNDStk/v2.0/pops/Alias.hpp" +#include "GNDStk/v2.0/pops/Aliases.hpp" +#include "GNDStk/v2.0/pops/Atomic.hpp" +#include "GNDStk/v2.0/pops/AverageEnergies.hpp" +#include "GNDStk/v2.0/pops/AverageEnergy.hpp" +#include "GNDStk/v2.0/pops/Baryon.hpp" +#include "GNDStk/v2.0/pops/Baryons.hpp" +#include "GNDStk/v2.0/pops/BindingEnergy.hpp" +#include "GNDStk/v2.0/pops/Charge.hpp" +#include "GNDStk/v2.0/pops/ChemicalElement.hpp" +#include "GNDStk/v2.0/pops/ChemicalElements.hpp" +#include "GNDStk/v2.0/pops/Configuration.hpp" +#include "GNDStk/v2.0/pops/Configurations.hpp" +#include "GNDStk/v2.0/pops/Continuum.hpp" +#include "GNDStk/v2.0/pops/Decay.hpp" +#include "GNDStk/v2.0/pops/DecayData.hpp" +#include "GNDStk/v2.0/pops/DecayMode.hpp" +#include "GNDStk/v2.0/pops/DecayModes.hpp" +#include "GNDStk/v2.0/pops/DecayPath.hpp" +#include "GNDStk/v2.0/pops/Discrete.hpp" +#include "GNDStk/v2.0/pops/Energy.hpp" +#include "GNDStk/v2.0/pops/GaugeBoson.hpp" +#include "GNDStk/v2.0/pops/GaugeBosons.hpp" +#include "GNDStk/v2.0/pops/Halflife.hpp" +#include "GNDStk/v2.0/pops/Intensity.hpp" +#include "GNDStk/v2.0/pops/InternalConversionCoefficients.hpp" +#include "GNDStk/v2.0/pops/InternalPairFormationCoefficient.hpp" +#include "GNDStk/v2.0/pops/Isotope.hpp" +#include "GNDStk/v2.0/pops/Isotopes.hpp" +#include "GNDStk/v2.0/pops/Lepton.hpp" +#include "GNDStk/v2.0/pops/Leptons.hpp" +#include "GNDStk/v2.0/pops/Mass.hpp" +#include "GNDStk/v2.0/pops/MetaStable.hpp" +#include "GNDStk/v2.0/pops/Nucleus.hpp" +#include "GNDStk/v2.0/pops/Nuclide.hpp" +#include "GNDStk/v2.0/pops/Nuclides.hpp" +#include "GNDStk/v2.0/pops/Parity.hpp" +#include "GNDStk/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "GNDStk/v2.0/pops/PoPs.hpp" +#include "GNDStk/v2.0/pops/Probability.hpp" +#include "GNDStk/v2.0/pops/Product.hpp" +#include "GNDStk/v2.0/pops/Products.hpp" +#include "GNDStk/v2.0/pops/Q.hpp" +#include "GNDStk/v2.0/pops/Shell.hpp" +#include "GNDStk/v2.0/pops/Spectra.hpp" +#include "GNDStk/v2.0/pops/Spectrum.hpp" +#include "GNDStk/v2.0/pops/Spin.hpp" +#include "GNDStk/v2.0/pops/Unorthodox.hpp" +#include "GNDStk/v2.0/pops/Unorthodoxes.hpp" + +#include "GNDStk/v2.0/processed/AngularEnergyMC.hpp" +#include "GNDStk/v2.0/processed/AvailableEnergy.hpp" +#include "GNDStk/v2.0/processed/AvailableMomentum.hpp" +#include "GNDStk/v2.0/processed/AverageProductEnergy.hpp" +#include "GNDStk/v2.0/processed/AverageProductMomentum.hpp" +#include "GNDStk/v2.0/processed/EnergyAngularMC.hpp" +#include "GNDStk/v2.0/processed/MultiGroup3d.hpp" + +#include "GNDStk/v2.0/resonances/BreitWigner.hpp" +#include "GNDStk/v2.0/resonances/Channel.hpp" +#include "GNDStk/v2.0/resonances/Channels.hpp" +#include "GNDStk/v2.0/resonances/EnergyInterval.hpp" +#include "GNDStk/v2.0/resonances/EnergyIntervals.hpp" +#include "GNDStk/v2.0/resonances/ExternalRMatrix.hpp" +#include "GNDStk/v2.0/resonances/HardSphereRadius.hpp" +#include "GNDStk/v2.0/resonances/J.hpp" +#include "GNDStk/v2.0/resonances/Js.hpp" +#include "GNDStk/v2.0/resonances/L.hpp" +#include "GNDStk/v2.0/resonances/LevelSpacing.hpp" +#include "GNDStk/v2.0/resonances/Ls.hpp" +#include "GNDStk/v2.0/resonances/RMatrix.hpp" +#include "GNDStk/v2.0/resonances/Resolved.hpp" +#include "GNDStk/v2.0/resonances/ResonanceParameters.hpp" +#include "GNDStk/v2.0/resonances/ResonanceReaction.hpp" +#include "GNDStk/v2.0/resonances/ResonanceReactions.hpp" +#include "GNDStk/v2.0/resonances/Resonances.hpp" +#include "GNDStk/v2.0/resonances/ScatteringRadius.hpp" +#include "GNDStk/v2.0/resonances/SpinGroup.hpp" +#include "GNDStk/v2.0/resonances/SpinGroups.hpp" +#include "GNDStk/v2.0/resonances/TabulatedWidths.hpp" +#include "GNDStk/v2.0/resonances/Unresolved.hpp" +#include "GNDStk/v2.0/resonances/Width.hpp" +#include "GNDStk/v2.0/resonances/Widths.hpp" + +#include "GNDStk/v2.0/styles/AngularDistributionReconstructed.hpp" +#include "GNDStk/v2.0/styles/AverageProductData.hpp" +#include "GNDStk/v2.0/styles/Bondarenko.hpp" +#include "GNDStk/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "GNDStk/v2.0/styles/CrossSectionReconstructed.hpp" +#include "GNDStk/v2.0/styles/EqualProbableBins.hpp" +#include "GNDStk/v2.0/styles/Evaluated.hpp" +#include "GNDStk/v2.0/styles/Flux.hpp" +#include "GNDStk/v2.0/styles/GriddedCrossSection.hpp" +#include "GNDStk/v2.0/styles/Heated.hpp" +#include "GNDStk/v2.0/styles/HeatedMultiGroup.hpp" +#include "GNDStk/v2.0/styles/InverseSpeed.hpp" +#include "GNDStk/v2.0/styles/MonteCarlo_cdf.hpp" +#include "GNDStk/v2.0/styles/MultiBand.hpp" +#include "GNDStk/v2.0/styles/MultiGroup.hpp" +#include "GNDStk/v2.0/styles/ProjectileEnergyDomain.hpp" +#include "GNDStk/v2.0/styles/Realization.hpp" +#include "GNDStk/v2.0/styles/SigmaZeros.hpp" +#include "GNDStk/v2.0/styles/SnElasticUpScatter.hpp" +#include "GNDStk/v2.0/styles/Styles.hpp" +#include "GNDStk/v2.0/styles/Temperature.hpp" +#include "GNDStk/v2.0/styles/Transportable.hpp" +#include "GNDStk/v2.0/styles/Transportables.hpp" +#include "GNDStk/v2.0/styles/URR_probabilityTables.hpp" + +#include "GNDStk/v2.0/transport/A.hpp" +#include "GNDStk/v2.0/transport/Add.hpp" +#include "GNDStk/v2.0/transport/Angular.hpp" +#include "GNDStk/v2.0/transport/AngularEnergy.hpp" +#include "GNDStk/v2.0/transport/AngularTwoBody.hpp" +#include "GNDStk/v2.0/transport/Background.hpp" +#include "GNDStk/v2.0/transport/Branching1d.hpp" +#include "GNDStk/v2.0/transport/Branching3d.hpp" +#include "GNDStk/v2.0/transport/CoherentPhoton.hpp" +#include "GNDStk/v2.0/transport/CrossSection.hpp" +#include "GNDStk/v2.0/transport/CrossSectionSum.hpp" +#include "GNDStk/v2.0/transport/CrossSectionSums.hpp" +#include "GNDStk/v2.0/transport/DiscreteGamma.hpp" +#include "GNDStk/v2.0/transport/Distribution.hpp" +#include "GNDStk/v2.0/transport/DoubleDifferentialCrossSection.hpp" +#include "GNDStk/v2.0/transport/Energy.hpp" +#include "GNDStk/v2.0/transport/EnergyAngular.hpp" +#include "GNDStk/v2.0/transport/Evaporation.hpp" +#include "GNDStk/v2.0/transport/F.hpp" +#include "GNDStk/v2.0/transport/FastRegion.hpp" +#include "GNDStk/v2.0/transport/Forward.hpp" +#include "GNDStk/v2.0/transport/G.hpp" +#include "GNDStk/v2.0/transport/GeneralEvaporation.hpp" +#include "GNDStk/v2.0/transport/IncoherentPhoton.hpp" +#include "GNDStk/v2.0/transport/IncompleteReactions.hpp" +#include "GNDStk/v2.0/transport/Isotropic2d.hpp" +#include "GNDStk/v2.0/transport/KalbachMann.hpp" +#include "GNDStk/v2.0/transport/Multiplicity.hpp" +#include "GNDStk/v2.0/transport/MultiplicitySum.hpp" +#include "GNDStk/v2.0/transport/MultiplicitySums.hpp" +#include "GNDStk/v2.0/transport/NBodyPhaseSpace.hpp" +#include "GNDStk/v2.0/transport/OrphanProduct.hpp" +#include "GNDStk/v2.0/transport/OrphanProducts.hpp" +#include "GNDStk/v2.0/transport/OutputChannel.hpp" +#include "GNDStk/v2.0/transport/PhotonEmissionProbabilities.hpp" +#include "GNDStk/v2.0/transport/PrimaryGamma.hpp" +#include "GNDStk/v2.0/transport/Production.hpp" +#include "GNDStk/v2.0/transport/Productions.hpp" +#include "GNDStk/v2.0/transport/R.hpp" +#include "GNDStk/v2.0/transport/Reaction.hpp" +#include "GNDStk/v2.0/transport/ReactionSuite.hpp" +#include "GNDStk/v2.0/transport/Reactions.hpp" +#include "GNDStk/v2.0/transport/Recoil.hpp" +#include "GNDStk/v2.0/transport/Reference.hpp" +#include "GNDStk/v2.0/transport/ResolvedRegion.hpp" +#include "GNDStk/v2.0/transport/Resonances.hpp" +#include "GNDStk/v2.0/transport/ResonancesWithBackground.hpp" +#include "GNDStk/v2.0/transport/ScatteringMatrix.hpp" +#include "GNDStk/v2.0/transport/Summands.hpp" +#include "GNDStk/v2.0/transport/Sums.hpp" +#include "GNDStk/v2.0/transport/Theta.hpp" +#include "GNDStk/v2.0/transport/U.hpp" +#include "GNDStk/v2.0/transport/URR_probabilityTables1d.hpp" +#include "GNDStk/v2.0/transport/Uncorrelated.hpp" +#include "GNDStk/v2.0/transport/UnresolvedRegion.hpp" +#include "GNDStk/v2.0/transport/Unspecified.hpp" +#include "GNDStk/v2.0/transport/Weighted.hpp" +#include "GNDStk/v2.0/transport/WeightedFunctionals.hpp" + +#include "GNDStk/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "GNDStk/v2.0/tsl/BraggEdge.hpp" +#include "GNDStk/v2.0/tsl/BraggEdges.hpp" +#include "GNDStk/v2.0/tsl/BraggEnergy.hpp" +#include "GNDStk/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "GNDStk/v2.0/tsl/DebyeWallerIntegral.hpp" +#include "GNDStk/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "GNDStk/v2.0/tsl/E_critical.hpp" +#include "GNDStk/v2.0/tsl/E_max.hpp" +#include "GNDStk/v2.0/tsl/PhononSpectrum.hpp" +#include "GNDStk/v2.0/tsl/S_table.hpp" +#include "GNDStk/v2.0/tsl/ScatteringAtom.hpp" +#include "GNDStk/v2.0/tsl/ScatteringAtoms.hpp" +#include "GNDStk/v2.0/tsl/SelfScatteringKernel.hpp" +#include "GNDStk/v2.0/tsl/SelfScatteringKernelGaussianApproximation.hpp" +#include "GNDStk/v2.0/tsl/SelfScatteringKernelSCTApproximation.hpp" +#include "GNDStk/v2.0/tsl/StructureFactor.hpp" +#include "GNDStk/v2.0/tsl/T_effective.hpp" +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "GNDStk/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" + #include "GNDStk/v2.0/key.hpp" #endif diff --git a/src/GNDStk/v2.0/abstract/Functional.hpp b/src/GNDStk/v2.0/abstract/Functional.hpp new file mode 100644 index 000000000..7b4be8e9d --- /dev/null +++ b/src/GNDStk/v2.0/abstract/Functional.hpp @@ -0,0 +1,288 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_ABSTRACT_FUNCTIONAL +#define NJOY_GNDSTK_V2_0_ABSTRACT_FUNCTIONAL + +// core interface +#include "GNDStk.hpp" + +// v2.0 dependencies +#include "GNDStk/v2.0/containers/Axes.hpp" +#include "GNDStk/v2.0/unknownNamespace/Uncertainty.hpp" +#include "GNDStk/v2.0/containers/Values.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// abstract:: +// class Functional +// ----------------------------------------------------------------------------- + +namespace abstract { + +class Functional : public Component { + + using _t = std::variant< + abstract::Functional, + containers::Values + >; + + // ------------------------ + // For Component + // ------------------------ + + friend class Component; + + // Current namespace, current class, and GNDS node name + static auto namespaceName() { return "abstract"; } + static auto className() { return "Functional"; } + static auto GNDSName() { return "functional"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto keys() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + containers::Axes{} + / --Child<>("axes") | + std::optional{} + / --Child<>("uncertainty") | + _t{} + / --(Child<>("functional") || Child<>("values")) + ; + } + +public: + + using Component::construct; + + // ------------------------ + // Relevant defaults + // FYI for users + // ------------------------ + + static inline const struct Defaults { + } defaults; + + // ------------------------ + // Raw GNDS content + // ------------------------ + + struct { + // metadata + std::optional label; + std::optional outerDomainValue; + // children + containers::Axes axes; + std::optional uncertainty; + // children - variant + _t _functionalvalues; + } content; + + // ------------------------ + // Getters + // const and non-const + // ------------------------ + + // label + const std::optional &label() const + { return content.label; } + std::optional &label() + { return content.label; } + + // outerDomainValue + const std::optional &outerDomainValue() const + { return content.outerDomainValue; } + std::optional &outerDomainValue() + { return content.outerDomainValue; } + + // axes + const containers::Axes &axes() const + { return content.axes; } + containers::Axes &axes() + { return content.axes; } + + // uncertainty + const std::optional &uncertainty() const + { return content.uncertainty; } + std::optional &uncertainty() + { return content.uncertainty; } + + // _functionalvalues + const _t &_functionalvalues() const + { return content._functionalvalues; } + _t &_functionalvalues() + { return content._functionalvalues; } + + // functional + const abstract::Functional *functional() const + { return getter(_functionalvalues(), "functional"); } + abstract::Functional *functional() + { return getter(_functionalvalues(), "functional"); } + + // values + const containers::Values *values() const + { return getter(_functionalvalues(), "values"); } + containers::Values *values() + { return getter(_functionalvalues(), "values"); } + + // ------------------------ + // Setters + // non-const + // All return *this + // ------------------------ + + // label(value) + Functional &label(const std::optional &obj) + { label() = obj; return *this; } + + // outerDomainValue(value) + Functional &outerDomainValue(const std::optional &obj) + { outerDomainValue() = obj; return *this; } + + // axes(value) + Functional &axes(const containers::Axes &obj) + { axes() = obj; return *this; } + + // uncertainty(value) + Functional &uncertainty(const std::optional &obj) + { uncertainty() = obj; return *this; } + + // _functionalvalues(value) + Functional &_functionalvalues(const _t &obj) + { _functionalvalues() = obj; return *this; } + + // functional(value) + Functional &functional(const std::optional &obj) + { if (obj) _functionalvalues(obj.value()); return *this; } + + // values(value) + Functional &values(const std::optional &obj) + { if (obj) _functionalvalues(obj.value()); return *this; } + + // ------------------------ + // Construction + // ------------------------ + + // default + Functional() : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.uncertainty, + content._functionalvalues + } + { + Component::finish(); + } + + // copy + Functional(const Functional &other) : + Component{ + other, + content.label, + content.outerDomainValue, + content.axes, + content.uncertainty, + content._functionalvalues + }, + content{other.content} + { + Component::finish(other); + } + + // move + Functional(Functional &&other) : + Component{ + other, + content.label, + content.outerDomainValue, + content.axes, + content.uncertainty, + content._functionalvalues + }, + content{std::move(other.content)} + { + Component::finish(other); + } + + // from node + Functional(const Node &node) : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.uncertainty, + content._functionalvalues + } + { + Component::finish(node); + } + + // from fields + explicit Functional( + const std::optional &label, + const std::optional &outerDomainValue, + const containers::Axes &axes, + const std::optional &uncertainty, + const _t &_functionalvalues + ) : + Component{ + BodyText{}, + content.label, + content.outerDomainValue, + content.axes, + content.uncertainty, + content._functionalvalues + }, + content{ + label, + outerDomainValue, + axes, + uncertainty, + _functionalvalues + } + { + Component::finish(); + } + + // ------------------------ + // Assignment + // ------------------------ + + // copy + Functional &operator=(const Functional &) = default; + + // move + Functional &operator=(Functional &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "GNDStk/v2.0/abstract/Functional/src/custom.hpp" + +}; // class Functional + +} // namespace abstract +} // namespace v2_0 +} // namespace GNDStk +} // namespace njoy + +#endif diff --git a/src/GNDStk/v2.0/abstract/Functional/src/custom.hpp b/src/GNDStk/v2.0/abstract/Functional/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/src/GNDStk/v2.0/abstract/Functional/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/src/GNDStk/v2.0/abstract/Label.hpp b/src/GNDStk/v2.0/abstract/Label.hpp new file mode 100644 index 000000000..522d717bc --- /dev/null +++ b/src/GNDStk/v2.0/abstract/Label.hpp @@ -0,0 +1,176 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef NJOY_GNDSTK_V2_0_ABSTRACT_LABEL +#define NJOY_GNDSTK_V2_0_ABSTRACT_LABEL + +// core interface +#include "GNDStk.hpp" + +namespace njoy { +namespace GNDStk { +namespace v2_0 { + +using namespace njoy::GNDStk::core; + + + +// ----------------------------------------------------------------------------- +// abstract:: +// class Label +// ----------------------------------------------------------------------------- + +namespace abstract { + +class Label : public Component)***"; } void verifyChunk( const XYs1d& component ) { @@ -199,6 +198,5 @@ R"***( 1e-05 1. 2.53e-2 2. 2.5e+3 3. - -)***"; +)***"; } From 5bd53781aceced3e4f29598b8de5d28b9c7b3e85 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 21 Mar 2022 15:11:58 -0600 Subject: [PATCH 081/235] Fixed some fixmes. Part of ongoing cleanup / code tightening. Rearranged some code. Tweaked some terminology. --- src/GNDStk/Node/src/read.hpp | 4 +- src/GNDStk/Node/src/write.hpp | 10 +- src/GNDStk/or.hpp | 193 +--------------------------------- src/GNDStk/or/src/detail.hpp | 182 ++++++++++++++++++++++++++++++++ src/GNDStk/test/keys.hpp | 35 +++--- src/GNDStk/utility.hpp | 56 +++++----- 6 files changed, 236 insertions(+), 244 deletions(-) create mode 100644 src/GNDStk/or/src/detail.hpp diff --git a/src/GNDStk/Node/src/read.hpp b/src/GNDStk/Node/src/read.hpp index bf34770b7..95f2aa0fa 100644 --- a/src/GNDStk/Node/src/read.hpp +++ b/src/GNDStk/Node/src/read.hpp @@ -281,7 +281,7 @@ std::istream &read( format ); - // fallback: automagick + // fallback: guess, from file magic number return read(is, FileType::guess, decl); } catch (...) { log::member("Node.read(istream,\"{}\")", format); @@ -316,7 +316,7 @@ bool read( filename, format ); - // fallback: automagick + // fallback: guess, from file magic number return read(filename, FileType::guess, decl); } catch (...) { log::member("Node.read(\"{}\",\"{}\")", filename, format); diff --git a/src/GNDStk/Node/src/write.hpp b/src/GNDStk/Node/src/write.hpp index 43d13c4a3..f0bc8a57a 100644 --- a/src/GNDStk/Node/src/write.hpp +++ b/src/GNDStk/Node/src/write.hpp @@ -181,9 +181,9 @@ bool write( // Check: consistent name? // ------------------------ - // The above code block might have changed format via automagick file type - // detection, but wouldn't have changed it in a manner that would cause any - // of the following warnings. + // Remark. The above code block might have changed the [format] variable, + // but not in a manner that would trigger any of the following warnings + // where they wouldn't have otherwise existed. So, print them if warranted. // Caller asked for XML, but there's an extension that isn't XML... if (format == FileType::xml && has_extension(filename) @@ -248,7 +248,7 @@ std::ostream &write( format ); - // fallback: automagick + // fallback: guess, from file extension return write(os, FileType::guess, decl); } catch (...) { log::member("Node.write(ostream,\"{}\")", format); @@ -284,7 +284,7 @@ bool write( filename, format ); - // fallback: automagick + // fallback: guess, from file extension return write(filename, FileType::guess, decl); } catch (...) { log::member("Node.write(\"{}\",\"{}\")", filename, format); diff --git a/src/GNDStk/or.hpp b/src/GNDStk/or.hpp index abe2a4e51..399df57c5 100644 --- a/src/GNDStk/or.hpp +++ b/src/GNDStk/or.hpp @@ -1,196 +1,5 @@ -// ----------------------------------------------------------------------------- -// fixme -// Material here should be rearranged at some point, to be consistent with the -// general NJOY21 source structure. For now, we're making it available quickly. -// ----------------------------------------------------------------------------- - -// ----------------------------------------------------------------------------- -// Helper classes: -// IsMeta -// IsChild -// IsMetaOrChild -// IsStringOrRegex -// for SFINAE. -// ----------------------------------------------------------------------------- - -namespace detail { - -// ------------------------ -// IsMeta -// ------------------------ - -// default -template -class IsMeta { -public: - static constexpr bool value = false; -}; - -// Meta -template -class IsMeta> { -public: - static constexpr bool value = true; -}; - - -// ------------------------ -// IsChild -// ------------------------ - -// default -template -class IsChild { -public: - static constexpr bool value = false; -}; - -// Child -template -class IsChild> { -public: - static constexpr bool value = true; -}; - - -// ------------------------ -// IsMetaOrChild -// ------------------------ - -template -class IsMetaOrChild { -public: - static constexpr bool value = IsMeta::value || IsChild::value; -}; - - -// ------------------------ -// IsStringOrRegex -// ------------------------ - -// default -template -class IsStringOrRegex { -public: - static constexpr bool value = false; -}; - -// string -template<> -class IsStringOrRegex { -public: - static constexpr bool value = true; - using type = std::string; -}; - -// char * -template<> -class IsStringOrRegex { -public: - static constexpr bool value = true; - using type = std::string; -}; - -// const char * -template<> -class IsStringOrRegex { -public: - static constexpr bool value = true; - using type = std::string; -}; - -// char[N] -template -class IsStringOrRegex { -public: - static constexpr bool value = true; - using type = std::string; -}; - -// regex -template<> -class IsStringOrRegex { -public: - static constexpr bool value = true; - using type = std::regex; -}; - - -// ------------------------ -// IsPairChildStringOrRegex -// ------------------------ - -// default -template -class IsPairChildStringOrRegex { -public: - static constexpr bool value = false; -}; - -// pair -template -class IsPairChildStringOrRegex> { -public: - static constexpr bool value = - IsChild::value && IsStringOrRegex::value; -}; - -} // namespace detail - - - -// ----------------------------------------------------------------------------- -// Helper functionality for std::tuple -// ----------------------------------------------------------------------------- - -namespace detail { - -// ------------------------ -// tupleAllButLast -// ------------------------ - -// These are adapted from: https://stackoverflow.com/questions/51810702 - -template -constexpr auto tupleAllButLastHelper( - const std::tuple &tup, - std::index_sequence -) { - return std::tuple(std::get(tup)...); -} - -template< - class... Args, - class = std::enable_if_t<(0 < sizeof...(Args))> -> -constexpr auto tupleAllButLast(const std::tuple &tup) -{ - return tupleAllButLastHelper( - tup, - std::make_index_sequence{} - ); -} - - -// ------------------------ -// tupleReplaceLast -// ------------------------ - -// Given a tuple with at least one element, make a new tuple that's mostly the -// same, except for a different last element, which can be of a different type. - -template< - class... Args, class RHS, - class = std::enable_if_t<(0 < sizeof...(Args))> -> -constexpr auto tupleReplaceLast(const std::tuple &tup, const RHS &rhs) -{ - return std::tuple_cat(tupleAllButLast(tup), std::tuple(rhs)); -} - -} // namespace detail - +#include "GNDStk/or/src/detail.hpp" // ----------------------------------------------------------------------------- diff --git a/src/GNDStk/or/src/detail.hpp b/src/GNDStk/or/src/detail.hpp new file mode 100644 index 000000000..ae4a6371d --- /dev/null +++ b/src/GNDStk/or/src/detail.hpp @@ -0,0 +1,182 @@ + +namespace detail { + +// ----------------------------------------------------------------------------- +// Helper classes: +// IsMeta +// IsChild +// IsMetaOrChild +// IsStringOrRegex +// for SFINAE. +// ----------------------------------------------------------------------------- + +// ------------------------ +// IsMeta +// ------------------------ + +// default +template +class IsMeta { +public: + static constexpr bool value = false; +}; + +// Meta +template +class IsMeta> { +public: + static constexpr bool value = true; +}; + + +// ------------------------ +// IsChild +// ------------------------ + +// default +template +class IsChild { +public: + static constexpr bool value = false; +}; + +// Child +template +class IsChild> { +public: + static constexpr bool value = true; +}; + + +// ------------------------ +// IsMetaOrChild +// ------------------------ + +template +class IsMetaOrChild { +public: + static constexpr bool value = IsMeta::value || IsChild::value; +}; + + +// ------------------------ +// IsStringOrRegex +// ------------------------ + +// default +template +class IsStringOrRegex { +public: + static constexpr bool value = false; +}; + +// string +template<> +class IsStringOrRegex { +public: + static constexpr bool value = true; + using type = std::string; +}; + +// char * +template<> +class IsStringOrRegex { +public: + static constexpr bool value = true; + using type = std::string; +}; + +// const char * +template<> +class IsStringOrRegex { +public: + static constexpr bool value = true; + using type = std::string; +}; + +// char[N] +template +class IsStringOrRegex { +public: + static constexpr bool value = true; + using type = std::string; +}; + +// regex +template<> +class IsStringOrRegex { +public: + static constexpr bool value = true; + using type = std::regex; +}; + + +// ------------------------ +// IsPairChildStringOrRegex +// ------------------------ + +// default +template +class IsPairChildStringOrRegex { +public: + static constexpr bool value = false; +}; + +// pair +template +class IsPairChildStringOrRegex> { +public: + static constexpr bool value = + IsChild::value && IsStringOrRegex::value; +}; + + + +// ----------------------------------------------------------------------------- +// Helper functionality for std::tuple +// ----------------------------------------------------------------------------- + +// ------------------------ +// tupleAllButLast +// ------------------------ + +// These are adapted from: https://stackoverflow.com/questions/51810702 + +template +constexpr auto tupleAllButLastHelper( + const std::tuple &tup, + std::index_sequence +) { + return std::tuple(std::get(tup)...); +} + +template< + class... Args, + class = std::enable_if_t<(0 < sizeof...(Args))> +> +constexpr auto tupleAllButLast(const std::tuple &tup) +{ + return tupleAllButLastHelper( + tup, + std::make_index_sequence{} + ); +} + + +// ------------------------ +// tupleReplaceLast +// ------------------------ + +// Given a tuple with at least one element, make a new tuple that's mostly the +// same, except for a different last element, which can be of a different type. + +template< + class... Args, class RHS, + class = std::enable_if_t<(0 < sizeof...(Args))> +> +constexpr auto tupleReplaceLast(const std::tuple &tup, const RHS &rhs) +{ + return std::tuple_cat(tupleAllButLast(tup), std::tuple(rhs)); +} + +} // namespace detail diff --git a/src/GNDStk/test/keys.hpp b/src/GNDStk/test/keys.hpp index 8df595bd7..3416c9937 100644 --- a/src/GNDStk/test/keys.hpp +++ b/src/GNDStk/test/keys.hpp @@ -297,22 +297,29 @@ class numeric_type> { namespace common { +// Helper: getNumeric +// Doing numeric (below) strictly as a variable template would lead +// to initialization-order issues with the specializations. +template +const auto &getNumeric() +{ + static const njoy::GNDStk::Child< + // for general T, the following produces a vector; + // for T already a vector, it remains as-is + typename njoy::GNDStk::detail::numeric_type::type, + njoy::GNDStk::Allow::one, + njoy::GNDStk::detail::convert_pcdata_text_t + > ret("#pcdata"); + return ret; +} + // numeric template -inline const njoy::GNDStk::Child< - // for general T, the following produces a vector; - // for T already a vector, it remains as-is - typename njoy::GNDStk::detail::numeric_type::type, - njoy::GNDStk::Allow::one, - njoy::GNDStk::detail::convert_pcdata_text_t -> numeric("#pcdata"); - -// shortcuts for numeric; each gives a vector -inline const auto floats = numeric/"#pcdata"; -inline const auto doubles = numeric/"#pcdata"; -// fixme I'm not sure why the "#pcdata" name doesn't come over automatically -// from numeric; it probably relates to order-of-initialization rules (or -// lack of rules?) for variable templates. We'll figure that out sometime. +inline const auto numeric = getNumeric(); + +// specializations, for float and double +inline const auto floats = getNumeric(); +inline const auto doubles = getNumeric(); } // namespace common diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 05e378f42..e0754923d 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -18,9 +18,9 @@ inline bool parents = false; // file type / format enum class FileType { - // default, automagick, etc. + // default: guess from file magic number (input) or extension (output) guess, - // our plain-text "debug" format; for writing only + // our plain-text "debug format"; for writing only (not reading) debug, // give users easy-to-type lowercase as well as acronym-style uppercase... xml, XML = xml, @@ -90,29 +90,6 @@ inline void failback(std::istream &is, const std::streampos pos) inline bool align = true; // extra spaces, to line stuff up for easy reading inline bool color = false; // default: impose no ANSI escape-sequence clutter -// fixme A possible concern here is that the alignment, as controlled by the -// align bool, is only applied to the message string that's sent as the first -// parameter to our log:: functions - not to the entire message that might be -// constructed and printed. -// -// Imagine that you wrote: -// -// log::error("Some information: {}", someStringParameterWithNewlines); -// -// Our log:: functions ultimately forward their own parameters to the external -// Log library for final handling. Before doing so, they process the message -// string ("Some information: {}", in our example above). If align == true, -// they create a *modified* message string - with spacing for alignment after -// any newlines. However, content that arrives through the "{}"s, from other -// parameters, and that has newlines, doesn't get alignment spacing. Someone -// might then see the diagnostic, and believe that our alignment flag is broken. -// -// We should consider solutions to this - ones that don't require replicating -// too much content from the external Log library, and that allow us to still -// take advantage of its convenient "{}" notation for writing parameters. For -// now, a few particular "long" diagnostic messages in GNDStk are formatted -// and printed completely into the format string, so that we avoid this issue. - namespace detail { // diagnostic @@ -121,6 +98,22 @@ inline std::string diagnostic( const std::string &message, const std::string &prefix = "" ) { + // Remark. Below, if align == true, we place spaces after any newlines that + // appear in the message, so that output that would otherwise: + // [error] look something + // like this + // will instead: + // [error] look something + // like this + // Later, in functions like our error() and warning(), strings returned from + // this present (diagnostic()) function are sent to one of the Log:: library + // functions. Those replace instances of "{}" with the values of parameters, + // similarly to how the old C-language printf() replaces "%". The code below + // just does the alignment business for the message string, not for any of + // those additional parameters. In the event that one of those is a string, + // and has newlines, alignment may not be as one might initially expect. So, + // this is just something to be aware of. + static std::map codes = { { "info", "\033[36;21m" }, // cyan { "warning", "\033[33;1m" }, // yellow @@ -193,9 +186,9 @@ inline long truncate = -1; // Flags for fine-tuning diagnostic output // ----------------------------------------------------------------------------- -// Names of these flags align with those in our log:: functions (see below), -// for consistency and predictability. These are in namespace GNDStk while -// those are in namespace GNDStk::log, so the names don't conflict. +// Names of these flags reflect names in our log:: functions (see below), for +// consistency and predictability. These flags are in namespace GNDStk, while +// those are in namespace GNDStk::log; so, the names don't conflict. // Print info messages? (with log::info()) inline bool info = true; @@ -611,9 +604,10 @@ class isNotVoid { // isIterable // ------------------------ -// fixme -// At some point, we really need a reliable "is_container" traits class. -// For now, I'll use this. +// The intention of this traits class is to decide if an object of the given +// type is suitable for use as the range-expression in a range-based for-loop. +// For now, we're just checking that it has a begin() and an end(). This is +// probably sufficient for our needs, and could be relaxed later if necessary. template class isIterable { From 57ee74fd1fd83464d704496c4dbb07684b2fbd48 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 21 Mar 2022 17:46:38 -0600 Subject: [PATCH 082/235] Name change. In the generated classes, and the code that works with them, struct content is now struct Content. That is, we just capitalized Content. This simple change is consistent with NJOY classes generally having capitalized names. More importantly, perhaps, I'm trying to make the code generator allow for as much flexibility as reasonably possible, given that users might be designing their own data format. (Not just using the code generator to build GNDS version-specific data structures.) If someone actually writes a code-generator input spec that has a node called "content", it'll work now. :-) Not that we really expect that someone would call anything "content", but it *would* be a completely reasonable node name. By using upper-case terms for what we generate automatically - aside from terminology in someone's spec - people can use lower-case words in their specs and be confident that no conflict will arise. That's the main thinking behind this simple name change. --- autogen/json2class.cpp | 14 +- src/GNDStk/BlockData.hpp | 2 +- src/GNDStk/BlockData/test/sync.test.cpp | 176 ++++++------- src/GNDStk/BlockData/test/toNode.test.cpp | 12 +- src/GNDStk/Component/src/detail.hpp | 2 +- src/GNDStk/Component/src/finish.hpp | 4 +- src/GNDStk/Component/src/getter.hpp | 6 +- src/GNDStk/Component/test/Component.test.cpp | 10 +- src/GNDStk/Component/test/ctor.test.cpp | 10 +- src/GNDStk/Component/test/detail.test.cpp | 10 +- src/GNDStk/Component/test/finish.test.cpp | 52 ++-- src/GNDStk/Component/test/indexnlabel.hpp | 36 +-- src/GNDStk/Component/test/prototype.hpp | 246 +++++++++---------- src/GNDStk/Component/test/sort.test.cpp | 10 +- src/GNDStk/precision/test/precision.test.hpp | 128 +++++----- src/GNDStk/v1.9/containers/Axes.hpp | 16 +- src/GNDStk/v1.9/containers/Axis.hpp | 20 +- src/GNDStk/v1.9/containers/Grid.hpp | 32 +-- src/GNDStk/v1.9/containers/Link.hpp | 12 +- src/GNDStk/v1.9/containers/Regions1d.hpp | 24 +- src/GNDStk/v1.9/containers/Values.hpp | 20 +- src/GNDStk/v1.9/containers/XYs1d.hpp | 32 +-- src/GNDStk/v1.9/transport/CrossSection.hpp | 12 +- src/GNDStk/v1.9/transport/Reaction.hpp | 24 +- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 36 +-- src/GNDStk/v1.9/transport/Reactions.hpp | 12 +- 26 files changed, 479 insertions(+), 479 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index eb7748c17..680dd3bd4 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1022,9 +1022,9 @@ void writeClassGetters(writer &out, const PerClass &per) out(); out(1,"// @", i.name); out(1,"const @ &@() const", i.typeFull, i.name); - out(2,"{ return content.@; }", i.name); + out(2,"{ return Content.@; }", i.name); out(1, "@ &@()", i.typeFull, i.name); - out(2,"{ return content.@; }", i.name); + out(2,"{ return Content.@; }", i.name); if (isVector) { out(); @@ -1282,7 +1282,7 @@ void writeClassCtors(writer &out, const PerClass &per) // initialize fields out(","); - out(2,"content{"); + out(2,"Content{"); count = 0; for (const auto &m : per.metadata) out(3,"@@", @@ -1309,7 +1309,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"@(const @ &other) :", per.clname, per.clname); writeClassCtorComponent(out, per, true); out(","); - out(2,"content{other.content}"); + out(2,"Content{other.Content}"); writeClassCtorBody(out, "other"); // ------------------------ @@ -1321,7 +1321,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"@(@ &&other) :", per.clname, per.clname); writeClassCtorComponent(out, per, true); out(","); - out(2,"content{std::move(other.content)}"); + out(2,"Content{std::move(other.Content)}"); writeClassCtorBody(out, "other"); // ------------------------ @@ -1395,7 +1395,7 @@ void writeClass(PerClass &per, const InfoSpecs &specs) out(1,"} defaults;"); } - // output: content (the metadata/children computed earlier) + // output: struct Content (for the metadata/children computed earlier) out(); out(1,smallComment); out(1,"// Raw GNDS content"); @@ -1405,7 +1405,7 @@ void writeClass(PerClass &per, const InfoSpecs &specs) writeClassContentMetadata(out, per); writeClassContentChildren(out, per); writeClassContentVariants(out, per); - out(1,"} content;"); + out(1,"} Content;"); // output: getters, setters if (per.metadata.size() || per.children.size() || per.variants.size()) { diff --git a/src/GNDStk/BlockData.hpp b/src/GNDStk/BlockData.hpp index 6227ca216..41dfb5725 100644 --- a/src/GNDStk/BlockData.hpp +++ b/src/GNDStk/BlockData.hpp @@ -138,7 +138,7 @@ class BlockData { // Not to be confused with the process of writing data to a Node #include "GNDStk/BlockData/src/write.hpp" - // Pull/push length/start/valueType from/to derived-class struct content + // Pull/push length/start/valueType from/to derived-class struct Content #include "GNDStk/BlockData/src/sync.hpp" // Assignment diff --git a/src/GNDStk/BlockData/test/sync.test.cpp b/src/GNDStk/BlockData/test/sync.test.cpp index c4e4ac81c..9a088d851 100644 --- a/src/GNDStk/BlockData/test/sync.test.cpp +++ b/src/GNDStk/BlockData/test/sync.test.cpp @@ -7,7 +7,7 @@ using namespace njoy::GNDStk; // ----------------------------------------------------------------------------- // Scenario: pull -// content == any of {length,start,valueType} +// Content == any of {length,start,valueType} // ----------------------------------------------------------------------------- // Helper @@ -16,10 +16,10 @@ void scenario_pull() { WHEN("pullFromDerived() is called") { // none of length, start, valueType - THEN("Push to content{} works") { + THEN("Push to Content{} works") { struct : public BlockData { struct { - } content; + } Content; } derived; BlockData &b = derived; b.length(100).start(200).valueType("300"); @@ -30,13 +30,13 @@ void scenario_pull() } // length only - THEN("Push to content{length} works") { + THEN("Push to Content{length} works") { struct : public BlockData { struct { int length = 10; - } content; - const int &length() const { return content.length; } - int &length() { return content.length; } + } Content; + const int &length() const { return Content.length; } + int &length() { return Content.length; } } derived; BlockData &b = derived; b.length(11).start(12).valueType("13"); @@ -47,13 +47,13 @@ void scenario_pull() } // start only - THEN("Push to content{start} works") { + THEN("Push to Content{start} works") { struct : public BlockData { struct { int start = 14; - } content; - const int &start() const { return content.start; } - int &start() { return content.start; } + } Content; + const int &start() const { return Content.start; } + int &start() { return Content.start; } } derived; BlockData &b = derived; b.length(15).start(16).valueType("17"); @@ -64,13 +64,13 @@ void scenario_pull() } // valueType only - THEN("Push to content{valueType} works") { + THEN("Push to Content{valueType} works") { struct : public BlockData { struct { std::string valueType = "18"; - } content; - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + } Content; + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } } derived; BlockData &b = derived; b.length(19).start(20).valueType("21"); @@ -81,16 +81,16 @@ void scenario_pull() } // all but length - THEN("Push to content{start,valueType} works") { + THEN("Push to Content{start,valueType} works") { struct : public BlockData { struct { int start = 22; std::string valueType = "23"; - } content; - const int &start() const { return content.start; } - int &start() { return content.start; } - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + } Content; + const int &start() const { return Content.start; } + int &start() { return Content.start; } + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } } derived; BlockData &b = derived; b.length(24).start(25).valueType("26"); @@ -101,16 +101,16 @@ void scenario_pull() } // all but start - THEN("Push to content{length,valueType} works") { + THEN("Push to Content{length,valueType} works") { struct : public BlockData { struct { int length = 27; std::string valueType = "28"; - } content; - const int &length() const { return content.length; } - int &length() { return content.length; } - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + } Content; + const int &length() const { return Content.length; } + int &length() { return Content.length; } + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } } derived; BlockData &b = derived; b.length(29).start(30).valueType("31"); @@ -121,16 +121,16 @@ void scenario_pull() } // all but valueType - THEN("Push to content{length,start} works") { + THEN("Push to Content{length,start} works") { struct : public BlockData { struct { int length = 32; int start = 33; - } content; - const int &length() const { return content.length; } - int &length() { return content.length; } - const int &start() const { return content.start; } - int &start() { return content.start; } + } Content; + const int &length() const { return Content.length; } + int &length() { return Content.length; } + const int &start() const { return Content.start; } + int &start() { return Content.start; } } derived; BlockData &b = derived; b.length(34).start(35).valueType("36"); @@ -141,19 +141,19 @@ void scenario_pull() } // all three - THEN("Push to content{length,start,valueType} works") { + THEN("Push to Content{length,start,valueType} works") { struct : public BlockData { struct { int length = 37; int start = 38; std::string valueType = "39"; - } content; - const int &length() const { return content.length; } - int &length() { return content.length; } - const int &start() const { return content.start; } - int &start() { return content.start; } - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + } Content; + const int &length() const { return Content.length; } + int &length() { return Content.length; } + const int &start() const { return Content.start; } + int &start() { return Content.start; } + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } } derived; BlockData &b = derived; b.length(40).start(41).valueType("42"); @@ -166,13 +166,13 @@ void scenario_pull() } -SCENARIO("BlockData pull from content") { +SCENARIO("BlockData pull from Content") { GIVEN("A BlockData object") { scenario_pull(); } } -SCENARIO("BlockData pull from content") { +SCENARIO("BlockData pull from Content") { GIVEN("A BlockData object") { scenario_pull(); } @@ -181,7 +181,7 @@ SCENARIO("BlockData pull from content") { // ----------------------------------------------------------------------------- // Scenario: push -// content == any of {length,start,valueType} +// Content == any of {length,start,valueType} // ----------------------------------------------------------------------------- // Helper @@ -190,13 +190,13 @@ void scenario_push() { WHEN("pushToDerived() is called") { // none of length, start, valueType - THEN("Push to content{} works") { + THEN("Push to Content{} works") { struct : public BlockData { struct { int ignored = 123456; // not length, start, or valueType - } content; - const int &ignored() const { return content.ignored; } - int &ignored() { return content.ignored; } + } Content; + const int &ignored() const { return Content.ignored; } + int &ignored() { return Content.ignored; } } derived; BlockData &b = derived; b.length(0).start(0).valueType("0"); @@ -205,13 +205,13 @@ void scenario_push() } // length only - THEN("Push to content{length} works") { + THEN("Push to Content{length} works") { struct : public BlockData { struct { int length = 10; - } content; - const int &length() const { return content.length; } - int &length() { return content.length; } + } Content; + const int &length() const { return Content.length; } + int &length() { return Content.length; } } derived; BlockData &b = derived; b.length(11).start(12).valueType("13"); @@ -220,13 +220,13 @@ void scenario_push() } // start only - THEN("Push to content{start} works") { + THEN("Push to Content{start} works") { struct : public BlockData { struct { int start = 14; - } content; - const int &start() const { return content.start; } - int &start() { return content.start; } + } Content; + const int &start() const { return Content.start; } + int &start() { return Content.start; } } derived; BlockData &b = derived; b.length(15).start(16).valueType("17"); @@ -235,13 +235,13 @@ void scenario_push() } // valueType only - THEN("Push to content{valueType} works") { + THEN("Push to Content{valueType} works") { struct : public BlockData { struct { std::string valueType = "18"; - } content; - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + } Content; + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } } derived; BlockData &b = derived; b.length(19).start(20).valueType("21"); @@ -250,16 +250,16 @@ void scenario_push() } // all but length - THEN("Push to content{start,valueType} works") { + THEN("Push to Content{start,valueType} works") { struct : public BlockData { struct { int start = 22; std::string valueType = "23"; - } content; - const int &start() const { return content.start; } - int &start() { return content.start; } - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + } Content; + const int &start() const { return Content.start; } + int &start() { return Content.start; } + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } } derived; BlockData &b = derived; b.length(24).start(25).valueType("26"); @@ -269,16 +269,16 @@ void scenario_push() } // all but start - THEN("Push to content{length,valueType} works") { + THEN("Push to Content{length,valueType} works") { struct : public BlockData { struct { int length = 27; std::string valueType = "28"; - } content; - const int &length() const { return content.length; } - int &length() { return content.length; } - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + } Content; + const int &length() const { return Content.length; } + int &length() { return Content.length; } + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } } derived; BlockData &b = derived; b.length(29).start(30).valueType("31"); @@ -288,16 +288,16 @@ void scenario_push() } // all but valueType - THEN("Push to content{length,start} works") { + THEN("Push to Content{length,start} works") { struct : public BlockData { struct { int length = 32; int start = 33; - } content; - const int &length() const { return content.length; } - int &length() { return content.length; } - const int &start() const { return content.start; } - int &start() { return content.start; } + } Content; + const int &length() const { return Content.length; } + int &length() { return Content.length; } + const int &start() const { return Content.start; } + int &start() { return Content.start; } } derived; BlockData &b = derived; b.length(34).start(35).valueType("36"); @@ -307,19 +307,19 @@ void scenario_push() } // all three - THEN("Push to content{length,start,valueType} works") { + THEN("Push to Content{length,start,valueType} works") { struct : public BlockData { struct { int length = 37; int start = 38; std::string valueType = "39"; - } content; - const int &length() const { return content.length; } - int &length() { return content.length; } - const int &start() const { return content.start; } - int &start() { return content.start; } - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + } Content; + const int &length() const { return Content.length; } + int &length() { return Content.length; } + const int &start() const { return Content.start; } + int &start() { return Content.start; } + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } } derived; BlockData &b = derived; b.length(40).start(41).valueType("42"); @@ -332,13 +332,13 @@ void scenario_push() } -SCENARIO("BlockData push to content") { +SCENARIO("BlockData push to Content") { GIVEN("A BlockData object") { scenario_push(); } } -SCENARIO("BlockData push to content") { +SCENARIO("BlockData push to Content") { GIVEN("A BlockData object") { scenario_push(); } diff --git a/src/GNDStk/BlockData/test/toNode.test.cpp b/src/GNDStk/BlockData/test/toNode.test.cpp index 1fcd71b29..6bd63314a 100644 --- a/src/GNDStk/BlockData/test/toNode.test.cpp +++ b/src/GNDStk/BlockData/test/toNode.test.cpp @@ -23,7 +23,7 @@ void scenario_toNode() std::string text = "abc"; struct : public BlockData { struct { - } content; + } Content; } derived; BlockData &b = derived; @@ -48,7 +48,7 @@ void scenario_toNode() ) { struct : public BlockData { struct { - } content; + } Content; } derived; BlockData &b = derived; @@ -89,7 +89,7 @@ void scenario_toNode() ) { struct : public BlockData { struct { - } content; + } Content; } derived; BlockData &b = derived; @@ -128,7 +128,7 @@ void scenario_toNode() ) { struct : public BlockData { struct { - } content; + } Content; } derived; BlockData &b = derived; @@ -169,7 +169,7 @@ void scenario_toNode() ) { struct : public BlockData { struct { - } content; + } Content; } derived; BlockData &b = derived; @@ -213,7 +213,7 @@ void scenario_toNode() ) { struct : public BlockData { struct { - } content; + } Content; } derived; BlockData &b = derived; diff --git a/src/GNDStk/Component/src/detail.hpp b/src/GNDStk/Component/src/detail.hpp index 8009ff4b0..3a107b001 100644 --- a/src/GNDStk/Component/src/detail.hpp +++ b/src/GNDStk/Component/src/detail.hpp @@ -372,7 +372,7 @@ bool writeComponentPart( // For sorting derived-class fields based on index and label, if and when one // or the other of those is determined to be present. That determination hinges // on both a compile-time check that the classes involved even *have* index or -// label fields in their content struct, and if they do, if either of those is +// label fields in their Content struct, and if they do, if either of those is // possibly a std::optional that may or may not contain a value at the moment. // ----------------------------------------------------------------------------- diff --git a/src/GNDStk/Component/src/finish.hpp b/src/GNDStk/Component/src/finish.hpp index c6dd4eae4..d9580d186 100644 --- a/src/GNDStk/Component/src/finish.hpp +++ b/src/GNDStk/Component/src/finish.hpp @@ -32,8 +32,8 @@ thus can, but does not need to, provide a construct(). Arguments are received where (1) the derived-class constructor receives the argument, but (2) the argument is transitory - it's used in the constructor, -but it doesn't go into the autogenerated "content" struct in the derived class. -(If it did go into the content struct then we'd simply extract it from there, +but it doesn't go into the autogenerated Content struct in the derived class. +(If it did go into the Content struct then we'd simply extract it from there, instead of having finish() receive it as a parameter.) Specifically, the constructors in the auto-generated classes call: diff --git a/src/GNDStk/Component/src/getter.hpp b/src/GNDStk/Component/src/getter.hpp index a41c5b8cc..e39f989ca 100644 --- a/src/GNDStk/Component/src/getter.hpp +++ b/src/GNDStk/Component/src/getter.hpp @@ -8,10 +8,10 @@ // call getter() functions in the detail:: namespace to do most of the work. // // The motivation for having the following at all is to simplify the retrieval, -// in the derived-class getters, of certain information in the content{} struct +// in the derived-class getters, of certain information in the Content{} struct // of the derived class object. For simple data, e.g. an int or a std::string -// in the derived class' content struct, a derived-class getter will simply -// do a "return content.something", because nothing more complicated is needed. +// in the derived class' Content struct, a derived-class getter will simply +// do a "return Content.something", because nothing more complicated is needed. // So, the below functions involve circumstances where something more involved // needs to be done. diff --git a/src/GNDStk/Component/test/Component.test.cpp b/src/GNDStk/Component/test/Component.test.cpp index fcd2ed673..6232a1061 100644 --- a/src/GNDStk/Component/test/Component.test.cpp +++ b/src/GNDStk/Component/test/Component.test.cpp @@ -69,12 +69,12 @@ class DerivedData : public Component struct { int foo; double bar; - } content; + } Content; - const int &foo() const { return content.foo; } - int &foo() { return content.foo; } - const double &bar() const { return content.bar; } - double &bar() { return content.bar; } + const int &foo() const { return Content.foo; } + int &foo() { return Content.foo; } + const double &bar() const { return Content.bar; } + double &bar() { return Content.bar; } DerivedData() : Component( diff --git a/src/GNDStk/Component/test/ctor.test.cpp b/src/GNDStk/Component/test/ctor.test.cpp index 68b66ce36..791c9ce21 100644 --- a/src/GNDStk/Component/test/ctor.test.cpp +++ b/src/GNDStk/Component/test/ctor.test.cpp @@ -56,12 +56,12 @@ class DerivedSomething : public Component struct { int foo; double bar; - } content; + } Content; - const int &foo() const { return content.foo; } - int &foo() { return content.foo; } - const double &bar() const { return content.bar; } - double &bar() { return content.bar; } + const int &foo() const { return Content.foo; } + int &foo() { return Content.foo; } + const double &bar() const { return Content.bar; } + double &bar() { return Content.bar; } public: diff --git a/src/GNDStk/Component/test/detail.test.cpp b/src/GNDStk/Component/test/detail.test.cpp index c4424f3df..7a901322b 100644 --- a/src/GNDStk/Component/test/detail.test.cpp +++ b/src/GNDStk/Component/test/detail.test.cpp @@ -57,12 +57,12 @@ struct FooBar { struct { int foo; double bar; - } content; + } Content; - const int &foo() const { return content.foo; } - int &foo() { return content.foo; } - const double &bar() const { return content.bar; } - double &bar() { return content.bar; } + const int &foo() const { return Content.foo; } + int &foo() { return Content.foo; } + const double &bar() const { return Content.bar; } + double &bar() { return Content.bar; } }; diff --git a/src/GNDStk/Component/test/finish.test.cpp b/src/GNDStk/Component/test/finish.test.cpp index 330a0f977..9edac5370 100644 --- a/src/GNDStk/Component/test/finish.test.cpp +++ b/src/GNDStk/Component/test/finish.test.cpp @@ -17,9 +17,9 @@ namespace test { struct IndexStruct { struct { std::size_t index; - } content; - const std::size_t &index() const { return content.index; } - std::size_t &index() { return content.index; } + } Content; + const std::size_t &index() const { return Content.index; } + std::size_t &index() { return Content.index; } IndexStruct(const std::size_t i = 0) { index() = i; } IndexStruct(const Node &) : IndexStruct(0) { } @@ -62,7 +62,7 @@ class DerivedValue : public Component public: - // content + // Content // Typically doesn't need to be public, but we make it public here because // one of the tests involves checking these struct { @@ -77,21 +77,21 @@ class DerivedValue : public Component // functions detect and sort it. std::optional> indices = {{3,2,17,7,5,9,13,11}}; - } content; + } Content; - const int &length() const { return content.length; } - int &length() { return content.length; } + const int &length() const { return Content.length; } + int &length() { return Content.length; } - const int &start() const { return content.start; } - int &start() { return content.start; } + const int &start() const { return Content.start; } + int &start() { return Content.start; } - const std::string &valueType() const { return content.valueType; } - std::string &valueType() { return content.valueType; } + const std::string &valueType() const { return Content.valueType; } + std::string &valueType() { return Content.valueType; } const std::optional> &indices() const - { return content.indices; } + { return Content.indices; } std::optional> &indices() - { return content.indices; } + { return Content.indices; } private: @@ -138,7 +138,7 @@ class DerivedValue : public Component other, length(), start(), valueType(), indices() }, - content{other.content} + Content{other.Content} { // finish(derived) Component::finish(other); @@ -182,9 +182,9 @@ namespace test { struct LabelStruct { struct { std::string label; - } content; - const std::string &label() const { return content.label; } - std::string &label() { return content.label; } + } Content; + const std::string &label() const { return Content.label; } + std::string &label() { return Content.label; } // apparently need a char* ctor for initializer-list initialization to work LabelStruct(const char *const str = "") { label() = str; } @@ -228,7 +228,7 @@ class DerivedPlain : public Component public: - // content + // Content struct { int foo; double bar; @@ -237,18 +237,18 @@ class DerivedPlain : public Component // functions detect and sort it. std::optional> labels = {{"bc","a","p","efg","d","hi","no","jklm"}}; - } content; + } Content; - const int &foo() const { return content.foo; } - int &foo() { return content.foo; } + const int &foo() const { return Content.foo; } + int &foo() { return Content.foo; } - const double &bar() const { return content.bar; } - double &bar() { return content.bar; } + const double &bar() const { return Content.bar; } + double &bar() { return Content.bar; } const std::optional> &labels() const - { return content.labels; } + { return Content.labels; } std::optional> &labels() - { return content.labels; } + { return Content.labels; } private: @@ -289,7 +289,7 @@ class DerivedPlain : public Component other, foo(), bar(), labels() }, - content{other.content} + Content{other.Content} { // finish(derived) Component::finish(other); diff --git a/src/GNDStk/Component/test/indexnlabel.hpp b/src/GNDStk/Component/test/indexnlabel.hpp index 2eeb844b9..3378acabb 100644 --- a/src/GNDStk/Component/test/indexnlabel.hpp +++ b/src/GNDStk/Component/test/indexnlabel.hpp @@ -8,7 +8,7 @@ // Has neither index nor label struct Empty { struct { - } content; + } Content; }; @@ -18,12 +18,12 @@ struct Index { struct { int index; std::string value; - } content; + } Content; - const int &index() const { return content.index; }; - int &index() { return content.index; }; - const std::string &value() const { return content.value; }; - std::string &value() { return content.value; }; + const int &index() const { return Content.index; }; + int &index() { return Content.index; }; + const std::string &value() const { return Content.value; }; + std::string &value() { return Content.value; }; Index( const int index = 0, @@ -41,12 +41,12 @@ struct Label { struct { std::string label; std::string value; - } content; + } Content; - const std::string &label() const { return content.label; }; - std::string &label() { return content.label; }; - const std::string &value() const { return content.value; }; - std::string &value() { return content.value; }; + const std::string &label() const { return Content.label; }; + std::string &label() { return Content.label; }; + const std::string &value() const { return Content.value; }; + std::string &value() { return Content.value; }; Label( const std::string &label = "", @@ -65,14 +65,14 @@ struct IndexLabel { int index; std::string label; std::string value; - } content; + } Content; - const int &index() const { return content.index; }; - int &index() { return content.index; }; - const std::string &label() const { return content.label; }; - std::string &label() { return content.label; }; - const std::string &value() const { return content.value; }; - std::string &value() { return content.value; }; + const int &index() const { return Content.index; }; + int &index() { return Content.index; }; + const std::string &label() const { return Content.label; }; + std::string &label() { return Content.label; }; + const std::string &value() const { return Content.value; }; + std::string &value() { return Content.value; }; IndexLabel( const int index = 0, diff --git a/src/GNDStk/Component/test/prototype.hpp b/src/GNDStk/Component/test/prototype.hpp index b6b587338..2c490f6a2 100644 --- a/src/GNDStk/Component/test/prototype.hpp +++ b/src/GNDStk/Component/test/prototype.hpp @@ -151,7 +151,7 @@ class Values : public Component { mutable std::optional length; mutable Defaulted start{0}; mutable Defaulted valueType{"double"}; - } content; + } Content; // ------------------------ // Getters @@ -160,21 +160,21 @@ class Values : public Component { // length const auto &length() const - { return content.length; } + { return Content.length; } auto &length() - { return content.length; } + { return Content.length; } // start const auto &start() const - { return content.start; } + { return Content.start; } auto &start() - { return content.start; } + { return Content.start; } // valueType const auto &valueType() const - { return content.valueType; } + { return Content.valueType; } auto &valueType() - { return content.valueType; } + { return Content.valueType; } // ------------------------ // Setters @@ -222,7 +222,7 @@ class Values : public Component { this->start(), this->valueType() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -235,7 +235,7 @@ class Values : public Component { this->start(), this->valueType() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -264,7 +264,7 @@ class Values : public Component { this->start(), this->valueType() }, - content{ + Content{ length, start, valueType @@ -285,7 +285,7 @@ class Values : public Component { this->start(), this->valueType() }, - content{ + Content{ length, start == 0 ? Defaulted{0} @@ -358,7 +358,7 @@ class Link : public Component { struct { // metadata std::string href; - } content; + } Content; // ------------------------ // Getters @@ -367,9 +367,9 @@ class Link : public Component { // href const auto &href() const - { return content.href; } + { return Content.href; } auto &href() - { return content.href; } + { return Content.href; } // ------------------------ // Setters @@ -401,7 +401,7 @@ class Link : public Component { other, this->href() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -412,7 +412,7 @@ class Link : public Component { other, this->href() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -435,7 +435,7 @@ class Link : public Component { BlockData{}, this->href() }, - content{ + Content{ href } { @@ -528,7 +528,7 @@ class Grid : public Component { // children LINK_VALUES link_values; - } content; + } Content; // ------------------------ // Getters @@ -537,39 +537,39 @@ class Grid : public Component { // index const auto &index() const - { return content.index; } + { return Content.index; } auto &index() - { return content.index; } + { return Content.index; } // interpolation const auto &interpolation() const - { return content.interpolation; } + { return Content.interpolation; } auto &interpolation() - { return content.interpolation; } + { return Content.interpolation; } // label const auto &label() const - { return content.label; } + { return Content.label; } auto &label() - { return content.label; } + { return Content.label; } // style const auto &style() const - { return content.style; } + { return Content.style; } auto &style() - { return content.style; } + { return Content.style; } // unit const auto &unit() const - { return content.unit; } + { return Content.unit; } auto &unit() - { return content.unit; } + { return Content.unit; } // link_values const auto &link_values() const - { return content.link_values; } + { return Content.link_values; } auto &link_values() - { return content.link_values; } + { return Content.link_values; } // link auto link() const @@ -653,7 +653,7 @@ class Grid : public Component { this->unit(), this->link_values() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -669,7 +669,7 @@ class Grid : public Component { this->unit(), this->link_values() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -707,7 +707,7 @@ class Grid : public Component { this->unit(), this->link_values() }, - content{ + Content{ index, interpolation, label, @@ -737,7 +737,7 @@ class Grid : public Component { this->unit(), this->link_values() }, - content{ + Content{ index, interpolation == enums::Interpolation::linlin ? Defaulted @@ -819,7 +819,7 @@ class Axis : public Component { std::optional index; std::optional label; std::optional unit; - } content; + } Content; // ------------------------ // Getters @@ -828,21 +828,21 @@ class Axis : public Component { // index const auto &index() const - { return content.index; } + { return Content.index; } auto &index() - { return content.index; } + { return Content.index; } // label const auto &label() const - { return content.label; } + { return Content.label; } auto &label() - { return content.label; } + { return Content.label; } // unit const auto &unit() const - { return content.unit; } + { return Content.unit; } auto &unit() - { return content.unit; } + { return Content.unit; } // ------------------------ // Setters @@ -886,7 +886,7 @@ class Axis : public Component { this->label(), this->unit() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -899,7 +899,7 @@ class Axis : public Component { this->label(), this->unit() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -928,7 +928,7 @@ class Axis : public Component { this->label(), this->unit() }, - content{ + Content{ index, label, unit @@ -1008,7 +1008,7 @@ class Axes : public Component { // children std::vector axis_grid; - } content; + } Content; // ------------------------ // Getters @@ -1017,15 +1017,15 @@ class Axes : public Component { // href const auto &href() const - { return content.href; } + { return Content.href; } auto &href() - { return content.href; } + { return Content.href; } // axis_grid const auto &axis_grid() const - { return content.axis_grid; } + { return Content.axis_grid; } auto &axis_grid() - { return content.axis_grid; } + { return Content.axis_grid; } // axis_grid(index) const auto &axis_grid(const std::size_t &index) const @@ -1151,7 +1151,7 @@ class Axes : public Component { this->href(), this->axis_grid() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -1163,7 +1163,7 @@ class Axes : public Component { this->href(), this->axis_grid() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -1189,7 +1189,7 @@ class Axes : public Component { this->href(), this->axis_grid() }, - content{ + Content{ href, axis_grid } @@ -1278,7 +1278,7 @@ class XYs1d : public Component { // children std::optional axes; proto::Values values; - } content; + } Content; // ------------------------ // Getters @@ -1287,39 +1287,39 @@ class XYs1d : public Component { // index const auto &index() const - { return content.index; } + { return Content.index; } auto &index() - { return content.index; } + { return Content.index; } // interpolation const auto &interpolation() const - { return content.interpolation; } + { return Content.interpolation; } auto &interpolation() - { return content.interpolation; } + { return Content.interpolation; } // label const auto &label() const - { return content.label; } + { return Content.label; } auto &label() - { return content.label; } + { return Content.label; } // outerDomainValue const auto &outerDomainValue() const - { return content.outerDomainValue; } + { return Content.outerDomainValue; } auto &outerDomainValue() - { return content.outerDomainValue; } + { return Content.outerDomainValue; } // axes const auto &axes() const - { return content.axes; } + { return Content.axes; } auto &axes() - { return content.axes; } + { return Content.axes; } // values const auto &values() const - { return content.values; } + { return Content.values; } auto &values() - { return content.values; } + { return Content.values; } // ------------------------ // Setters @@ -1383,7 +1383,7 @@ class XYs1d : public Component { this->axes(), this->values() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -1399,7 +1399,7 @@ class XYs1d : public Component { this->axes(), this->values() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -1437,7 +1437,7 @@ class XYs1d : public Component { this->axes(), this->values() }, - content{ + Content{ index, interpolation, label, @@ -1467,7 +1467,7 @@ class XYs1d : public Component { this->axes(), this->values() }, - content{ + Content{ index, interpolation == enums::Interpolation::linlin ? Defaulted @@ -1555,7 +1555,7 @@ class Regions1d : public Component { // children std::vector XYs1d; std::optional axes; - } content; + } Content; // ------------------------ // Getters @@ -1564,21 +1564,21 @@ class Regions1d : public Component { // label const auto &label() const - { return content.label; } + { return Content.label; } auto &label() - { return content.label; } + { return Content.label; } // outerDomainValue const auto &outerDomainValue() const - { return content.outerDomainValue; } + { return Content.outerDomainValue; } auto &outerDomainValue() - { return content.outerDomainValue; } + { return Content.outerDomainValue; } // XYs1d const auto &XYs1d() const - { return content.XYs1d; } + { return Content.XYs1d; } auto &XYs1d() - { return content.XYs1d; } + { return Content.XYs1d; } // XYs1d(index) const auto &XYs1d(const std::size_t &index) const @@ -1594,9 +1594,9 @@ class Regions1d : public Component { // axes const auto &axes() const - { return content.axes; } + { return Content.axes; } auto &axes() - { return content.axes; } + { return Content.axes; } // ------------------------ // Setters @@ -1662,7 +1662,7 @@ class Regions1d : public Component { this->XYs1d(), this->axes() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -1676,7 +1676,7 @@ class Regions1d : public Component { this->XYs1d(), this->axes() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -1708,7 +1708,7 @@ class Regions1d : public Component { this->XYs1d(), this->axes() }, - content{ + Content{ label, outerDomainValue, XYs1d, @@ -1783,7 +1783,7 @@ class CrossSection : public Component { struct { // children std::vector XYs1d_regions1d; - } content; + } Content; // ------------------------ // Getters @@ -1792,9 +1792,9 @@ class CrossSection : public Component { // XYs1d_regions1d const auto &XYs1d_regions1d() const - { return content.XYs1d_regions1d; } + { return Content.XYs1d_regions1d; } auto &XYs1d_regions1d() - { return content.XYs1d_regions1d; } + { return Content.XYs1d_regions1d; } // XYs1d_regions1d(index) const auto &XYs1d_regions1d(const std::size_t &index) const @@ -1914,7 +1914,7 @@ class CrossSection : public Component { other, this->XYs1d_regions1d() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -1925,7 +1925,7 @@ class CrossSection : public Component { other, this->XYs1d_regions1d() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -1948,7 +1948,7 @@ class CrossSection : public Component { BlockData{}, this->XYs1d_regions1d() }, - content{ + Content{ XYs1d_regions1d } { @@ -2027,7 +2027,7 @@ class Reaction : public Component { // children proto::CrossSection crossSection; - } content; + } Content; // ------------------------ // Getters @@ -2036,27 +2036,27 @@ class Reaction : public Component { // ENDF_MT const auto &ENDF_MT() const - { return content.ENDF_MT; } + { return Content.ENDF_MT; } auto &ENDF_MT() - { return content.ENDF_MT; } + { return Content.ENDF_MT; } // fissionGenre const auto &fissionGenre() const - { return content.fissionGenre; } + { return Content.fissionGenre; } auto &fissionGenre() - { return content.fissionGenre; } + { return Content.fissionGenre; } // label const auto &label() const - { return content.label; } + { return Content.label; } auto &label() - { return content.label; } + { return Content.label; } // crossSection const auto &crossSection() const - { return content.crossSection; } + { return Content.crossSection; } auto &crossSection() - { return content.crossSection; } + { return Content.crossSection; } // ------------------------ // Setters @@ -2106,7 +2106,7 @@ class Reaction : public Component { this->label(), this->crossSection() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -2120,7 +2120,7 @@ class Reaction : public Component { this->label(), this->crossSection() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -2152,7 +2152,7 @@ class Reaction : public Component { this->label(), this->crossSection() }, - content{ + Content{ ENDF_MT, fissionGenre, label, @@ -2222,7 +2222,7 @@ class Reactions : public Component { struct { // children std::vector reaction; - } content; + } Content; // ------------------------ // Getters @@ -2231,9 +2231,9 @@ class Reactions : public Component { // reaction const auto &reaction() const - { return content.reaction; } + { return Content.reaction; } auto &reaction() - { return content.reaction; } + { return Content.reaction; } // reaction(index) const auto &reaction(const std::size_t &index) const @@ -2293,7 +2293,7 @@ class Reactions : public Component { other, this->reaction() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -2304,7 +2304,7 @@ class Reactions : public Component { other, this->reaction() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -2327,7 +2327,7 @@ class Reactions : public Component { BlockData{}, this->reaction() }, - content{ + Content{ reaction } { @@ -2415,7 +2415,7 @@ class ReactionSuite : public Component { // children std::optional reactions; - } content; + } Content; // ------------------------ // Getters @@ -2424,45 +2424,45 @@ class ReactionSuite : public Component { // evaluation const auto &evaluation() const - { return content.evaluation; } + { return Content.evaluation; } auto &evaluation() - { return content.evaluation; } + { return Content.evaluation; } // format const auto &format() const - { return content.format; } + { return Content.format; } auto &format() - { return content.format; } + { return Content.format; } // interaction const auto &interaction() const - { return content.interaction; } + { return Content.interaction; } auto &interaction() - { return content.interaction; } + { return Content.interaction; } // projectile const auto &projectile() const - { return content.projectile; } + { return Content.projectile; } auto &projectile() - { return content.projectile; } + { return Content.projectile; } // projectileFrame const auto &projectileFrame() const - { return content.projectileFrame; } + { return Content.projectileFrame; } auto &projectileFrame() - { return content.projectileFrame; } + { return Content.projectileFrame; } // target const auto &target() const - { return content.target; } + { return Content.target; } auto &target() - { return content.target; } + { return Content.target; } // reactions const auto &reactions() const - { return content.reactions; } + { return Content.reactions; } auto &reactions() - { return content.reactions; } + { return Content.reactions; } // ------------------------ // Setters @@ -2530,7 +2530,7 @@ class ReactionSuite : public Component { this->target(), this->reactions() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -2547,7 +2547,7 @@ class ReactionSuite : public Component { this->target(), this->reactions() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -2588,7 +2588,7 @@ class ReactionSuite : public Component { this->target(), this->reactions() }, - content{ + Content{ evaluation, format, interaction, diff --git a/src/GNDStk/Component/test/sort.test.cpp b/src/GNDStk/Component/test/sort.test.cpp index 63aaf9187..4af3d42ab 100644 --- a/src/GNDStk/Component/test/sort.test.cpp +++ b/src/GNDStk/Component/test/sort.test.cpp @@ -51,13 +51,13 @@ struct IndexLabel { struct { int index; std::string label; - } content; + } Content; std::string value; - const std::size_t &index() const { return content.index; }; - std::size_t &index() { return content.index; }; - const std::string &label() const { return content.label; }; - std::string &label() { return content.label; }; + const std::size_t &index() const { return Content.index; }; + std::size_t &index() { return Content.index; }; + const std::string &label() const { return Content.label; }; + std::string &label() { return Content.label; }; IndexLabel( const int index = 0, diff --git a/src/GNDStk/precision/test/precision.test.hpp b/src/GNDStk/precision/test/precision.test.hpp index 8d51ad75f..494e8d827 100644 --- a/src/GNDStk/precision/test/precision.test.hpp +++ b/src/GNDStk/precision/test/precision.test.hpp @@ -56,7 +56,7 @@ class Floats : public Component { mutable std::optional length; mutable Defaulted start{0}; mutable std::optional valueType; - } content; + } Content; // ------------------------ // Getters @@ -65,21 +65,21 @@ class Floats : public Component { // length const std::optional &length() const - { return content.length; } + { return Content.length; } std::optional &length() - { return content.length; } + { return Content.length; } // start const Defaulted &start() const - { return content.start; } + { return Content.start; } Defaulted &start() - { return content.start; } + { return Content.start; } // valueType const std::optional &valueType() const - { return content.valueType; } + { return Content.valueType; } std::optional &valueType() - { return content.valueType; } + { return Content.valueType; } // ------------------------ // Setters @@ -125,7 +125,7 @@ class Floats : public Component { this->start(), this->valueType() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -138,7 +138,7 @@ class Floats : public Component { this->start(), this->valueType() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -168,7 +168,7 @@ class Floats : public Component { this->start(), this->valueType() }, - content{ + Content{ length, Defaulted(defaults.start,start), valueType @@ -262,7 +262,7 @@ class Doubles : public Component { mutable std::optional length; mutable Defaulted start{0}; mutable std::optional valueType; - } content; + } Content; // ------------------------ // Getters @@ -271,21 +271,21 @@ class Doubles : public Component { // length const std::optional &length() const - { return content.length; } + { return Content.length; } std::optional &length() - { return content.length; } + { return Content.length; } // start const Defaulted &start() const - { return content.start; } + { return Content.start; } Defaulted &start() - { return content.start; } + { return Content.start; } // valueType const std::optional &valueType() const - { return content.valueType; } + { return Content.valueType; } std::optional &valueType() - { return content.valueType; } + { return Content.valueType; } // ------------------------ // Setters @@ -331,7 +331,7 @@ class Doubles : public Component { this->start(), this->valueType() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -344,7 +344,7 @@ class Doubles : public Component { this->start(), this->valueType() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -374,7 +374,7 @@ class Doubles : public Component { this->start(), this->valueType() }, - content{ + Content{ length, Defaulted(defaults.start,start), valueType @@ -468,7 +468,7 @@ class Quads : public Component { mutable std::optional length; mutable Defaulted start{0}; mutable std::optional valueType; - } content; + } Content; // ------------------------ // Getters @@ -477,21 +477,21 @@ class Quads : public Component { // length const std::optional &length() const - { return content.length; } + { return Content.length; } std::optional &length() - { return content.length; } + { return Content.length; } // start const Defaulted &start() const - { return content.start; } + { return Content.start; } Defaulted &start() - { return content.start; } + { return Content.start; } // valueType const std::optional &valueType() const - { return content.valueType; } + { return Content.valueType; } std::optional &valueType() - { return content.valueType; } + { return Content.valueType; } // ------------------------ // Setters @@ -537,7 +537,7 @@ class Quads : public Component { this->start(), this->valueType() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -550,7 +550,7 @@ class Quads : public Component { this->start(), this->valueType() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -580,7 +580,7 @@ class Quads : public Component { this->start(), this->valueType() }, - content{ + Content{ length, Defaulted(defaults.start,start), valueType @@ -674,7 +674,7 @@ class Reals : public Component { mutable std::optional length; mutable Defaulted start{0}; mutable std::optional valueType; - } content; + } Content; // ------------------------ // Getters @@ -683,21 +683,21 @@ class Reals : public Component { // length const std::optional &length() const - { return content.length; } + { return Content.length; } std::optional &length() - { return content.length; } + { return Content.length; } // start const Defaulted &start() const - { return content.start; } + { return Content.start; } Defaulted &start() - { return content.start; } + { return Content.start; } // valueType const std::optional &valueType() const - { return content.valueType; } + { return Content.valueType; } std::optional &valueType() - { return content.valueType; } + { return Content.valueType; } // ------------------------ // Setters @@ -743,7 +743,7 @@ class Reals : public Component { this->start(), this->valueType() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -756,7 +756,7 @@ class Reals : public Component { this->start(), this->valueType() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -786,7 +786,7 @@ class Reals : public Component { this->start(), this->valueType() }, - content{ + Content{ length, Defaulted(defaults.start,start), valueType @@ -926,7 +926,7 @@ class Numbers : public Component { std::optional floats; std::optional quads; std::optional reals; - } content; + } Content; // ------------------------ // Getters @@ -935,63 +935,63 @@ class Numbers : public Component { // adouble const Defaulted &adouble() const - { return content.adouble; } + { return Content.adouble; } Defaulted &adouble() - { return content.adouble; } + { return Content.adouble; } // afloat const Defaulted &afloat() const - { return content.afloat; } + { return Content.afloat; } Defaulted &afloat() - { return content.afloat; } + { return Content.afloat; } // aquad const Defaulted &aquad() const - { return content.aquad; } + { return Content.aquad; } Defaulted &aquad() - { return content.aquad; } + { return Content.aquad; } // bdouble const Defaulted &bdouble() const - { return content.bdouble; } + { return Content.bdouble; } Defaulted &bdouble() - { return content.bdouble; } + { return Content.bdouble; } // bfloat const Defaulted &bfloat() const - { return content.bfloat; } + { return Content.bfloat; } Defaulted &bfloat() - { return content.bfloat; } + { return Content.bfloat; } // bquad const Defaulted &bquad() const - { return content.bquad; } + { return Content.bquad; } Defaulted &bquad() - { return content.bquad; } + { return Content.bquad; } // doubles const std::optional &doubles() const - { return content.doubles; } + { return Content.doubles; } std::optional &doubles() - { return content.doubles; } + { return Content.doubles; } // floats const std::optional &floats() const - { return content.floats; } + { return Content.floats; } std::optional &floats() - { return content.floats; } + { return Content.floats; } // quads const std::optional &quads() const - { return content.quads; } + { return Content.quads; } std::optional &quads() - { return content.quads; } + { return Content.quads; } // reals const std::optional &reals() const - { return content.reals; } + { return Content.reals; } std::optional &reals() - { return content.reals; } + { return Content.reals; } // ------------------------ // Setters @@ -1089,7 +1089,7 @@ class Numbers : public Component { this->quads(), this->reals() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -1109,7 +1109,7 @@ class Numbers : public Component { this->quads(), this->reals() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } @@ -1160,7 +1160,7 @@ class Numbers : public Component { this->quads(), this->reals() }, - content{ + Content{ Defaulted(defaults.adouble,adouble), Defaulted(defaults.afloat,afloat), Defaulted(defaults.aquad,aquad), diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index ea660a41f..36f65fdef 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -71,7 +71,7 @@ class Axes : public Component { std::optional href; // children - variant std::vector axis_grid; - } content; + } Content; // ------------------------ // Getters @@ -80,15 +80,15 @@ class Axes : public Component { // href const std::optional &href() const - { return content.href; } + { return Content.href; } std::optional &href() - { return content.href; } + { return Content.href; } // axis_grid const std::vector &axis_grid() const - { return content.axis_grid; } + { return Content.axis_grid; } std::vector &axis_grid() - { return content.axis_grid; } + { return Content.axis_grid; } // axis_grid(index/label/Lookup) template> @@ -175,7 +175,7 @@ class Axes : public Component { this->href(), this->axis_grid() }, - content{ + Content{ href, axis_grid } @@ -190,7 +190,7 @@ class Axes : public Component { this->href(), this->axis_grid() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -202,7 +202,7 @@ class Axes : public Component { this->href(), this->axis_grid() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index cf17897fa..ad412c3d9 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -63,7 +63,7 @@ class Axis : public Component { std::optional index; std::optional label; std::optional unit; - } content; + } Content; // ------------------------ // Getters @@ -72,21 +72,21 @@ class Axis : public Component { // index const std::optional &index() const - { return content.index; } + { return Content.index; } std::optional &index() - { return content.index; } + { return Content.index; } // label const std::optional &label() const - { return content.label; } + { return Content.label; } std::optional &label() - { return content.label; } + { return Content.label; } // unit const std::optional &unit() const - { return content.unit; } + { return Content.unit; } std::optional &unit() - { return content.unit; } + { return Content.unit; } // ------------------------ // Setters @@ -125,7 +125,7 @@ class Axis : public Component { this->label(), this->unit() }, - content{ + Content{ index, label, unit @@ -142,7 +142,7 @@ class Axis : public Component { this->label(), this->unit() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -155,7 +155,7 @@ class Axis : public Component { this->label(), this->unit() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index 557091a59..e72788eeb 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -92,7 +92,7 @@ class Grid : public Component { std::optional unit; // children - variant link_values_t link_values; - } content; + } Content; // ------------------------ // Getters @@ -101,39 +101,39 @@ class Grid : public Component { // index const std::optional &index() const - { return content.index; } + { return Content.index; } std::optional &index() - { return content.index; } + { return Content.index; } // interpolation const Defaulted &interpolation() const - { return content.interpolation; } + { return Content.interpolation; } Defaulted &interpolation() - { return content.interpolation; } + { return Content.interpolation; } // label const std::optional &label() const - { return content.label; } + { return Content.label; } std::optional &label() - { return content.label; } + { return Content.label; } // style const std::optional &style() const - { return content.style; } + { return Content.style; } std::optional &style() - { return content.style; } + { return Content.style; } // unit const std::optional &unit() const - { return content.unit; } + { return Content.unit; } std::optional &unit() - { return content.unit; } + { return Content.unit; } // link_values const link_values_t &link_values() const - { return content.link_values; } + { return Content.link_values; } link_values_t &link_values() - { return content.link_values; } + { return Content.link_values; } // values const containers::Values *values() const @@ -216,7 +216,7 @@ class Grid : public Component { this->unit(), this->link_values() }, - content{ + Content{ index, Defaulted(defaults.interpolation,interpolation), label, @@ -239,7 +239,7 @@ class Grid : public Component { this->unit(), this->link_values() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -255,7 +255,7 @@ class Grid : public Component { this->unit(), this->link_values() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index 518d27a79..020113ebd 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -57,7 +57,7 @@ class Link : public Component { struct { // metadata std::string href; - } content; + } Content; // ------------------------ // Getters @@ -66,9 +66,9 @@ class Link : public Component { // href const std::string &href() const - { return content.href; } + { return Content.href; } std::string &href() - { return content.href; } + { return Content.href; } // ------------------------ // Setters @@ -93,7 +93,7 @@ class Link : public Component { BlockData{}, this->href() }, - content{ + Content{ href } { @@ -106,7 +106,7 @@ class Link : public Component { other.baseBlockData(), this->href() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -117,7 +117,7 @@ class Link : public Component { other.baseBlockData(), this->href() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index 2cc380ec9..673974f15 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -72,7 +72,7 @@ class Regions1d : public Component { // children std::optional axes; std::vector XYs1d; - } content; + } Content; // ------------------------ // Getters @@ -81,27 +81,27 @@ class Regions1d : public Component { // label const std::optional &label() const - { return content.label; } + { return Content.label; } std::optional &label() - { return content.label; } + { return Content.label; } // outerDomainValue const std::optional &outerDomainValue() const - { return content.outerDomainValue; } + { return Content.outerDomainValue; } std::optional &outerDomainValue() - { return content.outerDomainValue; } + { return Content.outerDomainValue; } // axes const std::optional &axes() const - { return content.axes; } + { return Content.axes; } std::optional &axes() - { return content.axes; } + { return Content.axes; } // XYs1d const std::vector &XYs1d() const - { return content.XYs1d; } + { return Content.XYs1d; } std::vector &XYs1d() - { return content.XYs1d; } + { return Content.XYs1d; } // XYs1d(index/label/Lookup) template> @@ -166,7 +166,7 @@ class Regions1d : public Component { this->axes(), this->XYs1d() }, - content{ + Content{ label, outerDomainValue, axes, @@ -185,7 +185,7 @@ class Regions1d : public Component { this->axes(), this->XYs1d() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -199,7 +199,7 @@ class Regions1d : public Component { this->axes(), this->XYs1d() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index 6c53e1487..c3a2accee 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -74,7 +74,7 @@ class Values : public Component { mutable Defaulted valueType{"double"}; mutable Defaulted start{0}; mutable std::optional length; - } content; + } Content; // ------------------------ // Getters @@ -83,21 +83,21 @@ class Values : public Component { // valueType const Defaulted &valueType() const - { return content.valueType; } + { return Content.valueType; } Defaulted &valueType() - { return content.valueType; } + { return Content.valueType; } // start const Defaulted &start() const - { return content.start; } + { return Content.start; } Defaulted &start() - { return content.start; } + { return Content.start; } // length const std::optional &length() const - { return content.length; } + { return Content.length; } std::optional &length() - { return content.length; } + { return Content.length; } // ------------------------ // Setters @@ -141,7 +141,7 @@ class Values : public Component { this->start(), this->length() }, - content{ + Content{ Defaulted(defaults.valueType,valueType), Defaulted(defaults.start,start), length @@ -158,7 +158,7 @@ class Values : public Component { this->start(), this->length() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -171,7 +171,7 @@ class Values : public Component { this->start(), this->length() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index e344f399f..93e3662e5 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -87,7 +87,7 @@ class XYs1d : public Component { // children std::optional axes; containers::Values values; - } content; + } Content; // ------------------------ // Getters @@ -96,39 +96,39 @@ class XYs1d : public Component { // index const std::optional &index() const - { return content.index; } + { return Content.index; } std::optional &index() - { return content.index; } + { return Content.index; } // interpolation const Defaulted &interpolation() const - { return content.interpolation; } + { return Content.interpolation; } Defaulted &interpolation() - { return content.interpolation; } + { return Content.interpolation; } // label const std::optional &label() const - { return content.label; } + { return Content.label; } std::optional &label() - { return content.label; } + { return Content.label; } // outerDomainValue const std::optional &outerDomainValue() const - { return content.outerDomainValue; } + { return Content.outerDomainValue; } std::optional &outerDomainValue() - { return content.outerDomainValue; } + { return Content.outerDomainValue; } // axes const std::optional &axes() const - { return content.axes; } + { return Content.axes; } std::optional &axes() - { return content.axes; } + { return Content.axes; } // values const containers::Values &values() const - { return content.values; } + { return Content.values; } containers::Values &values() - { return content.values; } + { return Content.values; } // ------------------------ // Setters @@ -191,7 +191,7 @@ class XYs1d : public Component { this->axes(), this->values() }, - content{ + Content{ index, Defaulted(defaults.interpolation,interpolation), label, @@ -214,7 +214,7 @@ class XYs1d : public Component { this->axes(), this->values() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -230,7 +230,7 @@ class XYs1d : public Component { this->axes(), this->values() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index 260faee7b..7abc1c799 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -66,7 +66,7 @@ class CrossSection : public Component { struct { // children - variant std::vector XYs1d_regions1d; - } content; + } Content; // ------------------------ // Getters @@ -75,9 +75,9 @@ class CrossSection : public Component { // XYs1d_regions1d const std::vector &XYs1d_regions1d() const - { return content.XYs1d_regions1d; } + { return Content.XYs1d_regions1d; } std::vector &XYs1d_regions1d() - { return content.XYs1d_regions1d; } + { return Content.XYs1d_regions1d; } // XYs1d_regions1d(index/label/Lookup) template> @@ -157,7 +157,7 @@ class CrossSection : public Component { BlockData{}, this->XYs1d_regions1d() }, - content{ + Content{ XYs1d_regions1d } { @@ -170,7 +170,7 @@ class CrossSection : public Component { other.baseBlockData(), this->XYs1d_regions1d() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -181,7 +181,7 @@ class CrossSection : public Component { other.baseBlockData(), this->XYs1d_regions1d() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index 4fab6e9c0..9af39651f 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -71,7 +71,7 @@ class Reaction : public Component { std::string label; // children transport::CrossSection crossSection; - } content; + } Content; // ------------------------ // Getters @@ -80,27 +80,27 @@ class Reaction : public Component { // ENDF_MT const int &ENDF_MT() const - { return content.ENDF_MT; } + { return Content.ENDF_MT; } int &ENDF_MT() - { return content.ENDF_MT; } + { return Content.ENDF_MT; } // fissionGenre const std::optional &fissionGenre() const - { return content.fissionGenre; } + { return Content.fissionGenre; } std::optional &fissionGenre() - { return content.fissionGenre; } + { return Content.fissionGenre; } // label const std::string &label() const - { return content.label; } + { return Content.label; } std::string &label() - { return content.label; } + { return Content.label; } // crossSection const transport::CrossSection &crossSection() const - { return content.crossSection; } + { return Content.crossSection; } transport::CrossSection &crossSection() - { return content.crossSection; } + { return Content.crossSection; } // ------------------------ // Setters @@ -146,7 +146,7 @@ class Reaction : public Component { this->label(), this->crossSection() }, - content{ + Content{ ENDF_MT, fissionGenre, label, @@ -165,7 +165,7 @@ class Reaction : public Component { this->label(), this->crossSection() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -179,7 +179,7 @@ class Reaction : public Component { this->label(), this->crossSection() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index 3f2d6e479..98f650c1b 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -80,7 +80,7 @@ class ReactionSuite : public Component { std::optional interaction; // children std::optional reactions; - } content; + } Content; // ------------------------ // Getters @@ -89,45 +89,45 @@ class ReactionSuite : public Component { // evaluation const std::string &evaluation() const - { return content.evaluation; } + { return Content.evaluation; } std::string &evaluation() - { return content.evaluation; } + { return Content.evaluation; } // format const std::string &format() const - { return content.format; } + { return Content.format; } std::string &format() - { return content.format; } + { return Content.format; } // projectile const std::string &projectile() const - { return content.projectile; } + { return Content.projectile; } std::string &projectile() - { return content.projectile; } + { return Content.projectile; } // projectileFrame const enums::Frame &projectileFrame() const - { return content.projectileFrame; } + { return Content.projectileFrame; } enums::Frame &projectileFrame() - { return content.projectileFrame; } + { return Content.projectileFrame; } // target const std::string &target() const - { return content.target; } + { return Content.target; } std::string &target() - { return content.target; } + { return Content.target; } // interaction const std::optional &interaction() const - { return content.interaction; } + { return Content.interaction; } std::optional &interaction() - { return content.interaction; } + { return Content.interaction; } // reactions const std::optional &reactions() const - { return content.reactions; } + { return Content.reactions; } std::optional &reactions() - { return content.reactions; } + { return Content.reactions; } // ------------------------ // Setters @@ -194,7 +194,7 @@ class ReactionSuite : public Component { this->interaction(), this->reactions() }, - content{ + Content{ evaluation, format, projectile, @@ -219,7 +219,7 @@ class ReactionSuite : public Component { this->interaction(), this->reactions() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -236,7 +236,7 @@ class ReactionSuite : public Component { this->interaction(), this->reactions() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index 08962b688..650940b8c 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -60,7 +60,7 @@ class Reactions : public Component { struct { // children std::vector reaction; - } content; + } Content; // ------------------------ // Getters @@ -69,9 +69,9 @@ class Reactions : public Component { // reaction const std::vector &reaction() const - { return content.reaction; } + { return Content.reaction; } std::vector &reaction() - { return content.reaction; } + { return Content.reaction; } // reaction(index/label/Lookup) template> @@ -115,7 +115,7 @@ class Reactions : public Component { BlockData{}, this->reaction() }, - content{ + Content{ reaction } { @@ -128,7 +128,7 @@ class Reactions : public Component { other.baseBlockData(), this->reaction() }, - content{other.content} + Content{other.Content} { Component::finish(other); } @@ -139,7 +139,7 @@ class Reactions : public Component { other.baseBlockData(), this->reaction() }, - content{std::move(other.content)} + Content{std::move(other.Content)} { Component::finish(other); } From b693f6613288c33ebc508e00cf309163de1019c6 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 23 Mar 2022 20:19:39 -0600 Subject: [PATCH 083/235] Some fixes; and consolidated some code. Made miscellaneous small improvements in comments, names, etc. BlockData now has implicit conversion to vector, when warranted. It can be used where .get() was previously required. Fixed the performance issue when default-constructing certain generated classes under certain circumstances. Fixed some outdated (so, wrong) comments and strings in a couple of the test codes. --- docs/primer.rst | 4 +- src/GNDStk/BlockData.hpp | 18 +++++-- src/GNDStk/BlockData/test/CMakeLists.txt | 1 + src/GNDStk/BlockData/test/convert.test.cpp | 53 ++++++++++++++++++++ src/GNDStk/Component/src/fromNode.hpp | 3 +- src/GNDStk/Component/src/read.hpp | 4 +- src/GNDStk/Component/src/sort.hpp | 2 +- src/GNDStk/Component/src/toNode.hpp | 2 +- src/GNDStk/Component/src/write.hpp | 6 +-- src/GNDStk/HDF5/src/ctor.hpp | 2 +- src/GNDStk/HDF5/src/read.hpp | 2 +- src/GNDStk/HDF5/src/write.hpp | 7 +-- src/GNDStk/JSON/src/read.hpp | 2 +- src/GNDStk/JSON/src/write.hpp | 2 +- src/GNDStk/Node/src/read.hpp | 32 ++++++------ src/GNDStk/Node/src/write.hpp | 58 ++++++++++------------ src/GNDStk/Tree/src/ctor.hpp | 4 +- src/GNDStk/Tree/src/reset.hpp | 10 ++-- src/GNDStk/Tree/test/read.test.cpp | 6 +-- src/GNDStk/Tree/test/write.test.cpp | 20 ++++---- src/GNDStk/XML/src/read.hpp | 2 +- src/GNDStk/XML/src/write.hpp | 2 +- src/GNDStk/convert/src/HDF5.hpp | 17 ++++++- src/GNDStk/utility.hpp | 13 +++++ 24 files changed, 179 insertions(+), 93 deletions(-) create mode 100644 src/GNDStk/BlockData/test/convert.test.cpp diff --git a/docs/primer.rst b/docs/primer.rst index 3f3c789b0..d0dbdfa1a 100644 --- a/docs/primer.rst +++ b/docs/primer.rst @@ -207,7 +207,7 @@ Here's a simple code that reads the XML format GNDS file named Obviously, but worth a reminder, this assumes that the file resides right there, in the directory from which this code is run. If it doesn't, include a suitable -absolute or relative path in the file name string. We, and no doubt everyone +absolute or relative path in the file name. We, and no doubt everyone reading this, have probably made this mistake often enough over the years. ``Tree`` is GNDStk's data structure for holding an entire GNDS hierarchy, a.k.a. @@ -323,7 +323,7 @@ then GNDStk will write file ``pu239.xml`` in JSON format, as you asked for in the second argument, but will warn that the file extension is inconsistent with the format you asked for. -What if the file name extension isn't given, or isn't recognized, *and* a format +What if the file extension isn't given, or isn't recognized, *and* a format isn't forced with a second argument? That is, what if we wrote, for example, ``pu239.write("pu239")``? In that case, ``write`` writes the ``Tree`` into a simple output format that we created largely for debugging purposes. You diff --git a/src/GNDStk/BlockData.hpp b/src/GNDStk/BlockData.hpp index 41dfb5725..baff78af9 100644 --- a/src/GNDStk/BlockData.hpp +++ b/src/GNDStk/BlockData.hpp @@ -69,16 +69,16 @@ class BlockData { std::string rawstring; // Vector of . + // *** This will be used if, and only if, DATATYPE == void. // Mutable, so that we can defer processing of the raw string into // a vector until, and unless, a caller *asks* for the vector. - // This will be used if, and only if, DATATYPE == void. mutable VariantOfVectors variant; // Vector of - // This will be used if, and only if, DATATYPE != void. + // *** This will be used if, and only if, DATATYPE != void. // data_t is used in a few places where, without it, we'd create compilation // errors by using "void" in invalid ways. The "int" below is arbitrary - - // essentially a placeholder; the following is only used when !runtime. + // basically a placeholder - because the following is used only if !runtime. using data_t = std::conditional_t; mutable std::vector vector; @@ -145,4 +145,16 @@ class BlockData { // From string or vector; the former == calling our raw string setter #include "GNDStk/BlockData/src/assign.hpp" + // Conversion to vector + // *** Available if, and only if, DATATYPE != void. + template< + class T = DATATYPE, + class = std::enable_if_t> + > + operator std::vector() const + { + // get(), not vector; get() handles properly if the string is active + return get(); + } + }; // class BlockData diff --git a/src/GNDStk/BlockData/test/CMakeLists.txt b/src/GNDStk/BlockData/test/CMakeLists.txt index c8916af70..442f8a36d 100644 --- a/src/GNDStk/BlockData/test/CMakeLists.txt +++ b/src/GNDStk/BlockData/test/CMakeLists.txt @@ -2,6 +2,7 @@ add_executable( GNDStk.BlockData.test BlockData.test.cpp assign.test.cpp + convert.test.cpp detail.test.cpp fromNode.test.cpp get.test.cpp diff --git a/src/GNDStk/BlockData/test/convert.test.cpp b/src/GNDStk/BlockData/test/convert.test.cpp new file mode 100644 index 000000000..b41c3848c --- /dev/null +++ b/src/GNDStk/BlockData/test/convert.test.cpp @@ -0,0 +1,53 @@ + +#include "catch.hpp" +#include "GNDStk.hpp" + +using namespace njoy::GNDStk; + +SCENARIO("BlockData conversion to vector") { + GIVEN("A BlockData object") { + + { + using T = int; + BlockData b; + b.start(2).length(6).string("-12 34 -56"); + std::vector myVector = b; + CHECK(myVector.size() == 6); + CHECK(myVector[0] == 0); + CHECK(myVector[1] == 0); + CHECK(myVector[2] == -12); + CHECK(myVector[3] == 34); + CHECK(myVector[4] == -56); + CHECK(myVector[5] == 0); + } + + { + using T = double; + BlockData b; + b.start(2).length(6).string("1.2 3.4 5.6"); + std::vector myVector = b; + CHECK(myVector.size() == 6); + CHECK(myVector[0] == 0); + CHECK(myVector[1] == 0); + CHECK(myVector[2] == 1.2); + CHECK(myVector[3] == 3.4); + CHECK(myVector[4] == 5.6); + CHECK(myVector[5] == 0); + } + + { + using T = std::string; + BlockData b; + b.start(2).length(6).string("ab cd ef"); + std::vector myVector = b; + CHECK(myVector.size() == 6); + CHECK(myVector[0] == ""); + CHECK(myVector[1] == ""); + CHECK(myVector[2] == "ab"); + CHECK(myVector[3] == "cd"); + CHECK(myVector[4] == "ef"); + CHECK(myVector[5] == ""); + } + + } // GIVEN +} // SCENARIO diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index 23f98fe4c..9be975b3f 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -35,7 +35,8 @@ void fromNode(const Node &node) assert(0 == links.size()); } else { // retrieve the node's data by doing a multi-query - const auto tup = node(toKeywordTup(DERIVED::keys())); + static const auto keytup = toKeywordTup(DERIVED::keys()); + const auto tup = node(keytup); // consistency check assert(std::tuple_size::value == links.size()); diff --git a/src/GNDStk/Component/src/read.hpp b/src/GNDStk/Component/src/read.hpp index 2be4c96ab..fa9c94c8b 100644 --- a/src/GNDStk/Component/src/read.hpp +++ b/src/GNDStk/Component/src/read.hpp @@ -17,7 +17,7 @@ std::istream &read( return ret; } -// read(file name, FileType) +// read(file, FileType) bool read( const std::string &filename, const FileType format = FileType::guess, @@ -41,7 +41,7 @@ std::istream &read( return ret; } -// read(file name, string) +// read(file, string) bool read( const std::string &filename, const std::string &format, diff --git a/src/GNDStk/Component/src/sort.hpp b/src/GNDStk/Component/src/sort.hpp index b21f0ed1f..35765a08f 100644 --- a/src/GNDStk/Component/src/sort.hpp +++ b/src/GNDStk/Component/src/sort.hpp @@ -11,7 +11,7 @@ void sort() assert(0 == links.size()); } else { // Make tuple (of individual keys) from DERIVED::keys() - const auto tup = toKeywordTup(DERIVED::keys()).tup; + static const auto tup = toKeywordTup(DERIVED::keys()).tup; // Consistency check assert(std::tuple_size::value == links.size()); diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index 3707c8677..1c38cf6f5 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -23,7 +23,7 @@ operator Node() const assert(0 == links.size()); } else { // make tuple (of individual keys) from DERIVED::keys() - const auto tup = toKeywordTup(DERIVED::keys()).tup; + static const auto tup = toKeywordTup(DERIVED::keys()).tup; // consistency check assert(std::tuple_size::value == links.size()); diff --git a/src/GNDStk/Component/src/write.hpp b/src/GNDStk/Component/src/write.hpp index c1b00e5e6..8e07e2a20 100644 --- a/src/GNDStk/Component/src/write.hpp +++ b/src/GNDStk/Component/src/write.hpp @@ -20,7 +20,7 @@ std::ostream &write(std::ostream &os, const int level) const assert(0 == links.size()); } else { // Make tuple (of individual keys) from DERIVED::keys() - const auto tup = toKeywordTup(DERIVED::keys()).tup; + static const auto tup = toKeywordTup(DERIVED::keys()).tup; // Consistency check assert(std::tuple_size::value == links.size()); @@ -135,7 +135,7 @@ std::ostream &write( return Node(*this).write(os, format, decl); } -// write(file name, FileType) +// write(file, FileType) bool write( const std::string &filename, const FileType format = FileType::guess, @@ -153,7 +153,7 @@ std::ostream &write( return Node(*this).write(os, format, decl); } -// write(file name, string) +// write(file, string) bool write( const std::string &filename, const std::string &format, diff --git a/src/GNDStk/HDF5/src/ctor.hpp b/src/GNDStk/HDF5/src/ctor.hpp index ebc14baf9..5d17fd93f 100644 --- a/src/GNDStk/HDF5/src/ctor.hpp +++ b/src/GNDStk/HDF5/src/ctor.hpp @@ -15,7 +15,7 @@ HDF5(HDF5 &&other) : filePtr (std::move(other.filePtr )), fileDesc(std::move(other.fileDesc)) { - other.filePtr = nullptr; + other.filePtr = nullptr; other.fileDesc = 0; } diff --git a/src/GNDStk/HDF5/src/read.hpp b/src/GNDStk/HDF5/src/read.hpp index c2767a5e4..32a324d5a 100644 --- a/src/GNDStk/HDF5/src/read.hpp +++ b/src/GNDStk/HDF5/src/read.hpp @@ -67,7 +67,7 @@ std::istream &read(std::istream &is) // ----------------------------------------------------------------------------- -// read(file name) +// read(file) // ----------------------------------------------------------------------------- bool read(const std::string &filename) diff --git a/src/GNDStk/HDF5/src/write.hpp b/src/GNDStk/HDF5/src/write.hpp index cc8c8e504..5fe7c45d4 100644 --- a/src/GNDStk/HDF5/src/write.hpp +++ b/src/GNDStk/HDF5/src/write.hpp @@ -60,8 +60,9 @@ std::ostream &write(std::ostream &os = std::cout, const bool decl = true) const std::ifstream ifs(filePtr->getName(), std::ios::binary); if (!ifs) { - log::error("Could not open file \"{}\" " - "for writing to ostream", filePtr->getName()); + log::error( + "Could not open file \"{}\" (referenced by the HDF5 object)\n" + "for writing to ostream", filePtr->getName()); throw std::exception{}; } @@ -92,7 +93,7 @@ std::ostream &write(std::ostream &os = std::cout, const bool decl = true) const // ------------------------ -// write(file name) +// write(file) // ------------------------ bool write(const std::string &filename, const bool decl = true) const diff --git a/src/GNDStk/JSON/src/read.hpp b/src/GNDStk/JSON/src/read.hpp index de18e822a..a349f4864 100644 --- a/src/GNDStk/JSON/src/read.hpp +++ b/src/GNDStk/JSON/src/read.hpp @@ -29,7 +29,7 @@ std::istream &read(std::istream &is) // ------------------------ -// read(file name) +// read(file) // ------------------------ bool read(const std::string &filename) diff --git a/src/GNDStk/JSON/src/write.hpp b/src/GNDStk/JSON/src/write.hpp index 486bd7c94..2af5415ea 100644 --- a/src/GNDStk/JSON/src/write.hpp +++ b/src/GNDStk/JSON/src/write.hpp @@ -33,7 +33,7 @@ std::ostream &write(std::ostream &os = std::cout, const bool decl = true) const // ------------------------ -// write(file name) +// write(file) // ------------------------ bool write(const std::string &filename, const bool decl = true) const diff --git a/src/GNDStk/Node/src/read.hpp b/src/GNDStk/Node/src/read.hpp index 95f2aa0fa..59e7ecc9d 100644 --- a/src/GNDStk/Node/src/read.hpp +++ b/src/GNDStk/Node/src/read.hpp @@ -5,10 +5,10 @@ // Cases: // -// 1. read(istream, FileType) -// 2. read(file name, FileType) calls 1 after making istream from file -// 3. read(istream, string ) calls 1 after making FileType from string -// 4. read(file name, string ) calls 2 after making FileType from string +// 1. read(istream, FileType) +// 2. read(file, FileType) calls 1 after making istream from file +// 3. read(istream, string ) calls 1 after making FileType from string +// 4. read(file, string ) calls 2 after making FileType from string // // Discussion // @@ -186,7 +186,7 @@ std::istream &read( // ----------------------------------------------------------------------------- -// 2. read(file name, FileType) +// 2. read(file, FileType) // ----------------------------------------------------------------------------- bool read( @@ -216,7 +216,7 @@ bool read( // Check: consistent name? // ------------------------ - // If we requested XML, but the file name has an extension that's not xml... + // If we requested XML, but the file's extension is not xml... if (format == FileType::xml && has_extension(filename) && !endsin_xml(filename)) { detail::warning_io_name("read", "xml", filename, "XML" ); @@ -268,11 +268,10 @@ std::istream &read( const bool decl = detail::getDecl(*this,DECL); try { - if (eq_guess(format)) return read(is, FileType::guess, decl); - if (eq_debug(format)) return read(is, FileType::debug, decl); - if (eq_xml (format)) return read(is, FileType::xml, decl); - if (eq_json (format)) return read(is, FileType::json, decl); - if (eq_hdf5 (format)) return read(is, FileType::hdf5, decl); + bool matched; + const FileType type = string2filetype(format,matched); + if (matched) + return read(is, type, decl); // unrecognized file format log::warning( @@ -292,7 +291,7 @@ std::istream &read( // ----------------------------------------------------------------------------- -// 4. read(file name, string) +// 4. read(file, string) // ----------------------------------------------------------------------------- bool read( @@ -303,11 +302,10 @@ bool read( const bool decl = detail::getDecl(*this,DECL); try { - if (eq_guess(format)) return read(filename, FileType::guess, decl); - if (eq_debug(format)) return read(filename, FileType::debug, decl); - if (eq_xml (format)) return read(filename, FileType::xml, decl); - if (eq_json (format)) return read(filename, FileType::json, decl); - if (eq_hdf5 (format)) return read(filename, FileType::hdf5, decl); + bool matched; + const FileType type = string2filetype(format,matched); + if (matched) + return read(filename, type, decl); // unrecognized file format log::warning( diff --git a/src/GNDStk/Node/src/write.hpp b/src/GNDStk/Node/src/write.hpp index f0bc8a57a..65c941da4 100644 --- a/src/GNDStk/Node/src/write.hpp +++ b/src/GNDStk/Node/src/write.hpp @@ -4,17 +4,17 @@ // ----------------------------------------------------------------------------- // Cases for our FileType::debug format: -// write(ostream, int level) -// write(file name, int level) +// write(ostream, int level) +// write(file, int level) // The "level" parameter keeps track of the indentation level. // These print exactly what's in the Node, even, say, if the Node's name // is the empty string. // // General cases: -// 1. write(ostream, FileType) -// 2. write(file name, FileType) calls 1 after making ostream from file -// 3. write(ostream, string ) calls 1 after making FileType from string -// 4. write(file name, string ) calls 2 after making FileType from string +// 1. write(ostream, FileType) +// 2. write(file, FileType) calls 1 after making ostream from file +// 3. write(ostream, string ) calls 1 after making FileType from string +// 4. write(file, string ) calls 2 after making FileType from string @@ -87,24 +87,24 @@ std::ostream &write( // Discussion. // - // This function might have been called through the file name write(). - // Or, it might have been called through the string (in place of FileType) - // format write, through ostream << Node, or perhaps just called directly. + // This function might have been called through the file write(). Or, it + // might have been called through the string (in place of FileType) format + // write, through ostream << Node, or perhaps just called directly. // - // In the former case, a file name was involved, and thus the caller had - // the opportunity to examine the file name and, if appropriate, try to - // make a decision (based on any file name extension) of what output format - // was intended. The decision would have arrived here via FileType format. + // In the former case, a file was involved, and thus the caller had the + // opportunity to examine the file name and, if appropriate, try to make + // a decision (based on any file extension) of what output format was + // intended. The decision would have arrived here via FileType format. // // In the latter cases, only an ostream was/is involved; there's neither - // a file name whose extension can be examined, nor an existing file (that - // we care about, at least - we're doing *output*) whose file magic number + // a file extension that can be examined, nor an existing file (that we + // care about, at least - we're doing *output*) whose file magic number // we can examine in order to guess at the file type. We therefore have // our else { } catchall, below, write the Node in our debugging format, // whether FileType::guess or FileType::debug arrived as the format. // // A case could be made that this function should *require* that a format - // be given, considering that we don't, here, have a file or a file name + // be given, considering that we don't, here, have a file or file extension // to examine. On the other hand, we like having format be optional, so // our various Node I/O functions are as consistent with one another as // reasonably possible. Note also that if the user calls operator<<, then @@ -148,7 +148,7 @@ std::ostream &write( // ----------------------------------------------------------------------------- -// 2. write(file name, FileType) +// 2. write(file, FileType) // ----------------------------------------------------------------------------- bool write( @@ -160,7 +160,7 @@ bool write( // ------------------------ // FileType::guess - // Decide from file name + // Decide from extension // ------------------------ if (format == FileType::guess) { @@ -234,12 +234,10 @@ std::ostream &write( ) const { try { const bool decl = detail::getDecl(*this,DECL); - - if (eq_guess(format)) return write(os, FileType::guess, decl); - if (eq_debug(format)) return write(os, FileType::debug, decl); - if (eq_xml (format)) return write(os, FileType::xml, decl); - if (eq_json (format)) return write(os, FileType::json, decl); - if (eq_hdf5 (format)) return write(os, FileType::hdf5, decl); + bool matched; + const FileType type = string2filetype(format,matched); + if (matched) + return write(os, type, decl); // unrecognized file format log::warning( @@ -259,7 +257,7 @@ std::ostream &write( // ----------------------------------------------------------------------------- -// 4. write(file name, string) +// 4. write(file, string) // ----------------------------------------------------------------------------- bool write( @@ -269,12 +267,10 @@ bool write( ) const { try { const bool decl = detail::getDecl(*this,DECL); - - if (eq_guess(format)) return write(filename, FileType::guess, decl); - if (eq_debug(format)) return write(filename, FileType::debug, decl); - if (eq_xml (format)) return write(filename, FileType::xml, decl); - if (eq_json (format)) return write(filename, FileType::json, decl); - if (eq_hdf5 (format)) return write(filename, FileType::hdf5, decl); + bool matched; + const FileType type = string2filetype(format,matched); + if (matched) + return write(filename, type, decl); // unrecognized file format log::warning( diff --git a/src/GNDStk/Tree/src/ctor.hpp b/src/GNDStk/Tree/src/ctor.hpp index f41bbfca5..1ca29db3a 100644 --- a/src/GNDStk/Tree/src/ctor.hpp +++ b/src/GNDStk/Tree/src/ctor.hpp @@ -72,7 +72,7 @@ explicit Tree(const HDF5 &h) : Node(slashTreeName) // Compare with our Tree read() functions // ----------------------------------------------------------------------------- -// file name, FileType +// file, FileType // Example: // Tree t("n-008_O_016.xml", FileType::xml); explicit Tree( @@ -91,7 +91,7 @@ explicit Tree( } } -// file name, string +// file, string // Example: // Tree t("n-008_O_016.xml", "xml"); Tree(const std::string &filename, const std::string &format) diff --git a/src/GNDStk/Tree/src/reset.hpp b/src/GNDStk/Tree/src/reset.hpp index 01a2cdb57..c030a6294 100644 --- a/src/GNDStk/Tree/src/reset.hpp +++ b/src/GNDStk/Tree/src/reset.hpp @@ -83,12 +83,10 @@ Tree &reset( const std::string &encoding = detail::default_string ) { try { - // recognized file formats - if (eq_guess(format)) return reset(kwd,FileType::guess, version,encoding); - if (eq_debug(format)) return reset(kwd,FileType::debug, version,encoding); - if (eq_xml (format)) return reset(kwd,FileType::xml, version,encoding); - if (eq_json (format)) return reset(kwd,FileType::json, version,encoding); - if (eq_hdf5 (format)) return reset(kwd,FileType::hdf5, version,encoding); + bool matched; + const FileType type = string2filetype(format,matched); + if (matched) + return reset(kwd, type, version, encoding); // fallback: use XML // Note: we should consider making this an error diff --git a/src/GNDStk/Tree/test/read.test.cpp b/src/GNDStk/Tree/test/read.test.cpp index 9c09b6b1d..bc3efaeed 100644 --- a/src/GNDStk/Tree/test/read.test.cpp +++ b/src/GNDStk/Tree/test/read.test.cpp @@ -143,9 +143,9 @@ SCENARIO("Testing GNDStk tree read() and operator>>") { // Why not... GIVEN("Several trees, read differently, but ultimately from the same file") { - // While the present test file is about tree's read(), not about its - // write(), let's nevertheless do a simple write(), to tree's basic - // debug-output file format, from each of the trees read in different ways + // While the present test file is about tree's read(), not its write(), + // let's nevertheless do a simple write(), in our debug output-file + // format, from each of the trees that were read in different ways // above, and be sure there are absolutely no differences between them. // In effect, this helps test the read(), because it gives confidence // that our various ways of reading the same files give the same results. diff --git a/src/GNDStk/Tree/test/write.test.cpp b/src/GNDStk/Tree/test/write.test.cpp index 8f644aa24..d7e3bb6cb 100644 --- a/src/GNDStk/Tree/test/write.test.cpp +++ b/src/GNDStk/Tree/test/write.test.cpp @@ -235,7 +235,7 @@ SCENARIO("Testing GNDStk tree write() and operator<<") { } WHEN("We write() the empty tree using FileType::guess") { - // write(), using FileType::guess (which defaults to tree) + // write(), using FileType::guess THEN("We get an empty string (case: FileType::guess)") { std::ostringstream oss; tree.write(oss, FileType::guess); @@ -303,17 +303,17 @@ SCENARIO("Testing GNDStk tree write() and operator<<") { // FileType::debug WHEN("We write() the tree using FileType::debug") { // write() - THEN("We get the correct tree-format content") { + THEN("We get the correct debug-format content") { std::ostringstream oss; tree.write(oss); CHECK(oss.str() == string_real_tree); } - THEN("We get the correct tree-format content (case: FileType::debug)") { + THEN("We get the correct debug-format content (case: FileType::debug)") { std::ostringstream oss; tree.write(oss, FileType::debug); CHECK(oss.str() == string_real_tree); } - THEN("We get the correct tree-format content (case: \"debug\")") { + THEN("We get the correct debug-format content (case: \"debug\")") { std::ostringstream oss; tree.write(oss, "debug"); CHECK(oss.str() == string_real_tree); @@ -321,23 +321,23 @@ SCENARIO("Testing GNDStk tree write() and operator<<") { } WHEN("We write() the tree using FileType::guess") { - // write(), using FileType::guess (which defaults to tree) - THEN("We get the correct tree-format content") { + // write(), using FileType::guess + THEN("We get the correct debug-format content") { std::ostringstream oss; tree.write(oss); CHECK(oss.str() == string_real_tree); } - THEN("We get the correct tree-format content (case: FileType::guess)") { + THEN("We get the correct debug-format content (case: FileType::guess)") { std::ostringstream oss; tree.write(oss, FileType::guess); CHECK(oss.str() == string_real_tree); } - THEN("We get the correct tree-format content (case: \"guess\")") { + THEN("We get the correct debug-format content (case: \"guess\")") { std::ostringstream oss; tree.write(oss, "guess"); CHECK(oss.str() == string_real_tree); } - THEN("We get the correct tree-format content (case: \"\")") { + THEN("We get the correct debug-format content (case: \"\")") { std::ostringstream oss; tree.write(oss, ""); CHECK(oss.str() == string_real_tree); @@ -347,7 +347,7 @@ SCENARIO("Testing GNDStk tree write() and operator<<") { WHEN("We stream-output the tree") { // << std::ostringstream oss; - THEN("We get the correct tree-format content") { + THEN("We get the correct debug-format content") { oss << tree; CHECK(oss.str() == string_real_tree); } diff --git a/src/GNDStk/XML/src/read.hpp b/src/GNDStk/XML/src/read.hpp index a0dc154ec..88213dd16 100644 --- a/src/GNDStk/XML/src/read.hpp +++ b/src/GNDStk/XML/src/read.hpp @@ -67,7 +67,7 @@ std::istream &read(std::istream &is) // ------------------------ -// read(file name) +// read(file) // ------------------------ bool read(const std::string &filename) diff --git a/src/GNDStk/XML/src/write.hpp b/src/GNDStk/XML/src/write.hpp index 96e5bcedc..0bcee4d1f 100644 --- a/src/GNDStk/XML/src/write.hpp +++ b/src/GNDStk/XML/src/write.hpp @@ -69,7 +69,7 @@ std::ostream &write(std::ostream &os = std::cout, const bool decl = true) const // ------------------------ -// write(file name) +// write(file) // ------------------------ bool write(const std::string &filename, const bool decl = true) const diff --git a/src/GNDStk/convert/src/HDF5.hpp b/src/GNDStk/convert/src/HDF5.hpp index ef2e2ff62..91d2af286 100644 --- a/src/GNDStk/convert/src/HDF5.hpp +++ b/src/GNDStk/convert/src/HDF5.hpp @@ -9,10 +9,10 @@ inline bool convert(const Node &node, HDF5 &h, const std::string &name) // Prepare the HDF5 h.clear(); - const std::string fileName = name != "" ? name : h.temporaryName(h.fileDesc); + const std::string tmpfile = name != "" ? name : h.temporaryName(h.fileDesc); try { - h.filePtr = new HighFive::File(fileName, HDF5::modeWrite); + h.filePtr = new HighFive::File(tmpfile, HDF5::modeWrite); // Probably a regular Node... if (node.name != slashTreeName) { @@ -134,6 +134,19 @@ inline bool convert(const HDF5 &from, HDF5 &to) std::ifstream ifs(from.filePtr->getName(), std::ios::binary); if (!ifs) { log::error("Could not open file \"{}\"", from.filePtr->getName()); + // The HDF5 class is different from the XML and JSON classes in that + // it essentially employs a "file descriptor" of sorts, through the + // underlying class HighFive::File. So, unlike convert(XML,XML) and + // convert(JSON,JSON), this function - convert(HDF5,HDF5) - needs + // to create a *file* for the destination object. It cannot simply + // duplicate an internal data structure, as the analogous XML and + // JSON convert() functions do. The above error message might thus + // surprise a user, who wouldn't necessarily realize that a file + // is being created as a result of this convert(). To help clarify + // the situation, we'll write an informational note. + log::info( + "We're attempting to open this file here because it's referenced\n" + "by the source HDF5 object."); throw std::exception{}; } if (!to.read(ifs)) diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index e0754923d..9f8894dc9 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -476,6 +476,19 @@ inline bool eq_hdf5(const std::string &str) || nocasecmp(str,"he5" ); } +inline FileType string2filetype(const std::string &str, bool &matched) +{ + matched = true; + if (eq_guess(str)) return FileType::guess; + if (eq_debug(str)) return FileType::debug; + if (eq_xml (str)) return FileType::xml; + if (eq_json (str)) return FileType::json; + if (eq_hdf5 (str)) return FileType::hdf5; + + matched = false; + return FileType::guess; +} + // ----------------------------------------------------------------------------- From a3fd1a5862889c28b3eea4dec53a875e1993988c Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 29 Mar 2022 13:45:14 -0600 Subject: [PATCH 084/235] Did some default initialization differently. That fixed a problem with certain initializations being very time-consuming. Properly split out and clarified "write" versus "print". Removed some old debug messages. Changed some terminology. Trimmed some unused stuff from the KeyTuple (formerly KeywordTup) class. --- docs/files/code-tables/node-multi.cc | 4 +- docs/ref-core.rst | 2 +- src/GNDStk/BlockData.hpp | 5 +- .../BlockData/src/{write.hpp => print.hpp} | 18 +- src/GNDStk/BlockData/test/CMakeLists.txt | 2 +- .../test/{write.test.cpp => print.test.cpp} | 124 +++++----- src/GNDStk/Child.hpp | 8 +- src/GNDStk/Component.hpp | 3 +- src/GNDStk/Component/src/ctor.hpp | 4 +- src/GNDStk/Component/src/detail.hpp | 70 +++--- src/GNDStk/Component/src/finish.hpp | 8 +- src/GNDStk/Component/src/fromNode.hpp | 2 +- src/GNDStk/Component/src/print.hpp | 217 ++++++++++++++++++ src/GNDStk/Component/src/sort.hpp | 2 +- src/GNDStk/Component/src/toNode.hpp | 2 +- src/GNDStk/Component/src/write.hpp | 206 +---------------- src/GNDStk/Component/test/CMakeLists.txt | 2 +- src/GNDStk/Component/test/Component.test.cpp | 6 +- src/GNDStk/Component/test/detail.test.cpp | 148 ++++++------ src/GNDStk/Component/test/fromNode.test.cpp | 2 +- .../test/{write.test.cpp => print.test.cpp} | 14 +- src/GNDStk/Meta.hpp | 4 +- src/GNDStk/Meta/src/detail.hpp | 14 ++ src/GNDStk/Node.hpp | 6 +- ...{call-keywordtup.hpp => call-keytuple.hpp} | 23 +- src/GNDStk/or.hpp | 197 ++++++++-------- src/GNDStk/precision/test/precision.test.cpp | 2 +- src/GNDStk/utility.hpp | 2 +- 28 files changed, 560 insertions(+), 537 deletions(-) rename src/GNDStk/BlockData/src/{write.hpp => print.hpp} (85%) rename src/GNDStk/BlockData/test/{write.test.cpp => print.test.cpp} (80%) create mode 100644 src/GNDStk/Component/src/print.hpp rename src/GNDStk/Component/test/{write.test.cpp => print.test.cpp} (98%) rename src/GNDStk/Node/src/{call-keywordtup.hpp => call-keytuple.hpp} (88%) diff --git a/docs/files/code-tables/node-multi.cc b/docs/files/code-tables/node-multi.cc index 9b3fe048a..2d9090a6e 100644 --- a/docs/files/code-tables/node-multi.cc +++ b/docs/files/code-tables/node-multi.cc @@ -1,3 +1,3 @@ -auto operator()( const KeywordTup &kwds ) const; -auto operator()( const KeywordTup &kwds ); +auto operator()( const KeyTuple &keytup ) const; +auto operator()( const KeyTuple &keytup ); diff --git a/docs/ref-core.rst b/docs/ref-core.rst index 76058e2da..a427144bd 100644 --- a/docs/ref-core.rst +++ b/docs/ref-core.rst @@ -28,5 +28,5 @@ Child ======================================== ======================================== -KeywordTup +KeyTuple ======================================== diff --git a/src/GNDStk/BlockData.hpp b/src/GNDStk/BlockData.hpp index baff78af9..2e4bfe3e6 100644 --- a/src/GNDStk/BlockData.hpp +++ b/src/GNDStk/BlockData.hpp @@ -134,9 +134,8 @@ class BlockData { #include "GNDStk/BlockData/src/fromNode.hpp" #include "GNDStk/BlockData/src/toNode.hpp" - // Write to ostream - // Not to be confused with the process of writing data to a Node - #include "GNDStk/BlockData/src/write.hpp" + // Print to ostream + #include "GNDStk/BlockData/src/print.hpp" // Pull/push length/start/valueType from/to derived-class struct Content #include "GNDStk/BlockData/src/sync.hpp" diff --git a/src/GNDStk/BlockData/src/write.hpp b/src/GNDStk/BlockData/src/print.hpp similarity index 85% rename from src/GNDStk/BlockData/src/write.hpp rename to src/GNDStk/BlockData/src/print.hpp index a3bc88b5d..9a7eae7d6 100644 --- a/src/GNDStk/BlockData/src/write.hpp +++ b/src/GNDStk/BlockData/src/print.hpp @@ -1,12 +1,12 @@ // ----------------------------------------------------------------------------- -// write -// To an ostream, generally as part of Component's prettyprinting. +// print +// Used by Component's prettyprinting. // ----------------------------------------------------------------------------- -std::ostream &write(std::ostream &os, const int level) const +std::ostream &print(std::ostream &os, const int level) const { - // If empty, don't even write a newline + // If empty, don't even print a newline if ((active() == Active::string && rawstring == "") || (active() == Active::vector && size() == 0)) return os; @@ -19,8 +19,8 @@ std::ostream &write(std::ostream &os, const int level) const // ------------------------ if (active() == Active::string) { - // Write the string exactly as-is, without our column formatting - // or any indentation; then also write a newline + // Print the string exactly as-is, without our column formatting + // or any indentation; then also print a newline return coloring ? os << colors::value << rawstring << colors::reset << std::endl : os << rawstring << std::endl; @@ -33,7 +33,7 @@ std::ostream &write(std::ostream &os, const int level) const // Indentation (string, with some number of spaces) const std::string indent(GNDStk::indent*level,' '); - const auto writeLambda = + const auto printLambda = [&os,&indent,coloring](auto &&alt) { using T = std::decay_t; @@ -74,9 +74,9 @@ std::ostream &write(std::ostream &os, const int level) const }; if constexpr (runtime) - std::visit(writeLambda,variant); + std::visit(printLambda,variant); else - writeLambda(vector); + printLambda(vector); return os << std::endl; } diff --git a/src/GNDStk/BlockData/test/CMakeLists.txt b/src/GNDStk/BlockData/test/CMakeLists.txt index 442f8a36d..a240f071b 100644 --- a/src/GNDStk/BlockData/test/CMakeLists.txt +++ b/src/GNDStk/BlockData/test/CMakeLists.txt @@ -11,7 +11,7 @@ add_executable( GNDStk.BlockData.test sync.test.cpp toNode.test.cpp types.test.cpp - write.test.cpp ) + print.test.cpp ) target_compile_options( GNDStk.BlockData.test PRIVATE ${${PREFIX}_common_flags} $<$:${${PREFIX}_strict_flags}>$<$: ${${PREFIX}_DEBUG_flags} diff --git a/src/GNDStk/BlockData/test/write.test.cpp b/src/GNDStk/BlockData/test/print.test.cpp similarity index 80% rename from src/GNDStk/BlockData/test/write.test.cpp rename to src/GNDStk/BlockData/test/print.test.cpp index 40c9ff182..5cc03e890 100644 --- a/src/GNDStk/BlockData/test/write.test.cpp +++ b/src/GNDStk/BlockData/test/print.test.cpp @@ -9,25 +9,25 @@ using namespace njoy::GNDStk; // Scenario: raw string is active // ----------------------------------------------------------------------------- -// Helper: scenario_write_string_active +// Helper: scenario_print_string_active template -void scenario_write_string_active() +void scenario_print_string_active() { // string is active, but empty GIVEN("A BlockData with an empty raw string") { - WHEN("BlockData.write() is called") { + WHEN("BlockData.print() is called") { THEN("Nothing is printed") { BlockData b; b.string(""); // with no indentation std::ostringstream oss; - b.write(oss,0); + b.print(oss,0); CHECK(oss.str() == ""); // the same (nothing is printed) even if indentation is nonzero oss.str(""); - b.write(oss,2); + b.print(oss,2); CHECK(oss.str() == ""); } } @@ -35,20 +35,20 @@ void scenario_write_string_active() // string is active, and contains values GIVEN("A BlockData with a non-empty raw string") { - WHEN("BlockData.write() is called") { + WHEN("BlockData.print() is called") { THEN("The raw string and a newline are printed") { BlockData b; b.string("foo bar baz"); // with no indentation std::ostringstream oss; - b.write(oss,0); + b.print(oss,0); CHECK(oss.str() == "foo bar baz\n"); // the same, even if indentation is nonzero; indentation isn't // applied when the raw string (as opposed to the ) is active oss.str(""); - b.write(oss,2); + b.print(oss,2); CHECK(oss.str() == "foo bar baz\n"); } } @@ -56,15 +56,15 @@ void scenario_write_string_active() } // For DATATYPE == void -SCENARIO("BlockData write(), when the raw string is active") +SCENARIO("BlockData print(), when the raw string is active") { - scenario_write_string_active(); + scenario_print_string_active(); } // For DATATYPE == double -SCENARIO("BlockData write(), when the raw string is active") +SCENARIO("BlockData print(), when the raw string is active") { - scenario_write_string_active(); + scenario_print_string_active(); } @@ -72,23 +72,23 @@ SCENARIO("BlockData write(), when the raw string is active") // Scenario: vector is active // ----------------------------------------------------------------------------- -SCENARIO("BlockData write(), when a vector is active") +SCENARIO("BlockData print(), when a vector is active") { // vector is active, but empty GIVEN("A BlockData with an empty vector") { - WHEN("BlockData.write() is called") { + WHEN("BlockData.print() is called") { THEN("Nothing is printed") { BlockData b; b = std::vector{}; // with no indentation std::ostringstream oss; - b.write(oss,0); + b.print(oss,0); CHECK(oss.str() == ""); // the same (nothing is printed) even if indentation is nonzero oss.str(""); - b.write(oss,2); + b.print(oss,2); CHECK(oss.str() == ""); } } @@ -96,7 +96,7 @@ SCENARIO("BlockData write(), when a vector is active") // vector is active, and contains values GIVEN("A BlockData with a non-empty vector") { - WHEN("BlockData.write() is called") { + WHEN("BlockData.print() is called") { THEN("The vector and a newline are printed") { BlockData b; b = std::vector{{2, 3, 5, 7, 11, 13, 17, 19, 21, 23}}; @@ -107,126 +107,126 @@ SCENARIO("BlockData write(), when a vector is active") // columns: 0, 1, 2, 5, 10, 11 (note that 10 == vector size) // level: 0, 1, 2 (indentation level) // Note: columns <= 0 means unlimited: so, all values on one line. - // Lots of cases, but we want to check that our pretty-printing + // Lots of cases, but we want to check that our prettyprinting // functionality works perfectly, and doesn't do anything that's // unexpected around "boundaries" like columns==10 with 10 values. - oss.str(""); indent = 0; columns = 0; b.write(oss,0); + oss.str(""); indent = 0; columns = 0; b.print(oss,0); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 0; b.write(oss,1); + oss.str(""); indent = 0; columns = 0; b.print(oss,1); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 0; b.write(oss,2); + oss.str(""); indent = 0; columns = 0; b.print(oss,2); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 1; b.write(oss,0); + oss.str(""); indent = 0; columns = 1; b.print(oss,0); CHECK(oss.str() == "2\n3\n5\n7\n11\n13\n17\n19\n21\n23\n"); - oss.str(""); indent = 0; columns = 1; b.write(oss,1); + oss.str(""); indent = 0; columns = 1; b.print(oss,1); CHECK(oss.str() == "2\n3\n5\n7\n11\n13\n17\n19\n21\n23\n"); - oss.str(""); indent = 0; columns = 1; b.write(oss,2); + oss.str(""); indent = 0; columns = 1; b.print(oss,2); CHECK(oss.str() == "2\n3\n5\n7\n11\n13\n17\n19\n21\n23\n"); - oss.str(""); indent = 0; columns = 2; b.write(oss,0); + oss.str(""); indent = 0; columns = 2; b.print(oss,0); CHECK(oss.str() == "2 3\n5 7\n11 13\n17 19\n21 23\n"); - oss.str(""); indent = 0; columns = 2; b.write(oss,1); + oss.str(""); indent = 0; columns = 2; b.print(oss,1); CHECK(oss.str() == "2 3\n5 7\n11 13\n17 19\n21 23\n"); - oss.str(""); indent = 0; columns = 2; b.write(oss,2); + oss.str(""); indent = 0; columns = 2; b.print(oss,2); CHECK(oss.str() == "2 3\n5 7\n11 13\n17 19\n21 23\n"); - oss.str(""); indent = 0; columns = 5; b.write(oss,0); + oss.str(""); indent = 0; columns = 5; b.print(oss,0); CHECK(oss.str() == "2 3 5 7 11\n13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 5; b.write(oss,1); + oss.str(""); indent = 0; columns = 5; b.print(oss,1); CHECK(oss.str() == "2 3 5 7 11\n13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 5; b.write(oss,2); + oss.str(""); indent = 0; columns = 5; b.print(oss,2); CHECK(oss.str() == "2 3 5 7 11\n13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 10; b.write(oss,0); + oss.str(""); indent = 0; columns = 10; b.print(oss,0); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 10; b.write(oss,1); + oss.str(""); indent = 0; columns = 10; b.print(oss,1); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 10; b.write(oss,2); + oss.str(""); indent = 0; columns = 10; b.print(oss,2); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 11; b.write(oss,0); + oss.str(""); indent = 0; columns = 11; b.print(oss,0); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 11; b.write(oss,1); + oss.str(""); indent = 0; columns = 11; b.print(oss,1); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 0; columns = 11; b.write(oss,2); + oss.str(""); indent = 0; columns = 11; b.print(oss,2); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 0; b.write(oss,0); + oss.str(""); indent = 3; columns = 0; b.print(oss,0); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 0; b.write(oss,1); + oss.str(""); indent = 3; columns = 0; b.print(oss,1); CHECK(oss.str() == " 2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 0; b.write(oss,2); + oss.str(""); indent = 3; columns = 0; b.print(oss,2); CHECK(oss.str() == " 2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 1; b.write(oss,0); + oss.str(""); indent = 3; columns = 1; b.print(oss,0); CHECK(oss.str() == "2\n3\n5\n7\n11\n13\n17\n19\n21\n23\n"); - oss.str(""); indent = 3; columns = 1; b.write(oss,1); + oss.str(""); indent = 3; columns = 1; b.print(oss,1); CHECK(oss.str() == " 2\n 3\n 5\n 7\n 11\n" " 13\n 17\n 19\n 21\n 23\n"); - oss.str(""); indent = 3; columns = 1; b.write(oss,2); + oss.str(""); indent = 3; columns = 1; b.print(oss,2); CHECK(oss.str() == " 2\n 3\n 5\n 7\n 11\n" " 13\n 17\n 19\n 21\n 23\n"); - oss.str(""); indent = 3; columns = 2; b.write(oss,0); + oss.str(""); indent = 3; columns = 2; b.print(oss,0); CHECK(oss.str() == "2 3\n5 7\n11 13\n17 19\n21 23\n"); - oss.str(""); indent = 3; columns = 2; b.write(oss,1); + oss.str(""); indent = 3; columns = 2; b.print(oss,1); CHECK( oss.str() == " 2 3\n 5 7\n 11 13\n 17 19\n 21 23\n" ); - oss.str(""); indent = 3; columns = 2; b.write(oss,2); + oss.str(""); indent = 3; columns = 2; b.print(oss,2); CHECK( oss.str() == " 2 3\n 5 7\n 11 13\n 17 19\n 21 23\n" ); - oss.str(""); indent = 3; columns = 5; b.write(oss,0); + oss.str(""); indent = 3; columns = 5; b.print(oss,0); CHECK(oss.str() == "2 3 5 7 11\n13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 5; b.write(oss,1); + oss.str(""); indent = 3; columns = 5; b.print(oss,1); CHECK(oss.str() == " 2 3 5 7 11\n 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 5; b.write(oss,2); + oss.str(""); indent = 3; columns = 5; b.print(oss,2); CHECK(oss.str() == " 2 3 5 7 11\n 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 10; b.write(oss,0); + oss.str(""); indent = 3; columns = 10; b.print(oss,0); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 10; b.write(oss,1); + oss.str(""); indent = 3; columns = 10; b.print(oss,1); CHECK(oss.str() == " 2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 10; b.write(oss,2); + oss.str(""); indent = 3; columns = 10; b.print(oss,2); CHECK(oss.str() == " 2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 11; b.write(oss,0); + oss.str(""); indent = 3; columns = 11; b.print(oss,0); CHECK(oss.str() == "2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 11; b.write(oss,1); + oss.str(""); indent = 3; columns = 11; b.print(oss,1); CHECK(oss.str() == " 2 3 5 7 11 13 17 19 21 23\n"); - oss.str(""); indent = 3; columns = 11; b.write(oss,2); + oss.str(""); indent = 3; columns = 11; b.print(oss,2); CHECK(oss.str() == " 2 3 5 7 11 13 17 19 21 23\n"); } } @@ -254,7 +254,7 @@ void test_truncate( njoy::GNDStk::truncate = truncate; std::ostringstream oss; - b.write(oss,level); + b.print(oss,level); std::cout << "test_truncate:" << std::endl; std::cout << oss.str() << std::endl; @@ -262,11 +262,11 @@ void test_truncate( CHECK(oss.str() == want); } -SCENARIO("BlockData write(), vector, trying GNDStk::truncate") +SCENARIO("BlockData print(), vector, trying GNDStk::truncate") { // vector is active, but empty GIVEN("A BlockData with an empty vector") { - WHEN("BlockData.write() is called") { + WHEN("BlockData.print() is called") { THEN("Nothing is printed") { BlockData b; b = std::vector{}; @@ -275,12 +275,12 @@ SCENARIO("BlockData write(), vector, trying GNDStk::truncate") for (truncate = -10; truncate <= 10; ++truncate) { // with no indentation std::ostringstream oss; - b.write(oss,0); + b.print(oss,0); CHECK(oss.str() == ""); // the same (nothing is printed) even if indentation is nonzero oss.str(""); - b.write(oss,2); + b.print(oss,2); CHECK(oss.str() == ""); } } @@ -289,7 +289,7 @@ SCENARIO("BlockData write(), vector, trying GNDStk::truncate") // vector is active, and contains values GIVEN("A BlockData with a non-empty vector") { - WHEN("BlockData.write() is called") { + WHEN("BlockData.print() is called") { THEN("The vector and a newline are printed") { BlockData b; b = std::vector{{2.3, 5.7, 11.13, 17.19, 21.23}}; @@ -298,8 +298,8 @@ SCENARIO("BlockData write(), vector, trying GNDStk::truncate") // indent: 3 (number of spaces per indentation level) // columns: 0, 2, 3 (0 means unlimited) // level: 0, 1, 2 (indentation level) - // truncate: -1, 0, 1, 2, 3 (-1 means none; print all values) - // Lots of cases; we want pretty-printing to be perfect. + // truncate: -1, 0, 1, 2, 3 (-1 means none; so, print all values) + // Lots of cases; we want prettyprinting to be perfect. // Integral parameters below are: indent, columns, level, truncate test_truncate(b, 3, 0, 0, -1, diff --git a/src/GNDStk/Child.hpp b/src/GNDStk/Child.hpp index 94d02ff15..a221670fa 100644 --- a/src/GNDStk/Child.hpp +++ b/src/GNDStk/Child.hpp @@ -83,9 +83,9 @@ class Child { // name, type, converter, filter explicit Child( const std::string &n, - const TYPE &t = TYPE{}, - const CONVERTER &c = CONVERTER{}, - const FILTER &f = FILTER{} + const TYPE &t = detail::static_const(), + const CONVERTER &c = detail::static_const(), + const FILTER &f = detail::static_const() ) : name(n), object(t), converter(c), filter(f) { } @@ -154,7 +154,7 @@ class Child { // name, filter explicit Child( const std::string &n, - const FILTER &f = FILTER{} + const FILTER &f = detail::static_const() ) : name(n), filter(f) { } diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index d6ce48d4f..f4bb356e6 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -65,6 +65,7 @@ class Component : public BlockData #include "GNDStk/Component/src/read.hpp" #include "GNDStk/Component/src/write.hpp" + #include "GNDStk/Component/src/print.hpp" #include "GNDStk/Component/src/fromNode.hpp" #include "GNDStk/Component/src/sort.hpp" #include "GNDStk/Component/src/toNode.hpp" // conversion to Node @@ -170,7 +171,7 @@ std::ostream &operator<<( const Component &comp ) { try { - return comp.write(os,0); + return comp.print(os,0); } catch (...) { log::function("ostream << {}", comp.className()); throw; diff --git a/src/GNDStk/Component/src/ctor.hpp b/src/GNDStk/Component/src/ctor.hpp index 560b8c959..2ba63a2fa 100644 --- a/src/GNDStk/Component/src/ctor.hpp +++ b/src/GNDStk/Component/src/ctor.hpp @@ -14,7 +14,7 @@ Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) #define pairing_error \ "The number and/or types of the fields sent to Component's " \ "constructor is inconsistent with the query result implied " \ - "by the derived class' keys()" + "by the keys() function in the derived class" // I'd have preferred to achieve the following check by using SFINAE // in the constructor's signature, but couldn't find a way to do that @@ -33,7 +33,7 @@ Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) // The following is the *type* that a multi-query with DERIVED::keys() // will produce. using multi_t = - detail::decays_t; + detail::decays_t; static_assert( std::is_same_v, multi_t>, pairing_error diff --git a/src/GNDStk/Component/src/detail.hpp b/src/GNDStk/Component/src/detail.hpp index 3a107b001..975320423 100644 --- a/src/GNDStk/Component/src/detail.hpp +++ b/src/GNDStk/Component/src/detail.hpp @@ -83,57 +83,55 @@ inline void indentString( // ------------------------ -// hasWriteOneArg -// hasWriteTwoArg +// hasPrint* // ------------------------ // These are adapted from an answer here: // https://stackoverflow.com/questions/87372 -// class +// hasPrintOneArg template -class HasWriteOneArg +class HasPrintOneArg { template< class U, std::ostream &(U::*)(std::ostream &) const > struct SFINAE {}; - template static char test(SFINAE *); + template static char test(SFINAE *); template static long test(...); public: - static const bool has = sizeof(test(0)) == sizeof(char); + static constexpr bool has = sizeof(test(0)) == sizeof(char); }; -// variable - use this +// HasPrintTwoArg template -inline constexpr bool hasWriteOneArg = HasWriteOneArg::has; - -// class -template -class HasWriteTwoArg +class HasPrintTwoArg { template< class U, std::ostream &(U::*)(std::ostream &, const int) const > struct SFINAE {}; - template static char test(SFINAE *); + template static char test(SFINAE *); template static long test(...); public: - static const bool has = sizeof(test(0)) == sizeof(char); + static constexpr bool has = sizeof(test(0)) == sizeof(char); }; -// variable - use this +// Variable templates for the above; prefer these +template +inline constexpr bool hasPrintOneArg = HasPrintOneArg::has; + template -inline constexpr bool hasWriteTwoArg = HasWriteTwoArg::has; +inline constexpr bool hasPrintTwoArg = HasPrintTwoArg::has; // ----------------------------------------------------------------------------- -// writeComponentPart +// printComponentPart // ----------------------------------------------------------------------------- // Cases: @@ -143,33 +141,33 @@ inline constexpr bool hasWriteTwoArg = HasWriteTwoArg::has; // Defaulted // std::vector -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const std::string &str, const std::string &label, const std::size_t maxlen, const std::string &color = "" ); template -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const T &value, const std::string &label, const std::size_t maxlen, const std::string &color = "" ); template -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const std::optional &opt, const std::string &label, const std::size_t maxlen ); template -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const Defaulted &def, const std::string &label, const std::size_t maxlen ); template -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const std::vector &vec, const std::string &label, const std::size_t maxlen, const std::string &color = "" @@ -180,7 +178,7 @@ bool writeComponentPart( // for string // ------------------------ -inline bool writeComponentPart( +inline bool printComponentPart( std::ostream &os, const int level, const std::string &str, const std::string &label, const std::size_t maxlen, const std::string &color @@ -230,7 +228,7 @@ class is_base_of_Component { }; template -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const T &value, const std::string &label, const std::size_t maxlen, const std::string &color @@ -239,12 +237,12 @@ bool writeComponentPart( // Suppress "unused parameter" warnings (void)value; (void)maxlen; (void)label; (void)color; - // T is derived from Component, and thus inherits a write() - value.write(os,level); + // T is derived from Component, and thus inherits a print() + value.Component::print(os,level); } else { // T is any old type, not derived from Component if constexpr (std::is_floating_point_v) { - writeComponentPart( + printComponentPart( os, level, detail::Precision< detail::PrecisionContext::metadata, @@ -257,7 +255,7 @@ bool writeComponentPart( // if the printed value has internal newlines. std::string str; convert_t{}(value,str); - writeComponentPart(os, level, str, label, maxlen, color); + printComponentPart(os, level, str, label, maxlen, color); } } return true; @@ -269,17 +267,17 @@ bool writeComponentPart( // ------------------------ template -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const std::optional &opt, const std::string &label, const std::size_t maxlen ) { if (opt.has_value()) - writeComponentPart( + printComponentPart( os, level, opt.value(), label, maxlen, colors::optional ); else if (comments) - writeComponentPart( + printComponentPart( os, level, colorize_comment("// optional; has no value"), label, maxlen, colors::optional ); @@ -294,19 +292,19 @@ bool writeComponentPart( // ------------------------ template -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const Defaulted &def, const std::string &label, const std::size_t maxlen ) { if (def.has_value()) { - writeComponentPart( + printComponentPart( os, level, def.value(), label, maxlen, colors::defaulted ); } else if (comments) { std::string str; convert_t{}(def.get_default(),str); - writeComponentPart( + printComponentPart( os, level, colorize_comment("// defaulted; is its default (" + str + ")"), label, maxlen, colors::defaulted @@ -327,7 +325,7 @@ bool writeComponentPart( // ... // ] template -bool writeComponentPart( +bool printComponentPart( std::ostream &os, const int level, const std::vector &vec, const std::string &label, const std::size_t maxlen, const std::string &color @@ -344,7 +342,7 @@ bool writeComponentPart( ); for (auto &value : vec) { - writeComponentPart(os, level+1, value, "", 0); + printComponentPart(os, level+1, value, "", 0); os << '\n'; // between elements } diff --git a/src/GNDStk/Component/src/finish.hpp b/src/GNDStk/Component/src/finish.hpp index d9580d186..a45287650 100644 --- a/src/GNDStk/Component/src/finish.hpp +++ b/src/GNDStk/Component/src/finish.hpp @@ -93,8 +93,8 @@ void finish() if constexpr (hasBlockData) BLOCKDATA::pullFromDerived(derived()); - // Based on the derived class' keys(), locate and sort derived-class fields - // that are vectors, with vector elements that have index and/or label. + // Automatically locate and sort derived-class fields that are vectors + // with elements that have index and/or label. sort(); // construct @@ -132,8 +132,8 @@ void finish(const DERIVED &other) void finish(const Node &node) { // Read fields from the Node into the derived object. This applies the keys() - // multi-query in the derived class, and also runs BlockData::fromNode() if - // the Node has block data, in order to get the Node's string of block data. + // multi-query in the derived class, and also runs BlockData::fromNode() - if + // the Node has block data - in order to get the Node's string of block data. fromNode(node); if constexpr (hasBlockData) { diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index 9be975b3f..ab48cb616 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -35,7 +35,7 @@ void fromNode(const Node &node) assert(0 == links.size()); } else { // retrieve the node's data by doing a multi-query - static const auto keytup = toKeywordTup(DERIVED::keys()); + static const auto keytup = makeKeyTuple(DERIVED::keys()); const auto tup = node(keytup); // consistency check diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp new file mode 100644 index 000000000..6681d70b3 --- /dev/null +++ b/src/GNDStk/Component/src/print.hpp @@ -0,0 +1,217 @@ + +// ----------------------------------------------------------------------------- +// REMARK +// Regarding "write" vs. "print", and newlines +// ----------------------------------------------------------------------------- + +/* +Python has print(), and we anticipate having many Python-aware users. First and +foremost, this is why we provide these print() functions. + +Elsewhere, we've given Component a set of write() (not print()) functions that +mirror Node's functions of the same name. These first make use of Component's +ability to convert objects of its derived classes to Node, then they call Node's +write() functions. Node's write() functions can do a number of things, such as +writing to XML, or to GNDStk's debug format. + +Someone who wishes to print the contents of a Component-derived class may prefer +to see our print() function's "prettyprinting" output. Not XML, not our internal +debug format, not the various other things that the write() functions can do. + +The name print(), then, not only aligns with what a Python user might expect, +but also reflects the difference from its - really, Node's - write() functions. +Note, in particular, that write() (called with no argument) behaves as it does +for Node, while print() (called with no argument) does something completely +different: prettyprint to standard output. + +Our no-argument print() functions also print a newline at the end - which, when +prettyprinting, a user probably expects. + +The write() functions, being arguably more "low level", don't emit that newline, +and shouldn't. Just as C++ doesn't automatically print something basic (an int, +for example, or a floating-point number) with a newline, neither should a well- +mannered system for writing class objects. Whether a newline is really wanted, +or not, depends on context. + +If you write std::cout << 1.23 << std::endl, you expect one line, with "1.23", +followed by a newline via std::endl, then the cursor ready at the beginning of +the very next line. Write std::cout << obj << std::endl, where obj is of some +user-defined type whose stream output operator already prints its own newline, +and the cursor will end up *two* lines down, after an intervening blank line. +It may seem convenient for "large" objects to print with their own newline, but +doing so creates inconsistent behavior between them and more-basic object types. +Inconsistencies beget unpredictability. + +Moreover, Component-derived classes often contain instances of other Component- +derived classes. An enclosing object should place its own newlines - only where +appropriate, and not where not appropriate - between its constituent parts. If +those parts did their own thing in this respect, they'd stymie the ability of +the enclosing class to do the right thing. +*/ + + +// ----------------------------------------------------------------------------- +// print(ostream,level) +// Low-level version, possibly building on other Component-derived objects. +// Doesn't print the trailing newline. +// ----------------------------------------------------------------------------- + +std::ostream &print(std::ostream &os, const int level) const +{ + try { + // Indent, header, newline + detail::indentString( + os, level, + detail::colorize_component( + detail::fullName(DERIVED::namespaceName(), DERIVED::className()) + ) + " " + + detail::colorize_brace("{") + "\n" + ); + + if constexpr (!hasFields) { + // Consistency check + assert(0 == links.size()); + } else { + // Make tuple (of individual keys) from DERIVED::keys() + static const auto tup = makeKeyTuple(DERIVED::keys()).tup; + + // Consistency check + assert(std::tuple_size::value == links.size()); + + // Compute maximum length of key names, if aligning. Note that we + // could - but don't - take into account that keys associated with + // optional or Defaulted values *might* not in fact show up in the + // final printed text. In such cases, and if values of those types + // happen to have longer names, then the printing that does appear + // might use more spacing than it really needs to. By choosing not + // to factor this in, on a case-by-case basis, all objects of this + // particular Component<...> type will print with consistent spacing. + // We prefer this behavior, and its code is also slightly simpler. + std::size_t maxlen = 0; + if (GNDStk::align) + std::apply( + [&maxlen](const auto &... key) { + ((maxlen=std::max(maxlen,detail::getName(key).size())), ...); + }, + tup + ); + + // Apply links: + // derived-class data ==> print + std::apply( + [this,&os,&level,maxlen](const auto &... key) { + std::size_t n = 0; + ( + ( + // indent, value, newline + detail::printComponentPart( + os, + level+1, + *(std::decay_t *)links[n++], + detail::getName(key), + maxlen + ) && (os << '\n') // no if()s in fold expressions :-/ + ), + ... + ); + }, + tup + ); + } + + // Custom derived-class print()s, if any. + // To be recognized here, derived-class print() functions must be public, + // and have signatures that are *exactly* as we expect, including their + // constness. + if constexpr (detail::hasPrintTwoArg) { + // Derived class has: + // std::ostream &print(std::ostream &os, const int level) const; + // and handles indentation level in its own way; we won't here. + std::ostringstream tmp; + derived().print(tmp,level+1); + const std::string &str = tmp.str(); + + std::size_t size = str.size(); + if (size) { + // expect that customizations may have spurious newlines :-/ + if (str[size-1] == '\n') size--; + for (std::size_t i = 0; i < size; ++i) + os << str[i]; + std::cout << std::endl; + } + } else if constexpr (detail::hasPrintOneArg) { + // Derived class has: + // std::ostream &print(std::ostream &os) const; + // and we'll detect newlines and handle indentation automatically. + std::ostringstream tmp; + derived().print(tmp); + const std::string &str = tmp.str(); + + std::size_t size = str.size(); + if (size) { + // remark as above + if (str[size-1] == '\n') size--; + if (size) + os << indentTo(level+1); + for (std::size_t i = 0; i < size; ++i) + os << str[i] << (str[i] == '\n' ? indentTo(level+1) : ""); + std::cout << std::endl; + } + } + + // BlockData, if any + if constexpr (hasBlockData) + BLOCKDATA::print(os,level+1); + + // Indent, footer, NO trailing newline + detail::indentString( + os, level, + detail::colorize_brace("}") + + (comments + ? " " + + detail::colorize_comment( + std::string("// ") + + detail::fullName( + DERIVED::namespaceName(), + DERIVED::className() + ) + ) + : "" + ) + ); + + return os; + + } catch (...) { + log::member("Component.print()"); + throw; + } +} + + +// ----------------------------------------------------------------------------- +// print +// print(ostream) +// Print trailing newlines. +// ----------------------------------------------------------------------------- + +// We'll give these const and non-const versions (one would normally expect only +// const versions of print functions), and with a "builder pattern" that mirrors +// that of the setters that GNDStk's code generator gives its generated classes. +// This way, someone can prettyprint an object while it's being built, builder +// style. Some users may find this to be useful for visualizing what's happening +// as they create an object. + +// const +const DERIVED &print(std::ostream &os = std::cout) const +{ + print(os,0) << std::endl; + return *static_cast(this); +} + +// non-const +DERIVED &print(std::ostream &os = std::cout) +{ + print(os,0) << std::endl; + return *static_cast(this); +} diff --git a/src/GNDStk/Component/src/sort.hpp b/src/GNDStk/Component/src/sort.hpp index 35765a08f..78878b065 100644 --- a/src/GNDStk/Component/src/sort.hpp +++ b/src/GNDStk/Component/src/sort.hpp @@ -11,7 +11,7 @@ void sort() assert(0 == links.size()); } else { // Make tuple (of individual keys) from DERIVED::keys() - static const auto tup = toKeywordTup(DERIVED::keys()).tup; + static const auto tup = makeKeyTuple(DERIVED::keys()).tup; // Consistency check assert(std::tuple_size::value == links.size()); diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index 1c38cf6f5..74189c8b8 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -23,7 +23,7 @@ operator Node() const assert(0 == links.size()); } else { // make tuple (of individual keys) from DERIVED::keys() - static const auto tup = toKeywordTup(DERIVED::keys()).tup; + static const auto tup = makeKeyTuple(DERIVED::keys()).tup; // consistency check assert(std::tuple_size::value == links.size()); diff --git a/src/GNDStk/Component/src/write.hpp b/src/GNDStk/Component/src/write.hpp index 8e07e2a20..49cdcad8e 100644 --- a/src/GNDStk/Component/src/write.hpp +++ b/src/GNDStk/Component/src/write.hpp @@ -1,129 +1,8 @@ -// ----------------------------------------------------------------------------- -// Component::write(), for prettyprinting -// ----------------------------------------------------------------------------- - -std::ostream &write(std::ostream &os, const int level) const -{ - try { - // Indent, write header, newline - detail::indentString( - os, level, - detail::colorize_component( - detail::fullName(DERIVED::namespaceName(), DERIVED::className()) - ) + " " + - detail::colorize_brace("{") + "\n" - ); - - if constexpr (!hasFields) { - // Consistency check - assert(0 == links.size()); - } else { - // Make tuple (of individual keys) from DERIVED::keys() - static const auto tup = toKeywordTup(DERIVED::keys()).tup; - - // Consistency check - assert(std::tuple_size::value == links.size()); - - // Compute maximum length of key names, if aligning. Note that we - // could - but don't - take into account that keys associated with - // optional or Defaulted values *might* not in fact show up in the - // final printed text. In such cases, and if values of those types - // happen to have longer names, then the printing that does appear - // might use more spacing than it really needs to. By choosing not - // to factor this in, on a case-by-case basis, all objects of this - // particular Component<...> type will print with consistent spacing. - // We prefer this behavior, and it's also slightly simpler to write. - std::size_t maxlen = 0; - if (GNDStk::align) - std::apply( - [&maxlen](const auto &... key) { - ((maxlen=std::max(maxlen,detail::getName(key).size())), ...); - }, - tup - ); - - // Apply links: - // derived-class data ==> print - std::apply( - [this,&os,&level,maxlen](const auto &... key) { - std::size_t n = 0; - ( - ( - // indent, write internal value, newline - detail::writeComponentPart( - os, - level+1, - *(std::decay_t *)links[n++], - detail::getName(key), - maxlen - ) && (os << '\n') // no if()s in fold expressions :-/ - ), - ... - ); - }, - tup - ); - } - - // Derived class write()s, if any. - // Note that neither, either, or both can be provided. - // To be recognized here, signatures must be exactly what we expect. - if constexpr (detail::hasWriteOneArg) { - // DERIVED::write() doesn't take an indentation level; we handle here - std::ostringstream tmp; - derived().write(tmp,0); - if (tmp.str().size() != 0) - os << indentTo(level+1); - for (char c : tmp.str()) - os << c << (c == '\n' ? indentTo(level+1) : ""); - if (tmp.str().size()) - os << std::endl; - } - if constexpr (detail::hasWriteTwoArg) { - // DERIVED::write() takes an indentation level - std::ostringstream tmp; - derived().write(tmp,level+1); - os << tmp.str(); - if (tmp.str().size()) - os << std::endl; - } - - // BlockData, if any - if constexpr (hasBlockData) - BLOCKDATA::write(os,level+1); - - // Indent, write footer, NO newline - detail::indentString( - os, level, - detail::colorize_brace("}") - + (comments - ? " " + - detail::colorize_comment( - std::string("// ") + - detail::fullName( - DERIVED::namespaceName(), - DERIVED::className() - ) - ) - : "" - ) - ); - - return os; - - } catch (...) { - log::member("Component.write()"); - throw; - } -} - - - // ----------------------------------------------------------------------------- // Component::write() -// Via Node, and using Node's available write() functions. -// So, autogenerated classes can directly use .write(...). +// Via Node, and using Node's write()s. +// So, Component-derived classes can use .write(...) directly. // ----------------------------------------------------------------------------- // write(ostream, FileType) @@ -161,84 +40,3 @@ bool write( ) const { return Node(*this).write(filename, format, decl); } - - - -// ----------------------------------------------------------------------------- -// print -// Simple version of the prettyprinting write(), for user ease and familiarity. -// ----------------------------------------------------------------------------- - -/* -REMARK -A long remark about a short function. :-) - -Python has print(), and we anticipate having many Python-aware users. This, -first and foremost, is the reason for this function's existence. - -Also, importantly, we've provided a series of write() functions, above, that -mirror Node's various write()s. The Component class is designed to imbue its -derived classes with a wealth of functionality, and, in this vein, we're taking -advantage of Component's ability to convert objects of those derived classes -to Node (an ability that Component also gives us!) and to thereby make Node's -write()s available to them. - -Node's write()s can do a number of things, including, for example, writing to -XML, and also writing to an internal debug format we have in GNDStk. Given the -above write()s - which, again, are intentionally designed (and this includes -their default arguments) to mirror Node's - a call to .write() in fact ends up -going to GNDStk's Debug format. - -A user, however, printing a Component-derived class, would probably much prefer -our prettyprinting capability! Not our internal debug format. So, instead of -changing up these write() functions - making them, in effect, be inconsistent -with Node's write() functions - we'll instead give users a "simple prettyprint -to C++ standard output" call by doing exactly what we're doing here: providing -a print(), like Python does, and with a name that's different from "write" so -that no conflict exists. - -Note that our print() does something small but important: it prints a newline -at the end, which in this context a user will expect. - -Wait a minute, doesn't the main prettyprint write() already do a newline? No, -in fact, it doesn't, and as some readers may realize, it shouldn't. Just as C++ -doesn't automatically end something it prints (an integer, say, or a floating- -point number) with a newline, neither should a well-mannered system for printing -class objects. Whether a newline is appropriate, or not, depends on context. - -If you write std::cout << 1.23 << std::endl, you expect one line, with "1.23", -followed by a newline via std::endl, then the cursor ready at the beginning of -the very next line. Write std::cout << obj << std::endl, where obj is of some -user-defined type with a stream output operator that prints its own newline (but -shouldn't!), and now the cursor, after printing, will be *two* lines down, after -an intervening blank line. Which raises a question: why the different behavior? - -It may seem convenient for "large" things to print with a newline automatically, -but doing so creates inconsistent behavior between different types of printed -objects, and inconsistencies beget unpredictability. - -Moreover, Component-derived classes often contain instances of other Component- -derived classes. In the above write(), an enclosing object will place its own -newlines - only where appropriate, and NOT where not appropriate - between its -constituent parts. If those parts did their own thing in this respect, they'd -stymie the ability of the enclosing class to do the right thing. - -Just for fun, we'll give print() both const and non-const versions (one would -normally expect only a const version), and with a "builder pattern" that mirrors -that of the setters that GNDStk's code generator gives its generated classes. -This way, someone could actually prettyprint an object *while* it's being built, -builder style. Perhaps some users would find this to be useful for visualizing -what's happening as they create their objects. -*/ - -const DERIVED &print(const int level = 0) const -{ - write(std::cout,level) << std::endl; - return *static_cast(this); -} - -DERIVED &print(const int level = 0) -{ - write(std::cout,level) << std::endl; - return *static_cast(this); -} diff --git a/src/GNDStk/Component/test/CMakeLists.txt b/src/GNDStk/Component/test/CMakeLists.txt index a81b982ff..178fbe81a 100644 --- a/src/GNDStk/Component/test/CMakeLists.txt +++ b/src/GNDStk/Component/test/CMakeLists.txt @@ -7,7 +7,7 @@ add_executable( GNDStk.Component.test fromNode.test.cpp getter.test.cpp toNode.test.cpp - write.test.cpp ) + print.test.cpp ) target_compile_options( GNDStk.Component.test PRIVATE ${${PREFIX}_common_flags} $<$:${${PREFIX}_strict_flags}>$<$: ${${PREFIX}_DEBUG_flags} diff --git a/src/GNDStk/Component/test/Component.test.cpp b/src/GNDStk/Component/test/Component.test.cpp index 6232a1061..2dc909362 100644 --- a/src/GNDStk/Component/test/Component.test.cpp +++ b/src/GNDStk/Component/test/Component.test.cpp @@ -163,7 +163,7 @@ SCENARIO("Testing GNDStk Component") { // // Don't confuse the above two. Component << string reads from an XML // or JSON snippet into an object of the class that's derived from - // Component. ostream << Component writes (to the ostream) the object. + // Component. ostream << Component prints the object to the ostream. WHEN("We test (Component << string) and (ostream << Component)") { DerivedData der; color = false; // avoid cluttering the checked output below @@ -179,7 +179,7 @@ SCENARIO("Testing GNDStk Component") { WHEN("We read a Component-derived object << XML text") { der << ""; - // write & check + // print, check THEN("The result is as expected") { std::ostringstream oss; oss << der; @@ -199,7 +199,7 @@ SCENARIO("Testing GNDStk Component") { " }" "}"; - // write & check + // print, check THEN("The result is as expected") { std::ostringstream oss; oss << der; diff --git a/src/GNDStk/Component/test/detail.test.cpp b/src/GNDStk/Component/test/detail.test.cpp index 7a901322b..e2e464251 100644 --- a/src/GNDStk/Component/test/detail.test.cpp +++ b/src/GNDStk/Component/test/detail.test.cpp @@ -7,16 +7,16 @@ using namespace njoy::GNDStk; // ----------------------------------------------------------------------------- -// Classes for testing the hasWrite*() functions +// Classes for testing the hasPrint*() functions // ----------------------------------------------------------------------------- struct Neither { - // has neither of the write()s seen in the upcoming classes + // has neither of the print()s seen in the upcoming classes }; struct One { // (ostream) only - std::ostream &write(std::ostream &os) const + std::ostream &print(std::ostream &os) const { return os; } @@ -24,7 +24,7 @@ struct One { struct Two { // (ostream,int) only - std::ostream &write(std::ostream &os, const int) const + std::ostream &print(std::ostream &os, const int) const { return os; } @@ -32,12 +32,12 @@ struct Two { struct Both { // (ostream) - std::ostream &write(std::ostream &os) const + std::ostream &print(std::ostream &os) const { return os; } // (ostream,int) - std::ostream &write(std::ostream &os, const int) const + std::ostream &print(std::ostream &os, const int) const { return os; } @@ -70,7 +70,7 @@ struct FooBar { // ----------------------------------------------------------------------------- // class Derived // Is derived from Component -// Used in the tests of writeComponentPart() +// Used in the tests of printComponentPart() // ----------------------------------------------------------------------------- class Derived : public Component { @@ -108,7 +108,7 @@ class NonDerived { double bar = 3.4; }; -// Needs << in order to participate in writeComponentPart() - which it does, +// Needs << in order to participate in printComponentPart() - which it does, // because we're using it as a test subject there. inline std::ostream &operator<<(std::ostream &s, const NonDerived &obj) @@ -233,20 +233,20 @@ SCENARIO("Testing Component detail:: miscellaneous functions") { CHECK(oss.str() == " foo"); } // GIVEN - // hasWrite* + // hasPrint* // Test some SFINAE constructs - GIVEN("Functions: hasWriteOneArg(), hasWriteTwoArg()") { - CHECK(detail::hasWriteOneArg == false); - CHECK(detail::hasWriteTwoArg == false); + GIVEN("Functions: hasPrintOneArg(), hasPrintTwoArg()") { + CHECK(detail::hasPrintOneArg == false); + CHECK(detail::hasPrintTwoArg == false); - CHECK(detail::hasWriteOneArg == true); - CHECK(detail::hasWriteTwoArg == false); + CHECK(detail::hasPrintOneArg == true); + CHECK(detail::hasPrintTwoArg == false); - CHECK(detail::hasWriteOneArg == false); - CHECK(detail::hasWriteTwoArg == true); + CHECK(detail::hasPrintOneArg == false); + CHECK(detail::hasPrintTwoArg == true); - CHECK(detail::hasWriteOneArg == true); - CHECK(detail::hasWriteTwoArg == true); + CHECK(detail::hasPrintOneArg == true); + CHECK(detail::hasPrintTwoArg == true); } // GIVEN } @@ -265,66 +265,66 @@ SCENARIO("Testing Component detail:: miscellaneous functions") { // ostream, level, vector, label, maxlen, color = "" // All return bool. -SCENARIO("Testing Component detail:: writeComponentPart()") { +SCENARIO("Testing Component detail:: printComponentPart()") { // for clarity below int level; std::size_t maxlen; std::ostringstream oss; indent = 2; - using detail::writeComponentPart; + using detail::printComponentPart; // For string - GIVEN("writeComponentPart() for string") { + GIVEN("printComponentPart() for string") { oss.str(""); - writeComponentPart(oss, level=2, "foo\nbar", "label", maxlen=0); + printComponentPart(oss, level=2, "foo\nbar", "label", maxlen=0); CHECK(oss.str() == " label : foo\n" " bar"); oss.str(""); - writeComponentPart(oss, level=2, "foo\nbar", "label", maxlen=10); + printComponentPart(oss, level=2, "foo\nbar", "label", maxlen=10); CHECK(oss.str() == " label : foo\n" " bar"); oss.str(""); - writeComponentPart(oss, level=2, "foo\nbar", "", maxlen=0); + printComponentPart(oss, level=2, "foo\nbar", "", maxlen=0); CHECK(oss.str() == " foo\n" " bar"); oss.str(""); - writeComponentPart(oss, level=2, "foo\nbar", "", maxlen=10); + printComponentPart(oss, level=2, "foo\nbar", "", maxlen=10); CHECK(oss.str() == " foo\n" " bar"); } // GIVEN // For general types T - GIVEN("writeComponentPart() for T") { + GIVEN("printComponentPart() for T") { // For double WHEN("T is double") { double value = 1.234; oss.str(""); - writeComponentPart(oss, level=2, value, "label", maxlen=0); + printComponentPart(oss, level=2, value, "label", maxlen=0); CHECK(oss.str() == " label : 1.234"); oss.str(""); - writeComponentPart(oss, level=2, value, "label", maxlen=10); + printComponentPart(oss, level=2, value, "label", maxlen=10); CHECK(oss.str() == " label : 1.234"); oss.str(""); - writeComponentPart(oss, level=2, value, "", maxlen=0); + printComponentPart(oss, level=2, value, "", maxlen=0); CHECK(oss.str() == " 1.234"); oss.str(""); - writeComponentPart(oss, level=2, value, "", maxlen=10); + printComponentPart(oss, level=2, value, "", maxlen=10); CHECK(oss.str() == " 1.234"); } - // writeComponentPart() for general T has an if-constexpr that + // printComponentPart() for general T has an if-constexpr that // distinguished classes that *are* derived from Component from // those that aren't, so we'll test both cases. (double, above, // in fact falls into the latter category.) ... @@ -335,7 +335,7 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { // label and maxlen don't get used in this case. // The Component-derived nature of the class causes - // value.write(stream,level) to be called instead. + // value.print(stream,level) to be called instead. // So we get the same result from each call. const std::string expected = " Derived {\n" @@ -344,19 +344,19 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { " } // Derived"; oss.str(""); - writeComponentPart(oss, level=2, value, "label", maxlen=0); + printComponentPart(oss, level=2, value, "label", maxlen=0); CHECK(oss.str() == expected); oss.str(""); - writeComponentPart(oss, level=2, value, "label", maxlen=10); + printComponentPart(oss, level=2, value, "label", maxlen=10); CHECK(oss.str() == expected); oss.str(""); - writeComponentPart(oss, level=2, value, "", maxlen=0); + printComponentPart(oss, level=2, value, "", maxlen=0); CHECK(oss.str() == expected); oss.str(""); - writeComponentPart(oss, level=2, value, "", maxlen=10); + printComponentPart(oss, level=2, value, "", maxlen=10); CHECK(oss.str() == expected); } @@ -365,42 +365,42 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { NonDerived value; oss.str(""); - writeComponentPart(oss, level=2, value, "label", maxlen=0); + printComponentPart(oss, level=2, value, "label", maxlen=0); CHECK(oss.str() == " label : {12,3.4}"); oss.str(""); - writeComponentPart(oss, level=2, value, "label", maxlen=10); + printComponentPart(oss, level=2, value, "label", maxlen=10); CHECK(oss.str() == " label : {12,3.4}"); oss.str(""); - writeComponentPart(oss, level=2, value, "", maxlen=0); + printComponentPart(oss, level=2, value, "", maxlen=0); CHECK(oss.str() == " {12,3.4}"); oss.str(""); - writeComponentPart(oss, level=2, value, "", maxlen=10); + printComponentPart(oss, level=2, value, "", maxlen=10); CHECK(oss.str() == " {12,3.4}"); } } // GIVEN // For optional - GIVEN("writeComponentPart() for optional") { + GIVEN("printComponentPart() for optional") { WHEN("The optional has a value") { std::optional opt = 1.234; oss.str(""); - writeComponentPart(oss, level=2, opt, "label", maxlen=0); + printComponentPart(oss, level=2, opt, "label", maxlen=0); CHECK(oss.str() == " label : 1.234"); oss.str(""); - writeComponentPart(oss, level=2, opt, "label", maxlen=10); + printComponentPart(oss, level=2, opt, "label", maxlen=10); CHECK(oss.str() == " label : 1.234"); oss.str(""); - writeComponentPart(oss, level=2, opt, "", maxlen=0); + printComponentPart(oss, level=2, opt, "", maxlen=0); CHECK(oss.str() == " 1.234"); oss.str(""); - writeComponentPart(oss, level=2, opt, "", maxlen=10); + printComponentPart(oss, level=2, opt, "", maxlen=10); CHECK(oss.str() == " 1.234"); } @@ -410,19 +410,19 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { comments = false; oss.str(""); - writeComponentPart(oss, level=2, opt, "label", maxlen=0); + printComponentPart(oss, level=2, opt, "label", maxlen=0); CHECK(oss.str() == ""); oss.str(""); - writeComponentPart(oss, level=2, opt, "label", maxlen=10); + printComponentPart(oss, level=2, opt, "label", maxlen=10); CHECK(oss.str() == ""); oss.str(""); - writeComponentPart(oss, level=2, opt, "", maxlen=0); + printComponentPart(oss, level=2, opt, "", maxlen=0); CHECK(oss.str() == ""); oss.str(""); - writeComponentPart(oss, level=2, opt, "", maxlen=10); + printComponentPart(oss, level=2, opt, "", maxlen=10); CHECK(oss.str() == ""); } @@ -432,25 +432,25 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { comments = true; oss.str(""); - writeComponentPart(oss, level=2, opt, "label", maxlen=0); + printComponentPart(oss, level=2, opt, "label", maxlen=0); CHECK(oss.str() == " label : // optional; has no value"); oss.str(""); - writeComponentPart(oss, level=2, opt, "label", maxlen=10); + printComponentPart(oss, level=2, opt, "label", maxlen=10); CHECK(oss.str() == " label : // optional; has no value"); oss.str(""); - writeComponentPart(oss, level=2, opt, "", maxlen=0); + printComponentPart(oss, level=2, opt, "", maxlen=0); CHECK(oss.str() == " // optional; has no value"); oss.str(""); - writeComponentPart(oss, level=2, opt, "", maxlen=10); + printComponentPart(oss, level=2, opt, "", maxlen=10); CHECK(oss.str() == " // optional; has no value"); } } // GIVEN // For Defaulted - GIVEN("writeComponentPart() for Defaulted") { + GIVEN("printComponentPart() for Defaulted") { WHEN("The Defaulted has an explicitly provided value") { // For the following: // 5.6 is the default @@ -458,19 +458,19 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { Defaulted def(5.6,7.8); oss.str(""); - writeComponentPart(oss, level=2, def, "label", maxlen=0); + printComponentPart(oss, level=2, def, "label", maxlen=0); CHECK(oss.str() == " label : 7.8"); oss.str(""); - writeComponentPart(oss, level=2, def, "label", maxlen=10); + printComponentPart(oss, level=2, def, "label", maxlen=10); CHECK(oss.str() == " label : 7.8"); oss.str(""); - writeComponentPart(oss, level=2, def, "", maxlen=0); + printComponentPart(oss, level=2, def, "", maxlen=0); CHECK(oss.str() == " 7.8"); oss.str(""); - writeComponentPart(oss, level=2, def, "", maxlen=10); + printComponentPart(oss, level=2, def, "", maxlen=10); CHECK(oss.str() == " 7.8"); } @@ -480,19 +480,19 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { comments = false; oss.str(""); - writeComponentPart(oss, level=2, def, "label", maxlen=0); + printComponentPart(oss, level=2, def, "label", maxlen=0); CHECK(oss.str() == ""); oss.str(""); - writeComponentPart(oss, level=2, def, "label", maxlen=10); + printComponentPart(oss, level=2, def, "label", maxlen=10); CHECK(oss.str() == ""); oss.str(""); - writeComponentPart(oss, level=2, def, "", maxlen=0); + printComponentPart(oss, level=2, def, "", maxlen=0); CHECK(oss.str() == ""); oss.str(""); - writeComponentPart(oss, level=2, def, "", maxlen=10); + printComponentPart(oss, level=2, def, "", maxlen=10); CHECK(oss.str() == ""); } @@ -502,49 +502,49 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { comments = true; oss.str(""); - writeComponentPart(oss, level=2, def, "label", maxlen=0); + printComponentPart(oss, level=2, def, "label", maxlen=0); CHECK(oss.str() == " label : // defaulted; is its default (2.72)"); oss.str(""); - writeComponentPart(oss, level=2, def, "label", maxlen=10); + printComponentPart(oss, level=2, def, "label", maxlen=10); CHECK(oss.str() == " label : // defaulted; is its default (2.72)"); oss.str(""); - writeComponentPart(oss, level=2, def, "", maxlen=0); + printComponentPart(oss, level=2, def, "", maxlen=0); CHECK(oss.str() == " // defaulted; is its default (2.72)"); oss.str(""); - writeComponentPart(oss, level=2, def, "", maxlen=10); + printComponentPart(oss, level=2, def, "", maxlen=10); CHECK(oss.str() == " // defaulted; is its default (2.72)"); } } // GIVEN // For variant - GIVEN("writeComponentPart() for variant") { + GIVEN("printComponentPart() for variant") { oss.str(""); std::variant var(9.87); oss.str(""); - writeComponentPart(oss, level=2, var, "label", maxlen=0); + printComponentPart(oss, level=2, var, "label", maxlen=0); CHECK(oss.str() == " label : 9.87"); oss.str(""); - writeComponentPart(oss, level=2, var, "label", maxlen=10); + printComponentPart(oss, level=2, var, "label", maxlen=10); CHECK(oss.str() == " label : 9.87"); oss.str(""); - writeComponentPart(oss, level=2, var, "", maxlen=0); + printComponentPart(oss, level=2, var, "", maxlen=0); CHECK(oss.str() == " 9.87"); oss.str(""); - writeComponentPart(oss, level=2, var, "", maxlen=10); + printComponentPart(oss, level=2, var, "", maxlen=10); CHECK(oss.str() == " 9.87"); } // GIVEN // For vector - GIVEN("writeComponentPart() for vector") { + GIVEN("printComponentPart() for vector") { oss.str(""); const std::vector vec{{"a","b","c","d","e"}}; @@ -558,11 +558,11 @@ SCENARIO("Testing Component detail:: writeComponentPart()") { " ]"; oss.str(""); - writeComponentPart(oss, level=2, vec, "label", maxlen=0); + printComponentPart(oss, level=2, vec, "label", maxlen=0); CHECK(oss.str() == expected); oss.str(""); - writeComponentPart(oss, level=2, vec, "label", maxlen=10); + printComponentPart(oss, level=2, vec, "label", maxlen=10); CHECK(oss.str() == expected); } // GIVEN } diff --git a/src/GNDStk/Component/test/fromNode.test.cpp b/src/GNDStk/Component/test/fromNode.test.cpp index f417bf0a4..9c1bf456c 100644 --- a/src/GNDStk/Component/test/fromNode.test.cpp +++ b/src/GNDStk/Component/test/fromNode.test.cpp @@ -59,7 +59,7 @@ Finally, our third test works with Values objects. Objects of this type have block data. Construction from Node does a get(), which takes the original, raw block data in the Node, and makes a vector (in this case vector) from it. fromNode() doesn't do that until, and unless, we ask for it by calling get() -directly. Values objects with only raw text write differently than those with +directly. Values objects with only raw text print differently than those with text that was processed into a vector. So, this test first ensures that the two Values objects print differently. Then it does an explicit get() for the object that used fromNode(), and ensures that the results are identical thereafter. diff --git a/src/GNDStk/Component/test/write.test.cpp b/src/GNDStk/Component/test/print.test.cpp similarity index 98% rename from src/GNDStk/Component/test/write.test.cpp rename to src/GNDStk/Component/test/print.test.cpp index 108bd95e4..46fee4d27 100644 --- a/src/GNDStk/Component/test/write.test.cpp +++ b/src/GNDStk/Component/test/print.test.cpp @@ -14,9 +14,9 @@ using namespace basic; // Scenario // ----------------------------------------------------------------------------- -inline const std::string &CorrectWriteText(); +inline const std::string &CorrectPrintText(); -SCENARIO("Component write()") { +SCENARIO("Component print()") { GIVEN("A GNDS tree") { const Tree t("n-001_H_002.xml"); const ReactionSuite suite(t(child::reactionSuite)); @@ -27,11 +27,11 @@ SCENARIO("Component write()") { // point numbers across different platforms... oss << std::setprecision(8) << std::scientific; - THEN("Component's write() function gives the correct result") { - // Component's operator<< calls its write(ostream,0) + THEN("Component's print() function gives the correct result") { + // Component's operator<< calls its print(ostream,0) njoy::GNDStk::reals << std::setprecision(8) << std::scientific; oss << suite << std::endl; - CHECK(oss.str() == CorrectWriteText()); + CHECK(oss.str() == CorrectPrintText()); } } } @@ -40,11 +40,11 @@ SCENARIO("Component write()") { // ----------------------------------------------------------------------------- // The following returns a fairly long string, but serves as a good test of -// Component's write() function, because so many elements (vectors, variants, +// Component's print() function, because so many elements (vectors, variants, // std::optional objects, Defaulted objects, etc.) are involved. // ----------------------------------------------------------------------------- -inline const std::string &CorrectWriteText() +inline const std::string &CorrectPrintText() { static const std::string ret = R"***(proto::ReactionSuite { diff --git a/src/GNDStk/Meta.hpp b/src/GNDStk/Meta.hpp index ba93bfca1..1c78817ac 100644 --- a/src/GNDStk/Meta.hpp +++ b/src/GNDStk/Meta.hpp @@ -23,8 +23,8 @@ class Meta { // ctor explicit Meta( const std::string &n, - const TYPE &t = TYPE{}, - const CONVERTER &c = CONVERTER{} + const TYPE &t = detail::static_const(), + const CONVERTER &c = detail::static_const() ) : name(n), object(t), diff --git a/src/GNDStk/Meta/src/detail.hpp b/src/GNDStk/Meta/src/detail.hpp index 767d59d7b..27bb2ec0d 100644 --- a/src/GNDStk/Meta/src/detail.hpp +++ b/src/GNDStk/Meta/src/detail.hpp @@ -51,4 +51,18 @@ class default_converter { template using default_converter_t = typename default_converter::type; + +// ----------------------------------------------------------------------------- +// static_const +// Used in certain places in which default initializations of class T objects +// may be needed, but might be expensive. +// ----------------------------------------------------------------------------- + +template +inline const T &static_const() +{ + static const T value{}; + return value; +} + } // namespace detail diff --git a/src/GNDStk/Node.hpp b/src/GNDStk/Node.hpp index be9eb64c8..35f263c6b 100644 --- a/src/GNDStk/Node.hpp +++ b/src/GNDStk/Node.hpp @@ -124,11 +124,11 @@ class Node { #define GNDSTK_CONST #include "GNDStk/Node/src/call-child.hpp" - // For the KeywordTup<...> tuple wrapper + // For the KeyTuple<...> std::tuple wrapper #define GNDSTK_CONST const - #include "GNDStk/Node/src/call-keywordtup.hpp" + #include "GNDStk/Node/src/call-keytuple.hpp" #define GNDSTK_CONST - #include "GNDStk/Node/src/call-keywordtup.hpp" + #include "GNDStk/Node/src/call-keytuple.hpp" // General multi-argument #define GNDSTK_CONST const diff --git a/src/GNDStk/Node/src/call-keywordtup.hpp b/src/GNDStk/Node/src/call-keytuple.hpp similarity index 88% rename from src/GNDStk/Node/src/call-keywordtup.hpp rename to src/GNDStk/Node/src/call-keytuple.hpp index 475bab3d7..7352c158f 100644 --- a/src/GNDStk/Node/src/call-keywordtup.hpp +++ b/src/GNDStk/Node/src/call-keytuple.hpp @@ -15,7 +15,6 @@ auto operator()( bool &found, std::vector & ) GNDSTK_CONST { - log::debug("Node(tuple<>), tuple size == 0"); found = true; return tup; } @@ -29,17 +28,12 @@ auto operator()( std::vector &missing ) GNDSTK_CONST { - log::debug( - "Node(tuple<...>), tuple size == {}", - sizeof...(Ks) - ); - // Process tup's <0> // We *don't* simply write: // std::make_tuple(operator()(std::get<0>(tup),head_found)), // because doing so would decay references to non-references. That would // mean, ultimately, that Meta and Child instances inside - // our KeywordTup<...> objects, which are returned by our | (or) operators, + // our KeyTuple<...> objects, which are returned by our | (or) operators, // would no longer produce [possibly const] *references* to std::string // and Node, respectively, but would surreptitiously lose the references. // We don't want to lose the references, though, because our multi-query @@ -75,25 +69,20 @@ auto operator()( // ----------------------------------------------------------------------------- // Public -// (KeywordTup<...>) +// (KeyTuple<...>) // ----------------------------------------------------------------------------- public: template auto operator()( - const KeywordTup &kwds, + const KeyTuple &keytup, bool &found = detail::default_bool // means "found all" in this context ) GNDSTK_CONST { - log::debug( - "Node(KeywordTup<...>), KeywordTup size == {}", - sizeof...(Ks) - ); - std::vector missing; try { - const auto ret = operator()(kwds.tup, found, missing); + const auto ret = operator()(keytup.tup, found, missing); // As it does with other query functions, GNDStk returns with no error // if either the requested data were found, or if the "found" flag was // sent here explicitly. Either way, found == did we find the data? @@ -125,9 +114,9 @@ auto operator()( std::size_t n = 0; ((names += keyname(key) + (++n < sizeof...(Ks) ? "," : "")), ...); }, - kwds.tup + keytup.tup ); - log::member("Node(KeywordTup({})", names); + log::member("Node(KeyTuple({})", names); throw; } } diff --git a/src/GNDStk/or.hpp b/src/GNDStk/or.hpp index 399df57c5..96d66cf6c 100644 --- a/src/GNDStk/or.hpp +++ b/src/GNDStk/or.hpp @@ -1,123 +1,136 @@ #include "GNDStk/or/src/detail.hpp" +/* +Discussion. + +KeyTuple is based mostly on std::tuple, but is specifically designed to help +GNDStk's multi-query system work smoothly. + +makeKeyTuple() can be understood in terms of the keys() function in a class +that derives from GNDStk::Component. Typically, a keys() function returns some +number of Meta and/or Child objects, |'d together with one of the operator| +overloads that we provide at the end of this file. However, a keys() function +can in fact return any of the following: + + - A KeyTuple (via operator| as described above). + - A single Meta object. + - A single Child object. + - A std::tuple<>. + +The first use is probably the most common, but all are allowed. The purpose of +makeKeyTuple() (which could be considered analogous to std::make_pair in C++) +is, then, to take the result of any case, and return an appropriately templated +version of KeyTuple that represents what keys() is asking for. Other functions +can then be defined uniformly in terms of KeyTuple only - not KeyTuple and Meta +and Child and .... + +The first use is probably the most common, but all are allowed. The purpose of +makeKeyTuple() (which could be considered analogous to std::make_pair in C++) is +to take the result of any case, and return an appropriately templated version of +KeyTuple that represents what keys() is asking for. Other functions can then be +defined uniformly in terms of KeyTuple only, not every possible keys() return. +*/ + // ----------------------------------------------------------------------------- -// KeywordTup +// KeyTuple // ----------------------------------------------------------------------------- // default template -class KeywordTup { +class KeyTuple { public: std::tuple tup; using last_t = - // Sans std::decay, const &ness can break detail::IsSomething<> traits. - // Note: sizeof...(Ks) >= 1 here, because we'll specialize the <> case + // Without std::decay, const &ness can break detail::IsSomething<> traits. + // Note: sizeof...(Ks) >= 1 here, because we've specialized the <> case. std::decay_t(tup))>; - // KeywordTup(KeywordTup, RHS) + // KeyTuple(KeyTuple, RHS) template< class... LHS, class RHS, - // ensure Ks... == LHS... RHS + // require Ks... == LHS... RHS class = std::enable_if_t< std::is_same_v< std::tuple, std::tuple > >, - // ensure RHS \in {Meta, Child, pair, string, regex} + // require RHS \in {Meta, Child, pair, string, regex} class = std::enable_if_t< detail::IsMetaOrChild::value || detail::IsPairChildStringOrRegex::value > > - KeywordTup(const KeywordTup &lhs, const RHS &rhs) : + KeyTuple(const KeyTuple &lhs, const RHS &rhs) : tup(std::tuple_cat(lhs.tup, std::tuple(rhs))) { } - - // KeywordTup(tuple) - KeywordTup(const std::tuple &tup) : - tup(tup) - { } }; - // <> // intentionally non-constructible template<> -class KeywordTup<> +class KeyTuple<> { - KeywordTup() = delete; - KeywordTup(const KeywordTup &) = delete; - KeywordTup(KeywordTup &&) = delete; + KeyTuple() = delete; + KeyTuple(const KeyTuple &) = delete; + KeyTuple(KeyTuple &&) = delete; }; - -// just Meta +// Meta template -class KeywordTup> { +class KeyTuple> { using M = Meta; public: std::tuple tup; - explicit KeywordTup(const M &m) : tup(m) { } + explicit KeyTuple(const M &m) : tup(m) { } }; - -// just Child +// Child template -class KeywordTup> { +class KeyTuple> { using C = Child; public: std::tuple tup; - explicit KeywordTup(const C &c) : tup(c) { } + explicit KeyTuple(const C &c) : tup(c) { } }; - // std::pair template -class KeywordTup,std::string>> { +class KeyTuple,std::string>> { using CPAIR = std::pair,std::string>; public: using last_t = CPAIR; std::tuple tup; - explicit KeywordTup(const CPAIR &cpair) : tup(cpair) { } + explicit KeyTuple(const CPAIR &cpair) : tup(cpair) { } }; - // std::pair template -class KeywordTup,std::regex>> { +class KeyTuple,std::regex>> { using CPAIR = std::pair,std::regex>; public: using last_t = CPAIR; std::tuple tup; - explicit KeywordTup(const CPAIR &cpair) : tup(cpair) { } + explicit KeyTuple(const CPAIR &cpair) : tup(cpair) { } }; - // ----------------------------------------------------------------------------- -// toKeywordTup +// makeKeyTuple // ----------------------------------------------------------------------------- -// for std::tuple +// for KeyTuple template -constexpr auto toKeywordTup(const std::tuple &tup) +constexpr auto makeKeyTuple(const KeyTuple &keytup) { - return KeywordTup(tup); -} - -// for KeywordTup -template -constexpr auto toKeywordTup(const KeywordTup &kwds) -{ - return kwds; + return keytup; } // for Meta, Child, and pair -// Returns a 1-element KeywordTup made from the object +// Returns a 1-element KeyTuple made from the object template< class T, class = std::enable_if_t< @@ -125,13 +138,12 @@ template< detail::IsPairChildStringOrRegex::value > > -constexpr auto toKeywordTup(const T &obj) +constexpr auto makeKeyTuple(const T &obj) { - return KeywordTup(obj); + return KeyTuple(obj); } - // ----------------------------------------------------------------------------- // operator| // ----------------------------------------------------------------------------- @@ -141,40 +153,40 @@ constexpr auto toKeywordTup(const T &obj) CASES ------------------------ -Below, KeywordTup<...> doesn't include <>; at least one element must exist. - ------------------------------------------+------------------------------------ - CASE | RESULT ------------------------------------------+------------------------------------ -1. Meta/Child | Meta/Child | - a. Meta | Meta | KeywordTup - b. Meta | Child | KeywordTup - c. Child | Meta | KeywordTup - d. Child | Child | KeywordTup ------------------------------------------+------------------------------------ -2. Child | string/regex | - a. Child | string | KeywordTup> - b. Child | char * | KeywordTup> - c. Child | regex | KeywordTup> ------------------------------------------+------------------------------------ -3. KeywordTup<...> | Meta/Child | - a. KeywordTup<...> | Meta | KeywordTup<...,Meta> - b. KeywordTup<...> | Child | KeywordTup<...,Child> ------------------------------------------+------------------------------------ -4. KeywordTup<...,Child> | string/regex | - a. KeywordTup<...,Child> | string | KeywordTup<...,pair> - b. KeywordTup<...,Child> | char * | KeywordTup<...,pair> - c. KeywordTup<...,Child> | regex | KeywordTup<...,pair> ------------------------------------------+------------------------------------ +Below, KeyTuple<...> doesn't include <>; at least one element must exist. + +---------------------------------------+------------------------------------ + CASE | RESULT +---------------------------------------+------------------------------------ +1. Meta/Child | Meta/Child | + a. Meta | Meta | KeyTuple + b. Meta | Child | KeyTuple + c. Child | Meta | KeyTuple + d. Child | Child | KeyTuple +---------------------------------------+------------------------------------ +2. Child | string/regex | + a. Child | string | KeyTuple> + b. Child | char * | KeyTuple> + c. Child | regex | KeyTuple> +---------------------------------------+------------------------------------ +3. KeyTuple<...> | Meta/Child | + a. KeyTuple<...> | Meta | KeyTuple<...,Meta> + b. KeyTuple<...> | Child | KeyTuple<...,Child> +---------------------------------------+------------------------------------ +4. KeyTuple<...,Child> | string/regex | + a. KeyTuple<...,Child> | string | KeyTuple<...,pair> + b. KeyTuple<...,Child> | char * | KeyTuple<...,pair> + c. KeyTuple<...,Child> | regex | KeyTuple<...,pair> +---------------------------------------+------------------------------------ */ // ------------------------ -// Bootstrap KeywordTup<...> +// Bootstrap KeyTuple<...> // ------------------------ // 1. Meta/Child | Meta/Child -// ==> KeywordTup +// ==> KeyTuple template< class LHS, class RHS, class = std::enable_if_t::value>, @@ -184,13 +196,12 @@ auto operator|( const LHS &lhs, // via SFINAE: Meta or Child const RHS &rhs // via SFINAE: Meta or Child ) { - log::debug("or #1: Meta/Child | Meta/Child"); - return KeywordTup(KeywordTup(lhs),rhs); + return KeyTuple(KeyTuple(lhs),rhs); } // 2. Child | string/regex -// ==> KeywordTup> +// ==> KeyTuple> template< class TYPE, Allow ALLOW, class CONVERTER, class FILTER, class RHS, class StringOrRegex = typename detail::IsStringOrRegex::type @@ -199,54 +210,50 @@ auto operator|( const Child &lhs, const RHS &rhs // via SFINAE: string (or char * etc.) or regex ) { - log::debug("or #2: Child | string/regex"); using LHS = Child; - return KeywordTup>( + return KeyTuple>( std::pair(lhs,StringOrRegex(rhs)) ); } - // ------------------------ -// Append to KeywordTup<...> +// Append to KeyTuple<...> // ------------------------ -// 3. KeywordTup<...> | Meta/Child -// ==> KeywordTup<..., Meta/Child> +// 3. KeyTuple<...> | Meta/Child +// ==> KeyTuple<..., Meta/Child> template< class... LHS, class RHS, class = std::enable_if_t::value> > auto operator|( - const KeywordTup &lhs, + const KeyTuple &lhs, const RHS &rhs // via SFINAE: Meta or Child ) { - log::debug("or #3: KeywordTup<...> | Meta/Child"); - return KeywordTup(lhs,rhs); + return KeyTuple(lhs,rhs); } -// 4. KeywordTup<...,Child> | string/regex -// ==> KeywordTup<..., pair> +// 4. KeyTuple<...,Child> | string/regex +// ==> KeyTuple<..., pair> template< class... LHS, class RHS, class = std::enable_if_t< - detail::IsChild::last_t>::value + detail::IsChild::last_t>::value >, class StringOrRegex = typename detail::IsStringOrRegex::type > auto operator|( - const KeywordTup &lhs, - const RHS &rhs // via SFINAE: string (or char * etc.) or regex + const KeyTuple &lhs, + const RHS &rhs // via SFINAE: string or char array, or regex ) { - log::debug("or #4: KeywordTup<...,Child> | string/regex"); - return toKeywordTup( + return makeKeyTuple( detail::tupleReplaceLast( lhs.tup, std::make_pair( std::get(lhs.tup), - StringOrRegex(rhs) + StringOrRegex(rhs) // cast ensures char array ==> std::string ) ) ); diff --git a/src/GNDStk/precision/test/precision.test.cpp b/src/GNDStk/precision/test/precision.test.cpp index 7dae05128..3302d761f 100644 --- a/src/GNDStk/precision/test/precision.test.cpp +++ b/src/GNDStk/precision/test/precision.test.cpp @@ -862,7 +862,7 @@ SCENARIO("Precision code in BlockData::write(), " { // Context/action: // data, write - // This actually happens in detail::writeComponentPart() + // This actually happens in detail::printComponentPart() Node node; node << input_numbers_full; diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 9f8894dc9..1b0915377 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -81,7 +81,7 @@ inline void failback(std::istream &is, const std::streampos pos) // ----------------------------------------------------------------------------- -// Helper constructs for some simple Log-enhancing pretty-printing +// Helper constructs for some simple Log-enhancing prettyprinting // ----------------------------------------------------------------------------- // align, color From 90942cc8f124b999692734a1150fa3cfcb83a684 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 29 Mar 2022 14:02:24 -0600 Subject: [PATCH 085/235] Fix some terminology. Fix (I hope) error in g++ compilation. --- src/GNDStk/Component.hpp | 7 ++++++- src/GNDStk/Component/src/detail.hpp | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index f4bb356e6..5f90d1160 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -73,11 +73,16 @@ class Component : public BlockData // You can (but need not) override the following in DERIVED static std::string namespaceName() { return ""; } - // base + // baseBlockData // Convenient access to the BlockData base class BLOCKDATA &baseBlockData() { return *this; } const BLOCKDATA &baseBlockData() const { return *this; } + // baseComponent + // Convenient access to the Component base class (of the derived class) + Component &baseComponent() { return *this; } + const Component &baseComponent() const { return *this; } + // derived // Convenient access to the derived class DERIVED &derived() diff --git a/src/GNDStk/Component/src/detail.hpp b/src/GNDStk/Component/src/detail.hpp index 975320423..5594a9bb2 100644 --- a/src/GNDStk/Component/src/detail.hpp +++ b/src/GNDStk/Component/src/detail.hpp @@ -214,11 +214,11 @@ inline bool printComponentPart( // ------------------------ // helper -// is_base_of_Component +// isDerivedFromComponent // Adapted from an answer here: // https://stackoverflow.com/questions/34672441 template -class is_base_of_Component { +class isDerivedFromComponent { template static constexpr std::true_type test(Component *); static constexpr std::false_type test(...); @@ -233,12 +233,12 @@ bool printComponentPart( const std::string &label, const std::size_t maxlen, const std::string &color ) { - if constexpr (is_base_of_Component::value) { + if constexpr (isDerivedFromComponent::value) { // Suppress "unused parameter" warnings (void)value; (void)maxlen; (void)label; (void)color; // T is derived from Component, and thus inherits a print() - value.Component::print(os,level); + value.baseComponent().print(os,level); } else { // T is any old type, not derived from Component if constexpr (std::is_floating_point_v) { From 5e5141a35774d750531f33814ba0660f06ec5afb Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 30 Mar 2022 21:29:58 -0600 Subject: [PATCH 086/235] Lots of miscellaneous changes. I'll write much more in an upcoming pull request. --- autogen/changes.json | 1 - autogen/prototype/generalPurpose.json | 16 +- autogen/prototype/reactionSuite.json | 10 +- docs/primer.rst | 27 +- docs/tutorial/employees.json | 14 +- src/GNDStk/Component.hpp | 16 +- src/GNDStk/Component/src/ctor.hpp | 12 +- src/GNDStk/Component/src/finish.hpp | 2 +- src/GNDStk/Component/src/fromNode.hpp | 6 +- src/GNDStk/Component/src/getter.hpp | 6 +- src/GNDStk/Component/src/print.hpp | 10 +- src/GNDStk/Component/src/sort.hpp | 4 +- src/GNDStk/Component/src/toNode.hpp | 8 +- src/GNDStk/Component/test/Component.test.cpp | 38 +-- src/GNDStk/Component/test/ctor.test.cpp | 6 +- src/GNDStk/Component/test/detail.test.cpp | 6 +- src/GNDStk/Component/test/finish.test.cpp | 16 +- src/GNDStk/Component/test/getter.test.cpp | 8 +- src/GNDStk/Component/test/prototype.hpp | 88 ++--- src/GNDStk/HDF5/test/HDF5.test.cpp | 2 +- .../HDF5/test/resources/correct-raw-string.h5 | Bin 37680 -> 37680 bytes .../HDF5/test/resources/correct-raw-typed.h5 | Bin 37920 -> 37920 bytes src/GNDStk/JSON/test/JSON.test.cpp | 22 +- .../test/resources/n-069_Tm_170-covar.json | 22 +- src/GNDStk/Node/test/call.test.cpp | 308 +++++++++++++++++- src/GNDStk/Tree/test/meta.test.cpp | 4 +- .../test/resources/n-069_Tm_170-covar.json | 22 +- src/GNDStk/Tree/test/write.test.cpp | 22 +- .../test/resources/n-069_Tm_170-covar.json | 22 +- src/GNDStk/convert/src/detail-hdf52node.hpp | 8 +- src/GNDStk/convert/src/detail-json2node.hpp | 14 +- src/GNDStk/convert/src/detail-node2hdf5.hpp | 4 +- src/GNDStk/convert/src/detail-node2json.hpp | 4 +- src/GNDStk/or.hpp | 51 +-- src/GNDStk/or/src/detail.hpp | 2 +- .../test/precision-test-classes.json | 8 +- src/GNDStk/precision/test/precision.test.hpp | 40 +-- src/GNDStk/v1.9/containers/Axes.hpp | 8 +- src/GNDStk/v1.9/containers/Axis.hpp | 8 +- src/GNDStk/v1.9/containers/Grid.hpp | 8 +- src/GNDStk/v1.9/containers/Link.hpp | 8 +- src/GNDStk/v1.9/containers/Regions1d.hpp | 8 +- src/GNDStk/v1.9/containers/Values.hpp | 8 +- src/GNDStk/v1.9/containers/XYs1d.hpp | 8 +- src/GNDStk/v1.9/transport/CrossSection.hpp | 8 +- src/GNDStk/v1.9/transport/Reaction.hpp | 8 +- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 8 +- src/GNDStk/v1.9/transport/Reactions.hpp | 8 +- 48 files changed, 624 insertions(+), 313 deletions(-) diff --git a/autogen/changes.json b/autogen/changes.json index 87832d157..77733b650 100644 --- a/autogen/changes.json +++ b/autogen/changes.json @@ -11,7 +11,6 @@ "metadata": { "type": { "Boolean": "bool", - "string": "std::string", "encoding": "enums::Encoding", "frame": "enums::Frame", "interaction": "enums::Interaction", diff --git a/autogen/prototype/generalPurpose.json b/autogen/prototype/generalPurpose.json index 0f0456417..a0f41ebc2 100644 --- a/autogen/prototype/generalPurpose.json +++ b/autogen/prototype/generalPurpose.json @@ -33,11 +33,11 @@ }, "children": { "axes": { - "occurrence": "1", + "times": "1", "required": false }, "values": { - "occurrence": "1", + "times": "1", "required": true } } @@ -52,12 +52,12 @@ }, "children": { "axis": { - "occurrence": "choice+", + "times": "choice+", "variant": "axis_grid", "required": false }, "grid": { - "occurrence": "choice+", + "times": "choice+", "variant": "axis_grid", "required": false } @@ -108,12 +108,12 @@ }, "children": { "values": { - "occurrence": "choice", + "times": "choice", "variant": "link_values", "required": false }, "link": { - "occurrence": "choice", + "times": "choice", "variant": "link_values", "required": false } @@ -154,11 +154,11 @@ }, "children": { "axes": { - "occurrence": "1", + "times": "1", "required": false }, "XYs1d": { - "occurrence": "1+", + "times": "1+", "required": true } }, diff --git a/autogen/prototype/reactionSuite.json b/autogen/prototype/reactionSuite.json index 56280918b..814478bae 100644 --- a/autogen/prototype/reactionSuite.json +++ b/autogen/prototype/reactionSuite.json @@ -30,7 +30,7 @@ }, "children": { "reactions": { - "occurrence": "1", + "times": "1", "required": false } } @@ -40,7 +40,7 @@ "metadata": {}, "children": { "reaction": { - "occurrence": "1+", + "times": "1+", "required": true } } @@ -63,7 +63,7 @@ }, "children": { "crossSection": { - "occurrence": "1", + "times": "1", "required": true } } @@ -73,12 +73,12 @@ "metadata": {}, "children": { "XYs1d": { - "occurrence": "choice+", + "times": "choice+", "variant": "XYs1d_regions1d", "required": false }, "regions1d": { - "occurrence": "choice+", + "times": "choice+", "variant": "XYs1d_regions1d", "required": false } diff --git a/docs/primer.rst b/docs/primer.rst index d0dbdfa1a..e1530f918 100644 --- a/docs/primer.rst +++ b/docs/primer.rst @@ -490,15 +490,19 @@ with what XML is able to represent. the node. For example, in HDF5 the attribute ``nodeIndex`` could be added to each child in a group. -For (1), GNDStk does the first suggested action (which we think is -somewhat cleaner than using an ``_attr`` suffix), but with a slight twist: -it groups a node's attributes under a child node called ``#attributes``. The -``#`` prefix is something we use in node names throughout GNDStk, if and where +For (1), GNDStk does largely the first suggested action (which we think is +somewhat cleaner than using an ``_attr`` suffix), but with a slight twist, +along with our preferred terminology of ``metadata`` in place of ``attributes``. +It groups a node's metadata -- attributes -- under a child node +called ``#metadata``. + +The ``#`` prefix is something we use in node names throughout GNDStk, +if and where the nodes so named represent special things -- with special meaning, and needing special treatment. The extra character allows special nodes to be identified easily, in both the GNDStk code base itself or in files produced by GNDStk. Moreover, one could imagine that a future GNDS version might -- just might -- -have a normal node with the name ``attributes``, or with some other name that +have a normal node with the name ``metadata``, or with some other name that we might wish to use for a special purpose. If and where such situations occur, our use of a special prefix character allows for an unambiguous interpretation. (As an aside: in principle, we'd have preferred to use the S-like dollar sign, @@ -508,10 +512,9 @@ for use in identifying special nodes, as our various node-finding capabilities support the use of regular expressions.) For (2), GNDStk does as suggested, except again with the ``#`` terminology as -described above. Multiple elements of the same name are suffixed with ``0``, -``1``, etc. Then, a JSON name/value pair with the name ``#nodeName`` -- as -suggested, but with our ``#`` prefix -- is created. Its value preserves the -original element's name. +described above, and an all-lowercase name. Multiple elements of the same name +are suffixed with ``0``, ``1``, etc. Then, a JSON name/value pair with the +name ``#nodename`` is created. Its value preserves the original element's name. For (3), GNDStk does nothing in particular right now. Our understanding of GNDS is that it's designed so that elements -- nodes -- can appear in any order. @@ -521,7 +524,7 @@ GNDS file that we've been using for our examples: .. literalinclude:: tutorial/xml-axes-fragment.xml :language: xml -Those ``axis`` child nodes already contain a 0-based ``index`` attribute, so +Those ``axis`` child nodes already contain a 0-based ``index`` metadatum, so perhaps the specification's admonishment #3 is something we can consider to have been satisfied already by whomever has created an existing, valid GNDS file (so that no further treatment is required); or something that *we* must satisfy if @@ -561,8 +564,8 @@ node. (Valid GNDS top-level nodes, per the standard, are ``reactionSuite``, about it for now. Naturally, GNDStk reverses the modifications when we *read* from a JSON file -into our internal format. Specifically: values in an ``#attributes`` block are -transformed into metadata in the enclosing node, and values from ``#nodeName`` +into our internal format. Specifically: values in an ``#metadata`` block are +transformed into metadata in the enclosing node, and values from ``#nodename`` name/value pairs replace index-suffixed names. At this time, GNDStk provides no other options, such as the ``_attr`` suffix diff --git a/docs/tutorial/employees.json b/docs/tutorial/employees.json index cdfd9ff8e..98371f024 100644 --- a/docs/tutorial/employees.json +++ b/docs/tutorial/employees.json @@ -2,30 +2,30 @@ "employees": { "employee0": { "name": { - "#attributes": { + "#metadata": { "first": "Doc", "last": "Jones" } }, - "#nodeName": "employee" + "#nodename": "employee" }, "employee1": { "name": { - "#attributes": { + "#metadata": { "first": "Grumpy", "last": "Smith" } }, - "#nodeName": "employee" + "#nodename": "employee" }, "employee2": { "name": { - "#attributes": { + "#metadata": { "first": "Happy", "last": "Earp" } }, - "#nodeName": "employee" + "#nodename": "employee" } } -} \ No newline at end of file +} diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index 5f90d1160..daa10f9a0 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -21,10 +21,10 @@ class Component : public BlockData using typename BLOCKDATA::VariantOfVectors; using typename BLOCKDATA::VariantOfScalars; static inline constexpr bool hasFields = - !std::is_same_v>; + !std::is_same_v>; // Links to fields in the object of the derived class. I can't find a way - // to do this in a decltype(DERIVED::keys())-aware manner, because DERIVED + // to do this in a decltype(DERIVED::KEYS())-aware manner, because DERIVED // is generally an incomplete type *here* - outside of Component's member // functions. So, we'll do it the old-fashioned way. std::vector links; @@ -71,7 +71,7 @@ class Component : public BlockData #include "GNDStk/Component/src/toNode.hpp" // conversion to Node // You can (but need not) override the following in DERIVED - static std::string namespaceName() { return ""; } + static std::string NAMESPACE() { return ""; } // baseBlockData // Convenient access to the BlockData base class @@ -120,7 +120,7 @@ class Component : public BlockData return false; } - static std::string className() { return DERIVED::className(); } + static std::string CLASS() { return DERIVED::CLASS(); } // Component << string // Like Node << string, but for Component's derived class. @@ -131,7 +131,7 @@ class Component : public BlockData node << str; derived() = DERIVED(node); } catch (...) { - log::function("{} << string", className()); + log::function("{} << string", CLASS()); throw; } } @@ -143,7 +143,7 @@ class Component : public BlockData try { Node(*this) >> str; } catch (...) { - log::function("{} >> string", className()); + log::function("{} >> string", CLASS()); throw; } } @@ -164,7 +164,7 @@ std::istream &operator>>( try { return comp.read(is); } catch (...) { - log::function("istream >> {}", comp.className()); + log::function("istream >> {}", comp.CLASS()); throw; } } @@ -178,7 +178,7 @@ std::ostream &operator<<( try { return comp.print(os,0); } catch (...) { - log::function("ostream << {}", comp.className()); + log::function("ostream << {}", comp.CLASS()); throw; } } diff --git a/src/GNDStk/Component/src/ctor.hpp b/src/GNDStk/Component/src/ctor.hpp index 2ba63a2fa..d65d51050 100644 --- a/src/GNDStk/Component/src/ctor.hpp +++ b/src/GNDStk/Component/src/ctor.hpp @@ -14,26 +14,26 @@ Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) #define pairing_error \ "The number and/or types of the fields sent to Component's " \ "constructor is inconsistent with the query result implied " \ - "by the keys() function in the derived class" + "by the KEYS() function in the derived class" // I'd have preferred to achieve the following check by using SFINAE // in the constructor's signature, but couldn't find a way to do that // without again running into the issue of DERIVED being incomplete. // The parameters that are sent to this constructor must EXACTLY reflect - // what we'd get from a DERIVED::keys() multi-query. + // what we'd get from a DERIVED::KEYS() multi-query. if constexpr (!hasFields) { - // keys is "empty" (std::tuple<>); that's OK, as long as ARGS is too + // KEYS() is "empty" (std::tuple<>); that's OK, as long as ARGS is too static_assert( std::is_same_v, std::tuple<>>, pairing_error ); } else { - // keys are *not* empty, so... - // The following is the *type* that a multi-query with DERIVED::keys() + // KEYS() is *not* empty, so... + // The following is the *type* that a multi-query with DERIVED::KEYS() // will produce. using multi_t = - detail::decays_t; + detail::decays_t; static_assert( std::is_same_v, multi_t>, pairing_error diff --git a/src/GNDStk/Component/src/finish.hpp b/src/GNDStk/Component/src/finish.hpp index a45287650..e4376f74f 100644 --- a/src/GNDStk/Component/src/finish.hpp +++ b/src/GNDStk/Component/src/finish.hpp @@ -131,7 +131,7 @@ void finish(const DERIVED &other) void finish(const Node &node) { - // Read fields from the Node into the derived object. This applies the keys() + // Read fields from the Node into the derived object. This applies the KEYS() // multi-query in the derived class, and also runs BlockData::fromNode() - if // the Node has block data - in order to get the Node's string of block data. fromNode(node); diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index ab48cb616..ccd847b33 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -21,11 +21,11 @@ void fromNode(const Node &node) { try { // does the node have the name we expect? - if (node.name != DERIVED::GNDSName()) { + if (node.name != DERIVED::FIELD()) { log::error( "Name \"{}\" in Node sent to Component::fromNode() is not the " "expected GNDS name \"{}\"", - node.name, DERIVED::GNDSName() + node.name, DERIVED::FIELD() ); throw std::exception{}; } @@ -35,7 +35,7 @@ void fromNode(const Node &node) assert(0 == links.size()); } else { // retrieve the node's data by doing a multi-query - static const auto keytup = makeKeyTuple(DERIVED::keys()); + static const auto keytup = makeKeyTuple(DERIVED::KEYS()); const auto tup = node(keytup); // consistency check diff --git a/src/GNDStk/Component/src/getter.hpp b/src/GNDStk/Component/src/getter.hpp index e39f989ca..38dbca732 100644 --- a/src/GNDStk/Component/src/getter.hpp +++ b/src/GNDStk/Component/src/getter.hpp @@ -31,7 +31,7 @@ decltype(auto) getter( const std::string &fieldName ) const { return detail::getter( - vec, key, DERIVED::namespaceName(), DERIVED::className(), fieldName + vec, key, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName ); } @@ -74,7 +74,7 @@ const RETURN *getter( const std::string &fieldName ) const { return detail::getter( - var, DERIVED::namespaceName(), DERIVED::className(), fieldName + var, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName ); } @@ -111,7 +111,7 @@ const RETURN *getter( const std::string &fieldName ) const { return detail::getter( - vecvar, key, DERIVED::namespaceName(), DERIVED::className(), fieldName + vecvar, key, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName ); } diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index 6681d70b3..d9d7d5afc 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -63,7 +63,7 @@ std::ostream &print(std::ostream &os, const int level) const detail::indentString( os, level, detail::colorize_component( - detail::fullName(DERIVED::namespaceName(), DERIVED::className()) + detail::fullName(DERIVED::NAMESPACE(), DERIVED::CLASS()) ) + " " + detail::colorize_brace("{") + "\n" ); @@ -72,8 +72,8 @@ std::ostream &print(std::ostream &os, const int level) const // Consistency check assert(0 == links.size()); } else { - // Make tuple (of individual keys) from DERIVED::keys() - static const auto tup = makeKeyTuple(DERIVED::keys()).tup; + // Make tuple (of individual keys) from DERIVED::KEYS() + static const auto tup = makeKeyTuple(DERIVED::KEYS()).tup; // Consistency check assert(std::tuple_size::value == links.size()); @@ -172,8 +172,8 @@ std::ostream &print(std::ostream &os, const int level) const detail::colorize_comment( std::string("// ") + detail::fullName( - DERIVED::namespaceName(), - DERIVED::className() + DERIVED::NAMESPACE(), + DERIVED::CLASS() ) ) : "" diff --git a/src/GNDStk/Component/src/sort.hpp b/src/GNDStk/Component/src/sort.hpp index 78878b065..81b403545 100644 --- a/src/GNDStk/Component/src/sort.hpp +++ b/src/GNDStk/Component/src/sort.hpp @@ -10,8 +10,8 @@ void sort() // Consistency check; then nothing further to do assert(0 == links.size()); } else { - // Make tuple (of individual keys) from DERIVED::keys() - static const auto tup = makeKeyTuple(DERIVED::keys()).tup; + // Make tuple (of individual keys) from DERIVED::KEYS() + static const auto tup = makeKeyTuple(DERIVED::KEYS()).tup; // Consistency check assert(std::tuple_size::value == links.size()); diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index 74189c8b8..645331117 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -7,7 +7,7 @@ operator Node() const { // Initialize a Node, with the necessary name - Node node(DERIVED::GNDSName()); + Node node(DERIVED::FIELD()); try { // Handle block data, if applicable @@ -22,15 +22,15 @@ operator Node() const // consistency check assert(0 == links.size()); } else { - // make tuple (of individual keys) from DERIVED::keys() - static const auto tup = makeKeyTuple(DERIVED::keys()).tup; + // make tuple (of individual keys) from DERIVED::KEYS() + static const auto tup = makeKeyTuple(DERIVED::KEYS()).tup; // consistency check assert(std::tuple_size::value == links.size()); // apply links: // derived-class data ==> Node - // Below, each apply'd "key" is one value from DERIVED::keys(), and + // Below, each apply'd "key" is one value from DERIVED::KEYS(), and // is a Meta, Child, or pair. The cast gives the // underlying raw data type - int, say, or std::string - so that we // can correctly use our generic void* link to a derived-class field. diff --git a/src/GNDStk/Component/test/Component.test.cpp b/src/GNDStk/Component/test/Component.test.cpp index 2dc909362..9d6899fd2 100644 --- a/src/GNDStk/Component/test/Component.test.cpp +++ b/src/GNDStk/Component/test/Component.test.cpp @@ -21,10 +21,10 @@ class DerivedT : public Component { "", "class DerivedT" }, { "foo", "Help for foo" } }; - static auto namespaceName() { return "hello"; } - static auto className() { return "DerivedT"; } - static auto GNDSName() { return "none"; } - static auto keys() { return std::tuple<>{}; } + static auto NAMESPACE() { return "hello"; } + static auto CLASS() { return "DerivedT"; } + static auto FIELD() { return "none"; } + static auto KEYS() { return std::tuple<>{}; } DerivedT() : Component(BlockData{}) { } }; @@ -38,27 +38,27 @@ class DerivedF : public Component { "", "class DerivedF" }, { "bar", "Help for bar" } }; - static auto namespaceName() { return "world"; } - static auto className() { return "DerivedF"; } - static auto GNDSName() { return "none"; } - static auto keys() { return std::tuple<>{}; } + static auto NAMESPACE() { return "world"; } + static auto CLASS() { return "DerivedF"; } + static auto FIELD() { return "none"; } + static auto KEYS() { return std::tuple<>{}; } DerivedF() : Component(BlockData{}) { } }; // DerivedData // A Component-derived class with some data in it. -// Note that this class doesn't have help or namespaceName(); so we'll also use +// Note that this class doesn't have help or NAMESPACE(); so we'll also use // this class to test that Component's functionality that uses those still works // properly, as it should in that case. class DerivedData : public Component { public: friend class Component; - static auto className() { return "DerivedData"; } - static auto GNDSName() { return "data"; } + static auto CLASS() { return "DerivedData"; } + static auto FIELD() { return "data"; } - static auto keys() + static auto KEYS() { return int {} / Meta<>("foo") | @@ -145,17 +145,17 @@ SCENARIO("Testing GNDStk Component") { CHECK(der.documentation("bar") == "No help information is available"); } - // namespaceName() - WHEN("We test namespaceName()") { + // NAMESPACE() + WHEN("We test NAMESPACE()") { // For these two we need the std::string() only because the functions // were written (above, in the class definitions) with an auto return - // of a plain character string. Where Component needs namespaceName(), + // of a plain character string. Where Component needs NAMESPACE(), // it converts to std::string, so it's fine to write it that way. Here, // though, in this test file, it means we need the std::string(). - CHECK(der1.namespaceName() == std::string("hello")); - CHECK(der2.namespaceName() == std::string("world")); + CHECK(der1.NAMESPACE() == std::string("hello")); + CHECK(der2.NAMESPACE() == std::string("world")); DerivedData der; - CHECK(der.namespaceName() == ""); + CHECK(der.NAMESPACE() == ""); } // Component << string @@ -192,7 +192,7 @@ SCENARIO("Testing GNDStk Component") { der << "{" " \"data\": {" - " \"#attributes\": {" + " \"#metadata\": {" " \"foo\": \"12\"," " \"bar\": \"34.56\"" " }" diff --git a/src/GNDStk/Component/test/ctor.test.cpp b/src/GNDStk/Component/test/ctor.test.cpp index 791c9ce21..6a38b5744 100644 --- a/src/GNDStk/Component/test/ctor.test.cpp +++ b/src/GNDStk/Component/test/ctor.test.cpp @@ -17,7 +17,7 @@ using namespace njoy::GNDStk; // situations mentioned below: a class with no fields, and a class with fields. // We don't anticipate that people will need Component-derived classes that have // no fields, but still illustrate such a beast, for completeness. Note that the -// keys() function should return a std::tuple<>{} in that situation. +// KEYS() function should return a std::tuple<>{} in that situation. // ----------------------------------------------------------------------------- // DerivedNothing @@ -26,7 +26,7 @@ class DerivedNothing : public Component { friend class Component; - static auto keys() + static auto KEYS() { return std::tuple<>{}; } @@ -46,7 +46,7 @@ class DerivedSomething : public Component { friend class Component; - static auto keys() + static auto KEYS() { return int {} / Meta<>("foo") | diff --git a/src/GNDStk/Component/test/detail.test.cpp b/src/GNDStk/Component/test/detail.test.cpp index e2e464251..508ef293e 100644 --- a/src/GNDStk/Component/test/detail.test.cpp +++ b/src/GNDStk/Component/test/detail.test.cpp @@ -77,10 +77,10 @@ class Derived : public Component { public: friend class Component; - static auto className() { return "Derived"; } - static auto GNDSName() { return "none"; } + static auto CLASS() { return "Derived"; } + static auto FIELD() { return "none"; } - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/Component/test/finish.test.cpp b/src/GNDStk/Component/test/finish.test.cpp index 9edac5370..d999b1a8c 100644 --- a/src/GNDStk/Component/test/finish.test.cpp +++ b/src/GNDStk/Component/test/finish.test.cpp @@ -45,12 +45,12 @@ class DerivedValue : public Component friend class Component; // names - static auto namespaceName() { return "test"; } - static auto className() { return "DerivedValue"; } - static auto GNDSName() { return "value"; } + static auto NAMESPACE() { return "test"; } + static auto CLASS() { return "DerivedValue"; } + static auto FIELD() { return "value"; } // keys - static auto keys() + static auto KEYS() { return int{} / Meta<>("length") | @@ -212,12 +212,12 @@ class DerivedPlain : public Component friend class Component; // names - static auto namespaceName() { return "test"; } - static auto className() { return "DerivedPlain"; } - static auto GNDSName() { return "plain"; } + static auto NAMESPACE() { return "test"; } + static auto CLASS() { return "DerivedPlain"; } + static auto FIELD() { return "plain"; } // keys - static auto keys() + static auto KEYS() { return int {} / Meta<>("foo") | diff --git a/src/GNDStk/Component/test/getter.test.cpp b/src/GNDStk/Component/test/getter.test.cpp index 92031ac0c..4ccf83d92 100644 --- a/src/GNDStk/Component/test/getter.test.cpp +++ b/src/GNDStk/Component/test/getter.test.cpp @@ -18,9 +18,9 @@ class TestGetter : public Component { friend class Component; - static auto className() { return "TestGetter"; } - // static auto GNDSName() - not actually needed here - static auto keys() + static auto CLASS() { return "TestGetter"; } + // static auto FIELD() - not actually needed here + static auto KEYS() { return std::tuple<>{}; } @@ -38,7 +38,7 @@ class TestGetter : public Component // ------------------------ // See earlier remark. We don't bother linking these with GNDS fields, via - // Component's capabilities and the keys() function, because doing so isn't + // Component's capabilities and the KEYS() function, because doing so isn't // necessary for the present tests. // some vectors diff --git a/src/GNDStk/Component/test/prototype.hpp b/src/GNDStk/Component/test/prototype.hpp index 2c490f6a2..aed4e32f7 100644 --- a/src/GNDStk/Component/test/prototype.hpp +++ b/src/GNDStk/Component/test/prototype.hpp @@ -110,12 +110,12 @@ class Values : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "Values"; } - static auto GNDSName() { return "values"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "Values"; } + static auto FIELD() { return "values"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -325,12 +325,12 @@ class Link : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "Link"; } - static auto GNDSName() { return "link"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "Link"; } + static auto FIELD() { return "link"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -474,12 +474,12 @@ class Grid : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "Grid"; } - static auto GNDSName() { return "grid"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "Grid"; } + static auto FIELD() { return "grid"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -780,12 +780,12 @@ class Axis : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "Axis"; } - static auto GNDSName() { return "axis"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "Axis"; } + static auto FIELD() { return "axis"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -969,12 +969,12 @@ class Axes : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "Axes"; } - static auto GNDSName() { return "axes"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "Axes"; } + static auto FIELD() { return "axes"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -1224,12 +1224,12 @@ class XYs1d : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "XYs1d"; } - static auto GNDSName() { return "XYs1d"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "XYs1d"; } + static auto FIELD() { return "XYs1d"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -1510,12 +1510,12 @@ class Regions1d : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "Regions1d"; } - static auto GNDSName() { return "regions1d"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "Regions1d"; } + static auto FIELD() { return "regions1d"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -1750,12 +1750,12 @@ class CrossSection : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "CrossSection"; } - static auto GNDSName() { return "crossSection"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "CrossSection"; } + static auto FIELD() { return "crossSection"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // children @@ -1982,12 +1982,12 @@ class Reaction : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "Reaction"; } - static auto GNDSName() { return "reaction"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "Reaction"; } + static auto FIELD() { return "reaction"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -2189,12 +2189,12 @@ class Reactions : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "Reactions"; } - static auto GNDSName() { return "reactions"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "Reactions"; } + static auto FIELD() { return "reactions"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // children @@ -2361,12 +2361,12 @@ class ReactionSuite : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "proto"; } - static auto className() { return "ReactionSuite"; } - static auto GNDSName() { return "reactionSuite"; } + static auto NAMESPACE() { return "proto"; } + static auto CLASS() { return "ReactionSuite"; } + static auto FIELD() { return "reactionSuite"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/HDF5/test/HDF5.test.cpp b/src/GNDStk/HDF5/test/HDF5.test.cpp index 6fadc10b0..265a5cd8a 100644 --- a/src/GNDStk/HDF5/test/HDF5.test.cpp +++ b/src/GNDStk/HDF5/test/HDF5.test.cpp @@ -53,7 +53,7 @@ void writeReadHDF5( // Test #2. Ensure that file newFile (written above, from the original Tree) // is identical to the vetted HDF5 file vettedFile that we put into the git - // repository. BUT...we'll actually have this test if'd out in the repo! We + // repository. BUT...we'll actually have this test #if'd out in the repo! We // believe that that's the safe thing to do, because HDF5 is a binary format. // We can't know if the HDF5 files produced on any particular platform will // compare favorably with the vetted binary files we've placed into the repo. diff --git a/src/GNDStk/HDF5/test/resources/correct-raw-string.h5 b/src/GNDStk/HDF5/test/resources/correct-raw-string.h5 index 66d9df68c72398c7afce41866f2f5d28bf47c9ba..1926603b8b9da1306bad023e048d303e75219802 100644 GIT binary patch delta 140 zcmdn6jA;W9m1;2NP4>&y+Ppx+l^Mzu(19}>^v_x|=56-N&Id|v-j`R-4pw8fIj77L uqTForok}QEYqLWwT<3-cI8&ho%skg;ws}tbOOQ4Yb5FM*$joznNh|>Rax^Xg delta 140 zcmdn6jA;W9m1;2hP4>&y+Ppx+l^Mzu(19}>^v_x|`fc{h&Id|v-j`R-4pw8fIj77L uqTForok}QEYqLWwT<3-cI8&ho%skg;ws}tbOOQ4Yb5FM*$joznNh|<~@-mJ9 diff --git a/src/GNDStk/HDF5/test/resources/correct-raw-typed.h5 b/src/GNDStk/HDF5/test/resources/correct-raw-typed.h5 index 0cd2ed4aa2cc0e14449dbbd198b3b7b3b5843e10..71a20489585177540a19af41857f629996873294 100644 GIT binary patch delta 124 zcmZ3mf@#4DrVY6ojCq^$H1e5&)IDu5<) + + + + + + + +)***"; + +// SCENARIO +SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { + + // A Node + Node node; + node << xmlstring; + std::cout << node << std::endl; + + // Meta objects + const Meta a("a"); + const Meta b("b"); + const Meta label("label"); + const Meta x("x"); + const Meta y("y"); + const Meta z("z"); + const Meta i("i"); + const Meta j("j"); + const Meta k("k"); + const Meta l("l"); + const Meta m("m"); + const Meta n("n"); + + // Child objects + const Child<> bar("bar"); + const Child<> baz("baz"); + const Child<> boo("boo"); + + /* + ------------------------------------+------------------------------------ + Meta/Child | Meta/Child | + a. Meta | Meta | KeyTuple + b. Meta | Child | KeyTuple + c. Child | Meta | KeyTuple + d. Child | Child | KeyTuple + ------------------------------------+------------------------------------ + Child | string/regex | + a. Child | string | KeyTuple> + b. Child | char * | KeyTuple> + c. Child | regex | KeyTuple> + ------------------------------------+------------------------------------ + KeyTuple<...> | Meta/Child | + a. KeyTuple<...> | Meta | KeyTuple<...,Meta> + b. KeyTuple<...> | Child | KeyTuple<...,Child> + ------------------------------------+------------------------------------ + KeyTuple<...,Child> | string/regex | + a. KeyTuple<...,Child> | string | KeyTuple<...,pair> + b. KeyTuple<...,Child> | char * | KeyTuple<...,pair> + c. KeyTuple<...,Child> | regex | KeyTuple<...,pair> + ------------------------------------+------------------------------------ + */ + + // ------------------------ + // or.hpp operator|, case 1 + // ------------------------ + + GIVEN("Meta | Meta") + { + const auto tup = node(a | b); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup) == 123); + CHECK(std::get<1>(tup) == 4.56); + } + + GIVEN("Meta | Child") + { + const auto tup = node(a | bar); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup) == 123); + CHECK(std::get<1>(tup).name == "bar"); + } + + GIVEN("Child | Meta") + { + const auto tup = node(bar | a); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "bar"); + CHECK(std::get<1>(tup) == 123); + } + + GIVEN("Child | Child") + { + const auto tup = node(bar | baz); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "bar"); + CHECK(std::get<1>(tup).name == "baz"); + } + + // ------------------------ + // or.hpp operator|, case 2 + // ------------------------ + + GIVEN("Child | string") + { + const auto tup = node(bar | std::string("xyz")); + CHECK(std::tuple_size{} == 1); + CHECK(std::get<0>(tup).name == "bar"); + CHECK(std::get<0>(tup)(label) == "xyz"); + } + + GIVEN("Child | char *") + { + const auto tup = node(baz | "lmn"); + CHECK(std::tuple_size{} == 1); + CHECK(std::get<0>(tup).name == "baz"); + CHECK(std::get<0>(tup)(label) == "lmn"); + } + + GIVEN("Child | regex") + { + const auto tup = node(boo | std::regex("j[au]ne")); + CHECK(std::tuple_size{} == 1); + CHECK(std::get<0>(tup).name == "boo"); + CHECK(std::get<0>(tup)(label) == "jane"); + } + + // ------------------------ + // or.hpp operator|, case 3 + // ------------------------ + + GIVEN("KeyTuple<...> | Meta") + { + const auto tup = node(a | b | a); + CHECK(std::tuple_size{} == 3); + CHECK(std::get<0>(tup) == 123); + CHECK(std::get<1>(tup) == 4.56); + CHECK(std::get<2>(tup) == 123); + } + + GIVEN("KeyTuple<...> | Child") + { + const auto tup = node(a | b | bar); + CHECK(std::tuple_size{} == 3); + CHECK(std::get<0>(tup) == 123); + CHECK(std::get<1>(tup) == 4.56); + CHECK(std::get<2>(tup).name == "bar"); + } + + GIVEN("KeyTuple<...,pair> | Meta") + { + const auto tup = node(baz | std::string("ijk") | a); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "baz"); + CHECK(std::get<0>(tup)(label) == "ijk"); + CHECK(std::get<1>(tup) == 123); + } + + GIVEN("KeyTuple<...,pair> | Meta") + { + const auto tup = node(baz | "lmn" | a); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "baz"); + CHECK(std::get<0>(tup)(label) == "lmn"); + CHECK(std::get<0>(tup)(m) == 'm'); + CHECK(std::get<0>(tup)(n) == 'n'); + CHECK(std::get<1>(tup) == 123); + } + + GIVEN("KeyTuple<...,pair> | Meta") + { + const auto tup = node(baz | std::regex("[kji]+") | a); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "baz"); + CHECK(std::get<0>(tup)(label) == "ijk"); + CHECK(std::get<1>(tup) == 123); + } + + GIVEN("KeyTuple<...,pair> | Child") + { + const auto tup = node(baz | std::string("ijk") | bar); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "baz"); + CHECK(std::get<0>(tup)(label) == "ijk"); + CHECK(std::get<1>(tup).name == "bar"); + } + + GIVEN("KeyTuple<...,pair> | Child") + { + const auto tup = node(baz | "lmn" | bar); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "baz"); + CHECK(std::get<0>(tup)(label) == "lmn"); + CHECK(std::get<1>(tup).name == "bar"); + } + + GIVEN("KeyTuple<...,pair> | Child") + { + const auto tup = node(baz | std::regex("[kji]+") | bar); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "baz"); + CHECK(std::get<0>(tup)(label) == "ijk"); + CHECK(std::get<1>(tup).name == "bar"); + } + + // ------------------------ + // or.hpp operator|, case 4 + // ------------------------ + + GIVEN("KeyTuple<...,Child> | string") + { + const auto tup = node(bar | baz | std::string("ijk")); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "bar"); + CHECK(std::get<1>(tup).name == "baz"); + CHECK(std::get<1>(tup)(label) == "ijk"); + } + + GIVEN("KeyTuple<...,Child> | char *") + { + const auto tup = node(bar | baz | "lmn"); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "bar"); + CHECK(std::get<1>(tup).name == "baz"); + CHECK(std::get<1>(tup)(label) == "lmn"); + } + + GIVEN("KeyTuple<...,Child> | regex") + { + const auto tup = node(bar | baz | std::regex("[kji]+")); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup).name == "bar"); + CHECK(std::get<1>(tup).name == "baz"); + CHECK(std::get<1>(tup)(label) == "ijk"); + } + + // ------------------------ + // Miscellaneous fun stuff + // ------------------------ + + GIVEN("Various multi-queries") + { + { + const auto tup = node(a | b | bar | baz | boo); + CHECK(std::tuple_size{} == 5); + CHECK(std::get<0>(tup) == 123); + CHECK(std::get<1>(tup) == 4.56); + CHECK(std::get<2>(tup).name == "bar"); + CHECK(std::get<3>(tup).name == "baz"); + CHECK(std::get<4>(tup).name == "boo"); + } + { + const auto tup = node(bar,"xyz")(label | x | y | z); + CHECK(std::tuple_size{} == 4); + CHECK(std::get<0>(tup) == "xyz"); + CHECK(std::get<1>(tup) == "one"); + CHECK(std::get<2>(tup) == "two"); + CHECK(std::get<3>(tup) == 1); + } + { + const auto tup = node(bar,"zyx")(label | x | y | z); + CHECK(std::tuple_size{} == 4); + CHECK(std::get<0>(tup) == "zyx"); + CHECK(std::get<1>(tup) == "three"); + CHECK(std::get<2>(tup) == "four"); + CHECK(std::get<3>(tup) == 2); + } + { + const auto tup = node(baz,"ijk")(label | i | j | k); + CHECK(std::tuple_size{} == 4); + CHECK(std::get<0>(tup) == "ijk"); + CHECK(std::get<1>(tup) == "eye"); + CHECK(std::get<2>(tup) == "jay"); + CHECK(std::get<3>(tup) == "kay"); + } + { + const auto tup = node(baz,"lmn")(label | l | m | n); + CHECK(std::tuple_size{} == 4); + CHECK(std::get<0>(tup) == "lmn"); + CHECK(std::get<1>(tup) == "ell"); + CHECK(std::get<2>(tup) == 'm'); + CHECK(std::get<3>(tup) == 'n'); + } + { + const auto tup = node(boo,"jane")(label | a); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup) == "jane"); + CHECK(std::get<1>(tup) == 321); + } + { + const auto tup = node(boo,"john")(label | b); + CHECK(std::tuple_size{} == 2); + CHECK(std::get<0>(tup) == "john"); + CHECK(std::get<1>(tup) == 6.54); + } + } +} diff --git a/src/GNDStk/Tree/test/meta.test.cpp b/src/GNDStk/Tree/test/meta.test.cpp index 0db867b42..43f330ffe 100644 --- a/src/GNDStk/Tree/test/meta.test.cpp +++ b/src/GNDStk/Tree/test/meta.test.cpp @@ -187,8 +187,8 @@ SCENARIO("Testing GNDStk Tree meta()") { CHECK(t.top() .meta("projectile") == "abc"); // verify that it changed WHEN("We try assignment: Tree.meta(keyword) = ...") { - // assignments "work" (don't cause a crash) for nonexistent metadata - // keys, but give back found == false + // assignments "work" (don't cause a crash) for nonexistent metadata, + // but give back found == false CHECK((found = true, t.meta("foo key",found) = "foo value", !found)); CHECK((found = true, t.meta("bar key",found) = "bar value", !found)); } diff --git a/src/GNDStk/Tree/test/resources/n-069_Tm_170-covar.json b/src/GNDStk/Tree/test/resources/n-069_Tm_170-covar.json index 6398790b1..81eba8337 100644 --- a/src/GNDStk/Tree/test/resources/n-069_Tm_170-covar.json +++ b/src/GNDStk/Tree/test/resources/n-069_Tm_170-covar.json @@ -1,6 +1,6 @@ { "covarianceSuite": { - "#attributes": { + "#metadata": { "evaluation": "ENDF/B-8.0", "format": "1.9", "projectile": "n", @@ -8,7 +8,7 @@ }, "externalFiles": { "externalFile": { - "#attributes": { + "#metadata": { "label": "reactions", "path": "n-069_Tm_170.xml" } @@ -16,30 +16,30 @@ }, "parameterCovariances": { "parameterCovariance": { - "#attributes": { + "#metadata": { "label": "resolved resonances" }, "parameterCovarianceMatrix": { "array": { - "#attributes": { + "#metadata": { "compression": "diagonal", "shape": "78,78" }, "values": { "#pcdata": { - "#attributes": { + "#metadata": { "#text": "0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012" } } } }, - "#attributes": { + "#metadata": { "label": "eval", "type": "absolute" }, "parameters": { "parameterLink": { - "#attributes": { + "#metadata": { "href": "$reactions#/reactionSuite/resonances/resolved/BreitWigner[@label='eval']/resonanceParameters/table", "label": "resonanceParameters", "nParameters": "78" @@ -48,7 +48,7 @@ } }, "rowData": { - "#attributes": { + "#metadata": { "href": "$reactions#/reactionSuite/resonances/resolved/BreitWigner[@label='eval']" } } @@ -56,21 +56,21 @@ }, "styles": { "evaluated": { - "#attributes": { + "#metadata": { "date": "2011-10-01", "label": "eval", "library": "ENDF/B", "version": "8.0.1" }, "projectileEnergyDomain": { - "#attributes": { + "#metadata": { "max": "30000000.0", "min": "1e-05", "unit": "eV" } }, "temperature": { - "#attributes": { + "#metadata": { "unit": "K", "value": "0.0" } diff --git a/src/GNDStk/Tree/test/write.test.cpp b/src/GNDStk/Tree/test/write.test.cpp index d7e3bb6cb..eb6acf9dd 100644 --- a/src/GNDStk/Tree/test/write.test.cpp +++ b/src/GNDStk/Tree/test/write.test.cpp @@ -121,7 +121,7 @@ R"***( static const std::string string_real_json = R"***({ "covarianceSuite": { - "#attributes": { + "#metadata": { "evaluation": "ENDF/B-8.0", "format": "1.9", "projectile": "n", @@ -129,7 +129,7 @@ R"***({ }, "externalFiles": { "externalFile": { - "#attributes": { + "#metadata": { "label": "reactions", "path": "n-069_Tm_170.xml" } @@ -137,22 +137,22 @@ R"***({ }, "parameterCovariances": { "parameterCovariance": { - "#attributes": { + "#metadata": { "label": "resolved resonances" }, "parameterCovarianceMatrix": { - "#attributes": { + "#metadata": { "label": "eval", "type": "absolute" }, "array": { - "#attributes": { + "#metadata": { "compression": "diagonal", "shape": "78,78" }, "values": { "#pcdata": { - "#attributes": { + "#metadata": { "#text": "0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012" } } @@ -160,7 +160,7 @@ R"***({ }, "parameters": { "parameterLink": { - "#attributes": { + "#metadata": { "href": "$reactions#/reactionSuite/resonances/resolved/BreitWigner[@label='eval']/resonanceParameters/table", "label": "resonanceParameters", "nParameters": "78" @@ -169,7 +169,7 @@ R"***({ } }, "rowData": { - "#attributes": { + "#metadata": { "href": "$reactions#/reactionSuite/resonances/resolved/BreitWigner[@label='eval']" } } @@ -177,21 +177,21 @@ R"***({ }, "styles": { "evaluated": { - "#attributes": { + "#metadata": { "date": "2011-10-01", "label": "eval", "library": "ENDF/B", "version": "8.0.1" }, "projectileEnergyDomain": { - "#attributes": { + "#metadata": { "max": "30000000.0", "min": "1e-05", "unit": "eV" } }, "temperature": { - "#attributes": { + "#metadata": { "unit": "K", "value": "0.0" } diff --git a/src/GNDStk/XML/test/resources/n-069_Tm_170-covar.json b/src/GNDStk/XML/test/resources/n-069_Tm_170-covar.json index 6398790b1..81eba8337 100644 --- a/src/GNDStk/XML/test/resources/n-069_Tm_170-covar.json +++ b/src/GNDStk/XML/test/resources/n-069_Tm_170-covar.json @@ -1,6 +1,6 @@ { "covarianceSuite": { - "#attributes": { + "#metadata": { "evaluation": "ENDF/B-8.0", "format": "1.9", "projectile": "n", @@ -8,7 +8,7 @@ }, "externalFiles": { "externalFile": { - "#attributes": { + "#metadata": { "label": "reactions", "path": "n-069_Tm_170.xml" } @@ -16,30 +16,30 @@ }, "parameterCovariances": { "parameterCovariance": { - "#attributes": { + "#metadata": { "label": "resolved resonances" }, "parameterCovarianceMatrix": { "array": { - "#attributes": { + "#metadata": { "compression": "diagonal", "shape": "78,78" }, "values": { "#pcdata": { - "#attributes": { + "#metadata": { "#text": "0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012" } } } }, - "#attributes": { + "#metadata": { "label": "eval", "type": "absolute" }, "parameters": { "parameterLink": { - "#attributes": { + "#metadata": { "href": "$reactions#/reactionSuite/resonances/resolved/BreitWigner[@label='eval']/resonanceParameters/table", "label": "resonanceParameters", "nParameters": "78" @@ -48,7 +48,7 @@ } }, "rowData": { - "#attributes": { + "#metadata": { "href": "$reactions#/reactionSuite/resonances/resolved/BreitWigner[@label='eval']" } } @@ -56,21 +56,21 @@ }, "styles": { "evaluated": { - "#attributes": { + "#metadata": { "date": "2011-10-01", "label": "eval", "library": "ENDF/B", "version": "8.0.1" }, "projectileEnergyDomain": { - "#attributes": { + "#metadata": { "max": "30000000.0", "min": "1e-05", "unit": "eV" } }, "temperature": { - "#attributes": { + "#metadata": { "unit": "K", "value": "0.0" } diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index 5c7e1e9c0..44b94413c 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -194,14 +194,14 @@ bool hdf52node( // would have already been handled, in a special way, by the caller... if (groupName != rootHDF5Name) { for (const std::string &attrName : group.listAttributeNames()) { - if (attrName == "#nodeName") { - // #nodeName + if (attrName == "#nodename") { + // #nodename // Handled not as a regular attribute, but as the present node's // true name. The following line is basically a compressed version // of attr2node (see early in this file). It assumes, - // in short, that this #nodeName attribute is one (not a vector of) + // in short, that this #nodename attribute is one (not a vector of) // T == std::string. And that's precisely what it should be, given - // how GNDStk creates #nodeName attributes in the first place. + // how GNDStk creates #nodename attributes in the first place. group.getAttribute(attrName).read(node.name); } else if (beginsin(attrName,"#cdata")) { // #cdata, possibly with a numeric suffix diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 56f2b7aab..4f0d32f2f 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -45,10 +45,10 @@ bool json2node(const nlohmann::ordered_json::const_iterator &iter, NODE &node) if (!iter->is_object()) error_json2node("!iter->is_object()"); - // any "#attributes" key (a specially-named "child node" that we use in JSON + // any "#metadata" key (a specially-named "child node" that we use in JSON // in order to identify attributes) should have been handled in the caller... - if (iter.key() == "#attributes") - error_json2node("iter.key() == \"#attributes\""); + if (iter.key() == "#metadata") + error_json2node("iter.key() == \"#metadata\""); // key,value ==> node name, JSON value to bring in node.name = iter.key(); @@ -56,11 +56,11 @@ bool json2node(const nlohmann::ordered_json::const_iterator &iter, NODE &node) // elements for (auto elem = json.begin(); elem != json.end(); ++elem) { - if (elem.key() == "#nodeName") { - // #nodeName? ...extract as current node's true name + if (elem.key() == "#nodename") { + // #nodename? ...extract as current node's true name node.name = elem->get(); - } else if (elem.key() == "#attributes") { - // #attributes? ...extract as current node's metadata + } else if (elem.key() == "#metadata") { + // #metadata? ...extract as current node's metadata const auto &jsub = elem.value(); for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) node.add(attr.key(), attr->get()); diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index 1aab6af74..a6348ce04 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -177,9 +177,9 @@ void meta2hdf5_plain(const NODE &node, OBJECT &hdf5) template void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) { - // #nodeName if appropriate (as with JSON, allows recovery of original name) + // #nodename if appropriate (as with JSON, allows recovery of original name) if (suffix != "") - hdf5.createAttribute(std::string("#nodeName"), node.name); + hdf5.createAttribute(std::string("#nodename"), node.name); // Existing metadata if (HDF5::typed) { diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index 2012d8d20..a5ab54b44 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -24,10 +24,10 @@ bool node2json( // ------------------------ if (suffix != "") - json["#nodeName"] = nameOriginal; + json["#nodename"] = nameOriginal; for (auto &meta : node.metadata) - json["#attributes"][meta.first] = meta.second; + json["#metadata"][meta.first] = meta.second; // ------------------------ // children ==> json diff --git a/src/GNDStk/or.hpp b/src/GNDStk/or.hpp index 96d66cf6c..983f411e6 100644 --- a/src/GNDStk/or.hpp +++ b/src/GNDStk/or.hpp @@ -7,11 +7,11 @@ Discussion. KeyTuple is based mostly on std::tuple, but is specifically designed to help GNDStk's multi-query system work smoothly. -makeKeyTuple() can be understood in terms of the keys() function in a class -that derives from GNDStk::Component. Typically, a keys() function returns some +makeKeyTuple() can be understood in terms of the KEYS() function in a class +that derives from GNDStk::Component. Typically, a KEYS() function returns some number of Meta and/or Child objects, |'d together with one of the operator| -overloads that we provide at the end of this file. However, a keys() function -can in fact return any of the following: +overloads that we provide at the end of this file. However, a KEYS() function +can in fact return any of: - A KeyTuple (via operator| as described above). - A single Meta object. @@ -20,16 +20,9 @@ can in fact return any of the following: The first use is probably the most common, but all are allowed. The purpose of makeKeyTuple() (which could be considered analogous to std::make_pair in C++) -is, then, to take the result of any case, and return an appropriately templated -version of KeyTuple that represents what keys() is asking for. Other functions -can then be defined uniformly in terms of KeyTuple only - not KeyTuple and Meta -and Child and .... - -The first use is probably the most common, but all are allowed. The purpose of -makeKeyTuple() (which could be considered analogous to std::make_pair in C++) is -to take the result of any case, and return an appropriately templated version of -KeyTuple that represents what keys() is asking for. Other functions can then be -defined uniformly in terms of KeyTuple only, not every possible keys() return. +is to take any of the above, and return an appropriately templated version of +KeyTuple, representing what KEYS() is asking for. Other functions can then be +defined uniformly in terms of KeyTuple only - not KeyTuple, Meta, etc. */ @@ -43,9 +36,10 @@ class KeyTuple { public: std::tuple tup; + // last_t using last_t = // Without std::decay, const &ness can break detail::IsSomething<> traits. - // Note: sizeof...(Ks) >= 1 here, because we've specialized the <> case. + // Note: sizeof...(Ks) >= 1 here; we've specialized the KeyTuple<> case. std::decay_t(tup))>; // KeyTuple(KeyTuple, RHS) @@ -53,12 +47,9 @@ class KeyTuple { class... LHS, class RHS, // require Ks... == LHS... RHS class = std::enable_if_t< - std::is_same_v< - std::tuple, - std::tuple - > + std::is_same_v, std::tuple> >, - // require RHS \in {Meta, Child, pair, string, regex} + // require RHS \in {Meta, Child, pair} class = std::enable_if_t< detail::IsMetaOrChild::value || detail::IsPairChildStringOrRegex::value @@ -67,6 +58,11 @@ class KeyTuple { KeyTuple(const KeyTuple &lhs, const RHS &rhs) : tup(std::tuple_cat(lhs.tup, std::tuple(rhs))) { } + + // KeyTuple(tuple) + KeyTuple(const std::tuple &tup) : + tup(tup) + { } }; // <> @@ -79,7 +75,7 @@ class KeyTuple<> KeyTuple(KeyTuple &&) = delete; }; -// Meta +// for Meta template class KeyTuple> { using M = Meta; @@ -88,7 +84,7 @@ class KeyTuple> { explicit KeyTuple(const M &m) : tup(m) { } }; -// Child +// for Child template class KeyTuple> { using C = Child; @@ -97,7 +93,7 @@ class KeyTuple> { explicit KeyTuple(const C &c) : tup(c) { } }; -// std::pair +// for std::pair template class KeyTuple,std::string>> { using CPAIR = std::pair,std::string>; @@ -107,7 +103,7 @@ class KeyTuple,std::string>> { explicit KeyTuple(const CPAIR &cpair) : tup(cpair) { } }; -// std::pair +// for std::pair template class KeyTuple,std::regex>> { using CPAIR = std::pair,std::regex>; @@ -143,6 +139,13 @@ constexpr auto makeKeyTuple(const T &obj) return KeyTuple(obj); } +// for std::tuple +template +constexpr auto makeKeyTuple(const std::tuple &tup) +{ + return KeyTuple(tup); +} + // ----------------------------------------------------------------------------- // operator| diff --git a/src/GNDStk/or/src/detail.hpp b/src/GNDStk/or/src/detail.hpp index ae4a6371d..8dd12f859 100644 --- a/src/GNDStk/or/src/detail.hpp +++ b/src/GNDStk/or/src/detail.hpp @@ -140,7 +140,7 @@ class IsPairChildStringOrRegex> { // tupleAllButLast // ------------------------ -// These are adapted from: https://stackoverflow.com/questions/51810702 +// Adapted from: https://stackoverflow.com/questions/51810702 template constexpr auto tupleAllButLastHelper( diff --git a/src/GNDStk/precision/test/precision-test-classes.json b/src/GNDStk/precision/test/precision-test-classes.json index 61c0fb333..81d1835e6 100644 --- a/src/GNDStk/precision/test/precision-test-classes.json +++ b/src/GNDStk/precision/test/precision-test-classes.json @@ -120,19 +120,19 @@ }, "childNodes": { "floats": { - "occurrence": "1", + "times": "1", "required": false }, "doubles": { - "occurrence": "1", + "times": "1", "required": false }, "quads": { - "occurrence": "1", + "times": "1", "required": false }, "reals": { - "occurrence": "1", + "times": "1", "required": false } } diff --git a/src/GNDStk/precision/test/precision.test.hpp b/src/GNDStk/precision/test/precision.test.hpp index 494e8d827..379d6627c 100644 --- a/src/GNDStk/precision/test/precision.test.hpp +++ b/src/GNDStk/precision/test/precision.test.hpp @@ -15,12 +15,12 @@ class Floats : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "precision"; } - static auto className() { return "Floats"; } - static auto GNDSName() { return "floats"; } + static auto NAMESPACE() { return "precision"; } + static auto CLASS() { return "Floats"; } + static auto FIELD() { return "floats"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -221,12 +221,12 @@ class Doubles : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "precision"; } - static auto className() { return "Doubles"; } - static auto GNDSName() { return "doubles"; } + static auto NAMESPACE() { return "precision"; } + static auto CLASS() { return "Doubles"; } + static auto FIELD() { return "doubles"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -427,12 +427,12 @@ class Quads : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "precision"; } - static auto className() { return "Quads"; } - static auto GNDSName() { return "quads"; } + static auto NAMESPACE() { return "precision"; } + static auto CLASS() { return "Quads"; } + static auto FIELD() { return "quads"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -633,12 +633,12 @@ class Reals : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "precision"; } - static auto className() { return "Reals"; } - static auto GNDSName() { return "reals"; } + static auto NAMESPACE() { return "precision"; } + static auto CLASS() { return "Reals"; } + static auto FIELD() { return "reals"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata @@ -839,12 +839,12 @@ class Numbers : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "precision"; } - static auto className() { return "Numbers"; } - static auto GNDSName() { return "numbers"; } + static auto NAMESPACE() { return "precision"; } + static auto CLASS() { return "Numbers"; } + static auto FIELD() { return "numbers"; } // Core Interface object to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index 36f65fdef..49ed4f363 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -41,12 +41,12 @@ class Axes : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "containers"; } - static auto className() { return "Axes"; } - static auto GNDSName() { return "axes"; } + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Axes"; } + static auto FIELD() { return "axes"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index ad412c3d9..517174dc8 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -32,12 +32,12 @@ class Axis : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "containers"; } - static auto className() { return "Axis"; } - static auto GNDSName() { return "axis"; } + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Axis"; } + static auto FIELD() { return "axis"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index e72788eeb..b705077cd 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -41,12 +41,12 @@ class Grid : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "containers"; } - static auto className() { return "Grid"; } - static auto GNDSName() { return "grid"; } + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Grid"; } + static auto FIELD() { return "grid"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index 020113ebd..07a1ee296 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -32,12 +32,12 @@ class Link : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "containers"; } - static auto className() { return "Link"; } - static auto GNDSName() { return "link"; } + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Link"; } + static auto FIELD() { return "link"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index 673974f15..840cb4b8e 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -36,12 +36,12 @@ class Regions1d : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "containers"; } - static auto className() { return "Regions1d"; } - static auto GNDSName() { return "regions1d"; } + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Regions1d"; } + static auto FIELD() { return "regions1d"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index c3a2accee..7f39102af 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -32,12 +32,12 @@ class Values : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "containers"; } - static auto className() { return "Values"; } - static auto GNDSName() { return "values"; } + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Values"; } + static auto FIELD() { return "values"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index 93e3662e5..dbfd6c20d 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -36,12 +36,12 @@ class XYs1d : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "containers"; } - static auto className() { return "XYs1d"; } - static auto GNDSName() { return "XYs1d"; } + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "XYs1d"; } + static auto FIELD() { return "XYs1d"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index 7abc1c799..78c7edd43 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -41,12 +41,12 @@ class CrossSection : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "transport"; } - static auto className() { return "CrossSection"; } - static auto GNDSName() { return "crossSection"; } + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "CrossSection"; } + static auto FIELD() { return "crossSection"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // children diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index 9af39651f..48c9d871c 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -35,12 +35,12 @@ class Reaction : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "transport"; } - static auto className() { return "Reaction"; } - static auto GNDSName() { return "reaction"; } + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Reaction"; } + static auto FIELD() { return "reaction"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index 98f650c1b..1ad46cc12 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -35,12 +35,12 @@ class ReactionSuite : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "transport"; } - static auto className() { return "ReactionSuite"; } - static auto GNDSName() { return "reactionSuite"; } + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "ReactionSuite"; } + static auto FIELD() { return "reactionSuite"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // metadata diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index 650940b8c..db74d394d 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -35,12 +35,12 @@ class Reactions : public Component { friend class Component; // Current namespace, current class, and GNDS node name - static auto namespaceName() { return "transport"; } - static auto className() { return "Reactions"; } - static auto GNDSName() { return "reactions"; } + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Reactions"; } + static auto FIELD() { return "reactions"; } // Core Interface multi-query to extract metadata and child nodes - static auto keys() + static auto KEYS() { return // children From 1cf8d87664259bab275aa66a00eaa6617ff99220 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 31 Mar 2022 13:05:12 -0600 Subject: [PATCH 087/235] Updating autogenerated files. --- src/GNDStk/v1.9.hpp | 2 -- src/GNDStk/v1.9/containers/Axes.hpp | 12 +++--------- src/GNDStk/v1.9/containers/Axis.hpp | 10 +++------- src/GNDStk/v1.9/containers/Grid.hpp | 12 +++--------- src/GNDStk/v1.9/containers/Link.hpp | 10 +++------- src/GNDStk/v1.9/containers/Regions1d.hpp | 12 +++--------- src/GNDStk/v1.9/containers/Values.hpp | 10 +++------- src/GNDStk/v1.9/containers/XYs1d.hpp | 12 +++--------- src/GNDStk/v1.9/key.hpp | 3 +++ src/GNDStk/v1.9/transport/CrossSection.hpp | 12 +++--------- src/GNDStk/v1.9/transport/Reaction.hpp | 12 +++--------- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 12 +++--------- src/GNDStk/v1.9/transport/Reactions.hpp | 12 +++--------- 13 files changed, 36 insertions(+), 95 deletions(-) diff --git a/src/GNDStk/v1.9.hpp b/src/GNDStk/v1.9.hpp index 8feab3741..e1c81c855 100644 --- a/src/GNDStk/v1.9.hpp +++ b/src/GNDStk/v1.9.hpp @@ -18,6 +18,4 @@ #include "GNDStk/v1.9/transport/Reaction.hpp" #include "GNDStk/v1.9/transport/CrossSection.hpp" -#include "GNDStk/v1.9/key.hpp" - #endif diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index 49ed4f363..bd6947b61 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -5,10 +5,7 @@ #ifndef GNDSTK_V1_9_CONTAINERS_AXES #define GNDSTK_V1_9_CONTAINERS_AXES -// GNDStk Core Interface -#include "GNDStk.hpp" - -// Dependencies +#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/Axis.hpp" #include "GNDStk/v1.9/containers/Grid.hpp" @@ -16,9 +13,6 @@ namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // containers:: @@ -27,7 +21,7 @@ using namespace njoy::GNDStk; namespace containers { -class Axes : public Component { +class Axes : public Component { using axis_grid_t = std::variant< containers::Axis, @@ -40,7 +34,7 @@ class Axes : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Axes"; } static auto FIELD() { return "axes"; } diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index 517174dc8..5675c7682 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -5,16 +5,12 @@ #ifndef GNDSTK_V1_9_CONTAINERS_AXIS #define GNDSTK_V1_9_CONTAINERS_AXIS -// GNDStk Core Interface -#include "GNDStk.hpp" +#include "GNDStk/v1.9/key.hpp" namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // containers:: @@ -23,7 +19,7 @@ using namespace njoy::GNDStk; namespace containers { -class Axis : public Component { +class Axis : public Component { // ------------------------ // For Component @@ -31,7 +27,7 @@ class Axis : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Axis"; } static auto FIELD() { return "axis"; } diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index b705077cd..51ccbe038 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -5,10 +5,7 @@ #ifndef GNDSTK_V1_9_CONTAINERS_GRID #define GNDSTK_V1_9_CONTAINERS_GRID -// GNDStk Core Interface -#include "GNDStk.hpp" - -// Dependencies +#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/Values.hpp" #include "GNDStk/v1.9/containers/Link.hpp" @@ -16,9 +13,6 @@ namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // containers:: @@ -27,7 +21,7 @@ using namespace njoy::GNDStk; namespace containers { -class Grid : public Component { +class Grid : public Component { using link_values_t = std::variant< containers::Values, @@ -40,7 +34,7 @@ class Grid : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Grid"; } static auto FIELD() { return "grid"; } diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index 07a1ee296..d6f6ec6a3 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -5,16 +5,12 @@ #ifndef GNDSTK_V1_9_CONTAINERS_LINK #define GNDSTK_V1_9_CONTAINERS_LINK -// GNDStk Core Interface -#include "GNDStk.hpp" +#include "GNDStk/v1.9/key.hpp" namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // containers:: @@ -23,7 +19,7 @@ using namespace njoy::GNDStk; namespace containers { -class Link : public Component { +class Link : public Component { // ------------------------ // For Component @@ -31,7 +27,7 @@ class Link : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Link"; } static auto FIELD() { return "link"; } diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index 840cb4b8e..43e48319b 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -5,10 +5,7 @@ #ifndef GNDSTK_V1_9_CONTAINERS_REGIONS1D #define GNDSTK_V1_9_CONTAINERS_REGIONS1D -// GNDStk Core Interface -#include "GNDStk.hpp" - -// Dependencies +#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/Axes.hpp" #include "GNDStk/v1.9/containers/XYs1d.hpp" @@ -16,9 +13,6 @@ namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // containers:: @@ -27,7 +21,7 @@ using namespace njoy::GNDStk; namespace containers { -class Regions1d : public Component { +class Regions1d : public Component { // ------------------------ // For Component @@ -35,7 +29,7 @@ class Regions1d : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Regions1d"; } static auto FIELD() { return "regions1d"; } diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index 7f39102af..84a6c66d7 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -5,16 +5,12 @@ #ifndef GNDSTK_V1_9_CONTAINERS_VALUES #define GNDSTK_V1_9_CONTAINERS_VALUES -// GNDStk Core Interface -#include "GNDStk.hpp" +#include "GNDStk/v1.9/key.hpp" namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // containers:: @@ -23,7 +19,7 @@ using namespace njoy::GNDStk; namespace containers { -class Values : public Component { +class Values : public Component { // ------------------------ // For Component @@ -31,7 +27,7 @@ class Values : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Values"; } static auto FIELD() { return "values"; } diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index dbfd6c20d..7239381b3 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -5,10 +5,7 @@ #ifndef GNDSTK_V1_9_CONTAINERS_XYS1D #define GNDSTK_V1_9_CONTAINERS_XYS1D -// GNDStk Core Interface -#include "GNDStk.hpp" - -// Dependencies +#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/Axes.hpp" #include "GNDStk/v1.9/containers/Values.hpp" @@ -16,9 +13,6 @@ namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // containers:: @@ -27,7 +21,7 @@ using namespace njoy::GNDStk; namespace containers { -class XYs1d : public Component { +class XYs1d : public Component { // ------------------------ // For Component @@ -35,7 +29,7 @@ class XYs1d : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "XYs1d"; } static auto FIELD() { return "XYs1d"; } diff --git a/src/GNDStk/v1.9/key.hpp b/src/GNDStk/v1.9/key.hpp index ae845ae22..6fbb35d80 100644 --- a/src/GNDStk/v1.9/key.hpp +++ b/src/GNDStk/v1.9/key.hpp @@ -5,6 +5,9 @@ #ifndef GNDSTK_V1_9_KEY #define GNDSTK_V1_9_KEY +// GNDStk Core Interface +#include "GNDStk.hpp" + namespace njoy { namespace GNDStk { namespace v1_9 { diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index 78c7edd43..4f5ca09e5 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -5,10 +5,7 @@ #ifndef GNDSTK_V1_9_TRANSPORT_CROSSSECTION #define GNDSTK_V1_9_TRANSPORT_CROSSSECTION -// GNDStk Core Interface -#include "GNDStk.hpp" - -// Dependencies +#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/XYs1d.hpp" #include "GNDStk/v1.9/containers/Regions1d.hpp" @@ -16,9 +13,6 @@ namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // transport:: @@ -27,7 +21,7 @@ using namespace njoy::GNDStk; namespace transport { -class CrossSection : public Component { +class CrossSection : public Component { using XYs1d_regions1d_t = std::variant< containers::XYs1d, @@ -40,7 +34,7 @@ class CrossSection : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "CrossSection"; } static auto FIELD() { return "crossSection"; } diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index 48c9d871c..42669a2b6 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -5,19 +5,13 @@ #ifndef GNDSTK_V1_9_TRANSPORT_REACTION #define GNDSTK_V1_9_TRANSPORT_REACTION -// GNDStk Core Interface -#include "GNDStk.hpp" - -// Dependencies +#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/transport/CrossSection.hpp" namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // transport:: @@ -26,7 +20,7 @@ using namespace njoy::GNDStk; namespace transport { -class Reaction : public Component { +class Reaction : public Component { // ------------------------ // For Component @@ -34,7 +28,7 @@ class Reaction : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "Reaction"; } static auto FIELD() { return "reaction"; } diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index 1ad46cc12..9592e3d72 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -5,19 +5,13 @@ #ifndef GNDSTK_V1_9_TRANSPORT_REACTIONSUITE #define GNDSTK_V1_9_TRANSPORT_REACTIONSUITE -// GNDStk Core Interface -#include "GNDStk.hpp" - -// Dependencies +#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/transport/Reactions.hpp" namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // transport:: @@ -26,7 +20,7 @@ using namespace njoy::GNDStk; namespace transport { -class ReactionSuite : public Component { +class ReactionSuite : public Component { // ------------------------ // For Component @@ -34,7 +28,7 @@ class ReactionSuite : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "ReactionSuite"; } static auto FIELD() { return "reactionSuite"; } diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index db74d394d..8d62e6e6f 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -5,19 +5,13 @@ #ifndef GNDSTK_V1_9_TRANSPORT_REACTIONS #define GNDSTK_V1_9_TRANSPORT_REACTIONS -// GNDStk Core Interface -#include "GNDStk.hpp" - -// Dependencies +#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/transport/Reaction.hpp" namespace njoy { namespace GNDStk { namespace v1_9 { -using namespace njoy::GNDStk; - - // ----------------------------------------------------------------------------- // transport:: @@ -26,7 +20,7 @@ using namespace njoy::GNDStk; namespace transport { -class Reactions : public Component { +class Reactions : public Component { // ------------------------ // For Component @@ -34,7 +28,7 @@ class Reactions : public Component { friend class Component; - // Current namespace, current class, and GNDS node name + // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "Reactions"; } static auto FIELD() { return "reactions"; } From 56ea4c089ce7eb4eded1eb24d7f56c4c84511eb4 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 31 Mar 2022 13:57:44 -0600 Subject: [PATCH 088/235] Adjust some terminology, fix some fixmes. --- autogen/json2class.cpp | 105 ++++++++++++++++------------ src/GNDStk/BlockData/src/assign.hpp | 2 +- src/GNDStk/BlockData/src/get.hpp | 4 +- src/GNDStk/BlockData/src/toNode.hpp | 4 +- src/GNDStk/Support/src/detail.hpp | 89 +++++++++++------------ src/GNDStk/convert/src/Node.hpp | 4 +- 6 files changed, 110 insertions(+), 98 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 680dd3bd4..e8a9f02d5 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -169,13 +169,14 @@ struct InfoSpecs { std::string hppVersion; // hpp file for this version std::string hppKey; // hpp file for this version's Meta and Child keys - // Changes to apply to a metadatum's or child node's name. - // Example: "double" (GNDS v1.9 does have this) to "Double" for C++. + // Changes to apply to a metadatum's name or a child node's name. + // Example: "double" (GNDS v1.9 actually has "double") to "Double" for C++. std::map mapName; // Changes to apply to metadata/attribute type and default. // Examples: "Boolean" to "bool", "interpolation" to "enums::Interpolation". - std::map mapMetaType; + // We'll give a string ==> std::string type change as a freebie. :-) + std::map mapMetaType = {{"string","std::string"}}; std::map mapMetaDefault; // For each class in the input JSON specifications, the namespace(s) @@ -320,6 +321,18 @@ bool isClass(const KeyValue &keyval) return true; } +std::string getTimes(const orderedJSON &value) +{ + const std::string times = "times"; // shorter, less easily misspelled + const std::string occurrence = "occurrence"; // accept; used in GNDS specs + + // need exactly one - not neither, not both + assert(value.contains(times) != value.contains(occurrence)); + + return value.contains(times) + ? value[times] + : value[occurrence]; +} // ----------------------------------------------------------------------------- @@ -398,7 +411,7 @@ std::string getMetadatumType(const orderedJSON &j, const InfoSpecs &specs) // Determine to what namespace childClass belongs. Context: we're (1) in a JSON // spec with namespace parent.nsname, (2) in a parent node named parent.clname, // and (3) wish to determine the proper namespace for the parent's child node -// named "child". Parameter j is the JSON value ({...}) for this child node. +// named childClass. Parameter j is the JSON value ({...}) for this child node. std::string getChildNamespace( const orderedJSON &j, const InfoSpecs &specs, const PerClass &per, const std::string &childClass @@ -412,7 +425,7 @@ std::string getChildNamespace( // ...isn't given, and this child isn't in any of the JSONs :-( if (specs.class2nspace.count(childClass) == 0) { log::warning( - "{}::{} has child of unknown class {}", + "{}::{} has a child of unknown class {}", per.nsname, per.clname, childClass ); return "unknownNamespace"; @@ -427,7 +440,13 @@ std::string getChildNamespace( const auto range = specs.class2nspace.equal_range(childClass); for (auto it = range.first; it != range.second; ++it) if (it->second == per.nsname) { - // fixme: a *warning* might be in order, re: our assumption + log::warning( + "{}::{} has a child {} that appears in the present\n" + "namespace but also in one or more other namespaces. We'll\n" + "assume that the one in the present namespace is intended.\n" + "If this is wrong, please provide a \"namespace\" entry.", + per.nsname, per.clname, childClass + ); return per.nsname; } @@ -438,7 +457,7 @@ std::string getChildNamespace( for (auto it = range.first; it != range.second; ++it) warn << (count++ == 0 ? "" : ", ") << it->second; log::warning( - "{}::{} has child of ambiguous class {}.\n" + "{}::{} has a child of ambiguous class {}.\n" "Child class {} appears in all of the following namespaces:\n{}", per.nsname, per.clname, childClass, childClass, warn.str() ); @@ -515,8 +534,8 @@ void getClassChildren( const auto &elemRHS = field.value(); // Choice children are handled elsewhere - const std::string occ = elemRHS["occurrence"]; - if (occ == "choice" || occ == "choice+" || occ == "choice2+") + const std::string times = getTimes(elemRHS); + if (times == "choice" || times == "choice+" || times == "choice2+") continue; // Name @@ -534,7 +553,7 @@ void getClassChildren( const std::string optSuffix = c.isOptional ? ">" : ""; // Vector? - c.isVector = occ == "0+" || occ == "1+" || occ == "2+"; + c.isVector = times == "0+" || times == "1+" || times == "2+"; const std::string vecPrefix = c.isVector ? "std::vector<" : ""; const std::string vecSuffix = c.isVector ? ">" : ""; @@ -590,8 +609,8 @@ void getClassVariants( for (const auto &field : j.items()) { // Is it a choice child? const auto &elemRHS = field.value(); - const std::string occ = elemRHS["occurrence"]; - if (occ != "choice" && occ != "choice+" && occ != "choice2+") + const std::string times = getTimes(elemRHS); + if (times != "choice" && times != "choice+" && times != "choice2+") continue; // Variant name @@ -605,8 +624,8 @@ void getClassVariants( for (const auto &field : j.items()) { // Is it a choice child? const auto &elemRHS = field.value(); - const std::string occ = elemRHS["occurrence"]; - if (occ != "choice" && occ != "choice+" && occ != "choice2+") + const std::string times = getTimes(elemRHS); + if (times != "choice" && times != "choice+" && times != "choice2+") continue; // Variant name @@ -625,7 +644,7 @@ void getClassVariants( const std::string ns = getChildNamespace(elemRHS, specs, per, c.type); c.type = ns + "::" + c.type; // ...its vector-ness - c.isVector = occ == "choice+" || occ == "choice2+"; + c.isVector = times == "choice+" || times == "choice2+"; // The GNDS JSON specifications all have "required":false for individual // choices in a set of choices; the concept of "the entire choice can be @@ -833,7 +852,6 @@ void writeClassPrefix(writer &out, const PerClass &per) // comment introducing class out(); out(); - out(); out(largeComment); out("// @::", per.nsname); out("// class @", per.clname); @@ -843,8 +861,14 @@ void writeClassPrefix(writer &out, const PerClass &per) out(); out("namespace @ {", per.nsname); out(); - out("class @ : public Component<@@> {", - per.clname, per.clname, + out("class @ : public Component<@::@@> {", + // A namespace prefix in Component<> prevents possible ambiguities with + // the Child<> object for the class that was brought in through key.hpp. + // Normally the class name is capitalized while the Child<> object isn't, + // but if the node name was already capitalized in the specs (an example + // we encountered was "XYs1d"), then the Child<> key would reflect that. + // Then, without the nsname:: here, we'd have an ambiguity. + per.clname, per.nsname, per.clname, per.isData ? (",true" + (per.dataType == "" ? "" : "," + per.dataType)) : "" @@ -873,18 +897,18 @@ void writeClassForComponent(writer &out, const PerClass &per) out(); out(1,"friend class Component;"); out(); - out(1,"// Current namespace, current class, and GNDS node name"); - out(1,"static auto namespaceName() { return \"@\"; }", per.nsname); - out(1,"static auto className() { return \"@\"; }", per.clname); - out(1,"static auto GNDSName() { return \"@\"; }", per.nameGNDS); + out(1,"// Names: this namespace, this class, a field / node of this type"); + out(1,"static auto NAMESPACE() { return \"@\"; }", per.nsname); + out(1,"static auto CLASS() { return \"@\"; }", per.clname); + out(1,"static auto FIELD() { return \"@\"; }", per.nameGNDS); - // keys() begin + // KEYS() begin out(); out(1,"// Core Interface multi-query to extract metadata and child nodes"); - out(1,"static auto keys()"); + out(1,"static auto KEYS()"); out(1,"{"); - // keys() contents + // KEYS() contents int count = 0, total = per.nfields(); if (total == 0) out(2,"return std::tuple<>{};"); @@ -921,7 +945,7 @@ void writeClassForComponent(writer &out, const PerClass &per) out(2,";"); } - // keys() end + // KEYS() end out(1,"}"); out(); out("public:"); @@ -1751,15 +1775,14 @@ void validateMetadata(const orderedJSON &metadata) void validateChildren(const orderedJSON &children) { for (const auto &field : children.items()) { - assert(field.value().contains("occurrence")); assert(field.value().contains("required")); - // Consistency check: certain "occurrence" values imply *not* required. + // Consistency check: certain occurrence values imply *not* required. // Remark: the GNDS manual speaks of "choice2" and "choice2+" options // for occurrence. We're not sure if those will remain in future GNDS // specifications, so we won't worry now about how they might fit in. - const std::string occ = field.value()["occurrence"]; - if (occ == "0+" || occ == "choice" || occ == "choice+") + const std::string times = getTimes(field.value()); + if (times == "0+" || times == "choice" || times == "choice+") assert(!field.value()["required"]); // not required } } @@ -1900,8 +1923,6 @@ void fileGNDStkVersion(const InfoSpecs &specs) specs.Project, specs.Version, nsname, clname); } - out(); - out("#include \"@/@/key.hpp\"", specs.Project, specs.Version); out(); out("#endif"); } // fileGNDStkVersion @@ -1959,6 +1980,9 @@ void fileGNDStkKey(const InfoSpecs &specs) out("#define @_@_KEY", allcaps(specs.Project), allcaps(specs.VersionUnderscore)); out(); + out("// GNDStk Core Interface"); + out("#include \"GNDStk.hpp\""); + out(); if (specs.Project == "GNDStk") // <== use namespace njoy only for this out("namespace njoy {"); out("namespace @ {", specs.Project); @@ -2077,25 +2101,18 @@ void fileGNDStkClass( out(); out("#ifndef @", guard); out("#define @", guard); - out(); - out("// GNDStk Core Interface"); - out("#include \"GNDStk.hpp\""); - if (c2d.dependencies.size() > 0) { - out(); - out("// Dependencies"); - for (const auto &dep : c2d.dependencies) - out("#include \"@/@/@/@.hpp\"", - specs.Project, specs.Version, dep.nsname, dep.clname); - } + out(); + out("#include \"@/@/key.hpp\"", specs.Project, specs.Version); + for (const auto &dep : c2d.dependencies) + out("#include \"@/@/@/@.hpp\"", + specs.Project, specs.Version, dep.nsname, dep.clname); out(); if (specs.Project == "GNDStk") out("namespace njoy {"); out("namespace @ {", specs.Project); out("namespace @ {", specs.VersionUnderscore); - out(); - out("using namespace njoy::GNDStk;"); out(per.code,false); out("} // namespace @", specs.VersionUnderscore); out("} // namespace @", specs.Project); diff --git a/src/GNDStk/BlockData/src/assign.hpp b/src/GNDStk/BlockData/src/assign.hpp index a64598e18..c809b3a80 100644 --- a/src/GNDStk/BlockData/src/assign.hpp +++ b/src/GNDStk/BlockData/src/assign.hpp @@ -56,7 +56,7 @@ operator=(const std::vector &vec) // length, start, valueType length(vec.size()); start(0); - valueType(detail::MapTypeString::value[0]); + valueType(detail::Type2Names::value[0]); // assign vector if constexpr (runtime) diff --git a/src/GNDStk/BlockData/src/get.hpp b/src/GNDStk/BlockData/src/get.hpp index 297748337..65e71300b 100644 --- a/src/GNDStk/BlockData/src/get.hpp +++ b/src/GNDStk/BlockData/src/get.hpp @@ -178,7 +178,7 @@ std::enable_if_t< // We'll print a warning if that vector type appears to conflict with // valueType. Regardless, we'll return what the caller requested. Note // that valueType == "" is acceptable with any element type. - if (valueType() != "" && !detail::MapTypeString::find(valueType())) { + if (valueType() != "" && !detail::Type2Names::find(valueType())) { log::warning( "Vector element type may be inconsistent with valueType \"{}\";\n" "we'll create the requested std::vector<> anyway", @@ -383,7 +383,7 @@ std::conditional_t< > get() const { if constexpr (runtime) { - detail::MapStringType( + detail::Names2Type( valueType(), [this](auto &&t) { diff --git a/src/GNDStk/BlockData/src/toNode.hpp b/src/GNDStk/BlockData/src/toNode.hpp index 9e44931c0..7dd5d233a 100644 --- a/src/GNDStk/BlockData/src/toNode.hpp +++ b/src/GNDStk/BlockData/src/toNode.hpp @@ -56,9 +56,9 @@ void toNode(std::string &text) const vars.length = size(); // independent of trim vars.start = bounds.first; // dependent on trim, per the bounds computation if constexpr (runtime) - vars.valueType = detail::visitMapTypeString(variant); + vars.valueType = detail::visitType2Names(variant); else - vars.valueType = detail::MapTypeString::value[0]; + vars.valueType = detail::Type2Names::value[0]; // Values std::ostringstream oss; diff --git a/src/GNDStk/Support/src/detail.hpp b/src/GNDStk/Support/src/detail.hpp index 2d78f65b6..5973171c7 100644 --- a/src/GNDStk/Support/src/detail.hpp +++ b/src/GNDStk/Support/src/detail.hpp @@ -1,12 +1,8 @@ -// fixme -// The "MapTypeString" and "MapStringType" terminology could probably be -// improved. For now this is detail material, so we won't worry about it. - namespace detail { // ----------------------------------------------------------------------------- -// MapTypeString +// Type2Names // ----------------------------------------------------------------------------- // ------------------------ @@ -14,7 +10,7 @@ namespace detail { // ------------------------ template -class MapTypeString { +class Type2Names { public: static inline const std::vector value = {""}; static bool find(const std::string &str) @@ -27,9 +23,9 @@ class MapTypeString { // For specific types // ------------------------ -#define makeMapTypeString(T,vec) \ +#define makeType2Names(T,vec) \ template<> \ - class MapTypeString { \ + class Type2Names { \ public: \ static inline const std::vector value = vec; \ static bool find(const std::string &str) \ @@ -38,81 +34,80 @@ class MapTypeString { } \ } -makeMapTypeString(char, {"char"}); -makeMapTypeString(signed char, {"signed char"}); -makeMapTypeString(short, {"short"}); -makeMapTypeString(long, {"long"}); -makeMapTypeString(long long, {"long long"}); -makeMapTypeString(unsigned char, {"unsigned char"}); -makeMapTypeString(unsigned short, {"unsigned short"}); -makeMapTypeString(unsigned long, {"unsigned long"}); -makeMapTypeString(unsigned long long, {"unsigned long long"}); -makeMapTypeString(float, {"float"}); -makeMapTypeString(long double, {"long double"}); +makeType2Names(char, {"char"}); +makeType2Names(signed char, {"signed char"}); +makeType2Names(short, {"short"}); +makeType2Names(long, {"long"}); +makeType2Names(long long, {"long long"}); +makeType2Names(unsigned char, {"unsigned char"}); +makeType2Names(unsigned short, {"unsigned short"}); +makeType2Names(unsigned long, {"unsigned long"}); +makeType2Names(unsigned long long, {"unsigned long long"}); +makeType2Names(float, {"float"}); +makeType2Names(long double, {"long double"}); // COMMA idea: https://stackoverflow.com/questions/13842468 #define COMMA , -makeMapTypeString(std::string, +makeType2Names(std::string, {"UTF8Text" COMMA "string" COMMA "std::string"}); -makeMapTypeString(int, +makeType2Names(int, {"Integer32" COMMA "int"}); -makeMapTypeString(unsigned, +makeType2Names(unsigned, {"UInteger32" COMMA "unsigned" COMMA "unsigned int"}); -makeMapTypeString(double, +makeType2Names(double, {"Float64" COMMA "double"}); #undef COMMA -#undef makeMapTypeString +#undef makeType2Names // ------------------------ // Based on variant visit // ------------------------ template -std::string visitMapTypeString(const VARIANT &variant) +std::string visitType2Names(const VARIANT &variant) { return std::visit( [](auto &&vec) { - return MapTypeString>::value[0]; + return Type2Names>::value[0]; }, variant ); } - // ----------------------------------------------------------------------------- -// MapStringType +// Names2Type // ----------------------------------------------------------------------------- template -void MapStringType(const std::string &str, const CALLBACK &call) +void Names2Type(const std::string &str, const CALLBACK &call) { // U helps when type T has spaces (e.g. T is long double) -#define makeMapStringType(T) \ - else if (MapTypeString::find(str)) { using U = T; call(U{}); } +#define makeNames2Type(T) \ + else if (Type2Names::find(str)) { using U = T; call(U{}); } if (false) { } // so macro's "else" always works - makeMapStringType(std::string) - makeMapStringType(char) - makeMapStringType(signed char) - makeMapStringType(short) - makeMapStringType(int) - makeMapStringType(long) - makeMapStringType(long long) - makeMapStringType(unsigned char) - makeMapStringType(unsigned short) - makeMapStringType(unsigned) - makeMapStringType(unsigned long) - makeMapStringType(unsigned long long) - makeMapStringType(float) - makeMapStringType(double) - makeMapStringType(long double) + makeNames2Type(std::string) + makeNames2Type(char) + makeNames2Type(signed char) + makeNames2Type(short) + makeNames2Type(int) + makeNames2Type(long) + makeNames2Type(long long) + makeNames2Type(unsigned char) + makeNames2Type(unsigned short) + makeNames2Type(unsigned) + makeNames2Type(unsigned long) + makeNames2Type(unsigned long long) + makeNames2Type(float) + makeNames2Type(double) + makeNames2Type(long double) else call(std::string{}); -#undef makeMapStringType +#undef makeNames2Type } } // namespace detail diff --git a/src/GNDStk/convert/src/Node.hpp b/src/GNDStk/convert/src/Node.hpp index 38b3b6bca..acebe16d0 100644 --- a/src/GNDStk/convert/src/Node.hpp +++ b/src/GNDStk/convert/src/Node.hpp @@ -130,9 +130,9 @@ inline bool convert(const JSON &j, Node &node, const bool &DECL) if (size == 0) return true; - // a json document should have one main node + // a json document should have one main node, although we may at some + // point want to find a way to relax this if (size != 1) { - // fixme Consider relaxing this, if doing so might ever make sense log::error("More than one main node in the JSON"); throw std::exception{}; } From 8cc0cb38171c33e09a6af9c6b98424fb535f1f3c Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 31 Mar 2022 16:22:33 -0600 Subject: [PATCH 089/235] Simplified some Component stuff. --- src/GNDStk/Component.hpp | 5 +++++ src/GNDStk/Component/src/ctor.hpp | 3 +-- src/GNDStk/Component/src/fromNode.hpp | 7 +++---- src/GNDStk/Component/src/print.hpp | 9 +++------ src/GNDStk/Component/src/sort.hpp | 7 ++----- src/GNDStk/Component/src/toNode.hpp | 7 ++----- 6 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index daa10f9a0..1e421440b 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -22,6 +22,11 @@ class Component : public BlockData using typename BLOCKDATA::VariantOfScalars; static inline constexpr bool hasFields = !std::is_same_v>; + static const auto &Keys() + { + static const auto value = makeKeyTuple(DERIVED::KEYS()); + return value; + } // Links to fields in the object of the derived class. I can't find a way // to do this in a decltype(DERIVED::KEYS())-aware manner, because DERIVED diff --git a/src/GNDStk/Component/src/ctor.hpp b/src/GNDStk/Component/src/ctor.hpp index d65d51050..7e11b9ebb 100644 --- a/src/GNDStk/Component/src/ctor.hpp +++ b/src/GNDStk/Component/src/ctor.hpp @@ -32,8 +32,7 @@ Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) // KEYS() is *not* empty, so... // The following is the *type* that a multi-query with DERIVED::KEYS() // will produce. - using multi_t = - detail::decays_t; + using multi_t = detail::decays_t; static_assert( std::is_same_v, multi_t>, pairing_error diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index ccd847b33..6e03f65a2 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -35,11 +35,10 @@ void fromNode(const Node &node) assert(0 == links.size()); } else { // retrieve the node's data by doing a multi-query - static const auto keytup = makeKeyTuple(DERIVED::KEYS()); - const auto tup = node(keytup); + const auto tuple = node(Keys()); // consistency check - assert(std::tuple_size::value == links.size()); + assert(std::tuple_size::value == links.size()); // apply links: // Node ==> derived-class data @@ -50,7 +49,7 @@ void fromNode(const Node &node) std::size_t n = 0; ((*(std::decay_t *)links[n++] = result), ...); }, - tup + tuple ); } diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index d9d7d5afc..7c7293d72 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -72,11 +72,8 @@ std::ostream &print(std::ostream &os, const int level) const // Consistency check assert(0 == links.size()); } else { - // Make tuple (of individual keys) from DERIVED::KEYS() - static const auto tup = makeKeyTuple(DERIVED::KEYS()).tup; - // Consistency check - assert(std::tuple_size::value == links.size()); + assert(std::tuple_size::value == links.size()); // Compute maximum length of key names, if aligning. Note that we // could - but don't - take into account that keys associated with @@ -93,7 +90,7 @@ std::ostream &print(std::ostream &os, const int level) const [&maxlen](const auto &... key) { ((maxlen=std::max(maxlen,detail::getName(key).size())), ...); }, - tup + Keys().tup ); // Apply links: @@ -115,7 +112,7 @@ std::ostream &print(std::ostream &os, const int level) const ... ); }, - tup + Keys().tup ); } diff --git a/src/GNDStk/Component/src/sort.hpp b/src/GNDStk/Component/src/sort.hpp index 81b403545..453759466 100644 --- a/src/GNDStk/Component/src/sort.hpp +++ b/src/GNDStk/Component/src/sort.hpp @@ -10,11 +10,8 @@ void sort() // Consistency check; then nothing further to do assert(0 == links.size()); } else { - // Make tuple (of individual keys) from DERIVED::KEYS() - static const auto tup = makeKeyTuple(DERIVED::KEYS()).tup; - // Consistency check - assert(std::tuple_size::value == links.size()); + assert(std::tuple_size::value == links.size()); // Apply links std::apply( @@ -27,7 +24,7 @@ void sort() ... ); }, - tup + Keys().tup ); } } catch (...) { diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index 645331117..d5b0c639a 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -22,11 +22,8 @@ operator Node() const // consistency check assert(0 == links.size()); } else { - // make tuple (of individual keys) from DERIVED::KEYS() - static const auto tup = makeKeyTuple(DERIVED::KEYS()).tup; - // consistency check - assert(std::tuple_size::value == links.size()); + assert(std::tuple_size::value == links.size()); // apply links: // derived-class data ==> Node @@ -40,7 +37,7 @@ operator Node() const (node.add(key,*(std::decay_t*)links[n++]), ...); }, - tup + Keys().tup ); } } catch (...) { From e29e55a8900d57c842a9c53e8b944ee8239116b5 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 1 Apr 2022 12:24:03 -0600 Subject: [PATCH 090/235] Some simplifications. --- src/GNDStk/Component.hpp | 2 - src/GNDStk/Component/src/ctor.hpp | 36 +++------ src/GNDStk/Component/src/fromNode.hpp | 39 ++++------ src/GNDStk/Component/src/print.hpp | 81 +++++++++----------- src/GNDStk/Component/src/sort.hpp | 33 ++++---- src/GNDStk/Component/src/toNode.hpp | 42 +++++----- src/GNDStk/Defaulted/test/Defaulted.test.cpp | 17 +++- src/GNDStk/Node/src/call-keytuple.hpp | 25 +++--- src/GNDStk/Support.hpp | 5 -- src/GNDStk/or.hpp | 11 +-- 10 files changed, 129 insertions(+), 162 deletions(-) diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index 1e421440b..b313340fc 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -20,8 +20,6 @@ class Component : public BlockData using BLOCKDATA = BlockData; using typename BLOCKDATA::VariantOfVectors; using typename BLOCKDATA::VariantOfScalars; - static inline constexpr bool hasFields = - !std::is_same_v>; static const auto &Keys() { static const auto value = makeKeyTuple(DERIVED::KEYS()); diff --git a/src/GNDStk/Component/src/ctor.hpp b/src/GNDStk/Component/src/ctor.hpp index 7e11b9ebb..7e6d24233 100644 --- a/src/GNDStk/Component/src/ctor.hpp +++ b/src/GNDStk/Component/src/ctor.hpp @@ -10,36 +10,22 @@ friend DERIVED; template Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) { - // static_assert needs string literal - #define pairing_error \ - "The number and/or types of the fields sent to Component's " \ - "constructor is inconsistent with the query result implied " \ - "by the KEYS() function in the derived class" - // I'd have preferred to achieve the following check by using SFINAE // in the constructor's signature, but couldn't find a way to do that // without again running into the issue of DERIVED being incomplete. + // Type that a multi-query with DERIVED::KEYS() will produce. + using multi_t = detail::decays_t; + // The parameters that are sent to this constructor must EXACTLY reflect // what we'd get from a DERIVED::KEYS() multi-query. - if constexpr (!hasFields) { - // KEYS() is "empty" (std::tuple<>); that's OK, as long as ARGS is too - static_assert( - std::is_same_v, std::tuple<>>, - pairing_error - ); - } else { - // KEYS() is *not* empty, so... - // The following is the *type* that a multi-query with DERIVED::KEYS() - // will produce. - using multi_t = detail::decays_t; - static_assert( - std::is_same_v, multi_t>, - pairing_error - ); - // Create links - (links.push_back(&args), ...); - } + static_assert( + std::is_same_v, multi_t>, + "The number and/or types of the fields sent to Component's " + "constructor is inconsistent with the query result implied " + "by the KEYS() function in the derived class" + ); - #undef pairing_error + // Create links + (links.push_back(&args), ...); } diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index 6e03f65a2..097350208 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -30,28 +30,23 @@ void fromNode(const Node &node) throw std::exception{}; } - if constexpr (!hasFields) { - // consistency check; then nothing further to do - assert(0 == links.size()); - } else { - // retrieve the node's data by doing a multi-query - const auto tuple = node(Keys()); - - // consistency check - assert(std::tuple_size::value == links.size()); - - // apply links: - // Node ==> derived-class data - // Below, each apply'd "result" is one particular element - one - // retrieved value - from the above multi-query on the node. - std::apply( - [this](const auto &... result) { - std::size_t n = 0; - ((*(std::decay_t *)links[n++] = result), ...); - }, - tuple - ); - } + // retrieve the node's data by doing a multi-query + const auto tuple = node(Keys()); + + // consistency check + assert(std::tuple_size::value == links.size()); + + // apply links: + // Node ==> derived-class data + // Below, each apply'd "result" is one particular element - one + // retrieved value - from the above multi-query on the node. + std::apply( + [this](const auto &... result) { + std::size_t n = 0; + ((*(std::decay_t *)links[n++] = result), ...); + }, + tuple + ); // block data, a.k.a. XML "pcdata" (plain character data), if any if constexpr (hasBlockData) diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index 7c7293d72..40e17a70f 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -68,53 +68,48 @@ std::ostream &print(std::ostream &os, const int level) const detail::colorize_brace("{") + "\n" ); - if constexpr (!hasFields) { - // Consistency check - assert(0 == links.size()); - } else { - // Consistency check - assert(std::tuple_size::value == links.size()); - - // Compute maximum length of key names, if aligning. Note that we - // could - but don't - take into account that keys associated with - // optional or Defaulted values *might* not in fact show up in the - // final printed text. In such cases, and if values of those types - // happen to have longer names, then the printing that does appear - // might use more spacing than it really needs to. By choosing not - // to factor this in, on a case-by-case basis, all objects of this - // particular Component<...> type will print with consistent spacing. - // We prefer this behavior, and its code is also slightly simpler. - std::size_t maxlen = 0; - if (GNDStk::align) - std::apply( - [&maxlen](const auto &... key) { - ((maxlen=std::max(maxlen,detail::getName(key).size())), ...); - }, - Keys().tup - ); - - // Apply links: - // derived-class data ==> print + // Consistency check + assert(std::tuple_size::value == links.size()); + + // Compute maximum length of key names, if aligning. Note that we + // could - but don't - take into account that keys associated with + // optional or Defaulted values *might* not in fact show up in the + // final printed text. In such cases, and if values of those types + // happen to have longer names, then the printing that does appear + // might use more spacing than it really needs to. By choosing not + // to factor this in, on a case-by-case basis, all objects of this + // particular Component<...> type will print with consistent spacing. + // We prefer this behavior, and its code is also slightly simpler. + std::size_t maxlen = 0; + if (GNDStk::align) std::apply( - [this,&os,&level,maxlen](const auto &... key) { - std::size_t n = 0; - ( - ( - // indent, value, newline - detail::printComponentPart( - os, - level+1, - *(std::decay_t *)links[n++], - detail::getName(key), - maxlen - ) && (os << '\n') // no if()s in fold expressions :-/ - ), - ... - ); + [&maxlen](const auto &... key) { + ((maxlen=std::max(maxlen,detail::getName(key).size())), ...); }, Keys().tup ); - } + + // Apply links: + // derived-class data ==> print + std::apply( + [this,&os,&level,maxlen](const auto &... key) { + std::size_t n = 0; + ( + ( + // indent, value, newline + detail::printComponentPart( + os, + level+1, + *(std::decay_t *)links[n++], + detail::getName(key), + maxlen + ) && (os << '\n') // no if()s in fold expressions :-/ + ), + ... + ); + }, + Keys().tup + ); // Custom derived-class print()s, if any. // To be recognized here, derived-class print() functions must be public, diff --git a/src/GNDStk/Component/src/sort.hpp b/src/GNDStk/Component/src/sort.hpp index 453759466..88c4d1ba7 100644 --- a/src/GNDStk/Component/src/sort.hpp +++ b/src/GNDStk/Component/src/sort.hpp @@ -6,27 +6,20 @@ void sort() { try { - if constexpr (!hasFields) { - // Consistency check; then nothing further to do - assert(0 == links.size()); - } else { - // Consistency check - assert(std::tuple_size::value == links.size()); + // Consistency check + assert(std::tuple_size::value == links.size()); - // Apply links - std::apply( - [this](const auto &... key) { - std::size_t n = 0; - ( - detail::sort( - *(std::decay_t *)links[n++] - ), - ... - ); - }, - Keys().tup - ); - } + // Apply links + std::apply( + [this](const auto &... key) { + std::size_t n = 0; + ( + detail::sort(*(std::decay_t *)links[n++]), + ... + ); + }, + Keys().tup + ); } catch (...) { log::member("Component.sort()"); throw; diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index d5b0c639a..4b9964c83 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -17,29 +17,25 @@ operator Node() const BLOCKDATA::toNode(text); } - // Write fields - if constexpr (!hasFields) { - // consistency check - assert(0 == links.size()); - } else { - // consistency check - assert(std::tuple_size::value == links.size()); - - // apply links: - // derived-class data ==> Node - // Below, each apply'd "key" is one value from DERIVED::KEYS(), and - // is a Meta, Child, or pair. The cast gives the - // underlying raw data type - int, say, or std::string - so that we - // can correctly use our generic void* link to a derived-class field. - std::apply( - [this,&node](const auto &... key) { - std::size_t n = 0; - (node.add(key,*(std::decay_t*)links[n++]), - ...); - }, - Keys().tup - ); - } + // Write fields... + + // consistency check + assert(std::tuple_size::value == links.size()); + + // apply links: + // derived-class data ==> Node + // Below, each apply'd "key" is one value from DERIVED::KEYS(), and + // is a Meta, Child, or pair. The cast gives the + // underlying raw data type - int, say, or std::string - so that we + // can correctly use our generic void* link to a derived-class field. + std::apply( + [this,&node](const auto &... key) { + std::size_t n = 0; + (node.add(key,*(std::decay_t*)links[n++]), + ...); + }, + Keys().tup + ); } catch (...) { log::member("Component.operator Node() const"); throw; diff --git a/src/GNDStk/Defaulted/test/Defaulted.test.cpp b/src/GNDStk/Defaulted/test/Defaulted.test.cpp index b01999a91..31f4a4ccf 100644 --- a/src/GNDStk/Defaulted/test/Defaulted.test.cpp +++ b/src/GNDStk/Defaulted/test/Defaulted.test.cpp @@ -3,9 +3,18 @@ #include "catch.hpp" #include "GNDStk.hpp" +using namespace njoy::GNDStk; -SCENARIO("Testing Defaulted") { - // fixme - // Is there really anything to do here, for Defaulted - // in general, that isn't already in other tests? +SCENARIO("Testing GNDStk Defaulted") { + // There's not really anything to do here that isn't already in other tests + // for Defaulted. So, this file is really just a place for CATCH_CONFIG_MAIN. + // Let's go ahead and do a little something, though, just for fun... + + GIVEN("A Defaulted") { + Defaulted d(0); // 0 is the default - not a value + CHECK(d.has_value() == false); + d = 12345; + CHECK(d.has_value() == true); + CHECK(d.value() == 12345); + } } diff --git a/src/GNDStk/Node/src/call-keytuple.hpp b/src/GNDStk/Node/src/call-keytuple.hpp index 7352c158f..146635d10 100644 --- a/src/GNDStk/Node/src/call-keytuple.hpp +++ b/src/GNDStk/Node/src/call-keytuple.hpp @@ -11,12 +11,12 @@ // (tuple<>) auto operator()( - const std::tuple<> &tup, + const std::tuple<> &, bool &found, std::vector & ) GNDSTK_CONST { found = true; - return tup; + return std::tuple<>{}; } @@ -106,16 +106,19 @@ auto operator()( } log::error(errorMessage); - // Construct and print the context + // Construct and print the context. (Note: the if-constexpr seems + // unnecessary, but a compiler gave a warning about "names" being + // unused, in the lambda, in the empty tuple (std::tuple<>) case.) std::string names; - std::apply( - [&names](const Ks &... key) { - using detail::keyname; - std::size_t n = 0; - ((names += keyname(key) + (++n < sizeof...(Ks) ? "," : "")), ...); - }, - keytup.tup - ); + if constexpr (!std::is_same_v,KeyTuple<>>) + std::apply( + [&names](const Ks &... key) { + using detail::keyname; + std::size_t n = 0; + ((names += keyname(key) + (++n < sizeof...(Ks) ? "," : "")), ...); + }, + keytup.tup + ); log::member("Node(KeyTuple({})", names); throw; } diff --git a/src/GNDStk/Support.hpp b/src/GNDStk/Support.hpp index 4147a3fb3..d5ffd8ea8 100644 --- a/src/GNDStk/Support.hpp +++ b/src/GNDStk/Support.hpp @@ -84,11 +84,6 @@ class IntegerTuple { // constructors // ------------------------ - // fixme - // The GNDS manual says that "any integer (0-9)" is allowed. If the 0-9 - // part is really correct, then I should probably throw an error, or at - // least print a warning) if a provided value is outside of that range. - IntegerTuple() { } diff --git a/src/GNDStk/or.hpp b/src/GNDStk/or.hpp index 983f411e6..2fca21f81 100644 --- a/src/GNDStk/or.hpp +++ b/src/GNDStk/or.hpp @@ -60,19 +60,16 @@ class KeyTuple { { } // KeyTuple(tuple) - KeyTuple(const std::tuple &tup) : - tup(tup) - { } + KeyTuple(const std::tuple &tup) : tup(tup) { } }; // <> -// intentionally non-constructible template<> class KeyTuple<> { - KeyTuple() = delete; - KeyTuple(const KeyTuple &) = delete; - KeyTuple(KeyTuple &&) = delete; +public: + std::tuple<> tup; + KeyTuple(const std::tuple<> &tup) : tup(tup) { } }; // for Meta From ab78ffd937ccafcce8158931f73f43c85f554122 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 29 Apr 2022 14:43:47 -0600 Subject: [PATCH 091/235] Enhanced JSON capabilities. Work-in-progress. An earlier branch introduced the ability to write HDF5 files in different ways, according to two boolean flags: *reduced* and *typed*. This branch enhances our JSON capabilities in the same manner, reflecting, with JSON, an analog of the options we have for HDF5. The above was done in respect to GNDStk's general philosophy of making its support of different file types as consistent with one another as reasonably possible. Similarly to HDF5, the JSON class now has two static booleans: "reduced" and "typed". The "reduced" flag tells the JSON writer whether or not to reduce -- basically, to fold into a shorter and simpler representation -- certain special constructs that GNDStk's Node uses internally in order to handle what are called cdata, pcdata, and comment nodes in XML. Basically, if reduced == true, then we make this simplification, which shortens the JSON output. If reduced == false, then the JSON will closely reflect what Node uses internally. The "typed" flag tells the JSON writer whether or not it should use our type-guessing code to guess whether "strings" in certain contexts (in particular, metadata values and pcdata) actually contain what look like numbers. Examples: "12" looks like an int, "321 476" looks like a vector of ints, "3.14" looks like a double, and "3.14 2.72 1.41" looks like a vector of doubles. If typed == false, we use the original strings, with no type guessing. If typed == true, we apply the type guesser, and, where appropriate, get JSON numbers in place of strings in the JSON output. This is a work in progress, with a couple of things that still need doing... Still to do: modify the JSON *reading* code so that it recognizes the various different ways that the JSON *writing* code writes things, and can reliably reverse the writing process and recover a GNDStk Node. Also still to do: at present, the nlohmann JSON library, which we use under the hood, doesn't provide a way to write JSON numbers (unquoted, as opposed to quoted JSON strings) beginning from an existing string representation that we might provide for the number. Consider this discussion that I started: https://github.com/nlohmann/json/discussions/3460 This is relevant to us because GNDStk provides very fine control over exactly how numbers, in particular floating-point numbers, are formatted, in terms of the number of significant digits, fixed vs. scientific form, etc. At the time of this writing, if we use typed == true, so that certain strings that look like numbers are written as numbers, the numbers will, unfortunately, be formatted by the JSON library itself. We'd like to have the capability of writing an original string (one that we've already determined looks like a number!) - but writing it as a JSON number (so, without quotes) rather than a JSON string. In this commit, we also Modified an old Tree/ test that depended on the previous default (but still available, via appropriate flags, even though no longer the default) JSON writing behavior. And, we changed a variable name in json2class.cpp. We refactored detail-node2hdf5.hpp (for HDF5) considerably, and then reflected this in the modified detail-node2json.hpp (for JSON) that we're primarily working on. And, we've enhanced the JSON test code so that it tries out the new flags. This is a work in progress as well. In order to finish it, we need to finish the ability to read JSON files that were written not just in our original manner, but with any variations of the above-described flags. --- autogen/json2class.cpp | 4 +- src/GNDStk/HDF5.hpp | 7 +- src/GNDStk/HDF5/test/HDF5.test.cpp | 30 +- src/GNDStk/JSON.hpp | 9 + src/GNDStk/JSON/test/JSON.test.cpp | 82 +++- src/GNDStk/JSON/test/resources/various.xml | 46 +++ src/GNDStk/Tree/test/write.test.cpp | 4 + src/GNDStk/convert/src/detail-node2hdf5.hpp | 360 ++++++++++-------- src/GNDStk/convert/src/detail-node2json.hpp | 395 +++++++++++++++++++- 9 files changed, 747 insertions(+), 190 deletions(-) create mode 100644 src/GNDStk/JSON/test/resources/various.xml diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index e8a9f02d5..dffac6cdd 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -629,10 +629,10 @@ void getClassVariants( continue; // Variant name - const std::string variant = elemRHS.contains("variant") + const std::string variantName = elemRHS.contains("variant") ? elemRHS["variant"] : ""; - auto it = map.find(variant); + auto it = map.find(variantName); assert(it != map.end()); // should be there from the earlier loop // For the individual child that's part of a choice... diff --git a/src/GNDStk/HDF5.hpp b/src/GNDStk/HDF5.hpp index ef27469f6..b637c751b 100644 --- a/src/GNDStk/HDF5.hpp +++ b/src/GNDStk/HDF5.hpp @@ -9,9 +9,10 @@ class HDF5 { public: - // todo: It's possible that we'll want these to be non-static, so that they - // can differ between HDF5 objects. That might, however, constitute excessive - // generality. Think about this. + // flags + // These affect precisely how Nodes are written into HDF5 files. Note that + // when *reading*, we recognize and accept whichever variation we may have + // used when we wrote the HDF5 file to begin with. static inline bool reduced = true; static inline bool typed = true; diff --git a/src/GNDStk/HDF5/test/HDF5.test.cpp b/src/GNDStk/HDF5/test/HDF5.test.cpp index 265a5cd8a..22e96b67b 100644 --- a/src/GNDStk/HDF5/test/HDF5.test.cpp +++ b/src/GNDStk/HDF5/test/HDF5.test.cpp @@ -45,8 +45,9 @@ void writeReadHDF5( // strings that look like floating-point numbers may be converted to doubles // and back again. That could lead to differences, depending on how floating- // point numbers are written. We've *tried* to write our test files in such - // a way that these issues won't appear here; if they do arise, somehow, + // a way that these issues won't appear here. If they do arise, somehow, // then we're sure we'll hear about it. :-) + std::ostringstream oss; newTree.sort().top().write(oss,"debug"); CHECK(oss.str() == correct); @@ -57,22 +58,17 @@ void writeReadHDF5( // believe that that's the safe thing to do, because HDF5 is a binary format. // We can't know if the HDF5 files produced on any particular platform will // compare favorably with the vetted binary files we've placed into the repo. - // So, this is more a "know what you're doing" test that can be put back in, - // say by writing #if 1, by people who know how to deal with this situation. - // ADDITIONAL REMARK. Even on the same computer, I'm seeing non-comparable - // results, between runs, for each of the two HDF5::reduced == true cases. - // The offending files are equal in size (for what limited worth that has), - // and appear to be the same when I compare the output that the h5dump tool - // gives for each. (Also: in terms of recovering original Tree information - - // our Test #1 above - the newly created files check out.) todo: Determine - // what's going on with the vetted-vs-new-file comparison. Could a timestamp, - // or some other non-constant construct, be going into the file? And why does - // this happen only when HDF5::reduced == true? That flag simply means that - // the HDF5 writer simplifies certain special Tree constructs (relating to - // #cdata, #comment, and #pcdata). (In a predictable and reversible manner, - // of course, hence Test #1 working.) UPDATE: h5diff says the files match. - // Also, google [hdf5 file comparison] to see some relevant discussions. -#if 0 + // So, this is more a "know what you're doing" test that can be put back in + // if someone knows how to deal with this situation. + // Additional remark: Even on the same computer, I'm seeing non-comparable + // results, between runs, for each of the two HDF5::reduced == true cases, + // at least when the unix "cmp" is used. However, the h5diff tool, which is + // specifically designed to report *meaningful* same-ness or different-ness + // in HDF5 files, is indeed reporting comparable files where we expect. Try + // googling [hdf5 file comparison] to see some relevant discussions. Bottom + // line: we believe everything is actually in order here. + +#if 0 // <== intentional; see above remark std::ifstream ifsWant(vettedFile); std::stringstream bufWant; bufWant << ifsWant.rdbuf(); diff --git a/src/GNDStk/JSON.hpp b/src/GNDStk/JSON.hpp index 47d3956ad..c1f81eca8 100644 --- a/src/GNDStk/JSON.hpp +++ b/src/GNDStk/JSON.hpp @@ -6,6 +6,15 @@ class JSON { public: + + // flags + // These affect precisely how Nodes are written into JSON files. Note that + // when *reading*, we recognize and accept whichever variation we may have + // used when we wrote the JSON file to begin with. + static inline bool reduced = true; + static inline bool typed = true; + + // data nlohmann::ordered_json doc; // clear diff --git a/src/GNDStk/JSON/test/JSON.test.cpp b/src/GNDStk/JSON/test/JSON.test.cpp index 724159619..b1fe285e8 100644 --- a/src/GNDStk/JSON/test/JSON.test.cpp +++ b/src/GNDStk/JSON/test/JSON.test.cpp @@ -95,11 +95,91 @@ R"***({ })***"; +// ----------------------------------------------------------------------------- +// writeReadJSON +// Helper function +// ----------------------------------------------------------------------------- + +void writeReadJSON( + const Tree &oldTree, + const bool reduced, const bool typed, + const std::string &correct, + const std::string &baseName +) { + // Set flags + JSON::reduced = reduced; + JSON::typed = typed; + + // Compute file names + const std::string newFile = baseName + ".json"; + const std::string vettedFile = "correct-" + newFile; + + // Write the Tree to a JSON file + oldTree.write(newFile); + + // zzz Need to finish this; need full *read* capabilities first, + // zzz respecting the new "reduced" and "typed" flags. +#if 0 + // Read from the JSON file into a brand-new Tree + Tree newTree(newFile); + + // Test #1. Ensure that the newly-read Tree prints (in our debug format) + // in exactly the same way as the original Tree did. + std::ostringstream oss; + newTree.sort().top().write(oss,"debug"); + CHECK(oss.str() == correct); + + // Test #2. Ensure that file newFile (written above, from the original Tree) + // is identical to the vetted JSON file vettedFile. +#if 0 // <== intentional; see above remark + std::ifstream ifsWant(vettedFile); + std::stringstream bufWant; + bufWant << ifsWant.rdbuf(); + std::cout << "bufWant.str().size() == " << bufWant.str().size() << std::endl; + + std::ifstream ifsHave(newFile); + std::stringstream bufHave; + bufHave << ifsHave.rdbuf(); + std::cout << "bufHave.str().size() == " << bufHave.str().size() << std::endl; + + CHECK(bufWant.str() == bufHave.str()); +#endif + +#endif +} + + +// ----------------------------------------------------------------------------- +// SCENARIO +// ----------------------------------------------------------------------------- + +SCENARIO("Testing GNDStk JSON, Part I") { + WHEN("We create a Tree from an XML with various constructs in it") { + // Read Tree + Tree tree("various.xml"); + + // Write to a string, in our simple debug format + std::ostringstream oss; + tree.sort().top().write(oss,"debug"); + const std::string correct = oss.str(); + + // Write/read to/from JSON, for each combination of the available flags + // for doing so: JSON::reduced = false/true (x) JSON::typed = false/true + writeReadJSON(tree, false, false, correct, "raw-string"); + writeReadJSON(tree, false, true, correct, "raw-typed"); + writeReadJSON(tree, true, false, correct, "reduced-string"); + writeReadJSON(tree, true, true, correct, "reduced-typed"); + } +} + + // ----------------------------------------------------------------------------- // SCENARIO // ----------------------------------------------------------------------------- -SCENARIO("Testing GNDStk JSON") { +SCENARIO("Testing GNDStk JSON, Part II") { + JSON::reduced = false; + JSON::typed = false; // read a JSON JSON j("n-069_Tm_170-covar.json"); diff --git a/src/GNDStk/JSON/test/resources/various.xml b/src/GNDStk/JSON/test/resources/various.xml new file mode 100644 index 000000000..18b7ca3e9 --- /dev/null +++ b/src/GNDStk/JSON/test/resources/various.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + 1.2 + 1.2 3.45 6.789 + + 1 + 12 345 6789 + + + + + + ab + cd efg hijk + + + + + + + + 1 2 3 4 + 9.87 6.54 3.21 + + + a b c d e f g + + diff --git a/src/GNDStk/Tree/test/write.test.cpp b/src/GNDStk/Tree/test/write.test.cpp index eb6acf9dd..1b6c87758 100644 --- a/src/GNDStk/Tree/test/write.test.cpp +++ b/src/GNDStk/Tree/test/write.test.cpp @@ -371,11 +371,15 @@ SCENARIO("Testing GNDStk tree write() and operator<<") { WHEN("We write() the tree using FileType::json") { THEN("We get the correct JSON content (case: FileType::json)") { std::ostringstream oss; + JSON::reduced = false; + JSON::typed = false; tree.sort().write(oss, FileType::json); CHECK(oss.str() == string_real_json); } THEN("We get the correct JSON content (case: \"json\")") { std::ostringstream oss; + JSON::reduced = false; + JSON::typed = false; tree.sort().write(oss, "json"); CHECK(oss.str() == string_real_json); } diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index a6348ce04..1f76fa5ad 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -3,38 +3,43 @@ // Helpers // ----------------------------------------------------------------------------- -// scalarAttr +// ------------------------ +// scalar2Attr +// vector2Attr +// ------------------------ + template -HighFive::Attribute scalarAttr( +void scalar2Attr( const std::string &key, const std::string &value, OBJECT &hdf5 ) { T scalar; convert(value,scalar); - return hdf5.createAttribute(key,scalar); + hdf5.createAttribute(key,scalar); } -// vectorAttr template -HighFive::Attribute vectorAttr( +void vector2Attr( const std::string &key, const std::string &value, OBJECT &hdf5 ) { std::vector vector; convert(value,vector); - return hdf5.createAttribute(key,vector); + hdf5.createAttribute(key,vector); } + // ------------------------ -// vecDataSet +// pcdata2DataSet // ------------------------ // helper template -HighFive::DataSet vecDataSet( +HighFive::DataSet pcdata2DataSet( const std::string &key, const std::string &value, OBJECT &hdf5 ) { + // Similar to vector2Attr(), but creates a DataSet, not an Attribute std::vector vector; convert(value,vector); return hdf5.createDataSet(key,vector); @@ -42,36 +47,38 @@ HighFive::DataSet vecDataSet( // w/ type string template -HighFive::DataSet vecDataSet( +HighFive::DataSet pcdata2DataSet( const std::string &key, const std::string &value, OBJECT &hdf5 ) { if (HDF5::typed) { const std::string type = guessType(value); if (type == "int" || type == "ints" ) - return vecDataSet(key,value,hdf5); + return pcdata2DataSet(key,value,hdf5); if (type == "uint" || type == "uints" ) - return vecDataSet(key,value,hdf5); + return pcdata2DataSet(key,value,hdf5); if (type == "long" || type == "longs" ) - return vecDataSet(key,value,hdf5); + return pcdata2DataSet(key,value,hdf5); if (type == "ulong" || type == "ulongs" ) - return vecDataSet(key,value,hdf5); + return pcdata2DataSet(key,value,hdf5); if (type == "double" || type == "doubles") - return vecDataSet(key,value,hdf5); + return pcdata2DataSet(key,value,hdf5); } - return vecDataSet(key,value,hdf5); + return pcdata2DataSet(key,value,hdf5); } // ----------------------------------------------------------------------------- -// meta2hdf5_typed -// meta2hdf5_plain +// meta2hdf5* // ----------------------------------------------------------------------------- // ------------------------ // meta2hdf5_typed // ------------------------ +// Use our "guess what's in the string" code to try to infer what each +// metadatum's string value actually contains (a single int, say, or +// a vector of doubles). Use the inferred types in the HDF5 file. template void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) { @@ -100,34 +107,32 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) // *** #pcdata/#text // ACTION: Apply our type-guessing code, but write *vectors* only, never // scalars. So, 10 produces a vector with one element, - // NOT a scalar; while 10 20 30 would produces a vector + // NOT a scalar; while 10 20 30 produces a vector with // with three elements. What may look like scalars are made into vectors - // because we think that reflects what these (#pcdata) nodes are intended + // because we think this reflects what these (#pcdata) nodes are intended // to represent. (If something was really just a scalar, then surely it // would be placed into standard metadata (in <...>), not #pcdata. if (parent == "#pcdata" && key == "#text") { - std::string type = guessType(value); + const std::string type = guessType(value); if (type == "int" || type == "ints") - vectorAttr(key,value,hdf5); + vector2Attr(key,value,hdf5); else if (type == "uint" || type == "uints") - vectorAttr(key,value,hdf5); + vector2Attr(key,value,hdf5); else if (type == "long" || type == "longs") - vectorAttr(key,value,hdf5); + vector2Attr(key,value,hdf5); else if (type == "ulong" || type == "ulongs") - vectorAttr(key,value,hdf5); + vector2Attr(key,value,hdf5); else if (type == "double" || type == "doubles") - vectorAttr(key,value,hdf5); + vector2Attr(key,value,hdf5); else - vectorAttr(key,value,hdf5); + vector2Attr(key,value,hdf5); continue; } // *** key/#text not expected, except as already handled if (key == "#text") { - log::warning("Metadatum name \"#text\" not expected here; " - "writing anyway"); - log::function("detail::meta2hdf5_typed(Node named \"{}\", ...)", - parent); + log::warning("Metadatum \"#text\" not expected here; writing anyway"); + log::function("detail::meta2hdf5(Node named \"{}\", ...)", parent); } // ------------------------ @@ -142,17 +147,17 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) // is probably intended to be a free-form, human-readable descriptive // string, which shouldn't be split into tokens and made into a vector. const std::string type = guessType(value); - if (type == "int" ) scalarAttr(key,value,hdf5); else - if (type == "ints" ) vectorAttr(key,value,hdf5); else - if (type == "uint" ) scalarAttr(key,value,hdf5); else - if (type == "uints" ) vectorAttr(key,value,hdf5); else - if (type == "long" ) scalarAttr(key,value,hdf5); else - if (type == "longs" ) vectorAttr(key,value,hdf5); else - if (type == "ulong" ) scalarAttr(key,value,hdf5); else - if (type == "ulongs" ) vectorAttr(key,value,hdf5); else - if (type == "double" ) scalarAttr(key,value,hdf5); else - if (type == "doubles") vectorAttr(key,value,hdf5); else - /* string or strings*/ scalarAttr(key,value,hdf5); + if (type == "int" ) scalar2Attr(key,value,hdf5); else + if (type == "ints" ) vector2Attr(key,value,hdf5); else + if (type == "uint" ) scalar2Attr(key,value,hdf5); else + if (type == "uints" ) vector2Attr(key,value,hdf5); else + if (type == "long" ) scalar2Attr(key,value,hdf5); else + if (type == "longs" ) vector2Attr(key,value,hdf5); else + if (type == "ulong" ) scalar2Attr(key,value,hdf5); else + if (type == "ulongs" ) vector2Attr(key,value,hdf5); else + if (type == "double" ) scalar2Attr(key,value,hdf5); else + if (type == "doubles") vector2Attr(key,value,hdf5); else + /* string OR strings*/ scalar2Attr(key,value,hdf5); } } // meta2hdf5_typed @@ -161,6 +166,9 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) // meta2hdf5_plain // ------------------------ +// Write simple HDF5 in which all metadata, as well as the contents +// of "cdata" and "pcdata" nodes, end up being strings. Not even vectors +// of strings, as from H He Li ..., but single strings. template void meta2hdf5_plain(const NODE &node, OBJECT &hdf5) { @@ -169,30 +177,157 @@ void meta2hdf5_plain(const NODE &node, OBJECT &hdf5) } -// ----------------------------------------------------------------------------- +// ------------------------ // meta2hdf5 -// ----------------------------------------------------------------------------- +// ------------------------ // Here, OBJECT hdf5 is either a HighFive::Group or a HighFive::DataSet template -void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) +void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) { - // #nodename if appropriate (as with JSON, allows recovery of original name) + // Create #nodename iff necessary (allows recovery of original node name) if (suffix != "") hdf5.createAttribute(std::string("#nodename"), node.name); // Existing metadata - if (HDF5::typed) { - // Use our "guess what's in the string" code to try to infer what each - // metadatum's string value actually contains (a single int, say, or - // a vector of doubles). Use the inferred types in the HDF5 file. - meta2hdf5_typed(node,hdf5); - } else { - // Write simple HDF5 in which all data (metadata, as well as the contents - // of "cdata" and "pcdata" nodes) end up being strings. Not even vectors - // of strings, as from H He Li ..., but single strings. - meta2hdf5_plain(node,hdf5); + HDF5::typed + ? meta2hdf5_typed(node,hdf5) + : meta2hdf5_plain(node,hdf5); +} + + +// ----------------------------------------------------------------------------- +// hdf5_reduce_* +// ----------------------------------------------------------------------------- + +// ------------------------ +// hdf5_reduce_cdata_comment +// ------------------------ + +// Simplify certain #cdata and #comment cases. +template +bool hdf5_reduce_cdata_comment( + const NODE &node, OBJECT &hdf5, const std::string &suffix +) { + const std::string nameOriginal = node.name; + const std::string nameSuffixed = node.name + suffix; + + // #cdata or #comment + // #text the only metadatum + // no children + // Reduce to: string attribute, w/name == (#cdata or #comment) + suffix + // Sketch: + // +-----------------+ +-----------+ + // | #cdata/#comment | ==> | Attribute | name: #cdata/#comment + suffix + // | #text | | value | + // +-----------------+ +-----------+ + + if ( + (nameOriginal == "#cdata" || nameOriginal == "#comment") && + node.children.size() == 0 && + node.metadata.size() == 1 && + node.metadata[0].first == "#text" + ) { + // string attribute + hdf5.createAttribute(nameSuffixed,node.metadata[0].second); + return true; + } + + return false; +} + + +// ------------------------ +// hdf5_reduce_pcdata +// ------------------------ + +// Simplify #pcdata case. +template +bool hdf5_reduce_pcdata( + const NODE &node, OBJECT &hdf5, const std::string &suffix +) { + const std::string nameOriginal = node.name; + const std::string nameSuffixed = node.name + suffix; + + // #pcdata + // #text the only metadatum + // no children + // Reduce to: data set, w/name == #pcdata + suffix + // Sketch: + // +----------+ +---------+ + // | #pcdata | ==> | DataSet | name: #pcdata + suffix + // | #text | | data | + // +----------+ +---------+ + + if (nameOriginal == "#pcdata" && + node.children.size() == 0 && + node.metadata.size() == 1 && + node.metadata[0].first == "#text" + ) { + // Remark. This case (basically, #pcdata/#text) may look superficially + // like it would have been handled, in the case immediately below here, + // in the previous (next-up) recurse of the node2hdf5() function. Often + // it would have, but not always. Below, name/#pcdata/#text (three + // levels, so to speak) reduces to one level (DataSet name), but + // only if name has ONE child - the #pcdata. That's true when we + // have (in XML) something like 1 2 3, as the pcdata, + // i.e. the 1 2 3 part, is ' only child node. However, it's + // actually possible (though I don't see it in current GNDS files) to + // have something like: 1 2 3. There, the + // outer "name" node () has child foo and child #pcdata, and + // thus can't be reduced in the manner that's done if only #pcdata is + // there. In short, then, the present situation comes to pass if and + // when #pcdata has sibling nodes. + + // HDF5 data set + pcdata2DataSet(nameSuffixed, node.metadata[0].second, hdf5); + return true; } + + return false; +} + + +// ------------------------ +// hdf5_reduce_pcdata_metadata +// ------------------------ + +// Simplify case of node with #pcdata AND metadata +template +bool hdf5_reduce_pcdata_metadata( + const NODE &node, OBJECT &hdf5, const std::string &suffix +) { + // name (think e.g. "values", as in XML ) + // any number of metadata (possibly 0) + // #pcdata the only child + // #text the only metadatum + // no children + // Reduce to: data set, w/name == name + suffix + // Sketch: + // +---------------+ +----------------+ + // | name | ==> | DataSet | name: name + suffix + // | [metadata] | | [Attributes] | + // | #pcdata | | data | + // | #text | +----------------+ + // | - | + // +---------------+ + + if (node.children.size() == 1 && + node.children[0]->name == "#pcdata" && + node.children[0]->metadata.size() == 1 && + node.children[0]->metadata[0].first == "#text" && + node.children[0]->children.size() == 0 + ) { + // HDF5 data set + const std::string text = node.children[0]->metadata[0].second; + HighFive::DataSet dataset = pcdata2DataSet(node.name+suffix, text, hdf5); + + // metadata + meta2hdf5(node, dataset, suffix); + return true; + } + + return false; } @@ -200,119 +335,36 @@ void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) // node2hdf5 // ----------------------------------------------------------------------------- -// Here, OBJECT hdf5 is either a HighFive::File or a HighFive::Group +// NODE is just GNDStk::Node. The latter isn't used directly, because +// it's an incomplete type at this point. +// OBJECT is either HighFive::File or HighFive::Group. template -bool node2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix = "") +bool node2hdf5(const NODE &node, OBJECT &h, const std::string &suffix = "") { - // As with JSON; see the remark in node2json() - const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + suffix; // ------------------------ - // Specific cases + // Special cases // ------------------------ - if (HDF5::reduced) { - // #cdata or #comment - // #text the only metadatum - // no children - // Reduce to: a string attribute, w/name == (#cdata or #comment) + suffix - // Sketch: - // +-----------------+ +-----------+ - // | #cdata/#comment | ==> | Attribute | name: #... + suffix - // | #text | | value | - // | - | +-----------+ - // +-----------------+ - // - if ( - (nameOriginal == "#cdata" || nameOriginal == "#comment") && - node.children.size() == 0 && - node.metadata.size() == 1 && - node.metadata[0].first == "#text" - ) { - // attribute - hdf5.createAttribute(nameSuffixed,node.metadata[0].second); - return true; - } - - // #pcdata - // #text the only metadatum - // no children - // Reduce to: a data set, w/name == #pcdata + suffix - // Sketch: - // +----------+ +---------+ - // | #pcdata | ==> | DataSet | name: #pcdata + suffix - // | #text | | data | - // +----------+ +---------+ - // - if (nameOriginal == "#pcdata" && - node.children.size() == 0 && - node.metadata.size() == 1 && - node.metadata[0].first == "#text" - ) { - // Remark. This case (basically, #pcdata/#text) may look superficially - // like it would have been handled, in the case immediately below here, - // in the previous (next-up) recurse of the present function. Often - // it would have, but not always. Below, someName/#pcdata/#text (three - // levels, so to speak) reduces to one level (DataSet someName), but - // only if someName has ONE child - the #pcdata. That's true when we - // have (in XML) something like 1 2 3, as the pcdata, - // i.e. the 1 2 3 part, is ' only child node. However, it's - // actually possible (though I don't see it in current GNDS files) to - // have something like: 1 2 3. There, the - // outer someName node () has child foo and child #pcdata, and - // thus can't be reduced in the manner that's done if only #pcdata is - // there. In short, then, the present situation comes to pass if and - // when #pcdata has sibling nodes. - - // dataset - const std::string value = node.metadata[0].second; - HighFive::DataSet dataset = vecDataSet(nameSuffixed,value,hdf5); - return true; - } - - // someName (think e.g. values, as in XML ) - // any number of metadata (possible 0) - // #pcdata the only child - // #text the only metadatum - // no children - // Reduce to: a data set, w/name == someName + suffix - // Sketch: - // +---------------+ +----------------+ - // | someName | ==> | DataSet | name: someName + suffix - // | [metadata] | | [Attributes] | - // | #pcdata | | data | - // | #text | +----------------+ - // | - | - // +---------------+ - // - if (node.children.size() == 1 && - node.children[0]->name == "#pcdata" && - node.children[0]->metadata.size() == 1 && - node.children[0]->metadata[0].first == "#text" && - node.children[0]->children.size() == 0 - ) { - // dataset - const std::string value = node.children[0]->metadata[0].second; - HighFive::DataSet dataset = vecDataSet(nameSuffixed,value,hdf5); - // metadata, then done; the #pcdata child was rolled into the data set - meta2hdf5(node,dataset,suffix); - return true; - } - } // if (HDF5::reduced) + if (HDF5::reduced && ( + hdf5_reduce_cdata_comment (node,h,suffix) || + hdf5_reduce_pcdata (node,h,suffix) || + hdf5_reduce_pcdata_metadata(node,h,suffix) + )) + return true; // ------------------------ // General case // ------------------------ - // subgroup - HighFive::Group group = hdf5.createGroup(nameSuffixed); + // Create a new Group, in parameter h, for metadata and children + HighFive::Group group = h.createGroup(nameSuffixed); // metadata - meta2hdf5(node,group,suffix); + meta2hdf5(node, group, suffix); - // children - // Logic is as with JSON; see the remark in node2json(). + // children - preprocess std::map childNames; for (auto &c : node.children) { auto iter = childNames.find(c->name); @@ -321,6 +373,8 @@ bool node2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix = "") else iter->second = 1; } + + // children for (auto &c : node.children) { const std::size_t counter = childNames.find(c->name)->second++; if (!node2hdf5(*c, group, counter ? std::to_string(counter-1) : "")) diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index a5ab54b44..eb706b116 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -1,12 +1,240 @@ // ----------------------------------------------------------------------------- -// node2json +// Helpers // ----------------------------------------------------------------------------- +// ------------------------ +// scalar2Value +// vector2Value +// ------------------------ + +template +void scalar2Value( + const std::string &key, const std::string &value, + nlohmann::ordered_json &json +) { + // Parameter "value" is a string, for example "1", "2.34", or "foo"; then, + // the caller will have guessed T == int, T == double, or T == std::string. + // We wish to write value AS-IS into the value of a JSON key/value pair, but + // with quotes only when T == std::string. That way, for other T, we don't + // convert value to a T, and then back to a string for the JSON file. That + // would be inefficient, and would break our handling of significant digits. + + if constexpr (std::is_same_v) { + // write JSON string + json[key] = value; + } else { + // write JSON number (so unquoted, unlike in the string case above), + // but write the "number" exactly as it appears in parameter value, + // which we've already decided contains a number: "1", "2.34", etc. + // qqq But retain string exactly as-is!!! + T scalar; + convert(value,scalar); + json[key] = scalar; + } +} + +template +void vector2Value( + const std::string &key, const std::string &value, + nlohmann::ordered_json &json +) { + // Like the scalar case, but value is for example be "1 2", "3.4 5.6 7.8", + // or "foo bar baz" - a vector of T == int, T = double, or T == std::string. + if constexpr (std::is_same_v) { + // write JSON array of strings + std::vector vector; + convert(value,vector); // single string ==> vector + json[key] = vector; + } else { + // write JSON array of numbers + // qqq But retain original strings!!! + std::vector vector; + convert(value,vector); + json[key] = vector; + } +} + + +// ------------------------ +// pcdata2Array +// ------------------------ + +// helper +template +void pcdata2Array( + const std::string &key, const std::string &value, + nlohmann::ordered_json &json +) { + // qqq Write comment here regarding HDF5 analog + vector2Value(key, value, json); +} + +// w/ type string +inline void pcdata2Array( + const std::string &key, const std::string &value, + nlohmann::ordered_json &json +) { + if (JSON::typed) { + const std::string type = guessType(value); + if (type == "int" || type == "ints" ) + { pcdata2Array(key,value,json); return; } + if (type == "uint" || type == "uints" ) + { pcdata2Array(key,value,json); return; } + if (type == "long" || type == "longs" ) + { pcdata2Array(key,value,json); return; } + if (type == "ulong" || type == "ulongs" ) + { pcdata2Array(key,value,json); return; } + if (type == "double" || type == "doubles") + { pcdata2Array(key,value,json); return; } + } + pcdata2Array(key,value,json); +} + + +// ----------------------------------------------------------------------------- +// meta2json* +// ----------------------------------------------------------------------------- + +// ------------------------ +// meta2json_typed +// ------------------------ + +// Use our "guess what's in the string" code to try to infer what each +// metadatum's string value actually contains (a single int, say, or +// a vector of doubles). Use the inferred types in the JSON file. template -bool node2json( - const NODE &node, nlohmann::ordered_json &j, - const std::string &suffix = "" +void meta2json_typed(const NODE &node, nlohmann::ordered_json &json) +{ + // Current node is the parent of its metadata + const std::string &parent = node.name; + + for (auto &meta : node.metadata) { + const std::string &key = meta.first; + const std::string &value = meta.second; + + // ------------------------ + // Special cases + // ------------------------ + + // *** #cdata/#text + // *** #comment/#text + // ACTION: Write these as-is. That is, do NOT apply our type-guessing code + // to a comment, or to the contents of a block like those + // that we see in existing XML-format GNDS files. The type guesser would + // see words, and think "vector of [whitespace-separated] strings," which + // would be wrong for what are clearly intended to be free-form strings. + if ((parent == "#cdata" || parent == "#comment") && key == "#text") { + json[key] = value; // just a simple string value + continue; + } + + // *** #pcdata/#text + // ACTION: Apply our type-guessing code, but write *vectors* only, never + // scalars. So, 10 produces a vector with one element, + // NOT a scalar; while 10 20 30 produces a vector with + // three elements. What may look like scalars are made into vectors + // because we think this reflects what these (#pcdata) nodes are intended + // to represent. (If something was really just a scalar, then surely it + // would be placed into standard metadata (in <...>), not #pcdata. + if (parent == "#pcdata" && key == "#text") { + const std::string type = guessType(value); + if (type == "int" || type == "ints") + vector2Value(key,value,json); + else if (type == "uint" || type == "uints") + vector2Value(key,value,json); + else if (type == "long" || type == "longs") + vector2Value(key,value,json); + else if (type == "ulong" || type == "ulongs") + vector2Value(key,value,json); + else if (type == "double" || type == "doubles") + vector2Value(key,value,json); + else + vector2Value(key,value,json); + continue; + } + + // *** key/#text not expected, except as already handled + if (key == "#text") { + log::warning("Metadatum \"#text\" not expected here; writing anyway"); + log::function("detail::meta2json(Node named \"{}\", ...)", parent); + } + + // ------------------------ + // General case + // ------------------------ + + // *** key/value + // ACTION: Apply our type-guessing code. + // Here we have normal metadata, as in . + // For numeric types we might produce vectors, if there appear to be + // multiple values. But for string types, we'll assume that the value + // is probably intended to be a free-form, human-readable descriptive + // string, which shouldn't be split into tokens and made into a vector. + const std::string type = guessType(value); + if (type == "int" ) scalar2Value(key,value,json); else + if (type == "ints" ) vector2Value(key,value,json); else + if (type == "uint" ) scalar2Value(key,value,json); else + if (type == "uints" ) vector2Value(key,value,json); else + if (type == "long" ) scalar2Value(key,value,json); else + if (type == "longs" ) vector2Value(key,value,json); else + if (type == "ulong" ) scalar2Value(key,value,json); else + if (type == "ulongs" ) vector2Value(key,value,json); else + if (type == "double" ) scalar2Value(key,value,json); else + if (type == "doubles") vector2Value(key,value,json); else + /* string OR strings*/ scalar2Value(key,value,json); + } +} // meta2json_typed + + +// ------------------------ +// meta2json_plain +// ------------------------ + +// Write simple JSON in which all metadata, as well as the contents +// of "cdata" and "pcdata" nodes) end up being strings. Not even vectors +// of strings, as from H He Li ..., but single strings. +template +void meta2json_plain(const NODE &node, nlohmann::ordered_json &json) +{ + for (auto &meta : node.metadata) + json[meta.first] = meta.second; +} + + +// ------------------------ +// meta2json +// ------------------------ + +template +void meta2json( + const NODE &node, nlohmann::ordered_json &json, const std::string &suffix, + const std::string &base = "" +) { + // Create #nodename iff necessary (allows recovery of original node name) + if (suffix != "") + json[base+"#nodename"] = node.name; + + // Existing metadata + if (node.metadata.size()) + JSON::typed + ? meta2json_typed(node,json[base+"#metadata"]) + : meta2json_plain(node,json[base+"#metadata"]); +} + + +// ----------------------------------------------------------------------------- +// json_reduce_* +// ----------------------------------------------------------------------------- + +// ------------------------ +// json_reduce_cdata_comment +// ------------------------ + +// Simplify certain #cdata and #comment cases. +template +bool json_reduce_cdata_comment( + const NODE &node, nlohmann::ordered_json &json, const std::string &suffix ) { // Original node name, and suffixed name. The latter is for handling child // nodes of the same name under the same parent node, and includes a numeric @@ -16,23 +244,162 @@ bool node2json( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + suffix; - // Create new ordered_json in j - nlohmann::ordered_json &json = j[nameSuffixed]; + // #cdata or #comment + // #text the only metadatum + // no children + // Reduce to: string value, w/name == (#cdata or #comment) + suffix + // Sketch: + // +-----------------+ +------------+ + // | #cdata/#comment | ==> | "name" : | name: #cdata/#comment + suffix + // | #text | | "value" | + // +-----------------+ +------------+ + + if ( + (nameOriginal == "#cdata" || nameOriginal == "#comment") && + node.children.size() == 0 && + node.metadata.size() == 1 && + node.metadata[0].first == "#text" + ) { + // string value + json[nameSuffixed] = node.metadata[0].second; + return true; + } + + return false; +} + + +// ------------------------ +// json_reduce_pcdata +// ------------------------ + +// Simplify #pcdata case. +template +bool json_reduce_pcdata( + const NODE &node, nlohmann::ordered_json &json, const std::string &suffix +) { + const std::string nameOriginal = node.name; + const std::string nameSuffixed = node.name + suffix; + + // #pcdata + // #text the only metadatum + // no children + // Reduce to: array, w/name == #pcdata + suffix + // Sketch: + // +----------+ +----------+ + // | #pcdata | ==> | "name" : | name: #pcdata + suffix + // | #text | | [...] | + // +----------+ +----------+ + + if (nameOriginal == "#pcdata" && + node.children.size() == 0 && + node.metadata.size() == 1 && + node.metadata[0].first == "#text" + ) { + // Remark. This case (basically, #pcdata/#text) may look superficially + // like it would have been handled, in the case immediately below here, + // in the previous (next-up) recurse of the node2json() function. Often + // it would have, but not always. Later, name/#pcdata/#text (three + // levels, so to speak) reduces to one level (name : [...]), but + // only if name has ONE child - the #pcdata. That's true when we + // have (in XML) something like 1 2 3, as the pcdata, + // i.e. the 1 2 3 part, is ' only child node. However, it's + // actually possible (though I don't see it in current GNDS files) to + // have something like: 1 2 3. There, the + // outer "name" node () has child foo and child #pcdata, and + // thus can't be reduced in the manner that's done if only #pcdata is + // there. In short, then, the present situation comes to pass if and + // when #pcdata has sibling nodes. + + // JSON array + pcdata2Array(nameSuffixed, node.metadata[0].second, json); + return true; + } + + return false; +} + + +// ------------------------ +// json_reduce_pcdata_metadata +// ------------------------ + +// Simplify case of node with #pcdata AND metadata +template +bool json_reduce_pcdata_metadata( + const NODE &node, nlohmann::ordered_json &json, const std::string &suffix +) { + const std::string nameSuffixed = node.name + suffix; + + // name (think e.g. "values", as in XML ) + // any number of metadata (possibly 0) + // #pcdata the only child + // #text the only metadatum + // no children + // Reduce to: array, w/name == name + suffix; separately encoded metadata + // Sketch: + // +---------------+ +----------------------+ + // | name | ==> | "name" : | name: name + suffix + // | [metadata] | | [...] | + // | #pcdata | | "name#metadata" : { | + // | #text | | key/value pairs | + // | - | | } | + // +---------------+ +----------------------+ + + if (node.children.size() == 1 && + node.children[0]->name == "#pcdata" && + node.children[0]->metadata.size() == 1 && + node.children[0]->metadata[0].first == "#text" && + node.children[0]->children.size() == 0 + ) { + // JSON array + const std::string text = node.children[0]->metadata[0].second; + pcdata2Array(nameSuffixed, text, json); + + // metadata + meta2json(node, json, suffix, nameSuffixed); + return true; + } + + return false; +} + + +// ----------------------------------------------------------------------------- +// node2json +// ----------------------------------------------------------------------------- + +// NODE is just GNDStk::Node. The latter isn't used directly, because +// it's an incomplete type at this point. +template +bool node2json( + const NODE &node, nlohmann::ordered_json &j, + const std::string &suffix = "" +) { + const std::string nameSuffixed = node.name + suffix; // ------------------------ - // metadata ==> json + // Special cases // ------------------------ - if (suffix != "") - json["#nodename"] = nameOriginal; - - for (auto &meta : node.metadata) - json["#metadata"][meta.first] = meta.second; + if (JSON::reduced && ( + json_reduce_cdata_comment (node,j,suffix) || + json_reduce_pcdata (node,j,suffix) || + json_reduce_pcdata_metadata(node,j,suffix) + )) + return true; // ------------------------ - // children ==> json + // General case // ------------------------ + // Create a new ordered_json, in parameter j, for metadata and children + nlohmann::ordered_json &json = j[nameSuffixed]; + + // metadata + meta2json(node, json, suffix); + + // children - preprocess // First, account for what children appear in the current node. If any child // name appears multiple times, we must deal with that. For each represented // child name, the map gets 0 if the name appears once, 1 if it appears more @@ -48,7 +415,7 @@ bool node2json( iter->second = 1; // more than once } - // now revisit and process the child nodes + // children for (auto &c : node.children) { const std::size_t counter = childNames.find(c->name)->second++; if (!node2json(*c, json, counter ? std::to_string(counter-1) : "")) From 50c42c6ba450ac93e8fb55d48f1e5c9c132b6c0a Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 12 May 2022 14:22:15 -0600 Subject: [PATCH 092/235] Uploading some unfinished JSON-related work-in-progress. Also some small tweaks and comment changes here and there. --- autogen/json2class.cpp | 7 +- docs/build.rst | 2 +- src/GNDStk/JSON.hpp | 4 +- src/GNDStk/JSON/src/read.hpp | 6 +- src/GNDStk/JSON/src/write.hpp | 6 +- src/GNDStk/XML/src/read.hpp | 4 +- src/GNDStk/convert/src/JSON.hpp | 2 +- src/GNDStk/convert/src/XML.hpp | 2 +- src/GNDStk/convert/src/detail-hdf52node.hpp | 8 +- src/GNDStk/convert/src/detail-json2node.hpp | 99 +++++++++++++++++---- src/GNDStk/convert/src/detail-node2json.hpp | 82 ++++++++--------- src/GNDStk/convert/src/detail-xml2node.hpp | 4 +- src/GNDStk/utility.hpp | 2 + 13 files changed, 143 insertions(+), 85 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index dffac6cdd..abfeef96e 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -6,7 +6,6 @@ #include "GNDStk.hpp" #include using namespace njoy::GNDStk; -using orderedJSON = nlohmann::ordered_json; // Report cases of nodes that have no metadata, and zero or one child node(s). // Where these exist, a simplification of the spec may be worth considering. @@ -1641,7 +1640,7 @@ void commandLine( action("\nFinding possible simplifications..."); for (const std::string &file : specs.JSONFiles) printSingletons(file); - action("Done looking for simplifications."); + action("Done."); } // Changes? @@ -1750,7 +1749,7 @@ void preprocessFiles(InfoSpecs &specs) for (const auto &cl : jmain.items()) preprocessClass(specs, nsname, cl); } - action("Done preprocessing."); + action("Done."); } // preprocessFiles @@ -1857,7 +1856,7 @@ void getFiles(InfoSpecs &specs) for (const auto &cl : jmain.items()) getClass(specs, nsname, cl); } - action("Done creating classes."); + action("Done."); } // getFiles diff --git a/docs/build.rst b/docs/build.rst index 89d8e30de..0d4848f59 100644 --- a/docs/build.rst +++ b/docs/build.rst @@ -78,7 +78,7 @@ it depends -- automatically. The *bad* news is that the download may, for the same reason, take quite some time. Resist the temptation to terminate the command, perhaps believing that your computer has hung, and consider starting ``cmake ..`` before lunch hour if you have a slow Internet connection. The main -culprit appears to be the "nlohmann json" library, +culprit appears to be the `nlohmann/json` library, https://github.com/nlohmann/json. An excellent library, by all accounts, and invaluable as the workhorse for GNDStk's JSON capabilities; but responsible, at the time of the writing, for over 400MB -- about 95% -- of diff --git a/src/GNDStk/JSON.hpp b/src/GNDStk/JSON.hpp index c1f81eca8..3c1f85ef2 100644 --- a/src/GNDStk/JSON.hpp +++ b/src/GNDStk/JSON.hpp @@ -1,7 +1,7 @@ // ----------------------------------------------------------------------------- // JSON -// Wraps nlohmann::ordered_json +// Wraps orderedJSON // ----------------------------------------------------------------------------- class JSON { @@ -15,7 +15,7 @@ class JSON { static inline bool typed = true; // data - nlohmann::ordered_json doc; + orderedJSON doc; // clear JSON &clear() diff --git a/src/GNDStk/JSON/src/read.hpp b/src/GNDStk/JSON/src/read.hpp index a349f4864..08d9af280 100644 --- a/src/GNDStk/JSON/src/read.hpp +++ b/src/GNDStk/JSON/src/read.hpp @@ -9,16 +9,16 @@ std::istream &read(std::istream &is) { - // call nlohmann::ordered_json's read capability + // call orderedJSON's read capability const std::streampos pos = is.tellg(); try { if (!(is >> doc)) { - log::error("istream >> nlohmann::ordered_json returned with !istream"); + log::error("istream >> orderedJSON returned with !istream"); log::member("JSON.read(istream)"); detail::failback(is,pos); } } catch (...) { - log::error("istream >> nlohmann::ordered_json threw an exception"); + log::error("istream >> orderedJSON threw an exception"); log::member("JSON.read(istream)"); detail::failback(is,pos); } diff --git a/src/GNDStk/JSON/src/write.hpp b/src/GNDStk/JSON/src/write.hpp index 2af5415ea..7abdd53db 100644 --- a/src/GNDStk/JSON/src/write.hpp +++ b/src/GNDStk/JSON/src/write.hpp @@ -11,18 +11,18 @@ std::ostream &write(std::ostream &os = std::cout, const bool decl = true) const { (void)decl; // unused, at least for now - // call nlohmann::ordered_json's write capability + // call orderedJSON's write capability try { // intentional: no << std::endl os << std::setw(indent) << doc; // check for errors if (!os) { - log::error("ostream << nlohmann::ordered_json returned with !ostream"); + log::error("ostream << orderedJSON returned with !ostream"); log::member("JSON.write(ostream)"); } } catch (...) { - log::error("ostream << nlohmann::ordered_json threw an exception"); + log::error("ostream << orderedJSON threw an exception"); log::member("JSON.write(ostream)"); os.setstate(std::ios::failbit); } diff --git a/src/GNDStk/XML/src/read.hpp b/src/GNDStk/XML/src/read.hpp index 88213dd16..b1dcc6fa8 100644 --- a/src/GNDStk/XML/src/read.hpp +++ b/src/GNDStk/XML/src/read.hpp @@ -21,7 +21,7 @@ std::istream &read(std::istream &is) ); // check for errors - // note: we've noticed that pugi doesn't (or, at least, doesn't + // note: we've noticed that pugixml doesn't (or, at least, doesn't // always) arrange for !is when pugi::xml_document.load() fails const bool pugierr = load.description() != std::string("No error"); if (pugierr || !is) { @@ -37,7 +37,7 @@ std::istream &read(std::istream &is) ); } else { // !is - // given the earlier comment about pugi and !is, it may + // given the earlier comment about pugixml and !is, it may // not be possible to get here, but we'll cover it... log::error( "pugi::xml_document.load(istream,...) returned with !istream" diff --git a/src/GNDStk/convert/src/JSON.hpp b/src/GNDStk/convert/src/JSON.hpp index 4c7798b58..c376f6de4 100644 --- a/src/GNDStk/convert/src/JSON.hpp +++ b/src/GNDStk/convert/src/JSON.hpp @@ -118,7 +118,7 @@ inline bool convert(const JSON &from, JSON &to) // convert try { - to.doc = from.doc; // nlohmann::ordered_json's assignment + to.doc = from.doc; // orderedJSON's assignment } catch (...) { log::function("convert(JSON,JSON)"); throw; diff --git a/src/GNDStk/convert/src/XML.hpp b/src/GNDStk/convert/src/XML.hpp index 3b37836ec..9812b8cf0 100644 --- a/src/GNDStk/convert/src/XML.hpp +++ b/src/GNDStk/convert/src/XML.hpp @@ -120,7 +120,7 @@ inline bool convert(const XML &from, XML &to) // Unfortunately, we can't use pugi::xml_document's assignment, or for // that matter its copy constructor, because, for whatever reason, the - // pugi library makes those private. + // pugixml library makes those private. // For now, I'll write something simple that works, although not very // efficiently: write "from" to a stringstream, then read "to" out of diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index 44b94413c..235d4786e 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -96,7 +96,7 @@ template bool dset2node(const HighFive::DataSet &dset, NODE &node) { if (dset.getDataType() == HighFive::AtomicType{}) { - // Remarks as in the similar helper function attr2node()... + // Remarks as in the similar helper function attr2node() const std::size_t dataSize = dset.getElementCount(); if (dataSize == 1) { @@ -174,7 +174,7 @@ bool hdf52node( static const std::string context = "hdf52node(HighFive::Group, std::string, Node)"; - // the node sent here should be fresh, ready to receive entries... + // the node sent here should be fresh, ready to receive entries if (requireEmpty && !node.empty()) error_hdf52node("!node.empty()"); @@ -191,9 +191,11 @@ bool hdf52node( // ------------------------ // Only if we're *not* at the root HDF5 group; if we are, then attributes - // would have already been handled, in a special way, by the caller... + // would have already been handled, in a special way, by the caller if (groupName != rootHDF5Name) { for (const std::string &attrName : group.listAttributeNames()) { + + // zzz if (attrName == "#nodename") { // #nodename // Handled not as a regular attribute, but as the present node's diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 4f0d32f2f..916fe8142 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -7,7 +7,7 @@ inline void error_json2node(const std::string &message) { log::error( - "Internal error in json2node(nlohmann::ordered_json, Node):\n" + "Internal error in json2node(orderedJSON, Node):\n" "Message: \"{}\".", message ); @@ -19,9 +19,9 @@ inline void error_json2node(const std::string &message) // json2node // ----------------------------------------------------------------------------- -// nlohmann::ordered_json::const_iterator ==> Node +// orderedJSON::const_iterator ==> Node // Why the iterator rather than the ordered_json object? I found that there -// were some seemingly funny semantics in the nlohmann JSON library. As we +// were some seemingly funny semantics in the nlohmann/json library. As we // can see below, we have for example iter->is_object() (so, the -> operator, // typical for iterators), but also iter.value() (the . operator - on an // iterator). Similarly, also seen below, with the sub-elements. This is why @@ -31,39 +31,108 @@ inline void error_json2node(const std::string &message) // this is what we have for now. template -bool json2node(const nlohmann::ordered_json::const_iterator &iter, NODE &node) +bool json2node(const orderedJSON::const_iterator &iter, NODE &node) { static const std::string context = - "json2node(nlohmann::ordered_json::const_iterator, Node)"; + "json2node(orderedJSON::const_iterator, Node)"; - // the node sent here should be fresh, ready to receive entries... + // the node sent here should be fresh, ready to receive entries if (!node.empty()) error_json2node("!node.empty()"); - // non-object cases should have been handled - // before any caller calls this function... + // non-object cases should have been handled in the caller if (!iter->is_object()) error_json2node("!iter->is_object()"); // any "#metadata" key (a specially-named "child node" that we use in JSON - // in order to identify attributes) should have been handled in the caller... + // in order to identify attributes) should have been handled in the caller if (iter.key() == "#metadata") error_json2node("iter.key() == \"#metadata\""); - // key,value ==> node name, JSON value to bring in + // ------------------------ + // key + // ==> node name + // ------------------------ + node.name = iter.key(); - const nlohmann::ordered_json &json = iter.value(); - // elements + // ------------------------ + // JSON value's elements + // ==> children + // ------------------------ + + const orderedJSON &json = iter.value(); for (auto elem = json.begin(); elem != json.end(); ++elem) { if (elem.key() == "#nodename") { // #nodename? ...extract as current node's true name node.name = elem->get(); } else if (elem.key() == "#metadata") { // #metadata? ...extract as current node's metadata - const auto &jsub = elem.value(); - for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) - node.add(attr.key(), attr->get()); + const orderedJSON /*auto*/ &jsub = elem.value(); + for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) { + // zzz working here + // zzz should no longer assume it's necessarily a string + /* + (x) string + ( ) number + (-) null + (-) object + ( ) array + (-) boolean + */ + if (attr->is_string()) { + node.add(attr.key(), attr->get()); + + // zzz this is a test... + { + /* + // zzz works... + using nlohmann::detail::json_sax_dom_parser; + ///orderedJSON val = const_cast(attr.value()); + orderedJSON rhs = attr.value(); + json_sax_dom_parser parser(rhs); + */ + + orderedJSON rhs = attr.value(); + nlohmann::detail::json_sax_dom_parser sax(rhs); +#if 0 + std::string str; + zzz.string(str); + std::cout << "zzz string is: \"" << str << '"' << std::endl; +#endif + } + + } else if (attr->is_number()) { +#if 0 +#if 0 +#if 0 + // zzz should handle this + /////const orderedJSON &zzz = attr.value();///// + ///const nlohmann::ordered_json &zzz = attr.value();///// + ///const nlohmann::json_sax zzz = attr.value(); + /**/ + /**/ + /**/ + orderedJSON &val = const_cast(attr.value()); + using nlohmann::detail::json_sax_dom_parser; + json_sax_dom_parser zzz(val); + std::string str; + zzz.string(str); + /**/ + /**/ + /**/ +#endif +#endif +#endif + assert(false); + } else if (attr->is_array()) { + // zzz should handle this + assert(false); + } else { + // zzz have better message + assert(false); + } + } } else if (elem->is_string()) { // string? ...extract as metadata key/value pair node.add(elem.key(), elem->get()); diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index eb706b116..7083702b1 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -3,15 +3,11 @@ // Helpers // ----------------------------------------------------------------------------- -// ------------------------ // scalar2Value -// vector2Value -// ------------------------ - template void scalar2Value( const std::string &key, const std::string &value, - nlohmann::ordered_json &json + orderedJSON &json ) { // Parameter "value" is a string, for example "1", "2.34", or "foo"; then, // the caller will have guessed T == int, T == double, or T == std::string. @@ -21,74 +17,66 @@ void scalar2Value( // would be inefficient, and would break our handling of significant digits. if constexpr (std::is_same_v) { - // write JSON string + // Write JSON string. json[key] = value; } else { - // write JSON number (so unquoted, unlike in the string case above), + // Write JSON number (so unquoted, unlike in the string case above), // but write the "number" exactly as it appears in parameter value, - // which we've already decided contains a number: "1", "2.34", etc. - // qqq But retain string exactly as-is!!! + // which the caller guessed contains a number: "1", "2.34", etc. + // + // fixme Unfortunately, the nlohmann/json library does not, at the + // present time, allow us to write our string as a number - without + // quotes. It'll format the number as it wants to. Given that GNDStk + // allows fine control over the formatting of floating-point numbers, + // we'll need to deal with this at some point, to have the formatting + // respected in JSON output. T scalar; convert(value,scalar); json[key] = scalar; } } +// vector2Value template void vector2Value( const std::string &key, const std::string &value, - nlohmann::ordered_json &json + orderedJSON &json ) { // Like the scalar case, but value is for example be "1 2", "3.4 5.6 7.8", // or "foo bar baz" - a vector of T == int, T = double, or T == std::string. if constexpr (std::is_same_v) { - // write JSON array of strings + // Write JSON array of strings. std::vector vector; convert(value,vector); // single string ==> vector json[key] = vector; } else { - // write JSON array of numbers - // qqq But retain original strings!!! + // Write JSON array of numbers. + // fixme Basically the same fixme as above. std::vector vector; convert(value,vector); json[key] = vector; } } - -// ------------------------ -// pcdata2Array -// ------------------------ - -// helper -template -void pcdata2Array( - const std::string &key, const std::string &value, - nlohmann::ordered_json &json -) { - // qqq Write comment here regarding HDF5 analog - vector2Value(key, value, json); -} - -// w/ type string -inline void pcdata2Array( +// pcdata2Value +inline void pcdata2Value( const std::string &key, const std::string &value, - nlohmann::ordered_json &json + orderedJSON &json ) { if (JSON::typed) { const std::string type = guessType(value); if (type == "int" || type == "ints" ) - { pcdata2Array(key,value,json); return; } + { vector2Value(key,value,json); return; } if (type == "uint" || type == "uints" ) - { pcdata2Array(key,value,json); return; } + { vector2Value(key,value,json); return; } if (type == "long" || type == "longs" ) - { pcdata2Array(key,value,json); return; } + { vector2Value(key,value,json); return; } if (type == "ulong" || type == "ulongs" ) - { pcdata2Array(key,value,json); return; } + { vector2Value(key,value,json); return; } if (type == "double" || type == "doubles") - { pcdata2Array(key,value,json); return; } + { vector2Value(key,value,json); return; } } - pcdata2Array(key,value,json); + vector2Value(key,value,json); } @@ -104,7 +92,7 @@ inline void pcdata2Array( // metadatum's string value actually contains (a single int, say, or // a vector of doubles). Use the inferred types in the JSON file. template -void meta2json_typed(const NODE &node, nlohmann::ordered_json &json) +void meta2json_typed(const NODE &node, orderedJSON &json) { // Current node is the parent of its metadata const std::string &parent = node.name; @@ -195,7 +183,7 @@ void meta2json_typed(const NODE &node, nlohmann::ordered_json &json) // of "cdata" and "pcdata" nodes) end up being strings. Not even vectors // of strings, as from H He Li ..., but single strings. template -void meta2json_plain(const NODE &node, nlohmann::ordered_json &json) +void meta2json_plain(const NODE &node, orderedJSON &json) { for (auto &meta : node.metadata) json[meta.first] = meta.second; @@ -208,7 +196,7 @@ void meta2json_plain(const NODE &node, nlohmann::ordered_json &json) template void meta2json( - const NODE &node, nlohmann::ordered_json &json, const std::string &suffix, + const NODE &node, orderedJSON &json, const std::string &suffix, const std::string &base = "" ) { // Create #nodename iff necessary (allows recovery of original node name) @@ -234,7 +222,7 @@ void meta2json( // Simplify certain #cdata and #comment cases. template bool json_reduce_cdata_comment( - const NODE &node, nlohmann::ordered_json &json, const std::string &suffix + const NODE &node, orderedJSON &json, const std::string &suffix ) { // Original node name, and suffixed name. The latter is for handling child // nodes of the same name under the same parent node, and includes a numeric @@ -276,7 +264,7 @@ bool json_reduce_cdata_comment( // Simplify #pcdata case. template bool json_reduce_pcdata( - const NODE &node, nlohmann::ordered_json &json, const std::string &suffix + const NODE &node, orderedJSON &json, const std::string &suffix ) { const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + suffix; @@ -312,7 +300,7 @@ bool json_reduce_pcdata( // when #pcdata has sibling nodes. // JSON array - pcdata2Array(nameSuffixed, node.metadata[0].second, json); + pcdata2Value(nameSuffixed, node.metadata[0].second, json); return true; } @@ -327,7 +315,7 @@ bool json_reduce_pcdata( // Simplify case of node with #pcdata AND metadata template bool json_reduce_pcdata_metadata( - const NODE &node, nlohmann::ordered_json &json, const std::string &suffix + const NODE &node, orderedJSON &json, const std::string &suffix ) { const std::string nameSuffixed = node.name + suffix; @@ -354,7 +342,7 @@ bool json_reduce_pcdata_metadata( ) { // JSON array const std::string text = node.children[0]->metadata[0].second; - pcdata2Array(nameSuffixed, text, json); + pcdata2Value(nameSuffixed, text, json); // metadata meta2json(node, json, suffix, nameSuffixed); @@ -373,7 +361,7 @@ bool json_reduce_pcdata_metadata( // it's an incomplete type at this point. template bool node2json( - const NODE &node, nlohmann::ordered_json &j, + const NODE &node, orderedJSON &j, const std::string &suffix = "" ) { const std::string nameSuffixed = node.name + suffix; @@ -394,7 +382,7 @@ bool node2json( // ------------------------ // Create a new ordered_json, in parameter j, for metadata and children - nlohmann::ordered_json &json = j[nameSuffixed]; + orderedJSON &json = j[nameSuffixed]; // metadata meta2json(node, json, suffix); diff --git a/src/GNDStk/convert/src/detail-xml2node.hpp b/src/GNDStk/convert/src/detail-xml2node.hpp index ca6e3b9b5..fa38ea652 100644 --- a/src/GNDStk/convert/src/detail-xml2node.hpp +++ b/src/GNDStk/convert/src/detail-xml2node.hpp @@ -103,15 +103,13 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) // ------------------------ // We'll store these in a special manner as children of the current node, - // reflecting how they arrived through pugi xml. Our manner of storing + // reflecting how they arrived through pugixml. Our manner of storing // them will allow us to maintain their original ordering if, say, someone // reads an XML, makes modest modifications or additions to data here and // there, and then writes an XML back out. GNDS has no ordering, so doing // this isn't necessary. It is, however, easy to handle, and users may // appreciate that GNDStk doesn't toss comments, or mess with the ordering // of cdata, pcdata, or comment nodes, either individually or together. - // Of note, all bets are off if someone converts to JSON and back, because - // the nlohmann JSON library reorders everything lexicographically. if (xsub.type() == pugi::node_cdata) { node.add("#cdata").add("#text", xsub.value()); diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 1b0915377..d60d3c8d5 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -3,6 +3,8 @@ // Miscellaneous variables, enums, etc. // ----------------------------------------------------------------------------- +using orderedJSON = nlohmann::ordered_json; + // indent // Number of spaces of indentation you want, in the output of certain types inline int indent = 3; From c36ceff855bb1ed8722a8a24e34eff92dbbe6d2b Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 17 May 2022 16:13:57 -0600 Subject: [PATCH 093/235] Added some vetter JSON files, to be used in the test suite. Small improvements. --- src/GNDStk/HDF5/src/detail.hpp | 6 +- src/GNDStk/HDF5/test/resources/.gitignore | 1 - .../test/resources/correct-raw-string.json | 159 ++++++++++++++ .../test/resources/correct-raw-typed.json | 201 ++++++++++++++++++ .../resources/correct-reduced-string.json | 85 ++++++++ .../test/resources/correct-reduced-typed.json | 92 ++++++++ src/GNDStk/Node/src/read.hpp | 9 +- 7 files changed, 543 insertions(+), 10 deletions(-) delete mode 100644 src/GNDStk/HDF5/test/resources/.gitignore create mode 100644 src/GNDStk/JSON/test/resources/correct-raw-string.json create mode 100644 src/GNDStk/JSON/test/resources/correct-raw-typed.json create mode 100644 src/GNDStk/JSON/test/resources/correct-reduced-string.json create mode 100644 src/GNDStk/JSON/test/resources/correct-reduced-typed.json diff --git a/src/GNDStk/HDF5/src/detail.hpp b/src/GNDStk/HDF5/src/detail.hpp index 34fe3779c..a2d96f9db 100644 --- a/src/GNDStk/HDF5/src/detail.hpp +++ b/src/GNDStk/HDF5/src/detail.hpp @@ -36,9 +36,9 @@ inline std::string guessType(std::istringstream &iss, const std::string &type) inline std::string guessType(const std::string &str) { // the above helper assumes there are no trailing spaces - std::size_t e = str.size(); - while (e && isspace(str[e-1])) e--; - std::istringstream iss(str.substr(0,e)); + std::size_t end = str.size(); + while (end && isspace(str[end-1])) end--; + std::istringstream iss(str.substr(0,end)); // one int, or more than one int, or one unsigned, or ... std::string s; diff --git a/src/GNDStk/HDF5/test/resources/.gitignore b/src/GNDStk/HDF5/test/resources/.gitignore deleted file mode 100644 index 2211df63d..000000000 --- a/src/GNDStk/HDF5/test/resources/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.txt diff --git a/src/GNDStk/JSON/test/resources/correct-raw-string.json b/src/GNDStk/JSON/test/resources/correct-raw-string.json new file mode 100644 index 000000000..8869778b8 --- /dev/null +++ b/src/GNDStk/JSON/test/resources/correct-raw-string.json @@ -0,0 +1,159 @@ +{ + "foo": { + "#metadata": { + "double": "1.2", + "doubles": "3.4 5.6 7.8", + "int": "1", + "ints": "2 3", + "string": "ab", + "strings": "cd ef gh ij" + }, + "comment": { + "#comment": { + "#metadata": { + "#text": "Comment" + } + } + }, + "comments": { + "#comment0": { + "#nodename": "#comment", + "#metadata": { + "#text": "Comment #0" + } + }, + "#comment1": { + "#nodename": "#comment", + "#metadata": { + "#text": "Comment #1" + } + }, + "#comment2": { + "#nodename": "#comment", + "#metadata": { + "#text": "Comment #2" + } + } + }, + "double": { + "#metadata": { + "remark": "one double" + }, + "#pcdata": { + "#metadata": { + "#text": "1.2" + } + } + }, + "doubles": { + "#metadata": { + "remark": "three doubles" + }, + "#pcdata": { + "#metadata": { + "#text": "1.2 3.45 6.789" + } + } + }, + "int": { + "#pcdata": { + "#metadata": { + "#text": "1" + } + } + }, + "ints": { + "#pcdata": { + "#metadata": { + "#text": "12 345 6789" + } + } + }, + "onecdata": { + "#cdata": { + "#metadata": { + "#text": "Block of CDATA" + } + } + }, + "string": { + "#pcdata": { + "#metadata": { + "#text": "ab" + } + } + }, + "strings": { + "#pcdata": { + "#metadata": { + "#text": "cd efg hijk" + } + } + }, + "twocdata": { + "#cdata0": { + "#nodename": "#cdata", + "#metadata": { + "#text": "Block #0 of CDATA" + } + }, + "#cdata1": { + "#nodename": "#cdata", + "#metadata": { + "#text": "Block #1 of CDATA" + } + } + }, + "various": { + "#cdata0": { + "#nodename": "#cdata", + "#metadata": { + "#text": "More CDATA" + } + }, + "#cdata1": { + "#nodename": "#cdata", + "#metadata": { + "#text": "Some CDATA" + } + }, + "#comment0": { + "#nodename": "#comment", + "#metadata": { + "#text": "First comment" + } + }, + "#comment1": { + "#nodename": "#comment", + "#metadata": { + "#text": "Second comment" + } + }, + "#comment2": { + "#nodename": "#comment", + "#metadata": { + "#text": "Third comment" + } + }, + "#pcdata0": { + "#nodename": "#pcdata", + "#metadata": { + "#text": "1 2 3 4" + } + }, + "#pcdata1": { + "#nodename": "#pcdata", + "#metadata": { + "#text": "9.87 6.54 3.21" + } + }, + "#pcdata2": { + "#nodename": "#pcdata", + "#metadata": { + "#text": "a b c d e f g" + } + }, + "regularElement": null + } + } +} \ No newline at end of file diff --git a/src/GNDStk/JSON/test/resources/correct-raw-typed.json b/src/GNDStk/JSON/test/resources/correct-raw-typed.json new file mode 100644 index 000000000..7c526a3c8 --- /dev/null +++ b/src/GNDStk/JSON/test/resources/correct-raw-typed.json @@ -0,0 +1,201 @@ +{ + "foo": { + "#metadata": { + "double": 1.2, + "doubles": [ + 3.4, + 5.6, + 7.8 + ], + "int": 1, + "ints": [ + 2, + 3 + ], + "string": "ab", + "strings": "cd ef gh ij" + }, + "comment": { + "#comment": { + "#metadata": { + "#text": "Comment" + } + } + }, + "comments": { + "#comment0": { + "#nodename": "#comment", + "#metadata": { + "#text": "Comment #0" + } + }, + "#comment1": { + "#nodename": "#comment", + "#metadata": { + "#text": "Comment #1" + } + }, + "#comment2": { + "#nodename": "#comment", + "#metadata": { + "#text": "Comment #2" + } + } + }, + "double": { + "#metadata": { + "remark": "one double" + }, + "#pcdata": { + "#metadata": { + "#text": [ + 1.2 + ] + } + } + }, + "doubles": { + "#metadata": { + "remark": "three doubles" + }, + "#pcdata": { + "#metadata": { + "#text": [ + 1.2, + 3.45, + 6.789 + ] + } + } + }, + "int": { + "#pcdata": { + "#metadata": { + "#text": [ + 1 + ] + } + } + }, + "ints": { + "#pcdata": { + "#metadata": { + "#text": [ + 12, + 345, + 6789 + ] + } + } + }, + "onecdata": { + "#cdata": { + "#metadata": { + "#text": "Block of CDATA" + } + } + }, + "string": { + "#pcdata": { + "#metadata": { + "#text": [ + "ab" + ] + } + } + }, + "strings": { + "#pcdata": { + "#metadata": { + "#text": [ + "cd", + "efg", + "hijk" + ] + } + } + }, + "twocdata": { + "#cdata0": { + "#nodename": "#cdata", + "#metadata": { + "#text": "Block #0 of CDATA" + } + }, + "#cdata1": { + "#nodename": "#cdata", + "#metadata": { + "#text": "Block #1 of CDATA" + } + } + }, + "various": { + "#cdata0": { + "#nodename": "#cdata", + "#metadata": { + "#text": "More CDATA" + } + }, + "#cdata1": { + "#nodename": "#cdata", + "#metadata": { + "#text": "Some CDATA" + } + }, + "#comment0": { + "#nodename": "#comment", + "#metadata": { + "#text": "First comment" + } + }, + "#comment1": { + "#nodename": "#comment", + "#metadata": { + "#text": "Second comment" + } + }, + "#comment2": { + "#nodename": "#comment", + "#metadata": { + "#text": "Third comment" + } + }, + "#pcdata0": { + "#nodename": "#pcdata", + "#metadata": { + "#text": [ + 1, + 2, + 3, + 4 + ] + } + }, + "#pcdata1": { + "#nodename": "#pcdata", + "#metadata": { + "#text": [ + 9.87, + 6.54, + 3.21 + ] + } + }, + "#pcdata2": { + "#nodename": "#pcdata", + "#metadata": { + "#text": [ + "a", + "b", + "c", + "d", + "e", + "f", + "g" + ] + } + }, + "regularElement": null + } + } +} \ No newline at end of file diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-string.json b/src/GNDStk/JSON/test/resources/correct-reduced-string.json new file mode 100644 index 000000000..8ba5987ac --- /dev/null +++ b/src/GNDStk/JSON/test/resources/correct-reduced-string.json @@ -0,0 +1,85 @@ +{ + "foo": { + "#metadata": { + "double": "1.2", + "doubles": "3.4 5.6 7.8", + "int": "1", + "ints": "2 3", + "string": "ab", + "strings": "cd ef gh ij" + }, + "comment": { + "#comment": "Comment" + }, + "comments": { + "#comment0": "Comment #0", + "#comment1": "Comment #1", + "#comment2": "Comment #2" + }, + "double": [ + "1.2" + ], + "double#metadata": { + "remark": "one double" + }, + "doubles": [ + "1.2", + "3.45", + "6.789" + ], + "doubles#metadata": { + "remark": "three doubles" + }, + "int": [ + "1" + ], + "ints": [ + "12", + "345", + "6789" + ], + "onecdata": { + "#cdata": "Block of CDATA" + }, + "string": [ + "ab" + ], + "strings": [ + "cd", + "efg", + "hijk" + ], + "twocdata": { + "#cdata0": "Block #0 of CDATA", + "#cdata1": "Block #1 of CDATA" + }, + "various": { + "#cdata0": "More CDATA", + "#cdata1": "Some CDATA", + "#comment0": "First comment", + "#comment1": "Second comment", + "#comment2": "Third comment", + "#pcdata0": [ + "1", + "2", + "3", + "4" + ], + "#pcdata1": [ + "9.87", + "6.54", + "3.21" + ], + "#pcdata2": [ + "a", + "b", + "c", + "d", + "e", + "f", + "g" + ], + "regularElement": null + } + } +} \ No newline at end of file diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json new file mode 100644 index 000000000..e284ee029 --- /dev/null +++ b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json @@ -0,0 +1,92 @@ +{ + "foo": { + "#metadata": { + "double": 1.2, + "doubles": [ + 3.4, + 5.6, + 7.8 + ], + "int": 1, + "ints": [ + 2, + 3 + ], + "string": "ab", + "strings": "cd ef gh ij" + }, + "comment": { + "#comment": "Comment" + }, + "comments": { + "#comment0": "Comment #0", + "#comment1": "Comment #1", + "#comment2": "Comment #2" + }, + "double": [ + 1.2 + ], + "double#metadata": { + "remark": "one double" + }, + "doubles": [ + 1.2, + 3.45, + 6.789 + ], + "doubles#metadata": { + "remark": "three doubles" + }, + "int": [ + 1 + ], + "ints": [ + 12, + 345, + 6789 + ], + "onecdata": { + "#cdata": "Block of CDATA" + }, + "string": [ + "ab" + ], + "strings": [ + "cd", + "efg", + "hijk" + ], + "twocdata": { + "#cdata0": "Block #0 of CDATA", + "#cdata1": "Block #1 of CDATA" + }, + "various": { + "#cdata0": "More CDATA", + "#cdata1": "Some CDATA", + "#comment0": "First comment", + "#comment1": "Second comment", + "#comment2": "Third comment", + "#pcdata0": [ + 1, + 2, + 3, + 4 + ], + "#pcdata1": [ + 9.87, + 6.54, + 3.21 + ], + "#pcdata2": [ + "a", + "b", + "c", + "d", + "e", + "f", + "g" + ], + "regularElement": null + } + } +} \ No newline at end of file diff --git a/src/GNDStk/Node/src/read.hpp b/src/GNDStk/Node/src/read.hpp index 59e7ecc9d..93fe98f13 100644 --- a/src/GNDStk/Node/src/read.hpp +++ b/src/GNDStk/Node/src/read.hpp @@ -96,12 +96,9 @@ std::istream &read( std::string used; static const std::string request = ", because it was requested"; - // Retrieve the stream's first character ("file magic number") - int magicNumber; - do { - magicNumber = is.get(); - } while (isspace(magicNumber)); - is.unget(); + // Examine the stream's first character ("file magic number") + is >> std::ws; + const int magicNumber = is.peek(); // Perform some checks if (magicNumber == EOF) { From faf2e67cc5ddb94ab22fb5e252dcb8aa911b36f8 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 23 May 2022 13:26:42 -0600 Subject: [PATCH 094/235] More work on some JSON-related code. Some tweaks to HDF5-related code. Extended and improved some comments, to clarify things. --- src/GNDStk/convert/src/detail-hdf52node.hpp | 18 +- src/GNDStk/convert/src/detail-json2node.hpp | 317 ++++++++++++++------ src/GNDStk/convert/src/detail-node2hdf5.hpp | 61 ++-- src/GNDStk/convert/src/detail-node2json.hpp | 73 +++-- src/GNDStk/convert/src/detail-xml2node.hpp | 11 +- 5 files changed, 311 insertions(+), 169 deletions(-) diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index 235d4786e..c3d51235a 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -6,9 +6,8 @@ inline const std::string rootHDF5Name = "/"; inline void error_hdf52node(const std::string &message) { log::error( - "Internal error in hdf52node(HighFive::Group, std::string, Node):\n" - "Message: \"{}\".", - message + "Internal error in hdf52node():\n" + "Message: \"{}\".", message ); throw std::exception{}; } @@ -171,9 +170,6 @@ bool hdf52node( const HighFive::Group &group, const std::string &groupName, NODE &node, const bool requireEmpty = true ) { - static const std::string context = - "hdf52node(HighFive::Group, std::string, Node)"; - // the node sent here should be fresh, ready to receive entries if (requireEmpty && !node.empty()) error_hdf52node("!node.empty()"); @@ -190,12 +186,10 @@ bool hdf52node( // ==> metadata // ------------------------ - // Only if we're *not* at the root HDF5 group; if we are, then attributes - // would have already been handled, in a special way, by the caller + // Only if we're *not* at the root HDF5 group. If we are, then attributes + // would have already been handled, in a special way, by the caller. if (groupName != rootHDF5Name) { for (const std::string &attrName : group.listAttributeNames()) { - - // zzz if (attrName == "#nodename") { // #nodename // Handled not as a regular attribute, but as the present node's @@ -248,7 +242,7 @@ bool hdf52node( if (!hdf52node(group.getGroup(elemName), elemName, node.add())) return false; } catch (...) { - log::function(context); + log::function("hdf52node()"); throw; } break; @@ -274,7 +268,7 @@ bool hdf52node( if (!dset2node(group,elemName,node)) return false; } catch (...) { - log::function(context); + log::function("hdf52node()"); throw; } break; diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 916fe8142..e76acbde4 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -1,15 +1,10 @@ -// ----------------------------------------------------------------------------- -// Helpers -// ----------------------------------------------------------------------------- - -// error_json2node +// Helper: error_json2node inline void error_json2node(const std::string &message) { log::error( - "Internal error in json2node(orderedJSON, Node):\n" - "Message: \"{}\".", - message + "Internal error in json2node():\n" + "Message: \"{}\".", message ); throw std::exception{}; } @@ -20,7 +15,7 @@ inline void error_json2node(const std::string &message) // ----------------------------------------------------------------------------- // orderedJSON::const_iterator ==> Node -// Why the iterator rather than the ordered_json object? I found that there +// Why the iterator rather than the orderedJSON object? I found that there // were some seemingly funny semantics in the nlohmann/json library. As we // can see below, we have for example iter->is_object() (so, the -> operator, // typical for iterators), but also iter.value() (the . operator - on an @@ -33,21 +28,18 @@ inline void error_json2node(const std::string &message) template bool json2node(const orderedJSON::const_iterator &iter, NODE &node) { - static const std::string context = - "json2node(orderedJSON::const_iterator, Node)"; - // the node sent here should be fresh, ready to receive entries if (!node.empty()) error_json2node("!node.empty()"); - // non-object cases should have been handled in the caller + // non-(JSON "object") cases should have been handled in the caller if (!iter->is_object()) error_json2node("!iter->is_object()"); // any "#metadata" key (a specially-named "child node" that we use in JSON // in order to identify attributes) should have been handled in the caller - if (iter.key() == "#metadata") - error_json2node("iter.key() == \"#metadata\""); + if (endsin(iter.key(), "#metadata")) + error_json2node("iter.key() ends in \"#metadata\""); // ------------------------ // key @@ -57,103 +49,254 @@ bool json2node(const orderedJSON::const_iterator &iter, NODE &node) node.name = iter.key(); // ------------------------ - // JSON value's elements + // JSON object's elements + // ==> metadata // ==> children // ------------------------ const orderedJSON &json = iter.value(); for (auto elem = json.begin(); elem != json.end(); ++elem) { + + // ------------------------ + // #nodename + // ------------------------ + + // Handled not as a regular metadatum, + // but as the present node's true name. if (elem.key() == "#nodename") { - // #nodename? ...extract as current node's true name node.name = elem->get(); - } else if (elem.key() == "#metadata") { - // #metadata? ...extract as current node's metadata - const orderedJSON /*auto*/ &jsub = elem.value(); + continue; + } + + // ------------------------ + // #cdata + // ------------------------ + + // Possibly with a numeric suffix. + // Expand into a child node #cdata with a #text attribute. + if (beginsin(elem.key(),"#cdata")) { + // 3 cases: + // cdata: { metadata/text } + // cdata: { nodename, metadata/text } + // cdata: "string" + assert(elem->is_object() || elem->is_string()); + + if (elem->is_object()) { + try { + if (!json2node(elem,node.add())) + return false; + } catch (...) { + log::function("json2node()"); + throw; + } + } + + if (elem->is_string()) { + node.add("#cdata").add("#text",elem->get()); + } + + continue; + } // "#cdata" + + // ------------------------ + // #comment + // Like cdata case above + // ------------------------ + + // Possibly with a numeric suffix. + // Expand into a child node #comment with a #text attribute. + if (beginsin(elem.key(),"#comment")) { + assert(elem->is_object() || elem->is_string()); + if (elem->is_object()) { + try { + if (!json2node(elem,node.add())) + return false; + } catch (...) { + log::function("json2node()"); + throw; + } + } + if (elem->is_string()) + node.add("#comment").add("#text",elem->get()); + continue; + } // "#comment" + + // ------------------------ + // #pcdata + // ------------------------ + + if (beginsin(elem.key(),"#pcdata")) { + assert(elem->is_object() || elem->is_array()); + + if (elem->is_object()) { + try { + if (!json2node(elem,node.add())) + return false; + } catch (...) { + log::function("json2node()"); + throw; + } + } // #pcdata is_object() + + if (elem->is_array()) { + std::ostringstream oss; int count = 0; + for (const orderedJSON &e : *elem) { + oss << (count ? " " : ""); + if (e.is_number_integer()) + oss << e.get(); + else if (e.is_number_unsigned()) + oss << e.get(); + else if (e.is_number_float()) + oss << e.get(); + else if (e.is_string()) + oss << e.get(); + else { + assert(false); + } + count++; + } + node.add("#pcdata").add("#text",oss.str()); + } // #pcdata is_array() + continue; + } // #pcdata + + // ------------------------ + // #metadata + // ------------------------ + + if (elem.key() == "#metadata") { + assert(elem->is_object()); + + const orderedJSON &jsub = elem.value(); for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) { - // zzz working here - // zzz should no longer assume it's necessarily a string - /* - (x) string - ( ) number - (-) null - (-) object - ( ) array - (-) boolean - */ + // number: integer + if (attr->is_number_integer()) { + node.add(attr.key(), attr->get()); + continue; + } + + // number: unsigned + if (attr->is_number_unsigned()) { + node.add(attr.key(), attr->get()); + continue; + } + + // number: double + if (attr->is_number_float()) { + node.add(attr.key(), attr->get()); + continue; + } + + // string if (attr->is_string()) { node.add(attr.key(), attr->get()); + continue; + } - // zzz this is a test... - { - /* - // zzz works... - using nlohmann::detail::json_sax_dom_parser; - ///orderedJSON val = const_cast(attr.value()); - orderedJSON rhs = attr.value(); - json_sax_dom_parser parser(rhs); - */ - - orderedJSON rhs = attr.value(); - nlohmann::detail::json_sax_dom_parser sax(rhs); -#if 0 - std::string str; - zzz.string(str); - std::cout << "zzz string is: \"" << str << '"' << std::endl; -#endif + // array + if (attr->is_array()) { + std::ostringstream oss; int count = 0; + for (const orderedJSON &e : *attr) { + oss << (count ? " " : ""); + if (e.is_number_integer()) + oss << e.get(); + else if (e.is_number_unsigned()) + oss << e.get(); + else if (e.is_number_float()) + oss << e.get(); + else if (e.is_string()) + oss << e.get(); + else { + assert(false); + } + count++; } + node.add(attr.key(), oss.str()); + continue; + } // is_array - } else if (attr->is_number()) { -#if 0 -#if 0 -#if 0 - // zzz should handle this - /////const orderedJSON &zzz = attr.value();///// - ///const nlohmann::ordered_json &zzz = attr.value();///// - ///const nlohmann::json_sax zzz = attr.value(); - /**/ - /**/ - /**/ - orderedJSON &val = const_cast(attr.value()); - using nlohmann::detail::json_sax_dom_parser; - json_sax_dom_parser zzz(val); - std::string str; - zzz.string(str); - /**/ - /**/ - /**/ -#endif -#endif -#endif - assert(false); - } else if (attr->is_array()) { - // zzz should handle this - assert(false); - } else { - // zzz have better message - assert(false); - } - } - } else if (elem->is_string()) { + assert(false); + } // for (attr) + continue; + } // #metadata + + // ------------------------ + // general + // ------------------------ + + // number: integer + if (elem->is_number_integer()) { + node.add(elem.key(), elem->get()); + continue; + } // is_number_integer + + // number: unsigned + if (elem->is_number_unsigned()) { + node.add(elem.key(), elem->get()); + continue; + } // is_number_unsigned + + // number: double + if (elem->is_number_float()) { + node.add(elem.key(), elem->get()); + continue; + } // is_number_float + + // string + if (elem->is_string()) { // string? ...extract as metadata key/value pair node.add(elem.key(), elem->get()); - } else if (elem->is_object()) { + continue; + } // is_string + + // object + if (elem->is_object()) { // {} object? ...extract as normal child node try { if (!json2node(elem,node.add())) return false; } catch (...) { - log::function(context); + log::function("json2node()"); throw; } - } else if (elem->is_null()) { + continue; + } // is_object + + // array + if (elem->is_array()) { + std::ostringstream oss; int count = 0; + for (const orderedJSON &e : *elem) { + oss << (count ? " " : ""); + if (e.is_number_integer()) + oss << e.get(); + else if (e.is_number_unsigned()) + oss << e.get(); + else if (e.is_number_float()) + oss << e.get(); + else if (e.is_string()) + oss << e.get(); + else { + assert(false); + } + count++; + } + node.add(elem.key(), oss.str()); + continue; + } // is_array + + // null + if (elem->is_null()) { // null node? ...extract as normal (albeit empty) child node // In GNDS, e.g. XML's or node.add().name = elem.key(); - } else { - // no other cases are handled right now - error_json2node("unhandled JSON value type"); - } - } + continue; + } // is_null + + // no other cases are handled right now + error_json2node("unhandled JSON value type"); + assert(false); + + } // for each element of the key/value corresponding to the Node // done return true; diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index 1f76fa5ad..72e2f4c00 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -8,6 +8,7 @@ // vector2Attr // ------------------------ +// scalar2Attr template void scalar2Attr( const std::string &key, const std::string &value, @@ -18,6 +19,7 @@ void scalar2Attr( hdf5.createAttribute(key,scalar); } +// vector2Attr template void vector2Attr( const std::string &key, const std::string &value, @@ -39,7 +41,15 @@ HighFive::DataSet pcdata2DataSet( const std::string &key, const std::string &value, OBJECT &hdf5 ) { - // Similar to vector2Attr(), but creates a DataSet, not an Attribute + // Similar to vector2Attr() above, but creates a DataSet, not an Attribute. + // Note that in the JSON-format analogs of the various helper functions in + // this section of code, an analog of *this* function doesn't exist. JSON + // doesn't have HDF5's distinction between "attributes" and "data sets". + // Therefore, writing a vector (as we do above, via createAttribute(), and + // here, via createDataSet()) is done, in JSON, in just one way: by creating + // a JSON key:value pair with the vector as the value. So, in the JSON code, + // we have an analog of the above vector2Attr() function, and that function + // is also used where this present function would otherwise have been used. std::vector vector; convert(value,vector); return hdf5.createDataSet(key,vector); @@ -53,6 +63,7 @@ HighFive::DataSet pcdata2DataSet( ) { if (HDF5::typed) { const std::string type = guessType(value); + if (type == "int" || type == "ints" ) return pcdata2DataSet(key,value,hdf5); if (type == "uint" || type == "uints" ) @@ -70,15 +81,13 @@ HighFive::DataSet pcdata2DataSet( // ----------------------------------------------------------------------------- // meta2hdf5* +// See comments in the JSON analogs of these functions. // ----------------------------------------------------------------------------- // ------------------------ // meta2hdf5_typed // ------------------------ -// Use our "guess what's in the string" code to try to infer what each -// metadatum's string value actually contains (a single int, say, or -// a vector of doubles). Use the inferred types in the HDF5 file. template void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) { @@ -94,24 +103,12 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) // *** #cdata/#text // *** #comment/#text - // ACTION: Write these as-is. That is, do NOT apply our type-guessing code - // to a comment, or to the contents of a block like those - // that we see in existing XML-format GNDS files. The type guesser would - // see words, and think "vector of [whitespace-separated] strings," which - // would be wrong for what are clearly intended to be free-form strings. if ((parent == "#cdata" || parent == "#comment") && key == "#text") { hdf5.createAttribute(key,value); // just a simple string attribute continue; } // *** #pcdata/#text - // ACTION: Apply our type-guessing code, but write *vectors* only, never - // scalars. So, 10 produces a vector with one element, - // NOT a scalar; while 10 20 30 produces a vector with - // with three elements. What may look like scalars are made into vectors - // because we think this reflects what these (#pcdata) nodes are intended - // to represent. (If something was really just a scalar, then surely it - // would be placed into standard metadata (in <...>), not #pcdata. if (parent == "#pcdata" && key == "#text") { const std::string type = guessType(value); if (type == "int" || type == "ints") @@ -140,12 +137,6 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) // ------------------------ // *** key/value - // ACTION: Apply our type-guessing code. - // Here we have normal metadata, as in . - // For numeric types we might produce vectors, if there appear to be - // multiple values. But for string types, we'll assume that the value - // is probably intended to be a free-form, human-readable descriptive - // string, which shouldn't be split into tokens and made into a vector. const std::string type = guessType(value); if (type == "int" ) scalar2Attr(key,value,hdf5); else if (type == "ints" ) vector2Attr(key,value,hdf5); else @@ -166,9 +157,7 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) // meta2hdf5_plain // ------------------------ -// Write simple HDF5 in which all metadata, as well as the contents -// of "cdata" and "pcdata" nodes, end up being strings. Not even vectors -// of strings, as from H He Li ..., but single strings. +// Here, OBJECT hdf5 is either a HighFive::Group or a HighFive::DataSet template void meta2hdf5_plain(const NODE &node, OBJECT &hdf5) { @@ -181,9 +170,8 @@ void meta2hdf5_plain(const NODE &node, OBJECT &hdf5) // meta2hdf5 // ------------------------ -// Here, OBJECT hdf5 is either a HighFive::Group or a HighFive::DataSet template -void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) +void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) { // Create #nodename iff necessary (allows recovery of original node name) if (suffix != "") @@ -264,20 +252,8 @@ bool hdf5_reduce_pcdata( node.metadata.size() == 1 && node.metadata[0].first == "#text" ) { - // Remark. This case (basically, #pcdata/#text) may look superficially - // like it would have been handled, in the case immediately below here, - // in the previous (next-up) recurse of the node2hdf5() function. Often - // it would have, but not always. Below, name/#pcdata/#text (three - // levels, so to speak) reduces to one level (DataSet name), but - // only if name has ONE child - the #pcdata. That's true when we - // have (in XML) something like 1 2 3, as the pcdata, - // i.e. the 1 2 3 part, is ' only child node. However, it's - // actually possible (though I don't see it in current GNDS files) to - // have something like: 1 2 3. There, the - // outer "name" node () has child foo and child #pcdata, and - // thus can't be reduced in the manner that's done if only #pcdata is - // there. In short, then, the present situation comes to pass if and - // when #pcdata has sibling nodes. + // See the remark in the analogous JSON function regarding the difference + // between this function and the one immediately below. // HDF5 data set pcdata2DataSet(nameSuffixed, node.metadata[0].second, hdf5); @@ -336,7 +312,7 @@ bool hdf5_reduce_pcdata_metadata( // ----------------------------------------------------------------------------- // NODE is just GNDStk::Node. The latter isn't used directly, because -// it's an incomplete type at this point. +// it's an "incomplete type", to the compiler, at this point. // OBJECT is either HighFive::File or HighFive::Group. template bool node2hdf5(const NODE &node, OBJECT &h, const std::string &suffix = "") @@ -365,6 +341,7 @@ bool node2hdf5(const NODE &node, OBJECT &h, const std::string &suffix = "") meta2hdf5(node, group, suffix); // children - preprocess + // To understand this, see the remark in the JSON analog. std::map childNames; for (auto &c : node.children) { auto iter = childNames.find(c->name); diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index 7083702b1..2e8145004 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -3,36 +3,46 @@ // Helpers // ----------------------------------------------------------------------------- +// ------------------------ +// scalar2Value +// vector2Value +// ------------------------ + // scalar2Value template void scalar2Value( const std::string &key, const std::string &value, orderedJSON &json ) { - // Parameter "value" is a string, for example "1", "2.34", or "foo"; then, - // the caller will have guessed T == int, T == double, or T == std::string. - // We wish to write value AS-IS into the value of a JSON key/value pair, but - // with quotes only when T == std::string. That way, for other T, we don't - // convert value to a T, and then back to a string for the JSON file. That - // would be inefficient, and would break our handling of significant digits. + // Parameter "value" is a string - for example "1", "2.34", or "foo". The + // caller will have guessed T == int, T == double, or T == std::string in + // those cases. In the present function, we wish to write std::string value + // AS-IS into the value part of a JSON key/value pair. However, when T is + // a number, like int or double, we wish to write it as a JSON number - so, + // without quotes. In constrast, only when T == std::string will we write + // it as a JSON string. Note that even when it's really a number, the value + // parameter arrives here as a std::string, because our (very customizable) + // handling of formatting and significant digits requires this. Here, right + // now, we can assume that a "number" inside std::string reflects the exact + // way that we want the number to be printed. if constexpr (std::is_same_v) { // Write JSON string. json[key] = value; } else { // Write JSON number (so unquoted, unlike in the string case above), - // but write the "number" exactly as it appears in parameter value, + // but write the "number" exactly as it appears in parameter "value", // which the caller guessed contains a number: "1", "2.34", etc. // // fixme Unfortunately, the nlohmann/json library does not, at the // present time, allow us to write our string as a number - without // quotes. It'll format the number as it wants to. Given that GNDStk // allows fine control over the formatting of floating-point numbers, - // we'll need to deal with this at some point, to have the formatting - // respected in JSON output. + // we'll need to deal with this at some point, to have our formatting + // be respected in JSON output. T scalar; convert(value,scalar); - json[key] = scalar; + json[key] = scalar; // For now. Later, write the value literally } } @@ -42,7 +52,7 @@ void vector2Value( const std::string &key, const std::string &value, orderedJSON &json ) { - // Like the scalar case, but value is for example be "1 2", "3.4 5.6 7.8", + // Like the scalar case, but value is, for example, "1 2", "3.4 5.6 7.8", // or "foo bar baz" - a vector of T == int, T = double, or T == std::string. if constexpr (std::is_same_v) { // Write JSON array of strings. @@ -51,20 +61,26 @@ void vector2Value( json[key] = vector; } else { // Write JSON array of numbers. - // fixme Basically the same fixme as above. - std::vector vector; + // fixme Basically, the same fixme as above. For now, the "else" code + // here is the same as the "if" code, but that'll change. + std::vector vector; // For now. Later, std::vector... convert(value,vector); - json[key] = vector; + json[key] = vector; // For now. Later, write each string literally } } + +// ------------------------ // pcdata2Value +// ------------------------ + inline void pcdata2Value( const std::string &key, const std::string &value, orderedJSON &json ) { if (JSON::typed) { const std::string type = guessType(value); + if (type == "int" || type == "ints" ) { vector2Value(key,value,json); return; } if (type == "uint" || type == "uints" ) @@ -124,7 +140,7 @@ void meta2json_typed(const NODE &node, orderedJSON &json) // three elements. What may look like scalars are made into vectors // because we think this reflects what these (#pcdata) nodes are intended // to represent. (If something was really just a scalar, then surely it - // would be placed into standard metadata (in <...>), not #pcdata. + // would be placed into standard metadata (in <...>), not into #pcdata. if (parent == "#pcdata" && key == "#text") { const std::string type = guessType(value); if (type == "int" || type == "ints") @@ -333,6 +349,23 @@ bool json_reduce_pcdata_metadata( // | #text | | key/value pairs | // | - | | } | // +---------------+ +----------------------+ + // Remark. We're not super psyched about the "name#metadata" construction. + // It effectively splits the original node into two siblings in the JSON + // file; and, it differs from the present scenario's HDF5 handling, which + // places those metadata into HDF5 "attributes" within an HDF5 "data set". + // Here, the analog would be to place the metadata into the [...] part. + // That's doable, because JSON arrays are polymorphic, but we believe it + // would clutter the [...] with elements that would need to be interpreted, + // by whatever tool someone might use to process the JSON file, separately + // from how the rest of the [...] is interpreted. With HDF5 that probably + // isn't an issue, because a data set's *attributes*, while residing in the + // data set, would presumably be seen by HDF5 tools as logically distinct + // from its *data* proper. With JSON, we don't see how that would happen. + // Hence, our choice above. An important thing is that the above system + // is reversible - a file, thus written, can be read back in, recovering + // our original internal data structure unambiguously. Also, the two JSON + // constructs, "name" and "name#metadata", will appear next to each other, + // allowing someone who looks at the file to see what's going on. if (node.children.size() == 1 && node.children[0]->name == "#pcdata" && @@ -358,12 +391,10 @@ bool json_reduce_pcdata_metadata( // ----------------------------------------------------------------------------- // NODE is just GNDStk::Node. The latter isn't used directly, because -// it's an incomplete type at this point. +// it's an "incomplete type", to the compiler, at this point. template -bool node2json( - const NODE &node, orderedJSON &j, - const std::string &suffix = "" -) { +bool node2json(const NODE &node, orderedJSON &j, const std::string &suffix = "") +{ const std::string nameSuffixed = node.name + suffix; // ------------------------ @@ -381,7 +412,7 @@ bool node2json( // General case // ------------------------ - // Create a new ordered_json, in parameter j, for metadata and children + // Create a new orderedJSON, in parameter j, for metadata and children orderedJSON &json = j[nameSuffixed]; // metadata diff --git a/src/GNDStk/convert/src/detail-xml2node.hpp b/src/GNDStk/convert/src/detail-xml2node.hpp index fa38ea652..8b51a758f 100644 --- a/src/GNDStk/convert/src/detail-xml2node.hpp +++ b/src/GNDStk/convert/src/detail-xml2node.hpp @@ -7,7 +7,7 @@ inline void error_xml2node(const std::string &type) { log::error( - "Internal error in xml2node(pugi::xml_node, Node):\n" + "Internal error in xml2node():\n" "Type pugi::{} found, but not handled, as sub-element.", type ); @@ -43,13 +43,10 @@ namespace pugi template bool xml2node(const pugi::xml_node &xnode, NODE &node) { - static const std::string context = - "xml2node(pugi::xml_node, Node)"; - // check destination node if (!node.empty()) { log::error( - "Internal error in xml2node(pugi::xml_node, Node):\n" + "Internal error in xml2node():\n" "Destination Node is supposed to arrive here empty, but didn't." ); throw std::exception{}; @@ -92,7 +89,7 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) if (!xml2node(xsub,node.add())) return false; } catch (...) { - log::function(context); + log::function("xml2node()"); throw; } continue; @@ -131,7 +128,7 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) // ------------------------ log::error( - "Internal error in xml2node(pugi::xml_node, Node):\n" + "Internal error in xml2node():\n" "Encountered a pugi:: node type that we don't know about." ); throw std::exception{}; From 86d5527c614de0c9f7c99d4ae0f569e520fda80e Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 24 May 2022 20:56:46 -0600 Subject: [PATCH 095/235] Some extra material in resources for the JSON tests. --- .../test/resources/correct-raw-string.json | 33 ++++++++++++++ .../test/resources/correct-raw-typed.json | 44 +++++++++++++++++++ .../resources/correct-reduced-string.json | 26 +++++++++++ .../test/resources/correct-reduced-typed.json | 26 +++++++++++ src/GNDStk/JSON/test/resources/various.xml | 4 ++ 5 files changed, 133 insertions(+) diff --git a/src/GNDStk/JSON/test/resources/correct-raw-string.json b/src/GNDStk/JSON/test/resources/correct-raw-string.json index 8869778b8..59c2df4cf 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-string.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-string.json @@ -104,6 +104,39 @@ } } }, + "values0": { + "#nodename": "values", + "#metadata": { + "x": "123" + }, + "#pcdata": { + "#metadata": { + "#text": "1 2 3" + } + } + }, + "values1": { + "#nodename": "values", + "#metadata": { + "y": "4.5" + }, + "#pcdata": { + "#metadata": { + "#text": "4.0 5.0" + } + } + }, + "values2": { + "#nodename": "values", + "#metadata": { + "z": "abc" + }, + "#pcdata": { + "#metadata": { + "#text": "a b c" + } + } + }, "various": { "#cdata0": { "#nodename": "#cdata", diff --git a/src/GNDStk/JSON/test/resources/correct-raw-typed.json b/src/GNDStk/JSON/test/resources/correct-raw-typed.json index 7c526a3c8..92ab49acb 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-typed.json @@ -129,6 +129,50 @@ } } }, + "values0": { + "#nodename": "values", + "#metadata": { + "x": 123 + }, + "#pcdata": { + "#metadata": { + "#text": [ + 1, + 2, + 3 + ] + } + } + }, + "values1": { + "#nodename": "values", + "#metadata": { + "y": 4.5 + }, + "#pcdata": { + "#metadata": { + "#text": [ + 4.0, + 5.0 + ] + } + } + }, + "values2": { + "#nodename": "values", + "#metadata": { + "z": "abc" + }, + "#pcdata": { + "#metadata": { + "#text": [ + "a", + "b", + "c" + ] + } + } + }, "various": { "#cdata0": { "#nodename": "#cdata", diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-string.json b/src/GNDStk/JSON/test/resources/correct-reduced-string.json index 8ba5987ac..c39bcdbcd 100644 --- a/src/GNDStk/JSON/test/resources/correct-reduced-string.json +++ b/src/GNDStk/JSON/test/resources/correct-reduced-string.json @@ -53,6 +53,32 @@ "#cdata0": "Block #0 of CDATA", "#cdata1": "Block #1 of CDATA" }, + "values0": [ + "1", + "2", + "3" + ], + "values0#nodename": "values", + "values0#metadata": { + "x": "123" + }, + "values1": [ + "4.0", + "5.0" + ], + "values1#nodename": "values", + "values1#metadata": { + "y": "4.5" + }, + "values2": [ + "a", + "b", + "c" + ], + "values2#nodename": "values", + "values2#metadata": { + "z": "abc" + }, "various": { "#cdata0": "More CDATA", "#cdata1": "Some CDATA", diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json index e284ee029..70ed9fd40 100644 --- a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json @@ -60,6 +60,32 @@ "#cdata0": "Block #0 of CDATA", "#cdata1": "Block #1 of CDATA" }, + "values0": [ + 1, + 2, + 3 + ], + "values0#nodename": "values", + "values0#metadata": { + "x": 123 + }, + "values1": [ + 4.0, + 5.0 + ], + "values1#nodename": "values", + "values1#metadata": { + "y": 4.5 + }, + "values2": [ + "a", + "b", + "c" + ], + "values2#nodename": "values", + "values2#metadata": { + "z": "abc" + }, "various": { "#cdata0": "More CDATA", "#cdata1": "Some CDATA", diff --git a/src/GNDStk/JSON/test/resources/various.xml b/src/GNDStk/JSON/test/resources/various.xml index 18b7ca3e9..ac30d76e0 100644 --- a/src/GNDStk/JSON/test/resources/various.xml +++ b/src/GNDStk/JSON/test/resources/various.xml @@ -36,6 +36,10 @@ + 1 2 3 + 4.0 5.0 + a b c + 1 2 3 4 9.87 6.54 3.21 From 0f346b75ebe499bd72044c8dfc55617674582666 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 30 May 2022 01:29:16 -0600 Subject: [PATCH 096/235] Saving some work. --- src/GNDStk/HDF5/test/HDF5.test.cpp | 12 +- src/GNDStk/JSON/test/JSON.test.cpp | 19 +- .../test/resources/correct-raw-string.json | 3 +- .../test/resources/correct-raw-typed.json | 5 +- .../resources/correct-reduced-string.json | 5 +- .../test/resources/correct-reduced-typed.json | 5 +- src/GNDStk/JSON/test/resources/various.xml | 4 +- src/GNDStk/convert/src/detail-json2node.hpp | 347 ++++++------------ 8 files changed, 144 insertions(+), 256 deletions(-) diff --git a/src/GNDStk/HDF5/test/HDF5.test.cpp b/src/GNDStk/HDF5/test/HDF5.test.cpp index 22e96b67b..9da8c309f 100644 --- a/src/GNDStk/HDF5/test/HDF5.test.cpp +++ b/src/GNDStk/HDF5/test/HDF5.test.cpp @@ -8,11 +8,11 @@ using namespace njoy::GNDStk; // ----------------------------------------------------------------------------- -// writeReadHDF5 +// writeAndReadHDF5 // Helper function // ----------------------------------------------------------------------------- -void writeReadHDF5( +void writeAndReadHDF5( const Tree &oldTree, const bool reduced, const bool typed, const std::string &correct, @@ -100,10 +100,10 @@ SCENARIO("Testing GNDStk HDF5, Part I") { // Write/read to/from HDF5, for each combination of the available flags // for doing so: HDF5::reduced = false/true (x) HDF5::typed = false/true - writeReadHDF5(tree, false, false, correct, "raw-string"); - writeReadHDF5(tree, false, true, correct, "raw-typed"); - writeReadHDF5(tree, true, false, correct, "reduced-string"); - writeReadHDF5(tree, true, true, correct, "reduced-typed"); + writeAndReadHDF5(tree, false, false, correct, "raw-string"); + writeAndReadHDF5(tree, false, true, correct, "raw-typed"); + writeAndReadHDF5(tree, true, false, correct, "reduced-string"); + writeAndReadHDF5(tree, true, true, correct, "reduced-typed"); } } diff --git a/src/GNDStk/JSON/test/JSON.test.cpp b/src/GNDStk/JSON/test/JSON.test.cpp index b1fe285e8..94ba779dc 100644 --- a/src/GNDStk/JSON/test/JSON.test.cpp +++ b/src/GNDStk/JSON/test/JSON.test.cpp @@ -96,11 +96,11 @@ R"***({ // ----------------------------------------------------------------------------- -// writeReadJSON +// writeAndReadJSON // Helper function // ----------------------------------------------------------------------------- -void writeReadJSON( +void writeAndReadJSON( const Tree &oldTree, const bool reduced, const bool typed, const std::string &correct, @@ -108,7 +108,7 @@ void writeReadJSON( ) { // Set flags JSON::reduced = reduced; - JSON::typed = typed; + JSON::typed = typed; // Compute file names const std::string newFile = baseName + ".json"; @@ -117,9 +117,6 @@ void writeReadJSON( // Write the Tree to a JSON file oldTree.write(newFile); - // zzz Need to finish this; need full *read* capabilities first, - // zzz respecting the new "reduced" and "typed" flags. -#if 0 // Read from the JSON file into a brand-new Tree Tree newTree(newFile); @@ -144,8 +141,6 @@ void writeReadJSON( CHECK(bufWant.str() == bufHave.str()); #endif - -#endif } @@ -165,10 +160,10 @@ SCENARIO("Testing GNDStk JSON, Part I") { // Write/read to/from JSON, for each combination of the available flags // for doing so: JSON::reduced = false/true (x) JSON::typed = false/true - writeReadJSON(tree, false, false, correct, "raw-string"); - writeReadJSON(tree, false, true, correct, "raw-typed"); - writeReadJSON(tree, true, false, correct, "reduced-string"); - writeReadJSON(tree, true, true, correct, "reduced-typed"); + writeAndReadJSON(tree, false, false, correct, "raw-string"); + writeAndReadJSON(tree, false, true, correct, "raw-typed"); + /////writeAndReadJSON(tree, true, false, correct, "reduced-string"); + /////writeAndReadJSON(tree, true, true, correct, "reduced-typed"); } } diff --git a/src/GNDStk/JSON/test/resources/correct-raw-string.json b/src/GNDStk/JSON/test/resources/correct-raw-string.json index 59c2df4cf..2fc450444 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-string.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-string.json @@ -8,6 +8,7 @@ "string": "ab", "strings": "cd ef gh ij" }, + "bar": null, "comment": { "#comment": { "#metadata": { @@ -122,7 +123,7 @@ }, "#pcdata": { "#metadata": { - "#text": "4.0 5.0" + "#text": "4.4 5.5" } } }, diff --git a/src/GNDStk/JSON/test/resources/correct-raw-typed.json b/src/GNDStk/JSON/test/resources/correct-raw-typed.json index 92ab49acb..536655f5c 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-typed.json @@ -15,6 +15,7 @@ "string": "ab", "strings": "cd ef gh ij" }, + "bar": null, "comment": { "#comment": { "#metadata": { @@ -152,8 +153,8 @@ "#pcdata": { "#metadata": { "#text": [ - 4.0, - 5.0 + 4.4, + 5.5 ] } } diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-string.json b/src/GNDStk/JSON/test/resources/correct-reduced-string.json index c39bcdbcd..57b87d51e 100644 --- a/src/GNDStk/JSON/test/resources/correct-reduced-string.json +++ b/src/GNDStk/JSON/test/resources/correct-reduced-string.json @@ -8,6 +8,7 @@ "string": "ab", "strings": "cd ef gh ij" }, + "bar": null, "comment": { "#comment": "Comment" }, @@ -63,8 +64,8 @@ "x": "123" }, "values1": [ - "4.0", - "5.0" + "4.4", + "5.5" ], "values1#nodename": "values", "values1#metadata": { diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json index 70ed9fd40..775850dec 100644 --- a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json @@ -15,6 +15,7 @@ "string": "ab", "strings": "cd ef gh ij" }, + "bar": null, "comment": { "#comment": "Comment" }, @@ -70,8 +71,8 @@ "x": 123 }, "values1": [ - 4.0, - 5.0 + 4.4, + 5.5 ], "values1#nodename": "values", "values1#metadata": { diff --git a/src/GNDStk/JSON/test/resources/various.xml b/src/GNDStk/JSON/test/resources/various.xml index ac30d76e0..239dac3ea 100644 --- a/src/GNDStk/JSON/test/resources/various.xml +++ b/src/GNDStk/JSON/test/resources/various.xml @@ -8,6 +8,8 @@ string="ab" strings="cd ef gh ij"> + + @@ -37,7 +39,7 @@ 1 2 3 - 4.0 5.0 + 4.4 5.5 a b c diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index e76acbde4..c78d5e969 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -11,20 +11,90 @@ inline void error_json2node(const std::string &message) // ----------------------------------------------------------------------------- -// json2node +// json_array +// ----------------------------------------------------------------------------- + +inline std::string json_array(const orderedJSON &attr) +{ + std::ostringstream oss; + int count = 0; + + for (const orderedJSON &e : attr) { + oss << (count++ ? " " : ""); + if (e.is_string()) + oss << e.get(); + else if (e.is_number_integer()) + oss << e.get(); + else if (e.is_number_unsigned()) + oss << e.get(); + else if (e.is_number_float()) + oss << e.get(); + else + assert(false); + } + + return oss.str(); +} + + +// ----------------------------------------------------------------------------- +// json_pair // ----------------------------------------------------------------------------- -// orderedJSON::const_iterator ==> Node -// Why the iterator rather than the orderedJSON object? I found that there -// were some seemingly funny semantics in the nlohmann/json library. As we -// can see below, we have for example iter->is_object() (so, the -> operator, -// typical for iterators), but also iter.value() (the . operator - on an -// iterator). Similarly, also seen below, with the sub-elements. This is why -// we are, for now, writing our for-loops, here as well as in the functions -// that call this, in the older iterator form rather than the range-based-for -// form. Perhaps there's a way to reformulate all this in a shorter way, but -// this is what we have for now. +template +bool json2node(const orderedJSON::const_iterator &iter, NODE &node); +template +bool json_pair(NODE &node, const orderedJSON::const_iterator &keyval) +{ + const std::string key = keyval.key(); + + if (keyval->is_null()) { + // *** null + // Create a normal (albeit empty) child node. + // Example in XML GNDS: . + node.add(key); + } else if (keyval->is_boolean()) { + // *** boolean + node.add(key, keyval->get() ? "true" : "false"); + } else if (keyval->is_number_integer()) { + // *** number: integer + node.add(key, keyval->get()); + } else if (keyval->is_number_unsigned()) { + // *** number: unsigned + node.add(key, keyval->get()); + } else if (keyval->is_number_float()) { + // *** number: double + node.add(key, keyval->get()); + } else if (keyval->is_string()) { + // *** string + node.add(key, keyval->get()); + } else if (keyval->is_array()) { + // *** array + node.add(key, json_array(*keyval)); + } else if (keyval->is_object()) { + // *** object + try { + if (!json2node(keyval,node.add())) + return false; + } catch (...) { + log::function("json2node()"); + throw; + } + } else { + // *** unknown! + error_json2node("Unknown/unhandled JSON value type"); + } + + return true; +} + + +// ----------------------------------------------------------------------------- +// json2node +// ----------------------------------------------------------------------------- + +// NODE is GNDStk::Node, which is an "incomplete type" to the compiler here. template bool json2node(const orderedJSON::const_iterator &iter, NODE &node) { @@ -32,14 +102,14 @@ bool json2node(const orderedJSON::const_iterator &iter, NODE &node) if (!node.empty()) error_json2node("!node.empty()"); - // non-(JSON "object") cases should have been handled in the caller + // non-(JSON "objects") should have been handled in the caller if (!iter->is_object()) - error_json2node("!iter->is_object()"); + error_json2node("JSON value !is_object()"); - // any "#metadata" key (a specially-named "child node" that we use in JSON + // any "#metadata" keys (specially-named "child nodes" that we use in JSON // in order to identify attributes) should have been handled in the caller if (endsin(iter.key(), "#metadata")) - error_json2node("iter.key() ends in \"#metadata\""); + error_json2node("JSON key ends in \"#metadata\""); // ------------------------ // key @@ -54,247 +124,64 @@ bool json2node(const orderedJSON::const_iterator &iter, NODE &node) // ==> children // ------------------------ - const orderedJSON &json = iter.value(); - for (auto elem = json.begin(); elem != json.end(); ++elem) { + const orderedJSON &children = iter.value(); + for (auto keyval = children.begin(); keyval != children.end(); ++keyval) { + const std::string &key = keyval.key(); - // ------------------------ // #nodename - // ------------------------ - - // Handled not as a regular metadatum, - // but as the present node's true name. - if (elem.key() == "#nodename") { - node.name = elem->get(); + // Special entry, giving the parent Node's original name + if (key == "#nodename") { + node.name = keyval->get(); continue; } - // ------------------------ - // #cdata - // ------------------------ - - // Possibly with a numeric suffix. - // Expand into a child node #cdata with a #text attribute. - if (beginsin(elem.key(),"#cdata")) { - // 3 cases: - // cdata: { metadata/text } - // cdata: { nodename, metadata/text } - // cdata: "string" - assert(elem->is_object() || elem->is_string()); - - if (elem->is_object()) { - try { - if (!json2node(elem,node.add())) - return false; - } catch (...) { - log::function("json2node()"); - throw; - } - } - - if (elem->is_string()) { - node.add("#cdata").add("#text",elem->get()); - } - + // #metadata + if (key == "#metadata") { + assert(keyval->is_object()); + const orderedJSON &jsub = keyval.value(); + for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) + json_pair(node,attr); continue; - } // "#cdata" - - // ------------------------ - // #comment - // Like cdata case above - // ------------------------ + } + // #cdata/#comment // Possibly with a numeric suffix. - // Expand into a child node #comment with a #text attribute. - if (beginsin(elem.key(),"#comment")) { - assert(elem->is_object() || elem->is_string()); - if (elem->is_object()) { + // Expand into a child node #cdata/#comment with a #text attribute. + if (beginsin(key,"#cdata") || beginsin(key,"#comment")) { + assert(keyval->is_object() || keyval->is_string()); + if (keyval->is_object()) try { - if (!json2node(elem,node.add())) + if (!json2node(keyval,node.add())) return false; } catch (...) { log::function("json2node()"); throw; } - } - if (elem->is_string()) - node.add("#comment").add("#text",elem->get()); + else if (keyval->is_string()) + node.add(beginsin(key,"#cdata") ? "#cdata" : "#comment") + .add("#text",keyval->get()); continue; - } // "#comment" + } - // ------------------------ // #pcdata - // ------------------------ - - if (beginsin(elem.key(),"#pcdata")) { - assert(elem->is_object() || elem->is_array()); - - if (elem->is_object()) { + // Possibly with a numeric suffix. + if (beginsin(key,"#pcdata")) { + assert(keyval->is_object() || keyval->is_array()); + if (keyval->is_object()) try { - if (!json2node(elem,node.add())) + if (!json2node(keyval,node.add())) return false; } catch (...) { log::function("json2node()"); throw; } - } // #pcdata is_object() - - if (elem->is_array()) { - std::ostringstream oss; int count = 0; - for (const orderedJSON &e : *elem) { - oss << (count ? " " : ""); - if (e.is_number_integer()) - oss << e.get(); - else if (e.is_number_unsigned()) - oss << e.get(); - else if (e.is_number_float()) - oss << e.get(); - else if (e.is_string()) - oss << e.get(); - else { - assert(false); - } - count++; - } - node.add("#pcdata").add("#text",oss.str()); - } // #pcdata is_array() - continue; - } // #pcdata - - // ------------------------ - // #metadata - // ------------------------ - - if (elem.key() == "#metadata") { - assert(elem->is_object()); - - const orderedJSON &jsub = elem.value(); - for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) { - // number: integer - if (attr->is_number_integer()) { - node.add(attr.key(), attr->get()); - continue; - } - - // number: unsigned - if (attr->is_number_unsigned()) { - node.add(attr.key(), attr->get()); - continue; - } - - // number: double - if (attr->is_number_float()) { - node.add(attr.key(), attr->get()); - continue; - } - - // string - if (attr->is_string()) { - node.add(attr.key(), attr->get()); - continue; - } - - // array - if (attr->is_array()) { - std::ostringstream oss; int count = 0; - for (const orderedJSON &e : *attr) { - oss << (count ? " " : ""); - if (e.is_number_integer()) - oss << e.get(); - else if (e.is_number_unsigned()) - oss << e.get(); - else if (e.is_number_float()) - oss << e.get(); - else if (e.is_string()) - oss << e.get(); - else { - assert(false); - } - count++; - } - node.add(attr.key(), oss.str()); - continue; - } // is_array - - assert(false); - } // for (attr) + else // array + node.add("#pcdata").add("#text",json_array(*keyval)); continue; - } // #metadata + } - // ------------------------ // general - // ------------------------ - - // number: integer - if (elem->is_number_integer()) { - node.add(elem.key(), elem->get()); - continue; - } // is_number_integer - - // number: unsigned - if (elem->is_number_unsigned()) { - node.add(elem.key(), elem->get()); - continue; - } // is_number_unsigned - - // number: double - if (elem->is_number_float()) { - node.add(elem.key(), elem->get()); - continue; - } // is_number_float - - // string - if (elem->is_string()) { - // string? ...extract as metadata key/value pair - node.add(elem.key(), elem->get()); - continue; - } // is_string - - // object - if (elem->is_object()) { - // {} object? ...extract as normal child node - try { - if (!json2node(elem,node.add())) - return false; - } catch (...) { - log::function("json2node()"); - throw; - } - continue; - } // is_object - - // array - if (elem->is_array()) { - std::ostringstream oss; int count = 0; - for (const orderedJSON &e : *elem) { - oss << (count ? " " : ""); - if (e.is_number_integer()) - oss << e.get(); - else if (e.is_number_unsigned()) - oss << e.get(); - else if (e.is_number_float()) - oss << e.get(); - else if (e.is_string()) - oss << e.get(); - else { - assert(false); - } - count++; - } - node.add(elem.key(), oss.str()); - continue; - } // is_array - - // null - if (elem->is_null()) { - // null node? ...extract as normal (albeit empty) child node - // In GNDS, e.g. XML's or - node.add().name = elem.key(); - continue; - } // is_null - - // no other cases are handled right now - error_json2node("unhandled JSON value type"); - assert(false); + json_pair(node,keyval); } // for each element of the key/value corresponding to the Node From 3ee65d7696fedd64931a4f2793fff21a1c5c1c5c Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 31 May 2022 02:22:44 -0600 Subject: [PATCH 097/235] More updates to the work on JSON improvements. Additional tests for those, too. --- src/GNDStk/JSON/test/JSON.test.cpp | 6 +- src/GNDStk/convert/src/Node.hpp | 5 +- src/GNDStk/convert/src/detail-hdf52node.hpp | 24 ++- src/GNDStk/convert/src/detail-json2node.hpp | 188 ++++++++++---------- src/GNDStk/convert/src/detail-xml2node.hpp | 14 +- 5 files changed, 116 insertions(+), 121 deletions(-) diff --git a/src/GNDStk/JSON/test/JSON.test.cpp b/src/GNDStk/JSON/test/JSON.test.cpp index 94ba779dc..6d43ce8c0 100644 --- a/src/GNDStk/JSON/test/JSON.test.cpp +++ b/src/GNDStk/JSON/test/JSON.test.cpp @@ -128,7 +128,6 @@ void writeAndReadJSON( // Test #2. Ensure that file newFile (written above, from the original Tree) // is identical to the vetted JSON file vettedFile. -#if 0 // <== intentional; see above remark std::ifstream ifsWant(vettedFile); std::stringstream bufWant; bufWant << ifsWant.rdbuf(); @@ -140,7 +139,6 @@ void writeAndReadJSON( std::cout << "bufHave.str().size() == " << bufHave.str().size() << std::endl; CHECK(bufWant.str() == bufHave.str()); -#endif } @@ -162,8 +160,8 @@ SCENARIO("Testing GNDStk JSON, Part I") { // for doing so: JSON::reduced = false/true (x) JSON::typed = false/true writeAndReadJSON(tree, false, false, correct, "raw-string"); writeAndReadJSON(tree, false, true, correct, "raw-typed"); - /////writeAndReadJSON(tree, true, false, correct, "reduced-string"); - /////writeAndReadJSON(tree, true, true, correct, "reduced-typed"); + writeAndReadJSON(tree, true, false, correct, "reduced-string"); + writeAndReadJSON(tree, true, true, correct, "reduced-typed"); } } diff --git a/src/GNDStk/convert/src/Node.hpp b/src/GNDStk/convert/src/Node.hpp index acebe16d0..226e44b3e 100644 --- a/src/GNDStk/convert/src/Node.hpp +++ b/src/GNDStk/convert/src/Node.hpp @@ -142,7 +142,10 @@ inline bool convert(const JSON &j, Node &node, const bool &DECL) // ------------------------ // visit the node, and its children recursively - if (!detail::json2node(j.doc.begin(), decl ? node.add() : node)) + if (!detail::json2node( + j.doc.begin().key(), *j.doc.begin(), + decl ? node.add() : node + )) return false; } catch (...) { diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index c3d51235a..367905197 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -2,8 +2,8 @@ // rootHDF5Name: name of the root HDF5 group inline const std::string rootHDF5Name = "/"; -// Helper: error_hdf52node -inline void error_hdf52node(const std::string &message) +// Helper: hdf52node_error +inline void hdf52node_error(const std::string &message) { log::error( "Internal error in hdf52node():\n" @@ -172,13 +172,9 @@ bool hdf52node( ) { // the node sent here should be fresh, ready to receive entries if (requireEmpty && !node.empty()) - error_hdf52node("!node.empty()"); - - // ------------------------ - // HDF5 group name - // ==> node name - // ------------------------ + hdf52node_error("!node.empty()"); + // node name: from HDF5 group name node.name = groupName == rootHDF5Name ? slashTreeName : groupName; // ------------------------ @@ -232,7 +228,7 @@ bool hdf52node( // File // NOT EXPECTED IN THIS CONTEXT case HighFive::ObjectType::File : - error_hdf52node("ObjectType \"File\" is not expected here"); + hdf52node_error("ObjectType \"File\" is not expected here"); break; // Group @@ -250,13 +246,13 @@ bool hdf52node( // UserDataType // NOT HANDLED; These may or may not ever be needed case HighFive::ObjectType::UserDataType : - error_hdf52node("ObjectType \"UserDataType\" is not supported"); + hdf52node_error("ObjectType \"UserDataType\" is not supported"); break; // DataSpace (not to be confused with DataSet) // NOT EXPECTED IN THIS CONTEXT case HighFive::ObjectType::DataSpace : - error_hdf52node("ObjectType \"DataSpace\" is not expected here"); + hdf52node_error("ObjectType \"DataSpace\" is not expected here"); break; // DataSet @@ -281,19 +277,19 @@ bool hdf52node( // because we already handled attributes earlier. So, here, we just // produce an error if ObjectType::Attribute inexplicably made an // appearance here, where we don't expect it. - error_hdf52node("ObjectType \"Attribute\" is not expected here"); + hdf52node_error("ObjectType \"Attribute\" is not expected here"); break; // Other // NOT HANDLED; We're not sure when this would arise case HighFive::ObjectType::Other : - error_hdf52node("ObjectType \"Other\" is not supported"); + hdf52node_error("ObjectType \"Other\" is not supported"); break; // default // NOT HANDLED; our switch() should have covered all bases default: - error_hdf52node("ObjectType [unknown] is not supported"); + hdf52node_error("ObjectType [unknown] is not supported"); break; } // switch diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index c78d5e969..d97382555 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -1,6 +1,6 @@ -// Helper: error_json2node -inline void error_json2node(const std::string &message) +// Helper: json2node_error +inline void json2node_error(const std::string &message) { log::error( "Internal error in json2node():\n" @@ -9,28 +9,33 @@ inline void error_json2node(const std::string &message) throw std::exception{}; } +// json2node: forward declaration +template +bool json2node(const std::string &, const orderedJSON &, NODE &); + // ----------------------------------------------------------------------------- // json_array // ----------------------------------------------------------------------------- -inline std::string json_array(const orderedJSON &attr) +inline std::string json_array(const orderedJSON &meta) { std::ostringstream oss; int count = 0; - for (const orderedJSON &e : attr) { + for (const orderedJSON &m : meta) { oss << (count++ ? " " : ""); - if (e.is_string()) - oss << e.get(); - else if (e.is_number_integer()) - oss << e.get(); - else if (e.is_number_unsigned()) - oss << e.get(); - else if (e.is_number_float()) - oss << e.get(); - else + if (m.is_string()) + oss << m.get(); + else if (m.is_number_integer()) + oss << m.get(); + else if (m.is_number_unsigned()) + oss << m.get(); + else if (m.is_number_float()) + oss << m.get(); + else { assert(false); + } } return oss.str(); @@ -42,40 +47,50 @@ inline std::string json_array(const orderedJSON &attr) // ----------------------------------------------------------------------------- template -bool json2node(const orderedJSON::const_iterator &iter, NODE &node); - -template -bool json_pair(NODE &node, const orderedJSON::const_iterator &keyval) -{ - const std::string key = keyval.key(); - - if (keyval->is_null()) { +bool json_pair( + NODE &node, const orderedJSON &siblings, + const std::string &key, const orderedJSON &value, + const bool plain +) { + if (value.is_null()) { // *** null - // Create a normal (albeit empty) child node. - // Example in XML GNDS: . node.add(key); - } else if (keyval->is_boolean()) { + } else if (value.is_boolean()) { // *** boolean - node.add(key, keyval->get() ? "true" : "false"); - } else if (keyval->is_number_integer()) { + node.add(key, value.get() ? "true" : "false"); + } else if (value.is_number_integer()) { // *** number: integer - node.add(key, keyval->get()); - } else if (keyval->is_number_unsigned()) { + node.add(key, value.get()); + } else if (value.is_number_unsigned()) { // *** number: unsigned - node.add(key, keyval->get()); - } else if (keyval->is_number_float()) { + node.add(key, value.get()); + } else if (value.is_number_float()) { // *** number: double - node.add(key, keyval->get()); - } else if (keyval->is_string()) { + node.add(key, value.get()); + } else if (value.is_string()) { // *** string - node.add(key, keyval->get()); - } else if (keyval->is_array()) { + node.add(key, value.get()); + } else if (value.is_array()) { // *** array - node.add(key, json_array(*keyval)); - } else if (keyval->is_object()) { + if (plain) + node.add(key, json_array(value)); + else { + Node &child = node.add(key); + child.add("#pcdata").add("#text", json_array(value)); + for (auto sib = siblings.begin(); sib != siblings.end(); ++sib) { + if (sib.key() == key + "#nodename") + child.name = sib->get(); + else if (sib.key() == key + "#metadata") { + const orderedJSON &jsub = sib.value(); + for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) + json_pair(child, orderedJSON{}, attr.key(), *attr, true); + } + } + } + } else if (value.is_object()) { // *** object try { - if (!json2node(keyval,node.add())) + if (!json2node(key, value, node.add())) return false; } catch (...) { log::function("json2node()"); @@ -83,7 +98,7 @@ bool json_pair(NODE &node, const orderedJSON::const_iterator &keyval) } } else { // *** unknown! - error_json2node("Unknown/unhandled JSON value type"); + json2node_error("Unknown/unhandled JSON value type"); } return true; @@ -96,27 +111,24 @@ bool json_pair(NODE &node, const orderedJSON::const_iterator &keyval) // NODE is GNDStk::Node, which is an "incomplete type" to the compiler here. template -bool json2node(const orderedJSON::const_iterator &iter, NODE &node) +bool json2node(const std::string &key, const orderedJSON &value, NODE &node) { // the node sent here should be fresh, ready to receive entries if (!node.empty()) - error_json2node("!node.empty()"); + json2node_error("!node.empty()"); // non-(JSON "objects") should have been handled in the caller - if (!iter->is_object()) - error_json2node("JSON value !is_object()"); - - // any "#metadata" keys (specially-named "child nodes" that we use in JSON - // in order to identify attributes) should have been handled in the caller - if (endsin(iter.key(), "#metadata")) - error_json2node("JSON key ends in \"#metadata\""); + if (!value.is_object()) + json2node_error("JSON value !is_object()"); - // ------------------------ - // key - // ==> node name - // ------------------------ + // the following cases should have been handled in the caller + if (endsin(key, "#nodename")) + json2node_error("JSON key ends in \"#nodename\""); + if (endsin(key, "#metadata")) + json2node_error("JSON key ends in \"#metadata\""); - node.name = iter.key(); + // node name: from key + node.name = key; // ------------------------ // JSON object's elements @@ -124,66 +136,52 @@ bool json2node(const orderedJSON::const_iterator &iter, NODE &node) // ==> children // ------------------------ - const orderedJSON &children = iter.value(); - for (auto keyval = children.begin(); keyval != children.end(); ++keyval) { - const std::string &key = keyval.key(); + const orderedJSON &siblings = value; + for (auto keyval = value.begin(); keyval != value.end(); ++keyval) { + const std::string &key = keyval.key(); + const orderedJSON &child = keyval.value(); - // #nodename - // Special entry, giving the parent Node's original name if (key == "#nodename") { - node.name = keyval->get(); - continue; - } - - // #metadata - if (key == "#metadata") { - assert(keyval->is_object()); - const orderedJSON &jsub = keyval.value(); - for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) - json_pair(node,attr); - continue; - } - - // #cdata/#comment - // Possibly with a numeric suffix. - // Expand into a child node #cdata/#comment with a #text attribute. - if (beginsin(key,"#cdata") || beginsin(key,"#comment")) { - assert(keyval->is_object() || keyval->is_string()); - if (keyval->is_object()) + // *** #nodename + // Special entry, giving the parent Node's original name + node.name = child.get(); + } else if (key == "#metadata") { + // *** #metadata + for (auto attr = child.begin(); attr != child.end(); ++attr) + json_pair(node, orderedJSON{}, attr.key(), *attr, true); + } else if (beginsin(key,"#cdata") || beginsin(key,"#comment")) { + // *** #cdata[N]/#comment[N] + // Expand into a child node #cdata/#comment with a #text attribute. + if (child.is_object()) try { - if (!json2node(keyval,node.add())) + if (!json2node(key, child, node.add())) return false; } catch (...) { log::function("json2node()"); throw; } - else if (keyval->is_string()) + else node.add(beginsin(key,"#cdata") ? "#cdata" : "#comment") - .add("#text",keyval->get()); - continue; - } - - // #pcdata - // Possibly with a numeric suffix. - if (beginsin(key,"#pcdata")) { - assert(keyval->is_object() || keyval->is_array()); - if (keyval->is_object()) + .add("#text",child.get()); + } else if (beginsin(key,"#pcdata")) { + // *** #pcdata[N] + if (child.is_object()) try { - if (!json2node(keyval,node.add())) + if (!json2node(key, child, node.add())) return false; } catch (...) { log::function("json2node()"); throw; } else // array - node.add("#pcdata").add("#text",json_array(*keyval)); - continue; + node.add("#pcdata").add("#text", json_array(child)); + } else if (endsin(key,"#nodename") || endsin(key,"#metadata")) { + // *** Ignore, in this context + } else { + // *** General case + json_pair(node, siblings, key, child, false); } - - // general - json_pair(node,keyval); - - } // for each element of the key/value corresponding to the Node + } // for each element of the key/value pair corresponding to the Node // done return true; diff --git a/src/GNDStk/convert/src/detail-xml2node.hpp b/src/GNDStk/convert/src/detail-xml2node.hpp index 8b51a758f..bb68b5e2b 100644 --- a/src/GNDStk/convert/src/detail-xml2node.hpp +++ b/src/GNDStk/convert/src/detail-xml2node.hpp @@ -3,8 +3,8 @@ // Helpers // ----------------------------------------------------------------------------- -// error_xml2node -inline void error_xml2node(const std::string &type) +// xml2node_error +inline void xml2node_error(const std::string &type) { log::error( "Internal error in xml2node():\n" @@ -68,17 +68,17 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) // I don't think that the following should ever appear in this context if (xsub.type() == pugi::node_document) - error_xml2node("node_document"); + xml2node_error("node_document"); if (xsub.type() == pugi::node_declaration) - error_xml2node("node_declaration"); + xml2node_error("node_declaration"); // For now I won't handle these; let's ensure that we don't see them if (xsub.type() == pugi::node_null) - error_xml2node("node_null"); + xml2node_error("node_null"); if (xsub.type() == pugi::node_pi) - error_xml2node("node_pi"); + xml2node_error("node_pi"); if (xsub.type() == pugi::node_doctype) - error_xml2node("node_doctype"); + xml2node_error("node_doctype"); // ------------------------ // element (typical case) From 91da1bfcaef294d699896d2dbfc7347dfc200d20 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 31 May 2022 14:27:08 -0600 Subject: [PATCH 098/235] More JSON code updates. --- src/GNDStk/convert/src/detail-json2node.hpp | 102 +++++++++----------- 1 file changed, 45 insertions(+), 57 deletions(-) diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index d97382555..3ba9b2640 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -33,9 +33,8 @@ inline std::string json_array(const orderedJSON &meta) oss << m.get(); else if (m.is_number_float()) oss << m.get(); - else { - assert(false); - } + else + json2node_error("JSON array element has unexpected type"); } return oss.str(); @@ -49,8 +48,7 @@ inline std::string json_array(const orderedJSON &meta) template bool json_pair( NODE &node, const orderedJSON &siblings, - const std::string &key, const orderedJSON &value, - const bool plain + const std::string &key, const orderedJSON &value, const bool metadatum ) { if (value.is_null()) { // *** null @@ -72,19 +70,17 @@ bool json_pair( node.add(key, value.get()); } else if (value.is_array()) { // *** array - if (plain) + if (metadatum) node.add(key, json_array(value)); else { Node &child = node.add(key); child.add("#pcdata").add("#text", json_array(value)); - for (auto sib = siblings.begin(); sib != siblings.end(); ++sib) { + for (const auto &sib : siblings.items()) { if (sib.key() == key + "#nodename") - child.name = sib->get(); - else if (sib.key() == key + "#metadata") { - const orderedJSON &jsub = sib.value(); - for (auto attr = jsub.begin(); attr != jsub.end(); ++attr) - json_pair(child, orderedJSON{}, attr.key(), *attr, true); - } + child.name = sib.value().get(); + else if (sib.key() == key + "#metadata") + for (const auto &m : sib.value().items()) + json_pair(child, orderedJSON{}, m.key(), m.value(), true); } } } else if (value.is_object()) { @@ -97,8 +93,8 @@ bool json_pair( throw; } } else { - // *** unknown! - json2node_error("Unknown/unhandled JSON value type"); + // *** unknown + json2node_error("JSON value type unknown or not handled"); } return true; @@ -111,23 +107,23 @@ bool json_pair( // NODE is GNDStk::Node, which is an "incomplete type" to the compiler here. template -bool json2node(const std::string &key, const orderedJSON &value, NODE &node) +bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) { - // the node sent here should be fresh, ready to receive entries + // The node sent here should be fresh, ready to receive entries if (!node.empty()) - json2node_error("!node.empty()"); + json2node_error("Node not empty()"); - // non-(JSON "objects") should have been handled in the caller - if (!value.is_object()) - json2node_error("JSON value !is_object()"); + // Non-(JSON "objects") should have been handled in the caller + if (!siblings.is_object()) + json2node_error("JSON value !is_object() not expected here"); - // the following cases should have been handled in the caller + // The following cases should have been handled in the caller if (endsin(key, "#nodename")) - json2node_error("JSON key ends in \"#nodename\""); + json2node_error("JSON key ending in \"#nodename\" not expected here"); if (endsin(key, "#metadata")) - json2node_error("JSON key ends in \"#metadata\""); + json2node_error("JSON key ending in \"#metadata\" not expected here"); - // node name: from key + // Node name: from key node.name = key; // ------------------------ @@ -136,52 +132,44 @@ bool json2node(const std::string &key, const orderedJSON &value, NODE &node) // ==> children // ------------------------ - const orderedJSON &siblings = value; - for (auto keyval = value.begin(); keyval != value.end(); ++keyval) { - const std::string &key = keyval.key(); - const orderedJSON &child = keyval.value(); + for (const auto &child : siblings.items()) { + const std::string &childkey = child.key(); + const orderedJSON &childval = child.value(); - if (key == "#nodename") { + if (childkey == "#nodename") { // *** #nodename - // Special entry, giving the parent Node's original name - node.name = child.get(); - } else if (key == "#metadata") { + node.name = childval.get(); + } else if (childkey == "#metadata") { // *** #metadata - for (auto attr = child.begin(); attr != child.end(); ++attr) - json_pair(node, orderedJSON{}, attr.key(), *attr, true); - } else if (beginsin(key,"#cdata") || beginsin(key,"#comment")) { - // *** #cdata[N]/#comment[N] - // Expand into a child node #cdata/#comment with a #text attribute. - if (child.is_object()) + for (const auto &m : childval.items()) + json_pair(node, orderedJSON{}, m.key(), m.value(), true); + } else if ( + beginsin(childkey,"#cdata") || + beginsin(childkey,"#comment") || + beginsin(childkey,"#pcdata") + ) { + // *** #cdata[N], #comment[N], #pcdata[N] + if (childval.is_object()) try { - if (!json2node(key, child, node.add())) + if (!json2node(childkey, childval, node.add())) return false; } catch (...) { log::function("json2node()"); throw; } else - node.add(beginsin(key,"#cdata") ? "#cdata" : "#comment") - .add("#text",child.get()); - } else if (beginsin(key,"#pcdata")) { - // *** #pcdata[N] - if (child.is_object()) - try { - if (!json2node(key, child, node.add())) - return false; - } catch (...) { - log::function("json2node()"); - throw; - } - else // array - node.add("#pcdata").add("#text", json_array(child)); - } else if (endsin(key,"#nodename") || endsin(key,"#metadata")) { + beginsin(childkey,"#pcdata") + ? node.add("#pcdata" ).add("#text", json_array(childval)) + : beginsin(childkey,"#cdata") + ? node.add("#cdata" ).add("#text", childval.get()) + : node.add("#comment").add("#text", childval.get()); + } else if (endsin(childkey,"#nodename") || endsin(childkey,"#metadata")) { // *** Ignore, in this context } else { // *** General case - json_pair(node, siblings, key, child, false); + json_pair(node, siblings, childkey, childval, false); } - } // for each element of the key/value pair corresponding to the Node + } // done return true; From 7669c83c0e14abcf7c25b341fe40094d1cee6d06 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 1 Jun 2022 10:00:58 -0600 Subject: [PATCH 099/235] Finishing up some JSON work. --- .../test/resources/correct-raw-string.json | 13 ---- .../test/resources/correct-raw-typed.json | 13 ---- src/GNDStk/convert/src/detail-json2node.hpp | 36 +++++++---- src/GNDStk/convert/src/detail-node2json.hpp | 63 +++++++++++-------- 4 files changed, 61 insertions(+), 64 deletions(-) diff --git a/src/GNDStk/JSON/test/resources/correct-raw-string.json b/src/GNDStk/JSON/test/resources/correct-raw-string.json index 2fc450444..a99b5378b 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-string.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-string.json @@ -18,19 +18,16 @@ }, "comments": { "#comment0": { - "#nodename": "#comment", "#metadata": { "#text": "Comment #0" } }, "#comment1": { - "#nodename": "#comment", "#metadata": { "#text": "Comment #1" } }, "#comment2": { - "#nodename": "#comment", "#metadata": { "#text": "Comment #2" } @@ -93,13 +90,11 @@ }, "twocdata": { "#cdata0": { - "#nodename": "#cdata", "#metadata": { "#text": "Block #0 of CDATA" } }, "#cdata1": { - "#nodename": "#cdata", "#metadata": { "#text": "Block #1 of CDATA" } @@ -140,49 +135,41 @@ }, "various": { "#cdata0": { - "#nodename": "#cdata", "#metadata": { "#text": "More CDATA" } }, "#cdata1": { - "#nodename": "#cdata", "#metadata": { "#text": "Some CDATA" } }, "#comment0": { - "#nodename": "#comment", "#metadata": { "#text": "First comment" } }, "#comment1": { - "#nodename": "#comment", "#metadata": { "#text": "Second comment" } }, "#comment2": { - "#nodename": "#comment", "#metadata": { "#text": "Third comment" } }, "#pcdata0": { - "#nodename": "#pcdata", "#metadata": { "#text": "1 2 3 4" } }, "#pcdata1": { - "#nodename": "#pcdata", "#metadata": { "#text": "9.87 6.54 3.21" } }, "#pcdata2": { - "#nodename": "#pcdata", "#metadata": { "#text": "a b c d e f g" } diff --git a/src/GNDStk/JSON/test/resources/correct-raw-typed.json b/src/GNDStk/JSON/test/resources/correct-raw-typed.json index 536655f5c..4781e5189 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-typed.json @@ -25,19 +25,16 @@ }, "comments": { "#comment0": { - "#nodename": "#comment", "#metadata": { "#text": "Comment #0" } }, "#comment1": { - "#nodename": "#comment", "#metadata": { "#text": "Comment #1" } }, "#comment2": { - "#nodename": "#comment", "#metadata": { "#text": "Comment #2" } @@ -118,13 +115,11 @@ }, "twocdata": { "#cdata0": { - "#nodename": "#cdata", "#metadata": { "#text": "Block #0 of CDATA" } }, "#cdata1": { - "#nodename": "#cdata", "#metadata": { "#text": "Block #1 of CDATA" } @@ -176,37 +171,31 @@ }, "various": { "#cdata0": { - "#nodename": "#cdata", "#metadata": { "#text": "More CDATA" } }, "#cdata1": { - "#nodename": "#cdata", "#metadata": { "#text": "Some CDATA" } }, "#comment0": { - "#nodename": "#comment", "#metadata": { "#text": "First comment" } }, "#comment1": { - "#nodename": "#comment", "#metadata": { "#text": "Second comment" } }, "#comment2": { - "#nodename": "#comment", "#metadata": { "#text": "Third comment" } }, "#pcdata0": { - "#nodename": "#pcdata", "#metadata": { "#text": [ 1, @@ -217,7 +206,6 @@ } }, "#pcdata1": { - "#nodename": "#pcdata", "#metadata": { "#text": [ 9.87, @@ -227,7 +215,6 @@ } }, "#pcdata2": { - "#nodename": "#pcdata", "#metadata": { "#text": [ "a", diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 3ba9b2640..070f255d5 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -25,16 +25,22 @@ inline std::string json_array(const orderedJSON &meta) for (const orderedJSON &m : meta) { oss << (count++ ? " " : ""); - if (m.is_string()) - oss << m.get(); - else if (m.is_number_integer()) + if (m.is_number_integer()) { + // *** number: integer oss << m.get(); - else if (m.is_number_unsigned()) + } else if (m.is_number_unsigned()) { + // *** number: unsigned oss << m.get(); - else if (m.is_number_float()) + } else if (m.is_number_float()) { + // *** number: double oss << m.get(); - else + } else if (m.is_string()) { + // *** string + oss << m.get(); + } else { + // *** unexpected json2node_error("JSON array element has unexpected type"); + } } return oss.str(); @@ -94,7 +100,7 @@ bool json_pair( } } else { // *** unknown - json2node_error("JSON value type unknown or not handled"); + json2node_error("JSON value has unexpected type"); } return true; @@ -111,20 +117,25 @@ bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) { // The node sent here should be fresh, ready to receive entries if (!node.empty()) - json2node_error("Node not empty()"); + json2node_error("Node is not empty"); // Non-(JSON "objects") should have been handled in the caller if (!siblings.is_object()) - json2node_error("JSON value !is_object() not expected here"); + json2node_error("JSON value !is_object(), but need object here"); // The following cases should have been handled in the caller if (endsin(key, "#nodename")) - json2node_error("JSON key ending in \"#nodename\" not expected here"); + json2node_error("JSON key ends in \"#nodename\": not expected here"); if (endsin(key, "#metadata")) - json2node_error("JSON key ending in \"#metadata\" not expected here"); + json2node_error("JSON key ends in \"#metadata\": not expected here"); // Node name: from key + // For special nodes (ones that begin with '#', e.g. "#cdata0"), + // we know that we can, and should, remove trailing digits. node.name = key; + if (key != "" && key[0] == '#') + while (isdigit(node.name.back())) + node.name.pop_back(); // ------------------------ // JSON object's elements @@ -164,7 +175,8 @@ bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) ? node.add("#cdata" ).add("#text", childval.get()) : node.add("#comment").add("#text", childval.get()); } else if (endsin(childkey,"#nodename") || endsin(childkey,"#metadata")) { - // *** Ignore, in this context + // *** Ignore, in this context. Note that childkey *equal* to either + // *** of those strings - not just endsin() them - was handled above. } else { // *** General case json_pair(node, siblings, childkey, childval, false); diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index 2e8145004..4b2a01388 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -212,18 +212,29 @@ void meta2json_plain(const NODE &node, orderedJSON &json) template void meta2json( - const NODE &node, orderedJSON &json, const std::string &suffix, - const std::string &base = "" + const NODE &node, orderedJSON &json, + const std::string &base, + const std::string &digits, + const std::string &prefix ) { - // Create #nodename iff necessary (allows recovery of original node name) - if (suffix != "") - json[base+"#nodename"] = node.name; + // Create #nodename iff necessary, to allow recovery of the node's original + // name. Note that #nodename is NOT necessary for special nodes: those that + // begin with '#', in particular #cdata, #pcdata, and #comment. For those, + // we can reliably reconstruct the original name by removing trailing digits. + // A regular node, in contrast, *might* have an actual name that has trailing + // digits (one user called a node "sigma0", for example); or, trailing digits + // might have been added - by us - solely for the purpose of disambiguating + // same-named child nodes (for example, "sigma") that appeared multiple times + // under the same XML parent (which is allowed), but which can't appear that + // way in JSON. (JSON doesn't allow duplicate keys in the same object). + if (digits != "" /* has digits */ && !beginsin(base,"#") /* isn't special */) + json[prefix+"#nodename"] = node.name; // Existing metadata if (node.metadata.size()) JSON::typed - ? meta2json_typed(node,json[base+"#metadata"]) - : meta2json_plain(node,json[base+"#metadata"]); + ? meta2json_typed(node,json[prefix+"#metadata"]) + : meta2json_plain(node,json[prefix+"#metadata"]); } @@ -238,7 +249,7 @@ void meta2json( // Simplify certain #cdata and #comment cases. template bool json_reduce_cdata_comment( - const NODE &node, orderedJSON &json, const std::string &suffix + const NODE &node, orderedJSON &json, const std::string &digits ) { // Original node name, and suffixed name. The latter is for handling child // nodes of the same name under the same parent node, and includes a numeric @@ -246,15 +257,15 @@ bool json_reduce_cdata_comment( // because JSON doesn't support same-named child nodes. In cases where the // name was unique to begin with, nameOriginal == nameSuffixed. const std::string nameOriginal = node.name; - const std::string nameSuffixed = node.name + suffix; + const std::string nameSuffixed = node.name + digits; // #cdata or #comment // #text the only metadatum // no children - // Reduce to: string value, w/name == (#cdata or #comment) + suffix + // Reduce to: string value, w/name == (#cdata or #comment) + digits // Sketch: // +-----------------+ +------------+ - // | #cdata/#comment | ==> | "name" : | name: #cdata/#comment + suffix + // | #cdata/#comment | ==> | "name" : | name: #cdata/#comment + digits // | #text | | "value" | // +-----------------+ +------------+ @@ -280,18 +291,18 @@ bool json_reduce_cdata_comment( // Simplify #pcdata case. template bool json_reduce_pcdata( - const NODE &node, orderedJSON &json, const std::string &suffix + const NODE &node, orderedJSON &json, const std::string &digits ) { const std::string nameOriginal = node.name; - const std::string nameSuffixed = node.name + suffix; + const std::string nameSuffixed = node.name + digits; // #pcdata // #text the only metadatum // no children - // Reduce to: array, w/name == #pcdata + suffix + // Reduce to: array, w/name == #pcdata + digits // Sketch: // +----------+ +----------+ - // | #pcdata | ==> | "name" : | name: #pcdata + suffix + // | #pcdata | ==> | "name" : | name: #pcdata + digits // | #text | | [...] | // +----------+ +----------+ @@ -331,19 +342,19 @@ bool json_reduce_pcdata( // Simplify case of node with #pcdata AND metadata template bool json_reduce_pcdata_metadata( - const NODE &node, orderedJSON &json, const std::string &suffix + const NODE &node, orderedJSON &json, const std::string &digits ) { - const std::string nameSuffixed = node.name + suffix; + const std::string nameSuffixed = node.name + digits; // name (think e.g. "values", as in XML ) // any number of metadata (possibly 0) // #pcdata the only child // #text the only metadatum // no children - // Reduce to: array, w/name == name + suffix; separately encoded metadata + // Reduce to: array, w/name == name + digits; separately encoded metadata // Sketch: // +---------------+ +----------------------+ - // | name | ==> | "name" : | name: name + suffix + // | name | ==> | "name" : | name: name + digits // | [metadata] | | [...] | // | #pcdata | | "name#metadata" : { | // | #text | | key/value pairs | @@ -378,7 +389,7 @@ bool json_reduce_pcdata_metadata( pcdata2Value(nameSuffixed, text, json); // metadata - meta2json(node, json, suffix, nameSuffixed); + meta2json(node, json, node.name, digits, nameSuffixed); return true; } @@ -393,18 +404,18 @@ bool json_reduce_pcdata_metadata( // NODE is just GNDStk::Node. The latter isn't used directly, because // it's an "incomplete type", to the compiler, at this point. template -bool node2json(const NODE &node, orderedJSON &j, const std::string &suffix = "") +bool node2json(const NODE &node, orderedJSON &j, const std::string &digits = "") { - const std::string nameSuffixed = node.name + suffix; + const std::string nameSuffixed = node.name + digits; // ------------------------ // Special cases // ------------------------ if (JSON::reduced && ( - json_reduce_cdata_comment (node,j,suffix) || - json_reduce_pcdata (node,j,suffix) || - json_reduce_pcdata_metadata(node,j,suffix) + json_reduce_cdata_comment (node,j,digits) || + json_reduce_pcdata (node,j,digits) || + json_reduce_pcdata_metadata(node,j,digits) )) return true; @@ -416,7 +427,7 @@ bool node2json(const NODE &node, orderedJSON &j, const std::string &suffix = "") orderedJSON &json = j[nameSuffixed]; // metadata - meta2json(node, json, suffix); + meta2json(node, json, node.name, digits, ""); // children - preprocess // First, account for what children appear in the current node. If any child From 5caca0ffab067bc07cd67c549892011568ea6ca8 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 1 Jun 2022 13:20:45 -0600 Subject: [PATCH 100/235] Put most instances of certain reappearing strings into constants. There are still some instances of the strings in question, typically appearing amongst other text inside of string literals. At some point I'll look into fixing up those cases too, but that's not a priority right now. --- docs/primer.rst | 2 +- src/GNDStk/Component/src/toNode.hpp | 5 +- src/GNDStk/HDF5/test/HDF5.test.cpp | 6 +- src/GNDStk/JSON/test/JSON.test.cpp | 2 +- src/GNDStk/Node/src/special.hpp | 29 +++-- src/GNDStk/Node/test/add.test.cpp | 2 +- src/GNDStk/Tree/src/decl.hpp | 4 +- src/GNDStk/Tree/src/has_decl.hpp | 4 +- src/GNDStk/Tree/src/has_top.hpp | 4 +- src/GNDStk/Tree/src/reset.hpp | 8 +- src/GNDStk/Tree/src/top.hpp | 4 +- src/GNDStk/Tree/test/call.test.cpp | 2 +- src/GNDStk/Tree/test/child.test.cpp | 6 +- src/GNDStk/Tree/test/ctor.test.cpp | 14 +- src/GNDStk/Tree/test/decl.test.cpp | 16 +-- src/GNDStk/Tree/test/many.test.cpp | 8 +- src/GNDStk/Tree/test/one.test.cpp | 12 +- src/GNDStk/Tree/test/reset.test.cpp | 14 +- src/GNDStk/XML/test/XML.test.cpp | 2 +- src/GNDStk/convert/src/HDF5.hpp | 5 +- src/GNDStk/convert/src/JSON.hpp | 5 +- src/GNDStk/convert/src/Node.hpp | 10 +- src/GNDStk/convert/src/XML.hpp | 8 +- src/GNDStk/convert/src/detail-hdf52node.hpp | 45 ++++--- src/GNDStk/convert/src/detail-json2node.hpp | 52 ++++---- src/GNDStk/convert/src/detail-node2hdf5.hpp | 76 +++++------ src/GNDStk/convert/src/detail-node2json.hpp | 129 ++++++++++--------- src/GNDStk/convert/src/detail-node2xml.hpp | 26 ++-- src/GNDStk/convert/src/detail-xml2node.hpp | 6 +- src/GNDStk/node2type/test/node2type.test.cpp | 7 +- src/GNDStk/test/keys.hpp | 36 +++--- src/GNDStk/type2node/test/type2node.test.cpp | 4 +- src/GNDStk/utility.hpp | 22 +++- 33 files changed, 312 insertions(+), 263 deletions(-) diff --git a/docs/primer.rst b/docs/primer.rst index e1530f918..fb7863db5 100644 --- a/docs/primer.rst +++ b/docs/primer.rst @@ -564,7 +564,7 @@ node. (Valid GNDS top-level nodes, per the standard, are ``reactionSuite``, about it for now. Naturally, GNDStk reverses the modifications when we *read* from a JSON file -into our internal format. Specifically: values in an ``#metadata`` block are +into our internal format. Specifically: values in a ``#metadata`` block are transformed into metadata in the enclosing node, and values from ``#nodename`` name/value pairs replace index-suffixed names. diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index 4b9964c83..83fcc306b 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -12,8 +12,9 @@ operator Node() const try { // Handle block data, if applicable if constexpr (hasBlockData) { - // GNDStk uses a "#text" metadatum of a "#pcdata" child node for this - std::string &text = node.add("#pcdata").add("#text","").second; + // GNDStk uses a TEXT metadatum of a PCDATA child node for this + std::string &text = + node.add(special::pcdata).add(special::text,"").second; BLOCKDATA::toNode(text); } diff --git a/src/GNDStk/HDF5/test/HDF5.test.cpp b/src/GNDStk/HDF5/test/HDF5.test.cpp index 9da8c309f..507421b2c 100644 --- a/src/GNDStk/HDF5/test/HDF5.test.cpp +++ b/src/GNDStk/HDF5/test/HDF5.test.cpp @@ -40,8 +40,8 @@ void writeAndReadHDF5( // reading process correctly recovers what we originally had in the internal // Tree format. IMPORTANT NOTE: It's actually not hard to create situations // where the Tree would look slightly different. Leading or trailing white - // space in #pcdata Nodes could, in some cases, disappear during the process - // of write-to-HDF5-then-read-back-in. Also, in the HDF5::typed cases, + // space in special::pcdata Nodes could, in some cases, disappear during the + // process of write-to-HDF5-then-read-back. Also, in the HDF5::typed cases, // strings that look like floating-point numbers may be converted to doubles // and back again. That could lead to differences, depending on how floating- // point numbers are written. We've *tried* to write our test files in such @@ -132,7 +132,7 @@ SCENARIO("Testing GNDStk HDF5, Part II") { THEN("The Tree should have only an empty declaration node") { CHECK(t.children.size() == 1); CHECK(t.has_decl()); - CHECK(t.decl().name == "#hdf5"); + CHECK(t.decl().name == special::hdf5); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); } diff --git a/src/GNDStk/JSON/test/JSON.test.cpp b/src/GNDStk/JSON/test/JSON.test.cpp index 6d43ce8c0..3a5b55f5d 100644 --- a/src/GNDStk/JSON/test/JSON.test.cpp +++ b/src/GNDStk/JSON/test/JSON.test.cpp @@ -193,7 +193,7 @@ SCENARIO("Testing GNDStk JSON, Part II") { THEN("The Tree should have only an empty declaration node") { CHECK(t.children.size() == 1); CHECK(t.has_decl()); - CHECK(t.decl().name == "#json"); + CHECK(t.decl().name == special::json); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); } diff --git a/src/GNDStk/Node/src/special.hpp b/src/GNDStk/Node/src/special.hpp index 2b14a9934..110339ea6 100644 --- a/src/GNDStk/Node/src/special.hpp +++ b/src/GNDStk/Node/src/special.hpp @@ -15,7 +15,7 @@ // so we can find this content whether we're in the outer Tree/Node (above the // top-level GNDS node), or inside the top-level node, or in fact inside *any* // node from which we can drill down as above, beginning with a documentations, -// documentation, or CDATA node, or even directly to a #text metadatum. +// documentation, or CDATA node, or even directly to a special::text metadatum. // // Note: CDATA nodes that we've seen in available GNDS files always begin with // a newline. It's tempting, perhaps, to chuck the newline, except that (1) we @@ -32,8 +32,8 @@ const std::string &documentation(bool &found = detail::default_bool) const static const Child docs ("documentations"), doc ("documentation"), - cdata("#cdata"); - static const Meta text("#text"); + cdata(special::cdata); + static const Meta text(special::text); // In Node n, we try to find CDATA text at any level of: // @@ -105,16 +105,16 @@ std::string &doc(bool &found = detail::default_bool) // const const std::string &cdata(bool &found = detail::default_bool) const { - static const Child cdata("#cdata"); - static const Meta text("#text"); + static const Child cdata(special::cdata); + static const Meta text(special::text); return (*this)(cdata, text, found); } // non-const std::string &cdata(bool &found = detail::default_bool) { - static const Child cdata("#cdata"); - static const Meta text("#text"); + static const Child cdata(special::cdata); + static const Meta text(special::text); return (*this)(cdata, text, found); } @@ -126,16 +126,16 @@ std::string &cdata(bool &found = detail::default_bool) // const const std::string &pcdata(bool &found = detail::default_bool) const { - static const Child pcdata("#pcdata"); - static const Meta text("#text"); + static const Child pcdata(special::pcdata); + static const Meta text(special::text); return (*this)(pcdata, text, found); } // non-const std::string &pcdata(bool &found = detail::default_bool) { - static const Child pcdata("#pcdata"); - static const Meta text("#text"); + static const Child pcdata(special::pcdata); + static const Meta text(special::text); return (*this)(pcdata, text, found); } @@ -158,8 +158,8 @@ const std::string &comment( std::size_t count = 0; for (auto &c : children) - if (c->name == "#comment" && count++ == i) - return c->meta("#text",found); + if (c->name == special::comment && count++ == i) + return c->meta(special::text,found); // not found static std::string empty; @@ -204,7 +204,8 @@ comments(bool &found = detail::default_bool) const CONTAINER container; const std::string *text; for (auto &c : children) - if (c->name == "#comment" && (text = &c->meta("#text",found),found)) + if (c->name == special::comment && + (text = &c->meta(special::text,found), found)) container.push_back(*text); return container; } diff --git a/src/GNDStk/Node/test/add.test.cpp b/src/GNDStk/Node/test/add.test.cpp index 8a342e4d7..468ae14c0 100644 --- a/src/GNDStk/Node/test/add.test.cpp +++ b/src/GNDStk/Node/test/add.test.cpp @@ -110,7 +110,7 @@ SCENARIO("Testing GNDStk Node add()") { auto numbers = Child< std::vector, Allow::one - >("#pcdata",std::vector{})/detail::convert_pcdata_text_t{}; + >(special::pcdata,std::vector{})/detail::convert_pcdata_text_t{}; auto nrepeat = Child("repeated node"); Node node1; node1.name = "aa11"; diff --git a/src/GNDStk/Tree/src/decl.hpp b/src/GNDStk/Tree/src/decl.hpp index be7cec129..b6654a306 100644 --- a/src/GNDStk/Tree/src/decl.hpp +++ b/src/GNDStk/Tree/src/decl.hpp @@ -12,7 +12,9 @@ const Node &decl() const throw std::exception{}; } for (auto &c : this->children) - if (c->name == "#xml" || c->name == "#json" || c->name == "#hdf5") + if (c->name == special::xml || + c->name == special::json || + c->name == special::hdf5) return *c; log::error("Tree's declaration node not found"); throw std::exception{}; diff --git a/src/GNDStk/Tree/src/has_decl.hpp b/src/GNDStk/Tree/src/has_decl.hpp index 4240bed75..d10d390a0 100644 --- a/src/GNDStk/Tree/src/has_decl.hpp +++ b/src/GNDStk/Tree/src/has_decl.hpp @@ -5,7 +5,9 @@ bool has_decl() const // Does the tree have something that looks like a declaration node? int count = 0; for (auto &c : this->children) - if (c->name == "#xml" || c->name == "#json" || c->name == "#hdf5") + if (c->name == special::xml || + c->name == special::json || + c->name == special::hdf5) count++; // Ill-formed if there's more than one such node diff --git a/src/GNDStk/Tree/src/has_top.hpp b/src/GNDStk/Tree/src/has_top.hpp index 12c4775ee..c16722ad0 100644 --- a/src/GNDStk/Tree/src/has_top.hpp +++ b/src/GNDStk/Tree/src/has_top.hpp @@ -10,7 +10,9 @@ bool has_top() const // defined as something that *doesn't* look like a declaration node? int count = 0; for (auto &c : this->children) - if (c->name != "#xml" && c->name != "#json" && c->name != "#hdf5") + if (c->name != special::xml && + c->name != special::json && + c->name != special::hdf5) count++; // Ill-formed if there's more than one such node diff --git a/src/GNDStk/Tree/src/reset.hpp b/src/GNDStk/Tree/src/reset.hpp index c030a6294..595deb628 100644 --- a/src/GNDStk/Tree/src/reset.hpp +++ b/src/GNDStk/Tree/src/reset.hpp @@ -33,7 +33,7 @@ Tree &reset( clear(); try { - // Declaration node: "#xml", etc. + // Declaration node: special::xml, etc. // This can specify an eventual intended file format // for the GNDS hierarchy. if (format == FileType::xml || @@ -41,15 +41,15 @@ Tree &reset( format == FileType::debug ) { // xml, guess, tree - add("#xml"); + add(special::xml); decl().add("version", detail::sent(version ) ? version : "1.0" ); decl().add("encoding", detail::sent(encoding) ? encoding : "UTF-8"); } else if (format == FileType::json) { // json - add("#json"); + add(special::json); } else if (format == FileType::hdf5) { // hdf5 - add("#hdf5"); + add(special::hdf5); } else { log::error( "Internal error in Tree.reset(" + detail::keyname(kwd) + diff --git a/src/GNDStk/Tree/src/top.hpp b/src/GNDStk/Tree/src/top.hpp index e57b8c096..6b910a36c 100644 --- a/src/GNDStk/Tree/src/top.hpp +++ b/src/GNDStk/Tree/src/top.hpp @@ -12,7 +12,9 @@ const Node &top() const throw std::exception{}; } for (auto &c : this->children) - if (c->name != "#xml" && c->name != "#json" && c->name != "#hdf5") + if (c->name != special::xml && + c->name != special::json && + c->name != special::hdf5) return *c; log::error("Tree's top-level GNDS node not found"); throw std::exception{}; diff --git a/src/GNDStk/Tree/test/call.test.cpp b/src/GNDStk/Tree/test/call.test.cpp index 7a954e948..49b78486f 100644 --- a/src/GNDStk/Tree/test/call.test.cpp +++ b/src/GNDStk/Tree/test/call.test.cpp @@ -28,7 +28,7 @@ inline void convert(const NODE &node, xml_t &out) out.encoding = node.meta(encoding); } -inline const Child xml("#xml"); +inline const Child xml(special::xml); // ------------------------ diff --git a/src/GNDStk/Tree/test/child.test.cpp b/src/GNDStk/Tree/test/child.test.cpp index 466cf8288..fa093a212 100644 --- a/src/GNDStk/Tree/test/child.test.cpp +++ b/src/GNDStk/Tree/test/child.test.cpp @@ -37,9 +37,9 @@ inline void convert(const NODE &node, xml_t &out) // keyword: my_xml_keyword // Users can write custom Child objects like this, and then use them in -// child() functions. Here, "#xml" is what the keyword uses to look up nodes -// that can be converted to xml_t objects via the above convert(). -inline const Child my_xml_keyword("#xml"); +// child() functions. Here, special::xml is what the keyword uses to look +// up nodes that can be converted to xml_t objects via the above convert(). +inline const Child my_xml_keyword(special::xml); diff --git a/src/GNDStk/Tree/test/ctor.test.cpp b/src/GNDStk/Tree/test/ctor.test.cpp index 5a8cbc682..406a22d20 100644 --- a/src/GNDStk/Tree/test/ctor.test.cpp +++ b/src/GNDStk/Tree/test/ctor.test.cpp @@ -126,7 +126,7 @@ SCENARIO("Testing GNDStk tree constructors") { WHEN("We call: Tree(top-level node)") { Tree t(reactionSuite); THEN("We can make various decl() and top() queries") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "1.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -140,7 +140,7 @@ SCENARIO("Testing GNDStk tree constructors") { WHEN("We call: Tree(top-level node, file format)") { Tree t(reactionSuite, FileType::json); THEN("We can make various decl() and top() queries") { - CHECK(t.decl().name == "#json"); + CHECK(t.decl().name == special::json); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); CHECK(t.top().name == "reactionSuite"); @@ -152,7 +152,7 @@ SCENARIO("Testing GNDStk tree constructors") { WHEN("We call: Tree(top-level node, file format, version)") { Tree t(covarianceSuite, FileType::guess, "2.0"); THEN("We can make various decl() and top() queries") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "2.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -166,7 +166,7 @@ SCENARIO("Testing GNDStk tree constructors") { WHEN("We call: Tree(top-level node, file format, version, encoding)") { Tree t(covarianceSuite, FileType::xml, "3.0", "UTF-9"); THEN("We can make various decl() and top() queries") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "3.0"); CHECK(t.decl().meta("encoding") == "UTF-9"); @@ -180,7 +180,7 @@ SCENARIO("Testing GNDStk tree constructors") { WHEN("We call: Tree(top-level node, string)") { Tree t(PoPs, "hdf5"); THEN("We can make various decl() and top() queries") { - CHECK(t.decl().name == "#hdf5"); + CHECK(t.decl().name == special::hdf5); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); CHECK(t.top().name == "PoPs"); @@ -192,7 +192,7 @@ SCENARIO("Testing GNDStk tree constructors") { WHEN("We call: Tree(top-level node, string, version)") { Tree t(PoPs, "debug", "4.0"); THEN("We can make various decl() and top() queries") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "4.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -206,7 +206,7 @@ SCENARIO("Testing GNDStk tree constructors") { WHEN("We call: Tree(top-level node, string, version, encoding)") { Tree t(thermalScattering, "xml", "5.0", "UTF-10"); THEN("We can make various decl() and top() queries") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "5.0"); CHECK(t.decl().meta("encoding") == "UTF-10"); diff --git a/src/GNDStk/Tree/test/decl.test.cpp b/src/GNDStk/Tree/test/decl.test.cpp index c2af0eabc..9a58ef580 100644 --- a/src/GNDStk/Tree/test/decl.test.cpp +++ b/src/GNDStk/Tree/test/decl.test.cpp @@ -10,7 +10,7 @@ SCENARIO("Testing GNDStk tree decl()") { GIVEN("A tree read from an XML file") { Tree t("n-069_Tm_170-covar.xml"); - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "1.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -22,7 +22,7 @@ SCENARIO("Testing GNDStk tree decl()") { WHEN("We call reset(reactionSuite)") { Tree t; t.reset(reactionSuite); - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "1.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -32,7 +32,7 @@ SCENARIO("Testing GNDStk tree decl()") { WHEN("We call reset(reactionSuite, FileType::json)") { Tree t; t.reset(reactionSuite, FileType::json); - CHECK(t.decl().name == "#json"); + CHECK(t.decl().name == special::json); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); } @@ -40,7 +40,7 @@ SCENARIO("Testing GNDStk tree decl()") { WHEN("We call reset(covarianceSuite, FileType::guess, \"2.0\")") { Tree t; t.reset(covarianceSuite, FileType::guess, "2.0"); - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "2.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -51,7 +51,7 @@ SCENARIO("Testing GNDStk tree decl()") { "\"3.0\", \"UTF-9\")") { Tree t; t.reset(covarianceSuite, FileType::xml, "3.0", "UTF-9"); - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "3.0"); CHECK(t.decl().meta("encoding") == "UTF-9"); @@ -61,7 +61,7 @@ SCENARIO("Testing GNDStk tree decl()") { WHEN("We call reset(PoPs, \"hdf5\")") { Tree t; t.reset(PoPs, "hdf5"); - CHECK(t.decl().name == "#hdf5"); + CHECK(t.decl().name == special::hdf5); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); @@ -70,7 +70,7 @@ SCENARIO("Testing GNDStk tree decl()") { WHEN("We call reset(PoPs, \"debug\", \"4.0\")") { Tree t; t.reset(PoPs, "debug", "4.0"); - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "4.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -80,7 +80,7 @@ SCENARIO("Testing GNDStk tree decl()") { WHEN("We call reset(thermalScattering, \"xml\", \"5.0\", \"UTF-10\")") { Tree t; t.reset(thermalScattering, "xml", "5.0", "UTF-10"); - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "5.0"); CHECK(t.decl().meta("encoding") == "UTF-10"); diff --git a/src/GNDStk/Tree/test/many.test.cpp b/src/GNDStk/Tree/test/many.test.cpp index 9e68b10e1..03003298b 100644 --- a/src/GNDStk/Tree/test/many.test.cpp +++ b/src/GNDStk/Tree/test/many.test.cpp @@ -23,18 +23,18 @@ SCENARIO("Testing GNDStk Tree many()") { // const found = false; - auto cnode = c.many("#xml",found); + auto cnode = c.many(special::xml,found); CHECK(found); CHECK(cnode.size() == 1); - CHECK(cnode[0].name == "#xml"); + CHECK(cnode[0].name == special::xml); CHECK(cnode[0].meta("version") == "1.0"); // non-const found = false; - auto tnode = t.many("#xml",found); + auto tnode = t.many(special::xml,found); CHECK(found); CHECK(tnode.size() == 1); - CHECK(tnode[0].name == "#xml"); + CHECK(tnode[0].name == special::xml); CHECK(tnode[0].meta("encoding") == "UTF-8"); } diff --git a/src/GNDStk/Tree/test/one.test.cpp b/src/GNDStk/Tree/test/one.test.cpp index b880e6cde..9916c5792 100644 --- a/src/GNDStk/Tree/test/one.test.cpp +++ b/src/GNDStk/Tree/test/one.test.cpp @@ -23,16 +23,16 @@ SCENARIO("Testing GNDStk Tree one()") { // const found = false; - auto &cnode = c.one("#xml",found); + auto &cnode = c.one(special::xml,found); CHECK(found); - CHECK(cnode.name == "#xml"); + CHECK(cnode.name == special::xml); CHECK(cnode.meta("version") == "1.0"); // non-const found = false; - auto &tnode = t.one("#xml",found); + auto &tnode = t.one(special::xml,found); CHECK(found); - CHECK(tnode.name == "#xml"); + CHECK(tnode.name == special::xml); CHECK(tnode.meta("encoding") == "UTF-8"); } @@ -70,12 +70,12 @@ SCENARIO("Testing GNDStk Tree one()") { // Illustrate that Tree's one(string) functions return references, // even when the child isn't found... - (void)&c.one("#xml"); + (void)&c.one(special::xml); (void)&c.one("covarianceSuite"); (void)&c.one("foo",found); CHECK(!found); - (void)&t.one("#xml"); + (void)&t.one(special::xml); (void)&t.one("covarianceSuite"); (void)&t.one("bar",found); CHECK(!found); diff --git a/src/GNDStk/Tree/test/reset.test.cpp b/src/GNDStk/Tree/test/reset.test.cpp index 0bfa5a331..b2ca7a4b6 100644 --- a/src/GNDStk/Tree/test/reset.test.cpp +++ b/src/GNDStk/Tree/test/reset.test.cpp @@ -25,7 +25,7 @@ SCENARIO("Testing GNDStk tree reset()") { t.reset(reactionSuite); THEN("Declaration- and top-level-node queries can be made") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "1.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -42,7 +42,7 @@ SCENARIO("Testing GNDStk tree reset()") { t.reset(reactionSuite, FileType::json); THEN("Declaration- and top-level-node queries can be made") { - CHECK(t.decl().name == "#json"); + CHECK(t.decl().name == special::json); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); CHECK(t.top().name == "reactionSuite"); @@ -57,7 +57,7 @@ SCENARIO("Testing GNDStk tree reset()") { t.reset(covarianceSuite, FileType::guess, "2.0"); THEN("Declaration- and top-level-node queries can be made") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "2.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -74,7 +74,7 @@ SCENARIO("Testing GNDStk tree reset()") { t.reset(covarianceSuite, FileType::xml, "3.0", "UTF-9"); THEN("Declaration- and top-level-node queries can be made") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "3.0"); CHECK(t.decl().meta("encoding") == "UTF-9"); @@ -91,7 +91,7 @@ SCENARIO("Testing GNDStk tree reset()") { t.reset(PoPs, "hdf5"); THEN("Declaration- and top-level-node queries can be made") { - CHECK(t.decl().name == "#hdf5"); + CHECK(t.decl().name == special::hdf5); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); CHECK(t.top().name == "PoPs"); @@ -107,7 +107,7 @@ SCENARIO("Testing GNDStk tree reset()") { t.reset(PoPs, "debug", "4.0"); THEN("Declaration- and top-level-node queries can be made") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "4.0"); CHECK(t.decl().meta("encoding") == "UTF-8"); @@ -124,7 +124,7 @@ SCENARIO("Testing GNDStk tree reset()") { t.reset(thermalScattering, "xml", "5.0", "UTF-10"); THEN("Declaration- and top-level-node queries can be made") { - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 2); CHECK(t.decl().meta("version") == "5.0"); CHECK(t.decl().meta("encoding") == "UTF-10"); diff --git a/src/GNDStk/XML/test/XML.test.cpp b/src/GNDStk/XML/test/XML.test.cpp index ba39f3d7e..c630022ac 100644 --- a/src/GNDStk/XML/test/XML.test.cpp +++ b/src/GNDStk/XML/test/XML.test.cpp @@ -64,7 +64,7 @@ SCENARIO("Testing GNDStk XML") { THEN("The Tree should have only an empty declaration node") { CHECK(t.children.size() == 1); CHECK(t.has_decl()); - CHECK(t.decl().name == "#xml"); + CHECK(t.decl().name == special::xml); CHECK(t.decl().metadata.size() == 0); CHECK(t.decl().children.size() == 0); } diff --git a/src/GNDStk/convert/src/HDF5.hpp b/src/GNDStk/convert/src/HDF5.hpp index 91d2af286..f6216814b 100644 --- a/src/GNDStk/convert/src/HDF5.hpp +++ b/src/GNDStk/convert/src/HDF5.hpp @@ -35,7 +35,10 @@ inline bool convert(const Node &node, HDF5 &h, const std::string &name) bool found_top = false; for (auto &c : node.children) { - if (c->name == "#xml" || c->name == "#json" || c->name == "#hdf5") { + if (c->name == special::xml || + c->name == special::json || + c->name == special::hdf5 + ) { // looks like a declaration node if (found_decl) { // already seen diff --git a/src/GNDStk/convert/src/JSON.hpp b/src/GNDStk/convert/src/JSON.hpp index c376f6de4..9c9e215f3 100644 --- a/src/GNDStk/convert/src/JSON.hpp +++ b/src/GNDStk/convert/src/JSON.hpp @@ -29,7 +29,10 @@ inline bool convert(const Node &node, JSON &j) bool found_top = false; for (auto &c : node.children) { - if (c->name == "#xml" || c->name == "#json" || c->name == "#hdf5") { + if (c->name == special::xml || + c->name == special::json || + c->name == special::hdf5 + ) { // looks like a declaration node if (found_decl) { // already seen diff --git a/src/GNDStk/convert/src/Node.hpp b/src/GNDStk/convert/src/Node.hpp index 226e44b3e..d73781bc1 100644 --- a/src/GNDStk/convert/src/Node.hpp +++ b/src/GNDStk/convert/src/Node.hpp @@ -16,7 +16,7 @@ inline bool convert(const XML &x, Node &node, const bool &DECL) // optionally, make a boilerplate declaration node if (decl) - node.add("#xml"); // <== indicates that we built the object from an XML + node.add(special::xml); // <== meaning: we built the object from an XML // empty xml document? if (x.empty()) @@ -77,7 +77,7 @@ inline bool convert(const XML &x, Node &node, const bool &DECL) // Retrieve any XML attributes, e.g. version and encoding if (decl) for (const pugi::xml_attribute &xattr : xnode.attributes()) - node.one("#xml").add(xattr.name(), xattr.value()); + node.one(special::xml).add(xattr.name(), xattr.value()); } else { // Document node // Visit the node, and its children recursively @@ -113,7 +113,7 @@ inline bool convert(const JSON &j, Node &node, const bool &DECL) // optionally, make a boilerplate declaration node if (decl) - node.add("#json"); // <== indicates that we built the object from a JSON + node.add(special::json); // <== meaning: we built the object from a JSON // empty json document? if (j.empty()) @@ -194,7 +194,7 @@ inline bool convert(const HDF5 &h, Node &node, const bool &DECL) // optionally, make a boilerplate declaration node Node *const declnode = decl - ? &node.add("#hdf5") // indicates that we built the object from an HDF5 + ? &node.add(special::hdf5) // meaning: we built the object from an HDF5 : nullptr; // empty HDF5 document? @@ -209,7 +209,7 @@ inline bool convert(const HDF5 &h, Node &node, const bool &DECL) try { // if decl, then place any top-level attributes that exist, in the HDF5, - // into the Node's "#hdf5" child that would have been created above + // into the Node's special::hdf5 child that would have been created above if (decl) for (auto &attrName : group.listAttributeNames()) if (!detail::attr2node(group.getAttribute(attrName),*declnode)) diff --git a/src/GNDStk/convert/src/XML.hpp b/src/GNDStk/convert/src/XML.hpp index 9812b8cf0..c6e85830e 100644 --- a/src/GNDStk/convert/src/XML.hpp +++ b/src/GNDStk/convert/src/XML.hpp @@ -15,7 +15,7 @@ inline bool convert(const Node &node, XML &x) // The way we're storing things in Tree, a declaration node might contain, // for example, the following, if the Tree was built from an XML: // - // name: "#xml" + // name: special::xml // metadata: // "version", "1.0" // "encoding", "UTF-8" @@ -24,7 +24,7 @@ inline bool convert(const Node &node, XML &x) // // or this if it was built from a JSON: // - // name: "#json" + // name: special::json // metadata: // (nothing; empty vector) // children: @@ -58,7 +58,9 @@ inline bool convert(const Node &node, XML &x) bool found_top = false; for (auto &c : node.children) { - if (c->name == "#xml" || c->name == "#json" || c->name == "#hdf5") { + if (c->name == special::xml || + c->name == special::json || + c->name == special::hdf5) { // looks like a declaration node if (found_decl) { // already seen diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index 367905197..bde746827 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -101,9 +101,9 @@ bool dset2node(const HighFive::DataSet &dset, NODE &node) if (dataSize == 1) { T scalar; dset.read(scalar); - node.name == "#pcdata" - ? node.add("#text",scalar) - : node.add("#pcdata").add("#text",scalar); + node.name == special::pcdata + ? node.add(special::text,scalar) + : node.add(special::pcdata).add(special::text,scalar); return true; } @@ -111,9 +111,9 @@ bool dset2node(const HighFive::DataSet &dset, NODE &node) std::vector vector; vector.reserve(dataSize); dset.read(vector); - node.name == "#pcdata" - ? node.add("#text",vector) - : node.add("#pcdata").add("#text",vector); + node.name == special::pcdata + ? node.add(special::text,vector) + : node.add(special::pcdata).add(special::text,vector); return true; } } @@ -127,7 +127,9 @@ bool dset2node( const HighFive::Group &group, const std::string &dsetName, NODE &parent ) { - Node &node = parent.add(beginsin(dsetName,"#pcdata") ? "#pcdata" : dsetName); + Node &node = parent.add( + beginsin(dsetName,special::pcdata) ? special::pcdata : dsetName + ); // the DataSet's attributes const HighFive::DataSet &dset = group.getDataSet(dsetName); @@ -186,31 +188,32 @@ bool hdf52node( // would have already been handled, in a special way, by the caller. if (groupName != rootHDF5Name) { for (const std::string &attrName : group.listAttributeNames()) { - if (attrName == "#nodename") { - // #nodename + if (attrName == special::nodename) { + // NODENAME // Handled not as a regular attribute, but as the present node's // true name. The following line is basically a compressed version // of attr2node (see early in this file). It assumes, - // in short, that this #nodename attribute is one (not a vector of) + // in short, that this NODENAME attribute is one (not a vector of) // T == std::string. And that's precisely what it should be, given - // how GNDStk creates #nodename attributes in the first place. + // how GNDStk creates NODENAME attributes in the first place. group.getAttribute(attrName).read(node.name); - } else if (beginsin(attrName,"#cdata")) { - // #cdata, possibly with a numeric suffix - // Expand into a child node #cdata with a #text attribute. + } else if (beginsin(attrName,special::cdata)) { + // CDATA, possibly with a numeric suffix + // Expand into a child node CDATA with a TEXT attribute. std::string value; group.getAttribute(attrName).read(value); - node.add("#cdata").add("#text",value); - } else if (beginsin(attrName,"#comment")) { - // #comment, possibly with a numeric suffix - // Expand into a child node #comment with a #text attribute. + node.add(special::cdata).add(special::text,value); + } else if (beginsin(attrName,special::comment)) { + // COMMENT, possibly with a numeric suffix + // Expand into a child node COMMENT with a TEXT attribute. std::string value; group.getAttribute(attrName).read(value); - node.add("#comment").add("#text",value); + node.add(special::comment).add(special::text,value); } else { // Regular attribute - // Create a metadatum. Note that this gives the correct result for - // attributes with regular names, and also for attrName == "#text". + // Create a metadatum. Note that this gives the correct result + // for attributes with regular names, and also for attrName == + // special::text. if (!attr2node(group.getAttribute(attrName), node)) return false; } // else if diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 070f255d5..19fab29e1 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -80,11 +80,11 @@ bool json_pair( node.add(key, json_array(value)); else { Node &child = node.add(key); - child.add("#pcdata").add("#text", json_array(value)); + child.add(special::pcdata).add(special::text, json_array(value)); for (const auto &sib : siblings.items()) { - if (sib.key() == key + "#nodename") + if (sib.key() == key + special::nodename) child.name = sib.value().get(); - else if (sib.key() == key + "#metadata") + else if (sib.key() == key + special::metadata) for (const auto &m : sib.value().items()) json_pair(child, orderedJSON{}, m.key(), m.value(), true); } @@ -124,16 +124,18 @@ bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) json2node_error("JSON value !is_object(), but need object here"); // The following cases should have been handled in the caller - if (endsin(key, "#nodename")) - json2node_error("JSON key ends in \"#nodename\": not expected here"); - if (endsin(key, "#metadata")) - json2node_error("JSON key ends in \"#metadata\": not expected here"); + if (endsin(key, special::nodename)) + json2node_error( + "JSON key ends in \"" + special::nodename + "\": not expected here"); + if (endsin(key, special::metadata)) + json2node_error( + "JSON key ends in \"" + special::metadata + "\": not expected here"); // Node name: from key - // For special nodes (ones that begin with '#', e.g. "#cdata0"), + // For special nodes (ones that begin with special::prefix), // we know that we can, and should, remove trailing digits. node.name = key; - if (key != "" && key[0] == '#') + if (key != "" && key[0] == special::prefix) while (isdigit(node.name.back())) node.name.pop_back(); @@ -147,19 +149,19 @@ bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) const std::string &childkey = child.key(); const orderedJSON &childval = child.value(); - if (childkey == "#nodename") { - // *** #nodename + if (childkey == special::nodename) { + // *** NODENAME node.name = childval.get(); - } else if (childkey == "#metadata") { - // *** #metadata + } else if (childkey == special::metadata) { + // *** METADATA for (const auto &m : childval.items()) json_pair(node, orderedJSON{}, m.key(), m.value(), true); } else if ( - beginsin(childkey,"#cdata") || - beginsin(childkey,"#comment") || - beginsin(childkey,"#pcdata") + beginsin(childkey,special::cdata) || + beginsin(childkey,special::comment) || + beginsin(childkey,special::pcdata) ) { - // *** #cdata[N], #comment[N], #pcdata[N] + // *** CDATA[N], COMMENT[N], PCDATA[N] if (childval.is_object()) try { if (!json2node(childkey, childval, node.add())) @@ -169,12 +171,16 @@ bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) throw; } else - beginsin(childkey,"#pcdata") - ? node.add("#pcdata" ).add("#text", json_array(childval)) - : beginsin(childkey,"#cdata") - ? node.add("#cdata" ).add("#text", childval.get()) - : node.add("#comment").add("#text", childval.get()); - } else if (endsin(childkey,"#nodename") || endsin(childkey,"#metadata")) { + beginsin(childkey,special::pcdata) + ? node.add(special::pcdata ) + .add(special::text, json_array(childval)) + : beginsin(childkey,special::cdata) + ? node.add(special::cdata ) + .add(special::text, childval.get()) + : node.add(special::comment) + .add(special::text, childval.get()); + } else if (endsin(childkey,special::nodename) || + endsin(childkey,special::metadata)) { // *** Ignore, in this context. Note that childkey *equal* to either // *** of those strings - not just endsin() them - was handled above. } else { diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index 72e2f4c00..2d5ac0781 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -101,15 +101,16 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) // Special cases // ------------------------ - // *** #cdata/#text - // *** #comment/#text - if ((parent == "#cdata" || parent == "#comment") && key == "#text") { + // *** CDATA/TEXT + // *** COMMENT/TEXT + if ((parent == special::cdata || + parent == special::comment) && key == special::text) { hdf5.createAttribute(key,value); // just a simple string attribute continue; } - // *** #pcdata/#text - if (parent == "#pcdata" && key == "#text") { + // *** PCDATA/TEXT + if (parent == special::pcdata && key == special::text) { const std::string type = guessType(value); if (type == "int" || type == "ints") vector2Attr(key,value,hdf5); @@ -126,9 +127,10 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) continue; } - // *** key/#text not expected, except as already handled - if (key == "#text") { - log::warning("Metadatum \"#text\" not expected here; writing anyway"); + // *** key/TEXT not expected, except as already handled + if (key == special::text) { + log::warning("Metadatum \"{}\" not expected here; writing anyway", + special::text); log::function("detail::meta2hdf5(Node named \"{}\", ...)", parent); } @@ -173,9 +175,9 @@ void meta2hdf5_plain(const NODE &node, OBJECT &hdf5) template void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) { - // Create #nodename iff necessary (allows recovery of original node name) + // Create NODENAME iff necessary (allows recovery of original node name) if (suffix != "") - hdf5.createAttribute(std::string("#nodename"), node.name); + hdf5.createAttribute(special::nodename, node.name); // Existing metadata HDF5::typed @@ -192,7 +194,7 @@ void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) // hdf5_reduce_cdata_comment // ------------------------ -// Simplify certain #cdata and #comment cases. +// Simplify certain CDATA and COMMENT cases. template bool hdf5_reduce_cdata_comment( const NODE &node, OBJECT &hdf5, const std::string &suffix @@ -200,21 +202,21 @@ bool hdf5_reduce_cdata_comment( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + suffix; - // #cdata or #comment - // #text the only metadatum + // CDATA or COMMENT + // TEXT the only metadatum // no children - // Reduce to: string attribute, w/name == (#cdata or #comment) + suffix + // Reduce to: string attribute, w/name == (CDATA or COMMENT) + suffix // Sketch: - // +-----------------+ +-----------+ - // | #cdata/#comment | ==> | Attribute | name: #cdata/#comment + suffix - // | #text | | value | - // +-----------------+ +-----------+ + // +---------------+ +-----------+ + // | CDATA/COMMENT | ==> | Attribute | name: CDATA/COMMENT + suffix + // | TEXT | | value | + // +---------------+ +-----------+ if ( - (nameOriginal == "#cdata" || nameOriginal == "#comment") && + (nameOriginal == special::cdata || nameOriginal == special::comment) && node.children.size() == 0 && node.metadata.size() == 1 && - node.metadata[0].first == "#text" + node.metadata[0].first == special::text ) { // string attribute hdf5.createAttribute(nameSuffixed,node.metadata[0].second); @@ -229,7 +231,7 @@ bool hdf5_reduce_cdata_comment( // hdf5_reduce_pcdata // ------------------------ -// Simplify #pcdata case. +// Simplify PCDATA case. template bool hdf5_reduce_pcdata( const NODE &node, OBJECT &hdf5, const std::string &suffix @@ -237,20 +239,20 @@ bool hdf5_reduce_pcdata( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + suffix; - // #pcdata - // #text the only metadatum + // PCDATA + // TEXT the only metadatum // no children - // Reduce to: data set, w/name == #pcdata + suffix + // Reduce to: data set, w/name == PCDATA + suffix // Sketch: - // +----------+ +---------+ - // | #pcdata | ==> | DataSet | name: #pcdata + suffix - // | #text | | data | - // +----------+ +---------+ + // +---------+ +---------+ + // | PCDATA | ==> | DataSet | name: PCDATA + suffix + // | TEXT | | data | + // +---------+ +---------+ - if (nameOriginal == "#pcdata" && + if (nameOriginal == special::pcdata && node.children.size() == 0 && node.metadata.size() == 1 && - node.metadata[0].first == "#text" + node.metadata[0].first == special::text ) { // See the remark in the analogous JSON function regarding the difference // between this function and the one immediately below. @@ -268,30 +270,30 @@ bool hdf5_reduce_pcdata( // hdf5_reduce_pcdata_metadata // ------------------------ -// Simplify case of node with #pcdata AND metadata +// Simplify case of node with PCDATA AND metadata template bool hdf5_reduce_pcdata_metadata( const NODE &node, OBJECT &hdf5, const std::string &suffix ) { // name (think e.g. "values", as in XML ) // any number of metadata (possibly 0) - // #pcdata the only child - // #text the only metadatum + // PCDATA the only child + // TEXT the only metadatum // no children // Reduce to: data set, w/name == name + suffix // Sketch: // +---------------+ +----------------+ // | name | ==> | DataSet | name: name + suffix // | [metadata] | | [Attributes] | - // | #pcdata | | data | - // | #text | +----------------+ + // | PCDATA | | data | + // | TEXT | +----------------+ // | - | // +---------------+ if (node.children.size() == 1 && - node.children[0]->name == "#pcdata" && + node.children[0]->name == special::pcdata && node.children[0]->metadata.size() == 1 && - node.children[0]->metadata[0].first == "#text" && + node.children[0]->metadata[0].first == special::text && node.children[0]->children.size() == 0 ) { // HDF5 data set diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index 4b2a01388..4b1a52f4a 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -121,27 +121,28 @@ void meta2json_typed(const NODE &node, orderedJSON &json) // Special cases // ------------------------ - // *** #cdata/#text - // *** #comment/#text + // *** CDATA/TEXT + // *** COMMENT/TEXT // ACTION: Write these as-is. That is, do NOT apply our type-guessing code // to a comment, or to the contents of a block like those // that we see in existing XML-format GNDS files. The type guesser would // see words, and think "vector of [whitespace-separated] strings," which // would be wrong for what are clearly intended to be free-form strings. - if ((parent == "#cdata" || parent == "#comment") && key == "#text") { + if ((parent == special::cdata || + parent == special::comment) && key == special::text) { json[key] = value; // just a simple string value continue; } - // *** #pcdata/#text + // *** PCDATA/TEXT // ACTION: Apply our type-guessing code, but write *vectors* only, never // scalars. So, 10 produces a vector with one element, // NOT a scalar; while 10 20 30 produces a vector with // three elements. What may look like scalars are made into vectors - // because we think this reflects what these (#pcdata) nodes are intended + // because we think this reflects what these (PCDATA) nodes are intended // to represent. (If something was really just a scalar, then surely it - // would be placed into standard metadata (in <...>), not into #pcdata. - if (parent == "#pcdata" && key == "#text") { + // would be placed into standard metadata (in <...>), not into PCDATA. + if (parent == special::pcdata && key == special::text) { const std::string type = guessType(value); if (type == "int" || type == "ints") vector2Value(key,value,json); @@ -158,9 +159,10 @@ void meta2json_typed(const NODE &node, orderedJSON &json) continue; } - // *** key/#text not expected, except as already handled - if (key == "#text") { - log::warning("Metadatum \"#text\" not expected here; writing anyway"); + // *** key/TEXT not expected, except as already handled + if (key == special::text) { + log::warning("Metadatum \"{}\" not expected here; writing anyway", + special::text); log::function("detail::meta2json(Node named \"{}\", ...)", parent); } @@ -217,24 +219,25 @@ void meta2json( const std::string &digits, const std::string &prefix ) { - // Create #nodename iff necessary, to allow recovery of the node's original - // name. Note that #nodename is NOT necessary for special nodes: those that - // begin with '#', in particular #cdata, #pcdata, and #comment. For those, - // we can reliably reconstruct the original name by removing trailing digits. - // A regular node, in contrast, *might* have an actual name that has trailing - // digits (one user called a node "sigma0", for example); or, trailing digits - // might have been added - by us - solely for the purpose of disambiguating - // same-named child nodes (for example, "sigma") that appeared multiple times - // under the same XML parent (which is allowed), but which can't appear that - // way in JSON. (JSON doesn't allow duplicate keys in the same object). - if (digits != "" /* has digits */ && !beginsin(base,"#") /* isn't special */) - json[prefix+"#nodename"] = node.name; + // Create NODENAME iff necessary, to allow recovery of the node's original + // name. Note that NODENAME is not necessary for special nodes, in particular + // CDATA, PCDATA, and COMMENT. For those, we can reliably reconstruct the + // original name by removing trailing digits. A regular node, in contrast, + // *might* have an actual name that has trailing digits (one user called a + // node "sigma0", for example); or, trailing digits might have been added - + // by us - solely for the purpose of disambiguating same-named child nodes + // (for example, "sigma") that appeared multiple times under the same XML + // parent (which is allowed), but which can't appear that way in JSON. (JSON + // doesn't allow duplicate keys in the same object). + if (digits != "" && // has digits + !beginsin(base,std::string(1,special::prefix))) // isn't special + json[prefix + special::nodename] = node.name; // Existing metadata if (node.metadata.size()) JSON::typed - ? meta2json_typed(node,json[prefix+"#metadata"]) - : meta2json_plain(node,json[prefix+"#metadata"]); + ? meta2json_typed(node,json[prefix + special::metadata]) + : meta2json_plain(node,json[prefix + special::metadata]); } @@ -246,7 +249,7 @@ void meta2json( // json_reduce_cdata_comment // ------------------------ -// Simplify certain #cdata and #comment cases. +// Simplify certain CDATA and COMMENT cases. template bool json_reduce_cdata_comment( const NODE &node, orderedJSON &json, const std::string &digits @@ -259,21 +262,21 @@ bool json_reduce_cdata_comment( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + digits; - // #cdata or #comment - // #text the only metadatum + // CDATA or COMMENT + // TEXT the only metadatum // no children - // Reduce to: string value, w/name == (#cdata or #comment) + digits + // Reduce to: string value, w/name == (CDATA or COMMENT) + digits // Sketch: - // +-----------------+ +------------+ - // | #cdata/#comment | ==> | "name" : | name: #cdata/#comment + digits - // | #text | | "value" | - // +-----------------+ +------------+ + // +---------------+ +------------+ + // | CDATA/COMMENT | ==> | "name" : | name: CDATA/COMMENT + digits + // | TEXT | | "value" | + // +---------------+ +------------+ if ( - (nameOriginal == "#cdata" || nameOriginal == "#comment") && + (nameOriginal == special::cdata || nameOriginal == special::comment) && node.children.size() == 0 && node.metadata.size() == 1 && - node.metadata[0].first == "#text" + node.metadata[0].first == special::text ) { // string value json[nameSuffixed] = node.metadata[0].second; @@ -288,7 +291,7 @@ bool json_reduce_cdata_comment( // json_reduce_pcdata // ------------------------ -// Simplify #pcdata case. +// Simplify PCDATA case. template bool json_reduce_pcdata( const NODE &node, orderedJSON &json, const std::string &digits @@ -296,35 +299,35 @@ bool json_reduce_pcdata( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + digits; - // #pcdata - // #text the only metadatum + // PCDATA + // TEXT the only metadatum // no children - // Reduce to: array, w/name == #pcdata + digits + // Reduce to: array, w/name == PCDATA + digits // Sketch: - // +----------+ +----------+ - // | #pcdata | ==> | "name" : | name: #pcdata + digits - // | #text | | [...] | - // +----------+ +----------+ + // +---------+ +----------+ + // | PCDATA | ==> | "name" : | name: PCDATA + digits + // | TEXT | | [...] | + // +---------+ +----------+ - if (nameOriginal == "#pcdata" && + if (nameOriginal == special::pcdata && node.children.size() == 0 && node.metadata.size() == 1 && - node.metadata[0].first == "#text" + node.metadata[0].first == special::text ) { - // Remark. This case (basically, #pcdata/#text) may look superficially + // Remark. This case (basically, PCDATA/TEXT) may look superficially // like it would have been handled, in the case immediately below here, // in the previous (next-up) recurse of the node2json() function. Often - // it would have, but not always. Later, name/#pcdata/#text (three + // it would have, but not always. Later, name/PCDATA/TEXT (three // levels, so to speak) reduces to one level (name : [...]), but - // only if name has ONE child - the #pcdata. That's true when we + // only if name has ONE child - the PCDATA. That's true when we // have (in XML) something like 1 2 3, as the pcdata, // i.e. the 1 2 3 part, is ' only child node. However, it's // actually possible (though I don't see it in current GNDS files) to // have something like: 1 2 3. There, the - // outer "name" node () has child foo and child #pcdata, and - // thus can't be reduced in the manner that's done if only #pcdata is + // outer "name" node () has child foo and child PCDATA, and + // thus can't be reduced in the manner that's done if only PCDATA is // there. In short, then, the present situation comes to pass if and - // when #pcdata has sibling nodes. + // when PCDATA has sibling nodes. // JSON array pcdata2Value(nameSuffixed, node.metadata[0].second, json); @@ -339,7 +342,7 @@ bool json_reduce_pcdata( // json_reduce_pcdata_metadata // ------------------------ -// Simplify case of node with #pcdata AND metadata +// Simplify case of node with PCDATA AND metadata template bool json_reduce_pcdata_metadata( const NODE &node, orderedJSON &json, const std::string &digits @@ -348,18 +351,18 @@ bool json_reduce_pcdata_metadata( // name (think e.g. "values", as in XML ) // any number of metadata (possibly 0) - // #pcdata the only child - // #text the only metadatum + // PCDATA the only child + // TEXT the only metadatum // no children // Reduce to: array, w/name == name + digits; separately encoded metadata // Sketch: - // +---------------+ +----------------------+ - // | name | ==> | "name" : | name: name + digits - // | [metadata] | | [...] | - // | #pcdata | | "name#metadata" : { | - // | #text | | key/value pairs | - // | - | | } | - // +---------------+ +----------------------+ + // +---------------+ +---------------------+ + // | name | ==> | "name" : | name: name + digits + // | [metadata] | | [...] | + // | PCDATA | | "nameMETADATA" : { | + // | TEXT | | key/value pairs | + // | - | | } | + // +---------------+ +---------------------+ // Remark. We're not super psyched about the "name#metadata" construction. // It effectively splits the original node into two siblings in the JSON // file; and, it differs from the present scenario's HDF5 handling, which @@ -375,13 +378,13 @@ bool json_reduce_pcdata_metadata( // Hence, our choice above. An important thing is that the above system // is reversible - a file, thus written, can be read back in, recovering // our original internal data structure unambiguously. Also, the two JSON - // constructs, "name" and "name#metadata", will appear next to each other, + // constructs, "name" and "nameMETADATA", will appear next to each other, // allowing someone who looks at the file to see what's going on. if (node.children.size() == 1 && - node.children[0]->name == "#pcdata" && + node.children[0]->name == special::pcdata && node.children[0]->metadata.size() == 1 && - node.children[0]->metadata[0].first == "#text" && + node.children[0]->metadata[0].first == special::text && node.children[0]->children.size() == 0 ) { // JSON array diff --git a/src/GNDStk/convert/src/detail-node2xml.hpp b/src/GNDStk/convert/src/detail-node2xml.hpp index 76f5c705f..4aae589bb 100644 --- a/src/GNDStk/convert/src/detail-node2xml.hpp +++ b/src/GNDStk/convert/src/detail-node2xml.hpp @@ -27,7 +27,7 @@ bool check_special(const NODE &node, const std::string &label) throw std::exception{}; } - if (node.metadata.begin()->first != "#text") { + if (node.metadata.begin()->first != special::text) { log::error( "Internal error in node2xml(Node, pugi::xml_node):\n" "Ill-formed <" + label + "> node; " @@ -44,8 +44,10 @@ bool check_special(const NODE &node, const std::string &label) template bool write_cdata(const NODE &node, pugi::xml_node &xnode) { - if (!check_special(node,"#cdata")) return false; - xnode.append_child(pugi::node_cdata).set_value(node.meta("#text").data()); + if (!check_special(node,special::cdata)) + return false; + xnode.append_child(pugi::node_cdata) + .set_value(node.meta(special::text).data()); return true; } @@ -53,8 +55,10 @@ bool write_cdata(const NODE &node, pugi::xml_node &xnode) template bool write_pcdata(const NODE &node, pugi::xml_node &xnode) { - if (!check_special(node,"#pcdata")) return false; - xnode.append_child(pugi::node_pcdata).set_value(node.meta("#text").data()); + if (!check_special(node,special::pcdata)) + return false; + xnode.append_child(pugi::node_pcdata) + .set_value(node.meta(special::text).data()); return true; } @@ -62,8 +66,10 @@ bool write_pcdata(const NODE &node, pugi::xml_node &xnode) template bool write_comment(const NODE &node, pugi::xml_node &xnode) { - if (!check_special(node,"#comment")) return false; - xnode.append_child(pugi::node_comment).set_value(node.meta("#text").data()); + if (!check_special(node,special::comment)) + return false; + xnode.append_child(pugi::node_comment) + .set_value(node.meta(special::text).data()); return true; } @@ -89,11 +95,11 @@ bool node2xml(const NODE &node, pugi::xml_node &x) for (auto &child : node.children) { try { // special element - if (child->name == "#cdata") + if (child->name == special::cdata) { if (write_cdata (*child,xnode)) continue; else return false; } - if (child->name == "#pcdata") + if (child->name == special::pcdata) { if (write_pcdata (*child,xnode)) continue; else return false; } - if (child->name == "#comment") + if (child->name == special::comment) { if (write_comment(*child,xnode)) continue; else return false; } // typical element diff --git a/src/GNDStk/convert/src/detail-xml2node.hpp b/src/GNDStk/convert/src/detail-xml2node.hpp index bb68b5e2b..a1ce34d6b 100644 --- a/src/GNDStk/convert/src/detail-xml2node.hpp +++ b/src/GNDStk/convert/src/detail-xml2node.hpp @@ -109,17 +109,17 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) // of cdata, pcdata, or comment nodes, either individually or together. if (xsub.type() == pugi::node_cdata) { - node.add("#cdata").add("#text", xsub.value()); + node.add(special::cdata).add(special::text, xsub.value()); continue; } if (xsub.type() == pugi::node_pcdata) { - node.add("#pcdata").add("#text", xsub.value()); + node.add(special::pcdata).add(special::text, xsub.value()); continue; } if (xsub.type() == pugi::node_comment) { - node.add("#comment").add("#text", xsub.value()); + node.add(special::comment).add(special::text, xsub.value()); continue; } diff --git a/src/GNDStk/node2type/test/node2type.test.cpp b/src/GNDStk/node2type/test/node2type.test.cpp index d00f81844..f217210c7 100644 --- a/src/GNDStk/node2type/test/node2type.test.cpp +++ b/src/GNDStk/node2type/test/node2type.test.cpp @@ -40,10 +40,11 @@ SCENARIO("Testing GNDStk convert(Node,type)") { WHEN("We make a Node foo with particular content") { Node foo("foo"); - // If a Node has a "#text" metadatum, then the convert(Node,container) + // If a Node has a special::text metadatum, then the + // convert(Node,container) // function, where container is e.g. vector, will attempt to fill - // the container with the contents of the "#text" metadatum's value. - foo.add("#text","12 34 56 78 90"); + // the container with the contents of the special::text metadatum's value. + foo.add(special::text,"12 34 56 78 90"); // Update, 2020-10-19. The relevant convert() functionality has been // reformulated into the detail::convert_pcdata_text_t callable object, diff --git a/src/GNDStk/test/keys.hpp b/src/GNDStk/test/keys.hpp index 3416c9937..f61246550 100644 --- a/src/GNDStk/test/keys.hpp +++ b/src/GNDStk/test/keys.hpp @@ -19,7 +19,7 @@ namespace meta { label ("label" ), projectile("projectile"), symbol ("symbol" ), - text ("#text" ), + text (njoy::GNDStk::special::text), unit ("unit" ), value ("value" ), version ("version" ); @@ -41,7 +41,7 @@ namespace child { RMatrix ("RMatrix" ), angularTwoBody ("angularTwoBody" ), axes ("axes" ), - cdata ("#cdata" ), + cdata (njoy::GNDStk::special::cdata), chemicalElements ("chemicalElements" ), crossSection ("crossSection" ), data ("data" ), @@ -52,7 +52,7 @@ namespace child { gaugeBosons ("gaugeBosons" ), mass ("mass" ), outputChannel ("outputChannel" ), - pcdata ("#pcdata" ), + pcdata (njoy::GNDStk::special::pcdata), products ("products" ), reactions ("reactions" ), regions2d ("regions2d" ), @@ -104,7 +104,7 @@ namespace detail { template void operator()(const NODE &node, std::string &to) const { - to = node.meta("#text"); + to = node.meta(special::text); } }; } // namespace detail @@ -166,21 +166,22 @@ namespace child { GNDSTK_MAKE_CHILD(void, crossSection, one); GNDSTK_MAKE_CHILD(void, styles, one); GNDSTK_MAKE_CHILD(void, temperature, one); - inline const njoy::GNDStk::Child xml("#xml"); + inline const njoy::GNDStk::Child + xml(njoy::GNDStk::special::xml); GNDSTK_MAKE_CHILD(void, evaluated, many); GNDSTK_MAKE_CHILD(void, XYs1d, many); // cdata // This is where XML (comment) material resides. It's reasonable - // to extract such content into std::strings. We then store these in nodes of - // name #cdata, each with one metadatum having a key of "#text" and a value + // to extract such content into std::strings. We then store these in nodes + // of name CDATA, each with one metadatum having a key of TEXT and a value // containing the original content. inline const njoy::GNDStk::Child< std::string, njoy::GNDStk::Allow::one, njoy::GNDStk::detail::text_metadatum_to_string > - cdata("#cdata"); + cdata(njoy::GNDStk::special::cdata); } // namespace child using namespace meta; @@ -213,15 +214,16 @@ class convert_pcdata_text_t { using namespace njoy::GNDStk; try { // Context: - // We're inside of a node that's inside of a node - // that looked something like this (in XML): + // We're inside of a node that's inside of a + // node that looked something like this (in XML): // 0.0 1.0 2.0 3.0 4.0 - // In GNDStk, the node has a metadatum with the key "#text". - // The metadatum's string value is the content: "0.0 1.0 ..." in - // our example. Goal here: extract that content into the container. + // In GNDStk, the node has a metadatum with the key + // special::text. The metadatum's string value is the content: + // "0.0 1.0 ..." in our example. Goal here: extract that content + // into the container. container.clear(); for (auto &m : node.metadata) - if (m.first == "#text") { + if (m.first == special::text) { convert(m.second, container); return; } @@ -244,8 +246,8 @@ class convert_pcdata_text_t { using namespace njoy::GNDStk; try { node.clear(); - node.name = "#pcdata"; - std::string &destination = node.add("#text","").second; + node.name = special::pcdata; + std::string &destination = node.add(special::text,"").second; convert(container, destination); } catch (...) { log::function("convert_pcdata_text_t(container,Node)"); @@ -309,7 +311,7 @@ const auto &getNumeric() typename njoy::GNDStk::detail::numeric_type::type, njoy::GNDStk::Allow::one, njoy::GNDStk::detail::convert_pcdata_text_t - > ret("#pcdata"); + > ret(njoy::GNDStk::special::pcdata); return ret; } diff --git a/src/GNDStk/type2node/test/type2node.test.cpp b/src/GNDStk/type2node/test/type2node.test.cpp index e00f71f81..bb8107cf0 100644 --- a/src/GNDStk/type2node/test/type2node.test.cpp +++ b/src/GNDStk/type2node/test/type2node.test.cpp @@ -29,10 +29,10 @@ SCENARIO("Testing GNDStk convert(type,Node)") { detail::convert_pcdata_text_t{}(container,n); // one way to check the Node - CHECK(n.name == "#pcdata"); + CHECK(n.name == special::pcdata); CHECK(n.metadata.size() == 1); CHECK(n.children.size() == 0); - CHECK(n.metadata[0].first == "#text"); + CHECK(n.metadata[0].first == special::text); CHECK(n.metadata[0].second == "1 2.3 4.56"); // a shorter way diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index d60d3c8d5..a5e18880b 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -36,6 +36,21 @@ enum class Allow { many }; +namespace special { + inline const char prefix = '#'; + + inline const std::string + nodename = prefix + std::string("nodename"), + metadata = prefix + std::string("metadata"), + cdata = prefix + std::string("cdata"), + pcdata = prefix + std::string("pcdata"), + comment = prefix + std::string("comment"), + text = prefix + std::string("text"), + xml = prefix + std::string("xml"), + json = prefix + std::string("json"), + hdf5 = prefix + std::string("hdf5"); +} + namespace detail { // default_* @@ -56,13 +71,6 @@ inline bool sent(const std::string &string) return &string != &default_string; } -// allowable declaration nodes -inline std::set AllowedDecl = { - "#xml", - "#json", - "#hdf5", -}; - // noFilter class noFilter { public: From 7f84bbdb0e07ce55d2b7b7c650edc4bb9d242572 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 3 Jun 2022 02:01:40 -0600 Subject: [PATCH 101/235] Small but worthwhile improvements in the HDF5 files GNDStk creates. Updated the HDF5 test suite to ensure that we test the modifications. --- .../HDF5/test/resources/correct-raw-string.h5 | Bin 37680 -> 43696 bytes .../HDF5/test/resources/correct-raw-typed.h5 | Bin 37920 -> 43984 bytes .../test/resources/correct-reduced-string.h5 | Bin 17256 -> 19224 bytes .../test/resources/correct-reduced-typed.h5 | Bin 17248 -> 19184 bytes src/GNDStk/HDF5/test/resources/various.xml | 6 ++++ src/GNDStk/convert/src/detail-hdf52node.hpp | 26 ++++++++++-------- src/GNDStk/convert/src/detail-json2node.hpp | 11 ++++---- src/GNDStk/convert/src/detail-node2hdf5.hpp | 16 +++++++---- src/GNDStk/convert/src/detail-node2json.hpp | 11 ++++++-- src/GNDStk/convert/src/detail-xml2node.hpp | 4 +-- 10 files changed, 44 insertions(+), 30 deletions(-) diff --git a/src/GNDStk/HDF5/test/resources/correct-raw-string.h5 b/src/GNDStk/HDF5/test/resources/correct-raw-string.h5 index 1926603b8b9da1306bad023e048d303e75219802..6291e4e888693494ca47c47050cc7ebcf1bffeb1 100644 GIT binary patch literal 43696 zcmeHQU2I%O6&}Y)vrQA&&;V(m^tNuxB80VeoyHXi9P-l@Y8yjBWsrcou{T*aw%4+q z*8GVeK)3=Ss|aKy5Eckzc-qH2=FyM)m`6YQ(T}{r%st-Ip5s5clW+qxOn-*u`|bv`(!fau*oKy{P$mcs{fWfEVDkw#t`HNd?g(eY z01iE5hTHnt?)OD8hQ2SK=6)awg(4IouD)^QqHB{uIU1IYdVHWz<+;l3>kB1go*EiTGKI@iqAF*AxF@jVq_}+zJDDass~zn;;d+N1 zmkNFUG5M5JwD}WxNJ_@Mdg01z$(WE(TgGRV#zw~zRi@dbKfC9p(TV8n=*!W$(aEG9 zZiHjC?UKF5&L`x<`tj(cWCz`ic8k|V?=k4JpV_&nbR)W1j^^J=YLIp<+VZ(jSzIhF ztq}qv6B%Q$KN`u4-s8}JUp)rO{gn0ga`=YhVSQz(6!Ba;)5l?-$4T5yU_a$rd8Ndb ztG4cAsHe2;B8%v)cf-<-yN`p;M-9tHO{+RhneXJYhhvWH zu%F{8M%N=(^9=UWUtX`Ql!(2nid6m8%3@3Xv#6)vT%KQ9U5jSn?Z!NZdiu@P(rjgE zuAwlZ+FvWruQXMg=TXn&PjHMT%nQoyE2ER=tS_FOuwFTCo$p0uH#y$O25DrY6m?Ei z=|D~U!e&4qAP^7;2m}NI0s(=5KtLcM@c%`C>+uC#XmK5=u^w?aS&x{v*VyjUX!*X!F87@EF4g;jPeE+268x#9V}E)uZHr0EaRkfwEZ*VTSwKnbh>Z3g@qcV zp#BXwSbiuG(0PDybcYLs81+bFX)oEsxS8tlsC@U6_OLJ*!*1ZQ9swSZX4-$5$ELUd z4IJpN>GD|PzU6(y3;QvVbR4O149IDD;KStnUgOo62S1j~%SYBq>u!eMX+E7yC*TBb z+sBi7UeJjr?|nfIiSvgCKER;(NFbo|%p{I#hc}#1CQs&78PiL{dfc|H-;a)83FCTGI@o{d&)QUV36bIg|?+2j`z<_&4=7QLcVT z+A|MtjJDdVqFiGD^1wdgl02#L>Xj#x`~GkOCwzG(2Rvio7xK(U+>!b`d|#faA#T|{ z<2tQ8!}!p7B8~WP&u01JqX1%$abO`nc!q;)hk!3W4isPYD?T(orV$^GOMLNBo)8pb zfYIqXYvY_Ka(;qlK@122IzF;E?kxO>FpMnE&K1{+_3NhsD|(dV4}Bk?5g&42Z>6+Y zT)EYG9in-D^@JUhFFtCxkc=_zz#l!HzyWEd_0Hz!5Zp8VzC3gAW$8Z_f#(DK-)GEzO%&;0XcokPAfWRMd3Xzc zL>T(T!!!1~CGNA1{u=So9S z{Fv4{hvwnwuSkFFXC37&HICL%g%WvKIKA*xsd9ZSq&Ycyb-_ z!hW_ARk+eOpY$uo!r#iql7e1bxc~kmdpAp%KC+~bu^yptw3jYTM0i9>alUwi~;*j?BB<)@=t|XiM z+9hQ2+XSwHzwIY-)$sQZtW0$5@Be|p#Ug)?fWIfO_D-dxUVhguZ$yqkj$64hU%9ye6eZ_zt5e=jy&$$GB4`;xOm*j+?|pJ)YJDxP;K_G-b_8cF2s3B2J>L*>3K1R z_t1(k?|EoX%|kITosY;%Iq(z*N&oNHyl2DxNQwQhpZ)JjIitoQd&7Ssz`zUABI5?gl1%W#MDZF~+zvlJvCv6wL>;CB*(*JTTw&l{0r_4)7=6}pr@o;+9(Low_Hp6n9X0aMrh zOP-uYULzdjuXK6x5HCs0KH`P_Wap*lyvncBi?W}3>nLwkIMTtAUD&?{A zUIiST=8@ZPiz4$cnguZ+2i9Y>HO5y*YAfWRMdA<6hRs_=Kb;&bF>+cuNzbXAO&*2*```!ePg)YJ2fJFr(k1L`fKya}8(pjZC6Y*23#$ir+zzU>#U-v>{yAM-2eIa1@`c!CrJn71@u zjXcvGuQ#uIxOcz%o{Q1fPm*U2dEXa!?{_lZ98O&MU$VjLLhKIW5k-J`hVwwsl-d28 z9I%himj5aBF>vwuV-0!-J5a3a4_hC8|NXekrYOYF3p@!Rf@q5X{dWenz4GKScf4?dXY8ggf8~H@?DXv?R{e?(JumDvKAL}*<2gHMUwmx*S&k^ifd&2m5J9v>z!x8R_z@fR zD?SbohgtO3YkV~G$A}%YFFtnuDn}IKz(RZgh#=Y`;ERuG_z@fRD?YM+ksk8suh;l! zzCZoEHR+3w^}kDhv4}9g0uDj6N5B^!%UH)|tF+^TcJ=p0`9APG6j&Zp<#Cqfy?0bM zxQ|YCmZ@%5N;hvW6jv@Slom@%_E}^e7uN+jE-ks9kl&V?Y2edqJU7n=U$7k1 zxfuapoSw#gBI?qg(_Tlr4_^7tKcuH#{l0mg_o6iw{GMkn$aV<${635O?QD~_-^+8F zN6aKT*u`}Y`_b1u1?cVLI*59D{#U=>wk-{)r+K9edpmfZn|eA9*P&NadcOO|Q2)@x F{{a0ur@sII literal 37680 zcmeHQOK==V8E*NhI8IPPAhHv}B+6qGC?Pp^yrFokv1PW31aHNziXf@5vb6RpwzSGh z4uXP0DJWPT1){j*=;I!B^wCEhb@b84J?5wzbkF~N+MOS@##+rfv9?E5)6?C5|K0ud z|LDi;=&!{K7oRwG@|bbg;Gj8VhT=!w{)=nuKa#>Y^UHV`K-fUoJRlDP#{C&HjP$3# zU(;QAZ(_n&O7drjV&?u~c^YIw2>S|w;>5X<>+mFcO(|W6oDqy`wOag0c`P!c%W%Lv zmXO~e$ZzhbFl>Ua$nOEK{BAraggMYRKaz(9#6z&Z5up68p_|JHH!sPs9a6k?JAbJRRz zQJ$&Yx_Yx>%!z@4*itw>~&J_COBY(mXTKfq* zBr#)tdj8ToahqUJ6YaA^`Gj1| zKNYZ(%AsS&!B>}i!dIWbXr5I0wfRa!nQ>WPLq72${umxZ{!7(* zg(VklnWs>W{B60&j?tOut8$Tcb++D7%)Ekp>etAE49u%4eLS*)5}h`$ zsdUokkk0nKJ(@pjW%0~uE0w3L@V)LS_Xg70zNzSHG#yzZ5LqjLJQtKGupMdPF(42S z2nYlO0s;YnfIvVXAP^AP83FFc7qQ^vK2Uo<;!wOFF>BY@?n>L&h}V}`!`${X=Xdqn^ z@pWt@L}~G~jS3aAhYargVdr^Z`g2tr15IcBaX!Lnvtc-vYR2L z%|~K$3?XpOzVjMwf79k0+=!+9-8TaeI`TjWXgedPa>lgazsZF24Y+N?IM0I^hdbXo z&x^=Fg#-44&)F2tZ+K2xgdnbgKKMxmT!tB9|SCc6K~N9ZRtUdK%_?%RMlCVq0hHdC3O znzOG+#8;ZXjO8G{$!iYX`rY_E7ku110Y1BR2jds)76vE;J0jq-TV==*3se8IvRl+Q zZFjQNH>WdM=$kvL_vu>>`w2ncC@CS_2?3wJZ76@*D}B@cJ4=0Y@04YsZ|>b0-~QF- znAn#Aa@xA`&KV(u>qMy#^a}!7--gif0vCvg^Sv+XU2%^9(ZA{a<+gsvIZ(YaH&wrp zzVFgG|8wu8`SinJpSq0phjr^72Xdbm*ZM&_S%%$Y_o)|I&HwcN?k4n+_24yYQ&8<- zdqOA((9USQ+ID7l`@5az*6v+ypPh-mFZGutNIg$3{7?ufUnmxWK0!d+8T#RMb)MQQ zKdjGh+xoFPKODc;4Iy@Y@aae6M>4QwjBoJ603rn2BB1qycCz(@Bsu+Kul(=|>^kdd zBEGKLk!)3n(GP39+ID7lemMT!353A?7RYzbI`m_~e(aotY3t$Y1)-ySNi5v^1p#em z=!Z*?AL5X;ANKjlwF#-QjEaMwHW2^fJX;XL z?GT`!)OdC4Cu95}1W(%veSR{3QCc%ulrYUtuKrBuC|?o__kKY@+Zp=FWylY4cvyb& z-aArb85IXV$q@+Qb_i(sr5($|uCWaLSFil!2K0sXY$86a+QIgOP!OP>)OdC4Cm(lg zAq4K589qN*epl*Wxg=qlpDbJ!I?9*C!o6P*&~}D?@;2m$IPm)@v;!~$%^XTzArezyi+Y>}$@dp!Q0Zt2&xME<8!_1W63MXNV*@%>~(Q-k2I zQz7bW0*yruu%Sb<*ys=N2c~-Jxx@!uG%3~;Z6kTuQguX`s>d9U-u2GR6qPn zX$j?q?FwOkAfW9B{c!I6Wd9%5dbRO^)LTaN!T%-4A;gjhX!)fbYyBcgN59l7|F;5t zVLeU6*Ht@`tqQR%|EKWk*8g>W_riUn(YIb5`cSYR!}o~O{N&nIp{IO>k?Su6w4I@! zEJ1#VM%I2(-gi98*MUt7?+4M&=yQCoFNbh$K{|boQ9y(9*ta2_-p8T6TvPLV{oUnB z@N2<;lb_bJGUz5}V$mp= zpWG#|eMYY3mws{uc8ze*e`V_@5Aev+4BKxdx{LJ`5HBnHx&iqn-6rD0^HRRw?(~xy zuf6{6_lN@$!tktp?AGtPcbmz_*+!q;TE+MUyX622R~iC7yOmdVfOaA)yG4D|b|*`H zJ7GJYg}$A%e0=j2AtMmz-j8v*JY?Q;X&ZT?Lje0Kfz zKP8{#eDYZOm(VRhuE5^wF9ttN@(uG`A{N5!5TN{W|C96FD(o7|WbH3xKdAk^V^f!! zSWgb|BHA&8hTMUClkPs^<~KsXb!P6jNq!~77k(${wAY{iK1p{M@%w*}^soAzeplm_ zrQdzdg3zts?fibn^Old#9xh}2Xb*$k`l?Ibm)ky{-HISbY#r@Hi3xiQsc+iuWT|iN z6VF-b+Y6SDPv2UwgF)Z+C=h*8+^27=kR!s-D}B@cd$0Ny&vP)@ai3D}R^K|mixF8q zK7E^9v6=P?`X)Gp`_2gX^v$d!%k@g%^gK9AeS6V%p<8`>(sdtt`;vY1>D&4r9bwQn zK_T4J5b){S0_2G0d!=tRYFOd)e~w>0ACU(*EGz1cz|n83CWZ z-T!m4T(9))_MfDlyQpuk`sV&84E@q8_OV-i>*VvQ<>S-0$-lb_gMSkg!aWTEpT3oF zPQmh7>l^v%_k8&OYQ{jo__&InVqE^8J;@E;Qzkj%BscZS^;Jv9Ba~1b5FxfBe z`?6g+9pUgf?xBKWW8FimqE9o=zQ-lfc&8a{{y?21eO2* diff --git a/src/GNDStk/HDF5/test/resources/correct-raw-typed.h5 b/src/GNDStk/HDF5/test/resources/correct-raw-typed.h5 index 71a20489585177540a19af41857f629996873294..73546200bca3e109fd1fbf5ab92390e8a5c034cc 100644 GIT binary patch literal 43984 zcmeHQTWnlc6+O;#lDJ`#hSW*gW?Cca3KdP#NDShU33*wFHbWE8RJ`uQ9>;EMkL5UJ zXh9f>3RgnZs0iGOiV;O%fmB(1`3EWD%b)%upW)AcSgMfbuiSI@TJzYRqlu??s*pK1 ziuc{;?(elExb(>W5(%@*B%@va`3T$k-=u^*j|bT416=@J-XS}E z#{M&A0Og0!zLvZ8(#4A=lw|v)sAlf%mc0ZEJnbn2hA*DW*$L+{Yij8l^o(GPl}gbr z^>LU7I;4GOUz7eOp}#|WrNMc0B>KD4slRI{M1Bb4xbw2?aD2h*!Y|^uCl40_)ZZ0M zYY8+7J?Jw#Tk6@y_eF39@-Bax|A7dU3lIdk`r?%fwhsMfYNs5i*$4P>_}Avzo+ARZ z`(*^O00;U_Cfe&Wd(Dv$<yt%e4yDcl^Q<{@z?}I=;r@KIeR#GX9?hPiBVm-3 z`nTNm`{c}_xln6lllBf|$D-|MR``?Iev`)dcA5ULkBRBIh);$Ju`Ak3;dn$M9khG> zCL0y>ncd<3fUS4S7Hp}9@z4!7QaiSKJA%)xx!H;78^#<9>m_Y_;eVNtXejm4wzCYS zwPlyjU-?FK%vK1uMmftDuG_!Hu>S+Xnvu~|aV&LXJT>u3R6@MqzRmg4)KoFVM6fVM z7D9&QsX>7+L_xMK$4^Q59@p{Ha)AA@erdXxqOMp8+UFx^XKsA9NC^x4K9nB>{n}({ z z>__V{^Djvx3MiKWpGQJ~`HjqHWT2D_z|VhH%7-wI3i4r;TLZuGd`uJVax*SJpmAw; zzj6_Y5T5@o58F5YfFYp$0PU#EL>tCCSWg8;CA6Dthx2jWN4h&G4F+h}$FU9p?vZL* zf9c0EOz;8+>TA4ltbV_89rnV0s*Fo&96fSc?t7YCFKfK&>*YPsdU#X@Nh#=P|sOCwJAfW9diFqfWM}%Q;W@NN5SEyY-4f8;Ul<`B~ z2dLYJJQqA$oGQ%TY@df{TwmFogv&nGa3ML4ar^ku;R)=KYT7>NCx_rS2}9iRL%*MK z2lmK*Hozy;I5-|p1p)dQjaR=B57rkxX>Q-IV7}A&eg@uWApWF$U&G~ZHoqj}2yjB$ z#pC2z5u~1>nkPMifc7_x$4k&7!qBaFod2TqP)2{9#$)?l1M?kLmtFRe&!Rse#>Zm- z;Ymvbw0+P|u70&yoc=kke20$5xi3q9?57NVNsXga zzWa{d4rC8L_xJby^UR5?>%L?)E9Ye3ywG;>Id@6qsCUBozrBKh_CJiz8R!pjh&w*J z;^)$3=`ldZK7R5Hc-jg9t-thR)r-y2jBDMBpNp^;_OlB9t{O-4s65B`sqw0>)AvO0 z<@0*h^?v5%8H1D>`*K^A%hyDXdM2Fz+balYf5UjW2>l@rgK`@- zTBF&rVIJs^x~?lXzaFG#-zam%$?~_Q|E0Xpc5$-uJ&~h+3FrUz3If{C zFix&Qe~3fe*OhGddSN!&mH3)zmXNHem=~(?r}UHX1^iBbhrSTet7Vl0OjcyYdDrW8uMY zTOSwNF0LjfMUMVdIRCd-5YT>!*UOvGAL1bS^|TRss=r`r=g0ITYFf|UjC-xav zHC~&VSlMUeg%)ja7D1hjoH-eqccfCPxR^E0%MD(r9o{nejm z+ArVjn=XwOrwda^+qC_DpZ%5u6o#(CZH95KpY2X)1t3>x4v+s7XO z=1EHgw0+UfF2V1zQrz)J=a15J(i8j1gDGe_WC(;!ADT7~9V1)ja7D1hn5tV%}-!5n+gX zokV-l>xekx`{8i#^*p1*cPwk#=1=VP2=gb8hWoBKpT+uS5kUDo2!QaUB?8*s=yxmd z!>q*k+pRdCc|&?)KLPl8H4cu)Q$c`!OXC&Sb2RpR(C-`#_ZxZpTlS6ok%({oT?c*L zC4Om#^LGq$Z-tG8+mH~m@K@R4^(2Ztc}NkUU*fuP0rL#rmmOF9OZ`QTuS4GTT-PS# zlF%!NJLBpS0%`z3A6JQ(r>zj6{^oIzakcuZW@*N|c;jmQcQ_Z3=VCvr;O}A_Nerh7 z{ia;%*K#2Hw$K5{4g5xSD3=8v{8q~8uQR`EmJ7hozk`MzaKgB%@v5)ixA*&H_MHsI z(Z|Alm;YJ?-U0COeg;5z(h>oep9!ExtVDZ_%g@k0w4aE>KCG{C*~eY@nE(^>_Q5mk zX)6R=_Aw7VVx4Z;hmMb(+J}9If$`&5xbL!$D&lK^iFx|~5T3L|z-1p5wNC4nedu*z zr}okK9T5A;ESG%@yeBXOK*QSyfbgUx0xtWw^ZRD;ZrR8DyV6eu{dH;|jq&3|*rdxo zG8O4>T!?>8062Kk8UdGm-1|ebe7EeQ0)Ku7{nhW+-QV+n_B~L$k=k+c`9E9cvXkVW zY%NoJZrR5X!NdP;jeyHe63Az>R@`>NcJ=$F{Jrut1jwIK{Au#?yL=Qkxc^RZ@)S3- z#T&OL3$qs|i&MqvIcrC w_N=eNh9OtR`jc{cJ<9ukm5NlLoQ`k2-pZ)^b=vOB=r>SuuKU>#|HR1u0NhLHhyVZp literal 37920 zcmeHQOKes0NvO$Vi%`!W(3_I_zR3T+o&YA!F=J9(@#vb2EgXi2R zbMAlce;)Tc|Kq%T?r+nl&OEU1@IK?NfdSKRhN`#x`3zU|Cy61==Na7eAuJ&*?~t25 zPvZuldfuar(5eoXnpgl9}7P2ul!b?5dI|UaqFjYGY>ih+ZzGO?+RXX31Olt z)z0$mY$<2u^TL<`zt5fy{7@K@KLR6yb3ZtH%B7**jCRU{ntp)J!M--94ipif-k0IX zGI%g(Myq#yW{){&QJ%_QdHZtKm;=#qV4gBB?>8@hrf`3$dVP9)5Ejj~&_U}ZCH;aw zeV?=(va?bnm*lrUHC??PO9}mSYS4_Je*I?9mN7H8Sfz)oK=fDdB0R4KRT*@5gCe4CT`+1aecM6j@3Afy|f zlm}D`=^z>MN5cZE*$sZ3j`^=kcT5tHpCQZJi~QE5dr=-Ro?(728&T#Q2jBYv<{N$x5KOLPsb>jR9W0;OO5?AsQr`*iNOD>CtkPmUqPTR({7n-To z9+OkTctC<0Zo`vP6N?kZJdAigmwFA4G*qq1@rWn=!Pe=I>GY3!(m#fH;`(~NkR>MW z(c_+UFb9U|&gEyD(j7uN-Oh&*PrT2}6c!dE2%UX~?!r2Gd=lx{9_O-?`MIfj!Y_Er zdrFmeJ~vZnNM@eKbIR@TyfjSYi9h0re+Kc?PiqRR*RYD82K}sx7wIwPITb$%`gs)( zu`)+hJj{Vfs(34EP1gz)rYSZM0fB%(Kp-Fx5C{ka1Ofs9fq=m0i2&CP(imuRzN$XI z;O0*TjLa`Aw4GmY-G0t5xUsHpUTp*exG@aK+O1RE#6XJUz0VV~Q1-n?fb+cLD4O#F z^BmA4p7TAdA;-%pMr<;adEWloe8B+ZmicNq=KRdk5h;j#%b;&yz#gFzoGG}_cwM|`y0cH*(JB4(r!J&&8xD%;kq!s{)V={ z?fM&cFd<6&yKNdEyvT+S&~`>vBaOKY|IJL;-@vk!A&upz8Vz?|TVIQqfeQQVikY)1 z?B8&GGzCFi0e|q53b;TvA)w`#esY-$J>aJQiq}u>to4^iu@J>_GN6m72jzSX@=d

Syd z*XQ-=TZH+8pl_6v5Z(;|pT1R;Kkb&jY5yIkzBykPhrYSJW4`&TtLWHg0CKx=<;vHD z(bX+ny@!C-w;@0<$^jy1?h~WlNw2SSyy)Nb{Bm7CWFKiEJ3CRh)PCNjvH$1pefn|d z>r&?&svgFzows2xq}2LBJ2?)!NerkLarOW7{O%g`k>w;_l9ESNJy@R*3Ien<8n3!v zck{am!}(qBetztKC;kk%zu#wXqHjq(GH8%?{y6oDFjCHtECfA*fVMaE#}&1%+AV*q z*Ks@b$8Ntn=VSKUd!K%kz9S90g!T>o7(j%eB?4MMXeU>{-ONt=+%11xgk5JjWzZE> zkLFqhivC#RRsZ|A&G}<&6H|X5_v!J!{MlXmQxAUm?|=Qz(I-;Ab=c%_X_NE`3ETPS z;wj;y+=UkHEd;dvp?}Uneuzfg{@Le0E2pKz3cRSiP!OR1)OgkV>AUS5bA3GP`#WypzCLuGvcBJg<&B+@^5@eMw)2za z?+YL0OQ`VMD+p*iLqB;H@+rlI}pmY-aO zzObC3?@7rcsvfLQ2n7N9Esa;>yzfT*q#j?ob2Z+yjqxE4cJPfWi?2&Pmd{Gq&R=HE z2_NN5sPNk>2xxmle|ZD)LmYUH3he>R10Q!B@6YIv zxlO3{VmTEQwEBj`hu_u+&~IzJ8ppTQea0L7dmMLu64#-e?{4dde=PN)+_bJ`h~2IT zX!}7woL1*8-m7tI`6q((JOB^=Z@WrfJnyCDmv(Fbc8#UbFLlfREkj>eP6hPpo2)?y zTOm;Me+sWbBQ4cuPgHE&ujKvv8qaduc1N%8bG(_vdItIQ`bG*B9>+Wm`SiRF z?dOW>@9T4#$B|zGdd2*-o@KyyeM)Y~cN?_9!I|^mTh2H0RY0%)3=A6#eCx|elzSEV zg#O0{0qs#XZ3pNNN<63)xKOUCKU;-M@0X4;k|WDWgU+dXY_;6&mY)3&jn|+Ni?iAO zhn_!g?0*bd@Z59uM;@~G{SCAmyZibl+8(y+pNw9#nc2&g8Lr+#K-;ARAc){kiHOXv zj~EG$)#mR~WY}cr`@7iUCCO+7`31kaNnm@7UCS^1>g}0kAn5PLnxi|W#INqCou9D; zePKDvpl_faw67zVrAYFPgI=2JxGMkG3F%igUiJ0p&d$$pf5T7z>AtDZ={&hh%X}WT z_ddI|hV~0~%YqcHwg~v_)-`1ZXeZ*bThupgcjDByN9^0jp>OV+Ccb{I9?wfZ!T zv|q4W_q)X1ANBLuts>-zwWK{6W5gCi>YKJZaq8RSwvKV=o3n*JeM`gc1%2D1K=ep* zpT4cZpAv>{>6`Z7Th%w$&*A*bA$#AczBQh^aoFbL)3@tI`_NuN-vo#7dv^qU`j#m+ zr|Xu!>3(pW`sO~_(y6|=HA?F3llI=HZ^;h?r=V|wL-@Tr0zQ4a`RnF%-O{(K?@Ku= zC@)TZbDt*ZRNor?+fz0lpT1rDjnx0T1lac01hNMD}j!oB2>mh)~{E z^=*&Mj(*8~0;rzf#?FUu`*7UF(7m_YyW{rjxHzBQ-M~C^#qzi-%=Zco;kPvcKE1pC zQ8RzsddJ-Lejk1>X9NtSec#W)erB>8&}1k5BFigeFI>4iQ8;}$JDZ)ebIE)!&i|56 zhn(kGD#?>;z^AU)o$ViJv=fodI<9lrUfK7rzs>(+IQ7C?AOG{e$-}8nUj6rb2S3@H z3id#^Y@izv@Y#dP9~!ypdNbA>-7!V|D*axvD5JbM_3MbudJr=%o83q2^weDpo!y{+ zcebOEKC0;F6#cxSpHcL%qMx;N&|3>axV#AX^tQNepMYc$m)^>{?XKE661n#!f2R-b w(&N~)M4MY5$PM{)|C{U2WAL}+)BZPy{08)Tv9cpe;2TkVzWo$nzh}Y!0Ci72<^TWy diff --git a/src/GNDStk/HDF5/test/resources/correct-reduced-string.h5 b/src/GNDStk/HDF5/test/resources/correct-reduced-string.h5 index 64a765579a61e22b59739cc7a9411b39783990ef..72eabdc7b1753a9cb068f1af62c96d93ae484955 100644 GIT binary patch delta 2171 zcmah~O>7%g5Pt7Du6H+1ZhX;M3D{^V9jzxgVJgFf@QM{&(CceZk3LqWM)`mDqg@MP3~JtWZ) zxqsC7@Y>o{gu)WLCop>;sjBtcgCL*`m@MNke7i@$``D1-<5dU zp>IkYgP*3rw1aWoqRjMb_EZg%c`3ms*Pw zSyqdg5`0CiWrx+`r$YG&k%y{@#~!HnbYBm zu1xif2e6ye)yFbI%ltOEMDPwg3B9i!goi|Mlc1>iMesZ!w0r8ImW2{0Pr_r#y1{(@Ebq4EjzPPf(8e;k>GHk2qi^H!2J>u#1c zOY5-X)3uicEpwj?4u$Fu6<4!y1y<8rG4>5fBk?WC$URHJG~38{g2ATvq}C<#3pZ4ZJiHnm8i|Jb*#3Hu64vx0ksBioy@C`J-Q0R_ZL_hl2HkKh!ap{05ZL5< zQI%JU5#ioF<^?^E*Au3Cj8s^S1XaR)5F*fxEUOBeMY_VQNiWZN%APYy-?M%Q)iXSd zte45YzHuD($B%eDs4i@%m7{cOmn7=UQK7{e1ZNSKBLbh{6e28NLDsT zeHy;3@Gld+Lw)k=IZ6U_=;Rj8GwH1p3aP!pBs$Hn)x`+$Ib#LvNPKfeOl?~o*bmMx kD!YG!rMCJ|S~@STFtgmQ>e@jR^G@;%o$nR+WA>eY0pqDe{r~^~ delta 1190 zcmZuwO-vI(6yBMFY)fg%fpiO&UD~CTg)YCg&{!!gC=v~D+i+0)2`)8;MlnIXz(w(3 z;`$Qo*@NOq>RvpNdQ(sJ=0Ov0HX0J}E0=AdVnLnF64w!cfC;%&N5p}{ta*FVhoD#fui~cT_fF`5FZpQ@ywfIm7TAO`H zhM^XpzuPt-7qe+Z9Uh`w7%mZQ50h53-8CIdoBVwW1T=2Yd7K#_qYk_Z2Hdv*VxH}BL6Kyw%dCznig-%z5Ax$v~drt%& z%1vH45OtiA%th%mMrF7oUTgU$2<)dbP?Fu|)sP2aEeLC}m4 zv2a#7q^w$a0tn69KTaE>j!!C}(p0y!Ddo4ie7Ug zK87(DC#5aBYA&E8wqbWd!l|UG_WVXrniOy<0pBN=UDXf?SWM5N;}A{wVK1$chqj-d zBM&W^nIjMF5jiFJlDUC}5S*K`d%rqm;K7r$NNJjfQc|jJW`2T7NfX+4QuY-qrI#2! yNE?OcWK>zKg{s4}rze4aX4bhycaTsH?#X_-sn%?@8NpQxVI~5nF!pBXDE|U4%i4|r diff --git a/src/GNDStk/HDF5/test/resources/correct-reduced-typed.h5 b/src/GNDStk/HDF5/test/resources/correct-reduced-typed.h5 index 8243a9a1e7973973973ba1bfe8348dea35551b6d..f590d928832e6bbb9c08a79905f0b14b6cac114b 100644 GIT binary patch delta 1779 zcmah~U2GFa5Z+xUa6TXE5r}=~)VZ_41?)QYAH=v$av}Vrt|}r_p$Lg8b_t|uo46oQ zpi*UCP%8Byr%|OCwG#B9N~NM;om9C}i+Jb*YLQBxC{-np`iPKt=tC-dBiu!1=lNyPiFpg!n?`gY&cJ5ZWqm_kJH#0wKH& z>_F&^?Lvo{XRE>q>KC;8Y*6g`1g%uxb-55+lntywgMM}Ro_@pdfPM$yU)j)K7TTVd zS%D*v354{)F6kM84Hl~jh^08c1@lp?bM2PVHSF)-0Z@vVx4l9v`#!o6TZF)rV{f+i^C5I9{a<@UnCue zpOPG|mp+Bst5ttKPEXUNz%NPNy(E*+6cUtkuBHwXvX*tzGMDCx%UK|q7O|-1jIf-! zY~PlA)yi3zNH6YU4W354(KCW(DLwn%;`wuKpv;g4m0Z8lgM?M2rtIb*T+2zs9HN|T zac?O78bwj>OoU6-xrK|wTc*teHqCOc22;&3l#k@)*Z!<92f>sGx!iS%z3XFS-bhZ;pw9*k@t1*=-UHGNlmIvt{yyThAA# zBifk`HY62fZSZ!9RV~EEqgORHGT%OS=n#EC^dAt$2c2*sNXVUW$QDm;X~$00+-|v5 z9Ks=ZQanP(>09OmXi0^R)GsM#WfVGApNPEyIGNl5lcfXXZu_0Aml~us!4j#tVbQ7_ zrU+I>Xwx5I9Buz_TJ*Y?z-fV(%69W>sE^K*KiiM`rLo84?>PK7#@pSn8gg5oPqo!D I%n!WtKOAQ{ga7~l delta 1023 zcmZ8fO=uHA6rP#>xJkFTt!+1HTsPfTNuz06)1MH{Pm`L02VHMPP*R0jgJP-`iYTNY zq9B;%Ay_ZA9;67O%R=c%Qcp!Z)LV`P4+cC~Zv_#Y-IXLL^WNKej<+A- zQh?+#X0WdT6FA?{?QFa9%=^6X|2{y6G4x z#jMXwYmE?S@!&QXZ&7hOOw;ucEYh_DR_NLZ8!fW8iwoFd_BX>eB*QOyT9dDxUgf7= z=n-Yy4I6G5`{078;;J<#j)_Kj6}D6XK6oxdyV6A@#R@7}0<*ps!3Bj~u4yfETvi$H z=h~?r!#o21GXl|rhWXLa^Lr(zsd^d<=2hB@_`yRKxpdvloR8r9aA88g3Ant^6$L%`nBLXR$ zpwY>cBZg3s%hvi-w_yo7&(nwKE!PxBIoKFcaSn#!a@+baBP*k9FTmHh?Aje;$OF@H z)hJ6=REZL@I|?tgnb!ZVz|EK!60v*6V?T+;t+&Z8LZUJFG(OY%Pb5agoV;`C0W86T z^dueh*4_+MLLwdZOEl6WA|3d5oa+E(pcg8cG%42$m7G{2fz$RoYLi|BGp;(*S4#5w vbT6mapVum~$#FGpm~TMJ=E>Hco@alMss>LdS>4}HF1hRZ&eReiV|Vv2SJu_? diff --git a/src/GNDStk/HDF5/test/resources/various.xml b/src/GNDStk/HDF5/test/resources/various.xml index 18b7ca3e9..239dac3ea 100644 --- a/src/GNDStk/HDF5/test/resources/various.xml +++ b/src/GNDStk/HDF5/test/resources/various.xml @@ -8,6 +8,8 @@ string="ab" strings="cd ef gh ij"> + + @@ -36,6 +38,10 @@ + 1 2 3 + 4.4 5.5 + a b c + 1 2 3 4 9.87 6.54 3.21 diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index bde746827..d16516d41 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -7,8 +7,7 @@ inline void hdf52node_error(const std::string &message) { log::error( "Internal error in hdf52node():\n" - "Message: \"{}\".", message - ); + "Message: \"{}\".", message); throw std::exception{}; } @@ -79,7 +78,7 @@ bool attr2node(const HighFive::Attribute &attr, NODE &node) log::error( "HDF5 Attribute \"{}\"'s DataType \"{}\" is not supported at this time.", attr.getName(), attr.getDataType().string()); - log::function("attr2node(HighFive::Attribute, Node)"); + log::function("attr2node()"); return false; } @@ -124,17 +123,17 @@ bool dset2node(const HighFive::DataSet &dset, NODE &node) // dset2node template bool dset2node( - const HighFive::Group &group, const std::string &dsetName, + const HighFive::DataSet &dset, const std::string &dsetName, NODE &parent ) { Node &node = parent.add( - beginsin(dsetName,special::pcdata) ? special::pcdata : dsetName - ); + beginsin(dsetName,special::pcdata) ? special::pcdata : dsetName); // the DataSet's attributes - const HighFive::DataSet &dset = group.getDataSet(dsetName); for (const std::string &attrName : dset.listAttributeNames()) - if (!attr2node(dset.getAttribute(attrName), node)) + if (attrName == special::nodename) + dset.getAttribute(attrName).read(node.name); + else if (!attr2node(dset.getAttribute(attrName), node)) return false; // the DataSet's data @@ -157,7 +156,7 @@ bool dset2node( log::error( "HDF5 DataSet \"{}\"'s DataType \"{}\" is not supported at this time.", dsetName, dset.getDataType().string()); - log::function("dset2node(HighFive::DataSet, dsetName, Node)"); + log::function("dset2node()"); return false; } @@ -178,9 +177,12 @@ bool hdf52node( // node name: from HDF5 group name node.name = groupName == rootHDF5Name ? slashTreeName : groupName; + if (node.name != "" && node.name[0] == special::prefix) + while (isdigit(node.name.back())) + node.name.pop_back(); // ------------------------ - // HDF5 attributes + // Group's attributes // ==> metadata // ------------------------ @@ -221,7 +223,7 @@ bool hdf52node( } // if // ------------------------ - // HDF5 sub-groups + // Group's objects // ==> children // ------------------------ @@ -264,7 +266,7 @@ bool hdf52node( // not DataSet (upper-case S), but uses "DataSet" elsewhere. :-/ case HighFive::ObjectType::Dataset : try { - if (!dset2node(group,elemName,node)) + if (!dset2node(group.getDataSet(elemName), elemName, node)) return false; } catch (...) { log::function("hdf52node()"); diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 19fab29e1..606138bd9 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -4,8 +4,7 @@ inline void json2node_error(const std::string &message) { log::error( "Internal error in json2node():\n" - "Message: \"{}\".", message - ); + "Message: \"{}\".", message); throw std::exception{}; } @@ -99,7 +98,7 @@ bool json_pair( throw; } } else { - // *** unknown + // *** unexpected json2node_error("JSON value has unexpected type"); } @@ -135,7 +134,7 @@ bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) // For special nodes (ones that begin with special::prefix), // we know that we can, and should, remove trailing digits. node.name = key; - if (key != "" && key[0] == special::prefix) + if (node.name != "" && node.name[0] == special::prefix) while (isdigit(node.name.back())) node.name.pop_back(); @@ -172,10 +171,10 @@ bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) } else beginsin(childkey,special::pcdata) - ? node.add(special::pcdata ) + ? node.add(special::pcdata) .add(special::text, json_array(childval)) : beginsin(childkey,special::cdata) - ? node.add(special::cdata ) + ? node.add(special::cdata) .add(special::text, childval.get()) : node.add(special::comment) .add(special::text, childval.get()); diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index 2d5ac0781..7a070906f 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -173,10 +173,14 @@ void meta2hdf5_plain(const NODE &node, OBJECT &hdf5) // ------------------------ template -void meta2hdf5(const NODE &node, OBJECT &hdf5, const std::string &suffix) -{ - // Create NODENAME iff necessary (allows recovery of original node name) - if (suffix != "") +void meta2hdf5( + const NODE &node, OBJECT &hdf5, + const std::string &base, + const std::string &digits +) { + // Create NODENAME iff necessary. See remarks in the analogous JSON code. + if (digits != "" && + !beginsin(base,std::string(1,special::prefix))) hdf5.createAttribute(special::nodename, node.name); // Existing metadata @@ -301,7 +305,7 @@ bool hdf5_reduce_pcdata_metadata( HighFive::DataSet dataset = pcdata2DataSet(node.name+suffix, text, hdf5); // metadata - meta2hdf5(node, dataset, suffix); + meta2hdf5(node, dataset, node.name, suffix); return true; } @@ -340,7 +344,7 @@ bool node2hdf5(const NODE &node, OBJECT &h, const std::string &suffix = "") HighFive::Group group = h.createGroup(nameSuffixed); // metadata - meta2hdf5(node, group, suffix); + meta2hdf5(node, group, node.name, suffix); // children - preprocess // To understand this, see the remark in the JSON analog. diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index 4b1a52f4a..8f6cf4daa 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -229,15 +229,20 @@ void meta2json( // (for example, "sigma") that appeared multiple times under the same XML // parent (which is allowed), but which can't appear that way in JSON. (JSON // doesn't allow duplicate keys in the same object). - if (digits != "" && // has digits + if (digits != "" && // will have suffixed digits !beginsin(base,std::string(1,special::prefix))) // isn't special json[prefix + special::nodename] = node.name; // Existing metadata + // Remark: we could do without the "if (node.metadata.size())" conditional, + // except that the "json[...]" expressions have the side effect of creating + // JSON values (nulls to start with, until/unless something is added later). + // We don't want those to be created at all here if they won't end up having + // anything, in this case metadata, added to them. if (node.metadata.size()) JSON::typed - ? meta2json_typed(node,json[prefix + special::metadata]) - : meta2json_plain(node,json[prefix + special::metadata]); + ? meta2json_typed(node, json[prefix + special::metadata]) + : meta2json_plain(node, json[prefix + special::metadata]); } diff --git a/src/GNDStk/convert/src/detail-xml2node.hpp b/src/GNDStk/convert/src/detail-xml2node.hpp index a1ce34d6b..0c63ea679 100644 --- a/src/GNDStk/convert/src/detail-xml2node.hpp +++ b/src/GNDStk/convert/src/detail-xml2node.hpp @@ -8,9 +8,7 @@ inline void xml2node_error(const std::string &type) { log::error( "Internal error in xml2node():\n" - "Type pugi::{} found, but not handled, as sub-element.", - type - ); + "Type pugi::{} found, but not handled, as sub-element.", type); throw std::exception{}; } From 5e932dc087a2bcf153ba7a3b0af615d8096a4253 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 6 Jun 2022 12:13:58 -0600 Subject: [PATCH 102/235] Detail detail. --- src/GNDStk/HDF5/src/detail.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/GNDStk/HDF5/src/detail.hpp b/src/GNDStk/HDF5/src/detail.hpp index a2d96f9db..9f151bee1 100644 --- a/src/GNDStk/HDF5/src/detail.hpp +++ b/src/GNDStk/HDF5/src/detail.hpp @@ -40,7 +40,7 @@ inline std::string guessType(const std::string &str) while (end && isspace(str[end-1])) end--; std::istringstream iss(str.substr(0,end)); - // one int, or more than one int, or one unsigned, or ... + // one int, or more than one int, or one unsigned, or... std::string s; if ((s = guessType(iss,"int" )) != "") return s; if ((s = guessType(iss,"uint" )) != "") return s; From 93acc2d1bc3ea5e50de0b1fa0d39bc855b0556ab Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 8 Jun 2022 14:43:24 -0600 Subject: [PATCH 103/235] Additional work on simplifying autogenerated classes. --- src/GNDStk/Component.hpp | 3 + src/GNDStk/Component/src/ctor.hpp | 11 +- src/GNDStk/Component/src/detail-getter.hpp | 32 +++ src/GNDStk/Component/src/field.hpp | 153 ++++++++++++ src/GNDStk/Component/src/fromNode.hpp | 2 +- src/GNDStk/Component/src/print.hpp | 2 +- src/GNDStk/Component/src/sort.hpp | 2 +- src/GNDStk/Component/src/toNode.hpp | 2 +- src/GNDStk/Defaulted.hpp | 2 + src/GNDStk/Node/test/call.test.cpp | 50 ++-- src/GNDStk/v1.9/containers/Axes.hpp | 94 ++------ src/GNDStk/v1.9/containers/Axis.hpp | 112 +++------ src/GNDStk/v1.9/containers/Grid.hpp | 195 +++++---------- src/GNDStk/v1.9/containers/Link.hpp | 56 +---- src/GNDStk/v1.9/containers/Regions1d.hpp | 161 ++++--------- src/GNDStk/v1.9/containers/Values.hpp | 133 ++++------- .../v1.9/containers/Values/src/custom.hpp | 11 +- src/GNDStk/v1.9/containers/XYs1d.hpp | 206 +++++----------- src/GNDStk/v1.9/transport/CrossSection.hpp | 64 +---- src/GNDStk/v1.9/transport/Reaction.hpp | 142 ++++------- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 226 ++++++------------ src/GNDStk/v1.9/transport/Reactions.hpp | 75 +----- 22 files changed, 650 insertions(+), 1084 deletions(-) create mode 100644 src/GNDStk/Component/src/field.hpp diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index b313340fc..bb65882ae 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -151,6 +151,9 @@ class Component : public BlockData } } + // Wrapper for derived-class fields + #include "GNDStk/Component/src/field.hpp" + }; // class Component diff --git a/src/GNDStk/Component/src/ctor.hpp b/src/GNDStk/Component/src/ctor.hpp index 7e6d24233..0009b5a31 100644 --- a/src/GNDStk/Component/src/ctor.hpp +++ b/src/GNDStk/Component/src/ctor.hpp @@ -6,7 +6,7 @@ friend DERIVED; -// ctor: fields +// ctor: BlockData<...>, fields template Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) { @@ -17,15 +17,16 @@ Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) // Type that a multi-query with DERIVED::KEYS() will produce. using multi_t = detail::decays_t; - // The parameters that are sent to this constructor must EXACTLY reflect - // what we'd get from a DERIVED::KEYS() multi-query. + // The types in ARGS should exactly reflect what we'd get from a + // DERIVED::KEYS() multi-query, except that an ARG of Field<*,T> + // is accepted in place of a T. static_assert( - std::is_same_v, multi_t>, + std::is_same_v::type...>, multi_t>, "The number and/or types of the fields sent to Component's " "constructor is inconsistent with the query result implied " "by the KEYS() function in the derived class" ); // Create links - (links.push_back(&args), ...); + (links.push_back(fieldAddress(args)), ...); } diff --git a/src/GNDStk/Component/src/detail-getter.hpp b/src/GNDStk/Component/src/detail-getter.hpp index 76ac4cfcb..910afbd61 100644 --- a/src/GNDStk/Component/src/detail-getter.hpp +++ b/src/GNDStk/Component/src/detail-getter.hpp @@ -3,6 +3,38 @@ // Some helper classes // ----------------------------------------------------------------------------- +// ------------------------ +// isVector +// ------------------------ + +// general +template +struct isVector + : public std::false_type +{ }; + +// for std::vector +template +struct isVector> + : public std::true_type +{ }; + +// ------------------------ +// isDefaulted +// ------------------------ + +// general +template +struct isDefaulted + : public std::false_type +{ }; + +// for Defaulted +template +struct isDefaulted> + : public std::true_type +{ }; + // ------------------------ // isLookup // ------------------------ diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp new file mode 100644 index 000000000..5608fa5c0 --- /dev/null +++ b/src/GNDStk/Component/src/field.hpp @@ -0,0 +1,153 @@ + +// ----------------------------------------------------------------------------- +// Field +// ----------------------------------------------------------------------------- + +template +class Field { + PARENT &parent; + T value; + std::string name; + + friend PARENT; + +public: + + // ------------------------ + // constructors + // ------------------------ + + explicit Field( + PARENT *const parent, + const T &value = T(), const std::string &name = "" + ) : + parent(*parent), + value(value), + name(name) + { } + + Field(PARENT *const parent, const Field &field) : + parent(*parent), + value(field.value), + name(field.name) + { } + + template> + Field( + PARENT *const parent, + const typename VALUE::value_type &def, + const std::optional &opt, + const std::string &name + ) : + parent(*parent), + value(def,opt), + name(name) + { } + + // ------------------------ + // getters + // ------------------------ + + // () + const T &operator()() const { return value; } + T &operator()() { return value; } + + // for vector: (index/label/Lookup) + template< + class KEY, class = detail::isSearchKey, + class VALUE = T, class = detail::isVector + > + decltype(auto) operator()(const KEY &key) const + { return parent.getter(value, key, name); } + + template< + class KEY, class = detail::isSearchKey, + class VALUE = T, class = detail::isVector + > + decltype(auto) operator()(const KEY &key) + { return parent.getter(value, key, name); } + + // ------------------------ + // setters + // ------------------------ + + // (T) + PARENT &operator()(const T &other) + { + value = other; + return parent; + } + + // for Defaulted: (std::optional) + template> + PARENT &operator()(const std::optional &opt) + { + value = opt; + return parent; + } + + // for vector: (scalar) + // vector push_back + template> + PARENT &operator()(const typename VALUE::value_type &obj) + { + parent.setter(value, obj); + return parent; + } + + // for vector: (index/label/Lookup, value) + // replace vector entry + template< + class KEY, class = detail::isSearchKeyRefReturn, + class VALUE = T, class = detail::isVector + > + PARENT &operator()(const KEY &key, const typename VALUE::value_type &obj) + { + (*this)(key) = obj; + return parent; + } + + // ------------------------ + // miscellaneous + // ------------------------ + + // assignment + Field &operator=(const Field &other) + { + value = other.value; + return *this; + } + + // conversion to T + operator const T &() const { return value; } + operator T &() { return value; } +}; + + +// ----------------------------------------------------------------------------- +// Helpers +// ----------------------------------------------------------------------------- + +private: + +template +void *fieldAddress(T &value) +{ + return &value; +} + +template +void *fieldAddress(Field &value) +{ + return &value(); +} + +template +struct stripField { + using type = T; +}; + +template +struct stripField> { + using type = T; +}; diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index 097350208..8bde92279 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -34,7 +34,7 @@ void fromNode(const Node &node) const auto tuple = node(Keys()); // consistency check - assert(std::tuple_size::value == links.size()); + assert(std::tuple_size_v == links.size()); // apply links: // Node ==> derived-class data diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index 40e17a70f..f83743e61 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -69,7 +69,7 @@ std::ostream &print(std::ostream &os, const int level) const ); // Consistency check - assert(std::tuple_size::value == links.size()); + assert(std::tuple_size_v == links.size()); // Compute maximum length of key names, if aligning. Note that we // could - but don't - take into account that keys associated with diff --git a/src/GNDStk/Component/src/sort.hpp b/src/GNDStk/Component/src/sort.hpp index 88c4d1ba7..11e696927 100644 --- a/src/GNDStk/Component/src/sort.hpp +++ b/src/GNDStk/Component/src/sort.hpp @@ -7,7 +7,7 @@ void sort() { try { // Consistency check - assert(std::tuple_size::value == links.size()); + assert(std::tuple_size_v == links.size()); // Apply links std::apply( diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index 83fcc306b..1d91d823a 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -21,7 +21,7 @@ operator Node() const // Write fields... // consistency check - assert(std::tuple_size::value == links.size()); + assert(std::tuple_size_v == links.size()); // apply links: // derived-class data ==> Node diff --git a/src/GNDStk/Defaulted.hpp b/src/GNDStk/Defaulted.hpp index ad37a4a0c..7c6bb6d22 100644 --- a/src/GNDStk/Defaulted.hpp +++ b/src/GNDStk/Defaulted.hpp @@ -53,6 +53,8 @@ class Defaulted { public: + using value_type = T; + // construction, assignment #include "GNDStk/Defaulted/src/ctor.hpp" #include "GNDStk/Defaulted/src/assign.hpp" diff --git a/src/GNDStk/Node/test/call.test.cpp b/src/GNDStk/Node/test/call.test.cpp index 46628994c..3763e65fc 100644 --- a/src/GNDStk/Node/test/call.test.cpp +++ b/src/GNDStk/Node/test/call.test.cpp @@ -1058,7 +1058,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("Meta | Meta") { const auto tup = node(a | b); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup) == 123); CHECK(std::get<1>(tup) == 4.56); } @@ -1066,7 +1066,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("Meta | Child") { const auto tup = node(a | bar); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup) == 123); CHECK(std::get<1>(tup).name == "bar"); } @@ -1074,7 +1074,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("Child | Meta") { const auto tup = node(bar | a); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "bar"); CHECK(std::get<1>(tup) == 123); } @@ -1082,7 +1082,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("Child | Child") { const auto tup = node(bar | baz); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "bar"); CHECK(std::get<1>(tup).name == "baz"); } @@ -1094,7 +1094,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("Child | string") { const auto tup = node(bar | std::string("xyz")); - CHECK(std::tuple_size{} == 1); + CHECK(std::tuple_size_v == 1); CHECK(std::get<0>(tup).name == "bar"); CHECK(std::get<0>(tup)(label) == "xyz"); } @@ -1102,7 +1102,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("Child | char *") { const auto tup = node(baz | "lmn"); - CHECK(std::tuple_size{} == 1); + CHECK(std::tuple_size_v == 1); CHECK(std::get<0>(tup).name == "baz"); CHECK(std::get<0>(tup)(label) == "lmn"); } @@ -1110,7 +1110,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("Child | regex") { const auto tup = node(boo | std::regex("j[au]ne")); - CHECK(std::tuple_size{} == 1); + CHECK(std::tuple_size_v == 1); CHECK(std::get<0>(tup).name == "boo"); CHECK(std::get<0>(tup)(label) == "jane"); } @@ -1122,7 +1122,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...> | Meta") { const auto tup = node(a | b | a); - CHECK(std::tuple_size{} == 3); + CHECK(std::tuple_size_v == 3); CHECK(std::get<0>(tup) == 123); CHECK(std::get<1>(tup) == 4.56); CHECK(std::get<2>(tup) == 123); @@ -1131,7 +1131,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...> | Child") { const auto tup = node(a | b | bar); - CHECK(std::tuple_size{} == 3); + CHECK(std::tuple_size_v == 3); CHECK(std::get<0>(tup) == 123); CHECK(std::get<1>(tup) == 4.56); CHECK(std::get<2>(tup).name == "bar"); @@ -1140,7 +1140,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,pair> | Meta") { const auto tup = node(baz | std::string("ijk") | a); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "baz"); CHECK(std::get<0>(tup)(label) == "ijk"); CHECK(std::get<1>(tup) == 123); @@ -1149,7 +1149,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,pair> | Meta") { const auto tup = node(baz | "lmn" | a); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "baz"); CHECK(std::get<0>(tup)(label) == "lmn"); CHECK(std::get<0>(tup)(m) == 'm'); @@ -1160,7 +1160,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,pair> | Meta") { const auto tup = node(baz | std::regex("[kji]+") | a); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "baz"); CHECK(std::get<0>(tup)(label) == "ijk"); CHECK(std::get<1>(tup) == 123); @@ -1169,7 +1169,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,pair> | Child") { const auto tup = node(baz | std::string("ijk") | bar); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "baz"); CHECK(std::get<0>(tup)(label) == "ijk"); CHECK(std::get<1>(tup).name == "bar"); @@ -1178,7 +1178,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,pair> | Child") { const auto tup = node(baz | "lmn" | bar); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "baz"); CHECK(std::get<0>(tup)(label) == "lmn"); CHECK(std::get<1>(tup).name == "bar"); @@ -1187,7 +1187,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,pair> | Child") { const auto tup = node(baz | std::regex("[kji]+") | bar); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "baz"); CHECK(std::get<0>(tup)(label) == "ijk"); CHECK(std::get<1>(tup).name == "bar"); @@ -1200,7 +1200,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,Child> | string") { const auto tup = node(bar | baz | std::string("ijk")); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "bar"); CHECK(std::get<1>(tup).name == "baz"); CHECK(std::get<1>(tup)(label) == "ijk"); @@ -1209,7 +1209,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,Child> | char *") { const auto tup = node(bar | baz | "lmn"); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "bar"); CHECK(std::get<1>(tup).name == "baz"); CHECK(std::get<1>(tup)(label) == "lmn"); @@ -1218,7 +1218,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { GIVEN("KeyTuple<...,Child> | regex") { const auto tup = node(bar | baz | std::regex("[kji]+")); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup).name == "bar"); CHECK(std::get<1>(tup).name == "baz"); CHECK(std::get<1>(tup)(label) == "ijk"); @@ -1232,7 +1232,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { { { const auto tup = node(a | b | bar | baz | boo); - CHECK(std::tuple_size{} == 5); + CHECK(std::tuple_size_v == 5); CHECK(std::get<0>(tup) == 123); CHECK(std::get<1>(tup) == 4.56); CHECK(std::get<2>(tup).name == "bar"); @@ -1241,7 +1241,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { } { const auto tup = node(bar,"xyz")(label | x | y | z); - CHECK(std::tuple_size{} == 4); + CHECK(std::tuple_size_v == 4); CHECK(std::get<0>(tup) == "xyz"); CHECK(std::get<1>(tup) == "one"); CHECK(std::get<2>(tup) == "two"); @@ -1249,7 +1249,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { } { const auto tup = node(bar,"zyx")(label | x | y | z); - CHECK(std::tuple_size{} == 4); + CHECK(std::tuple_size_v == 4); CHECK(std::get<0>(tup) == "zyx"); CHECK(std::get<1>(tup) == "three"); CHECK(std::get<2>(tup) == "four"); @@ -1257,7 +1257,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { } { const auto tup = node(baz,"ijk")(label | i | j | k); - CHECK(std::tuple_size{} == 4); + CHECK(std::tuple_size_v == 4); CHECK(std::get<0>(tup) == "ijk"); CHECK(std::get<1>(tup) == "eye"); CHECK(std::get<2>(tup) == "jay"); @@ -1265,7 +1265,7 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { } { const auto tup = node(baz,"lmn")(label | l | m | n); - CHECK(std::tuple_size{} == 4); + CHECK(std::tuple_size_v == 4); CHECK(std::get<0>(tup) == "lmn"); CHECK(std::get<1>(tup) == "ell"); CHECK(std::get<2>(tup) == 'm'); @@ -1273,13 +1273,13 @@ SCENARIO("Testing GNDStk::Node's operator() for multi-queries") { } { const auto tup = node(boo,"jane")(label | a); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup) == "jane"); CHECK(std::get<1>(tup) == 321); } { const auto tup = node(boo,"john")(label | b); - CHECK(std::tuple_size{} == 2); + CHECK(std::tuple_size_v == 2); CHECK(std::get<0>(tup) == "john"); CHECK(std::get<1>(tup) == 6.54); } diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index bd6947b61..03206eaaa 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -56,42 +56,16 @@ class Axes : public Component { using Component::construct; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - std::optional href; - // children - variant - std::vector axis_grid; - } Content; + // metadata + Field> href; + // children - variant + Field> axis_grid; // ------------------------ // Getters // const and non-const // ------------------------ - // href - const std::optional &href() const - { return Content.href; } - std::optional &href() - { return Content.href; } - - // axis_grid - const std::vector &axis_grid() const - { return Content.axis_grid; } - std::vector &axis_grid() - { return Content.axis_grid; } - - // axis_grid(index/label/Lookup) - template> - decltype(auto) axis_grid(const KEY &key) const - { return getter(axis_grid(), key, "axis_grid"); } - template> - decltype(auto) axis_grid(const KEY &key) - { return getter(axis_grid(), key, "axis_grid"); } - // axis(index/label/Lookup) template> decltype(auto) axis(const KEY &key) const @@ -114,25 +88,6 @@ class Axes : public Component { // All return *this // ------------------------ - // href(value) - Axes &href(const std::optional &obj) - { href() = obj; return *this; } - - // axis_grid(vector): replace vector - Axes &axis_grid(const std::vector &obj) - { axis_grid() = obj; return *this; } - - // axis_grid(scalar): vector push_back - Axes &axis_grid(const axis_grid_t &obj) - { setter(axis_grid(), obj); return *this; } - - // axis_grid(index/label/Lookup, value): replace vector entry - template> - Axes &axis_grid(const KEY &key, const axis_grid_t &obj) - { - axis_grid(key) = obj; return *this; - } - // axis(index/label/Lookup, value): replace vector entry template> Axes &axis( @@ -159,20 +114,16 @@ class Axes : public Component { // default, and from fields explicit Axes( - const std::optional &href = - std::optional{}, - const std::vector &axis_grid = - std::vector{} + const std::optional &href = {}, + const std::vector &axis_grid = {} ) : Component{ BlockData{}, - this->href(), - this->axis_grid() + this->href, + this->axis_grid }, - Content{ - href, - axis_grid - } + href(this,href,"href"), + axis_grid(this,axis_grid,"axis_grid") { Component::finish(); } @@ -181,10 +132,11 @@ class Axes : public Component { Axes(const Axes &other) : Component{ other.baseBlockData(), - this->href(), - this->axis_grid() + this->href, + this->axis_grid }, - Content{other.Content} + href(this,other.href), + axis_grid(this,other.axis_grid) { Component::finish(other); } @@ -193,10 +145,11 @@ class Axes : public Component { Axes(Axes &&other) : Component{ other.baseBlockData(), - this->href(), - this->axis_grid() + this->href, + this->axis_grid }, - Content{std::move(other.Content)} + href(this,std::move(other.href)), + axis_grid(this,std::move(other.axis_grid)) { Component::finish(other); } @@ -205,9 +158,11 @@ class Axes : public Component { Axes(const Node &node) : Component{ BlockData{}, - this->href(), - this->axis_grid() - } + this->href, + this->axis_grid + }, + href(this,{},"href"), + axis_grid(this,{},"axis_grid") { Component::finish(node); } @@ -216,10 +171,7 @@ class Axes : public Component { // Assignment // ------------------------ - // copy Axes &operator=(const Axes &) = default; - - // move Axes &operator=(Axes &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index 5675c7682..8f97ca994 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -50,57 +50,10 @@ class Axis : public Component { using Component::construct; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - std::optional index; - std::optional label; - std::optional unit; - } Content; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // index - const std::optional &index() const - { return Content.index; } - std::optional &index() - { return Content.index; } - - // label - const std::optional &label() const - { return Content.label; } - std::optional &label() - { return Content.label; } - - // unit - const std::optional &unit() const - { return Content.unit; } - std::optional &unit() - { return Content.unit; } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // index(value) - Axis &index(const std::optional &obj) - { index() = obj; return *this; } - - // label(value) - Axis &label(const std::optional &obj) - { label() = obj; return *this; } - - // unit(value) - Axis &unit(const std::optional &obj) - { unit() = obj; return *this; } + // metadata + Field> index; + Field> label; + Field> unit; // ------------------------ // Constructors @@ -108,24 +61,19 @@ class Axis : public Component { // default, and from fields explicit Axis( - const std::optional &index = - std::optional{}, - const std::optional &label = - std::optional{}, - const std::optional &unit = - std::optional{} + const std::optional &index = {}, + const std::optional &label = {}, + const std::optional &unit = {} ) : Component{ BlockData{}, - this->index(), - this->label(), - this->unit() + this->index, + this->label, + this->unit }, - Content{ - index, - label, - unit - } + index(this,index,"index"), + label(this,label,"label"), + unit(this,unit,"unit") { Component::finish(); } @@ -134,11 +82,13 @@ class Axis : public Component { Axis(const Axis &other) : Component{ other.baseBlockData(), - this->index(), - this->label(), - this->unit() + this->index, + this->label, + this->unit }, - Content{other.Content} + index(this,other.index), + label(this,other.label), + unit(this,other.unit) { Component::finish(other); } @@ -147,11 +97,13 @@ class Axis : public Component { Axis(Axis &&other) : Component{ other.baseBlockData(), - this->index(), - this->label(), - this->unit() + this->index, + this->label, + this->unit }, - Content{std::move(other.Content)} + index(this,std::move(other.index)), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)) { Component::finish(other); } @@ -160,10 +112,13 @@ class Axis : public Component { Axis(const Node &node) : Component{ BlockData{}, - this->index(), - this->label(), - this->unit() - } + this->index, + this->label, + this->unit + }, + index(this,{},"index"), + label(this,{},"label"), + unit(this,{},"unit") { Component::finish(node); } @@ -172,10 +127,7 @@ class Axis : public Component { // Assignment // ------------------------ - // copy Axis &operator=(const Axis &) = default; - - // move Axis &operator=(Axis &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index 51ccbe038..cceadb8f5 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -64,71 +64,25 @@ class Grid : public Component { using Component::construct; - // ------------------------ - // Relevant defaults - // FYI for users - // ------------------------ - + // defaults static inline const struct Defaults { static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; } defaults; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - std::optional index; - Defaulted interpolation{enums::Interpolation::linlin}; - std::optional label; - std::optional style; - std::optional unit; - // children - variant - link_values_t link_values; - } Content; + // metadata + Field> index; + Field> interpolation; + Field> label; + Field> style; + Field> unit; + // children - variant + Field link_values; // ------------------------ // Getters // const and non-const // ------------------------ - // index - const std::optional &index() const - { return Content.index; } - std::optional &index() - { return Content.index; } - - // interpolation - const Defaulted &interpolation() const - { return Content.interpolation; } - Defaulted &interpolation() - { return Content.interpolation; } - - // label - const std::optional &label() const - { return Content.label; } - std::optional &label() - { return Content.label; } - - // style - const std::optional &style() const - { return Content.style; } - std::optional &style() - { return Content.style; } - - // unit - const std::optional &unit() const - { return Content.unit; } - std::optional &unit() - { return Content.unit; } - - // link_values - const link_values_t &link_values() const - { return Content.link_values; } - link_values_t &link_values() - { return Content.link_values; } - // values const containers::Values *values() const { return getter(link_values(), "values"); } @@ -147,32 +101,6 @@ class Grid : public Component { // All return *this // ------------------------ - // index(value) - Grid &index(const std::optional &obj) - { index() = obj; return *this; } - - // interpolation(value) - Grid &interpolation(const Defaulted &obj) - { interpolation() = obj; return *this; } - Grid &interpolation(const std::optional &obj) - { interpolation() = obj; return *this; } - - // label(value) - Grid &label(const std::optional &obj) - { label() = obj; return *this; } - - // style(value) - Grid &style(const std::optional &obj) - { style() = obj; return *this; } - - // unit(value) - Grid &unit(const std::optional &obj) - { unit() = obj; return *this; } - - // link_values(value) - Grid &link_values(const link_values_t &obj) - { link_values() = obj; return *this; } - // values(value) Grid &values(const std::optional &obj) { if (obj) link_values(obj.value()); return *this; } @@ -188,36 +116,28 @@ class Grid : public Component { // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Grid( - const std::optional &index = - std::optional{}, - const std::optional &interpolation = - std::optional{}, - const std::optional &label = - std::optional{}, - const std::optional &style = - std::optional{}, - const std::optional &unit = - std::optional{}, - const link_values_t &link_values = - link_values_t{} + const std::optional &index = {}, + const std::optional &interpolation = {}, + const std::optional &label = {}, + const std::optional &style = {}, + const std::optional &unit = {}, + const link_values_t &link_values = {} ) : Component{ BlockData{}, - this->index(), - this->interpolation(), - this->label(), - this->style(), - this->unit(), - this->link_values() + this->index, + this->interpolation, + this->label, + this->style, + this->unit, + this->link_values }, - Content{ - index, - Defaulted(defaults.interpolation,interpolation), - label, - style, - unit, - link_values - } + index(this,index,"index"), + interpolation(this,defaults.interpolation,interpolation,"interpolation"), + label(this,label,"label"), + style(this,style,"style"), + unit(this,unit,"unit"), + link_values(this,link_values,"link_values") { Component::finish(); } @@ -226,14 +146,19 @@ class Grid : public Component { Grid(const Grid &other) : Component{ other.baseBlockData(), - this->index(), - this->interpolation(), - this->label(), - this->style(), - this->unit(), - this->link_values() + this->index, + this->interpolation, + this->label, + this->style, + this->unit, + this->link_values }, - Content{other.Content} + index(this,other.index), + interpolation(this,other.interpolation), + label(this,other.label), + style(this,other.style), + unit(this,other.unit), + link_values(this,other.link_values) { Component::finish(other); } @@ -242,14 +167,19 @@ class Grid : public Component { Grid(Grid &&other) : Component{ other.baseBlockData(), - this->index(), - this->interpolation(), - this->label(), - this->style(), - this->unit(), - this->link_values() + this->index, + this->interpolation, + this->label, + this->style, + this->unit, + this->link_values }, - Content{std::move(other.Content)} + index(this,std::move(other.index)), + interpolation(this,std::move(other.interpolation)), + label(this,std::move(other.label)), + style(this,std::move(other.style)), + unit(this,std::move(other.unit)), + link_values(this,std::move(other.link_values)) { Component::finish(other); } @@ -258,13 +188,19 @@ class Grid : public Component { Grid(const Node &node) : Component{ BlockData{}, - this->index(), - this->interpolation(), - this->label(), - this->style(), - this->unit(), - this->link_values() - } + this->index, + this->interpolation, + this->label, + this->style, + this->unit, + this->link_values + }, + index(this,{},"index"), + interpolation(this,defaults.interpolation,{},"interpolation"), + label(this,{},"label"), + style(this,{},"style"), + unit(this,{},"unit"), + link_values(this,{},"link_values") { Component::finish(node); } @@ -273,10 +209,7 @@ class Grid : public Component { // Assignment // ------------------------ - // copy Grid &operator=(const Grid &) = default; - - // move Grid &operator=(Grid &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index d6f6ec6a3..a605a2f9d 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -46,35 +46,8 @@ class Link : public Component { using Component::construct; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - std::string href; - } Content; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // href - const std::string &href() const - { return Content.href; } - std::string &href() - { return Content.href; } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // href(value) - Link &href(const std::string &obj) - { href() = obj; return *this; } + // metadata + Field href; // ------------------------ // Constructors @@ -82,16 +55,13 @@ class Link : public Component { // default, and from fields explicit Link( - const std::string &href = - std::string{} + const std::string &href = {} ) : Component{ BlockData{}, - this->href() + this->href }, - Content{ - href - } + href(this,href,"href") { Component::finish(); } @@ -100,9 +70,9 @@ class Link : public Component { Link(const Link &other) : Component{ other.baseBlockData(), - this->href() + this->href }, - Content{other.Content} + href(this,other.href) { Component::finish(other); } @@ -111,9 +81,9 @@ class Link : public Component { Link(Link &&other) : Component{ other.baseBlockData(), - this->href() + this->href }, - Content{std::move(other.Content)} + href(this,std::move(other.href)) { Component::finish(other); } @@ -122,8 +92,9 @@ class Link : public Component { Link(const Node &node) : Component{ BlockData{}, - this->href() - } + this->href + }, + href(this,{},"href") { Component::finish(node); } @@ -132,10 +103,7 @@ class Link : public Component { // Assignment // ------------------------ - // copy Link &operator=(const Link &) = default; - - // move Link &operator=(Link &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index 43e48319b..3056870a2 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -55,88 +55,12 @@ class Regions1d : public Component { using Component::construct; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - std::optional label; - std::optional outerDomainValue; - // children - std::optional axes; - std::vector XYs1d; - } Content; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // label - const std::optional &label() const - { return Content.label; } - std::optional &label() - { return Content.label; } - - // outerDomainValue - const std::optional &outerDomainValue() const - { return Content.outerDomainValue; } - std::optional &outerDomainValue() - { return Content.outerDomainValue; } - - // axes - const std::optional &axes() const - { return Content.axes; } - std::optional &axes() - { return Content.axes; } - - // XYs1d - const std::vector &XYs1d() const - { return Content.XYs1d; } - std::vector &XYs1d() - { return Content.XYs1d; } - - // XYs1d(index/label/Lookup) - template> - decltype(auto) XYs1d(const KEY &key) const - { return getter(XYs1d(), key, "XYs1d"); } - template> - decltype(auto) XYs1d(const KEY &key) - { return getter(XYs1d(), key, "XYs1d"); } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // label(value) - Regions1d &label(const std::optional &obj) - { label() = obj; return *this; } - - // outerDomainValue(value) - Regions1d &outerDomainValue(const std::optional &obj) - { outerDomainValue() = obj; return *this; } - - // axes(value) - Regions1d &axes(const std::optional &obj) - { axes() = obj; return *this; } - - // XYs1d(vector): replace vector - Regions1d &XYs1d(const std::vector &obj) - { XYs1d() = obj; return *this; } - - // XYs1d(scalar): vector push_back - Regions1d &XYs1d(const containers::XYs1d &obj) - { setter(XYs1d(), obj); return *this; } - - // XYs1d(index/label/Lookup, value): replace vector entry - template> - Regions1d &XYs1d(const KEY &key, const containers::XYs1d &obj) - { - XYs1d(key) = obj; return *this; - } + // metadata + Field> label; + Field> outerDomainValue; + // children + Field> axes; + Field> XYs1d; // ------------------------ // Constructors @@ -144,28 +68,22 @@ class Regions1d : public Component { // default, and from fields explicit Regions1d( - const std::optional &label = - std::optional{}, - const std::optional &outerDomainValue = - std::optional{}, - const std::optional &axes = - std::optional{}, - const std::vector &XYs1d = - std::vector{} + const std::optional &label = {}, + const std::optional &outerDomainValue = {}, + const std::optional &axes = {}, + const std::vector &XYs1d = {} ) : Component{ BlockData{}, - this->label(), - this->outerDomainValue(), - this->axes(), - this->XYs1d() + this->label, + this->outerDomainValue, + this->axes, + this->XYs1d }, - Content{ - label, - outerDomainValue, - axes, - XYs1d - } + label(this,label,"label"), + outerDomainValue(this,outerDomainValue,"outerDomainValue"), + axes(this,axes,"axes"), + XYs1d(this,XYs1d,"XYs1d") { Component::finish(); } @@ -174,12 +92,15 @@ class Regions1d : public Component { Regions1d(const Regions1d &other) : Component{ other.baseBlockData(), - this->label(), - this->outerDomainValue(), - this->axes(), - this->XYs1d() + this->label, + this->outerDomainValue, + this->axes, + this->XYs1d }, - Content{other.Content} + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + XYs1d(this,other.XYs1d) { Component::finish(other); } @@ -188,12 +109,15 @@ class Regions1d : public Component { Regions1d(Regions1d &&other) : Component{ other.baseBlockData(), - this->label(), - this->outerDomainValue(), - this->axes(), - this->XYs1d() + this->label, + this->outerDomainValue, + this->axes, + this->XYs1d }, - Content{std::move(other.Content)} + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + XYs1d(this,std::move(other.XYs1d)) { Component::finish(other); } @@ -202,11 +126,15 @@ class Regions1d : public Component { Regions1d(const Node &node) : Component{ BlockData{}, - this->label(), - this->outerDomainValue(), - this->axes(), - this->XYs1d() - } + this->label, + this->outerDomainValue, + this->axes, + this->XYs1d + }, + label(this,{},"label"), + outerDomainValue(this,{},"outerDomainValue"), + axes(this,{},"axes"), + XYs1d(this,{},"XYs1d") { Component::finish(node); } @@ -215,10 +143,7 @@ class Regions1d : public Component { // Assignment // ------------------------ - // copy Regions1d &operator=(const Regions1d &) = default; - - // move Regions1d &operator=(Regions1d &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index 84a6c66d7..dbb79026a 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -51,71 +51,16 @@ class Values : public Component { using Component::construct; using BlockData::operator=; - // ------------------------ - // Relevant defaults - // FYI for users - // ------------------------ - + // defaults static inline const struct Defaults { static inline const std::string valueType = "double"; static inline const int start = 0; } defaults; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - mutable Defaulted valueType{"double"}; - mutable Defaulted start{0}; - mutable std::optional length; - } Content; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // valueType - const Defaulted &valueType() const - { return Content.valueType; } - Defaulted &valueType() - { return Content.valueType; } - - // start - const Defaulted &start() const - { return Content.start; } - Defaulted &start() - { return Content.start; } - - // length - const std::optional &length() const - { return Content.length; } - std::optional &length() - { return Content.length; } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // valueType(value) - Values &valueType(const Defaulted &obj) - { BlockData::valueType(valueType() = obj); return *this; } - Values &valueType(const std::optional &obj) - { BlockData::valueType(valueType() = obj); return *this; } - - // start(value) - Values &start(const Defaulted &obj) - { BlockData::start(start() = obj); return *this; } - Values &start(const std::optional &obj) - { BlockData::start(start() = obj); return *this; } - - // length(value) - Values &length(const std::optional &obj) - { BlockData::length(length() = obj); return *this; } + // metadata + mutable Field> valueType; + mutable Field> start; + mutable Field> length; // ------------------------ // Constructors @@ -124,24 +69,19 @@ class Values : public Component { // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Values( - const std::optional &valueType = - std::optional{}, - const std::optional &start = - std::optional{}, - const std::optional &length = - std::optional{} + const std::optional &valueType = {}, + const std::optional &start = {}, + const std::optional &length = {} ) : Component{ BlockData{}, - this->valueType(), - this->start(), - this->length() + this->valueType, + this->start, + this->length }, - Content{ - Defaulted(defaults.valueType,valueType), - Defaulted(defaults.start,start), - length - } + valueType(this,defaults.valueType,valueType,"valueType"), + start(this,defaults.start,start,"start"), + length(this,length,"length") { Component::finish(); } @@ -150,11 +90,13 @@ class Values : public Component { Values(const Values &other) : Component{ other.baseBlockData(), - this->valueType(), - this->start(), - this->length() + this->valueType, + this->start, + this->length }, - Content{other.Content} + valueType(this,other.valueType), + start(this,other.start), + length(this,other.length) { Component::finish(other); } @@ -163,11 +105,13 @@ class Values : public Component { Values(Values &&other) : Component{ other.baseBlockData(), - this->valueType(), - this->start(), - this->length() + this->valueType, + this->start, + this->length }, - Content{std::move(other.Content)} + valueType(this,std::move(other.valueType)), + start(this,std::move(other.start)), + length(this,std::move(other.length)) { Component::finish(other); } @@ -176,10 +120,13 @@ class Values : public Component { Values(const Node &node) : Component{ BlockData{}, - this->valueType(), - this->start(), - this->length() - } + this->valueType, + this->start, + this->length + }, + valueType(this,defaults.valueType,{},"valueType"), + start(this,{},defaults.start,"start"), + length(this,{},"length") { Component::finish(node); } @@ -189,10 +136,13 @@ class Values : public Component { Values(const std::vector &vector) : Component{ BlockData{}, - this->valueType(), - this->start(), - this->length() - } + this->valueType, + this->start, + this->length + }, + valueType(this,defaults.valueType,{},"valueType"), + start(this,{},defaults.start,"start"), + length(this,{},"length") { Component::finish(vector); } @@ -201,10 +151,7 @@ class Values : public Component { // Assignment // ------------------------ - // copy Values &operator=(const Values &) = default; - - // move Values &operator=(Values &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Values/src/custom.hpp b/src/GNDStk/v1.9/containers/Values/src/custom.hpp index 6c58a1714..4465c55ea 100644 --- a/src/GNDStk/v1.9/containers/Values/src/custom.hpp +++ b/src/GNDStk/v1.9/containers/Values/src/custom.hpp @@ -45,10 +45,13 @@ const std::vector< T >& values ) : Component{ BlockData{}, - this->length(), - this->start(), - this->valueType() - } + this->length.value, + this->start.value, + this->valueType.value + }, + valueType(this,defaults.valueType,{},"valueType"), + start(this,{},defaults.start,"start"), + length(this,{},"length") { *this = values; diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index 7239381b3..09a7980bd 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -59,102 +59,19 @@ class XYs1d : public Component { using Component::construct; - // ------------------------ - // Relevant defaults - // FYI for users - // ------------------------ - + // defaults static inline const struct Defaults { static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; } defaults; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - std::optional index; - Defaulted interpolation{enums::Interpolation::linlin}; - std::optional label; - std::optional outerDomainValue; - // children - std::optional axes; - containers::Values values; - } Content; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // index - const std::optional &index() const - { return Content.index; } - std::optional &index() - { return Content.index; } - - // interpolation - const Defaulted &interpolation() const - { return Content.interpolation; } - Defaulted &interpolation() - { return Content.interpolation; } - - // label - const std::optional &label() const - { return Content.label; } - std::optional &label() - { return Content.label; } - - // outerDomainValue - const std::optional &outerDomainValue() const - { return Content.outerDomainValue; } - std::optional &outerDomainValue() - { return Content.outerDomainValue; } - - // axes - const std::optional &axes() const - { return Content.axes; } - std::optional &axes() - { return Content.axes; } - - // values - const containers::Values &values() const - { return Content.values; } - containers::Values &values() - { return Content.values; } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // index(value) - XYs1d &index(const std::optional &obj) - { index() = obj; return *this; } - - // interpolation(value) - XYs1d &interpolation(const Defaulted &obj) - { interpolation() = obj; return *this; } - XYs1d &interpolation(const std::optional &obj) - { interpolation() = obj; return *this; } - - // label(value) - XYs1d &label(const std::optional &obj) - { label() = obj; return *this; } - - // outerDomainValue(value) - XYs1d &outerDomainValue(const std::optional &obj) - { outerDomainValue() = obj; return *this; } - - // axes(value) - XYs1d &axes(const std::optional &obj) - { axes() = obj; return *this; } - - // values(value) - XYs1d &values(const containers::Values &obj) - { values() = obj; return *this; } + // metadata + Field> index; + Field> interpolation; + Field> label; + Field> outerDomainValue; + // children + Field> axes; + Field values; // ------------------------ // Constructors @@ -163,36 +80,28 @@ class XYs1d : public Component { // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit XYs1d( - const std::optional &index = - std::optional{}, - const std::optional &interpolation = - std::optional{}, - const std::optional &label = - std::optional{}, - const std::optional &outerDomainValue = - std::optional{}, - const std::optional &axes = - std::optional{}, - const containers::Values &values = - containers::Values{} + const std::optional &index = {}, + const std::optional &interpolation = {}, + const std::optional &label = {}, + const std::optional &outerDomainValue = {}, + const std::optional &axes = {}, + const containers::Values &values = containers::Values{} ) : Component{ BlockData{}, - this->index(), - this->interpolation(), - this->label(), - this->outerDomainValue(), - this->axes(), - this->values() + this->index, + this->interpolation, + this->label, + this->outerDomainValue, + this->axes, + this->values }, - Content{ - index, - Defaulted(defaults.interpolation,interpolation), - label, - outerDomainValue, - axes, - values - } + index(this,index,"index"), + interpolation(this,defaults.interpolation,interpolation,"interpolation"), + label(this,label,"label"), + outerDomainValue(this,outerDomainValue,"outerDomainValue"), + axes(this,axes,"axes"), + values(this,values,"values") { Component::finish(); } @@ -201,14 +110,19 @@ class XYs1d : public Component { XYs1d(const XYs1d &other) : Component{ other.baseBlockData(), - this->index(), - this->interpolation(), - this->label(), - this->outerDomainValue(), - this->axes(), - this->values() + this->index, + this->interpolation, + this->label, + this->outerDomainValue, + this->axes, + this->values }, - Content{other.Content} + index(this,other.index), + interpolation(this,other.interpolation), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + values(this,other.values) { Component::finish(other); } @@ -217,14 +131,19 @@ class XYs1d : public Component { XYs1d(XYs1d &&other) : Component{ other.baseBlockData(), - this->index(), - this->interpolation(), - this->label(), - this->outerDomainValue(), - this->axes(), - this->values() + this->index, + this->interpolation, + this->label, + this->outerDomainValue, + this->axes, + this->values }, - Content{std::move(other.Content)} + index(this,std::move(other.index)), + interpolation(this,std::move(other.interpolation)), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + values(this,std::move(other.values)) { Component::finish(other); } @@ -233,13 +152,19 @@ class XYs1d : public Component { XYs1d(const Node &node) : Component{ BlockData{}, - this->index(), - this->interpolation(), - this->label(), - this->outerDomainValue(), - this->axes(), - this->values() - } + this->index, + this->interpolation, + this->label, + this->outerDomainValue, + this->axes, + this->values + }, + index(this,{},"index"), + interpolation(this,defaults.interpolation,{},"interpolation"), + label(this,{},"label"), + outerDomainValue(this,{},"outerDomainValue"), + axes(this,{},"axes"), + values(this,containers::Values{},"values") { Component::finish(node); } @@ -248,10 +173,7 @@ class XYs1d : public Component { // Assignment // ------------------------ - // copy XYs1d &operator=(const XYs1d &) = default; - - // move XYs1d &operator=(XYs1d &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index 4f5ca09e5..685a8cb8f 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -53,34 +53,14 @@ class CrossSection : public Component { using Component::construct; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // children - variant - std::vector XYs1d_regions1d; - } Content; + // children - variant + Field> XYs1d_regions1d; // ------------------------ // Getters // const and non-const // ------------------------ - // XYs1d_regions1d - const std::vector &XYs1d_regions1d() const - { return Content.XYs1d_regions1d; } - std::vector &XYs1d_regions1d() - { return Content.XYs1d_regions1d; } - - // XYs1d_regions1d(index/label/Lookup) - template> - decltype(auto) XYs1d_regions1d(const KEY &key) const - { return getter(XYs1d_regions1d(), key, "XYs1d_regions1d"); } - template> - decltype(auto) XYs1d_regions1d(const KEY &key) - { return getter(XYs1d_regions1d(), key, "XYs1d_regions1d"); } - // XYs1d(index/label/Lookup) template> decltype(auto) XYs1d(const KEY &key) const @@ -103,21 +83,6 @@ class CrossSection : public Component { // All return *this // ------------------------ - // XYs1d_regions1d(vector): replace vector - CrossSection &XYs1d_regions1d(const std::vector &obj) - { XYs1d_regions1d() = obj; return *this; } - - // XYs1d_regions1d(scalar): vector push_back - CrossSection &XYs1d_regions1d(const XYs1d_regions1d_t &obj) - { setter(XYs1d_regions1d(), obj); return *this; } - - // XYs1d_regions1d(index/label/Lookup, value): replace vector entry - template> - CrossSection &XYs1d_regions1d(const KEY &key, const XYs1d_regions1d_t &obj) - { - XYs1d_regions1d(key) = obj; return *this; - } - // XYs1d(index/label/Lookup, value): replace vector entry template> CrossSection &XYs1d( @@ -144,16 +109,13 @@ class CrossSection : public Component { // default, and from fields explicit CrossSection( - const std::vector &XYs1d_regions1d = - std::vector{} + const std::vector &XYs1d_regions1d = {} ) : Component{ BlockData{}, - this->XYs1d_regions1d() + this->XYs1d_regions1d }, - Content{ - XYs1d_regions1d - } + XYs1d_regions1d(this,XYs1d_regions1d,"XYs1d_regions1d") { Component::finish(); } @@ -162,9 +124,9 @@ class CrossSection : public Component { CrossSection(const CrossSection &other) : Component{ other.baseBlockData(), - this->XYs1d_regions1d() + this->XYs1d_regions1d }, - Content{other.Content} + XYs1d_regions1d(this,other.XYs1d_regions1d) { Component::finish(other); } @@ -173,9 +135,9 @@ class CrossSection : public Component { CrossSection(CrossSection &&other) : Component{ other.baseBlockData(), - this->XYs1d_regions1d() + this->XYs1d_regions1d }, - Content{std::move(other.Content)} + XYs1d_regions1d(this,std::move(other.XYs1d_regions1d)) { Component::finish(other); } @@ -184,8 +146,9 @@ class CrossSection : public Component { CrossSection(const Node &node) : Component{ BlockData{}, - this->XYs1d_regions1d() - } + this->XYs1d_regions1d + }, + XYs1d_regions1d(this,{},"XYs1d_regions1d") { Component::finish(node); } @@ -194,10 +157,7 @@ class CrossSection : public Component { // Assignment // ------------------------ - // copy CrossSection &operator=(const CrossSection &) = default; - - // move CrossSection &operator=(CrossSection &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index 42669a2b6..48a659f1c 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -54,69 +54,12 @@ class Reaction : public Component { using Component::construct; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - int ENDF_MT; - std::optional fissionGenre; - std::string label; - // children - transport::CrossSection crossSection; - } Content; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // ENDF_MT - const int &ENDF_MT() const - { return Content.ENDF_MT; } - int &ENDF_MT() - { return Content.ENDF_MT; } - - // fissionGenre - const std::optional &fissionGenre() const - { return Content.fissionGenre; } - std::optional &fissionGenre() - { return Content.fissionGenre; } - - // label - const std::string &label() const - { return Content.label; } - std::string &label() - { return Content.label; } - - // crossSection - const transport::CrossSection &crossSection() const - { return Content.crossSection; } - transport::CrossSection &crossSection() - { return Content.crossSection; } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // ENDF_MT(value) - Reaction &ENDF_MT(const int &obj) - { ENDF_MT() = obj; return *this; } - - // fissionGenre(value) - Reaction &fissionGenre(const std::optional &obj) - { fissionGenre() = obj; return *this; } - - // label(value) - Reaction &label(const std::string &obj) - { label() = obj; return *this; } - - // crossSection(value) - Reaction &crossSection(const transport::CrossSection &obj) - { crossSection() = obj; return *this; } + // metadata + Field ENDF_MT; + Field> fissionGenre; + Field label; + // children + Field crossSection; // ------------------------ // Constructors @@ -124,28 +67,22 @@ class Reaction : public Component { // default, and from fields explicit Reaction( - const int &ENDF_MT = - int{}, - const std::optional &fissionGenre = - std::optional{}, - const std::string &label = - std::string{}, - const transport::CrossSection &crossSection = - transport::CrossSection{} + const int &ENDF_MT = {}, + const std::optional &fissionGenre = {}, + const std::string &label = {}, + const transport::CrossSection &crossSection = {} ) : Component{ BlockData{}, - this->ENDF_MT(), - this->fissionGenre(), - this->label(), - this->crossSection() + this->ENDF_MT, + this->fissionGenre, + this->label, + this->crossSection }, - Content{ - ENDF_MT, - fissionGenre, - label, - crossSection - } + ENDF_MT(this,ENDF_MT,"ENDF_MT"), + fissionGenre(this,fissionGenre,"fissionGenre"), + label(this,label,"label"), + crossSection(this,crossSection,"crossSection") { Component::finish(); } @@ -154,12 +91,15 @@ class Reaction : public Component { Reaction(const Reaction &other) : Component{ other.baseBlockData(), - this->ENDF_MT(), - this->fissionGenre(), - this->label(), - this->crossSection() + this->ENDF_MT, + this->fissionGenre, + this->label, + this->crossSection }, - Content{other.Content} + ENDF_MT(this,other.ENDF_MT), + fissionGenre(this,other.fissionGenre), + label(this,other.label), + crossSection(this,other.crossSection) { Component::finish(other); } @@ -168,12 +108,15 @@ class Reaction : public Component { Reaction(Reaction &&other) : Component{ other.baseBlockData(), - this->ENDF_MT(), - this->fissionGenre(), - this->label(), - this->crossSection() + this->ENDF_MT, + this->fissionGenre, + this->label, + this->crossSection }, - Content{std::move(other.Content)} + ENDF_MT(this,std::move(other.ENDF_MT)), + fissionGenre(this,std::move(other.fissionGenre)), + label(this,std::move(other.label)), + crossSection(this,std::move(other.crossSection)) { Component::finish(other); } @@ -182,11 +125,15 @@ class Reaction : public Component { Reaction(const Node &node) : Component{ BlockData{}, - this->ENDF_MT(), - this->fissionGenre(), - this->label(), - this->crossSection() - } + this->ENDF_MT, + this->fissionGenre, + this->label, + this->crossSection + }, + ENDF_MT(this,{},"ENDF_MT"), + fissionGenre(this,{},"fissionGenre"), + label(this,{},"label"), + crossSection(this,{},"crossSection") { Component::finish(node); } @@ -195,10 +142,7 @@ class Reaction : public Component { // Assignment // ------------------------ - // copy Reaction &operator=(const Reaction &) = default; - - // move Reaction &operator=(Reaction &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index 9592e3d72..4e176f616 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -60,102 +60,15 @@ class ReactionSuite : public Component { using Component::construct; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // metadata - std::string evaluation; - std::string format; - std::string projectile; - enums::Frame projectileFrame; - std::string target; - std::optional interaction; - // children - std::optional reactions; - } Content; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // evaluation - const std::string &evaluation() const - { return Content.evaluation; } - std::string &evaluation() - { return Content.evaluation; } - - // format - const std::string &format() const - { return Content.format; } - std::string &format() - { return Content.format; } - - // projectile - const std::string &projectile() const - { return Content.projectile; } - std::string &projectile() - { return Content.projectile; } - - // projectileFrame - const enums::Frame &projectileFrame() const - { return Content.projectileFrame; } - enums::Frame &projectileFrame() - { return Content.projectileFrame; } - - // target - const std::string &target() const - { return Content.target; } - std::string &target() - { return Content.target; } - - // interaction - const std::optional &interaction() const - { return Content.interaction; } - std::optional &interaction() - { return Content.interaction; } - - // reactions - const std::optional &reactions() const - { return Content.reactions; } - std::optional &reactions() - { return Content.reactions; } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // evaluation(value) - ReactionSuite &evaluation(const std::string &obj) - { evaluation() = obj; return *this; } - - // format(value) - ReactionSuite &format(const std::string &obj) - { format() = obj; return *this; } - - // projectile(value) - ReactionSuite &projectile(const std::string &obj) - { projectile() = obj; return *this; } - - // projectileFrame(value) - ReactionSuite &projectileFrame(const enums::Frame &obj) - { projectileFrame() = obj; return *this; } - - // target(value) - ReactionSuite &target(const std::string &obj) - { target() = obj; return *this; } - - // interaction(value) - ReactionSuite &interaction(const std::optional &obj) - { interaction() = obj; return *this; } - - // reactions(value) - ReactionSuite &reactions(const std::optional &obj) - { reactions() = obj; return *this; } + // metadata + Field evaluation; + Field format; + Field projectile; + Field projectileFrame; + Field target; + Field> interaction; + // children + Field> reactions; // ------------------------ // Constructors @@ -163,40 +76,31 @@ class ReactionSuite : public Component { // default, and from fields explicit ReactionSuite( - const std::string &evaluation = - std::string{}, - const std::string &format = - std::string{}, - const std::string &projectile = - std::string{}, - const enums::Frame &projectileFrame = - enums::Frame{}, - const std::string &target = - std::string{}, - const std::optional &interaction = - std::optional{}, - const std::optional &reactions = - std::optional{} + const std::string &evaluation = {}, + const std::string &format = {}, + const std::string &projectile = {}, + const enums::Frame &projectileFrame = {}, + const std::string &target = {}, + const std::optional &interaction = {}, + const std::optional &reactions = {} ) : Component{ BlockData{}, - this->evaluation(), - this->format(), - this->projectile(), - this->projectileFrame(), - this->target(), - this->interaction(), - this->reactions() + this->evaluation, + this->format, + this->projectile, + this->projectileFrame, + this->target, + this->interaction, + this->reactions }, - Content{ - evaluation, - format, - projectile, - projectileFrame, - target, - interaction, - reactions - } + evaluation(this,evaluation,"evaluation"), + format(this,format,"format"), + projectile(this,projectile,"projectile"), + projectileFrame(this,projectileFrame,"projectileFrame"), + target(this,target,"target"), + interaction(this,interaction,"interaction"), + reactions(this,reactions,"reactions") { Component::finish(); } @@ -205,15 +109,21 @@ class ReactionSuite : public Component { ReactionSuite(const ReactionSuite &other) : Component{ other.baseBlockData(), - this->evaluation(), - this->format(), - this->projectile(), - this->projectileFrame(), - this->target(), - this->interaction(), - this->reactions() + this->evaluation, + this->format, + this->projectile, + this->projectileFrame, + this->target, + this->interaction, + this->reactions }, - Content{other.Content} + evaluation(this,other.evaluation), + format(this,other.format), + projectile(this,other.projectile), + projectileFrame(this,other.projectileFrame), + target(this,other.target), + interaction(this,other.interaction), + reactions(this,other.reactions) { Component::finish(other); } @@ -222,15 +132,21 @@ class ReactionSuite : public Component { ReactionSuite(ReactionSuite &&other) : Component{ other.baseBlockData(), - this->evaluation(), - this->format(), - this->projectile(), - this->projectileFrame(), - this->target(), - this->interaction(), - this->reactions() + this->evaluation, + this->format, + this->projectile, + this->projectileFrame, + this->target, + this->interaction, + this->reactions }, - Content{std::move(other.Content)} + evaluation(this,std::move(other.evaluation)), + format(this,std::move(other.format)), + projectile(this,std::move(other.projectile)), + projectileFrame(this,std::move(other.projectileFrame)), + target(this,std::move(other.target)), + interaction(this,std::move(other.interaction)), + reactions(this,std::move(other.reactions)) { Component::finish(other); } @@ -239,14 +155,21 @@ class ReactionSuite : public Component { ReactionSuite(const Node &node) : Component{ BlockData{}, - this->evaluation(), - this->format(), - this->projectile(), - this->projectileFrame(), - this->target(), - this->interaction(), - this->reactions() - } + this->evaluation, + this->format, + this->projectile, + this->projectileFrame, + this->target, + this->interaction, + this->reactions + }, + evaluation(this,{},"evaluation"), + format(this,{},"format"), + projectile(this,{},"projectile"), + projectileFrame(this,{},"projectileFrame"), + target(this,{},"target"), + interaction(this,{},"interaction"), + reactions(this,{},"reactions") { Component::finish(node); } @@ -255,10 +178,7 @@ class ReactionSuite : public Component { // Assignment // ------------------------ - // copy ReactionSuite &operator=(const ReactionSuite &) = default; - - // move ReactionSuite &operator=(ReactionSuite &&) = default; // ------------------------ diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index 8d62e6e6f..555392271 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -47,54 +47,8 @@ class Reactions : public Component { using Component::construct; - // ------------------------ - // Raw GNDS content - // ------------------------ - - struct { - // children - std::vector reaction; - } Content; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // reaction - const std::vector &reaction() const - { return Content.reaction; } - std::vector &reaction() - { return Content.reaction; } - - // reaction(index/label/Lookup) - template> - decltype(auto) reaction(const KEY &key) const - { return getter(reaction(), key, "reaction"); } - template> - decltype(auto) reaction(const KEY &key) - { return getter(reaction(), key, "reaction"); } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // reaction(vector): replace vector - Reactions &reaction(const std::vector &obj) - { reaction() = obj; return *this; } - - // reaction(scalar): vector push_back - Reactions &reaction(const transport::Reaction &obj) - { setter(reaction(), obj); return *this; } - - // reaction(index/label/Lookup, value): replace vector entry - template> - Reactions &reaction(const KEY &key, const transport::Reaction &obj) - { - reaction(key) = obj; return *this; - } + // children + Field> reaction; // ------------------------ // Constructors @@ -102,16 +56,13 @@ class Reactions : public Component { // default, and from fields explicit Reactions( - const std::vector &reaction = - std::vector{} + const std::vector &reaction = {} ) : Component{ BlockData{}, - this->reaction() + this->reaction }, - Content{ - reaction - } + reaction(this,reaction,"reaction") { Component::finish(); } @@ -120,9 +71,9 @@ class Reactions : public Component { Reactions(const Reactions &other) : Component{ other.baseBlockData(), - this->reaction() + this->reaction }, - Content{other.Content} + reaction(this,other.reaction) { Component::finish(other); } @@ -131,9 +82,9 @@ class Reactions : public Component { Reactions(Reactions &&other) : Component{ other.baseBlockData(), - this->reaction() + this->reaction }, - Content{std::move(other.Content)} + reaction(this,std::move(other.reaction)) { Component::finish(other); } @@ -142,8 +93,9 @@ class Reactions : public Component { Reactions(const Node &node) : Component{ BlockData{}, - this->reaction() - } + this->reaction + }, + reaction(this,{},"reaction") { Component::finish(node); } @@ -152,10 +104,7 @@ class Reactions : public Component { // Assignment // ------------------------ - // copy Reactions &operator=(const Reactions &) = default; - - // move Reactions &operator=(Reactions &&) = default; // ------------------------ From c11ea62a45143040cd746f711e239378c907bc32 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 13 Jun 2022 17:35:23 -0600 Subject: [PATCH 104/235] Direct modifications of certain generated files. We'll update the code generator later, and ensure that it does the right thing. More feature-packed classes Field and FieldPart. --- src/GNDStk/Component/src/field.hpp | 316 +++++++++++++++++--- src/GNDStk/v1.9/containers/Axes.hpp | 90 ++---- src/GNDStk/v1.9/containers/Axis.hpp | 30 +- src/GNDStk/v1.9/containers/Grid.hpp | 90 +++--- src/GNDStk/v1.9/containers/Link.hpp | 22 +- src/GNDStk/v1.9/containers/Regions1d.hpp | 35 ++- src/GNDStk/v1.9/containers/Values.hpp | 58 ++-- src/GNDStk/v1.9/containers/XYs1d.hpp | 43 ++- src/GNDStk/v1.9/transport/CrossSection.hpp | 86 ++---- src/GNDStk/v1.9/transport/Reaction.hpp | 35 ++- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 47 ++- src/GNDStk/v1.9/transport/Reactions.hpp | 23 +- 12 files changed, 510 insertions(+), 365 deletions(-) diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index 5608fa5c0..4c9fb08c3 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -1,4 +1,9 @@ +template +class FieldPart { + // nothing; see the partial specialization later in this file +}; + // ----------------------------------------------------------------------------- // Field // ----------------------------------------------------------------------------- @@ -7,68 +12,87 @@ template class Field { PARENT &parent; T value; - std::string name; + const std::string name; friend PARENT; + template + friend class FieldPart; + public: // ------------------------ - // constructors + // Constructors // ------------------------ + // because [PARENT &parent] would be wrong + Field(const Field &) = delete; + Field(Field &&) = delete; + + // These accept PARENT*, not PARENT&, so that we can write "this", + // not "*this", where Field objects are constructed. + explicit Field( PARENT *const parent, - const T &value = T(), const std::string &name = "" + const T &value = T{}, const std::string &name = "" ) : parent(*parent), value(value), name(name) { } - Field(PARENT *const parent, const Field &field) : + Field( + PARENT *const parent, const Field &other + ) : parent(*parent), - value(field.value), - name(field.name) + value(other.value), + name(other.name) { } - template> + // if T == Defaulted + template< + class TEE = T, + class = std::enable_if_t::value>> Field( PARENT *const parent, - const typename VALUE::value_type &def, - const std::optional &opt, - const std::string &name + const typename TEE::value_type &def, + const std::optional &value = {}, + const std::string &name = "" ) : parent(*parent), - value(def,opt), + value(def,value), name(name) { } // ------------------------ - // getters + // Getters // ------------------------ // () const T &operator()() const { return value; } T &operator()() { return value; } - // for vector: (index/label/Lookup) + // conversion to T + // same as operator()() + operator const T &() const { return operator()(); } + operator T &() { return operator()(); } + + // if T == vector: (index/label/Lookup) + // get vector element template< class KEY, class = detail::isSearchKey, - class VALUE = T, class = detail::isVector - > + class TEE = T, class = std::enable_if_t::value>> decltype(auto) operator()(const KEY &key) const { return parent.getter(value, key, name); } template< class KEY, class = detail::isSearchKey, - class VALUE = T, class = detail::isVector - > + class TEE = T, class = std::enable_if_t::value>> decltype(auto) operator()(const KEY &key) { return parent.getter(value, key, name); } // ------------------------ - // setters + // Setters // ------------------------ // (T) @@ -78,49 +102,234 @@ class Field { return parent; } - // for Defaulted: (std::optional) - template> - PARENT &operator()(const std::optional &opt) + // if T == Defaulted: (std::optional) + template< + class TEE = T, + class = std::enable_if_t::value>> + PARENT &operator()(const std::optional &opt) { value = opt; return parent; } - // for vector: (scalar) + // if T == vector: (scalar) // vector push_back - template> - PARENT &operator()(const typename VALUE::value_type &obj) + template< + class TEE = T, + class = std::enable_if_t::value>> + PARENT &operator()(const typename TEE::value_type &obj) { parent.setter(value, obj); return parent; } - // for vector: (index/label/Lookup, value) - // replace vector entry + // if T == vector: (index/label/Lookup, value) + // replace vector element template< class KEY, class = detail::isSearchKeyRefReturn, - class VALUE = T, class = detail::isVector - > - PARENT &operator()(const KEY &key, const typename VALUE::value_type &obj) + class TEE = T, class = std::enable_if_t::value>> + PARENT &operator()(const KEY &key, const typename TEE::value_type &obj) { (*this)(key) = obj; return parent; } // ------------------------ - // miscellaneous + // Assignment // ------------------------ - // assignment + // copy Field &operator=(const Field &other) { value = other.value; return *this; } - // conversion to T - operator const T &() const { return value; } - operator T &() { return value; } + // move + Field &operator=(Field &&other) + { + value = std::move(other.value); + return *this; + } +}; + + +// ----------------------------------------------------------------------------- +// FieldPart +// ----------------------------------------------------------------------------- + +template +class FieldPart,PART> { + using FIELD = Field; + + FIELD &field; + const std::string name; + +public: + + // ------------------------ + // Constructors + // ------------------------ + + // because [FIELD &field] would be wrong + FieldPart(const FieldPart &) = delete; + FieldPart(FieldPart &&) = delete; + + explicit FieldPart(FIELD &field, const std::string &name = "") : + field(field), + name(name) + { } + + FieldPart(FIELD &field, const FieldPart &other) : + field(field), + name(other.name) + { } + + // ------------------------ + // Getters: + // For T == variant + // ptr() + // ------------------------ + + template< + class TEE = T, + class = std::enable_if_t::value>> + const PART *ptr() const + { + return field.parent.template getter(field(), name); + } + + template< + class TEE = T, + class = std::enable_if_t::value>> + PART *ptr() + { + return field.parent.template getter(field(), name); + } + + // ------------------------ + // Getters: + // For T == variant + // operator()() + // ------------------------ + + template< + class TEE = T, + class = std::enable_if_t::value>> + const PART *operator()() const + { + return ptr(); + } + + template< + class TEE = T, + class = std::enable_if_t::value>> + PART *operator()() + { + return ptr(); + } + + // ------------------------ + // Getters: + // For T == variant + // Conversion to PART + // Same as operator()() + // ------------------------ + + template< + class TEE = T, + class = std::enable_if_t::value>> + operator const PART *() const + { + return operator()(); + } + + template< + class TEE = T, + class = std::enable_if_t::value>> + operator PART *() + { + return operator()(); + } + + // ------------------------ + // Getters: + // For T == vector + // ptr(index/label/Lookup) + // Get vector element + // ------------------------ + + template< + class KEY, class = detail::isSearchKey, + class TEE = T, class = std::enable_if_t::value>> + decltype(auto) ptr(const KEY &key) const + { + return field.parent.template getter(field(), key, name); + } + + template< + class KEY, class = detail::isSearchKey, + class TEE = T, class = std::enable_if_t::value>> + decltype(auto) ptr(const KEY &key) + { + return field.parent.template getter(field(), key, name); + } + + // ------------------------ + // Getters: + // For T == vector + // operator()(index/label/Lookup) + // Get vector element + // ------------------------ + + template< + class KEY, class = detail::isSearchKey, + class TEE = T, class = std::enable_if_t::value>> + decltype(auto) operator()(const KEY &key) const + { + return ptr(key); + } + + template< + class KEY, class = detail::isSearchKey, + class TEE = T, class = std::enable_if_t::value>> + decltype(auto) operator()(const KEY &key) + { + return ptr(key); + } + + // ------------------------ + // Setters + // ------------------------ + + // if T == variant: (value) + template< + class TEE = T, + class = std::enable_if_t::value>> + PARENT &operator()(const std::optional &obj) + { + if (obj) field(obj.value()); + return field.parent; + } + + // if T == vector: (index/label/Lookup, value) + // replace vector element + template< + class KEY, class = detail::isSearchKeyRefReturn, + class TEE = T, class = std::enable_if_t::value>> + PARENT &operator()(const KEY &key, const std::optional &obj) + { + if (obj) field(key,obj.value()); + return field.parent; + } + + // ------------------------ + // Assignment + // ------------------------ + + // intentional: don't assign field (wrong) or name (unnecessary) + FieldPart &operator=(const FieldPart &other) { return *this; } + FieldPart &operator=(FieldPart &&other) { return *this; } }; @@ -128,6 +337,41 @@ class Field { // Helpers // ----------------------------------------------------------------------------- +// ------------------------ +// wrapper +// ------------------------ + +template +struct wrapper { + T value; + + template< + class FROM = T, + class = std::enable_if_t>> + wrapper(const FROM &v = FROM{}) : + value(T(v)) + { } + + // if T == std::optional + template>> + wrapper(const typename TEE::value_type &v) : + value(v) + { } + + // if T == std::optional + template>> + wrapper(const std::nullopt_t &v) : + value(v) + { } + + operator const T &() const { return value; } + operator T &() { return value; } +}; + +// ------------------------ +// fieldAddress +// ------------------------ + private: template @@ -142,6 +386,10 @@ void *fieldAddress(Field &value) return &value(); } +// ------------------------ +// stripField +// ------------------------ + template struct stripField { using type = T; diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index 03206eaaa..14e967b67 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -5,7 +5,6 @@ #ifndef GNDSTK_V1_9_CONTAINERS_AXES #define GNDSTK_V1_9_CONTAINERS_AXES -#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/Axis.hpp" #include "GNDStk/v1.9/containers/Grid.hpp" @@ -60,53 +59,8 @@ class Axes : public Component { Field> href; // children - variant Field> axis_grid; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // axis(index/label/Lookup) - template> - decltype(auto) axis(const KEY &key) const - { return getter(axis_grid(), key, "axis"); } - template> - decltype(auto) axis(const KEY &key) - { return getter(axis_grid(), key, "axis"); } - - // grid(index/label/Lookup) - template> - decltype(auto) grid(const KEY &key) const - { return getter(axis_grid(), key, "grid"); } - template> - decltype(auto) grid(const KEY &key) - { return getter(axis_grid(), key, "grid"); } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // axis(index/label/Lookup, value): replace vector entry - template> - Axes &axis( - const KEY &key, - const std::optional &obj - ) { - if (obj) axis_grid(key,obj.value()); - return *this; - } - - // grid(index/label/Lookup, value): replace vector entry - template> - Axes &grid( - const KEY &key, - const std::optional &obj - ) { - if (obj) axis_grid(key,obj.value()); - return *this; - } + FieldPart axis; + FieldPart grid; // ------------------------ // Constructors @@ -123,11 +77,28 @@ class Axes : public Component { this->axis_grid }, href(this,href,"href"), - axis_grid(this,axis_grid,"axis_grid") + axis_grid(this,axis_grid,"axis_grid"), + axis(this->axis_grid,"axis"), + grid(this->axis_grid,"grid") { Component::finish(); } + // from node + Axes(const Node &node) : + Component{ + BlockData{}, + this->href, + this->axis_grid + }, + href(this,{},"href"), + axis_grid(this,{},"axis_grid"), + axis(this->axis_grid,"axis"), + grid(this->axis_grid,"grid") + { + Component::finish(node); + } + // copy Axes(const Axes &other) : Component{ @@ -136,7 +107,9 @@ class Axes : public Component { this->axis_grid }, href(this,other.href), - axis_grid(this,other.axis_grid) + axis_grid(this,other.axis_grid), + axis(this->axis_grid,other.axis), + grid(this->axis_grid,other.grid) { Component::finish(other); } @@ -149,24 +122,13 @@ class Axes : public Component { this->axis_grid }, href(this,std::move(other.href)), - axis_grid(this,std::move(other.axis_grid)) + axis_grid(this,std::move(other.axis_grid)), + axis(this->axis_grid,std::move(other.axis)), + grid(this->axis_grid,std::move(other.grid)) { Component::finish(other); } - // from node - Axes(const Node &node) : - Component{ - BlockData{}, - this->href, - this->axis_grid - }, - href(this,{},"href"), - axis_grid(this,{},"axis_grid") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index 8f97ca994..563c27765 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -78,6 +78,21 @@ class Axis : public Component { Component::finish(); } + // from node + Axis(const Node &node) : + Component{ + BlockData{}, + this->index, + this->label, + this->unit + }, + index(this,{},"index"), + label(this,{},"label"), + unit(this,{},"unit") + { + Component::finish(node); + } + // copy Axis(const Axis &other) : Component{ @@ -108,21 +123,6 @@ class Axis : public Component { Component::finish(other); } - // from node - Axis(const Node &node) : - Component{ - BlockData{}, - this->index, - this->label, - this->unit - }, - index(this,{},"index"), - label(this,{},"label"), - unit(this,{},"unit") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index cceadb8f5..64fc8243d 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -5,7 +5,6 @@ #ifndef GNDSTK_V1_9_CONTAINERS_GRID #define GNDSTK_V1_9_CONTAINERS_GRID -#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/Values.hpp" #include "GNDStk/v1.9/containers/Link.hpp" @@ -77,37 +76,8 @@ class Grid : public Component { Field> unit; // children - variant Field link_values; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // values - const containers::Values *values() const - { return getter(link_values(), "values"); } - containers::Values *values() - { return getter(link_values(), "values"); } - - // link - const containers::Link *link() const - { return getter(link_values(), "link"); } - containers::Link *link() - { return getter(link_values(), "link"); } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // values(value) - Grid &values(const std::optional &obj) - { if (obj) link_values(obj.value()); return *this; } - - // link(value) - Grid &link(const std::optional &obj) - { if (obj) link_values(obj.value()); return *this; } + FieldPart values; + FieldPart link; // ------------------------ // Constructors @@ -137,11 +107,36 @@ class Grid : public Component { label(this,label,"label"), style(this,style,"style"), unit(this,unit,"unit"), - link_values(this,link_values,"link_values") + link_values(this,link_values,"link_values"), + values(this->link_values,"values"), + link(this->link_values,"link") { Component::finish(); } + // from node + Grid(const Node &node) : + Component{ + BlockData{}, + this->index, + this->interpolation, + this->label, + this->style, + this->unit, + this->link_values + }, + index(this,{},"index"), + interpolation(this,defaults.interpolation,{},"interpolation"), + label(this,{},"label"), + style(this,{},"style"), + unit(this,{},"unit"), + link_values(this,{},"link_values"), + values(this->link_values,"values"), + link(this->link_values,"link") + { + Component::finish(node); + } + // copy Grid(const Grid &other) : Component{ @@ -158,7 +153,9 @@ class Grid : public Component { label(this,other.label), style(this,other.style), unit(this,other.unit), - link_values(this,other.link_values) + link_values(this,other.link_values), + values(this->link_values,other.values), + link(this->link_values,other.link) { Component::finish(other); } @@ -179,32 +176,13 @@ class Grid : public Component { label(this,std::move(other.label)), style(this,std::move(other.style)), unit(this,std::move(other.unit)), - link_values(this,std::move(other.link_values)) + link_values(this,std::move(other.link_values)), + values(this->link_values,std::move(other.values)), + link(this->link_values,std::move(other.link)) { Component::finish(other); } - // from node - Grid(const Node &node) : - Component{ - BlockData{}, - this->index, - this->interpolation, - this->label, - this->style, - this->unit, - this->link_values - }, - index(this,{},"index"), - interpolation(this,defaults.interpolation,{},"interpolation"), - label(this,{},"label"), - style(this,{},"style"), - unit(this,{},"unit"), - link_values(this,{},"link_values") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index a605a2f9d..98db9e32c 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -66,6 +66,17 @@ class Link : public Component { Component::finish(); } + // from node + Link(const Node &node) : + Component{ + BlockData{}, + this->href + }, + href(this,{},"href") + { + Component::finish(node); + } + // copy Link(const Link &other) : Component{ @@ -88,17 +99,6 @@ class Link : public Component { Component::finish(other); } - // from node - Link(const Node &node) : - Component{ - BlockData{}, - this->href - }, - href(this,{},"href") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index 3056870a2..99737cd54 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -5,7 +5,6 @@ #ifndef GNDSTK_V1_9_CONTAINERS_REGIONS1D #define GNDSTK_V1_9_CONTAINERS_REGIONS1D -#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/Axes.hpp" #include "GNDStk/v1.9/containers/XYs1d.hpp" @@ -88,6 +87,23 @@ class Regions1d : public Component { Component::finish(); } + // from node + Regions1d(const Node &node) : + Component{ + BlockData{}, + this->label, + this->outerDomainValue, + this->axes, + this->XYs1d + }, + label(this,{},"label"), + outerDomainValue(this,{},"outerDomainValue"), + axes(this,{},"axes"), + XYs1d(this,{},"XYs1d") + { + Component::finish(node); + } + // copy Regions1d(const Regions1d &other) : Component{ @@ -122,23 +138,6 @@ class Regions1d : public Component { Component::finish(other); } - // from node - Regions1d(const Node &node) : - Component{ - BlockData{}, - this->label, - this->outerDomainValue, - this->axes, - this->XYs1d - }, - label(this,{},"label"), - outerDomainValue(this,{},"outerDomainValue"), - axes(this,{},"axes"), - XYs1d(this,{},"XYs1d") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index dbb79026a..685ca1d58 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -86,65 +86,65 @@ class Values : public Component { Component::finish(); } - // copy - Values(const Values &other) : + // from node + Values(const Node &node) : Component{ - other.baseBlockData(), + BlockData{}, this->valueType, this->start, this->length }, - valueType(this,other.valueType), - start(this,other.start), - length(this,other.length) + valueType(this,defaults.valueType,{},"valueType"), + start(this,{},defaults.start,"start"), + length(this,{},"length") { - Component::finish(other); + Component::finish(node); } - // move - Values(Values &&other) : + // from vector + template>> + Values(const std::vector &vector) : Component{ - other.baseBlockData(), + BlockData{}, this->valueType, this->start, this->length }, - valueType(this,std::move(other.valueType)), - start(this,std::move(other.start)), - length(this,std::move(other.length)) + valueType(this,defaults.valueType,{},"valueType"), + start(this,{},defaults.start,"start"), + length(this,{},"length") { - Component::finish(other); + Component::finish(vector); } - // from node - Values(const Node &node) : + // copy + Values(const Values &other) : Component{ - BlockData{}, + other.baseBlockData(), this->valueType, this->start, this->length }, - valueType(this,defaults.valueType,{},"valueType"), - start(this,{},defaults.start,"start"), - length(this,{},"length") + valueType(this,other.valueType), + start(this,other.start), + length(this,other.length) { - Component::finish(node); + Component::finish(other); } - // from vector - template>> - Values(const std::vector &vector) : + // move + Values(Values &&other) : Component{ - BlockData{}, + other.baseBlockData(), this->valueType, this->start, this->length }, - valueType(this,defaults.valueType,{},"valueType"), - start(this,{},defaults.start,"start"), - length(this,{},"length") + valueType(this,std::move(other.valueType)), + start(this,std::move(other.start)), + length(this,std::move(other.length)) { - Component::finish(vector); + Component::finish(other); } // ------------------------ diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index 09a7980bd..9afa48754 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -5,7 +5,6 @@ #ifndef GNDSTK_V1_9_CONTAINERS_XYS1D #define GNDSTK_V1_9_CONTAINERS_XYS1D -#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/Axes.hpp" #include "GNDStk/v1.9/containers/Values.hpp" @@ -106,6 +105,27 @@ class XYs1d : public Component { Component::finish(); } + // from node + XYs1d(const Node &node) : + Component{ + BlockData{}, + this->index, + this->interpolation, + this->label, + this->outerDomainValue, + this->axes, + this->values + }, + index(this,{},"index"), + interpolation(this,defaults.interpolation,{},"interpolation"), + label(this,{},"label"), + outerDomainValue(this,{},"outerDomainValue"), + axes(this,{},"axes"), + values(this,containers::Values{},"values") + { + Component::finish(node); + } + // copy XYs1d(const XYs1d &other) : Component{ @@ -148,27 +168,6 @@ class XYs1d : public Component { Component::finish(other); } - // from node - XYs1d(const Node &node) : - Component{ - BlockData{}, - this->index, - this->interpolation, - this->label, - this->outerDomainValue, - this->axes, - this->values - }, - index(this,{},"index"), - interpolation(this,defaults.interpolation,{},"interpolation"), - label(this,{},"label"), - outerDomainValue(this,{},"outerDomainValue"), - axes(this,{},"axes"), - values(this,containers::Values{},"values") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index 685a8cb8f..ea2292380 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -5,7 +5,6 @@ #ifndef GNDSTK_V1_9_TRANSPORT_CROSSSECTION #define GNDSTK_V1_9_TRANSPORT_CROSSSECTION -#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/containers/XYs1d.hpp" #include "GNDStk/v1.9/containers/Regions1d.hpp" @@ -55,53 +54,8 @@ class CrossSection : public Component { // children - variant Field> XYs1d_regions1d; - - // ------------------------ - // Getters - // const and non-const - // ------------------------ - - // XYs1d(index/label/Lookup) - template> - decltype(auto) XYs1d(const KEY &key) const - { return getter(XYs1d_regions1d(), key, "XYs1d"); } - template> - decltype(auto) XYs1d(const KEY &key) - { return getter(XYs1d_regions1d(), key, "XYs1d"); } - - // regions1d(index/label/Lookup) - template> - decltype(auto) regions1d(const KEY &key) const - { return getter(XYs1d_regions1d(), key, "regions1d"); } - template> - decltype(auto) regions1d(const KEY &key) - { return getter(XYs1d_regions1d(), key, "regions1d"); } - - // ------------------------ - // Setters - // non-const - // All return *this - // ------------------------ - - // XYs1d(index/label/Lookup, value): replace vector entry - template> - CrossSection &XYs1d( - const KEY &key, - const std::optional &obj - ) { - if (obj) XYs1d_regions1d(key,obj.value()); - return *this; - } - - // regions1d(index/label/Lookup, value): replace vector entry - template> - CrossSection ®ions1d( - const KEY &key, - const std::optional &obj - ) { - if (obj) XYs1d_regions1d(key,obj.value()); - return *this; - } + FieldPart XYs1d; + FieldPart regions1d; // ------------------------ // Constructors @@ -115,42 +69,50 @@ class CrossSection : public Component { BlockData{}, this->XYs1d_regions1d }, - XYs1d_regions1d(this,XYs1d_regions1d,"XYs1d_regions1d") + XYs1d_regions1d(this,XYs1d_regions1d,"XYs1d_regions1d"), + XYs1d(this->XYs1d_regions1d,"XYs1d"), + regions1d(this->XYs1d_regions1d,"regions1d") { Component::finish(); } - // copy - CrossSection(const CrossSection &other) : + // from node + CrossSection(const Node &node) : Component{ - other.baseBlockData(), + BlockData{}, this->XYs1d_regions1d }, - XYs1d_regions1d(this,other.XYs1d_regions1d) + XYs1d_regions1d(this,{},"XYs1d_regions1d"), + XYs1d(this->XYs1d_regions1d,"XYs1d"), + regions1d(this->XYs1d_regions1d,"regions1d") { - Component::finish(other); + Component::finish(node); } - // move - CrossSection(CrossSection &&other) : + // copy + CrossSection(const CrossSection &other) : Component{ other.baseBlockData(), this->XYs1d_regions1d }, - XYs1d_regions1d(this,std::move(other.XYs1d_regions1d)) + XYs1d_regions1d(this,other.XYs1d_regions1d), + XYs1d(this->XYs1d_regions1d,other.XYs1d), + regions1d(this->XYs1d_regions1d,other.regions1d) { Component::finish(other); } - // from node - CrossSection(const Node &node) : + // move + CrossSection(CrossSection &&other) : Component{ - BlockData{}, + other.baseBlockData(), this->XYs1d_regions1d }, - XYs1d_regions1d(this,{},"XYs1d_regions1d") + XYs1d_regions1d(this,std::move(other.XYs1d_regions1d)), + XYs1d(this->XYs1d_regions1d,std::move(other.XYs1d)), + regions1d(this->XYs1d_regions1d,std::move(other.regions1d)) { - Component::finish(node); + Component::finish(other); } // ------------------------ diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index 48a659f1c..3ea06a99d 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -5,7 +5,6 @@ #ifndef GNDSTK_V1_9_TRANSPORT_REACTION #define GNDSTK_V1_9_TRANSPORT_REACTION -#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/transport/CrossSection.hpp" namespace njoy { @@ -87,6 +86,23 @@ class Reaction : public Component { Component::finish(); } + // from node + Reaction(const Node &node) : + Component{ + BlockData{}, + this->ENDF_MT, + this->fissionGenre, + this->label, + this->crossSection + }, + ENDF_MT(this,{},"ENDF_MT"), + fissionGenre(this,{},"fissionGenre"), + label(this,{},"label"), + crossSection(this,{},"crossSection") + { + Component::finish(node); + } + // copy Reaction(const Reaction &other) : Component{ @@ -121,23 +137,6 @@ class Reaction : public Component { Component::finish(other); } - // from node - Reaction(const Node &node) : - Component{ - BlockData{}, - this->ENDF_MT, - this->fissionGenre, - this->label, - this->crossSection - }, - ENDF_MT(this,{},"ENDF_MT"), - fissionGenre(this,{},"fissionGenre"), - label(this,{},"label"), - crossSection(this,{},"crossSection") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index 4e176f616..87c7c9524 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -5,7 +5,6 @@ #ifndef GNDSTK_V1_9_TRANSPORT_REACTIONSUITE #define GNDSTK_V1_9_TRANSPORT_REACTIONSUITE -#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/transport/Reactions.hpp" namespace njoy { @@ -105,6 +104,29 @@ class ReactionSuite : public Component { Component::finish(); } + // from node + ReactionSuite(const Node &node) : + Component{ + BlockData{}, + this->evaluation, + this->format, + this->projectile, + this->projectileFrame, + this->target, + this->interaction, + this->reactions + }, + evaluation(this,{},"evaluation"), + format(this,{},"format"), + projectile(this,{},"projectile"), + projectileFrame(this,{},"projectileFrame"), + target(this,{},"target"), + interaction(this,{},"interaction"), + reactions(this,{},"reactions") + { + Component::finish(node); + } + // copy ReactionSuite(const ReactionSuite &other) : Component{ @@ -151,29 +173,6 @@ class ReactionSuite : public Component { Component::finish(other); } - // from node - ReactionSuite(const Node &node) : - Component{ - BlockData{}, - this->evaluation, - this->format, - this->projectile, - this->projectileFrame, - this->target, - this->interaction, - this->reactions - }, - evaluation(this,{},"evaluation"), - format(this,{},"format"), - projectile(this,{},"projectile"), - projectileFrame(this,{},"projectileFrame"), - target(this,{},"target"), - interaction(this,{},"interaction"), - reactions(this,{},"reactions") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index 555392271..56311a9ce 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -5,7 +5,6 @@ #ifndef GNDSTK_V1_9_TRANSPORT_REACTIONS #define GNDSTK_V1_9_TRANSPORT_REACTIONS -#include "GNDStk/v1.9/key.hpp" #include "GNDStk/v1.9/transport/Reaction.hpp" namespace njoy { @@ -67,6 +66,17 @@ class Reactions : public Component { Component::finish(); } + // from node + Reactions(const Node &node) : + Component{ + BlockData{}, + this->reaction + }, + reaction(this,{},"reaction") + { + Component::finish(node); + } + // copy Reactions(const Reactions &other) : Component{ @@ -89,17 +99,6 @@ class Reactions : public Component { Component::finish(other); } - // from node - Reactions(const Node &node) : - Component{ - BlockData{}, - this->reaction - }, - reaction(this,{},"reaction") - { - Component::finish(node); - } - // ------------------------ // Assignment // ------------------------ From 707d0de2071a7784f3fe2524f65b37dcb20e6ea7 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 13 Jun 2022 17:37:06 -0600 Subject: [PATCH 105/235] Two Node constructors made to be non-converting. I'm not sure why I made them be converting constructors to begin with. Whatever the reason, it seems (according to the test suite!) that they don't need to be converting constructors. And, I don't think that they should be. Indeed, some new code modifications uncovered this issue, as converting constructors for Node triggered certain ambiguities. --- src/GNDStk/Node/src/ctor.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/GNDStk/Node/src/ctor.hpp b/src/GNDStk/Node/src/ctor.hpp index 91fbffbf5..b5bbba372 100644 --- a/src/GNDStk/Node/src/ctor.hpp +++ b/src/GNDStk/Node/src/ctor.hpp @@ -36,14 +36,14 @@ Node(const Node &other) // ------------------------ // string -Node(const std::string &name) : +explicit Node(const std::string &name) : name(name) { } // Child<*> template -Node(const Child &kwd) : +explicit Node(const Child &kwd) : name(kwd.name) { } From 621995a0727357ae062b7fa7ba56025bd56c31a5 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 13 Jun 2022 17:42:34 -0600 Subject: [PATCH 106/235] More generated-code updates. Code generator itself still needs updating. --- src/GNDStk/v1.9/containers/Axes.hpp | 47 +++++++++------------ src/GNDStk/v1.9/containers/Axis.hpp | 15 +++---- src/GNDStk/v1.9/containers/Grid.hpp | 31 +++++++------- src/GNDStk/v1.9/containers/Link.hpp | 7 ++- src/GNDStk/v1.9/containers/Regions1d.hpp | 19 ++++----- src/GNDStk/v1.9/containers/Values.hpp | 15 +++---- src/GNDStk/v1.9/containers/XYs1d.hpp | 27 ++++++------ src/GNDStk/v1.9/transport/CrossSection.hpp | 11 +++-- src/GNDStk/v1.9/transport/Reaction.hpp | 19 ++++----- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 31 +++++++------- src/GNDStk/v1.9/transport/Reactions.hpp | 7 ++- 11 files changed, 107 insertions(+), 122 deletions(-) diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index 14e967b67..4ab4cd803 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -21,6 +21,7 @@ namespace v1_9 { namespace containers { class Axes : public Component { + friend class Component; using axis_grid_t = std::variant< containers::Axis, @@ -31,8 +32,6 @@ class Axes : public Component { // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Axes"; } @@ -55,12 +54,14 @@ class Axes : public Component { using Component::construct; + ///// but deal with [name]! + // metadata - Field> href; + Field> href{this}; // children - variant - Field> axis_grid; - FieldPart axis; - FieldPart grid; + Field> axis_grid{this}; + FieldPart axis{axis_grid}; + FieldPart grid{axis_grid}; // ------------------------ // Constructors @@ -68,8 +69,8 @@ class Axes : public Component { // default, and from fields explicit Axes( - const std::optional &href = {}, - const std::vector &axis_grid = {} + const wrapper> &href = {}, + const wrapper> &axis_grid = {} ) : Component{ BlockData{}, @@ -88,13 +89,13 @@ class Axes : public Component { Axes(const Node &node) : Component{ BlockData{}, - this->href, - this->axis_grid + href, + axis_grid }, href(this,{},"href"), axis_grid(this,{},"axis_grid"), - axis(this->axis_grid,"axis"), - grid(this->axis_grid,"grid") + axis(axis_grid,"axis"), + grid(axis_grid,"grid") { Component::finish(node); } @@ -103,14 +104,11 @@ class Axes : public Component { Axes(const Axes &other) : Component{ other.baseBlockData(), - this->href, - this->axis_grid - }, - href(this,other.href), - axis_grid(this,other.axis_grid), - axis(this->axis_grid,other.axis), - grid(this->axis_grid,other.grid) + href, + axis_grid + } { + *this = other; Component::finish(other); } @@ -118,14 +116,11 @@ class Axes : public Component { Axes(Axes &&other) : Component{ other.baseBlockData(), - this->href, - this->axis_grid - }, - href(this,std::move(other.href)), - axis_grid(this,std::move(other.axis_grid)), - axis(this->axis_grid,std::move(other.axis)), - grid(this->axis_grid,std::move(other.grid)) + href, + axis_grid + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index 563c27765..38de67465 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -20,13 +20,12 @@ namespace v1_9 { namespace containers { class Axis : public Component { + friend class Component; // ------------------------ // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Axis"; } @@ -51,9 +50,9 @@ class Axis : public Component { using Component::construct; // metadata - Field> index; - Field> label; - Field> unit; + Field> index{this}; + Field> label{this}; + Field> unit{this}; // ------------------------ // Constructors @@ -61,9 +60,9 @@ class Axis : public Component { // default, and from fields explicit Axis( - const std::optional &index = {}, - const std::optional &label = {}, - const std::optional &unit = {} + const wrapper> &index = {}, + const wrapper> &label = {}, + const wrapper> &unit = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index 64fc8243d..204b8a49f 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -21,6 +21,7 @@ namespace v1_9 { namespace containers { class Grid : public Component { + friend class Component; using link_values_t = std::variant< containers::Values, @@ -31,8 +32,6 @@ class Grid : public Component { // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Grid"; } @@ -69,15 +68,15 @@ class Grid : public Component { } defaults; // metadata - Field> index; - Field> interpolation; - Field> label; - Field> style; - Field> unit; + Field> index{this}; + Field> interpolation{this,Defaults::interpolation}; + Field> label{this}; + Field> style{this}; + Field> unit{this}; // children - variant - Field link_values; - FieldPart values; - FieldPart link; + Field link_values{this}; + FieldPart values{link_values}; + FieldPart link{link_values}; // ------------------------ // Constructors @@ -86,12 +85,12 @@ class Grid : public Component { // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Grid( - const std::optional &index = {}, - const std::optional &interpolation = {}, - const std::optional &label = {}, - const std::optional &style = {}, - const std::optional &unit = {}, - const link_values_t &link_values = {} + const wrapper> &index = {}, + const wrapper> &interpolation = {}, + const wrapper> &label = {}, + const wrapper> &style = {}, + const wrapper> &unit = {}, + const wrapper &link_values = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index 98db9e32c..9083a1cb0 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -20,13 +20,12 @@ namespace v1_9 { namespace containers { class Link : public Component { + friend class Component; // ------------------------ // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Link"; } @@ -47,7 +46,7 @@ class Link : public Component { using Component::construct; // metadata - Field href; + Field href{this}; // ------------------------ // Constructors @@ -55,7 +54,7 @@ class Link : public Component { // default, and from fields explicit Link( - const std::string &href = {} + const wrapper &href = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index 99737cd54..90ba91e18 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -21,13 +21,12 @@ namespace v1_9 { namespace containers { class Regions1d : public Component { + friend class Component; // ------------------------ // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Regions1d"; } @@ -55,11 +54,11 @@ class Regions1d : public Component { using Component::construct; // metadata - Field> label; - Field> outerDomainValue; + Field> label{this}; + Field> outerDomainValue{this}; // children - Field> axes; - Field> XYs1d; + Field> axes{this}; + Field> XYs1d{this}; // ------------------------ // Constructors @@ -67,10 +66,10 @@ class Regions1d : public Component { // default, and from fields explicit Regions1d( - const std::optional &label = {}, - const std::optional &outerDomainValue = {}, - const std::optional &axes = {}, - const std::vector &XYs1d = {} + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &axes = {}, + const wrapper> &XYs1d = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index 685ca1d58..42819f57a 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -20,13 +20,12 @@ namespace v1_9 { namespace containers { class Values : public Component { + friend class Component; // ------------------------ // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Values"; } @@ -58,9 +57,9 @@ class Values : public Component { } defaults; // metadata - mutable Field> valueType; - mutable Field> start; - mutable Field> length; + mutable Field> valueType{this,Defaults::valueType}; + mutable Field> start{this,Defaults::start}; + mutable Field> length{this}; // ------------------------ // Constructors @@ -69,9 +68,9 @@ class Values : public Component { // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Values( - const std::optional &valueType = {}, - const std::optional &start = {}, - const std::optional &length = {} + const wrapper> &valueType = {}, + const wrapper> &start = {}, + const wrapper> &length = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index 9afa48754..9b7668c5b 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -21,13 +21,12 @@ namespace v1_9 { namespace containers { class XYs1d : public Component { + friend class Component; // ------------------------ // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "XYs1d"; } @@ -64,13 +63,13 @@ class XYs1d : public Component { } defaults; // metadata - Field> index; - Field> interpolation; - Field> label; - Field> outerDomainValue; + Field> index{this}; + Field> interpolation{this,defaults.interpolation}; + Field> label{this}; + Field> outerDomainValue{this}; // children - Field> axes; - Field values; + Field> axes{this}; + Field values{this}; // ------------------------ // Constructors @@ -79,12 +78,12 @@ class XYs1d : public Component { // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit XYs1d( - const std::optional &index = {}, - const std::optional &interpolation = {}, - const std::optional &label = {}, - const std::optional &outerDomainValue = {}, - const std::optional &axes = {}, - const containers::Values &values = containers::Values{} + const wrapper> &index = {}, + const wrapper> &interpolation = {}, + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &axes = {}, + const wrapper &values = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index ea2292380..258f12ac4 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -21,6 +21,7 @@ namespace v1_9 { namespace transport { class CrossSection : public Component { + friend class Component; using XYs1d_regions1d_t = std::variant< containers::XYs1d, @@ -31,8 +32,6 @@ class CrossSection : public Component { // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "CrossSection"; } @@ -53,9 +52,9 @@ class CrossSection : public Component { using Component::construct; // children - variant - Field> XYs1d_regions1d; - FieldPart XYs1d; - FieldPart regions1d; + Field> XYs1d_regions1d{this}; + FieldPart XYs1d{XYs1d_regions1d}; + FieldPart regions1d{XYs1d_regions1d}; // ------------------------ // Constructors @@ -63,7 +62,7 @@ class CrossSection : public Component { // default, and from fields explicit CrossSection( - const std::vector &XYs1d_regions1d = {} + const wrapper> &XYs1d_regions1d = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index 3ea06a99d..508b6b333 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -20,13 +20,12 @@ namespace v1_9 { namespace transport { class Reaction : public Component { + friend class Component; // ------------------------ // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "Reaction"; } @@ -54,11 +53,11 @@ class Reaction : public Component { using Component::construct; // metadata - Field ENDF_MT; - Field> fissionGenre; - Field label; + Field ENDF_MT{this}; + Field> fissionGenre{this}; + Field label{this}; // children - Field crossSection; + Field crossSection{this}; // ------------------------ // Constructors @@ -66,10 +65,10 @@ class Reaction : public Component { // default, and from fields explicit Reaction( - const int &ENDF_MT = {}, - const std::optional &fissionGenre = {}, - const std::string &label = {}, - const transport::CrossSection &crossSection = {} + const wrapper &ENDF_MT = {}, + const wrapper> &fissionGenre = {}, + const wrapper &label = {}, + const wrapper &crossSection = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index 87c7c9524..b08bee26f 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -20,13 +20,12 @@ namespace v1_9 { namespace transport { class ReactionSuite : public Component { + friend class Component; // ------------------------ // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "ReactionSuite"; } @@ -60,14 +59,14 @@ class ReactionSuite : public Component { using Component::construct; // metadata - Field evaluation; - Field format; - Field projectile; - Field projectileFrame; - Field target; - Field> interaction; + Field evaluation{this}; + Field format{this}; + Field projectile{this}; + Field projectileFrame{this}; + Field target{this}; + Field> interaction{this}; // children - Field> reactions; + Field> reactions{this}; // ------------------------ // Constructors @@ -75,13 +74,13 @@ class ReactionSuite : public Component { // default, and from fields explicit ReactionSuite( - const std::string &evaluation = {}, - const std::string &format = {}, - const std::string &projectile = {}, - const enums::Frame &projectileFrame = {}, - const std::string &target = {}, - const std::optional &interaction = {}, - const std::optional &reactions = {} + const wrapper &evaluation = {}, + const wrapper &format = {}, + const wrapper &projectile = {}, + const wrapper &projectileFrame = {}, + const wrapper &target = {}, + const wrapper> &interaction = {}, + const wrapper> &reactions = {} ) : Component{ BlockData{}, diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index 56311a9ce..bf8717b52 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -20,13 +20,12 @@ namespace v1_9 { namespace transport { class Reactions : public Component { + friend class Component; // ------------------------ // For Component // ------------------------ - friend class Component; - // Names: this namespace, this class, a field / node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "Reactions"; } @@ -47,7 +46,7 @@ class Reactions : public Component { using Component::construct; // children - Field> reaction; + Field> reaction{this}; // ------------------------ // Constructors @@ -55,7 +54,7 @@ class Reactions : public Component { // default, and from fields explicit Reactions( - const std::vector &reaction = {} + const wrapper> &reaction = {} ) : Component{ BlockData{}, From ed83af48001672e7871c593a269966a7e71a8547 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 13 Jun 2022 17:52:34 -0600 Subject: [PATCH 107/235] Some new test material, for better generated-code getter coverage. --- .../v1.9/containers/Axes/test/Axes.test.cpp | 36 +++++++++++++ .../v1.9/containers/Grid/test/Grid.test.cpp | 50 +++++++++++++++++++ 2 files changed, 86 insertions(+) diff --git a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp index 416b24899..855293f7f 100644 --- a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp +++ b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp @@ -31,6 +31,42 @@ SCENARIO( "Axes" ) { Axis( 0, "radius", "fm" ) }; + using agvector = std::vector>; + + THEN ( "Various getters work as expected" ) { + { + const Axes a1(std::nullopt, agvector{Axis(1)}); + Axes a2(std::nullopt, agvector{Axis(2)}); + const Axis *ptr1 = a1.axis(1); + Axis *ptr2 = a2.axis(2); + CHECK(ptr1 != nullptr); + CHECK(ptr2 != nullptr); + + const Axes a3(std::nullopt, agvector{Grid(1)}); + Axes a4(std::nullopt, agvector{Grid(2)}); + const Grid *ptr3 = a3.grid(1); + Grid *ptr4 = a4.grid(2); + CHECK(ptr3 != nullptr); + CHECK(ptr4 != nullptr); + } + + { + const Axes a1(std::nullopt, agvector{Axis(1)}); + Axes a2(std::nullopt, agvector{Axis(2)}); + const Grid *ptr1 = a1.grid(1); + Grid *ptr2 = a2.grid(2); + CHECK(ptr1 == nullptr); + CHECK(ptr2 == nullptr); + + const Axes a3(std::nullopt, agvector{Grid(1)}); + Axes a4(std::nullopt, agvector{Grid(2)}); + const Axis *ptr3 = a3.axis(1); + Axis *ptr4 = a4.axis(2); + CHECK(ptr3 == nullptr); + CHECK(ptr4 == nullptr); + } + } + Axes chunk( std::nullopt, axis ); THEN( "the component can be constructed and members can be tested" ) { diff --git a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp b/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp index e15392688..6462cff28 100644 --- a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp +++ b/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp @@ -31,6 +31,56 @@ SCENARIO( "Grid" ) { enums::GridStyle style = enums::GridStyle::boundaries; std::vector< double > values = { 1e-5, 2e7 }; + THEN ( "Various getters work as expected" ) { + { + const Grid g1(index,std::nullopt,label,style,unit,Values(values)); + Grid g2(index,std::nullopt,label,style,unit,Values(values)); + const Values *ptr1 = g1.values(); + Values *ptr2 = g2.values(); + CHECK(ptr1 != nullptr); + CHECK(ptr2 != nullptr); + + const Grid g3(index,std::nullopt,label,style,unit,Link("mylink")); + Grid g4(index,std::nullopt,label,style,unit,Link("mylink")); + const Link *ptr3 = g3.link(); + Link *ptr4 = g4.link(); + CHECK(ptr3 != nullptr); + CHECK(ptr4 != nullptr); + } + + { + const Grid g1(index,std::nullopt,label,style,unit,Values(values)); + Grid g2(index,std::nullopt,label,style,unit,Values(values)); + const Values *ptr1 = g1.values; + Values *ptr2 = g2.values; + CHECK(ptr1 != nullptr); + CHECK(ptr2 != nullptr); + + const Grid g3(index,std::nullopt,label,style,unit,Link("mylink")); + Grid g4(index,std::nullopt,label,style,unit,Link("mylink")); + const Link *ptr3 = g3.link; + Link *ptr4 = g4.link; + CHECK(ptr3 != nullptr); + CHECK(ptr4 != nullptr); + } + + { + const Grid g1(index,std::nullopt,label,style,unit,Values(values)); + Grid g2(index,std::nullopt,label,style,unit,Values(values)); + const Link *ptr1 = g1.link(); + Link *ptr2 = g2.link(); + CHECK(ptr1 == nullptr); + CHECK(ptr2 == nullptr); + + const Grid g3(index,std::nullopt,label,style,unit,Link("mylink")); + Grid g4(index,std::nullopt,label,style,unit,Link("mylink")); + const Values *ptr3 = g3.values(); + Values *ptr4 = g4.values(); + CHECK(ptr3 == nullptr); + CHECK(ptr4 == nullptr); + } + } + Grid chunk( index, std::nullopt, label, style, unit, Values( values ) ); THEN( "the component can be constructed and members can be tested" ) { From 673c516bb84e39fbb5029a2104788897ffb66715 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 13 Jun 2022 17:59:49 -0600 Subject: [PATCH 108/235] Corrected some verbiage. The word "data" is plural, not singular. :-D --- .../Test_GNDStk_v1_9_containers_Axis.py | 6 +++--- .../Test_GNDStk_v1_9_containers_Grid.py | 6 +++--- .../Test_GNDStk_v1_9_containers_Link.py | 6 +++--- .../Test_GNDStk_v1_9_containers_Values.py | 18 +++++++++--------- .../v1.9/containers/Axes/test/Axes.test.cpp | 6 +++--- .../v1.9/containers/Axis/test/Axis.test.cpp | 6 +++--- .../v1.9/containers/Grid/test/Grid.test.cpp | 10 +++++----- .../v1.9/containers/Link/test/Link.test.cpp | 6 +++--- .../Regions1d/test/Regions1d.test.cpp | 6 +++--- .../containers/Values/test/Values.test.cpp | 14 +++++++------- .../v1.9/containers/XYs1d/test/XYs1d.test.cpp | 6 +++--- 11 files changed, 45 insertions(+), 45 deletions(-) diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.py b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.py index 3e6a11a66..6fc894786 100644 --- a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.py +++ b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.py @@ -32,17 +32,17 @@ def verify_chunk( self, chunk ) : # verify string self.assertEqual( self.chunk, chunk.to_xml_string() ) - # the data is given explicitly + # the data are given explicitly chunk = Axis( index = 1, label = 'energy_in', unit = 'eV' ) verify_chunk( self, chunk ) - # the data is read from a string + # the data are read from a string chunk = Axis.from_string( self.chunk ) verify_chunk( self, chunk ) - # the data is copied + # the data are copied copy = Axis( chunk ) verify_chunk( self, copy ) diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.py b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.py index db6933174..ed102cbc4 100644 --- a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.py +++ b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.py @@ -57,19 +57,19 @@ def verify_chunk( self, chunk ) : # verify string self.assertEqual( self.chunk, chunk.to_xml_string() ) - # the data is given explicitly + # the data are given explicitly chunk = Grid( index = 2, label = "row_energy_bounds", unit = "eV", style = GridStyle.boundaries, link_values = Values( [ 1e-5, 2e7 ] ) ) verify_chunk( self, chunk ) - # the data is read from a string + # the data are read from a string chunk = Grid.from_string( self.chunk ) verify_chunk( self, chunk ) - # the data is copied + # the data are copied copy = Grid( chunk ) verify_chunk( self, copy ) diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.py b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.py index ad607c36f..65a2fc61b 100644 --- a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.py +++ b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.py @@ -22,17 +22,17 @@ def verify_chunk( self, chunk ) : # verify string self.assertEqual( self.chunk, chunk.to_xml_string() ) - # the data is given explicitly + # the data are given explicitly chunk = Link( href = '../../grid[@index=\'2\']/values' ) verify_chunk( self, chunk ) - # the data is read from a string + # the data are read from a string chunk = Link.from_string( self.chunk ) verify_chunk( self, chunk ) - # the data is copied + # the data are copied copy = Link( chunk ) verify_chunk( self, copy ) diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.py b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.py index 435bffffe..a64ae9db4 100644 --- a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.py +++ b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.py @@ -67,47 +67,47 @@ def verify_chunk_strings( self, chunk ) : # verify string self.assertEqual( self.chunk_strings, chunk.to_xml_string() ) - # the data is given explicitly (doubles) + # the data are given explicitly (doubles) chunk = Values( doubles = [ 2500., 8.9172, 2550., 8.9155 ] ) verify_chunk_doubles( self, chunk ) - # the data is read from a string + # the data are read from a string chunk = Values.from_string( self.chunk_doubles ) verify_chunk_doubles( self, chunk ) - # the data is copied + # the data are copied copy = Values( chunk ) verify_chunk_doubles( self, copy ) - # the data is given explicitly (ints) + # the data are given explicitly (ints) chunk = Values( ints = [ 2500, 9, 2550, 9 ] ) verify_chunk_ints( self, chunk ) - # the data is read from a string + # the data are read from a string chunk = Values.from_string( self.chunk_ints ) verify_chunk_ints( self, chunk ) - # the data is copied + # the data are copied copy = Values( chunk ) verify_chunk_ints( self, copy ) - # the data is given explicitly (strings) + # the data are given explicitly (strings) chunk = Values( strings = [ "2500", "8.9172", "2550", "8.9155" ] ) verify_chunk_strings( self, chunk ) - # the data is read from a string + # the data are read from a string chunk = Values.from_string( self.chunk_strings ) verify_chunk_strings( self, chunk ) - # the data is copied + # the data are copied copy = Values( chunk ) verify_chunk_strings( self, copy ) diff --git a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp index 855293f7f..4125ec88e 100644 --- a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp +++ b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp @@ -23,7 +23,7 @@ SCENARIO( "Axes" ) { std::string string = chunk(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { std::vector< std::variant< Axis, Grid > > axis = { @@ -83,7 +83,7 @@ SCENARIO( "Axes" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunk(); @@ -126,7 +126,7 @@ SCENARIO( "Axes" ) { } // THEN } // WHEN - WHEN( "the data is moved" ) { + WHEN( "the data are moved" ) { Node node; node << chunk(); diff --git a/src/GNDStk/v1.9/containers/Axis/test/Axis.test.cpp b/src/GNDStk/v1.9/containers/Axis/test/Axis.test.cpp index 7fa31ba8b..1eeb1c91d 100644 --- a/src/GNDStk/v1.9/containers/Axis/test/Axis.test.cpp +++ b/src/GNDStk/v1.9/containers/Axis/test/Axis.test.cpp @@ -19,7 +19,7 @@ SCENARIO( "Axis" ) { std::string string = chunk(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { unsigned index = 1; std::string label = "energy_in"; @@ -41,7 +41,7 @@ SCENARIO( "Axis" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunk(); @@ -84,7 +84,7 @@ SCENARIO( "Axis" ) { } // THEN } // WHEN - WHEN( "the data is moved" ) { + WHEN( "the data are moved" ) { Node node; node << chunk(); diff --git a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp b/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp index 6462cff28..ed878d543 100644 --- a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp +++ b/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp @@ -23,7 +23,7 @@ SCENARIO( "Grid" ) { std::string string = chunk(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { unsigned index = 2; std::string label = "row_energy_bounds"; @@ -97,7 +97,7 @@ SCENARIO( "Grid" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunk(); @@ -122,7 +122,7 @@ SCENARIO( "Grid" ) { std::string string = chunkWithLink(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { unsigned index = 1; std::string label = "column_energy_bounds"; @@ -147,7 +147,7 @@ SCENARIO( "Grid" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunkWithLink(); @@ -190,7 +190,7 @@ SCENARIO( "Grid" ) { } // THEN } // WHEN - WHEN( "the data is moved" ) { + WHEN( "the data are moved" ) { Node node; node << chunk(); diff --git a/src/GNDStk/v1.9/containers/Link/test/Link.test.cpp b/src/GNDStk/v1.9/containers/Link/test/Link.test.cpp index 12f9a1d27..49d2299a5 100644 --- a/src/GNDStk/v1.9/containers/Link/test/Link.test.cpp +++ b/src/GNDStk/v1.9/containers/Link/test/Link.test.cpp @@ -19,7 +19,7 @@ SCENARIO( "Link" ) { std::string string = chunk(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { std::string href = "../../grid[@index='2']/values"; @@ -39,7 +39,7 @@ SCENARIO( "Link" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunk(); @@ -82,7 +82,7 @@ SCENARIO( "Link" ) { } // THEN } // WHEN - WHEN( "the data is moved" ) { + WHEN( "the data are moved" ) { Node node; node << chunk(); diff --git a/src/GNDStk/v1.9/containers/Regions1d/test/Regions1d.test.cpp b/src/GNDStk/v1.9/containers/Regions1d/test/Regions1d.test.cpp index f46acc7f7..a9ded2935 100644 --- a/src/GNDStk/v1.9/containers/Regions1d/test/Regions1d.test.cpp +++ b/src/GNDStk/v1.9/containers/Regions1d/test/Regions1d.test.cpp @@ -25,7 +25,7 @@ SCENARIO( "Regions1d" ) { std::string string = chunk(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { Regions1d chunk( std::nullopt, // optional label @@ -61,7 +61,7 @@ SCENARIO( "Regions1d" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunk(); @@ -104,7 +104,7 @@ SCENARIO( "Regions1d" ) { } // THEN } // WHEN - WHEN( "the data is moved" ) { + WHEN( "the data are moved" ) { Node node; node << chunk(); diff --git a/src/GNDStk/v1.9/containers/Values/test/Values.test.cpp b/src/GNDStk/v1.9/containers/Values/test/Values.test.cpp index bf9a2a95b..3f31b6a85 100644 --- a/src/GNDStk/v1.9/containers/Values/test/Values.test.cpp +++ b/src/GNDStk/v1.9/containers/Values/test/Values.test.cpp @@ -23,7 +23,7 @@ SCENARIO( "Values" ) { std::string string = chunk(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { std::vector< double > values = { 2500., 8.9172, 2550., 8.9155 }; @@ -43,7 +43,7 @@ SCENARIO( "Values" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunk(); @@ -68,7 +68,7 @@ SCENARIO( "Values" ) { std::string string = chunkInts(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { std::vector< Integer32 > values = { 2500, 9, 2550, 9 }; @@ -88,7 +88,7 @@ SCENARIO( "Values" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunkInts(); @@ -113,7 +113,7 @@ SCENARIO( "Values" ) { std::string string = chunkStrings(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { std::vector< UTF8Text > values = { "2500", "8.9172", "2550", "8.9155" }; @@ -133,7 +133,7 @@ SCENARIO( "Values" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunkStrings(); @@ -176,7 +176,7 @@ SCENARIO( "Values" ) { } // THEN } // WHEN - WHEN( "the data is moved" ) { + WHEN( "the data are moved" ) { Node node; node << chunk(); diff --git a/src/GNDStk/v1.9/containers/XYs1d/test/XYs1d.test.cpp b/src/GNDStk/v1.9/containers/XYs1d/test/XYs1d.test.cpp index 128557a00..94c9fd403 100644 --- a/src/GNDStk/v1.9/containers/XYs1d/test/XYs1d.test.cpp +++ b/src/GNDStk/v1.9/containers/XYs1d/test/XYs1d.test.cpp @@ -24,7 +24,7 @@ SCENARIO( "XYs1d" ) { std::string string = chunk(); - WHEN( "autogenerated constructor: the data is given explicitly" ) { + WHEN( "autogenerated constructor: the data are given explicitly" ) { XYs1d chunk( std::nullopt, std::nullopt, std::nullopt, std::nullopt, Axes( std::nullopt, @@ -48,7 +48,7 @@ SCENARIO( "XYs1d" ) { } // THEN } // WHEN - WHEN( "the data is constructed from a node" ) { + WHEN( "the data are constructed from a node" ) { Node node; node << chunk(); @@ -91,7 +91,7 @@ SCENARIO( "XYs1d" ) { } // THEN } // WHEN - WHEN( "the data is moved" ) { + WHEN( "the data are moved" ) { Node node; node << chunk(); From 9111a5efbc0d3a06ac95583c10763adfdb5183b0 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 13 Jun 2022 18:20:51 -0600 Subject: [PATCH 109/235] Shorten constructors in generated classes. --- src/GNDStk/v1.9/containers/Axis.hpp | 30 +++++----- src/GNDStk/v1.9/containers/Grid.hpp | 62 ++++++++------------- src/GNDStk/v1.9/containers/Link.hpp | 14 ++--- src/GNDStk/v1.9/containers/Regions1d.hpp | 38 ++++++------- src/GNDStk/v1.9/containers/Values.hpp | 36 ++++++------ src/GNDStk/v1.9/containers/XYs1d.hpp | 54 ++++++++---------- src/GNDStk/v1.9/transport/CrossSection.hpp | 22 +++----- src/GNDStk/v1.9/transport/Reaction.hpp | 38 ++++++------- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 62 +++++++++------------ src/GNDStk/v1.9/transport/Reactions.hpp | 14 ++--- 10 files changed, 155 insertions(+), 215 deletions(-) diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index 38de67465..65ceafade 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -81,9 +81,9 @@ class Axis : public Component { Axis(const Node &node) : Component{ BlockData{}, - this->index, - this->label, - this->unit + index, + label, + unit }, index(this,{},"index"), label(this,{},"label"), @@ -96,14 +96,12 @@ class Axis : public Component { Axis(const Axis &other) : Component{ other.baseBlockData(), - this->index, - this->label, - this->unit - }, - index(this,other.index), - label(this,other.label), - unit(this,other.unit) + index, + label, + unit + } { + *this = other; Component::finish(other); } @@ -111,14 +109,12 @@ class Axis : public Component { Axis(Axis &&other) : Component{ other.baseBlockData(), - this->index, - this->label, - this->unit - }, - index(this,std::move(other.index)), - label(this,std::move(other.label)), - unit(this,std::move(other.unit)) + index, + label, + unit + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index 204b8a49f..62bcea19c 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -117,12 +117,12 @@ class Grid : public Component { Grid(const Node &node) : Component{ BlockData{}, - this->index, - this->interpolation, - this->label, - this->style, - this->unit, - this->link_values + index, + interpolation, + label, + style, + unit, + link_values }, index(this,{},"index"), interpolation(this,defaults.interpolation,{},"interpolation"), @@ -130,8 +130,8 @@ class Grid : public Component { style(this,{},"style"), unit(this,{},"unit"), link_values(this,{},"link_values"), - values(this->link_values,"values"), - link(this->link_values,"link") + values(link_values,"values"), + link(link_values,"link") { Component::finish(node); } @@ -140,22 +140,15 @@ class Grid : public Component { Grid(const Grid &other) : Component{ other.baseBlockData(), - this->index, - this->interpolation, - this->label, - this->style, - this->unit, - this->link_values - }, - index(this,other.index), - interpolation(this,other.interpolation), - label(this,other.label), - style(this,other.style), - unit(this,other.unit), - link_values(this,other.link_values), - values(this->link_values,other.values), - link(this->link_values,other.link) + index, + interpolation, + label, + style, + unit, + link_values + } { + *this = other; Component::finish(other); } @@ -163,22 +156,15 @@ class Grid : public Component { Grid(Grid &&other) : Component{ other.baseBlockData(), - this->index, - this->interpolation, - this->label, - this->style, - this->unit, - this->link_values - }, - index(this,std::move(other.index)), - interpolation(this,std::move(other.interpolation)), - label(this,std::move(other.label)), - style(this,std::move(other.style)), - unit(this,std::move(other.unit)), - link_values(this,std::move(other.link_values)), - values(this->link_values,std::move(other.values)), - link(this->link_values,std::move(other.link)) + index, + interpolation, + label, + style, + unit, + link_values + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index 9083a1cb0..2e435f213 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -69,7 +69,7 @@ class Link : public Component { Link(const Node &node) : Component{ BlockData{}, - this->href + href }, href(this,{},"href") { @@ -80,10 +80,10 @@ class Link : public Component { Link(const Link &other) : Component{ other.baseBlockData(), - this->href - }, - href(this,other.href) + href + } { + *this = other; Component::finish(other); } @@ -91,10 +91,10 @@ class Link : public Component { Link(Link &&other) : Component{ other.baseBlockData(), - this->href - }, - href(this,std::move(other.href)) + href + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index 90ba91e18..1cae59eda 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -90,10 +90,10 @@ class Regions1d : public Component { Regions1d(const Node &node) : Component{ BlockData{}, - this->label, - this->outerDomainValue, - this->axes, - this->XYs1d + label, + outerDomainValue, + axes, + XYs1d }, label(this,{},"label"), outerDomainValue(this,{},"outerDomainValue"), @@ -107,16 +107,13 @@ class Regions1d : public Component { Regions1d(const Regions1d &other) : Component{ other.baseBlockData(), - this->label, - this->outerDomainValue, - this->axes, - this->XYs1d - }, - label(this,other.label), - outerDomainValue(this,other.outerDomainValue), - axes(this,other.axes), - XYs1d(this,other.XYs1d) + label, + outerDomainValue, + axes, + XYs1d + } { + *this = other; Component::finish(other); } @@ -124,16 +121,13 @@ class Regions1d : public Component { Regions1d(Regions1d &&other) : Component{ other.baseBlockData(), - this->label, - this->outerDomainValue, - this->axes, - this->XYs1d - }, - label(this,std::move(other.label)), - outerDomainValue(this,std::move(other.outerDomainValue)), - axes(this,std::move(other.axes)), - XYs1d(this,std::move(other.XYs1d)) + label, + outerDomainValue, + axes, + XYs1d + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index 42819f57a..5af0b48d6 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -89,9 +89,9 @@ class Values : public Component { Values(const Node &node) : Component{ BlockData{}, - this->valueType, - this->start, - this->length + valueType, + start, + length }, valueType(this,defaults.valueType,{},"valueType"), start(this,{},defaults.start,"start"), @@ -105,9 +105,9 @@ class Values : public Component { Values(const std::vector &vector) : Component{ BlockData{}, - this->valueType, - this->start, - this->length + valueType, + start, + length }, valueType(this,defaults.valueType,{},"valueType"), start(this,{},defaults.start,"start"), @@ -120,14 +120,12 @@ class Values : public Component { Values(const Values &other) : Component{ other.baseBlockData(), - this->valueType, - this->start, - this->length - }, - valueType(this,other.valueType), - start(this,other.start), - length(this,other.length) + valueType, + start, + length + } { + *this = other; Component::finish(other); } @@ -135,14 +133,12 @@ class Values : public Component { Values(Values &&other) : Component{ other.baseBlockData(), - this->valueType, - this->start, - this->length - }, - valueType(this,std::move(other.valueType)), - start(this,std::move(other.start)), - length(this,std::move(other.length)) + valueType, + start, + length + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index 9b7668c5b..735990fed 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -108,12 +108,12 @@ class XYs1d : public Component { XYs1d(const Node &node) : Component{ BlockData{}, - this->index, - this->interpolation, - this->label, - this->outerDomainValue, - this->axes, - this->values + index, + interpolation, + label, + outerDomainValue, + axes, + values }, index(this,{},"index"), interpolation(this,defaults.interpolation,{},"interpolation"), @@ -129,20 +129,15 @@ class XYs1d : public Component { XYs1d(const XYs1d &other) : Component{ other.baseBlockData(), - this->index, - this->interpolation, - this->label, - this->outerDomainValue, - this->axes, - this->values - }, - index(this,other.index), - interpolation(this,other.interpolation), - label(this,other.label), - outerDomainValue(this,other.outerDomainValue), - axes(this,other.axes), - values(this,other.values) + index, + interpolation, + label, + outerDomainValue, + axes, + values + } { + *this = other; Component::finish(other); } @@ -150,20 +145,15 @@ class XYs1d : public Component { XYs1d(XYs1d &&other) : Component{ other.baseBlockData(), - this->index, - this->interpolation, - this->label, - this->outerDomainValue, - this->axes, - this->values - }, - index(this,std::move(other.index)), - interpolation(this,std::move(other.interpolation)), - label(this,std::move(other.label)), - outerDomainValue(this,std::move(other.outerDomainValue)), - axes(this,std::move(other.axes)), - values(this,std::move(other.values)) + index, + interpolation, + label, + outerDomainValue, + axes, + values + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index 258f12ac4..1bf63097c 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -79,11 +79,11 @@ class CrossSection : public Component { CrossSection(const Node &node) : Component{ BlockData{}, - this->XYs1d_regions1d + XYs1d_regions1d }, XYs1d_regions1d(this,{},"XYs1d_regions1d"), - XYs1d(this->XYs1d_regions1d,"XYs1d"), - regions1d(this->XYs1d_regions1d,"regions1d") + XYs1d(XYs1d_regions1d,"XYs1d"), + regions1d(XYs1d_regions1d,"regions1d") { Component::finish(node); } @@ -92,12 +92,10 @@ class CrossSection : public Component { CrossSection(const CrossSection &other) : Component{ other.baseBlockData(), - this->XYs1d_regions1d - }, - XYs1d_regions1d(this,other.XYs1d_regions1d), - XYs1d(this->XYs1d_regions1d,other.XYs1d), - regions1d(this->XYs1d_regions1d,other.regions1d) + XYs1d_regions1d + } { + *this = other; Component::finish(other); } @@ -105,12 +103,10 @@ class CrossSection : public Component { CrossSection(CrossSection &&other) : Component{ other.baseBlockData(), - this->XYs1d_regions1d - }, - XYs1d_regions1d(this,std::move(other.XYs1d_regions1d)), - XYs1d(this->XYs1d_regions1d,std::move(other.XYs1d)), - regions1d(this->XYs1d_regions1d,std::move(other.regions1d)) + XYs1d_regions1d + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index 508b6b333..d9491852f 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -89,10 +89,10 @@ class Reaction : public Component { Reaction(const Node &node) : Component{ BlockData{}, - this->ENDF_MT, - this->fissionGenre, - this->label, - this->crossSection + ENDF_MT, + fissionGenre, + label, + crossSection }, ENDF_MT(this,{},"ENDF_MT"), fissionGenre(this,{},"fissionGenre"), @@ -106,16 +106,13 @@ class Reaction : public Component { Reaction(const Reaction &other) : Component{ other.baseBlockData(), - this->ENDF_MT, - this->fissionGenre, - this->label, - this->crossSection - }, - ENDF_MT(this,other.ENDF_MT), - fissionGenre(this,other.fissionGenre), - label(this,other.label), - crossSection(this,other.crossSection) + ENDF_MT, + fissionGenre, + label, + crossSection + } { + *this = other; Component::finish(other); } @@ -123,16 +120,13 @@ class Reaction : public Component { Reaction(Reaction &&other) : Component{ other.baseBlockData(), - this->ENDF_MT, - this->fissionGenre, - this->label, - this->crossSection - }, - ENDF_MT(this,std::move(other.ENDF_MT)), - fissionGenre(this,std::move(other.fissionGenre)), - label(this,std::move(other.label)), - crossSection(this,std::move(other.crossSection)) + ENDF_MT, + fissionGenre, + label, + crossSection + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index b08bee26f..54b3ec788 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -107,13 +107,13 @@ class ReactionSuite : public Component { ReactionSuite(const Node &node) : Component{ BlockData{}, - this->evaluation, - this->format, - this->projectile, - this->projectileFrame, - this->target, - this->interaction, - this->reactions + evaluation, + format, + projectile, + projectileFrame, + target, + interaction, + reactions }, evaluation(this,{},"evaluation"), format(this,{},"format"), @@ -130,22 +130,16 @@ class ReactionSuite : public Component { ReactionSuite(const ReactionSuite &other) : Component{ other.baseBlockData(), - this->evaluation, - this->format, - this->projectile, - this->projectileFrame, - this->target, - this->interaction, - this->reactions - }, - evaluation(this,other.evaluation), - format(this,other.format), - projectile(this,other.projectile), - projectileFrame(this,other.projectileFrame), - target(this,other.target), - interaction(this,other.interaction), - reactions(this,other.reactions) + evaluation, + format, + projectile, + projectileFrame, + target, + interaction, + reactions + } { + *this = other; Component::finish(other); } @@ -153,22 +147,16 @@ class ReactionSuite : public Component { ReactionSuite(ReactionSuite &&other) : Component{ other.baseBlockData(), - this->evaluation, - this->format, - this->projectile, - this->projectileFrame, - this->target, - this->interaction, - this->reactions - }, - evaluation(this,std::move(other.evaluation)), - format(this,std::move(other.format)), - projectile(this,std::move(other.projectile)), - projectileFrame(this,std::move(other.projectileFrame)), - target(this,std::move(other.target)), - interaction(this,std::move(other.interaction)), - reactions(this,std::move(other.reactions)) + evaluation, + format, + projectile, + projectileFrame, + target, + interaction, + reactions + } { + *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index bf8717b52..3d52760dd 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -69,7 +69,7 @@ class Reactions : public Component { Reactions(const Node &node) : Component{ BlockData{}, - this->reaction + reaction }, reaction(this,{},"reaction") { @@ -80,10 +80,10 @@ class Reactions : public Component { Reactions(const Reactions &other) : Component{ other.baseBlockData(), - this->reaction - }, - reaction(this,other.reaction) + reaction + } { + *this = other; Component::finish(other); } @@ -91,10 +91,10 @@ class Reactions : public Component { Reactions(Reactions &&other) : Component{ other.baseBlockData(), - this->reaction - }, - reaction(this,std::move(other.reaction)) + reaction + } { + *this = std::move(other); Component::finish(other); } From fa7234a13aa90011c3be0f42b190d7663690bd3f Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 15 Jun 2022 10:33:42 -0600 Subject: [PATCH 110/235] Additional autogenerated C++ and Python code updates. --- autogen/json2class.cpp | 2 +- python/src/v1.9/containers/Axes.python.cpp | 5 +- python/src/v1.9/containers/Axis.python.cpp | 6 +- python/src/v1.9/containers/Grid.python.cpp | 14 +-- python/src/v1.9/containers/Link.python.cpp | 2 +- .../src/v1.9/containers/Regions1d.python.cpp | 9 +- python/src/v1.9/containers/Values.python.cpp | 2 +- python/src/v1.9/containers/XYs1d.python.cpp | 10 +- .../v1.9/transport/CrossSection.python.cpp | 3 +- python/src/v1.9/transport/Reaction.python.cpp | 8 +- .../v1.9/transport/ReactionSuite.python.cpp | 14 +-- .../src/v1.9/transport/Reactions.python.cpp | 3 +- .../Test_GNDStk_v1_9_containers_Axis.pyc | Bin 2014 -> 2014 bytes .../Test_GNDStk_v1_9_containers_Grid.pyc | Bin 2988 -> 2988 bytes .../Test_GNDStk_v1_9_containers_Link.pyc | Bin 1796 -> 1796 bytes .../Test_GNDStk_v1_9_containers_Values.pyc | Bin 3765 -> 3765 bytes src/GNDStk/Component/src/ctor.hpp | 4 +- src/GNDStk/Component/src/field.hpp | 77 ++++++-------- src/GNDStk/Component/src/getter.hpp | 12 +-- src/GNDStk/v1.9/containers/Axes.hpp | 57 ++++------ src/GNDStk/v1.9/containers/Axis.hpp | 58 ++++------ src/GNDStk/v1.9/containers/Grid.hpp | 95 ++++++----------- src/GNDStk/v1.9/containers/Link.hpp | 38 +++---- src/GNDStk/v1.9/containers/Regions1d.hpp | 69 ++++-------- src/GNDStk/v1.9/containers/Values.hpp | 68 ++++-------- .../v1.9/containers/Values/src/custom.hpp | 17 +-- src/GNDStk/v1.9/containers/XYs1d.hpp | 89 +++++----------- src/GNDStk/v1.9/transport/CrossSection.hpp | 44 +++----- src/GNDStk/v1.9/transport/Reaction.hpp | 69 ++++-------- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 99 ++++++------------ src/GNDStk/v1.9/transport/Reactions.hpp | 38 +++---- 31 files changed, 318 insertions(+), 594 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index abfeef96e..9f937acdf 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -896,7 +896,7 @@ void writeClassForComponent(writer &out, const PerClass &per) out(); out(1,"friend class Component;"); out(); - out(1,"// Names: this namespace, this class, a field / node of this type"); + out(1,"// Names: this namespace, this class, a field/node of this type"); out(1,"static auto NAMESPACE() { return \"@\"; }", per.nsname); out(1,"static auto CLASS() { return \"@\"; }", per.clname); out(1,"static auto FIELD() { return \"@\"; }", per.nameGNDS); diff --git a/python/src/v1.9/containers/Axes.python.cpp b/python/src/v1.9/containers/Axes.python.cpp index 5ecb7fe23..fd916126c 100644 --- a/python/src/v1.9/containers/Axes.python.cpp +++ b/python/src/v1.9/containers/Axes.python.cpp @@ -49,13 +49,12 @@ void wrapAxes(python::module &module) ) .def_property_readonly( "href", - &Component::href, + [](const Component &self) { return self.href(); }, Component::documentation("href").data() ) .def_property_readonly( "axis_grid", - (const std::vector &(Component::*)() const) - &Component::axis_grid, + [](const Component &self) { return self.axis_grid(); }, Component::documentation("axis_grid").data() ) ; diff --git a/python/src/v1.9/containers/Axis.python.cpp b/python/src/v1.9/containers/Axis.python.cpp index 9fe2bd62f..d84a82e71 100644 --- a/python/src/v1.9/containers/Axis.python.cpp +++ b/python/src/v1.9/containers/Axis.python.cpp @@ -47,17 +47,17 @@ void wrapAxis(python::module &module) ) .def_property_readonly( "index", - &Component::index, + [](const Component &self) { return self.index(); }, Component::documentation("index").data() ) .def_property_readonly( "label", - &Component::label, + [](const Component &self) { return self.label(); }, Component::documentation("label").data() ) .def_property_readonly( "unit", - &Component::unit, + [](const Component &self) { return self.unit(); }, Component::documentation("unit").data() ) ; diff --git a/python/src/v1.9/containers/Grid.python.cpp b/python/src/v1.9/containers/Grid.python.cpp index 4fc7dad78..cb13099c0 100644 --- a/python/src/v1.9/containers/Grid.python.cpp +++ b/python/src/v1.9/containers/Grid.python.cpp @@ -57,7 +57,7 @@ void wrapGrid(python::module &module) ) .def_property_readonly( "index", - &Component::index, + [](const Component &self) { return self.index(); }, Component::documentation("index").data() ) .def_property_readonly( @@ -67,32 +67,32 @@ void wrapGrid(python::module &module) ) .def_property_readonly( "label", - &Component::label, + [](const Component &self) { return self.label(); }, Component::documentation("label").data() ) .def_property_readonly( "style", - &Component::style, + [](const Component &self) { return self.style(); }, Component::documentation("style").data() ) .def_property_readonly( "unit", - &Component::unit, + [](const Component &self) { return self.unit(); }, Component::documentation("unit").data() ) .def_property_readonly( "values", - python::overload_cast<>(&Component::values), + [](const Component &self) { return self.values(); }, Component::documentation("values").data() ) .def_property_readonly( "link", - python::overload_cast<>(&Component::link), + [](const Component &self) { return self.link(); }, Component::documentation("link").data() ) .def_property_readonly( "link_values", - python::overload_cast<>(&Component::link_values), + [](const Component &self) { return self.link_values(); }, Component::documentation("link_values").data() ) ; diff --git a/python/src/v1.9/containers/Link.python.cpp b/python/src/v1.9/containers/Link.python.cpp index fd9ea1411..938933140 100644 --- a/python/src/v1.9/containers/Link.python.cpp +++ b/python/src/v1.9/containers/Link.python.cpp @@ -43,7 +43,7 @@ void wrapLink(python::module &module) ) .def_property_readonly( "href", - &Component::href, + [](const Component &self) { return self.href(); }, Component::documentation("href").data() ) ; diff --git a/python/src/v1.9/containers/Regions1d.python.cpp b/python/src/v1.9/containers/Regions1d.python.cpp index 37df3134f..ebeaad5cd 100644 --- a/python/src/v1.9/containers/Regions1d.python.cpp +++ b/python/src/v1.9/containers/Regions1d.python.cpp @@ -49,23 +49,22 @@ void wrapRegions1d(python::module &module) ) .def_property_readonly( "label", - &Component::label, + [](const Component &self) { return self.label(); }, Component::documentation("label").data() ) .def_property_readonly( "outer_domain_value", - &Component::outerDomainValue, + [](const Component &self) { return self.outerDomainValue(); }, Component::documentation("outer_domain_value").data() ) .def_property_readonly( "axes", - python::overload_cast<>(&Component::axes), + [](const Component &self) { return self.axes(); }, Component::documentation("axes").data() ) .def_property_readonly( "xys1d", - (const std::vector &(Component::*)() const) - &Component::XYs1d, + [](const Component &self) { return self.XYs1d(); }, Component::documentation("xys1d").data() ) ; diff --git a/python/src/v1.9/containers/Values.python.cpp b/python/src/v1.9/containers/Values.python.cpp index 9c9a1c58c..4fa6b3fb2 100644 --- a/python/src/v1.9/containers/Values.python.cpp +++ b/python/src/v1.9/containers/Values.python.cpp @@ -78,7 +78,7 @@ void wrapValues(python::module &module) ) .def_property_readonly( "length", - &Component::length, + [](const Component &self) { return self.length(); }, Component::documentation("length").data() ) .def_property_readonly( diff --git a/python/src/v1.9/containers/XYs1d.python.cpp b/python/src/v1.9/containers/XYs1d.python.cpp index 9f231399f..200b2304c 100644 --- a/python/src/v1.9/containers/XYs1d.python.cpp +++ b/python/src/v1.9/containers/XYs1d.python.cpp @@ -53,7 +53,7 @@ void wrapXYs1d(python::module &module) ) .def_property_readonly( "index", - &Component::index, + [](const Component &self) { return self.index(); }, Component::documentation("index").data() ) .def_property_readonly( @@ -63,22 +63,22 @@ void wrapXYs1d(python::module &module) ) .def_property_readonly( "label", - &Component::label, + [](const Component &self) { return self.label(); }, Component::documentation("label").data() ) .def_property_readonly( "outer_domain_value", - &Component::outerDomainValue, + [](const Component &self) { return self.outerDomainValue(); }, Component::documentation("outer_domain_value").data() ) .def_property_readonly( "axes", - python::overload_cast<>(&Component::axes), + [](const Component &self) { return self.axes(); }, Component::documentation("axes").data() ) .def_property_readonly( "values", - python::overload_cast<>(&Component::values), + [](const Component &self) { return self.values(); }, Component::documentation("values").data() ) ; diff --git a/python/src/v1.9/transport/CrossSection.python.cpp b/python/src/v1.9/transport/CrossSection.python.cpp index 0bfccc711..91bb19f08 100644 --- a/python/src/v1.9/transport/CrossSection.python.cpp +++ b/python/src/v1.9/transport/CrossSection.python.cpp @@ -47,8 +47,7 @@ void wrapCrossSection(python::module &module) ) .def_property_readonly( "xys1d_regions1d", - (const std::vector &(Component::*)() const) - &Component::XYs1d_regions1d, + [](const Component &self) { return self.XYs1d_regions1d(); }, Component::documentation("xys1d_regions1d").data() ) ; diff --git a/python/src/v1.9/transport/Reaction.python.cpp b/python/src/v1.9/transport/Reaction.python.cpp index c034610a2..750086316 100644 --- a/python/src/v1.9/transport/Reaction.python.cpp +++ b/python/src/v1.9/transport/Reaction.python.cpp @@ -49,22 +49,22 @@ void wrapReaction(python::module &module) ) .def_property_readonly( "endf_mt", - &Component::ENDF_MT, + [](const Component &self) { return self.ENDF_MT(); }, Component::documentation("endf_mt").data() ) .def_property_readonly( "fission_genre", - &Component::fissionGenre, + [](const Component &self) { return self.fissionGenre(); }, Component::documentation("fission_genre").data() ) .def_property_readonly( "label", - &Component::label, + [](const Component &self) { return self.label(); }, Component::documentation("label").data() ) .def_property_readonly( "cross_section", - python::overload_cast<>(&Component::crossSection), + [](const Component &self) { return self.crossSection(); }, Component::documentation("cross_section").data() ) ; diff --git a/python/src/v1.9/transport/ReactionSuite.python.cpp b/python/src/v1.9/transport/ReactionSuite.python.cpp index 13282c115..1f17d356e 100644 --- a/python/src/v1.9/transport/ReactionSuite.python.cpp +++ b/python/src/v1.9/transport/ReactionSuite.python.cpp @@ -55,37 +55,37 @@ void wrapReactionSuite(python::module &module) ) .def_property_readonly( "evaluation", - &Component::evaluation, + [](const Component &self) { return self.evaluation(); }, Component::documentation("evaluation").data() ) .def_property_readonly( "format", - &Component::format, + [](const Component &self) { return self.format(); }, Component::documentation("format").data() ) .def_property_readonly( "projectile", - &Component::projectile, + [](const Component &self) { return self.projectile(); }, Component::documentation("projectile").data() ) .def_property_readonly( "projectile_frame", - &Component::projectileFrame, + [](const Component &self) { return self.projectileFrame(); }, Component::documentation("projectile_frame").data() ) .def_property_readonly( "target", - &Component::target, + [](const Component &self) { return self.target(); }, Component::documentation("target").data() ) .def_property_readonly( "interaction", - &Component::interaction, + [](const Component &self) { return self.interaction(); }, Component::documentation("interaction").data() ) .def_property_readonly( "reactions", - python::overload_cast<>(&Component::reactions), + [](const Component &self) { return self.reactions(); }, Component::documentation("reactions").data() ) ; diff --git a/python/src/v1.9/transport/Reactions.python.cpp b/python/src/v1.9/transport/Reactions.python.cpp index d3ed77bed..20d9bc5fd 100644 --- a/python/src/v1.9/transport/Reactions.python.cpp +++ b/python/src/v1.9/transport/Reactions.python.cpp @@ -43,8 +43,7 @@ void wrapReactions(python::module &module) ) .def_property_readonly( "reaction", - (const std::vector &(Component::*)() const) - &Component::reaction, + [](const Component &self) { return self.reaction(); }, Component::documentation("reaction").data() ) ; diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.pyc b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.pyc index 6e0eb65db721957ee04feb498d8770996ebdc50b..bb866d144f3137a5f178c1044421cc2eb5c4b884 100644 GIT binary patch delta 16 Ycmcb|e~+J?`7_NCkaD*^=C diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.pyc b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.pyc index d96a2d7be08a69861c77fe6276e42adb9a88a777..60a25d49df6d346b746210dad9d0e0817e20ab17 100644 GIT binary patch delta 16 XcmZqSYvE&O{>;l&aBlfV_P=ZZE64@e delta 16 XcmZqSYvE&O{>;m@K-_dA`(HKyCX@u= diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.pyc b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.pyc index 3124295edfbed3d1df5b8dfcd01e314c8069cd82..3e847ee18a4fcde9ae297b651419c47d1834a1be 100644 GIT binary patch delta 16 YcmdlgyH%E*`7; - // The types in ARGS should exactly reflect what we'd get from a - // DERIVED::KEYS() multi-query, except that an ARG of Field<*,T> + // The types in ARGS should exactly reflect what we'd get from + // a DERIVED::KEYS() multi-query, except that an ARG of Field // is accepted in place of a T. static_assert( std::is_same_v::type...>, multi_t>, diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index 4c9fb08c3..efa1ff1d9 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -8,17 +8,17 @@ class FieldPart { // Field // ----------------------------------------------------------------------------- -template +template class Field { - PARENT &parent; - T value; - const std::string name; - + using PARENT = DERIVED; friend PARENT; template friend class FieldPart; + PARENT &parent; + T value; + public: // ------------------------ @@ -32,21 +32,14 @@ class Field { // These accept PARENT*, not PARENT&, so that we can write "this", // not "*this", where Field objects are constructed. - explicit Field( - PARENT *const parent, - const T &value = T{}, const std::string &name = "" - ) : + explicit Field(PARENT *const parent, const T &value = T{}) : parent(*parent), - value(value), - name(name) + value(value) { } - Field( - PARENT *const parent, const Field &other - ) : + Field(PARENT *const parent, const Field &other) : parent(*parent), - value(other.value), - name(other.name) + value(other.value) { } // if T == Defaulted @@ -56,12 +49,10 @@ class Field { Field( PARENT *const parent, const typename TEE::value_type &def, - const std::optional &value = {}, - const std::string &name = "" + const std::optional &value = {} ) : parent(*parent), - value(def,value), - name(name) + value(def,value) { } // ------------------------ @@ -83,13 +74,13 @@ class Field { class KEY, class = detail::isSearchKey, class TEE = T, class = std::enable_if_t::value>> decltype(auto) operator()(const KEY &key) const - { return parent.getter(value, key, name); } + { return parent.getter(value, key); } template< class KEY, class = detail::isSearchKey, class TEE = T, class = std::enable_if_t::value>> decltype(auto) operator()(const KEY &key) - { return parent.getter(value, key, name); } + { return parent.getter(value, key); } // ------------------------ // Setters @@ -151,19 +142,17 @@ class Field { value = std::move(other.value); return *this; } -}; +}; // class Field // ----------------------------------------------------------------------------- // FieldPart // ----------------------------------------------------------------------------- -template -class FieldPart,PART> { - using FIELD = Field; - +template +class FieldPart,PART> { + using FIELD = Field; FIELD &field; - const std::string name; public: @@ -175,14 +164,12 @@ class FieldPart,PART> { FieldPart(const FieldPart &) = delete; FieldPart(FieldPart &&) = delete; - explicit FieldPart(FIELD &field, const std::string &name = "") : - field(field), - name(name) + explicit FieldPart(FIELD &field) : + field(field) { } FieldPart(FIELD &field, const FieldPart &other) : - field(field), - name(other.name) + field(field) { } // ------------------------ @@ -196,7 +183,7 @@ class FieldPart,PART> { class = std::enable_if_t::value>> const PART *ptr() const { - return field.parent.template getter(field(), name); + return field.parent.template getter(field()); } template< @@ -204,7 +191,7 @@ class FieldPart,PART> { class = std::enable_if_t::value>> PART *ptr() { - return field.parent.template getter(field(), name); + return field.parent.template getter(field()); } // ------------------------ @@ -264,7 +251,7 @@ class FieldPart,PART> { class TEE = T, class = std::enable_if_t::value>> decltype(auto) ptr(const KEY &key) const { - return field.parent.template getter(field(), key, name); + return field.parent.template getter(field(), key); } template< @@ -272,7 +259,7 @@ class FieldPart,PART> { class TEE = T, class = std::enable_if_t::value>> decltype(auto) ptr(const KEY &key) { - return field.parent.template getter(field(), key, name); + return field.parent.template getter(field(), key); } // ------------------------ @@ -306,7 +293,7 @@ class FieldPart,PART> { template< class TEE = T, class = std::enable_if_t::value>> - PARENT &operator()(const std::optional &obj) + DERIVED &operator()(const std::optional &obj) { if (obj) field(obj.value()); return field.parent; @@ -317,7 +304,7 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKeyRefReturn, class TEE = T, class = std::enable_if_t::value>> - PARENT &operator()(const KEY &key, const std::optional &obj) + DERIVED &operator()(const KEY &key, const std::optional &obj) { if (obj) field(key,obj.value()); return field.parent; @@ -327,10 +314,10 @@ class FieldPart,PART> { // Assignment // ------------------------ - // intentional: don't assign field (wrong) or name (unnecessary) + // intentional: don't assign [referenced] field; doing so would be wrong FieldPart &operator=(const FieldPart &other) { return *this; } FieldPart &operator=(FieldPart &&other) { return *this; } -}; +}; // class FieldPart // ----------------------------------------------------------------------------- @@ -380,8 +367,8 @@ void *fieldAddress(T &value) return &value; } -template -void *fieldAddress(Field &value) +template +void *fieldAddress(Field &value) { return &value(); } @@ -395,7 +382,7 @@ struct stripField { using type = T; }; -template -struct stripField> { +template +struct stripField> { using type = T; }; diff --git a/src/GNDStk/Component/src/getter.hpp b/src/GNDStk/Component/src/getter.hpp index 38dbca732..673365860 100644 --- a/src/GNDStk/Component/src/getter.hpp +++ b/src/GNDStk/Component/src/getter.hpp @@ -28,7 +28,7 @@ template< decltype(auto) getter( const VEC &vec, // vector, or optional vector const KEY &key, // index, label, or Lookup - const std::string &fieldName + const std::string &fieldName = "" ) const { return detail::getter( vec, key, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName @@ -43,7 +43,7 @@ template< decltype(auto) getter( VEC &vec, const KEY &key, - const std::string &fieldName + const std::string &fieldName = "" ) { using RET = decltype( std::as_const(*this).template getter(vec, key, fieldName)); @@ -71,7 +71,7 @@ template< > const RETURN *getter( const std::variant &var, - const std::string &fieldName + const std::string &fieldName = "" ) const { return detail::getter( var, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName @@ -85,7 +85,7 @@ template< > RETURN *getter( std::variant &var, - const std::string &fieldName + const std::string &fieldName = "" ) { return const_cast( std::as_const(*this).template getter(var, fieldName) @@ -108,7 +108,7 @@ template< const RETURN *getter( const std::vector> &vecvar, const KEY &key, - const std::string &fieldName + const std::string &fieldName = "" ) const { return detail::getter( vecvar, key, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName @@ -124,7 +124,7 @@ template< RETURN *getter( std::vector> &vecvar, const KEY &key, - const std::string &fieldName + const std::string &fieldName = "" ) { return const_cast( std::as_const(*this).template getter(vecvar, key, fieldName) diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index 4ab4cd803..0c2effe2e 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -11,15 +11,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace containers { // ----------------------------------------------------------------------------- // containers:: // class Axes // ----------------------------------------------------------------------------- -namespace containers { - class Axes : public Component { friend class Component; @@ -32,7 +30,7 @@ class Axes : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Axes"; } static auto FIELD() { return "axes"; } @@ -51,15 +49,13 @@ class Axes : public Component { } public: - using Component::construct; - ///// but deal with [name]! - // metadata - Field> href{this}; + Field> href{this}; + // children - variant - Field> axis_grid{this}; + Field> axis_grid{this}; FieldPart axis{axis_grid}; FieldPart grid{axis_grid}; @@ -67,46 +63,34 @@ class Axes : public Component { // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href, \ + this->axis_grid) + // default, and from fields explicit Axes( const wrapper> &href = {}, const wrapper> &axis_grid = {} ) : - Component{ - BlockData{}, - this->href, - this->axis_grid - }, - href(this,href,"href"), - axis_grid(this,axis_grid,"axis_grid"), - axis(this->axis_grid,"axis"), - grid(this->axis_grid,"grid") + GNDSTK_COMPONENT(BlockData{}), + href(this,href), + axis_grid(this,axis_grid), + axis(this->axis_grid), + grid(this->axis_grid) { Component::finish(); } // from node Axes(const Node &node) : - Component{ - BlockData{}, - href, - axis_grid - }, - href(this,{},"href"), - axis_grid(this,{},"axis_grid"), - axis(axis_grid,"axis"), - grid(axis_grid,"grid") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy Axes(const Axes &other) : - Component{ - other.baseBlockData(), - href, - axis_grid - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -114,18 +98,14 @@ class Axes : public Component { // move Axes(Axes &&other) : - Component{ - other.baseBlockData(), - href, - axis_grid - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ Axes &operator=(const Axes &) = default; @@ -136,6 +116,7 @@ class Axes : public Component { // ------------------------ #include "GNDStk/v1.9/containers/Axes/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class Axes diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index 65ceafade..e8a30ab3d 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -10,15 +10,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace containers { // ----------------------------------------------------------------------------- // containers:: // class Axis // ----------------------------------------------------------------------------- -namespace containers { - class Axis : public Component { friend class Component; @@ -26,7 +24,7 @@ class Axis : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Axis"; } static auto FIELD() { return "axis"; } @@ -46,60 +44,46 @@ class Axis : public Component { } public: - using Component::construct; // metadata - Field> index{this}; - Field> label{this}; - Field> unit{this}; + Field> index{this}; + Field> label{this}; + Field> unit{this}; // ------------------------ // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->label, \ + this->unit) + // default, and from fields explicit Axis( const wrapper> &index = {}, const wrapper> &label = {}, const wrapper> &unit = {} ) : - Component{ - BlockData{}, - this->index, - this->label, - this->unit - }, - index(this,index,"index"), - label(this,label,"label"), - unit(this,unit,"unit") + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + label(this,label), + unit(this,unit) { Component::finish(); } // from node Axis(const Node &node) : - Component{ - BlockData{}, - index, - label, - unit - }, - index(this,{},"index"), - label(this,{},"label"), - unit(this,{},"unit") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy Axis(const Axis &other) : - Component{ - other.baseBlockData(), - index, - label, - unit - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -107,19 +91,14 @@ class Axis : public Component { // move Axis(Axis &&other) : - Component{ - other.baseBlockData(), - index, - label, - unit - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ Axis &operator=(const Axis &) = default; @@ -130,6 +109,7 @@ class Axis : public Component { // ------------------------ #include "GNDStk/v1.9/containers/Axis/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class Axis diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index 62bcea19c..339bb950c 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -11,15 +11,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace containers { // ----------------------------------------------------------------------------- // containers:: // class Grid // ----------------------------------------------------------------------------- -namespace containers { - class Grid : public Component { friend class Component; @@ -32,7 +30,7 @@ class Grid : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Grid"; } static auto FIELD() { return "grid"; } @@ -59,7 +57,6 @@ class Grid : public Component { } public: - using Component::construct; // defaults @@ -68,13 +65,14 @@ class Grid : public Component { } defaults; // metadata - Field> index{this}; - Field> interpolation{this,Defaults::interpolation}; - Field> label{this}; - Field> style{this}; - Field> unit{this}; + Field> index{this}; + Field> interpolation{this,Defaults::interpolation}; + Field> label{this}; + Field> style{this}; + Field> unit{this}; + // children - variant - Field link_values{this}; + Field link_values{this}; FieldPart values{link_values}; FieldPart link{link_values}; @@ -82,6 +80,14 @@ class Grid : public Component { // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->interpolation, \ + this->label, \ + this->style, \ + this->unit, \ + this->link_values) + // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Grid( @@ -92,61 +98,29 @@ class Grid : public Component { const wrapper> &unit = {}, const wrapper &link_values = {} ) : - Component{ - BlockData{}, - this->index, - this->interpolation, - this->label, - this->style, - this->unit, - this->link_values - }, - index(this,index,"index"), - interpolation(this,defaults.interpolation,interpolation,"interpolation"), - label(this,label,"label"), - style(this,style,"style"), - unit(this,unit,"unit"), - link_values(this,link_values,"link_values"), - values(this->link_values,"values"), - link(this->link_values,"link") + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + interpolation(this,defaults.interpolation,interpolation), + label(this,label), + style(this,style), + unit(this,unit), + link_values(this,link_values), + values(this->link_values), + link(this->link_values) { Component::finish(); } // from node Grid(const Node &node) : - Component{ - BlockData{}, - index, - interpolation, - label, - style, - unit, - link_values - }, - index(this,{},"index"), - interpolation(this,defaults.interpolation,{},"interpolation"), - label(this,{},"label"), - style(this,{},"style"), - unit(this,{},"unit"), - link_values(this,{},"link_values"), - values(link_values,"values"), - link(link_values,"link") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy Grid(const Grid &other) : - Component{ - other.baseBlockData(), - index, - interpolation, - label, - style, - unit, - link_values - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -154,22 +128,14 @@ class Grid : public Component { // move Grid(Grid &&other) : - Component{ - other.baseBlockData(), - index, - interpolation, - label, - style, - unit, - link_values - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ Grid &operator=(const Grid &) = default; @@ -180,6 +146,7 @@ class Grid : public Component { // ------------------------ #include "GNDStk/v1.9/containers/Grid/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class Grid diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index 2e435f213..54c7bfe54 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -10,15 +10,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace containers { // ----------------------------------------------------------------------------- // containers:: // class Link // ----------------------------------------------------------------------------- -namespace containers { - class Link : public Component { friend class Component; @@ -26,7 +24,7 @@ class Link : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Link"; } static auto FIELD() { return "link"; } @@ -42,46 +40,38 @@ class Link : public Component { } public: - using Component::construct; // metadata - Field href{this}; + Field href{this}; // ------------------------ // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href) + // default, and from fields explicit Link( const wrapper &href = {} ) : - Component{ - BlockData{}, - this->href - }, - href(this,href,"href") + GNDSTK_COMPONENT(BlockData{}), + href(this,href) { Component::finish(); } // from node Link(const Node &node) : - Component{ - BlockData{}, - href - }, - href(this,{},"href") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy Link(const Link &other) : - Component{ - other.baseBlockData(), - href - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -89,17 +79,14 @@ class Link : public Component { // move Link(Link &&other) : - Component{ - other.baseBlockData(), - href - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ Link &operator=(const Link &) = default; @@ -110,6 +97,7 @@ class Link : public Component { // ------------------------ #include "GNDStk/v1.9/containers/Link/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class Link diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index 1cae59eda..bc0ddd1b1 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -11,15 +11,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace containers { // ----------------------------------------------------------------------------- // containers:: // class Regions1d // ----------------------------------------------------------------------------- -namespace containers { - class Regions1d : public Component { friend class Component; @@ -27,7 +25,7 @@ class Regions1d : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Regions1d"; } static auto FIELD() { return "regions1d"; } @@ -50,20 +48,26 @@ class Regions1d : public Component { } public: - using Component::construct; // metadata - Field> label{this}; - Field> outerDomainValue{this}; + Field> label{this}; + Field> outerDomainValue{this}; + // children - Field> axes{this}; - Field> XYs1d{this}; + Field> axes{this}; + Field> XYs1d{this}; // ------------------------ // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->outerDomainValue, \ + this->axes, \ + this->XYs1d) + // default, and from fields explicit Regions1d( const wrapper> &label = {}, @@ -71,47 +75,25 @@ class Regions1d : public Component { const wrapper> &axes = {}, const wrapper> &XYs1d = {} ) : - Component{ - BlockData{}, - this->label, - this->outerDomainValue, - this->axes, - this->XYs1d - }, - label(this,label,"label"), - outerDomainValue(this,outerDomainValue,"outerDomainValue"), - axes(this,axes,"axes"), - XYs1d(this,XYs1d,"XYs1d") + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + outerDomainValue(this,outerDomainValue), + axes(this,axes), + XYs1d(this,XYs1d) { Component::finish(); } // from node Regions1d(const Node &node) : - Component{ - BlockData{}, - label, - outerDomainValue, - axes, - XYs1d - }, - label(this,{},"label"), - outerDomainValue(this,{},"outerDomainValue"), - axes(this,{},"axes"), - XYs1d(this,{},"XYs1d") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy Regions1d(const Regions1d &other) : - Component{ - other.baseBlockData(), - label, - outerDomainValue, - axes, - XYs1d - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -119,20 +101,14 @@ class Regions1d : public Component { // move Regions1d(Regions1d &&other) : - Component{ - other.baseBlockData(), - label, - outerDomainValue, - axes, - XYs1d - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ Regions1d &operator=(const Regions1d &) = default; @@ -143,6 +119,7 @@ class Regions1d : public Component { // ------------------------ #include "GNDStk/v1.9/containers/Regions1d/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class Regions1d diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index 5af0b48d6..75200a756 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -10,15 +10,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace containers { // ----------------------------------------------------------------------------- // containers:: // class Values // ----------------------------------------------------------------------------- -namespace containers { - class Values : public Component { friend class Component; @@ -26,7 +24,7 @@ class Values : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "Values"; } static auto FIELD() { return "values"; } @@ -46,7 +44,6 @@ class Values : public Component { } public: - using Component::construct; using BlockData::operator=; @@ -57,14 +54,19 @@ class Values : public Component { } defaults; // metadata - mutable Field> valueType{this,Defaults::valueType}; - mutable Field> start{this,Defaults::start}; - mutable Field> length{this}; + mutable Field> valueType{this,Defaults::valueType}; + mutable Field> start{this,Defaults::start}; + mutable Field> length{this}; // ------------------------ // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->valueType, \ + this->start, \ + this->length) + // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Values( @@ -72,30 +74,17 @@ class Values : public Component { const wrapper> &start = {}, const wrapper> &length = {} ) : - Component{ - BlockData{}, - this->valueType, - this->start, - this->length - }, - valueType(this,defaults.valueType,valueType,"valueType"), - start(this,defaults.start,start,"start"), - length(this,length,"length") + GNDSTK_COMPONENT(BlockData{}), + valueType(this,defaults.valueType,valueType), + start(this,defaults.start,start), + length(this,length) { Component::finish(); } // from node Values(const Node &node) : - Component{ - BlockData{}, - valueType, - start, - length - }, - valueType(this,defaults.valueType,{},"valueType"), - start(this,{},defaults.start,"start"), - length(this,{},"length") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } @@ -103,27 +92,14 @@ class Values : public Component { // from vector template>> Values(const std::vector &vector) : - Component{ - BlockData{}, - valueType, - start, - length - }, - valueType(this,defaults.valueType,{},"valueType"), - start(this,{},defaults.start,"start"), - length(this,{},"length") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(vector); } // copy Values(const Values &other) : - Component{ - other.baseBlockData(), - valueType, - start, - length - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -131,19 +107,14 @@ class Values : public Component { // move Values(Values &&other) : - Component{ - other.baseBlockData(), - valueType, - start, - length - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ Values &operator=(const Values &) = default; @@ -154,6 +125,7 @@ class Values : public Component { // ------------------------ #include "GNDStk/v1.9/containers/Values/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class Values diff --git a/src/GNDStk/v1.9/containers/Values/src/custom.hpp b/src/GNDStk/v1.9/containers/Values/src/custom.hpp index 4465c55ea..ccf86f6b5 100644 --- a/src/GNDStk/v1.9/containers/Values/src/custom.hpp +++ b/src/GNDStk/v1.9/containers/Values/src/custom.hpp @@ -43,21 +43,12 @@ const std::optional< int >& start, const std::optional< std::string >& valueType, const std::vector< T >& values ) : - Component{ - BlockData{}, - this->length.value, - this->start.value, - this->valueType.value - }, - valueType(this,defaults.valueType,{},"valueType"), - start(this,{},defaults.start,"start"), - length(this,{},"length") + GNDSTK_COMPONENT(BlockData{}), + valueType(this,defaults.valueType,valueType), + start(this,defaults.start,start), + length(this,length) { *this = values; - this->length( length ); - this->start( start ); - this->valueType( valueType ); - Component::finish(); // ensure that construct() gets called } diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index 735990fed..fbce250a9 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -11,15 +11,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace containers { // ----------------------------------------------------------------------------- // containers:: // class XYs1d // ----------------------------------------------------------------------------- -namespace containers { - class XYs1d : public Component { friend class Component; @@ -27,7 +25,7 @@ class XYs1d : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "containers"; } static auto CLASS() { return "XYs1d"; } static auto FIELD() { return "XYs1d"; } @@ -54,7 +52,6 @@ class XYs1d : public Component { } public: - using Component::construct; // defaults @@ -63,18 +60,27 @@ class XYs1d : public Component { } defaults; // metadata - Field> index{this}; - Field> interpolation{this,defaults.interpolation}; - Field> label{this}; - Field> outerDomainValue{this}; + Field> index{this}; + Field> interpolation{this,defaults.interpolation}; + Field> label{this}; + Field> outerDomainValue{this}; + // children - Field> axes{this}; - Field values{this}; + Field> axes{this}; + Field values{this}; // ------------------------ // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->interpolation, \ + this->label, \ + this->outerDomainValue, \ + this->axes, \ + this->values) + // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) explicit XYs1d( @@ -85,57 +91,27 @@ class XYs1d : public Component { const wrapper> &axes = {}, const wrapper &values = {} ) : - Component{ - BlockData{}, - this->index, - this->interpolation, - this->label, - this->outerDomainValue, - this->axes, - this->values - }, - index(this,index,"index"), - interpolation(this,defaults.interpolation,interpolation,"interpolation"), - label(this,label,"label"), - outerDomainValue(this,outerDomainValue,"outerDomainValue"), - axes(this,axes,"axes"), - values(this,values,"values") + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + interpolation(this,defaults.interpolation,interpolation), + label(this,label), + outerDomainValue(this,outerDomainValue), + axes(this,axes), + values(this,values) { Component::finish(); } // from node XYs1d(const Node &node) : - Component{ - BlockData{}, - index, - interpolation, - label, - outerDomainValue, - axes, - values - }, - index(this,{},"index"), - interpolation(this,defaults.interpolation,{},"interpolation"), - label(this,{},"label"), - outerDomainValue(this,{},"outerDomainValue"), - axes(this,{},"axes"), - values(this,containers::Values{},"values") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy XYs1d(const XYs1d &other) : - Component{ - other.baseBlockData(), - index, - interpolation, - label, - outerDomainValue, - axes, - values - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -143,22 +119,14 @@ class XYs1d : public Component { // move XYs1d(XYs1d &&other) : - Component{ - other.baseBlockData(), - index, - interpolation, - label, - outerDomainValue, - axes, - values - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ XYs1d &operator=(const XYs1d &) = default; @@ -169,6 +137,7 @@ class XYs1d : public Component { // ------------------------ #include "GNDStk/v1.9/containers/XYs1d/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class XYs1d diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index 1bf63097c..0f6a77bd4 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -11,15 +11,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace transport { // ----------------------------------------------------------------------------- // transport:: // class CrossSection // ----------------------------------------------------------------------------- -namespace transport { - class CrossSection : public Component { friend class Component; @@ -32,7 +30,7 @@ class CrossSection : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "CrossSection"; } static auto FIELD() { return "crossSection"; } @@ -48,11 +46,10 @@ class CrossSection : public Component { } public: - using Component::construct; // children - variant - Field> XYs1d_regions1d{this}; + Field> XYs1d_regions1d{this}; FieldPart XYs1d{XYs1d_regions1d}; FieldPart regions1d{XYs1d_regions1d}; @@ -60,40 +57,31 @@ class CrossSection : public Component { // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d_regions1d) + // default, and from fields explicit CrossSection( const wrapper> &XYs1d_regions1d = {} ) : - Component{ - BlockData{}, - this->XYs1d_regions1d - }, - XYs1d_regions1d(this,XYs1d_regions1d,"XYs1d_regions1d"), - XYs1d(this->XYs1d_regions1d,"XYs1d"), - regions1d(this->XYs1d_regions1d,"regions1d") + GNDSTK_COMPONENT(BlockData{}), + XYs1d_regions1d(this,XYs1d_regions1d), + XYs1d(this->XYs1d_regions1d), + regions1d(this->XYs1d_regions1d) { Component::finish(); } // from node CrossSection(const Node &node) : - Component{ - BlockData{}, - XYs1d_regions1d - }, - XYs1d_regions1d(this,{},"XYs1d_regions1d"), - XYs1d(XYs1d_regions1d,"XYs1d"), - regions1d(XYs1d_regions1d,"regions1d") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy CrossSection(const CrossSection &other) : - Component{ - other.baseBlockData(), - XYs1d_regions1d - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -101,17 +89,14 @@ class CrossSection : public Component { // move CrossSection(CrossSection &&other) : - Component{ - other.baseBlockData(), - XYs1d_regions1d - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ CrossSection &operator=(const CrossSection &) = default; @@ -122,6 +107,7 @@ class CrossSection : public Component { // ------------------------ #include "GNDStk/v1.9/transport/CrossSection/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class CrossSection diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index d9491852f..629cd4362 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -10,15 +10,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace transport { // ----------------------------------------------------------------------------- // transport:: // class Reaction // ----------------------------------------------------------------------------- -namespace transport { - class Reaction : public Component { friend class Component; @@ -26,7 +24,7 @@ class Reaction : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "Reaction"; } static auto FIELD() { return "reaction"; } @@ -49,20 +47,26 @@ class Reaction : public Component { } public: - using Component::construct; // metadata - Field ENDF_MT{this}; - Field> fissionGenre{this}; - Field label{this}; + Field ENDF_MT{this}; + Field> fissionGenre{this}; + Field label{this}; + // children - Field crossSection{this}; + Field crossSection{this}; // ------------------------ // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MT, \ + this->fissionGenre, \ + this->label, \ + this->crossSection) + // default, and from fields explicit Reaction( const wrapper &ENDF_MT = {}, @@ -70,47 +74,25 @@ class Reaction : public Component { const wrapper &label = {}, const wrapper &crossSection = {} ) : - Component{ - BlockData{}, - this->ENDF_MT, - this->fissionGenre, - this->label, - this->crossSection - }, - ENDF_MT(this,ENDF_MT,"ENDF_MT"), - fissionGenre(this,fissionGenre,"fissionGenre"), - label(this,label,"label"), - crossSection(this,crossSection,"crossSection") + GNDSTK_COMPONENT(BlockData{}), + ENDF_MT(this,ENDF_MT), + fissionGenre(this,fissionGenre), + label(this,label), + crossSection(this,crossSection) { Component::finish(); } // from node Reaction(const Node &node) : - Component{ - BlockData{}, - ENDF_MT, - fissionGenre, - label, - crossSection - }, - ENDF_MT(this,{},"ENDF_MT"), - fissionGenre(this,{},"fissionGenre"), - label(this,{},"label"), - crossSection(this,{},"crossSection") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy Reaction(const Reaction &other) : - Component{ - other.baseBlockData(), - ENDF_MT, - fissionGenre, - label, - crossSection - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -118,20 +100,14 @@ class Reaction : public Component { // move Reaction(Reaction &&other) : - Component{ - other.baseBlockData(), - ENDF_MT, - fissionGenre, - label, - crossSection - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ Reaction &operator=(const Reaction &) = default; @@ -142,6 +118,7 @@ class Reaction : public Component { // ------------------------ #include "GNDStk/v1.9/transport/Reaction/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class Reaction diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index 54b3ec788..387794ef4 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -10,15 +10,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace transport { // ----------------------------------------------------------------------------- // transport:: // class ReactionSuite // ----------------------------------------------------------------------------- -namespace transport { - class ReactionSuite : public Component { friend class Component; @@ -26,7 +24,7 @@ class ReactionSuite : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "ReactionSuite"; } static auto FIELD() { return "reactionSuite"; } @@ -55,23 +53,32 @@ class ReactionSuite : public Component { } public: - using Component::construct; // metadata - Field evaluation{this}; - Field format{this}; - Field projectile{this}; - Field projectileFrame{this}; - Field target{this}; - Field> interaction{this}; + Field evaluation{this}; + Field format{this}; + Field projectile{this}; + Field projectileFrame{this}; + Field target{this}; + Field> interaction{this}; + // children - Field> reactions{this}; + Field> reactions{this}; // ------------------------ // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->evaluation, \ + this->format, \ + this->projectile, \ + this->projectileFrame, \ + this->target, \ + this->interaction, \ + this->reactions) + // default, and from fields explicit ReactionSuite( const wrapper &evaluation = {}, @@ -82,62 +89,28 @@ class ReactionSuite : public Component { const wrapper> &interaction = {}, const wrapper> &reactions = {} ) : - Component{ - BlockData{}, - this->evaluation, - this->format, - this->projectile, - this->projectileFrame, - this->target, - this->interaction, - this->reactions - }, - evaluation(this,evaluation,"evaluation"), - format(this,format,"format"), - projectile(this,projectile,"projectile"), - projectileFrame(this,projectileFrame,"projectileFrame"), - target(this,target,"target"), - interaction(this,interaction,"interaction"), - reactions(this,reactions,"reactions") + GNDSTK_COMPONENT(BlockData{}), + evaluation(this,evaluation), + format(this,format), + projectile(this,projectile), + projectileFrame(this,projectileFrame), + target(this,target), + interaction(this,interaction), + reactions(this,reactions) { Component::finish(); } // from node ReactionSuite(const Node &node) : - Component{ - BlockData{}, - evaluation, - format, - projectile, - projectileFrame, - target, - interaction, - reactions - }, - evaluation(this,{},"evaluation"), - format(this,{},"format"), - projectile(this,{},"projectile"), - projectileFrame(this,{},"projectileFrame"), - target(this,{},"target"), - interaction(this,{},"interaction"), - reactions(this,{},"reactions") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy ReactionSuite(const ReactionSuite &other) : - Component{ - other.baseBlockData(), - evaluation, - format, - projectile, - projectileFrame, - target, - interaction, - reactions - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -145,23 +118,14 @@ class ReactionSuite : public Component { // move ReactionSuite(ReactionSuite &&other) : - Component{ - other.baseBlockData(), - evaluation, - format, - projectile, - projectileFrame, - target, - interaction, - reactions - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ ReactionSuite &operator=(const ReactionSuite &) = default; @@ -172,6 +136,7 @@ class ReactionSuite : public Component { // ------------------------ #include "GNDStk/v1.9/transport/ReactionSuite/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class ReactionSuite diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index 3d52760dd..a7f279d51 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -10,15 +10,13 @@ namespace njoy { namespace GNDStk { namespace v1_9 { - +namespace transport { // ----------------------------------------------------------------------------- // transport:: // class Reactions // ----------------------------------------------------------------------------- -namespace transport { - class Reactions : public Component { friend class Component; @@ -26,7 +24,7 @@ class Reactions : public Component { // For Component // ------------------------ - // Names: this namespace, this class, a field / node of this type + // Names: this namespace, this class, a field/node of this type static auto NAMESPACE() { return "transport"; } static auto CLASS() { return "Reactions"; } static auto FIELD() { return "reactions"; } @@ -42,46 +40,38 @@ class Reactions : public Component { } public: - using Component::construct; // children - Field> reaction{this}; + Field> reaction{this}; // ------------------------ // Constructors // ------------------------ + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->reaction) + // default, and from fields explicit Reactions( const wrapper> &reaction = {} ) : - Component{ - BlockData{}, - this->reaction - }, - reaction(this,reaction,"reaction") + GNDSTK_COMPONENT(BlockData{}), + reaction(this,reaction) { Component::finish(); } // from node Reactions(const Node &node) : - Component{ - BlockData{}, - reaction - }, - reaction(this,{},"reaction") + GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); } // copy Reactions(const Reactions &other) : - Component{ - other.baseBlockData(), - reaction - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = other; Component::finish(other); @@ -89,17 +79,14 @@ class Reactions : public Component { // move Reactions(Reactions &&other) : - Component{ - other.baseBlockData(), - reaction - } + GNDSTK_COMPONENT(other.baseBlockData()) { *this = std::move(other); Component::finish(other); } // ------------------------ - // Assignment + // Assignment operators // ------------------------ Reactions &operator=(const Reactions &) = default; @@ -110,6 +97,7 @@ class Reactions : public Component { // ------------------------ #include "GNDStk/v1.9/transport/Reactions/src/custom.hpp" + #undef GNDSTK_COMPONENT }; // class Reactions From 94520538981180fa89ace77a49029ec8a2a070bd Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 15 Jun 2022 15:18:27 -0600 Subject: [PATCH 111/235] Small change, allowing for a reasonable diagnostic message if a certain name isn't known. This was important for the new generated-class Field system to work well, without carrying along a std::string (expensive!) in each class field. On the other hand, such a thing wouldn't necessarily be a memory hog in a well-designed library that mostly contained vectors and such - not a huge number of individual scalar fields. --- src/GNDStk/Component/src/detail-getter.hpp | 29 ++++++++++++++++------ 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/GNDStk/Component/src/detail-getter.hpp b/src/GNDStk/Component/src/detail-getter.hpp index 910afbd61..bce3d75c4 100644 --- a/src/GNDStk/Component/src/detail-getter.hpp +++ b/src/GNDStk/Component/src/detail-getter.hpp @@ -156,9 +156,10 @@ const T &getter( const std::vector &vec, const std::size_t &index, // for the Component-derived class: names of namespace, class, relevant field - const std::string &nname, const std::string &cname, const std::string &fname + const std::string &nname, const std::string &cname, const std::string &fn ) { static const std::string context = "getter {}::{}.{}({}) on vector"; + const std::string fname = fn != "" ? fn : ""; try { @@ -258,9 +259,10 @@ template const T &getter( const std::vector &vec, const std::string &label, - const std::string &nname, const std::string &cname, const std::string &fname + const std::string &nname, const std::string &cname, const std::string &fn ) { static const std::string context = "getter {}::{}.{}(\"{}\") on vector"; + const std::string fname = fn != "" ? fn : ""; try { const T *object = nullptr; @@ -326,8 +328,10 @@ template bool getter( const std::vector &vec, const Lookup &look, - const std::string &nname, const std::string &cname, const std::string &fname + const std::string &nname, const std::string &cname, const std::string &fn ) { + const std::string fname = fn != "" ? fn : ""; + try { for (auto &elem : vec) if constexpr (isVariant::value) { @@ -365,9 +369,10 @@ template const T &getter( const std::vector &vec, const Lookup &look, - const std::string &nname, const std::string &cname, const std::string &fname + const std::string &nname, const std::string &cname, const std::string &fn ) { static const std::string context = "getter {}::{}.{}({}({})) on vector"; + const std::string fname = fn != "" ? fn : ""; try { const T *object = nullptr; @@ -446,8 +451,10 @@ template auto getter( const std::vector &vec, const Lookup &look, - const std::string &nname, const std::string &cname, const std::string &fname + const std::string &nname, const std::string &cname, const std::string &fn ) { + const std::string fname = fn != "" ? fn : ""; + std::vector::type{})) >> ret; @@ -493,8 +500,10 @@ template< decltype(auto) getter( const std::optional> &optvec, const KEY &key, - const std::string &nname, const std::string &cname, const std::string &fname + const std::string &nname, const std::string &cname, const std::string &fn ) { + const std::string fname = fn != "" ? fn : ""; + try { // optional must have value if (!optvec.has_value()) { @@ -544,8 +553,10 @@ template< > const T *getter( const std::variant &var, - const std::string &nname, const std::string &cname, const std::string &fname + const std::string &nname, const std::string &cname, const std::string &fn ) { + const std::string fname = fn != "" ? fn : ""; + try { return std::holds_alternative(var) ? &std::get(var) @@ -571,8 +582,10 @@ template< const T *getter( const std::vector> &vecvar, const KEY &key, - const std::string &nname, const std::string &cname, const std::string &fname + const std::string &nname, const std::string &cname, const std::string &fn ) { + const std::string fname = fn != "" ? fn : ""; + try { return getter( // no , so it calls getter(generic vector); it isn't recursive From 6cd2ba71a069e4f7ff8e4be13e6440813d09f495 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 15 Jun 2022 23:55:41 -0600 Subject: [PATCH 112/235] Shortened some things. Improved some SFINAE. Added more comments, and did a bit of rearrangement. --- src/GNDStk/Component/src/detail-getter.hpp | 6 + src/GNDStk/Component/src/field.hpp | 137 +++++++++------------ src/GNDStk/utility.hpp | 3 + 3 files changed, 69 insertions(+), 77 deletions(-) diff --git a/src/GNDStk/Component/src/detail-getter.hpp b/src/GNDStk/Component/src/detail-getter.hpp index bce3d75c4..105ae2551 100644 --- a/src/GNDStk/Component/src/detail-getter.hpp +++ b/src/GNDStk/Component/src/detail-getter.hpp @@ -19,6 +19,9 @@ struct isVector> : public std::true_type { }; +template +using isVector_t = std::enable_if_t::value>; + // ------------------------ // isDefaulted // ------------------------ @@ -35,6 +38,9 @@ struct isDefaulted> : public std::true_type { }; +template +using isDefaulted_t = std::enable_if_t::value>; + // ------------------------ // isLookup // ------------------------ diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index efa1ff1d9..a682439d8 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -1,7 +1,7 @@ template class FieldPart { - // nothing; see the partial specialization later in this file + // Nothing; see the partial specialization later in this file }; // ----------------------------------------------------------------------------- @@ -10,13 +10,12 @@ class FieldPart { template class Field { - using PARENT = DERIVED; - friend PARENT; + friend DERIVED; template friend class FieldPart; - PARENT &parent; + DERIVED &parent; T value; public: @@ -25,30 +24,27 @@ class Field { // Constructors // ------------------------ - // because [PARENT &parent] would be wrong + // Because data member [DERIVED &parent] would be wrong Field(const Field &) = delete; Field(Field &&) = delete; - // These accept PARENT*, not PARENT&, so that we can write "this", + // These accept DERIVED*, not DERIVED&, so that we can write "this", // not "*this", where Field objects are constructed. - explicit Field(PARENT *const parent, const T &value = T{}) : + explicit Field(DERIVED *const parent, const T &value = T{}) : parent(*parent), value(value) { } - Field(PARENT *const parent, const Field &other) : + Field(DERIVED *const parent, const Field &other) : parent(*parent), value(other.value) { } - // if T == Defaulted - template< - class TEE = T, - class = std::enable_if_t::value>> + // If T == Defaulted + template> Field( - PARENT *const parent, - const typename TEE::value_type &def, + DERIVED *const parent, const typename TEE::value_type &def, const std::optional &value = {} ) : parent(*parent), @@ -60,25 +56,27 @@ class Field { // ------------------------ // () + // Return reference to value (which is of type T) const T &operator()() const { return value; } T &operator()() { return value; } - // conversion to T - // same as operator()() + // Conversion to T + // Same as operator()() operator const T &() const { return operator()(); } operator T &() { return operator()(); } - // if T == vector: (index/label/Lookup) - // get vector element + // If T == vector: (index/label/Lookup) + // Return reference to vector element (which is of type T::value_type, + // because T in this context is a vector). template< class KEY, class = detail::isSearchKey, - class TEE = T, class = std::enable_if_t::value>> + class TEE = T, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) const { return parent.getter(value, key); } template< class KEY, class = detail::isSearchKey, - class TEE = T, class = std::enable_if_t::value>> + class TEE = T, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) { return parent.getter(value, key); } @@ -87,39 +85,38 @@ class Field { // ------------------------ // (T) - PARENT &operator()(const T &other) + // Replace existing value with other value. + DERIVED &operator()(const T &other) { value = other; return parent; } - // if T == Defaulted: (std::optional) - template< - class TEE = T, - class = std::enable_if_t::value>> - PARENT &operator()(const std::optional &opt) + // If T == Defaulted: (std::optional) + // Replace existing Defaulted's value with the given optional value. + template> + DERIVED &operator()(const std::optional &opt) { value = opt; return parent; } - // if T == vector: (scalar) - // vector push_back - template< - class TEE = T, - class = std::enable_if_t::value>> - PARENT &operator()(const typename TEE::value_type &obj) + // If T == vector: (scalar) + // Add (via push_back) to this->value, which in this context is a vector. + template> + DERIVED &operator()(const typename TEE::value_type &obj) { parent.setter(value, obj); return parent; } // if T == vector: (index/label/Lookup, value) - // replace vector element + // Find the vector's element that has the given index, label, or Lookup, + // and replace it with the given replacement value. template< class KEY, class = detail::isSearchKeyRefReturn, - class TEE = T, class = std::enable_if_t::value>> - PARENT &operator()(const KEY &key, const typename TEE::value_type &obj) + class TEE = T, class = detail::isVector_t> + DERIVED &operator()(const KEY &key, const typename TEE::value_type &obj) { (*this)(key) = obj; return parent; @@ -151,8 +148,7 @@ class Field { template class FieldPart,PART> { - using FIELD = Field; - FIELD &field; + Field &field; public: @@ -160,15 +156,15 @@ class FieldPart,PART> { // Constructors // ------------------------ - // because [FIELD &field] would be wrong + // Because [Field &field] would be wrong FieldPart(const FieldPart &) = delete; FieldPart(FieldPart &&) = delete; - explicit FieldPart(FIELD &field) : + explicit FieldPart(Field &field) : field(field) { } - FieldPart(FIELD &field, const FieldPart &other) : + FieldPart(Field &field, const FieldPart &other) : field(field) { } @@ -178,17 +174,13 @@ class FieldPart,PART> { // ptr() // ------------------------ - template< - class TEE = T, - class = std::enable_if_t::value>> + template> const PART *ptr() const { return field.parent.template getter(field()); } - template< - class TEE = T, - class = std::enable_if_t::value>> + template> PART *ptr() { return field.parent.template getter(field()); @@ -200,17 +192,13 @@ class FieldPart,PART> { // operator()() // ------------------------ - template< - class TEE = T, - class = std::enable_if_t::value>> + template> const PART *operator()() const { return ptr(); } - template< - class TEE = T, - class = std::enable_if_t::value>> + template> PART *operator()() { return ptr(); @@ -223,17 +211,13 @@ class FieldPart,PART> { // Same as operator()() // ------------------------ - template< - class TEE = T, - class = std::enable_if_t::value>> + template> operator const PART *() const { return operator()(); } - template< - class TEE = T, - class = std::enable_if_t::value>> + template> operator PART *() { return operator()(); @@ -248,7 +232,7 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKey, - class TEE = T, class = std::enable_if_t::value>> + class TEE = T, class = detail::isVector_t> decltype(auto) ptr(const KEY &key) const { return field.parent.template getter(field(), key); @@ -256,7 +240,7 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKey, - class TEE = T, class = std::enable_if_t::value>> + class TEE = T, class = detail::isVector_t> decltype(auto) ptr(const KEY &key) { return field.parent.template getter(field(), key); @@ -271,7 +255,7 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKey, - class TEE = T, class = std::enable_if_t::value>> + class TEE = T, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) const { return ptr(key); @@ -279,7 +263,7 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKey, - class TEE = T, class = std::enable_if_t::value>> + class TEE = T, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) { return ptr(key); @@ -289,21 +273,19 @@ class FieldPart,PART> { // Setters // ------------------------ - // if T == variant: (value) - template< - class TEE = T, - class = std::enable_if_t::value>> + // If T == variant: (value) + template> DERIVED &operator()(const std::optional &obj) { if (obj) field(obj.value()); return field.parent; } - // if T == vector: (index/label/Lookup, value) - // replace vector element + // If T == vector: (index/label/Lookup, value) + // Replace vector element. template< class KEY, class = detail::isSearchKeyRefReturn, - class TEE = T, class = std::enable_if_t::value>> + class TEE = T, class = detail::isVector_t> DERIVED &operator()(const KEY &key, const std::optional &obj) { if (obj) field(key,obj.value()); @@ -314,19 +296,15 @@ class FieldPart,PART> { // Assignment // ------------------------ - // intentional: don't assign [referenced] field; doing so would be wrong + // Intentional: don't assign [referenced] field; doing so would be wrong FieldPart &operator=(const FieldPart &other) { return *this; } FieldPart &operator=(FieldPart &&other) { return *this; } }; // class FieldPart // ----------------------------------------------------------------------------- -// Helpers -// ----------------------------------------------------------------------------- - -// ------------------------ // wrapper -// ------------------------ +// ----------------------------------------------------------------------------- template struct wrapper { @@ -355,12 +333,17 @@ struct wrapper { operator T &() { return value; } }; + +// ----------------------------------------------------------------------------- +// Helpers +// ----------------------------------------------------------------------------- + +private: + // ------------------------ // fieldAddress // ------------------------ -private: - template void *fieldAddress(T &value) { diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index a5e18880b..bec963da0 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -523,6 +523,9 @@ class isVariant> { static constexpr bool value = true; }; +template +using isVariant_t = std::enable_if_t::value>; + // ------------------------ // isAlternative // ------------------------ From 9c783f0a1cd48a8d6ae2741acb18eb6cbd734306 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 16 Jun 2022 16:11:26 -0600 Subject: [PATCH 113/235] Updating generated code. --- src/GNDStk/v1.9/containers/Axes.hpp | 4 +--- src/GNDStk/v1.9/containers/Grid.hpp | 6 ++---- src/GNDStk/v1.9/containers/Values.hpp | 4 ++-- src/GNDStk/v1.9/transport/CrossSection.hpp | 4 +--- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index 0c2effe2e..ddde0bed8 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -74,9 +74,7 @@ class Axes : public Component { ) : GNDSTK_COMPONENT(BlockData{}), href(this,href), - axis_grid(this,axis_grid), - axis(this->axis_grid), - grid(this->axis_grid) + axis_grid(this,axis_grid) { Component::finish(); } diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index 339bb950c..a53c1857c 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -66,7 +66,7 @@ class Grid : public Component { // metadata Field> index{this}; - Field> interpolation{this,Defaults::interpolation}; + Field> interpolation{this,defaults.interpolation}; Field> label{this}; Field> style{this}; Field> unit{this}; @@ -104,9 +104,7 @@ class Grid : public Component { label(this,label), style(this,style), unit(this,unit), - link_values(this,link_values), - values(this->link_values), - link(this->link_values) + link_values(this,link_values) { Component::finish(); } diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index 75200a756..bbb94caae 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -54,8 +54,8 @@ class Values : public Component { } defaults; // metadata - mutable Field> valueType{this,Defaults::valueType}; - mutable Field> start{this,Defaults::start}; + mutable Field> valueType{this,defaults.valueType}; + mutable Field> start{this,defaults.start}; mutable Field> length{this}; // ------------------------ diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index 0f6a77bd4..e0655f595 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -65,9 +65,7 @@ class CrossSection : public Component { const wrapper> &XYs1d_regions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), - XYs1d_regions1d(this,XYs1d_regions1d), - XYs1d(this->XYs1d_regions1d), - regions1d(this->XYs1d_regions1d) + XYs1d_regions1d(this,XYs1d_regions1d) { Component::finish(); } From f96a2893593e30f98c4f494fb538fbe647c2571a Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 16 Jun 2022 16:13:13 -0600 Subject: [PATCH 114/235] Major update to code generator. It now generates classes that use the new system. --- autogen/json2class.cpp | 427 +++++++++++------------------------------ 1 file changed, 107 insertions(+), 320 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 9f937acdf..dfa1f1f05 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -848,17 +848,17 @@ int writer::recurse = 0; // Class prefix void writeClassPrefix(writer &out, const PerClass &per) { + // namespace + out("namespace @ {", per.nsname); + // comment introducing class out(); - out(); out(largeComment); out("// @::", per.nsname); out("// class @", per.clname); out(largeComment); - // namespace+class begin - out(); - out("namespace @ {", per.nsname); + // class begin out(); out("class @ : public Component<@::@@> {", // A namespace prefix in Component<> prevents possible ambiguities with @@ -872,6 +872,7 @@ void writeClassPrefix(writer &out, const PerClass &per) ? (",true" + (per.dataType == "" ? "" : "," + per.dataType)) : "" ); + out(1,"friend class Component;"); } // writeClassPrefix @@ -894,8 +895,6 @@ void writeClassForComponent(writer &out, const PerClass &per) out(1,"// For Component"); out(1,smallComment); out(); - out(1,"friend class Component;"); - out(); out(1,"// Names: this namespace, this class, a field/node of this type"); out(1,"static auto NAMESPACE() { return \"@\"; }", per.nsname); out(1,"static auto CLASS() { return \"@\"; }", per.clname); @@ -958,13 +957,10 @@ void writeClassSuffix( // assignment out(); out(1,smallComment); - out(1,"// Assignment"); + out(1,"// Assignment operators"); out(1,smallComment); out(); - out(1,"// copy"); out(1,"@ &operator=(const @ &) = default;", per.clname, per.clname); - out(); - out(1,"// move"); out(1,"@ &operator=(@ &&) = default;", per.clname, per.clname); // customization #include @@ -976,6 +972,9 @@ void writeClassSuffix( out(1,"#include \"@/@/@/@/src/custom.hpp\"", specs.Project, specs.Version, per.nsname, per.clname); + // this *follows* the customization #include (because it might be used there) + out(1,"#undef GNDSTK_COMPONENT"); + // class+namespace end out(); out("}; // class @", per.clname); @@ -993,226 +992,49 @@ void writeClassSuffix( // writeClassContentMetadata void writeClassContentMetadata(writer &out, const PerClass &per) { - if (per.metadata.size()) - out(2,"// metadata"); + if (per.metadata.size()) { + out(); + out(1,"// metadata"); + } + for (const auto &m : per.metadata) { per.isData && ( m.name == "length" || m.name == "start" || m.name == "valueType") - ? out(2,"mutable @ @", m.typeFull, m.name, false) - : out(2, "@ @", m.typeFull, m.name, false); + ? out(1,"mutable Field<@> @{this", m.typeFull, m.name, false) + : out(1, "Field<@> @{this", m.typeFull, m.name, false); if (m.defaultValue != "") - out("{@}", initializer(m), false); - out(";"); + out(",defaults.@", m.name, false); + out("};"); } + } // writeClassContentChildren void writeClassContentChildren(writer &out, const PerClass &per) { - if (per.children.size()) - out(2,"// children"); + if (per.children.size()) { + out(); + out(1,"// children"); + } for (const auto &c : per.children) - out(2,"@ @;", c.typeFull, c.name); + out(1,"Field<@> @{this};", c.typeFull, c.name); } // writeClassContentVariants void writeClassContentVariants(writer &out, const PerClass &per) { - if (per.variants.size()) - out(2,"// children - variant"); - for (const auto &v : per.variants) - out(2,"@ @;", v.typeFull, v.name); -} - - - -// ----------------------------------------------------------------------------- -// writeClassGetters -// ----------------------------------------------------------------------------- - -void writeClassGetters(writer &out, const PerClass &per) -{ - out(); - out(1,smallComment); - out(1,"// Getters"); - out(1,"// const and non-const"); - out(1,smallComment); - - const auto write = - [&out](auto &&i, const bool isVector) - { - // i: info for metadatum, child, or variant - out(); - out(1,"// @", i.name); - out(1,"const @ &@() const", i.typeFull, i.name); - out(2,"{ return Content.@; }", i.name); - out(1, "@ &@()", i.typeFull, i.name); - out(2,"{ return Content.@; }", i.name); - - if (isVector) { - out(); - out(1,"// @(index/label/Lookup)", i.name); - out(1,"template>"); - out(1,"decltype(auto) @(const KEY &key) const", i.name); - out(2, "{ return getter(@(), key, \"@\"); }", i.name, i.name); - out(1,"template>"); - out(1,"decltype(auto) @(const KEY &key)", i.name); - out(2, "{ return getter(@(), key, \"@\"); }", i.name, i.name); - } - }; - - // metadata, children, variants - for (const auto &m : per.metadata) write(m, false); - for (const auto &c : per.children) write(c, c.isVector); - for (const auto &v : per.variants) write(v, v.isVector); - - // variant alternatives - for (const auto &v : per.variants) { - for (const auto &c : v.children) { - if (v.isVector) { - out(); - out(1,"// @(index/label/Lookup)", c.name); - out(1,"template>"); - out(1,"decltype(auto) @(const KEY &key) const", c.name); - out(2, "{ return getter<@>(@(), key, \"@\"); }", - c.type, v.name, c.name); - out(1,"template>"); - out(1,"decltype(auto) @(const KEY &key)", c.name); - out(2, "{ return getter<@>(@(), key, \"@\"); }", - c.type, v.name, c.name); - } else { - out(); - out(1,"// @", c.name); - out(1,"const @ *@() const", c.type, c.name); - out(2,"{ return getter<@>(@(), \"@\"); }", c.type, v.name, c.name); - out(1, "@ *@()", c.type, c.name); - out(2,"{ return getter<@>(@(), \"@\"); }", c.type, v.name, c.name); - } - } - } -} // writeClassGetters - - - -// ----------------------------------------------------------------------------- -// writeClassSetter* -// ----------------------------------------------------------------------------- - -// writeClassSetterChild -template // InfoChildren or InfoVariants -void writeClassSetterChild( - writer &out, const PerClass &parent, const INFO &child -) { - // setter - // note that if type is optional, a T can still be sent - out(); - if (child.isVector) - out(1,"// @(vector): replace vector", child.name); - else - out(1,"// @(value)", child.name); - out(1,"@ &@(const @ &obj)", parent.clname, child.name, child.typeFull); - out(2,"{ @() = obj; return *this; }", child.name); - - // if vector or optional - if (child.isVector) { - // push vector element - out(); - out(1,"// @(scalar): vector push_back", child.name); - out(1,"@ &@(const @ &obj)", parent.clname, child.name, child.type); - out(2,"{ setter(@(), obj); return *this; }", child.name); - - // replace one vector value - out(); - out(1,"// @(index/label/Lookup, value): replace vector entry", - child.name); - out(1,"template>"); - out(1,"@ &@(const KEY &key, const @ &obj)", - parent.clname, child.name, child.type); - out(1,"{"); - out(2, "@(key) = obj; return *this;", - child.name); - out(1,"}"); - } -} // writeClassSetterChild - - -// writeClassSetters -void writeClassSetters(writer &out, const PerClass &per) -{ - out(); - out(1,smallComment); - out(1,"// Setters"); - out(1,"// non-const"); - out(1,"// All return *this"); - out(1,smallComment); - - // Reminder: - // metadata can have: optional, defaulted (but not vector) - // children can have: optional, vector (but not defaulted) - - // metadata - for (const auto &m : per.metadata) { + if (per.variants.size()) { out(); - out(1,"// @(value)", m.name); - - // special cases: we want to send length, start, and valueType - // to the BlockData base as well - const bool special = - per.isData && - (m.name == "length" || m.name == "start" || m.name == "valueType"); - - // setter - // note that if type is optional, a T can still be sent - out(1,"@ &@(const @ &obj)", per.clname, m.name, m.typeFull); - - special - ? out(2,"{ BlockData::@(@() = obj); return *this; }", m.name, m.name) - : out(2,"{ @() = obj; return *this; }", m.name); - - // setter, if type is Defaulted - if (m.isDefaulted) { - out(1,"@ &@(const std::optional<@> &obj)", per.clname, m.name, m.type); - special - ? out(2,"{ BlockData::@(@() = obj); return *this; }", m.name, m.name) - : out(2,"{ @() = obj; return *this; }", m.name); - } + out(1,"// children - variant"); } - - // children, variants - for (const auto &c : per.children) writeClassSetterChild(out, per, c); - for (const auto &v : per.variants) writeClassSetterChild(out, per, v); - - // variant alternatives for (const auto &v : per.variants) { - if (v.isVector) { - // choice is a vector - for (const auto &c : v.children) { - // replace one vector value - out(); - out(1,"// @(index/label/Lookup, value): replace vector entry", - c.name); - out(1,"template>"); - out(1,"@ &@(", per.clname, c.name); - out(2, "const KEY &key,"); - out(2, "const std::optional<@> &obj", c.type); - out(1,") {"); - out(2, "if (obj) @(key,obj.value());", v.name); - out(2, "return *this;"); - out(1,"}"); - } - } else { - // choice is a variant - for (const auto &c : v.children) { - out(); - out(1,"// @(value)", c.name); - out(1,"@ &@(const std::optional<@> &obj)", - per.clname, c.name, c.type); - out(2,"{ if (obj) @(obj.value()); return *this; }", v.name); - } + out(1,"Field<@> @{this};", v.typeFull, v.name); + for (const auto &c : v.children) { + out(1,"FieldPart @{@};", + v.name, c.type, c.name, v.name); } } -} // writeClassSetters +} @@ -1222,36 +1044,25 @@ void writeClassSetters(writer &out, const PerClass &per) // writeClassCtorComponent void writeClassCtorComponent( - writer &out, const PerClass &per, const bool copyOrMove + writer &out, const PerClass &per, const bool copyOrMove, + const bool newline = true ) { - out(2,"Component{"); - out(3, copyOrMove ? "other.baseBlockData()" : "BlockData{}", false); - - for (const auto &m : per.metadata) { // metadata - out(","); - out(3,"this->@()", m.name, false); - } - for (const auto &c : per.children) { // children - out(","); - out(3,"this->@()", c.name, false); - } - for (const auto &v : per.variants) { // variants - out(","); - out(3,"this->@()", v.name, false); - } - - out(); - out(2,"}",false); -} // writeClassCtorComponent + out(2,"GNDSTK_COMPONENT(@)", + std::string(copyOrMove ? "other.baseBlockData()" : "BlockData{}"), + newline); +} // writeClassCtorBody -void writeClassCtorBody(writer &out, const std::string &argName) -{ +void writeClassCtorBody( + writer &out, const std::string &line, const std::string &argName +) { out(1,"{"); + if (line != "") + out(2,line); out(2,"Component::finish(@);", argName); out(1,"}"); -} // writeClassCtorBody +} // writeClassCtors @@ -1269,8 +1080,20 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// default"); out(1,"@() :", per.clname); writeClassCtorComponent(out, per, false); - out(); } else { + int count = 0; + + // macro + out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata, \\"); + for (const auto &m : per.metadata) + out(2,"this->@@", m.name, ++count < total ? ", \\" : ")"); + for (const auto &c : per.children) + out(2,"this->@@", c.name, ++count < total ? ", \\" : ")"); + for (const auto &v : per.variants) + out(2,"this->@@", v.name, ++count < total ? ", \\" : ")"); + + // comment for this constructor + out(); out(1,"// default, and from fields"); // informational message, if applicable @@ -1282,70 +1105,41 @@ void writeClassCtors(writer &out, const PerClass &per) } // signature, and base constructor call - int count = 0; + count = 0; out(1,"explicit @(", per.clname); - for (const auto &m : per.metadata) { - const std::string type = - m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull; - out(2,"const @ &@ =", type, m.name); - out(3,"@{}@", type, ++count < total ? "," : ""); - } - for (const auto &c : per.children) { - out(2,"const @ &@ =", c.typeFull, c.name); - out(3,"@{}@", c.typeFull, ++count < total ? "," : ""); - } - for (const auto &v : per.variants) { - out(2,"const @ &@ =", v.typeFull, v.name); - out(3,"@{}@", v.typeFull, ++count < total ? "," : ""); - } + for (const auto &m : per.metadata) + out(2,"const wrapper<@> &@ = {}@", + m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull, + m.name, ++count < total ? "," : ""); + for (const auto &c : per.children) + out(2,"const wrapper<@> &@ = {}@", + c.typeFull, c.name, ++count < total ? "," : ""); + for (const auto &v : per.variants) + out(2,"const wrapper<@> &@ = {}@", + v.typeFull, v.name, ++count < total ? "," : ""); out(1,") :"); - writeClassCtorComponent(out, per, false); + writeClassCtorComponent(out, per, false, false); // initialize fields out(","); - out(2,"Content{"); count = 0; for (const auto &m : per.metadata) - out(3,"@@", - m.isDefaulted - ? "Defaulted<"+m.type+">(defaults."+m.name+","+m.name+")" - : m.name, - ++count < total ? "," : ""); + if (m.isDefaulted) + out(2,"@(this,defaults.@,@)@", + m.name, m.name, m.name, ++count < total ? "," : ""); + else + out(2,"@(this,@)@", + m.name, m.name, ++count < total ? "," : ""); for (const auto &c : per.children) - out(3,"@@", c.name, ++count < total ? "," : ""); + out(2,"@(this,@)@", c.name, c.name, ++count < total ? "," : ""); for (const auto &v : per.variants) - out(3,"@@", v.name, ++count < total ? "," : ""); - out(2,"}"); + out(2,"@(this,@)@", v.name, v.name, ++count < total ? "," : ""); } // body - writeClassCtorBody(out, ""); - - // ------------------------ - // ctor: copy - // ------------------------ - - out(); - out(1,"// copy"); - out(1,"@(const @ &other) :", per.clname, per.clname); - writeClassCtorComponent(out, per, true); - out(","); - out(2,"Content{other.Content}"); - writeClassCtorBody(out, "other"); - - // ------------------------ - // ctor: move - // ------------------------ - - out(); - out(1,"// move"); - out(1,"@(@ &&other) :", per.clname, per.clname); - writeClassCtorComponent(out, per, true); - out(","); - out(2,"Content{std::move(other.Content)}"); - writeClassCtorBody(out, "other"); + writeClassCtorBody(out, "", ""); // ------------------------ // ctor: node @@ -1355,8 +1149,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// from node"); out(1,"@(const Node &node) :", per.clname); writeClassCtorComponent(out, per, false); - out(); - writeClassCtorBody(out, "node"); + writeClassCtorBody(out, "", "node"); // ------------------------ // ctor: vector @@ -1369,9 +1162,28 @@ void writeClassCtors(writer &out, const PerClass &per) "std::enable_if_t>>"); out(1,"@(const std::vector &vector) :", per.clname); writeClassCtorComponent(out, per, false); - out(); - writeClassCtorBody(out, "vector"); + writeClassCtorBody(out, "", "vector"); } + + // ------------------------ + // ctor: copy + // ------------------------ + + out(); + out(1,"// copy"); + out(1,"@(const @ &other) :", per.clname, per.clname); + writeClassCtorComponent(out, per, true); + writeClassCtorBody(out, "*this = other;", "other"); + + // ------------------------ + // ctor: move + // ------------------------ + + out(); + out(1,"// move"); + out(1,"@(@ &&other) :", per.clname, per.clname); + writeClassCtorComponent(out, per, true); + writeClassCtorBody(out, "*this = std::move(other);", "other"); } // writeClassCtors @@ -1393,7 +1205,6 @@ void writeClass(PerClass &per, const InfoSpecs &specs) writeClassForComponent(out, per); // output: using directives - out(); out(1,"using Component::construct;"); if (per.isData) out(1,"using BlockData::operator=;"); @@ -1405,11 +1216,7 @@ void writeClass(PerClass &per, const InfoSpecs &specs) ++ndefaults; if (ndefaults > 0) { out(); - out(1,smallComment); - out(1,"// Relevant defaults"); - out(1,"// FYI for users"); - out(1,smallComment); - out(); + out(1,"// defaults"); out(1,"static inline const struct Defaults {"); for (auto &m : per.metadata) if (m.isDefaulted) @@ -1418,23 +1225,10 @@ void writeClass(PerClass &per, const InfoSpecs &specs) out(1,"} defaults;"); } - // output: struct Content (for the metadata/children computed earlier) - out(); - out(1,smallComment); - out(1,"// Raw GNDS content"); - out(1,smallComment); - out(); - out(1,"struct {"); + // output: fields writeClassContentMetadata(out, per); writeClassContentChildren(out, per); writeClassContentVariants(out, per); - out(1,"} Content;"); - - // output: getters, setters - if (per.metadata.size() || per.children.size() || per.variants.size()) { - writeClassGetters(out, per); - writeClassSetters(out, per); - } // output: constructors out(); @@ -2102,7 +1896,8 @@ void fileGNDStkClass( out("#define @", guard); out(); - out("#include \"@/@/key.hpp\"", specs.Project, specs.Version); + if (c2d.dependencies.size() == 0) // <== otherwise, comes in through deps + out("#include \"@/@/key.hpp\"", specs.Project, specs.Version); for (const auto &dep : c2d.dependencies) out("#include \"@/@/@/@.hpp\"", specs.Project, specs.Version, dep.nsname, dep.clname); @@ -2330,7 +2125,7 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) m.isDefaulted ? out(3,"[](const Component &self) { return self.@().value(); },", m.name) - : out(3,"&Component::@,", + : out(3,"[](const Component &self) { return self.@(); },", m.name); out(3,"Component::documentation(\"@\").data()", pyname); out(2,")"); @@ -2340,11 +2135,7 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) const auto pyname = namePython(c.name); out(2,".def_property_readonly("); out(3,"\"@\",", pyname); - if (c.isVector) { - out(3,"(const @ &(Component::*)() const)", c.typeFull); - out(4,"&Component::@,", c.name); - } else - out(3,"python::overload_cast<>(&Component::@),", c.name); + out(3,"[](const Component &self) { return self.@(); },", c.name); out(3,"Component::documentation(\"@\").data()", pyname); out(2,")"); } @@ -2355,18 +2146,14 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) const auto pyname = namePython(c.name); out(2,".def_property_readonly("); out(3,"\"@\",", pyname); - out(3,"python::overload_cast<>(&Component::@),", c.name); + out(3,"[](const Component &self) { return self.@(); },", c.name); out(3,"Component::documentation(\"@\").data()", pyname); out(2,")"); } const auto pyname = namePython(v.name); out(2,".def_property_readonly("); out(3,"\"@\",", pyname); - if (v.isVector) { - out(3,"(const @ &(Component::*)() const)", v.typeFull); - out(4,"&Component::@,", v.name); - } else - out(3,"python::overload_cast<>(&Component::@),", v.name); + out(3,"[](const Component &self) { return self.@(); },", v.name); out(3,"Component::documentation(\"@\").data()", pyname); out(2,")"); } From 057485b64dd80b891e57c3a1f0be4d6077fed89f Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 16 Jun 2022 17:17:52 -0600 Subject: [PATCH 115/235] Temporary fix for broken HighFive library master branch. :-/ --- src/GNDStk/convert/src/detail-hdf52node.hpp | 34 +++++++++++++-------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index d16516d41..cc7003d28 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -26,11 +26,17 @@ bool attr2node(const HighFive::Attribute &attr, NODE &node) const std::size_t attrSize = attr.getSpace().getElementCount(); // Scalar case. Includes bool. - if (attrSize == 1) { - T scalar; - attr.read(scalar); - node.add(attrName,scalar); - return true; + // fixme. ...or doesn't include bool. 2022-06-16, the current HighFive + // master appears to have broken HighFive's bool support, so I've + // if-constexpr'd it out here. We're not dealing with bool in the test + // suite at this time, so this is fine, at least for now. + if constexpr (!std::is_same_v) { + if (attrSize == 1) { + T scalar; + attr.read(scalar); + node.add(attrName,scalar); + return true; + } } // Vector case. EXcludes bool, as HighFive (perhaps HDF5 in general?) @@ -97,13 +103,17 @@ bool dset2node(const HighFive::DataSet &dset, NODE &node) // Remarks as in the similar helper function attr2node() const std::size_t dataSize = dset.getElementCount(); - if (dataSize == 1) { - T scalar; - dset.read(scalar); - node.name == special::pcdata - ? node.add(special::text,scalar) - : node.add(special::pcdata).add(special::text,scalar); - return true; + // See earlier fixme. bool support is removed for now, because it appears + // to be broken in the latest HighFive. + if constexpr (!std::is_same_v) { + if (dataSize == 1) { + T scalar; + dset.read(scalar); + node.name == special::pcdata + ? node.add(special::text,scalar) + : node.add(special::pcdata).add(special::text,scalar); + return true; + } } if constexpr (!std::is_same_v) { From 9c9bcfb4039c17e26c0b03562b3292644f3b9b64 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 16 Jun 2022 19:11:40 -0600 Subject: [PATCH 116/235] Shortened some things. --- autogen/json2class.cpp | 32 ++++++++++-------- .../Test_GNDStk_v1_9_containers_Axis.pyc | Bin 2014 -> 2014 bytes .../Test_GNDStk_v1_9_containers_Grid.pyc | Bin 2988 -> 2988 bytes .../Test_GNDStk_v1_9_containers_Link.pyc | Bin 1796 -> 1796 bytes .../Test_GNDStk_v1_9_containers_Values.pyc | Bin 3765 -> 3765 bytes 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index dfa1f1f05..1b51f118b 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -333,6 +333,11 @@ std::string getTimes(const orderedJSON &value) : value[occurrence]; } +std::string sep(int &count, const int total) +{ + return ++count < total ? "," : ""; +} + // ----------------------------------------------------------------------------- // name* functions @@ -886,7 +891,7 @@ void writeClassForComponent(writer &out, const PerClass &per) out(1,"using @ = std::variant<", v.type); int count = 0, total = v.children.size(); for (const auto &c : v.children) - out(2,"@@", c.type, ++count == total ? "" : ","); + out(2,"@@", c.type, sep(count,total)); out(1,">;"); } @@ -1073,7 +1078,7 @@ void writeClassCtors(writer &out, const PerClass &per) // and from fields // ------------------------ - const auto total = per.nfields(); + const int total = per.nfields(); out(); if (total == 0) { @@ -1111,13 +1116,13 @@ void writeClassCtors(writer &out, const PerClass &per) for (const auto &m : per.metadata) out(2,"const wrapper<@> &@ = {}@", m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull, - m.name, ++count < total ? "," : ""); + m.name, sep(count,total)); for (const auto &c : per.children) out(2,"const wrapper<@> &@ = {}@", - c.typeFull, c.name, ++count < total ? "," : ""); + c.typeFull, c.name, sep(count,total)); for (const auto &v : per.variants) out(2,"const wrapper<@> &@ = {}@", - v.typeFull, v.name, ++count < total ? "," : ""); + v.typeFull, v.name, sep(count,total)); out(1,") :"); writeClassCtorComponent(out, per, false, false); @@ -1128,14 +1133,13 @@ void writeClassCtors(writer &out, const PerClass &per) for (const auto &m : per.metadata) if (m.isDefaulted) out(2,"@(this,defaults.@,@)@", - m.name, m.name, m.name, ++count < total ? "," : ""); + m.name, m.name, m.name, sep(count,total)); else - out(2,"@(this,@)@", - m.name, m.name, ++count < total ? "," : ""); + out(2,"@(this,@)@", m.name, m.name, sep(count,total)); for (const auto &c : per.children) - out(2,"@(this,@)@", c.name, c.name, ++count < total ? "," : ""); + out(2,"@(this,@)@", c.name, c.name, sep(count,total)); for (const auto &v : per.variants) - out(2,"@(this,@)@", v.name, v.name, ++count < total ? "," : ""); + out(2,"@(this,@)@", v.name, v.name, sep(count,total)); } // body @@ -2066,7 +2070,7 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) out(1,"using @ = std::variant<", v.type); int count = 0, total = v.children.size(); for (const auto &c : v.children) - out(2, "@@", c.type, ++count == total ? "" : ","); + out(2, "@@", c.type, sep(count,total)); out(1,">;"); } @@ -2088,11 +2092,11 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) for (auto &m : per.metadata) out(4,"const @ &@", m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull, - ++count < total ? "," : ""); + sep(count,total)); for (auto &c : per.children) - out(4,"const @ &@", c.typeFull, ++count < total ? "," : ""); + out(4,"const @ &@", c.typeFull, sep(count,total)); for (auto &v : per.variants) - out(4,"const @ &@", v.typeFull, ++count < total ? "," : ""); + out(4,"const @ &@", v.typeFull, sep(count,total)); out(3,">(),"); for (auto &m : per.metadata) out(3,"python::arg(\"@\")@,", diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.pyc b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.pyc index bb866d144f3137a5f178c1044421cc2eb5c4b884..88af1c59e16e641965d263a368bc906d0bd3ab25 100644 GIT binary patch delta 16 Ycmcb|e~+J?`7h($ delta 16 Ycmcb|e~+J?`7;m@YWM1m?0?w+EdT}t delta 16 XcmZqSYvE&O{>;l&aBlfV_P=ZZE64@e diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.pyc b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.pyc index 3e847ee18a4fcde9ae297b651419c47d1834a1be..cbcaa7ea80e805dcafc9ee0d8ac8e19daf469785 100644 GIT binary patch delta 16 YcmdlgyH%E*`7 Date: Sun, 19 Jun 2022 00:11:20 -0600 Subject: [PATCH 117/235] Some work mostly in Component's field.hpp. Work-in-progress. --- src/GNDStk/Component/src/detail-getter.hpp | 19 ++ src/GNDStk/Component/src/field.hpp | 167 ++++++++++++------ .../v1.9/containers/Grid/test/Grid.test.cpp | 16 +- 3 files changed, 137 insertions(+), 65 deletions(-) diff --git a/src/GNDStk/Component/src/detail-getter.hpp b/src/GNDStk/Component/src/detail-getter.hpp index 105ae2551..988f61af6 100644 --- a/src/GNDStk/Component/src/detail-getter.hpp +++ b/src/GNDStk/Component/src/detail-getter.hpp @@ -22,6 +22,25 @@ struct isVector> template using isVector_t = std::enable_if_t::value>; +// ------------------------ +// isVectorVariant +// ------------------------ + +// general +template +struct isVectorVariant + : public std::false_type +{ }; + +// for std::vector> +template +struct isVectorVariant,Alloc>> + : public std::true_type +{ }; + +template +using isVectorVariant_t = std::enable_if_t::value>; + // ------------------------ // isDefaulted // ------------------------ diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index a682439d8..36127834b 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -28,8 +28,8 @@ class Field { Field(const Field &) = delete; Field(Field &&) = delete; - // These accept DERIVED*, not DERIVED&, so that we can write "this", - // not "*this", where Field objects are constructed. + // The following accept DERIVED*, not DERIVED&, so that we can write "this", + // not "*this", where Field objects are constructed. It's just a bit shorter. explicit Field(DERIVED *const parent, const T &value = T{}) : parent(*parent), @@ -61,11 +61,12 @@ class Field { T &operator()() { return value; } // Conversion to T - // Same as operator()() - operator const T &() const { return operator()(); } - operator T &() { return operator()(); } + // Same as () + operator const T &() const { return (*this)(); } + operator T &() { return (*this)(); } - // If T == vector: (index/label/Lookup) + // (index/label/Lookup) + // If T == vector // Return reference to vector element (which is of type T::value_type, // because T in this context is a vector). template< @@ -85,14 +86,15 @@ class Field { // ------------------------ // (T) - // Replace existing value with other value. + // Replace existing value with another value. DERIVED &operator()(const T &other) { value = other; return parent; } - // If T == Defaulted: (std::optional) + // (std::optional) + // If T == Defaulted // Replace existing Defaulted's value with the given optional value. template> DERIVED &operator()(const std::optional &opt) @@ -101,7 +103,8 @@ class Field { return parent; } - // If T == vector: (scalar) + // (scalar) + // If T == vector // Add (via push_back) to this->value, which in this context is a vector. template> DERIVED &operator()(const typename TEE::value_type &obj) @@ -110,7 +113,8 @@ class Field { return parent; } - // if T == vector: (index/label/Lookup, value) + // (index/label/Lookup, value) + // if T == vector // Find the vector's element that has the given index, label, or Lookup, // and replace it with the given replacement value. template< @@ -146,9 +150,30 @@ class Field { // FieldPart // ----------------------------------------------------------------------------- -template -class FieldPart,PART> { - Field &field; +template +class FieldPart,PART> { + Field &field; + + // zzz I think it's always the case that WHOLE is either a variant + // or a vector. + static_assert( + detail::isVariant::value || detail::isVectorVariant::value, + /* + detail::isVectorVariant::value, + /////////detail::isVariant::value, + */ + "FieldPart,PART>: " + "WHOLE must be std::variant or std::vector" + ); + + // zzz Below, we're working on dealing with ptr(), error messages, + // etc. In those places, in addition to the other work, and in + // general in this file, let's see if it's possible to minimize + // or eliminate auto/decltype(auto). I'm thinking that there was + // a good reason I originally wrote it - perhaps returns can end + // up being by-value or by-reference, depending on the situation - + // but let's review this nonetheless. And be sure we get reference + // returns in those cases where we're returning *ptr. public: @@ -156,83 +181,109 @@ class FieldPart,PART> { // Constructors // ------------------------ - // Because [Field &field] would be wrong + // Because [Field &field] would be wrong FieldPart(const FieldPart &) = delete; FieldPart(FieldPart &&) = delete; - explicit FieldPart(Field &field) : + explicit FieldPart(Field &field) : field(field) { } - FieldPart(Field &field, const FieldPart &other) : + // zzz Wait, is the following ever used...? + FieldPart(Field &field, const FieldPart &other) : field(field) { } // ------------------------ // Getters: - // For T == variant - // ptr() + // For WHOLE == variant // ------------------------ - template> + // ptr() + // Get as PART * + template> const PART *ptr() const { return field.parent.template getter(field()); } - template> + template> PART *ptr() { return field.parent.template getter(field()); } - // ------------------------ - // Getters: - // For T == variant - // operator()() - // ------------------------ + // ref() + // Get as PART & + template> + const PART &ref() const + { + const PART *const p = ptr(); + if (p) return *p; + log::error( + "Cannot get reference; variant contains a different alternative."); + throw std::exception{}; + } - template> - const PART *operator()() const + template> + PART &ref() { - return ptr(); + return const_cast(std::as_const(*this).template ref()); } - template> - PART *operator()() + // operator() + // Get as PART & + template> + const PART &operator()() const { return ref(); } + + template> + PART &operator()() { return ref(); } + + // opt() + // Makes an optional. So, we must return by value, + // and only the const version is needed. + template> + const std::optional opt() const { - return ptr(); + const PART *const p = ptr(); + return p ? std::optional{*p} : std::optional{}; } // ------------------------ - // Getters: - // For T == variant - // Conversion to PART - // Same as operator()() + // Conversions + // For WHOLE == variant // ------------------------ - template> - operator const PART *() const - { - return operator()(); - } + // To PART * + template> + operator const PART *() const { return ptr(); } - template> - operator PART *() - { - return operator()(); - } + template> + operator PART *() { return ptr(); } + + // To PART & + template> + operator const PART &() const { return ref(); } + + template> + operator PART &() { return ref(); } + + // To optional + template> + operator std::optional() const { return opt(); } + + // zzz working here... // ------------------------ // Getters: - // For T == vector + // For WHOLE == vector // ptr(index/label/Lookup) // Get vector element // ------------------------ template< class KEY, class = detail::isSearchKey, - class TEE = T, class = detail::isVector_t> + class TEE = WHOLE, class = detail::isVector_t> decltype(auto) ptr(const KEY &key) const { return field.parent.template getter(field(), key); @@ -240,7 +291,7 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKey, - class TEE = T, class = detail::isVector_t> + class TEE = WHOLE, class = detail::isVector_t> decltype(auto) ptr(const KEY &key) { return field.parent.template getter(field(), key); @@ -248,14 +299,14 @@ class FieldPart,PART> { // ------------------------ // Getters: - // For T == vector + // For WHOLE == vector // operator()(index/label/Lookup) // Get vector element // ------------------------ template< class KEY, class = detail::isSearchKey, - class TEE = T, class = detail::isVector_t> + class TEE = WHOLE, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) const { return ptr(key); @@ -263,7 +314,7 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKey, - class TEE = T, class = detail::isVector_t> + class TEE = WHOLE, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) { return ptr(key); @@ -273,19 +324,21 @@ class FieldPart,PART> { // Setters // ------------------------ - // If T == variant: (value) - template> + // (value) + // If WHOLE == variant + template> DERIVED &operator()(const std::optional &obj) { if (obj) field(obj.value()); return field.parent; } - // If T == vector: (index/label/Lookup, value) + // (index/label/Lookup, value) + // If WHOLE == vector // Replace vector element. template< class KEY, class = detail::isSearchKeyRefReturn, - class TEE = T, class = detail::isVector_t> + class TEE = WHOLE, class = detail::isVector_t> DERIVED &operator()(const KEY &key, const std::optional &obj) { if (obj) field(key,obj.value()); @@ -297,8 +350,8 @@ class FieldPart,PART> { // ------------------------ // Intentional: don't assign [referenced] field; doing so would be wrong - FieldPart &operator=(const FieldPart &other) { return *this; } - FieldPart &operator=(FieldPart &&other) { return *this; } + FieldPart &operator=(const FieldPart &) { return *this; } + FieldPart &operator=(FieldPart &&) { return *this; } }; // class FieldPart diff --git a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp b/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp index ed878d543..601eef5c0 100644 --- a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp +++ b/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp @@ -35,15 +35,15 @@ SCENARIO( "Grid" ) { { const Grid g1(index,std::nullopt,label,style,unit,Values(values)); Grid g2(index,std::nullopt,label,style,unit,Values(values)); - const Values *ptr1 = g1.values(); - Values *ptr2 = g2.values(); + const Values *ptr1 = g1.values.ptr(); + Values *ptr2 = g2.values.ptr(); CHECK(ptr1 != nullptr); CHECK(ptr2 != nullptr); const Grid g3(index,std::nullopt,label,style,unit,Link("mylink")); Grid g4(index,std::nullopt,label,style,unit,Link("mylink")); - const Link *ptr3 = g3.link(); - Link *ptr4 = g4.link(); + const Link *ptr3 = g3.link.ptr(); + Link *ptr4 = g4.link.ptr(); CHECK(ptr3 != nullptr); CHECK(ptr4 != nullptr); } @@ -67,15 +67,15 @@ SCENARIO( "Grid" ) { { const Grid g1(index,std::nullopt,label,style,unit,Values(values)); Grid g2(index,std::nullopt,label,style,unit,Values(values)); - const Link *ptr1 = g1.link(); - Link *ptr2 = g2.link(); + const Link *ptr1 = g1.link.ptr(); + Link *ptr2 = g2.link.ptr(); CHECK(ptr1 == nullptr); CHECK(ptr2 == nullptr); const Grid g3(index,std::nullopt,label,style,unit,Link("mylink")); Grid g4(index,std::nullopt,label,style,unit,Link("mylink")); - const Values *ptr3 = g3.values(); - Values *ptr4 = g4.values(); + const Values *ptr3 = g3.values.ptr(); + Values *ptr4 = g4.values.ptr(); CHECK(ptr3 == nullptr); CHECK(ptr4 == nullptr); } From 2b71a2ac86343db37f36cf3f527383449b9544bb Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 27 Jun 2022 12:25:15 -0600 Subject: [PATCH 118/235] Tweak to circumvent non-GNDStk error. A variable CHAR_WIDTH appears in the HighFive HDF5 library, but CHAR_WIDTH is #defined in . The obvious consequental problem is fixed by our change. --- src/GNDStk.hpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/GNDStk.hpp b/src/GNDStk.hpp index cd505cecc..824f9e4d0 100644 --- a/src/GNDStk.hpp +++ b/src/GNDStk.hpp @@ -6,11 +6,15 @@ // External libraries // ------------------------ +// To circumvent errors in other libraries +#include +#undef CHAR_WIDTH + #include "pugixml.hpp" #include "nlohmann/json.hpp" +#include "Log.hpp" #include #include -#include "Log.hpp" // ------------------------ From cc1b7ccc0dea51b9290c4e49d5cd158c41b8b1e8 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 28 Jun 2022 01:11:23 -0600 Subject: [PATCH 119/235] More work on Field and FieldPart classes. Updated test code. Still a work-in-progress. --- src/GNDStk/Component/src/field.hpp | 141 ++++++++++++------ .../v1.9/containers/Axes/test/Axes.test.cpp | 24 +-- 2 files changed, 106 insertions(+), 59 deletions(-) diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index 36127834b..52a5dd25d 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -71,13 +71,15 @@ class Field { // because T in this context is a vector). template< class KEY, class = detail::isSearchKey, - class TEE = T, class = detail::isVector_t> + class TEE = T, class = detail::isVector_t + > decltype(auto) operator()(const KEY &key) const { return parent.getter(value, key); } template< class KEY, class = detail::isSearchKey, - class TEE = T, class = detail::isVector_t> + class TEE = T, class = detail::isVector_t + > decltype(auto) operator()(const KEY &key) { return parent.getter(value, key); } @@ -119,7 +121,8 @@ class Field { // and replace it with the given replacement value. template< class KEY, class = detail::isSearchKeyRefReturn, - class TEE = T, class = detail::isVector_t> + class TEE = T, class = detail::isVector_t + > DERIVED &operator()(const KEY &key, const typename TEE::value_type &obj) { (*this)(key) = obj; @@ -152,29 +155,14 @@ class Field { template class FieldPart,PART> { - Field &field; + Field &field; /// maybe call this "whole"? - // zzz I think it's always the case that WHOLE is either a variant - // or a vector. static_assert( detail::isVariant::value || detail::isVectorVariant::value, - /* - detail::isVectorVariant::value, - /////////detail::isVariant::value, - */ "FieldPart,PART>: " "WHOLE must be std::variant or std::vector" ); - // zzz Below, we're working on dealing with ptr(), error messages, - // etc. In those places, in addition to the other work, and in - // general in this file, let's see if it's possible to minimize - // or eliminate auto/decltype(auto). I'm thinking that there was - // a good reason I originally wrote it - perhaps returns can end - // up being by-value or by-reference, depending on the situation - - // but let's review this nonetheless. And be sure we get reference - // returns in those cases where we're returning *ptr. - public: // ------------------------ @@ -189,14 +177,9 @@ class FieldPart,PART> { field(field) { } - // zzz Wait, is the following ever used...? - FieldPart(Field &field, const FieldPart &other) : - field(field) - { } - // ------------------------ // Getters: - // For WHOLE == variant + // If WHOLE == variant // ------------------------ // ptr() @@ -231,14 +214,6 @@ class FieldPart,PART> { return const_cast(std::as_const(*this).template ref()); } - // operator() - // Get as PART & - template> - const PART &operator()() const { return ref(); } - - template> - PART &operator()() { return ref(); } - // opt() // Makes an optional. So, we must return by value, // and only the const version is needed. @@ -249,9 +224,17 @@ class FieldPart,PART> { return p ? std::optional{*p} : std::optional{}; } + // operator() + // Get as PART & + template> + const PART &operator()() const { return ref(); } + + template> + PART &operator()() { return ref(); } + // ------------------------ // Conversions - // For WHOLE == variant + // If WHOLE == variant // ------------------------ // To PART * @@ -272,53 +255,117 @@ class FieldPart,PART> { template> operator std::optional() const { return opt(); } - // zzz working here... - // ------------------------ // Getters: - // For WHOLE == vector + // If WHOLE == vector // ptr(index/label/Lookup) // Get vector element // ------------------------ + // zzz Need to look these over carefully and compare with what we have + // in comp-detail-getter.hh. Make consistent the use, there, of pointers + // versus references for return type; then clarify in this file. + // Also: have log::context for log::error calls in this file. + + // ptr(key) + // Get as PART * template< class KEY, class = detail::isSearchKey, - class TEE = WHOLE, class = detail::isVector_t> - decltype(auto) ptr(const KEY &key) const + class T = WHOLE, class = detail::isVector_t + > + const PART *ptr(const KEY &key) const { return field.parent.template getter(field(), key); } template< class KEY, class = detail::isSearchKey, - class TEE = WHOLE, class = detail::isVector_t> - decltype(auto) ptr(const KEY &key) + class T = WHOLE, class = detail::isVector_t + > + PART *ptr(const KEY &key) { return field.parent.template getter(field(), key); } + // ref(key) + // Get as PART & + template< + class KEY, class = detail::isSearchKey, + class T = WHOLE, class = detail::isVector_t + > + const PART &ref(const KEY &key) const + { + const PART *const p = ptr(key); + if (p) return *p; + log::error( + "Cannot get reference; key not found."); + throw std::exception{}; + } + + template< + class KEY, class = detail::isSearchKey, + class T = WHOLE, class = detail::isVector_t + > + PART &ref(const KEY &key) + { + return const_cast(std::as_const(*this).template ref(key)); + } + + // opt(key) + // Makes an optional. So, we must return by value, + // and only the const version is needed. + template< + class KEY, class = detail::isSearchKey, + class T = WHOLE, class = detail::isVector_t + > + const std::optional opt(const KEY &key) const + { + const PART *const p = ptr(key); + return p ? std::optional{*p} : std::optional{}; + } + + // operator()(key) + // Get as PART & + template< + class KEY, class = detail::isSearchKey, + class T = WHOLE, class = detail::isVector_t + > + const PART &operator()(const KEY &key) const { return ref(key); } + + template< + class KEY, class = detail::isSearchKey, + class T = WHOLE, class = detail::isVector_t + > + PART &operator()(const KEY &key) { return ref(key); } + +#if 0 +#if 0 +#if 0 // ------------------------ // Getters: - // For WHOLE == vector + // If WHOLE == vector // operator()(index/label/Lookup) // Get vector element // ------------------------ template< class KEY, class = detail::isSearchKey, - class TEE = WHOLE, class = detail::isVector_t> + class T = WHOLE, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) const { return ptr(key); } - + // zzz I think these conflict with the above template< class KEY, class = detail::isSearchKey, - class TEE = WHOLE, class = detail::isVector_t> + class T = WHOLE, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) { return ptr(key); } +#endif +#endif +#endif // ------------------------ // Setters @@ -326,7 +373,7 @@ class FieldPart,PART> { // (value) // If WHOLE == variant - template> + template> DERIVED &operator()(const std::optional &obj) { if (obj) field(obj.value()); @@ -338,7 +385,7 @@ class FieldPart,PART> { // Replace vector element. template< class KEY, class = detail::isSearchKeyRefReturn, - class TEE = WHOLE, class = detail::isVector_t> + class T = WHOLE, class = detail::isVector_t> DERIVED &operator()(const KEY &key, const std::optional &obj) { if (obj) field(key,obj.value()); diff --git a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp index 4125ec88e..b3565ce77 100644 --- a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp +++ b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp @@ -37,15 +37,15 @@ SCENARIO( "Axes" ) { { const Axes a1(std::nullopt, agvector{Axis(1)}); Axes a2(std::nullopt, agvector{Axis(2)}); - const Axis *ptr1 = a1.axis(1); - Axis *ptr2 = a2.axis(2); + const Axis *ptr1 = a1.axis.ptr(1); + Axis *ptr2 = a2.axis.ptr(2); CHECK(ptr1 != nullptr); CHECK(ptr2 != nullptr); const Axes a3(std::nullopt, agvector{Grid(1)}); Axes a4(std::nullopt, agvector{Grid(2)}); - const Grid *ptr3 = a3.grid(1); - Grid *ptr4 = a4.grid(2); + const Grid *ptr3 = a3.grid.ptr(1); + Grid *ptr4 = a4.grid.ptr(2); CHECK(ptr3 != nullptr); CHECK(ptr4 != nullptr); } @@ -53,15 +53,15 @@ SCENARIO( "Axes" ) { { const Axes a1(std::nullopt, agvector{Axis(1)}); Axes a2(std::nullopt, agvector{Axis(2)}); - const Grid *ptr1 = a1.grid(1); - Grid *ptr2 = a2.grid(2); + const Grid *ptr1 = a1.grid.ptr(1); + Grid *ptr2 = a2.grid.ptr(2); CHECK(ptr1 == nullptr); CHECK(ptr2 == nullptr); const Axes a3(std::nullopt, agvector{Grid(1)}); Axes a4(std::nullopt, agvector{Grid(2)}); - const Axis *ptr3 = a3.axis(1); - Axis *ptr4 = a4.axis(2); + const Axis *ptr3 = a3.axis.ptr(1); + Axis *ptr4 = a4.axis.ptr(2); CHECK(ptr3 == nullptr); CHECK(ptr4 == nullptr); } @@ -258,7 +258,7 @@ void verifyChunk( const Axes& component ) { // using the index based axis getter // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - decltype(auto) axis_iv0 = *component.axis( 0 ); + decltype(auto) axis_iv0 = component.axis( 0 ); CHECK( std::nullopt != axis_iv0.index() ); CHECK( std::nullopt != axis_iv0.label() ); @@ -268,7 +268,7 @@ void verifyChunk( const Axes& component ) { CHECK( "radius" == axis_iv0.label().value() ); CHECK( "fm" == axis_iv0.unit().value() ); - decltype(auto) axis_iv1 = *component.axis( 1 ); + decltype(auto) axis_iv1 = component.axis( 1 ); CHECK( std::nullopt != axis_iv1.index() ); CHECK( std::nullopt != axis_iv1.label() ); @@ -282,7 +282,7 @@ void verifyChunk( const Axes& component ) { // using the label based axis getter // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - decltype(auto) axis_v0 = *component.axis( "radius" ); + decltype(auto) axis_v0 = component.axis( "radius" ); CHECK( std::nullopt != axis_v0.index() ); CHECK( std::nullopt != axis_v0.label() ); @@ -292,7 +292,7 @@ void verifyChunk( const Axes& component ) { CHECK( "radius" == axis_v0.label().value() ); CHECK( "fm" == axis_v0.unit().value() ); - decltype(auto) axis_v1 = *component.axis( "energy_in" ); + decltype(auto) axis_v1 = component.axis( "energy_in" ); CHECK( std::nullopt != axis_v1.index() ); CHECK( std::nullopt != axis_v1.label() ); From 80689786f07e2ad84ffa4d1e8fe1176e3cf91dc6 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 29 Jun 2022 14:40:31 -0600 Subject: [PATCH 120/235] Lots more work on the Field and FieldPart classes. Added new material to a couple of test codes. --- src/GNDStk/BlockData/src/get.hpp | 2 +- src/GNDStk/Component/src/detail-getter.hpp | 171 ------------- src/GNDStk/Component/src/detail-sfinae.hpp | 229 +++++++++++++++++ src/GNDStk/Component/src/detail.hpp | 1 + src/GNDStk/Component/src/field.hpp | 235 ++++++++++-------- src/GNDStk/Component/src/getter.hpp | 49 ++-- src/GNDStk/Node/test/subscript.test.cpp | 2 +- .../v1.9/containers/Axes/test/Axes.test.cpp | 7 +- .../v1.9/containers/Grid/test/Grid.test.cpp | 4 + 9 files changed, 397 insertions(+), 303 deletions(-) create mode 100644 src/GNDStk/Component/src/detail-sfinae.hpp diff --git a/src/GNDStk/BlockData/src/get.hpp b/src/GNDStk/BlockData/src/get.hpp index 65e71300b..1abaf84c8 100644 --- a/src/GNDStk/BlockData/src/get.hpp +++ b/src/GNDStk/BlockData/src/get.hpp @@ -392,7 +392,7 @@ std::conditional_t< } ); // We can't return the specific variant alternative that was just put - // in place; it depended on a run-time check. So, we return the whole + // in place; it depended on a run-time check. So, we return the entire // variant, for whatever use that might have to a caller. return variant; } else { diff --git a/src/GNDStk/Component/src/detail-getter.hpp b/src/GNDStk/Component/src/detail-getter.hpp index 988f61af6..5126b75e5 100644 --- a/src/GNDStk/Component/src/detail-getter.hpp +++ b/src/GNDStk/Component/src/detail-getter.hpp @@ -1,175 +1,4 @@ -// ----------------------------------------------------------------------------- -// Some helper classes -// ----------------------------------------------------------------------------- - -// ------------------------ -// isVector -// ------------------------ - -// general -template -struct isVector - : public std::false_type -{ }; - -// for std::vector -template -struct isVector> - : public std::true_type -{ }; - -template -using isVector_t = std::enable_if_t::value>; - -// ------------------------ -// isVectorVariant -// ------------------------ - -// general -template -struct isVectorVariant - : public std::false_type -{ }; - -// for std::vector> -template -struct isVectorVariant,Alloc>> - : public std::true_type -{ }; - -template -using isVectorVariant_t = std::enable_if_t::value>; - -// ------------------------ -// isDefaulted -// ------------------------ - -// general -template -struct isDefaulted - : public std::false_type -{ }; - -// for Defaulted -template -struct isDefaulted> - : public std::true_type -{ }; - -template -using isDefaulted_t = std::enable_if_t::value>; - -// ------------------------ -// isLookup -// ------------------------ - -// general -template -struct isLookup - : public std::false_type -{ }; - -// for Lookup -template -struct isLookup> - : public std::true_type -{ }; - -// ------------------------ -// isLookupRefReturn -// ------------------------ - -// general -template -struct isLookupRefReturn - : public std::false_type -{ }; - -// for Lookup, with TYPE != void wanted -template -struct isLookupRefReturn> -{ - static inline constexpr bool value = !isVoid; -}; - -// ------------------------ -// isSearchKey -// isSearchKeyRefReturn -// ------------------------ - -// Type is one of: -// - convertible to std::size_t, for use as an index -// - convertible to std::string, for use as a label -// - of type Lookup<...> -template -using isSearchKey = std::enable_if_t< - std::is_convertible_v || - std::is_convertible_v || - isLookup::value ->; - -// Like above, but allowing only a Lookup that triggers a reference return -template -using isSearchKeyRefReturn = std::enable_if_t< - std::is_convertible_v || - std::is_convertible_v || - isLookupRefReturn::value ->; - -// ------------------------ -// firstOrOnly -// ------------------------ - -// general -template -struct firstOrOnly { - using type = T; -}; - -// for variant -template -struct firstOrOnly> { - using type = T; -}; - -// ------------------------ -// has_field -// Compare with has_index, -// as defined elsewhere -// ------------------------ - -// default -template -struct has_field - : std::false_type { }; - -// general -template -struct has_field< - EXTRACTOR, - T, - decltype( - (void)std::declval()( - std::conditional_t::value,void,T>{} - ), - 0 - ) -> - : std::true_type { }; - -// for variant -template -struct has_field< - EXTRACTOR, - std::variant -> { - // does any alternative have the field? - static constexpr bool value = (has_field::value || ...); -}; - - - // ----------------------------------------------------------------------------- // getter(vector, index, names...) // Element of the vector that has .index() == index. diff --git a/src/GNDStk/Component/src/detail-sfinae.hpp b/src/GNDStk/Component/src/detail-sfinae.hpp new file mode 100644 index 000000000..734ba2260 --- /dev/null +++ b/src/GNDStk/Component/src/detail-sfinae.hpp @@ -0,0 +1,229 @@ + +// ----------------------------------------------------------------------------- +// Helper classes +// ----------------------------------------------------------------------------- + +// ------------------------ +// isVector +// ------------------------ + +// general +template +struct isVector + : public std::false_type +{ }; + +// for std::vector +template +struct isVector> + : public std::true_type +{ }; + +template +using isVector_t = std::enable_if_t::value>; + +// ------------------------ +// isOptionalVector +// ------------------------ + +// general +template +struct isOptionalVector + : public std::false_type +{ }; + +// for std::vector +template +struct isOptionalVector>> + : public std::true_type +{ }; + +template +using isOptionalVector_t = std::enable_if_t::value>; + +// ------------------------ +// isVectorOrOptionalVector +// ------------------------ + +// general +template +struct isVectorOrOptionalVector + : public std::false_type +{ }; + +// for std::vector +template +struct isVectorOrOptionalVector> + : public std::true_type +{ + using value_type = T; +}; + +// for std::optional +template +struct isVectorOrOptionalVector>> + : public std::true_type +{ + using value_type = T; +}; + +template +using isVectorOrOptionalVector_t = + std::enable_if_t::value>; + +// ------------------------ +// isVectorVariant +// ------------------------ + +// general +template +struct isVectorVariant + : public std::false_type +{ }; + +// for std::vector> +template +struct isVectorVariant,Alloc>> + : public std::true_type +{ }; + +template +using isVectorVariant_t = std::enable_if_t::value>; + +// ------------------------ +// isDefaulted +// ------------------------ + +// general +template +struct isDefaulted + : public std::false_type +{ }; + +// for Defaulted +template +struct isDefaulted> + : public std::true_type +{ }; + +template +using isDefaulted_t = std::enable_if_t::value>; + +// ------------------------ +// isLookup +// ------------------------ + +// general +template +struct isLookup + : public std::false_type +{ }; + +// for Lookup +template +struct isLookup> + : public std::true_type +{ }; + +// ------------------------ +// isLookupRefReturn +// ------------------------ + +// general +template +struct isLookupRefReturn + : public std::false_type +{ }; + +// for Lookup, with TYPE != void wanted +template +struct isLookupRefReturn> +{ + static inline constexpr bool value = !isVoid; +}; + +// ------------------------ +// isLookupBoolReturn +// ------------------------ + +template +inline constexpr bool isLookupBoolReturn = + detail::isLookup::value && + !detail::isLookupRefReturn::value; + +// ------------------------ +// isSearchKey +// isSearchKeyRefReturn +// ------------------------ + +// isSearchKey +// Type is one of: +// - convertible to std::size_t, for use as an index +// - convertible to std::string, for use as a label +// - of type Lookup<...> +template +using isSearchKey = std::enable_if_t< + std::is_convertible_v || + std::is_convertible_v || + isLookup::value // any Lookup +>; + +// isSearchKeyRefReturn +// Like the above, but allowing only a Lookup that triggers a reference return +template +using isSearchKeyRefReturn = std::enable_if_t< + std::is_convertible_v || + std::is_convertible_v || + isLookupRefReturn::value // not any Lookup; must give a reference return +>; + +// ------------------------ +// firstOrOnly +// ------------------------ + +// general +template +struct firstOrOnly { + using type = T; +}; + +// for variant +template +struct firstOrOnly> { + using type = T; +}; + +// ------------------------ +// has_field +// Compare with has_index, +// as defined elsewhere +// ------------------------ + +// default +template +struct has_field + : std::false_type { }; + +// general +template +struct has_field< + EXTRACTOR, + T, + decltype( + (void)std::declval()( + std::conditional_t::value,void,T>{} + ), + 0 + ) +> + : std::true_type { }; + +// for variant +template +struct has_field< + EXTRACTOR, + std::variant +> { + // does any alternative have the field? + static constexpr bool value = (has_field::value || ...); +}; diff --git a/src/GNDStk/Component/src/detail.hpp b/src/GNDStk/Component/src/detail.hpp index 5594a9bb2..68e46b824 100644 --- a/src/GNDStk/Component/src/detail.hpp +++ b/src/GNDStk/Component/src/detail.hpp @@ -362,6 +362,7 @@ bool printComponentPart( // Intended for use in our auto-generated Standard Interface classes. // ----------------------------------------------------------------------------- +#include "GNDStk/Component/src/detail-sfinae.hpp" #include "GNDStk/Component/src/detail-getter.hpp" diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index 52a5dd25d..fe671f1b7 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -10,11 +10,14 @@ class FieldPart { template class Field { + + // friends friend DERIVED; template friend class FieldPart; + // data DERIVED &parent; T value; @@ -25,22 +28,25 @@ class Field { // ------------------------ // Because data member [DERIVED &parent] would be wrong - Field(const Field &) = delete; - Field(Field &&) = delete; + Field(const Field &) = delete; // no copy + Field(Field &&) = delete; // no move // The following accept DERIVED*, not DERIVED&, so that we can write "this", // not "*this", where Field objects are constructed. It's just a bit shorter. + // parent, value explicit Field(DERIVED *const parent, const T &value = T{}) : parent(*parent), value(value) { } + // parent, other Field object Field(DERIVED *const parent, const Field &other) : parent(*parent), value(other.value) { } + // parent, default value, value // If T == Defaulted template> Field( @@ -56,32 +62,53 @@ class Field { // ------------------------ // () - // Return reference to value (which is of type T) const T &operator()() const { return value; } T &operator()() { return value; } - // Conversion to T - // Same as () - operator const T &() const { return (*this)(); } - operator T &() { return (*this)(); } - - // (index/label/Lookup) + // (index/label/Lookup), including Lookup (via "has" function) // If T == vector - // Return reference to vector element (which is of type T::value_type, - // because T in this context is a vector). template< class KEY, class = detail::isSearchKey, - class TEE = T, class = detail::isVector_t + class TEE = T, class = detail::isVectorOrOptionalVector_t > decltype(auto) operator()(const KEY &key) const - { return parent.getter(value, key); } + { return parent.getter(value,key); } template< class KEY, class = detail::isSearchKey, - class TEE = T, class = detail::isVector_t + class TEE = T, class = detail::isVectorOrOptionalVector_t > decltype(auto) operator()(const KEY &key) - { return parent.getter(value, key); } + { return parent.getter(value,key); } + + // ------------------------ + // Conversions + // ------------------------ + + // To T + // Same as () + operator const T &() const { return (*this)(); } + operator T &() { return (*this)(); } + + // To vector, if T == optional + template> + operator const typename TEE::value_type &() const + { + if (!value) { + log::error( + "Cannot give valueless optional a vector value\n" + "when the object is const"); + log::member("Field:: conversion to vector"); + throw std::exception{}; + } + return *value; + } + + template> + operator typename TEE::value_type &() + { + return *(value ? value : value = typename TEE::value_type{}); + } // ------------------------ // Setters @@ -89,13 +116,13 @@ class Field { // (T) // Replace existing value with another value. - DERIVED &operator()(const T &other) + DERIVED &operator()(const T &val) { - value = other; + value = val; return parent; } - // (std::optional) + // (optional) // If T == Defaulted // Replace existing Defaulted's value with the given optional value. template> @@ -106,25 +133,28 @@ class Field { } // (scalar) - // If T == vector + // If T == [optional] vector // Add (via push_back) to this->value, which in this context is a vector. - template> - DERIVED &operator()(const typename TEE::value_type &obj) - { + template> + DERIVED &operator()( + const typename detail::isVectorOrOptionalVector::value_type &obj + ) { parent.setter(value, obj); return parent; } // (index/label/Lookup, value) - // if T == vector + // If T == [optional] vector // Find the vector's element that has the given index, label, or Lookup, // and replace it with the given replacement value. template< class KEY, class = detail::isSearchKeyRefReturn, - class TEE = T, class = detail::isVector_t + class TEE = T, class = detail::isVectorOrOptionalVector_t > - DERIVED &operator()(const KEY &key, const typename TEE::value_type &obj) - { + DERIVED &operator()( + const KEY &key, + const typename detail::isVectorOrOptionalVector::value_type &obj + ) { (*this)(key) = obj; return parent; } @@ -155,12 +185,12 @@ class Field { template class FieldPart,PART> { - Field &field; /// maybe call this "whole"? + Field &whole; static_assert( detail::isVariant::value || detail::isVectorVariant::value, "FieldPart,PART>: " - "WHOLE must be std::variant or std::vector" + "WHOLE must be variant or vector" ); public: @@ -169,12 +199,12 @@ class FieldPart,PART> { // Constructors // ------------------------ - // Because [Field &field] would be wrong - FieldPart(const FieldPart &) = delete; - FieldPart(FieldPart &&) = delete; + // Because [Field &whole] would be wrong + FieldPart(const FieldPart &) = delete; // no copy + FieldPart(FieldPart &&) = delete; // no move - explicit FieldPart(Field &field) : - field(field) + explicit FieldPart(Field &whole) : + whole(whole) { } // ------------------------ @@ -187,13 +217,13 @@ class FieldPart,PART> { template> const PART *ptr() const { - return field.parent.template getter(field()); + return whole.parent.template getter(whole()); } template> PART *ptr() { - return field.parent.template getter(field()); + return whole.parent.template getter(whole()); } // ref() @@ -204,7 +234,8 @@ class FieldPart,PART> { const PART *const p = ptr(); if (p) return *p; log::error( - "Cannot get reference; variant contains a different alternative."); + "Cannot get reference; variant contains a different alternative"); + log::member("FieldPart::ref()"); throw std::exception{}; } @@ -216,7 +247,7 @@ class FieldPart,PART> { // opt() // Makes an optional. So, we must return by value, - // and only the const version is needed. + // and then only the const version is needed. template> const std::optional opt() const { @@ -227,10 +258,21 @@ class FieldPart,PART> { // operator() // Get as PART & template> - const PART &operator()() const { return ref(); } + const PART &operator()() const + { + try { + return ref(); + } catch (...) { + log::member("FieldPart::operator()"); + throw; + } + } template> - PART &operator()() { return ref(); } + PART &operator()() + { + return const_cast(std::as_const(*this)()); + } // ------------------------ // Conversions @@ -246,10 +288,21 @@ class FieldPart,PART> { // To PART & template> - operator const PART &() const { return ref(); } + operator const PART &() const + { + try { + return ref(); + } catch (...) { + log::member("FieldPart:: conversion to variant alternative"); + throw; + } + } template> - operator PART &() { return ref(); } + operator PART &() + { + return const_cast(std::as_const(*this).operator const PART &()); + } // To optional template> @@ -258,39 +311,32 @@ class FieldPart,PART> { // ------------------------ // Getters: // If WHOLE == vector - // ptr(index/label/Lookup) - // Get vector element // ------------------------ - // zzz Need to look these over carefully and compare with what we have - // in comp-detail-getter.hh. Make consistent the use, there, of pointers - // versus references for return type; then clarify in this file. - // Also: have log::context for log::error calls in this file. - - // ptr(key) + // ptr(index/label/Lookup) // Get as PART * template< - class KEY, class = detail::isSearchKey, + class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t > const PART *ptr(const KEY &key) const { - return field.parent.template getter(field(), key); + return whole.parent.template getter(whole(),key); } template< - class KEY, class = detail::isSearchKey, + class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t > PART *ptr(const KEY &key) { - return field.parent.template getter(field(), key); + return whole.parent.template getter(whole(),key); } - // ref(key) + // ref(index/label/Lookup) // Get as PART & template< - class KEY, class = detail::isSearchKey, + class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t > const PART &ref(const KEY &key) const @@ -298,12 +344,13 @@ class FieldPart,PART> { const PART *const p = ptr(key); if (p) return *p; log::error( - "Cannot get reference; key not found."); + "Cannot get reference; variant contains a different alternative"); + log::member("FieldPart::ref(key)"); throw std::exception{}; } template< - class KEY, class = detail::isSearchKey, + class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t > PART &ref(const KEY &key) @@ -311,11 +358,9 @@ class FieldPart,PART> { return const_cast(std::as_const(*this).template ref(key)); } - // opt(key) - // Makes an optional. So, we must return by value, - // and only the const version is needed. + // opt(index/label/Lookup) template< - class KEY, class = detail::isSearchKey, + class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t > const std::optional opt(const KEY &key) const @@ -324,48 +369,36 @@ class FieldPart,PART> { return p ? std::optional{*p} : std::optional{}; } - // operator()(key) - // Get as PART & - template< - class KEY, class = detail::isSearchKey, - class T = WHOLE, class = detail::isVector_t - > - const PART &operator()(const KEY &key) const { return ref(key); } - + // (index/label/Lookup), including Lookup (via "has" function) template< class KEY, class = detail::isSearchKey, class T = WHOLE, class = detail::isVector_t > - PART &operator()(const KEY &key) { return ref(key); } - -#if 0 -#if 0 -#if 0 - // ------------------------ - // Getters: - // If WHOLE == vector - // operator()(index/label/Lookup) - // Get vector element - // ------------------------ - - template< - class KEY, class = detail::isSearchKey, - class T = WHOLE, class = detail::isVector_t> decltype(auto) operator()(const KEY &key) const { - return ptr(key); + if constexpr (detail::isLookupBoolReturn) + return whole(key); // a bool + else { + try { + return ref(key); + } catch (...) { + log::member("FieldPart::operator()(key)"); + throw; + } + } } - // zzz I think these conflict with the above + template< class KEY, class = detail::isSearchKey, - class T = WHOLE, class = detail::isVector_t> + class T = WHOLE, class = detail::isVector_t + > decltype(auto) operator()(const KEY &key) { - return ptr(key); + if constexpr (detail::isLookupBoolReturn) + return whole(key); // a bool + else + return const_cast(std::as_const(*this)(key)); } -#endif -#endif -#endif // ------------------------ // Setters @@ -374,10 +407,10 @@ class FieldPart,PART> { // (value) // If WHOLE == variant template> - DERIVED &operator()(const std::optional &obj) + DERIVED &operator()(const std::optional &opt) { - if (obj) field(obj.value()); - return field.parent; + if (opt) whole(opt.value()); + return whole.parent; } // (index/label/Lookup, value) @@ -386,17 +419,17 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t> - DERIVED &operator()(const KEY &key, const std::optional &obj) + DERIVED &operator()(const KEY &key, const std::optional &opt) { - if (obj) field(key,obj.value()); - return field.parent; + if (opt) whole(key,opt.value()); + return whole.parent; } // ------------------------ // Assignment // ------------------------ - // Intentional: don't assign [referenced] field; doing so would be wrong + // Intentional: don't assign [referenced] whole; doing so would be wrong FieldPart &operator=(const FieldPart &) { return *this; } FieldPart &operator=(FieldPart &&) { return *this; } }; // class FieldPart @@ -410,6 +443,7 @@ template struct wrapper { T value; + // Constructor template< class FROM = T, class = std::enable_if_t>> @@ -417,18 +451,19 @@ struct wrapper { value(T(v)) { } - // if T == std::optional + // If T == optional template>> wrapper(const typename TEE::value_type &v) : value(v) { } - // if T == std::optional + // If T == optional template>> wrapper(const std::nullopt_t &v) : value(v) { } + // Conversions operator const T &() const { return value; } operator T &() { return value; } }; diff --git a/src/GNDStk/Component/src/getter.hpp b/src/GNDStk/Component/src/getter.hpp index 673365860..27befc82b 100644 --- a/src/GNDStk/Component/src/getter.hpp +++ b/src/GNDStk/Component/src/getter.hpp @@ -1,29 +1,26 @@ -// ----------------------------------------------------------------------------- // Component::getter() -// ----------------------------------------------------------------------------- - -// The getter() functions of class Component get some names from the derived -// class (which are used when printing diagnostics, if applicable), and then -// call getter() functions in the detail:: namespace to do most of the work. -// -// The motivation for having the following at all is to simplify the retrieval, -// in the derived-class getters, of certain information in the Content{} struct -// of the derived class object. For simple data, e.g. an int or a std::string -// in the derived class' Content struct, a derived-class getter will simply -// do a "return Content.something", because nothing more complicated is needed. -// So, the below functions involve circumstances where something more involved -// needs to be done. +// These retrieve names from the derived class (for use in printing diagnostics, +// if applicable), then call detail::getter() functions to do most of the work. // ----------------------------------------------------------------------------- -// getter(vec, key, name) +// getter(vector, key) +// getter(optional, key) +// Remark: while two getter() functions that appear later in this file work +// specifically on a vector, those require that the caller provide +// a template argument. The following two can, in fact, also be called with +// vector. Also, note that depending on which detail::getter() these +// forward to, the return type might be a reference to something, or might be +// a bool. Hence the decltype(auto) return type. // ----------------------------------------------------------------------------- // const template< - class VEC, class KEY, - class = detail::isSearchKey + class VEC, class KEY, class = detail::isSearchKey, + class = std::enable_if_t< + detail::isVector::value || + detail::isOptionalVector::value> > decltype(auto) getter( const VEC &vec, // vector, or optional vector @@ -37,8 +34,10 @@ decltype(auto) getter( // non-const template< - class VEC, class KEY, - class = detail::isSearchKey + class VEC, class KEY, class = detail::isSearchKey, + class = std::enable_if_t< + detail::isVector::value || + detail::isOptionalVector::value> > decltype(auto) getter( VEC &vec, @@ -57,11 +56,8 @@ decltype(auto) getter( // ----------------------------------------------------------------------------- -// getter(variant, name) -// These, in contrast to the getter()s above, don't involve a vector or an -// optional vector. We bother having these only because of the (admittedly -// small, in this case) extra complexity of checking that the variant holds -// the requested alternative, and of producing diagnostics if it doesn't. +// getter(variant) +// The caller must specify RETURN // ----------------------------------------------------------------------------- // const @@ -94,9 +90,8 @@ RETURN *getter( // ----------------------------------------------------------------------------- -// getter(vector, key, name) -// The motivation for these essentially amounts to the combined motivations -// for the above two sets of getter() functions. +// getter(vector, key) +// The caller must specify RETURN // ----------------------------------------------------------------------------- // const diff --git a/src/GNDStk/Node/test/subscript.test.cpp b/src/GNDStk/Node/test/subscript.test.cpp index b26e930ac..ab713438c 100644 --- a/src/GNDStk/Node/test/subscript.test.cpp +++ b/src/GNDStk/Node/test/subscript.test.cpp @@ -333,7 +333,7 @@ SCENARIO("Testing GNDStk Node operator[]") { // which of course leads to this sort of thing... CHECK(n.one("REACTIONSUITE").name == "REACTIONSUITE"); n[Child<>("REACTIONSUITE")].name = "reactionSuite"; - // try assigning the whole Node... + // try assigning the Node itself... n[reactionSuite] = c[reactionSuite]; } } diff --git a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp index b3565ce77..765faca19 100644 --- a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp +++ b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp @@ -207,9 +207,6 @@ void verifyChunk( const Axes& component ) { // using the index based axis_grid getter and accessing the variant directly // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -//! @todo a compilation issue exists, where a pointer is returned -//! instead of a reference? - decltype(auto) axis_ii0 = std::get< Axis >( component.axis_grid( 0 ) ); CHECK( std::nullopt != axis_ii0.index() ); @@ -258,6 +255,7 @@ void verifyChunk( const Axes& component ) { // using the index based axis getter // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + CHECK(component.axis(has(v1_9::index(0)))); decltype(auto) axis_iv0 = component.axis( 0 ); CHECK( std::nullopt != axis_iv0.index() ); @@ -268,6 +266,7 @@ void verifyChunk( const Axes& component ) { CHECK( "radius" == axis_iv0.label().value() ); CHECK( "fm" == axis_iv0.unit().value() ); + CHECK(component.axis(has(v1_9::index(1)))); decltype(auto) axis_iv1 = component.axis( 1 ); CHECK( std::nullopt != axis_iv1.index() ); @@ -282,6 +281,7 @@ void verifyChunk( const Axes& component ) { // using the label based axis getter // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + CHECK(component.axis(has(v1_9::label("radius")))); decltype(auto) axis_v0 = component.axis( "radius" ); CHECK( std::nullopt != axis_v0.index() ); @@ -292,6 +292,7 @@ void verifyChunk( const Axes& component ) { CHECK( "radius" == axis_v0.label().value() ); CHECK( "fm" == axis_v0.unit().value() ); + CHECK(component.axis(has(v1_9::label("energy_in")))); decltype(auto) axis_v1 = component.axis( "energy_in" ); CHECK( std::nullopt != axis_v1.index() ); diff --git a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp b/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp index 601eef5c0..99938d1ee 100644 --- a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp +++ b/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp @@ -53,6 +53,8 @@ SCENARIO( "Grid" ) { Grid g2(index,std::nullopt,label,style,unit,Values(values)); const Values *ptr1 = g1.values; Values *ptr2 = g2.values; + const Values &ref1 = g1.values; + Values &ref2 = g2.values; CHECK(ptr1 != nullptr); CHECK(ptr2 != nullptr); @@ -60,6 +62,8 @@ SCENARIO( "Grid" ) { Grid g4(index,std::nullopt,label,style,unit,Link("mylink")); const Link *ptr3 = g3.link; Link *ptr4 = g4.link; + const Link &ref3 = g3.link; + Link &ref4 = g4.link; CHECK(ptr3 != nullptr); CHECK(ptr4 != nullptr); } From 8b390107bedd3ab18db211c435cbd9deb8725b5a Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 29 Jun 2022 14:53:56 -0600 Subject: [PATCH 121/235] Updating. --- cmake/GNDStk_dependencies.cmake | 2 +- .../Test_GNDStk_v1_9_containers_Axis.pyc | Bin 2014 -> 2014 bytes .../Test_GNDStk_v1_9_containers_Grid.pyc | Bin 2988 -> 2988 bytes .../Test_GNDStk_v1_9_containers_Link.pyc | Bin 1796 -> 1796 bytes .../Test_GNDStk_v1_9_containers_Values.pyc | Bin 3765 -> 3765 bytes 5 files changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/GNDStk_dependencies.cmake b/cmake/GNDStk_dependencies.cmake index 471e77102..3e545c2b9 100644 --- a/cmake/GNDStk_dependencies.cmake +++ b/cmake/GNDStk_dependencies.cmake @@ -43,7 +43,7 @@ endif() FetchContent_Declare(hdf5 GIT_REPOSITORY https://github.com/BlueBrain/HighFive.git - GIT_TAG origin/master + GIT_TAG v2.3.1 GIT_SHALLOW TRUE ) set( HIGHFIVE_USE_BOOST OFF CACHE INTERNAL "" ) diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.pyc b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.pyc index 88af1c59e16e641965d263a368bc906d0bd3ab25..55dc979f149c8748c2e900fd600a909a1f952ec5 100644 GIT binary patch delta 16 Ycmcb|e~+J?`7h($ diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.pyc b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.pyc index 8386a04a5907b65b4b258145b9e0c63c13236c33..07eb98480150a574317f5b4ccf16690e4e155631 100644 GIT binary patch delta 16 YcmZ1@zDAs#`7;nu?EB7*?0?w+Fj5AJ delta 16 XcmZqSYvE&O{>;m@YWM1m?0?w+EdT}t diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.pyc b/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.pyc index cbcaa7ea80e805dcafc9ee0d8ac8e19daf469785..30a1fd54f2039a43f212993a1fb58f632cf35730 100644 GIT binary patch delta 16 YcmdlgyH%E*`7 Date: Wed, 29 Jun 2022 17:13:02 -0600 Subject: [PATCH 122/235] Small cosmetic changes. --- src/GNDStk/Component.hpp | 2 +- src/GNDStk/Component/src/detail-getter.hpp | 8 -------- src/GNDStk/Component/src/detail.hpp | 2 +- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index bb65882ae..8f01c5de3 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -57,7 +57,7 @@ class Component : public BlockData #include "GNDStk/Component/src/finish.hpp" // Helpers for derived-class getters/setters. - // These shorten the code in the derived classes. + // These allow us to shorten some other code. #include "GNDStk/Component/src/getter.hpp" #include "GNDStk/Component/src/setter.hpp" diff --git a/src/GNDStk/Component/src/detail-getter.hpp b/src/GNDStk/Component/src/detail-getter.hpp index 5126b75e5..17b122587 100644 --- a/src/GNDStk/Component/src/detail-getter.hpp +++ b/src/GNDStk/Component/src/detail-getter.hpp @@ -102,7 +102,6 @@ const T &getter( } - // ----------------------------------------------------------------------------- // getter(vector, label, names...) // Element of the vector that has .label() == label. @@ -173,7 +172,6 @@ const T &getter( } - // ----------------------------------------------------------------------------- // getter(vector, Lookup, names...) // ----------------------------------------------------------------------------- @@ -214,7 +212,6 @@ bool getter( } - // ----------------------------------------------------------------------------- // getter(vector, Lookup, names...) // ----------------------------------------------------------------------------- @@ -281,7 +278,6 @@ const T &getter( } - // ----------------------------------------------------------------------------- // getter(vector, Lookup, names...) // ----------------------------------------------------------------------------- @@ -296,7 +292,6 @@ bool getter( } - // ----------------------------------------------------------------------------- // getter(vector, Lookup, names...) // ----------------------------------------------------------------------------- @@ -341,7 +336,6 @@ auto getter( } - // ----------------------------------------------------------------------------- // getter(optional, index/label/Lookup, names...) // As earlier, but for optional data member. @@ -396,7 +390,6 @@ decltype(auto) getter( } - // ----------------------------------------------------------------------------- // getter(variant, names...) // ----------------------------------------------------------------------------- @@ -423,7 +416,6 @@ const T *getter( } - // ----------------------------------------------------------------------------- // getter(vector, index/label/Lookup, names...) // ----------------------------------------------------------------------------- diff --git a/src/GNDStk/Component/src/detail.hpp b/src/GNDStk/Component/src/detail.hpp index 68e46b824..ffa1752a3 100644 --- a/src/GNDStk/Component/src/detail.hpp +++ b/src/GNDStk/Component/src/detail.hpp @@ -359,7 +359,7 @@ bool printComponentPart( // ----------------------------------------------------------------------------- // getter() // Various cases. -// Intended for use in our auto-generated Standard Interface classes. +// Intended for use in our Standard Interface classes. // ----------------------------------------------------------------------------- #include "GNDStk/Component/src/detail-sfinae.hpp" From 16fc7b7b8640165b508e098f2e84b03e82732f7c Mon Sep 17 00:00:00 2001 From: Wim Haeck Date: Thu, 30 Jun 2022 08:00:17 -0600 Subject: [PATCH 123/235] Updating ... --- cmake/GNDStk_dependencies.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/GNDStk_dependencies.cmake b/cmake/GNDStk_dependencies.cmake index 471e77102..34c3b9f5c 100644 --- a/cmake/GNDStk_dependencies.cmake +++ b/cmake/GNDStk_dependencies.cmake @@ -18,7 +18,7 @@ FetchContent_Declare(catch-adapter FetchContent_Declare(Log GIT_REPOSITORY http://github.com/njoy/Log - GIT_TAG origin/build/fetchcontent + GIT_TAG origin/master GIT_SHALLOW TRUE ) @@ -43,7 +43,7 @@ endif() FetchContent_Declare(hdf5 GIT_REPOSITORY https://github.com/BlueBrain/HighFive.git - GIT_TAG origin/master + GIT_TAG v2.3.1 GIT_SHALLOW TRUE ) set( HIGHFIVE_USE_BOOST OFF CACHE INTERNAL "" ) From 4b2e68e3dd06db0d38035d3cab4162de55ff423d Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 30 Jun 2022 14:25:29 -0600 Subject: [PATCH 124/235] Added add() and replace() functions. These forward to operator() variations, but users may like the more-natural names. Made some small cosmetic changes as well. --- src/GNDStk/Component/src/field.hpp | 77 +++++++++++++++++++++++++----- 1 file changed, 64 insertions(+), 13 deletions(-) diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index fe671f1b7..bc7e117a9 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -4,6 +4,7 @@ class FieldPart { // Nothing; see the partial specialization later in this file }; + // ----------------------------------------------------------------------------- // Field // ----------------------------------------------------------------------------- @@ -35,9 +36,9 @@ class Field { // not "*this", where Field objects are constructed. It's just a bit shorter. // parent, value - explicit Field(DERIVED *const parent, const T &value = T{}) : + explicit Field(DERIVED *const parent, const T &v = T{}) : parent(*parent), - value(value) + value(v) { } // parent, other Field object @@ -51,10 +52,10 @@ class Field { template> Field( DERIVED *const parent, const typename TEE::value_type &def, - const std::optional &value = {} + const std::optional &v = {} ) : parent(*parent), - value(def,value) + value(def,v) { } // ------------------------ @@ -122,6 +123,11 @@ class Field { return parent; } + DERIVED &replace(const T &val) + { + return (*this)(val); + } + // (optional) // If T == Defaulted // Replace existing Defaulted's value with the given optional value. @@ -132,6 +138,12 @@ class Field { return parent; } + template> + DERIVED &replace(const std::optional &opt) + { + return (*this)(opt); + } + // (scalar) // If T == [optional] vector // Add (via push_back) to this->value, which in this context is a vector. @@ -143,6 +155,13 @@ class Field { return parent; } + template> + DERIVED &add( + const typename detail::isVectorOrOptionalVector::value_type &obj + ) { + return (*this)(obj); + } + // (index/label/Lookup, value) // If T == [optional] vector // Find the vector's element that has the given index, label, or Lookup, @@ -159,6 +178,17 @@ class Field { return parent; } + template< + class KEY, class = detail::isSearchKeyRefReturn, + class TEE = T, class = detail::isVectorOrOptionalVector_t + > + DERIVED &replace( + const KEY &key, + const typename detail::isVectorOrOptionalVector::value_type &obj + ) { + return (*this)(key,obj); + } + // ------------------------ // Assignment // ------------------------ @@ -376,9 +406,11 @@ class FieldPart,PART> { > decltype(auto) operator()(const KEY &key) const { - if constexpr (detail::isLookupBoolReturn) - return whole(key); // a bool - else { + if constexpr (detail::isLookupBoolReturn) { + // a bool + return whole(key); + } else { + // a reference try { return ref(key); } catch (...) { @@ -394,10 +426,13 @@ class FieldPart,PART> { > decltype(auto) operator()(const KEY &key) { - if constexpr (detail::isLookupBoolReturn) - return whole(key); // a bool - else + if constexpr (detail::isLookupBoolReturn) { + // a bool + return whole(key); + } else { + // a reference return const_cast(std::as_const(*this)(key)); + } } // ------------------------ @@ -406,6 +441,7 @@ class FieldPart,PART> { // (value) // If WHOLE == variant + // Replace existing value with another value. template> DERIVED &operator()(const std::optional &opt) { @@ -413,9 +449,16 @@ class FieldPart,PART> { return whole.parent; } + template> + DERIVED &replace(const std::optional &opt) + { + return (*this)(opt); + } + // (index/label/Lookup, value) // If WHOLE == vector - // Replace vector element. + // Find the vector's element that has the given index, label, or Lookup, + // and replace it with the given replacement value. template< class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t> @@ -425,6 +468,14 @@ class FieldPart,PART> { return whole.parent; } + template< + class KEY, class = detail::isSearchKeyRefReturn, + class T = WHOLE, class = detail::isVector_t> + DERIVED &replace(const KEY &key, const std::optional &opt) + { + return (*this)(key,opt); + } + // ------------------------ // Assignment // ------------------------ @@ -486,9 +537,9 @@ void *fieldAddress(T &value) } template -void *fieldAddress(Field &value) +void *fieldAddress(Field &field) { - return &value(); + return &field(); } // ------------------------ From 536ab5df5767255c1253d267da41b7605c4448b3 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 30 Jun 2022 18:27:40 -0600 Subject: [PATCH 125/235] Some new functions. --- src/GNDStk/Component/src/field.hpp | 35 ++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index bc7e117a9..2fa24b50d 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -144,7 +144,7 @@ class Field { return (*this)(opt); } - // (scalar) + // (element) // If T == [optional] vector // Add (via push_back) to this->value, which in this context is a vector. template> @@ -162,6 +162,13 @@ class Field { return (*this)(obj); } + template> + DERIVED &operator+=( + const typename detail::isVectorOrOptionalVector::value_type &obj + ) { + return add(obj); + } + // (index/label/Lookup, value) // If T == [optional] vector // Find the vector's element that has the given index, label, or Lookup, @@ -439,10 +446,18 @@ class FieldPart,PART> { // Setters // ------------------------ - // (value) + // (value) or (element) // If WHOLE == variant - // Replace existing value with another value. - template> + // ...Replace existing value with another value. + // If WHOLE == vector + // ...Add (via push_back) to whole, which in this context wraps a vector. + template< + class T = WHOLE, + class = std::enable_if_t< + detail::isVariant_t::value || + detail::isVector_t ::value + > + > DERIVED &operator()(const std::optional &opt) { if (opt) whole(opt.value()); @@ -455,6 +470,18 @@ class FieldPart,PART> { return (*this)(opt); } + template> + DERIVED &add(const std::optional &opt) + { + return (*this)(opt); + } + + template> + DERIVED &operator+=(const std::optional &opt) + { + return add(opt); + } + // (index/label/Lookup, value) // If WHOLE == vector // Find the vector's element that has the given index, label, or Lookup, From 66ae7edba45ca7524ef8135f8fc42342da138f56 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 5 Jul 2022 13:36:05 -0600 Subject: [PATCH 126/235] A couple of small updates. --- autogen/json2class.cpp | 3 ++- src/GNDStk/Component/src/field.hpp | 19 +++++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 1b51f118b..6e9706ccb 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -981,7 +981,6 @@ void writeClassSuffix( out(1,"#undef GNDSTK_COMPONENT"); // class+namespace end - out(); out("}; // class @", per.clname); out(); out("} // namespace @", per.nsname); @@ -1082,6 +1081,8 @@ void writeClassCtors(writer &out, const PerClass &per) out(); if (total == 0) { + out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata)"); + out(); out(1,"// default"); out(1,"@() :", per.clname); writeClassCtorComponent(out, per, false); diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index 2fa24b50d..61e3e0f52 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -521,20 +521,35 @@ template struct wrapper { T value; - // Constructor + // wrapper(from) template< class FROM = T, - class = std::enable_if_t>> + class = std::enable_if_t< + std::is_constructible_v || std::is_convertible_v + > + > wrapper(const FROM &v = FROM{}) : value(T(v)) { } + // wrapper(initializer_list) + // If T == vector + template< + class TEE = T, + class = std::enable_if_t::value> + > + wrapper(const std::initializer_list &v) : + value(v) + { } + + // wrapper(optional::value_type) // If T == optional template>> wrapper(const typename TEE::value_type &v) : value(v) { } + // wrapper(nullopt_t) // If T == optional template>> wrapper(const std::nullopt_t &v) : From 8df219a4e9de7749efaaf4a31a16c9a9c7421d2b Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 12 Jul 2022 16:43:40 -0600 Subject: [PATCH 127/235] Substantial new capability: class Component forwarding to fields. Component "forwards" to derived-class fields, where doing so is viable and unambiguous. This allows certain things to be shortened, when using generated classes. Moved some things around in Component's field.hpp. More clarity. Added some assignment operators there as well. Small change: some cases of "class" to "struct". Change: generated-class ctors from Node are now explicit. I think they really should be, because a Node is very general and could easily contain content (name, metadata, or child nodes) that make it fail at run-time when converting to an object of some particular generated class. --- autogen/json2class.cpp | 2 +- src/GNDStk/Component.hpp | 5 + src/GNDStk/Component/src/detail-sfinae.hpp | 122 ++++++++++++- src/GNDStk/Component/src/field.hpp | 109 +++++++----- src/GNDStk/Component/src/forward.hpp | 183 ++++++++++++++++++++ src/GNDStk/Node/src/detail.hpp | 15 +- src/GNDStk/or/src/detail.hpp | 39 ++--- src/GNDStk/utility.hpp | 38 ++-- src/GNDStk/v1.9/containers/Axes.hpp | 3 +- src/GNDStk/v1.9/containers/Axis.hpp | 3 +- src/GNDStk/v1.9/containers/Grid.hpp | 3 +- src/GNDStk/v1.9/containers/Link.hpp | 3 +- src/GNDStk/v1.9/containers/Regions1d.hpp | 3 +- src/GNDStk/v1.9/containers/Values.hpp | 3 +- src/GNDStk/v1.9/containers/XYs1d.hpp | 3 +- src/GNDStk/v1.9/transport/CrossSection.hpp | 3 +- src/GNDStk/v1.9/transport/Reaction.hpp | 3 +- src/GNDStk/v1.9/transport/ReactionSuite.hpp | 3 +- src/GNDStk/v1.9/transport/Reactions.hpp | 3 +- 19 files changed, 416 insertions(+), 130 deletions(-) create mode 100644 src/GNDStk/Component/src/forward.hpp diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 6e9706ccb..b9e4dd790 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1152,7 +1152,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(); out(1,"// from node"); - out(1,"@(const Node &node) :", per.clname); + out(1,"explicit @(const Node &node) :", per.clname); writeClassCtorComponent(out, per, false); writeClassCtorBody(out, "", "node"); diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index 8f01c5de3..3847d8f8f 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -20,6 +20,7 @@ class Component : public BlockData using BLOCKDATA = BlockData; using typename BLOCKDATA::VariantOfVectors; using typename BLOCKDATA::VariantOfScalars; + static const auto &Keys() { static const auto value = makeKeyTuple(DERIVED::KEYS()); @@ -151,6 +152,10 @@ class Component : public BlockData } } + // Forwards, where viable and unambiguous, to certain capabilities + // in DERIVED's fields + #include "GNDStk/Component/src/forward.hpp" + // Wrapper for derived-class fields #include "GNDStk/Component/src/field.hpp" diff --git a/src/GNDStk/Component/src/detail-sfinae.hpp b/src/GNDStk/Component/src/detail-sfinae.hpp index 734ba2260..471408620 100644 --- a/src/GNDStk/Component/src/detail-sfinae.hpp +++ b/src/GNDStk/Component/src/detail-sfinae.hpp @@ -1,6 +1,6 @@ // ----------------------------------------------------------------------------- -// Helper classes +// Re: [optional] vector [of variant] // ----------------------------------------------------------------------------- // ------------------------ @@ -19,8 +19,13 @@ struct isVector> : public std::true_type { }; +// isVector_v template -using isVector_t = std::enable_if_t::value>; +inline constexpr bool isVector_v = isVector::value; + +// isVector_t +template +using isVector_t = std::enable_if_t>; // ------------------------ // isOptionalVector @@ -90,6 +95,11 @@ struct isVectorVariant,Alloc>> template using isVectorVariant_t = std::enable_if_t::value>; + +// ----------------------------------------------------------------------------- +// Re: Defaulted +// ----------------------------------------------------------------------------- + // ------------------------ // isDefaulted // ------------------------ @@ -109,6 +119,11 @@ struct isDefaulted> template using isDefaulted_t = std::enable_if_t::value>; + +// ----------------------------------------------------------------------------- +// Re: Lookup +// ----------------------------------------------------------------------------- + // ------------------------ // isLookup // ------------------------ @@ -151,6 +166,11 @@ inline constexpr bool isLookupBoolReturn = detail::isLookup::value && !detail::isLookupRefReturn::value; + +// ----------------------------------------------------------------------------- +// Re: SearchKey +// ----------------------------------------------------------------------------- + // ------------------------ // isSearchKey // isSearchKeyRefReturn @@ -177,6 +197,104 @@ using isSearchKeyRefReturn = std::enable_if_t< isLookupRefReturn::value // not any Lookup; must give a reference return >; + +// ----------------------------------------------------------------------------- +// Re: Component's "forwards" +// ----------------------------------------------------------------------------- + +// ------------------------ +// isMatchExact +// ------------------------ + +// general +template +struct isMatchExact { + static constexpr int count = 0; +}; + +// FROM, vector +template +struct isMatchExact> { + static constexpr int count = 1; +}; + +// FROM, optional> +template +struct isMatchExact>> + : public isMatchExact> +{ }; + +// ------------------------ +// MatchesExact +// ------------------------ + +// general +template +struct MatchesExact { + static constexpr std::size_t count = 0; +}; + +// FROM, tuple<...> +template +struct MatchesExact> { + static constexpr std::size_t count = ( + isMatchExact< + FROM, + std::decay_t()))> + >::count + + ... + ); +}; + +// ------------------------ +// isMatchViable +// ------------------------ + +// general +template +struct isMatchViable { + static constexpr int count = 0; +}; + +// FROM, vector +template +struct isMatchViable> { + static constexpr int count = std::is_convertible_v; +}; + +// FROM, optional> +template +struct isMatchViable>> + : public isMatchViable> +{ }; + +// ------------------------ +// MatchesViable +// ------------------------ + +// general +template +struct MatchesViable { + static constexpr std::size_t count = 0; +}; + +// FROM, tuple<...> +template +struct MatchesViable> { + static constexpr std::size_t count = ( + isMatchViable< + FROM, + std::decay_t()))> + >::count + + ... + ); +}; + + +// ----------------------------------------------------------------------------- +// Miscellaneous +// ----------------------------------------------------------------------------- + // ------------------------ // firstOrOnly // ------------------------ diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index 61e3e0f52..503c191ad 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -115,73 +115,84 @@ class Field { // Setters // ------------------------ - // (T) + // replace(T) // Replace existing value with another value. - DERIVED &operator()(const T &val) + DERIVED &replace(const T &val) { value = val; return parent; } - DERIVED &replace(const T &val) + DERIVED &operator()(const T &val) + { + return replace(val); + } + + DERIVED &operator=(const T &val) { - return (*this)(val); + return replace(val); } - // (optional) + // replace(optional) // If T == Defaulted // Replace existing Defaulted's value with the given optional value. template> - DERIVED &operator()(const std::optional &opt) + DERIVED &replace(const std::optional &opt) { value = opt; return parent; } template> - DERIVED &replace(const std::optional &opt) + DERIVED &operator()(const std::optional &opt) { - return (*this)(opt); + return replace(opt); } - // (element) + template> + DERIVED &operator=(const std::optional &opt) + { + return replace(opt); + } + + // add(element) // If T == [optional] vector // Add (via push_back) to this->value, which in this context is a vector. template> - DERIVED &operator()( - const typename detail::isVectorOrOptionalVector::value_type &obj + DERIVED &add( + const typename detail::isVectorOrOptionalVector::value_type &elem ) { - parent.setter(value, obj); + parent.setter(value, elem); return parent; } template> - DERIVED &add( - const typename detail::isVectorOrOptionalVector::value_type &obj + DERIVED &operator()( + const typename detail::isVectorOrOptionalVector::value_type &elem ) { - return (*this)(obj); + return add(elem); } template> DERIVED &operator+=( - const typename detail::isVectorOrOptionalVector::value_type &obj + const typename detail::isVectorOrOptionalVector::value_type &elem ) { - return add(obj); + return add(elem); } - // (index/label/Lookup, value) + // replace(index/label/Lookup, element) // If T == [optional] vector // Find the vector's element that has the given index, label, or Lookup, - // and replace it with the given replacement value. + // and replace it with the given replacement element. template< class KEY, class = detail::isSearchKeyRefReturn, class TEE = T, class = detail::isVectorOrOptionalVector_t > - DERIVED &operator()( + DERIVED &replace( const KEY &key, - const typename detail::isVectorOrOptionalVector::value_type &obj + const typename detail::isVectorOrOptionalVector::value_type &elem ) { - (*this)(key) = obj; + (*this)(key) = elem; return parent; } @@ -189,11 +200,11 @@ class Field { class KEY, class = detail::isSearchKeyRefReturn, class TEE = T, class = detail::isVectorOrOptionalVector_t > - DERIVED &replace( + DERIVED &operator()( const KEY &key, - const typename detail::isVectorOrOptionalVector::value_type &obj + const typename detail::isVectorOrOptionalVector::value_type &elem ) { - return (*this)(key,obj); + return replace(key,elem); } // ------------------------ @@ -446,34 +457,40 @@ class FieldPart,PART> { // Setters // ------------------------ - // (value) or (element) + // replace(value) // If WHOLE == variant - // ...Replace existing value with another value. - // If WHOLE == vector - // ...Add (via push_back) to whole, which in this context wraps a vector. - template< - class T = WHOLE, - class = std::enable_if_t< - detail::isVariant_t::value || - detail::isVector_t ::value - > - > - DERIVED &operator()(const std::optional &opt) + template> + DERIVED &replace(const std::optional &opt) { - if (opt) whole(opt.value()); + if (opt) whole.replace(opt.value()); return whole.parent; } - template> - DERIVED &replace(const std::optional &opt) + template, int> = 0> + DERIVED &operator()(const std::optional &opt) + { + return replace(opt); + } + + template, int> = 0> + DERIVED &operator=(const std::optional &opt) { - return (*this)(opt); + return replace(opt); } + // add(value) + // If WHOLE == vector template> DERIVED &add(const std::optional &opt) { - return (*this)(opt); + if (opt) whole.add(opt.value()); + return whole.parent; + } + + template, int> = 0> + DERIVED &operator()(const std::optional &opt) + { + return add(opt); } template> @@ -482,14 +499,14 @@ class FieldPart,PART> { return add(opt); } - // (index/label/Lookup, value) + // replace(index/label/Lookup, element) // If WHOLE == vector // Find the vector's element that has the given index, label, or Lookup, // and replace it with the given replacement value. template< class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t> - DERIVED &operator()(const KEY &key, const std::optional &opt) + DERIVED &replace(const KEY &key, const std::optional &opt) { if (opt) whole(key,opt.value()); return whole.parent; @@ -498,9 +515,9 @@ class FieldPart,PART> { template< class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t> - DERIVED &replace(const KEY &key, const std::optional &opt) + DERIVED &operator()(const KEY &key, const std::optional &opt) { - return (*this)(key,opt); + return replace(key,opt); } // ------------------------ diff --git a/src/GNDStk/Component/src/forward.hpp b/src/GNDStk/Component/src/forward.hpp new file mode 100644 index 000000000..f6e6e2d69 --- /dev/null +++ b/src/GNDStk/Component/src/forward.hpp @@ -0,0 +1,183 @@ + +/* +Remark about terminology. + +Elsewhere in GNDStk, we often refer to objects of type Meta or Child as "keys". + +However, in the context of classes generated by our code generator, and in +general when working with classes that derive from Component, we sometimes use +the term "key" to mean some sort of "lookup key". + +Code that appears later in this file involves both of the above contexts. So, +in order to keep confusion to a minimum, we'll write "MC" or "mc" (where we +might otherwise write "KEY" or "key") when Meta/Child are involved, and KEY +or "key" where lookup keys are involved. + +Optionally continue reading, if you care.... + +Example. Say that an object of class Element has a vector, where each +object of type Isotope contains an int called mass_number. In this scenario, the +code generator will create mechanisms by which we can look up a specific Isotope +in an Element's vector, given the wanted Isotope's mass_number. + +We'll also get functionality, via functions called replace(), to look up and +replace an isotope, given a lookup key like mass_number. Here's an admittedly +very contrived example of how such a replace function might be called: + + // Helium! + Element He("He",2); // element #2 + + // Give it some Isotopes + He += Isotope(2); // <== oops, Helium 2 doesn't really exist + He += Isotope(4); + + // We meant to create Helium 3, not Helium 2, so let's replace the bad value + He.isotope.replace(mass_number(2),Isotope(3)); + +The last line will search through He.isotope (a vector), find the +element (the Isotope) with mass_number == 2, and replace that entire Isotope +with an Isotope that has the correct mass_number. (While the above example is +very contrived, one could imagine a real-world example in which we look up an +object that's known to have faulty data, and replace it with a fixed object.) + +The replace() function later in this file allows the last line of code, above, +to be rewritten with something shorter: + + // He.replace, not He.isotope.replace + He.replace(mass_number(2),Isotope(3)); + +in the event that the code can determine, unambiguously, via some SFINAE +shenanigans, that we must mean He.isotope, not other member data that an +Element (like He) might happen to contain. + +To make a long story short (glossing over the fact that the above story is +perhaps already somewhat long :-/), the term "key" will relate to the mass +number lookup here. Whereas, Meta/Child objects are involved in the process +of examining what metadatum and child-node member data appear in class Element, +this examination being to determine that He.isotope is intended. +*/ + + +// ----------------------------------------------------------------------------- +// Helpers +// ----------------------------------------------------------------------------- + +private: + +// Matches +template +static inline constexpr bool Matches = + detail::MatchesExact ::count == 1 || + detail::MatchesViable::count == 1; + +// added +// MC = Meta or Child +template +bool added( + const FROM &elem, const MC &mc, + const bool exact, const std::size_t n +) { + // Remark. The below conditional code (involving both runtime and constexpr + // ifs) doesn't simplify in what may seem like obvious ways. Note that bool + // exact is runtime, and came from looking over all types in the caller's + // fold expression. For a given type from the fold expression, either or both + // of the following constexpr ifs may fail, and their bodies not make sense + // or not be something we'd necessarily want to call. (Specifically, if exact + // and viable matches both == 1, and the viable match is found before the + // exact one, we want to skip the [return setter] and wait for the exact.) + using T = std::decay_t; + if ( exact) if constexpr (detail::isMatchExact ::count) + return setter(*(T *)links[n],elem), true; + if (!exact) if constexpr (detail::isMatchViable::count) + return setter(*(T *)links[n],elem), true; + return false; +} + +// replaced +template +bool replaced( + const KEY &key, const FROM &elem, const MC &mc, + const bool exact, const std::size_t n +) { + using T = std::decay_t; + if ( exact) if constexpr (detail::isMatchExact ::count) + return getter(*(T *)links[n],key) = elem, true; + if (!exact) if constexpr (detail::isMatchViable::count) + return getter(*(T *)links[n],key) = elem, true; + return false; +} + +public: + + +// ----------------------------------------------------------------------------- +// add(element) +// ----------------------------------------------------------------------------- + +// add +template>> +DERIVED &add(const FROM &elem) +{ + // match exact? (else viable, per SFINAE requirement) + using TUP = decltype(Keys().tup); + const bool exact = detail::MatchesExact::count == 1; + + // scan until match + std::apply( + [this,&elem,exact](const auto &... mc) { + std::size_t n = 0; bool found = false; + ((found || (found = this->added(elem,mc,exact,n++))), ...); + }, + Keys().tup + ); + + // done + return derived(); +} + +// () +template>> +DERIVED &operator()(const FROM &elem) { return add(elem); } + +// += +template>> +DERIVED &operator+=(const FROM &elem) { return add(elem); } + + +// ----------------------------------------------------------------------------- +// replace(index/label/Lookup, element) +// ----------------------------------------------------------------------------- + +// replace +template< + class KEY, class = detail::isSearchKeyRefReturn, + class FROM, class = std::enable_if_t> +> +DERIVED &replace(const KEY &key, const FROM &elem) +{ + // match exact? (else viable, per SFINAE requirement) + using TUP = decltype(Keys().tup); + const bool exact = detail::MatchesExact::count == 1; + + // scan until match + std::apply( + [this,&key,&elem,exact](const auto &... mc) { + std::size_t n = 0; bool found = false; + ((found || (found = this->replaced(key,elem,mc,exact,n++))), ...); + }, + Keys().tup + ); + + // done + return derived(); +} + +// () +template< + class KEY, class = detail::isSearchKeyRefReturn, + class FROM, class = std::enable_if_t> +> +DERIVED &operator()(const KEY &key, const FROM &elem) +{ + return replace(key,elem); +} diff --git a/src/GNDStk/Node/src/detail.hpp b/src/GNDStk/Node/src/detail.hpp index 9fe12d636..703a60961 100644 --- a/src/GNDStk/Node/src/detail.hpp +++ b/src/GNDStk/Node/src/detail.hpp @@ -7,15 +7,13 @@ namespace detail { // default template -class is_optional { -public: +struct is_optional { static constexpr bool value = false; }; // optional template -class is_optional> { -public: +struct is_optional> { static constexpr bool value = true; }; @@ -30,22 +28,19 @@ inline constexpr bool isOptional = is_optional>::value; // default template -class remove_opt_def { -public: +struct remove_opt_def { using type = T; }; // optional template -class remove_opt_def> { -public: +struct remove_opt_def> { using type = T; }; // Defaulted template -class remove_opt_def> { -public: +struct remove_opt_def> { using type = T; }; diff --git a/src/GNDStk/or/src/detail.hpp b/src/GNDStk/or/src/detail.hpp index 8dd12f859..1fe6401a0 100644 --- a/src/GNDStk/or/src/detail.hpp +++ b/src/GNDStk/or/src/detail.hpp @@ -16,15 +16,13 @@ namespace detail { // default template -class IsMeta { -public: +struct IsMeta { static constexpr bool value = false; }; // Meta template -class IsMeta> { -public: +struct IsMeta> { static constexpr bool value = true; }; @@ -35,15 +33,13 @@ class IsMeta> { // default template -class IsChild { -public: +struct IsChild { static constexpr bool value = false; }; // Child template -class IsChild> { -public: +struct IsChild> { static constexpr bool value = true; }; @@ -53,8 +49,7 @@ class IsChild> { // ------------------------ template -class IsMetaOrChild { -public: +struct IsMetaOrChild { static constexpr bool value = IsMeta::value || IsChild::value; }; @@ -65,47 +60,41 @@ class IsMetaOrChild { // default template -class IsStringOrRegex { -public: +struct IsStringOrRegex { static constexpr bool value = false; }; // string template<> -class IsStringOrRegex { -public: +struct IsStringOrRegex { static constexpr bool value = true; using type = std::string; }; // char * template<> -class IsStringOrRegex { -public: +struct IsStringOrRegex { static constexpr bool value = true; using type = std::string; }; // const char * template<> -class IsStringOrRegex { -public: +struct IsStringOrRegex { static constexpr bool value = true; using type = std::string; }; // char[N] template -class IsStringOrRegex { -public: +struct IsStringOrRegex { static constexpr bool value = true; using type = std::string; }; // regex template<> -class IsStringOrRegex { -public: +struct IsStringOrRegex { static constexpr bool value = true; using type = std::regex; }; @@ -117,15 +106,13 @@ class IsStringOrRegex { // default template -class IsPairChildStringOrRegex { -public: +struct IsPairChildStringOrRegex { static constexpr bool value = false; }; // pair template -class IsPairChildStringOrRegex> { -public: +struct IsPairChildStringOrRegex> { static constexpr bool value = IsChild::value && IsStringOrRegex::value; }; diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index bec963da0..2abfea518 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -512,19 +512,20 @@ namespace detail { // ------------------------ template -class isVariant { -public: +struct isVariant { static constexpr bool value = false; }; template -class isVariant> { -public: +struct isVariant> { static constexpr bool value = true; }; template -using isVariant_t = std::enable_if_t::value>; +inline constexpr bool isVariant_v = isVariant::value; + +template +using isVariant_t = std::enable_if_t>; // ------------------------ // isAlternative @@ -534,15 +535,13 @@ using isVariant_t = std::enable_if_t::value>; // no (general case) template -class is_alternative { -public: +struct is_alternative { static constexpr bool value = false; }; // yes template -class is_alternative> { -public: +struct is_alternative> { static constexpr bool value = (std::is_same_v || ...); }; @@ -573,8 +572,7 @@ inline constexpr bool isAlternative = // its types. template -class is_alternativeOrTheVariant { -public: +struct is_alternativeOrTheVariant { static constexpr bool value = isAlternative || std::is_same_v; }; @@ -589,15 +587,13 @@ inline constexpr bool isAlternativeOrTheVariant = // general template -class is_void { -public: +struct is_void { static constexpr bool value = false; }; // void template<> -class is_void { -public: +struct is_void { static constexpr bool value = true; using type = void; }; @@ -612,16 +608,14 @@ inline constexpr bool isVoid = is_void::value; // general template -class isNotVoid { -public: +struct isNotVoid { static constexpr bool value = true; using type = T; }; // void template<> -class isNotVoid { -public: +struct isNotVoid { static constexpr bool value = false; }; @@ -636,20 +630,18 @@ class isNotVoid { // probably sufficient for our needs, and could be relaxed later if necessary. template -class isIterable { -public: +struct isIterable { static constexpr bool value = false; }; template -class isIterable< +struct isIterable< T, std::void_t< decltype(std::declval().begin()), decltype(std::declval().end()) > > { -public: static constexpr bool value = true; }; diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/src/GNDStk/v1.9/containers/Axes.hpp index ddde0bed8..0b747cfa4 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/src/GNDStk/v1.9/containers/Axes.hpp @@ -80,7 +80,7 @@ class Axes : public Component { } // from node - Axes(const Node &node) : + explicit Axes(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -115,7 +115,6 @@ class Axes : public Component { #include "GNDStk/v1.9/containers/Axes/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class Axes } // namespace containers diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/src/GNDStk/v1.9/containers/Axis.hpp index e8a30ab3d..cf3122ca8 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/src/GNDStk/v1.9/containers/Axis.hpp @@ -75,7 +75,7 @@ class Axis : public Component { } // from node - Axis(const Node &node) : + explicit Axis(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -110,7 +110,6 @@ class Axis : public Component { #include "GNDStk/v1.9/containers/Axis/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class Axis } // namespace containers diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/src/GNDStk/v1.9/containers/Grid.hpp index a53c1857c..d2af5883b 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/src/GNDStk/v1.9/containers/Grid.hpp @@ -110,7 +110,7 @@ class Grid : public Component { } // from node - Grid(const Node &node) : + explicit Grid(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -145,7 +145,6 @@ class Grid : public Component { #include "GNDStk/v1.9/containers/Grid/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class Grid } // namespace containers diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/src/GNDStk/v1.9/containers/Link.hpp index 54c7bfe54..1f3caf304 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/src/GNDStk/v1.9/containers/Link.hpp @@ -63,7 +63,7 @@ class Link : public Component { } // from node - Link(const Node &node) : + explicit Link(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -98,7 +98,6 @@ class Link : public Component { #include "GNDStk/v1.9/containers/Link/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class Link } // namespace containers diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/src/GNDStk/v1.9/containers/Regions1d.hpp index bc0ddd1b1..e71dc9f61 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/src/GNDStk/v1.9/containers/Regions1d.hpp @@ -85,7 +85,7 @@ class Regions1d : public Component { } // from node - Regions1d(const Node &node) : + explicit Regions1d(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -120,7 +120,6 @@ class Regions1d : public Component { #include "GNDStk/v1.9/containers/Regions1d/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class Regions1d } // namespace containers diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/src/GNDStk/v1.9/containers/Values.hpp index bbb94caae..f63bd816b 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/src/GNDStk/v1.9/containers/Values.hpp @@ -83,7 +83,7 @@ class Values : public Component { } // from node - Values(const Node &node) : + explicit Values(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -126,7 +126,6 @@ class Values : public Component { #include "GNDStk/v1.9/containers/Values/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class Values } // namespace containers diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/src/GNDStk/v1.9/containers/XYs1d.hpp index fbce250a9..16f21c58e 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/src/GNDStk/v1.9/containers/XYs1d.hpp @@ -103,7 +103,7 @@ class XYs1d : public Component { } // from node - XYs1d(const Node &node) : + explicit XYs1d(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -138,7 +138,6 @@ class XYs1d : public Component { #include "GNDStk/v1.9/containers/XYs1d/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class XYs1d } // namespace containers diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/src/GNDStk/v1.9/transport/CrossSection.hpp index e0655f595..1fb69532c 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/src/GNDStk/v1.9/transport/CrossSection.hpp @@ -71,7 +71,7 @@ class CrossSection : public Component { } // from node - CrossSection(const Node &node) : + explicit CrossSection(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -106,7 +106,6 @@ class CrossSection : public Component { #include "GNDStk/v1.9/transport/CrossSection/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class CrossSection } // namespace transport diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/src/GNDStk/v1.9/transport/Reaction.hpp index 629cd4362..b834ae181 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/src/GNDStk/v1.9/transport/Reaction.hpp @@ -84,7 +84,7 @@ class Reaction : public Component { } // from node - Reaction(const Node &node) : + explicit Reaction(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -119,7 +119,6 @@ class Reaction : public Component { #include "GNDStk/v1.9/transport/Reaction/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class Reaction } // namespace transport diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/src/GNDStk/v1.9/transport/ReactionSuite.hpp index 387794ef4..a5bbf0ed0 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/src/GNDStk/v1.9/transport/ReactionSuite.hpp @@ -102,7 +102,7 @@ class ReactionSuite : public Component { } // from node - ReactionSuite(const Node &node) : + explicit ReactionSuite(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -137,7 +137,6 @@ class ReactionSuite : public Component { #include "GNDStk/v1.9/transport/ReactionSuite/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class ReactionSuite } // namespace transport diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/src/GNDStk/v1.9/transport/Reactions.hpp index a7f279d51..3a17ac2ab 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/src/GNDStk/v1.9/transport/Reactions.hpp @@ -63,7 +63,7 @@ class Reactions : public Component { } // from node - Reactions(const Node &node) : + explicit Reactions(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { Component::finish(node); @@ -98,7 +98,6 @@ class Reactions : public Component { #include "GNDStk/v1.9/transport/Reactions/src/custom.hpp" #undef GNDSTK_COMPONENT - }; // class Reactions } // namespace transport From a3d4b8ac3236dc18577278e43c971d87695296a9 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 14 Jul 2022 20:40:28 -0600 Subject: [PATCH 128/235] Beginnings of a C-language interface. --- c/src/GNDStk.cpp | 12 +++ c/src/GNDStk.h | 34 ++++++++ src/GNDStk.hpp | 3 + src/GNDStk/CInterface.hpp | 3 + src/GNDStk/CInterface/src/detail.hpp | 115 +++++++++++++++++++++++++++ src/GNDStk/Component/src/forward.hpp | 4 + 6 files changed, 171 insertions(+) create mode 100644 c/src/GNDStk.cpp create mode 100644 c/src/GNDStk.h create mode 100644 src/GNDStk/CInterface.hpp create mode 100644 src/GNDStk/CInterface/src/detail.hpp diff --git a/c/src/GNDStk.cpp b/c/src/GNDStk.cpp new file mode 100644 index 000000000..ba6b38e17 --- /dev/null +++ b/c/src/GNDStk.cpp @@ -0,0 +1,12 @@ + +#include "GNDStk.h" + + +// ----------------------------------------------------------------------------- +// color +// ----------------------------------------------------------------------------- + +void color(const int value) +{ + njoy::GNDStk::color = bool(value); +} diff --git a/c/src/GNDStk.h b/c/src/GNDStk.h new file mode 100644 index 000000000..9508983a1 --- /dev/null +++ b/c/src/GNDStk.h @@ -0,0 +1,34 @@ + +// ----------------------------------------------------------------------------- +// Interface for C +// This file works in both C++ and C +// ----------------------------------------------------------------------------- + +#ifndef GNDSTK_CINTERFACE +#define GNDSTK_CINTERFACE + +#ifdef __cplusplus + // For C++ + #include "GNDStk.hpp" + #define extern_C extern "C" +#else + // For C + #define extern_C +#endif + + +// ----------------------------------------------------------------------------- +// Function declarations +// Function definitions are in this file's .cpp +// ----------------------------------------------------------------------------- + +// colors +extern_C +void color(const int); + + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + +#undef extern_C +#endif diff --git a/src/GNDStk.hpp b/src/GNDStk.hpp index 824f9e4d0..737568508 100644 --- a/src/GNDStk.hpp +++ b/src/GNDStk.hpp @@ -103,5 +103,8 @@ namespace GNDStk { #include "GNDStk/BlockData.hpp" #include "GNDStk/Component.hpp" +// Helper constructs for C-language interfaces +#include "GNDStk/CInterface.hpp" + } // namespace GNDStk } // namespace njoy diff --git a/src/GNDStk/CInterface.hpp b/src/GNDStk/CInterface.hpp new file mode 100644 index 000000000..83023ac34 --- /dev/null +++ b/src/GNDStk/CInterface.hpp @@ -0,0 +1,3 @@ + +// Miscellaneous helper constructs +#include "GNDStk/CInterface/src/detail.hpp" diff --git a/src/GNDStk/CInterface/src/detail.hpp b/src/GNDStk/CInterface/src/detail.hpp new file mode 100644 index 000000000..4d1ca8514 --- /dev/null +++ b/src/GNDStk/CInterface/src/detail.hpp @@ -0,0 +1,115 @@ + +namespace detail { + +// ----------------------------------------------------------------------------- +// For handles: container, find +// ----------------------------------------------------------------------------- + +// getAllHandles +// Returns a container +template +auto &getAllHandles() +{ + static std::set> pointers; + return pointers; +} + +// findHandle +// Returns an iterator +template +auto findHandle(const C *const ptr) +{ + auto &pointers = getAllHandles(); + + return std::find_if( + pointers.begin(), pointers.end(), + [ptr](const std::shared_ptr &shared) + { + return shared.get() == reinterpret_cast(ptr); + } + ); +} + + +// ----------------------------------------------------------------------------- +// get, delete +// ----------------------------------------------------------------------------- + +// getNewHandle +template +C *getNewHandle() +{ + const std::shared_ptr ptr = std::make_shared(); + return reinterpret_cast(&(**getAllHandles().insert(ptr).first)); +} + +// deleteHandle +template +void deleteHandle(const C *const ptr) +{ + auto &pointers = getAllHandles(); + const auto iter = findHandle(ptr); + + if (iter != pointers.end()) + pointers.erase(iter); + else { + log::warning( + "Ignoring call to delete handle {}.\n" + "Handle is not valid, or was already deleted.", + reinterpret_cast(ptr) + ); + } +} + + +// ----------------------------------------------------------------------------- +// assign +// ----------------------------------------------------------------------------- + +// assignHandle +template +C *assignHandle(C *const lhs, const C *const rhs) +{ + auto &pointers = getAllHandles(); + + /* + // todo + // Think about reasonable ways of doing the following that are compatible + // with C, which (unlike C++) doesn't have references. Sending &handle is + // an obvious option, but we may or may not care about doing this. + + // lhs: should be null or valid (if null, we'll create) + if (lhs == nullptr) { + // note that we need to cast away const for this + std::cout << "creating from nullptr..." << std::endl; + *const_cast(&lhs) = getNewHandle(); + } else + */ + + static const std::string remark = + "\nIgnoring the assignment and continuing (but you should" + "\nprobably look into this, and fix something)."; + + // check lhs + if (findHandle(lhs) == pointers.end()) { + log::error( + "Unknown handle on left side of assignment {} = ...." + remark, + reinterpret_cast(lhs) + ); + return lhs; + } + + // check rhs + if (findHandle(rhs) == pointers.end()) { + log::error( + "Unknown handle on right side of assignment ... = {}." + remark, + reinterpret_cast(rhs) + ); + return lhs; + } + + reinterpret_cast(*lhs) = reinterpret_cast(*rhs); + return lhs; +} + +} // namespace detail diff --git a/src/GNDStk/Component/src/forward.hpp b/src/GNDStk/Component/src/forward.hpp index f6e6e2d69..97379863a 100644 --- a/src/GNDStk/Component/src/forward.hpp +++ b/src/GNDStk/Component/src/forward.hpp @@ -77,6 +77,10 @@ bool added( const FROM &elem, const MC &mc, const bool exact, const std::size_t n ) { + // Silence warnings that seem to crop up with some compilers, when neither + // of the below constexpr ifs passes. + (void)n; + // Remark. The below conditional code (involving both runtime and constexpr // ifs) doesn't simplify in what may seem like obvious ways. Note that bool // exact is runtime, and came from looking over all types in the caller's From a996ae3ffa6110cc17f94cdffd35ac949635c1c4 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 14 Jul 2022 21:45:59 -0600 Subject: [PATCH 129/235] Added comment. --- c/src/GNDStk.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/c/src/GNDStk.h b/c/src/GNDStk.h index 9508983a1..294640a0f 100644 --- a/c/src/GNDStk.h +++ b/c/src/GNDStk.h @@ -26,6 +26,15 @@ extern_C void color(const int); +// todo +// Obviously, we'll want much, much more here. I'll probably add additional +// C-style interfaces to GNDStk's C++ code gradually, as we discover what +// our C language users want. Note that we're speaking here about the C +// interface to the overarching GNDStk library, not a C interface to some +// particular set of generated C++ classes that somebody might have created +// with our code generator. Those C interfaces are (or will be) created +// automatically, by the code generator, just as the C++ classes are. + // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- From 3e69dd9c6ddadf994e161036604ff36c2a151260 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 19 Jul 2022 13:37:48 -0600 Subject: [PATCH 130/235] Hammering out more details for the C-language interface. --- c/src/GNDStk.cpp | 71 +++++++++++++++- c/src/GNDStk.h | 26 ++++-- src/GNDStk.hpp | 2 +- src/GNDStk/CInterface/src/detail.hpp | 123 ++++++++++++++++++++++----- src/GNDStk/Component.hpp | 2 +- src/GNDStk/utility.hpp | 16 +++- 6 files changed, 203 insertions(+), 37 deletions(-) diff --git a/c/src/GNDStk.cpp b/c/src/GNDStk.cpp index ba6b38e17..ebdc162c9 100644 --- a/c/src/GNDStk.cpp +++ b/c/src/GNDStk.cpp @@ -1,12 +1,79 @@ +// ----------------------------------------------------------------------------- +// Interface for C +// Definitions +// ----------------------------------------------------------------------------- + #include "GNDStk.h" // ----------------------------------------------------------------------------- -// color +// Some basic flags +// In C++, these are available via inline variables. +// For C, we make them functions. // ----------------------------------------------------------------------------- -void color(const int value) +// ------------------------ +// General +// ------------------------ + +void indent(const int value) +{ + njoy::GNDStk::indent = value; +} + +void align(const int value) +{ + njoy::GNDStk::align = bool(value); +} + +void colors(const int value) { njoy::GNDStk::color = bool(value); } + +// ------------------------ +// Re: Component printing +// ------------------------ + +void comments(const int value) +{ + njoy::GNDStk::comments = bool(value); +} + +void columns(const long value) +{ + njoy::GNDStk::columns = value; +} + +// A function name of truncate (for access to our C++ [inline long truncate] +// variable) appears to conflict, here in our C language interface functions, +// with a truncate function in unistd.h. So, we'll give it a different name. +void truncation(const long value) +{ + njoy::GNDStk::truncate = value; +} + +// ------------------------ +// Re: GNDStk diagnostics +// ------------------------ + +void notes(const int value) +{ + njoy::GNDStk::info = bool(value); +} + +void warnings(const int value) +{ + njoy::GNDStk::warning = bool(value); +} + +void debugs(const int value) +{ + njoy::GNDStk::debug = bool(value); +} + +void context(const int value) +{ + njoy::GNDStk::context = bool(value); +} diff --git a/c/src/GNDStk.h b/c/src/GNDStk.h index 294640a0f..9b872c32c 100644 --- a/c/src/GNDStk.h +++ b/c/src/GNDStk.h @@ -1,12 +1,13 @@ // ----------------------------------------------------------------------------- // Interface for C -// This file works in both C++ and C +// Declarations // ----------------------------------------------------------------------------- -#ifndef GNDSTK_CINTERFACE -#define GNDSTK_CINTERFACE +#ifndef C_INTERFACE_GNDSTK +#define C_INTERFACE_GNDSTK +// This file works in both C++ and C #ifdef __cplusplus // For C++ #include "GNDStk.hpp" @@ -19,15 +20,24 @@ // ----------------------------------------------------------------------------- // Function declarations -// Function definitions are in this file's .cpp +// Definitions are in this file's .cpp // ----------------------------------------------------------------------------- -// colors -extern_C -void color(const int); +extern_C void indent(const int); +extern_C void align(const int); +extern_C void colors(const int); + +extern_C void comments(const int); +extern_C void columns(const long); +extern_C void truncation(const long); + +extern_C void notes(const int); +extern_C void warnings(const int); +extern_C void debugs(const int); +extern_C void context(const int); // todo -// Obviously, we'll want much, much more here. I'll probably add additional +// Obviously, we'll want much more here. I'll probably add additional // C-style interfaces to GNDStk's C++ code gradually, as we discover what // our C language users want. Note that we're speaking here about the C // interface to the overarching GNDStk library, not a C interface to some diff --git a/src/GNDStk.hpp b/src/GNDStk.hpp index 737568508..8012cbad8 100644 --- a/src/GNDStk.hpp +++ b/src/GNDStk.hpp @@ -103,7 +103,7 @@ namespace GNDStk { #include "GNDStk/BlockData.hpp" #include "GNDStk/Component.hpp" -// Helper constructs for C-language interfaces +// Helper constructs for C language interfaces #include "GNDStk/CInterface.hpp" } // namespace GNDStk diff --git a/src/GNDStk/CInterface/src/detail.hpp b/src/GNDStk/CInterface/src/detail.hpp index 4d1ca8514..0728db393 100644 --- a/src/GNDStk/CInterface/src/detail.hpp +++ b/src/GNDStk/CInterface/src/detail.hpp @@ -2,7 +2,7 @@ namespace detail { // ----------------------------------------------------------------------------- -// For handles: container, find +// Helpers // ----------------------------------------------------------------------------- // getAllHandles @@ -32,21 +32,26 @@ auto findHandle(const C *const ptr) // ----------------------------------------------------------------------------- -// get, delete +// create, delete // ----------------------------------------------------------------------------- -// getNewHandle -template -C *getNewHandle() +// createHandle +template +C *createHandle(ARGS &&...args) { - const std::shared_ptr ptr = std::make_shared(); - return reinterpret_cast(&(**getAllHandles().insert(ptr).first)); + return reinterpret_cast( + &(**getAllHandles().insert( + std::make_shared(std::forward(args)...) + ).first) + ); } // deleteHandle template -void deleteHandle(const C *const ptr) -{ +void deleteHandle( + const std::string &classname, + const C *const ptr +) { auto &pointers = getAllHandles(); const auto iter = findHandle(ptr); @@ -54,9 +59,9 @@ void deleteHandle(const C *const ptr) pointers.erase(iter); else { log::warning( - "Ignoring call to delete handle {}.\n" + "Ignoring call to delete {} handle {}.\n" "Handle is not valid, or was already deleted.", - reinterpret_cast(ptr) + classname, reinterpret_cast(ptr) ); } } @@ -68,12 +73,14 @@ void deleteHandle(const C *const ptr) // assignHandle template -C *assignHandle(C *const lhs, const C *const rhs) -{ +void assignHandle( + const std::string &classname, + C *const lhs, const C *const rhs +) { auto &pointers = getAllHandles(); /* - // todo + // qqq // Think about reasonable ways of doing the following that are compatible // with C, which (unlike C++) doesn't have references. Sending &handle is // an obvious option, but we may or may not care about doing this. @@ -82,7 +89,7 @@ C *assignHandle(C *const lhs, const C *const rhs) if (lhs == nullptr) { // note that we need to cast away const for this std::cout << "creating from nullptr..." << std::endl; - *const_cast(&lhs) = getNewHandle(); + *const_cast(&lhs) = createHandle(); } else */ @@ -93,23 +100,95 @@ C *assignHandle(C *const lhs, const C *const rhs) // check lhs if (findHandle(lhs) == pointers.end()) { log::error( - "Unknown handle on left side of assignment {} = ...." + remark, - reinterpret_cast(lhs) + "Unknown handle on left side of {} assignment {} = ...." + remark, + classname, reinterpret_cast(lhs) ); - return lhs; + return; } // check rhs if (findHandle(rhs) == pointers.end()) { log::error( - "Unknown handle on right side of assignment ... = {}." + remark, - reinterpret_cast(rhs) + "Unknown handle on right side of {} assignment ... = {}." + remark, + classname, reinterpret_cast(rhs) ); - return lhs; + return; } reinterpret_cast(*lhs) = reinterpret_cast(*rhs); - return lhs; +} + + +// ----------------------------------------------------------------------------- +// read, write, print +// ----------------------------------------------------------------------------- + +// readHandle +template +int readHandle( + const std::string &classname, + C *const ptr, const std::string &filename +) { + try { + reinterpret_cast(*ptr).baseComponent().read(filename); + return 1; // success + } catch (...) { + log::context( + "C language function for reading {} from file. " + "File name is \"{}\".", classname, filename + ); + return 0; // failure + } +} + +// writeHandle +template +int writeHandle( + const std::string &classname, + const C *const ptr, const std::string &filename +) { + try { + reinterpret_cast(*ptr).baseComponent().write(filename); + return 1; // success + } catch (...) { + log::context( + "C language function for writing {} to file.\n" + "File name is \"{}\".", classname, filename + ); + return 0; // failure + } +} + +// printHandle +template +int printHandle( + const std::string &classname, + const C *const ptr, const std::string &format = "" +) { + try { + if (format == "") { + reinterpret_cast(*ptr). + baseComponent().print(); + // Component's print() already prints a newline + } else { + reinterpret_cast(*ptr). + baseComponent().write(std::cout,format); + // Component's write() intentionally doesn't already print a newline. + // For this print(), for our C language interface, print one. + std::cout << std::endl; + } + return 1; // success + } catch (...) { + if (format == "") + log::context( + "C language function for printing {}.", + classname); + else + log::context( + "C language function for printing {} in {} format.", + classname, format); + return 0; // failure + } } } // namespace detail diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index 3847d8f8f..ae8c1d1cc 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -99,7 +99,7 @@ class Component : public BlockData { try { return DERIVED::help.at(subject); - } catch ( ... ) { + } catch (...) { return "No help information is available"; } } diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 2abfea518..de8413bcf 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -118,7 +118,7 @@ inline std::string diagnostic( // Later, in functions like our error() and warning(), strings returned from // this present (diagnostic()) function are sent to one of the Log:: library // functions. Those replace instances of "{}" with the values of parameters, - // similarly to how the old C-language printf() replaces "%". The code below + // similarly to how the old C language printf() replaces "%". The code below // just does the alignment business for the message string, not for any of // those additional parameters. In the event that one of those is a string, // and has newlines, alignment may not be as one might initially expect. So, @@ -171,7 +171,7 @@ inline std::string context(const std::string &type, const std::string &name) // re: Component class // ------------------------ -// Should Component's generic write() function print comments? +// Should Component's generic print() function print comments? inline bool comments = true; // For printing. @@ -276,6 +276,16 @@ void debug(const std::string &str, Args &&...args) // some context information // ------------------------ +// context (general) +template +void context(const std::string &str, Args &&...args) +{ + if (GNDStk::context) { + const std::string msg = detail::diagnostic("info",str); + Log::info(msg.data(), std::forward(args)...); + } +} + // context is a regular function template void function(const std::string &str, Args &&...args) @@ -389,7 +399,7 @@ inline bool beginsin(const std::string &str, const std::string &begin) // nocasecmp // Case-insensitive string comparison. -// The old C-language strcasecmp() is nonstandard. A modern, true caseless +// The old C language strcasecmp() is nonstandard. A modern, true caseless // string comparison is actually a tougher nut to crack than meets the eye, // but the following will suffice for our English-language purposes. inline bool nocasecmp(const std::string &one, const std::string &two) From 8124176130f6f4b2b7e7c436415674918f450154 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 28 Jul 2022 17:04:01 -0600 Subject: [PATCH 131/235] Fixed an HDF5 file reading glitch that a user noticed. Simplified some diagnostics. --- src/GNDStk/Component/src/fromNode.hpp | 3 +- src/GNDStk/Node/src/call-keytuple.hpp | 9 +- src/GNDStk/convert/src/Node.hpp | 42 +++++----- src/GNDStk/convert/src/detail-hdf52node.hpp | 92 ++++++++++++++------- 4 files changed, 90 insertions(+), 56 deletions(-) diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index 8bde92279..26de86df8 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -23,8 +23,7 @@ void fromNode(const Node &node) // does the node have the name we expect? if (node.name != DERIVED::FIELD()) { log::error( - "Name \"{}\" in Node sent to Component::fromNode() is not the " - "expected GNDS name \"{}\"", + "Node name \"{}\" is not the expected name \"{}\"", node.name, DERIVED::FIELD() ); throw std::exception{}; diff --git a/src/GNDStk/Node/src/call-keytuple.hpp b/src/GNDStk/Node/src/call-keytuple.hpp index 146635d10..975022f7e 100644 --- a/src/GNDStk/Node/src/call-keytuple.hpp +++ b/src/GNDStk/Node/src/call-keytuple.hpp @@ -47,7 +47,7 @@ auto operator()( >( operator()(std::get<0>(tup), head_found) ); if (!head_found) - missing.push_back("\nElement: " + detail::keyname(std::get<0>(tup))); + missing.push_back("\n" + detail::keyname(std::get<0>(tup))); // Process tup's <1...> bool tail_found = true; @@ -94,13 +94,10 @@ auto operator()( // an error other than !found occurred in the try{} - which we suppose // could happen - and very informative if, as is likely, we came here // because nothing was found and the caller didn't send the found flag. - std::string errorMessage = "Error during multi-query."; + std::string errorMessage = "Error during query into \"" + name + "\"."; if (missing.size() > 0) { errorMessage += - " " - + std::to_string(missing.size()) - + " element" + (missing.size() == 1 ? " was" : "s were") - + " not found:"; + "\nOne or more required metadata and/or children were not found:"; for (auto &m : missing) errorMessage += m; } diff --git a/src/GNDStk/convert/src/Node.hpp b/src/GNDStk/convert/src/Node.hpp index d73781bc1..464a16437 100644 --- a/src/GNDStk/convert/src/Node.hpp +++ b/src/GNDStk/convert/src/Node.hpp @@ -11,12 +11,14 @@ inline bool convert(const XML &x, Node &node, const bool &DECL) // bookkeeping // ------------------------ - // clear the receiving object + // clear the receiving node node.clear(); // optionally, make a boilerplate declaration node - if (decl) - node.add(special::xml); // <== meaning: we built the object from an XML + if (decl) { + node.name = slashTreeName; + node.add(special::xml); // "we built the object from an XML" + } // empty xml document? if (x.empty()) @@ -108,12 +110,14 @@ inline bool convert(const JSON &j, Node &node, const bool &DECL) // bookkeeping // ------------------------ - // clear the receiving object + // clear the receiving node node.clear(); // optionally, make a boilerplate declaration node - if (decl) - node.add(special::json); // <== meaning: we built the object from a JSON + if (decl) { + node.name = slashTreeName; + node.add(special::json); // "we built the object from a JSON" + } // empty json document? if (j.empty()) @@ -189,13 +193,15 @@ inline bool convert(const HDF5 &h, Node &node, const bool &DECL) // bookkeeping // ------------------------ - // clear the receiving object + // clear the receiving node node.clear(); // optionally, make a boilerplate declaration node - Node *const declnode = decl - ? &node.add(special::hdf5) // meaning: we built the object from an HDF5 - : nullptr; + Node *declnode = nullptr; + if (decl) { + node.name = slashTreeName; + declnode = &node.add(special::hdf5); // "we built the object from an HDF5" + } // empty HDF5 document? if (h.empty()) @@ -203,26 +209,24 @@ inline bool convert(const HDF5 &h, Node &node, const bool &DECL) // not empty in the earlier (h.filePtr == nullptr) sense, // but with no real content in the HDF5 document? - const HighFive::Group &group = h.filePtr->getGroup(detail::rootHDF5Name); - if (group.getNumberAttributes() == 0 && group.getNumberObjects() == 0) + const HighFive::Group &rootGroup = h.filePtr->getGroup(detail::rootHDF5Name); + if (rootGroup.getNumberAttributes() == 0 && + rootGroup.getNumberObjects() == 0) return true; try { // if decl, then place any top-level attributes that exist, in the HDF5, // into the Node's special::hdf5 child that would have been created above + if (decl) - for (auto &attrName : group.listAttributeNames()) - if (!detail::attr2node(group.getAttribute(attrName),*declnode)) + for (auto &attrName : rootGroup.listAttributeNames()) + if (!detail::attr2node(rootGroup.getAttribute(attrName),*declnode)) return false; // visit the rest of the root HDF5 group - if (!detail::hdf52node(group, detail::rootHDF5Name, node, !decl)) - return false; + return detail::hdf52node(rootGroup, detail::rootHDF5Name, node, decl); } catch (...) { log::function("convert(HDF5,Node)"); throw; } - - // done - return true; } diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index cc7003d28..65a3a37a5 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -179,17 +179,19 @@ bool dset2node( template bool hdf52node( const HighFive::Group &group, const std::string &groupName, - NODE &node, const bool requireEmpty = true + NODE &node, const bool decl ) { - // the node sent here should be fresh, ready to receive entries - if (requireEmpty && !node.empty()) - hdf52node_error("!node.empty()"); + const bool atRoot = groupName == rootHDF5Name; // node name: from HDF5 group name - node.name = groupName == rootHDF5Name ? slashTreeName : groupName; - if (node.name != "" && node.name[0] == special::prefix) - while (isdigit(node.name.back())) - node.name.pop_back(); + if (!decl) { + if (!atRoot) + node.name = groupName; + // strip digits from node name, if appropriate + if (node.name != "" && node.name[0] == special::prefix) + while (isdigit(node.name.back())) + node.name.pop_back(); + } // ------------------------ // Group's attributes @@ -198,7 +200,7 @@ bool hdf52node( // Only if we're *not* at the root HDF5 group. If we are, then attributes // would have already been handled, in a special way, by the caller. - if (groupName != rootHDF5Name) { + if (!atRoot) { for (const std::string &attrName : group.listAttributeNames()) { if (attrName == special::nodename) { // NODENAME @@ -237,53 +239,79 @@ bool hdf52node( // ==> children // ------------------------ + size_t count = 0; for (const std::string &elemName : group.listObjectNames()) { - switch (group.getObjectType(elemName)) { - // File - // NOT EXPECTED IN THIS CONTEXT - case HighFive::ObjectType::File : - hdf52node_error("ObjectType \"File\" is not expected here"); - break; + const HighFive::ObjectType type = group.getObjectType(elemName); + if (type == HighFive::ObjectType::Group || + type == HighFive::ObjectType::Dataset + ) { + count++; + if (count > 1 && atRoot && !decl) { + log::error("More than one group and/or dataset at top HDF5 level"); + throw std::exception{}; + } + } + + switch (type) { + + // ------------------------ + // Group and DataSet are + // allowable and handled + // ------------------------ // Group // ACTION: Call the present function recursively case HighFive::ObjectType::Group : try { - if (!hdf52node(group.getGroup(elemName), elemName, node.add())) + if (!hdf52node( + group.getGroup(elemName), elemName, + node.name == "" ? node : node.add(), + false + )) { return false; + } } catch (...) { log::function("hdf52node()"); throw; } break; - // UserDataType - // NOT HANDLED; These may or may not ever be needed - case HighFive::ObjectType::UserDataType : - hdf52node_error("ObjectType \"UserDataType\" is not supported"); - break; - - // DataSpace (not to be confused with DataSet) - // NOT EXPECTED IN THIS CONTEXT - case HighFive::ObjectType::DataSpace : - hdf52node_error("ObjectType \"DataSpace\" is not expected here"); - break; - // DataSet // ACTION: Handle the DataSet's data // Note: HighFive actually calls the following Dataset (lower-case s), // not DataSet (upper-case S), but uses "DataSet" elsewhere. :-/ case HighFive::ObjectType::Dataset : try { - if (!dset2node(group.getDataSet(elemName), elemName, node)) + if (!dset2node( + group.getDataSet(elemName), elemName, + node + )) { return false; + } } catch (...) { log::function("hdf52node()"); throw; } break; + // ------------------------ + // All other types are + // unexpected or unhandled + // ------------------------ + + // File + // NOT EXPECTED IN THIS CONTEXT + case HighFive::ObjectType::File : + hdf52node_error("ObjectType \"File\" is not expected here"); + break; + + // DataSpace (not to be confused with DataSet) + // NOT EXPECTED IN THIS CONTEXT + case HighFive::ObjectType::DataSpace : + hdf52node_error("ObjectType \"DataSpace\" is not expected here"); + break; + // Attribute // NOT EXPECTED IN THIS CONTEXT case HighFive::ObjectType::Attribute : @@ -295,6 +323,12 @@ bool hdf52node( hdf52node_error("ObjectType \"Attribute\" is not expected here"); break; + // UserDataType + // NOT HANDLED; These may or may not ever be needed + case HighFive::ObjectType::UserDataType : + hdf52node_error("ObjectType \"UserDataType\" is not supported"); + break; + // Other // NOT HANDLED; We're not sure when this would arise case HighFive::ObjectType::Other : From 4dae392ee1da4813bfbe5c6d1cd3b0fc6dbc2ee4 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Sat, 6 Aug 2022 01:10:59 -0600 Subject: [PATCH 132/235] Lots of C++ backend detail work for the C interface. --- src/GNDStk/CInterface/src/detail.hpp | 666 +++++++++++++++--- src/GNDStk/Component/src/field.hpp | 152 +++- src/GNDStk/Lookup.hpp | 10 +- .../v1.9/containers/Axes/test/Axes.test.cpp | 12 + 4 files changed, 731 insertions(+), 109 deletions(-) diff --git a/src/GNDStk/CInterface/src/detail.hpp b/src/GNDStk/CInterface/src/detail.hpp index 0728db393..034e2e58d 100644 --- a/src/GNDStk/CInterface/src/detail.hpp +++ b/src/GNDStk/CInterface/src/detail.hpp @@ -5,117 +5,187 @@ namespace detail { // Helpers // ----------------------------------------------------------------------------- +// ------------------------ +// tocpp +// ------------------------ + +// const +template +const CPP &tocpp(const C *const This) +{ + if (This == nullptr) { + log::error( + "detail::tocpp(pointer to const): pointer is null; " + "it cannot be dereferenced" + ); + throw std::exception{}; + } + return reinterpret_cast(*This); +} + +// non-const +template +CPP &tocpp(C *const This) +{ + if (This == nullptr) { + log::error( + "detail::tocpp(pointer): pointer is null; " + "it cannot be dereferenced" + ); + throw std::exception{}; + } + return reinterpret_cast(*This); +} + +// ------------------------ +// getAllHandles +// findHandle +// ------------------------ + // getAllHandles // Returns a container template auto &getAllHandles() { - static std::set> pointers; - return pointers; + try { + static std::set> pointers; + return pointers; + } catch (...) { + log::error("Exception thrown in detail::getAllHandles()"); + throw; + } } // findHandle // Returns an iterator template -auto findHandle(const C *const ptr) +auto findHandle(const C *const want) { - auto &pointers = getAllHandles(); - - return std::find_if( - pointers.begin(), pointers.end(), - [ptr](const std::shared_ptr &shared) - { - return shared.get() == reinterpret_cast(ptr); - } - ); + try { + auto &pointers = getAllHandles(); + return std::find_if( + pointers.begin(), pointers.end(), + [want](const std::shared_ptr &have) + { + return have.get() == &tocpp(want); + } + ); + } catch (...) { + log::error("Exception thrown in detail::findHandle()"); + throw; + } } // ----------------------------------------------------------------------------- -// create, delete +// create, assign, delete // ----------------------------------------------------------------------------- // createHandle template -C *createHandle(ARGS &&...args) -{ - return reinterpret_cast( - &(**getAllHandles().insert( - std::make_shared(std::forward(args)...) - ).first) - ); -} - -// deleteHandle -template -void deleteHandle( +C *createHandle( const std::string &classname, - const C *const ptr + const std::string &funname, + ARGS &&...args ) { - auto &pointers = getAllHandles(); - const auto iter = findHandle(ptr); - - if (iter != pointers.end()) - pointers.erase(iter); - else { - log::warning( - "Ignoring call to delete {} handle {}.\n" - "Handle is not valid, or was already deleted.", - classname, reinterpret_cast(ptr) + try { + return reinterpret_cast( + &(**getAllHandles().insert( + std::make_shared(std::forward(args)...) + ).first) ); + } catch (...) { + log::error("Unable to create {} handle", classname); + log::function("{}", funname); + return nullptr; } } - -// ----------------------------------------------------------------------------- -// assign -// ----------------------------------------------------------------------------- - // assignHandle template void assignHandle( const std::string &classname, + const std::string &funname, C *const lhs, const C *const rhs ) { - auto &pointers = getAllHandles(); - - /* - // qqq - // Think about reasonable ways of doing the following that are compatible - // with C, which (unlike C++) doesn't have references. Sending &handle is - // an obvious option, but we may or may not care about doing this. - - // lhs: should be null or valid (if null, we'll create) - if (lhs == nullptr) { - // note that we need to cast away const for this - std::cout << "creating from nullptr..." << std::endl; - *const_cast(&lhs) = createHandle(); - } else - */ - static const std::string remark = "\nIgnoring the assignment and continuing (but you should" "\nprobably look into this, and fix something)."; - // check lhs - if (findHandle(lhs) == pointers.end()) { - log::error( - "Unknown handle on left side of {} assignment {} = ...." + remark, - classname, reinterpret_cast(lhs) - ); - return; + static const std::string + bothNull = "The \"to\" and \"from\" {} handles are null." + remark, + leftNull = "The \"to\" {} handle is null." + remark, + rightNull = "The \"from\" {} handle is null." + remark, + leftUnk = "Unknown \"to\" {} handle {}." + remark, + rightUnk = "Unknown \"from\" {} handle {}." + remark; + + try { + auto &pointers = getAllHandles(); + bool good = true; + + // nullptr anywhere? + if (lhs == nullptr && rhs == nullptr) { + good = false; log::error(bothNull, classname); + } else if (lhs == nullptr) { + good = false; log::error(leftNull, classname); + } else if (rhs == nullptr) { + good = false; log::error(rightNull, classname); + } + + // check lhs + if (lhs && findHandle(lhs) == pointers.end()) { + log::error(leftUnk, classname, reinterpret_cast(lhs)); + good = false; + } + + // check rhs + if (rhs && findHandle(rhs) == pointers.end()) { + log::error(rightUnk, classname, reinterpret_cast(rhs)); + good = false; + } + + if (!good) + throw std::exception{}; + + tocpp(lhs) = tocpp(rhs); + + } catch (...) { + log::function("{}(to,from)", funname); } +} - // check rhs - if (findHandle(rhs) == pointers.end()) { - log::error( - "Unknown handle on right side of {} assignment ... = {}." + remark, - classname, reinterpret_cast(rhs) +// deleteHandle +template +void deleteHandle( + const std::string &classname, + const std::string &funname, + const C *const ptr +) { + static const std::string ignore = "Ignoring call to delete {} handle {}."; + + if (ptr == nullptr) { + log::warning( + ignore + "\nHandle is null.", + classname, reinterpret_cast(ptr) ); return; } - reinterpret_cast(*lhs) = reinterpret_cast(*rhs); + try { + auto &pointers = getAllHandles(); + const auto iter = findHandle(ptr); + + if (iter != pointers.end()) { + pointers.erase(iter); + } else { + log::warning( + ignore + "\nHandle is unknown, or was already deleted.", + classname, reinterpret_cast(ptr) + ); + } + } catch (...) { + log::function("{}({} handle = {})", funname, classname, (void *)ptr); + } } @@ -127,16 +197,18 @@ void assignHandle( template int readHandle( const std::string &classname, + const std::string &funname, C *const ptr, const std::string &filename ) { try { - reinterpret_cast(*ptr).baseComponent().read(filename); + tocpp(ptr).baseComponent().read(filename); return 1; // success } catch (...) { log::context( - "C language function for reading {} from file. " - "File name is \"{}\".", classname, filename + "C function for reading {} from file. " + "File name is \"{}\".", classname, filename ); + log::function("{}({} handle = {})", funname, classname, (void *)ptr); return 0; // failure } } @@ -145,16 +217,18 @@ int readHandle( template int writeHandle( const std::string &classname, + const std::string &funname, const C *const ptr, const std::string &filename ) { try { - reinterpret_cast(*ptr).baseComponent().write(filename); + tocpp(ptr).baseComponent().write(filename); return 1; // success } catch (...) { log::context( - "C language function for writing {} to file.\n" + "C function for writing {} to file.\n" "File name is \"{}\".", classname, filename ); + log::function("{}({} handle = {})", funname, classname, (void *)ptr); return 0; // failure } } @@ -163,32 +237,454 @@ int writeHandle( template int printHandle( const std::string &classname, + const std::string &funname, const C *const ptr, const std::string &format = "" ) { try { if (format == "") { - reinterpret_cast(*ptr). - baseComponent().print(); + tocpp(ptr).baseComponent().print(); // Component's print() already prints a newline } else { - reinterpret_cast(*ptr). - baseComponent().write(std::cout,format); + tocpp(ptr).baseComponent().write(std::cout,format); // Component's write() intentionally doesn't already print a newline. // For this print(), for our C language interface, print one. std::cout << std::endl; } return 1; // success } catch (...) { - if (format == "") + if (format == "") { log::context( - "C language function for printing {}.", - classname); - else + "C function for printing {}.", classname); + } else { log::context( - "C language function for printing {} in {} format.", - classname, format); + "C function for printing {} in {} format.", classname, format); + } + log::function("{}({} handle = {})", funname, classname, (void *)ptr); return 0; // failure } } + +// ----------------------------------------------------------------------------- +// has, get, set +// ----------------------------------------------------------------------------- + +// hasMetadatum +template +bool hasMetadatum( + const std::string &classname, + const std::string &funname, + const C *const ptr, + const EXTRACT &extract +) { + try { + return extract(tocpp(ptr))->has(); + } catch (...) { + log::function("{}({} handle = {})", funname, classname, (void *)ptr); + return false; + } +} + +// getMetadatum +template +auto getMetadatum( + const std::string &classname, + const std::string &funname, + const C *const ptr, + const EXTRACT &extract +) { + using T = std::decay_t(ptr))->value())>; + + try { + const T &ret = extract(tocpp(ptr))->value(); + if constexpr (!std::is_same_v) { + return (HANDLE)(&ret); + } else if constexpr (std::is_same_v) { + return ret.c_str(); + } else { + return ret; + } + } catch (...) { + log::function("{}({} handle = {})", funname, classname, (void *)ptr); + if constexpr (!std::is_same_v) { + return (HANDLE)nullptr; + } else if constexpr (std::is_same_v) { + return ""; + } else { + return T{}; + } + } +} + +// setMetadatum +template +void setMetadatum( + const std::string &classname, + const std::string &funname, + C *const ptr, + const EXTRACT &extract, + const T &newvalue +) { + try { + if constexpr (!std::is_same_v) + extract(tocpp(ptr))->replace(tocpp(newvalue)); + else + extract(tocpp(ptr))->replace(newvalue); + } catch (...) { + log::function( + "{}({} handle = {}, value)", funname, classname, (void *)ptr); + } +} + + +// ----------------------------------------------------------------------------- +// clear, size +// ----------------------------------------------------------------------------- + +// clearContainer +template +void clearContainer( + const std::string &classname, + const std::string &funname, + C *const ptr, + const EXTRACT &extract +) { + try { + auto &container = (*extract(tocpp(ptr)))(); + if constexpr (isOptional) { + if (container) + container.clear(); + } else + container.clear(); + } catch (...) { + log::error("Exception thrown in detail::clearContainer"); + log::function( + "{}({} handle = {})", funname, classname, (void *)ptr); + } +} + +// sizeOfContainer +template +size_t sizeOfContainer( + const std::string &classname, + const std::string &funname, + C *const ptr, + const EXTRACT &extract +) { + try { + auto &container = (*extract(tocpp(ptr)))(); + if constexpr (isOptional) + return container ? container.size() : 0; + else + return container.size(); + } catch (...) { + log::error("Exception thrown in detail::sizeOfContainer"); + log::function( + "{}({} handle = {})", funname, classname, (void *)ptr); + return 0; + } +} + + +// ----------------------------------------------------------------------------- +// add +// ----------------------------------------------------------------------------- + +// addToContainer +template +void addToContainer( + const std::string &classname, + const std::string &funname, + C *const ptr, + const EXTRACT &extract, + const T &value +) { + try { + auto &field = *extract(tocpp(ptr)); + if constexpr (!std::is_same_v) { + field.add(tocpp(value)); + } else { + // todo Will this case arise? + field.add(value); + } + } catch (...) { + log::error("Exception thrown in detail::addToContainer"); + log::function( + "{}({} handle = {}, value)", funname, classname, (void *)ptr); + } +} + + +// ----------------------------------------------------------------------------- +// getByIndex +// setByIndex +// ----------------------------------------------------------------------------- + +// getByIndex +template +HANDLE getByIndex( + const std::string &classname, + const std::string &funname, + const C *const ptr, + const EXTRACT &extract, + const size_t index +) { + try { + const auto &field = *extract(tocpp(ptr)); + return (HANDLE)&field(index); + } catch (...) { + log::function( + "{}({} handle = {}, index = {})", funname, classname, + (void *)ptr, index + ); + return (HANDLE)nullptr; + } +} + +// setByIndex +template +void setByIndex( + const std::string &classname, + const std::string &funname, + C *const ptr, + const EXTRACT &extract, + const size_t index, + const V *const newvalue +) { + try { + auto &field = *extract(tocpp(ptr)); + field.replace(index,tocpp(newvalue)); + } catch (...) { + log::function( + "{}({} handle = {}, value)", funname, classname, (void *)ptr); + } +} + + +// ----------------------------------------------------------------------------- +// hasByMetadatum +// getByMetadatum +// setByMetadatum +// ----------------------------------------------------------------------------- + +// hasByMetadatum +template +bool hasByMetadatum( + const std::string &classname, + const std::string &funname, + const C *const ptr, + const EXTRACT &extract, + const META &meta, + const T &value +) { + try { + const auto &field = *extract(tocpp(ptr)); + return field.has(meta(value)); + } catch (...) { + log::function("{}({} handle = {}, value)", funname, classname, + (void *)ptr); + return false; + } +} + +// getByMetadatum +template +HANDLE getByMetadatum( + const std::string &classname, + const std::string &funname, + const C *const ptr, + const EXTRACT &extract, + const META &meta, + const T &value +) { + try { + const auto &field = *extract(tocpp(ptr)); + return (HANDLE)&field(meta(value)); + } catch (...) { + log::function( + "{}({} handle = {}, value)", funname, classname, (void *)ptr); + return (HANDLE)nullptr; + } +} + +// setByMetadatum +template +void setByMetadatum( + const std::string &classname, + const std::string &funname, + C *const ptr, + const EXTRACT &extract, + const META &meta, + const T &value, + const V *const newvalue +) { + try { + auto &field = *extract(tocpp(ptr)); + field.replace(meta(value),tocpp(newvalue)); + } catch (...) { + log::function( + "{}({} handle = {}, value)", funname, classname, (void *)ptr); + } +} + + +// ----------------------------------------------------------------------------- +// Re: data vectors +// For when a Component-derived class has BlockData +// ----------------------------------------------------------------------------- + +// ------------------------ +// clear, size +// ------------------------ + +// clear +template +void vectorClear( + const std::string &classname, + const std::string &funname, + C *const ptr +) { + try { + tocpp(ptr).clear(); + } catch (...) { + log::error("Exception thrown in detail::vectorClear"); + log::function("{}({} handle = {})", funname, classname, (void *)ptr); + } +} + +// size +template +size_t vectorSize( + const std::string &classname, + const std::string &funname, + const C *const ptr +) { + try { + return tocpp(ptr).size(); + } catch (...) { + log::error("Exception thrown in detail::vectorSize"); + log::function("{}({} handle = {})", funname, classname, (void *)ptr); + return 0; + } +} + +// ------------------------ +// get, set +// One value +// ------------------------ + +// get +template +T vectorGet( + const std::string &classname, + const std::string &funname, + const C *const ptr, + const size_t index +) { + using VECTOR = std::vector; + bool rangeErr = false; + + try { + const VECTOR &vec = tocpp(ptr).template get(); + if (index < vec.size()) + return vec[index]; + + rangeErr = true; + log::error( + "Vector index {} not in range 0..size-1 (0..{})", + index, vec.size()-1 + ); + throw std::exception{}; + } catch (...) { + if (!rangeErr) // else error was already printed + log::error("Exception thrown in detail::vectorGet"); + log::function( + "{}({} handle = {}, index = {})", + funname, classname, (void *)ptr, index + ); + return T{}; + } +} + +// set +template +void vectorSet( + const std::string &classname, + const std::string &funname, + C *const ptr, + const size_t index, + const T &value +) { + using VECTOR = std::vector; + bool rangeErr = false; + + try { + VECTOR &vec = tocpp(ptr).template get(); + if (index < vec.size()) + vec[index] = value; + else { + rangeErr = true; + log::error( + "Vector index {} not in range 0..size-1 (0..{})", + index, vec.size()-1 + ); + throw std::exception{}; + } + } catch (...) { + if (!rangeErr) // else error was already printed + log::error("Exception thrown in detail::vectorSet"); + log::function( + "{}({} handle = {}, index = {}, value)", + funname, classname, (void *)ptr, index + ); + } +} + +// ------------------------ +// get, set +// All values +// ------------------------ + +// get +template +auto *vectorGet( + const std::string &classname, + const std::string &funname, + C *const ptr +) { + using VECTOR = std::vector; + using RETURN = decltype(&(tocpp(ptr).template get())[0]); + + try { + auto &vec = tocpp(ptr).template get(); + return vec.size() ? &vec[0] : nullptr; + } catch (...) { + log::error("Exception thrown in detail::vectorGet"); + log::function("{}({} handle = {})", funname, classname, (void *)ptr); + return RETURN(nullptr); + } +} + +// set +template +void vectorSet( + const std::string &classname, + const std::string &funname, + C *const ptr, + const size_t size, + const T *const values +) { + using VECTOR = std::vector; + + try { + tocpp(ptr).template get().assign(values,values+size); + } catch (...) { + log::error("Exception thrown in detail::vectorSet"); + log::function( + "{}({} handle = {}, size = {}, values*)", + funname, classname, (void *)ptr, size + ); + } +} + } // namespace detail diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index 503c191ad..cbdc69d7b 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -20,7 +20,7 @@ class Field { // data DERIVED &parent; - T value; + T wrappedValue; public: @@ -38,16 +38,16 @@ class Field { // parent, value explicit Field(DERIVED *const parent, const T &v = T{}) : parent(*parent), - value(v) + wrappedValue(v) { } // parent, other Field object Field(DERIVED *const parent, const Field &other) : parent(*parent), - value(other.value) + wrappedValue(other.wrappedValue) { } - // parent, default value, value + // parent, default value, current value // If T == Defaulted template> Field( @@ -55,32 +55,100 @@ class Field { const std::optional &v = {} ) : parent(*parent), - value(def,v) + wrappedValue(def,v) { } + // ------------------------ + // has + // ------------------------ + + // has() + // With no arguments. + // Relates to std::optional, not to the question of what metadata or metadata + // values the present Field might contain. (See the below function for that.) + // Returns true iff T is either *not* std::optional, or is std::optional and + // has a value. + bool has() const + { + if constexpr (detail::isOptional) + return wrappedValue.has_value(); + else + return true; + } + + // has() + // With one argument. + // Forwards to [operator()(const KEY &key) const], below, essentially to + // provide an alternative form of a "has" query. Instead of, for example, + // H.isotope(has(mass_number(2))) + // to inquire as to whether element H's vector of isotopes has one with + // a mass number of 2, one could instead write: + // H.isotope.has(mass_number(2)) + // to make exactly the same query. (The example assumes that H is of a + // class - say, Element - that contains a vector of isotopes, and that + // the Isotope class contains an integer metadatum called mass_number.) + // Note: the SFINAE is such that this function is enabled iff a call to + // operator()(key) of the present class would be valid, and return bool. + template< + class KEY, + class = std::enable_if_t()(GNDStk::has(std::declval()))), + bool + >> + > + bool has(const KEY &key) const + { + return (*this)(GNDStk::has(key)); + } + + // ------------------------ + // value() + // Get past std::optional + // where necessary + // ------------------------ + + // const + decltype(auto) value() const + { + if constexpr (detail::isOptional) + return wrappedValue.value(); + else + return wrappedValue; + } + + // non-const + decltype(auto) value() + { + if constexpr (detail::isOptional) + return wrappedValue.value(); + else + return wrappedValue; + } + // ------------------------ // Getters // ------------------------ // () - const T &operator()() const { return value; } - T &operator()() { return value; } + // Get exactly the wrapped value, whatever it is (including std::optional) + const T &operator()() const { return wrappedValue; } + T &operator()() { return wrappedValue; } - // (index/label/Lookup), including Lookup (via "has" function) + // index/label/Lookup, including Lookup (via the "has" function) // If T == vector template< class KEY, class = detail::isSearchKey, class TEE = T, class = detail::isVectorOrOptionalVector_t > decltype(auto) operator()(const KEY &key) const - { return parent.getter(value,key); } + { return parent.getter(wrappedValue,key); } template< class KEY, class = detail::isSearchKey, class TEE = T, class = detail::isVectorOrOptionalVector_t > decltype(auto) operator()(const KEY &key) - { return parent.getter(value,key); } + { return parent.getter(wrappedValue,key); } // ------------------------ // Conversions @@ -95,20 +163,24 @@ class Field { template> operator const typename TEE::value_type &() const { - if (!value) { + if (!wrappedValue) { log::error( "Cannot give valueless optional a vector value\n" "when the object is const"); log::member("Field:: conversion to vector"); throw std::exception{}; } - return *value; + return *wrappedValue; } template> operator typename TEE::value_type &() { - return *(value ? value : value = typename TEE::value_type{}); + return *( + wrappedValue + ? wrappedValue + : wrappedValue = typename TEE::value_type{} + ); } // ------------------------ @@ -116,10 +188,10 @@ class Field { // ------------------------ // replace(T) - // Replace existing value with another value. + // Replace existing value with another. DERIVED &replace(const T &val) { - value = val; + wrappedValue = val; return parent; } @@ -139,7 +211,7 @@ class Field { template> DERIVED &replace(const std::optional &opt) { - value = opt; + wrappedValue = opt; return parent; } @@ -157,12 +229,13 @@ class Field { // add(element) // If T == [optional] vector - // Add (via push_back) to this->value, which in this context is a vector. + // Add (via push_back) to this->wrappedValue, which in this context + // is a vector. template> DERIVED &add( const typename detail::isVectorOrOptionalVector::value_type &elem ) { - parent.setter(value, elem); + parent.setter(wrappedValue, elem); return parent; } @@ -214,14 +287,14 @@ class Field { // copy Field &operator=(const Field &other) { - value = other.value; + wrappedValue = other.wrappedValue; return *this; } // move Field &operator=(Field &&other) { - value = std::move(other.value); + wrappedValue = std::move(other.wrappedValue); return *this; } }; // class Field @@ -356,6 +429,41 @@ class FieldPart,PART> { template> operator std::optional() const { return opt(); } + // ------------------------ + // has + // Similar to Field's + // ------------------------ + + /* + // todo I'm not sure that this would have a clear meaning for FieldPart. + // For Field, it means whether or not a value exists - either it's not + // std::optional, or is std::optional but has a value. Here, that meaning + // could be confused with the concept of whether or not the variant + // contains the "PART" represented by this FieldPart. Think about this. + + // has() + bool has() const + { + if constexpr (detail::isOptional) + return wrappedValue.has_value(); + else + return true; + } + */ + + // has(key) + template< + class KEY, + class = std::enable_if_t()(GNDStk::has(std::declval()))), + bool + >> + > + bool has(const KEY &key) const + { + return (*this)(GNDStk::has(key)); + } + // ------------------------ // Getters: // If WHOLE == vector @@ -417,7 +525,7 @@ class FieldPart,PART> { return p ? std::optional{*p} : std::optional{}; } - // (index/label/Lookup), including Lookup (via "has" function) + // index/label/Lookup, including Lookup (via the "has" function) template< class KEY, class = detail::isSearchKey, class T = WHOLE, class = detail::isVector_t @@ -576,7 +684,7 @@ struct wrapper { // Conversions operator const T &() const { return value; } operator T &() { return value; } -}; +}; // class wrapper // ----------------------------------------------------------------------------- diff --git a/src/GNDStk/Lookup.hpp b/src/GNDStk/Lookup.hpp index f858c9ab7..9f8b010da 100644 --- a/src/GNDStk/Lookup.hpp +++ b/src/GNDStk/Lookup.hpp @@ -1,4 +1,10 @@ +/* +todo +The contents of this file could really use some documentation. +Let's do this when other priorities allow. +*/ + // ----------------------------------------------------------------------------- // Lookup // Based on Meta @@ -18,7 +24,7 @@ class Lookup : public Meta { // extractor EXTRACTOR extractor; - // ctor + // constructor Lookup( const EXTRACTOR &e, const std::string &name, @@ -68,7 +74,7 @@ class Lookup : public Meta<> { // extractor EXTRACTOR extractor; - // ctor + // constructor Lookup( const EXTRACTOR &e, const std::string &name diff --git a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp index 765faca19..8d2d96d29 100644 --- a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp +++ b/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp @@ -256,6 +256,9 @@ void verifyChunk( const Axes& component ) { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CHECK(component.axis(has(v1_9::index(0)))); + CHECK(component.axis.has(v1_9::index(0))); + CHECK(component.axis_grid.has(v1_9::index)); + CHECK(component.axis_grid.has(v1_9::index(0))); decltype(auto) axis_iv0 = component.axis( 0 ); CHECK( std::nullopt != axis_iv0.index() ); @@ -267,6 +270,9 @@ void verifyChunk( const Axes& component ) { CHECK( "fm" == axis_iv0.unit().value() ); CHECK(component.axis(has(v1_9::index(1)))); + CHECK(component.axis.has(v1_9::index(1)) ); + CHECK(component.axis_grid.has(v1_9::index)); + CHECK(component.axis_grid.has(v1_9::index(1))); decltype(auto) axis_iv1 = component.axis( 1 ); CHECK( std::nullopt != axis_iv1.index() ); @@ -282,6 +288,9 @@ void verifyChunk( const Axes& component ) { // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CHECK(component.axis(has(v1_9::label("radius")))); + CHECK(component.axis.has(v1_9::label("radius"))); + CHECK(component.axis_grid.has(v1_9::label)); + CHECK(component.axis_grid.has(v1_9::label("radius"))); decltype(auto) axis_v0 = component.axis( "radius" ); CHECK( std::nullopt != axis_v0.index() ); @@ -293,6 +302,9 @@ void verifyChunk( const Axes& component ) { CHECK( "fm" == axis_v0.unit().value() ); CHECK(component.axis(has(v1_9::label("energy_in")))); + CHECK(component.axis.has(v1_9::label("energy_in"))); + CHECK(component.axis_grid.has(v1_9::label)); + CHECK(component.axis_grid.has(v1_9::label("energy_in"))); decltype(auto) axis_v1 = component.axis( "energy_in" ); CHECK( std::nullopt != axis_v1.index() ); From 2ae8b5c4d6f255022eba9bed620cb533812fe692 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Sun, 7 Aug 2022 02:30:32 -0600 Subject: [PATCH 133/235] Small but complete example for the code generator. Handwritten (for now) C-language interface for some of the classes. For our purposes here, simple compilation scripts and examples. --- autogen/simple/.gitignore | 1 + autogen/simple/clear | 3 + autogen/simple/compile-c | 41 ++ autogen/simple/compile-cpp | 28 ++ autogen/simple/example.c | 20 + autogen/simple/example.cpp | 72 ++++ autogen/simple/multi-classes.json | 74 ++++ autogen/simple/multi.json | 9 + autogen/simple/multi/c/src/v1.cpp | 2 + autogen/simple/multi/c/src/v1.h | 25 ++ .../multi/c/src/v1/multigroup/Element.cpp | 350 ++++++++++++++++++ .../multi/c/src/v1/multigroup/Element.h | 278 ++++++++++++++ .../multi/c/src/v1/multigroup/Foobar.cpp | 173 +++++++++ .../simple/multi/c/src/v1/multigroup/Foobar.h | 160 ++++++++ .../multi/c/src/v1/multigroup/Isotope.cpp | 149 ++++++++ .../multi/c/src/v1/multigroup/Isotope.h | 150 ++++++++ .../multi/c/src/v1/multigroup/Library.cpp | 2 + .../multi/c/src/v1/multigroup/Library.h | 0 .../multi/c/src/v1/multigroup/Multigroup.cpp | 2 + .../multi/c/src/v1/multigroup/Multigroup.h | 0 .../multi/python/src/v1/multigroup.python.cpp | 39 ++ .../src/v1/multigroup/Element.python.cpp | 77 ++++ .../src/v1/multigroup/Foobar.python.cpp | 61 +++ .../src/v1/multigroup/Isotope.python.cpp | 56 +++ .../src/v1/multigroup/Library.python.cpp | 63 ++++ .../src/v1/multigroup/Multigroup.python.cpp | 63 ++++ autogen/simple/multi/src/multi/v1.hpp | 14 + autogen/simple/multi/src/multi/v1/key.hpp | 79 ++++ .../multi/src/multi/v1/multigroup/Element.hpp | 128 +++++++ .../v1/multigroup/Element/src/custom.hpp | 28 ++ .../multi/src/multi/v1/multigroup/Foobar.hpp | 104 ++++++ .../multi/v1/multigroup/Foobar/src/custom.hpp | 4 + .../multi/src/multi/v1/multigroup/Isotope.hpp | 106 ++++++ .../v1/multigroup/Isotope/src/custom.hpp | 25 ++ .../multi/src/multi/v1/multigroup/Library.hpp | 115 ++++++ .../v1/multigroup/Library/src/custom.hpp | 19 + .../src/multi/v1/multigroup/Multigroup.hpp | 115 ++++++ .../v1/multigroup/Multigroup/src/custom.hpp | 4 + 38 files changed, 2639 insertions(+) create mode 100644 autogen/simple/.gitignore create mode 100755 autogen/simple/clear create mode 100755 autogen/simple/compile-c create mode 100755 autogen/simple/compile-cpp create mode 100644 autogen/simple/example.c create mode 100644 autogen/simple/example.cpp create mode 100644 autogen/simple/multi-classes.json create mode 100644 autogen/simple/multi.json create mode 100644 autogen/simple/multi/c/src/v1.cpp create mode 100644 autogen/simple/multi/c/src/v1.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Element.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Element.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Foobar.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Isotope.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Library.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Library.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Multigroup.h create mode 100644 autogen/simple/multi/python/src/v1/multigroup.python.cpp create mode 100644 autogen/simple/multi/python/src/v1/multigroup/Element.python.cpp create mode 100644 autogen/simple/multi/python/src/v1/multigroup/Foobar.python.cpp create mode 100644 autogen/simple/multi/python/src/v1/multigroup/Isotope.python.cpp create mode 100644 autogen/simple/multi/python/src/v1/multigroup/Library.python.cpp create mode 100644 autogen/simple/multi/python/src/v1/multigroup/Multigroup.python.cpp create mode 100644 autogen/simple/multi/src/multi/v1.hpp create mode 100644 autogen/simple/multi/src/multi/v1/key.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Element.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Element/src/custom.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Foobar/src/custom.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Isotope/src/custom.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Library.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Library/src/custom.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp create mode 100644 autogen/simple/multi/src/multi/v1/multigroup/Multigroup/src/custom.hpp diff --git a/autogen/simple/.gitignore b/autogen/simple/.gitignore new file mode 100644 index 000000000..19dd09173 --- /dev/null +++ b/autogen/simple/.gitignore @@ -0,0 +1 @@ +[a-z] diff --git a/autogen/simple/clear b/autogen/simple/clear new file mode 100755 index 000000000..3beee763d --- /dev/null +++ b/autogen/simple/clear @@ -0,0 +1,3 @@ +#!/bin/bash + +/bin/rm -f *.o c cpp out *~ diff --git a/autogen/simple/compile-c b/autogen/simple/compile-c new file mode 100755 index 000000000..3a40f9acb --- /dev/null +++ b/autogen/simple/compile-c @@ -0,0 +1,41 @@ +#!/bin/bash + +# C++ compilation command +COMPILE=" + clang++ -std=c++17 + -I../../GNDStk/src -I../../GNDStk/c/src + -Imulti/src -Imulti/c/src + -I../../GNDStk/build/_deps/pugixml-adapter-src/src/src + -I../../GNDStk/build/_deps/hdf5-src/include + -I../../GNDStk/build/_deps/json-src/include + -I../../GNDStk/build/_deps/json-src/include/nlohmann + -I../../GNDStk/build/_deps/log-src/src + -I../../GNDStk/build/_deps/spdlog-src/include + -I/usr/include/hdf5/serial + -DHIGHFIVE_USE_BOOST=OFF + -L/usr/lib/x86_64-linux-gnu/hdf5/serial + -lhdf5 + -fno-show-column + -Wno-unused-command-line-argument + -Wall -Wextra -Wpedantic " + +# pugixml +if [ ! -f "pugixml.o" ]; then +$COMPILE ../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c +fi + +# Compile C++ +$COMPILE -c ../../GNDStk/c/src/GNDStk.cpp +$COMPILE -c multi/c/src/v1/multigroup/Foobar.cpp +$COMPILE -c multi/c/src/v1/multigroup/Isotope.cpp +$COMPILE -c multi/c/src/v1/multigroup/Element.cpp + +# Compile C +clang \ + -I../../GNDStk/c/src \ + -Imulti/c/src \ + example.c \ + pugixml.o GNDStk.o Foobar.o Isotope.o Element.o \ + -L/usr/lib/x86_64-linux-gnu/hdf5/serial \ + -lstdc++ -lm -lhdf5 \ + -o c.exe diff --git a/autogen/simple/compile-cpp b/autogen/simple/compile-cpp new file mode 100755 index 000000000..b0cc13cd6 --- /dev/null +++ b/autogen/simple/compile-cpp @@ -0,0 +1,28 @@ +#!/bin/bash + +# C++ compilation command +COMPILE=" + clang++ -std=c++17 + -I../../GNDStk/src + -Imulti/src + -I../../GNDStk/build/_deps/pugixml-adapter-src/src/src + -I../../GNDStk/build/_deps/hdf5-src/include + -I../../GNDStk/build/_deps/json-src/include + -I../../GNDStk/build/_deps/json-src/include/nlohmann + -I../../GNDStk/build/_deps/log-src/src + -I../../GNDStk/build/_deps/spdlog-src/include + -I/usr/include/hdf5/serial + -DHIGHFIVE_USE_BOOST=OFF + -L/usr/lib/x86_64-linux-gnu/hdf5/serial + -lhdf5 + -fno-show-column + -Wno-unused-command-line-argument + -Wall -Wextra -Wpedantic " + +# pugixml +if [ ! -f "pugixml.o" ]; then +$COMPILE ../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c +fi + +# Compile +$COMPILE example.cpp pugixml.o -o cpp.exe diff --git a/autogen/simple/example.c b/autogen/simple/example.c new file mode 100644 index 000000000..36e47a9ba --- /dev/null +++ b/autogen/simple/example.c @@ -0,0 +1,20 @@ + +#include +#include "v3.h" + +int main() +{ + // colorize diagnostics + colors(1); + + printf("1\n"); const Foobar one = FoobarCreate(); + printf("2\n"); const Foobar two = FoobarCreate(); + printf("3\n"); FoobarAssign(one,two); + printf("4\n"); FoobarPrint(one); + printf("5\n"); FoobarPrintXML(one); + printf("6\n"); FoobarPrintJSON(one); + printf("7\n"); + + size_t i = 1234; + printf("%i",(int)i); +} diff --git a/autogen/simple/example.cpp b/autogen/simple/example.cpp new file mode 100644 index 000000000..dd61cd2b3 --- /dev/null +++ b/autogen/simple/example.cpp @@ -0,0 +1,72 @@ + +#include "NDILite/v3.hpp" +using namespace NDILite::v3; + +int main() +{ + // Make some elements. We can make elements ("outer + // objects") first, then add isotopes ("inner objects"). + Element H ("H", 1); + Element He("He",2); + Element Li("Li",3); + Element Be("Be",4); + + // Add some isotopes. With this short notation, we + // get vector push_back()s into an Element's vector + // of Isotopes. + H += Isotope(1); + H += Isotope(2); + H += Isotope(3); + + He += Isotope(3); + He += Isotope(4); + // ... + + // for fun... + He.isotope.replace(mass_number(4),Isotope(4)); + He. replace(mass_number(4),Isotope(4)); + + He.foobar = Foobar{}; + + // Make a couple of libraries. Here, we'll give them + // (vectors of) elements immediately. (Alternatively, + // those could have been added later, like we did for + // adding isotopes above.) + Library first("first library", {H,He}); + Library second("second library", {Li,Be}); + + // Make a multigroup object. + Multigroup multi("projectile name", {first,second}); + + // Example: use a basic getter to get the vector of + // elements from the second library. Getters are + // flexible (the good) but mean we have to require + // the "()" syntax (the ugly). :-/ + std::vector elems = second.element(); + assert(elems[0].symbol() == "Li"); + assert(elems[1].symbol() == "Be"); + + // Example: look stuff up by metadatum value. + Isotope deu = H.isotope(mass_number(2)); + Isotope tri = H.isotope(mass_number(3)); + + // If we instead write isotope() with no arguments + // to the getter, we get a vector of Isotope objects. + std::vector iso = H.isotope(); + + // Slightly fancier lookup, starting all the way up + // at the Multigroup object. + Isotope i = + multi.library(name("first library")) + .element(symbol("He")) + .isotope(mass_number(3)); + + // Write as XML, JSON, and HDF5. + multi.write("file.xml"); + multi.write("file.json"); + multi.write("file.h5"); + + // Prettyprint. + color = true; + multi.print(); +} diff --git a/autogen/simple/multi-classes.json b/autogen/simple/multi-classes.json new file mode 100644 index 000000000..34b24ded6 --- /dev/null +++ b/autogen/simple/multi-classes.json @@ -0,0 +1,74 @@ +{ + "namespace": "multigroup", + + "multigroup": { + "metadata": { + "projectile": { + "type": "string", + "required": true + } + }, + "children": { + "library": { + "times": "1+", + "required": true + } + } + }, + + "library": { + "metadata": { + "name": { + "type": "string", + "required": true + } + }, + "children": { + "element": { + "times": "1+", + "required": true + } + } + }, + + + "element": { + "metadata": { + "symbol": { + "type": "string", + "required": false + }, + "atomic_number": { + "type": "int", + "required": true + } + }, + "children": { + "isotope": { + "times": "1+", + "required": true + }, + "foobar": { + "times": "1", + "required": false + } + } + }, + + "isotope": { + "metadata": { + "mass_number": { + "type": "int", + "required": true + } + }, + "children": { + } + }, + + "foobar": { + "metadata": { }, + "children": { }, + "data": "double" + } +} diff --git a/autogen/simple/multi.json b/autogen/simple/multi.json new file mode 100644 index 000000000..f7f5dbbf0 --- /dev/null +++ b/autogen/simple/multi.json @@ -0,0 +1,9 @@ +{ + "Project": "multi", + "Version": "v1", + + "JSONDir": ".", + "JSONFiles": [ + "multi-classes.json" + ] +} diff --git a/autogen/simple/multi/c/src/v1.cpp b/autogen/simple/multi/c/src/v1.cpp new file mode 100644 index 000000000..3980cc696 --- /dev/null +++ b/autogen/simple/multi/c/src/v1.cpp @@ -0,0 +1,2 @@ + +#include "v1.h" diff --git a/autogen/simple/multi/c/src/v1.h b/autogen/simple/multi/c/src/v1.h new file mode 100644 index 000000000..9ff7e689f --- /dev/null +++ b/autogen/simple/multi/c/src/v1.h @@ -0,0 +1,25 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// ----------------------------------------------------------------------------- +// This file works with both C++ and C +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_MULTI_V1 +#define C_INTERFACE_MULTI_V1 + +#include "GNDStk.h" + +#ifdef __cplusplus + // For C++ + #include "multi/v1.hpp" +#endif + +#include "v1/multigroup/Multigroup.h" +#include "v1/multigroup/Library.h" +#include "v1/multigroup/Element.h" +#include "v1/multigroup/Isotope.h" +#include "v1/multigroup/Foobar.h" + +#endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp new file mode 100644 index 000000000..bd030962e --- /dev/null +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -0,0 +1,350 @@ + +#include "multi/v1/multigroup/Element.hpp" +#include "Element.h" + +using namespace njoy::GNDStk; +using namespace multi::v1; + +using C = ElementClass; +using CPP = multigroup::Element; + +static const std::string CLASSNAME = "Element"; + +namespace extract { + static auto symbol = [](auto &obj) { return &obj.symbol; }; + static auto atomic_number = [](auto &obj) { return &obj.atomic_number; }; + static auto isotope = [](auto &obj) { return &obj.isotope; }; + static auto foobar = [](auto &obj) { return &obj.foobar; }; +} + +using CPPFoobar = multigroup::Foobar; +using CPPIsotope = multigroup::Isotope; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create: default, const +Handle2ConstElement +ElementDefaultConst() +{ + return detail::createHandle + (CLASSNAME, "ElementDefaultConst"); +} + +// Create: default +Handle2Element +ElementDefault() +{ + return detail::createHandle + (CLASSNAME, "ElementDefault"); +} + +// Create: general, const +Handle2ConstElement +ElementCreateConst( + const char *const symbol, + const int atomic_number, + ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2ConstFoobar foobar +) { + ConstHandle2Element handle = detail::createHandle( + CLASSNAME, "ElementCreateConst", + symbol, + atomic_number, + std::vector{}, + detail::tocpp(foobar) + ); + for (size_t IsotopeN = 0; IsotopeN < isotopeSize; ++IsotopeN) + ElementIsotopeAdd(handle, isotope[IsotopeN]); + return handle; +} + +// Create: general +Handle2Element +ElementCreate( + const char *const symbol, + const int atomic_number, + ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2ConstFoobar foobar +) { + ConstHandle2Element handle = detail::createHandle( + CLASSNAME, "ElementCreate", + symbol, + atomic_number, + std::vector{}, + detail::tocpp(foobar) + ); + for (size_t IsotopeN = 0; IsotopeN < isotopeSize; ++IsotopeN) + ElementIsotopeAdd(handle, isotope[IsotopeN]); + return handle; +} + +// Assign +void +ElementAssign(ConstHandle2Element This, ConstHandle2ConstElement from) +{ + detail::assignHandle + (CLASSNAME, "ElementAssign", This, from); +} + +// Delete +void +ElementDelete(ConstHandle2ConstElement This) +{ + detail::deleteHandle + (CLASSNAME, "ElementDelete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read +int +ElementRead(ConstHandle2Element This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, "ElementRead", This, filename); +} + +// Write +int +ElementWrite(ConstHandle2ConstElement This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, "ElementWrite", This, filename); +} + +// Print to standard output +int +ElementPrint(ConstHandle2ConstElement This) +{ + return detail::printHandle + (CLASSNAME, "ElementPrint", This); +} + +// Print to standard output, as XML +int +ElementPrintXML(ConstHandle2ConstElement This) +{ + return detail::printHandle + (CLASSNAME, "ElementPrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ElementPrintJSON(ConstHandle2ConstElement This) +{ + return detail::printHandle + (CLASSNAME, "ElementPrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Re: symbol +// ----------------------------------------------------------------------------- + +// Has +int +ElementSymbolHas(ConstHandle2ConstElement This) +{ + return detail::hasMetadatum + (CLASSNAME, "ElementSymbolHas", This, extract::symbol); +} + +// Get +const char * +ElementSymbolGet(ConstHandle2ConstElement This) +{ + return detail::getMetadatum + (CLASSNAME, "ElementSymbolGet", This, extract::symbol); +} + +// Set +void +ElementSymbolSet(ConstHandle2Element This, const char *const symbol) +{ + detail::setMetadatum + (CLASSNAME, "ElementSymbolSet", This, extract::symbol, symbol); +} + + +// ----------------------------------------------------------------------------- +// Re: atomic_number +// ----------------------------------------------------------------------------- + +// Has +int +ElementAtomicNumberHas(ConstHandle2ConstElement This) +{ + return detail::hasMetadatum + (CLASSNAME, "ElementAtomicNumberHas", This, extract::atomic_number); +} + +// Get +int +ElementAtomicNumberGet(ConstHandle2ConstElement This) +{ + return detail::getMetadatum + (CLASSNAME, "ElementAtomicNumberGet", This, extract::atomic_number); +} + +// Set +void +ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number) +{ + detail::setMetadatum + (CLASSNAME, "ElementAtomicNumberSet", This, extract::atomic_number, atomic_number); +} + + +// ----------------------------------------------------------------------------- +// Re: isotope +// ----------------------------------------------------------------------------- + +// Clear +void +ElementIsotopeClear(ConstHandle2Element This) +{ + detail::clearContainer + (CLASSNAME, "ElementIsotopeClear", This, extract::isotope); +} + +// Size +size_t +ElementIsotopeSize(ConstHandle2ConstElement This) +{ + return detail::sizeOfContainer + (CLASSNAME, "ElementIsotopeSize", This, extract::isotope); +} + +// Has +int +ElementIsotopeHas(ConstHandle2ConstElement This) +{ + return detail::hasMetadatum + (CLASSNAME, "ElementIsotopeHas", This, extract::isotope); +} + +// Add +void +ElementIsotopeAdd(ConstHandle2Element This, ConstHandle2ConstIsotope isotope) +{ + detail::addToContainer + (CLASSNAME, "ElementIsotopeAdd", This, extract::isotope, isotope); +} + +// Get, by index \in [0,size), const +Handle2ConstIsotope +ElementIsotopeGetConst(ConstHandle2ConstElement This, const size_t index) +{ + return detail::getByIndex + (CLASSNAME, "ElementIsotopeGetConst", This, extract::isotope, index); +} + +// Get, by index \in [0,size), non-const +Handle2Isotope +ElementIsotopeGet(ConstHandle2Element This, const size_t index) +{ + return detail::getByIndex + (CLASSNAME, "ElementIsotopeGet", This, extract::isotope, index); +} + +// Set, by index \in [0,size) +void +ElementIsotopeSet( + ConstHandle2Element This, + const size_t index, + ConstHandle2ConstIsotope isotope +) { + detail::setByIndex + (CLASSNAME, "ElementIsotopeSet", This, extract::isotope, index, isotope); +} + +// Has, by mass_number +int +ElementIsotopeHasByMassNumber( + ConstHandle2ConstElement This, + const int mass_number +) { + return detail::hasByMetadatum + (CLASSNAME, "ElementIsotopeHasByMassNumber", + This, extract::isotope, meta::mass_number, mass_number); +} + +// Get, by mass_number, const +Handle2ConstIsotope +ElementIsotopeGetByMassNumberConst( + ConstHandle2ConstElement This, + const int mass_number +) { + return detail::getByMetadatum + (CLASSNAME, "ElementIsotopeGetByMassNumberConst", + This, extract::isotope, meta::mass_number, mass_number); +} + +// Get, by mass_number, non-const +Handle2Isotope +ElementIsotopeGetByMassNumber( + ConstHandle2Element This, + const int mass_number +) { + return detail::getByMetadatum + (CLASSNAME, "ElementIsotopeGetByMassNumber", + This, extract::isotope, meta::mass_number, mass_number); +} + +// Set, by mass_number +void +ElementIsotopeSetByMassNumber( + ConstHandle2Element This, + const int mass_number, + ConstHandle2ConstIsotope isotope +) { + detail::setByMetadatum + (CLASSNAME, "ElementIsotopeSetByMassNumber", + This, extract::isotope, meta::mass_number, mass_number, isotope); +} + + +// ----------------------------------------------------------------------------- +// Re: foobar +// ----------------------------------------------------------------------------- + +// Has +int +ElementFoobarHas(ConstHandle2ConstElement This) +{ + return detail::hasMetadatum + (CLASSNAME, "ElementFoobarHas", This, extract::foobar); +} + +// Get: const +Handle2ConstFoobar +ElementFoobarGetConst(ConstHandle2ConstElement This) +{ + return detail::getMetadatum + (CLASSNAME, "ElementFoobarGetConst", This, extract::foobar); +} + +// Get: non-const +Handle2Foobar +ElementFoobarGet(ConstHandle2Element This) +{ + return detail::getMetadatum + (CLASSNAME, "ElementFoobarGet", This, extract::foobar); +} + +// Set +void +ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar) +{ + detail::setMetadatum + (CLASSNAME, "ElementFoobarSet", This, extract::foobar, foobar); +} diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h new file mode 100644 index 000000000..b33c87b8d --- /dev/null +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -0,0 +1,278 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C. +// Note that this header file is designed to work with both C and C++. +// Function definitions are in this file's .cpp source. + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions +// +// Constructs you're MORE likely to use are preceded with: +// // +++ comment +// Constructs you're LESS likely to use are preceded with: +// // --- comment +// You can probably ignore anything not marked in either way. +// +// Element is the basic handle type in this file: +// Element element = ElementCreate(); +// Functions for Element are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_MULTI_V1_MULTIGROUP_ELEMENT +#define C_INTERFACE_MULTI_V1_MULTIGROUP_ELEMENT + +#include "GNDStk.h" +#include "v1/multigroup/Isotope.h" +#include "v1/multigroup/Foobar.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ElementClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Element +// +++ General handle, suitable for many users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ElementClass *Element; + +// --- Const-aware handles. Think: constness of handle, vs. of handled object. +typedef const struct ElementClass *const ConstHandle2ConstElement; +typedef struct ElementClass *const ConstHandle2Element; +typedef const struct ElementClass * Handle2ConstElement; +typedef struct ElementClass * Handle2Element; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create: default, const +extern_c Handle2ConstElement +ElementDefaultConst(); + +// +++ Create: default +extern_c Handle2Element +ElementDefault(); + +// --- Create: general, const +extern_c Handle2ConstElement +ElementCreateConst( + const char *const symbol, + const int atomic_number, + ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2ConstFoobar foobar +); + +// +++ Create: general +extern_c Handle2Element +ElementCreate( + const char *const symbol, + const int atomic_number, + ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2ConstFoobar foobar +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ElementAssign(ConstHandle2Element This, ConstHandle2ConstElement from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ElementDelete(ConstHandle2ConstElement This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ElementRead(ConstHandle2Element This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ElementWrite(ConstHandle2ConstElement This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ElementPrint(ConstHandle2ConstElement This); + +// +++ Print to standard output, as XML +extern_c int +ElementPrintXML(ConstHandle2ConstElement This); + +// +++ Print to standard output, as JSON +extern_c int +ElementPrintJSON(ConstHandle2ConstElement This); + + +// ----------------------------------------------------------------------------- +// Re: symbol +// ----------------------------------------------------------------------------- + +// +++ Has, Get, Set +// +++ Get returns by value +extern_c int +ElementSymbolHas(ConstHandle2ConstElement This); +extern_c const char * +ElementSymbolGet(ConstHandle2ConstElement This); +extern_c void +ElementSymbolSet(ConstHandle2Element This, const char *const symbol); + + +// ----------------------------------------------------------------------------- +// Re: atomic_number +// ----------------------------------------------------------------------------- + +// +++ Has, Get, Set +// +++ Get returns by value +extern_c int +ElementAtomicNumberHas(ConstHandle2ConstElement This); +extern_c int +ElementAtomicNumberGet(ConstHandle2ConstElement This); +extern_c void +ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number); + + +// ----------------------------------------------------------------------------- +// Re: isotope +// ----------------------------------------------------------------------------- + +// Clear, Size, Add, Has +extern_c void +ElementIsotopeClear(ConstHandle2Element This); +extern_c size_t +ElementIsotopeSize(ConstHandle2ConstElement This); +extern_c void +ElementIsotopeAdd(ConstHandle2Element This, ConstHandle2ConstIsotope isotope); +extern_c int +ElementIsotopeHas(ConstHandle2ConstElement This); + +// Get, Set +// By index \in [0,size) +extern_c Handle2ConstIsotope +ElementIsotopeGetConst(ConstHandle2ConstElement This, const size_t index_); +extern_c Handle2Isotope +ElementIsotopeGet(ConstHandle2Element This, const size_t index_); +extern_c void +ElementIsotopeSet(ConstHandle2Element This, const size_t index_, ConstHandle2ConstIsotope isotope); + +// Has, Get, Set +// By mass number +extern_c int +ElementIsotopeHasByMassNumber(ConstHandle2ConstElement This, const int mass_number); +extern_c Handle2ConstIsotope +ElementIsotopeGetByMassNumberConst(ConstHandle2ConstElement This, const int mass_number); +extern_c Handle2Isotope +ElementIsotopeGetByMassNumber(ConstHandle2Element This, const int mass_number); +extern_c void +ElementIsotopeSetByMassNumber(ConstHandle2Element This, const int mass_number, ConstHandle2ConstIsotope isotope); + + +// ----------------------------------------------------------------------------- +// Re: foobar +// ----------------------------------------------------------------------------- + +// +++ Has, Get, Set +// +++ Get returns a handle, because the value is of a (handled) +// +++ structure type. Thus we have const and non-const versions. +extern_c int +ElementFoobarHas(ConstHandle2ConstElement This); +extern_c Handle2ConstFoobar +ElementFoobarGetConst(ConstHandle2ConstElement This); +extern_c Handle2Foobar +ElementFoobarGet(ConstHandle2Element This); +extern_c void +ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar); + + +// ----------------------------------------------------------------------------- +// Summary +// ----------------------------------------------------------------------------- + +// General handle type: Element +// Const-specific handle types: [Const]Handle2[Const]Element + +// C-callable Functions: +#ifndef __cplusplus +Handle2ConstElement ElementCreateDefaultConst(); +Handle2Element ElementCreateDefault(); +Handle2ConstElement ElementCreateConst( + const char *const symbol, + const int atomic_number, + ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2ConstFoobar foobar +); +Handle2Element ElementCreate( + const char *const symbol, + const int atomic_number, + ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2ConstFoobar foobar +); +void ElementAssign(ConstHandle2Element This, ConstHandle2ConstElement from); +void ElementDelete(ConstHandle2ConstElement This); +int ElementRead(ConstHandle2Element This, const char *const filename); +int ElementWrite(ConstHandle2ConstElement This, const char *const filename); +int ElementPrint(ConstHandle2ConstElement This); +int ElementPrintXML(ConstHandle2ConstElement This); +int ElementPrintJSON(ConstHandle2ConstElement This); +int ElementSymbolHas(ConstHandle2ConstElement This); +const char *ElementSymbolGet(ConstHandle2ConstElement This); +void ElementSymbolSet(ConstHandle2Element This, const char *const symbol); +int ElementAtomicNumberHas(ConstHandle2ConstElement This); +int ElementAtomicNumberGet(ConstHandle2ConstElement This); +void ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number); +int ElementFoobarHas(ConstHandle2ConstElement This); +Handle2ConstFoobar ElementFoobarGetConst(ConstHandle2ConstElement This); +Handle2Foobar ElementFoobarGet(ConstHandle2Element This); +void ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar); +void ElementIsotopeClear(ConstHandle2Element This); +size_t ElementIsotopeSize(ConstHandle2ConstElement This); +void ElementIsotopeAdd(ConstHandle2Element This, ConstHandle2ConstIsotope isotope); +int ElementIsotopeHas(ConstHandle2ConstElement This); +Handle2ConstIsotope ElementIsotopeGetConst(ConstHandle2ConstElement This, const size_t index_); +Handle2Isotope ElementIsotopeGet(ConstHandle2Element This, const size_t index_); +void ElementIsotopeSet(ConstHandle2Element This, const size_t index_, ConstHandle2ConstIsotope isotope); +int ElementIsotopeHasByMassNumber(ConstHandle2ConstElement This, const int mass_number); +Handle2ConstIsotope ElementIsotopeGetByMassNumberConst(ConstHandle2ConstElement This, const int mass_number); +Handle2Isotope ElementIsotopeGetByMassNumber(ConstHandle2Element This, const int mass_number); +void ElementIsotopeSetByMassNumber(ConstHandle2Element This, const int mass_number, ConstHandle2ConstIsotope isotope); +#endif + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp new file mode 100644 index 000000000..e4d7192df --- /dev/null +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -0,0 +1,173 @@ + +#include "multi/v1/multigroup/Foobar.hpp" +#include "Foobar.h" + +using namespace njoy::GNDStk; +using namespace multi::v1; + +using C = FoobarClass; +using CPP = multigroup::Foobar; + +static const std::string CLASSNAME = "Foobar"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create: default, const +Handle2ConstFoobar +FoobarDefaultConst() +{ + return detail::createHandle + (CLASSNAME, "FoobarDefaultConst"); +} + +// Create: default +Handle2Foobar +FoobarDefault() +{ + return detail::createHandle + (CLASSNAME, "FoobarDefault"); +} + +// Create: general, const +Handle2ConstFoobar +FoobarCreateConst() +{ + return detail::createHandle + (CLASSNAME, "FoobarCreateConst"); +} + +// Create: general +Handle2Foobar +FoobarCreate() +{ + return detail::createHandle + (CLASSNAME, "FoobarCreate"); +} + +// Assign +void +FoobarAssign(ConstHandle2Foobar This, ConstHandle2ConstFoobar from) +{ + detail::assignHandle + (CLASSNAME, "FoobarAssign", This, from); +} + +// Delete +void +FoobarDelete(ConstHandle2ConstFoobar This) +{ + detail::deleteHandle + (CLASSNAME, "FoobarDelete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read +int +FoobarRead(ConstHandle2Foobar This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, "FoobarRead", This, filename); +} + +// Write +int +FoobarWrite(ConstHandle2ConstFoobar This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, "FoobarWrite", This, filename); +} + +// Print to standard output +int +FoobarPrint(ConstHandle2ConstFoobar This) +{ + return detail::printHandle + (CLASSNAME, "FoobarPrint", This); +} + +// Print to standard output, as XML +int +FoobarPrintXML(ConstHandle2ConstFoobar This) +{ + return detail::printHandle + (CLASSNAME, "FoobarPrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FoobarPrintJSON(ConstHandle2ConstFoobar This) +{ + return detail::printHandle + (CLASSNAME, "FoobarPrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Re: vector +// ----------------------------------------------------------------------------- + +// Clear +void +FoobarDoublesClear(ConstHandle2Foobar This) +{ + detail::vectorClear + (CLASSNAME, "FoobarDoublesClear", This); +} + +// Size +size_t +FoobarDoublesSize(ConstHandle2ConstFoobar This) +{ + return detail::vectorSize + (CLASSNAME, "FoobarDoublesSize", This); +} + +// Get +double +FoobarDoublesGet(ConstHandle2ConstFoobar This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, "FoobarDoublesGet", This, index); +} + +// Set +void +FoobarDoublesSet(ConstHandle2Foobar This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, "FoobarDoublesSet", This, index, value); +} + +// Get pointer to values, const +const double * +FoobarDoublesGetArrayConst(ConstHandle2ConstFoobar This) +{ + return detail::vectorGet + (CLASSNAME, "FoobarDoublesGetArrayConst", This); +} + +// Get pointer to values, non-const +double * +FoobarDoublesGetArray(ConstHandle2Foobar This) +{ + return detail::vectorGet + (CLASSNAME, "FoobarDoublesGetArray", This); +} + +// Set new size and values +void +FoobarDoublesSetArray(ConstHandle2Foobar This, const size_t size, const double *const values) +{ + return detail::vectorSet + (CLASSNAME, "FoobarDoublesSetArray", This, size, values); +} diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h new file mode 100644 index 000000000..4f4a39710 --- /dev/null +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -0,0 +1,160 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C. +// Note that this header file is designed to work with both C and C++. +// Function definitions are in this file's .cpp source. + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Foobar is the basic handle type in this file: +// Foobar foobar = FoobarDefault(); +// Functions for Foobar are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_MULTI_V1_MULTIGROUP_FOOBAR +#define C_INTERFACE_MULTI_V1_MULTIGROUP_FOOBAR + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FoobarClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Foobar +// +++ General handle, suitable for many users +typedef struct FoobarClass *Foobar; + +// --- Const-aware handles, re: constness of handle vs. handled object +typedef const struct FoobarClass *const ConstHandle2ConstFoobar; +typedef struct FoobarClass *const ConstHandle2Foobar; +typedef const struct FoobarClass * Handle2ConstFoobar; +typedef struct FoobarClass * Handle2Foobar; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create: default, const +extern_c Handle2ConstFoobar +FoobarDefaultConst(); + +// +++ Create: default +extern_c Handle2Foobar +FoobarDefault(); + +// --- Create: general, const +extern_c Handle2ConstFoobar +FoobarCreateConst( +); + +// +++ Create: general +extern_c Handle2Foobar +FoobarCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FoobarAssign(ConstHandle2Foobar This, ConstHandle2ConstFoobar from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FoobarDelete(ConstHandle2ConstFoobar This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FoobarRead(ConstHandle2Foobar This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FoobarWrite(ConstHandle2ConstFoobar This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FoobarPrint(ConstHandle2ConstFoobar This); + +// +++ Print to standard output, as XML +extern_c int +FoobarPrintXML(ConstHandle2ConstFoobar This); + +// +++ Print to standard output, as JSON +extern_c int +FoobarPrintJSON(ConstHandle2ConstFoobar This); + + +// ----------------------------------------------------------------------------- +// Re: vector +// ----------------------------------------------------------------------------- + +// +++ Clear, Size +extern_c void +FoobarDoublesClear(ConstHandle2Foobar This); +extern_c size_t +FoobarDoublesSize(ConstHandle2ConstFoobar This); + +// +++ Get, Set +// +++ By index \in [0,size) +extern_c double +FoobarDoublesGet(ConstHandle2ConstFoobar This, const size_t index); +extern_c void +FoobarDoublesSet(ConstHandle2Foobar This, const size_t index, const double value); + +// +++ Get pointer to values +extern_c const double * +FoobarDoublesGetArrayConst(ConstHandle2ConstFoobar This); +extern_c double * +FoobarDoublesGetArray(ConstHandle2Foobar This); + +// +++ Set new size and values +extern_c void +FoobarDoublesSetArray(ConstHandle2Foobar This, const size_t size, const double *const doubles); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp new file mode 100644 index 000000000..14a34bd96 --- /dev/null +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp @@ -0,0 +1,149 @@ + +#include "multi/v1/multigroup/Isotope.hpp" +#include "Isotope.h" + +using namespace njoy::GNDStk; +using namespace multi::v1; + +using C = IsotopeClass; +using CPP = multigroup::Isotope; + +static const std::string CLASSNAME = "Isotope"; + +namespace extract { + static auto mass_number = [](auto &obj) { return &obj.mass_number; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create: default, const +Handle2ConstIsotope +IsotopeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, "IsotopeDefaultConst"); +} + +// Create: default +Handle2Isotope +IsotopeDefault() +{ + return detail::createHandle + (CLASSNAME, "IsotopeDefault"); +} + +// Create: general, const +Handle2ConstIsotope +IsotopeCreateConst( + const int mass_number +) { + return detail::createHandle + (CLASSNAME, "IsotopeCreateConst", + mass_number); +} + +// Create: general +Handle2Isotope +IsotopeCreate( + const int mass_number +) { + return detail::createHandle + (CLASSNAME, "IsotopeCreate", + mass_number); +} + +// Assign +void +IsotopeAssign(ConstHandle2Isotope This, ConstHandle2ConstIsotope from) +{ + detail::assignHandle + (CLASSNAME, "IsotopeAssign", This, from); +} + +// Delete +void +IsotopeDelete(ConstHandle2ConstIsotope This) +{ + detail::deleteHandle + (CLASSNAME, "IsotopeDelete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read +int +IsotopeRead(ConstHandle2Isotope This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, "IsotopeRead", This, filename); +} + +// Write +int +IsotopeWrite(ConstHandle2ConstIsotope This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, "IsotopeWrite", This, filename); +} + +// Print to standard output +int +IsotopePrint(ConstHandle2ConstIsotope This) +{ + return detail::printHandle + (CLASSNAME, "IsotopePrint", This); +} + +// Print to standard output, as XML +int +IsotopePrintXML(ConstHandle2ConstIsotope This) +{ + return detail::printHandle + (CLASSNAME, "IsotopePrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IsotopePrintJSON(ConstHandle2ConstIsotope This) +{ + return detail::printHandle + (CLASSNAME, "IsotopePrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Re: mass_number +// ----------------------------------------------------------------------------- + +// Has +int +IsotopeMassNumberHas(ConstHandle2ConstIsotope This) +{ + return detail::hasMetadatum + (CLASSNAME, "IsotopeMassNumberHas", This, extract::mass_number); +} + +// Get +int +IsotopeMassNumberGet(ConstHandle2ConstIsotope This) +{ + return detail::getMetadatum + (CLASSNAME, "IsotopeMassNumberGet", This, extract::mass_number); +} + +// Set +void +IsotopeMassNumberSet(ConstHandle2Isotope This, const int mass_number) +{ + detail::setMetadatum + (CLASSNAME, "IsotopeMassNumberSet", This, extract::mass_number, mass_number); +} diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h new file mode 100644 index 000000000..ecaeffa48 --- /dev/null +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -0,0 +1,150 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C. +// Note that this header file is designed to work with both C and C++. +// Function definitions are in this file's .cpp source. + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Isotope is the basic handle type in this file: +// Isotope isotope = IsotopeDefault(); +// Functions for Isotope are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_MULTI_V1_MULTIGROUP_ISOTOPE +#define C_INTERFACE_MULTI_V1_MULTIGROUP_ISOTOPE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IsotopeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Isotope +// +++ General handle, suitable for many users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IsotopeClass *Isotope; + +// --- Const-aware handles, re: constness of handle vs. handled object. +typedef const struct IsotopeClass *const ConstHandle2ConstIsotope; +typedef struct IsotopeClass *const ConstHandle2Isotope; +typedef const struct IsotopeClass * Handle2ConstIsotope; +typedef struct IsotopeClass * Handle2Isotope; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create: default, const +extern_c Handle2ConstIsotope +IsotopeDefaultConst(); + +// +++ Create: default +extern_c Handle2Isotope +IsotopeDefault(); + +// --- Create: general, const +extern_c Handle2ConstIsotope +IsotopeCreateConst( + const int mass_number +); + +// +++ Create: general +extern_c Handle2Isotope +IsotopeCreate( + const int mass_number +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IsotopeAssign(ConstHandle2Isotope This, ConstHandle2ConstIsotope from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IsotopeDelete(ConstHandle2ConstIsotope This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IsotopeRead(ConstHandle2Isotope This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IsotopeWrite(ConstHandle2ConstIsotope This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IsotopePrint(ConstHandle2ConstIsotope This); + +// +++ Print to standard output, as XML +extern_c int +IsotopePrintXML(ConstHandle2ConstIsotope This); + +// +++ Print to standard output, as JSON +extern_c int +IsotopePrintJSON(ConstHandle2ConstIsotope This); + + +// ----------------------------------------------------------------------------- +// Re: mass_number +// ----------------------------------------------------------------------------- + +// +++ Has, Get, Set +// +++ Get returns by value +extern_c int +IsotopeMassNumberHas(ConstHandle2ConstIsotope This); +extern_c int +IsotopeMassNumberGet(ConstHandle2ConstIsotope This); +extern_c void +IsotopeMassNumberSet(ConstHandle2Isotope This, const int mass_number); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp new file mode 100644 index 000000000..433ee03d1 --- /dev/null +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp @@ -0,0 +1,2 @@ + +#include "Library.h" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.h b/autogen/simple/multi/c/src/v1/multigroup/Library.h new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp new file mode 100644 index 000000000..c33ec7eda --- /dev/null +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp @@ -0,0 +1,2 @@ + +#include "Multigroup.h" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/python/src/v1/multigroup.python.cpp b/autogen/simple/multi/python/src/v1/multigroup.python.cpp new file mode 100644 index 000000000..57d970039 --- /dev/null +++ b/autogen/simple/multi/python/src/v1/multigroup.python.cpp @@ -0,0 +1,39 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v1 interface +namespace python_v1 { + +// multigroup declarations +namespace python_multigroup { + void wrapIsotope(python::module &); + void wrapFoobar(python::module &); + void wrapElement(python::module &); + void wrapLibrary(python::module &); + void wrapMultigroup(python::module &); +} // namespace python_multigroup + +// multigroup wrapper +void wrapMultigroup(python::module &module) +{ + // create the multigroup submodule + python::module submodule = module.def_submodule( + "multigroup", + "multi v1 multigroup" + ); + + // wrap multigroup components + python_multigroup::wrapIsotope(submodule); + python_multigroup::wrapFoobar(submodule); + python_multigroup::wrapElement(submodule); + python_multigroup::wrapLibrary(submodule); + python_multigroup::wrapMultigroup(submodule); +}; + +} // namespace python_v1 diff --git a/autogen/simple/multi/python/src/v1/multigroup/Element.python.cpp b/autogen/simple/multi/python/src/v1/multigroup/Element.python.cpp new file mode 100644 index 000000000..f2897c1cf --- /dev/null +++ b/autogen/simple/multi/python/src/v1/multigroup/Element.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "multi/v1/multigroup/Element.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v1 { +namespace python_multigroup { + +// Element wrapper +void wrapElement(python::module &module) +{ + using namespace multi; + using namespace multi::v1; + + // type aliases + using Component = multigroup::Element; + + // create the component + python::class_ component( + module, + "Element", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const int &, + const std::vector &, + const std::optional & + >(), + python::arg("symbol") = std::nullopt, + python::arg("atomic_number"), + python::arg("isotope"), + python::arg("foobar") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "symbol", + [](const Component &self) { return self.symbol(); }, + Component::documentation("symbol").data() + ) + .def_property_readonly( + "atomic_number", + [](const Component &self) { return self.atomic_number(); }, + Component::documentation("atomic_number").data() + ) + .def_property_readonly( + "isotope", + [](const Component &self) { return self.isotope(); }, + Component::documentation("isotope").data() + ) + .def_property_readonly( + "foobar", + [](const Component &self) { return self.foobar(); }, + Component::documentation("foobar").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_multigroup +} // namespace python_v1 diff --git a/autogen/simple/multi/python/src/v1/multigroup/Foobar.python.cpp b/autogen/simple/multi/python/src/v1/multigroup/Foobar.python.cpp new file mode 100644 index 000000000..934a63d12 --- /dev/null +++ b/autogen/simple/multi/python/src/v1/multigroup/Foobar.python.cpp @@ -0,0 +1,61 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "multi/v1/multigroup/Foobar.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v1 { +namespace python_multigroup { + +// Foobar wrapper +void wrapFoobar(python::module &module) +{ + using namespace multi; + using namespace multi::v1; + + // type aliases + using Component = multigroup::Foobar; + + // create the component + python::class_ component( + module, + "Foobar", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_multigroup +} // namespace python_v1 diff --git a/autogen/simple/multi/python/src/v1/multigroup/Isotope.python.cpp b/autogen/simple/multi/python/src/v1/multigroup/Isotope.python.cpp new file mode 100644 index 000000000..d74c2f1a1 --- /dev/null +++ b/autogen/simple/multi/python/src/v1/multigroup/Isotope.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "multi/v1/multigroup/Isotope.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v1 { +namespace python_multigroup { + +// Isotope wrapper +void wrapIsotope(python::module &module) +{ + using namespace multi; + using namespace multi::v1; + + // type aliases + using Component = multigroup::Isotope; + + // create the component + python::class_ component( + module, + "Isotope", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const int & + >(), + python::arg("mass_number"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "mass_number", + [](const Component &self) { return self.mass_number(); }, + Component::documentation("mass_number").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_multigroup +} // namespace python_v1 diff --git a/autogen/simple/multi/python/src/v1/multigroup/Library.python.cpp b/autogen/simple/multi/python/src/v1/multigroup/Library.python.cpp new file mode 100644 index 000000000..f464efd43 --- /dev/null +++ b/autogen/simple/multi/python/src/v1/multigroup/Library.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "multi/v1/multigroup/Library.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v1 { +namespace python_multigroup { + +// Library wrapper +void wrapLibrary(python::module &module) +{ + using namespace multi; + using namespace multi::v1; + + // type aliases + using Component = multigroup::Library; + + // create the component + python::class_ component( + module, + "Library", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::vector & + >(), + python::arg("name"), + python::arg("element"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "element", + [](const Component &self) { return self.element(); }, + Component::documentation("element").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_multigroup +} // namespace python_v1 diff --git a/autogen/simple/multi/python/src/v1/multigroup/Multigroup.python.cpp b/autogen/simple/multi/python/src/v1/multigroup/Multigroup.python.cpp new file mode 100644 index 000000000..677cb082d --- /dev/null +++ b/autogen/simple/multi/python/src/v1/multigroup/Multigroup.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "multi/v1/multigroup/Multigroup.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v1 { +namespace python_multigroup { + +// Multigroup wrapper +void wrapMultigroup(python::module &module) +{ + using namespace multi; + using namespace multi::v1; + + // type aliases + using Component = multigroup::Multigroup; + + // create the component + python::class_ component( + module, + "Multigroup", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::vector & + >(), + python::arg("projectile"), + python::arg("library"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "projectile", + [](const Component &self) { return self.projectile(); }, + Component::documentation("projectile").data() + ) + .def_property_readonly( + "library", + [](const Component &self) { return self.library(); }, + Component::documentation("library").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_multigroup +} // namespace python_v1 diff --git a/autogen/simple/multi/src/multi/v1.hpp b/autogen/simple/multi/src/multi/v1.hpp new file mode 100644 index 000000000..12086f923 --- /dev/null +++ b/autogen/simple/multi/src/multi/v1.hpp @@ -0,0 +1,14 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef MULTI_V1 +#define MULTI_V1 + +#include "multi/v1/multigroup/Multigroup.hpp" +#include "multi/v1/multigroup/Library.hpp" +#include "multi/v1/multigroup/Element.hpp" +#include "multi/v1/multigroup/Isotope.hpp" +#include "multi/v1/multigroup/Foobar.hpp" + +#endif diff --git a/autogen/simple/multi/src/multi/v1/key.hpp b/autogen/simple/multi/src/multi/v1/key.hpp new file mode 100644 index 000000000..70dc50952 --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/key.hpp @@ -0,0 +1,79 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef MULTI_V1_KEY +#define MULTI_V1_KEY + +// GNDStk Core Interface +#include "GNDStk.hpp" + +namespace multi { +namespace v1 { + +using namespace njoy::GNDStk; + + +// ----------------------------------------------------------------------------- +// meta:: +// ----------------------------------------------------------------------------- + +namespace meta { + +#define GNDSTK_MAKE_LOOKUP(nameField,nameGNDS) \ + inline const auto nameField = makeLookup( \ + [](const auto &obj) -> decltype(obj.nameField()) \ + { return obj.nameField(); }, \ + #nameGNDS \ + ) +// nameField vs. nameGNDS: for, e.g., Double vs. double in GNDS + +GNDSTK_MAKE_LOOKUP(atomic_number,atomic_number); +GNDSTK_MAKE_LOOKUP(mass_number,mass_number); +GNDSTK_MAKE_LOOKUP(name,name); +GNDSTK_MAKE_LOOKUP(projectile,projectile); +GNDSTK_MAKE_LOOKUP(symbol,symbol); + +#undef GNDSTK_MAKE_LOOKUP + +} // namespace meta + + +// ----------------------------------------------------------------------------- +// multigroup::child:: +// ----------------------------------------------------------------------------- + +namespace multigroup { +namespace child { + +inline const Child<> element("element"); +inline const Child<> foobar("foobar"); +inline const Child<> isotope("isotope"); +inline const Child<> library("library"); +inline const Child<> multigroup("multigroup"); + +} // namespace child +using namespace child; +} // namespace multigroup + + +// ----------------------------------------------------------------------------- +// For convenience: using directives +// ----------------------------------------------------------------------------- + +namespace key { + using namespace meta; + using namespace multigroup::child; +} // namespace key + +using namespace key; +using namespace multigroup; + + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + +} // namespace v1 +} // namespace multi + +#endif diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp new file mode 100644 index 000000000..c87342dae --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef MULTI_V1_MULTIGROUP_ELEMENT +#define MULTI_V1_MULTIGROUP_ELEMENT + +#include "multi/v1/multigroup/Isotope.hpp" +#include "multi/v1/multigroup/Foobar.hpp" + +namespace multi { +namespace v1 { +namespace multigroup { + +// ----------------------------------------------------------------------------- +// multigroup:: +// class Element +// ----------------------------------------------------------------------------- + +class Element : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "multigroup"; } + static auto CLASS() { return "Element"; } + static auto FIELD() { return "element"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("symbol") | + int{} + / Meta<>("atomic_number") | + // children + multigroup::Isotope{} + / ++Child<>("isotope") | + std::optional{} + / --Child<>("foobar") + ; + } + +public: + using Component::construct; + + // metadata + Field> symbol{this}; + Field atomic_number{this}; + + // children + Field> isotope{this}; + Field> foobar{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->symbol, \ + this->atomic_number, \ + this->isotope, \ + this->foobar) + + // default, and from fields + explicit Element( + const wrapper> &symbol = {}, + const wrapper &atomic_number = {}, + const wrapper> &isotope = {}, + const wrapper> &foobar = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + symbol(this,symbol), + atomic_number(this,atomic_number), + isotope(this,isotope), + foobar(this,foobar) + { + Component::finish(); + } + + // from node + explicit Element(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Element(const Element &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Element(Element &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Element &operator=(const Element &) = default; + Element &operator=(Element &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "multi/v1/multigroup/Element/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Element + +} // namespace multigroup +} // namespace v1 +} // namespace multi + +#endif diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Element/src/custom.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Element/src/custom.hpp new file mode 100644 index 000000000..b944fbfe2 --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Element/src/custom.hpp @@ -0,0 +1,28 @@ + +private: + + static inline helpMap help = {}; + +public: + + // Custom 2-argument print() function. + // In order to be called by Component::print(), this function must be public, + // and must have the exact signature shown here, including both the constness + // of the second parameter, and of the function itself. + std::ostream &print(std::ostream &os, const int level) const + { + // When Component::print() calls a custom print() that takes indentation + // level (as opposed to a custom print() that takes only a std::ostream), + // it assumes that the custom print() takes care of its own indentation. + // So, prefer this print() over a std::ostream-only print() - for which + // Component::print() indents as it believes is appropriate - ONLY if you + // wish to do something nonstandard with indentation. + + // Here, we'll indent as GNDStk does: using GNDStk::indent*level spaces. + // GNDStk::indentTo() creates an appropriate std::string for that purpose. + os << indentTo(level) << "*** Custom Element print(), line 1\n"; + os << indentTo(level) << "*** Custom Element print(), line 2\n"; + os << indentTo(level) << "*** Custom Element print(), line 3"; + + return os; + } diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp new file mode 100644 index 000000000..1d22a934b --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp @@ -0,0 +1,104 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef MULTI_V1_MULTIGROUP_FOOBAR +#define MULTI_V1_MULTIGROUP_FOOBAR + +#include "multi/v1/key.hpp" + +namespace multi { +namespace v1 { +namespace multigroup { + +// ----------------------------------------------------------------------------- +// multigroup:: +// class Foobar +// ----------------------------------------------------------------------------- + +class Foobar : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "multigroup"; } + static auto CLASS() { return "Foobar"; } + static auto FIELD() { return "foobar"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + using BlockData::operator=; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + Foobar() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit Foobar(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Foobar(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Foobar(const Foobar &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Foobar(Foobar &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Foobar &operator=(const Foobar &) = default; + Foobar &operator=(Foobar &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "multi/v1/multigroup/Foobar/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Foobar + +} // namespace multigroup +} // namespace v1 +} // namespace multi + +#endif diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Foobar/src/custom.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Foobar/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Foobar/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp new file mode 100644 index 000000000..37f7cca31 --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef MULTI_V1_MULTIGROUP_ISOTOPE +#define MULTI_V1_MULTIGROUP_ISOTOPE + +#include "multi/v1/key.hpp" + +namespace multi { +namespace v1 { +namespace multigroup { + +// ----------------------------------------------------------------------------- +// multigroup:: +// class Isotope +// ----------------------------------------------------------------------------- + +class Isotope : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "multigroup"; } + static auto CLASS() { return "Isotope"; } + static auto FIELD() { return "isotope"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + int{} + / Meta<>("mass_number") + ; + } + +public: + using Component::construct; + + // metadata + Field mass_number{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->mass_number) + + // default, and from fields + explicit Isotope( + const wrapper &mass_number = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + mass_number(this,mass_number) + { + Component::finish(); + } + + // from node + explicit Isotope(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Isotope(const Isotope &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Isotope(Isotope &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Isotope &operator=(const Isotope &) = default; + Isotope &operator=(Isotope &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "multi/v1/multigroup/Isotope/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Isotope + +} // namespace multigroup +} // namespace v1 +} // namespace multi + +#endif diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Isotope/src/custom.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Isotope/src/custom.hpp new file mode 100644 index 000000000..758ac991d --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Isotope/src/custom.hpp @@ -0,0 +1,25 @@ + +private: + + static inline helpMap help = {}; + +public: + + // If a custom 1-argument print() function *and* a custom 2-argument print() + // function are both given, and both with the correct signature, then + // Component::print() will call the 2-argument version, and ignore the other. + + std::ostream &print(std::ostream &os) const + { + assert(false); // shouldn't happen, because the below print() is used! + return os; + } + + std::ostream &print(std::ostream &os, const int level) const + { + os << indentTo(level) << "*** Custom Isotope print(), line 1\n"; + os << indentTo(level) << "*** Custom Isotope print(), line 2\n"; + os << indentTo(level) << "*** Custom Isotope print(), line 3"; + + return os; + } diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp new file mode 100644 index 000000000..d7461a925 --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef MULTI_V1_MULTIGROUP_LIBRARY +#define MULTI_V1_MULTIGROUP_LIBRARY + +#include "multi/v1/multigroup/Element.hpp" + +namespace multi { +namespace v1 { +namespace multigroup { + +// ----------------------------------------------------------------------------- +// multigroup:: +// class Library +// ----------------------------------------------------------------------------- + +class Library : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "multigroup"; } + static auto CLASS() { return "Library"; } + static auto FIELD() { return "library"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("name") | + // children + multigroup::Element{} + / ++Child<>("element") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + + // children + Field> element{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name, \ + this->element) + + // default, and from fields + explicit Library( + const wrapper &name = {}, + const wrapper> &element = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name), + element(this,element) + { + Component::finish(); + } + + // from node + explicit Library(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Library(const Library &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Library(Library &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Library &operator=(const Library &) = default; + Library &operator=(Library &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "multi/v1/multigroup/Library/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Library + +} // namespace multigroup +} // namespace v1 +} // namespace multi + +#endif diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Library/src/custom.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Library/src/custom.hpp new file mode 100644 index 000000000..3382adeec --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Library/src/custom.hpp @@ -0,0 +1,19 @@ + +private: + + static inline helpMap help = {}; + +public: + + // Custom 1-argument print() function. + // In order to be called by Component::print(), this function must be public, + // and must have the exact signature shown here, including the constness of + // the function itself. + std::ostream &print(std::ostream &os) const + { + os << "*** Custom Library print(), line 1\n"; + os << "*** Custom Library print(), line 2\n"; + os << "*** Custom Library print(), line 3"; + + return os; + } diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp new file mode 100644 index 000000000..1e0d5e5ac --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef MULTI_V1_MULTIGROUP_MULTIGROUP +#define MULTI_V1_MULTIGROUP_MULTIGROUP + +#include "multi/v1/multigroup/Library.hpp" + +namespace multi { +namespace v1 { +namespace multigroup { + +// ----------------------------------------------------------------------------- +// multigroup:: +// class Multigroup +// ----------------------------------------------------------------------------- + +class Multigroup : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "multigroup"; } + static auto CLASS() { return "Multigroup"; } + static auto FIELD() { return "multigroup"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("projectile") | + // children + multigroup::Library{} + / ++Child<>("library") + ; + } + +public: + using Component::construct; + + // metadata + Field projectile{this}; + + // children + Field> library{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->projectile, \ + this->library) + + // default, and from fields + explicit Multigroup( + const wrapper &projectile = {}, + const wrapper> &library = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + projectile(this,projectile), + library(this,library) + { + Component::finish(); + } + + // from node + explicit Multigroup(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Multigroup(const Multigroup &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Multigroup(Multigroup &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Multigroup &operator=(const Multigroup &) = default; + Multigroup &operator=(Multigroup &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "multi/v1/multigroup/Multigroup/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Multigroup + +} // namespace multigroup +} // namespace v1 +} // namespace multi + +#endif diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Multigroup/src/custom.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Multigroup/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/autogen/simple/multi/src/multi/v1/multigroup/Multigroup/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; From 29c9ddfb1ebb91cdd2132e81ebf1ee98168c83dd Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Sun, 7 Aug 2022 02:55:57 -0600 Subject: [PATCH 134/235] Updates/fixes to a few new files. --- autogen/simple/.gitignore | 13 +++++++++++++ autogen/simple/{clear => clean} | 0 autogen/simple/compile-c | 20 ++++++++++---------- autogen/simple/compile-cpp | 16 ++++++++-------- autogen/simple/example.c | 2 +- autogen/simple/example.cpp | 4 ++-- 6 files changed, 34 insertions(+), 21 deletions(-) rename autogen/simple/{clear => clean} (100%) diff --git a/autogen/simple/.gitignore b/autogen/simple/.gitignore index 19dd09173..3a81d5816 100644 --- a/autogen/simple/.gitignore +++ b/autogen/simple/.gitignore @@ -1 +1,14 @@ + [a-z] +*.o +*~ + +*.h +*.hh +*.cc + +*.exe + +file.h5 +file.json +file.xml diff --git a/autogen/simple/clear b/autogen/simple/clean similarity index 100% rename from autogen/simple/clear rename to autogen/simple/clean diff --git a/autogen/simple/compile-c b/autogen/simple/compile-c index 3a40f9acb..1f9e992ca 100755 --- a/autogen/simple/compile-c +++ b/autogen/simple/compile-c @@ -3,14 +3,14 @@ # C++ compilation command COMPILE=" clang++ -std=c++17 - -I../../GNDStk/src -I../../GNDStk/c/src + -I../../../GNDStk/src -I../../../GNDStk/c/src -Imulti/src -Imulti/c/src - -I../../GNDStk/build/_deps/pugixml-adapter-src/src/src - -I../../GNDStk/build/_deps/hdf5-src/include - -I../../GNDStk/build/_deps/json-src/include - -I../../GNDStk/build/_deps/json-src/include/nlohmann - -I../../GNDStk/build/_deps/log-src/src - -I../../GNDStk/build/_deps/spdlog-src/include + -I../../../GNDStk/build/_deps/pugixml-adapter-src/src/src + -I../../../GNDStk/build/_deps/hdf5-src/include + -I../../../GNDStk/build/_deps/json-src/include + -I../../../GNDStk/build/_deps/json-src/include/nlohmann + -I../../../GNDStk/build/_deps/log-src/src + -I../../../GNDStk/build/_deps/spdlog-src/include -I/usr/include/hdf5/serial -DHIGHFIVE_USE_BOOST=OFF -L/usr/lib/x86_64-linux-gnu/hdf5/serial @@ -21,18 +21,18 @@ COMPILE=" # pugixml if [ ! -f "pugixml.o" ]; then -$COMPILE ../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c +$COMPILE ../../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c fi # Compile C++ -$COMPILE -c ../../GNDStk/c/src/GNDStk.cpp +$COMPILE -c ../../../GNDStk/c/src/GNDStk.cpp $COMPILE -c multi/c/src/v1/multigroup/Foobar.cpp $COMPILE -c multi/c/src/v1/multigroup/Isotope.cpp $COMPILE -c multi/c/src/v1/multigroup/Element.cpp # Compile C clang \ - -I../../GNDStk/c/src \ + -I../../../GNDStk/c/src \ -Imulti/c/src \ example.c \ pugixml.o GNDStk.o Foobar.o Isotope.o Element.o \ diff --git a/autogen/simple/compile-cpp b/autogen/simple/compile-cpp index b0cc13cd6..9298ab495 100755 --- a/autogen/simple/compile-cpp +++ b/autogen/simple/compile-cpp @@ -3,14 +3,14 @@ # C++ compilation command COMPILE=" clang++ -std=c++17 - -I../../GNDStk/src + -I../../../GNDStk/src -Imulti/src - -I../../GNDStk/build/_deps/pugixml-adapter-src/src/src - -I../../GNDStk/build/_deps/hdf5-src/include - -I../../GNDStk/build/_deps/json-src/include - -I../../GNDStk/build/_deps/json-src/include/nlohmann - -I../../GNDStk/build/_deps/log-src/src - -I../../GNDStk/build/_deps/spdlog-src/include + -I../../../GNDStk/build/_deps/pugixml-adapter-src/src/src + -I../../../GNDStk/build/_deps/hdf5-src/include + -I../../../GNDStk/build/_deps/json-src/include + -I../../../GNDStk/build/_deps/json-src/include/nlohmann + -I../../../GNDStk/build/_deps/log-src/src + -I../../../GNDStk/build/_deps/spdlog-src/include -I/usr/include/hdf5/serial -DHIGHFIVE_USE_BOOST=OFF -L/usr/lib/x86_64-linux-gnu/hdf5/serial @@ -21,7 +21,7 @@ COMPILE=" # pugixml if [ ! -f "pugixml.o" ]; then -$COMPILE ../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c +$COMPILE ../../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c fi # Compile diff --git a/autogen/simple/example.c b/autogen/simple/example.c index 36e47a9ba..f2251fc8f 100644 --- a/autogen/simple/example.c +++ b/autogen/simple/example.c @@ -1,6 +1,6 @@ #include -#include "v3.h" +#include "v1.h" int main() { diff --git a/autogen/simple/example.cpp b/autogen/simple/example.cpp index dd61cd2b3..53764e559 100644 --- a/autogen/simple/example.cpp +++ b/autogen/simple/example.cpp @@ -1,6 +1,6 @@ -#include "NDILite/v3.hpp" -using namespace NDILite::v3; +#include "multi/v1.hpp" +using namespace multi::v1; int main() { From a2f73208504719ff13dd36129ace1ad694f126ea Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 10 Aug 2022 18:41:12 -0600 Subject: [PATCH 135/235] Beginning updates to the code generator, for the C interface. Work in progress. --- autogen/json2class.cpp | 371 ++++++++++++++++-- autogen/simple/compile-c | 2 +- autogen/simple/example-01.c | 17 + autogen/simple/example.c | 20 - autogen/simple/multi/c/src/v1.h | 2 +- .../multi/c/src/v1/multigroup/Element.cpp | 5 +- .../multi/c/src/v1/multigroup/Element.h | 10 +- .../multi/c/src/v1/multigroup/Foobar.cpp | 3 + .../simple/multi/c/src/v1/multigroup/Foobar.h | 14 +- .../multi/c/src/v1/multigroup/Isotope.cpp | 3 + .../multi/c/src/v1/multigroup/Isotope.h | 2 +- 11 files changed, 387 insertions(+), 62 deletions(-) create mode 100644 autogen/simple/example-01.c delete mode 100644 autogen/simple/example.c diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index b9e4dd790..026aa43e1 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -114,6 +114,8 @@ struct PerNamespace { struct PerClass { std::string cppPython; // cpp file for this class' Python interface std::string hppGNDStk; // hpp file for this class in GNDStk + std::string headerC; // header that works with both C and C++ + std::string sourceC; // C++ backend source for the C interface std::string nsname; // name of this class' namespace std::string clname; // name of this class @@ -167,6 +169,8 @@ struct InfoSpecs { // Directory-prefixed names std::string hppVersion; // hpp file for this version std::string hppKey; // hpp file for this version's Meta and Child keys + std::string hVersion; // header file for both C and C++ + std::string cVersion; // C++ backend source for the C interface // Changes to apply to a metadatum's name or a child node's name. // Example: "double" (GNDS v1.9 actually has "double") to "Double" for C++. @@ -1429,10 +1433,22 @@ void commandLine( file = specs.JSONDir + '/' + file; // File names - const std::string base = - specs.Path + "/" + specs.Project + "/src/" + specs.Project + "/"; - specs.hppVersion = base + specs.Version + ".hpp"; - specs.hppKey = base + specs.Version + "/key.hpp"; + { + // For C++ + const std::string base = + specs.Path + "/" + specs.Project + "/src/" + specs.Project + "/"; + specs.hppVersion = base + specs.Version + ".hpp"; + specs.hppKey = base + specs.Version + "/key.hpp"; + } + { + // For the C interface + const std::string base = + specs.Path + "/" + specs.Project + "/c/src/"; + specs.hVersion = base + specs.Version + ".h"; + // We don't currently know of anything that we'd have in the following + // file, so we won't create it. But I'll leave this in as a placeholder. + specs.cVersion = base + specs.Version + ".cpp"; + } // Report on "singletons" if (singletons) { @@ -1472,13 +1488,15 @@ void preprocessClass( // custom files as needed // ------------------------ - // For the present namespace: C++ and Python directories. The present - // namespace probably contains multiple classes, so these directories - // may have been created already, but that's fine. + // For the present namespace: C++, Python, and C directories. The present + // namespace probably contains multiple classes, so these directories may + // have been created already, but that's fine. const std::string nsdir = specs.Path + "/" + specs.Project + "/src/" + specs.Project + "/" + specs.Version + "/" + nsname; const std::string nsdirpy = specs.Path + "/" + specs.Project + - "/python/src" + "/" + specs.Version + "/" + nsname; + "/python/src/" + specs.Version + "/" + nsname; + const std::string nsdirc = specs.Path + "/" + specs.Project + + "/c/src/" + specs.Version + "/" + nsname; // For the present class: C++ source and test directories. const std::string clsrc = nsdir + "/" + clname + "/src"; @@ -1487,6 +1505,7 @@ void preprocessClass( // Create the above directories, if (and only if) they don't already exist. system(("mkdir -p " + nsdir ).data()); system(("mkdir -p " + nsdirpy).data()); + system(("mkdir -p " + nsdirc ).data()); system(("mkdir -p " + clsrc ).data()); system(("mkdir -p " + cltest ).data()); @@ -1519,11 +1538,14 @@ void preprocessClass( // For this namespace::class: // The cpp file for Python // The hpp file for GNDStk + // The C/C++ header, and the C++ backend for the C interface auto cl = specs.class2data.insert( std::make_pair(NamespaceAndClass{nsname,clname}, PerClass{})); assert(cl.second); // should have been inserted - not there already cl.first->second.cppPython = nsdirpy + "/" + clname + ".python.cpp"; cl.first->second.hppGNDStk = nsdir + "/" + clname + ".hpp"; + cl.first->second.headerC = nsdirc + "/" + clname + "qqq.h"; + cl.first->second.sourceC = nsdirc + "/" + clname + "qqq.cpp"; } // preprocessClass @@ -1698,35 +1720,91 @@ void sortDependencies(InfoSpecs &specs) // ----------------------------------------------------------------------------- -// Functions for creating output files +// Re: C++ header files +// fileGNDStkVersion +// fileGNDStkKey +// fileGNDStkClass // ----------------------------------------------------------------------------- +// ------------------------ // fileGNDStkVersion +// ------------------------ + void fileGNDStkVersion(const InfoSpecs &specs) { - // Create an overarching file for this version - writer out(specs.hppVersion); - out(); - out("#ifndef @_@", allcaps(specs.Project), allcaps(specs.VersionUnderscore)); - out("#define @_@", allcaps(specs.Project), allcaps(specs.VersionUnderscore)); - - std::string nsname_last = ""; - for (auto &c : specs.class2data) { - const std::string nsname = c.first.nsname; - const std::string clname = c.first.clname; - if (nsname != nsname_last) - out(); - nsname_last = nsname; - out("#include \"@/@/@/@.hpp\"", - specs.Project, specs.Version, nsname, clname); + // ------------------------ + // Create a C++ header + // for this version + // ------------------------ + + { + writer out(specs.hppVersion); + out(); + out("#ifndef @_@", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + out("#define @_@", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + + std::string nsname_last = ""; + for (auto &c : specs.class2data) { + const std::string nsname = c.first.nsname; + const std::string clname = c.first.clname; + if (nsname != nsname_last) + out(); + nsname_last = nsname; + out("#include \"@/@/@/@.hpp\"", + specs.Project, specs.Version, nsname, clname); + } + + out(); + out("#endif"); } - out(); - out("#endif"); + // ------------------------ + // Create a C/C++ header + // for the C interface + // ------------------------ + + { + writer out(specs.hVersion); + out(); + out(largeComment); + out("// This header file is designed to work with both C and C++"); + out(largeComment); + out(); + out("#ifndef C_INTERFACE_@_@", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + out("#define C_INTERFACE_@_@", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + + out(); + out("#include \"GNDStk.h\""); + out(); + out("#ifdef __cplusplus"); + out(1,"// For C++"); + out(1,"#include \"@/@.hpp\"", specs.Project, specs.VersionUnderscore); + out("#endif"); + + std::string nsname_last = ""; + for (auto &c : specs.class2data) { + const std::string nsname = c.first.nsname; + const std::string clname = c.first.clname; + if (nsname != nsname_last) + out(); + nsname_last = nsname; + out("#include \"@/@/@.h\"", specs.Version, nsname, clname); + } + + out(); + out("#endif"); + } } // fileGNDStkVersion +// ------------------------ // fileGNDStkKey +// ------------------------ + void fileGNDStkKey(const InfoSpecs &specs) { // ------------------------ @@ -1884,7 +1962,10 @@ void fileGNDStkKey(const InfoSpecs &specs) } // fileGNDStkKey +// ------------------------ // fileGNDStkClass +// ------------------------ + void fileGNDStkClass( const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { @@ -1922,7 +2003,236 @@ void fileGNDStkClass( } // fileGNDStkClass + +// ----------------------------------------------------------------------------- +// Re: C interface +// Helpers +// fileGNDStkCommon +// ----------------------------------------------------------------------------- + +// ------------------------ +// fileGNDStkCommon +// ------------------------ + +void fileGNDStkCommon( + writer &hdr, + writer &src, + const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { + // zzz working here + + (void)hdr; + (void)src; + (void)specs; + (void)per; + (void)c2d; +} // fileGNDStkCommon + + + +// ----------------------------------------------------------------------------- +// Re: C interface +// fileGNDStkHeader +// fileGNDStkSource +// fileGNDStkCInterface +// ----------------------------------------------------------------------------- + +// ------------------------ +// fileGNDStkHeader +// ------------------------ + +void fileGNDStkHeader( + writer &hdr, const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { + // ------------------------ + // Initial remarks + // ------------------------ + + hdr(); + hdr("// Interface for C"); + hdr("// This header file is designed to work with both C and C++"); + hdr("// Function definitions are in this file's .cpp source"); + hdr(); + + // ------------------------ + // Instructions + // ------------------------ + + hdr(largeComment); + hdr(largeComment); + hdr("// Instructions for Users"); + hdr("//"); + hdr("// Constructs you're MORE likely to care about are preceded with:"); + hdr("// // +++ comment"); + hdr("// Constructs you're LESS likely to care about are preceded with:"); + hdr("// // --- comment"); + hdr("// Anything not marked as above can be ignored by most users."); + hdr("//"); + hdr("// @ is the basic handle type in this file:", per.clname); + hdr("// @ handle = @Default();", per.clname, per.clname); + hdr("// Functions involving @ are declared throughout this file.", + per.clname); + hdr(largeComment); + hdr(largeComment); + hdr(); + hdr(); + + // ------------------------ + // Preliminaries + // ------------------------ + + hdr(largeComment); + hdr("// Preliminaries"); + hdr(largeComment); + hdr(); + + const std::string guard = + allcaps(specs.Project) + "_" + + allcaps(specs.VersionUnderscore) + "_" + + allcaps(per.nsname) + "_" + + allcaps(per.clname); + + hdr("#ifndef C_INTERFACE_@", guard); + hdr("#define C_INTERFACE_@", guard); + hdr(); + hdr("#include \"GNDStk.h\""); + for (const auto &dep : c2d.dependencies) + hdr("#include \"@/@/@.h\"", specs.Version, dep.nsname, dep.clname); + hdr(); + hdr("#ifdef __cplusplus"); + hdr(1,"#define extern_c extern \"C\""); + hdr("#else"); + hdr(1,"#define extern_c"); + hdr("#endif"); + hdr(); + hdr("// Proxy C struct for the handled C++ class"); + hdr("struct @Class { };", per.clname); + hdr(); + hdr(); + + // ------------------------ + // Handle types + // ------------------------ + + hdr(largeComment); + hdr("// Handle types"); + hdr(largeComment); + hdr(); + hdr("// +++ @", per.clname); + hdr("// +++ General handle, suitable for many users. " + "If you're not concerned about"); + hdr("// +++ strict \"const correctness\" in your C code, " + "you can probably use this in"); + hdr("// +++ place of any function parameter of a const-aware handle type."); + hdr("typedef struct @Class *@;", per.clname, per.clname); + hdr(); + hdr("// --- Const-aware handles, re: constness of handle vs. handled object"); + hdr("typedef const struct @Class *const ConstHandle2Const@;", + per.clname, per.clname); + hdr("typedef struct @Class *const ConstHandle2@;", + per.clname, per.clname); + hdr("typedef const struct @Class * Handle2Const@;", + per.clname, per.clname); + hdr("typedef struct @Class * Handle2@;", + per.clname, per.clname); + hdr(); +} // fileGNDStkHeader + + +// ------------------------ +// fileGNDStkSource +// ------------------------ + +void fileGNDStkSource( + writer &src, const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { + // includes + src(); + src("#include \"@/@/@/@.hpp\"", + specs.Project, specs.VersionUnderscore, per.nsname, per.clname); + src("#include \"@.h\"", per.clname); + src(); + + // using namespace + src("using namespace njoy::GNDStk;"); + src("using namespace @::@;", specs.Project, specs.VersionUnderscore); + src(); + + // using + src("using C = @Class;", per.clname); + src("using CPP = multigroup::@;", per.clname); + src(); + + // class name + src("static const std::string CLASSNAME = \"@\";", per.clname); + + // extract + if (per.nfields()) { + src(); + src("namespace extract {"); + } + // extract: metadata + for (const auto &m : per.metadata) + src(1,"static auto @ = [](auto &obj) { return &obj.@; };", + m.name, m.name); + // extract: children + for (const auto &c : per.children) + src(1,"static auto @ = [](auto &obj) { return &obj.@; };", + c.name, c.name); + // extract: variants + // todo Prototype how variants will work in a C interface + if (per.nfields()) src("}"); + + if (c2d.dependencies.size()) + src(); + for (const auto &dep : c2d.dependencies) + src("using CPP@ = @::@;", dep.clname, dep.nsname, dep.clname); +} // fileGNDStkSource + + +// ------------------------ +// fileGNDStkCInterface +// ------------------------ + +void fileGNDStkCInterface( + const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d +) { + // header beginning + writer hdr(per.headerC); + fileGNDStkHeader(hdr, specs, per, c2d); + + // source beginning + writer src(per.sourceC); + fileGNDStkSource(src, specs, per, c2d); + + // common or partially common to both header and source + fileGNDStkCommon(hdr, src, specs, per, c2d); + + // header: ending + hdr(); + hdr(largeComment); + hdr("// Done"); + hdr(largeComment); + hdr(); + hdr("#undef extern_c"); + hdr("#endif"); +} // fileGNDStkCInterface + + + +// ----------------------------------------------------------------------------- +// Python: // filePythonNamespace +// filePythonClass +// ----------------------------------------------------------------------------- + +// ------------------------ +// filePythonNamespace +// ------------------------ + void filePythonNamespace(const InfoSpecs &specs, const PerNamespace &per) { writer out(per.cppPython); @@ -1967,7 +2277,10 @@ void filePythonNamespace(const InfoSpecs &specs, const PerNamespace &per) } // filePythonNamespace +// ------------------------ // filePythonClass +// ------------------------ + void filePythonClass(const InfoSpecs &specs, const PerClass &per) { const std::string &nsname = per.nsname; @@ -2214,11 +2527,15 @@ int main(const int argc, const char *const *const argv) // GNDStk hpp file for Meta and Child keys fileGNDStkKey(specs); - // GNDStk hpp file for each namespace::class + // GNDStk hpp file, as well as header and source files for the C interface, + // for each namespace::class for (const auto &obj : specs.ClassDependenciesSorted) { auto find = specs.class2data.find(obj.theClass); assert(find != specs.class2data.end()); + // C++ header fileGNDStkClass(specs, find->second, obj); + // C interface: header and source + fileGNDStkCInterface(specs, find->second, obj); } // Python cpp file for each namespace diff --git a/autogen/simple/compile-c b/autogen/simple/compile-c index 1f9e992ca..c12496e39 100755 --- a/autogen/simple/compile-c +++ b/autogen/simple/compile-c @@ -34,7 +34,7 @@ $COMPILE -c multi/c/src/v1/multigroup/Element.cpp clang \ -I../../../GNDStk/c/src \ -Imulti/c/src \ - example.c \ + example-01.c \ pugixml.o GNDStk.o Foobar.o Isotope.o Element.o \ -L/usr/lib/x86_64-linux-gnu/hdf5/serial \ -lstdc++ -lm -lhdf5 \ diff --git a/autogen/simple/example-01.c b/autogen/simple/example-01.c new file mode 100644 index 000000000..49a66f0bf --- /dev/null +++ b/autogen/simple/example-01.c @@ -0,0 +1,17 @@ + +#include +#include "v1.h" + +int main() +{ + // colorize diagnostics and prettyprinting + colors(1); + + Foobar one = FoobarDefault(); + Foobar two = FoobarDefault(); + + FoobarAssign(one,two); + FoobarPrint(one); + FoobarPrintXML(one); + FoobarPrintJSON(one); +} diff --git a/autogen/simple/example.c b/autogen/simple/example.c deleted file mode 100644 index f2251fc8f..000000000 --- a/autogen/simple/example.c +++ /dev/null @@ -1,20 +0,0 @@ - -#include -#include "v1.h" - -int main() -{ - // colorize diagnostics - colors(1); - - printf("1\n"); const Foobar one = FoobarCreate(); - printf("2\n"); const Foobar two = FoobarCreate(); - printf("3\n"); FoobarAssign(one,two); - printf("4\n"); FoobarPrint(one); - printf("5\n"); FoobarPrintXML(one); - printf("6\n"); FoobarPrintJSON(one); - printf("7\n"); - - size_t i = 1234; - printf("%i",(int)i); -} diff --git a/autogen/simple/multi/c/src/v1.h b/autogen/simple/multi/c/src/v1.h index 9ff7e689f..d69c0f08b 100644 --- a/autogen/simple/multi/c/src/v1.h +++ b/autogen/simple/multi/c/src/v1.h @@ -3,7 +3,7 @@ // DO NOT MODIFY! // ----------------------------------------------------------------------------- -// This file works with both C++ and C +// This header file is designed to work with both C and C++ // ----------------------------------------------------------------------------- #ifndef C_INTERFACE_MULTI_V1 diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index bd030962e..cd0855622 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -1,4 +1,7 @@ +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + #include "multi/v1/multigroup/Element.hpp" #include "Element.h" @@ -17,8 +20,8 @@ namespace extract { static auto foobar = [](auto &obj) { return &obj.foobar; }; } -using CPPFoobar = multigroup::Foobar; using CPPIsotope = multigroup::Isotope; +using CPPFoobar = multigroup::Foobar; // ----------------------------------------------------------------------------- diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index b33c87b8d..32a77161c 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -2,9 +2,9 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -// Interface for C. -// Note that this header file is designed to work with both C and C++. -// Function definitions are in this file's .cpp source. +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- @@ -18,7 +18,7 @@ // // Element is the basic handle type in this file: // Element element = ElementCreate(); -// Functions for Element are declared throughout this file. +// Functions involving Element are declared throughout this file. // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- @@ -54,7 +54,7 @@ struct ElementClass { }; // +++ place of any function parameter of a const-aware handle type. typedef struct ElementClass *Element; -// --- Const-aware handles. Think: constness of handle, vs. of handled object. +// --- Const-aware handles, re: constness of handle vs. handled object typedef const struct ElementClass *const ConstHandle2ConstElement; typedef struct ElementClass *const ConstHandle2Element; typedef const struct ElementClass * Handle2ConstElement; diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index e4d7192df..a34c4b6e5 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -1,4 +1,7 @@ +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + #include "multi/v1/multigroup/Foobar.hpp" #include "Foobar.h" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index 4f4a39710..8cc92cd25 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -2,9 +2,9 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -// Interface for C. -// Note that this header file is designed to work with both C and C++. -// Function definitions are in this file's .cpp source. +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- @@ -17,8 +17,8 @@ // Anything not marked as above can be ignored by most users. // // Foobar is the basic handle type in this file: -// Foobar foobar = FoobarDefault(); -// Functions for Foobar are declared throughout this file. +// Foobar handle = FoobarDefault(); +// Functions involving Foobar are declared throughout this file. // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- @@ -47,7 +47,9 @@ struct FoobarClass { }; // ----------------------------------------------------------------------------- // +++ Foobar -// +++ General handle, suitable for many users +// +++ General handle, suitable for many users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. typedef struct FoobarClass *Foobar; // --- Const-aware handles, re: constness of handle vs. handled object diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp index 14a34bd96..5960f451f 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp @@ -1,4 +1,7 @@ +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + #include "multi/v1/multigroup/Isotope.hpp" #include "Isotope.h" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h index ecaeffa48..09b0d4e6b 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -18,7 +18,7 @@ // // Isotope is the basic handle type in this file: // Isotope isotope = IsotopeDefault(); -// Functions for Isotope are declared throughout this file. +// Functions involving Isotope are declared throughout this file. // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- From 09d97be9b84c05554634dddbf0cbd51a823f0c60 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 11 Aug 2022 19:05:44 -0600 Subject: [PATCH 136/235] Updating some to-be-autogenerated files. --- .../multi/c/src/v1/multigroup/Element.cpp | 68 ++++++++++--------- .../multi/c/src/v1/multigroup/Foobar.cpp | 50 ++++++++------ .../multi/c/src/v1/multigroup/Isotope.cpp | 42 +++++++----- 3 files changed, 90 insertions(+), 70 deletions(-) diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index cd0855622..964f22000 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -34,7 +34,7 @@ Handle2ConstElement ElementDefaultConst() { return detail::createHandle - (CLASSNAME, "ElementDefaultConst"); + (CLASSNAME, CLASSNAME+"DefaultConst"); } // Create: default @@ -42,7 +42,7 @@ Handle2Element ElementDefault() { return detail::createHandle - (CLASSNAME, "ElementDefault"); + (CLASSNAME, CLASSNAME+"Default"); } // Create: general, const @@ -54,7 +54,7 @@ ElementCreateConst( ConstHandle2ConstFoobar foobar ) { ConstHandle2Element handle = detail::createHandle( - CLASSNAME, "ElementCreateConst", + CLASSNAME, CLASSNAME+"CreateConst", symbol, atomic_number, std::vector{}, @@ -74,7 +74,7 @@ ElementCreate( ConstHandle2ConstFoobar foobar ) { ConstHandle2Element handle = detail::createHandle( - CLASSNAME, "ElementCreate", + CLASSNAME, CLASSNAME+"Create", symbol, atomic_number, std::vector{}, @@ -86,19 +86,23 @@ ElementCreate( } // Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. void ElementAssign(ConstHandle2Element This, ConstHandle2ConstElement from) { detail::assignHandle - (CLASSNAME, "ElementAssign", This, from); + (CLASSNAME, CLASSNAME+"Assign", This, from); } // Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. void ElementDelete(ConstHandle2ConstElement This) { detail::deleteHandle - (CLASSNAME, "ElementDelete", This); + (CLASSNAME, CLASSNAME+"Delete", This); } @@ -113,7 +117,7 @@ int ElementRead(ConstHandle2Element This, const char *const filename) { return detail::readHandle - (CLASSNAME, "ElementRead", This, filename); + (CLASSNAME, CLASSNAME+"Read", This, filename); } // Write @@ -121,7 +125,7 @@ int ElementWrite(ConstHandle2ConstElement This, const char *const filename) { return detail::writeHandle - (CLASSNAME, "ElementWrite", This, filename); + (CLASSNAME, CLASSNAME+"Write", This, filename); } // Print to standard output @@ -129,7 +133,7 @@ int ElementPrint(ConstHandle2ConstElement This) { return detail::printHandle - (CLASSNAME, "ElementPrint", This); + (CLASSNAME, CLASSNAME+"Print", This); } // Print to standard output, as XML @@ -137,7 +141,7 @@ int ElementPrintXML(ConstHandle2ConstElement This) { return detail::printHandle - (CLASSNAME, "ElementPrintXML", This, "XML"); + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); } // Print to standard output, as JSON @@ -145,7 +149,7 @@ int ElementPrintJSON(ConstHandle2ConstElement This) { return detail::printHandle - (CLASSNAME, "ElementPrintJSON", This, "JSON"); + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); } @@ -158,7 +162,7 @@ int ElementSymbolHas(ConstHandle2ConstElement This) { return detail::hasMetadatum - (CLASSNAME, "ElementSymbolHas", This, extract::symbol); + (CLASSNAME, CLASSNAME+"SymbolHas", This, extract::symbol); } // Get @@ -166,7 +170,7 @@ const char * ElementSymbolGet(ConstHandle2ConstElement This) { return detail::getMetadatum - (CLASSNAME, "ElementSymbolGet", This, extract::symbol); + (CLASSNAME, CLASSNAME+"SymbolGet", This, extract::symbol); } // Set @@ -174,7 +178,7 @@ void ElementSymbolSet(ConstHandle2Element This, const char *const symbol) { detail::setMetadatum - (CLASSNAME, "ElementSymbolSet", This, extract::symbol, symbol); + (CLASSNAME, CLASSNAME+"SymbolSet", This, extract::symbol, symbol); } @@ -187,7 +191,7 @@ int ElementAtomicNumberHas(ConstHandle2ConstElement This) { return detail::hasMetadatum - (CLASSNAME, "ElementAtomicNumberHas", This, extract::atomic_number); + (CLASSNAME, CLASSNAME+"AtomicNumberHas", This, extract::atomic_number); } // Get @@ -195,7 +199,7 @@ int ElementAtomicNumberGet(ConstHandle2ConstElement This) { return detail::getMetadatum - (CLASSNAME, "ElementAtomicNumberGet", This, extract::atomic_number); + (CLASSNAME, CLASSNAME+"AtomicNumberGet", This, extract::atomic_number); } // Set @@ -203,7 +207,7 @@ void ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number) { detail::setMetadatum - (CLASSNAME, "ElementAtomicNumberSet", This, extract::atomic_number, atomic_number); + (CLASSNAME, CLASSNAME+"AtomicNumberSet", This, extract::atomic_number, atomic_number); } @@ -216,7 +220,7 @@ void ElementIsotopeClear(ConstHandle2Element This) { detail::clearContainer - (CLASSNAME, "ElementIsotopeClear", This, extract::isotope); + (CLASSNAME, CLASSNAME+"IsotopeClear", This, extract::isotope); } // Size @@ -224,7 +228,7 @@ size_t ElementIsotopeSize(ConstHandle2ConstElement This) { return detail::sizeOfContainer - (CLASSNAME, "ElementIsotopeSize", This, extract::isotope); + (CLASSNAME, CLASSNAME+"IsotopeSize", This, extract::isotope); } // Has @@ -232,7 +236,7 @@ int ElementIsotopeHas(ConstHandle2ConstElement This) { return detail::hasMetadatum - (CLASSNAME, "ElementIsotopeHas", This, extract::isotope); + (CLASSNAME, CLASSNAME+"IsotopeHas", This, extract::isotope); } // Add @@ -240,7 +244,7 @@ void ElementIsotopeAdd(ConstHandle2Element This, ConstHandle2ConstIsotope isotope) { detail::addToContainer - (CLASSNAME, "ElementIsotopeAdd", This, extract::isotope, isotope); + (CLASSNAME, CLASSNAME+"IsotopeAdd", This, extract::isotope, isotope); } // Get, by index \in [0,size), const @@ -248,7 +252,7 @@ Handle2ConstIsotope ElementIsotopeGetConst(ConstHandle2ConstElement This, const size_t index) { return detail::getByIndex - (CLASSNAME, "ElementIsotopeGetConst", This, extract::isotope, index); + (CLASSNAME, CLASSNAME+"IsotopeGetConst", This, extract::isotope, index); } // Get, by index \in [0,size), non-const @@ -256,7 +260,7 @@ Handle2Isotope ElementIsotopeGet(ConstHandle2Element This, const size_t index) { return detail::getByIndex - (CLASSNAME, "ElementIsotopeGet", This, extract::isotope, index); + (CLASSNAME, CLASSNAME+"IsotopeGet", This, extract::isotope, index); } // Set, by index \in [0,size) @@ -267,7 +271,7 @@ ElementIsotopeSet( ConstHandle2ConstIsotope isotope ) { detail::setByIndex - (CLASSNAME, "ElementIsotopeSet", This, extract::isotope, index, isotope); + (CLASSNAME, CLASSNAME+"IsotopeSet", This, extract::isotope, index, isotope); } // Has, by mass_number @@ -277,7 +281,7 @@ ElementIsotopeHasByMassNumber( const int mass_number ) { return detail::hasByMetadatum - (CLASSNAME, "ElementIsotopeHasByMassNumber", + (CLASSNAME, CLASSNAME+"IsotopeHasByMassNumber", This, extract::isotope, meta::mass_number, mass_number); } @@ -288,7 +292,7 @@ ElementIsotopeGetByMassNumberConst( const int mass_number ) { return detail::getByMetadatum - (CLASSNAME, "ElementIsotopeGetByMassNumberConst", + (CLASSNAME, CLASSNAME+"IsotopeGetByMassNumberConst", This, extract::isotope, meta::mass_number, mass_number); } @@ -299,7 +303,7 @@ ElementIsotopeGetByMassNumber( const int mass_number ) { return detail::getByMetadatum - (CLASSNAME, "ElementIsotopeGetByMassNumber", + (CLASSNAME, CLASSNAME+"IsotopeGetByMassNumber", This, extract::isotope, meta::mass_number, mass_number); } @@ -311,7 +315,7 @@ ElementIsotopeSetByMassNumber( ConstHandle2ConstIsotope isotope ) { detail::setByMetadatum - (CLASSNAME, "ElementIsotopeSetByMassNumber", + (CLASSNAME, CLASSNAME+"IsotopeSetByMassNumber", This, extract::isotope, meta::mass_number, mass_number, isotope); } @@ -325,7 +329,7 @@ int ElementFoobarHas(ConstHandle2ConstElement This) { return detail::hasMetadatum - (CLASSNAME, "ElementFoobarHas", This, extract::foobar); + (CLASSNAME, CLASSNAME+"FoobarHas", This, extract::foobar); } // Get: const @@ -333,7 +337,7 @@ Handle2ConstFoobar ElementFoobarGetConst(ConstHandle2ConstElement This) { return detail::getMetadatum - (CLASSNAME, "ElementFoobarGetConst", This, extract::foobar); + (CLASSNAME, CLASSNAME+"FoobarGetConst", This, extract::foobar); } // Get: non-const @@ -341,7 +345,7 @@ Handle2Foobar ElementFoobarGet(ConstHandle2Element This) { return detail::getMetadatum - (CLASSNAME, "ElementFoobarGet", This, extract::foobar); + (CLASSNAME, CLASSNAME+"FoobarGet", This, extract::foobar); } // Set @@ -349,5 +353,5 @@ void ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar) { detail::setMetadatum - (CLASSNAME, "ElementFoobarSet", This, extract::foobar, foobar); + (CLASSNAME, CLASSNAME+"FoobarSet", This, extract::foobar, foobar); } diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index a34c4b6e5..56b862f30 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -24,7 +24,7 @@ Handle2ConstFoobar FoobarDefaultConst() { return detail::createHandle - (CLASSNAME, "FoobarDefaultConst"); + (CLASSNAME, CLASSNAME+"DefaultConst"); } // Create: default @@ -32,7 +32,7 @@ Handle2Foobar FoobarDefault() { return detail::createHandle - (CLASSNAME, "FoobarDefault"); + (CLASSNAME, CLASSNAME+"Default"); } // Create: general, const @@ -40,7 +40,7 @@ Handle2ConstFoobar FoobarCreateConst() { return detail::createHandle - (CLASSNAME, "FoobarCreateConst"); + (CLASSNAME, CLASSNAME+"CreateConst"); } // Create: general @@ -48,23 +48,27 @@ Handle2Foobar FoobarCreate() { return detail::createHandle - (CLASSNAME, "FoobarCreate"); + (CLASSNAME, CLASSNAME+"Create"); } // Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. void FoobarAssign(ConstHandle2Foobar This, ConstHandle2ConstFoobar from) { detail::assignHandle - (CLASSNAME, "FoobarAssign", This, from); + (CLASSNAME, CLASSNAME+"Assign", This, from); } // Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. void FoobarDelete(ConstHandle2ConstFoobar This) { detail::deleteHandle - (CLASSNAME, "FoobarDelete", This); + (CLASSNAME, CLASSNAME+"Delete", This); } @@ -74,28 +78,32 @@ FoobarDelete(ConstHandle2ConstFoobar This) // Each returns 0 if failure, 1 if success. // ----------------------------------------------------------------------------- -// Read +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. int FoobarRead(ConstHandle2Foobar This, const char *const filename) { return detail::readHandle - (CLASSNAME, "FoobarRead", This, filename); + (CLASSNAME, CLASSNAME+"Read", This, filename); } -// Write +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. int FoobarWrite(ConstHandle2ConstFoobar This, const char *const filename) { return detail::writeHandle - (CLASSNAME, "FoobarWrite", This, filename); + (CLASSNAME, CLASSNAME+"Write", This, filename); } -// Print to standard output +// Print to standard output, in our prettyprinting format int FoobarPrint(ConstHandle2ConstFoobar This) { return detail::printHandle - (CLASSNAME, "FoobarPrint", This); + (CLASSNAME, CLASSNAME+"Print", This); } // Print to standard output, as XML @@ -103,7 +111,7 @@ int FoobarPrintXML(ConstHandle2ConstFoobar This) { return detail::printHandle - (CLASSNAME, "FoobarPrintXML", This, "XML"); + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); } // Print to standard output, as JSON @@ -111,7 +119,7 @@ int FoobarPrintJSON(ConstHandle2ConstFoobar This) { return detail::printHandle - (CLASSNAME, "FoobarPrintJSON", This, "JSON"); + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); } @@ -124,7 +132,7 @@ void FoobarDoublesClear(ConstHandle2Foobar This) { detail::vectorClear - (CLASSNAME, "FoobarDoublesClear", This); + (CLASSNAME, CLASSNAME+"DoublesClear", This); } // Size @@ -132,7 +140,7 @@ size_t FoobarDoublesSize(ConstHandle2ConstFoobar This) { return detail::vectorSize - (CLASSNAME, "FoobarDoublesSize", This); + (CLASSNAME, CLASSNAME+"DoublesSize", This); } // Get @@ -140,7 +148,7 @@ double FoobarDoublesGet(ConstHandle2ConstFoobar This, const size_t index) { return detail::vectorGet - (CLASSNAME, "FoobarDoublesGet", This, index); + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); } // Set @@ -148,7 +156,7 @@ void FoobarDoublesSet(ConstHandle2Foobar This, const size_t index, const double value) { detail::vectorSet - (CLASSNAME, "FoobarDoublesSet", This, index, value); + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); } // Get pointer to values, const @@ -156,7 +164,7 @@ const double * FoobarDoublesGetArrayConst(ConstHandle2ConstFoobar This) { return detail::vectorGet - (CLASSNAME, "FoobarDoublesGetArrayConst", This); + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); } // Get pointer to values, non-const @@ -164,7 +172,7 @@ double * FoobarDoublesGetArray(ConstHandle2Foobar This) { return detail::vectorGet - (CLASSNAME, "FoobarDoublesGetArray", This); + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); } // Set new size and values @@ -172,5 +180,5 @@ void FoobarDoublesSetArray(ConstHandle2Foobar This, const size_t size, const double *const values) { return detail::vectorSet - (CLASSNAME, "FoobarDoublesSetArray", This, size, values); + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); } diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp index 5960f451f..65fec046c 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp @@ -28,7 +28,7 @@ Handle2ConstIsotope IsotopeDefaultConst() { return detail::createHandle - (CLASSNAME, "IsotopeDefaultConst"); + (CLASSNAME, CLASSNAME+"DefaultConst"); } // Create: default @@ -36,7 +36,7 @@ Handle2Isotope IsotopeDefault() { return detail::createHandle - (CLASSNAME, "IsotopeDefault"); + (CLASSNAME, CLASSNAME+"Default"); } // Create: general, const @@ -45,7 +45,7 @@ IsotopeCreateConst( const int mass_number ) { return detail::createHandle - (CLASSNAME, "IsotopeCreateConst", + (CLASSNAME, CLASSNAME+"CreateConst", mass_number); } @@ -55,24 +55,28 @@ IsotopeCreate( const int mass_number ) { return detail::createHandle - (CLASSNAME, "IsotopeCreate", + (CLASSNAME, CLASSNAME+"Create", mass_number); } // Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. void IsotopeAssign(ConstHandle2Isotope This, ConstHandle2ConstIsotope from) { detail::assignHandle - (CLASSNAME, "IsotopeAssign", This, from); + (CLASSNAME, CLASSNAME+"Assign", This, from); } // Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. void IsotopeDelete(ConstHandle2ConstIsotope This) { detail::deleteHandle - (CLASSNAME, "IsotopeDelete", This); + (CLASSNAME, CLASSNAME+"Delete", This); } @@ -82,28 +86,32 @@ IsotopeDelete(ConstHandle2ConstIsotope This) // Each returns 0 if failure, 1 if success. // ----------------------------------------------------------------------------- -// Read +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. int IsotopeRead(ConstHandle2Isotope This, const char *const filename) { return detail::readHandle - (CLASSNAME, "IsotopeRead", This, filename); + (CLASSNAME, CLASSNAME+"Read", This, filename); } -// Write +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. int IsotopeWrite(ConstHandle2ConstIsotope This, const char *const filename) { return detail::writeHandle - (CLASSNAME, "IsotopeWrite", This, filename); + (CLASSNAME, CLASSNAME+"Write", This, filename); } -// Print to standard output +// Print to standard output, in our prettyprinting format int IsotopePrint(ConstHandle2ConstIsotope This) { return detail::printHandle - (CLASSNAME, "IsotopePrint", This); + (CLASSNAME, CLASSNAME+"Print", This); } // Print to standard output, as XML @@ -111,7 +119,7 @@ int IsotopePrintXML(ConstHandle2ConstIsotope This) { return detail::printHandle - (CLASSNAME, "IsotopePrintXML", This, "XML"); + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); } // Print to standard output, as JSON @@ -119,7 +127,7 @@ int IsotopePrintJSON(ConstHandle2ConstIsotope This) { return detail::printHandle - (CLASSNAME, "IsotopePrintJSON", This, "JSON"); + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); } @@ -132,7 +140,7 @@ int IsotopeMassNumberHas(ConstHandle2ConstIsotope This) { return detail::hasMetadatum - (CLASSNAME, "IsotopeMassNumberHas", This, extract::mass_number); + (CLASSNAME, CLASSNAME+"MassNumberHas", This, extract::mass_number); } // Get @@ -140,7 +148,7 @@ int IsotopeMassNumberGet(ConstHandle2ConstIsotope This) { return detail::getMetadatum - (CLASSNAME, "IsotopeMassNumberGet", This, extract::mass_number); + (CLASSNAME, CLASSNAME+"MassNumberGet", This, extract::mass_number); } // Set @@ -148,5 +156,5 @@ void IsotopeMassNumberSet(ConstHandle2Isotope This, const int mass_number) { detail::setMetadatum - (CLASSNAME, "IsotopeMassNumberSet", This, extract::mass_number, mass_number); + (CLASSNAME, CLASSNAME+"MassNumberSet", This, extract::mass_number, mass_number); } From d9c4e7169ca226bd722bde376bea65dddb17dcc4 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 11 Aug 2022 19:06:31 -0600 Subject: [PATCH 137/235] Continuing work on the C interface autogeneration. --- autogen/json2class.cpp | 300 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 276 insertions(+), 24 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 026aa43e1..361eedbaa 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -2007,42 +2007,294 @@ void fileGNDStkClass( // ----------------------------------------------------------------------------- // Re: C interface // Helpers -// fileGNDStkCommon +// fileCInterfaceCommon // ----------------------------------------------------------------------------- +// two +template +void two(writer &hdr, writer &src, Ts &&...args) +{ + hdr(std::forward(args)...); + src(std::forward(args)...); +} + +// par +template +void par(writer &hdr, writer &src, Ts &&...args) +{ + two(hdr, src, std::forward(args)..., false); +} + +// ext +template +void ext(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + hdr("extern_c "+str, std::forward(args)...); + src( str, std::forward(args)...); +} + +// ppp +template +void ppp(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + hdr("// +++ "+str, std::forward(args)...); + src("// " +str, std::forward(args)...); +} + +// mmm +template +void mmm(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + hdr("// --- "+str, std::forward(args)...); + src("// " +str, std::forward(args)...); +} + +// fun +template +void fun(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + two(hdr, src, str+"(", std::forward(args)..., false); + /* + hdr(str+"(", std::forward(args)..., false); + src(str+"(", std::forward(args)..., false); + */ +} + +// sig +void sig(writer &hdr, writer &src, const bool newline = true) +{ + // header: end of parameters, semicolon for declaration + hdr(");"); + // source: end of parameters, beginning of body for definition + src(newline ? ")\n{" : ") {"); +} + +// def +void def(writer &hdr, writer &src) +{ + // header: nothing + (void)hdr; + // source: ending of body for definition + src("}"); +} + + // ------------------------ -// fileGNDStkCommon +// fileCInterfaceBasics // ------------------------ -void fileGNDStkCommon( +void fileCInterfaceBasics( writer &hdr, writer &src, const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { - // zzz working here + (void)specs; + (void)c2d; - (void)hdr; - (void)src; + // section comment + two(hdr,src); + two(hdr,src); + two(hdr,src,largeComment); + two(hdr,src,"// Basics"); + two(hdr,src,"// Create, Assign, Delete"); + two(hdr,src,largeComment); + + /* +3 +ElementCreateConst( + const char *const symbol, + const int atomic_number, + ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2ConstFoobar foobar +) { +} + +zzz + +4 +ElementCreate( + const char *const symbol, + const int atomic_number, + ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2ConstFoobar foobar +) { +} + */ + + two(hdr,src); + mmm(hdr,src,"Create: default, const"); + ext(hdr,src,"Handle2Const@", per.clname); + fun(hdr,src,"@DefaultConst", per.clname); + sig(hdr,src); + src(1,"return detail::createHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"DefaultConst\");"); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Create: default"); + ext(hdr,src,"Handle2@", per.clname); + fun(hdr,src,"@Default", per.clname); + sig(hdr,src); + src(1,"return detail::createHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Default\");"); + def(hdr,src); + + two(hdr,src); + mmm(hdr,src,"Create: general, const"); + ext(hdr,src,"Handle2Const@", per.clname); + fun(hdr,src,"@CreateConst", per.clname); + sig(hdr,src); + src(1,"return detail::createHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"CreateConst\");"); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Create: general"); + ext(hdr,src,"Handle2@", per.clname); + fun(hdr,src,"@Create", per.clname); + sig(hdr,src); + src(1,"return detail::createHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Create\");"); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Assign"); + ppp(hdr,src,"Use this to assign one handled object to another. Don't assign handles,"); + ppp(hdr,src,"as with to = from. That has a meaning that you probably don't intend."); + ext(hdr,src,"void"); + fun(hdr,src,"@Assign", per.clname); + par(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ from", per.clname, per.clname); + sig(hdr,src); + src(1,"detail::assignHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Assign\", This, from);"); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Delete"); + ppp(hdr,src,"We'll attempt to remove no-longer-used objects automatically, but you"); + ppp(hdr,src,"may improve performance if you delete them when you're done with them."); + ext(hdr,src,"void"); + fun(hdr,src,"@Delete", per.clname); + par(hdr,src,"ConstHandle2Const@ This", per.clname); + sig(hdr,src); + src(1,"detail::deleteHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Delete\", This);"); + def(hdr,src); + +} // fileCInterfaceBasics + + +// ------------------------ +// fileCInterfaceIO +// ------------------------ + +void fileCInterfaceIO( + writer &hdr, + writer &src, + const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { (void)specs; - (void)per; (void)c2d; -} // fileGNDStkCommon + + // comment for the section + two(hdr,src); + two(hdr,src); + two(hdr,src,largeComment); + two(hdr,src,"// I/O"); + two(hdr,src,"// Read, Write, Print"); + two(hdr,src,"// Each returns 0 if failure, 1 if success."); + two(hdr,src,largeComment); + + // zzz working here + + two(hdr,src); + ppp(hdr,src,"Read from file"); + ppp(hdr,src,"File can be XML, JSON, or HDF5."); + ppp(hdr,src,"We'll examine the file's contents to determine its type automatically."); + ext(hdr,src,"int"); + fun(hdr,src,"@Read", per.clname); + par(hdr,src,"ConstHandle2@ This, const char *const filename", per.clname); + sig(hdr,src); + src(1,"return detail::readHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Read\", This, filename);"); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Write to file"); + ppp(hdr,src,"File can be XML, JSON, or HDF5."); + ppp(hdr,src,"We'll use filename's extension to determine the type you want written."); + ext(hdr,src,"int"); + fun(hdr,src,"@Write", per.clname); + par(hdr,src,"ConstHandle2Const@ This, const char *const filename", per.clname); + sig(hdr,src); + src(1,"return detail::writeHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Write\", This, filename);"); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Print to standard output, in our prettyprinting format"); + ext(hdr,src,"int"); + fun(hdr,src,"@Print", per.clname); + par(hdr,src,"ConstHandle2Const@ This", per.clname); + sig(hdr,src); + src(1,"return detail::printHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Print\", This);"); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Print to standard output, as XML"); + ext(hdr,src,"int"); + fun(hdr,src,"@PrintXML", per.clname); + par(hdr,src,"ConstHandle2Const@ This", per.clname); + sig(hdr,src); + src(1,"return detail::printHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"PrintXML\", This, \"XML\");"); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Print to standard output, as JSON"); + ext(hdr,src,"int"); + fun(hdr,src,"@PrintJSON", per.clname); + par(hdr,src,"ConstHandle2Const@ This", per.clname); + sig(hdr,src); + src(1,"return detail::printHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"PrintJSON\", This, \"JSON\");"); + def(hdr,src); + +} // fileCInterfaceIO + + +// ------------------------ +// fileCInterfaceCommon +// ------------------------ + +void fileCInterfaceCommon( + writer &hdr, + writer &src, + const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { + fileCInterfaceBasics(hdr, src, specs, per, c2d); + fileCInterfaceIO (hdr, src, specs, per, c2d); + // qqq more here +} // fileCInterfaceCommon // ----------------------------------------------------------------------------- // Re: C interface -// fileGNDStkHeader -// fileGNDStkSource -// fileGNDStkCInterface +// fileCInterfaceHeader +// fileCInterfaceSource +// fileCInterface // ----------------------------------------------------------------------------- // ------------------------ -// fileGNDStkHeader +// fileCInterfaceHeader // ------------------------ -void fileGNDStkHeader( +void fileCInterfaceHeader( writer &hdr, const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { @@ -2138,14 +2390,14 @@ void fileGNDStkHeader( hdr("typedef struct @Class * Handle2@;", per.clname, per.clname); hdr(); -} // fileGNDStkHeader +} // fileCInterfaceHeader // ------------------------ -// fileGNDStkSource +// fileCInterfaceSource // ------------------------ -void fileGNDStkSource( +void fileCInterfaceSource( writer &src, const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { @@ -2190,26 +2442,26 @@ void fileGNDStkSource( src(); for (const auto &dep : c2d.dependencies) src("using CPP@ = @::@;", dep.clname, dep.nsname, dep.clname); -} // fileGNDStkSource +} // fileCInterfaceSource // ------------------------ -// fileGNDStkCInterface +// fileCInterface // ------------------------ -void fileGNDStkCInterface( +void fileCInterface( const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { // header beginning writer hdr(per.headerC); - fileGNDStkHeader(hdr, specs, per, c2d); + fileCInterfaceHeader(hdr, specs, per, c2d); // source beginning writer src(per.sourceC); - fileGNDStkSource(src, specs, per, c2d); + fileCInterfaceSource(src, specs, per, c2d); // common or partially common to both header and source - fileGNDStkCommon(hdr, src, specs, per, c2d); + fileCInterfaceCommon(hdr, src, specs, per, c2d); // header: ending hdr(); @@ -2219,7 +2471,7 @@ void fileGNDStkCInterface( hdr(); hdr("#undef extern_c"); hdr("#endif"); -} // fileGNDStkCInterface +} // fileCInterface @@ -2535,7 +2787,7 @@ int main(const int argc, const char *const *const argv) // C++ header fileGNDStkClass(specs, find->second, obj); // C interface: header and source - fileGNDStkCInterface(specs, find->second, obj); + fileCInterface(specs, find->second, obj); } // Python cpp file for each namespace From ed74a692a73943de575dac3af5613840cde5a63c Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 11 Aug 2022 21:33:14 -0600 Subject: [PATCH 138/235] More autogenerated C interface work. Very tedious, but coming along. --- autogen/json2class.cpp | 106 +++++++++++------- .../multi/c/src/v1/multigroup/Element.h | 15 +-- .../multi/c/src/v1/multigroup/Foobar.cpp | 2 +- .../simple/multi/c/src/v1/multigroup/Foobar.h | 13 +-- .../multi/c/src/v1/multigroup/Isotope.h | 11 +- 5 files changed, 88 insertions(+), 59 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 361eedbaa..5bf49edda 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -80,6 +80,7 @@ struct InfoChildren { // child nodes just doesn't exist in the GNDS specifications, even though the // concept would seem to make sense.) std::string name; + std::string plain; // underlying type, EXcluding namespace std::string type; // underlying type std::string typeFull; // WITH any optional<> or vector<> std::string typeHalf; // withOUT any vector<> @@ -550,10 +551,12 @@ void getClassChildren( InfoChildren c; c.name = nameField(field,specs); - // Type, including namespace - c.type = nameClass(field,specs); - const std::string ns = getChildNamespace(elemRHS, specs, per, c.type); - c.type = ns + "::" + c.type; + // Type, EXcluding namespace + c.plain = nameClass(field,specs); + + // Type, INcluding namespace + const std::string ns = getChildNamespace(elemRHS, specs, per, c.plain); + c.type = ns + "::" + c.plain; // Optional? c.isOptional = !elemRHS["required"]; @@ -2054,19 +2057,15 @@ template void fun(writer &hdr, writer &src, const std::string &str, Ts &&...args) { two(hdr, src, str+"(", std::forward(args)..., false); - /* - hdr(str+"(", std::forward(args)..., false); - src(str+"(", std::forward(args)..., false); - */ } // sig -void sig(writer &hdr, writer &src, const bool newline = true) +void sig(writer &hdr, writer &src, const bool hadFields = false) { // header: end of parameters, semicolon for declaration hdr(");"); // source: end of parameters, beginning of body for definition - src(newline ? ")\n{" : ") {"); + src(hadFields ? ") {" : ")\n{"); } // def @@ -2078,6 +2077,55 @@ void def(writer &hdr, writer &src) src("}"); } +// mtype +std::string mtype(const InfoMetadata &m) +{ + if (m.type == "std::string") + return "char *const"; + else + return m.type; +} + +// ctype +std::string ctype(const InfoChildren &c) +{ + if (c.isVector) + return "ConstHandle2Const" + c.plain + " *const"; + else + return "ConstHandle2Const" + c.plain; +} + +// fileCInterfaceParams +void fileCInterfaceParams(writer &hdr, writer &src, const PerClass &per) +{ + int count = 0; + const int total = per.nfields(); + + // metadata + for (const auto &m : per.metadata) { + two(hdr,src); + two(hdr,src,1,"const @ @@", + mtype(m), m.name, ++count < total ? "," : "", false); + } + + // children + for (const auto &c : per.children) { + two(hdr,src); + two(hdr,src,1,"@ @@@", + ctype(c), + c.name, + c.isVector ? ", const size_t "+c.name+"Size" : "", + ++count < total ? "," : "", + false + ); + } + + // variants + // todo + + if (total) + two(hdr,src); +} // ------------------------ // fileCInterfaceBasics @@ -2100,28 +2148,6 @@ void fileCInterfaceBasics( two(hdr,src,"// Create, Assign, Delete"); two(hdr,src,largeComment); - /* -3 -ElementCreateConst( - const char *const symbol, - const int atomic_number, - ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, - ConstHandle2ConstFoobar foobar -) { -} - -zzz - -4 -ElementCreate( - const char *const symbol, - const int atomic_number, - ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, - ConstHandle2ConstFoobar foobar -) { -} - */ - two(hdr,src); mmm(hdr,src,"Create: default, const"); ext(hdr,src,"Handle2Const@", per.clname); @@ -2144,16 +2170,20 @@ ElementCreate( mmm(hdr,src,"Create: general, const"); ext(hdr,src,"Handle2Const@", per.clname); fun(hdr,src,"@CreateConst", per.clname); - sig(hdr,src); + fileCInterfaceParams(hdr,src,per); + sig(hdr,src, per.nfields() != 0); src(1,"return detail::createHandle"); src(2,"(CLASSNAME, CLASSNAME+\"CreateConst\");"); def(hdr,src); + // zzz working here + two(hdr,src); ppp(hdr,src,"Create: general"); ext(hdr,src,"Handle2@", per.clname); fun(hdr,src,"@Create", per.clname); - sig(hdr,src); + fileCInterfaceParams(hdr,src,per); + sig(hdr,src, per.nfields() != 0); src(1,"return detail::createHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Create\");"); def(hdr,src); @@ -2207,8 +2237,6 @@ void fileCInterfaceIO( two(hdr,src,"// Each returns 0 if failure, 1 if success."); two(hdr,src,largeComment); - // zzz working here - two(hdr,src); ppp(hdr,src,"Read from file"); ppp(hdr,src,"File can be XML, JSON, or HDF5."); @@ -2322,7 +2350,8 @@ void fileCInterfaceHeader( hdr("// // --- comment"); hdr("// Anything not marked as above can be ignored by most users."); hdr("//"); - hdr("// @ is the basic handle type in this file:", per.clname); + hdr("// @ is the basic handle type in this file. Example:", per.clname); + hdr("// // Create a default @ object:", per.clname); hdr("// @ handle = @Default();", per.clname, per.clname); hdr("// Functions involving @ are declared throughout this file.", per.clname); @@ -2380,7 +2409,7 @@ void fileCInterfaceHeader( hdr("// +++ place of any function parameter of a const-aware handle type."); hdr("typedef struct @Class *@;", per.clname, per.clname); hdr(); - hdr("// --- Const-aware handles, re: constness of handle vs. handled object"); + hdr("// --- Const-aware handles, re: constness of handle vs. handled object."); hdr("typedef const struct @Class *const ConstHandle2Const@;", per.clname, per.clname); hdr("typedef struct @Class *const ConstHandle2@;", @@ -2389,7 +2418,6 @@ void fileCInterfaceHeader( per.clname, per.clname); hdr("typedef struct @Class * Handle2@;", per.clname, per.clname); - hdr(); } // fileCInterfaceHeader diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index 32a77161c..a2d896200 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -8,16 +8,17 @@ // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- -// Instructions +// Instructions for Users // -// Constructs you're MORE likely to use are preceded with: +// Constructs you're MORE likely to care about are preceded with: // // +++ comment -// Constructs you're LESS likely to use are preceded with: +// Constructs you're LESS likely to care about are preceded with: // // --- comment -// You can probably ignore anything not marked in either way. +// Anything not marked as above can be ignored by most users. // -// Element is the basic handle type in this file: -// Element element = ElementCreate(); +// Element is the basic handle type in this file. Example: +// // Create a default Element object: +// Element handle = ElementDefault(); // Functions involving Element are declared throughout this file. // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- @@ -54,7 +55,7 @@ struct ElementClass { }; // +++ place of any function parameter of a const-aware handle type. typedef struct ElementClass *Element; -// --- Const-aware handles, re: constness of handle vs. handled object +// --- Const-aware handles, re: constness of handle vs. handled object. typedef const struct ElementClass *const ConstHandle2ConstElement; typedef struct ElementClass *const ConstHandle2Element; typedef const struct ElementClass * Handle2ConstElement; diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index 56b862f30..9597d064d 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -177,7 +177,7 @@ FoobarDoublesGetArray(ConstHandle2Foobar This) // Set new size and values void -FoobarDoublesSetArray(ConstHandle2Foobar This, const size_t size, const double *const values) +FoobarDoublesSetArray(ConstHandle2Foobar This, const double *const values, const size_t size) { return detail::vectorSet (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index 8cc92cd25..0f7072ced 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -16,7 +16,8 @@ // // --- comment // Anything not marked as above can be ignored by most users. // -// Foobar is the basic handle type in this file: +// Foobar is the basic handle type in this file. Example: +// // Create a default Foobar object: // Foobar handle = FoobarDefault(); // Functions involving Foobar are declared throughout this file. // ----------------------------------------------------------------------------- @@ -52,7 +53,7 @@ struct FoobarClass { }; // +++ place of any function parameter of a const-aware handle type. typedef struct FoobarClass *Foobar; -// --- Const-aware handles, re: constness of handle vs. handled object +// --- Const-aware handles, re: constness of handle vs. handled object. typedef const struct FoobarClass *const ConstHandle2ConstFoobar; typedef struct FoobarClass *const ConstHandle2Foobar; typedef const struct FoobarClass * Handle2ConstFoobar; @@ -74,13 +75,11 @@ FoobarDefault(); // --- Create: general, const extern_c Handle2ConstFoobar -FoobarCreateConst( -); +FoobarCreateConst(); // +++ Create: general extern_c Handle2Foobar -FoobarCreate( -); +FoobarCreate(); // +++ Assign // +++ Use this to assign one handled object to another. Don't assign handles, @@ -151,7 +150,7 @@ FoobarDoublesGetArray(ConstHandle2Foobar This); // +++ Set new size and values extern_c void -FoobarDoublesSetArray(ConstHandle2Foobar This, const size_t size, const double *const doubles); +FoobarDoublesSetArray(ConstHandle2Foobar This, const double *const doubles, const size_t size); // ----------------------------------------------------------------------------- diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h index 09b0d4e6b..c5f54299e 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -2,9 +2,9 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -// Interface for C. -// Note that this header file is designed to work with both C and C++. -// Function definitions are in this file's .cpp source. +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- @@ -16,8 +16,9 @@ // // --- comment // Anything not marked as above can be ignored by most users. // -// Isotope is the basic handle type in this file: -// Isotope isotope = IsotopeDefault(); +// Isotope is the basic handle type in this file. Example: +// // Create a default Isotope object: +// Isotope handle = IsotopeDefault(); // Functions involving Isotope are declared throughout this file. // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- From 398c5f5e1984429574868b5c17555ead203cc66f Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Sun, 14 Aug 2022 03:42:58 -0600 Subject: [PATCH 139/235] More work on the C interface code generation. --- autogen/json2class.cpp | 181 +++++++++++++++--- .../multi/c/src/v1/multigroup/Foobar.cpp | 14 +- .../simple/multi/c/src/v1/multigroup/Foobar.h | 17 +- 3 files changed, 172 insertions(+), 40 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 5bf49edda..250024353 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -896,7 +896,8 @@ void writeClassForComponent(writer &out, const PerClass &per) out(); for (const auto &v : per.variants) { out(1,"using @ = std::variant<", v.type); - int count = 0, total = v.children.size(); + int count = 0; + const int total = v.children.size(); for (const auto &c : v.children) out(2,"@@", c.type, sep(count,total)); out(1,">;"); @@ -919,7 +920,8 @@ void writeClassForComponent(writer &out, const PerClass &per) out(1,"{"); // KEYS() contents - int count = 0, total = per.nfields(); + int count = 0; + const int total = per.nfields(); if (total == 0) out(2,"return std::tuple<>{};"); else { @@ -2010,10 +2012,15 @@ void fileGNDStkClass( // ----------------------------------------------------------------------------- // Re: C interface // Helpers -// fileCInterfaceCommon +// fileCInterface* // ----------------------------------------------------------------------------- +// ------------------------ +// Helpers +// ------------------------ + // two +// Forward args to two places: header and source template void two(writer &hdr, writer &src, Ts &&...args) { @@ -2022,6 +2029,7 @@ void two(writer &hdr, writer &src, Ts &&...args) } // par +// For writing parameters; no \n added template void par(writer &hdr, writer &src, Ts &&...args) { @@ -2029,6 +2037,7 @@ void par(writer &hdr, writer &src, Ts &&...args) } // ext +// For writing (or not writing) 'extern "C"' template void ext(writer &hdr, writer &src, const std::string &str, Ts &&...args) { @@ -2037,6 +2046,7 @@ void ext(writer &hdr, writer &src, const std::string &str, Ts &&...args) } // ppp +// Comment, prefixed in header file with "+++" template void ppp(writer &hdr, writer &src, const std::string &str, Ts &&...args) { @@ -2045,6 +2055,7 @@ void ppp(writer &hdr, writer &src, const std::string &str, Ts &&...args) } // mmm +// Comment, prefixed in header file with "---" template void mmm(writer &hdr, writer &src, const std::string &str, Ts &&...args) { @@ -2053,6 +2064,7 @@ void mmm(writer &hdr, writer &src, const std::string &str, Ts &&...args) } // fun +// C interface function name, and left (, with no \n added template void fun(writer &hdr, writer &src, const std::string &str, Ts &&...args) { @@ -2060,6 +2072,7 @@ void fun(writer &hdr, writer &src, const std::string &str, Ts &&...args) } // sig +// End C interface function signature; style dependent on hadFields bool void sig(writer &hdr, writer &src, const bool hadFields = false) { // header: end of parameters, semicolon for declaration @@ -2069,6 +2082,8 @@ void sig(writer &hdr, writer &src, const bool hadFields = false) } // def +// End C interface function definition. +// Accept writer &hdr for consistency with above/below functions. void def(writer &hdr, writer &src) { // header: nothing @@ -2078,6 +2093,7 @@ void def(writer &hdr, writer &src) } // mtype +// Get metadata type, for C interface std::string mtype(const InfoMetadata &m) { if (m.type == "std::string") @@ -2087,6 +2103,7 @@ std::string mtype(const InfoMetadata &m) } // ctype +// Get child-node type, for C interface std::string ctype(const InfoChildren &c) { if (c.isVector) @@ -2131,15 +2148,8 @@ void fileCInterfaceParams(writer &hdr, writer &src, const PerClass &per) // fileCInterfaceBasics // ------------------------ -void fileCInterfaceBasics( - writer &hdr, - writer &src, - const InfoSpecs &specs, - const PerClass &per, const Class2Dependencies &c2d -) { - (void)specs; - (void)c2d; - +void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) +{ // section comment two(hdr,src); two(hdr,src); @@ -2176,8 +2186,6 @@ void fileCInterfaceBasics( src(2,"(CLASSNAME, CLASSNAME+\"CreateConst\");"); def(hdr,src); - // zzz working here - two(hdr,src); ppp(hdr,src,"Create: general"); ext(hdr,src,"Handle2@", per.clname); @@ -2219,16 +2227,9 @@ void fileCInterfaceBasics( // fileCInterfaceIO // ------------------------ -void fileCInterfaceIO( - writer &hdr, - writer &src, - const InfoSpecs &specs, - const PerClass &per, const Class2Dependencies &c2d -) { - (void)specs; - (void)c2d; - - // comment for the section +void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) +{ + // section comment two(hdr,src); two(hdr,src); two(hdr,src,largeComment); @@ -2294,6 +2295,123 @@ void fileCInterfaceIO( } // fileCInterfaceIO +// ------------------------ +// fileCInterfaceVector +// ------------------------ + +void fileCInterfaceVector( + writer &hdr, writer &src, + const PerClass &per, const std::string &type, + const bool section = true +) { + // section comment + if (section) { + two(hdr,src); + two(hdr,src); + two(hdr,src,largeComment); + two(hdr,src,"// Re: vector"); + two(hdr,src,largeComment); + } else { + assert(type != ""); + two(hdr,src); + two(hdr,src,smallComment); + two(hdr,src,"// @", type); + two(hdr,src,smallComment); + } + + // dynamic type? + if (type == "") { + fileCInterfaceVector(hdr,src,per,"int", false); + fileCInterfaceVector(hdr,src,per,"unsigned",false); + fileCInterfaceVector(hdr,src,per,"float", false); + fileCInterfaceVector(hdr,src,per,"double", false); + return; + } + + // Example: + // ctype: "Foobar" (class type; for brevity) + // type: "double" (parameter to this function) + // types: "doubles" + // Types: "Doubles" + const std::string cname = per.clname; + const std::string types = type + 's'; + const std::string Types = capital(type) + 's'; + + two(hdr,src); + ppp(hdr,src,"Clear"); + ext(hdr,src,"void"); + fun(hdr,src,"@@Clear", cname, Types); + par(hdr,src,"ConstHandle2@ This", cname); + sig(hdr,src); + src(1,"detail::vectorClear"); + src(2,"(CLASSNAME, CLASSNAME+\"@Clear\", This);", Types); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Get size"); + ext(hdr,src,"size_t"); + fun(hdr,src,"@@Size", cname, Types); + par(hdr,src,"ConstHandle2Const@ This", cname); + sig(hdr,src); + src(1,"return detail::vectorSize"); + src(2,"(CLASSNAME, CLASSNAME+\"@Size\", This);", Types); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Get value"); + ppp(hdr,src,"By index \\in [0,size)"); + ext(hdr,src,"@", type); + fun(hdr,src,"@@Get", cname, Types); + par(hdr,src,"ConstHandle2Const@ This, const size_t index", cname); + sig(hdr,src); + src(1,"return detail::vectorGet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, index);", Types); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Set value"); + ppp(hdr,src,"By index \\in [0,size)"); + ext(hdr,src,"void"); + fun(hdr,src,"@@Set", cname, Types); + par(hdr,src,"ConstHandle2@ This, const size_t index, const @ value", cname, type); + sig(hdr,src); + src(1,"detail::vectorSet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, index, value);", Types); + def(hdr,src); + + two(hdr,src); + mmm(hdr,src,"Get pointer to existing values, const"); + ext(hdr,src,"const @ *", type); + fun(hdr,src,"@@GetArrayConst", cname, Types); + par(hdr,src,"ConstHandle2Const@ This", cname); + sig(hdr,src); + src(1,"return detail::vectorGet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@GetArrayConst\", This);", Types); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Get pointer to existing values, non-const"); + ext(hdr,src,"@ *", type); + fun(hdr,src,"@@GetArray", cname, Types); + par(hdr,src,"ConstHandle2@ This", cname); + sig(hdr,src); + src(1,"return detail::vectorGet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@GetArray\", This);", Types); + def(hdr,src); + + two(hdr,src); + ppp(hdr,src,"Set completely new values and size"); + ext(hdr,src,"void"); + fun(hdr,src,"@@SetArray", cname, Types); + par(hdr,src,"ConstHandle2@ This, const @ *const values, const size_t size", cname, type); + sig(hdr,src); + src(1,"return detail::vectorSet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@SetArray\", This, size, values);", Types); + def(hdr,src); + +} // fileCInterfaceVector + + // ------------------------ // fileCInterfaceCommon // ------------------------ @@ -2304,9 +2422,11 @@ void fileCInterfaceCommon( const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { - fileCInterfaceBasics(hdr, src, specs, per, c2d); - fileCInterfaceIO (hdr, src, specs, per, c2d); - // qqq more here + fileCInterfaceBasics(hdr, src, per); + fileCInterfaceIO(hdr, src, per); + if (per.isData) + fileCInterfaceVector(hdr, src, per, per.dataType); + // zzz working here } // fileCInterfaceCommon @@ -2493,6 +2613,7 @@ void fileCInterface( // header: ending hdr(); + hdr(); hdr(largeComment); hdr("// Done"); hdr(largeComment); @@ -2662,7 +2783,8 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) // using [variant name] = std::variant..., if necessary for (const auto &v : per.variants) { out(1,"using @ = std::variant<", v.type); - int count = 0, total = v.children.size(); + int count = 0; + const int total = v.children.size(); for (const auto &c : v.children) out(2, "@@", c.type, sep(count,total)); out(1,">;"); @@ -2682,7 +2804,8 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) // python::init<...> for attributes and children out(2,".def("); out(3,"python::init<"); - int count = 0, total = per.nfields(); + int count = 0; + const int total = per.nfields(); for (auto &m : per.metadata) out(4,"const @ &@", m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull, diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index 9597d064d..e3e3cd831 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -135,7 +135,7 @@ FoobarDoublesClear(ConstHandle2Foobar This) (CLASSNAME, CLASSNAME+"DoublesClear", This); } -// Size +// Get size size_t FoobarDoublesSize(ConstHandle2ConstFoobar This) { @@ -143,7 +143,8 @@ FoobarDoublesSize(ConstHandle2ConstFoobar This) (CLASSNAME, CLASSNAME+"DoublesSize", This); } -// Get +// Get value +// By index \in [0,size) double FoobarDoublesGet(ConstHandle2ConstFoobar This, const size_t index) { @@ -151,7 +152,8 @@ FoobarDoublesGet(ConstHandle2ConstFoobar This, const size_t index) (CLASSNAME, CLASSNAME+"DoublesGet", This, index); } -// Set +// Set value +// By index \in [0,size) void FoobarDoublesSet(ConstHandle2Foobar This, const size_t index, const double value) { @@ -159,7 +161,7 @@ FoobarDoublesSet(ConstHandle2Foobar This, const size_t index, const double value (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); } -// Get pointer to values, const +// Get pointer to existing values, const const double * FoobarDoublesGetArrayConst(ConstHandle2ConstFoobar This) { @@ -167,7 +169,7 @@ FoobarDoublesGetArrayConst(ConstHandle2ConstFoobar This) (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); } -// Get pointer to values, non-const +// Get pointer to existing values, non-const double * FoobarDoublesGetArray(ConstHandle2Foobar This) { @@ -175,7 +177,7 @@ FoobarDoublesGetArray(ConstHandle2Foobar This) (CLASSNAME, CLASSNAME+"DoublesGetArray", This); } -// Set new size and values +// Set completely new values and size void FoobarDoublesSetArray(ConstHandle2Foobar This, const double *const values, const size_t size) { diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index 0f7072ced..5c6cff0dc 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -129,28 +129,35 @@ FoobarPrintJSON(ConstHandle2ConstFoobar This); // Re: vector // ----------------------------------------------------------------------------- -// +++ Clear, Size +// +++ Clear extern_c void FoobarDoublesClear(ConstHandle2Foobar This); + +// +++ Get size extern_c size_t FoobarDoublesSize(ConstHandle2ConstFoobar This); -// +++ Get, Set +// +++ Get value // +++ By index \in [0,size) extern_c double FoobarDoublesGet(ConstHandle2ConstFoobar This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) extern_c void FoobarDoublesSet(ConstHandle2Foobar This, const size_t index, const double value); -// +++ Get pointer to values +// --- Get pointer to existing values, const extern_c const double * FoobarDoublesGetArrayConst(ConstHandle2ConstFoobar This); + +// +++ Get pointer to existing values, non-const extern_c double * FoobarDoublesGetArray(ConstHandle2Foobar This); -// +++ Set new size and values +// +++ Set completely new values and size extern_c void -FoobarDoublesSetArray(ConstHandle2Foobar This, const double *const doubles, const size_t size); +FoobarDoublesSetArray(ConstHandle2Foobar This, const double *const values, const size_t size); // ----------------------------------------------------------------------------- From ae062f5be2ed5285befa8302b10b9f0427ba9ade Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 15 Aug 2022 03:22:58 -0600 Subject: [PATCH 140/235] Getting closer to a C-interface generator. --- autogen/json2class.cpp | 131 +++++++++++++++++- .../multi/c/src/v1/multigroup/Element.cpp | 2 + .../multi/c/src/v1/multigroup/Element.h | 70 ++-------- 3 files changed, 140 insertions(+), 63 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 250024353..a6fb0e9f0 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -277,6 +277,19 @@ std::string allcaps(const std::string &str) return ret; } +// UpperCamel +std::string UpperCamel(const std::string &str) +{ + std::string ret; + for (size_t i = 0; i < str.size(); ++i) + if (str[i] != '_') + ret += i ? str[i] : toupper(str[i]); + else if (++i < str.size()) + ret += toupper(str[i]); + return ret; +} + + // Replace character std::string replace(const std::string &str, const char from, const char to) { @@ -2092,9 +2105,9 @@ void def(writer &hdr, writer &src) src("}"); } -// mtype +// mtype_param // Get metadata type, for C interface -std::string mtype(const InfoMetadata &m) +std::string mtype_param(const InfoMetadata &m) { if (m.type == "std::string") return "char *const"; @@ -2102,6 +2115,16 @@ std::string mtype(const InfoMetadata &m) return m.type; } +// mtype_return +// Get metadata type, for C interface +std::string mtype_return(const InfoMetadata &m) +{ + if (m.type == "std::string") + return "const char *"; + else + return m.type; +} + // ctype // Get child-node type, for C interface std::string ctype(const InfoChildren &c) @@ -2122,7 +2145,7 @@ void fileCInterfaceParams(writer &hdr, writer &src, const PerClass &per) for (const auto &m : per.metadata) { two(hdr,src); two(hdr,src,1,"const @ @@", - mtype(m), m.name, ++count < total ? "," : "", false); + mtype_param(m), m.name, ++count < total ? "," : "", false); } // children @@ -2321,6 +2344,7 @@ void fileCInterfaceVector( // dynamic type? if (type == "") { + // todo Any others here, for purposes of the C interface? fileCInterfaceVector(hdr,src,per,"int", false); fileCInterfaceVector(hdr,src,per,"unsigned",false); fileCInterfaceVector(hdr,src,per,"float", false); @@ -2412,6 +2436,85 @@ void fileCInterfaceVector( } // fileCInterfaceVector +// ------------------------ +// fileCInterfaceMeta +// ------------------------ + +void fileCInterfaceMeta( + writer &hdr, writer &src, + const PerClass &per, const InfoMetadata &m +) { + const std::string Class = per.clname; + const std::string Name = UpperCamel(m.name); + const std::string name = m.name; + + // section comment + two(hdr,src); + two(hdr,src); + two(hdr,src,largeComment); + two(hdr,src,"// Re: @", name); + two(hdr,src,largeComment); + + // has + two(hdr,src); + ppp(hdr,src,"Has"); + ext(hdr,src,"int"); + fun(hdr,src,"@@Has", Class, Name); + par(hdr,src,"ConstHandle2Const@ This", Class); + sig(hdr,src); + src(1,"return detail::hasMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Name, name); + def(hdr,src); + + // get + two(hdr,src); + ppp(hdr,src,"Get"); + ppp(hdr,src,"Returns by value"); + ext(hdr,src,"@", mtype_return(m)); + fun(hdr,src,"@@Get", Class, Name); + par(hdr,src,"ConstHandle2Const@ This", Class); + sig(hdr,src); + src(1,"return detail::getMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Name, name); + def(hdr,src); + + // set + two(hdr,src); + ppp(hdr,src,"Set"); + ext(hdr,src,"void"); + fun(hdr,src,"@@Set", Class, Name); + par(hdr,src,"ConstHandle2@ This, ", Class); + par(hdr,src,"const @ @", mtype_param(m), name); + sig(hdr,src); + src(1,"detail::setMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Name, name, name); + def(hdr,src); +} + + +// ------------------------ +// fileCInterfaceChild +// ------------------------ + +void fileCInterfaceChild( + writer &hdr, writer &src, + const PerClass &per, const InfoChildren &c +) { + /* + zzz working here + account for difference between "one" child and "many" child + element: + optional symbol + int (not optional) atomic_number + Re: the above two: should just symbol have Has? + Isotope vector + optional Foobar (just one, not vector) + Also: Isotope mass_number is *not* optional; want Has? + Be sure stuff in prototype is what we really want. + */ +} + + // ------------------------ // fileCInterfaceCommon // ------------------------ @@ -2422,11 +2525,26 @@ void fileCInterfaceCommon( const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { + // Basics section: create, assign, delete fileCInterfaceBasics(hdr, src, per); + + // IO section: read, write, print fileCInterfaceIO(hdr, src, per); + + // Array support, if BlockData if (per.isData) fileCInterfaceVector(hdr, src, per, per.dataType); - // zzz working here + + // Functions regarding metadata + for (const auto &m : per.metadata) + fileCInterfaceMeta(hdr, src, per, m); + + // Functions regarding children + for (const auto &c : per.children) + fileCInterfaceChild(hdr, src, per, c); + + // variants + // todo } // fileCInterfaceCommon @@ -2574,16 +2692,19 @@ void fileCInterfaceSource( src(); src("namespace extract {"); } + // extract: metadata for (const auto &m : per.metadata) src(1,"static auto @ = [](auto &obj) { return &obj.@; };", m.name, m.name); + // extract: children for (const auto &c : per.children) src(1,"static auto @ = [](auto &obj) { return &obj.@; };", c.name, c.name); + // extract: variants - // todo Prototype how variants will work in a C interface + // todo Determine how the C interface should deal with C++ variants if (per.nfields()) src("}"); if (c2d.dependencies.size()) diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index 964f22000..70ccd16e8 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -166,6 +166,7 @@ ElementSymbolHas(ConstHandle2ConstElement This) } // Get +// Returns by value const char * ElementSymbolGet(ConstHandle2ConstElement This) { @@ -195,6 +196,7 @@ ElementAtomicNumberHas(ConstHandle2ConstElement This) } // Get +// Returns by value int ElementAtomicNumberGet(ConstHandle2ConstElement This) { diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index a2d896200..c1a400adc 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -141,12 +141,16 @@ ElementPrintJSON(ConstHandle2ConstElement This); // Re: symbol // ----------------------------------------------------------------------------- -// +++ Has, Get, Set -// +++ Get returns by value +// +++ Has extern_c int ElementSymbolHas(ConstHandle2ConstElement This); + +// +++ Get +// +++ Returns by value extern_c const char * ElementSymbolGet(ConstHandle2ConstElement This); + +// +++ Set extern_c void ElementSymbolSet(ConstHandle2Element This, const char *const symbol); @@ -155,12 +159,16 @@ ElementSymbolSet(ConstHandle2Element This, const char *const symbol); // Re: atomic_number // ----------------------------------------------------------------------------- -// +++ Has, Get, Set -// +++ Get returns by value +// +++ Has extern_c int ElementAtomicNumberHas(ConstHandle2ConstElement This); + +// +++ Get +// +++ Returns by value extern_c int ElementAtomicNumberGet(ConstHandle2ConstElement This); + +// +++ Set extern_c void ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number); @@ -217,60 +225,6 @@ extern_c void ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar); -// ----------------------------------------------------------------------------- -// Summary -// ----------------------------------------------------------------------------- - -// General handle type: Element -// Const-specific handle types: [Const]Handle2[Const]Element - -// C-callable Functions: -#ifndef __cplusplus -Handle2ConstElement ElementCreateDefaultConst(); -Handle2Element ElementCreateDefault(); -Handle2ConstElement ElementCreateConst( - const char *const symbol, - const int atomic_number, - ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, - ConstHandle2ConstFoobar foobar -); -Handle2Element ElementCreate( - const char *const symbol, - const int atomic_number, - ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, - ConstHandle2ConstFoobar foobar -); -void ElementAssign(ConstHandle2Element This, ConstHandle2ConstElement from); -void ElementDelete(ConstHandle2ConstElement This); -int ElementRead(ConstHandle2Element This, const char *const filename); -int ElementWrite(ConstHandle2ConstElement This, const char *const filename); -int ElementPrint(ConstHandle2ConstElement This); -int ElementPrintXML(ConstHandle2ConstElement This); -int ElementPrintJSON(ConstHandle2ConstElement This); -int ElementSymbolHas(ConstHandle2ConstElement This); -const char *ElementSymbolGet(ConstHandle2ConstElement This); -void ElementSymbolSet(ConstHandle2Element This, const char *const symbol); -int ElementAtomicNumberHas(ConstHandle2ConstElement This); -int ElementAtomicNumberGet(ConstHandle2ConstElement This); -void ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number); -int ElementFoobarHas(ConstHandle2ConstElement This); -Handle2ConstFoobar ElementFoobarGetConst(ConstHandle2ConstElement This); -Handle2Foobar ElementFoobarGet(ConstHandle2Element This); -void ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar); -void ElementIsotopeClear(ConstHandle2Element This); -size_t ElementIsotopeSize(ConstHandle2ConstElement This); -void ElementIsotopeAdd(ConstHandle2Element This, ConstHandle2ConstIsotope isotope); -int ElementIsotopeHas(ConstHandle2ConstElement This); -Handle2ConstIsotope ElementIsotopeGetConst(ConstHandle2ConstElement This, const size_t index_); -Handle2Isotope ElementIsotopeGet(ConstHandle2Element This, const size_t index_); -void ElementIsotopeSet(ConstHandle2Element This, const size_t index_, ConstHandle2ConstIsotope isotope); -int ElementIsotopeHasByMassNumber(ConstHandle2ConstElement This, const int mass_number); -Handle2ConstIsotope ElementIsotopeGetByMassNumberConst(ConstHandle2ConstElement This, const int mass_number); -Handle2Isotope ElementIsotopeGetByMassNumber(ConstHandle2Element This, const int mass_number); -void ElementIsotopeSetByMassNumber(ConstHandle2Element This, const int mass_number, ConstHandle2ConstIsotope isotope); -#endif - - // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- From e0d97ada7fd771675b155ae4314df455be1b020c Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 15 Aug 2022 18:21:38 -0600 Subject: [PATCH 141/235] C interface generator now producing what I'd handwritten. --- autogen/json2class.cpp | 420 +++++++++++++++--- .../multi/c/src/v1/multigroup/Element.cpp | 54 ++- .../multi/c/src/v1/multigroup/Element.h | 69 ++- .../multi/c/src/v1/multigroup/Foobar.cpp | 12 +- .../multi/c/src/v1/multigroup/Isotope.cpp | 25 +- .../multi/c/src/v1/multigroup/Isotope.h | 8 +- 6 files changed, 466 insertions(+), 122 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index a6fb0e9f0..2cd0bb0f3 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -80,7 +80,8 @@ struct InfoChildren { // child nodes just doesn't exist in the GNDS specifications, even though the // concept would seem to make sense.) std::string name; - std::string plain; // underlying type, EXcluding namespace + std::string ns; // enclosing namespace + std::string plain; // underlying type, excluding namespace std::string type; // underlying type std::string typeFull; // WITH any optional<> or vector<> std::string typeHalf; // withOUT any vector<> @@ -91,7 +92,9 @@ struct InfoChildren { // InfoVariantsChildren struct InfoVariantsChildren { std::string name; - std::string type; + std::string ns; // enclosing namespace + std::string plain; // underlying type, excluding namespace + std::string type; // underlying type bool isVector; }; @@ -200,7 +203,7 @@ struct InfoSpecs { // Map from namespace::class to information about the class nlohmann::ordered_map class2data; -}; +}; // InfoSpecs @@ -564,12 +567,12 @@ void getClassChildren( InfoChildren c; c.name = nameField(field,specs); - // Type, EXcluding namespace + // Type, excluding namespace c.plain = nameClass(field,specs); - // Type, INcluding namespace - const std::string ns = getChildNamespace(elemRHS, specs, per, c.plain); - c.type = ns + "::" + c.plain; + // Type, including namespace + c.ns = getChildNamespace(elemRHS, specs, per, c.plain); + c.type = c.ns + "::" + c.plain; // Optional? c.isOptional = !elemRHS["required"]; @@ -599,7 +602,7 @@ void getClassChildren( // Save as a dependency (if it's not its own dependency) if (c.type != per.name()) dep.dependencies.push_back( - NamespaceAndClass(ns,nameClass(field,specs))); + NamespaceAndClass(c.ns,nameClass(field,specs))); // Add to per.children per.children.push_back(c); @@ -663,10 +666,11 @@ void getClassVariants( InfoVariantsChildren c; // ...its name c.name = nameField(field,specs); + // ...its type, excluding namespace + c.plain = nameClass(field,specs); // ...its type, including namespace - c.type = nameClass(field,specs); - const std::string ns = getChildNamespace(elemRHS, specs, per, c.type); - c.type = ns + "::" + c.type; + c.ns = getChildNamespace(elemRHS, specs, per, c.plain); + c.type = c.ns + "::" + c.plain; // ...its vector-ness c.isVector = times == "choice+" || times == "choice2+"; @@ -683,7 +687,7 @@ void getClassVariants( // Save as a dependency (if it's not its own dependency) if (c.type != per.name()) dep.dependencies.push_back( - NamespaceAndClass(ns,nameClass(field,specs))); + NamespaceAndClass(c.ns,nameClass(field,specs))); } // Pass 3 @@ -2135,8 +2139,8 @@ std::string ctype(const InfoChildren &c) return "ConstHandle2Const" + c.plain; } -// fileCInterfaceParams -void fileCInterfaceParams(writer &hdr, writer &src, const PerClass &per) +// fileCInterfaceCreateParams +void fileCInterfaceCreateParams(writer &hdr, writer &src, const PerClass &per) { int count = 0; const int total = per.nfields(); @@ -2173,7 +2177,10 @@ void fileCInterfaceParams(writer &hdr, writer &src, const PerClass &per) void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) { + // ------------------------ // section comment + // ------------------------ + two(hdr,src); two(hdr,src); two(hdr,src,largeComment); @@ -2181,6 +2188,10 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) two(hdr,src,"// Create, Assign, Delete"); two(hdr,src,largeComment); + // ------------------------ + // create: default, const + // ------------------------ + two(hdr,src); mmm(hdr,src,"Create: default, const"); ext(hdr,src,"Handle2Const@", per.clname); @@ -2190,6 +2201,10 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) src(2,"(CLASSNAME, CLASSNAME+\"DefaultConst\");"); def(hdr,src); + // ------------------------ + // create: default, non-const + // ------------------------ + two(hdr,src); ppp(hdr,src,"Create: default"); ext(hdr,src,"Handle2@", per.clname); @@ -2199,26 +2214,104 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) src(2,"(CLASSNAME, CLASSNAME+\"Default\");"); def(hdr,src); + /// factor commonality in the next two blocks + + // ------------------------ + // create: general, const + // ------------------------ + two(hdr,src); mmm(hdr,src,"Create: general, const"); ext(hdr,src,"Handle2Const@", per.clname); fun(hdr,src,"@CreateConst", per.clname); - fileCInterfaceParams(hdr,src,per); + fileCInterfaceCreateParams(hdr,src,per); sig(hdr,src, per.nfields() != 0); - src(1,"return detail::createHandle"); - src(2,"(CLASSNAME, CLASSNAME+\"CreateConst\");"); + src(1,"ConstHandle2@ handle = detail::createHandle(", per.clname); + src(2,"CLASSNAME, CLASSNAME+\"CreateConst\"", false); + { + // metadata + for (const auto &m : per.metadata) { + src(","); + src(2,"@", m.name, false); + } + + // children + for (const auto &c : per.children) { + src(","); + const std::string Child = c.plain; + const std::string child = c.name; + c.isVector + ? src(2,"std::vector{}", Child, false) + : src(2,"detail::tocpp{@}", Child, child, false); + } + + // variants + // todo + } + src(); + src(1,");"); + for (const auto &c : per.children) + if (c.isVector) { + const std::string Child = c.plain; + const std::string child = c.name; + src(1,"for (size_t @N = 0; @N < @Size; ++@N)", + Child, Child, child, Child); + src(2,"Element@Add(handle, @[@N]);", + Child, child, Child); + } + src(1,"return handle;"); def(hdr,src); + // ------------------------ + // create: general, non-const + // ------------------------ + two(hdr,src); ppp(hdr,src,"Create: general"); ext(hdr,src,"Handle2@", per.clname); fun(hdr,src,"@Create", per.clname); - fileCInterfaceParams(hdr,src,per); + fileCInterfaceCreateParams(hdr,src,per); sig(hdr,src, per.nfields() != 0); - src(1,"return detail::createHandle"); - src(2,"(CLASSNAME, CLASSNAME+\"Create\");"); + src(1,"ConstHandle2@ handle = detail::createHandle(", per.clname); + src(2,"CLASSNAME, CLASSNAME+\"Create\"", false); + { + // metadata + for (const auto &m : per.metadata) { + src(","); + src(2,"@", m.name, false); + } + + // children + for (const auto &c : per.children) { + src(","); + const std::string Child = c.plain; + const std::string child = c.name; + c.isVector + ? src(2,"std::vector{}", Child, false) + : src(2,"detail::tocpp{@}", Child, child, false); + } + + // variants + // todo + } + src(); + src(1,");"); + for (const auto &c : per.children) + if (c.isVector) { + const std::string Child = c.plain; + const std::string child = c.name; + src(1,"for (size_t @N = 0; @N < @Size; ++@N)", + Child, Child, child, Child); + src(2,"Element@Add(handle, @[@N]);", + Child, child, Child); + } + src(1,"return handle;"); def(hdr,src); + // ------------------------ + // assign + // ------------------------ + two(hdr,src); ppp(hdr,src,"Assign"); ppp(hdr,src,"Use this to assign one handled object to another. Don't assign handles,"); @@ -2231,6 +2324,10 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) src(2,"(CLASSNAME, CLASSNAME+\"Assign\", This, from);"); def(hdr,src); + // ------------------------ + // delete + // ------------------------ + two(hdr,src); ppp(hdr,src,"Delete"); ppp(hdr,src,"We'll attempt to remove no-longer-used objects automatically, but you"); @@ -2261,6 +2358,7 @@ void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) two(hdr,src,"// Each returns 0 if failure, 1 if success."); two(hdr,src,largeComment); + // read from file two(hdr,src); ppp(hdr,src,"Read from file"); ppp(hdr,src,"File can be XML, JSON, or HDF5."); @@ -2273,6 +2371,7 @@ void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) src(2,"(CLASSNAME, CLASSNAME+\"Read\", This, filename);"); def(hdr,src); + // write to file two(hdr,src); ppp(hdr,src,"Write to file"); ppp(hdr,src,"File can be XML, JSON, or HDF5."); @@ -2285,6 +2384,7 @@ void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) src(2,"(CLASSNAME, CLASSNAME+\"Write\", This, filename);"); def(hdr,src); + // print two(hdr,src); ppp(hdr,src,"Print to standard output, in our prettyprinting format"); ext(hdr,src,"int"); @@ -2295,6 +2395,7 @@ void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) src(2,"(CLASSNAME, CLASSNAME+\"Print\", This);"); def(hdr,src); + // print, XML two(hdr,src); ppp(hdr,src,"Print to standard output, as XML"); ext(hdr,src,"int"); @@ -2305,6 +2406,7 @@ void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) src(2,"(CLASSNAME, CLASSNAME+\"PrintXML\", This, \"XML\");"); def(hdr,src); + // print, JSON two(hdr,src); ppp(hdr,src,"Print to standard output, as JSON"); ext(hdr,src,"int"); @@ -2445,49 +2547,51 @@ void fileCInterfaceMeta( const PerClass &per, const InfoMetadata &m ) { const std::string Class = per.clname; - const std::string Name = UpperCamel(m.name); - const std::string name = m.name; + const std::string Meta = UpperCamel(m.name); + const std::string meta = m.name; // section comment two(hdr,src); two(hdr,src); two(hdr,src,largeComment); - two(hdr,src,"// Re: @", name); + two(hdr,src,"// Re: @", meta); two(hdr,src,largeComment); // has - two(hdr,src); - ppp(hdr,src,"Has"); - ext(hdr,src,"int"); - fun(hdr,src,"@@Has", Class, Name); - par(hdr,src,"ConstHandle2Const@ This", Class); - sig(hdr,src); - src(1,"return detail::hasMetadatum"); - src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Name, name); - def(hdr,src); + if (m.isOptional) { + two(hdr,src); + ppp(hdr,src,"Has"); + ext(hdr,src,"int"); + fun(hdr,src,"@@Has", Class, Meta); + par(hdr,src,"ConstHandle2Const@ This", Class); + sig(hdr,src); + src(1,"return detail::hasMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Meta, meta); + def(hdr,src); + } // get two(hdr,src); ppp(hdr,src,"Get"); ppp(hdr,src,"Returns by value"); ext(hdr,src,"@", mtype_return(m)); - fun(hdr,src,"@@Get", Class, Name); + fun(hdr,src,"@@Get", Class, Meta); par(hdr,src,"ConstHandle2Const@ This", Class); sig(hdr,src); src(1,"return detail::getMetadatum"); - src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Name, name); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Meta, meta); def(hdr,src); // set two(hdr,src); ppp(hdr,src,"Set"); ext(hdr,src,"void"); - fun(hdr,src,"@@Set", Class, Name); + fun(hdr,src,"@@Set", Class, Meta); par(hdr,src,"ConstHandle2@ This, ", Class); - par(hdr,src,"const @ @", mtype_param(m), name); + par(hdr,src,"const @ @", mtype_param(m), meta); sig(hdr,src); src(1,"detail::setMetadatum"); - src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Name, name, name); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Meta, meta, meta); def(hdr,src); } @@ -2498,21 +2602,230 @@ void fileCInterfaceMeta( void fileCInterfaceChild( writer &hdr, writer &src, + const InfoSpecs &specs, const PerClass &per, const InfoChildren &c ) { - /* - zzz working here - account for difference between "one" child and "many" child - element: - optional symbol - int (not optional) atomic_number - Re: the above two: should just symbol have Has? - Isotope vector - optional Foobar (just one, not vector) - Also: Isotope mass_number is *not* optional; want Has? - Be sure stuff in prototype is what we really want. - */ -} + const std::string Class = per.clname; + const std::string Child = c.plain; + const std::string child = c.name; + + // section comment + two(hdr,src); + two(hdr,src); + two(hdr,src,largeComment); + two(hdr,src,"// Re: @", child); + two(hdr,src,largeComment); + + // has + ///if (c.isOptional) {///eventually + two(hdr,src); + ppp(hdr,src,"Has"); + ext(hdr,src,"int"); + fun(hdr,src,"@@Has", Class, Child); + par(hdr,src,"ConstHandle2Const@ This", Class); + sig(hdr,src); + src(1,"return detail::hasMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Child, child); + def(hdr,src); + ///}///eventually + + // ------------------------ + // scalar case + // ------------------------ + + if (!c.isVector) { + // get, const + two(hdr,src); + mmm(hdr,src,"Get, const"); + ext(hdr,src,"Handle2Const@", Child); + fun(hdr,src,"@@GetConst", Class, Child); + par(hdr,src,"ConstHandle2Const@ This", Class); + sig(hdr,src); + src(1,"return detail::getMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@);", Child, child); + def(hdr,src); + + // get, non-const + two(hdr,src); + ppp(hdr,src,"Get, non-const"); + ext(hdr,src,"Handle2@", Child); + fun(hdr,src,"@@Get", Class, Child); + par(hdr,src,"ConstHandle2@ This", Class); + sig(hdr,src); + src(1,"return detail::getMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Child, child); + def(hdr,src); + + // set + two(hdr,src); + ppp(hdr,src,"Set"); + ext(hdr,src,"void"); + fun(hdr,src,"@@Set", Class, Child); + par(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ @", Class, Child, child); + sig(hdr,src); + src(1,"detail::setMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Child, child, child); + def(hdr,src); + + return; + } + + // ------------------------ + // vector case + // ------------------------ + + // clear + two(hdr,src); + ppp(hdr,src,"Clear"); + ext(hdr,src,"void"); + fun(hdr,src,"@@Clear", Class, Child); + par(hdr,src,"ConstHandle2@ This", Class); + sig(hdr,src); + src(1,"detail::clearContainer"); + src(2,"(CLASSNAME, CLASSNAME+\"@Clear\", This, extract::@);", Child, child); + def(hdr,src); + + // size + two(hdr,src); + ppp(hdr,src,"Size"); + ext(hdr,src,"size_t"); + fun(hdr,src,"@@Size", Class, Child); + par(hdr,src,"ConstHandle2Const@ This", Class); + sig(hdr,src); + src(1,"return detail::sizeOfContainer"); + src(2,"(CLASSNAME, CLASSNAME+\"@Size\", This, extract::@);", Child, child); + def(hdr,src); + + // add + two(hdr,src); + ppp(hdr,src,"Add"); + ext(hdr,src,"void"); + fun(hdr,src,"@@Add", Class, Child); + par(hdr,src,"ConstHandle2@ This, ", Class); + par(hdr,src,"ConstHandle2Const@ @", Child, child); + sig(hdr,src); + src(1,"detail::addToContainer", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Add\", This, extract::@, @);", Child, child, child); + def(hdr,src); + + // get, by index, const + two(hdr,src); + mmm(hdr,src,"Get, by index \\in [0,size), const"); + ext(hdr,src,"Handle2Const@", Child); + fun(hdr,src,"@@GetConst", Class, Child); + par(hdr,src,"ConstHandle2Const@ This, ", Class); + par(hdr,src,"const size_t index_"); + sig(hdr,src); + src(1,"return detail::getByIndex", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@, index_);", Child, child); + def(hdr,src); + + // get, by index, non-const + two(hdr,src); + ppp(hdr,src,"Get, by index \\in [0,size), non-const"); + ext(hdr,src,"Handle2@", Child); + fun(hdr,src,"@@Get", Class, Child); + par(hdr,src,"ConstHandle2@ This, ", Class); + par(hdr,src,"const size_t index_"); + sig(hdr,src); + src(1,"return detail::getByIndex", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@, index_);", Child, child); + def(hdr,src); + + // set, by index + two(hdr,src); + ppp(hdr,src,"Set, by index \\in [0,size)"); + ext(hdr,src,"void"); + fun(hdr,src,"@@Set", Class, Child); + par(hdr,src); + par(hdr,src,1,"ConstHandle2@ This,", Class); + par(hdr,src); + par(hdr,src,1,"const size_t index_,"); + par(hdr,src); + par(hdr,src,1,"ConstHandle2Const@ @", Child, child); + par(hdr,src); + sig(hdr,src,true); + src(1,"detail::setByIndex", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, index_, @);", Child, child, child); + def(hdr,src); + + for (const auto &c : per.children) { + const auto it = specs.class2data.find(NamespaceAndClass(c.ns,c.plain)); + assert(it != specs.class2data.end()); + + for (const auto &m : it->second.metadata) { + const std::string Meta = UpperCamel(m.name); + const std::string meta = m.name; + + // has, by metadatum + two(hdr,src); + ppp(hdr,src,"Has, by @", meta); + ext(hdr,src,"@", m.type); + fun(hdr,src,"@@HasBy@", Class, Child, Meta); + par(hdr,src); + par(hdr,src,1,"ConstHandle2Const@ This,", Class); + par(hdr,src); + par(hdr,src,1,"const @ @", m.type, meta); + par(hdr,src); + sig(hdr,src,true); + src(1,"return detail::hasByMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@HasBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + def(hdr,src); + + // get, by metadatum, const + two(hdr,src); + mmm(hdr,src,"Get, by @, const", meta); + ext(hdr,src,"Handle2Const@", Child); + fun(hdr,src,"@@GetBy@Const", Class, Child, Meta); + par(hdr,src); + par(hdr,src,1,"ConstHandle2Const@ This,", Class); + par(hdr,src); + par(hdr,src,1,"const @ @", m.type, meta); + par(hdr,src); + sig(hdr,src,true); + src(1,"return detail::getByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@Const\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + def(hdr,src); + + // get, by metadatum, non-const + two(hdr,src); + ppp(hdr,src,"Get, by @, non-const", meta); + ext(hdr,src,"Handle2@", Child); + fun(hdr,src,"@@GetBy@", Class, Child, Meta); + par(hdr,src); + par(hdr,src,1,"ConstHandle2@ This,", Class); + par(hdr,src); + par(hdr,src,1,"const @ @", m.type, meta); + par(hdr,src); + sig(hdr,src,true); + src(1,"return detail::getByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + def(hdr,src); + + // set, by metadatum + two(hdr,src); + ppp(hdr,src,"Set, by @", meta); + ext(hdr,src,"void"); + fun(hdr,src,"@@SetBy@", Class, Child, Meta); + par(hdr,src); + par(hdr,src,1,"ConstHandle2@ This,", Class); + par(hdr,src); + par(hdr,src,1,"const @ @,", m.type, meta); + par(hdr,src); + par(hdr,src,1,"ConstHandle2Const@ @", Child, child); + par(hdr,src); + sig(hdr,src,true); + src(1,"detail::setByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@SetBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @, @);", child, meta, meta, child); + def(hdr,src); + + } // metadata + } // children +} // fileCInterfaceChild // ------------------------ @@ -2541,10 +2854,11 @@ void fileCInterfaceCommon( // Functions regarding children for (const auto &c : per.children) - fileCInterfaceChild(hdr, src, per, c); + fileCInterfaceChild(hdr, src, specs, per, c); // variants // todo + } // fileCInterfaceCommon @@ -2687,7 +3001,7 @@ void fileCInterfaceSource( // class name src("static const std::string CLASSNAME = \"@\";", per.clname); - // extract + // extract: namespace begin if (per.nfields()) { src(); src("namespace extract {"); @@ -2705,6 +3019,8 @@ void fileCInterfaceSource( // extract: variants // todo Determine how the C interface should deal with C++ variants + + // extract: namespace end if (per.nfields()) src("}"); if (c2d.dependencies.size()) diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index 70ccd16e8..e8b28ec3d 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -58,7 +58,7 @@ ElementCreateConst( symbol, atomic_number, std::vector{}, - detail::tocpp(foobar) + detail::tocpp{foobar} ); for (size_t IsotopeN = 0; IsotopeN < isotopeSize; ++IsotopeN) ElementIsotopeAdd(handle, isotope[IsotopeN]); @@ -78,7 +78,7 @@ ElementCreate( symbol, atomic_number, std::vector{}, - detail::tocpp(foobar) + detail::tocpp{foobar} ); for (size_t IsotopeN = 0; IsotopeN < isotopeSize; ++IsotopeN) ElementIsotopeAdd(handle, isotope[IsotopeN]); @@ -112,7 +112,9 @@ ElementDelete(ConstHandle2ConstElement This) // Each returns 0 if failure, 1 if success. // ----------------------------------------------------------------------------- -// Read +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. int ElementRead(ConstHandle2Element This, const char *const filename) { @@ -120,7 +122,9 @@ ElementRead(ConstHandle2Element This, const char *const filename) (CLASSNAME, CLASSNAME+"Read", This, filename); } -// Write +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. int ElementWrite(ConstHandle2ConstElement This, const char *const filename) { @@ -128,7 +132,7 @@ ElementWrite(ConstHandle2ConstElement This, const char *const filename) (CLASSNAME, CLASSNAME+"Write", This, filename); } -// Print to standard output +// Print to standard output, in our prettyprinting format int ElementPrint(ConstHandle2ConstElement This) { @@ -187,14 +191,6 @@ ElementSymbolSet(ConstHandle2Element This, const char *const symbol) // Re: atomic_number // ----------------------------------------------------------------------------- -// Has -int -ElementAtomicNumberHas(ConstHandle2ConstElement This) -{ - return detail::hasMetadatum - (CLASSNAME, CLASSNAME+"AtomicNumberHas", This, extract::atomic_number); -} - // Get // Returns by value int @@ -217,6 +213,14 @@ ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number) // Re: isotope // ----------------------------------------------------------------------------- +// Has +int +ElementIsotopeHas(ConstHandle2ConstElement This) +{ + return detail::hasMetadatum + (CLASSNAME, CLASSNAME+"IsotopeHas", This, extract::isotope); +} + // Clear void ElementIsotopeClear(ConstHandle2Element This) @@ -233,14 +237,6 @@ ElementIsotopeSize(ConstHandle2ConstElement This) (CLASSNAME, CLASSNAME+"IsotopeSize", This, extract::isotope); } -// Has -int -ElementIsotopeHas(ConstHandle2ConstElement This) -{ - return detail::hasMetadatum - (CLASSNAME, CLASSNAME+"IsotopeHas", This, extract::isotope); -} - // Add void ElementIsotopeAdd(ConstHandle2Element This, ConstHandle2ConstIsotope isotope) @@ -251,29 +247,29 @@ ElementIsotopeAdd(ConstHandle2Element This, ConstHandle2ConstIsotope isotope) // Get, by index \in [0,size), const Handle2ConstIsotope -ElementIsotopeGetConst(ConstHandle2ConstElement This, const size_t index) +ElementIsotopeGetConst(ConstHandle2ConstElement This, const size_t index_) { return detail::getByIndex - (CLASSNAME, CLASSNAME+"IsotopeGetConst", This, extract::isotope, index); + (CLASSNAME, CLASSNAME+"IsotopeGetConst", This, extract::isotope, index_); } // Get, by index \in [0,size), non-const Handle2Isotope -ElementIsotopeGet(ConstHandle2Element This, const size_t index) +ElementIsotopeGet(ConstHandle2Element This, const size_t index_) { return detail::getByIndex - (CLASSNAME, CLASSNAME+"IsotopeGet", This, extract::isotope, index); + (CLASSNAME, CLASSNAME+"IsotopeGet", This, extract::isotope, index_); } // Set, by index \in [0,size) void ElementIsotopeSet( ConstHandle2Element This, - const size_t index, + const size_t index_, ConstHandle2ConstIsotope isotope ) { detail::setByIndex - (CLASSNAME, CLASSNAME+"IsotopeSet", This, extract::isotope, index, isotope); + (CLASSNAME, CLASSNAME+"IsotopeSet", This, extract::isotope, index_, isotope); } // Has, by mass_number @@ -334,7 +330,7 @@ ElementFoobarHas(ConstHandle2ConstElement This) (CLASSNAME, CLASSNAME+"FoobarHas", This, extract::foobar); } -// Get: const +// Get, const Handle2ConstFoobar ElementFoobarGetConst(ConstHandle2ConstElement This) { @@ -342,7 +338,7 @@ ElementFoobarGetConst(ConstHandle2ConstElement This) (CLASSNAME, CLASSNAME+"FoobarGetConst", This, extract::foobar); } -// Get: non-const +// Get, non-const Handle2Foobar ElementFoobarGet(ConstHandle2Element This) { diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index c1a400adc..753f319ce 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -159,10 +159,6 @@ ElementSymbolSet(ConstHandle2Element This, const char *const symbol); // Re: atomic_number // ----------------------------------------------------------------------------- -// +++ Has -extern_c int -ElementAtomicNumberHas(ConstHandle2ConstElement This); - // +++ Get // +++ Returns by value extern_c int @@ -177,50 +173,85 @@ ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number); // Re: isotope // ----------------------------------------------------------------------------- -// Clear, Size, Add, Has +// +++ Has +extern_c int +ElementIsotopeHas(ConstHandle2ConstElement This); + +// +++ Clear extern_c void ElementIsotopeClear(ConstHandle2Element This); + +// +++ Size extern_c size_t ElementIsotopeSize(ConstHandle2ConstElement This); + +// +++ Add extern_c void ElementIsotopeAdd(ConstHandle2Element This, ConstHandle2ConstIsotope isotope); -extern_c int -ElementIsotopeHas(ConstHandle2ConstElement This); -// Get, Set -// By index \in [0,size) +// --- Get, by index \in [0,size), const extern_c Handle2ConstIsotope ElementIsotopeGetConst(ConstHandle2ConstElement This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const extern_c Handle2Isotope ElementIsotopeGet(ConstHandle2Element This, const size_t index_); + +// +++ Set, by index \in [0,size) extern_c void -ElementIsotopeSet(ConstHandle2Element This, const size_t index_, ConstHandle2ConstIsotope isotope); +ElementIsotopeSet( + ConstHandle2Element This, + const size_t index_, + ConstHandle2ConstIsotope isotope +); -// Has, Get, Set -// By mass number +// +++ Has, by mass_number extern_c int -ElementIsotopeHasByMassNumber(ConstHandle2ConstElement This, const int mass_number); +ElementIsotopeHasByMassNumber( + ConstHandle2ConstElement This, + const int mass_number +); + +// --- Get, by mass_number, const extern_c Handle2ConstIsotope -ElementIsotopeGetByMassNumberConst(ConstHandle2ConstElement This, const int mass_number); +ElementIsotopeGetByMassNumberConst( + ConstHandle2ConstElement This, + const int mass_number +); + +// +++ Get, by mass_number, non-const extern_c Handle2Isotope -ElementIsotopeGetByMassNumber(ConstHandle2Element This, const int mass_number); +ElementIsotopeGetByMassNumber( + ConstHandle2Element This, + const int mass_number +); + +// +++ Set, by mass_number extern_c void -ElementIsotopeSetByMassNumber(ConstHandle2Element This, const int mass_number, ConstHandle2ConstIsotope isotope); +ElementIsotopeSetByMassNumber( + ConstHandle2Element This, + const int mass_number, + ConstHandle2ConstIsotope isotope +); // ----------------------------------------------------------------------------- // Re: foobar // ----------------------------------------------------------------------------- -// +++ Has, Get, Set -// +++ Get returns a handle, because the value is of a (handled) -// +++ structure type. Thus we have const and non-const versions. +// +++ Has extern_c int ElementFoobarHas(ConstHandle2ConstElement This); + +// --- Get, const extern_c Handle2ConstFoobar ElementFoobarGetConst(ConstHandle2ConstElement This); + +// +++ Get, non-const extern_c Handle2Foobar ElementFoobarGet(ConstHandle2Element This); + +// +++ Set extern_c void ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index e3e3cd831..50960af73 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -39,16 +39,20 @@ FoobarDefault() Handle2ConstFoobar FoobarCreateConst() { - return detail::createHandle - (CLASSNAME, CLASSNAME+"CreateConst"); + ConstHandle2Foobar handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; } // Create: general Handle2Foobar FoobarCreate() { - return detail::createHandle - (CLASSNAME, CLASSNAME+"Create"); + ConstHandle2Foobar handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; } // Assign diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp index 65fec046c..972397785 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp @@ -44,9 +44,11 @@ Handle2ConstIsotope IsotopeCreateConst( const int mass_number ) { - return detail::createHandle - (CLASSNAME, CLASSNAME+"CreateConst", - mass_number); + ConstHandle2Isotope handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + mass_number + ); + return handle; } // Create: general @@ -54,9 +56,11 @@ Handle2Isotope IsotopeCreate( const int mass_number ) { - return detail::createHandle - (CLASSNAME, CLASSNAME+"Create", - mass_number); + ConstHandle2Isotope handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + mass_number + ); + return handle; } // Assign @@ -135,15 +139,8 @@ IsotopePrintJSON(ConstHandle2ConstIsotope This) // Re: mass_number // ----------------------------------------------------------------------------- -// Has -int -IsotopeMassNumberHas(ConstHandle2ConstIsotope This) -{ - return detail::hasMetadatum - (CLASSNAME, CLASSNAME+"MassNumberHas", This, extract::mass_number); -} - // Get +// Returns by value int IsotopeMassNumberGet(ConstHandle2ConstIsotope This) { diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h index c5f54299e..781bf8fcc 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -133,12 +133,12 @@ IsotopePrintJSON(ConstHandle2ConstIsotope This); // Re: mass_number // ----------------------------------------------------------------------------- -// +++ Has, Get, Set -// +++ Get returns by value -extern_c int -IsotopeMassNumberHas(ConstHandle2ConstIsotope This); +// +++ Get +// +++ Returns by value extern_c int IsotopeMassNumberGet(ConstHandle2ConstIsotope This); + +// +++ Set extern_c void IsotopeMassNumberSet(ConstHandle2Isotope This, const int mass_number); From e7577ca3ee0096780e3cf3efec549e4e470ed5cf Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 15 Aug 2022 18:39:33 -0600 Subject: [PATCH 142/235] Completing some details. --- autogen/json2class.cpp | 36 +- .../multi/c/src/v1/multigroup/Element.cpp | 16 +- .../multi/c/src/v1/multigroup/Element.h | 12 +- .../multi/c/src/v1/multigroup/Foobar.cpp | 8 +- .../simple/multi/c/src/v1/multigroup/Foobar.h | 8 +- .../multi/c/src/v1/multigroup/Isotope.cpp | 8 +- .../multi/c/src/v1/multigroup/Isotope.h | 8 +- .../multi/c/src/v1/multigroup/Library.cpp | 312 ++++++++++++++++++ .../multi/c/src/v1/multigroup/Library.h | 245 ++++++++++++++ .../multi/c/src/v1/multigroup/Multigroup.cpp | 267 +++++++++++++++ .../multi/c/src/v1/multigroup/Multigroup.h | 216 ++++++++++++ 11 files changed, 1082 insertions(+), 54 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 2cd0bb0f3..10fa22bca 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1566,8 +1566,8 @@ void preprocessClass( assert(cl.second); // should have been inserted - not there already cl.first->second.cppPython = nsdirpy + "/" + clname + ".python.cpp"; cl.first->second.hppGNDStk = nsdir + "/" + clname + ".hpp"; - cl.first->second.headerC = nsdirc + "/" + clname + "qqq.h"; - cl.first->second.sourceC = nsdirc + "/" + clname + "qqq.cpp"; + cl.first->second.headerC = nsdirc + "/" + clname + ".h"; + cl.first->second.sourceC = nsdirc + "/" + clname + ".cpp"; } // preprocessClass @@ -2193,7 +2193,7 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) // ------------------------ two(hdr,src); - mmm(hdr,src,"Create: default, const"); + mmm(hdr,src,"Create, default, const"); ext(hdr,src,"Handle2Const@", per.clname); fun(hdr,src,"@DefaultConst", per.clname); sig(hdr,src); @@ -2206,7 +2206,7 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) // ------------------------ two(hdr,src); - ppp(hdr,src,"Create: default"); + ppp(hdr,src,"Create, default"); ext(hdr,src,"Handle2@", per.clname); fun(hdr,src,"@Default", per.clname); sig(hdr,src); @@ -2214,14 +2214,14 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) src(2,"(CLASSNAME, CLASSNAME+\"Default\");"); def(hdr,src); - /// factor commonality in the next two blocks + // zzz factor commonality in the next two blocks // ------------------------ // create: general, const // ------------------------ two(hdr,src); - mmm(hdr,src,"Create: general, const"); + mmm(hdr,src,"Create, general, const"); ext(hdr,src,"Handle2Const@", per.clname); fun(hdr,src,"@CreateConst", per.clname); fileCInterfaceCreateParams(hdr,src,per); @@ -2267,7 +2267,7 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) // ------------------------ two(hdr,src); - ppp(hdr,src,"Create: general"); + ppp(hdr,src,"Create, general"); ext(hdr,src,"Handle2@", per.clname); fun(hdr,src,"@Create", per.clname); fileCInterfaceCreateParams(hdr,src,per); @@ -2617,17 +2617,17 @@ void fileCInterfaceChild( two(hdr,src,largeComment); // has - ///if (c.isOptional) {///eventually - two(hdr,src); - ppp(hdr,src,"Has"); - ext(hdr,src,"int"); - fun(hdr,src,"@@Has", Class, Child); - par(hdr,src,"ConstHandle2Const@ This", Class); - sig(hdr,src); - src(1,"return detail::hasMetadatum"); - src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Child, child); - def(hdr,src); - ///}///eventually + if (c.isOptional) { + two(hdr,src); + ppp(hdr,src,"Has"); + ext(hdr,src,"int"); + fun(hdr,src,"@@Has", Class, Child); + par(hdr,src,"ConstHandle2Const@ This", Class); + sig(hdr,src); + src(1,"return detail::hasMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Child, child); + def(hdr,src); + } // ------------------------ // scalar case diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index e8b28ec3d..7c63767e8 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -29,7 +29,7 @@ using CPPFoobar = multigroup::Foobar; // Create, Assign, Delete // ----------------------------------------------------------------------------- -// Create: default, const +// Create, default, const Handle2ConstElement ElementDefaultConst() { @@ -37,7 +37,7 @@ ElementDefaultConst() (CLASSNAME, CLASSNAME+"DefaultConst"); } -// Create: default +// Create, default Handle2Element ElementDefault() { @@ -45,7 +45,7 @@ ElementDefault() (CLASSNAME, CLASSNAME+"Default"); } -// Create: general, const +// Create, general, const Handle2ConstElement ElementCreateConst( const char *const symbol, @@ -65,7 +65,7 @@ ElementCreateConst( return handle; } -// Create: general +// Create, general Handle2Element ElementCreate( const char *const symbol, @@ -213,14 +213,6 @@ ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number) // Re: isotope // ----------------------------------------------------------------------------- -// Has -int -ElementIsotopeHas(ConstHandle2ConstElement This) -{ - return detail::hasMetadatum - (CLASSNAME, CLASSNAME+"IsotopeHas", This, extract::isotope); -} - // Clear void ElementIsotopeClear(ConstHandle2Element This) diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index 753f319ce..c38b79d67 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -67,15 +67,15 @@ typedef struct ElementClass * Handle2Element; // Create, Assign, Delete // ----------------------------------------------------------------------------- -// --- Create: default, const +// --- Create, default, const extern_c Handle2ConstElement ElementDefaultConst(); -// +++ Create: default +// +++ Create, default extern_c Handle2Element ElementDefault(); -// --- Create: general, const +// --- Create, general, const extern_c Handle2ConstElement ElementCreateConst( const char *const symbol, @@ -84,7 +84,7 @@ ElementCreateConst( ConstHandle2ConstFoobar foobar ); -// +++ Create: general +// +++ Create, general extern_c Handle2Element ElementCreate( const char *const symbol, @@ -173,10 +173,6 @@ ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number); // Re: isotope // ----------------------------------------------------------------------------- -// +++ Has -extern_c int -ElementIsotopeHas(ConstHandle2ConstElement This); - // +++ Clear extern_c void ElementIsotopeClear(ConstHandle2Element This); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index 50960af73..0f838643e 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -19,7 +19,7 @@ static const std::string CLASSNAME = "Foobar"; // Create, Assign, Delete // ----------------------------------------------------------------------------- -// Create: default, const +// Create, default, const Handle2ConstFoobar FoobarDefaultConst() { @@ -27,7 +27,7 @@ FoobarDefaultConst() (CLASSNAME, CLASSNAME+"DefaultConst"); } -// Create: default +// Create, default Handle2Foobar FoobarDefault() { @@ -35,7 +35,7 @@ FoobarDefault() (CLASSNAME, CLASSNAME+"Default"); } -// Create: general, const +// Create, general, const Handle2ConstFoobar FoobarCreateConst() { @@ -45,7 +45,7 @@ FoobarCreateConst() return handle; } -// Create: general +// Create, general Handle2Foobar FoobarCreate() { diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index 5c6cff0dc..68d156391 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -65,19 +65,19 @@ typedef struct FoobarClass * Handle2Foobar; // Create, Assign, Delete // ----------------------------------------------------------------------------- -// --- Create: default, const +// --- Create, default, const extern_c Handle2ConstFoobar FoobarDefaultConst(); -// +++ Create: default +// +++ Create, default extern_c Handle2Foobar FoobarDefault(); -// --- Create: general, const +// --- Create, general, const extern_c Handle2ConstFoobar FoobarCreateConst(); -// +++ Create: general +// +++ Create, general extern_c Handle2Foobar FoobarCreate(); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp index 972397785..570d45390 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp @@ -23,7 +23,7 @@ namespace extract { // Create, Assign, Delete // ----------------------------------------------------------------------------- -// Create: default, const +// Create, default, const Handle2ConstIsotope IsotopeDefaultConst() { @@ -31,7 +31,7 @@ IsotopeDefaultConst() (CLASSNAME, CLASSNAME+"DefaultConst"); } -// Create: default +// Create, default Handle2Isotope IsotopeDefault() { @@ -39,7 +39,7 @@ IsotopeDefault() (CLASSNAME, CLASSNAME+"Default"); } -// Create: general, const +// Create, general, const Handle2ConstIsotope IsotopeCreateConst( const int mass_number @@ -51,7 +51,7 @@ IsotopeCreateConst( return handle; } -// Create: general +// Create, general Handle2Isotope IsotopeCreate( const int mass_number diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h index 781bf8fcc..daea5c9fd 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -65,21 +65,21 @@ typedef struct IsotopeClass * Handle2Isotope; // Create, Assign, Delete // ----------------------------------------------------------------------------- -// --- Create: default, const +// --- Create, default, const extern_c Handle2ConstIsotope IsotopeDefaultConst(); -// +++ Create: default +// +++ Create, default extern_c Handle2Isotope IsotopeDefault(); -// --- Create: general, const +// --- Create, general, const extern_c Handle2ConstIsotope IsotopeCreateConst( const int mass_number ); -// +++ Create: general +// +++ Create, general extern_c Handle2Isotope IsotopeCreate( const int mass_number diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp index 433ee03d1..bbc7a7677 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp @@ -1,2 +1,314 @@ +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "multi/v1/multigroup/Library.hpp" #include "Library.h" + +using namespace njoy::GNDStk; +using namespace multi::v1; + +using C = LibraryClass; +using CPP = multigroup::Library; + +static const std::string CLASSNAME = "Library"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; + static auto element = [](auto &obj) { return &obj.element; }; +} + +using CPPElement = multigroup::Element; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLibrary +LibraryDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Library +LibraryDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLibrary +LibraryCreateConst( + const char *const name, + ConstHandle2ConstElement *const element, const size_t elementSize +) { + ConstHandle2Library handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name, + std::vector{} + ); + for (size_t ElementN = 0; ElementN < elementSize; ++ElementN) + ElementElementAdd(handle, element[ElementN]); + return handle; +} + +// Create, general +Handle2Library +LibraryCreate( + const char *const name, + ConstHandle2ConstElement *const element, const size_t elementSize +) { + ConstHandle2Library handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name, + std::vector{} + ); + for (size_t ElementN = 0; ElementN < elementSize; ++ElementN) + ElementElementAdd(handle, element[ElementN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LibraryAssign(ConstHandle2Library This, ConstHandle2ConstLibrary from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LibraryDelete(ConstHandle2ConstLibrary This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LibraryRead(ConstHandle2Library This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LibraryWrite(ConstHandle2ConstLibrary This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LibraryPrint(ConstHandle2ConstLibrary This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LibraryPrintXML(ConstHandle2ConstLibrary This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LibraryPrintJSON(ConstHandle2ConstLibrary This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Re: name +// ----------------------------------------------------------------------------- + +// Get +// Returns by value +const char * +LibraryNameGet(ConstHandle2ConstLibrary This) +{ + return detail::getMetadatum + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +LibraryNameSet(ConstHandle2Library This, const char *const name) +{ + detail::setMetadatum + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Re: element +// ----------------------------------------------------------------------------- + +// Clear +void +LibraryElementClear(ConstHandle2Library This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ElementClear", This, extract::element); +} + +// Size +size_t +LibraryElementSize(ConstHandle2ConstLibrary This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ElementSize", This, extract::element); +} + +// Add +void +LibraryElementAdd(ConstHandle2Library This, ConstHandle2ConstElement element) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ElementAdd", This, extract::element, element); +} + +// Get, by index \in [0,size), const +Handle2ConstElement +LibraryElementGetConst(ConstHandle2ConstLibrary This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ElementGetConst", This, extract::element, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Element +LibraryElementGet(ConstHandle2Library This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ElementGet", This, extract::element, index_); +} + +// Set, by index \in [0,size) +void +LibraryElementSet( + ConstHandle2Library This, + const size_t index_, + ConstHandle2ConstElement element +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ElementSet", This, extract::element, index_, element); +} + +// Has, by symbol +std::string +LibraryElementHasBySymbol( + ConstHandle2ConstLibrary This, + const std::string symbol +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ElementHasBySymbol", + This, extract::element, meta::symbol, symbol); +} + +// Get, by symbol, const +Handle2ConstElement +LibraryElementGetBySymbolConst( + ConstHandle2ConstLibrary This, + const std::string symbol +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ElementGetBySymbolConst", + This, extract::element, meta::symbol, symbol); +} + +// Get, by symbol, non-const +Handle2Element +LibraryElementGetBySymbol( + ConstHandle2Library This, + const std::string symbol +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ElementGetBySymbol", + This, extract::element, meta::symbol, symbol); +} + +// Set, by symbol +void +LibraryElementSetBySymbol( + ConstHandle2Library This, + const std::string symbol, + ConstHandle2ConstElement element +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ElementSetBySymbol", + This, extract::element, meta::symbol, symbol, element); +} + +// Has, by atomic_number +int +LibraryElementHasByAtomicNumber( + ConstHandle2ConstLibrary This, + const int atomic_number +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ElementHasByAtomicNumber", + This, extract::element, meta::atomic_number, atomic_number); +} + +// Get, by atomic_number, const +Handle2ConstElement +LibraryElementGetByAtomicNumberConst( + ConstHandle2ConstLibrary This, + const int atomic_number +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ElementGetByAtomicNumberConst", + This, extract::element, meta::atomic_number, atomic_number); +} + +// Get, by atomic_number, non-const +Handle2Element +LibraryElementGetByAtomicNumber( + ConstHandle2Library This, + const int atomic_number +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ElementGetByAtomicNumber", + This, extract::element, meta::atomic_number, atomic_number); +} + +// Set, by atomic_number +void +LibraryElementSetByAtomicNumber( + ConstHandle2Library This, + const int atomic_number, + ConstHandle2ConstElement element +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ElementSetByAtomicNumber", + This, extract::element, meta::atomic_number, atomic_number, element); +} diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.h b/autogen/simple/multi/c/src/v1/multigroup/Library.h index e69de29bb..5ac5396d6 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.h @@ -0,0 +1,245 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Library is the basic handle type in this file. Example: +// // Create a default Library object: +// Library handle = LibraryDefault(); +// Functions involving Library are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_MULTI_V1_MULTIGROUP_LIBRARY +#define C_INTERFACE_MULTI_V1_MULTIGROUP_LIBRARY + +#include "GNDStk.h" +#include "v1/multigroup/Element.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LibraryClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Library +// +++ General handle, suitable for many users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LibraryClass *Library; + +// --- Const-aware handles, re: constness of handle vs. handled object. +typedef const struct LibraryClass *const ConstHandle2ConstLibrary; +typedef struct LibraryClass *const ConstHandle2Library; +typedef const struct LibraryClass * Handle2ConstLibrary; +typedef struct LibraryClass * Handle2Library; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLibrary +LibraryDefaultConst(); + +// +++ Create, default +extern_c Handle2Library +LibraryDefault(); + +// --- Create, general, const +extern_c Handle2ConstLibrary +LibraryCreateConst( + const char *const name, + ConstHandle2ConstElement *const element, const size_t elementSize +); + +// +++ Create, general +extern_c Handle2Library +LibraryCreate( + const char *const name, + ConstHandle2ConstElement *const element, const size_t elementSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LibraryAssign(ConstHandle2Library This, ConstHandle2ConstLibrary from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LibraryDelete(ConstHandle2ConstLibrary This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LibraryRead(ConstHandle2Library This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LibraryWrite(ConstHandle2ConstLibrary This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LibraryPrint(ConstHandle2ConstLibrary This); + +// +++ Print to standard output, as XML +extern_c int +LibraryPrintXML(ConstHandle2ConstLibrary This); + +// +++ Print to standard output, as JSON +extern_c int +LibraryPrintJSON(ConstHandle2ConstLibrary This); + + +// ----------------------------------------------------------------------------- +// Re: name +// ----------------------------------------------------------------------------- + +// +++ Get +// +++ Returns by value +extern_c const char * +LibraryNameGet(ConstHandle2ConstLibrary This); + +// +++ Set +extern_c void +LibraryNameSet(ConstHandle2Library This, const char *const name); + + +// ----------------------------------------------------------------------------- +// Re: element +// ----------------------------------------------------------------------------- + +// +++ Clear +extern_c void +LibraryElementClear(ConstHandle2Library This); + +// +++ Size +extern_c size_t +LibraryElementSize(ConstHandle2ConstLibrary This); + +// +++ Add +extern_c void +LibraryElementAdd(ConstHandle2Library This, ConstHandle2ConstElement element); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstElement +LibraryElementGetConst(ConstHandle2ConstLibrary This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Element +LibraryElementGet(ConstHandle2Library This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +LibraryElementSet( + ConstHandle2Library This, + const size_t index_, + ConstHandle2ConstElement element +); + +// +++ Has, by symbol +extern_c std::string +LibraryElementHasBySymbol( + ConstHandle2ConstLibrary This, + const std::string symbol +); + +// --- Get, by symbol, const +extern_c Handle2ConstElement +LibraryElementGetBySymbolConst( + ConstHandle2ConstLibrary This, + const std::string symbol +); + +// +++ Get, by symbol, non-const +extern_c Handle2Element +LibraryElementGetBySymbol( + ConstHandle2Library This, + const std::string symbol +); + +// +++ Set, by symbol +extern_c void +LibraryElementSetBySymbol( + ConstHandle2Library This, + const std::string symbol, + ConstHandle2ConstElement element +); + +// +++ Has, by atomic_number +extern_c int +LibraryElementHasByAtomicNumber( + ConstHandle2ConstLibrary This, + const int atomic_number +); + +// --- Get, by atomic_number, const +extern_c Handle2ConstElement +LibraryElementGetByAtomicNumberConst( + ConstHandle2ConstLibrary This, + const int atomic_number +); + +// +++ Get, by atomic_number, non-const +extern_c Handle2Element +LibraryElementGetByAtomicNumber( + ConstHandle2Library This, + const int atomic_number +); + +// +++ Set, by atomic_number +extern_c void +LibraryElementSetByAtomicNumber( + ConstHandle2Library This, + const int atomic_number, + ConstHandle2ConstElement element +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp index c33ec7eda..7bb2d0860 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp @@ -1,2 +1,269 @@ +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "multi/v1/multigroup/Multigroup.hpp" #include "Multigroup.h" + +using namespace njoy::GNDStk; +using namespace multi::v1; + +using C = MultigroupClass; +using CPP = multigroup::Multigroup; + +static const std::string CLASSNAME = "Multigroup"; + +namespace extract { + static auto projectile = [](auto &obj) { return &obj.projectile; }; + static auto library = [](auto &obj) { return &obj.library; }; +} + +using CPPLibrary = multigroup::Library; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMultigroup +MultigroupDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Multigroup +MultigroupDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMultigroup +MultigroupCreateConst( + const char *const projectile, + ConstHandle2ConstLibrary *const library, const size_t librarySize +) { + ConstHandle2Multigroup handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + projectile, + std::vector{} + ); + for (size_t LibraryN = 0; LibraryN < librarySize; ++LibraryN) + ElementLibraryAdd(handle, library[LibraryN]); + return handle; +} + +// Create, general +Handle2Multigroup +MultigroupCreate( + const char *const projectile, + ConstHandle2ConstLibrary *const library, const size_t librarySize +) { + ConstHandle2Multigroup handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + projectile, + std::vector{} + ); + for (size_t LibraryN = 0; LibraryN < librarySize; ++LibraryN) + ElementLibraryAdd(handle, library[LibraryN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MultigroupAssign(ConstHandle2Multigroup This, ConstHandle2ConstMultigroup from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MultigroupDelete(ConstHandle2ConstMultigroup This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MultigroupRead(ConstHandle2Multigroup This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MultigroupWrite(ConstHandle2ConstMultigroup This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MultigroupPrint(ConstHandle2ConstMultigroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MultigroupPrintXML(ConstHandle2ConstMultigroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MultigroupPrintJSON(ConstHandle2ConstMultigroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Re: projectile +// ----------------------------------------------------------------------------- + +// Get +// Returns by value +const char * +MultigroupProjectileGet(ConstHandle2ConstMultigroup This) +{ + return detail::getMetadatum + (CLASSNAME, CLASSNAME+"ProjectileGet", This, extract::projectile); +} + +// Set +void +MultigroupProjectileSet(ConstHandle2Multigroup This, const char *const projectile) +{ + detail::setMetadatum + (CLASSNAME, CLASSNAME+"ProjectileSet", This, extract::projectile, projectile); +} + + +// ----------------------------------------------------------------------------- +// Re: library +// ----------------------------------------------------------------------------- + +// Clear +void +MultigroupLibraryClear(ConstHandle2Multigroup This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"LibraryClear", This, extract::library); +} + +// Size +size_t +MultigroupLibrarySize(ConstHandle2ConstMultigroup This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"LibrarySize", This, extract::library); +} + +// Add +void +MultigroupLibraryAdd(ConstHandle2Multigroup This, ConstHandle2ConstLibrary library) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"LibraryAdd", This, extract::library, library); +} + +// Get, by index \in [0,size), const +Handle2ConstLibrary +MultigroupLibraryGetConst(ConstHandle2ConstMultigroup This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"LibraryGetConst", This, extract::library, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Library +MultigroupLibraryGet(ConstHandle2Multigroup This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"LibraryGet", This, extract::library, index_); +} + +// Set, by index \in [0,size) +void +MultigroupLibrarySet( + ConstHandle2Multigroup This, + const size_t index_, + ConstHandle2ConstLibrary library +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"LibrarySet", This, extract::library, index_, library); +} + +// Has, by name +std::string +MultigroupLibraryHasByName( + ConstHandle2ConstMultigroup This, + const std::string name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"LibraryHasByName", + This, extract::library, meta::name, name); +} + +// Get, by name, const +Handle2ConstLibrary +MultigroupLibraryGetByNameConst( + ConstHandle2ConstMultigroup This, + const std::string name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LibraryGetByNameConst", + This, extract::library, meta::name, name); +} + +// Get, by name, non-const +Handle2Library +MultigroupLibraryGetByName( + ConstHandle2Multigroup This, + const std::string name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LibraryGetByName", + This, extract::library, meta::name, name); +} + +// Set, by name +void +MultigroupLibrarySetByName( + ConstHandle2Multigroup This, + const std::string name, + ConstHandle2ConstLibrary library +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"LibrarySetByName", + This, extract::library, meta::name, name, library); +} diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h index e69de29bb..869082d21 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h @@ -0,0 +1,216 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Multigroup is the basic handle type in this file. Example: +// // Create a default Multigroup object: +// Multigroup handle = MultigroupDefault(); +// Functions involving Multigroup are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_MULTI_V1_MULTIGROUP_MULTIGROUP +#define C_INTERFACE_MULTI_V1_MULTIGROUP_MULTIGROUP + +#include "GNDStk.h" +#include "v1/multigroup/Library.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MultigroupClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Multigroup +// +++ General handle, suitable for many users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MultigroupClass *Multigroup; + +// --- Const-aware handles, re: constness of handle vs. handled object. +typedef const struct MultigroupClass *const ConstHandle2ConstMultigroup; +typedef struct MultigroupClass *const ConstHandle2Multigroup; +typedef const struct MultigroupClass * Handle2ConstMultigroup; +typedef struct MultigroupClass * Handle2Multigroup; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMultigroup +MultigroupDefaultConst(); + +// +++ Create, default +extern_c Handle2Multigroup +MultigroupDefault(); + +// --- Create, general, const +extern_c Handle2ConstMultigroup +MultigroupCreateConst( + const char *const projectile, + ConstHandle2ConstLibrary *const library, const size_t librarySize +); + +// +++ Create, general +extern_c Handle2Multigroup +MultigroupCreate( + const char *const projectile, + ConstHandle2ConstLibrary *const library, const size_t librarySize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MultigroupAssign(ConstHandle2Multigroup This, ConstHandle2ConstMultigroup from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MultigroupDelete(ConstHandle2ConstMultigroup This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MultigroupRead(ConstHandle2Multigroup This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MultigroupWrite(ConstHandle2ConstMultigroup This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MultigroupPrint(ConstHandle2ConstMultigroup This); + +// +++ Print to standard output, as XML +extern_c int +MultigroupPrintXML(ConstHandle2ConstMultigroup This); + +// +++ Print to standard output, as JSON +extern_c int +MultigroupPrintJSON(ConstHandle2ConstMultigroup This); + + +// ----------------------------------------------------------------------------- +// Re: projectile +// ----------------------------------------------------------------------------- + +// +++ Get +// +++ Returns by value +extern_c const char * +MultigroupProjectileGet(ConstHandle2ConstMultigroup This); + +// +++ Set +extern_c void +MultigroupProjectileSet(ConstHandle2Multigroup This, const char *const projectile); + + +// ----------------------------------------------------------------------------- +// Re: library +// ----------------------------------------------------------------------------- + +// +++ Clear +extern_c void +MultigroupLibraryClear(ConstHandle2Multigroup This); + +// +++ Size +extern_c size_t +MultigroupLibrarySize(ConstHandle2ConstMultigroup This); + +// +++ Add +extern_c void +MultigroupLibraryAdd(ConstHandle2Multigroup This, ConstHandle2ConstLibrary library); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstLibrary +MultigroupLibraryGetConst(ConstHandle2ConstMultigroup This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Library +MultigroupLibraryGet(ConstHandle2Multigroup This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MultigroupLibrarySet( + ConstHandle2Multigroup This, + const size_t index_, + ConstHandle2ConstLibrary library +); + +// +++ Has, by name +extern_c std::string +MultigroupLibraryHasByName( + ConstHandle2ConstMultigroup This, + const std::string name +); + +// --- Get, by name, const +extern_c Handle2ConstLibrary +MultigroupLibraryGetByNameConst( + ConstHandle2ConstMultigroup This, + const std::string name +); + +// +++ Get, by name, non-const +extern_c Handle2Library +MultigroupLibraryGetByName( + ConstHandle2Multigroup This, + const std::string name +); + +// +++ Set, by name +extern_c void +MultigroupLibrarySetByName( + ConstHandle2Multigroup This, + const std::string name, + ConstHandle2ConstLibrary library +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif From ab46a7c3d11d2ab4a7e4fcef5a73b19b54a4d047 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 16 Aug 2022 13:16:25 -0600 Subject: [PATCH 143/235] Some simplifications and shortening. --- autogen/json2class.cpp | 792 ++++++++++++++++------------------------- 1 file changed, 310 insertions(+), 482 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 10fa22bca..de93159a5 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -12,7 +12,6 @@ using namespace njoy::GNDStk; const bool singletons = true; - // ----------------------------------------------------------------------------- // Data structures // ----------------------------------------------------------------------------- @@ -152,7 +151,6 @@ struct PerClass { }; - // ----------------------------------------------------------------------------- // InfoSpecs // ----------------------------------------------------------------------------- @@ -206,7 +204,6 @@ struct InfoSpecs { }; // InfoSpecs - // ----------------------------------------------------------------------------- // Miscellaneous short functions // ----------------------------------------------------------------------------- @@ -412,7 +409,6 @@ std::string namePython(const std::string &name) } - // ----------------------------------------------------------------------------- // Functions for getting certain information from JSON input // ----------------------------------------------------------------------------- @@ -491,7 +487,6 @@ std::string getChildNamespace( } - // ----------------------------------------------------------------------------- // getClass* functions re: metadata, children, variant children // ----------------------------------------------------------------------------- @@ -714,7 +709,6 @@ void getClassVariants( } // getClassVariants - // ----------------------------------------------------------------------------- // writer // ----------------------------------------------------------------------------- @@ -867,7 +861,16 @@ class writer { int writer::recurse = 0; - +// helper +template +void section(writer &out, const std::string &str, Ts &&...args) +{ + out(); + out(); + out(largeComment); + out(str, std::forward(args)...); + out(largeComment); +} // ----------------------------------------------------------------------------- // write* @@ -1013,7 +1016,6 @@ void writeClassSuffix( } // writeClassSuffix - // ----------------------------------------------------------------------------- // writeClass* // For metadata, children, and variant children @@ -1036,7 +1038,6 @@ void writeClassContentMetadata(writer &out, const PerClass &per) out(",defaults.@", m.name, false); out("};"); } - } // writeClassContentChildren @@ -1067,7 +1068,6 @@ void writeClassContentVariants(writer &out, const PerClass &per) } - // ----------------------------------------------------------------------------- // writeClassCtor* // ----------------------------------------------------------------------------- @@ -1218,7 +1218,6 @@ void writeClassCtors(writer &out, const PerClass &per) } // writeClassCtors - // ----------------------------------------------------------------------------- // writeClass // ----------------------------------------------------------------------------- @@ -1276,7 +1275,6 @@ void writeClass(PerClass &per, const InfoSpecs &specs) } // writeClass - // ----------------------------------------------------------------------------- // Miscellaneous functions for getting JSON content // ----------------------------------------------------------------------------- @@ -1349,7 +1347,6 @@ auto getChildrenJSON(const orderedJSON &j) } // getChildrenJSON - // ----------------------------------------------------------------------------- // commandLine and its helper functions // ----------------------------------------------------------------------------- @@ -1486,7 +1483,6 @@ void commandLine( } // commandLine - // ----------------------------------------------------------------------------- // preprocess* functions // ----------------------------------------------------------------------------- @@ -1596,7 +1592,6 @@ void preprocessFiles(InfoSpecs &specs) } // preprocessFiles - // ----------------------------------------------------------------------------- // validate* // getClass @@ -1703,7 +1698,6 @@ void getFiles(InfoSpecs &specs) } // getFiles - // ----------------------------------------------------------------------------- // Functions relating to our topological sort // Adapted from: http://coliru.stacked-crooked.com/a/7c0bf8d3443b804d @@ -1740,7 +1734,6 @@ void sortDependencies(InfoSpecs &specs) } - // ----------------------------------------------------------------------------- // Re: C++ header files // fileGNDStkVersion @@ -1892,11 +1885,7 @@ void fileGNDStkKey(const InfoSpecs &specs) // Meta<> objects // ------------------------ - out(); - out(); - out(largeComment); - out("// meta::"); - out(largeComment); + section(out,"// meta::"); out(); out("namespace meta {"); @@ -1924,11 +1913,7 @@ void fileGNDStkKey(const InfoSpecs &specs) // ------------------------ for (const auto &nspace : namespace2children) { - out(); - out(); - out(largeComment); - out("// @::child::", nspace.first); - out(largeComment); + section(out, "// @::child::", nspace.first); out(); out("namespace @ {", nspace.first); out("namespace child {"); @@ -1950,11 +1935,7 @@ void fileGNDStkKey(const InfoSpecs &specs) // Using directives // ------------------------ - out(); - out(); - out(largeComment); - out("// For convenience: using directives"); - out(largeComment); + section(out, "// For convenience: using directives"); out(); out("namespace key {"); out(1,"using namespace meta;"); @@ -2025,17 +2006,11 @@ void fileGNDStkClass( } // fileGNDStkClass - // ----------------------------------------------------------------------------- -// Re: C interface +// C interface: // Helpers -// fileCInterface* // ----------------------------------------------------------------------------- -// ------------------------ -// Helpers -// ------------------------ - // two // Forward args to two places: header and source template @@ -2045,14 +2020,6 @@ void two(writer &hdr, writer &src, Ts &&...args) src(std::forward(args)...); } -// par -// For writing parameters; no \n added -template -void par(writer &hdr, writer &src, Ts &&...args) -{ - two(hdr, src, std::forward(args)..., false); -} - // ext // For writing (or not writing) 'extern "C"' template @@ -2070,6 +2037,12 @@ void ppp(writer &hdr, writer &src, const std::string &str, Ts &&...args) hdr("// +++ "+str, std::forward(args)...); src("// " +str, std::forward(args)...); } +template +void PPP(writer &hdr, writer &src, Ts &&...args) +{ + two(hdr,src); + ppp(hdr,src,std::forward(args)...); +} // mmm // Comment, prefixed in header file with "---" @@ -2079,13 +2052,11 @@ void mmm(writer &hdr, writer &src, const std::string &str, Ts &&...args) hdr("// --- "+str, std::forward(args)...); src("// " +str, std::forward(args)...); } - -// fun -// C interface function name, and left (, with no \n added template -void fun(writer &hdr, writer &src, const std::string &str, Ts &&...args) +void MMM(writer &hdr, writer &src, Ts &&...args) { - two(hdr, src, str+"(", std::forward(args)..., false); + two(hdr,src); + mmm(hdr,src,std::forward(args)...); } // sig @@ -2094,51 +2065,54 @@ void sig(writer &hdr, writer &src, const bool hadFields = false) { // header: end of parameters, semicolon for declaration hdr(");"); - // source: end of parameters, beginning of body for definition + // source: end of parameters, left brace for definition src(hadFields ? ") {" : ")\n{"); } -// def -// End C interface function definition. -// Accept writer &hdr for consistency with above/below functions. -void def(writer &hdr, writer &src) -{ - // header: nothing - (void)hdr; - // source: ending of body for definition - src("}"); -} - // mtype_param // Get metadata type, for C interface std::string mtype_param(const InfoMetadata &m) { - if (m.type == "std::string") - return "char *const"; - else - return m.type; + return m.type == "std::string" + ? "char *const" + : m.type; } // mtype_return // Get metadata type, for C interface std::string mtype_return(const InfoMetadata &m) { - if (m.type == "std::string") - return "const char *"; - else - return m.type; + return m.type == "std::string" + ? "const char *" + : m.type; } // ctype // Get child-node type, for C interface std::string ctype(const InfoChildren &c) { - if (c.isVector) - return "ConstHandle2Const" + c.plain + " *const"; - else - return "ConstHandle2Const" + c.plain; + return c.isVector + ? "ConstHandle2Const" + c.plain + " *const" + : "ConstHandle2Const" + c.plain; +} + +// section +template +void section(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + two(hdr,src); + two(hdr,src); + two(hdr,src,largeComment); + two(hdr,src,str, std::forward(args)...); + two(hdr,src,largeComment); } + +// ----------------------------------------------------------------------------- +// C interface: +// fileCInterfaceCreate* +// ----------------------------------------------------------------------------- + // fileCInterfaceCreateParams void fileCInterfaceCreateParams(writer &hdr, writer &src, const PerClass &per) { @@ -2156,8 +2130,7 @@ void fileCInterfaceCreateParams(writer &hdr, writer &src, const PerClass &per) for (const auto &c : per.children) { two(hdr,src); two(hdr,src,1,"@ @@@", - ctype(c), - c.name, + ctype(c), c.name, c.isVector ? ", const size_t "+c.name+"Size" : "", ++count < total ? "," : "", false @@ -2171,272 +2144,204 @@ void fileCInterfaceCreateParams(writer &hdr, writer &src, const PerClass &per) two(hdr,src); } -// ------------------------ +// fileCInterfaceCreateCall +void fileCInterfaceCreateCall(writer &hdr, writer &src, const PerClass &per) +{ + // metadata + for (const auto &m : per.metadata) { + src(","); + src(2,"@", m.name, false); + } + + // children + for (const auto &c : per.children) { + src(","); + const std::string Child = c.plain; + const std::string child = c.name; + c.isVector + ? src(2,"std::vector{}", Child, false) + : src(2,"detail::tocpp{@}", Child, child, false); + } + + // variants + // todo + + src(); + src(1,");"); + for (const auto &c : per.children) { + if (!c.isVector) + continue; + const std::string Child = c.plain; + const std::string child = c.name; + src(1,"for (size_t @N = 0; @N < @Size; ++@N)", + Child, Child, child, Child); + src(2,"Element@Add(handle, @[@N]);", + Child, child, Child); + } + src(1,"return handle;"); + src("}"); +} + + +// ----------------------------------------------------------------------------- +// C interface: // fileCInterfaceBasics -// ------------------------ +// ----------------------------------------------------------------------------- void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) { - // ------------------------ // section comment - // ------------------------ + section(hdr,src, + "// Basics\n" + "// Create, Assign, Delete"); - two(hdr,src); - two(hdr,src); - two(hdr,src,largeComment); - two(hdr,src,"// Basics"); - two(hdr,src,"// Create, Assign, Delete"); - two(hdr,src,largeComment); - - // ------------------------ // create: default, const - // ------------------------ - - two(hdr,src); - mmm(hdr,src,"Create, default, const"); + MMM(hdr,src,"Create, default, const"); ext(hdr,src,"Handle2Const@", per.clname); - fun(hdr,src,"@DefaultConst", per.clname); + two(hdr,src,"@DefaultConst(", per.clname, false); sig(hdr,src); src(1,"return detail::createHandle"); src(2,"(CLASSNAME, CLASSNAME+\"DefaultConst\");"); - def(hdr,src); + src("}"); - // ------------------------ // create: default, non-const - // ------------------------ - - two(hdr,src); - ppp(hdr,src,"Create, default"); + PPP(hdr,src,"Create, default"); ext(hdr,src,"Handle2@", per.clname); - fun(hdr,src,"@Default", per.clname); + two(hdr,src,"@Default(", per.clname, false); sig(hdr,src); src(1,"return detail::createHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Default\");"); - def(hdr,src); - - // zzz factor commonality in the next two blocks + src("}"); - // ------------------------ // create: general, const - // ------------------------ - - two(hdr,src); - mmm(hdr,src,"Create, general, const"); + MMM(hdr,src,"Create, general, const"); ext(hdr,src,"Handle2Const@", per.clname); - fun(hdr,src,"@CreateConst", per.clname); + two(hdr,src,"@CreateConst(", per.clname, false); fileCInterfaceCreateParams(hdr,src,per); sig(hdr,src, per.nfields() != 0); src(1,"ConstHandle2@ handle = detail::createHandle(", per.clname); src(2,"CLASSNAME, CLASSNAME+\"CreateConst\"", false); - { - // metadata - for (const auto &m : per.metadata) { - src(","); - src(2,"@", m.name, false); - } + fileCInterfaceCreateCall(hdr,src,per); - // children - for (const auto &c : per.children) { - src(","); - const std::string Child = c.plain; - const std::string child = c.name; - c.isVector - ? src(2,"std::vector{}", Child, false) - : src(2,"detail::tocpp{@}", Child, child, false); - } - - // variants - // todo - } - src(); - src(1,");"); - for (const auto &c : per.children) - if (c.isVector) { - const std::string Child = c.plain; - const std::string child = c.name; - src(1,"for (size_t @N = 0; @N < @Size; ++@N)", - Child, Child, child, Child); - src(2,"Element@Add(handle, @[@N]);", - Child, child, Child); - } - src(1,"return handle;"); - def(hdr,src); - - // ------------------------ // create: general, non-const - // ------------------------ - - two(hdr,src); - ppp(hdr,src,"Create, general"); + PPP(hdr,src,"Create, general"); ext(hdr,src,"Handle2@", per.clname); - fun(hdr,src,"@Create", per.clname); + two(hdr,src,"@Create(", per.clname, false); fileCInterfaceCreateParams(hdr,src,per); sig(hdr,src, per.nfields() != 0); src(1,"ConstHandle2@ handle = detail::createHandle(", per.clname); src(2,"CLASSNAME, CLASSNAME+\"Create\"", false); - { - // metadata - for (const auto &m : per.metadata) { - src(","); - src(2,"@", m.name, false); - } - - // children - for (const auto &c : per.children) { - src(","); - const std::string Child = c.plain; - const std::string child = c.name; - c.isVector - ? src(2,"std::vector{}", Child, false) - : src(2,"detail::tocpp{@}", Child, child, false); - } - - // variants - // todo - } - src(); - src(1,");"); - for (const auto &c : per.children) - if (c.isVector) { - const std::string Child = c.plain; - const std::string child = c.name; - src(1,"for (size_t @N = 0; @N < @Size; ++@N)", - Child, Child, child, Child); - src(2,"Element@Add(handle, @[@N]);", - Child, child, Child); - } - src(1,"return handle;"); - def(hdr,src); + fileCInterfaceCreateCall(hdr,src,per); - // ------------------------ // assign - // ------------------------ - - two(hdr,src); - ppp(hdr,src,"Assign"); + PPP(hdr,src,"Assign"); ppp(hdr,src,"Use this to assign one handled object to another. Don't assign handles,"); ppp(hdr,src,"as with to = from. That has a meaning that you probably don't intend."); ext(hdr,src,"void"); - fun(hdr,src,"@Assign", per.clname); - par(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ from", per.clname, per.clname); + two(hdr,src,"@Assign(", per.clname, false); + two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ from", per.clname, per.clname, false); sig(hdr,src); src(1,"detail::assignHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Assign\", This, from);"); - def(hdr,src); + src("}"); - // ------------------------ // delete - // ------------------------ - - two(hdr,src); - ppp(hdr,src,"Delete"); + PPP(hdr,src,"Delete"); ppp(hdr,src,"We'll attempt to remove no-longer-used objects automatically, but you"); ppp(hdr,src,"may improve performance if you delete them when you're done with them."); ext(hdr,src,"void"); - fun(hdr,src,"@Delete", per.clname); - par(hdr,src,"ConstHandle2Const@ This", per.clname); + two(hdr,src,"@Delete(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This", per.clname, false); sig(hdr,src); src(1,"detail::deleteHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Delete\", This);"); - def(hdr,src); - + src("}"); } // fileCInterfaceBasics -// ------------------------ +// ----------------------------------------------------------------------------- +// C interface: // fileCInterfaceIO -// ------------------------ +// ----------------------------------------------------------------------------- void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) { // section comment - two(hdr,src); - two(hdr,src); - two(hdr,src,largeComment); - two(hdr,src,"// I/O"); - two(hdr,src,"// Read, Write, Print"); - two(hdr,src,"// Each returns 0 if failure, 1 if success."); - two(hdr,src,largeComment); + section(hdr,src, + "// I/O\n" + "// Read, Write, Print\n" + "// Each returns 0 if failure, 1 if success."); // read from file - two(hdr,src); - ppp(hdr,src,"Read from file"); + PPP(hdr,src,"Read from file"); ppp(hdr,src,"File can be XML, JSON, or HDF5."); ppp(hdr,src,"We'll examine the file's contents to determine its type automatically."); ext(hdr,src,"int"); - fun(hdr,src,"@Read", per.clname); - par(hdr,src,"ConstHandle2@ This, const char *const filename", per.clname); + two(hdr,src,"@Read(", per.clname, false); + two(hdr,src,"ConstHandle2@ This, const char *const filename", per.clname, false); sig(hdr,src); src(1,"return detail::readHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Read\", This, filename);"); - def(hdr,src); + src("}"); // write to file - two(hdr,src); - ppp(hdr,src,"Write to file"); + PPP(hdr,src,"Write to file"); ppp(hdr,src,"File can be XML, JSON, or HDF5."); ppp(hdr,src,"We'll use filename's extension to determine the type you want written."); ext(hdr,src,"int"); - fun(hdr,src,"@Write", per.clname); - par(hdr,src,"ConstHandle2Const@ This, const char *const filename", per.clname); + two(hdr,src,"@Write(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This, const char *const filename", per.clname, false); sig(hdr,src); src(1,"return detail::writeHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Write\", This, filename);"); - def(hdr,src); + src("}"); // print - two(hdr,src); - ppp(hdr,src,"Print to standard output, in our prettyprinting format"); + PPP(hdr,src,"Print to standard output, in our prettyprinting format"); ext(hdr,src,"int"); - fun(hdr,src,"@Print", per.clname); - par(hdr,src,"ConstHandle2Const@ This", per.clname); + two(hdr,src,"@Print(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This", per.clname, false); sig(hdr,src); src(1,"return detail::printHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Print\", This);"); - def(hdr,src); + src("}"); // print, XML - two(hdr,src); - ppp(hdr,src,"Print to standard output, as XML"); + PPP(hdr,src,"Print to standard output, as XML"); ext(hdr,src,"int"); - fun(hdr,src,"@PrintXML", per.clname); - par(hdr,src,"ConstHandle2Const@ This", per.clname); + two(hdr,src,"@PrintXML(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This", per.clname, false); sig(hdr,src); src(1,"return detail::printHandle"); src(2,"(CLASSNAME, CLASSNAME+\"PrintXML\", This, \"XML\");"); - def(hdr,src); + src("}"); // print, JSON - two(hdr,src); - ppp(hdr,src,"Print to standard output, as JSON"); + PPP(hdr,src,"Print to standard output, as JSON"); ext(hdr,src,"int"); - fun(hdr,src,"@PrintJSON", per.clname); - par(hdr,src,"ConstHandle2Const@ This", per.clname); + two(hdr,src,"@PrintJSON(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This", per.clname, false); sig(hdr,src); src(1,"return detail::printHandle"); src(2,"(CLASSNAME, CLASSNAME+\"PrintJSON\", This, \"JSON\");"); - def(hdr,src); - + src("}"); } // fileCInterfaceIO -// ------------------------ +// ----------------------------------------------------------------------------- +// C interface: // fileCInterfaceVector -// ------------------------ +// ----------------------------------------------------------------------------- void fileCInterfaceVector( writer &hdr, writer &src, const PerClass &per, const std::string &type, - const bool section = true + const bool isSection = true ) { // section comment - if (section) { - two(hdr,src); - two(hdr,src); - two(hdr,src,largeComment); - two(hdr,src,"// Re: vector"); - two(hdr,src,largeComment); - } else { + if (isSection) + section(hdr,src,"// Re: vector"); + else { assert(type != ""); two(hdr,src); two(hdr,src,smallComment); @@ -2446,7 +2351,7 @@ void fileCInterfaceVector( // dynamic type? if (type == "") { - // todo Any others here, for purposes of the C interface? + // for a C interface, these are probably sufficient fileCInterfaceVector(hdr,src,per,"int", false); fileCInterfaceVector(hdr,src,per,"unsigned",false); fileCInterfaceVector(hdr,src,per,"float", false); @@ -2455,93 +2360,88 @@ void fileCInterfaceVector( } // Example: - // ctype: "Foobar" (class type; for brevity) - // type: "double" (parameter to this function) + // type: "double" (parameter to the present function) + // Class: "Foobar" (class type; for brevity) // types: "doubles" // Types: "Doubles" - const std::string cname = per.clname; + const std::string Class = per.clname; const std::string types = type + 's'; const std::string Types = capital(type) + 's'; - two(hdr,src); - ppp(hdr,src,"Clear"); + PPP(hdr,src,"Clear"); ext(hdr,src,"void"); - fun(hdr,src,"@@Clear", cname, Types); - par(hdr,src,"ConstHandle2@ This", cname); + two(hdr,src,"@@Clear(", Class, Types, false); + two(hdr,src,"ConstHandle2@ This", Class, false); sig(hdr,src); src(1,"detail::vectorClear"); src(2,"(CLASSNAME, CLASSNAME+\"@Clear\", This);", Types); - def(hdr,src); + src("}"); - two(hdr,src); - ppp(hdr,src,"Get size"); + PPP(hdr,src,"Get size"); ext(hdr,src,"size_t"); - fun(hdr,src,"@@Size", cname, Types); - par(hdr,src,"ConstHandle2Const@ This", cname); + two(hdr,src,"@@Size(", Class, Types, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); src(1,"return detail::vectorSize"); src(2,"(CLASSNAME, CLASSNAME+\"@Size\", This);", Types); - def(hdr,src); + src("}"); - two(hdr,src); - ppp(hdr,src,"Get value"); + PPP(hdr,src,"Get value"); ppp(hdr,src,"By index \\in [0,size)"); ext(hdr,src,"@", type); - fun(hdr,src,"@@Get", cname, Types); - par(hdr,src,"ConstHandle2Const@ This, const size_t index", cname); + two(hdr,src,"@@Get(", Class, Types, false); + two(hdr,src,"ConstHandle2Const@ This, const size_t index", Class, false); sig(hdr,src); src(1,"return detail::vectorGet", type); src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, index);", Types); - def(hdr,src); + src("}"); - two(hdr,src); - ppp(hdr,src,"Set value"); + PPP(hdr,src,"Set value"); ppp(hdr,src,"By index \\in [0,size)"); ext(hdr,src,"void"); - fun(hdr,src,"@@Set", cname, Types); - par(hdr,src,"ConstHandle2@ This, const size_t index, const @ value", cname, type); + two(hdr,src,"@@Set(", Class, Types, false); + two(hdr,src,"ConstHandle2@ This, const size_t index, const @ value", Class, type, false); sig(hdr,src); src(1,"detail::vectorSet", type); src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, index, value);", Types); - def(hdr,src); + src("}"); - two(hdr,src); - mmm(hdr,src,"Get pointer to existing values, const"); + MMM(hdr,src,"Get pointer to existing values, const"); ext(hdr,src,"const @ *", type); - fun(hdr,src,"@@GetArrayConst", cname, Types); - par(hdr,src,"ConstHandle2Const@ This", cname); + two(hdr,src,"@@GetArrayConst(", Class, Types, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); src(1,"return detail::vectorGet", type); src(2,"(CLASSNAME, CLASSNAME+\"@GetArrayConst\", This);", Types); - def(hdr,src); + src("}"); - two(hdr,src); - ppp(hdr,src,"Get pointer to existing values, non-const"); + PPP(hdr,src,"Get pointer to existing values, non-const"); ext(hdr,src,"@ *", type); - fun(hdr,src,"@@GetArray", cname, Types); - par(hdr,src,"ConstHandle2@ This", cname); + two(hdr,src,"@@GetArray(", Class, Types, false); + two(hdr,src,"ConstHandle2@ This", Class, false); sig(hdr,src); src(1,"return detail::vectorGet", type); src(2,"(CLASSNAME, CLASSNAME+\"@GetArray\", This);", Types); - def(hdr,src); + src("}"); - two(hdr,src); - ppp(hdr,src,"Set completely new values and size"); + PPP(hdr,src,"Set completely new values and size"); ext(hdr,src,"void"); - fun(hdr,src,"@@SetArray", cname, Types); - par(hdr,src,"ConstHandle2@ This, const @ *const values, const size_t size", cname, type); + two(hdr,src,"@@SetArray(", Class, Types, false); + two(hdr,src,"ConstHandle2@ This, const @ *const values, const size_t size", Class, type, false); sig(hdr,src); src(1,"return detail::vectorSet", type); src(2,"(CLASSNAME, CLASSNAME+\"@SetArray\", This, size, values);", Types); - def(hdr,src); - + src("}"); } // fileCInterfaceVector -// ------------------------ +// ----------------------------------------------------------------------------- +// C interface: // fileCInterfaceMeta -// ------------------------ +// fileCInterfaceChild +// ----------------------------------------------------------------------------- +// fileCInterfaceMeta void fileCInterfaceMeta( writer &hdr, writer &src, const PerClass &per, const InfoMetadata &m @@ -2551,55 +2451,43 @@ void fileCInterfaceMeta( const std::string meta = m.name; // section comment - two(hdr,src); - two(hdr,src); - two(hdr,src,largeComment); - two(hdr,src,"// Re: @", meta); - two(hdr,src,largeComment); + section(hdr,src,"// Re: @", meta); // has if (m.isOptional) { - two(hdr,src); - ppp(hdr,src,"Has"); + PPP(hdr,src,"Has"); ext(hdr,src,"int"); - fun(hdr,src,"@@Has", Class, Meta); - par(hdr,src,"ConstHandle2Const@ This", Class); + two(hdr,src,"@@Has(", Class, Meta, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); src(1,"return detail::hasMetadatum"); src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Meta, meta); - def(hdr,src); + src("}"); } // get - two(hdr,src); - ppp(hdr,src,"Get"); + PPP(hdr,src,"Get"); ppp(hdr,src,"Returns by value"); ext(hdr,src,"@", mtype_return(m)); - fun(hdr,src,"@@Get", Class, Meta); - par(hdr,src,"ConstHandle2Const@ This", Class); + two(hdr,src,"@@Get(", Class, Meta, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); src(1,"return detail::getMetadatum"); src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Meta, meta); - def(hdr,src); + src("}"); // set - two(hdr,src); - ppp(hdr,src,"Set"); + PPP(hdr,src,"Set"); ext(hdr,src,"void"); - fun(hdr,src,"@@Set", Class, Meta); - par(hdr,src,"ConstHandle2@ This, ", Class); - par(hdr,src,"const @ @", mtype_param(m), meta); + two(hdr,src,"@@Set(", Class, Meta, false); + two(hdr,src,"ConstHandle2@ This, const @ @", Class, mtype_param(m), meta, false); sig(hdr,src); src(1,"detail::setMetadatum"); src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Meta, meta, meta); - def(hdr,src); + src("}"); } - -// ------------------------ // fileCInterfaceChild -// ------------------------ - void fileCInterfaceChild( writer &hdr, writer &src, const InfoSpecs &specs, @@ -2610,23 +2498,18 @@ void fileCInterfaceChild( const std::string child = c.name; // section comment - two(hdr,src); - two(hdr,src); - two(hdr,src,largeComment); - two(hdr,src,"// Re: @", child); - two(hdr,src,largeComment); + section(hdr,src,"// Re: @", child); // has if (c.isOptional) { - two(hdr,src); - ppp(hdr,src,"Has"); + PPP(hdr,src,"Has"); ext(hdr,src,"int"); - fun(hdr,src,"@@Has", Class, Child); - par(hdr,src,"ConstHandle2Const@ This", Class); + two(hdr,src,"@@Has(", Class, Child, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); src(1,"return detail::hasMetadatum"); src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Child, child); - def(hdr,src); + src("}"); } // ------------------------ @@ -2635,37 +2518,34 @@ void fileCInterfaceChild( if (!c.isVector) { // get, const - two(hdr,src); - mmm(hdr,src,"Get, const"); + MMM(hdr,src,"Get, const"); ext(hdr,src,"Handle2Const@", Child); - fun(hdr,src,"@@GetConst", Class, Child); - par(hdr,src,"ConstHandle2Const@ This", Class); + two(hdr,src,"@@GetConst(", Class, Child, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); src(1,"return detail::getMetadatum", Child); src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@);", Child, child); - def(hdr,src); + src("}"); // get, non-const - two(hdr,src); - ppp(hdr,src,"Get, non-const"); + PPP(hdr,src,"Get, non-const"); ext(hdr,src,"Handle2@", Child); - fun(hdr,src,"@@Get", Class, Child); - par(hdr,src,"ConstHandle2@ This", Class); + two(hdr,src,"@@Get(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This", Class, false); sig(hdr,src); src(1,"return detail::getMetadatum", Child); src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Child, child); - def(hdr,src); + src("}"); // set - two(hdr,src); - ppp(hdr,src,"Set"); + PPP(hdr,src,"Set"); ext(hdr,src,"void"); - fun(hdr,src,"@@Set", Class, Child); - par(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ @", Class, Child, child); + two(hdr,src,"@@Set(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ @", Class, Child, child, false); sig(hdr,src); src(1,"detail::setMetadatum", Child); src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Child, child, child); - def(hdr,src); + src("}"); return; } @@ -2675,79 +2555,70 @@ void fileCInterfaceChild( // ------------------------ // clear - two(hdr,src); - ppp(hdr,src,"Clear"); + PPP(hdr,src,"Clear"); ext(hdr,src,"void"); - fun(hdr,src,"@@Clear", Class, Child); - par(hdr,src,"ConstHandle2@ This", Class); + two(hdr,src,"@@Clear(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This", Class, false); sig(hdr,src); src(1,"detail::clearContainer"); src(2,"(CLASSNAME, CLASSNAME+\"@Clear\", This, extract::@);", Child, child); - def(hdr,src); + src("}"); // size - two(hdr,src); - ppp(hdr,src,"Size"); + PPP(hdr,src,"Size"); ext(hdr,src,"size_t"); - fun(hdr,src,"@@Size", Class, Child); - par(hdr,src,"ConstHandle2Const@ This", Class); + two(hdr,src,"@@Size(", Class, Child, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); src(1,"return detail::sizeOfContainer"); src(2,"(CLASSNAME, CLASSNAME+\"@Size\", This, extract::@);", Child, child); - def(hdr,src); + src("}"); // add - two(hdr,src); - ppp(hdr,src,"Add"); + PPP(hdr,src,"Add"); ext(hdr,src,"void"); - fun(hdr,src,"@@Add", Class, Child); - par(hdr,src,"ConstHandle2@ This, ", Class); - par(hdr,src,"ConstHandle2Const@ @", Child, child); + two(hdr,src,"@@Add(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This, ", Class, false); + two(hdr,src,"ConstHandle2Const@ @", Child, child, false); sig(hdr,src); src(1,"detail::addToContainer", Child); src(2,"(CLASSNAME, CLASSNAME+\"@Add\", This, extract::@, @);", Child, child, child); - def(hdr,src); + src("}"); // get, by index, const - two(hdr,src); - mmm(hdr,src,"Get, by index \\in [0,size), const"); + MMM(hdr,src,"Get, by index \\in [0,size), const"); ext(hdr,src,"Handle2Const@", Child); - fun(hdr,src,"@@GetConst", Class, Child); - par(hdr,src,"ConstHandle2Const@ This, ", Class); - par(hdr,src,"const size_t index_"); + two(hdr,src,"@@GetConst(", Class, Child, false); + two(hdr,src,"ConstHandle2Const@ This, ", Class, false); + two(hdr,src,"const size_t index_", false); sig(hdr,src); src(1,"return detail::getByIndex", Child); src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@, index_);", Child, child); - def(hdr,src); + src("}"); // get, by index, non-const - two(hdr,src); - ppp(hdr,src,"Get, by index \\in [0,size), non-const"); + PPP(hdr,src,"Get, by index \\in [0,size), non-const"); ext(hdr,src,"Handle2@", Child); - fun(hdr,src,"@@Get", Class, Child); - par(hdr,src,"ConstHandle2@ This, ", Class); - par(hdr,src,"const size_t index_"); + two(hdr,src,"@@Get(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This, ", Class, false); + two(hdr,src,"const size_t index_", false); sig(hdr,src); src(1,"return detail::getByIndex", Child); src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@, index_);", Child, child); - def(hdr,src); + src("}"); // set, by index - two(hdr,src); - ppp(hdr,src,"Set, by index \\in [0,size)"); + PPP(hdr,src,"Set, by index \\in [0,size)"); ext(hdr,src,"void"); - fun(hdr,src,"@@Set", Class, Child); - par(hdr,src); - par(hdr,src,1,"ConstHandle2@ This,", Class); - par(hdr,src); - par(hdr,src,1,"const size_t index_,"); - par(hdr,src); - par(hdr,src,1,"ConstHandle2Const@ @", Child, child); - par(hdr,src); + two(hdr,src,"@@Set(", Class, Child, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2@ This,", Class); + two(hdr,src,1,"const size_t index_,"); + two(hdr,src,1,"ConstHandle2Const@ @", Child, child); sig(hdr,src,true); src(1,"detail::setByIndex", Child); src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, index_, @);", Child, child, child); - def(hdr,src); + src("}"); for (const auto &c : per.children) { const auto it = specs.class2data.find(NamespaceAndClass(c.ns,c.plain)); @@ -2758,115 +2629,67 @@ void fileCInterfaceChild( const std::string meta = m.name; // has, by metadatum - two(hdr,src); - ppp(hdr,src,"Has, by @", meta); + PPP(hdr,src,"Has, by @", meta); ext(hdr,src,"@", m.type); - fun(hdr,src,"@@HasBy@", Class, Child, Meta); - par(hdr,src); - par(hdr,src,1,"ConstHandle2Const@ This,", Class); - par(hdr,src); - par(hdr,src,1,"const @ @", m.type, meta); - par(hdr,src); + two(hdr,src,"@@HasBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2Const@ This,", Class); + two(hdr,src,1,"const @ @", m.type, meta); sig(hdr,src,true); src(1,"return detail::hasByMetadatum"); src(2,"(CLASSNAME, CLASSNAME+\"@HasBy@\",", Child, Meta); src(2," This, extract::@, meta::@, @);", child, meta, meta); - def(hdr,src); + src("}"); // get, by metadatum, const - two(hdr,src); - mmm(hdr,src,"Get, by @, const", meta); + MMM(hdr,src,"Get, by @, const", meta); ext(hdr,src,"Handle2Const@", Child); - fun(hdr,src,"@@GetBy@Const", Class, Child, Meta); - par(hdr,src); - par(hdr,src,1,"ConstHandle2Const@ This,", Class); - par(hdr,src); - par(hdr,src,1,"const @ @", m.type, meta); - par(hdr,src); + two(hdr,src,"@@GetBy@Const(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2Const@ This,", Class); + two(hdr,src,1,"const @ @", m.type, meta); sig(hdr,src,true); src(1,"return detail::getByMetadatum", Child); src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@Const\",", Child, Meta); src(2," This, extract::@, meta::@, @);", child, meta, meta); - def(hdr,src); + src("}"); // get, by metadatum, non-const - two(hdr,src); - ppp(hdr,src,"Get, by @, non-const", meta); + PPP(hdr,src,"Get, by @, non-const", meta); ext(hdr,src,"Handle2@", Child); - fun(hdr,src,"@@GetBy@", Class, Child, Meta); - par(hdr,src); - par(hdr,src,1,"ConstHandle2@ This,", Class); - par(hdr,src); - par(hdr,src,1,"const @ @", m.type, meta); - par(hdr,src); + two(hdr,src,"@@GetBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2@ This,", Class); + two(hdr,src,1,"const @ @", m.type, meta); sig(hdr,src,true); src(1,"return detail::getByMetadatum", Child); src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@\",", Child, Meta); src(2," This, extract::@, meta::@, @);", child, meta, meta); - def(hdr,src); + src("}"); // set, by metadatum - two(hdr,src); - ppp(hdr,src,"Set, by @", meta); + PPP(hdr,src,"Set, by @", meta); ext(hdr,src,"void"); - fun(hdr,src,"@@SetBy@", Class, Child, Meta); - par(hdr,src); - par(hdr,src,1,"ConstHandle2@ This,", Class); - par(hdr,src); - par(hdr,src,1,"const @ @,", m.type, meta); - par(hdr,src); - par(hdr,src,1,"ConstHandle2Const@ @", Child, child); - par(hdr,src); + two(hdr,src,"@@SetBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2@ This,", Class); + two(hdr,src,1,"const @ @,", m.type, meta); + two(hdr,src,1,"ConstHandle2Const@ @", Child, child); sig(hdr,src,true); src(1,"detail::setByMetadatum", Child); src(2,"(CLASSNAME, CLASSNAME+\"@SetBy@\",", Child, Meta); src(2," This, extract::@, meta::@, @, @);", child, meta, meta, child); - def(hdr,src); - + src("}"); } // metadata } // children } // fileCInterfaceChild -// ------------------------ -// fileCInterfaceCommon -// ------------------------ - -void fileCInterfaceCommon( - writer &hdr, - writer &src, - const InfoSpecs &specs, - const PerClass &per, const Class2Dependencies &c2d -) { - // Basics section: create, assign, delete - fileCInterfaceBasics(hdr, src, per); - - // IO section: read, write, print - fileCInterfaceIO(hdr, src, per); - - // Array support, if BlockData - if (per.isData) - fileCInterfaceVector(hdr, src, per, per.dataType); - - // Functions regarding metadata - for (const auto &m : per.metadata) - fileCInterfaceMeta(hdr, src, per, m); - - // Functions regarding children - for (const auto &c : per.children) - fileCInterfaceChild(hdr, src, specs, per, c); - - // variants - // todo - -} // fileCInterfaceCommon - - - // ----------------------------------------------------------------------------- // Re: C interface // fileCInterfaceHeader // fileCInterfaceSource +// fileCInterfaceCommon // fileCInterface // ----------------------------------------------------------------------------- @@ -2878,20 +2701,14 @@ void fileCInterfaceHeader( writer &hdr, const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { - // ------------------------ // Initial remarks - // ------------------------ - hdr(); hdr("// Interface for C"); hdr("// This header file is designed to work with both C and C++"); hdr("// Function definitions are in this file's .cpp source"); hdr(); - // ------------------------ // Instructions - // ------------------------ - hdr(largeComment); hdr(largeComment); hdr("// Instructions for Users"); @@ -2909,24 +2726,16 @@ void fileCInterfaceHeader( per.clname); hdr(largeComment); hdr(largeComment); - hdr(); - hdr(); - // ------------------------ // Preliminaries - // ------------------------ - - hdr(largeComment); - hdr("// Preliminaries"); - hdr(largeComment); - hdr(); - + section(hdr, "// Preliminaries"); const std::string guard = allcaps(specs.Project) + "_" + allcaps(specs.VersionUnderscore) + "_" + allcaps(per.nsname) + "_" + allcaps(per.clname); + hdr(); hdr("#ifndef C_INTERFACE_@", guard); hdr("#define C_INTERFACE_@", guard); hdr(); @@ -2942,16 +2751,9 @@ void fileCInterfaceHeader( hdr(); hdr("// Proxy C struct for the handled C++ class"); hdr("struct @Class { };", per.clname); - hdr(); - hdr(); - // ------------------------ // Handle types - // ------------------------ - - hdr(largeComment); - hdr("// Handle types"); - hdr(largeComment); + section(hdr, "// Handle types"); hdr(); hdr("// +++ @", per.clname); hdr("// +++ General handle, suitable for many users. " @@ -3030,6 +2832,38 @@ void fileCInterfaceSource( } // fileCInterfaceSource +// ------------------------ +// fileCInterfaceCommon +// ------------------------ + +void fileCInterfaceCommon( + writer &hdr, writer &src, + const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { + // Basics: create, assign, delete + fileCInterfaceBasics(hdr,src, per); + + // IO: read, write, print + fileCInterfaceIO(hdr,src, per); + + // Array support, if BlockData + if (per.isData) + fileCInterfaceVector(hdr,src, per, per.dataType); + + // Functions regarding metadata + for (const auto &m : per.metadata) + fileCInterfaceMeta(hdr,src, per, m); + + // Functions regarding children + for (const auto &c : per.children) + fileCInterfaceChild(hdr,src, specs, per, c); + + // variants + // todo +} // fileCInterfaceCommon + + // ------------------------ // fileCInterface // ------------------------ @@ -3046,21 +2880,16 @@ void fileCInterface( fileCInterfaceSource(src, specs, per, c2d); // common or partially common to both header and source - fileCInterfaceCommon(hdr, src, specs, per, c2d); + fileCInterfaceCommon(hdr,src, specs, per, c2d); // header: ending - hdr(); - hdr(); - hdr(largeComment); - hdr("// Done"); - hdr(largeComment); + section(hdr, "// Done"); hdr(); hdr("#undef extern_c"); hdr("#endif"); } // fileCInterface - // ----------------------------------------------------------------------------- // Python: // filePythonNamespace @@ -3337,7 +3166,6 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) } // filePythonClass - // ----------------------------------------------------------------------------- // main // ----------------------------------------------------------------------------- From 219683b8825723d9ce433ad8dbb913c34e28d12a Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 16 Aug 2022 13:47:59 -0600 Subject: [PATCH 144/235] Small fixes. --- autogen/json2class.cpp | 8 ++++---- autogen/simple/.gitignore | 1 + autogen/simple/compile-c | 5 ++++- autogen/simple/multi/c/src/v1/multigroup/Element.cpp | 4 ++-- autogen/simple/multi/c/src/v1/multigroup/Library.cpp | 6 +++--- autogen/simple/multi/c/src/v1/multigroup/Library.h | 4 ++-- autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp | 6 +++--- autogen/simple/multi/c/src/v1/multigroup/Multigroup.h | 2 +- 8 files changed, 20 insertions(+), 16 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index de93159a5..445a934ec 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -2160,7 +2160,7 @@ void fileCInterfaceCreateCall(writer &hdr, writer &src, const PerClass &per) const std::string child = c.name; c.isVector ? src(2,"std::vector{}", Child, false) - : src(2,"detail::tocpp{@}", Child, child, false); + : src(2,"detail::tocpp(@)", Child, child, false); } // variants @@ -2175,8 +2175,8 @@ void fileCInterfaceCreateCall(writer &hdr, writer &src, const PerClass &per) const std::string child = c.name; src(1,"for (size_t @N = 0; @N < @Size; ++@N)", Child, Child, child, Child); - src(2,"Element@Add(handle, @[@N]);", - Child, child, Child); + src(2,"@@Add(handle, @[@N]);", + per.clname, Child, child, Child); } src(1,"return handle;"); src("}"); @@ -2630,7 +2630,7 @@ void fileCInterfaceChild( // has, by metadatum PPP(hdr,src,"Has, by @", meta); - ext(hdr,src,"@", m.type); + ext(hdr,src,"int"); two(hdr,src,"@@HasBy@(", Class, Child, Meta, false); two(hdr,src); two(hdr,src,1,"ConstHandle2Const@ This,", Class); diff --git a/autogen/simple/.gitignore b/autogen/simple/.gitignore index 3a81d5816..17795dd9c 100644 --- a/autogen/simple/.gitignore +++ b/autogen/simple/.gitignore @@ -12,3 +12,4 @@ file.h5 file.json file.xml +out diff --git a/autogen/simple/compile-c b/autogen/simple/compile-c index c12496e39..c58ac3f0c 100755 --- a/autogen/simple/compile-c +++ b/autogen/simple/compile-c @@ -26,16 +26,19 @@ fi # Compile C++ $COMPILE -c ../../../GNDStk/c/src/GNDStk.cpp + $COMPILE -c multi/c/src/v1/multigroup/Foobar.cpp $COMPILE -c multi/c/src/v1/multigroup/Isotope.cpp $COMPILE -c multi/c/src/v1/multigroup/Element.cpp +$COMPILE -c multi/c/src/v1/multigroup/Library.cpp +$COMPILE -c multi/c/src/v1/multigroup/Multigroup.cpp # Compile C clang \ -I../../../GNDStk/c/src \ -Imulti/c/src \ example-01.c \ - pugixml.o GNDStk.o Foobar.o Isotope.o Element.o \ + *.o \ -L/usr/lib/x86_64-linux-gnu/hdf5/serial \ -lstdc++ -lm -lhdf5 \ -o c.exe diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index 7c63767e8..5f1f96d6c 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -58,7 +58,7 @@ ElementCreateConst( symbol, atomic_number, std::vector{}, - detail::tocpp{foobar} + detail::tocpp(foobar) ); for (size_t IsotopeN = 0; IsotopeN < isotopeSize; ++IsotopeN) ElementIsotopeAdd(handle, isotope[IsotopeN]); @@ -78,7 +78,7 @@ ElementCreate( symbol, atomic_number, std::vector{}, - detail::tocpp{foobar} + detail::tocpp(foobar) ); for (size_t IsotopeN = 0; IsotopeN < isotopeSize; ++IsotopeN) ElementIsotopeAdd(handle, isotope[IsotopeN]); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp index bbc7a7677..caefa1a11 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp @@ -54,7 +54,7 @@ LibraryCreateConst( std::vector{} ); for (size_t ElementN = 0; ElementN < elementSize; ++ElementN) - ElementElementAdd(handle, element[ElementN]); + LibraryElementAdd(handle, element[ElementN]); return handle; } @@ -70,7 +70,7 @@ LibraryCreate( std::vector{} ); for (size_t ElementN = 0; ElementN < elementSize; ++ElementN) - ElementElementAdd(handle, element[ElementN]); + LibraryElementAdd(handle, element[ElementN]); return handle; } @@ -224,7 +224,7 @@ LibraryElementSet( } // Has, by symbol -std::string +int LibraryElementHasBySymbol( ConstHandle2ConstLibrary This, const std::string symbol diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.h b/autogen/simple/multi/c/src/v1/multigroup/Library.h index 5ac5396d6..466e02cbc 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.h @@ -179,10 +179,10 @@ LibraryElementSet( ); // +++ Has, by symbol -extern_c std::string +extern_c int LibraryElementHasBySymbol( ConstHandle2ConstLibrary This, - const std::string symbol + const char *const symbol ); // --- Get, by symbol, const diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp index 7bb2d0860..a609468d2 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp @@ -54,7 +54,7 @@ MultigroupCreateConst( std::vector{} ); for (size_t LibraryN = 0; LibraryN < librarySize; ++LibraryN) - ElementLibraryAdd(handle, library[LibraryN]); + MultigroupLibraryAdd(handle, library[LibraryN]); return handle; } @@ -70,7 +70,7 @@ MultigroupCreate( std::vector{} ); for (size_t LibraryN = 0; LibraryN < librarySize; ++LibraryN) - ElementLibraryAdd(handle, library[LibraryN]); + MultigroupLibraryAdd(handle, library[LibraryN]); return handle; } @@ -224,7 +224,7 @@ MultigroupLibrarySet( } // Has, by name -std::string +int MultigroupLibraryHasByName( ConstHandle2ConstMultigroup This, const std::string name diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h index 869082d21..d1ec8e304 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h @@ -179,7 +179,7 @@ MultigroupLibrarySet( ); // +++ Has, by name -extern_c std::string +extern_c int MultigroupLibraryHasByName( ConstHandle2ConstMultigroup This, const std::string name From d6b6917d98b4ce7e9a3991e29f5e8e7f28540948 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 16 Aug 2022 13:55:46 -0600 Subject: [PATCH 145/235] More small fixes. --- autogen/json2class.cpp | 8 ++++---- autogen/simple/multi/c/src/v1/multigroup/Library.cpp | 8 ++++---- autogen/simple/multi/c/src/v1/multigroup/Library.h | 6 +++--- autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp | 8 ++++---- autogen/simple/multi/c/src/v1/multigroup/Multigroup.h | 8 ++++---- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 445a934ec..cba8c4beb 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -2634,7 +2634,7 @@ void fileCInterfaceChild( two(hdr,src,"@@HasBy@(", Class, Child, Meta, false); two(hdr,src); two(hdr,src,1,"ConstHandle2Const@ This,", Class); - two(hdr,src,1,"const @ @", m.type, meta); + two(hdr,src,1,"const @ @", mtype_param(m), meta); sig(hdr,src,true); src(1,"return detail::hasByMetadatum"); src(2,"(CLASSNAME, CLASSNAME+\"@HasBy@\",", Child, Meta); @@ -2647,7 +2647,7 @@ void fileCInterfaceChild( two(hdr,src,"@@GetBy@Const(", Class, Child, Meta, false); two(hdr,src); two(hdr,src,1,"ConstHandle2Const@ This,", Class); - two(hdr,src,1,"const @ @", m.type, meta); + two(hdr,src,1,"const @ @", mtype_param(m), meta); sig(hdr,src,true); src(1,"return detail::getByMetadatum", Child); src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@Const\",", Child, Meta); @@ -2660,7 +2660,7 @@ void fileCInterfaceChild( two(hdr,src,"@@GetBy@(", Class, Child, Meta, false); two(hdr,src); two(hdr,src,1,"ConstHandle2@ This,", Class); - two(hdr,src,1,"const @ @", m.type, meta); + two(hdr,src,1,"const @ @", mtype_param(m), meta); sig(hdr,src,true); src(1,"return detail::getByMetadatum", Child); src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@\",", Child, Meta); @@ -2673,7 +2673,7 @@ void fileCInterfaceChild( two(hdr,src,"@@SetBy@(", Class, Child, Meta, false); two(hdr,src); two(hdr,src,1,"ConstHandle2@ This,", Class); - two(hdr,src,1,"const @ @,", m.type, meta); + two(hdr,src,1,"const @ @,", mtype_param(m), meta); two(hdr,src,1,"ConstHandle2Const@ @", Child, child); sig(hdr,src,true); src(1,"detail::setByMetadatum", Child); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp index caefa1a11..061cf8cb0 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp @@ -227,7 +227,7 @@ LibraryElementSet( int LibraryElementHasBySymbol( ConstHandle2ConstLibrary This, - const std::string symbol + const char *const symbol ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"ElementHasBySymbol", @@ -238,7 +238,7 @@ LibraryElementHasBySymbol( Handle2ConstElement LibraryElementGetBySymbolConst( ConstHandle2ConstLibrary This, - const std::string symbol + const char *const symbol ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ElementGetBySymbolConst", @@ -249,7 +249,7 @@ LibraryElementGetBySymbolConst( Handle2Element LibraryElementGetBySymbol( ConstHandle2Library This, - const std::string symbol + const char *const symbol ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ElementGetBySymbol", @@ -260,7 +260,7 @@ LibraryElementGetBySymbol( void LibraryElementSetBySymbol( ConstHandle2Library This, - const std::string symbol, + const char *const symbol, ConstHandle2ConstElement element ) { detail::setByMetadatum diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.h b/autogen/simple/multi/c/src/v1/multigroup/Library.h index 466e02cbc..5ad7db2e0 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.h @@ -189,21 +189,21 @@ LibraryElementHasBySymbol( extern_c Handle2ConstElement LibraryElementGetBySymbolConst( ConstHandle2ConstLibrary This, - const std::string symbol + const char *const symbol ); // +++ Get, by symbol, non-const extern_c Handle2Element LibraryElementGetBySymbol( ConstHandle2Library This, - const std::string symbol + const char *const symbol ); // +++ Set, by symbol extern_c void LibraryElementSetBySymbol( ConstHandle2Library This, - const std::string symbol, + const char *const symbol, ConstHandle2ConstElement element ); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp index a609468d2..c98cd8357 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp @@ -227,7 +227,7 @@ MultigroupLibrarySet( int MultigroupLibraryHasByName( ConstHandle2ConstMultigroup This, - const std::string name + const char *const name ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"LibraryHasByName", @@ -238,7 +238,7 @@ MultigroupLibraryHasByName( Handle2ConstLibrary MultigroupLibraryGetByNameConst( ConstHandle2ConstMultigroup This, - const std::string name + const char *const name ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"LibraryGetByNameConst", @@ -249,7 +249,7 @@ MultigroupLibraryGetByNameConst( Handle2Library MultigroupLibraryGetByName( ConstHandle2Multigroup This, - const std::string name + const char *const name ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"LibraryGetByName", @@ -260,7 +260,7 @@ MultigroupLibraryGetByName( void MultigroupLibrarySetByName( ConstHandle2Multigroup This, - const std::string name, + const char *const name, ConstHandle2ConstLibrary library ) { detail::setByMetadatum diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h index d1ec8e304..ca544df14 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h @@ -182,28 +182,28 @@ MultigroupLibrarySet( extern_c int MultigroupLibraryHasByName( ConstHandle2ConstMultigroup This, - const std::string name + const char *const name ); // --- Get, by name, const extern_c Handle2ConstLibrary MultigroupLibraryGetByNameConst( ConstHandle2ConstMultigroup This, - const std::string name + const char *const name ); // +++ Get, by name, non-const extern_c Handle2Library MultigroupLibraryGetByName( ConstHandle2Multigroup This, - const std::string name + const char *const name ); // +++ Set, by name extern_c void MultigroupLibrarySetByName( ConstHandle2Multigroup This, - const std::string name, + const char *const name, ConstHandle2ConstLibrary library ); From 84c78bf818b9c374d6dfbda2f33f22b9fba5de69 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 16 Aug 2022 14:01:43 -0600 Subject: [PATCH 146/235] Script improvement. --- autogen/simple/compile-c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/autogen/simple/compile-c b/autogen/simple/compile-c index c58ac3f0c..6a85ec515 100755 --- a/autogen/simple/compile-c +++ b/autogen/simple/compile-c @@ -21,17 +21,18 @@ COMPILE=" # pugixml if [ ! -f "pugixml.o" ]; then -$COMPILE ../../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c + $COMPILE ../../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c & fi # Compile C++ -$COMPILE -c ../../../GNDStk/c/src/GNDStk.cpp +$COMPILE -c ../../../GNDStk/c/src/GNDStk.cpp & +$COMPILE -c multi/c/src/v1/multigroup/Foobar.cpp & +$COMPILE -c multi/c/src/v1/multigroup/Isotope.cpp & +$COMPILE -c multi/c/src/v1/multigroup/Element.cpp & +$COMPILE -c multi/c/src/v1/multigroup/Library.cpp & +$COMPILE -c multi/c/src/v1/multigroup/Multigroup.cpp & -$COMPILE -c multi/c/src/v1/multigroup/Foobar.cpp -$COMPILE -c multi/c/src/v1/multigroup/Isotope.cpp -$COMPILE -c multi/c/src/v1/multigroup/Element.cpp -$COMPILE -c multi/c/src/v1/multigroup/Library.cpp -$COMPILE -c multi/c/src/v1/multigroup/Multigroup.cpp +wait $(jobs -p) # Compile C clang \ From 5c34c5cb6ba8c71f3c0b5f8879dcaa2c8d95932e Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 16 Aug 2022 16:58:42 -0600 Subject: [PATCH 147/235] Maybe nlohmann/json origin/release/3.10.5 disappeared?? --- cmake/GNDStk_dependencies.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/GNDStk_dependencies.cmake b/cmake/GNDStk_dependencies.cmake index 34c3b9f5c..a355119b4 100644 --- a/cmake/GNDStk_dependencies.cmake +++ b/cmake/GNDStk_dependencies.cmake @@ -30,7 +30,7 @@ FetchContent_Declare(pugixml-adapter FetchContent_Declare(json GIT_REPOSITORY https://github.com/nlohmann/json.git - GIT_TAG origin/release/3.10.5 + GIT_TAG origin/master GIT_SHALLOW TRUE ) From 90edf6744e834bf96e5cb01cf22a416476c0502a Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 17 Aug 2022 13:06:53 -0600 Subject: [PATCH 148/235] Fixed a looping mistake and some other small glitches. --- autogen/json2class.cpp | 153 +++++++++--------- .../multi/c/src/v1/multigroup/Element.cpp | 26 +-- .../multi/c/src/v1/multigroup/Element.h | 8 +- .../multi/c/src/v1/multigroup/Foobar.cpp | 2 +- .../simple/multi/c/src/v1/multigroup/Foobar.h | 2 +- .../multi/c/src/v1/multigroup/Isotope.cpp | 6 +- .../multi/c/src/v1/multigroup/Isotope.h | 2 +- .../multi/c/src/v1/multigroup/Library.cpp | 8 +- .../multi/c/src/v1/multigroup/Library.h | 4 +- .../multi/c/src/v1/multigroup/Multigroup.cpp | 8 +- .../multi/c/src/v1/multigroup/Multigroup.h | 4 +- src/GNDStk/CInterface/src/detail.hpp | 71 ++++---- src/GNDStk/Component/src/field.hpp | 9 +- 13 files changed, 158 insertions(+), 145 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index cba8c4beb..5151e7bdd 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1735,7 +1735,7 @@ void sortDependencies(InfoSpecs &specs) // ----------------------------------------------------------------------------- -// Re: C++ header files +// For the C++ header files // fileGNDStkVersion // fileGNDStkKey // fileGNDStkClass @@ -2340,7 +2340,7 @@ void fileCInterfaceVector( ) { // section comment if (isSection) - section(hdr,src,"// Re: vector"); + section(hdr,src,"// Data vector"); else { assert(type != ""); two(hdr,src); @@ -2438,10 +2438,8 @@ void fileCInterfaceVector( // ----------------------------------------------------------------------------- // C interface: // fileCInterfaceMeta -// fileCInterfaceChild // ----------------------------------------------------------------------------- -// fileCInterfaceMeta void fileCInterfaceMeta( writer &hdr, writer &src, const PerClass &per, const InfoMetadata &m @@ -2451,7 +2449,7 @@ void fileCInterfaceMeta( const std::string meta = m.name; // section comment - section(hdr,src,"// Re: @", meta); + section(hdr,src,"// Metadatum: @", meta); // has if (m.isOptional) { @@ -2460,7 +2458,7 @@ void fileCInterfaceMeta( two(hdr,src,"@@Has(", Class, Meta, false); two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); - src(1,"return detail::hasMetadatum"); + src(1,"return detail::hasField"); src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Meta, meta); src("}"); } @@ -2472,7 +2470,7 @@ void fileCInterfaceMeta( two(hdr,src,"@@Get(", Class, Meta, false); two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); - src(1,"return detail::getMetadatum"); + src(1,"return detail::getField"); src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Meta, meta); src("}"); @@ -2482,12 +2480,17 @@ void fileCInterfaceMeta( two(hdr,src,"@@Set(", Class, Meta, false); two(hdr,src,"ConstHandle2@ This, const @ @", Class, mtype_param(m), meta, false); sig(hdr,src); - src(1,"detail::setMetadatum"); + src(1,"detail::setField"); src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Meta, meta, meta); src("}"); } + +// ----------------------------------------------------------------------------- +// C interface: // fileCInterfaceChild +// ----------------------------------------------------------------------------- + void fileCInterfaceChild( writer &hdr, writer &src, const InfoSpecs &specs, @@ -2498,7 +2501,7 @@ void fileCInterfaceChild( const std::string child = c.name; // section comment - section(hdr,src,"// Re: @", child); + section(hdr,src,"// Child: @", child); // has if (c.isOptional) { @@ -2507,7 +2510,7 @@ void fileCInterfaceChild( two(hdr,src,"@@Has(", Class, Child, false); two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); - src(1,"return detail::hasMetadatum"); + src(1,"return detail::hasField"); src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Child, child); src("}"); } @@ -2523,7 +2526,7 @@ void fileCInterfaceChild( two(hdr,src,"@@GetConst(", Class, Child, false); two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); - src(1,"return detail::getMetadatum", Child); + src(1,"return detail::getField", Child); src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@);", Child, child); src("}"); @@ -2533,7 +2536,7 @@ void fileCInterfaceChild( two(hdr,src,"@@Get(", Class, Child, false); two(hdr,src,"ConstHandle2@ This", Class, false); sig(hdr,src); - src(1,"return detail::getMetadatum", Child); + src(1,"return detail::getField", Child); src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Child, child); src("}"); @@ -2543,7 +2546,7 @@ void fileCInterfaceChild( two(hdr,src,"@@Set(", Class, Child, false); two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ @", Class, Child, child, false); sig(hdr,src); - src(1,"detail::setMetadatum", Child); + src(1,"detail::setField", Child); src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Child, child, child); src("}"); @@ -2620,73 +2623,71 @@ void fileCInterfaceChild( src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, index_, @);", Child, child, child); src("}"); - for (const auto &c : per.children) { - const auto it = specs.class2data.find(NamespaceAndClass(c.ns,c.plain)); - assert(it != specs.class2data.end()); - - for (const auto &m : it->second.metadata) { - const std::string Meta = UpperCamel(m.name); - const std::string meta = m.name; - - // has, by metadatum - PPP(hdr,src,"Has, by @", meta); - ext(hdr,src,"int"); - two(hdr,src,"@@HasBy@(", Class, Child, Meta, false); - two(hdr,src); - two(hdr,src,1,"ConstHandle2Const@ This,", Class); - two(hdr,src,1,"const @ @", mtype_param(m), meta); - sig(hdr,src,true); - src(1,"return detail::hasByMetadatum"); - src(2,"(CLASSNAME, CLASSNAME+\"@HasBy@\",", Child, Meta); - src(2," This, extract::@, meta::@, @);", child, meta, meta); - src("}"); - - // get, by metadatum, const - MMM(hdr,src,"Get, by @, const", meta); - ext(hdr,src,"Handle2Const@", Child); - two(hdr,src,"@@GetBy@Const(", Class, Child, Meta, false); - two(hdr,src); - two(hdr,src,1,"ConstHandle2Const@ This,", Class); - two(hdr,src,1,"const @ @", mtype_param(m), meta); - sig(hdr,src,true); - src(1,"return detail::getByMetadatum", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@Const\",", Child, Meta); - src(2," This, extract::@, meta::@, @);", child, meta, meta); - src("}"); - - // get, by metadatum, non-const - PPP(hdr,src,"Get, by @, non-const", meta); - ext(hdr,src,"Handle2@", Child); - two(hdr,src,"@@GetBy@(", Class, Child, Meta, false); - two(hdr,src); - two(hdr,src,1,"ConstHandle2@ This,", Class); - two(hdr,src,1,"const @ @", mtype_param(m), meta); - sig(hdr,src,true); - src(1,"return detail::getByMetadatum", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@\",", Child, Meta); - src(2," This, extract::@, meta::@, @);", child, meta, meta); - src("}"); - - // set, by metadatum - PPP(hdr,src,"Set, by @", meta); - ext(hdr,src,"void"); - two(hdr,src,"@@SetBy@(", Class, Child, Meta, false); - two(hdr,src); - two(hdr,src,1,"ConstHandle2@ This,", Class); - two(hdr,src,1,"const @ @,", mtype_param(m), meta); - two(hdr,src,1,"ConstHandle2Const@ @", Child, child); - sig(hdr,src,true); - src(1,"detail::setByMetadatum", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@SetBy@\",", Child, Meta); - src(2," This, extract::@, meta::@, @, @);", child, meta, meta, child); - src("}"); - } // metadata - } // children + const auto it = specs.class2data.find(NamespaceAndClass(c.ns,c.plain)); + assert(it != specs.class2data.end()); + + for (const auto &m : it->second.metadata) { + const std::string Meta = UpperCamel(m.name); + const std::string meta = m.name; + + // has, by metadatum + PPP(hdr,src,"Has, by @", meta); + ext(hdr,src,"int"); + two(hdr,src,"@@HasBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2Const@ This,", Class); + two(hdr,src,1,"const @ @", mtype_param(m), meta); + sig(hdr,src,true); + src(1,"return detail::hasByMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@HasBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + src("}"); + + // get, by metadatum, const + MMM(hdr,src,"Get, by @, const", meta); + ext(hdr,src,"Handle2Const@", Child); + two(hdr,src,"@@GetBy@Const(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2Const@ This,", Class); + two(hdr,src,1,"const @ @", mtype_param(m), meta); + sig(hdr,src,true); + src(1,"return detail::getByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@Const\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + src("}"); + + // get, by metadatum, non-const + PPP(hdr,src,"Get, by @, non-const", meta); + ext(hdr,src,"Handle2@", Child); + two(hdr,src,"@@GetBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2@ This,", Class); + two(hdr,src,1,"const @ @", mtype_param(m), meta); + sig(hdr,src,true); + src(1,"return detail::getByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + src("}"); + + // set, by metadatum + PPP(hdr,src,"Set, by @", meta); + ext(hdr,src,"void"); + two(hdr,src,"@@SetBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2@ This,", Class); + two(hdr,src,1,"const @ @,", mtype_param(m), meta); + two(hdr,src,1,"ConstHandle2Const@ @", Child, child); + sig(hdr,src,true); + src(1,"detail::setByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@SetBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @, @);", child, meta, meta, child); + src("}"); + } // metadata } // fileCInterfaceChild // ----------------------------------------------------------------------------- -// Re: C interface +// For the C interface // fileCInterfaceHeader // fileCInterfaceSource // fileCInterfaceCommon diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index 5f1f96d6c..3f6bfce81 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -158,14 +158,14 @@ ElementPrintJSON(ConstHandle2ConstElement This) // ----------------------------------------------------------------------------- -// Re: symbol +// Metadatum: symbol // ----------------------------------------------------------------------------- // Has int ElementSymbolHas(ConstHandle2ConstElement This) { - return detail::hasMetadatum + return detail::hasField (CLASSNAME, CLASSNAME+"SymbolHas", This, extract::symbol); } @@ -174,7 +174,7 @@ ElementSymbolHas(ConstHandle2ConstElement This) const char * ElementSymbolGet(ConstHandle2ConstElement This) { - return detail::getMetadatum + return detail::getField (CLASSNAME, CLASSNAME+"SymbolGet", This, extract::symbol); } @@ -182,13 +182,13 @@ ElementSymbolGet(ConstHandle2ConstElement This) void ElementSymbolSet(ConstHandle2Element This, const char *const symbol) { - detail::setMetadatum + detail::setField (CLASSNAME, CLASSNAME+"SymbolSet", This, extract::symbol, symbol); } // ----------------------------------------------------------------------------- -// Re: atomic_number +// Metadatum: atomic_number // ----------------------------------------------------------------------------- // Get @@ -196,7 +196,7 @@ ElementSymbolSet(ConstHandle2Element This, const char *const symbol) int ElementAtomicNumberGet(ConstHandle2ConstElement This) { - return detail::getMetadatum + return detail::getField (CLASSNAME, CLASSNAME+"AtomicNumberGet", This, extract::atomic_number); } @@ -204,13 +204,13 @@ ElementAtomicNumberGet(ConstHandle2ConstElement This) void ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number) { - detail::setMetadatum + detail::setField (CLASSNAME, CLASSNAME+"AtomicNumberSet", This, extract::atomic_number, atomic_number); } // ----------------------------------------------------------------------------- -// Re: isotope +// Child: isotope // ----------------------------------------------------------------------------- // Clear @@ -311,14 +311,14 @@ ElementIsotopeSetByMassNumber( // ----------------------------------------------------------------------------- -// Re: foobar +// Child: foobar // ----------------------------------------------------------------------------- // Has int ElementFoobarHas(ConstHandle2ConstElement This) { - return detail::hasMetadatum + return detail::hasField (CLASSNAME, CLASSNAME+"FoobarHas", This, extract::foobar); } @@ -326,7 +326,7 @@ ElementFoobarHas(ConstHandle2ConstElement This) Handle2ConstFoobar ElementFoobarGetConst(ConstHandle2ConstElement This) { - return detail::getMetadatum + return detail::getField (CLASSNAME, CLASSNAME+"FoobarGetConst", This, extract::foobar); } @@ -334,7 +334,7 @@ ElementFoobarGetConst(ConstHandle2ConstElement This) Handle2Foobar ElementFoobarGet(ConstHandle2Element This) { - return detail::getMetadatum + return detail::getField (CLASSNAME, CLASSNAME+"FoobarGet", This, extract::foobar); } @@ -342,6 +342,6 @@ ElementFoobarGet(ConstHandle2Element This) void ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar) { - detail::setMetadatum + detail::setField (CLASSNAME, CLASSNAME+"FoobarSet", This, extract::foobar, foobar); } diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index c38b79d67..415e0c926 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -138,7 +138,7 @@ ElementPrintJSON(ConstHandle2ConstElement This); // ----------------------------------------------------------------------------- -// Re: symbol +// Metadatum: symbol // ----------------------------------------------------------------------------- // +++ Has @@ -156,7 +156,7 @@ ElementSymbolSet(ConstHandle2Element This, const char *const symbol); // ----------------------------------------------------------------------------- -// Re: atomic_number +// Metadatum: atomic_number // ----------------------------------------------------------------------------- // +++ Get @@ -170,7 +170,7 @@ ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number); // ----------------------------------------------------------------------------- -// Re: isotope +// Child: isotope // ----------------------------------------------------------------------------- // +++ Clear @@ -232,7 +232,7 @@ ElementIsotopeSetByMassNumber( // ----------------------------------------------------------------------------- -// Re: foobar +// Child: foobar // ----------------------------------------------------------------------------- // +++ Has diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index 0f838643e..1549e2a5d 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -128,7 +128,7 @@ FoobarPrintJSON(ConstHandle2ConstFoobar This) // ----------------------------------------------------------------------------- -// Re: vector +// Data vector // ----------------------------------------------------------------------------- // Clear diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index 68d156391..eedf0d2e5 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -126,7 +126,7 @@ FoobarPrintJSON(ConstHandle2ConstFoobar This); // ----------------------------------------------------------------------------- -// Re: vector +// Data vector // ----------------------------------------------------------------------------- // +++ Clear diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp index 570d45390..e66e316e1 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp @@ -136,7 +136,7 @@ IsotopePrintJSON(ConstHandle2ConstIsotope This) // ----------------------------------------------------------------------------- -// Re: mass_number +// Metadatum: mass_number // ----------------------------------------------------------------------------- // Get @@ -144,7 +144,7 @@ IsotopePrintJSON(ConstHandle2ConstIsotope This) int IsotopeMassNumberGet(ConstHandle2ConstIsotope This) { - return detail::getMetadatum + return detail::getField (CLASSNAME, CLASSNAME+"MassNumberGet", This, extract::mass_number); } @@ -152,6 +152,6 @@ IsotopeMassNumberGet(ConstHandle2ConstIsotope This) void IsotopeMassNumberSet(ConstHandle2Isotope This, const int mass_number) { - detail::setMetadatum + detail::setField (CLASSNAME, CLASSNAME+"MassNumberSet", This, extract::mass_number, mass_number); } diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h index daea5c9fd..167c43ecc 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -130,7 +130,7 @@ IsotopePrintJSON(ConstHandle2ConstIsotope This); // ----------------------------------------------------------------------------- -// Re: mass_number +// Metadatum: mass_number // ----------------------------------------------------------------------------- // +++ Get diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp index 061cf8cb0..461d7001f 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp @@ -147,7 +147,7 @@ LibraryPrintJSON(ConstHandle2ConstLibrary This) // ----------------------------------------------------------------------------- -// Re: name +// Metadatum: name // ----------------------------------------------------------------------------- // Get @@ -155,7 +155,7 @@ LibraryPrintJSON(ConstHandle2ConstLibrary This) const char * LibraryNameGet(ConstHandle2ConstLibrary This) { - return detail::getMetadatum + return detail::getField (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); } @@ -163,13 +163,13 @@ LibraryNameGet(ConstHandle2ConstLibrary This) void LibraryNameSet(ConstHandle2Library This, const char *const name) { - detail::setMetadatum + detail::setField (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); } // ----------------------------------------------------------------------------- -// Re: element +// Child: element // ----------------------------------------------------------------------------- // Clear diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.h b/autogen/simple/multi/c/src/v1/multigroup/Library.h index 5ad7db2e0..14a0cdc0e 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.h @@ -133,7 +133,7 @@ LibraryPrintJSON(ConstHandle2ConstLibrary This); // ----------------------------------------------------------------------------- -// Re: name +// Metadatum: name // ----------------------------------------------------------------------------- // +++ Get @@ -147,7 +147,7 @@ LibraryNameSet(ConstHandle2Library This, const char *const name); // ----------------------------------------------------------------------------- -// Re: element +// Child: element // ----------------------------------------------------------------------------- // +++ Clear diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp index c98cd8357..72aba9a6c 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp @@ -147,7 +147,7 @@ MultigroupPrintJSON(ConstHandle2ConstMultigroup This) // ----------------------------------------------------------------------------- -// Re: projectile +// Metadatum: projectile // ----------------------------------------------------------------------------- // Get @@ -155,7 +155,7 @@ MultigroupPrintJSON(ConstHandle2ConstMultigroup This) const char * MultigroupProjectileGet(ConstHandle2ConstMultigroup This) { - return detail::getMetadatum + return detail::getField (CLASSNAME, CLASSNAME+"ProjectileGet", This, extract::projectile); } @@ -163,13 +163,13 @@ MultigroupProjectileGet(ConstHandle2ConstMultigroup This) void MultigroupProjectileSet(ConstHandle2Multigroup This, const char *const projectile) { - detail::setMetadatum + detail::setField (CLASSNAME, CLASSNAME+"ProjectileSet", This, extract::projectile, projectile); } // ----------------------------------------------------------------------------- -// Re: library +// Child: library // ----------------------------------------------------------------------------- // Clear diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h index ca544df14..c8e4daac7 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h @@ -133,7 +133,7 @@ MultigroupPrintJSON(ConstHandle2ConstMultigroup This); // ----------------------------------------------------------------------------- -// Re: projectile +// Metadatum: projectile // ----------------------------------------------------------------------------- // +++ Get @@ -147,7 +147,7 @@ MultigroupProjectileSet(ConstHandle2Multigroup This, const char *const projectil // ----------------------------------------------------------------------------- -// Re: library +// Child: library // ----------------------------------------------------------------------------- // +++ Clear diff --git a/src/GNDStk/CInterface/src/detail.hpp b/src/GNDStk/CInterface/src/detail.hpp index 034e2e58d..e08961576 100644 --- a/src/GNDStk/CInterface/src/detail.hpp +++ b/src/GNDStk/CInterface/src/detail.hpp @@ -269,25 +269,26 @@ int printHandle( // has, get, set // ----------------------------------------------------------------------------- -// hasMetadatum +// hasField template -bool hasMetadatum( +bool hasField( const std::string &classname, const std::string &funname, const C *const ptr, const EXTRACT &extract ) { try { - return extract(tocpp(ptr))->has(); + const auto &field = *extract(tocpp(ptr)); + return field.has(); } catch (...) { log::function("{}({} handle = {})", funname, classname, (void *)ptr); return false; } } -// getMetadatum +// getField template -auto getMetadatum( +auto getField( const std::string &classname, const std::string &funname, const C *const ptr, @@ -296,29 +297,38 @@ auto getMetadatum( using T = std::decay_t(ptr))->value())>; try { - const T &ret = extract(tocpp(ptr))->value(); - if constexpr (!std::is_same_v) { - return (HANDLE)(&ret); - } else if constexpr (std::is_same_v) { - return ret.c_str(); + const auto &field = *extract(tocpp(ptr)); + const T &ret = field.value(); // .value() gets us into any std::optional + if constexpr (std::is_same_v) { + // metadatum + if constexpr (std::is_same_v) { + return ret.c_str(); + } else { + return ret; + } } else { - return ret; + // child + return (HANDLE)(&ret); } } catch (...) { log::function("{}({} handle = {})", funname, classname, (void *)ptr); - if constexpr (!std::is_same_v) { - return (HANDLE)nullptr; - } else if constexpr (std::is_same_v) { - return ""; + if constexpr (std::is_same_v) { + // metadatum + if constexpr (std::is_same_v) { + return ""; + } else { + return T{}; + } } else { - return T{}; + // child + return (HANDLE)nullptr; } } } -// setMetadatum +// setField template -void setMetadatum( +void setField( const std::string &classname, const std::string &funname, C *const ptr, @@ -326,10 +336,14 @@ void setMetadatum( const T &newvalue ) { try { - if constexpr (!std::is_same_v) - extract(tocpp(ptr))->replace(tocpp(newvalue)); - else - extract(tocpp(ptr))->replace(newvalue); + auto &field = *extract(tocpp(ptr)); + if constexpr (std::is_same_v) { + // metadatum + field.replace(newvalue); + } else { + // child + field.replace(tocpp(newvalue)); + } } catch (...) { log::function( "{}({} handle = {}, value)", funname, classname, (void *)ptr); @@ -353,7 +367,7 @@ void clearContainer( auto &container = (*extract(tocpp(ptr)))(); if constexpr (isOptional) { if (container) - container.clear(); + container->clear(); } else container.clear(); } catch (...) { @@ -374,7 +388,7 @@ size_t sizeOfContainer( try { auto &container = (*extract(tocpp(ptr)))(); if constexpr (isOptional) - return container ? container.size() : 0; + return container ? container->size() : 0; else return container.size(); } catch (...) { @@ -391,7 +405,7 @@ size_t sizeOfContainer( // ----------------------------------------------------------------------------- // addToContainer -template +template void addToContainer( const std::string &classname, const std::string &funname, @@ -401,12 +415,7 @@ void addToContainer( ) { try { auto &field = *extract(tocpp(ptr)); - if constexpr (!std::is_same_v) { - field.add(tocpp(value)); - } else { - // todo Will this case arise? - field.add(value); - } + field.add(tocpp(value)); } catch (...) { log::error("Exception thrown in detail::addToContainer"); log::function( diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index cbdc69d7b..a4fd7f388 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -28,7 +28,7 @@ class Field { // Constructors // ------------------------ - // Because data member [DERIVED &parent] would be wrong + // Because parent would be wrong Field(const Field &) = delete; // no copy Field(Field &&) = delete; // no move @@ -107,13 +107,16 @@ class Field { // where necessary // ------------------------ + // Note: the parentheses in "return (wrappedValue)" are necessary in + // these, so that the decltype(auto) return types produce references! + // const decltype(auto) value() const { if constexpr (detail::isOptional) return wrappedValue.value(); else - return wrappedValue; + return (wrappedValue); } // non-const @@ -122,7 +125,7 @@ class Field { if constexpr (detail::isOptional) return wrappedValue.value(); else - return wrappedValue; + return (wrappedValue); } // ------------------------ From 63cccad772f1ce71371989d2ebae8d6444705ac2 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 17 Aug 2022 18:18:49 -0600 Subject: [PATCH 149/235] Account for a goofy C (not C++) constness wrinkle. Small name changes. --- autogen/json2class.cpp | 15 ++++++++++++--- c/src/GNDStk.cpp | 8 ++++---- c/src/GNDStk.h | 8 ++++---- src/GNDStk/utility.hpp | 3 ++- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 5151e7bdd..7566d0c31 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -2091,8 +2091,13 @@ std::string mtype_return(const InfoMetadata &m) // Get child-node type, for C interface std::string ctype(const InfoChildren &c) { + // Why not ...2Const... in the first case? See: + // https://stackoverflow.com/questions/5055655 + // and: + // https://c-faq.com/ansi/constmismatch.html + // Remember that we're making C code here, not C++. return c.isVector - ? "ConstHandle2Const" + c.plain + " *const" + ? "ConstHandle2" + c.plain + " *const" : "ConstHandle2Const" + c.plain; } @@ -2123,14 +2128,18 @@ void fileCInterfaceCreateParams(writer &hdr, writer &src, const PerClass &per) for (const auto &m : per.metadata) { two(hdr,src); two(hdr,src,1,"const @ @@", - mtype_param(m), m.name, ++count < total ? "," : "", false); + mtype_param(m), + m.name, + ++count < total ? "," : "", + false); } // children for (const auto &c : per.children) { two(hdr,src); two(hdr,src,1,"@ @@@", - ctype(c), c.name, + ctype(c), + c.name, c.isVector ? ", const size_t "+c.name+"Size" : "", ++count < total ? "," : "", false diff --git a/c/src/GNDStk.cpp b/c/src/GNDStk.cpp index ebdc162c9..aed1a15f9 100644 --- a/c/src/GNDStk.cpp +++ b/c/src/GNDStk.cpp @@ -27,7 +27,7 @@ void align(const int value) njoy::GNDStk::align = bool(value); } -void colors(const int value) +void color(const int value) { njoy::GNDStk::color = bool(value); } @@ -58,17 +58,17 @@ void truncation(const long value) // Re: GNDStk diagnostics // ------------------------ -void notes(const int value) +void note(const int value) { njoy::GNDStk::info = bool(value); } -void warnings(const int value) +void warning(const int value) { njoy::GNDStk::warning = bool(value); } -void debugs(const int value) +void debug(const int value) { njoy::GNDStk::debug = bool(value); } diff --git a/c/src/GNDStk.h b/c/src/GNDStk.h index 9b872c32c..28c6d53ce 100644 --- a/c/src/GNDStk.h +++ b/c/src/GNDStk.h @@ -25,15 +25,15 @@ extern_C void indent(const int); extern_C void align(const int); -extern_C void colors(const int); +extern_C void color(const int); extern_C void comments(const int); extern_C void columns(const long); extern_C void truncation(const long); -extern_C void notes(const int); -extern_C void warnings(const int); -extern_C void debugs(const int); +extern_C void note(const int); +extern_C void warning(const int); +extern_C void debug(const int); extern_C void context(const int); // todo diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index de8413bcf..7f331a435 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -201,7 +201,8 @@ inline long truncate = -1; // those are in namespace GNDStk::log; so, the names don't conflict. // Print info messages? (with log::info()) -inline bool info = true; +inline bool info = true; +inline bool ¬e = info; // alias // Print warnings? (with log::warning()) inline bool warning = true; From d90cdb79058b2bedd851d4048107cc210b0a1e59 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 19 Aug 2022 17:26:46 -0600 Subject: [PATCH 150/235] C interface: made Has() work for all fields, optional or not. Basically, that was for consistency. Did a bit of reformatting in json2class.cpp. --- autogen/json2class.cpp | 70 +++++++++++++++++++++++++++--------------- 1 file changed, 46 insertions(+), 24 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 7566d0c31..34708ab9d 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -2244,11 +2244,14 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) // assign PPP(hdr,src,"Assign"); - ppp(hdr,src,"Use this to assign one handled object to another. Don't assign handles,"); - ppp(hdr,src,"as with to = from. That has a meaning that you probably don't intend."); + ppp(hdr,src,"Use this to assign one handled object to another. " + "Don't assign handles,"); + ppp(hdr,src,"as with to = from. That has a meaning that you probably " + "don't intend."); ext(hdr,src,"void"); two(hdr,src,"@Assign(", per.clname, false); - two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ from", per.clname, per.clname, false); + two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ from", + per.clname, per.clname, false); sig(hdr,src); src(1,"detail::assignHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Assign\", This, from);"); @@ -2256,8 +2259,10 @@ void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) // delete PPP(hdr,src,"Delete"); - ppp(hdr,src,"We'll attempt to remove no-longer-used objects automatically, but you"); - ppp(hdr,src,"may improve performance if you delete them when you're done with them."); + ppp(hdr,src,"We'll attempt to remove no-longer-used objects " + "automatically, but you"); + ppp(hdr,src,"may improve performance if you delete them when " + "you're done with them."); ext(hdr,src,"void"); two(hdr,src,"@Delete(", per.clname, false); two(hdr,src,"ConstHandle2Const@ This", per.clname, false); @@ -2284,10 +2289,12 @@ void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) // read from file PPP(hdr,src,"Read from file"); ppp(hdr,src,"File can be XML, JSON, or HDF5."); - ppp(hdr,src,"We'll examine the file's contents to determine its type automatically."); + ppp(hdr,src,"We'll examine the file's contents to determine " + "its type automatically."); ext(hdr,src,"int"); two(hdr,src,"@Read(", per.clname, false); - two(hdr,src,"ConstHandle2@ This, const char *const filename", per.clname, false); + two(hdr,src,"ConstHandle2@ This, const char *const filename", + per.clname, false); sig(hdr,src); src(1,"return detail::readHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Read\", This, filename);"); @@ -2296,10 +2303,12 @@ void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) // write to file PPP(hdr,src,"Write to file"); ppp(hdr,src,"File can be XML, JSON, or HDF5."); - ppp(hdr,src,"We'll use filename's extension to determine the type you want written."); + ppp(hdr,src,"We'll use filename's extension to determine " + "the type you want written."); ext(hdr,src,"int"); two(hdr,src,"@Write(", per.clname, false); - two(hdr,src,"ConstHandle2Const@ This, const char *const filename", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This, const char *const filename", + per.clname, false); sig(hdr,src); src(1,"return detail::writeHandle"); src(2,"(CLASSNAME, CLASSNAME+\"Write\", This, filename);"); @@ -2409,7 +2418,8 @@ void fileCInterfaceVector( ppp(hdr,src,"By index \\in [0,size)"); ext(hdr,src,"void"); two(hdr,src,"@@Set(", Class, Types, false); - two(hdr,src,"ConstHandle2@ This, const size_t index, const @ value", Class, type, false); + two(hdr,src,"ConstHandle2@ This, const size_t index, const @ value", + Class, type, false); sig(hdr,src); src(1,"detail::vectorSet", type); src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, index, value);", Types); @@ -2436,7 +2446,8 @@ void fileCInterfaceVector( PPP(hdr,src,"Set completely new values and size"); ext(hdr,src,"void"); two(hdr,src,"@@SetArray(", Class, Types, false); - two(hdr,src,"ConstHandle2@ This, const @ *const values, const size_t size", Class, type, false); + two(hdr,src,"ConstHandle2@ This, const @ *const values, const size_t size", + Class, type, false); sig(hdr,src); src(1,"return detail::vectorSet", type); src(2,"(CLASSNAME, CLASSNAME+\"@SetArray\", This, size, values);", Types); @@ -2461,7 +2472,8 @@ void fileCInterfaceMeta( section(hdr,src,"// Metadatum: @", meta); // has - if (m.isOptional) { + // if (m.isOptional) // <== may or may not want this + { PPP(hdr,src,"Has"); ext(hdr,src,"int"); two(hdr,src,"@@Has(", Class, Meta, false); @@ -2487,10 +2499,12 @@ void fileCInterfaceMeta( PPP(hdr,src,"Set"); ext(hdr,src,"void"); two(hdr,src,"@@Set(", Class, Meta, false); - two(hdr,src,"ConstHandle2@ This, const @ @", Class, mtype_param(m), meta, false); + two(hdr,src,"ConstHandle2@ This, const @ @", + Class, mtype_param(m), meta, false); sig(hdr,src); src(1,"detail::setField"); - src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Meta, meta, meta); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", + Meta, meta, meta); src("}"); } @@ -2513,7 +2527,8 @@ void fileCInterfaceChild( section(hdr,src,"// Child: @", child); // has - if (c.isOptional) { + // if (c.isOptional) // <== may or may not want this + { PPP(hdr,src,"Has"); ext(hdr,src,"int"); two(hdr,src,"@@Has(", Class, Child, false); @@ -2536,7 +2551,8 @@ void fileCInterfaceChild( two(hdr,src,"ConstHandle2Const@ This", Class, false); sig(hdr,src); src(1,"return detail::getField", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@);", Child, child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@);", + Child, child); src("}"); // get, non-const @@ -2553,10 +2569,12 @@ void fileCInterfaceChild( PPP(hdr,src,"Set"); ext(hdr,src,"void"); two(hdr,src,"@@Set(", Class, Child, false); - two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ @", Class, Child, child, false); + two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ @", + Class, Child, child, false); sig(hdr,src); src(1,"detail::setField", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", Child, child, child); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", + Child, child, child); src("}"); return; @@ -2594,7 +2612,8 @@ void fileCInterfaceChild( two(hdr,src,"ConstHandle2Const@ @", Child, child, false); sig(hdr,src); src(1,"detail::addToContainer", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@Add\", This, extract::@, @);", Child, child, child); + src(2,"(CLASSNAME, CLASSNAME+\"@Add\", This, extract::@, @);", + Child, child, child); src("}"); // get, by index, const @@ -2605,7 +2624,8 @@ void fileCInterfaceChild( two(hdr,src,"const size_t index_", false); sig(hdr,src); src(1,"return detail::getByIndex", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@, index_);", Child, child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@, index_);", + Child, child); src("}"); // get, by index, non-const @@ -2616,7 +2636,8 @@ void fileCInterfaceChild( two(hdr,src,"const size_t index_", false); sig(hdr,src); src(1,"return detail::getByIndex", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@, index_);", Child, child); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@, index_);", + Child, child); src("}"); // set, by index @@ -2629,7 +2650,8 @@ void fileCInterfaceChild( two(hdr,src,1,"ConstHandle2Const@ @", Child, child); sig(hdr,src,true); src(1,"detail::setByIndex", Child); - src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, index_, @);", Child, child, child); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, index_, @);", + Child, child, child); src("}"); const auto it = specs.class2data.find(NamespaceAndClass(c.ns,c.plain)); @@ -2766,14 +2788,14 @@ void fileCInterfaceHeader( section(hdr, "// Handle types"); hdr(); hdr("// +++ @", per.clname); - hdr("// +++ General handle, suitable for many users. " + hdr("// +++ General handle, suitable for most users. " "If you're not concerned about"); hdr("// +++ strict \"const correctness\" in your C code, " "you can probably use this in"); hdr("// +++ place of any function parameter of a const-aware handle type."); hdr("typedef struct @Class *@;", per.clname, per.clname); hdr(); - hdr("// --- Const-aware handles, re: constness of handle vs. handled object."); + hdr("// --- Const-aware handles."); hdr("typedef const struct @Class *const ConstHandle2Const@;", per.clname, per.clname); hdr("typedef struct @Class *const ConstHandle2@;", From 21d015146ec9993c7c425b4ecd29edd3ef3e99a5 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 22 Aug 2022 10:07:38 -0600 Subject: [PATCH 151/235] Updating generated codes. Small changes in a couple of scripts. --- autogen/simple/clean | 2 +- autogen/simple/compile-c | 6 ++++-- .../multi/c/src/v1/multigroup/Element.cpp | 20 +++++++++++++++++-- .../multi/c/src/v1/multigroup/Element.h | 16 +++++++++++---- .../simple/multi/c/src/v1/multigroup/Foobar.h | 4 ++-- .../multi/c/src/v1/multigroup/Isotope.cpp | 8 ++++++++ .../multi/c/src/v1/multigroup/Isotope.h | 8 ++++++-- .../multi/c/src/v1/multigroup/Library.cpp | 20 +++++++++++++++++-- .../multi/c/src/v1/multigroup/Library.h | 16 +++++++++++---- .../multi/c/src/v1/multigroup/Multigroup.cpp | 20 +++++++++++++++++-- .../multi/c/src/v1/multigroup/Multigroup.h | 16 +++++++++++---- 11 files changed, 111 insertions(+), 25 deletions(-) diff --git a/autogen/simple/clean b/autogen/simple/clean index 3beee763d..a4eb9d408 100755 --- a/autogen/simple/clean +++ b/autogen/simple/clean @@ -1,3 +1,3 @@ #!/bin/bash -/bin/rm -f *.o c cpp out *~ +/bin/rm -f *.o *.exe out *~ diff --git a/autogen/simple/compile-c b/autogen/simple/compile-c index 6a85ec515..d6e8efc30 100755 --- a/autogen/simple/compile-c +++ b/autogen/simple/compile-c @@ -3,8 +3,10 @@ # C++ compilation command COMPILE=" clang++ -std=c++17 - -I../../../GNDStk/src -I../../../GNDStk/c/src - -Imulti/src -Imulti/c/src + -I../../../GNDStk/src + -I../../../GNDStk/c/src + -Imulti/src + -Imulti/c/src -I../../../GNDStk/build/_deps/pugixml-adapter-src/src/src -I../../../GNDStk/build/_deps/hdf5-src/include -I../../../GNDStk/build/_deps/json-src/include diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index 3f6bfce81..82f796f0f 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -50,7 +50,7 @@ Handle2ConstElement ElementCreateConst( const char *const symbol, const int atomic_number, - ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2Isotope *const isotope, const size_t isotopeSize, ConstHandle2ConstFoobar foobar ) { ConstHandle2Element handle = detail::createHandle( @@ -70,7 +70,7 @@ Handle2Element ElementCreate( const char *const symbol, const int atomic_number, - ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2Isotope *const isotope, const size_t isotopeSize, ConstHandle2ConstFoobar foobar ) { ConstHandle2Element handle = detail::createHandle( @@ -191,6 +191,14 @@ ElementSymbolSet(ConstHandle2Element This, const char *const symbol) // Metadatum: atomic_number // ----------------------------------------------------------------------------- +// Has +int +ElementAtomicNumberHas(ConstHandle2ConstElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AtomicNumberHas", This, extract::atomic_number); +} + // Get // Returns by value int @@ -213,6 +221,14 @@ ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number) // Child: isotope // ----------------------------------------------------------------------------- +// Has +int +ElementIsotopeHas(ConstHandle2ConstElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IsotopeHas", This, extract::isotope); +} + // Clear void ElementIsotopeClear(ConstHandle2Element This) diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index 415e0c926..117db37d0 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -50,12 +50,12 @@ struct ElementClass { }; // ----------------------------------------------------------------------------- // +++ Element -// +++ General handle, suitable for many users. If you're not concerned about +// +++ General handle, suitable for most users. If you're not concerned about // +++ strict "const correctness" in your C code, you can probably use this in // +++ place of any function parameter of a const-aware handle type. typedef struct ElementClass *Element; -// --- Const-aware handles, re: constness of handle vs. handled object. +// --- Const-aware handles. typedef const struct ElementClass *const ConstHandle2ConstElement; typedef struct ElementClass *const ConstHandle2Element; typedef const struct ElementClass * Handle2ConstElement; @@ -80,7 +80,7 @@ extern_c Handle2ConstElement ElementCreateConst( const char *const symbol, const int atomic_number, - ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2Isotope *const isotope, const size_t isotopeSize, ConstHandle2ConstFoobar foobar ); @@ -89,7 +89,7 @@ extern_c Handle2Element ElementCreate( const char *const symbol, const int atomic_number, - ConstHandle2ConstIsotope *const isotope, const size_t isotopeSize, + ConstHandle2Isotope *const isotope, const size_t isotopeSize, ConstHandle2ConstFoobar foobar ); @@ -159,6 +159,10 @@ ElementSymbolSet(ConstHandle2Element This, const char *const symbol); // Metadatum: atomic_number // ----------------------------------------------------------------------------- +// +++ Has +extern_c int +ElementAtomicNumberHas(ConstHandle2ConstElement This); + // +++ Get // +++ Returns by value extern_c int @@ -173,6 +177,10 @@ ElementAtomicNumberSet(ConstHandle2Element This, const int atomic_number); // Child: isotope // ----------------------------------------------------------------------------- +// +++ Has +extern_c int +ElementIsotopeHas(ConstHandle2ConstElement This); + // +++ Clear extern_c void ElementIsotopeClear(ConstHandle2Element This); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index eedf0d2e5..a33d1c11c 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -48,12 +48,12 @@ struct FoobarClass { }; // ----------------------------------------------------------------------------- // +++ Foobar -// +++ General handle, suitable for many users. If you're not concerned about +// +++ General handle, suitable for most users. If you're not concerned about // +++ strict "const correctness" in your C code, you can probably use this in // +++ place of any function parameter of a const-aware handle type. typedef struct FoobarClass *Foobar; -// --- Const-aware handles, re: constness of handle vs. handled object. +// --- Const-aware handles. typedef const struct FoobarClass *const ConstHandle2ConstFoobar; typedef struct FoobarClass *const ConstHandle2Foobar; typedef const struct FoobarClass * Handle2ConstFoobar; diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp index e66e316e1..70087fbe9 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp @@ -139,6 +139,14 @@ IsotopePrintJSON(ConstHandle2ConstIsotope This) // Metadatum: mass_number // ----------------------------------------------------------------------------- +// Has +int +IsotopeMassNumberHas(ConstHandle2ConstIsotope This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MassNumberHas", This, extract::mass_number); +} + // Get // Returns by value int diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h index 167c43ecc..a2e88aebd 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -48,12 +48,12 @@ struct IsotopeClass { }; // ----------------------------------------------------------------------------- // +++ Isotope -// +++ General handle, suitable for many users. If you're not concerned about +// +++ General handle, suitable for most users. If you're not concerned about // +++ strict "const correctness" in your C code, you can probably use this in // +++ place of any function parameter of a const-aware handle type. typedef struct IsotopeClass *Isotope; -// --- Const-aware handles, re: constness of handle vs. handled object. +// --- Const-aware handles. typedef const struct IsotopeClass *const ConstHandle2ConstIsotope; typedef struct IsotopeClass *const ConstHandle2Isotope; typedef const struct IsotopeClass * Handle2ConstIsotope; @@ -133,6 +133,10 @@ IsotopePrintJSON(ConstHandle2ConstIsotope This); // Metadatum: mass_number // ----------------------------------------------------------------------------- +// +++ Has +extern_c int +IsotopeMassNumberHas(ConstHandle2ConstIsotope This); + // +++ Get // +++ Returns by value extern_c int diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp index 461d7001f..494a4ce09 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp @@ -46,7 +46,7 @@ LibraryDefault() Handle2ConstLibrary LibraryCreateConst( const char *const name, - ConstHandle2ConstElement *const element, const size_t elementSize + ConstHandle2Element *const element, const size_t elementSize ) { ConstHandle2Library handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", @@ -62,7 +62,7 @@ LibraryCreateConst( Handle2Library LibraryCreate( const char *const name, - ConstHandle2ConstElement *const element, const size_t elementSize + ConstHandle2Element *const element, const size_t elementSize ) { ConstHandle2Library handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", @@ -150,6 +150,14 @@ LibraryPrintJSON(ConstHandle2ConstLibrary This) // Metadatum: name // ----------------------------------------------------------------------------- +// Has +int +LibraryNameHas(ConstHandle2ConstLibrary This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + // Get // Returns by value const char * @@ -172,6 +180,14 @@ LibraryNameSet(ConstHandle2Library This, const char *const name) // Child: element // ----------------------------------------------------------------------------- +// Has +int +LibraryElementHas(ConstHandle2ConstLibrary This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ElementHas", This, extract::element); +} + // Clear void LibraryElementClear(ConstHandle2Library This) diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.h b/autogen/simple/multi/c/src/v1/multigroup/Library.h index 14a0cdc0e..f1171929f 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.h @@ -49,12 +49,12 @@ struct LibraryClass { }; // ----------------------------------------------------------------------------- // +++ Library -// +++ General handle, suitable for many users. If you're not concerned about +// +++ General handle, suitable for most users. If you're not concerned about // +++ strict "const correctness" in your C code, you can probably use this in // +++ place of any function parameter of a const-aware handle type. typedef struct LibraryClass *Library; -// --- Const-aware handles, re: constness of handle vs. handled object. +// --- Const-aware handles. typedef const struct LibraryClass *const ConstHandle2ConstLibrary; typedef struct LibraryClass *const ConstHandle2Library; typedef const struct LibraryClass * Handle2ConstLibrary; @@ -78,14 +78,14 @@ LibraryDefault(); extern_c Handle2ConstLibrary LibraryCreateConst( const char *const name, - ConstHandle2ConstElement *const element, const size_t elementSize + ConstHandle2Element *const element, const size_t elementSize ); // +++ Create, general extern_c Handle2Library LibraryCreate( const char *const name, - ConstHandle2ConstElement *const element, const size_t elementSize + ConstHandle2Element *const element, const size_t elementSize ); // +++ Assign @@ -136,6 +136,10 @@ LibraryPrintJSON(ConstHandle2ConstLibrary This); // Metadatum: name // ----------------------------------------------------------------------------- +// +++ Has +extern_c int +LibraryNameHas(ConstHandle2ConstLibrary This); + // +++ Get // +++ Returns by value extern_c const char * @@ -150,6 +154,10 @@ LibraryNameSet(ConstHandle2Library This, const char *const name); // Child: element // ----------------------------------------------------------------------------- +// +++ Has +extern_c int +LibraryElementHas(ConstHandle2ConstLibrary This); + // +++ Clear extern_c void LibraryElementClear(ConstHandle2Library This); diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp index 72aba9a6c..c34ccd936 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp @@ -46,7 +46,7 @@ MultigroupDefault() Handle2ConstMultigroup MultigroupCreateConst( const char *const projectile, - ConstHandle2ConstLibrary *const library, const size_t librarySize + ConstHandle2Library *const library, const size_t librarySize ) { ConstHandle2Multigroup handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", @@ -62,7 +62,7 @@ MultigroupCreateConst( Handle2Multigroup MultigroupCreate( const char *const projectile, - ConstHandle2ConstLibrary *const library, const size_t librarySize + ConstHandle2Library *const library, const size_t librarySize ) { ConstHandle2Multigroup handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", @@ -150,6 +150,14 @@ MultigroupPrintJSON(ConstHandle2ConstMultigroup This) // Metadatum: projectile // ----------------------------------------------------------------------------- +// Has +int +MultigroupProjectileHas(ConstHandle2ConstMultigroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileHas", This, extract::projectile); +} + // Get // Returns by value const char * @@ -172,6 +180,14 @@ MultigroupProjectileSet(ConstHandle2Multigroup This, const char *const projectil // Child: library // ----------------------------------------------------------------------------- +// Has +int +MultigroupLibraryHas(ConstHandle2ConstMultigroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LibraryHas", This, extract::library); +} + // Clear void MultigroupLibraryClear(ConstHandle2Multigroup This) diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h index c8e4daac7..0057d43fb 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h @@ -49,12 +49,12 @@ struct MultigroupClass { }; // ----------------------------------------------------------------------------- // +++ Multigroup -// +++ General handle, suitable for many users. If you're not concerned about +// +++ General handle, suitable for most users. If you're not concerned about // +++ strict "const correctness" in your C code, you can probably use this in // +++ place of any function parameter of a const-aware handle type. typedef struct MultigroupClass *Multigroup; -// --- Const-aware handles, re: constness of handle vs. handled object. +// --- Const-aware handles. typedef const struct MultigroupClass *const ConstHandle2ConstMultigroup; typedef struct MultigroupClass *const ConstHandle2Multigroup; typedef const struct MultigroupClass * Handle2ConstMultigroup; @@ -78,14 +78,14 @@ MultigroupDefault(); extern_c Handle2ConstMultigroup MultigroupCreateConst( const char *const projectile, - ConstHandle2ConstLibrary *const library, const size_t librarySize + ConstHandle2Library *const library, const size_t librarySize ); // +++ Create, general extern_c Handle2Multigroup MultigroupCreate( const char *const projectile, - ConstHandle2ConstLibrary *const library, const size_t librarySize + ConstHandle2Library *const library, const size_t librarySize ); // +++ Assign @@ -136,6 +136,10 @@ MultigroupPrintJSON(ConstHandle2ConstMultigroup This); // Metadatum: projectile // ----------------------------------------------------------------------------- +// +++ Has +extern_c int +MultigroupProjectileHas(ConstHandle2ConstMultigroup This); + // +++ Get // +++ Returns by value extern_c const char * @@ -150,6 +154,10 @@ MultigroupProjectileSet(ConstHandle2Multigroup This, const char *const projectil // Child: library // ----------------------------------------------------------------------------- +// +++ Has +extern_c int +MultigroupLibraryHas(ConstHandle2ConstMultigroup This); + // +++ Clear extern_c void MultigroupLibraryClear(ConstHandle2Multigroup This); From 0bea9e3afb737a5b81b561ba4ff9c829142f5c78 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 22 Aug 2022 10:53:17 -0600 Subject: [PATCH 152/235] Small but important change in the code generator. nameClass() doesn't use any "name" override in a key's value, but always uses the key itself. --- autogen/json2class.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 34708ab9d..674543ebd 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -365,8 +365,8 @@ std::string sep(int &count, const int total) // Name in GNDS (e.g., name of an XML element) std::string nameGNDS(const KeyValue &keyval) { - // As-is, directly as stipulated in a key in the JSON spec, except - // that we allow a "name" entry to override the key. + // As-is, directly as stipulated in the key in the JSON spec, except + // that we allow a "name" entry in the key's value to override the key. return keyval.value().contains("name") ? std::string(keyval.value()["name"]) : keyval.key(); @@ -376,9 +376,10 @@ std::string nameGNDS(const KeyValue &keyval) // Name of a field (metadatum or child node) in an autogenerated class std::string nameField(const KeyValue &keyval, const InfoSpecs &specs) { - // Like nameGNDS, except that we apply any name-modification map that - // may have been provided. That can fix, for example, the name "double", - // which appears in GNDS v1.9 but is unsuitable for a name in C++. + // Like nameGNDS above, except that we apply any name-modification + // map that may have been provided in a "changes" file. Such changes + // can fix, for example, the name "double" that appears in GNDS v1.9 + // as a JSON key, but is unsuitable for use in C++. const std::string name = nameGNDS(keyval); const auto it = specs.mapName.find(name); return it == specs.mapName.end() ? name : it->second; @@ -388,8 +389,11 @@ std::string nameField(const KeyValue &keyval, const InfoSpecs &specs) // Name of an autogenerated class std::string nameClass(const KeyValue &keyval, const InfoSpecs &specs) { - // Like nameField, but capitalized (per our class naming convention). - return capital(nameField(keyval,specs)); + // Capitalized version of either the JSON key, or, if applicable, + // its change under the name-modification map in a "changes" file. + const std::string name = keyval.key(); + const auto it = specs.mapName.find(name); + return capital(it == specs.mapName.end() ? name : it->second); } // namePython @@ -1847,14 +1851,14 @@ void fileGNDStkKey(const InfoSpecs &specs) // nodes ==> children it->second.insert(std::make_pair( nameField(node,specs), - nameGNDS (node))); + nameGNDS(node))); // attributes ==> metadata const auto attrs = getMetadataJSON(node.value()); for (const auto &attr : attrs.items()) metadata.insert(std::make_pair( nameField(attr,specs), - nameGNDS (attr))); + nameGNDS(attr))); } } } From a2047bc010cd1c4b13fd02ffedda39d2cb50e313 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 22 Aug 2022 13:55:53 -0600 Subject: [PATCH 153/235] Reorganized files that relate to our "prototype" GNDS 1.9. In preparation for putting together a GNDS 2.0 interface, I wanted to improve the way in which current content was organized. We had "prototype" GNDS 1.9 input specs in the autogen directory. However, calling it even a "prototype" was a bit much, because it had so little of the actual, full GNDS 1.9 specification. More accurately, it was simply an example of using the code generator. It wasn't even close to being GNDS 1.9. The code generator's inputs for this "prototype" were placing "v1.9" content into GNDStk/python/src and GNDStk/src/v1.9. That is, the content was going into the GNDStk repo's root directory. Given that this thing isn't really GNDS 1.9 by any stretch of the imagination, that output never really belonged in the root directory. Rather, it belonged in the autogen directory, under prototype. So, I moved the appropriate content to where I believe it belongs. Note that the general core-interface material (source and tests) remains in GNDStk/python. Only the not-really-"v1.9" files were moved. Various CMake-related files as well as C++ files were updated to reflect the move. How, precisely, we'll arrange GNDS 2.0 and GNDS [future-version] material is to be determined. @whaeck's dev/gnds-2.0 has them in GNDStk/standards, which I think is a good place. For the code that we'll generator for GNDS 2.0, etc., I'd say that we should remain in that directory structure, rather that going upwards to the main GNDStk/ directory as we originally did with the prototype. --- CMakeLists.txt | 30 +- autogen/json2class.cpp | 23 +- autogen/prototype/.gitignore | 2 - autogen/prototype/proto/c/src/v1.9.h | 32 ++ .../proto/c/src/v1.9/containers/Axes.cpp | 168 ++++++ .../proto/c/src/v1.9/containers/Axes.h | 157 ++++++ .../proto/c/src/v1.9/containers/Axis.cpp | 235 +++++++++ .../proto/c/src/v1.9/containers/Axis.h | 195 +++++++ .../proto/c/src/v1.9/containers/Grid.cpp | 308 +++++++++++ .../proto/c/src/v1.9/containers/Grid.h | 237 +++++++++ .../proto/c/src/v1.9/containers/Link.cpp | 165 ++++++ .../proto/c/src/v1.9/containers/Link.h | 155 ++++++ .../proto/c/src/v1.9/containers/Regions1d.cpp | 498 ++++++++++++++++++ .../proto/c/src/v1.9/containers/Regions1d.h | 355 +++++++++++++ .../proto/c/src/v1.9/containers/Values.cpp | 488 +++++++++++++++++ .../proto/c/src/v1.9/containers/Values.h | 336 ++++++++++++ .../proto/c/src/v1.9/containers/XYs1d.cpp | 357 +++++++++++++ .../proto/c/src/v1.9/containers/XYs1d.h | 263 +++++++++ .../c/src/v1.9/transport/CrossSection.cpp | 133 +++++ .../proto/c/src/v1.9/transport/CrossSection.h | 137 +++++ .../proto/c/src/v1.9/transport/Reaction.cpp | 279 ++++++++++ .../proto/c/src/v1.9/transport/Reaction.h | 219 ++++++++ .../c/src/v1.9/transport/ReactionSuite.cpp | 384 ++++++++++++++ .../c/src/v1.9/transport/ReactionSuite.h | 279 ++++++++++ .../proto/c/src/v1.9/transport/Reactions.cpp | 340 ++++++++++++ .../proto/c/src/v1.9/transport/Reactions.h | 262 +++++++++ autogen/prototype/proto/python/runtests.sh | 8 + .../python}/src/v1.9/containers.python.cpp | 2 +- .../src/v1.9/containers/Axes.python.cpp | 6 +- .../src/v1.9/containers/Axis.python.cpp | 6 +- .../src/v1.9/containers/Grid.python.cpp | 6 +- .../src/v1.9/containers/Link.python.cpp | 6 +- .../src/v1.9/containers/Regions1d.python.cpp | 6 +- .../src/v1.9/containers/Values.python.cpp | 6 +- .../src/v1.9/containers/XYs1d.python.cpp | 6 +- .../proto/python/src/v1.9/proto.python.cpp | 0 .../python}/src/v1.9/transport.python.cpp | 2 +- .../v1.9/transport/CrossSection.python.cpp | 6 +- .../src/v1.9/transport/Reaction.python.cpp | 6 +- .../v1.9/transport/ReactionSuite.python.cpp | 6 +- .../src/v1.9/transport/Reactions.python.cpp | 6 +- .../proto/python/test/v1.9}/__init__.py | 0 .../proto/python/test/v1.9}/__init__.pyc | Bin .../Test_GNDStk_v1_9_containers_Axis.py | 0 .../Test_GNDStk_v1_9_containers_Axis.pyc | Bin .../Test_GNDStk_v1_9_containers_Grid.py | 0 .../Test_GNDStk_v1_9_containers_Grid.pyc | Bin .../Test_GNDStk_v1_9_containers_Link.py | 0 .../Test_GNDStk_v1_9_containers_Link.pyc | Bin .../Test_GNDStk_v1_9_containers_Values.py | 0 .../Test_GNDStk_v1_9_containers_Values.pyc | Bin .../python/test/v1.9}/containers/__init__.py | 0 .../python/test/v1.9}/containers/__init__.pyc | Bin autogen/prototype/proto/src/proto/v1.9.hpp | 21 + .../proto/src/proto}/v1.9/containers/Axes.hpp | 16 +- .../v1.9/containers/Axes/src/custom.hpp | 0 .../v1.9/containers/Axes/test/Axes.test.cpp | 5 +- .../v1.9/containers/Axes/test/CMakeLists.txt | 0 .../proto/src/proto}/v1.9/containers/Axis.hpp | 14 +- .../v1.9/containers/Axis/src/custom.hpp | 0 .../v1.9/containers/Axis/test/Axis.test.cpp | 5 +- .../v1.9/containers/Axis/test/CMakeLists.txt | 0 .../proto/src/proto}/v1.9/containers/Grid.hpp | 16 +- .../v1.9/containers/Grid/src/custom.hpp | 0 .../v1.9/containers/Grid/test/CMakeLists.txt | 0 .../v1.9/containers/Grid/test/Grid.test.cpp | 5 +- .../proto/src/proto}/v1.9/containers/Link.hpp | 14 +- .../v1.9/containers/Link/src/custom.hpp | 0 .../v1.9/containers/Link/test/CMakeLists.txt | 0 .../v1.9/containers/Link/test/Link.test.cpp | 5 +- .../src/proto}/v1.9/containers/Regions1d.hpp | 16 +- .../v1.9/containers/Regions1d/src/custom.hpp | 0 .../containers/Regions1d/test/CMakeLists.txt | 0 .../Regions1d/test/Regions1d.test.cpp | 5 +- .../src/proto}/v1.9/containers/Values.hpp | 14 +- .../v1.9/containers/Values/src/custom.hpp | 0 .../containers/Values/test/CMakeLists.txt | 0 .../containers/Values/test/Values.test.cpp | 5 +- .../src/proto}/v1.9/containers/XYs1d.hpp | 16 +- .../v1.9/containers/XYs1d/src/custom.hpp | 0 .../v1.9/containers/XYs1d/test/CMakeLists.txt | 0 .../v1.9/containers/XYs1d/test/XYs1d.test.cpp | 5 +- .../prototype/proto/src/proto}/v1.9/key.hpp | 10 +- .../proto}/v1.9/transport/CrossSection.hpp | 16 +- .../transport/CrossSection/src/custom.hpp | 0 .../src/proto}/v1.9/transport/Reaction.hpp | 14 +- .../v1.9/transport/Reaction/src/custom.hpp | 0 .../proto}/v1.9/transport/ReactionSuite.hpp | 14 +- .../transport/ReactionSuite/src/custom.hpp | 0 .../src/proto}/v1.9/transport/Reactions.hpp | 14 +- .../v1.9/transport/Reactions/src/custom.hpp | 0 autogen/{ => prototype}/prototype.json | 19 +- autogen/{ => v1.9}/v1.9.json | 7 +- cmake/unit_testing.cmake | 14 +- src/GNDStk/v1.9.hpp | 21 - 95 files changed, 6198 insertions(+), 208 deletions(-) delete mode 100644 autogen/prototype/.gitignore create mode 100644 autogen/prototype/proto/c/src/v1.9.h create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Axes.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Axes.h create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Axis.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Axis.h create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Grid.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Grid.h create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Link.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Link.h create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Regions1d.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Regions1d.h create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Values.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/Values.h create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/XYs1d.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/containers/XYs1d.h create mode 100644 autogen/prototype/proto/c/src/v1.9/transport/CrossSection.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/transport/CrossSection.h create mode 100644 autogen/prototype/proto/c/src/v1.9/transport/Reaction.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/transport/Reaction.h create mode 100644 autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.h create mode 100644 autogen/prototype/proto/c/src/v1.9/transport/Reactions.cpp create mode 100644 autogen/prototype/proto/c/src/v1.9/transport/Reactions.h create mode 100755 autogen/prototype/proto/python/runtests.sh rename {python => autogen/prototype/proto/python}/src/v1.9/containers.python.cpp (97%) rename {python => autogen/prototype/proto/python}/src/v1.9/containers/Axes.python.cpp (92%) rename {python => autogen/prototype/proto/python}/src/v1.9/containers/Axis.python.cpp (93%) rename {python => autogen/prototype/proto/python}/src/v1.9/containers/Grid.python.cpp (96%) rename {python => autogen/prototype/proto/python}/src/v1.9/containers/Link.python.cpp (90%) rename {python => autogen/prototype/proto/python}/src/v1.9/containers/Regions1d.python.cpp (94%) rename {python => autogen/prototype/proto/python}/src/v1.9/containers/Values.python.cpp (95%) rename {python => autogen/prototype/proto/python}/src/v1.9/containers/XYs1d.python.cpp (95%) rename python/src/v1.9/GNDS.python.cpp => autogen/prototype/proto/python/src/v1.9/proto.python.cpp (100%) rename {python => autogen/prototype/proto/python}/src/v1.9/transport.python.cpp (96%) rename {python => autogen/prototype/proto/python}/src/v1.9/transport/CrossSection.python.cpp (91%) rename {python => autogen/prototype/proto/python}/src/v1.9/transport/Reaction.python.cpp (94%) rename {python => autogen/prototype/proto/python}/src/v1.9/transport/ReactionSuite.python.cpp (95%) rename {python => autogen/prototype/proto/python}/src/v1.9/transport/Reactions.python.cpp (90%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/__init__.py (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/__init__.pyc (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/Test_GNDStk_v1_9_containers_Axis.py (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/Test_GNDStk_v1_9_containers_Axis.pyc (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/Test_GNDStk_v1_9_containers_Grid.py (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/Test_GNDStk_v1_9_containers_Grid.pyc (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/Test_GNDStk_v1_9_containers_Link.py (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/Test_GNDStk_v1_9_containers_Link.pyc (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/Test_GNDStk_v1_9_containers_Values.py (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/Test_GNDStk_v1_9_containers_Values.pyc (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/__init__.py (100%) rename {python/test/v1_9 => autogen/prototype/proto/python/test/v1.9}/containers/__init__.pyc (100%) create mode 100644 autogen/prototype/proto/src/proto/v1.9.hpp rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Axes.hpp (90%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Axes/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Axes/test/Axes.test.cpp (99%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Axes/test/CMakeLists.txt (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Axis.hpp (91%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Axis/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Axis/test/Axis.test.cpp (97%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Axis/test/CMakeLists.txt (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Grid.hpp (93%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Grid/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Grid/test/CMakeLists.txt (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Grid/test/Grid.test.cpp (99%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Link.hpp (89%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Link/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Link/test/CMakeLists.txt (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Link/test/Link.test.cpp (97%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Regions1d.hpp (90%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Regions1d/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Regions1d/test/CMakeLists.txt (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Regions1d/test/Regions1d.test.cpp (98%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Values.hpp (92%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Values/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Values/test/CMakeLists.txt (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/Values/test/Values.test.cpp (98%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/XYs1d.hpp (92%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/XYs1d/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/XYs1d/test/CMakeLists.txt (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/containers/XYs1d/test/XYs1d.test.cpp (98%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/key.hpp (96%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/transport/CrossSection.hpp (89%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/transport/CrossSection/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/transport/Reaction.hpp (91%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/transport/Reaction/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/transport/ReactionSuite.hpp (93%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/transport/ReactionSuite/src/custom.hpp (100%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/transport/Reactions.hpp (89%) rename {src/GNDStk => autogen/prototype/proto/src/proto}/v1.9/transport/Reactions/src/custom.hpp (100%) rename autogen/{ => prototype}/prototype.json (60%) rename autogen/{ => v1.9}/v1.9.json (86%) delete mode 100644 src/GNDStk/v1.9.hpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 860548540..a5c7537e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -58,7 +58,7 @@ target_link_libraries( json2class.exe # GNDStk : python bindings # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -include_directories( python/src/ ) +include_directories( python/src/ autogen/prototype/proto/src/ ) pybind11_add_module( GNDStk.python EXCLUDE_FROM_ALL @@ -66,20 +66,20 @@ pybind11_add_module( GNDStk.python python/src/core/Node.python.cpp python/src/Interpolation.python.cpp python/src/GridStyle.python.cpp - python/src/v1.9/containers.python.cpp - python/src/v1.9/containers/Axis.python.cpp - python/src/v1.9/containers/Values.python.cpp - python/src/v1.9/containers/Link.python.cpp - python/src/v1.9/containers/Grid.python.cpp - python/src/v1.9/containers/Axes.python.cpp - python/src/v1.9/containers/XYs1d.python.cpp - python/src/v1.9/containers/Regions1d.python.cpp - python/src/v1.9/transport/CrossSection.python.cpp - python/src/v1.9/transport/Reaction.python.cpp - python/src/v1.9/transport/Reactions.python.cpp - python/src/v1.9/transport/ReactionSuite.python.cpp - python/src/v1.9/transport.python.cpp - python/src/v1.9/GNDS.python.cpp + autogen/prototype/proto/python/src/v1.9/containers.python.cpp + autogen/prototype/proto/python/src/v1.9/containers/Axis.python.cpp + autogen/prototype/proto/python/src/v1.9/containers/Values.python.cpp + autogen/prototype/proto/python/src/v1.9/containers/Link.python.cpp + autogen/prototype/proto/python/src/v1.9/containers/Grid.python.cpp + autogen/prototype/proto/python/src/v1.9/containers/Axes.python.cpp + autogen/prototype/proto/python/src/v1.9/containers/XYs1d.python.cpp + autogen/prototype/proto/python/src/v1.9/containers/Regions1d.python.cpp + autogen/prototype/proto/python/src/v1.9/transport/CrossSection.python.cpp + autogen/prototype/proto/python/src/v1.9/transport/Reaction.python.cpp + autogen/prototype/proto/python/src/v1.9/transport/Reactions.python.cpp + autogen/prototype/proto/python/src/v1.9/transport/ReactionSuite.python.cpp + autogen/prototype/proto/python/src/v1.9/transport.python.cpp + autogen/prototype/proto/python/src/v1.9/proto.python.cpp ) target_link_libraries( GNDStk.python PRIVATE GNDStk ) target_compile_options( GNDStk.python PRIVATE "-fvisibility=hidden" ) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 674543ebd..d2a204351 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1431,20 +1431,25 @@ void commandLine( // Input file const orderedJSON jmain = readJSONFile(argv[1]); - // Validate content - if (!(jmain.contains(version) && - jmain.contains(input) && - jmain.contains(files))) { - log::error("The input JSON file needs {}, {}, and {}", - version, input, files); + // Need "Version" + if (!jmain.contains(version)) { + log::error("The input JSON file needs {}", version); throw std::exception{}; } - // Extract information from the command line JSON file - specs.Path = jmain.contains(path) ? jmain[path] : "."; + // Need "JSONFiles" + if (!jmain.contains(files)) { + log::error("The input JSON file needs {}", files); + throw std::exception{}; + } + + // Extract information from the command line JSON file... + // ...these are optional: + specs.Path = jmain.contains(path ) ? jmain[path ] : "."; specs.Project = jmain.contains(project) ? jmain[project] : "GNDStk"; + specs.JSONDir = jmain.contains(input ) ? jmain[input ] : "."; + // ...these are required: specs.Version = jmain[version]; - specs.JSONDir = jmain[input]; for (const auto &str : jmain[files]) specs.JSONFiles.push_back(str); diff --git a/autogen/prototype/.gitignore b/autogen/prototype/.gitignore deleted file mode 100644 index bd541c7e2..000000000 --- a/autogen/prototype/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -python -src diff --git a/autogen/prototype/proto/c/src/v1.9.h b/autogen/prototype/proto/c/src/v1.9.h new file mode 100644 index 000000000..12c4c688d --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9.h @@ -0,0 +1,32 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// ----------------------------------------------------------------------------- +// This header file is designed to work with both C and C++ +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9 +#define C_INTERFACE_PROTO_V1_9 + +#include "GNDStk.h" + +#ifdef __cplusplus + // For C++ + #include "proto/v1_9.hpp" +#endif + +#include "v1.9/containers/Link.h" +#include "v1.9/containers/XYs1d.h" +#include "v1.9/containers/Axes.h" +#include "v1.9/containers/Axis.h" +#include "v1.9/containers/Grid.h" +#include "v1.9/containers/Values.h" +#include "v1.9/containers/Regions1d.h" + +#include "v1.9/transport/ReactionSuite.h" +#include "v1.9/transport/Reactions.h" +#include "v1.9/transport/Reaction.h" +#include "v1.9/transport/CrossSection.h" + +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Axes.cpp b/autogen/prototype/proto/c/src/v1.9/containers/Axes.cpp new file mode 100644 index 000000000..9f0ce785a --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Axes.cpp @@ -0,0 +1,168 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/containers/Axes.hpp" +#include "Axes.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = AxesClass; +using CPP = multigroup::Axes; + +static const std::string CLASSNAME = "Axes"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; +} + +using CPPAxis = containers::Axis; +using CPPGrid = containers::Grid; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAxes +AxesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Axes +AxesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAxes +AxesCreateConst( + const char *const href, +) { + ConstHandle2Axes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href + ); + return handle; +} + +// Create, general +Handle2Axes +AxesCreate( + const char *const href, +) { + ConstHandle2Axes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AxesAssign(ConstHandle2Axes This, ConstHandle2ConstAxes from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AxesDelete(ConstHandle2ConstAxes This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AxesRead(ConstHandle2Axes This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AxesWrite(ConstHandle2ConstAxes This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AxesPrint(ConstHandle2ConstAxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AxesPrintXML(ConstHandle2ConstAxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AxesPrintJSON(ConstHandle2ConstAxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +AxesHrefHas(ConstHandle2ConstAxes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +AxesHrefGet(ConstHandle2ConstAxes This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +AxesHrefSet(ConstHandle2Axes This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Axes.h b/autogen/prototype/proto/c/src/v1.9/containers/Axes.h new file mode 100644 index 000000000..6f59d7f13 --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Axes.h @@ -0,0 +1,157 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Axes is the basic handle type in this file. Example: +// // Create a default Axes object: +// Axes handle = AxesDefault(); +// Functions involving Axes are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_CONTAINERS_AXES +#define C_INTERFACE_PROTO_V1_9_CONTAINERS_AXES + +#include "GNDStk.h" +#include "v1.9/containers/Axis.h" +#include "v1.9/containers/Grid.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AxesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Axes +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AxesClass *Axes; + +// --- Const-aware handles. +typedef const struct AxesClass *const ConstHandle2ConstAxes; +typedef struct AxesClass *const ConstHandle2Axes; +typedef const struct AxesClass * Handle2ConstAxes; +typedef struct AxesClass * Handle2Axes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAxes +AxesDefaultConst(); + +// +++ Create, default +extern_c Handle2Axes +AxesDefault(); + +// --- Create, general, const +extern_c Handle2ConstAxes +AxesCreateConst( + const char *const href, +); + +// +++ Create, general +extern_c Handle2Axes +AxesCreate( + const char *const href, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AxesAssign(ConstHandle2Axes This, ConstHandle2ConstAxes from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AxesDelete(ConstHandle2ConstAxes This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AxesRead(ConstHandle2Axes This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AxesWrite(ConstHandle2ConstAxes This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AxesPrint(ConstHandle2ConstAxes This); + +// +++ Print to standard output, as XML +extern_c int +AxesPrintXML(ConstHandle2ConstAxes This); + +// +++ Print to standard output, as JSON +extern_c int +AxesPrintJSON(ConstHandle2ConstAxes This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxesHrefHas(ConstHandle2ConstAxes This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AxesHrefGet(ConstHandle2ConstAxes This); + +// +++ Set +extern_c void +AxesHrefSet(ConstHandle2Axes This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Axis.cpp b/autogen/prototype/proto/c/src/v1.9/containers/Axis.cpp new file mode 100644 index 000000000..2be4366da --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Axis.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/containers/Axis.hpp" +#include "Axis.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = AxisClass; +using CPP = multigroup::Axis; + +static const std::string CLASSNAME = "Axis"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAxis +AxisDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Axis +AxisDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAxis +AxisCreateConst( + const int index, + const char *const label, + const char *const unit +) { + ConstHandle2Axis handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + label, + unit + ); + return handle; +} + +// Create, general +Handle2Axis +AxisCreate( + const int index, + const char *const label, + const char *const unit +) { + ConstHandle2Axis handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + label, + unit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AxisAssign(ConstHandle2Axis This, ConstHandle2ConstAxis from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AxisDelete(ConstHandle2ConstAxis This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AxisRead(ConstHandle2Axis This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AxisWrite(ConstHandle2ConstAxis This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AxisPrint(ConstHandle2ConstAxis This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AxisPrintXML(ConstHandle2ConstAxis This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AxisPrintJSON(ConstHandle2ConstAxis This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +AxisIndexHas(ConstHandle2ConstAxis This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +int +AxisIndexGet(ConstHandle2ConstAxis This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +AxisIndexSet(ConstHandle2Axis This, const int index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AxisLabelHas(ConstHandle2ConstAxis This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +const char * +AxisLabelGet(ConstHandle2ConstAxis This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AxisLabelSet(ConstHandle2Axis This, const char *const label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +AxisUnitHas(ConstHandle2ConstAxis This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +const char * +AxisUnitGet(ConstHandle2ConstAxis This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +AxisUnitSet(ConstHandle2Axis This, const char *const unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Axis.h b/autogen/prototype/proto/c/src/v1.9/containers/Axis.h new file mode 100644 index 000000000..6e0dcc16c --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Axis.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Axis is the basic handle type in this file. Example: +// // Create a default Axis object: +// Axis handle = AxisDefault(); +// Functions involving Axis are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_CONTAINERS_AXIS +#define C_INTERFACE_PROTO_V1_9_CONTAINERS_AXIS + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AxisClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Axis +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AxisClass *Axis; + +// --- Const-aware handles. +typedef const struct AxisClass *const ConstHandle2ConstAxis; +typedef struct AxisClass *const ConstHandle2Axis; +typedef const struct AxisClass * Handle2ConstAxis; +typedef struct AxisClass * Handle2Axis; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAxis +AxisDefaultConst(); + +// +++ Create, default +extern_c Handle2Axis +AxisDefault(); + +// --- Create, general, const +extern_c Handle2ConstAxis +AxisCreateConst( + const int index, + const char *const label, + const char *const unit +); + +// +++ Create, general +extern_c Handle2Axis +AxisCreate( + const int index, + const char *const label, + const char *const unit +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AxisAssign(ConstHandle2Axis This, ConstHandle2ConstAxis from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AxisDelete(ConstHandle2ConstAxis This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AxisRead(ConstHandle2Axis This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AxisWrite(ConstHandle2ConstAxis This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AxisPrint(ConstHandle2ConstAxis This); + +// +++ Print to standard output, as XML +extern_c int +AxisPrintXML(ConstHandle2ConstAxis This); + +// +++ Print to standard output, as JSON +extern_c int +AxisPrintJSON(ConstHandle2ConstAxis This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxisIndexHas(ConstHandle2ConstAxis This); + +// +++ Get +// +++ Returns by value +extern_c int +AxisIndexGet(ConstHandle2ConstAxis This); + +// +++ Set +extern_c void +AxisIndexSet(ConstHandle2Axis This, const int index); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxisLabelHas(ConstHandle2ConstAxis This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AxisLabelGet(ConstHandle2ConstAxis This); + +// +++ Set +extern_c void +AxisLabelSet(ConstHandle2Axis This, const char *const label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxisUnitHas(ConstHandle2ConstAxis This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AxisUnitGet(ConstHandle2ConstAxis This); + +// +++ Set +extern_c void +AxisUnitSet(ConstHandle2Axis This, const char *const unit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Grid.cpp b/autogen/prototype/proto/c/src/v1.9/containers/Grid.cpp new file mode 100644 index 000000000..31bda1f40 --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Grid.cpp @@ -0,0 +1,308 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/containers/Grid.hpp" +#include "Grid.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = GridClass; +using CPP = multigroup::Grid; + +static const std::string CLASSNAME = "Grid"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto interpolation = [](auto &obj) { return &obj.interpolation; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto style = [](auto &obj) { return &obj.style; }; + static auto unit = [](auto &obj) { return &obj.unit; }; +} + +using CPPValues = containers::Values; +using CPPLink = containers::Link; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGrid +GridDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Grid +GridDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGrid +GridCreateConst( + const int index, + const enums::Interpolation interpolation, + const char *const label, + const enums::GridStyle style, + const char *const unit, +) { + ConstHandle2Grid handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + interpolation, + label, + style, + unit + ); + return handle; +} + +// Create, general +Handle2Grid +GridCreate( + const int index, + const enums::Interpolation interpolation, + const char *const label, + const enums::GridStyle style, + const char *const unit, +) { + ConstHandle2Grid handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + interpolation, + label, + style, + unit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +GridAssign(ConstHandle2Grid This, ConstHandle2ConstGrid from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +GridDelete(ConstHandle2ConstGrid This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +GridRead(ConstHandle2Grid This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +GridWrite(ConstHandle2ConstGrid This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +GridPrint(ConstHandle2ConstGrid This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +GridPrintXML(ConstHandle2ConstGrid This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +GridPrintJSON(ConstHandle2ConstGrid This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +GridIndexHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +int +GridIndexGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +GridIndexSet(ConstHandle2Grid This, const int index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// Has +int +GridInterpolationHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationHas", This, extract::interpolation); +} + +// Get +// Returns by value +enums::Interpolation +GridInterpolationGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationGet", This, extract::interpolation); +} + +// Set +void +GridInterpolationSet(ConstHandle2Grid This, const enums::Interpolation interpolation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationSet", This, extract::interpolation, interpolation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +GridLabelHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +const char * +GridLabelGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +GridLabelSet(ConstHandle2Grid This, const char *const label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: style +// ----------------------------------------------------------------------------- + +// Has +int +GridStyleHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StyleHas", This, extract::style); +} + +// Get +// Returns by value +enums::GridStyle +GridStyleGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StyleGet", This, extract::style); +} + +// Set +void +GridStyleSet(ConstHandle2Grid This, const enums::GridStyle style) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StyleSet", This, extract::style, style); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +GridUnitHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +const char * +GridUnitGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +GridUnitSet(ConstHandle2Grid This, const char *const unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Grid.h b/autogen/prototype/proto/c/src/v1.9/containers/Grid.h new file mode 100644 index 000000000..250f1f752 --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Grid.h @@ -0,0 +1,237 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Grid is the basic handle type in this file. Example: +// // Create a default Grid object: +// Grid handle = GridDefault(); +// Functions involving Grid are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_CONTAINERS_GRID +#define C_INTERFACE_PROTO_V1_9_CONTAINERS_GRID + +#include "GNDStk.h" +#include "v1.9/containers/Values.h" +#include "v1.9/containers/Link.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct GridClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Grid +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct GridClass *Grid; + +// --- Const-aware handles. +typedef const struct GridClass *const ConstHandle2ConstGrid; +typedef struct GridClass *const ConstHandle2Grid; +typedef const struct GridClass * Handle2ConstGrid; +typedef struct GridClass * Handle2Grid; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGrid +GridDefaultConst(); + +// +++ Create, default +extern_c Handle2Grid +GridDefault(); + +// --- Create, general, const +extern_c Handle2ConstGrid +GridCreateConst( + const int index, + const enums::Interpolation interpolation, + const char *const label, + const enums::GridStyle style, + const char *const unit, +); + +// +++ Create, general +extern_c Handle2Grid +GridCreate( + const int index, + const enums::Interpolation interpolation, + const char *const label, + const enums::GridStyle style, + const char *const unit, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +GridAssign(ConstHandle2Grid This, ConstHandle2ConstGrid from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +GridDelete(ConstHandle2ConstGrid This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +GridRead(ConstHandle2Grid This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +GridWrite(ConstHandle2ConstGrid This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +GridPrint(ConstHandle2ConstGrid This); + +// +++ Print to standard output, as XML +extern_c int +GridPrintXML(ConstHandle2ConstGrid This); + +// +++ Print to standard output, as JSON +extern_c int +GridPrintJSON(ConstHandle2ConstGrid This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridIndexHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c int +GridIndexGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridIndexSet(ConstHandle2Grid This, const int index); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridInterpolationHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interpolation +GridInterpolationGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridInterpolationSet(ConstHandle2Grid This, const enums::Interpolation interpolation); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridLabelHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c const char * +GridLabelGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridLabelSet(ConstHandle2Grid This, const char *const label); + + +// ----------------------------------------------------------------------------- +// Metadatum: style +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridStyleHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c enums::GridStyle +GridStyleGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridStyleSet(ConstHandle2Grid This, const enums::GridStyle style); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridUnitHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c const char * +GridUnitGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridUnitSet(ConstHandle2Grid This, const char *const unit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Link.cpp b/autogen/prototype/proto/c/src/v1.9/containers/Link.cpp new file mode 100644 index 000000000..f8701d0bf --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Link.cpp @@ -0,0 +1,165 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/containers/Link.hpp" +#include "Link.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = LinkClass; +using CPP = multigroup::Link; + +static const std::string CLASSNAME = "Link"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLink +LinkDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Link +LinkDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLink +LinkCreateConst( + const char *const href +) { + ConstHandle2Link handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href + ); + return handle; +} + +// Create, general +Handle2Link +LinkCreate( + const char *const href +) { + ConstHandle2Link handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LinkAssign(ConstHandle2Link This, ConstHandle2ConstLink from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LinkDelete(ConstHandle2ConstLink This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LinkRead(ConstHandle2Link This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LinkWrite(ConstHandle2ConstLink This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LinkPrint(ConstHandle2ConstLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LinkPrintXML(ConstHandle2ConstLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LinkPrintJSON(ConstHandle2ConstLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +LinkHrefHas(ConstHandle2ConstLink This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +LinkHrefGet(ConstHandle2ConstLink This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +LinkHrefSet(ConstHandle2Link This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Link.h b/autogen/prototype/proto/c/src/v1.9/containers/Link.h new file mode 100644 index 000000000..c73319795 --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Link.h @@ -0,0 +1,155 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Link is the basic handle type in this file. Example: +// // Create a default Link object: +// Link handle = LinkDefault(); +// Functions involving Link are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_CONTAINERS_LINK +#define C_INTERFACE_PROTO_V1_9_CONTAINERS_LINK + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LinkClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Link +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LinkClass *Link; + +// --- Const-aware handles. +typedef const struct LinkClass *const ConstHandle2ConstLink; +typedef struct LinkClass *const ConstHandle2Link; +typedef const struct LinkClass * Handle2ConstLink; +typedef struct LinkClass * Handle2Link; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLink +LinkDefaultConst(); + +// +++ Create, default +extern_c Handle2Link +LinkDefault(); + +// --- Create, general, const +extern_c Handle2ConstLink +LinkCreateConst( + const char *const href +); + +// +++ Create, general +extern_c Handle2Link +LinkCreate( + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LinkAssign(ConstHandle2Link This, ConstHandle2ConstLink from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LinkDelete(ConstHandle2ConstLink This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LinkRead(ConstHandle2Link This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LinkWrite(ConstHandle2ConstLink This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LinkPrint(ConstHandle2ConstLink This); + +// +++ Print to standard output, as XML +extern_c int +LinkPrintXML(ConstHandle2ConstLink This); + +// +++ Print to standard output, as JSON +extern_c int +LinkPrintJSON(ConstHandle2ConstLink This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LinkHrefHas(ConstHandle2ConstLink This); + +// +++ Get +// +++ Returns by value +extern_c const char * +LinkHrefGet(ConstHandle2ConstLink This); + +// +++ Set +extern_c void +LinkHrefSet(ConstHandle2Link This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.cpp b/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.cpp new file mode 100644 index 000000000..3746e216f --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.cpp @@ -0,0 +1,498 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/containers/Regions1d.hpp" +#include "Regions1d.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = Regions1dClass; +using CPP = multigroup::Regions1d; + +static const std::string CLASSNAME = "Regions1d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; +} + +using CPPAxes = containers::Axes; +using CPPXYs1d = containers::XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRegions1d +Regions1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Regions1d +Regions1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRegions1d +Regions1dCreateConst( + const char *const label, + const double outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2XYs1d *const XYs1d, const size_t XYs1dSize +) { + ConstHandle2Regions1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + outerDomainValue, + detail::tocpp(axes), + std::vector{} + ); + for (size_t XYs1dN = 0; XYs1dN < XYs1dSize; ++XYs1dN) + Regions1dXYs1dAdd(handle, XYs1d[XYs1dN]); + return handle; +} + +// Create, general +Handle2Regions1d +Regions1dCreate( + const char *const label, + const double outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2XYs1d *const XYs1d, const size_t XYs1dSize +) { + ConstHandle2Regions1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + outerDomainValue, + detail::tocpp(axes), + std::vector{} + ); + for (size_t XYs1dN = 0; XYs1dN < XYs1dSize; ++XYs1dN) + Regions1dXYs1dAdd(handle, XYs1d[XYs1dN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Regions1dAssign(ConstHandle2Regions1d This, ConstHandle2ConstRegions1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Regions1dDelete(ConstHandle2ConstRegions1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Regions1dRead(ConstHandle2Regions1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Regions1dWrite(ConstHandle2ConstRegions1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Regions1dPrint(ConstHandle2ConstRegions1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Regions1dPrintXML(ConstHandle2ConstRegions1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Regions1dPrintJSON(ConstHandle2ConstRegions1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dLabelHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +const char * +Regions1dLabelGet(ConstHandle2ConstRegions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Regions1dLabelSet(ConstHandle2Regions1d This, const char *const label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dOuterDomainValueHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +double +Regions1dOuterDomainValueGet(ConstHandle2ConstRegions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +Regions1dOuterDomainValueSet(ConstHandle2Regions1d This, const double outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dAxesHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Regions1dAxesGetConst(ConstHandle2ConstRegions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Regions1dAxesGet(ConstHandle2Regions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Regions1dAxesSet(ConstHandle2Regions1d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dXYs1dHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Clear +void +Regions1dXYs1dClear(ConstHandle2Regions1d This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"XYs1dClear", This, extract::XYs1d); +} + +// Size +size_t +Regions1dXYs1dSize(ConstHandle2ConstRegions1d This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"XYs1dSize", This, extract::XYs1d); +} + +// Add +void +Regions1dXYs1dAdd(ConstHandle2Regions1d This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"XYs1dAdd", This, extract::XYs1d, XYs1d); +} + +// Get, by index \in [0,size), const +Handle2ConstXYs1d +Regions1dXYs1dGetConst(ConstHandle2ConstRegions1d This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d, index_); +} + +// Get, by index \in [0,size), non-const +Handle2XYs1d +Regions1dXYs1dGet(ConstHandle2Regions1d This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d, index_); +} + +// Set, by index \in [0,size) +void +Regions1dXYs1dSet( + ConstHandle2Regions1d This, + const size_t index_, + ConstHandle2ConstXYs1d XYs1d +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, index_, XYs1d); +} + +// Has, by index +int +Regions1dXYs1dHasByIndex( + ConstHandle2ConstRegions1d This, + const int index +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dHasByIndex", + This, extract::XYs1d, meta::index, index); +} + +// Get, by index, const +Handle2ConstXYs1d +Regions1dXYs1dGetByIndexConst( + ConstHandle2ConstRegions1d This, + const int index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dGetByIndexConst", + This, extract::XYs1d, meta::index, index); +} + +// Get, by index, non-const +Handle2XYs1d +Regions1dXYs1dGetByIndex( + ConstHandle2Regions1d This, + const int index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dGetByIndex", + This, extract::XYs1d, meta::index, index); +} + +// Set, by index +void +Regions1dXYs1dSetByIndex( + ConstHandle2Regions1d This, + const int index, + ConstHandle2ConstXYs1d XYs1d +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dSetByIndex", + This, extract::XYs1d, meta::index, index, XYs1d); +} + +// Has, by interpolation +int +Regions1dXYs1dHasByInterpolation( + ConstHandle2ConstRegions1d This, + const enums::Interpolation interpolation +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dHasByInterpolation", + This, extract::XYs1d, meta::interpolation, interpolation); +} + +// Get, by interpolation, const +Handle2ConstXYs1d +Regions1dXYs1dGetByInterpolationConst( + ConstHandle2ConstRegions1d This, + const enums::Interpolation interpolation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dGetByInterpolationConst", + This, extract::XYs1d, meta::interpolation, interpolation); +} + +// Get, by interpolation, non-const +Handle2XYs1d +Regions1dXYs1dGetByInterpolation( + ConstHandle2Regions1d This, + const enums::Interpolation interpolation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dGetByInterpolation", + This, extract::XYs1d, meta::interpolation, interpolation); +} + +// Set, by interpolation +void +Regions1dXYs1dSetByInterpolation( + ConstHandle2Regions1d This, + const enums::Interpolation interpolation, + ConstHandle2ConstXYs1d XYs1d +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dSetByInterpolation", + This, extract::XYs1d, meta::interpolation, interpolation, XYs1d); +} + +// Has, by label +int +Regions1dXYs1dHasByLabel( + ConstHandle2ConstRegions1d This, + const char *const label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dHasByLabel", + This, extract::XYs1d, meta::label, label); +} + +// Get, by label, const +Handle2ConstXYs1d +Regions1dXYs1dGetByLabelConst( + ConstHandle2ConstRegions1d This, + const char *const label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dGetByLabelConst", + This, extract::XYs1d, meta::label, label); +} + +// Get, by label, non-const +Handle2XYs1d +Regions1dXYs1dGetByLabel( + ConstHandle2Regions1d This, + const char *const label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dGetByLabel", + This, extract::XYs1d, meta::label, label); +} + +// Set, by label +void +Regions1dXYs1dSetByLabel( + ConstHandle2Regions1d This, + const char *const label, + ConstHandle2ConstXYs1d XYs1d +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dSetByLabel", + This, extract::XYs1d, meta::label, label, XYs1d); +} + +// Has, by outerDomainValue +int +Regions1dXYs1dHasByOuterDomainValue( + ConstHandle2ConstRegions1d This, + const double outerDomainValue +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dHasByOuterDomainValue", + This, extract::XYs1d, meta::outerDomainValue, outerDomainValue); +} + +// Get, by outerDomainValue, const +Handle2ConstXYs1d +Regions1dXYs1dGetByOuterDomainValueConst( + ConstHandle2ConstRegions1d This, + const double outerDomainValue +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dGetByOuterDomainValueConst", + This, extract::XYs1d, meta::outerDomainValue, outerDomainValue); +} + +// Get, by outerDomainValue, non-const +Handle2XYs1d +Regions1dXYs1dGetByOuterDomainValue( + ConstHandle2Regions1d This, + const double outerDomainValue +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dGetByOuterDomainValue", + This, extract::XYs1d, meta::outerDomainValue, outerDomainValue); +} + +// Set, by outerDomainValue +void +Regions1dXYs1dSetByOuterDomainValue( + ConstHandle2Regions1d This, + const double outerDomainValue, + ConstHandle2ConstXYs1d XYs1d +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"XYs1dSetByOuterDomainValue", + This, extract::XYs1d, meta::outerDomainValue, outerDomainValue, XYs1d); +} diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.h b/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.h new file mode 100644 index 000000000..d09b37aaa --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.h @@ -0,0 +1,355 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Regions1d is the basic handle type in this file. Example: +// // Create a default Regions1d object: +// Regions1d handle = Regions1dDefault(); +// Functions involving Regions1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_CONTAINERS_REGIONS1D +#define C_INTERFACE_PROTO_V1_9_CONTAINERS_REGIONS1D + +#include "GNDStk.h" +#include "v1.9/containers/Axes.h" +#include "v1.9/containers/XYs1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Regions1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Regions1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Regions1dClass *Regions1d; + +// --- Const-aware handles. +typedef const struct Regions1dClass *const ConstHandle2ConstRegions1d; +typedef struct Regions1dClass *const ConstHandle2Regions1d; +typedef const struct Regions1dClass * Handle2ConstRegions1d; +typedef struct Regions1dClass * Handle2Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRegions1d +Regions1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Regions1d +Regions1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstRegions1d +Regions1dCreateConst( + const char *const label, + const double outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2XYs1d *const XYs1d, const size_t XYs1dSize +); + +// +++ Create, general +extern_c Handle2Regions1d +Regions1dCreate( + const char *const label, + const double outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2XYs1d *const XYs1d, const size_t XYs1dSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Regions1dAssign(ConstHandle2Regions1d This, ConstHandle2ConstRegions1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Regions1dDelete(ConstHandle2ConstRegions1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Regions1dRead(ConstHandle2Regions1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Regions1dWrite(ConstHandle2ConstRegions1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Regions1dPrint(ConstHandle2ConstRegions1d This); + +// +++ Print to standard output, as XML +extern_c int +Regions1dPrintXML(ConstHandle2ConstRegions1d This); + +// +++ Print to standard output, as JSON +extern_c int +Regions1dPrintJSON(ConstHandle2ConstRegions1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dLabelHas(ConstHandle2ConstRegions1d This); + +// +++ Get +// +++ Returns by value +extern_c const char * +Regions1dLabelGet(ConstHandle2ConstRegions1d This); + +// +++ Set +extern_c void +Regions1dLabelSet(ConstHandle2Regions1d This, const char *const label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dOuterDomainValueHas(ConstHandle2ConstRegions1d This); + +// +++ Get +// +++ Returns by value +extern_c double +Regions1dOuterDomainValueGet(ConstHandle2ConstRegions1d This); + +// +++ Set +extern_c void +Regions1dOuterDomainValueSet(ConstHandle2Regions1d This, const double outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dAxesHas(ConstHandle2ConstRegions1d This); + +// --- Get, const +extern_c Handle2ConstAxes +Regions1dAxesGetConst(ConstHandle2ConstRegions1d This); + +// +++ Get, non-const +extern_c Handle2Axes +Regions1dAxesGet(ConstHandle2Regions1d This); + +// +++ Set +extern_c void +Regions1dAxesSet(ConstHandle2Regions1d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dXYs1dHas(ConstHandle2ConstRegions1d This); + +// +++ Clear +extern_c void +Regions1dXYs1dClear(ConstHandle2Regions1d This); + +// +++ Size +extern_c size_t +Regions1dXYs1dSize(ConstHandle2ConstRegions1d This); + +// +++ Add +extern_c void +Regions1dXYs1dAdd(ConstHandle2Regions1d This, ConstHandle2ConstXYs1d XYs1d); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstXYs1d +Regions1dXYs1dGetConst(ConstHandle2ConstRegions1d This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2XYs1d +Regions1dXYs1dGet(ConstHandle2Regions1d This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +Regions1dXYs1dSet( + ConstHandle2Regions1d This, + const size_t index_, + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Has, by index +extern_c int +Regions1dXYs1dHasByIndex( + ConstHandle2ConstRegions1d This, + const int index +); + +// --- Get, by index, const +extern_c Handle2ConstXYs1d +Regions1dXYs1dGetByIndexConst( + ConstHandle2ConstRegions1d This, + const int index +); + +// +++ Get, by index, non-const +extern_c Handle2XYs1d +Regions1dXYs1dGetByIndex( + ConstHandle2Regions1d This, + const int index +); + +// +++ Set, by index +extern_c void +Regions1dXYs1dSetByIndex( + ConstHandle2Regions1d This, + const int index, + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Has, by interpolation +extern_c int +Regions1dXYs1dHasByInterpolation( + ConstHandle2ConstRegions1d This, + const enums::Interpolation interpolation +); + +// --- Get, by interpolation, const +extern_c Handle2ConstXYs1d +Regions1dXYs1dGetByInterpolationConst( + ConstHandle2ConstRegions1d This, + const enums::Interpolation interpolation +); + +// +++ Get, by interpolation, non-const +extern_c Handle2XYs1d +Regions1dXYs1dGetByInterpolation( + ConstHandle2Regions1d This, + const enums::Interpolation interpolation +); + +// +++ Set, by interpolation +extern_c void +Regions1dXYs1dSetByInterpolation( + ConstHandle2Regions1d This, + const enums::Interpolation interpolation, + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Has, by label +extern_c int +Regions1dXYs1dHasByLabel( + ConstHandle2ConstRegions1d This, + const char *const label +); + +// --- Get, by label, const +extern_c Handle2ConstXYs1d +Regions1dXYs1dGetByLabelConst( + ConstHandle2ConstRegions1d This, + const char *const label +); + +// +++ Get, by label, non-const +extern_c Handle2XYs1d +Regions1dXYs1dGetByLabel( + ConstHandle2Regions1d This, + const char *const label +); + +// +++ Set, by label +extern_c void +Regions1dXYs1dSetByLabel( + ConstHandle2Regions1d This, + const char *const label, + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Has, by outerDomainValue +extern_c int +Regions1dXYs1dHasByOuterDomainValue( + ConstHandle2ConstRegions1d This, + const double outerDomainValue +); + +// --- Get, by outerDomainValue, const +extern_c Handle2ConstXYs1d +Regions1dXYs1dGetByOuterDomainValueConst( + ConstHandle2ConstRegions1d This, + const double outerDomainValue +); + +// +++ Get, by outerDomainValue, non-const +extern_c Handle2XYs1d +Regions1dXYs1dGetByOuterDomainValue( + ConstHandle2Regions1d This, + const double outerDomainValue +); + +// +++ Set, by outerDomainValue +extern_c void +Regions1dXYs1dSetByOuterDomainValue( + ConstHandle2Regions1d This, + const double outerDomainValue, + ConstHandle2ConstXYs1d XYs1d +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Values.cpp b/autogen/prototype/proto/c/src/v1.9/containers/Values.cpp new file mode 100644 index 000000000..59c60461f --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Values.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/containers/Values.hpp" +#include "Values.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = ValuesClass; +using CPP = multigroup::Values; + +static const std::string CLASSNAME = "Values"; + +namespace extract { + static auto valueType = [](auto &obj) { return &obj.valueType; }; + static auto start = [](auto &obj) { return &obj.start; }; + static auto length = [](auto &obj) { return &obj.length; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstValues +ValuesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Values +ValuesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstValues +ValuesCreateConst( + const char *const valueType, + const int start, + const int length +) { + ConstHandle2Values handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + valueType, + start, + length + ); + return handle; +} + +// Create, general +Handle2Values +ValuesCreate( + const char *const valueType, + const int start, + const int length +) { + ConstHandle2Values handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + valueType, + start, + length + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ValuesAssign(ConstHandle2Values This, ConstHandle2ConstValues from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ValuesDelete(ConstHandle2ConstValues This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ValuesRead(ConstHandle2Values This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ValuesWrite(ConstHandle2ConstValues This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ValuesPrint(ConstHandle2ConstValues This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ValuesPrintXML(ConstHandle2ConstValues This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ValuesPrintJSON(ConstHandle2ConstValues This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +ValuesIntsClear(ConstHandle2Values This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +ValuesIntsSize(ConstHandle2ConstValues This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +ValuesIntsGet(ConstHandle2ConstValues This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ValuesIntsSet(ConstHandle2Values This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +ValuesIntsGetArrayConst(ConstHandle2ConstValues This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +ValuesIntsGetArray(ConstHandle2Values This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +ValuesIntsSetArray(ConstHandle2Values This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +ValuesUnsignedsClear(ConstHandle2Values This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +ValuesUnsignedsSize(ConstHandle2ConstValues This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +ValuesUnsignedsGet(ConstHandle2ConstValues This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ValuesUnsignedsSet(ConstHandle2Values This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +ValuesUnsignedsGetArrayConst(ConstHandle2ConstValues This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +ValuesUnsignedsGetArray(ConstHandle2Values This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +ValuesUnsignedsSetArray(ConstHandle2Values This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +ValuesFloatsClear(ConstHandle2Values This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +ValuesFloatsSize(ConstHandle2ConstValues This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +ValuesFloatsGet(ConstHandle2ConstValues This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ValuesFloatsSet(ConstHandle2Values This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +ValuesFloatsGetArrayConst(ConstHandle2ConstValues This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +ValuesFloatsGetArray(ConstHandle2Values This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +ValuesFloatsSetArray(ConstHandle2Values This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +ValuesDoublesClear(ConstHandle2Values This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +ValuesDoublesSize(ConstHandle2ConstValues This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +ValuesDoublesGet(ConstHandle2ConstValues This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ValuesDoublesSet(ConstHandle2Values This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +ValuesDoublesGetArrayConst(ConstHandle2ConstValues This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +ValuesDoublesGetArray(ConstHandle2Values This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +ValuesDoublesSetArray(ConstHandle2Values This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: valueType +// ----------------------------------------------------------------------------- + +// Has +int +ValuesValueTypeHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueTypeHas", This, extract::valueType); +} + +// Get +// Returns by value +const char * +ValuesValueTypeGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueTypeGet", This, extract::valueType); +} + +// Set +void +ValuesValueTypeSet(ConstHandle2Values This, const char *const valueType) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueTypeSet", This, extract::valueType, valueType); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: start +// ----------------------------------------------------------------------------- + +// Has +int +ValuesStartHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StartHas", This, extract::start); +} + +// Get +// Returns by value +int +ValuesStartGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StartGet", This, extract::start); +} + +// Set +void +ValuesStartSet(ConstHandle2Values This, const int start) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StartSet", This, extract::start, start); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: length +// ----------------------------------------------------------------------------- + +// Has +int +ValuesLengthHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LengthHas", This, extract::length); +} + +// Get +// Returns by value +int +ValuesLengthGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LengthGet", This, extract::length); +} + +// Set +void +ValuesLengthSet(ConstHandle2Values This, const int length) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LengthSet", This, extract::length, length); +} diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Values.h b/autogen/prototype/proto/c/src/v1.9/containers/Values.h new file mode 100644 index 000000000..c1dcee295 --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/Values.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Values is the basic handle type in this file. Example: +// // Create a default Values object: +// Values handle = ValuesDefault(); +// Functions involving Values are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_CONTAINERS_VALUES +#define C_INTERFACE_PROTO_V1_9_CONTAINERS_VALUES + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ValuesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Values +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ValuesClass *Values; + +// --- Const-aware handles. +typedef const struct ValuesClass *const ConstHandle2ConstValues; +typedef struct ValuesClass *const ConstHandle2Values; +typedef const struct ValuesClass * Handle2ConstValues; +typedef struct ValuesClass * Handle2Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstValues +ValuesDefaultConst(); + +// +++ Create, default +extern_c Handle2Values +ValuesDefault(); + +// --- Create, general, const +extern_c Handle2ConstValues +ValuesCreateConst( + const char *const valueType, + const int start, + const int length +); + +// +++ Create, general +extern_c Handle2Values +ValuesCreate( + const char *const valueType, + const int start, + const int length +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ValuesAssign(ConstHandle2Values This, ConstHandle2ConstValues from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ValuesDelete(ConstHandle2ConstValues This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ValuesRead(ConstHandle2Values This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ValuesWrite(ConstHandle2ConstValues This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ValuesPrint(ConstHandle2ConstValues This); + +// +++ Print to standard output, as XML +extern_c int +ValuesPrintXML(ConstHandle2ConstValues This); + +// +++ Print to standard output, as JSON +extern_c int +ValuesPrintJSON(ConstHandle2ConstValues This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +ValuesIntsClear(ConstHandle2Values This); + +// +++ Get size +extern_c size_t +ValuesIntsSize(ConstHandle2ConstValues This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +ValuesIntsGet(ConstHandle2ConstValues This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ValuesIntsSet(ConstHandle2Values This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +ValuesIntsGetArrayConst(ConstHandle2ConstValues This); + +// +++ Get pointer to existing values, non-const +extern_c int * +ValuesIntsGetArray(ConstHandle2Values This); + +// +++ Set completely new values and size +extern_c void +ValuesIntsSetArray(ConstHandle2Values This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +ValuesUnsignedsClear(ConstHandle2Values This); + +// +++ Get size +extern_c size_t +ValuesUnsignedsSize(ConstHandle2ConstValues This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +ValuesUnsignedsGet(ConstHandle2ConstValues This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ValuesUnsignedsSet(ConstHandle2Values This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +ValuesUnsignedsGetArrayConst(ConstHandle2ConstValues This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +ValuesUnsignedsGetArray(ConstHandle2Values This); + +// +++ Set completely new values and size +extern_c void +ValuesUnsignedsSetArray(ConstHandle2Values This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +ValuesFloatsClear(ConstHandle2Values This); + +// +++ Get size +extern_c size_t +ValuesFloatsSize(ConstHandle2ConstValues This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +ValuesFloatsGet(ConstHandle2ConstValues This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ValuesFloatsSet(ConstHandle2Values This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +ValuesFloatsGetArrayConst(ConstHandle2ConstValues This); + +// +++ Get pointer to existing values, non-const +extern_c float * +ValuesFloatsGetArray(ConstHandle2Values This); + +// +++ Set completely new values and size +extern_c void +ValuesFloatsSetArray(ConstHandle2Values This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +ValuesDoublesClear(ConstHandle2Values This); + +// +++ Get size +extern_c size_t +ValuesDoublesSize(ConstHandle2ConstValues This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +ValuesDoublesGet(ConstHandle2ConstValues This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ValuesDoublesSet(ConstHandle2Values This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +ValuesDoublesGetArrayConst(ConstHandle2ConstValues This); + +// +++ Get pointer to existing values, non-const +extern_c double * +ValuesDoublesGetArray(ConstHandle2Values This); + +// +++ Set completely new values and size +extern_c void +ValuesDoublesSetArray(ConstHandle2Values This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: valueType +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesValueTypeHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ValuesValueTypeGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesValueTypeSet(ConstHandle2Values This, const char *const valueType); + + +// ----------------------------------------------------------------------------- +// Metadatum: start +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesStartHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c int +ValuesStartGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesStartSet(ConstHandle2Values This, const int start); + + +// ----------------------------------------------------------------------------- +// Metadatum: length +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesLengthHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c int +ValuesLengthGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesLengthSet(ConstHandle2Values This, const int length); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.cpp b/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.cpp new file mode 100644 index 000000000..b2f00f53e --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.cpp @@ -0,0 +1,357 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/containers/XYs1d.hpp" +#include "XYs1d.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = XYs1dClass; +using CPP = multigroup::XYs1d; + +static const std::string CLASSNAME = "XYs1d"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto interpolation = [](auto &obj) { return &obj.interpolation; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPAxes = containers::Axes; +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstXYs1d +XYs1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2XYs1d +XYs1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstXYs1d +XYs1dCreateConst( + const int index, + const enums::Interpolation interpolation, + const char *const label, + const double outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +) { + ConstHandle2XYs1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + interpolation, + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2XYs1d +XYs1dCreate( + const int index, + const enums::Interpolation interpolation, + const char *const label, + const double outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +) { + ConstHandle2XYs1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + interpolation, + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +XYs1dAssign(ConstHandle2XYs1d This, ConstHandle2ConstXYs1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +XYs1dDelete(ConstHandle2ConstXYs1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +XYs1dRead(ConstHandle2XYs1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +XYs1dWrite(ConstHandle2ConstXYs1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +XYs1dPrint(ConstHandle2ConstXYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +XYs1dPrintXML(ConstHandle2ConstXYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +XYs1dPrintJSON(ConstHandle2ConstXYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dIndexHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +int +XYs1dIndexGet(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +XYs1dIndexSet(ConstHandle2XYs1d This, const int index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dInterpolationHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationHas", This, extract::interpolation); +} + +// Get +// Returns by value +enums::Interpolation +XYs1dInterpolationGet(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationGet", This, extract::interpolation); +} + +// Set +void +XYs1dInterpolationSet(ConstHandle2XYs1d This, const enums::Interpolation interpolation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationSet", This, extract::interpolation, interpolation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dLabelHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +const char * +XYs1dLabelGet(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +XYs1dLabelSet(ConstHandle2XYs1d This, const char *const label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dOuterDomainValueHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +double +XYs1dOuterDomainValueGet(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +XYs1dOuterDomainValueSet(ConstHandle2XYs1d This, const double outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dAxesHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +XYs1dAxesGetConst(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +XYs1dAxesGet(ConstHandle2XYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +XYs1dAxesSet(ConstHandle2XYs1d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dValuesHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +XYs1dValuesGetConst(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +XYs1dValuesGet(ConstHandle2XYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +XYs1dValuesSet(ConstHandle2XYs1d This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.h b/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.h new file mode 100644 index 000000000..5d68b976b --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.h @@ -0,0 +1,263 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// XYs1d is the basic handle type in this file. Example: +// // Create a default XYs1d object: +// XYs1d handle = XYs1dDefault(); +// Functions involving XYs1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_CONTAINERS_XYS1D +#define C_INTERFACE_PROTO_V1_9_CONTAINERS_XYS1D + +#include "GNDStk.h" +#include "v1.9/containers/Axes.h" +#include "v1.9/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct XYs1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ XYs1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct XYs1dClass *XYs1d; + +// --- Const-aware handles. +typedef const struct XYs1dClass *const ConstHandle2ConstXYs1d; +typedef struct XYs1dClass *const ConstHandle2XYs1d; +typedef const struct XYs1dClass * Handle2ConstXYs1d; +typedef struct XYs1dClass * Handle2XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstXYs1d +XYs1dDefaultConst(); + +// +++ Create, default +extern_c Handle2XYs1d +XYs1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstXYs1d +XYs1dCreateConst( + const int index, + const enums::Interpolation interpolation, + const char *const label, + const double outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2XYs1d +XYs1dCreate( + const int index, + const enums::Interpolation interpolation, + const char *const label, + const double outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +XYs1dAssign(ConstHandle2XYs1d This, ConstHandle2ConstXYs1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +XYs1dDelete(ConstHandle2ConstXYs1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +XYs1dRead(ConstHandle2XYs1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +XYs1dWrite(ConstHandle2ConstXYs1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +XYs1dPrint(ConstHandle2ConstXYs1d This); + +// +++ Print to standard output, as XML +extern_c int +XYs1dPrintXML(ConstHandle2ConstXYs1d This); + +// +++ Print to standard output, as JSON +extern_c int +XYs1dPrintJSON(ConstHandle2ConstXYs1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dIndexHas(ConstHandle2ConstXYs1d This); + +// +++ Get +// +++ Returns by value +extern_c int +XYs1dIndexGet(ConstHandle2ConstXYs1d This); + +// +++ Set +extern_c void +XYs1dIndexSet(ConstHandle2XYs1d This, const int index); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dInterpolationHas(ConstHandle2ConstXYs1d This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interpolation +XYs1dInterpolationGet(ConstHandle2ConstXYs1d This); + +// +++ Set +extern_c void +XYs1dInterpolationSet(ConstHandle2XYs1d This, const enums::Interpolation interpolation); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dLabelHas(ConstHandle2ConstXYs1d This); + +// +++ Get +// +++ Returns by value +extern_c const char * +XYs1dLabelGet(ConstHandle2ConstXYs1d This); + +// +++ Set +extern_c void +XYs1dLabelSet(ConstHandle2XYs1d This, const char *const label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dOuterDomainValueHas(ConstHandle2ConstXYs1d This); + +// +++ Get +// +++ Returns by value +extern_c double +XYs1dOuterDomainValueGet(ConstHandle2ConstXYs1d This); + +// +++ Set +extern_c void +XYs1dOuterDomainValueSet(ConstHandle2XYs1d This, const double outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dAxesHas(ConstHandle2ConstXYs1d This); + +// --- Get, const +extern_c Handle2ConstAxes +XYs1dAxesGetConst(ConstHandle2ConstXYs1d This); + +// +++ Get, non-const +extern_c Handle2Axes +XYs1dAxesGet(ConstHandle2XYs1d This); + +// +++ Set +extern_c void +XYs1dAxesSet(ConstHandle2XYs1d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dValuesHas(ConstHandle2ConstXYs1d This); + +// --- Get, const +extern_c Handle2ConstValues +XYs1dValuesGetConst(ConstHandle2ConstXYs1d This); + +// +++ Get, non-const +extern_c Handle2Values +XYs1dValuesGet(ConstHandle2XYs1d This); + +// +++ Set +extern_c void +XYs1dValuesSet(ConstHandle2XYs1d This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.cpp b/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.cpp new file mode 100644 index 000000000..f1c11694f --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/transport/CrossSection.hpp" +#include "CrossSection.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = CrossSectionClass; +using CPP = multigroup::CrossSection; + +static const std::string CLASSNAME = "CrossSection"; + +namespace extract { +} + +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCrossSection +CrossSectionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CrossSection +CrossSectionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCrossSection +CrossSectionCreateConst( +) { + ConstHandle2CrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2CrossSection +CrossSectionCreate( +) { + ConstHandle2CrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CrossSectionAssign(ConstHandle2CrossSection This, ConstHandle2ConstCrossSection from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CrossSectionDelete(ConstHandle2ConstCrossSection This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CrossSectionRead(ConstHandle2CrossSection This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CrossSectionWrite(ConstHandle2ConstCrossSection This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CrossSectionPrint(ConstHandle2ConstCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CrossSectionPrintXML(ConstHandle2ConstCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CrossSectionPrintJSON(ConstHandle2ConstCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.h b/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.h new file mode 100644 index 000000000..8c27b5ccc --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CrossSection is the basic handle type in this file. Example: +// // Create a default CrossSection object: +// CrossSection handle = CrossSectionDefault(); +// Functions involving CrossSection are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_TRANSPORT_CROSSSECTION +#define C_INTERFACE_PROTO_V1_9_TRANSPORT_CROSSSECTION + +#include "GNDStk.h" +#include "v1.9/containers/XYs1d.h" +#include "v1.9/containers/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CrossSectionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CrossSection +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CrossSectionClass *CrossSection; + +// --- Const-aware handles. +typedef const struct CrossSectionClass *const ConstHandle2ConstCrossSection; +typedef struct CrossSectionClass *const ConstHandle2CrossSection; +typedef const struct CrossSectionClass * Handle2ConstCrossSection; +typedef struct CrossSectionClass * Handle2CrossSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCrossSection +CrossSectionDefaultConst(); + +// +++ Create, default +extern_c Handle2CrossSection +CrossSectionDefault(); + +// --- Create, general, const +extern_c Handle2ConstCrossSection +CrossSectionCreateConst( +); + +// +++ Create, general +extern_c Handle2CrossSection +CrossSectionCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CrossSectionAssign(ConstHandle2CrossSection This, ConstHandle2ConstCrossSection from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CrossSectionDelete(ConstHandle2ConstCrossSection This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CrossSectionRead(ConstHandle2CrossSection This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CrossSectionWrite(ConstHandle2ConstCrossSection This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CrossSectionPrint(ConstHandle2ConstCrossSection This); + +// +++ Print to standard output, as XML +extern_c int +CrossSectionPrintXML(ConstHandle2ConstCrossSection This); + +// +++ Print to standard output, as JSON +extern_c int +CrossSectionPrintJSON(ConstHandle2ConstCrossSection This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/transport/Reaction.cpp b/autogen/prototype/proto/c/src/v1.9/transport/Reaction.cpp new file mode 100644 index 000000000..5d9476b2e --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/transport/Reaction.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/transport/Reaction.hpp" +#include "Reaction.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = ReactionClass; +using CPP = multigroup::Reaction; + +static const std::string CLASSNAME = "Reaction"; + +namespace extract { + static auto ENDF_MT = [](auto &obj) { return &obj.ENDF_MT; }; + static auto fissionGenre = [](auto &obj) { return &obj.fissionGenre; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto crossSection = [](auto &obj) { return &obj.crossSection; }; +} + +using CPPCrossSection = transport::CrossSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstReaction +ReactionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Reaction +ReactionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstReaction +ReactionCreateConst( + const int ENDF_MT, + const char *const fissionGenre, + const char *const label, + ConstHandle2ConstCrossSection crossSection +) { + ConstHandle2Reaction handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MT, + fissionGenre, + label, + detail::tocpp(crossSection) + ); + return handle; +} + +// Create, general +Handle2Reaction +ReactionCreate( + const int ENDF_MT, + const char *const fissionGenre, + const char *const label, + ConstHandle2ConstCrossSection crossSection +) { + ConstHandle2Reaction handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MT, + fissionGenre, + label, + detail::tocpp(crossSection) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ReactionAssign(ConstHandle2Reaction This, ConstHandle2ConstReaction from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ReactionDelete(ConstHandle2ConstReaction This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ReactionRead(ConstHandle2Reaction This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ReactionWrite(ConstHandle2ConstReaction This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ReactionPrint(ConstHandle2ConstReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ReactionPrintXML(ConstHandle2ConstReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ReactionPrintJSON(ConstHandle2ConstReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// Has +int +ReactionENDFMTHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMTHas", This, extract::ENDF_MT); +} + +// Get +// Returns by value +int +ReactionENDFMTGet(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMTGet", This, extract::ENDF_MT); +} + +// Set +void +ReactionENDFMTSet(ConstHandle2Reaction This, const int ENDF_MT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMTSet", This, extract::ENDF_MT, ENDF_MT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: fissionGenre +// ----------------------------------------------------------------------------- + +// Has +int +ReactionFissionGenreHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionGenreHas", This, extract::fissionGenre); +} + +// Get +// Returns by value +const char * +ReactionFissionGenreGet(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionGenreGet", This, extract::fissionGenre); +} + +// Set +void +ReactionFissionGenreSet(ConstHandle2Reaction This, const char *const fissionGenre) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FissionGenreSet", This, extract::fissionGenre, fissionGenre); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ReactionLabelHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +const char * +ReactionLabelGet(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ReactionLabelSet(ConstHandle2Reaction This, const char *const label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// Has +int +ReactionCrossSectionHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionHas", This, extract::crossSection); +} + +// Get, const +Handle2ConstCrossSection +ReactionCrossSectionGetConst(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGetConst", This, extract::crossSection); +} + +// Get, non-const +Handle2CrossSection +ReactionCrossSectionGet(ConstHandle2Reaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGet", This, extract::crossSection); +} + +// Set +void +ReactionCrossSectionSet(ConstHandle2Reaction This, ConstHandle2ConstCrossSection crossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossSectionSet", This, extract::crossSection, crossSection); +} diff --git a/autogen/prototype/proto/c/src/v1.9/transport/Reaction.h b/autogen/prototype/proto/c/src/v1.9/transport/Reaction.h new file mode 100644 index 000000000..6f76ae59b --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/transport/Reaction.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Reaction is the basic handle type in this file. Example: +// // Create a default Reaction object: +// Reaction handle = ReactionDefault(); +// Functions involving Reaction are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_TRANSPORT_REACTION +#define C_INTERFACE_PROTO_V1_9_TRANSPORT_REACTION + +#include "GNDStk.h" +#include "v1.9/transport/CrossSection.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ReactionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Reaction +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ReactionClass *Reaction; + +// --- Const-aware handles. +typedef const struct ReactionClass *const ConstHandle2ConstReaction; +typedef struct ReactionClass *const ConstHandle2Reaction; +typedef const struct ReactionClass * Handle2ConstReaction; +typedef struct ReactionClass * Handle2Reaction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstReaction +ReactionDefaultConst(); + +// +++ Create, default +extern_c Handle2Reaction +ReactionDefault(); + +// --- Create, general, const +extern_c Handle2ConstReaction +ReactionCreateConst( + const int ENDF_MT, + const char *const fissionGenre, + const char *const label, + ConstHandle2ConstCrossSection crossSection +); + +// +++ Create, general +extern_c Handle2Reaction +ReactionCreate( + const int ENDF_MT, + const char *const fissionGenre, + const char *const label, + ConstHandle2ConstCrossSection crossSection +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ReactionAssign(ConstHandle2Reaction This, ConstHandle2ConstReaction from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ReactionDelete(ConstHandle2ConstReaction This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ReactionRead(ConstHandle2Reaction This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ReactionWrite(ConstHandle2ConstReaction This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ReactionPrint(ConstHandle2ConstReaction This); + +// +++ Print to standard output, as XML +extern_c int +ReactionPrintXML(ConstHandle2ConstReaction This); + +// +++ Print to standard output, as JSON +extern_c int +ReactionPrintJSON(ConstHandle2ConstReaction This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionENDFMTHas(ConstHandle2ConstReaction This); + +// +++ Get +// +++ Returns by value +extern_c int +ReactionENDFMTGet(ConstHandle2ConstReaction This); + +// +++ Set +extern_c void +ReactionENDFMTSet(ConstHandle2Reaction This, const int ENDF_MT); + + +// ----------------------------------------------------------------------------- +// Metadatum: fissionGenre +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionFissionGenreHas(ConstHandle2ConstReaction This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ReactionFissionGenreGet(ConstHandle2ConstReaction This); + +// +++ Set +extern_c void +ReactionFissionGenreSet(ConstHandle2Reaction This, const char *const fissionGenre); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionLabelHas(ConstHandle2ConstReaction This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ReactionLabelGet(ConstHandle2ConstReaction This); + +// +++ Set +extern_c void +ReactionLabelSet(ConstHandle2Reaction This, const char *const label); + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionCrossSectionHas(ConstHandle2ConstReaction This); + +// --- Get, const +extern_c Handle2ConstCrossSection +ReactionCrossSectionGetConst(ConstHandle2ConstReaction This); + +// +++ Get, non-const +extern_c Handle2CrossSection +ReactionCrossSectionGet(ConstHandle2Reaction This); + +// +++ Set +extern_c void +ReactionCrossSectionSet(ConstHandle2Reaction This, ConstHandle2ConstCrossSection crossSection); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.cpp b/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.cpp new file mode 100644 index 000000000..9deaf2a97 --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.cpp @@ -0,0 +1,384 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/transport/ReactionSuite.hpp" +#include "ReactionSuite.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = ReactionSuiteClass; +using CPP = multigroup::ReactionSuite; + +static const std::string CLASSNAME = "ReactionSuite"; + +namespace extract { + static auto evaluation = [](auto &obj) { return &obj.evaluation; }; + static auto format = [](auto &obj) { return &obj.format; }; + static auto projectile = [](auto &obj) { return &obj.projectile; }; + static auto projectileFrame = [](auto &obj) { return &obj.projectileFrame; }; + static auto target = [](auto &obj) { return &obj.target; }; + static auto interaction = [](auto &obj) { return &obj.interaction; }; + static auto reactions = [](auto &obj) { return &obj.reactions; }; +} + +using CPPReactions = transport::Reactions; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstReactionSuite +ReactionSuiteDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ReactionSuite +ReactionSuiteDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstReactionSuite +ReactionSuiteCreateConst( + const char *const evaluation, + const char *const format, + const char *const projectile, + const enums::Frame projectileFrame, + const char *const target, + const enums::Interaction interaction, + ConstHandle2ConstReactions reactions +) { + ConstHandle2ReactionSuite handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + evaluation, + format, + projectile, + projectileFrame, + target, + interaction, + detail::tocpp(reactions) + ); + return handle; +} + +// Create, general +Handle2ReactionSuite +ReactionSuiteCreate( + const char *const evaluation, + const char *const format, + const char *const projectile, + const enums::Frame projectileFrame, + const char *const target, + const enums::Interaction interaction, + ConstHandle2ConstReactions reactions +) { + ConstHandle2ReactionSuite handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + evaluation, + format, + projectile, + projectileFrame, + target, + interaction, + detail::tocpp(reactions) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ReactionSuiteAssign(ConstHandle2ReactionSuite This, ConstHandle2ConstReactionSuite from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ReactionSuiteDelete(ConstHandle2ConstReactionSuite This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ReactionSuiteRead(ConstHandle2ReactionSuite This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ReactionSuiteWrite(ConstHandle2ConstReactionSuite This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ReactionSuitePrint(ConstHandle2ConstReactionSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ReactionSuitePrintXML(ConstHandle2ConstReactionSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ReactionSuitePrintJSON(ConstHandle2ConstReactionSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteEvaluationHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaluationHas", This, extract::evaluation); +} + +// Get +// Returns by value +const char * +ReactionSuiteEvaluationGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaluationGet", This, extract::evaluation); +} + +// Set +void +ReactionSuiteEvaluationSet(ConstHandle2ReactionSuite This, const char *const evaluation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EvaluationSet", This, extract::evaluation, evaluation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteFormatHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FormatHas", This, extract::format); +} + +// Get +// Returns by value +const char * +ReactionSuiteFormatGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FormatGet", This, extract::format); +} + +// Set +void +ReactionSuiteFormatSet(ConstHandle2ReactionSuite This, const char *const format) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FormatSet", This, extract::format, format); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteProjectileHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileHas", This, extract::projectile); +} + +// Get +// Returns by value +const char * +ReactionSuiteProjectileGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileGet", This, extract::projectile); +} + +// Set +void +ReactionSuiteProjectileSet(ConstHandle2ReactionSuite This, const char *const projectile) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProjectileSet", This, extract::projectile, projectile); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: projectileFrame +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteProjectileFrameHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileFrameHas", This, extract::projectileFrame); +} + +// Get +// Returns by value +enums::Frame +ReactionSuiteProjectileFrameGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileFrameGet", This, extract::projectileFrame); +} + +// Set +void +ReactionSuiteProjectileFrameSet(ConstHandle2ReactionSuite This, const enums::Frame projectileFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProjectileFrameSet", This, extract::projectileFrame, projectileFrame); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteTargetHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TargetHas", This, extract::target); +} + +// Get +// Returns by value +const char * +ReactionSuiteTargetGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TargetGet", This, extract::target); +} + +// Set +void +ReactionSuiteTargetSet(ConstHandle2ReactionSuite This, const char *const target) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TargetSet", This, extract::target, target); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteInteractionHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InteractionHas", This, extract::interaction); +} + +// Get +// Returns by value +enums::Interaction +ReactionSuiteInteractionGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InteractionGet", This, extract::interaction); +} + +// Set +void +ReactionSuiteInteractionSet(ConstHandle2ReactionSuite This, const enums::Interaction interaction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InteractionSet", This, extract::interaction, interaction); +} + + +// ----------------------------------------------------------------------------- +// Child: reactions +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteReactionsHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ReactionsHas", This, extract::reactions); +} + +// Get, const +Handle2ConstReactions +ReactionSuiteReactionsGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ReactionsGetConst", This, extract::reactions); +} + +// Get, non-const +Handle2Reactions +ReactionSuiteReactionsGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ReactionsGet", This, extract::reactions); +} + +// Set +void +ReactionSuiteReactionsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstReactions reactions) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ReactionsSet", This, extract::reactions, reactions); +} diff --git a/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.h b/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.h new file mode 100644 index 000000000..e7a578052 --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.h @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ReactionSuite is the basic handle type in this file. Example: +// // Create a default ReactionSuite object: +// ReactionSuite handle = ReactionSuiteDefault(); +// Functions involving ReactionSuite are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_TRANSPORT_REACTIONSUITE +#define C_INTERFACE_PROTO_V1_9_TRANSPORT_REACTIONSUITE + +#include "GNDStk.h" +#include "v1.9/transport/Reactions.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ReactionSuiteClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ReactionSuite +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ReactionSuiteClass *ReactionSuite; + +// --- Const-aware handles. +typedef const struct ReactionSuiteClass *const ConstHandle2ConstReactionSuite; +typedef struct ReactionSuiteClass *const ConstHandle2ReactionSuite; +typedef const struct ReactionSuiteClass * Handle2ConstReactionSuite; +typedef struct ReactionSuiteClass * Handle2ReactionSuite; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstReactionSuite +ReactionSuiteDefaultConst(); + +// +++ Create, default +extern_c Handle2ReactionSuite +ReactionSuiteDefault(); + +// --- Create, general, const +extern_c Handle2ConstReactionSuite +ReactionSuiteCreateConst( + const char *const evaluation, + const char *const format, + const char *const projectile, + const enums::Frame projectileFrame, + const char *const target, + const enums::Interaction interaction, + ConstHandle2ConstReactions reactions +); + +// +++ Create, general +extern_c Handle2ReactionSuite +ReactionSuiteCreate( + const char *const evaluation, + const char *const format, + const char *const projectile, + const enums::Frame projectileFrame, + const char *const target, + const enums::Interaction interaction, + ConstHandle2ConstReactions reactions +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ReactionSuiteAssign(ConstHandle2ReactionSuite This, ConstHandle2ConstReactionSuite from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ReactionSuiteDelete(ConstHandle2ConstReactionSuite This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ReactionSuiteRead(ConstHandle2ReactionSuite This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ReactionSuiteWrite(ConstHandle2ConstReactionSuite This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ReactionSuitePrint(ConstHandle2ConstReactionSuite This); + +// +++ Print to standard output, as XML +extern_c int +ReactionSuitePrintXML(ConstHandle2ConstReactionSuite This); + +// +++ Print to standard output, as JSON +extern_c int +ReactionSuitePrintJSON(ConstHandle2ConstReactionSuite This); + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteEvaluationHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ReactionSuiteEvaluationGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteEvaluationSet(ConstHandle2ReactionSuite This, const char *const evaluation); + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteFormatHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ReactionSuiteFormatGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteFormatSet(ConstHandle2ReactionSuite This, const char *const format); + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteProjectileHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ReactionSuiteProjectileGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteProjectileSet(ConstHandle2ReactionSuite This, const char *const projectile); + + +// ----------------------------------------------------------------------------- +// Metadatum: projectileFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteProjectileFrameHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +ReactionSuiteProjectileFrameGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteProjectileFrameSet(ConstHandle2ReactionSuite This, const enums::Frame projectileFrame); + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteTargetHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ReactionSuiteTargetGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteTargetSet(ConstHandle2ReactionSuite This, const char *const target); + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteInteractionHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interaction +ReactionSuiteInteractionGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteInteractionSet(ConstHandle2ReactionSuite This, const enums::Interaction interaction); + + +// ----------------------------------------------------------------------------- +// Child: reactions +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteReactionsHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstReactions +ReactionSuiteReactionsGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2Reactions +ReactionSuiteReactionsGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteReactionsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstReactions reactions); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/c/src/v1.9/transport/Reactions.cpp b/autogen/prototype/proto/c/src/v1.9/transport/Reactions.cpp new file mode 100644 index 000000000..7b75118e5 --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/transport/Reactions.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "proto/v1_9/transport/Reactions.hpp" +#include "Reactions.h" + +using namespace njoy::GNDStk; +using namespace proto::v1_9; + +using C = ReactionsClass; +using CPP = multigroup::Reactions; + +static const std::string CLASSNAME = "Reactions"; + +namespace extract { + static auto reaction = [](auto &obj) { return &obj.reaction; }; +} + +using CPPReaction = transport::Reaction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstReactions +ReactionsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Reactions +ReactionsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstReactions +ReactionsCreateConst( + ConstHandle2Reaction *const reaction, const size_t reactionSize +) { + ConstHandle2Reactions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ReactionN = 0; ReactionN < reactionSize; ++ReactionN) + ReactionsReactionAdd(handle, reaction[ReactionN]); + return handle; +} + +// Create, general +Handle2Reactions +ReactionsCreate( + ConstHandle2Reaction *const reaction, const size_t reactionSize +) { + ConstHandle2Reactions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ReactionN = 0; ReactionN < reactionSize; ++ReactionN) + ReactionsReactionAdd(handle, reaction[ReactionN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ReactionsAssign(ConstHandle2Reactions This, ConstHandle2ConstReactions from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ReactionsDelete(ConstHandle2ConstReactions This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ReactionsRead(ConstHandle2Reactions This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ReactionsWrite(ConstHandle2ConstReactions This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ReactionsPrint(ConstHandle2ConstReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ReactionsPrintXML(ConstHandle2ConstReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ReactionsPrintJSON(ConstHandle2ConstReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: reaction +// ----------------------------------------------------------------------------- + +// Has +int +ReactionsReactionHas(ConstHandle2ConstReactions This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ReactionHas", This, extract::reaction); +} + +// Clear +void +ReactionsReactionClear(ConstHandle2Reactions This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ReactionClear", This, extract::reaction); +} + +// Size +size_t +ReactionsReactionSize(ConstHandle2ConstReactions This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ReactionSize", This, extract::reaction); +} + +// Add +void +ReactionsReactionAdd(ConstHandle2Reactions This, ConstHandle2ConstReaction reaction) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ReactionAdd", This, extract::reaction, reaction); +} + +// Get, by index \in [0,size), const +Handle2ConstReaction +ReactionsReactionGetConst(ConstHandle2ConstReactions This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ReactionGetConst", This, extract::reaction, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Reaction +ReactionsReactionGet(ConstHandle2Reactions This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ReactionGet", This, extract::reaction, index_); +} + +// Set, by index \in [0,size) +void +ReactionsReactionSet( + ConstHandle2Reactions This, + const size_t index_, + ConstHandle2ConstReaction reaction +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ReactionSet", This, extract::reaction, index_, reaction); +} + +// Has, by ENDF_MT +int +ReactionsReactionHasByENDFMT( + ConstHandle2ConstReactions This, + const int ENDF_MT +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ReactionHasByENDFMT", + This, extract::reaction, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, const +Handle2ConstReaction +ReactionsReactionGetByENDFMTConst( + ConstHandle2ConstReactions This, + const int ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByENDFMTConst", + This, extract::reaction, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, non-const +Handle2Reaction +ReactionsReactionGetByENDFMT( + ConstHandle2Reactions This, + const int ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByENDFMT", + This, extract::reaction, meta::ENDF_MT, ENDF_MT); +} + +// Set, by ENDF_MT +void +ReactionsReactionSetByENDFMT( + ConstHandle2Reactions This, + const int ENDF_MT, + ConstHandle2ConstReaction reaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ReactionSetByENDFMT", + This, extract::reaction, meta::ENDF_MT, ENDF_MT, reaction); +} + +// Has, by fissionGenre +int +ReactionsReactionHasByFissionGenre( + ConstHandle2ConstReactions This, + const char *const fissionGenre +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ReactionHasByFissionGenre", + This, extract::reaction, meta::fissionGenre, fissionGenre); +} + +// Get, by fissionGenre, const +Handle2ConstReaction +ReactionsReactionGetByFissionGenreConst( + ConstHandle2ConstReactions This, + const char *const fissionGenre +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByFissionGenreConst", + This, extract::reaction, meta::fissionGenre, fissionGenre); +} + +// Get, by fissionGenre, non-const +Handle2Reaction +ReactionsReactionGetByFissionGenre( + ConstHandle2Reactions This, + const char *const fissionGenre +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByFissionGenre", + This, extract::reaction, meta::fissionGenre, fissionGenre); +} + +// Set, by fissionGenre +void +ReactionsReactionSetByFissionGenre( + ConstHandle2Reactions This, + const char *const fissionGenre, + ConstHandle2ConstReaction reaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ReactionSetByFissionGenre", + This, extract::reaction, meta::fissionGenre, fissionGenre, reaction); +} + +// Has, by label +int +ReactionsReactionHasByLabel( + ConstHandle2ConstReactions This, + const char *const label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ReactionHasByLabel", + This, extract::reaction, meta::label, label); +} + +// Get, by label, const +Handle2ConstReaction +ReactionsReactionGetByLabelConst( + ConstHandle2ConstReactions This, + const char *const label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByLabelConst", + This, extract::reaction, meta::label, label); +} + +// Get, by label, non-const +Handle2Reaction +ReactionsReactionGetByLabel( + ConstHandle2Reactions This, + const char *const label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByLabel", + This, extract::reaction, meta::label, label); +} + +// Set, by label +void +ReactionsReactionSetByLabel( + ConstHandle2Reactions This, + const char *const label, + ConstHandle2ConstReaction reaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ReactionSetByLabel", + This, extract::reaction, meta::label, label, reaction); +} diff --git a/autogen/prototype/proto/c/src/v1.9/transport/Reactions.h b/autogen/prototype/proto/c/src/v1.9/transport/Reactions.h new file mode 100644 index 000000000..a3589a5ef --- /dev/null +++ b/autogen/prototype/proto/c/src/v1.9/transport/Reactions.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Reactions is the basic handle type in this file. Example: +// // Create a default Reactions object: +// Reactions handle = ReactionsDefault(); +// Functions involving Reactions are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_PROTO_V1_9_TRANSPORT_REACTIONS +#define C_INTERFACE_PROTO_V1_9_TRANSPORT_REACTIONS + +#include "GNDStk.h" +#include "v1.9/transport/Reaction.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ReactionsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Reactions +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ReactionsClass *Reactions; + +// --- Const-aware handles. +typedef const struct ReactionsClass *const ConstHandle2ConstReactions; +typedef struct ReactionsClass *const ConstHandle2Reactions; +typedef const struct ReactionsClass * Handle2ConstReactions; +typedef struct ReactionsClass * Handle2Reactions; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstReactions +ReactionsDefaultConst(); + +// +++ Create, default +extern_c Handle2Reactions +ReactionsDefault(); + +// --- Create, general, const +extern_c Handle2ConstReactions +ReactionsCreateConst( + ConstHandle2Reaction *const reaction, const size_t reactionSize +); + +// +++ Create, general +extern_c Handle2Reactions +ReactionsCreate( + ConstHandle2Reaction *const reaction, const size_t reactionSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ReactionsAssign(ConstHandle2Reactions This, ConstHandle2ConstReactions from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ReactionsDelete(ConstHandle2ConstReactions This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ReactionsRead(ConstHandle2Reactions This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ReactionsWrite(ConstHandle2ConstReactions This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ReactionsPrint(ConstHandle2ConstReactions This); + +// +++ Print to standard output, as XML +extern_c int +ReactionsPrintXML(ConstHandle2ConstReactions This); + +// +++ Print to standard output, as JSON +extern_c int +ReactionsPrintJSON(ConstHandle2ConstReactions This); + + +// ----------------------------------------------------------------------------- +// Child: reaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionsReactionHas(ConstHandle2ConstReactions This); + +// +++ Clear +extern_c void +ReactionsReactionClear(ConstHandle2Reactions This); + +// +++ Size +extern_c size_t +ReactionsReactionSize(ConstHandle2ConstReactions This); + +// +++ Add +extern_c void +ReactionsReactionAdd(ConstHandle2Reactions This, ConstHandle2ConstReaction reaction); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstReaction +ReactionsReactionGetConst(ConstHandle2ConstReactions This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Reaction +ReactionsReactionGet(ConstHandle2Reactions This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ReactionsReactionSet( + ConstHandle2Reactions This, + const size_t index_, + ConstHandle2ConstReaction reaction +); + +// +++ Has, by ENDF_MT +extern_c int +ReactionsReactionHasByENDFMT( + ConstHandle2ConstReactions This, + const int ENDF_MT +); + +// --- Get, by ENDF_MT, const +extern_c Handle2ConstReaction +ReactionsReactionGetByENDFMTConst( + ConstHandle2ConstReactions This, + const int ENDF_MT +); + +// +++ Get, by ENDF_MT, non-const +extern_c Handle2Reaction +ReactionsReactionGetByENDFMT( + ConstHandle2Reactions This, + const int ENDF_MT +); + +// +++ Set, by ENDF_MT +extern_c void +ReactionsReactionSetByENDFMT( + ConstHandle2Reactions This, + const int ENDF_MT, + ConstHandle2ConstReaction reaction +); + +// +++ Has, by fissionGenre +extern_c int +ReactionsReactionHasByFissionGenre( + ConstHandle2ConstReactions This, + const char *const fissionGenre +); + +// --- Get, by fissionGenre, const +extern_c Handle2ConstReaction +ReactionsReactionGetByFissionGenreConst( + ConstHandle2ConstReactions This, + const char *const fissionGenre +); + +// +++ Get, by fissionGenre, non-const +extern_c Handle2Reaction +ReactionsReactionGetByFissionGenre( + ConstHandle2Reactions This, + const char *const fissionGenre +); + +// +++ Set, by fissionGenre +extern_c void +ReactionsReactionSetByFissionGenre( + ConstHandle2Reactions This, + const char *const fissionGenre, + ConstHandle2ConstReaction reaction +); + +// +++ Has, by label +extern_c int +ReactionsReactionHasByLabel( + ConstHandle2ConstReactions This, + const char *const label +); + +// --- Get, by label, const +extern_c Handle2ConstReaction +ReactionsReactionGetByLabelConst( + ConstHandle2ConstReactions This, + const char *const label +); + +// +++ Get, by label, non-const +extern_c Handle2Reaction +ReactionsReactionGetByLabel( + ConstHandle2Reactions This, + const char *const label +); + +// +++ Set, by label +extern_c void +ReactionsReactionSetByLabel( + ConstHandle2Reactions This, + const char *const label, + ConstHandle2ConstReaction reaction +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/autogen/prototype/proto/python/runtests.sh b/autogen/prototype/proto/python/runtests.sh new file mode 100755 index 000000000..449471762 --- /dev/null +++ b/autogen/prototype/proto/python/runtests.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# this script copies the dynamic library for the GNDStk python module +# and runs all the unit tests it can find + +rm GNDStk*.so +cp ../../../../build/GNDStk*.so . +python -m unittest discover -v -p "Test*" diff --git a/python/src/v1.9/containers.python.cpp b/autogen/prototype/proto/python/src/v1.9/containers.python.cpp similarity index 97% rename from python/src/v1.9/containers.python.cpp rename to autogen/prototype/proto/python/src/v1.9/containers.python.cpp index a53851541..e04a6cd47 100644 --- a/python/src/v1.9/containers.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/containers.python.cpp @@ -27,7 +27,7 @@ void wrapContainers(python::module &module) // create the containers submodule python::module submodule = module.def_submodule( "containers", - "GNDS v1.9 containers" + "proto v1.9 containers" ); // wrap containers components diff --git a/python/src/v1.9/containers/Axes.python.cpp b/autogen/prototype/proto/python/src/v1.9/containers/Axes.python.cpp similarity index 92% rename from python/src/v1.9/containers/Axes.python.cpp rename to autogen/prototype/proto/python/src/v1.9/containers/Axes.python.cpp index fd916126c..d8552bf0d 100644 --- a/python/src/v1.9/containers/Axes.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/containers/Axes.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/containers/Axes.hpp" +#include "proto/v1.9/containers/Axes.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Axes wrapper void wrapAxes(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = containers::Axes; diff --git a/python/src/v1.9/containers/Axis.python.cpp b/autogen/prototype/proto/python/src/v1.9/containers/Axis.python.cpp similarity index 93% rename from python/src/v1.9/containers/Axis.python.cpp rename to autogen/prototype/proto/python/src/v1.9/containers/Axis.python.cpp index d84a82e71..8fe13ac2c 100644 --- a/python/src/v1.9/containers/Axis.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/containers/Axis.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/containers/Axis.hpp" +#include "proto/v1.9/containers/Axis.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Axis wrapper void wrapAxis(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = containers::Axis; diff --git a/python/src/v1.9/containers/Grid.python.cpp b/autogen/prototype/proto/python/src/v1.9/containers/Grid.python.cpp similarity index 96% rename from python/src/v1.9/containers/Grid.python.cpp rename to autogen/prototype/proto/python/src/v1.9/containers/Grid.python.cpp index cb13099c0..eb10b1659 100644 --- a/python/src/v1.9/containers/Grid.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/containers/Grid.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/containers/Grid.hpp" +#include "proto/v1.9/containers/Grid.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Grid wrapper void wrapGrid(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = containers::Grid; diff --git a/python/src/v1.9/containers/Link.python.cpp b/autogen/prototype/proto/python/src/v1.9/containers/Link.python.cpp similarity index 90% rename from python/src/v1.9/containers/Link.python.cpp rename to autogen/prototype/proto/python/src/v1.9/containers/Link.python.cpp index 938933140..5ac861835 100644 --- a/python/src/v1.9/containers/Link.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/containers/Link.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/containers/Link.hpp" +#include "proto/v1.9/containers/Link.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Link wrapper void wrapLink(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = containers::Link; diff --git a/python/src/v1.9/containers/Regions1d.python.cpp b/autogen/prototype/proto/python/src/v1.9/containers/Regions1d.python.cpp similarity index 94% rename from python/src/v1.9/containers/Regions1d.python.cpp rename to autogen/prototype/proto/python/src/v1.9/containers/Regions1d.python.cpp index ebeaad5cd..cca199b39 100644 --- a/python/src/v1.9/containers/Regions1d.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/containers/Regions1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/containers/Regions1d.hpp" +#include "proto/v1.9/containers/Regions1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Regions1d wrapper void wrapRegions1d(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = containers::Regions1d; diff --git a/python/src/v1.9/containers/Values.python.cpp b/autogen/prototype/proto/python/src/v1.9/containers/Values.python.cpp similarity index 95% rename from python/src/v1.9/containers/Values.python.cpp rename to autogen/prototype/proto/python/src/v1.9/containers/Values.python.cpp index 4fa6b3fb2..48f7f8f03 100644 --- a/python/src/v1.9/containers/Values.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/containers/Values.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/containers/Values.hpp" +#include "proto/v1.9/containers/Values.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Values wrapper void wrapValues(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = containers::Values; diff --git a/python/src/v1.9/containers/XYs1d.python.cpp b/autogen/prototype/proto/python/src/v1.9/containers/XYs1d.python.cpp similarity index 95% rename from python/src/v1.9/containers/XYs1d.python.cpp rename to autogen/prototype/proto/python/src/v1.9/containers/XYs1d.python.cpp index 200b2304c..4fdc58900 100644 --- a/python/src/v1.9/containers/XYs1d.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/containers/XYs1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/containers/XYs1d.hpp" +#include "proto/v1.9/containers/XYs1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // XYs1d wrapper void wrapXYs1d(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = containers::XYs1d; diff --git a/python/src/v1.9/GNDS.python.cpp b/autogen/prototype/proto/python/src/v1.9/proto.python.cpp similarity index 100% rename from python/src/v1.9/GNDS.python.cpp rename to autogen/prototype/proto/python/src/v1.9/proto.python.cpp diff --git a/python/src/v1.9/transport.python.cpp b/autogen/prototype/proto/python/src/v1.9/transport.python.cpp similarity index 96% rename from python/src/v1.9/transport.python.cpp rename to autogen/prototype/proto/python/src/v1.9/transport.python.cpp index 631a859bf..3e56ad225 100644 --- a/python/src/v1.9/transport.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/transport.python.cpp @@ -24,7 +24,7 @@ void wrapTransport(python::module &module) // create the transport submodule python::module submodule = module.def_submodule( "transport", - "GNDS v1.9 transport" + "proto v1.9 transport" ); // wrap transport components diff --git a/python/src/v1.9/transport/CrossSection.python.cpp b/autogen/prototype/proto/python/src/v1.9/transport/CrossSection.python.cpp similarity index 91% rename from python/src/v1.9/transport/CrossSection.python.cpp rename to autogen/prototype/proto/python/src/v1.9/transport/CrossSection.python.cpp index 91bb19f08..cff187581 100644 --- a/python/src/v1.9/transport/CrossSection.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/transport/CrossSection.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/transport/CrossSection.hpp" +#include "proto/v1.9/transport/CrossSection.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // CrossSection wrapper void wrapCrossSection(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = transport::CrossSection; diff --git a/python/src/v1.9/transport/Reaction.python.cpp b/autogen/prototype/proto/python/src/v1.9/transport/Reaction.python.cpp similarity index 94% rename from python/src/v1.9/transport/Reaction.python.cpp rename to autogen/prototype/proto/python/src/v1.9/transport/Reaction.python.cpp index 750086316..3d44fe5f7 100644 --- a/python/src/v1.9/transport/Reaction.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/transport/Reaction.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/transport/Reaction.hpp" +#include "proto/v1.9/transport/Reaction.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Reaction wrapper void wrapReaction(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = transport::Reaction; diff --git a/python/src/v1.9/transport/ReactionSuite.python.cpp b/autogen/prototype/proto/python/src/v1.9/transport/ReactionSuite.python.cpp similarity index 95% rename from python/src/v1.9/transport/ReactionSuite.python.cpp rename to autogen/prototype/proto/python/src/v1.9/transport/ReactionSuite.python.cpp index 1f17d356e..59bed563d 100644 --- a/python/src/v1.9/transport/ReactionSuite.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/transport/ReactionSuite.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/transport/ReactionSuite.hpp" +#include "proto/v1.9/transport/ReactionSuite.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // ReactionSuite wrapper void wrapReactionSuite(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = transport::ReactionSuite; diff --git a/python/src/v1.9/transport/Reactions.python.cpp b/autogen/prototype/proto/python/src/v1.9/transport/Reactions.python.cpp similarity index 90% rename from python/src/v1.9/transport/Reactions.python.cpp rename to autogen/prototype/proto/python/src/v1.9/transport/Reactions.python.cpp index 20d9bc5fd..a8c04664f 100644 --- a/python/src/v1.9/transport/Reactions.python.cpp +++ b/autogen/prototype/proto/python/src/v1.9/transport/Reactions.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "GNDStk/v1.9/transport/Reactions.hpp" +#include "proto/v1.9/transport/Reactions.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Reactions wrapper void wrapReactions(python::module &module) { - using namespace njoy::GNDStk; - using namespace njoy::GNDStk::v1_9; + using namespace proto; + using namespace proto::v1_9; // type aliases using Component = transport::Reactions; diff --git a/python/test/v1_9/__init__.py b/autogen/prototype/proto/python/test/v1.9/__init__.py similarity index 100% rename from python/test/v1_9/__init__.py rename to autogen/prototype/proto/python/test/v1.9/__init__.py diff --git a/python/test/v1_9/__init__.pyc b/autogen/prototype/proto/python/test/v1.9/__init__.pyc similarity index 100% rename from python/test/v1_9/__init__.pyc rename to autogen/prototype/proto/python/test/v1.9/__init__.pyc diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.py b/autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Axis.py similarity index 100% rename from python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.py rename to autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Axis.py diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.pyc b/autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Axis.pyc similarity index 100% rename from python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Axis.pyc rename to autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Axis.pyc diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.py b/autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Grid.py similarity index 100% rename from python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.py rename to autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Grid.py diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.pyc b/autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Grid.pyc similarity index 100% rename from python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Grid.pyc rename to autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Grid.pyc diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.py b/autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Link.py similarity index 100% rename from python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.py rename to autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Link.py diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.pyc b/autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Link.pyc similarity index 100% rename from python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Link.pyc rename to autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Link.pyc diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.py b/autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Values.py similarity index 100% rename from python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.py rename to autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Values.py diff --git a/python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.pyc b/autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Values.pyc similarity index 100% rename from python/test/v1_9/containers/Test_GNDStk_v1_9_containers_Values.pyc rename to autogen/prototype/proto/python/test/v1.9/containers/Test_GNDStk_v1_9_containers_Values.pyc diff --git a/python/test/v1_9/containers/__init__.py b/autogen/prototype/proto/python/test/v1.9/containers/__init__.py similarity index 100% rename from python/test/v1_9/containers/__init__.py rename to autogen/prototype/proto/python/test/v1.9/containers/__init__.py diff --git a/python/test/v1_9/containers/__init__.pyc b/autogen/prototype/proto/python/test/v1.9/containers/__init__.pyc similarity index 100% rename from python/test/v1_9/containers/__init__.pyc rename to autogen/prototype/proto/python/test/v1.9/containers/__init__.pyc diff --git a/autogen/prototype/proto/src/proto/v1.9.hpp b/autogen/prototype/proto/src/proto/v1.9.hpp new file mode 100644 index 000000000..21ba864aa --- /dev/null +++ b/autogen/prototype/proto/src/proto/v1.9.hpp @@ -0,0 +1,21 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef PROTO_V1_9 +#define PROTO_V1_9 + +#include "proto/v1.9/containers/Link.hpp" +#include "proto/v1.9/containers/XYs1d.hpp" +#include "proto/v1.9/containers/Axes.hpp" +#include "proto/v1.9/containers/Axis.hpp" +#include "proto/v1.9/containers/Grid.hpp" +#include "proto/v1.9/containers/Values.hpp" +#include "proto/v1.9/containers/Regions1d.hpp" + +#include "proto/v1.9/transport/ReactionSuite.hpp" +#include "proto/v1.9/transport/Reactions.hpp" +#include "proto/v1.9/transport/Reaction.hpp" +#include "proto/v1.9/transport/CrossSection.hpp" + +#endif diff --git a/src/GNDStk/v1.9/containers/Axes.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axes.hpp similarity index 90% rename from src/GNDStk/v1.9/containers/Axes.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Axes.hpp index 0b747cfa4..0bcfe439b 100644 --- a/src/GNDStk/v1.9/containers/Axes.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Axes.hpp @@ -2,14 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_CONTAINERS_AXES -#define GNDSTK_V1_9_CONTAINERS_AXES +#ifndef PROTO_V1_9_CONTAINERS_AXES +#define PROTO_V1_9_CONTAINERS_AXES -#include "GNDStk/v1.9/containers/Axis.hpp" -#include "GNDStk/v1.9/containers/Grid.hpp" +#include "proto/v1.9/containers/Axis.hpp" +#include "proto/v1.9/containers/Grid.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace containers { @@ -113,13 +112,12 @@ class Axes : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/containers/Axes/src/custom.hpp" + #include "proto/v1.9/containers/Axes/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Axes } // namespace containers } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/containers/Axes/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axes/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/containers/Axes/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Axes/src/custom.hpp diff --git a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/Axes.test.cpp similarity index 99% rename from src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/Axes.test.cpp index 8d2d96d29..395446943 100644 --- a/src/GNDStk/v1.9/containers/Axes/test/Axes.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/Axes.test.cpp @@ -1,12 +1,15 @@ + #define CATCH_CONFIG_MAIN #include "catch.hpp" -#include "GNDStk/v1.9/containers/Axes.hpp" +#include "proto/v1.9/containers/Axes.hpp" // other includes // convenience typedefs using namespace njoy::GNDStk; +using namespace proto; + using Axes = v1_9::containers::Axes; using Axis = v1_9::containers::Axis; using Grid = v1_9::containers::Grid; diff --git a/src/GNDStk/v1.9/containers/Axes/test/CMakeLists.txt b/autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/CMakeLists.txt similarity index 100% rename from src/GNDStk/v1.9/containers/Axes/test/CMakeLists.txt rename to autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/CMakeLists.txt diff --git a/src/GNDStk/v1.9/containers/Axis.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axis.hpp similarity index 91% rename from src/GNDStk/v1.9/containers/Axis.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Axis.hpp index cf3122ca8..792dba566 100644 --- a/src/GNDStk/v1.9/containers/Axis.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Axis.hpp @@ -2,13 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_CONTAINERS_AXIS -#define GNDSTK_V1_9_CONTAINERS_AXIS +#ifndef PROTO_V1_9_CONTAINERS_AXIS +#define PROTO_V1_9_CONTAINERS_AXIS -#include "GNDStk/v1.9/key.hpp" +#include "proto/v1.9/key.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace containers { @@ -108,13 +107,12 @@ class Axis : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/containers/Axis/src/custom.hpp" + #include "proto/v1.9/containers/Axis/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Axis } // namespace containers } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/containers/Axis/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axis/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/containers/Axis/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Axis/src/custom.hpp diff --git a/src/GNDStk/v1.9/containers/Axis/test/Axis.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axis/test/Axis.test.cpp similarity index 97% rename from src/GNDStk/v1.9/containers/Axis/test/Axis.test.cpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Axis/test/Axis.test.cpp index 1eeb1c91d..878d83299 100644 --- a/src/GNDStk/v1.9/containers/Axis/test/Axis.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Axis/test/Axis.test.cpp @@ -1,12 +1,15 @@ + #define CATCH_CONFIG_MAIN #include "catch.hpp" -#include "GNDStk/v1.9/containers/Axis.hpp" +#include "proto/v1.9/containers/Axis.hpp" // other includes // convenience typedefs using namespace njoy::GNDStk; +using namespace proto; + using Axis = v1_9::containers::Axis; std::string chunk(); diff --git a/src/GNDStk/v1.9/containers/Axis/test/CMakeLists.txt b/autogen/prototype/proto/src/proto/v1.9/containers/Axis/test/CMakeLists.txt similarity index 100% rename from src/GNDStk/v1.9/containers/Axis/test/CMakeLists.txt rename to autogen/prototype/proto/src/proto/v1.9/containers/Axis/test/CMakeLists.txt diff --git a/src/GNDStk/v1.9/containers/Grid.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Grid.hpp similarity index 93% rename from src/GNDStk/v1.9/containers/Grid.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Grid.hpp index d2af5883b..7aa17ef95 100644 --- a/src/GNDStk/v1.9/containers/Grid.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Grid.hpp @@ -2,14 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_CONTAINERS_GRID -#define GNDSTK_V1_9_CONTAINERS_GRID +#ifndef PROTO_V1_9_CONTAINERS_GRID +#define PROTO_V1_9_CONTAINERS_GRID -#include "GNDStk/v1.9/containers/Values.hpp" -#include "GNDStk/v1.9/containers/Link.hpp" +#include "proto/v1.9/containers/Values.hpp" +#include "proto/v1.9/containers/Link.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace containers { @@ -143,13 +142,12 @@ class Grid : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/containers/Grid/src/custom.hpp" + #include "proto/v1.9/containers/Grid/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Grid } // namespace containers } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/containers/Grid/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Grid/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/containers/Grid/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Grid/src/custom.hpp diff --git a/src/GNDStk/v1.9/containers/Grid/test/CMakeLists.txt b/autogen/prototype/proto/src/proto/v1.9/containers/Grid/test/CMakeLists.txt similarity index 100% rename from src/GNDStk/v1.9/containers/Grid/test/CMakeLists.txt rename to autogen/prototype/proto/src/proto/v1.9/containers/Grid/test/CMakeLists.txt diff --git a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/Grid/test/Grid.test.cpp similarity index 99% rename from src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Grid/test/Grid.test.cpp index 99938d1ee..1a98ebcec 100644 --- a/src/GNDStk/v1.9/containers/Grid/test/Grid.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Grid/test/Grid.test.cpp @@ -1,12 +1,15 @@ + #define CATCH_CONFIG_MAIN #include "catch.hpp" -#include "GNDStk/v1.9/containers/Grid.hpp" +#include "proto/v1.9/containers/Grid.hpp" // other includes // convenience typedefs using namespace njoy::GNDStk; +using namespace proto; + using Values = v1_9::containers::Values; using Link = v1_9::containers::Link; using Grid = v1_9::containers::Grid; diff --git a/src/GNDStk/v1.9/containers/Link.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Link.hpp similarity index 89% rename from src/GNDStk/v1.9/containers/Link.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Link.hpp index 1f3caf304..5b996fdd8 100644 --- a/src/GNDStk/v1.9/containers/Link.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Link.hpp @@ -2,13 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_CONTAINERS_LINK -#define GNDSTK_V1_9_CONTAINERS_LINK +#ifndef PROTO_V1_9_CONTAINERS_LINK +#define PROTO_V1_9_CONTAINERS_LINK -#include "GNDStk/v1.9/key.hpp" +#include "proto/v1.9/key.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace containers { @@ -96,13 +95,12 @@ class Link : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/containers/Link/src/custom.hpp" + #include "proto/v1.9/containers/Link/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Link } // namespace containers } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/containers/Link/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Link/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/containers/Link/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Link/src/custom.hpp diff --git a/src/GNDStk/v1.9/containers/Link/test/CMakeLists.txt b/autogen/prototype/proto/src/proto/v1.9/containers/Link/test/CMakeLists.txt similarity index 100% rename from src/GNDStk/v1.9/containers/Link/test/CMakeLists.txt rename to autogen/prototype/proto/src/proto/v1.9/containers/Link/test/CMakeLists.txt diff --git a/src/GNDStk/v1.9/containers/Link/test/Link.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/Link/test/Link.test.cpp similarity index 97% rename from src/GNDStk/v1.9/containers/Link/test/Link.test.cpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Link/test/Link.test.cpp index 49d2299a5..c1534e6c5 100644 --- a/src/GNDStk/v1.9/containers/Link/test/Link.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Link/test/Link.test.cpp @@ -1,12 +1,15 @@ + #define CATCH_CONFIG_MAIN #include "catch.hpp" -#include "GNDStk/v1.9/containers/Link.hpp" +#include "proto/v1.9/containers/Link.hpp" // other includes // convenience typedefs using namespace njoy::GNDStk; +using namespace proto; + using Link = v1_9::containers::Link; std::string chunk(); diff --git a/src/GNDStk/v1.9/containers/Regions1d.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d.hpp similarity index 90% rename from src/GNDStk/v1.9/containers/Regions1d.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Regions1d.hpp index e71dc9f61..4e793c232 100644 --- a/src/GNDStk/v1.9/containers/Regions1d.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d.hpp @@ -2,14 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_CONTAINERS_REGIONS1D -#define GNDSTK_V1_9_CONTAINERS_REGIONS1D +#ifndef PROTO_V1_9_CONTAINERS_REGIONS1D +#define PROTO_V1_9_CONTAINERS_REGIONS1D -#include "GNDStk/v1.9/containers/Axes.hpp" -#include "GNDStk/v1.9/containers/XYs1d.hpp" +#include "proto/v1.9/containers/Axes.hpp" +#include "proto/v1.9/containers/XYs1d.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace containers { @@ -118,13 +117,12 @@ class Regions1d : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/containers/Regions1d/src/custom.hpp" + #include "proto/v1.9/containers/Regions1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Regions1d } // namespace containers } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/containers/Regions1d/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/containers/Regions1d/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/src/custom.hpp diff --git a/src/GNDStk/v1.9/containers/Regions1d/test/CMakeLists.txt b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/CMakeLists.txt similarity index 100% rename from src/GNDStk/v1.9/containers/Regions1d/test/CMakeLists.txt rename to autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/CMakeLists.txt diff --git a/src/GNDStk/v1.9/containers/Regions1d/test/Regions1d.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/Regions1d.test.cpp similarity index 98% rename from src/GNDStk/v1.9/containers/Regions1d/test/Regions1d.test.cpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/Regions1d.test.cpp index a9ded2935..7fcc97829 100644 --- a/src/GNDStk/v1.9/containers/Regions1d/test/Regions1d.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/Regions1d.test.cpp @@ -1,12 +1,15 @@ + #define CATCH_CONFIG_MAIN #include "catch.hpp" -#include "GNDStk/v1.9/containers/Regions1d.hpp" +#include "proto/v1.9/containers/Regions1d.hpp" // other includes // convenience typedefs using namespace njoy::GNDStk; +using namespace proto; + using Regions1d = v1_9::containers::Regions1d; using XYs1d = v1_9::containers::XYs1d; using Axes = v1_9::containers::Axes; diff --git a/src/GNDStk/v1.9/containers/Values.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Values.hpp similarity index 92% rename from src/GNDStk/v1.9/containers/Values.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Values.hpp index f63bd816b..90584176e 100644 --- a/src/GNDStk/v1.9/containers/Values.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Values.hpp @@ -2,13 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_CONTAINERS_VALUES -#define GNDSTK_V1_9_CONTAINERS_VALUES +#ifndef PROTO_V1_9_CONTAINERS_VALUES +#define PROTO_V1_9_CONTAINERS_VALUES -#include "GNDStk/v1.9/key.hpp" +#include "proto/v1.9/key.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace containers { @@ -124,13 +123,12 @@ class Values : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/containers/Values/src/custom.hpp" + #include "proto/v1.9/containers/Values/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Values } // namespace containers } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/containers/Values/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Values/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/containers/Values/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Values/src/custom.hpp diff --git a/src/GNDStk/v1.9/containers/Values/test/CMakeLists.txt b/autogen/prototype/proto/src/proto/v1.9/containers/Values/test/CMakeLists.txt similarity index 100% rename from src/GNDStk/v1.9/containers/Values/test/CMakeLists.txt rename to autogen/prototype/proto/src/proto/v1.9/containers/Values/test/CMakeLists.txt diff --git a/src/GNDStk/v1.9/containers/Values/test/Values.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/Values/test/Values.test.cpp similarity index 98% rename from src/GNDStk/v1.9/containers/Values/test/Values.test.cpp rename to autogen/prototype/proto/src/proto/v1.9/containers/Values/test/Values.test.cpp index 3f31b6a85..d2912e4a7 100644 --- a/src/GNDStk/v1.9/containers/Values/test/Values.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Values/test/Values.test.cpp @@ -1,12 +1,15 @@ + #define CATCH_CONFIG_MAIN #include "catch.hpp" -#include "GNDStk/v1.9/containers/Values.hpp" +#include "proto/v1.9/containers/Values.hpp" // other includes // convenience typedefs using namespace njoy::GNDStk; +using namespace proto; + using Values = v1_9::containers::Values; std::string chunk(); diff --git a/src/GNDStk/v1.9/containers/XYs1d.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d.hpp similarity index 92% rename from src/GNDStk/v1.9/containers/XYs1d.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/XYs1d.hpp index 16f21c58e..c07fa4667 100644 --- a/src/GNDStk/v1.9/containers/XYs1d.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d.hpp @@ -2,14 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_CONTAINERS_XYS1D -#define GNDSTK_V1_9_CONTAINERS_XYS1D +#ifndef PROTO_V1_9_CONTAINERS_XYS1D +#define PROTO_V1_9_CONTAINERS_XYS1D -#include "GNDStk/v1.9/containers/Axes.hpp" -#include "GNDStk/v1.9/containers/Values.hpp" +#include "proto/v1.9/containers/Axes.hpp" +#include "proto/v1.9/containers/Values.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace containers { @@ -136,13 +135,12 @@ class XYs1d : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/containers/XYs1d/src/custom.hpp" + #include "proto/v1.9/containers/XYs1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class XYs1d } // namespace containers } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/containers/XYs1d/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/containers/XYs1d/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/src/custom.hpp diff --git a/src/GNDStk/v1.9/containers/XYs1d/test/CMakeLists.txt b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/CMakeLists.txt similarity index 100% rename from src/GNDStk/v1.9/containers/XYs1d/test/CMakeLists.txt rename to autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/CMakeLists.txt diff --git a/src/GNDStk/v1.9/containers/XYs1d/test/XYs1d.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/XYs1d.test.cpp similarity index 98% rename from src/GNDStk/v1.9/containers/XYs1d/test/XYs1d.test.cpp rename to autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/XYs1d.test.cpp index 94c9fd403..689c180df 100644 --- a/src/GNDStk/v1.9/containers/XYs1d/test/XYs1d.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/XYs1d.test.cpp @@ -1,12 +1,15 @@ + #define CATCH_CONFIG_MAIN #include "catch.hpp" -#include "GNDStk/v1.9/containers/XYs1d.hpp" +#include "proto/v1.9/containers/XYs1d.hpp" // other includes // convenience typedefs using namespace njoy::GNDStk; +using namespace proto; + using XYs1d = v1_9::containers::XYs1d; using Axes = v1_9::containers::Axes; using Axis = v1_9::containers::Axis; diff --git a/src/GNDStk/v1.9/key.hpp b/autogen/prototype/proto/src/proto/v1.9/key.hpp similarity index 96% rename from src/GNDStk/v1.9/key.hpp rename to autogen/prototype/proto/src/proto/v1.9/key.hpp index 6fbb35d80..ea18ab901 100644 --- a/src/GNDStk/v1.9/key.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/key.hpp @@ -2,14 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_KEY -#define GNDSTK_V1_9_KEY +#ifndef PROTO_V1_9_KEY +#define PROTO_V1_9_KEY // GNDStk Core Interface #include "GNDStk.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { using namespace njoy::GNDStk; @@ -109,7 +108,6 @@ using namespace transport; // ----------------------------------------------------------------------------- } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/transport/CrossSection.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/CrossSection.hpp similarity index 89% rename from src/GNDStk/v1.9/transport/CrossSection.hpp rename to autogen/prototype/proto/src/proto/v1.9/transport/CrossSection.hpp index 1fb69532c..d407fa49c 100644 --- a/src/GNDStk/v1.9/transport/CrossSection.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/transport/CrossSection.hpp @@ -2,14 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_TRANSPORT_CROSSSECTION -#define GNDSTK_V1_9_TRANSPORT_CROSSSECTION +#ifndef PROTO_V1_9_TRANSPORT_CROSSSECTION +#define PROTO_V1_9_TRANSPORT_CROSSSECTION -#include "GNDStk/v1.9/containers/XYs1d.hpp" -#include "GNDStk/v1.9/containers/Regions1d.hpp" +#include "proto/v1.9/containers/XYs1d.hpp" +#include "proto/v1.9/containers/Regions1d.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace transport { @@ -104,13 +103,12 @@ class CrossSection : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/transport/CrossSection/src/custom.hpp" + #include "proto/v1.9/transport/CrossSection/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CrossSection } // namespace transport } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/transport/CrossSection/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/CrossSection/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/transport/CrossSection/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/transport/CrossSection/src/custom.hpp diff --git a/src/GNDStk/v1.9/transport/Reaction.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/Reaction.hpp similarity index 91% rename from src/GNDStk/v1.9/transport/Reaction.hpp rename to autogen/prototype/proto/src/proto/v1.9/transport/Reaction.hpp index b834ae181..6456d7cf4 100644 --- a/src/GNDStk/v1.9/transport/Reaction.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/transport/Reaction.hpp @@ -2,13 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_TRANSPORT_REACTION -#define GNDSTK_V1_9_TRANSPORT_REACTION +#ifndef PROTO_V1_9_TRANSPORT_REACTION +#define PROTO_V1_9_TRANSPORT_REACTION -#include "GNDStk/v1.9/transport/CrossSection.hpp" +#include "proto/v1.9/transport/CrossSection.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace transport { @@ -117,13 +116,12 @@ class Reaction : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/transport/Reaction/src/custom.hpp" + #include "proto/v1.9/transport/Reaction/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Reaction } // namespace transport } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/transport/Reaction/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/Reaction/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/transport/Reaction/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/transport/Reaction/src/custom.hpp diff --git a/src/GNDStk/v1.9/transport/ReactionSuite.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite.hpp similarity index 93% rename from src/GNDStk/v1.9/transport/ReactionSuite.hpp rename to autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite.hpp index a5bbf0ed0..f5490ef94 100644 --- a/src/GNDStk/v1.9/transport/ReactionSuite.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite.hpp @@ -2,13 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_TRANSPORT_REACTIONSUITE -#define GNDSTK_V1_9_TRANSPORT_REACTIONSUITE +#ifndef PROTO_V1_9_TRANSPORT_REACTIONSUITE +#define PROTO_V1_9_TRANSPORT_REACTIONSUITE -#include "GNDStk/v1.9/transport/Reactions.hpp" +#include "proto/v1.9/transport/Reactions.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace transport { @@ -135,13 +134,12 @@ class ReactionSuite : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/transport/ReactionSuite/src/custom.hpp" + #include "proto/v1.9/transport/ReactionSuite/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ReactionSuite } // namespace transport } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/transport/ReactionSuite/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/transport/ReactionSuite/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite/src/custom.hpp diff --git a/src/GNDStk/v1.9/transport/Reactions.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/Reactions.hpp similarity index 89% rename from src/GNDStk/v1.9/transport/Reactions.hpp rename to autogen/prototype/proto/src/proto/v1.9/transport/Reactions.hpp index 3a17ac2ab..ef3406833 100644 --- a/src/GNDStk/v1.9/transport/Reactions.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/transport/Reactions.hpp @@ -2,13 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef GNDSTK_V1_9_TRANSPORT_REACTIONS -#define GNDSTK_V1_9_TRANSPORT_REACTIONS +#ifndef PROTO_V1_9_TRANSPORT_REACTIONS +#define PROTO_V1_9_TRANSPORT_REACTIONS -#include "GNDStk/v1.9/transport/Reaction.hpp" +#include "proto/v1.9/transport/Reaction.hpp" -namespace njoy { -namespace GNDStk { +namespace proto { namespace v1_9 { namespace transport { @@ -96,13 +95,12 @@ class Reactions : public Component { // Custom functionality // ------------------------ - #include "GNDStk/v1.9/transport/Reactions/src/custom.hpp" + #include "proto/v1.9/transport/Reactions/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Reactions } // namespace transport } // namespace v1_9 -} // namespace GNDStk -} // namespace njoy +} // namespace proto #endif diff --git a/src/GNDStk/v1.9/transport/Reactions/src/custom.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/Reactions/src/custom.hpp similarity index 100% rename from src/GNDStk/v1.9/transport/Reactions/src/custom.hpp rename to autogen/prototype/proto/src/proto/v1.9/transport/Reactions/src/custom.hpp diff --git a/autogen/prototype.json b/autogen/prototype/prototype.json similarity index 60% rename from autogen/prototype.json rename to autogen/prototype/prototype.json index 527936a9e..80d813dfc 100644 --- a/autogen/prototype.json +++ b/autogen/prototype/prototype.json @@ -10,28 +10,27 @@ " without any directory path. Use Path for that, if it's needed.", " Optional (defaults to GNDStk).", "", + "Version", + " Version number for this project.", + "", "JSONDir", - " Directory where the .json input files are located", + " Directory in which the .json input files are located.", "", "JSONFiles", - " The .json input files", - "", - "TO AUTOGENERATE THE PROTOTYPE IN THE REAL GNDStk HIERARCHY", - " Set Path to ../.. if you run json2class.exe from within", - " GNDStk/autogen/, where GNDStk/ is the cloned repository.", - " This (../..) is where GNDStk is located.", + " The .json input files.", "", "Do NOT end directories with a /" ], - "Path": "../..", + "Path": ".", + "Project": "proto", "Version": "v1.9", - "JSONDir": "prototype", + "JSONDir": ".", "JSONFiles": [ "generalPurpose.json", "reactionSuite.json" ], - "Changes": "changes.json" + "Changes": "../changes.json" } diff --git a/autogen/v1.9.json b/autogen/v1.9/v1.9.json similarity index 86% rename from autogen/v1.9.json rename to autogen/v1.9/v1.9.json index 83fc57b83..c178ac324 100644 --- a/autogen/v1.9.json +++ b/autogen/v1.9/v1.9.json @@ -1,8 +1,9 @@ { - "Path": "../..", + "Path": ".", + "Project": "GNDStk", "Version": "v1.9", - "JSONDir": "v1.9", + "JSONDir": ".", "JSONFiles": [ "summary_abstract.json", "summary_appData.json", @@ -22,5 +23,5 @@ "summary_tsl.json" ], - "Changes": "changes.json" + "Changes": "../changes.json" } diff --git a/cmake/unit_testing.cmake b/cmake/unit_testing.cmake index 22fb67be0..4d1db298f 100644 --- a/cmake/unit_testing.cmake +++ b/cmake/unit_testing.cmake @@ -37,10 +37,10 @@ add_subdirectory( src/GNDStk/enums/StorageOrder/test ) add_subdirectory( src/GNDStk/enums/units/Energy/test ) add_subdirectory( src/GNDStk/enums/units/Length/test ) -add_subdirectory( src/GNDStk/v1.9/containers/Values/test ) -add_subdirectory( src/GNDStk/v1.9/containers/Axis/test ) -add_subdirectory( src/GNDStk/v1.9/containers/Link/test ) -add_subdirectory( src/GNDStk/v1.9/containers/Grid/test ) -add_subdirectory( src/GNDStk/v1.9/containers/Axes/test ) -add_subdirectory( src/GNDStk/v1.9/containers/XYs1d/test ) -add_subdirectory( src/GNDStk/v1.9/containers/Regions1d/test ) +add_subdirectory( autogen/prototype/proto/src/proto/v1.9/containers/Values/test ) +add_subdirectory( autogen/prototype/proto/src/proto/v1.9/containers/Axis/test ) +add_subdirectory( autogen/prototype/proto/src/proto/v1.9/containers/Link/test ) +add_subdirectory( autogen/prototype/proto/src/proto/v1.9/containers/Grid/test ) +add_subdirectory( autogen/prototype/proto/src/proto/v1.9/containers/Axes/test ) +add_subdirectory( autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test ) +add_subdirectory( autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test ) diff --git a/src/GNDStk/v1.9.hpp b/src/GNDStk/v1.9.hpp deleted file mode 100644 index e1c81c855..000000000 --- a/src/GNDStk/v1.9.hpp +++ /dev/null @@ -1,21 +0,0 @@ - -// THIS FILE WAS AUTOGENERATED! -// DO NOT MODIFY! - -#ifndef GNDSTK_V1_9 -#define GNDSTK_V1_9 - -#include "GNDStk/v1.9/containers/Link.hpp" -#include "GNDStk/v1.9/containers/XYs1d.hpp" -#include "GNDStk/v1.9/containers/Axes.hpp" -#include "GNDStk/v1.9/containers/Axis.hpp" -#include "GNDStk/v1.9/containers/Grid.hpp" -#include "GNDStk/v1.9/containers/Values.hpp" -#include "GNDStk/v1.9/containers/Regions1d.hpp" - -#include "GNDStk/v1.9/transport/ReactionSuite.hpp" -#include "GNDStk/v1.9/transport/Reactions.hpp" -#include "GNDStk/v1.9/transport/Reaction.hpp" -#include "GNDStk/v1.9/transport/CrossSection.hpp" - -#endif From da9ad9212582f887c872b2e56c6de7ef270ddfad Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 22 Aug 2022 16:34:43 -0600 Subject: [PATCH 154/235] Updated summary_abstract with a couple of changes, per today's summary_abstract on NEA Gitlab. --- standards/gnds-2.0/summary_abstract.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standards/gnds-2.0/summary_abstract.json b/standards/gnds-2.0/summary_abstract.json index dbde2edf6..6c330da41 100644 --- a/standards/gnds-2.0/summary_abstract.json +++ b/standards/gnds-2.0/summary_abstract.json @@ -178,7 +178,7 @@ "type": "XMLName" } }, - "bodyText": ["The list of characters. The value for the encoding attribute defines the allowed character set. .", + "bodyText": ["The list of characters. The value for the encoding attribute defines the allowed character set.", "If the data are being stored in an XML file and if the body contains XML markup characters ", "(e.g. '<', '>'), then the characters must wrapped in special XML CDATA\\footnote{An XML CDATA ", "section is need whenever a string contains characters that are normally reserved for xml ", @@ -236,7 +236,7 @@ } }, "description": ["Within, for example, a particle property, each possible assignment is a physical quantity", - "with a value, a unit and optional documentation and uncertainty information.", + "with a value, a unit, and optional documentation and uncertainty information.", "Each physical quantity is assigned a label, so that if the database contains multiple", "possible assignments for a particle's property one can uniquely identify each possible", "assignment by the corresponding label.\n\nFor most properties in the particle database,", From d4d60c368e04989ff99ef4d65b612cf261dbf962 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 22 Aug 2022 16:36:00 -0600 Subject: [PATCH 155/235] Tiny json2class.cpp formatting change. --- autogen/json2class.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index ff4a91686..0d2d815b7 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -246,9 +246,13 @@ std::string initializer(const InfoMetadata &m) // We assume that the input does NOT have the quotes already! // Note: we may not need all of these, but the GNDS manual does describe // several string-like types, so we might as well include them. - if (m.type == "XMLName" || m.type == "UTF8Text" || - m.type == "printableText" || m.type == "quotedText" || - m.type == "tdText" || m.type == "string" || m.type == "std::string") + if (m.type == "XMLName" || + m.type == "UTF8Text" || + m.type == "printableText" || + m.type == "quotedText" || + m.type == "tdText" || + m.type == "string" || + m.type == "std::string") return '"' + escape(m.defaultValue) + '"'; // Leave as-is; From 2419dd5e217d89d4277dea9c1741935074469458 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 22 Aug 2022 17:11:45 -0600 Subject: [PATCH 156/235] Changes in preparation to merge into latest branch, then work through carefully. --- autogen/json2class.cpp | 2092 +++++++++++++++++++++--------- standards/gnds-2.0/gnds-2.0.json | 6 +- 2 files changed, 1486 insertions(+), 612 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 0d2d815b7..d2a204351 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -4,15 +4,14 @@ // ----------------------------------------------------------------------------- #include "GNDStk.hpp" -#include "cstring" -using namespace njoy::GNDStk::core; +#include +using namespace njoy::GNDStk; // Report cases of nodes that have no metadata, and zero or one child node(s). // Where these exist, a simplification of the spec may be worth considering. const bool singletons = true; - // ----------------------------------------------------------------------------- // Data structures // ----------------------------------------------------------------------------- @@ -20,9 +19,7 @@ const bool singletons = true; // KeyValue // Too bad the JSON library doesn't provide this more straightforwardly using KeyValue = nlohmann::detail::iteration_proxy_value< - nlohmann::detail::iter_impl< - const nlohmann::basic_json<> - > + nlohmann::detail::iter_impl >; // NamespaceAndClass @@ -57,12 +54,12 @@ struct Class2Dependencies { // InfoMetadata struct InfoMetadata { - // A .json spec can make a metadatum be: + // A JSON spec can make a metadatum be: // - a std::optional, or // - a GNDStk::defaulted // but (in contrast with child nodes) can't make it be a vector of metadata. // An individual metadatum may be a vector in its own right, as in an XML - // construct such as (so that meta is a vector of + // construct such as (so that meta is a vector of // integers). We mean here that there isn't a vector of such [meta] entries, // and shouldn't be (XML wouldn't allow it). std::string name; @@ -75,13 +72,15 @@ struct InfoMetadata { // InfoChildren struct InfoChildren { - // A .json spec can make a child node be: + // A JSON spec can make a child node be: // - a std::optional, and/or // - a std::vector // but can't make it be a GNDStk::defaulted. (The use of a default value for // child nodes just doesn't exist in the GNDS specifications, even though the // concept would seem to make sense.) std::string name; + std::string ns; // enclosing namespace + std::string plain; // underlying type, excluding namespace std::string type; // underlying type std::string typeFull; // WITH any optional<> or vector<> std::string typeHalf; // withOUT any vector<> @@ -92,7 +91,9 @@ struct InfoChildren { // InfoVariantsChildren struct InfoVariantsChildren { std::string name; - std::string type; + std::string ns; // enclosing namespace + std::string plain; // underlying type, excluding namespace + std::string type; // underlying type bool isVector; }; @@ -116,6 +117,8 @@ struct PerNamespace { struct PerClass { std::string cppPython; // cpp file for this class' Python interface std::string hppGNDStk; // hpp file for this class in GNDStk + std::string headerC; // header that works with both C and C++ + std::string sourceC; // C++ backend source for the C interface std::string nsname; // name of this class' namespace std::string clname; // name of this class @@ -148,7 +151,6 @@ struct PerClass { }; - // ----------------------------------------------------------------------------- // InfoSpecs // ----------------------------------------------------------------------------- @@ -156,26 +158,30 @@ struct PerClass { // Overarching data structure reflecting all of the autogenerator's input // as well as various processed information struct InfoSpecs { - // From the .json file on the command line + // From the JSON file on the command line + std::string Path; + std::string Project; + std::string Version; std::string JSONDir; std::vector JSONFiles; - std::string GNDSDir; - std::string Version; // Version, but with '_' in place of '.' std::string VersionUnderscore; // Directory-prefixed names std::string hppVersion; // hpp file for this version - std::string hppKey; // hpp file for this version's Meta<>/Child<> keys + std::string hppKey; // hpp file for this version's Meta and Child keys + std::string hVersion; // header file for both C and C++ + std::string cVersion; // C++ backend source for the C interface - // Changes to apply to a metadatum's or child node's name. - // Example: "double" (GNDS v1.9 does have this) to "Double" for C++. + // Changes to apply to a metadatum's name or a child node's name. + // Example: "double" (GNDS v1.9 actually has "double") to "Double" for C++. std::map mapName; // Changes to apply to metadata/attribute type and default. // Examples: "Boolean" to "bool", "interpolation" to "enums::Interpolation". - std::map mapMetaType; + // We'll give a string ==> std::string type change as a freebie. :-) + std::map mapMetaType = {{"string","std::string"}}; std::map mapMetaDefault; // For each class in the input JSON specifications, the namespace(s) @@ -194,9 +200,8 @@ struct InfoSpecs { std::map namespace2data; // Map from namespace::class to information about the class - std::map class2data; -}; - + nlohmann::ordered_map class2data; +}; // InfoSpecs // ----------------------------------------------------------------------------- @@ -206,9 +211,7 @@ struct InfoSpecs { // Print text describing an action the code is about to take void action(const std::string &str) { - std::cout - << "\n" - << colors::plain::blue << str << "..." << colors::reset << std::endl; + std::cout << colors::plain::blue << str << colors::reset << std::endl; } // Is the string all whitespace? @@ -246,13 +249,9 @@ std::string initializer(const InfoMetadata &m) // We assume that the input does NOT have the quotes already! // Note: we may not need all of these, but the GNDS manual does describe // several string-like types, so we might as well include them. - if (m.type == "XMLName" || - m.type == "UTF8Text" || - m.type == "printableText" || - m.type == "quotedText" || - m.type == "tdText" || - m.type == "string" || - m.type == "std::string") + if (m.type == "XMLName" || m.type == "UTF8Text" || + m.type == "printableText" || m.type == "quotedText" || + m.type == "tdText" || m.type == "string" || m.type == "std::string") return '"' + escape(m.defaultValue) + '"'; // Leave as-is; @@ -278,6 +277,19 @@ std::string allcaps(const std::string &str) return ret; } +// UpperCamel +std::string UpperCamel(const std::string &str) +{ + std::string ret; + for (size_t i = 0; i < str.size(); ++i) + if (str[i] != '_') + ret += i ? str[i] : toupper(str[i]); + else if (++i < str.size()) + ret += toupper(str[i]); + return ret; +} + + // Replace character std::string replace(const std::string &str, const char from, const char to) { @@ -290,10 +302,10 @@ std::string replace(const std::string &str, const char from, const char to) // Stringify JSON // See: https://github.com/nlohmann/json/issues/642 -std::string stringify(const nlohmann::json &j) +std::string stringify(const orderedJSON &j) { const auto tmp = j.dump(); - return j.type() == nlohmann::json::value_t::string + return j.type() == orderedJSON::value_t::string ? tmp.substr(1, tmp.size()-2) : tmp; } @@ -326,6 +338,23 @@ bool isClass(const KeyValue &keyval) return true; } +std::string getTimes(const orderedJSON &value) +{ + const std::string times = "times"; // shorter, less easily misspelled + const std::string occurrence = "occurrence"; // accept; used in GNDS specs + + // need exactly one - not neither, not both + assert(value.contains(times) != value.contains(occurrence)); + + return value.contains(times) + ? value[times] + : value[occurrence]; +} + +std::string sep(int &count, const int total) +{ + return ++count < total ? "," : ""; +} // ----------------------------------------------------------------------------- @@ -336,8 +365,8 @@ bool isClass(const KeyValue &keyval) // Name in GNDS (e.g., name of an XML element) std::string nameGNDS(const KeyValue &keyval) { - // As-is, directly as stipulated in a key in the JSON spec, except - // that we allow a "name" entry to override the key. + // As-is, directly as stipulated in the key in the JSON spec, except + // that we allow a "name" entry in the key's value to override the key. return keyval.value().contains("name") ? std::string(keyval.value()["name"]) : keyval.key(); @@ -347,9 +376,10 @@ std::string nameGNDS(const KeyValue &keyval) // Name of a field (metadatum or child node) in an autogenerated class std::string nameField(const KeyValue &keyval, const InfoSpecs &specs) { - // Like nameGNDS, except that we apply any name-modification map that - // may have been provided. That can fix, for example, the name "double", - // which appears in GNDS v1.9 but is unsuitable for a name in C++. + // Like nameGNDS above, except that we apply any name-modification + // map that may have been provided in a "changes" file. Such changes + // can fix, for example, the name "double" that appears in GNDS v1.9 + // as a JSON key, but is unsuitable for use in C++. const std::string name = nameGNDS(keyval); const auto it = specs.mapName.find(name); return it == specs.mapName.end() ? name : it->second; @@ -359,8 +389,11 @@ std::string nameField(const KeyValue &keyval, const InfoSpecs &specs) // Name of an autogenerated class std::string nameClass(const KeyValue &keyval, const InfoSpecs &specs) { - // Like nameField, but capitalized (per our class naming convention). - return capital(nameField(keyval,specs)); + // Capitalized version of either the JSON key, or, if applicable, + // its change under the name-modification map in a "changes" file. + const std::string name = keyval.key(); + const auto it = specs.mapName.find(name); + return capital(it == specs.mapName.end() ? name : it->second); } // namePython @@ -380,13 +413,12 @@ std::string namePython(const std::string &name) } - // ----------------------------------------------------------------------------- // Functions for getting certain information from JSON input // ----------------------------------------------------------------------------- // Get the JSON's "namespace" -std::string getFileNamespace(const nlohmann::json &j) +std::string getFileNamespace(const orderedJSON &j) { return j.contains("__namespace__") ? j["__namespace__"] @@ -394,7 +426,7 @@ std::string getFileNamespace(const nlohmann::json &j) } // Get the JSON's "type", with any relevant specs.mapMetaType entry applied -std::string getMetadatumType(const nlohmann::json &j, const InfoSpecs &specs) +std::string getMetadatumType(const orderedJSON &j, const InfoSpecs &specs) { const std::string type = j["type"]; const auto it = specs.mapMetaType.find(type); @@ -404,9 +436,9 @@ std::string getMetadatumType(const nlohmann::json &j, const InfoSpecs &specs) // Determine to what namespace childClass belongs. Context: we're (1) in a JSON // spec with namespace parent.nsname, (2) in a parent node named parent.clname, // and (3) wish to determine the proper namespace for the parent's child node -// named "child". Parameter j is the JSON value ({...}) for this child node. +// named childClass. Parameter j is the JSON value ({...}) for this child node. std::string getChildNamespace( - const nlohmann::json &j, const InfoSpecs &specs, + const orderedJSON &j, const InfoSpecs &specs, const PerClass &per, const std::string &childClass ) { // childClass' namespace... @@ -418,7 +450,7 @@ std::string getChildNamespace( // ...isn't given, and this child isn't in any of the JSONs :-( if (specs.class2nspace.count(childClass) == 0) { log::warning( - "{}::{} has child of unknown class {}", + "{}::{} has a child of unknown class {}", per.nsname, per.clname, childClass ); return "unknownNamespace"; @@ -433,7 +465,13 @@ std::string getChildNamespace( const auto range = specs.class2nspace.equal_range(childClass); for (auto it = range.first; it != range.second; ++it) if (it->second == per.nsname) { - // fixme: a *warning* might be in order, re: our assumption + log::warning( + "{}::{} has a child {} that appears in the present\n" + "namespace but also in one or more other namespaces. We'll\n" + "assume that the one in the present namespace is intended.\n" + "If this is wrong, please provide a \"namespace\" entry.", + per.nsname, per.clname, childClass + ); return per.nsname; } @@ -444,7 +482,7 @@ std::string getChildNamespace( for (auto it = range.first; it != range.second; ++it) warn << (count++ == 0 ? "" : ", ") << it->second; log::warning( - "{}::{} has child of ambiguous class {}.\n" + "{}::{} has a child of ambiguous class {}.\n" "Child class {} appears in all of the following namespaces:\n{}", per.nsname, per.clname, childClass, childClass, warn.str() ); @@ -453,14 +491,13 @@ std::string getChildNamespace( } - // ----------------------------------------------------------------------------- // getClass* functions re: metadata, children, variant children // ----------------------------------------------------------------------------- // getClassMetadata void getClassMetadata( - const nlohmann::json &j, const InfoSpecs &specs, PerClass &per + const orderedJSON &j, const InfoSpecs &specs, PerClass &per ) { for (const auto &field : j.items()) { const auto &metaRHS = field.value(); @@ -482,6 +519,11 @@ void getClassMetadata( }; if (m.defaultValue != "") { // If it has a default, then presumably it isn't required... + // fixme Should print a real, useful error message here. The mistake + // in question is something a user could easily make!! Look at other + // assert()s in this file as well; assert should be more for internal + // sanity checks than for diagnostic messages, as they aren't very + // helpful to typical users. assert(!metaRHS["required"]); } @@ -509,25 +551,27 @@ void getClassMetadata( // getClassChildren void getClassChildren( - const nlohmann::json &j, const InfoSpecs &specs, + const orderedJSON &j, const InfoSpecs &specs, PerClass &per, Class2Dependencies &dep ) { for (const auto &field : j.items()) { const auto &elemRHS = field.value(); // Choice children are handled elsewhere - const std::string occ = elemRHS["occurrence"]; - if (occ == "choice" || occ == "choice+" || occ == "choice2+") + const std::string times = getTimes(elemRHS); + if (times == "choice" || times == "choice+" || times == "choice2+") continue; // Name InfoChildren c; c.name = nameField(field,specs); + // Type, excluding namespace + c.plain = nameClass(field,specs); + // Type, including namespace - c.type = nameClass(field,specs); - const std::string ns = getChildNamespace(elemRHS, specs, per, c.type); - c.type = ns + "::" + c.type; + c.ns = getChildNamespace(elemRHS, specs, per, c.plain); + c.type = c.ns + "::" + c.plain; // Optional? c.isOptional = !elemRHS["required"]; @@ -535,7 +579,7 @@ void getClassChildren( const std::string optSuffix = c.isOptional ? ">" : ""; // Vector? - c.isVector = occ == "0+" || occ == "1+" || occ == "2+"; + c.isVector = times == "0+" || times == "1+" || times == "2+"; const std::string vecPrefix = c.isVector ? "std::vector<" : ""; const std::string vecSuffix = c.isVector ? ">" : ""; @@ -557,7 +601,7 @@ void getClassChildren( // Save as a dependency (if it's not its own dependency) if (c.type != per.name()) dep.dependencies.push_back( - NamespaceAndClass(ns,nameClass(field,specs))); + NamespaceAndClass(c.ns,nameClass(field,specs))); // Add to per.children per.children.push_back(c); @@ -567,7 +611,7 @@ void getClassChildren( // getClassVariants void getClassVariants( - const nlohmann::json &j, const InfoSpecs &specs, + const orderedJSON &j, const InfoSpecs &specs, PerClass &per, Class2Dependencies &dep ) { // Initialize per.variants, a vector that has the "choice" @@ -591,8 +635,8 @@ void getClassVariants( for (const auto &field : j.items()) { // Is it a choice child? const auto &elemRHS = field.value(); - const std::string occ = elemRHS["occurrence"]; - if (occ != "choice" && occ != "choice+" && occ != "choice2+") + const std::string times = getTimes(elemRHS); + if (times != "choice" && times != "choice+" && times != "choice2+") continue; // Variant name @@ -606,27 +650,28 @@ void getClassVariants( for (const auto &field : j.items()) { // Is it a choice child? const auto &elemRHS = field.value(); - const std::string occ = elemRHS["occurrence"]; - if (occ != "choice" && occ != "choice+" && occ != "choice2+") + const std::string times = getTimes(elemRHS); + if (times != "choice" && times != "choice+" && times != "choice2+") continue; // Variant name - const std::string variant = elemRHS.contains("variant") + const std::string variantName = elemRHS.contains("variant") ? elemRHS["variant"] : ""; - auto it = map.find(variant); + auto it = map.find(variantName); assert(it != map.end()); // should be there from the earlier loop // For the individual child that's part of a choice... InfoVariantsChildren c; // ...its name c.name = nameField(field,specs); + // ...its type, excluding namespace + c.plain = nameClass(field,specs); // ...its type, including namespace - c.type = nameClass(field,specs); - const std::string ns = getChildNamespace(elemRHS, specs, per, c.type); - c.type = ns + "::" + c.type; + c.ns = getChildNamespace(elemRHS, specs, per, c.plain); + c.type = c.ns + "::" + c.plain; // ...its vector-ness - c.isVector = occ == "choice+" || occ == "choice2+"; + c.isVector = times == "choice+" || times == "choice2+"; // The GNDS JSON specifications all have "required":false for individual // choices in a set of choices; the concept of "the entire choice can be @@ -641,7 +686,7 @@ void getClassVariants( // Save as a dependency (if it's not its own dependency) if (c.type != per.name()) dep.dependencies.push_back( - NamespaceAndClass(ns,nameClass(field,specs))); + NamespaceAndClass(c.ns,nameClass(field,specs))); } // Pass 3 @@ -668,7 +713,6 @@ void getClassVariants( } // getClassVariants - // ----------------------------------------------------------------------------- // writer // ----------------------------------------------------------------------------- @@ -699,9 +743,9 @@ class writer { if (recurse == 0) { using last = decltype( std::get(std::make_tuple(value,args...))); - const size_t nsub = std::count(str.begin(), str.end(), substitute); + const std::size_t nsub = std::count(str.begin(),str.end(),substitute); // a bool last argument is not interpreted as an argument to print... - const size_t narg = + const std::size_t narg = 1 + sizeof...(args) - std::is_same_v,bool>; if (narg != nsub) { log::error( @@ -821,7 +865,16 @@ class writer { int writer::recurse = 0; - +// helper +template +void section(writer &out, const std::string &str, Ts &&...args) +{ + out(); + out(); + out(largeComment); + out(str, std::forward(args)...); + out(largeComment); +} // ----------------------------------------------------------------------------- // write* @@ -831,25 +884,31 @@ int writer::recurse = 0; // Class prefix void writeClassPrefix(writer &out, const PerClass &per) { + // namespace + out("namespace @ {", per.nsname); + // comment introducing class out(); - out(); - out(); out(largeComment); out("// @::", per.nsname); out("// class @", per.clname); out(largeComment); - // namespace+class begin + // class begin out(); - out("namespace @ {", per.nsname); - out(); - out("class @ : public Component<@@> {", - per.clname, per.clname, + out("class @ : public Component<@::@@> {", + // A namespace prefix in Component<> prevents possible ambiguities with + // the Child<> object for the class that was brought in through key.hpp. + // Normally the class name is capitalized while the Child<> object isn't, + // but if the node name was already capitalized in the specs (an example + // we encountered was "XYs1d"), then the Child<> key would reflect that. + // Then, without the nsname:: here, we'd have an ambiguity. + per.clname, per.nsname, per.clname, per.isData ? (",true" + (per.dataType == "" ? "" : "," + per.dataType)) : "" ); + out(1,"friend class Component;"); } // writeClassPrefix @@ -857,12 +916,14 @@ void writeClassPrefix(writer &out, const PerClass &per) void writeClassForComponent(writer &out, const PerClass &per) { // using [name for variant] = ... - out(); + if (per.variants.size()) + out(); for (const auto &v : per.variants) { out(1,"using @ = std::variant<", v.type); - int count = 0, total = v.children.size(); + int count = 0; + const int total = v.children.size(); for (const auto &c : v.children) - out(2,"@@", c.type, ++count == total ? "" : ","); + out(2,"@@", c.type, sep(count,total)); out(1,">;"); } @@ -871,21 +932,20 @@ void writeClassForComponent(writer &out, const PerClass &per) out(1,"// For Component"); out(1,smallComment); out(); - out(1,"friend class Component;"); - out(); - out(1,"// Current namespace, current class, and GNDS node name"); - out(1,"static auto namespaceName() { return \"@\"; }", per.nsname); - out(1,"static auto className() { return \"@\"; }", per.clname); - out(1,"static auto GNDSName() { return \"@\"; }", per.nameGNDS); + out(1,"// Names: this namespace, this class, a field/node of this type"); + out(1,"static auto NAMESPACE() { return \"@\"; }", per.nsname); + out(1,"static auto CLASS() { return \"@\"; }", per.clname); + out(1,"static auto FIELD() { return \"@\"; }", per.nameGNDS); - // keys() begin + // KEYS() begin out(); out(1,"// Core Interface multi-query to extract metadata and child nodes"); - out(1,"static auto keys()"); + out(1,"static auto KEYS()"); out(1,"{"); - // keys() contents - int count = 0, total = per.nfields(); + // KEYS() contents + int count = 0; + const int total = per.nfields(); if (total == 0) out(2,"return std::tuple<>{};"); else { @@ -921,7 +981,7 @@ void writeClassForComponent(writer &out, const PerClass &per) out(2,";"); } - // keys() end + // KEYS() end out(1,"}"); out(); out("public:"); @@ -930,18 +990,15 @@ void writeClassForComponent(writer &out, const PerClass &per) // Class suffix void writeClassSuffix( - writer &out, const PerClass &per, const std::string &version + writer &out, const PerClass &per, const InfoSpecs &specs ) { // assignment out(); out(1,smallComment); - out(1,"// Assignment"); + out(1,"// Assignment operators"); out(1,smallComment); out(); - out(1,"// copy"); out(1,"@ &operator=(const @ &) = default;", per.clname, per.clname); - out(); - out(1,"// move"); out(1,"@ &operator=(@ &&) = default;", per.clname, per.clname); // customization #include @@ -950,19 +1007,19 @@ void writeClassSuffix( out(1,"// Custom functionality"); out(1,smallComment); out(); - out(1,"#include \"GNDStk/@/@/@/src/custom.hpp\"", - version, per.nsname, per.clname); + out(1,"#include \"@/@/@/@/src/custom.hpp\"", + specs.Project, specs.Version, per.nsname, per.clname); + + // this *follows* the customization #include (because it might be used there) + out(1,"#undef GNDSTK_COMPONENT"); // class+namespace end - out(); out("}; // class @", per.clname); out(); out("} // namespace @", per.nsname); } // writeClassSuffix - - // ----------------------------------------------------------------------------- // writeClass* // For metadata, children, and variant children @@ -971,251 +1028,48 @@ void writeClassSuffix( // writeClassContentMetadata void writeClassContentMetadata(writer &out, const PerClass &per) { - if (per.metadata.size()) - out(2,"// metadata"); + if (per.metadata.size()) { + out(); + out(1,"// metadata"); + } + for (const auto &m : per.metadata) { per.isData && ( m.name == "length" || m.name == "start" || m.name == "valueType") - ? out(2,"mutable @ @", m.typeFull, m.name, false) - : out(2, "@ @", m.typeFull, m.name, false); + ? out(1,"mutable Field<@> @{this", m.typeFull, m.name, false) + : out(1, "Field<@> @{this", m.typeFull, m.name, false); if (m.defaultValue != "") - out("{@}", initializer(m), false); - out(";"); + out(",defaults.@", m.name, false); + out("};"); } } // writeClassContentChildren void writeClassContentChildren(writer &out, const PerClass &per) { - if (per.children.size()) - out(2,"// children"); + if (per.children.size()) { + out(); + out(1,"// children"); + } for (const auto &c : per.children) - out(2,"@ @;", c.typeFull, c.name); + out(1,"Field<@> @{this};", c.typeFull, c.name); } // writeClassContentVariants void writeClassContentVariants(writer &out, const PerClass &per) { - if (per.variants.size()) - out(2,"// children - variant"); - for (const auto &v : per.variants) - out(2,"@ @;", v.typeFull, v.name); -} - - - -// ----------------------------------------------------------------------------- -// writeClassGetters -// ----------------------------------------------------------------------------- - -void writeClassGetters(writer &out, const PerClass &per) -{ - out(); - out(1,smallComment); - out(1,"// Getters"); - out(1,"// const and non-const"); - out(1,smallComment); - - const auto write = - [&out](auto &&i, const bool isVector) - { - // i: info for metadatum, child, or variant - out(); - out(1,"// @", i.name); - out(1,"const @ &@() const", i.typeFull, i.name); - out(2,"{ return content.@; }", i.name); - out(1, "@ &@()", i.typeFull, i.name); - out(2,"{ return content.@; }", i.name); - - const auto indlab = - [&out,&i](const auto &T, const auto &par) - { - // T par: index or label parameter - out(); - out(1,"// @(@)", i.name, par); - out(1,"const @ &@(const @@) const", i.type, i.name, T, par); - out(2,"{ return getter(@(), @, \"@\"); }", i.name, par, i.name); - out(1, "@ &@(const @@)", i.type, i.name, T, par); - out(2,"{ return getter(@(), @, \"@\"); }", i.name, par, i.name); - }; - - if (isVector) { - // with index or label - indlab("std::size_t ", "index"); - indlab("std::string &", "label"); - } - }; - - // metadata, children, variants - for (const auto &m : per.metadata) write(m, false); - for (const auto &c : per.children) write(c, c.isVector); - for (const auto &v : per.variants) write(v, v.isVector); - - // variant alternatives - for (const auto &v : per.variants) { - for (const auto &c : v.children) { - const auto indlab = - [&out,&v,&c](const auto &T, const auto &par) - { - // T par: index or label parameter - out(); - out(1,"// @(@)", c.name, par); - out(1,"const @ *@(const @@) const", c.type, c.name, T, par); - out(2,"{ return getter<@>(@(), @, \"@\"); }", - c.type, v.name, par, c.name); - out(1, "@ *@(const @@)", c.type, c.name, T, par); - out(2,"{ return getter<@>(@(), @, \"@\"); }", - c.type, v.name, par, c.name); - }; - - if (v.isVector) { - // with index or label - indlab("std::size_t ", "index"); - indlab("std::string &", "label"); - } else { - out(); - out(1,"// @", c.name); - out(1,"const @ *@() const", c.type, c.name); - out(2,"{ return getter<@>(@(), \"@\"); }", c.type, v.name, c.name); - out(1, "@ *@()", c.type, c.name); - out(2,"{ return getter<@>(@(), \"@\"); }", c.type, v.name, c.name); - } - } - } -} // writeClassGetters - - - -// ----------------------------------------------------------------------------- -// writeClassSetter* -// ----------------------------------------------------------------------------- - -// writeClassSetterChild -template // InfoChildren or InfoVariants -void writeClassSetterChild( - writer &out, const PerClass &parent, const INFO &child -) { - // setter - // note that if type is optional, a T can still be sent - out(); - out(1,"// @(value)", child.name); - out(1,"@ &@(const @ &obj)", parent.clname, child.name, child.typeFull); - out(2,"{ @() = obj; return *this; }", child.name); - - const auto indlab = - [&out,&parent,&child](const auto &T, const auto &par) - { - // T par: index or label parameter - out(); - out(1,"// @(@,value)", child.name, par); - out(1,"@ &@(", parent.clname, child.name); - out(2,"const @@,", T, par); - out(2,"const @ &obj", child.type); - out(1,") {"); - out(2,"@(@) = obj; return *this;", child.name, par); - out(1,"}"); - }; - - // with index or label - if (child.isVector) { - indlab("std::size_t ", "index"); - indlab("std::string &", "label"); - } -} // writeClassSetterChild - - -// writeClassSetters -void writeClassSetters(writer &out, const PerClass &per) -{ - out(); - out(1,smallComment); - out(1,"// Setters"); - out(1,"// non-const"); - out(1,"// All return *this"); - out(1,smallComment); - - // Reminder: - // metadata can have: optional, defaulted (but not vector) - // children can have: optional, vector (but not defaulted) - - // metadata - for (const auto &m : per.metadata) { + if (per.variants.size()) { out(); - out(1,"// @(value)", m.name); - - // special cases: we want to send length, start, and valueType - // to the BodyText base as well - const bool special = - per.isData && - (m.name == "length" || m.name == "start" || m.name == "valueType"); - - // setter - // note that if type is optional, a T can still be sent - out(1,"@ &@(const @ &obj)", per.clname, m.name, m.typeFull); - if (special && m.isDefaulted) - out(2,"{ BodyText::@(content.@ = obj); return *this; }", - m.name, m.name); - if (special && !m.isDefaulted) - out(2,"{ BodyText::@(@() = obj); return *this; }", - m.name, m.name); - if (!special && m.isDefaulted) - out(2,"{ content.@ = obj; return *this; }", - m.name); - if (!special && !m.isDefaulted) - out(2,"{ @() = obj; return *this; }", - m.name); - - // setter, if type is Defaulted - if (m.isDefaulted) { - out(1,"@ &@(const std::optional<@> &obj)", per.clname, m.name, m.type); - special - ? out(2,"{ BodyText::@(content.@ = obj); return *this; }", - m.name, m.name) - : out(2,"{ content.@ = obj; return *this; }", m.name); - } + out(1,"// children - variant"); } - - // children, variants - for (const auto &c : per.children) writeClassSetterChild(out, per, c); - for (const auto &v : per.variants) writeClassSetterChild(out, per, v); - - // variant alternatives for (const auto &v : per.variants) { - if (v.isVector) { - // choice is a vector - for (const auto &c : v.children) { - const auto indlab = - [&out,&per,&v,&c](const auto &T, const auto &par) - { - // T par: index or label parameter - out(); - out(1,"// @(@,value)", c.name, par); - out(1,"@ &@(", per.clname, c.name); - out(2,"const @@,", T, par); - out(2,"const std::optional<@> &obj", c.type); - out(1,") {"); - out(2,"if (obj) @(@,obj.value());", v.name, par); - out(2,"return *this;"); - out(1,"}"); - }; - - // with index or label - indlab("std::size_t ", "index"); - indlab("std::string &", "label"); - } - } else { - // choice is a variant - for (const auto &c : v.children) { - out(); - out(1,"// @(value)", c.name); - out(1,"@ &@(const std::optional<@> &obj)", - per.clname, c.name, c.type); - out(2,"{ if (obj) @(obj.value()); return *this; }", v.name); - } + out(1,"Field<@> @{this};", v.typeFull, v.name); + for (const auto &c : v.children) { + out(1,"FieldPart @{@};", + v.name, c.type, c.name, v.name); } } -} // writeClassSetters - +} // ----------------------------------------------------------------------------- @@ -1224,83 +1078,61 @@ void writeClassSetters(writer &out, const PerClass &per) // writeClassCtorComponent void writeClassCtorComponent( - writer &out, const PerClass &per, const bool hasOther + writer &out, const PerClass &per, const bool copyOrMove, + const bool newline = true ) { - out(2,"Component{"); - out(3, hasOther ? "other" : "BodyText{}", false); - - for (const auto &m : per.metadata) { // metadata - out(","); - out(3,"content.@", m.name, false); - } - for (const auto &c : per.children) { // children - out(","); - out(3,"content.@", c.name, false); - } - for (const auto &v : per.variants) { // variants - out(","); - out(3,"content.@", v.name, false); - } - - out(); - out(2,"}",false); -} // writeClassCtorComponent + out(2,"GNDSTK_COMPONENT(@)", + std::string(copyOrMove ? "other.baseBlockData()" : "BlockData{}"), + newline); +} // writeClassCtorBody -void writeClassCtorBody(writer &out, const std::string &argName) -{ +void writeClassCtorBody( + writer &out, const std::string &line, const std::string &argName +) { out(1,"{"); + if (line != "") + out(2,line); out(2,"Component::finish(@);", argName); out(1,"}"); -} // writeClassCtorBody +} // writeClassCtors void writeClassCtors(writer &out, const PerClass &per) { - // ctor: default - out(); - out(1,"// default"); - out(1,"@() :", per.clname); - writeClassCtorComponent(out, per, false); - out(); - writeClassCtorBody(out, ""); + // ------------------------ + // ctor: default, + // and from fields + // ------------------------ - // ctor: copy + const int total = per.nfields(); out(); - out(1,"// copy"); - out(1,"@(const @ &other) :", per.clname, per.clname); - writeClassCtorComponent(out, per, true); - out(","); - out(2,"content{other.content}"); - writeClassCtorBody(out, "other"); - // ctor: move - out(); - out(1,"// move"); - out(1,"@(@ &&other) :", per.clname, per.clname); - writeClassCtorComponent(out, per, true); - out(","); - out(2,"content{std::move(other.content)}"); - writeClassCtorBody(out, "other"); - - // ctor: node - out(); - out(1,"// from node"); - out(1,"@(const Node &node) :", per.clname); - writeClassCtorComponent(out, per, false); - out(); - writeClassCtorBody(out, "node"); + if (total == 0) { + out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata)"); + out(); + out(1,"// default"); + out(1,"@() :", per.clname); + writeClassCtorComponent(out, per, false); + } else { + int count = 0; - // ------------------------ - // ctor: fields - // ------------------------ + // macro + out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata, \\"); + for (const auto &m : per.metadata) + out(2,"this->@@", m.name, ++count < total ? ", \\" : ")"); + for (const auto &c : per.children) + out(2,"this->@@", c.name, ++count < total ? ", \\" : ")"); + for (const auto &v : per.variants) + out(2,"this->@@", v.name, ++count < total ? ", \\" : ")"); - const auto total = per.nfields(); - if (total != 0) { + // comment for this constructor out(); - out(1,"// from fields"); + out(1,"// default, and from fields"); + + // informational message, if applicable for (const auto &m : per.metadata) if (m.isDefaulted) { out(1,"// std::optional replaces Defaulted; " @@ -1309,45 +1141,51 @@ void writeClassCtors(writer &out, const PerClass &per) } // signature, and base constructor call - // Note: we don't need "explicit" unless this constructor can be called - // with one argument. We'll always write it, however, in case someone - // modifies the auto-generated constructor (say, giving its arguments - // defaults) in such a way that is *can* be called with one argument. - // But we'd rather nobody modify the auto-generated classes. - int count = 0; + count = 0; out(1,"explicit @(", per.clname); + for (const auto &m : per.metadata) - out(2,"const @ &@@", + out(2,"const wrapper<@> &@ = {}@", m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull, - m.name, ++count < total ? "," : ""); + m.name, sep(count,total)); for (const auto &c : per.children) - out(2,"const @ &@@", c.typeFull, c.name, ++count < total ? "," : ""); + out(2,"const wrapper<@> &@ = {}@", + c.typeFull, c.name, sep(count,total)); for (const auto &v : per.variants) - out(2,"const @ &@@", v.typeFull, v.name, ++count < total ? "," : ""); + out(2,"const wrapper<@> &@ = {}@", + v.typeFull, v.name, sep(count,total)); out(1,") :"); - writeClassCtorComponent(out, per, false); + writeClassCtorComponent(out, per, false, false); // initialize fields out(","); - out(2,"content{"); count = 0; for (const auto &m : per.metadata) - out(3,"@@", - m.isDefaulted - ? "Defaulted<"+m.type+">(defaults."+m.name+","+m.name+")" - : m.name, - ++count < total ? "," : ""); + if (m.isDefaulted) + out(2,"@(this,defaults.@,@)@", + m.name, m.name, m.name, sep(count,total)); + else + out(2,"@(this,@)@", m.name, m.name, sep(count,total)); for (const auto &c : per.children) - out(3,"@@", c.name, ++count < total ? "," : ""); + out(2,"@(this,@)@", c.name, c.name, sep(count,total)); for (const auto &v : per.variants) - out(3,"@@", v.name, ++count < total ? "," : ""); - out(2,"}"); - - // body - writeClassCtorBody(out, ""); + out(2,"@(this,@)@", v.name, v.name, sep(count,total)); } + // body + writeClassCtorBody(out, "", ""); + + // ------------------------ + // ctor: node + // ------------------------ + + out(); + out(1,"// from node"); + out(1,"explicit @(const Node &node) :", per.clname); + writeClassCtorComponent(out, per, false); + writeClassCtorBody(out, "", "node"); + // ------------------------ // ctor: vector // ------------------------ @@ -1356,14 +1194,32 @@ void writeClassCtors(writer &out, const PerClass &per) out(); out(1,"// from vector"); out(1,"template>>"); + "std::enable_if_t>>"); out(1,"@(const std::vector &vector) :", per.clname); writeClassCtorComponent(out, per, false); - out(); - writeClassCtorBody(out, "vector"); + writeClassCtorBody(out, "", "vector"); } -} // writeClassCtors + // ------------------------ + // ctor: copy + // ------------------------ + + out(); + out(1,"// copy"); + out(1,"@(const @ &other) :", per.clname, per.clname); + writeClassCtorComponent(out, per, true); + writeClassCtorBody(out, "*this = other;", "other"); + + // ------------------------ + // ctor: move + // ------------------------ + + out(); + out(1,"// move"); + out(1,"@(@ &&other) :", per.clname, per.clname); + writeClassCtorComponent(out, per, true); + writeClassCtorBody(out, "*this = std::move(other);", "other"); +} // writeClassCtors // ----------------------------------------------------------------------------- @@ -1377,70 +1233,58 @@ void writeClass(PerClass &per, const InfoSpecs &specs) writer out(false); // output: class begin - writeClassPrefix(out,per); + writeClassPrefix(out, per); // output: for the Component base - writeClassForComponent(out,per); + writeClassForComponent(out, per); // output: using directives - out(); out(1,"using Component::construct;"); if (per.isData) - out(1,"using BodyText::operator=;"); + out(1,"using BlockData::operator=;"); // output: defaults (applicable only to metadata) - out(); - out(1,smallComment); - out(1,"// Relevant defaults"); - out(1,"// FYI for users"); - out(1,smallComment); - out(); - out(1,"static inline const struct Defaults {"); + std::size_t ndefaults = 0; for (auto &m : per.metadata) if (m.isDefaulted) - out(2,"static inline const @ @ = @;", m.type, m.name, initializer(m)); - out(1,"} defaults;"); + ++ndefaults; + if (ndefaults > 0) { + out(); + out(1,"// defaults"); + out(1,"static inline const struct Defaults {"); + for (auto &m : per.metadata) + if (m.isDefaulted) + out(2, "static inline const @ @ = @;", + m.type, m.name, initializer(m)); + out(1,"} defaults;"); + } - // output: content (the metadata/children computed earlier) - out(); - out(1,smallComment); - out(1,"// Raw GNDS content"); - out(1,smallComment); - out(); - out(1,"struct {"); + // output: fields writeClassContentMetadata(out, per); writeClassContentChildren(out, per); writeClassContentVariants(out, per); - out(1,"} content;"); - - // output: getters, setters - if (per.metadata.size() || per.children.size() || per.variants.size()) { - writeClassGetters(out, per); - writeClassSetters(out, per); - } // output: constructors out(); out(1,smallComment); - out(1,"// Construction"); + out(1,"// Constructors"); out(1,smallComment); writeClassCtors(out, per); // output: class end - writeClassSuffix(out, per, specs.Version); + writeClassSuffix(out, per, specs); // done per.code = out.str(); } // writeClass - // ----------------------------------------------------------------------------- // Miscellaneous functions for getting JSON content // ----------------------------------------------------------------------------- // readJSONFile -nlohmann::json readJSONFile(const std::string &file, const bool print = false) +orderedJSON readJSONFile(const std::string &file, const bool print = false) { static const std::string underlineON = "\033[4m"; static const std::string underlineOFF = "\033[24m"; @@ -1459,7 +1303,7 @@ nlohmann::json readJSONFile(const std::string &file, const bool print = false) throw std::exception{}; } - nlohmann::json j; + orderedJSON j; ifs >> j; return j; } // readJSONFile @@ -1467,7 +1311,7 @@ nlohmann::json readJSONFile(const std::string &file, const bool print = false) // getMetadataJSON template -auto getMetadataJSON(const nlohmann::json &j) +auto getMetadataJSON(const orderedJSON &j) { static const std::string metastr = "metadata"; static const std::string attrstr = "attributes"; @@ -1480,15 +1324,15 @@ auto getMetadataJSON(const nlohmann::json &j) return meta ? j[metastr] : j[attrstr]; } else { assert(!(meta && attr)); // not both - return std::optional( - meta ? j[metastr] : attr ? j[attrstr] : nlohmann::json{}); + return std::optional( + meta ? j[metastr] : attr ? j[attrstr] : orderedJSON{}); } } // getMetadataJSON // getChildrenJSON template -auto getChildrenJSON(const nlohmann::json &j) +auto getChildrenJSON(const orderedJSON &j) { static const std::string chldstr = "children"; static const std::string nodestr = "childNodes"; @@ -1501,13 +1345,12 @@ auto getChildrenJSON(const nlohmann::json &j) return chld ? j[chldstr] : j[nodestr]; } else { assert(!(chld && node)); // not both - return std::optional( - chld ? j[chldstr] : node ? j[nodestr] : nlohmann::json{}); + return std::optional( + chld ? j[chldstr] : node ? j[nodestr] : orderedJSON{}); } } // getChildrenJSON - // ----------------------------------------------------------------------------- // commandLine and its helper functions // ----------------------------------------------------------------------------- @@ -1515,7 +1358,7 @@ auto getChildrenJSON(const nlohmann::json &j) // readChangesFile void readChangesFile(const std::string &file, InfoSpecs &specs) { - const nlohmann::json jchanges = readJSONFile(file); + const orderedJSON jchanges = readJSONFile(file); using pair = std::pair; // Changes to name? @@ -1544,19 +1387,21 @@ void readChangesFile(const std::string &file, InfoSpecs &specs) // printSingletons void printSingletons(const std::string &file) { - const nlohmann::json &jfile = readJSONFile(file,true); + const orderedJSON &jfile = readJSONFile(file,true); for (const auto &item : jfile.items()) { const std::string parent = item.key(); - const nlohmann::json rhs = item.value(); + const orderedJSON rhs = item.value(); if (!isClass(item)) continue; const auto metadata = getMetadataJSON(rhs); const auto children = getChildrenJSON(rhs); + const bool data = rhs.contains("data") && !rhs["data"].is_null(); + const bool body = rhs.contains("bodyText") && !rhs["bodyText"].is_null(); - if (metadata.size() == 0 && children.size() == 0) - log::info("Class \"{}\" has no metadata and no children", parent); + if (metadata.size() == 0 && children.size() == 0 && !data && !body) + log::info("Class \"{}\" has no metadata, children, or data", parent); if (metadata.size() == 0 && children.size() == 1) log::info("Class \"{}\" has no metadata and just one child", parent); } @@ -1564,16 +1409,17 @@ void printSingletons(const std::string &file) // commandLine -// Gather information from the .json file given on the command line +// Gather information from the JSON file given on the command line void commandLine( const int argc, const char *const *const argv, InfoSpecs &specs ) { - // Keys we'll look for + // JSON keys we'll look for + static const std::string path = "Path"; + static const std::string project = "Project"; + static const std::string version = "Version"; static const std::string input = "JSONDir"; static const std::string files = "JSONFiles"; - static const std::string output = "GNDSDir"; - static const std::string version = "Version"; static const std::string changes = "Changes"; // Usage @@ -1583,21 +1429,31 @@ void commandLine( } // Input file - const nlohmann::json jmain = readJSONFile(argv[1]); + const orderedJSON jmain = readJSONFile(argv[1]); + + // Need "Version" + if (!jmain.contains(version)) { + log::error("The input JSON file needs {}", version); + throw std::exception{}; + } - // Validate content - if (!(jmain.contains(input) && jmain.contains(output) && - jmain.contains(files) && jmain.contains(version))) { - log::error("The input json file needs {}, {}, {}, and {}", - input, files, output, version); + // Need "JSONFiles" + if (!jmain.contains(files)) { + log::error("The input JSON file needs {}", files); throw std::exception{}; } - // Extract information from the command line .json - specs.JSONDir = jmain[input]; - specs.JSONFiles = std::vector(jmain[files]); - specs.GNDSDir = jmain[output]; - specs.Version = jmain[version]; + // Extract information from the command line JSON file... + // ...these are optional: + specs.Path = jmain.contains(path ) ? jmain[path ] : "."; + specs.Project = jmain.contains(project) ? jmain[project] : "GNDStk"; + specs.JSONDir = jmain.contains(input ) ? jmain[input ] : "."; + // ...these are required: + specs.Version = jmain[version]; + for (const auto &str : jmain[files]) + specs.JSONFiles.push_back(str); + + // Version, with underscores in place of periods specs.VersionUnderscore = replace(specs.Version, '.', '_'); // Prepend the JSON file names with their directory @@ -1605,14 +1461,29 @@ void commandLine( file = specs.JSONDir + '/' + file; // File names - specs.hppVersion = specs.GNDSDir + "/src/GNDStk/" + specs.Version + ".hpp"; - specs.hppKey = specs.GNDSDir + "/src/GNDStk/" + specs.Version + "/key.hpp"; + { + // For C++ + const std::string base = + specs.Path + "/" + specs.Project + "/src/" + specs.Project + "/"; + specs.hppVersion = base + specs.Version + ".hpp"; + specs.hppKey = base + specs.Version + "/key.hpp"; + } + { + // For the C interface + const std::string base = + specs.Path + "/" + specs.Project + "/c/src/"; + specs.hVersion = base + specs.Version + ".h"; + // We don't currently know of anything that we'd have in the following + // file, so we won't create it. But I'll leave this in as a placeholder. + specs.cVersion = base + specs.Version + ".cpp"; + } // Report on "singletons" if (singletons) { - action("Finding possible simplifications"); + action("\nFinding possible simplifications..."); for (const std::string &file : specs.JSONFiles) printSingletons(file); + action("Done."); } // Changes? @@ -1621,7 +1492,6 @@ void commandLine( } // commandLine - // ----------------------------------------------------------------------------- // preprocess* functions // ----------------------------------------------------------------------------- @@ -1645,21 +1515,24 @@ void preprocessClass( // custom files as needed // ------------------------ - // Given the base GNDS directory and the GNDS version, as obtained earlier - // from the JSON input file to this tool, compute relevant directory names. - const std::string - // For the present namespace: C++ and Python directories. The present - // namespace probably contains multiple classes, so its directories - // may have been created already, but that's fine. - nsdir = specs.GNDSDir + "/src/GNDStk/" + specs.Version + "/" + nsname, - nsdirpy = specs.GNDSDir + "/python/src/" + specs.Version + "/" + nsname, - // For the present class: C++ source and test directories. - clsrc = nsdir + "/" + clname + "/src", - cltest = nsdir + "/" + clname + "/test"; + // For the present namespace: C++, Python, and C directories. The present + // namespace probably contains multiple classes, so these directories may + // have been created already, but that's fine. + const std::string nsdir = specs.Path + "/" + specs.Project + + "/src/" + specs.Project + "/" + specs.Version + "/" + nsname; + const std::string nsdirpy = specs.Path + "/" + specs.Project + + "/python/src/" + specs.Version + "/" + nsname; + const std::string nsdirc = specs.Path + "/" + specs.Project + + "/c/src/" + specs.Version + "/" + nsname; + + // For the present class: C++ source and test directories. + const std::string clsrc = nsdir + "/" + clname + "/src"; + const std::string cltest = nsdir + "/" + clname + "/test"; // Create the above directories, if (and only if) they don't already exist. system(("mkdir -p " + nsdir ).data()); system(("mkdir -p " + nsdirpy).data()); + system(("mkdir -p " + nsdirc ).data()); system(("mkdir -p " + clsrc ).data()); system(("mkdir -p " + cltest ).data()); @@ -1692,11 +1565,14 @@ void preprocessClass( // For this namespace::class: // The cpp file for Python // The hpp file for GNDStk + // The C/C++ header, and the C++ backend for the C interface auto cl = specs.class2data.insert( std::make_pair(NamespaceAndClass{nsname,clname}, PerClass{})); assert(cl.second); // should have been inserted - not there already cl.first->second.cppPython = nsdirpy + "/" + clname + ".python.cpp"; cl.first->second.hppGNDStk = nsdir + "/" + clname + ".hpp"; + cl.first->second.headerC = nsdirc + "/" + clname + ".h"; + cl.first->second.sourceC = nsdirc + "/" + clname + ".cpp"; } // preprocessClass @@ -1712,19 +1588,19 @@ void preprocessClass( // names are computed as part of the "information" for the maps just mentioned. void preprocessFiles(InfoSpecs &specs) { - action("Preprocessing input files"); + action("\nPreprocessing input files..."); // files for (const std::string &file : specs.JSONFiles) { - const nlohmann::json jmain = readJSONFile(file,true); + const orderedJSON jmain = readJSONFile(file,true); const std::string nsname = getFileNamespace(jmain); // classes in the file for (const auto &cl : jmain.items()) preprocessClass(specs, nsname, cl); } + action("Done."); } // preprocessFiles - // ----------------------------------------------------------------------------- // validate* // getClass @@ -1732,7 +1608,7 @@ void preprocessFiles(InfoSpecs &specs) // ----------------------------------------------------------------------------- // Helper: validateMetadata -void validateMetadata(const nlohmann::json &metadata) +void validateMetadata(const orderedJSON &metadata) { for (const auto &field : metadata.items()) { assert(field.value().contains("type")); @@ -1742,18 +1618,17 @@ void validateMetadata(const nlohmann::json &metadata) // Helper: validateChildren -void validateChildren(const nlohmann::json &children) +void validateChildren(const orderedJSON &children) { for (const auto &field : children.items()) { - assert(field.value().contains("occurrence")); assert(field.value().contains("required")); - // Consistency check: certain "occurrence" values imply *not* required. + // Consistency check: certain occurrence values imply *not* required. // Remark: the GNDS manual speaks of "choice2" and "choice2+" options // for occurrence. We're not sure if those will remain in future GNDS // specifications, so we won't worry now about how they might fit in. - const std::string occ = field.value()["occurrence"]; - if (occ == "0+" || occ == "choice" || occ == "choice+") + const std::string times = getTimes(field.value()); + if (times == "0+" || times == "choice" || times == "choice+") assert(!field.value()["required"]); // not required } } @@ -1783,8 +1658,8 @@ void getClass( per.nameGNDS = nameGNDS(keyval); // metadata/children information - const nlohmann::json attrs = getMetadataJSON(classRHS); - const nlohmann::json elems = getChildrenJSON(classRHS); + const orderedJSON attrs = getMetadataJSON(classRHS); + const orderedJSON elems = getChildrenJSON(classRHS); validateMetadata(attrs); validateChildren(elems); getClassMetadata(attrs, specs, per); @@ -1798,7 +1673,15 @@ void getClass( const bool body = classRHS.contains(bodystr) && !classRHS[bodystr].is_null(); assert(!(data && body)); // not both per.isData = data || body; - per.dataType = data ? classRHS[datastr] : ""; + if (data) { + // A type change, as with metadata, could be wanted in this context as + // well. Perhaps the name "mapMetaType" (and the location and name for + // it in the changes.json file) should be modified to reflect this + const std::string type = classRHS[datastr]; + const auto it = specs.mapMetaType.find(type); + per.dataType = it == specs.mapMetaType.end() ? type : it->second; + } else + per.dataType = ""; // per.code will contain printed C++ code for the class itself writeClass(per,specs); @@ -1811,19 +1694,19 @@ void getClass( // getFiles void getFiles(InfoSpecs &specs) { - action("Creating classes"); + action("\nCreating classes..."); // files for (const std::string &file : specs.JSONFiles) { - const nlohmann::json jmain = readJSONFile(file,true); + const orderedJSON jmain = readJSONFile(file,true); const std::string nsname = getFileNamespace(jmain); // classes in the file for (const auto &cl : jmain.items()) getClass(specs, nsname, cl); } + action("Done."); } // getFiles - // ----------------------------------------------------------------------------- // Functions relating to our topological sort // Adapted from: http://coliru.stacked-crooked.com/a/7c0bf8d3443b804d @@ -1860,61 +1743,91 @@ void sortDependencies(InfoSpecs &specs) } - // ----------------------------------------------------------------------------- -// Functions for creating output files +// For the C++ header files +// fileGNDStkVersion +// fileGNDStkKey +// fileGNDStkClass // ----------------------------------------------------------------------------- +// ------------------------ // fileGNDStkVersion +// ------------------------ + void fileGNDStkVersion(const InfoSpecs &specs) { - // Create an overarching file for this version - writer out(specs.hppVersion); - out(); - out("#ifndef NJOY_GNDSTK_@", allcaps(specs.VersionUnderscore)); - out("#define NJOY_GNDSTK_@", allcaps(specs.VersionUnderscore)); - - std::string nsname_last = ""; - for (auto &c : specs.class2data) { - const std::string nsname = c.first.nsname; - const std::string clname = c.first.clname; - if (nsname != nsname_last) - out(); - nsname_last = nsname; - out("#include \"GNDStk/@/@/@.hpp\"", specs.Version, nsname, clname); + // ------------------------ + // Create a C++ header + // for this version + // ------------------------ + + { + writer out(specs.hppVersion); + out(); + out("#ifndef @_@", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + out("#define @_@", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + + std::string nsname_last = ""; + for (auto &c : specs.class2data) { + const std::string nsname = c.first.nsname; + const std::string clname = c.first.clname; + if (nsname != nsname_last) + out(); + nsname_last = nsname; + out("#include \"@/@/@/@.hpp\"", + specs.Project, specs.Version, nsname, clname); + } + + out(); + out("#endif"); } - out(); - out("#include \"GNDStk/@/key.hpp\"", specs.Version); - out(); - out("#endif"); + // ------------------------ + // Create a C/C++ header + // for the C interface + // ------------------------ + + { + writer out(specs.hVersion); + out(); + out(largeComment); + out("// This header file is designed to work with both C and C++"); + out(largeComment); + out(); + out("#ifndef C_INTERFACE_@_@", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + out("#define C_INTERFACE_@_@", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + + out(); + out("#include \"GNDStk.h\""); + out(); + out("#ifdef __cplusplus"); + out(1,"// For C++"); + out(1,"#include \"@/@.hpp\"", specs.Project, specs.VersionUnderscore); + out("#endif"); + + std::string nsname_last = ""; + for (auto &c : specs.class2data) { + const std::string nsname = c.first.nsname; + const std::string clname = c.first.clname; + if (nsname != nsname_last) + out(); + nsname_last = nsname; + out("#include \"@/@/@.h\"", specs.Version, nsname, clname); + } + + out(); + out("#endif"); + } } // fileGNDStkVersion -// fixme Reconsider the arrangement described here... +// ------------------------ // fileGNDStkKey -const std::string file_key_comment = -R"***( -This file contains Meta and Child objects for metadata and child nodes in the -current GNDS version. These may prove to be useful if you wish to use the Core -Interface in conjunction with the autogenerated classes for this GNDS version. - -Within the outer njoy::GNDStk::version namespace below, the remaining namespace -arrangement was chosen to make the use of these objects smooth and logical. - -Meta and Child objects are collectively called "keys." Meta keys are placed -into key::meta. Child keys correspond to autogenerated classes, each of which -is already in some namespace; we thus use theNamespace::key::child::. That way, -an autogenerated class [ns::Foo] has [ns::key::foo] as its Child object, and -a "using namespace ns" allows the class and the Child object to be [Foo] and -[key::foo], respectively. (If we reordered ns:: and key::, that wouldn't work.) - -Within key::, we use meta:: and child:: around Meta and Child objects, just in -case there exist any identical GNDS metadata names and child-node names. (That -can, in fact, happen). The "using namespace meta" and "using namespace child" -directives then make the Meta<> and Child<> objects appear directly in key::, -so that "meta::" and "child::" are needed only to disambiguate identical names. -)***"; +// ------------------------ void fileGNDStkKey(const InfoSpecs &specs) { @@ -1934,7 +1847,7 @@ void fileGNDStkKey(const InfoSpecs &specs) std::multimap> namespace2children; for (const auto &file : specs.JSONFiles) { - const nlohmann::json jmain = readJSONFile(file); + const orderedJSON jmain = readJSONFile(file); auto it = namespace2children.insert( std::make_pair(getFileNamespace(jmain),std::set{})); @@ -1943,14 +1856,14 @@ void fileGNDStkKey(const InfoSpecs &specs) // nodes ==> children it->second.insert(std::make_pair( nameField(node,specs), - nameGNDS (node))); + nameGNDS(node))); // attributes ==> metadata const auto attrs = getMetadataJSON(node.value()); for (const auto &attr : attrs.items()) metadata.insert(std::make_pair( nameField(attr,specs), - nameGNDS (attr))); + nameGNDS(attr))); } } } @@ -1962,54 +1875,56 @@ void fileGNDStkKey(const InfoSpecs &specs) writer out(specs.hppKey); out(); - out("/*",false); - out(file_key_comment,false); - out("*/"); + out("#ifndef @_@_KEY", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); + out("#define @_@_KEY", + allcaps(specs.Project), allcaps(specs.VersionUnderscore)); out(); - out("#ifndef NJOY_GNDSTK_@_KEY", allcaps(specs.VersionUnderscore)); - out("#define NJOY_GNDSTK_@_KEY", allcaps(specs.VersionUnderscore)); + out("// GNDStk Core Interface"); + out("#include \"GNDStk.hpp\""); out(); - out("namespace njoy {"); - out("namespace GNDStk {"); + if (specs.Project == "GNDStk") // <== use namespace njoy only for this + out("namespace njoy {"); + out("namespace @ {", specs.Project); out("namespace @ {", specs.VersionUnderscore); + out(); + out("using namespace njoy::GNDStk;"); // ------------------------ // Meta<> objects // ------------------------ + section(out,"// meta::"); out(); - out(); - out(largeComment); - out("// key::meta::"); - out(largeComment); - out(); - out("namespace key {"); out("namespace meta {"); if (metadata.size() > 0) { + out(); + out(0,"#define GNDSTK_MAKE_LOOKUP(nameField,nameGNDS) \\"); + out(1, "inline const auto nameField = makeLookup( \\"); + out(2, "[](const auto &obj) -> decltype(obj.nameField()) \\"); + out(2, "{ return obj.nameField(); }, \\"); + out(2, "#nameGNDS \\"); + out(1, ")"); + out(0, "// nameField vs. nameGNDS: for, e.g., Double vs. double in GNDS"); out(); for (const auto &meta : metadata) - out("inline const Meta<> @(\"@\");", meta.first, meta.second); + out("GNDSTK_MAKE_LOOKUP(@,@);", meta.first, meta.second); + out(); + out(0,"#undef GNDSTK_MAKE_LOOKUP"); out(); } out("} // namespace meta"); - out("using namespace meta;"); - out("} // namespace key"); // ------------------------ // Child<> objects // ------------------------ for (const auto &nspace : namespace2children) { - out(); - out(); - out(largeComment); - out("// @::key::child::", nspace.first); - out(largeComment); + section(out, "// @::child::", nspace.first); out(); out("namespace @ {", nspace.first); - out("namespace key {"); out("namespace child {"); const auto &children = nspace.second; @@ -2022,10 +1937,25 @@ void fileGNDStkKey(const InfoSpecs &specs) out("} // namespace child"); out("using namespace child;"); - out("} // namespace key"); out("} // namespace @", nspace.first); } + // ------------------------ + // Using directives + // ------------------------ + + section(out, "// For convenience: using directives"); + out(); + out("namespace key {"); + out(1,"using namespace meta;"); + for (const auto &nspace : namespace2children) + out(1,"using namespace @::child;", nspace.first); + out("} // namespace key"); + out(); + out("using namespace key;"); + for (const auto &nspace : namespace2children) + out("using namespace @;", nspace.first); + // ------------------------ // finish // ------------------------ @@ -2036,54 +1966,981 @@ void fileGNDStkKey(const InfoSpecs &specs) out(largeComment); out(); out("} // namespace @", specs.VersionUnderscore); - out("} // namespace GNDStk"); - out("} // namespace njoy"); + out("} // namespace @", specs.Project); + if (specs.Project == "GNDStk") // <== end namespace njoy only for this + out("} // namespace njoy"); out(); out("#endif"); } // fileGNDStkKey +// ------------------------ // fileGNDStkClass +// ------------------------ + void fileGNDStkClass( const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d ) { // class-specific hpp file writer out(per.hppGNDStk); const std::string guard = - "NJOY_GNDSTK_" + allcaps(specs.VersionUnderscore) + "_" + - allcaps(per.nsname) + "_" + allcaps(per.clname); + allcaps(specs.Project) + "_" + + allcaps(specs.VersionUnderscore) + "_" + + allcaps(per.nsname) + "_" + + allcaps(per.clname); out(); out("#ifndef @", guard); out("#define @", guard); - out(); - out("// core interface"); - out("#include \"GNDStk.hpp\""); - if (c2d.dependencies.size() > 0) { - out(); - out("// @ dependencies", specs.Version); - for (const auto &dep : c2d.dependencies) - out("#include \"GNDStk/@/@/@.hpp\"", - specs.Version, dep.nsname, dep.clname); - } + out(); + if (c2d.dependencies.size() == 0) // <== otherwise, comes in through deps + out("#include \"@/@/key.hpp\"", specs.Project, specs.Version); + for (const auto &dep : c2d.dependencies) + out("#include \"@/@/@/@.hpp\"", + specs.Project, specs.Version, dep.nsname, dep.clname); out(); - out("namespace njoy {"); - out("namespace GNDStk {"); + if (specs.Project == "GNDStk") + out("namespace njoy {"); + out("namespace @ {", specs.Project); out("namespace @ {", specs.VersionUnderscore); - out(); - out("using namespace njoy::GNDStk::core;"); out(per.code,false); out("} // namespace @", specs.VersionUnderscore); - out("} // namespace GNDStk"); - out("} // namespace njoy"); + out("} // namespace @", specs.Project); + if (specs.Project == "GNDStk") + out("} // namespace njoy"); out(); out("#endif"); } // fileGNDStkClass +// ----------------------------------------------------------------------------- +// C interface: +// Helpers +// ----------------------------------------------------------------------------- + +// two +// Forward args to two places: header and source +template +void two(writer &hdr, writer &src, Ts &&...args) +{ + hdr(std::forward(args)...); + src(std::forward(args)...); +} + +// ext +// For writing (or not writing) 'extern "C"' +template +void ext(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + hdr("extern_c "+str, std::forward(args)...); + src( str, std::forward(args)...); +} + +// ppp +// Comment, prefixed in header file with "+++" +template +void ppp(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + hdr("// +++ "+str, std::forward(args)...); + src("// " +str, std::forward(args)...); +} +template +void PPP(writer &hdr, writer &src, Ts &&...args) +{ + two(hdr,src); + ppp(hdr,src,std::forward(args)...); +} + +// mmm +// Comment, prefixed in header file with "---" +template +void mmm(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + hdr("// --- "+str, std::forward(args)...); + src("// " +str, std::forward(args)...); +} +template +void MMM(writer &hdr, writer &src, Ts &&...args) +{ + two(hdr,src); + mmm(hdr,src,std::forward(args)...); +} + +// sig +// End C interface function signature; style dependent on hadFields bool +void sig(writer &hdr, writer &src, const bool hadFields = false) +{ + // header: end of parameters, semicolon for declaration + hdr(");"); + // source: end of parameters, left brace for definition + src(hadFields ? ") {" : ")\n{"); +} + +// mtype_param +// Get metadata type, for C interface +std::string mtype_param(const InfoMetadata &m) +{ + return m.type == "std::string" + ? "char *const" + : m.type; +} + +// mtype_return +// Get metadata type, for C interface +std::string mtype_return(const InfoMetadata &m) +{ + return m.type == "std::string" + ? "const char *" + : m.type; +} + +// ctype +// Get child-node type, for C interface +std::string ctype(const InfoChildren &c) +{ + // Why not ...2Const... in the first case? See: + // https://stackoverflow.com/questions/5055655 + // and: + // https://c-faq.com/ansi/constmismatch.html + // Remember that we're making C code here, not C++. + return c.isVector + ? "ConstHandle2" + c.plain + " *const" + : "ConstHandle2Const" + c.plain; +} + +// section +template +void section(writer &hdr, writer &src, const std::string &str, Ts &&...args) +{ + two(hdr,src); + two(hdr,src); + two(hdr,src,largeComment); + two(hdr,src,str, std::forward(args)...); + two(hdr,src,largeComment); +} + + +// ----------------------------------------------------------------------------- +// C interface: +// fileCInterfaceCreate* +// ----------------------------------------------------------------------------- + +// fileCInterfaceCreateParams +void fileCInterfaceCreateParams(writer &hdr, writer &src, const PerClass &per) +{ + int count = 0; + const int total = per.nfields(); + + // metadata + for (const auto &m : per.metadata) { + two(hdr,src); + two(hdr,src,1,"const @ @@", + mtype_param(m), + m.name, + ++count < total ? "," : "", + false); + } + + // children + for (const auto &c : per.children) { + two(hdr,src); + two(hdr,src,1,"@ @@@", + ctype(c), + c.name, + c.isVector ? ", const size_t "+c.name+"Size" : "", + ++count < total ? "," : "", + false + ); + } + + // variants + // todo + + if (total) + two(hdr,src); +} + +// fileCInterfaceCreateCall +void fileCInterfaceCreateCall(writer &hdr, writer &src, const PerClass &per) +{ + // metadata + for (const auto &m : per.metadata) { + src(","); + src(2,"@", m.name, false); + } + + // children + for (const auto &c : per.children) { + src(","); + const std::string Child = c.plain; + const std::string child = c.name; + c.isVector + ? src(2,"std::vector{}", Child, false) + : src(2,"detail::tocpp(@)", Child, child, false); + } + + // variants + // todo + + src(); + src(1,");"); + for (const auto &c : per.children) { + if (!c.isVector) + continue; + const std::string Child = c.plain; + const std::string child = c.name; + src(1,"for (size_t @N = 0; @N < @Size; ++@N)", + Child, Child, child, Child); + src(2,"@@Add(handle, @[@N]);", + per.clname, Child, child, Child); + } + src(1,"return handle;"); + src("}"); +} + + +// ----------------------------------------------------------------------------- +// C interface: +// fileCInterfaceBasics +// ----------------------------------------------------------------------------- + +void fileCInterfaceBasics(writer &hdr, writer &src, const PerClass &per) +{ + // section comment + section(hdr,src, + "// Basics\n" + "// Create, Assign, Delete"); + + // create: default, const + MMM(hdr,src,"Create, default, const"); + ext(hdr,src,"Handle2Const@", per.clname); + two(hdr,src,"@DefaultConst(", per.clname, false); + sig(hdr,src); + src(1,"return detail::createHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"DefaultConst\");"); + src("}"); + + // create: default, non-const + PPP(hdr,src,"Create, default"); + ext(hdr,src,"Handle2@", per.clname); + two(hdr,src,"@Default(", per.clname, false); + sig(hdr,src); + src(1,"return detail::createHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Default\");"); + src("}"); + + // create: general, const + MMM(hdr,src,"Create, general, const"); + ext(hdr,src,"Handle2Const@", per.clname); + two(hdr,src,"@CreateConst(", per.clname, false); + fileCInterfaceCreateParams(hdr,src,per); + sig(hdr,src, per.nfields() != 0); + src(1,"ConstHandle2@ handle = detail::createHandle(", per.clname); + src(2,"CLASSNAME, CLASSNAME+\"CreateConst\"", false); + fileCInterfaceCreateCall(hdr,src,per); + + // create: general, non-const + PPP(hdr,src,"Create, general"); + ext(hdr,src,"Handle2@", per.clname); + two(hdr,src,"@Create(", per.clname, false); + fileCInterfaceCreateParams(hdr,src,per); + sig(hdr,src, per.nfields() != 0); + src(1,"ConstHandle2@ handle = detail::createHandle(", per.clname); + src(2,"CLASSNAME, CLASSNAME+\"Create\"", false); + fileCInterfaceCreateCall(hdr,src,per); + + // assign + PPP(hdr,src,"Assign"); + ppp(hdr,src,"Use this to assign one handled object to another. " + "Don't assign handles,"); + ppp(hdr,src,"as with to = from. That has a meaning that you probably " + "don't intend."); + ext(hdr,src,"void"); + two(hdr,src,"@Assign(", per.clname, false); + two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ from", + per.clname, per.clname, false); + sig(hdr,src); + src(1,"detail::assignHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Assign\", This, from);"); + src("}"); + + // delete + PPP(hdr,src,"Delete"); + ppp(hdr,src,"We'll attempt to remove no-longer-used objects " + "automatically, but you"); + ppp(hdr,src,"may improve performance if you delete them when " + "you're done with them."); + ext(hdr,src,"void"); + two(hdr,src,"@Delete(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This", per.clname, false); + sig(hdr,src); + src(1,"detail::deleteHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Delete\", This);"); + src("}"); +} // fileCInterfaceBasics + + +// ----------------------------------------------------------------------------- +// C interface: +// fileCInterfaceIO +// ----------------------------------------------------------------------------- + +void fileCInterfaceIO(writer &hdr, writer &src, const PerClass &per) +{ + // section comment + section(hdr,src, + "// I/O\n" + "// Read, Write, Print\n" + "// Each returns 0 if failure, 1 if success."); + + // read from file + PPP(hdr,src,"Read from file"); + ppp(hdr,src,"File can be XML, JSON, or HDF5."); + ppp(hdr,src,"We'll examine the file's contents to determine " + "its type automatically."); + ext(hdr,src,"int"); + two(hdr,src,"@Read(", per.clname, false); + two(hdr,src,"ConstHandle2@ This, const char *const filename", + per.clname, false); + sig(hdr,src); + src(1,"return detail::readHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Read\", This, filename);"); + src("}"); + + // write to file + PPP(hdr,src,"Write to file"); + ppp(hdr,src,"File can be XML, JSON, or HDF5."); + ppp(hdr,src,"We'll use filename's extension to determine " + "the type you want written."); + ext(hdr,src,"int"); + two(hdr,src,"@Write(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This, const char *const filename", + per.clname, false); + sig(hdr,src); + src(1,"return detail::writeHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Write\", This, filename);"); + src("}"); + + // print + PPP(hdr,src,"Print to standard output, in our prettyprinting format"); + ext(hdr,src,"int"); + two(hdr,src,"@Print(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This", per.clname, false); + sig(hdr,src); + src(1,"return detail::printHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"Print\", This);"); + src("}"); + + // print, XML + PPP(hdr,src,"Print to standard output, as XML"); + ext(hdr,src,"int"); + two(hdr,src,"@PrintXML(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This", per.clname, false); + sig(hdr,src); + src(1,"return detail::printHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"PrintXML\", This, \"XML\");"); + src("}"); + + // print, JSON + PPP(hdr,src,"Print to standard output, as JSON"); + ext(hdr,src,"int"); + two(hdr,src,"@PrintJSON(", per.clname, false); + two(hdr,src,"ConstHandle2Const@ This", per.clname, false); + sig(hdr,src); + src(1,"return detail::printHandle"); + src(2,"(CLASSNAME, CLASSNAME+\"PrintJSON\", This, \"JSON\");"); + src("}"); +} // fileCInterfaceIO + + +// ----------------------------------------------------------------------------- +// C interface: +// fileCInterfaceVector +// ----------------------------------------------------------------------------- + +void fileCInterfaceVector( + writer &hdr, writer &src, + const PerClass &per, const std::string &type, + const bool isSection = true +) { + // section comment + if (isSection) + section(hdr,src,"// Data vector"); + else { + assert(type != ""); + two(hdr,src); + two(hdr,src,smallComment); + two(hdr,src,"// @", type); + two(hdr,src,smallComment); + } + + // dynamic type? + if (type == "") { + // for a C interface, these are probably sufficient + fileCInterfaceVector(hdr,src,per,"int", false); + fileCInterfaceVector(hdr,src,per,"unsigned",false); + fileCInterfaceVector(hdr,src,per,"float", false); + fileCInterfaceVector(hdr,src,per,"double", false); + return; + } + + // Example: + // type: "double" (parameter to the present function) + // Class: "Foobar" (class type; for brevity) + // types: "doubles" + // Types: "Doubles" + const std::string Class = per.clname; + const std::string types = type + 's'; + const std::string Types = capital(type) + 's'; + + PPP(hdr,src,"Clear"); + ext(hdr,src,"void"); + two(hdr,src,"@@Clear(", Class, Types, false); + two(hdr,src,"ConstHandle2@ This", Class, false); + sig(hdr,src); + src(1,"detail::vectorClear"); + src(2,"(CLASSNAME, CLASSNAME+\"@Clear\", This);", Types); + src("}"); + + PPP(hdr,src,"Get size"); + ext(hdr,src,"size_t"); + two(hdr,src,"@@Size(", Class, Types, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); + sig(hdr,src); + src(1,"return detail::vectorSize"); + src(2,"(CLASSNAME, CLASSNAME+\"@Size\", This);", Types); + src("}"); + + PPP(hdr,src,"Get value"); + ppp(hdr,src,"By index \\in [0,size)"); + ext(hdr,src,"@", type); + two(hdr,src,"@@Get(", Class, Types, false); + two(hdr,src,"ConstHandle2Const@ This, const size_t index", Class, false); + sig(hdr,src); + src(1,"return detail::vectorGet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, index);", Types); + src("}"); + + PPP(hdr,src,"Set value"); + ppp(hdr,src,"By index \\in [0,size)"); + ext(hdr,src,"void"); + two(hdr,src,"@@Set(", Class, Types, false); + two(hdr,src,"ConstHandle2@ This, const size_t index, const @ value", + Class, type, false); + sig(hdr,src); + src(1,"detail::vectorSet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, index, value);", Types); + src("}"); + + MMM(hdr,src,"Get pointer to existing values, const"); + ext(hdr,src,"const @ *", type); + two(hdr,src,"@@GetArrayConst(", Class, Types, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); + sig(hdr,src); + src(1,"return detail::vectorGet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@GetArrayConst\", This);", Types); + src("}"); + + PPP(hdr,src,"Get pointer to existing values, non-const"); + ext(hdr,src,"@ *", type); + two(hdr,src,"@@GetArray(", Class, Types, false); + two(hdr,src,"ConstHandle2@ This", Class, false); + sig(hdr,src); + src(1,"return detail::vectorGet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@GetArray\", This);", Types); + src("}"); + + PPP(hdr,src,"Set completely new values and size"); + ext(hdr,src,"void"); + two(hdr,src,"@@SetArray(", Class, Types, false); + two(hdr,src,"ConstHandle2@ This, const @ *const values, const size_t size", + Class, type, false); + sig(hdr,src); + src(1,"return detail::vectorSet", type); + src(2,"(CLASSNAME, CLASSNAME+\"@SetArray\", This, size, values);", Types); + src("}"); +} // fileCInterfaceVector + + +// ----------------------------------------------------------------------------- +// C interface: +// fileCInterfaceMeta +// ----------------------------------------------------------------------------- + +void fileCInterfaceMeta( + writer &hdr, writer &src, + const PerClass &per, const InfoMetadata &m +) { + const std::string Class = per.clname; + const std::string Meta = UpperCamel(m.name); + const std::string meta = m.name; + + // section comment + section(hdr,src,"// Metadatum: @", meta); + + // has + // if (m.isOptional) // <== may or may not want this + { + PPP(hdr,src,"Has"); + ext(hdr,src,"int"); + two(hdr,src,"@@Has(", Class, Meta, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); + sig(hdr,src); + src(1,"return detail::hasField"); + src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Meta, meta); + src("}"); + } + + // get + PPP(hdr,src,"Get"); + ppp(hdr,src,"Returns by value"); + ext(hdr,src,"@", mtype_return(m)); + two(hdr,src,"@@Get(", Class, Meta, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); + sig(hdr,src); + src(1,"return detail::getField"); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Meta, meta); + src("}"); + + // set + PPP(hdr,src,"Set"); + ext(hdr,src,"void"); + two(hdr,src,"@@Set(", Class, Meta, false); + two(hdr,src,"ConstHandle2@ This, const @ @", + Class, mtype_param(m), meta, false); + sig(hdr,src); + src(1,"detail::setField"); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", + Meta, meta, meta); + src("}"); +} + + +// ----------------------------------------------------------------------------- +// C interface: +// fileCInterfaceChild +// ----------------------------------------------------------------------------- + +void fileCInterfaceChild( + writer &hdr, writer &src, + const InfoSpecs &specs, + const PerClass &per, const InfoChildren &c +) { + const std::string Class = per.clname; + const std::string Child = c.plain; + const std::string child = c.name; + + // section comment + section(hdr,src,"// Child: @", child); + + // has + // if (c.isOptional) // <== may or may not want this + { + PPP(hdr,src,"Has"); + ext(hdr,src,"int"); + two(hdr,src,"@@Has(", Class, Child, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); + sig(hdr,src); + src(1,"return detail::hasField"); + src(2,"(CLASSNAME, CLASSNAME+\"@Has\", This, extract::@);", Child, child); + src("}"); + } + + // ------------------------ + // scalar case + // ------------------------ + + if (!c.isVector) { + // get, const + MMM(hdr,src,"Get, const"); + ext(hdr,src,"Handle2Const@", Child); + two(hdr,src,"@@GetConst(", Class, Child, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); + sig(hdr,src); + src(1,"return detail::getField", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@);", + Child, child); + src("}"); + + // get, non-const + PPP(hdr,src,"Get, non-const"); + ext(hdr,src,"Handle2@", Child); + two(hdr,src,"@@Get(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This", Class, false); + sig(hdr,src); + src(1,"return detail::getField", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@);", Child, child); + src("}"); + + // set + PPP(hdr,src,"Set"); + ext(hdr,src,"void"); + two(hdr,src,"@@Set(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This, ConstHandle2Const@ @", + Class, Child, child, false); + sig(hdr,src); + src(1,"detail::setField", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, @);", + Child, child, child); + src("}"); + + return; + } + + // ------------------------ + // vector case + // ------------------------ + + // clear + PPP(hdr,src,"Clear"); + ext(hdr,src,"void"); + two(hdr,src,"@@Clear(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This", Class, false); + sig(hdr,src); + src(1,"detail::clearContainer"); + src(2,"(CLASSNAME, CLASSNAME+\"@Clear\", This, extract::@);", Child, child); + src("}"); + + // size + PPP(hdr,src,"Size"); + ext(hdr,src,"size_t"); + two(hdr,src,"@@Size(", Class, Child, false); + two(hdr,src,"ConstHandle2Const@ This", Class, false); + sig(hdr,src); + src(1,"return detail::sizeOfContainer"); + src(2,"(CLASSNAME, CLASSNAME+\"@Size\", This, extract::@);", Child, child); + src("}"); + + // add + PPP(hdr,src,"Add"); + ext(hdr,src,"void"); + two(hdr,src,"@@Add(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This, ", Class, false); + two(hdr,src,"ConstHandle2Const@ @", Child, child, false); + sig(hdr,src); + src(1,"detail::addToContainer", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Add\", This, extract::@, @);", + Child, child, child); + src("}"); + + // get, by index, const + MMM(hdr,src,"Get, by index \\in [0,size), const"); + ext(hdr,src,"Handle2Const@", Child); + two(hdr,src,"@@GetConst(", Class, Child, false); + two(hdr,src,"ConstHandle2Const@ This, ", Class, false); + two(hdr,src,"const size_t index_", false); + sig(hdr,src); + src(1,"return detail::getByIndex", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetConst\", This, extract::@, index_);", + Child, child); + src("}"); + + // get, by index, non-const + PPP(hdr,src,"Get, by index \\in [0,size), non-const"); + ext(hdr,src,"Handle2@", Child); + two(hdr,src,"@@Get(", Class, Child, false); + two(hdr,src,"ConstHandle2@ This, ", Class, false); + two(hdr,src,"const size_t index_", false); + sig(hdr,src); + src(1,"return detail::getByIndex", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Get\", This, extract::@, index_);", + Child, child); + src("}"); + + // set, by index + PPP(hdr,src,"Set, by index \\in [0,size)"); + ext(hdr,src,"void"); + two(hdr,src,"@@Set(", Class, Child, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2@ This,", Class); + two(hdr,src,1,"const size_t index_,"); + two(hdr,src,1,"ConstHandle2Const@ @", Child, child); + sig(hdr,src,true); + src(1,"detail::setByIndex", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@Set\", This, extract::@, index_, @);", + Child, child, child); + src("}"); + + const auto it = specs.class2data.find(NamespaceAndClass(c.ns,c.plain)); + assert(it != specs.class2data.end()); + + for (const auto &m : it->second.metadata) { + const std::string Meta = UpperCamel(m.name); + const std::string meta = m.name; + + // has, by metadatum + PPP(hdr,src,"Has, by @", meta); + ext(hdr,src,"int"); + two(hdr,src,"@@HasBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2Const@ This,", Class); + two(hdr,src,1,"const @ @", mtype_param(m), meta); + sig(hdr,src,true); + src(1,"return detail::hasByMetadatum"); + src(2,"(CLASSNAME, CLASSNAME+\"@HasBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + src("}"); + + // get, by metadatum, const + MMM(hdr,src,"Get, by @, const", meta); + ext(hdr,src,"Handle2Const@", Child); + two(hdr,src,"@@GetBy@Const(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2Const@ This,", Class); + two(hdr,src,1,"const @ @", mtype_param(m), meta); + sig(hdr,src,true); + src(1,"return detail::getByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@Const\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + src("}"); + + // get, by metadatum, non-const + PPP(hdr,src,"Get, by @, non-const", meta); + ext(hdr,src,"Handle2@", Child); + two(hdr,src,"@@GetBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2@ This,", Class); + two(hdr,src,1,"const @ @", mtype_param(m), meta); + sig(hdr,src,true); + src(1,"return detail::getByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@GetBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @);", child, meta, meta); + src("}"); + + // set, by metadatum + PPP(hdr,src,"Set, by @", meta); + ext(hdr,src,"void"); + two(hdr,src,"@@SetBy@(", Class, Child, Meta, false); + two(hdr,src); + two(hdr,src,1,"ConstHandle2@ This,", Class); + two(hdr,src,1,"const @ @,", mtype_param(m), meta); + two(hdr,src,1,"ConstHandle2Const@ @", Child, child); + sig(hdr,src,true); + src(1,"detail::setByMetadatum", Child); + src(2,"(CLASSNAME, CLASSNAME+\"@SetBy@\",", Child, Meta); + src(2," This, extract::@, meta::@, @, @);", child, meta, meta, child); + src("}"); + } // metadata +} // fileCInterfaceChild + + +// ----------------------------------------------------------------------------- +// For the C interface +// fileCInterfaceHeader +// fileCInterfaceSource +// fileCInterfaceCommon +// fileCInterface +// ----------------------------------------------------------------------------- + +// ------------------------ +// fileCInterfaceHeader +// ------------------------ + +void fileCInterfaceHeader( + writer &hdr, const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { + // Initial remarks + hdr(); + hdr("// Interface for C"); + hdr("// This header file is designed to work with both C and C++"); + hdr("// Function definitions are in this file's .cpp source"); + hdr(); + + // Instructions + hdr(largeComment); + hdr(largeComment); + hdr("// Instructions for Users"); + hdr("//"); + hdr("// Constructs you're MORE likely to care about are preceded with:"); + hdr("// // +++ comment"); + hdr("// Constructs you're LESS likely to care about are preceded with:"); + hdr("// // --- comment"); + hdr("// Anything not marked as above can be ignored by most users."); + hdr("//"); + hdr("// @ is the basic handle type in this file. Example:", per.clname); + hdr("// // Create a default @ object:", per.clname); + hdr("// @ handle = @Default();", per.clname, per.clname); + hdr("// Functions involving @ are declared throughout this file.", + per.clname); + hdr(largeComment); + hdr(largeComment); + + // Preliminaries + section(hdr, "// Preliminaries"); + const std::string guard = + allcaps(specs.Project) + "_" + + allcaps(specs.VersionUnderscore) + "_" + + allcaps(per.nsname) + "_" + + allcaps(per.clname); + + hdr(); + hdr("#ifndef C_INTERFACE_@", guard); + hdr("#define C_INTERFACE_@", guard); + hdr(); + hdr("#include \"GNDStk.h\""); + for (const auto &dep : c2d.dependencies) + hdr("#include \"@/@/@.h\"", specs.Version, dep.nsname, dep.clname); + hdr(); + hdr("#ifdef __cplusplus"); + hdr(1,"#define extern_c extern \"C\""); + hdr("#else"); + hdr(1,"#define extern_c"); + hdr("#endif"); + hdr(); + hdr("// Proxy C struct for the handled C++ class"); + hdr("struct @Class { };", per.clname); + + // Handle types + section(hdr, "// Handle types"); + hdr(); + hdr("// +++ @", per.clname); + hdr("// +++ General handle, suitable for most users. " + "If you're not concerned about"); + hdr("// +++ strict \"const correctness\" in your C code, " + "you can probably use this in"); + hdr("// +++ place of any function parameter of a const-aware handle type."); + hdr("typedef struct @Class *@;", per.clname, per.clname); + hdr(); + hdr("// --- Const-aware handles."); + hdr("typedef const struct @Class *const ConstHandle2Const@;", + per.clname, per.clname); + hdr("typedef struct @Class *const ConstHandle2@;", + per.clname, per.clname); + hdr("typedef const struct @Class * Handle2Const@;", + per.clname, per.clname); + hdr("typedef struct @Class * Handle2@;", + per.clname, per.clname); +} // fileCInterfaceHeader + + +// ------------------------ +// fileCInterfaceSource +// ------------------------ + +void fileCInterfaceSource( + writer &src, const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { + // includes + src(); + src("#include \"@/@/@/@.hpp\"", + specs.Project, specs.VersionUnderscore, per.nsname, per.clname); + src("#include \"@.h\"", per.clname); + src(); + + // using namespace + src("using namespace njoy::GNDStk;"); + src("using namespace @::@;", specs.Project, specs.VersionUnderscore); + src(); + + // using + src("using C = @Class;", per.clname); + src("using CPP = multigroup::@;", per.clname); + src(); + + // class name + src("static const std::string CLASSNAME = \"@\";", per.clname); + + // extract: namespace begin + if (per.nfields()) { + src(); + src("namespace extract {"); + } + + // extract: metadata + for (const auto &m : per.metadata) + src(1,"static auto @ = [](auto &obj) { return &obj.@; };", + m.name, m.name); + + // extract: children + for (const auto &c : per.children) + src(1,"static auto @ = [](auto &obj) { return &obj.@; };", + c.name, c.name); + + // extract: variants + // todo Determine how the C interface should deal with C++ variants + + // extract: namespace end + if (per.nfields()) src("}"); + + if (c2d.dependencies.size()) + src(); + for (const auto &dep : c2d.dependencies) + src("using CPP@ = @::@;", dep.clname, dep.nsname, dep.clname); +} // fileCInterfaceSource + + +// ------------------------ +// fileCInterfaceCommon +// ------------------------ + +void fileCInterfaceCommon( + writer &hdr, writer &src, + const InfoSpecs &specs, + const PerClass &per, const Class2Dependencies &c2d +) { + // Basics: create, assign, delete + fileCInterfaceBasics(hdr,src, per); + + // IO: read, write, print + fileCInterfaceIO(hdr,src, per); + + // Array support, if BlockData + if (per.isData) + fileCInterfaceVector(hdr,src, per, per.dataType); + + // Functions regarding metadata + for (const auto &m : per.metadata) + fileCInterfaceMeta(hdr,src, per, m); + + // Functions regarding children + for (const auto &c : per.children) + fileCInterfaceChild(hdr,src, specs, per, c); + + // variants + // todo +} // fileCInterfaceCommon + + +// ------------------------ +// fileCInterface +// ------------------------ + +void fileCInterface( + const InfoSpecs &specs, const PerClass &per, const Class2Dependencies &c2d +) { + // header beginning + writer hdr(per.headerC); + fileCInterfaceHeader(hdr, specs, per, c2d); + + // source beginning + writer src(per.sourceC); + fileCInterfaceSource(src, specs, per, c2d); + + // common or partially common to both header and source + fileCInterfaceCommon(hdr,src, specs, per, c2d); + + // header: ending + section(hdr, "// Done"); + hdr(); + hdr("#undef extern_c"); + hdr("#endif"); +} // fileCInterface + + +// ----------------------------------------------------------------------------- +// Python: +// filePythonNamespace +// filePythonClass +// ----------------------------------------------------------------------------- + +// ------------------------ // filePythonNamespace +// ------------------------ + void filePythonNamespace(const InfoSpecs &specs, const PerNamespace &per) { writer out(per.cppPython); @@ -2111,7 +2968,10 @@ void filePythonNamespace(const InfoSpecs &specs, const PerNamespace &per) out(1,"// create the @ submodule", per.nsname); out(1,"python::module submodule = module.def_submodule("); out(2,"\"@\",", per.nsname); - out(2,"\"GNDS @ @\"", specs.Version, per.nsname); + if (specs.Project == "GNDStk") + out(2,"\"GNDS @ @\"", specs.Version, per.nsname); // "GNDS", not "GNDStk" + else + out(2,"\"@ @ @\"", specs.Project, specs.Version, per.nsname); out(1,");"); out(); @@ -2125,7 +2985,10 @@ void filePythonNamespace(const InfoSpecs &specs, const PerNamespace &per) } // filePythonNamespace +// ------------------------ // filePythonClass +// ------------------------ + void filePythonClass(const InfoSpecs &specs, const PerClass &per) { const std::string &nsname = per.nsname; @@ -2200,7 +3063,8 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) out(); out("// local includes"); - out("#include \"GNDStk/@/@/@.hpp\"", specs.Version, nsname, clname); + out("#include \"@/@/@/@.hpp\"", + specs.Project, specs.Version, nsname, clname); out("#include \"definitions.hpp\""); out(); @@ -2215,8 +3079,10 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) out("// @ wrapper", clname); out("void wrap@(python::module &module)", clname); out("{"); - out(1,"using namespace njoy::GNDStk;"); - out(1,"using namespace njoy::GNDStk::@;", specs.VersionUnderscore); + const std::string prefix = specs.Project == "GNDStk" ? "njoy::" : ""; + out(1,"using namespace @@;", prefix, specs.Project); + out(1,"using namespace @@::@;", + prefix, specs.Project, specs.VersionUnderscore); out(); out(1,"// type aliases"); out(1,"using Component = @::@;", nsname, clname); @@ -2224,9 +3090,10 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) // using [variant name] = std::variant..., if necessary for (const auto &v : per.variants) { out(1,"using @ = std::variant<", v.type); - int count = 0, total = v.children.size(); + int count = 0; + const int total = v.children.size(); for (const auto &c : v.children) - out(2, "@@", c.type, ++count == total ? "" : ","); + out(2, "@@", c.type, sep(count,total)); out(1,">;"); } @@ -2244,15 +3111,16 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) // python::init<...> for attributes and children out(2,".def("); out(3,"python::init<"); - int count = 0, total = per.nfields(); + int count = 0; + const int total = per.nfields(); for (auto &m : per.metadata) out(4,"const @ &@", m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull, - ++count < total ? "," : ""); + sep(count,total)); for (auto &c : per.children) - out(4,"const @ &@", c.typeFull, ++count < total ? "," : ""); + out(4,"const @ &@", c.typeFull, sep(count,total)); for (auto &v : per.variants) - out(4,"const @ &@", v.typeFull, ++count < total ? "," : ""); + out(4,"const @ &@", v.typeFull, sep(count,total)); out(3,">(),"); for (auto &m : per.metadata) out(3,"python::arg(\"@\")@,", @@ -2285,7 +3153,7 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) m.isDefaulted ? out(3,"[](const Component &self) { return self.@().value(); },", m.name) - : out(3,"&Component::@,", + : out(3,"[](const Component &self) { return self.@(); },", m.name); out(3,"Component::documentation(\"@\").data()", pyname); out(2,")"); @@ -2295,7 +3163,7 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) const auto pyname = namePython(c.name); out(2,".def_property_readonly("); out(3,"\"@\",", pyname); - out(3,"python::overload_cast<>(&Component::@),", c.name); + out(3,"[](const Component &self) { return self.@(); },", c.name); out(3,"Component::documentation(\"@\").data()", pyname); out(2,")"); } @@ -2306,14 +3174,14 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) const auto pyname = namePython(c.name); out(2,".def_property_readonly("); out(3,"\"@\",", pyname); - out(3,"python::overload_cast<>(&Component::@),", c.name); + out(3,"[](const Component &self) { return self.@(); },", c.name); out(3,"Component::documentation(\"@\").data()", pyname); out(2,")"); } const auto pyname = namePython(v.name); out(2,".def_property_readonly("); out(3,"\"@\",", pyname); - out(3,"python::overload_cast<>(&Component::@),", v.name); + out(3,"[](const Component &self) { return self.@(); },", v.name); out(3,"Component::documentation(\"@\").data()", pyname); out(2,")"); } @@ -2321,7 +3189,8 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) for ( const auto& dataTypeName : dataTypesNames ) { out(2,".def_property_readonly("); out(3,"\"@\",", dataTypeName.second); - out(3,"[] (const Component &self) { return self.@(); },", dataTypeName.second); + out(3,"[] (const Component &self) { return self.@(); },", + dataTypeName.second); out(3,"Component::documentation(\"@\").data()", dataTypeName.second); out(2,")"); } @@ -2338,7 +3207,6 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) } // filePythonClass - // ----------------------------------------------------------------------------- // main // ----------------------------------------------------------------------------- @@ -2368,11 +3236,15 @@ int main(const int argc, const char *const *const argv) // GNDStk hpp file for Meta and Child keys fileGNDStkKey(specs); - // GNDStk hpp file for each namespace::class + // GNDStk hpp file, as well as header and source files for the C interface, + // for each namespace::class for (const auto &obj : specs.ClassDependenciesSorted) { auto find = specs.class2data.find(obj.theClass); assert(find != specs.class2data.end()); + // C++ header fileGNDStkClass(specs, find->second, obj); + // C interface: header and source + fileCInterface(specs, find->second, obj); } // Python cpp file for each namespace diff --git a/standards/gnds-2.0/gnds-2.0.json b/standards/gnds-2.0/gnds-2.0.json index 6e0239120..d776bbb89 100644 --- a/standards/gnds-2.0/gnds-2.0.json +++ b/standards/gnds-2.0/gnds-2.0.json @@ -1,4 +1,8 @@ { + "Path": ".", + "Project": "try", + "Version": "v2.0", + "JSONDir": ".", "JSONFiles": [ "summary_abstract.json", @@ -20,7 +24,5 @@ "summary_tsl.json" ], - "GNDSDir": "../../", - "Version": "v2.0", "Changes": "changes.json" } From af2dbcd7143cb16c1d2201d19eef8b49da70c35a Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 22 Aug 2022 17:30:49 -0600 Subject: [PATCH 157/235] Running emacs indent-region on some files. For consistent indentation. --- autogen/changes.json | 2 +- standards/gnds-2.0/changes.json | 332 +++++++++++++++---------------- standards/gnds-2.0/gnds-2.0.json | 48 ++--- 3 files changed, 191 insertions(+), 191 deletions(-) diff --git a/autogen/changes.json b/autogen/changes.json index 77733b650..a895b0e3a 100644 --- a/autogen/changes.json +++ b/autogen/changes.json @@ -39,7 +39,7 @@ "nuclear": "enums::Interaction::nuclear", "atomic": "enums::Interaction::atomic", "thermalNeutronScatteringLaw": - "enums::Interaction::thermalNeutronScatteringLaw", + "enums::Interaction::thermalNeutronScatteringLaw", "// INTERPOLATION": {}, "flat": "enums::Interpolation::flat", diff --git a/standards/gnds-2.0/changes.json b/standards/gnds-2.0/changes.json index 721cc5dcd..ab151428f 100644 --- a/standards/gnds-2.0/changes.json +++ b/standards/gnds-2.0/changes.json @@ -1,171 +1,171 @@ { - "// changes to node names" : "", - "name" : { - - "// purpose: changing names of nodes" : "", - "double" : "Double" - }, - - "// changes in node metadata/attributes: type, default values, etc." : "", - "metadata" : { - - "// converting the type given in the json specs to a known GNDStk type" : "", - "type" : { - - "// json spec corrections" : "", - "bodyText" : "std::string", - "attributeValue": "std::string", - "date": "std::string", - "Boolean": "bool", - - "// enumerator types" : "", - "dateType" : "enums::DateType", - "contributorType" : "enums::ContributorType", - "relationType" : "enums::RelationType", - "parity" : "enums::Parity", - "frame" : "enums::Frame", - "interpolation" : "enums::Interpolation", - "interpolationQualifier" : "enums::InterpolationQualifier", - "hashAlgorithm" : "enums::HashAlgorithm", - "decayType" : "enums::DecayType", - "gridStyle" : "enums::GridStyle", - "boundaryCondition" : "enums::BoundaryCondition", - "interaction" : "enums::Interaction" + "// changes to node names" : "", + "name" : { + + "// purpose: changing names of nodes" : "", + "double" : "Double" }, - "// converting the default given in the json specs to a GNDStk value" : "", - "default" : { - - "// json spec corrections" : "", - "\\\\attr{lin-lin}" : "enums::Interpolation::linlin", - - "// dateType" : "", - "accepted" : "enums::DateType::accepted", - "available" : "enums::DateType::available", - "copyrighted" : "enums::DateType::copyrighted", - "collected" : "enums::DateType::collected", - "created" : "enums::DateType::created", - "issued" : "enums::DateType::issued", - "submitted" : "enums::DateType::submitted", - "updated" : "enums::DateType::updated", - "valid" : "enums::DateType::valid", - "withdrawn" : "enums::DateType::withdrawn", - - "// contributorType" : "", - "ContactPerson" : "enums::ContributorType::ContactPerson", - "DataCollector" : "enums::ContributorType::DataCollector", - "DataCurator" : "enums::ContributorType::DataCurator", - "DataManager" : "enums::ContributorType::DataManager", - "Distributor" : "enums::ContributorType::Distributor", - "Editor" : "enums::ContributorType::Editor", - "HostingInstitution" : "enums::ContributorType::HostingInstitution", - "Producer" : "enums::ContributorType::Producer", - "ProjectLeader" : "enums::ContributorType::ProjectLeader", - "ProjectManager" : "enums::ContributorType::ProjectManager", - "ProjectMember" : "enums::ContributorType::ProjectMember", - "RegistrationAgency" : "enums::ContributorType::RegistrationAgency", - "RegistrationAuthority" : "enums::ContributorType::RegistrationAuthority", - "RelatedPerson" : "enums::ContributorType::RelatedPerson", - "Researcher" : "enums::ContributorType::Researcher", - "ResearchGroup" : "enums::ContributorType::ResearchGroup", - "RightsHolder" : "enums::ContributorType::RightsHolder", - "Sponsor" : "enums::ContributorType::Sponsor", - "Supervisor" : "enums::ContributorType::Supervisor", - "WorkPackageLeader" : "enums::ContributorType::WorkPackageLeader", - "Other" : "enums::ContributorType::Other", - - "// relationType" : "", - "IsCitedBy" : "enums::RelationType::IsCitedBy", - "Cites" : "enums::RelationType::Cites", - "IsSupplementTo" : "enums::RelationType::IsSupplementTo", - "IsSupplementedBy" : "enums::RelationType::IsSupplementedBy", - "IsContinuedBy" : "enums::RelationType::IsContinuedBy", - "Continues" : "enums::RelationType::Continues", - "Describes" : "enums::RelationType::Describes", - "IsDescribedBy" : "enums::RelationType::IsDescribedBy", - "HasMetadata" : "enums::RelationType::HasMetadata", - "IsMetadataFor" : "enums::RelationType::IsMetadataFor", - "HasVersion" : "enums::RelationType::HasVersion", - "IsVersionOf" : "enums::RelationType::IsVersionOf", - "IsNewVersionOf" : "enums::RelationType::IsNewVersionOf", - "IsPreviousVersionOf" : "enums::RelationType::IsPreviousVersionOf", - "IsPartOf" : "enums::RelationType::IsPartOf", - "HasPart" : "enums::RelationType::HasPart", - "IsPublishedIn" : "enums::RelationType::IsPublishedIn", - "IsReferencedBy" : "enums::RelationType::IsReferencedBy", - "References" : "enums::RelationType::References", - "IsDocumentedBy" : "enums::RelationType::IsDocumentedBy", - "Documents" : "enums::RelationType::Documents", - "IsCompiledBy" : "enums::RelationType::IsCompiledBy", - "Complies" : "enums::RelationType::Complies", - "IsVariantFormOf" : "enums::RelationType::IsVariantFormOf", - "IsOriginalFormOf" : "enums::RelationType::IsOriginalFormOf", - "IsIdenticalTo" : "enums::RelationType::IsIdenticalTo", - "IsReviewedBy" : "enums::RelationType::IsReviewedBy", - "Reviews" : "enums::RelationType::Reviews", - "IsDerivedFrom" : "enums::RelationType::IsDerivedFrom", - "IsSourceOf" : "enums::RelationType::IsSourceOf", - "IsRequiredBy" : "enums::RelationType::IsRequiredBy", - "Requires" : "enums::RelationType::Requires", - "Obsoletes" : "enums::RelationType::Obsoletes", - "IsObsoletedBy" : "enums::RelationType::IsObsoletedBy", - - "// parity" : "", - "-1" : "enums::Parity::minus", - "+1" : "enums::Parity::plus", - - "// frame" : "", - "lab" : "enums::Frame::lab", - "centerOfMass" : "enums::Frame::centerOfMass", - - "// interpolation" : "", - "flat" : "enums::Interpolation::flat", - "charged-particle" : "enums::Interpolation::chargedparticle", - "lin-lin" : "enums::Interpolation::linlin", - "lin-log" : "enums::Interpolation::linlog", - "log-lin" : "enums::Interpolation::loglin", - "log-log" : "enums::Interpolation::loglog", - - "// interpolationQualifier" : "", - "direct" : "enums::InterpolationQualifier::direct", - "unitBase" : "enums::InterpolationQualifier::unitBase", - "correspondingEnergies" : "enums::InterpolationQualifier::correspondingEnergies", - "correspondingPoints" : "enums::InterpolationQualifier::correspondingPoints", - - "// hashAlgorithm" : "", - "md5" : "enums::HashAlgorithm::md5", - "sha1" : "enums::HashAlgorithm::sha1", - - "// decayType" : "", - "SF" : "enums::DecayType::SpontaneousFission", - "beta-" : "enums::DecayType::BetaMinus", - "beta+" : "enums::DecayType::BetaPlus", - "EC" : "enums::DecayType::ElectronCapture", - "electroMagnetic" : "enums::DecayType::ElectroMagnetic", - "IT" : "enums::DecayType::IsomericTransition", - "n" : "enums::DecayType::Neutron", - "p" : "enums::DecayType::Proton", - "d" : "enums::DecayType::Deuteron", - "t" : "enums::DecayType::Triton", - "alpha" : "enums::DecayType::Alpha", - "atomicRelaxation" : "enums::DecayType::AtomicRelaxation", - - "// grid style" : "", - "none" : "enums::GridStyle::none", - "points" : "enums::GridStyle::points", - "boundaries" : "enums::GridStyle::boundaries", - "parameters" : "enums::GridStyle::parameters", - - "// grid style" : "", - "EliminateShiftFunction" : "enums::BoundaryCondition::EliminateShiftFunction", - "NegativeOrbitalMomentum" : "enums::BoundaryCondition::NegativeOrbitalMomentum", - "Brune" : "enums::BoundaryCondition::Brune", - "Given" : "enums::BoundaryCondition::Given", - - "// interaction" : "", - "nuclear" : "enums::Interaction::nuclear", - "atomic" : "enums::Interaction::atomic", - "thermalNeutronScatteringLaw" : "enums::Interaction::thermalNeutronScatteringLaw" + "// changes in node metadata/attributes: type, default values, etc." : "", + "metadata" : { + + "// converting the type given in the json specs to a known GNDStk type" : "", + "type" : { + + "// json spec corrections" : "", + "bodyText" : "std::string", + "attributeValue": "std::string", + "date": "std::string", + "Boolean": "bool", + + "// enumerator types" : "", + "dateType" : "enums::DateType", + "contributorType" : "enums::ContributorType", + "relationType" : "enums::RelationType", + "parity" : "enums::Parity", + "frame" : "enums::Frame", + "interpolation" : "enums::Interpolation", + "interpolationQualifier" : "enums::InterpolationQualifier", + "hashAlgorithm" : "enums::HashAlgorithm", + "decayType" : "enums::DecayType", + "gridStyle" : "enums::GridStyle", + "boundaryCondition" : "enums::BoundaryCondition", + "interaction" : "enums::Interaction" + }, + + "// converting the default given in the json specs to a GNDStk value" : "", + "default" : { + + "// json spec corrections" : "", + "\\\\attr{lin-lin}" : "enums::Interpolation::linlin", + + "// dateType" : "", + "accepted" : "enums::DateType::accepted", + "available" : "enums::DateType::available", + "copyrighted" : "enums::DateType::copyrighted", + "collected" : "enums::DateType::collected", + "created" : "enums::DateType::created", + "issued" : "enums::DateType::issued", + "submitted" : "enums::DateType::submitted", + "updated" : "enums::DateType::updated", + "valid" : "enums::DateType::valid", + "withdrawn" : "enums::DateType::withdrawn", + + "// contributorType" : "", + "ContactPerson" : "enums::ContributorType::ContactPerson", + "DataCollector" : "enums::ContributorType::DataCollector", + "DataCurator" : "enums::ContributorType::DataCurator", + "DataManager" : "enums::ContributorType::DataManager", + "Distributor" : "enums::ContributorType::Distributor", + "Editor" : "enums::ContributorType::Editor", + "HostingInstitution" : "enums::ContributorType::HostingInstitution", + "Producer" : "enums::ContributorType::Producer", + "ProjectLeader" : "enums::ContributorType::ProjectLeader", + "ProjectManager" : "enums::ContributorType::ProjectManager", + "ProjectMember" : "enums::ContributorType::ProjectMember", + "RegistrationAgency" : "enums::ContributorType::RegistrationAgency", + "RegistrationAuthority" : "enums::ContributorType::RegistrationAuthority", + "RelatedPerson" : "enums::ContributorType::RelatedPerson", + "Researcher" : "enums::ContributorType::Researcher", + "ResearchGroup" : "enums::ContributorType::ResearchGroup", + "RightsHolder" : "enums::ContributorType::RightsHolder", + "Sponsor" : "enums::ContributorType::Sponsor", + "Supervisor" : "enums::ContributorType::Supervisor", + "WorkPackageLeader" : "enums::ContributorType::WorkPackageLeader", + "Other" : "enums::ContributorType::Other", + + "// relationType" : "", + "IsCitedBy" : "enums::RelationType::IsCitedBy", + "Cites" : "enums::RelationType::Cites", + "IsSupplementTo" : "enums::RelationType::IsSupplementTo", + "IsSupplementedBy" : "enums::RelationType::IsSupplementedBy", + "IsContinuedBy" : "enums::RelationType::IsContinuedBy", + "Continues" : "enums::RelationType::Continues", + "Describes" : "enums::RelationType::Describes", + "IsDescribedBy" : "enums::RelationType::IsDescribedBy", + "HasMetadata" : "enums::RelationType::HasMetadata", + "IsMetadataFor" : "enums::RelationType::IsMetadataFor", + "HasVersion" : "enums::RelationType::HasVersion", + "IsVersionOf" : "enums::RelationType::IsVersionOf", + "IsNewVersionOf" : "enums::RelationType::IsNewVersionOf", + "IsPreviousVersionOf" : "enums::RelationType::IsPreviousVersionOf", + "IsPartOf" : "enums::RelationType::IsPartOf", + "HasPart" : "enums::RelationType::HasPart", + "IsPublishedIn" : "enums::RelationType::IsPublishedIn", + "IsReferencedBy" : "enums::RelationType::IsReferencedBy", + "References" : "enums::RelationType::References", + "IsDocumentedBy" : "enums::RelationType::IsDocumentedBy", + "Documents" : "enums::RelationType::Documents", + "IsCompiledBy" : "enums::RelationType::IsCompiledBy", + "Complies" : "enums::RelationType::Complies", + "IsVariantFormOf" : "enums::RelationType::IsVariantFormOf", + "IsOriginalFormOf" : "enums::RelationType::IsOriginalFormOf", + "IsIdenticalTo" : "enums::RelationType::IsIdenticalTo", + "IsReviewedBy" : "enums::RelationType::IsReviewedBy", + "Reviews" : "enums::RelationType::Reviews", + "IsDerivedFrom" : "enums::RelationType::IsDerivedFrom", + "IsSourceOf" : "enums::RelationType::IsSourceOf", + "IsRequiredBy" : "enums::RelationType::IsRequiredBy", + "Requires" : "enums::RelationType::Requires", + "Obsoletes" : "enums::RelationType::Obsoletes", + "IsObsoletedBy" : "enums::RelationType::IsObsoletedBy", + + "// parity" : "", + "-1" : "enums::Parity::minus", + "+1" : "enums::Parity::plus", + + "// frame" : "", + "lab" : "enums::Frame::lab", + "centerOfMass" : "enums::Frame::centerOfMass", + + "// interpolation" : "", + "flat" : "enums::Interpolation::flat", + "charged-particle" : "enums::Interpolation::chargedparticle", + "lin-lin" : "enums::Interpolation::linlin", + "lin-log" : "enums::Interpolation::linlog", + "log-lin" : "enums::Interpolation::loglin", + "log-log" : "enums::Interpolation::loglog", + + "// interpolationQualifier" : "", + "direct" : "enums::InterpolationQualifier::direct", + "unitBase" : "enums::InterpolationQualifier::unitBase", + "correspondingEnergies" : "enums::InterpolationQualifier::correspondingEnergies", + "correspondingPoints" : "enums::InterpolationQualifier::correspondingPoints", + + "// hashAlgorithm" : "", + "md5" : "enums::HashAlgorithm::md5", + "sha1" : "enums::HashAlgorithm::sha1", + + "// decayType" : "", + "SF" : "enums::DecayType::SpontaneousFission", + "beta-" : "enums::DecayType::BetaMinus", + "beta+" : "enums::DecayType::BetaPlus", + "EC" : "enums::DecayType::ElectronCapture", + "electroMagnetic" : "enums::DecayType::ElectroMagnetic", + "IT" : "enums::DecayType::IsomericTransition", + "n" : "enums::DecayType::Neutron", + "p" : "enums::DecayType::Proton", + "d" : "enums::DecayType::Deuteron", + "t" : "enums::DecayType::Triton", + "alpha" : "enums::DecayType::Alpha", + "atomicRelaxation" : "enums::DecayType::AtomicRelaxation", + + "// grid style" : "", + "none" : "enums::GridStyle::none", + "points" : "enums::GridStyle::points", + "boundaries" : "enums::GridStyle::boundaries", + "parameters" : "enums::GridStyle::parameters", + + "// grid style" : "", + "EliminateShiftFunction" : "enums::BoundaryCondition::EliminateShiftFunction", + "NegativeOrbitalMomentum" : "enums::BoundaryCondition::NegativeOrbitalMomentum", + "Brune" : "enums::BoundaryCondition::Brune", + "Given" : "enums::BoundaryCondition::Given", + + "// interaction" : "", + "nuclear" : "enums::Interaction::nuclear", + "atomic" : "enums::Interaction::atomic", + "thermalNeutronScatteringLaw" : "enums::Interaction::thermalNeutronScatteringLaw" + } } - } } diff --git a/standards/gnds-2.0/gnds-2.0.json b/standards/gnds-2.0/gnds-2.0.json index d776bbb89..326ea9f97 100644 --- a/standards/gnds-2.0/gnds-2.0.json +++ b/standards/gnds-2.0/gnds-2.0.json @@ -1,28 +1,28 @@ { - "Path": ".", - "Project": "try", - "Version": "v2.0", + "Path": ".", + "Project": "try", + "Version": "v2.0", - "JSONDir": ".", - "JSONFiles": [ - "summary_abstract.json", - "summary_appData.json", - "summary_atomic.json", - "summary_common.json", - "summary_gpdc.json", - "summary_covariance.json", - "summary_cpTransport.json", - "summary_documentation.json", - "summary_fissionTransport.json", - "summary_fissionFragmentData.json", - "summary_fpy.json", - "summary_pops.json", - "summary_processed.json", - "summary_resonance.json", - "summary_styles.json", - "summary_transport.json", - "summary_tsl.json" - ], + "JSONDir": ".", + "JSONFiles": [ + "summary_abstract.json", + "summary_appData.json", + "summary_atomic.json", + "summary_common.json", + "summary_gpdc.json", + "summary_covariance.json", + "summary_cpTransport.json", + "summary_documentation.json", + "summary_fissionTransport.json", + "summary_fissionFragmentData.json", + "summary_fpy.json", + "summary_pops.json", + "summary_processed.json", + "summary_resonance.json", + "summary_styles.json", + "summary_transport.json", + "summary_tsl.json" + ], - "Changes": "changes.json" + "Changes": "changes.json" } From 51f38d2979d23c7c46ca2b663886090ea185eb9b Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 23 Aug 2022 15:05:53 -0600 Subject: [PATCH 158/235] Gradually working through the .json spec files. Accounting for both Wim's changes and the current (2022-aug-23) master branch at git.oecd-nea.org I'm putting back in the nodes that create "circularity" issues, so that I can identify precisely where it happens, and fix it properly. This is all currently a work in progress! --- standards/gnds-2.0/gnds-2.0.json | 16 ++++++++++- standards/gnds-2.0/summary_basic.json | 28 +++++++++++-------- standards/gnds-2.0/summary_cpTransport.json | 2 +- .../gnds-2.0/summary_fissionTransport.json | 11 ++++++++ standards/gnds-2.0/summary_fpy.json | 7 +++++ standards/gnds-2.0/summary_mapfile.json | 2 +- standards/gnds-2.0/summary_processed.json | 14 ++++++++++ 7 files changed, 65 insertions(+), 15 deletions(-) diff --git a/standards/gnds-2.0/gnds-2.0.json b/standards/gnds-2.0/gnds-2.0.json index 326ea9f97..ac9e19b2a 100644 --- a/standards/gnds-2.0/gnds-2.0.json +++ b/standards/gnds-2.0/gnds-2.0.json @@ -5,7 +5,17 @@ "JSONDir": ".", "JSONFiles": [ - "summary_abstract.json", + "summary_appData.json", + "summary_atomic.json", + "summary_covariance.json", + "summary_fissionFragmentData.json", + "summary_mapfile.json", + "summary_cpTransport.json", + "summary_fpy.json", + "summary_fissionTransport.json", + "summary_processed.json" + ], + "JSONFiles todo we're working though these...": [ "summary_appData.json", "summary_atomic.json", "summary_common.json", @@ -23,6 +33,10 @@ "summary_transport.json", "summary_tsl.json" ], + "Remark: the following should NOT be part of the code generation!": [ + "summary_abstract.json", + "summary_basic.json" + ], "Changes": "changes.json" } diff --git a/standards/gnds-2.0/summary_basic.json b/standards/gnds-2.0/summary_basic.json index 37eb619d4..19a9aa0a5 100644 --- a/standards/gnds-2.0/summary_basic.json +++ b/standards/gnds-2.0/summary_basic.json @@ -96,19 +96,23 @@ "__class__": "nodes.ElementaryTypeNode", "description": "This is text node composed of a comma-delimited list of integers. It is used to denote starting indices within an array. The integer type is Integer32.", "name": "IntegerTuple", - "allowedValueDescription": "Any integer (0-9), the comma `,', and any printable whitespace character.\n\n \\noindent For example, the array index [3][4][7] can be represented as the IntegerTuple `3, 4, 7'."}, + "allowedValueDescription": [ + "A list of Integer32 values separated by a comma (i.e., ‘,’). ", + "Any number of printable white spaces are allow before and after each Integrer32 value.", + "\n\n \\noindent For example, the array index [3][4][7] can be represented as the IntegerTuple `3, 4, 7'."] + }, "Integer32": { "__class__": "nodes.ElementaryTypeNode", "description": [ - "This represents the allowed set and sequence of characters, and values that are allowed for a ", + "\\texttt{Integer32} represents the allowed set and sequence of characters, and values that are allowed for a ", "32-bit signed integer."], "name": "Integer32", "allowedValueDescription": [ "Any integer in the range [ $-2^{31}$ to $2^{31}$ ) --", "note that the lower limit is inclusive and the upper limit is exclusive. The minimum allowed", - "value (i.e. $-2^{31}$ = -2147483648) is defined to be \\textbf{Integer32$\\_$Min} and the maximum allowed", - "value (i.e. $2^{31}$ - 1 = 2147483647) is defined to be \\textbf{Integer32$\\_$Max}.", + "value (i.e. $-2^{31} = -2147483648$) is defined to be \\textbf{Integer32$\\_$Min} and the maximum allowed", + "value (i.e. $2^{31} - 1 = 2147483647$) is defined to be \\textbf{Integer32$\\_$Max}.", "The Python regular expression (see Section~\\ref{sec:pres}) for an \\textbf{Integer32} shall be", "\\begin{verbatim}", "`[+-]?([1-9][0-9]*|0+)'", @@ -123,7 +127,7 @@ "name": "UInteger32", "allowedValueDescription": ["Any integer in the range [ 0 to $2^{32}$ ).", "An unsigned integer is represented in the", - "same way as a signed integer, with the exception that a minus sign (e.g. `-') is not allowed).", + "same way as a signed integer, with the exception that a minus sign (e.g. `-' is not allowed).", "The minimum allowed value (i.e. 0) is defined to be \\textbf{UInteger32\\_Min} and the maximum allowed", "value (i.e. $2^{32} - 1$) is defined to be \\textbf{UInteger32\\_Max}.", "The Python regular expression (see Section~\\ref{sec:pres}) for an \\textbf{UInteger32} shall be", @@ -185,9 +189,9 @@ "allowedValueDescription": ["One of the following ISO-8061 'extended' formats", "\\vskip 0.1 in", "\\begin{itemize}", - "\\item date only as `YYYY-MM-DD' (e.g., `2015-02-01'),", - "\\item date and time as `YYYY-MM-DDThh:mm:ss' (e.g., '2015-02-01T16:55:18') and", - "\\item date and time with offset from UTC as `YYYY-MM-DDThh:mm:ss$\\pm$hh:mm' (e.g., '2015-02-01T16:55:18+01:00')", + "\\item date only as `YYYY-MM-DD' (e.g. `2015-02-01'),", + "\\item date and time as `YYYY-MM-DDThh:mm:ss' (e.g. '2015-02-01T16:55:18') and", + "\\item date and time with offset from UTC as `YYYY-MM-DDThh:mm:ss$\\pm$hh:mm' (e.g. '2015-02-01T16:55:18+01:00')", "\\end{itemize}", "\\vskip 0.1 in", "where", @@ -202,8 +206,8 @@ "\\end{itemize}", "\\vskip 0.1 in", "All characters must be ASCII. In particular, the 'minus sign', for representing a negative offset from UTC, must be the ASCII ", - "hyphen-minus character (i.e., 45 decimal).", - "All other ISO-8601 formats are not allowed. For example, `YYYYMMDD' (e.g., '20150201') is not allowed. Date ranges are not supported." + "hyphen-minus character (i.e. 45 decimal).", + "All other ISO-8601 formats are not allowed. For example, `YYYYMMDD' (e.g. '20150201') is not allowed. Date ranges are not supported." ]}, "dateType": { "__class__": "nodes.EnumeratedTypeNode", @@ -248,13 +252,13 @@ "interpolation": { "__class__": "nodes.EnumeratedTypeNode", - "description": "Rule for interpolating between two points in a 1-dimensional function.", + "description": "Rule for interpolating between two points used to specify a function.", "name": "interpolation", "allowedValues":["flat", "charged-particle", "lin-lin", "lin-log", "log-lin", "log-log"]}, "interpolationQualifier": { "__class__": "nodes.EnumeratedTypeNode", - "description": "Rule for interpolating between two N-dimensional functions inside an (N+1)-dimensional function.", + "description": "Additional rule for interpolating between two N-dimensional functions inside an (N+1)-dimensional function.", "name": "interpolationQualifier", "allowedValues":["direct", "unitBase", "correspondingEnergies", "correspondingPoints"]}, diff --git a/standards/gnds-2.0/summary_cpTransport.json b/standards/gnds-2.0/summary_cpTransport.json index a4b7ec743..e77a02d4c 100644 --- a/standards/gnds-2.0/summary_cpTransport.json +++ b/standards/gnds-2.0/summary_cpTransport.json @@ -8,7 +8,7 @@ "childNodes": {}, "description": [ "Although strictly speaking the Rutherford scattering cross section is the Coulomb scattering cross section ", - "for two non-identical charged particles (see equation (\\ref{eq:6.7})), we also use this markup to ", + "for two non-identical charged particles (see equation (\\ref{eq:6.7})), this markup is also used to ", "describe the case of identical charged particle Coulomb scattering (see equation (\\ref{eq:6.8})). ", "In either case, the Coulomb scattering cross section is analytic." ], diff --git a/standards/gnds-2.0/summary_fissionTransport.json b/standards/gnds-2.0/summary_fissionTransport.json index fcf03fcdf..3b410e0f7 100644 --- a/standards/gnds-2.0/summary_fissionTransport.json +++ b/standards/gnds-2.0/summary_fissionTransport.json @@ -423,6 +423,17 @@ "required": false, "rootNode": false }, + "a":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": {}, + "description": "a for Watt spectrum", + "name": "a", + "required": false, + "rootNode": false + }, "b":{ "__class__": "nodes.Node", "abstractNode": null, diff --git a/standards/gnds-2.0/summary_fpy.json b/standards/gnds-2.0/summary_fpy.json index 72f0f74e8..73898240e 100644 --- a/standards/gnds-2.0/summary_fpy.json +++ b/standards/gnds-2.0/summary_fpy.json @@ -197,6 +197,13 @@ "name": "values", "occurrence": "1", "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty/covariance on the actual values, in the order given by the corresponding \\element{nuclides} element.", + "name": "uncertainty", + "occurrence": "1", + "required": false } }, "description": "Container for the nuclides and corresponding yield values. This node appears inside either a \\element{elapsedTime} node (spontaneous fission) or \\element{incidentEnergy} node (induced fission).", diff --git a/standards/gnds-2.0/summary_mapfile.json b/standards/gnds-2.0/summary_mapfile.json index 2506946c6..55454675e 100644 --- a/standards/gnds-2.0/summary_mapfile.json +++ b/standards/gnds-2.0/summary_mapfile.json @@ -62,7 +62,7 @@ "required": false } }, - "description": "A map file organizes multiple files into a library. Individual files are called `protares': PROjectile + TARget + Evaluation.", + "description": "A map file organises multiple files into a library. Individual files are called `protares': PROjectile + TARget + Evaluation.", "name": "map", "required": false, "rootNode": true diff --git a/standards/gnds-2.0/summary_processed.json b/standards/gnds-2.0/summary_processed.json index 4fc9b9f78..21da7c8e5 100644 --- a/standards/gnds-2.0/summary_processed.json +++ b/standards/gnds-2.0/summary_processed.json @@ -153,6 +153,13 @@ "name": "gridded1d", "occurrence": "1", "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "regions1d", + "occurrence": "1", + "required": false } }, "description": "A component function1d representing the lab-frame, average energy for an outgoing particle integrated over outgoing $\\mu$ and energy $E'$. This is needed to, for example, calculate KERMA.", @@ -179,6 +186,13 @@ "name": "gridded1d", "occurrence": "1", "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "regions1d", + "occurrence": "1", + "required": false } }, "description": "A component function1d representing the lab-frame, average momentum for an outgoing particle integrated over outgoing $\\mu$ and energy $E'$.", From b87942a837e098a39b7432630c6076662e7682ac Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 23 Aug 2022 20:42:23 -0600 Subject: [PATCH 159/235] Update summary_tsl.json to reflect current oecd-nea master --- standards/gnds-2.0/summary_tsl.json | 120 ++++++++++++++++++---------- 1 file changed, 77 insertions(+), 43 deletions(-) diff --git a/standards/gnds-2.0/summary_tsl.json b/standards/gnds-2.0/summary_tsl.json index fde49b612..c0bcd1b4c 100644 --- a/standards/gnds-2.0/summary_tsl.json +++ b/standards/gnds-2.0/summary_tsl.json @@ -111,7 +111,7 @@ } }, "description": [ - "Neutrons can only elastically scatter coherently off of regular substances such as crystals, including powdered crystalline material. ", + "Neutrons can elastically scatter coherently off of regular substances such as crystals, including powdered crystalline material. ", "The differential cross section for such scattering off a single scatterer can be written \\cite{ENDF6Doc}", "\\begin{equation}", " \\frac{d^2 \\sigma}{dE' \\; d\\Omega}(E \\to E', \\mu, T) = \\frac{1}{2\\pi E} \\sum_{j = 1}^{E_{j}(T) < E}", @@ -138,7 +138,7 @@ "\\item Storing a list of Bragg edges which include the temperature-dependent structure factor $s_j(T)$ and Bragg energy $E_j(T)$ for ", "each Bragg edge. ", "\\end{itemize}", - "Parameterized coherent and incoherent elastic scattering were added to the ENDF format in the early 1990's. " + "Parameterised coherent and incoherent elastic scattering were added to the ENDF format in the early 1990's. " ], "name": "thermalNeutronScatteringLaw_coherentElastic", "required": false, @@ -392,6 +392,17 @@ "required": true, "type": "frame" }, + "calculatedAtThermal": { + "__class__": "nodes.Attribute", + "default": false, + "description": ["Indicates that $\\alpha$ and $\\beta$ were calculated using kT=0.0253 eV", + "for ALL temperatures. If true, $\\alpha$ and $\\beta$ must be multiplied", + "by a temperature conversion factor before looking up values in the $S(\\alpha,\\beta)$ array.", + "This option is equivalent to the `LAT=1' option in ENDF-6."], + "name": "calculatedAtThermal", + "required": false, + "type": "Boolean" + }, "incoherentApproximation": { "__class__": "nodes.Attribute", "default": true, @@ -453,7 +464,7 @@ " \\end{equation}", "\\end{varlist}", "\n\n", - "In the legacy ENDF-6 format, only the incoherent approximation is used." + "Note that GNDS extends the approximations allowed as in the legacy ENDF-6 format, only the incoherent approximation is used." ], "name": "thermalNeutronScatteringLaw_incoherentInelastic", "required": false, @@ -466,7 +477,7 @@ "pid": { "__class__": "nodes.Attribute", "default": null, - "description": "Particle id for this scatterer. Note that the pid will often be an element (i.e. 'Zr') rather than a nuclide.", + "description": "Particle id for this scatterer. Note that the pid will often be an element (i.e. `Zr') rather than a nuclide.", "name": "pid", "required": true, "type": "XMLName" @@ -542,6 +553,13 @@ "name": "selfScatteringKernel", "occurrence": "1", "required": true + }, + "T_effective": { + "__class__": "nodes.ChildNode", + "description": "Effective temperature to use for this scattering atom in the short-collision-time approximation.", + "name": "T_effective", + "occurrence": "1", + "required": false } }, "description": [ @@ -721,22 +739,25 @@ "occurrence": "choice", "required": false }, - "selfScatteringKernelGaussianApproximation": { + "GaussianApproximation": { "__class__": "nodes.ChildNode", "description": "The self part of the scattering kernel using the Gaussian approximation.", - "name": "selfScatteringKernelGaussianApproximation", + "name": "GaussianApproximation", "occurrence": "choice", "required": false }, - "selfScatteringKernelSCTApproximation": { + "SCTApproximation": { "__class__": "nodes.ChildNode", - "description": [ - "The self part of the scattering kernel using the short collision time approximation. ", - "Note: this approximation is only meant to be used in the event that the user ``falls off'' ", - "the $\\alpha$--$\\beta$ grid when using one of the other approximations." - ], - "name": "selfScatteringKernelSCTApproximation", - "occurrence": "1", + "description": "The self part of the scattering kernel using the short collision time approximation.", + "name": "SCTApproximation", + "occurrence": "choice", + "required": false + }, + "freeGasApproximation": { + "__class__": "nodes.ChildNode", + "description": "The self part of the scattering kernel using the free gas approximation.", + "name": "freeGasApproximation", + "occurrence": "choice", "required": false } }, @@ -782,8 +803,31 @@ "required": false, "rootNode": false }, + "T_effective":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "Function giving the correspondence between actual and effective temperature. Both axes are in units of temperature, e.g. `K'.", + "name": "XYs1d", + "occurrence": "1", + "required": true + } + }, + "description": ["Effective temperatures for use in the short collision time approximation.", + "Note that the short-collision-time approximation may be required for more than one type of scattering kernel:", + "if the scattering kernel is `SCTapproximation' then the SCT is used everywhere,", + "but it is also used with scattering kernel `gridded3d' for values of $\\alpha$ and $\\beta$", + "outside the tabulated array."], + "name": "T_effective", + "required": false, + "rootNode": false + }, - "selfScatteringKernelGaussianApproximation":{ + "GaussianApproximation":{ "__class__": "nodes.Node", "abstractNode": null, "attributes": {}, @@ -817,7 +861,7 @@ "compact way to encapsulate the scattering kernel and it provides one with a two-dimensional object that ", "one can use to specify covariance." ], - "name": "selfScatteringKernelGaussianApproximation", + "name": "GaussianApproximation", "required": false, "rootNode": false }, @@ -841,25 +885,16 @@ "rootNode": false }, - "selfScatteringKernelSCTApproximation":{ + "SCTApproximation":{ "__class__": "nodes.Node", "abstractNode": null, "attributes": {}, "bodyText": null, - "childNodes": { - "T_effective": { - "__class__": "nodes.ChildNode", - "description": "Effective temperature to use for this scattering atom in the short-collision-time approximation.", - "name": "T_effective", - "occurrence": "1", - "required": false - } - }, + "childNodes": {}, "description": [ - "For high incident energies, $\\alpha$ and/or $\\beta$ values may be ", - "required that are outside the ranges tabulated for $S(\\alpha,\\beta)$. ", - "In these cases, the short-collision-time (SCT) approximation should be ", - "used.\\footnote{This equation is given correctly in the General Atomics ", + "Indicates that the short-collision-time (SCT) approximation should be ", + "used for this scattering atom for all values of $\\alpha$ and $\\beta$, not just for values", + "outside the tabulated grid.\\footnote{The SCT equation is given correctly in the General Atomics", "report GA-9950, UC-80, Reactor Technology (1970), but is misprinted in ", "LA-9303-M VOL II (ENDF-324) 1982, and in BNL-NCS-44945-05-Revised June 2005 (ENDF-102).} ", "\\begin{equation}", @@ -869,26 +904,25 @@ "\\end{equation}", "The legacy ENDF-6 format signals this with the B(7)=0.0 flag" ], - "name": "selfScatteringKernelSCTApproximation", + "name": "SCTApproximation", "required": false, "rootNode": false }, - "T_effective":{ + + "freeGasApproximation":{ "__class__": "nodes.Node", "abstractNode": null, "attributes": {}, "bodyText": null, - "childNodes": { - "XYs1d": { - "__class__": "nodes.ChildNode", - "description": "Function giving the correspondence between actual and effective temperature. Both axes are in units of temperature, e.g. `K'.", - "name": "XYs1d", - "occurrence": "1", - "required": true - } - }, - "description": "Effective temperatures for use in the short collision time approximation.", - "name": "T_effective", + "childNodes": {}, + "description": [ + "Indicates that a free-gas approximation should be ", + "used for this scattering atom. In practice the free-gas approximation is typically used for", + "secondary scattering atoms that have little impact on the scattering cross section,", + "and processing codes may simply ignore the contribution of these scattering atoms.", + "The legacy ENDF-6 format signals this with the B(7)=1.0 flag" + ], + "name": "freeGasApproximation", "required": false, "rootNode": false } From 25cb8283df948b211a71fb1cfad4447070ee1d63 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 24 Aug 2022 12:40:08 -0600 Subject: [PATCH 160/235] A couple of json2class asserts replaces with informative diagnostics. Small coloring change in utility. Added some files to to-process list in gnds-2.0 json spec. --- autogen/json2class.cpp | 29 ++++++++++++++++++++++------- src/GNDStk/utility.hpp | 2 +- standards/gnds-2.0/gnds-2.0.json | 6 ++++-- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index d2a204351..ee69fdfe5 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -513,18 +513,22 @@ void getClassMetadata( m.defaultValue = ""; if (metaRHS.contains("default") && !metaRHS["default"].is_null()) { m.defaultValue = stringify(metaRHS["default"]); + // Apply the "changes.json" change, if any, to the given value const auto it = specs.mapMetaDefault.find(m.defaultValue); if (it != specs.mapMetaDefault.end()) m.defaultValue = it->second; }; if (m.defaultValue != "") { // If it has a default, then presumably it isn't required... - // fixme Should print a real, useful error message here. The mistake - // in question is something a user could easily make!! Look at other - // assert()s in this file as well; assert should be more for internal - // sanity checks than for diagnostic messages, as they aren't very - // helpful to typical users. - assert(!metaRHS["required"]); + if (metaRHS["required"]) { + log::error( + "In namespace \"{}\", class \"{}\",\n" + "metadatum \"{}\" has a default ({}), but is required.\n" + "If it really is required, then it shouldn't have a default.\n" + "If it really has a default, then presumably it isn't required.", + per.nsname, per.clname, m.name, m.defaultValue); + throw std::exception{}; + } } // Optional? (not required, and has no default) @@ -2663,8 +2667,19 @@ void fileCInterfaceChild( Child, child, child); src("}"); + // for this child's metadata: has, get, set const auto it = specs.class2data.find(NamespaceAndClass(c.ns,c.plain)); - assert(it != specs.class2data.end()); + if (it == specs.class2data.end()) { + log::warning( + "Unable to generate C interface has/get/set functions for:\n" + " class: {}::{}\n" + " child: {}::{}\n" + "Child class is unknown, so its metadata for has/get/set are unknown.", + per.nsname, Class, + c.ns, Child + ); + return; + } for (const auto &m : it->second.metadata) { const std::string Meta = UpperCamel(m.name); diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 7f331a435..b05bd6eb3 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -127,7 +127,7 @@ inline std::string diagnostic( static std::map codes = { { "info", "\033[36;21m" }, // cyan { "warning", "\033[33;1m" }, // yellow - { "error", "\033[31;21m" }, // red + { "error", "\033[31;1m" }, // red { "debug", "\033[37;1m" } // white }; static const std::string under = "\033[4m"; // underline on diff --git a/standards/gnds-2.0/gnds-2.0.json b/standards/gnds-2.0/gnds-2.0.json index ac9e19b2a..ba5640f31 100644 --- a/standards/gnds-2.0/gnds-2.0.json +++ b/standards/gnds-2.0/gnds-2.0.json @@ -13,7 +13,9 @@ "summary_cpTransport.json", "summary_fpy.json", "summary_fissionTransport.json", - "summary_processed.json" + "summary_processed.json", + "summary_tsl.json", + "summary_resonance.json" ], "JSONFiles todo we're working though these...": [ "summary_appData.json", @@ -33,7 +35,7 @@ "summary_transport.json", "summary_tsl.json" ], - "Remark: the following should NOT be part of the code generation!": [ + "Remark. The following should NOT be part of the code generation!": [ "summary_abstract.json", "summary_basic.json" ], From 44794d36573d2c0a1990d19dc83d69bb9e18f94e Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 24 Aug 2022 12:42:25 -0600 Subject: [PATCH 161/235] Typo fix in old "v1.9" file. Not really important, but noticed it while working with v2.0. --- autogen/v1.9/summary_documentation.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autogen/v1.9/summary_documentation.json b/autogen/v1.9/summary_documentation.json index 393100fc7..fd3d5f64e 100644 --- a/autogen/v1.9/summary_documentation.json +++ b/autogen/v1.9/summary_documentation.json @@ -176,7 +176,7 @@ }, "affiliations": { "__class__": "nodes.ChildNode", - "description": "Institutional affilation(s) of the author", + "description": "Institutional affiliation(s) of the author", "name": "affiliations", "occurrence": "1", "required": false @@ -240,7 +240,7 @@ "affiliation": { "__class__": "nodes.ChildNode", "description": "Each affiliation is described in an \\element{affiliation} element.", - "name": "affilation", + "name": "affiliation", "occurrence": "1+", "required": true } From 67a84c6d694afad346bfd122fd1d432b78c6a1e9 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 24 Aug 2022 15:17:31 -0600 Subject: [PATCH 162/235] Changed four instances of "required" from true to false. In each case, the metadatum in question had a default. When a metadatum has a default, that implies that it shouldn't be required. If, in contrast, it turns out that we want to require any of the metadata in question, then we should remove their defaults. --- standards/gnds-2.0/summary_tsl.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/standards/gnds-2.0/summary_tsl.json b/standards/gnds-2.0/summary_tsl.json index c0bcd1b4c..8d11fd6c7 100644 --- a/standards/gnds-2.0/summary_tsl.json +++ b/standards/gnds-2.0/summary_tsl.json @@ -81,7 +81,7 @@ "default": "n", "description": "The id of the scattered particle (should always be `n').", "name": "pid", - "required": true, + "required": false, "type": "XMLName" }, "productFrame": { @@ -89,7 +89,7 @@ "default": "lab", "description": "The frame that the product data are defined in.", "name": "productFrame", - "required": true, + "required": false, "type": "frame" } }, @@ -381,7 +381,7 @@ "default": "n", "description": "The id of the scattered particle (should always be `n').", "name": "pid", - "required": true, + "required": false, "type": "XMLName" }, "productFrame": { @@ -389,7 +389,7 @@ "default": "lab", "description": "The frame that the product data are defined in.", "name": "productFrame", - "required": true, + "required": false, "type": "frame" }, "calculatedAtThermal": { From e49dc9e52486af40473f52a40503799615a495ce Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 24 Aug 2022 15:18:48 -0600 Subject: [PATCH 163/235] Changed a comment. --- autogen/json2class.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index ee69fdfe5..f1775ac1f 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1678,9 +1678,7 @@ void getClass( assert(!(data && body)); // not both per.isData = data || body; if (data) { - // A type change, as with metadata, could be wanted in this context as - // well. Perhaps the name "mapMetaType" (and the location and name for - // it in the changes.json file) should be modified to reflect this + // A type change, as with metadata, may be warranted here as well const std::string type = classRHS[datastr]; const auto it = specs.mapMetaType.find(type); per.dataType = it == specs.mapMetaType.end() ? type : it->second; From 3b31f9931b701b4662f26bce72cdd8ddbb7422a2 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 24 Aug 2022 15:23:29 -0600 Subject: [PATCH 164/235] Changed two instances of "required" from true to false. Same reasoning as a few minutes ago, with summary_tsl.json. --- standards/gnds-2.0/summary_resonance.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standards/gnds-2.0/summary_resonance.json b/standards/gnds-2.0/summary_resonance.json index 187386858..6080f1c7e 100644 --- a/standards/gnds-2.0/summary_resonance.json +++ b/standards/gnds-2.0/summary_resonance.json @@ -136,7 +136,7 @@ "the observed R-matrix resonances using one of the following ", "formalisms: \\texttt{Froehner}, \\texttt{SAMMY}. " ], "name": "type", - "required": true, + "required": false, "type": "XMLName" } }, @@ -694,7 +694,7 @@ "default": 1, "description": "The parity for the spin group, either \\texttt{1} or \\texttt{-1}.", "name": "parity", - "required": true, + "required": false, "type": "Integer32" } }, From f635f38c189592270cbb1eaddef15961b9c2ca06 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 24 Aug 2022 15:54:57 -0600 Subject: [PATCH 165/235] OCD'd changes.json, for readability. --- standards/gnds-2.0/changes.json | 222 ++++++++++++++++---------------- 1 file changed, 109 insertions(+), 113 deletions(-) diff --git a/standards/gnds-2.0/changes.json b/standards/gnds-2.0/changes.json index ab151428f..dc293e264 100644 --- a/standards/gnds-2.0/changes.json +++ b/standards/gnds-2.0/changes.json @@ -1,170 +1,166 @@ { - "// changes to node names" : "", + "// Changes to node names" : "", "name" : { - - "// purpose: changing names of nodes" : "", "double" : "Double" }, - "// changes in node metadata/attributes: type, default values, etc." : "", + "// Changes to node metadata a.k.a. attributes: type and default" : "", "metadata" : { - - "// converting the type given in the json specs to a known GNDStk type" : "", + "// Change json spec's 'type' to a valid GNDStk type" : "", "type" : { - "// json spec corrections" : "", - "bodyText" : "std::string", - "attributeValue": "std::string", - "date": "std::string", - "Boolean": "bool", + "bodyText" : "std::string", + "attributeValue" : "std::string", + "date" : "std::string", + "Boolean" : "bool", "// enumerator types" : "", - "dateType" : "enums::DateType", - "contributorType" : "enums::ContributorType", - "relationType" : "enums::RelationType", - "parity" : "enums::Parity", - "frame" : "enums::Frame", - "interpolation" : "enums::Interpolation", + "dateType" : "enums::DateType", + "contributorType" : "enums::ContributorType", + "relationType" : "enums::RelationType", + "parity" : "enums::Parity", + "frame" : "enums::Frame", + "interpolation" : "enums::Interpolation", "interpolationQualifier" : "enums::InterpolationQualifier", - "hashAlgorithm" : "enums::HashAlgorithm", - "decayType" : "enums::DecayType", - "gridStyle" : "enums::GridStyle", - "boundaryCondition" : "enums::BoundaryCondition", - "interaction" : "enums::Interaction" + "hashAlgorithm" : "enums::HashAlgorithm", + "decayType" : "enums::DecayType", + "gridStyle" : "enums::GridStyle", + "boundaryCondition" : "enums::BoundaryCondition", + "interaction" : "enums::Interaction" }, - "// converting the default given in the json specs to a GNDStk value" : "", + "// Change json spec's 'default' to a valid GNDStk value" : "", "default" : { "// json spec corrections" : "", "\\\\attr{lin-lin}" : "enums::Interpolation::linlin", "// dateType" : "", - "accepted" : "enums::DateType::accepted", - "available" : "enums::DateType::available", + "accepted" : "enums::DateType::accepted", + "available" : "enums::DateType::available", "copyrighted" : "enums::DateType::copyrighted", - "collected" : "enums::DateType::collected", - "created" : "enums::DateType::created", - "issued" : "enums::DateType::issued", - "submitted" : "enums::DateType::submitted", - "updated" : "enums::DateType::updated", - "valid" : "enums::DateType::valid", - "withdrawn" : "enums::DateType::withdrawn", + "collected" : "enums::DateType::collected", + "created" : "enums::DateType::created", + "issued" : "enums::DateType::issued", + "submitted" : "enums::DateType::submitted", + "updated" : "enums::DateType::updated", + "valid" : "enums::DateType::valid", + "withdrawn" : "enums::DateType::withdrawn", "// contributorType" : "", - "ContactPerson" : "enums::ContributorType::ContactPerson", - "DataCollector" : "enums::ContributorType::DataCollector", - "DataCurator" : "enums::ContributorType::DataCurator", - "DataManager" : "enums::ContributorType::DataManager", - "Distributor" : "enums::ContributorType::Distributor", - "Editor" : "enums::ContributorType::Editor", - "HostingInstitution" : "enums::ContributorType::HostingInstitution", - "Producer" : "enums::ContributorType::Producer", - "ProjectLeader" : "enums::ContributorType::ProjectLeader", - "ProjectManager" : "enums::ContributorType::ProjectManager", - "ProjectMember" : "enums::ContributorType::ProjectMember", - "RegistrationAgency" : "enums::ContributorType::RegistrationAgency", + "ContactPerson" : "enums::ContributorType::ContactPerson", + "DataCollector" : "enums::ContributorType::DataCollector", + "DataCurator" : "enums::ContributorType::DataCurator", + "DataManager" : "enums::ContributorType::DataManager", + "Distributor" : "enums::ContributorType::Distributor", + "Editor" : "enums::ContributorType::Editor", + "HostingInstitution" : "enums::ContributorType::HostingInstitution", + "Producer" : "enums::ContributorType::Producer", + "ProjectLeader" : "enums::ContributorType::ProjectLeader", + "ProjectManager" : "enums::ContributorType::ProjectManager", + "ProjectMember" : "enums::ContributorType::ProjectMember", + "RegistrationAgency" : "enums::ContributorType::RegistrationAgency", "RegistrationAuthority" : "enums::ContributorType::RegistrationAuthority", - "RelatedPerson" : "enums::ContributorType::RelatedPerson", - "Researcher" : "enums::ContributorType::Researcher", - "ResearchGroup" : "enums::ContributorType::ResearchGroup", - "RightsHolder" : "enums::ContributorType::RightsHolder", - "Sponsor" : "enums::ContributorType::Sponsor", - "Supervisor" : "enums::ContributorType::Supervisor", - "WorkPackageLeader" : "enums::ContributorType::WorkPackageLeader", - "Other" : "enums::ContributorType::Other", + "RelatedPerson" : "enums::ContributorType::RelatedPerson", + "Researcher" : "enums::ContributorType::Researcher", + "ResearchGroup" : "enums::ContributorType::ResearchGroup", + "RightsHolder" : "enums::ContributorType::RightsHolder", + "Sponsor" : "enums::ContributorType::Sponsor", + "Supervisor" : "enums::ContributorType::Supervisor", + "WorkPackageLeader" : "enums::ContributorType::WorkPackageLeader", + "Other" : "enums::ContributorType::Other", "// relationType" : "", - "IsCitedBy" : "enums::RelationType::IsCitedBy", - "Cites" : "enums::RelationType::Cites", - "IsSupplementTo" : "enums::RelationType::IsSupplementTo", - "IsSupplementedBy" : "enums::RelationType::IsSupplementedBy", - "IsContinuedBy" : "enums::RelationType::IsContinuedBy", - "Continues" : "enums::RelationType::Continues", - "Describes" : "enums::RelationType::Describes", - "IsDescribedBy" : "enums::RelationType::IsDescribedBy", - "HasMetadata" : "enums::RelationType::HasMetadata", - "IsMetadataFor" : "enums::RelationType::IsMetadataFor", - "HasVersion" : "enums::RelationType::HasVersion", - "IsVersionOf" : "enums::RelationType::IsVersionOf", - "IsNewVersionOf" : "enums::RelationType::IsNewVersionOf", + "IsCitedBy" : "enums::RelationType::IsCitedBy", + "Cites" : "enums::RelationType::Cites", + "IsSupplementTo" : "enums::RelationType::IsSupplementTo", + "IsSupplementedBy" : "enums::RelationType::IsSupplementedBy", + "IsContinuedBy" : "enums::RelationType::IsContinuedBy", + "Continues" : "enums::RelationType::Continues", + "Describes" : "enums::RelationType::Describes", + "IsDescribedBy" : "enums::RelationType::IsDescribedBy", + "HasMetadata" : "enums::RelationType::HasMetadata", + "IsMetadataFor" : "enums::RelationType::IsMetadataFor", + "HasVersion" : "enums::RelationType::HasVersion", + "IsVersionOf" : "enums::RelationType::IsVersionOf", + "IsNewVersionOf" : "enums::RelationType::IsNewVersionOf", "IsPreviousVersionOf" : "enums::RelationType::IsPreviousVersionOf", - "IsPartOf" : "enums::RelationType::IsPartOf", - "HasPart" : "enums::RelationType::HasPart", - "IsPublishedIn" : "enums::RelationType::IsPublishedIn", - "IsReferencedBy" : "enums::RelationType::IsReferencedBy", - "References" : "enums::RelationType::References", - "IsDocumentedBy" : "enums::RelationType::IsDocumentedBy", - "Documents" : "enums::RelationType::Documents", - "IsCompiledBy" : "enums::RelationType::IsCompiledBy", - "Complies" : "enums::RelationType::Complies", - "IsVariantFormOf" : "enums::RelationType::IsVariantFormOf", - "IsOriginalFormOf" : "enums::RelationType::IsOriginalFormOf", - "IsIdenticalTo" : "enums::RelationType::IsIdenticalTo", - "IsReviewedBy" : "enums::RelationType::IsReviewedBy", - "Reviews" : "enums::RelationType::Reviews", - "IsDerivedFrom" : "enums::RelationType::IsDerivedFrom", - "IsSourceOf" : "enums::RelationType::IsSourceOf", - "IsRequiredBy" : "enums::RelationType::IsRequiredBy", - "Requires" : "enums::RelationType::Requires", - "Obsoletes" : "enums::RelationType::Obsoletes", - "IsObsoletedBy" : "enums::RelationType::IsObsoletedBy", + "IsPartOf" : "enums::RelationType::IsPartOf", + "HasPart" : "enums::RelationType::HasPart", + "IsPublishedIn" : "enums::RelationType::IsPublishedIn", + "IsReferencedBy" : "enums::RelationType::IsReferencedBy", + "References" : "enums::RelationType::References", + "IsDocumentedBy" : "enums::RelationType::IsDocumentedBy", + "Documents" : "enums::RelationType::Documents", + "IsCompiledBy" : "enums::RelationType::IsCompiledBy", + "Complies" : "enums::RelationType::Complies", + "IsVariantFormOf" : "enums::RelationType::IsVariantFormOf", + "IsOriginalFormOf" : "enums::RelationType::IsOriginalFormOf", + "IsIdenticalTo" : "enums::RelationType::IsIdenticalTo", + "IsReviewedBy" : "enums::RelationType::IsReviewedBy", + "Reviews" : "enums::RelationType::Reviews", + "IsDerivedFrom" : "enums::RelationType::IsDerivedFrom", + "IsSourceOf" : "enums::RelationType::IsSourceOf", + "IsRequiredBy" : "enums::RelationType::IsRequiredBy", + "Requires" : "enums::RelationType::Requires", + "Obsoletes" : "enums::RelationType::Obsoletes", + "IsObsoletedBy" : "enums::RelationType::IsObsoletedBy", "// parity" : "", "-1" : "enums::Parity::minus", "+1" : "enums::Parity::plus", "// frame" : "", - "lab" : "enums::Frame::lab", + "lab" : "enums::Frame::lab", "centerOfMass" : "enums::Frame::centerOfMass", "// interpolation" : "", - "flat" : "enums::Interpolation::flat", + "flat" : "enums::Interpolation::flat", "charged-particle" : "enums::Interpolation::chargedparticle", - "lin-lin" : "enums::Interpolation::linlin", - "lin-log" : "enums::Interpolation::linlog", - "log-lin" : "enums::Interpolation::loglin", - "log-log" : "enums::Interpolation::loglog", + "lin-lin" : "enums::Interpolation::linlin", + "lin-log" : "enums::Interpolation::linlog", + "log-lin" : "enums::Interpolation::loglin", + "log-log" : "enums::Interpolation::loglog", "// interpolationQualifier" : "", - "direct" : "enums::InterpolationQualifier::direct", - "unitBase" : "enums::InterpolationQualifier::unitBase", + "direct" : "enums::InterpolationQualifier::direct", + "unitBase" : "enums::InterpolationQualifier::unitBase", "correspondingEnergies" : "enums::InterpolationQualifier::correspondingEnergies", - "correspondingPoints" : "enums::InterpolationQualifier::correspondingPoints", + "correspondingPoints" : "enums::InterpolationQualifier::correspondingPoints", "// hashAlgorithm" : "", - "md5" : "enums::HashAlgorithm::md5", + "md5" : "enums::HashAlgorithm::md5", "sha1" : "enums::HashAlgorithm::sha1", "// decayType" : "", - "SF" : "enums::DecayType::SpontaneousFission", - "beta-" : "enums::DecayType::BetaMinus", - "beta+" : "enums::DecayType::BetaPlus", - "EC" : "enums::DecayType::ElectronCapture", - "electroMagnetic" : "enums::DecayType::ElectroMagnetic", - "IT" : "enums::DecayType::IsomericTransition", - "n" : "enums::DecayType::Neutron", - "p" : "enums::DecayType::Proton", - "d" : "enums::DecayType::Deuteron", - "t" : "enums::DecayType::Triton", - "alpha" : "enums::DecayType::Alpha", + "SF" : "enums::DecayType::SpontaneousFission", + "beta-" : "enums::DecayType::BetaMinus", + "beta+" : "enums::DecayType::BetaPlus", + "EC" : "enums::DecayType::ElectronCapture", + "electroMagnetic" : "enums::DecayType::ElectroMagnetic", + "IT" : "enums::DecayType::IsomericTransition", + "n" : "enums::DecayType::Neutron", + "p" : "enums::DecayType::Proton", + "d" : "enums::DecayType::Deuteron", + "t" : "enums::DecayType::Triton", + "alpha" : "enums::DecayType::Alpha", "atomicRelaxation" : "enums::DecayType::AtomicRelaxation", "// grid style" : "", - "none" : "enums::GridStyle::none", - "points" : "enums::GridStyle::points", + "none" : "enums::GridStyle::none", + "points" : "enums::GridStyle::points", "boundaries" : "enums::GridStyle::boundaries", "parameters" : "enums::GridStyle::parameters", "// grid style" : "", - "EliminateShiftFunction" : "enums::BoundaryCondition::EliminateShiftFunction", + "EliminateShiftFunction" : "enums::BoundaryCondition::EliminateShiftFunction", "NegativeOrbitalMomentum" : "enums::BoundaryCondition::NegativeOrbitalMomentum", - "Brune" : "enums::BoundaryCondition::Brune", - "Given" : "enums::BoundaryCondition::Given", + "Brune" : "enums::BoundaryCondition::Brune", + "Given" : "enums::BoundaryCondition::Given", "// interaction" : "", - "nuclear" : "enums::Interaction::nuclear", - "atomic" : "enums::Interaction::atomic", + "nuclear" : "enums::Interaction::nuclear", + "atomic" : "enums::Interaction::atomic", "thermalNeutronScatteringLaw" : "enums::Interaction::thermalNeutronScatteringLaw" } } From 55616f93f8a63b1e99e0822bc538e8173f70afe3 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 24 Aug 2022 15:58:44 -0600 Subject: [PATCH 166/235] Fixed copy/paste error in changes.json. (grid style ==> boundary condition) --- standards/gnds-2.0/changes.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/standards/gnds-2.0/changes.json b/standards/gnds-2.0/changes.json index dc293e264..fc11bc251 100644 --- a/standards/gnds-2.0/changes.json +++ b/standards/gnds-2.0/changes.json @@ -146,13 +146,13 @@ "alpha" : "enums::DecayType::Alpha", "atomicRelaxation" : "enums::DecayType::AtomicRelaxation", - "// grid style" : "", + "// gridStyle" : "", "none" : "enums::GridStyle::none", "points" : "enums::GridStyle::points", "boundaries" : "enums::GridStyle::boundaries", "parameters" : "enums::GridStyle::parameters", - "// grid style" : "", + "// boundaryCondition" : "", "EliminateShiftFunction" : "enums::BoundaryCondition::EliminateShiftFunction", "NegativeOrbitalMomentum" : "enums::BoundaryCondition::NegativeOrbitalMomentum", "Brune" : "enums::BoundaryCondition::Brune", From 23cfef5b842efe36f47abafceb0d9b853e436604 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 24 Aug 2022 16:03:43 -0600 Subject: [PATCH 167/235] Fixed typo (complies ==> compiles) in various places. This typo was in the original source material we worked from. See: https://git.oecd-nea.org/science/wpec/gnds/formats/-/issues/113 --- python/src/RelationType.python.cpp | 2 +- src/GNDStk/enums/RelationType.hpp | 6 +++--- .../enums/RelationType/test/RelationType.test.cpp | 14 +++++++------- standards/gnds-2.0/changes.json | 2 +- standards/gnds-2.0/summary_basic.json | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/python/src/RelationType.python.cpp b/python/src/RelationType.python.cpp index e477e297f..068442a18 100644 --- a/python/src/RelationType.python.cpp +++ b/python/src/RelationType.python.cpp @@ -50,7 +50,7 @@ void wrapRelationType( python::module& module ) { .value( "IsDocumentedBy", Component::IsDocumentedBy ) .value( "Documents", Component::Documents ) .value( "IsCompiledBy", Component::IsCompiledBy ) - .value( "Complies", Component::Complies ) + .value( "Compiles", Component::Compiles ) .value( "IsVariantFormOf", Component::IsVariantFormOf ) .value( "IsOriginalFormOf", Component::IsOriginalFormOf ) .value( "IsIdenticalTo", Component::IsIdenticalTo ) diff --git a/src/GNDStk/enums/RelationType.hpp b/src/GNDStk/enums/RelationType.hpp index 56e9f31eb..7b896e5cc 100644 --- a/src/GNDStk/enums/RelationType.hpp +++ b/src/GNDStk/enums/RelationType.hpp @@ -31,7 +31,7 @@ namespace enums { IsDocumentedBy, Documents, IsCompiledBy, - Complies, + Compiles, IsVariantFormOf, IsOriginalFormOf, IsIdenticalTo, @@ -89,7 +89,7 @@ namespace enums { { GNDStk::enums::RelationType::IsDocumentedBy, "IsDocumentedBy" }, { GNDStk::enums::RelationType::Documents, "Documents" }, { GNDStk::enums::RelationType::IsCompiledBy, "IsCompiledBy" }, - { GNDStk::enums::RelationType::Complies, "Complies" }, + { GNDStk::enums::RelationType::Compiles, "Compiles" }, { GNDStk::enums::RelationType::IsVariantFormOf, "IsVariantFormOf" }, { GNDStk::enums::RelationType::IsOriginalFormOf, "IsOriginalFormOf" }, { GNDStk::enums::RelationType::IsIdenticalTo, "IsIdenticalTo" }, @@ -128,7 +128,7 @@ namespace enums { { "IsDocumentedBy", GNDStk::enums::RelationType::IsDocumentedBy }, { "Documents", GNDStk::enums::RelationType::Documents }, { "IsCompiledBy", GNDStk::enums::RelationType::IsCompiledBy }, - { "Complies", GNDStk::enums::RelationType::Complies }, + { "Compiles", GNDStk::enums::RelationType::Compiles }, { "IsVariantFormOf", GNDStk::enums::RelationType::IsVariantFormOf }, { "IsOriginalFormOf", GNDStk::enums::RelationType::IsOriginalFormOf }, { "IsIdenticalTo", GNDStk::enums::RelationType::IsIdenticalTo }, diff --git a/src/GNDStk/enums/RelationType/test/RelationType.test.cpp b/src/GNDStk/enums/RelationType/test/RelationType.test.cpp index b1ec29a56..cc8ef56b6 100644 --- a/src/GNDStk/enums/RelationType/test/RelationType.test.cpp +++ b/src/GNDStk/enums/RelationType/test/RelationType.test.cpp @@ -39,7 +39,7 @@ SCENARIO( "RelationType" ) { CHECK( "IsDocumentedBy" == enums::toString( RelationType::IsDocumentedBy ) ); CHECK( "Documents" == enums::toString( RelationType::Documents ) ); CHECK( "IsCompiledBy" == enums::toString( RelationType::IsCompiledBy ) ); - CHECK( "Complies" == enums::toString( RelationType::Complies ) ); + CHECK( "Compiles" == enums::toString( RelationType::Compiles ) ); CHECK( "IsVariantFormOf" == enums::toString( RelationType::IsVariantFormOf ) ); CHECK( "IsOriginalFormOf" == enums::toString( RelationType::IsOriginalFormOf ) ); CHECK( "IsIdenticalTo" == enums::toString( RelationType::IsIdenticalTo ) ); @@ -80,7 +80,7 @@ SCENARIO( "RelationType" ) { CHECK( RelationType::IsDocumentedBy == enums::fromString< RelationType >( "IsDocumentedBy" ) ); CHECK( RelationType::Documents == enums::fromString< RelationType >( "Documents" ) ); CHECK( RelationType::IsCompiledBy == enums::fromString< RelationType >( "IsCompiledBy" ) ); - CHECK( RelationType::Complies == enums::fromString< RelationType >( "Complies" ) ); + CHECK( RelationType::Compiles == enums::fromString< RelationType >( "Compiles" ) ); CHECK( RelationType::IsVariantFormOf == enums::fromString< RelationType >( "IsVariantFormOf" ) ); CHECK( RelationType::IsOriginalFormOf == enums::fromString< RelationType >( "IsOriginalFormOf" ) ); CHECK( RelationType::IsIdenticalTo == enums::fromString< RelationType >( "IsIdenticalTo" ) ); @@ -127,7 +127,7 @@ SCENARIO( "RelationType" ) { << RelationType::IsDocumentedBy << ' ' << RelationType::Documents << ' ' << RelationType::IsCompiledBy << ' ' - << RelationType::Complies << ' ' + << RelationType::Compiles << ' ' << RelationType::IsVariantFormOf << ' ' << RelationType::IsOriginalFormOf << ' ' << RelationType::IsIdenticalTo << ' ' @@ -144,7 +144,7 @@ SCENARIO( "RelationType" ) { "Continues Describes IsDescribedBy HasMetadata IsMetadataFor " "HasVersion IsVersionOf IsNewVersionOf IsPreviousVersionOf " "IsPartOf HasPart IsPublishedIn IsReferencedBy References " - "IsDocumentedBy Documents IsCompiledBy Complies IsVariantFormOf " + "IsDocumentedBy Documents IsCompiledBy Compiles IsVariantFormOf " "IsOriginalFormOf IsIdenticalTo IsReviewedBy Reviews IsDerivedFrom " "IsSourceOf IsRequiredBy Requires Obsoletes IsObsoletedBy" == out.str() ); @@ -160,7 +160,7 @@ SCENARIO( "RelationType" ) { "Continues Describes IsDescribedBy HasMetadata IsMetadataFor " "HasVersion IsVersionOf IsNewVersionOf IsPreviousVersionOf " "IsPartOf HasPart IsPublishedIn IsReferencedBy References " - "IsDocumentedBy Documents IsCompiledBy Complies IsVariantFormOf " + "IsDocumentedBy Documents IsCompiledBy Compiles IsVariantFormOf " "IsOriginalFormOf IsIdenticalTo IsReviewedBy Reviews IsDerivedFrom " "IsSourceOf IsRequiredBy Requires Obsoletes IsObsoletedBy" ); @@ -275,7 +275,7 @@ SCENARIO( "RelationType" ) { CHECK( false == in.eof() ); in >> value; - CHECK( RelationType::Complies == value ); + CHECK( RelationType::Compiles == value ); CHECK( false == in.fail() ); CHECK( false == in.eof() ); @@ -374,7 +374,7 @@ SCENARIO( "RelationType" ) { CHECK( true == enums::isRelationType( "IsDocumentedBy" ) ); CHECK( true == enums::isRelationType( "Documents" ) ); CHECK( true == enums::isRelationType( "IsCompiledBy" ) ); - CHECK( true == enums::isRelationType( "Complies" ) ); + CHECK( true == enums::isRelationType( "Compiles" ) ); CHECK( true == enums::isRelationType( "IsVariantFormOf" ) ); CHECK( true == enums::isRelationType( "IsOriginalFormOf" ) ); CHECK( true == enums::isRelationType( "IsIdenticalTo" ) ); diff --git a/standards/gnds-2.0/changes.json b/standards/gnds-2.0/changes.json index fc11bc251..b55ef7085 100644 --- a/standards/gnds-2.0/changes.json +++ b/standards/gnds-2.0/changes.json @@ -93,7 +93,7 @@ "IsDocumentedBy" : "enums::RelationType::IsDocumentedBy", "Documents" : "enums::RelationType::Documents", "IsCompiledBy" : "enums::RelationType::IsCompiledBy", - "Complies" : "enums::RelationType::Complies", + "Compiles" : "enums::RelationType::Compiles", "IsVariantFormOf" : "enums::RelationType::IsVariantFormOf", "IsOriginalFormOf" : "enums::RelationType::IsOriginalFormOf", "IsIdenticalTo" : "enums::RelationType::IsIdenticalTo", diff --git a/standards/gnds-2.0/summary_basic.json b/standards/gnds-2.0/summary_basic.json index 19a9aa0a5..2ba123b97 100644 --- a/standards/gnds-2.0/summary_basic.json +++ b/standards/gnds-2.0/summary_basic.json @@ -225,7 +225,7 @@ "__class__": "nodes.EnumeratedTypeNode", "description": "Metadata describing how one dataset is related to another. See Table \\ref{table:relationType} for a description of the allowed values.", "name": "relationType", - "allowedValues":["IsCitedBy", "Cites", "IsSupplementTo", "IsSupplementedBy", "IsContinuedBy", "Continues", "Describes", "IsDescribedBy", "HasMetadata", "IsMetadataFor", "HasVersion", "IsVersionOf", "IsNewVersionOf", "IsPreviousVersionOf", "IsPartOf", "HasPart", "IsPublishedIn", "IsReferencedBy", "References", "IsDocumentedBy", "Documents", "IsCompiledBy", "Complies", "IsVariantFormOf", "IsOriginalFormOf", "IsIdenticalTo", "IsReviewedBy", "Reviews", "IsDerivedFrom", "IsSourceOf", "IsRequiredBy", "Requires", "Obsoletes", "IsObsoletedBy"]}, + "allowedValues":["IsCitedBy", "Cites", "IsSupplementTo", "IsSupplementedBy", "IsContinuedBy", "Continues", "Describes", "IsDescribedBy", "HasMetadata", "IsMetadataFor", "HasVersion", "IsVersionOf", "IsNewVersionOf", "IsPreviousVersionOf", "IsPartOf", "HasPart", "IsPublishedIn", "IsReferencedBy", "References", "IsDocumentedBy", "Documents", "IsCompiledBy", "Compiles", "IsVariantFormOf", "IsOriginalFormOf", "IsIdenticalTo", "IsReviewedBy", "Reviews", "IsDerivedFrom", "IsSourceOf", "IsRequiredBy", "Requires", "Obsoletes", "IsObsoletedBy"]}, "checksum": { "__class__": "nodes.ElementaryTypeNode", From 254b3b22681223fbea7e15d9714d19abd8ca6c71 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 29 Aug 2022 17:36:50 -0600 Subject: [PATCH 168/235] Added a whole bunch of "trying it out" GNDS 2.0 files. These will be temporary, at least in this (try/ directory) location. But I want to have these, now, in order to help ensure that upcoming code and spec changes have the effects -- and only the effects -- that I want them to have. In the code generator, I replaced an assert with a meaningful error message, regarding times/occurrence. More work on the code generator will be forthcoming. (And hence one reason for putting in the slew of new files as described above.) --- autogen/json2class.cpp | 26 +- standards/gnds-2.0/try/c/src/v2.0.h | 355 +++ .../c/src/v2.0/appData/ApplicationData.cpp | 174 ++ .../try/c/src/v2.0/appData/ApplicationData.h | 159 + .../try/c/src/v2.0/appData/Conversion.cpp | 200 ++ .../try/c/src/v2.0/appData/Conversion.h | 175 ++ .../src/v2.0/appData/ENDFconversionFlags.cpp | 174 ++ .../c/src/v2.0/appData/ENDFconversionFlags.h | 159 + .../try/c/src/v2.0/appData/Institution.cpp | 209 ++ .../try/c/src/v2.0/appData/Institution.h | 179 ++ .../v2.0/atomic/CoherentPhotonScattering.cpp | 400 +++ .../v2.0/atomic/CoherentPhotonScattering.h | 287 ++ .../try/c/src/v2.0/atomic/FormFactor.cpp | 217 ++ .../try/c/src/v2.0/atomic/FormFactor.h | 183 ++ .../v2.0/atomic/ImaginaryAnomalousFactor.cpp | 217 ++ .../v2.0/atomic/ImaginaryAnomalousFactor.h | 183 ++ .../atomic/IncoherentPhotonScattering.cpp | 314 ++ .../v2.0/atomic/IncoherentPhotonScattering.h | 239 ++ .../c/src/v2.0/atomic/RealAnomalousFactor.cpp | 217 ++ .../c/src/v2.0/atomic/RealAnomalousFactor.h | 183 ++ .../c/src/v2.0/atomic/ScatteringFactor.cpp | 217 ++ .../try/c/src/v2.0/atomic/ScatteringFactor.h | 183 ++ .../gnds-2.0/try/c/src/v2.0/common/Energy.cpp | 396 +++ .../gnds-2.0/try/c/src/v2.0/common/Energy.h | 283 ++ .../try/c/src/v2.0/common/ExternalFile.cpp | 270 ++ .../try/c/src/v2.0/common/ExternalFile.h | 215 ++ .../try/c/src/v2.0/common/ExternalFiles.cpp | 385 +++ .../try/c/src/v2.0/common/ExternalFiles.h | 291 ++ .../gnds-2.0/try/c/src/v2.0/common/Mass.cpp | 396 +++ .../gnds-2.0/try/c/src/v2.0/common/Mass.h | 283 ++ .../try/c/src/v2.0/common/Probability.cpp | 174 ++ .../try/c/src/v2.0/common/Probability.h | 159 + .../try/c/src/v2.0/common/Product.cpp | 330 +++ .../gnds-2.0/try/c/src/v2.0/common/Product.h | 247 ++ .../try/c/src/v2.0/common/Products.cpp | 295 ++ .../gnds-2.0/try/c/src/v2.0/common/Products.h | 233 ++ .../gnds-2.0/try/c/src/v2.0/common/Q.cpp | 327 +++ standards/gnds-2.0/try/c/src/v2.0/common/Q.h | 248 ++ .../try/c/src/v2.0/common/Temperature.cpp | 322 ++ .../try/c/src/v2.0/common/Temperature.h | 243 ++ .../covariance/AverageParameterCovariance.cpp | 288 ++ .../covariance/AverageParameterCovariance.h | 224 ++ .../try/c/src/v2.0/covariance/ColumnData.cpp | 279 ++ .../try/c/src/v2.0/covariance/ColumnData.h | 219 ++ .../src/v2.0/covariance/ColumnSensitivity.cpp | 174 ++ .../c/src/v2.0/covariance/ColumnSensitivity.h | 159 + .../try/c/src/v2.0/covariance/Covariance.cpp | 174 ++ .../try/c/src/v2.0/covariance/Covariance.h | 159 + .../src/v2.0/covariance/CovarianceMatrix.cpp | 238 ++ .../c/src/v2.0/covariance/CovarianceMatrix.h | 197 ++ .../src/v2.0/covariance/CovarianceSection.cpp | 290 ++ .../c/src/v2.0/covariance/CovarianceSection.h | 226 ++ .../v2.0/covariance/CovarianceSections.cpp | 295 ++ .../src/v2.0/covariance/CovarianceSections.h | 233 ++ .../c/src/v2.0/covariance/CovarianceSuite.cpp | 478 +++ .../c/src/v2.0/covariance/CovarianceSuite.h | 331 +++ .../try/c/src/v2.0/covariance/Mixed.cpp | 838 ++++++ .../try/c/src/v2.0/covariance/Mixed.h | 565 ++++ .../v2.0/covariance/ParameterCovariance.cpp | 373 +++ .../src/v2.0/covariance/ParameterCovariance.h | 277 ++ .../covariance/ParameterCovarianceMatrix.cpp | 287 ++ .../covariance/ParameterCovarianceMatrix.h | 223 ++ .../v2.0/covariance/ParameterCovariances.cpp | 414 +++ .../v2.0/covariance/ParameterCovariances.h | 302 ++ .../c/src/v2.0/covariance/ParameterLink.cpp | 270 ++ .../try/c/src/v2.0/covariance/ParameterLink.h | 215 ++ .../try/c/src/v2.0/covariance/Parameters.cpp | 385 +++ .../try/c/src/v2.0/covariance/Parameters.h | 291 ++ .../try/c/src/v2.0/covariance/RowData.cpp | 279 ++ .../try/c/src/v2.0/covariance/RowData.h | 219 ++ .../c/src/v2.0/covariance/RowSensitivity.cpp | 174 ++ .../c/src/v2.0/covariance/RowSensitivity.h | 159 + .../c/src/v2.0/covariance/SandwichProduct.cpp | 303 ++ .../c/src/v2.0/covariance/SandwichProduct.h | 231 ++ .../ShortRangeSelfScalingVariance.cpp | 279 ++ .../ShortRangeSelfScalingVariance.h | 219 ++ .../try/c/src/v2.0/covariance/Slice.cpp | 305 ++ .../try/c/src/v2.0/covariance/Slice.h | 235 ++ .../try/c/src/v2.0/covariance/Slices.cpp | 430 +++ .../try/c/src/v2.0/covariance/Slices.h | 320 ++ .../try/c/src/v2.0/covariance/Sum.cpp | 480 +++ .../gnds-2.0/try/c/src/v2.0/covariance/Sum.h | 342 +++ .../try/c/src/v2.0/covariance/Summand.cpp | 235 ++ .../try/c/src/v2.0/covariance/Summand.h | 195 ++ .../cpTransport/CoulombPlusNuclearElastic.cpp | 435 +++ .../cpTransport/CoulombPlusNuclearElastic.h | 307 ++ .../cpTransport/ImaginaryInterferenceTerm.cpp | 217 ++ .../cpTransport/ImaginaryInterferenceTerm.h | 183 ++ .../cpTransport/NuclearAmplitudeExpansion.cpp | 260 ++ .../cpTransport/NuclearAmplitudeExpansion.h | 207 ++ .../cpTransport/NuclearPlusInterference.cpp | 252 ++ .../cpTransport/NuclearPlusInterference.h | 203 ++ .../c/src/v2.0/cpTransport/NuclearTerm.cpp | 217 ++ .../try/c/src/v2.0/cpTransport/NuclearTerm.h | 183 ++ .../v2.0/cpTransport/RealInterferenceTerm.cpp | 217 ++ .../v2.0/cpTransport/RealInterferenceTerm.h | 183 ++ .../v2.0/cpTransport/RutherfordScattering.cpp | 127 + .../v2.0/cpTransport/RutherfordScattering.h | 133 + .../try/c/src/v2.0/documentation/Abstract.cpp | 488 +++ .../try/c/src/v2.0/documentation/Abstract.h | 336 +++ .../v2.0/documentation/Acknowledgement.cpp | 523 ++++ .../src/v2.0/documentation/Acknowledgement.h | 356 +++ .../v2.0/documentation/Acknowledgements.cpp | 385 +++ .../src/v2.0/documentation/Acknowledgements.h | 291 ++ .../c/src/v2.0/documentation/Affiliation.cpp | 200 ++ .../c/src/v2.0/documentation/Affiliation.h | 175 ++ .../c/src/v2.0/documentation/Affiliations.cpp | 295 ++ .../c/src/v2.0/documentation/Affiliations.h | 233 ++ .../try/c/src/v2.0/documentation/Author.cpp | 322 ++ .../try/c/src/v2.0/documentation/Author.h | 243 ++ .../try/c/src/v2.0/documentation/Authors.cpp | 340 +++ .../try/c/src/v2.0/documentation/Authors.h | 262 ++ .../try/c/src/v2.0/documentation/Bibitem.cpp | 523 ++++ .../try/c/src/v2.0/documentation/Bibitem.h | 356 +++ .../c/src/v2.0/documentation/Bibliography.cpp | 385 +++ .../c/src/v2.0/documentation/Bibliography.h | 291 ++ .../try/c/src/v2.0/documentation/Body.cpp | 488 +++ .../try/c/src/v2.0/documentation/Body.h | 336 +++ .../try/c/src/v2.0/documentation/CodeRepo.cpp | 270 ++ .../try/c/src/v2.0/documentation/CodeRepo.h | 215 ++ .../src/v2.0/documentation/Collaboration.cpp | 200 ++ .../c/src/v2.0/documentation/Collaboration.h | 175 ++ .../src/v2.0/documentation/Collaborations.cpp | 295 ++ .../c/src/v2.0/documentation/Collaborations.h | 233 ++ .../c/src/v2.0/documentation/ComputerCode.cpp | 451 +++ .../c/src/v2.0/documentation/ComputerCode.h | 315 ++ .../src/v2.0/documentation/ComputerCodes.cpp | 340 +++ .../c/src/v2.0/documentation/ComputerCodes.h | 262 ++ .../c/src/v2.0/documentation/Contributor.cpp | 357 +++ .../c/src/v2.0/documentation/Contributor.h | 263 ++ .../c/src/v2.0/documentation/Contributors.cpp | 340 +++ .../c/src/v2.0/documentation/Contributors.h | 262 ++ .../c/src/v2.0/documentation/Copyright.cpp | 523 ++++ .../try/c/src/v2.0/documentation/Copyright.h | 356 +++ .../v2.0/documentation/CorrectionScript.cpp | 488 +++ .../src/v2.0/documentation/CorrectionScript.h | 336 +++ .../v2.0/documentation/CovarianceScript.cpp | 488 +++ .../src/v2.0/documentation/CovarianceScript.h | 336 +++ .../try/c/src/v2.0/documentation/Date.cpp | 200 ++ .../try/c/src/v2.0/documentation/Date.h | 175 ++ .../try/c/src/v2.0/documentation/Dates.cpp | 295 ++ .../try/c/src/v2.0/documentation/Dates.h | 233 ++ .../src/v2.0/documentation/Documentation.cpp | 881 ++++++ .../c/src/v2.0/documentation/Documentation.h | 555 ++++ .../src/v2.0/documentation/EndfCompatible.cpp | 488 +++ .../c/src/v2.0/documentation/EndfCompatible.h | 336 +++ .../v2.0/documentation/ExecutionArguments.cpp | 488 +++ .../v2.0/documentation/ExecutionArguments.h | 336 +++ .../c/src/v2.0/documentation/ExforDataSet.cpp | 330 +++ .../c/src/v2.0/documentation/ExforDataSet.h | 247 ++ .../src/v2.0/documentation/ExforDataSets.cpp | 295 ++ .../c/src/v2.0/documentation/ExforDataSets.h | 233 ++ .../documentation/ExperimentalDataSets.cpp | 174 ++ .../v2.0/documentation/ExperimentalDataSets.h | 159 + .../c/src/v2.0/documentation/InputDeck.cpp | 523 ++++ .../try/c/src/v2.0/documentation/InputDeck.h | 356 +++ .../c/src/v2.0/documentation/InputDecks.cpp | 385 +++ .../try/c/src/v2.0/documentation/InputDecks.h | 291 ++ .../try/c/src/v2.0/documentation/Keyword.cpp | 523 ++++ .../try/c/src/v2.0/documentation/Keyword.h | 356 +++ .../try/c/src/v2.0/documentation/Keywords.cpp | 385 +++ .../try/c/src/v2.0/documentation/Keywords.h | 291 ++ .../try/c/src/v2.0/documentation/Note.cpp | 488 +++ .../try/c/src/v2.0/documentation/Note.h | 336 +++ .../c/src/v2.0/documentation/OutputDeck.cpp | 523 ++++ .../try/c/src/v2.0/documentation/OutputDeck.h | 356 +++ .../c/src/v2.0/documentation/OutputDecks.cpp | 385 +++ .../c/src/v2.0/documentation/OutputDecks.h | 291 ++ .../c/src/v2.0/documentation/RelatedItem.cpp | 235 ++ .../c/src/v2.0/documentation/RelatedItem.h | 195 ++ .../c/src/v2.0/documentation/RelatedItems.cpp | 340 +++ .../c/src/v2.0/documentation/RelatedItems.h | 262 ++ .../try/c/src/v2.0/documentation/Title.cpp | 488 +++ .../try/c/src/v2.0/documentation/Title.h | 336 +++ .../try/c/src/v2.0/documentation/Version.cpp | 488 +++ .../try/c/src/v2.0/documentation/Version.h | 336 +++ .../fissionFragmentData/DelayedNeutron.cpp | 252 ++ .../v2.0/fissionFragmentData/DelayedNeutron.h | 203 ++ .../fissionFragmentData/DelayedNeutrons.cpp | 250 ++ .../fissionFragmentData/DelayedNeutrons.h | 204 ++ .../FissionFragmentData.cpp | 260 ++ .../fissionFragmentData/FissionFragmentData.h | 207 ++ .../c/src/v2.0/fissionFragmentData/Rate.cpp | 174 ++ .../try/c/src/v2.0/fissionFragmentData/Rate.h | 159 + .../try/c/src/v2.0/fissionTransport/A.cpp | 127 + .../try/c/src/v2.0/fissionTransport/A.h | 133 + .../try/c/src/v2.0/fissionTransport/B.cpp | 127 + .../try/c/src/v2.0/fissionTransport/B.h | 133 + .../fissionTransport/DelayedBetaEnergy.cpp | 174 ++ .../v2.0/fissionTransport/DelayedBetaEnergy.h | 159 + .../fissionTransport/DelayedGammaEnergy.cpp | 174 ++ .../fissionTransport/DelayedGammaEnergy.h | 159 + .../fissionTransport/DelayedNeutronKE.cpp | 217 ++ .../v2.0/fissionTransport/DelayedNeutronKE.h | 183 ++ .../try/c/src/v2.0/fissionTransport/EFH.cpp | 200 ++ .../try/c/src/v2.0/fissionTransport/EFH.h | 175 ++ .../try/c/src/v2.0/fissionTransport/EFL.cpp | 200 ++ .../try/c/src/v2.0/fissionTransport/EFL.h | 175 ++ .../fissionTransport/FissionComponent.cpp | 322 ++ .../v2.0/fissionTransport/FissionComponent.h | 243 ++ .../fissionTransport/FissionComponents.cpp | 340 +++ .../v2.0/fissionTransport/FissionComponents.h | 262 ++ .../FissionEnergyReleased.cpp | 553 ++++ .../fissionTransport/FissionEnergyReleased.h | 371 +++ .../src/v2.0/fissionTransport/MadlandNix.cpp | 260 ++ .../c/src/v2.0/fissionTransport/MadlandNix.h | 207 ++ .../v2.0/fissionTransport/NeutrinoEnergy.cpp | 174 ++ .../v2.0/fissionTransport/NeutrinoEnergy.h | 159 + .../fissionTransport/NonNeutrinoEnergy.cpp | 174 ++ .../v2.0/fissionTransport/NonNeutrinoEnergy.h | 159 + .../fissionTransport/PromptGammaEnergy.cpp | 217 ++ .../v2.0/fissionTransport/PromptGammaEnergy.h | 183 ++ .../v2.0/fissionTransport/PromptNeutronKE.cpp | 217 ++ .../v2.0/fissionTransport/PromptNeutronKE.h | 183 ++ .../v2.0/fissionTransport/PromptProductKE.cpp | 217 ++ .../v2.0/fissionTransport/PromptProductKE.h | 183 ++ .../SimpleMaxwellianFission.cpp | 217 ++ .../SimpleMaxwellianFission.h | 183 ++ .../try/c/src/v2.0/fissionTransport/T_M.cpp | 174 ++ .../try/c/src/v2.0/fissionTransport/T_M.h | 159 + .../src/v2.0/fissionTransport/TotalEnergy.cpp | 174 ++ .../c/src/v2.0/fissionTransport/TotalEnergy.h | 159 + .../try/c/src/v2.0/fissionTransport/Watt.cpp | 260 ++ .../try/c/src/v2.0/fissionTransport/Watt.h | 207 ++ .../try/c/src/v2.0/fpy/ElapsedTime.cpp | 211 ++ .../gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.h | 181 ++ .../try/c/src/v2.0/fpy/ElapsedTimes.cpp | 250 ++ .../try/c/src/v2.0/fpy/ElapsedTimes.h | 204 ++ .../gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp | 174 ++ .../gnds-2.0/try/c/src/v2.0/fpy/Energy.h | 159 + .../try/c/src/v2.0/fpy/IncidentEnergies.cpp | 250 ++ .../try/c/src/v2.0/fpy/IncidentEnergies.h | 204 ++ .../try/c/src/v2.0/fpy/IncidentEnergy.cpp | 252 ++ .../try/c/src/v2.0/fpy/IncidentEnergy.h | 203 ++ .../gnds-2.0/try/c/src/v2.0/fpy/Nuclides.cpp | 418 +++ .../gnds-2.0/try/c/src/v2.0/fpy/Nuclides.h | 296 ++ .../try/c/src/v2.0/fpy/ProductYield.cpp | 252 ++ .../try/c/src/v2.0/fpy/ProductYield.h | 203 ++ .../try/c/src/v2.0/fpy/ProductYields.cpp | 250 ++ .../try/c/src/v2.0/fpy/ProductYields.h | 204 ++ .../gnds-2.0/try/c/src/v2.0/fpy/Time.cpp | 133 + standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h | 137 + .../gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp | 260 ++ .../gnds-2.0/try/c/src/v2.0/fpy/Yields.h | 207 ++ .../gnds-2.0/try/c/src/v2.0/map/Import.cpp | 235 ++ .../gnds-2.0/try/c/src/v2.0/map/Import.h | 195 ++ standards/gnds-2.0/try/c/src/v2.0/map/Map.cpp | 1348 +++++++++ standards/gnds-2.0/try/c/src/v2.0/map/Map.h | 886 ++++++ .../gnds-2.0/try/c/src/v2.0/map/Protare.cpp | 375 +++ .../gnds-2.0/try/c/src/v2.0/map/Protare.h | 275 ++ .../gnds-2.0/try/c/src/v2.0/map/TNSL.cpp | 445 +++ standards/gnds-2.0/try/c/src/v2.0/map/TNSL.h | 315 ++ .../gnds-2.0/try/c/src/v2.0/pops/Alias.cpp | 200 ++ .../gnds-2.0/try/c/src/v2.0/pops/Alias.h | 175 ++ .../gnds-2.0/try/c/src/v2.0/pops/Aliases.cpp | 504 ++++ .../gnds-2.0/try/c/src/v2.0/pops/Aliases.h | 360 +++ .../gnds-2.0/try/c/src/v2.0/pops/Atomic.cpp | 174 ++ .../gnds-2.0/try/c/src/v2.0/pops/Atomic.h | 159 + .../try/c/src/v2.0/pops/AverageEnergies.cpp | 340 +++ .../try/c/src/v2.0/pops/AverageEnergies.h | 262 ++ .../try/c/src/v2.0/pops/AverageEnergy.cpp | 322 ++ .../try/c/src/v2.0/pops/AverageEnergy.h | 243 ++ .../gnds-2.0/try/c/src/v2.0/pops/Baryon.cpp | 424 +++ .../gnds-2.0/try/c/src/v2.0/pops/Baryon.h | 299 ++ .../gnds-2.0/try/c/src/v2.0/pops/Baryons.cpp | 250 ++ .../gnds-2.0/try/c/src/v2.0/pops/Baryons.h | 204 ++ .../try/c/src/v2.0/pops/BindingEnergy.cpp | 396 +++ .../try/c/src/v2.0/pops/BindingEnergy.h | 283 ++ .../gnds-2.0/try/c/src/v2.0/pops/Charge.cpp | 324 ++ .../gnds-2.0/try/c/src/v2.0/pops/Charge.h | 245 ++ .../try/c/src/v2.0/pops/ChemicalElement.cpp | 322 ++ .../try/c/src/v2.0/pops/ChemicalElement.h | 243 ++ .../try/c/src/v2.0/pops/ChemicalElements.cpp | 340 +++ .../try/c/src/v2.0/pops/ChemicalElements.h | 262 ++ .../c/src/v2.0/pops/ConfidenceIntervals.cpp | 340 +++ .../try/c/src/v2.0/pops/ConfidenceIntervals.h | 262 ++ .../try/c/src/v2.0/pops/Configuration.cpp | 287 ++ .../try/c/src/v2.0/pops/Configuration.h | 223 ++ .../try/c/src/v2.0/pops/Configurations.cpp | 295 ++ .../try/c/src/v2.0/pops/Configurations.h | 233 ++ .../try/c/src/v2.0/pops/Continuum.cpp | 174 ++ .../gnds-2.0/try/c/src/v2.0/pops/Continuum.h | 159 + .../gnds-2.0/try/c/src/v2.0/pops/Decay.cpp | 279 ++ .../gnds-2.0/try/c/src/v2.0/pops/Decay.h | 219 ++ .../try/c/src/v2.0/pops/DecayData.cpp | 217 ++ .../gnds-2.0/try/c/src/v2.0/pops/DecayData.h | 183 ++ .../try/c/src/v2.0/pops/DecayMode.cpp | 459 +++ .../gnds-2.0/try/c/src/v2.0/pops/DecayMode.h | 319 ++ .../try/c/src/v2.0/pops/DecayModes.cpp | 295 ++ .../gnds-2.0/try/c/src/v2.0/pops/DecayModes.h | 233 ++ .../try/c/src/v2.0/pops/DecayPath.cpp | 340 +++ .../gnds-2.0/try/c/src/v2.0/pops/DecayPath.h | 262 ++ .../gnds-2.0/try/c/src/v2.0/pops/Discrete.cpp | 424 +++ .../gnds-2.0/try/c/src/v2.0/pops/Discrete.h | 299 ++ .../try/c/src/v2.0/pops/DiscreteEnergy.cpp | 322 ++ .../try/c/src/v2.0/pops/DiscreteEnergy.h | 243 ++ .../gnds-2.0/try/c/src/v2.0/pops/Energy.cpp | 396 +++ .../gnds-2.0/try/c/src/v2.0/pops/Energy.h | 283 ++ .../try/c/src/v2.0/pops/GaugeBoson.cpp | 424 +++ .../gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.h | 299 ++ .../try/c/src/v2.0/pops/GaugeBosons.cpp | 250 ++ .../try/c/src/v2.0/pops/GaugeBosons.h | 204 ++ .../gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp | 324 ++ .../gnds-2.0/try/c/src/v2.0/pops/Halflife.h | 245 ++ .../try/c/src/v2.0/pops/Intensity.cpp | 322 ++ .../gnds-2.0/try/c/src/v2.0/pops/Intensity.h | 243 ++ .../pops/InternalConversionCoefficients.cpp | 340 +++ .../pops/InternalConversionCoefficients.h | 262 ++ .../pops/InternalPairFormationCoefficient.cpp | 322 ++ .../pops/InternalPairFormationCoefficient.h | 243 ++ .../gnds-2.0/try/c/src/v2.0/pops/Interval.cpp | 235 ++ .../gnds-2.0/try/c/src/v2.0/pops/Interval.h | 195 ++ .../gnds-2.0/try/c/src/v2.0/pops/Isotope.cpp | 244 ++ .../gnds-2.0/try/c/src/v2.0/pops/Isotope.h | 199 ++ .../gnds-2.0/try/c/src/v2.0/pops/Isotopes.cpp | 295 ++ .../gnds-2.0/try/c/src/v2.0/pops/Isotopes.h | 233 ++ .../gnds-2.0/try/c/src/v2.0/pops/Lepton.cpp | 459 +++ .../gnds-2.0/try/c/src/v2.0/pops/Lepton.h | 319 ++ .../gnds-2.0/try/c/src/v2.0/pops/Leptons.cpp | 295 ++ .../gnds-2.0/try/c/src/v2.0/pops/Leptons.h | 233 ++ .../try/c/src/v2.0/pops/LogNormal.cpp | 174 ++ .../gnds-2.0/try/c/src/v2.0/pops/LogNormal.h | 159 + .../gnds-2.0/try/c/src/v2.0/pops/Mass.cpp | 365 +++ standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h | 267 ++ .../try/c/src/v2.0/pops/MetaStable.cpp | 235 ++ .../gnds-2.0/try/c/src/v2.0/pops/MetaStable.h | 195 ++ .../gnds-2.0/try/c/src/v2.0/pops/Nucleus.cpp | 502 ++++ .../gnds-2.0/try/c/src/v2.0/pops/Nucleus.h | 343 +++ .../gnds-2.0/try/c/src/v2.0/pops/Nuclide.cpp | 467 +++ .../gnds-2.0/try/c/src/v2.0/pops/Nuclide.h | 323 ++ .../gnds-2.0/try/c/src/v2.0/pops/Nuclides.cpp | 250 ++ .../gnds-2.0/try/c/src/v2.0/pops/Nuclides.h | 204 ++ .../gnds-2.0/try/c/src/v2.0/pops/Parity.cpp | 396 +++ .../gnds-2.0/try/c/src/v2.0/pops/Parity.h | 283 ++ .../gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp | 217 ++ standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h | 183 ++ .../v2.0/pops/PhotonEmissionProbabilities.cpp | 340 +++ .../v2.0/pops/PhotonEmissionProbabilities.h | 262 ++ .../try/c/src/v2.0/pops/PoPs_database.cpp | 580 ++++ .../try/c/src/v2.0/pops/PoPs_database.h | 387 +++ .../v2.0/pops/PositronEmissionIntensity.cpp | 209 ++ .../src/v2.0/pops/PositronEmissionIntensity.h | 179 ++ .../try/c/src/v2.0/pops/Probability.cpp | 205 ++ .../try/c/src/v2.0/pops/Probability.h | 175 ++ .../gnds-2.0/try/c/src/v2.0/pops/Product.cpp | 200 ++ .../gnds-2.0/try/c/src/v2.0/pops/Product.h | 175 ++ .../gnds-2.0/try/c/src/v2.0/pops/Products.cpp | 295 ++ .../gnds-2.0/try/c/src/v2.0/pops/Products.h | 233 ++ standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp | 396 +++ standards/gnds-2.0/try/c/src/v2.0/pops/Q.h | 283 ++ .../gnds-2.0/try/c/src/v2.0/pops/Shell.cpp | 235 ++ .../gnds-2.0/try/c/src/v2.0/pops/Shell.h | 195 ++ .../gnds-2.0/try/c/src/v2.0/pops/Spectra.cpp | 295 ++ .../gnds-2.0/try/c/src/v2.0/pops/Spectra.h | 233 ++ .../gnds-2.0/try/c/src/v2.0/pops/Spectrum.cpp | 363 +++ .../gnds-2.0/try/c/src/v2.0/pops/Spectrum.h | 268 ++ .../gnds-2.0/try/c/src/v2.0/pops/Spin.cpp | 396 +++ standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h | 283 ++ .../gnds-2.0/try/c/src/v2.0/pops/Standard.cpp | 174 ++ .../gnds-2.0/try/c/src/v2.0/pops/Standard.h | 159 + .../try/c/src/v2.0/pops/Uncertainty.cpp | 303 ++ .../try/c/src/v2.0/pops/Uncertainty.h | 231 ++ .../try/c/src/v2.0/pops/Unorthodox.cpp | 252 ++ .../gnds-2.0/try/c/src/v2.0/pops/Unorthodox.h | 203 ++ .../try/c/src/v2.0/pops/Unorthodoxes.cpp | 250 ++ .../try/c/src/v2.0/pops/Unorthodoxes.h | 204 ++ .../c/src/v2.0/processed/AngularEnergyMC.cpp | 287 ++ .../c/src/v2.0/processed/AngularEnergyMC.h | 223 ++ .../c/src/v2.0/processed/AvailableEnergy.cpp | 217 ++ .../c/src/v2.0/processed/AvailableEnergy.h | 183 ++ .../src/v2.0/processed/AvailableMomentum.cpp | 217 ++ .../c/src/v2.0/processed/AvailableMomentum.h | 183 ++ .../v2.0/processed/AverageProductEnergy.cpp | 260 ++ .../src/v2.0/processed/AverageProductEnergy.h | 207 ++ .../v2.0/processed/AverageProductMomentum.cpp | 260 ++ .../v2.0/processed/AverageProductMomentum.h | 207 ++ .../c/src/v2.0/processed/EnergyAngularMC.cpp | 287 ++ .../c/src/v2.0/processed/EnergyAngularMC.h | 223 ++ .../try/c/src/v2.0/processed/MultiGroup3d.cpp | 244 ++ .../try/c/src/v2.0/processed/MultiGroup3d.h | 199 ++ .../try/c/src/v2.0/resonances/BreitWigner.cpp | 443 +++ .../try/c/src/v2.0/resonances/BreitWigner.h | 311 ++ .../try/c/src/v2.0/resonances/Channel.cpp | 470 +++ .../try/c/src/v2.0/resonances/Channel.h | 327 +++ .../try/c/src/v2.0/resonances/Channels.cpp | 475 +++ .../try/c/src/v2.0/resonances/Channels.h | 349 +++ .../c/src/v2.0/resonances/EnergyInterval.cpp | 273 ++ .../c/src/v2.0/resonances/EnergyInterval.h | 217 ++ .../c/src/v2.0/resonances/EnergyIntervals.cpp | 420 +++ .../c/src/v2.0/resonances/EnergyIntervals.h | 311 ++ .../c/src/v2.0/resonances/ExternalRMatrix.cpp | 240 ++ .../c/src/v2.0/resonances/ExternalRMatrix.h | 195 ++ .../src/v2.0/resonances/HardSphereRadius.cpp | 174 ++ .../c/src/v2.0/resonances/HardSphereRadius.h | 159 + .../gnds-2.0/try/c/src/v2.0/resonances/J.cpp | 287 ++ .../gnds-2.0/try/c/src/v2.0/resonances/J.h | 223 ++ .../gnds-2.0/try/c/src/v2.0/resonances/Js.cpp | 295 ++ .../gnds-2.0/try/c/src/v2.0/resonances/Js.h | 233 ++ .../gnds-2.0/try/c/src/v2.0/resonances/L.cpp | 244 ++ .../gnds-2.0/try/c/src/v2.0/resonances/L.h | 199 ++ .../c/src/v2.0/resonances/LevelSpacing.cpp | 260 ++ .../try/c/src/v2.0/resonances/LevelSpacing.h | 207 ++ .../gnds-2.0/try/c/src/v2.0/resonances/Ls.cpp | 295 ++ .../gnds-2.0/try/c/src/v2.0/resonances/Ls.h | 233 ++ .../try/c/src/v2.0/resonances/RMatrix.cpp | 540 ++++ .../try/c/src/v2.0/resonances/RMatrix.h | 367 +++ .../try/c/src/v2.0/resonances/Resolved.cpp | 239 ++ .../try/c/src/v2.0/resonances/Resolved.h | 198 ++ .../v2.0/resonances/ResonanceParameters.cpp | 174 ++ .../src/v2.0/resonances/ResonanceParameters.h | 159 + .../src/v2.0/resonances/ResonanceReaction.cpp | 443 +++ .../c/src/v2.0/resonances/ResonanceReaction.h | 311 ++ .../v2.0/resonances/ResonanceReactions.cpp | 385 +++ .../src/v2.0/resonances/ResonanceReactions.h | 291 ++ .../try/c/src/v2.0/resonances/Resonances.cpp | 670 +++++ .../try/c/src/v2.0/resonances/Resonances.h | 457 +++ .../src/v2.0/resonances/ScatteringRadius.cpp | 134 + .../c/src/v2.0/resonances/ScatteringRadius.h | 138 + .../try/c/src/v2.0/resonances/SpinGroup.cpp | 322 ++ .../try/c/src/v2.0/resonances/SpinGroup.h | 243 ++ .../try/c/src/v2.0/resonances/SpinGroups.cpp | 340 +++ .../try/c/src/v2.0/resonances/SpinGroups.h | 262 ++ .../c/src/v2.0/resonances/TabulatedWidths.cpp | 451 +++ .../c/src/v2.0/resonances/TabulatedWidths.h | 315 ++ .../try/c/src/v2.0/resonances/Unresolved.cpp | 237 ++ .../try/c/src/v2.0/resonances/Unresolved.h | 196 ++ .../try/c/src/v2.0/resonances/Width.cpp | 330 +++ .../try/c/src/v2.0/resonances/Width.h | 247 ++ .../try/c/src/v2.0/resonances/Widths.cpp | 295 ++ .../try/c/src/v2.0/resonances/Widths.h | 233 ++ .../AngularDistributionReconstructed.cpp | 322 ++ .../styles/AngularDistributionReconstructed.h | 243 ++ .../c/src/v2.0/styles/AverageProductData.cpp | 322 ++ .../c/src/v2.0/styles/AverageProductData.h | 243 ++ .../try/c/src/v2.0/styles/Bondarenko.cpp | 322 ++ .../try/c/src/v2.0/styles/Bondarenko.h | 243 ++ .../CoulombPlusNuclearElasticMuCutoff.cpp | 314 ++ .../CoulombPlusNuclearElasticMuCutoff.h | 239 ++ .../v2.0/styles/CrossSectionReconstructed.cpp | 322 ++ .../v2.0/styles/CrossSectionReconstructed.h | 243 ++ .../c/src/v2.0/styles/EqualProbableBins.cpp | 314 ++ .../try/c/src/v2.0/styles/EqualProbableBins.h | 239 ++ .../try/c/src/v2.0/styles/Evaluated.cpp | 435 +++ .../try/c/src/v2.0/styles/Evaluated.h | 307 ++ .../gnds-2.0/try/c/src/v2.0/styles/Flux.cpp | 209 ++ .../gnds-2.0/try/c/src/v2.0/styles/Flux.h | 179 ++ .../c/src/v2.0/styles/GriddedCrossSection.cpp | 322 ++ .../c/src/v2.0/styles/GriddedCrossSection.h | 243 ++ .../gnds-2.0/try/c/src/v2.0/styles/Heated.cpp | 322 ++ .../gnds-2.0/try/c/src/v2.0/styles/Heated.h | 243 ++ .../c/src/v2.0/styles/HeatedMultiGroup.cpp | 408 +++ .../try/c/src/v2.0/styles/HeatedMultiGroup.h | 291 ++ .../try/c/src/v2.0/styles/InverseSpeed.cpp | 209 ++ .../try/c/src/v2.0/styles/InverseSpeed.h | 179 ++ .../try/c/src/v2.0/styles/MonteCarlo_cdf.cpp | 279 ++ .../try/c/src/v2.0/styles/MonteCarlo_cdf.h | 219 ++ .../try/c/src/v2.0/styles/MultiBand.cpp | 314 ++ .../try/c/src/v2.0/styles/MultiBand.h | 239 ++ .../try/c/src/v2.0/styles/MultiGroup.cpp | 209 ++ .../try/c/src/v2.0/styles/MultiGroup.h | 179 ++ .../v2.0/styles/ProjectileEnergyDomain.cpp | 270 ++ .../src/v2.0/styles/ProjectileEnergyDomain.h | 215 ++ .../try/c/src/v2.0/styles/Realization.cpp | 279 ++ .../try/c/src/v2.0/styles/Realization.h | 219 ++ .../try/c/src/v2.0/styles/SigmaZeros.cpp | 209 ++ .../try/c/src/v2.0/styles/SigmaZeros.h | 179 ++ .../c/src/v2.0/styles/SnElasticUpScatter.cpp | 314 ++ .../c/src/v2.0/styles/SnElasticUpScatter.h | 239 ++ .../gnds-2.0/try/c/src/v2.0/styles/Styles.cpp | 2610 +++++++++++++++++ .../gnds-2.0/try/c/src/v2.0/styles/Styles.h | 1648 +++++++++++ .../try/c/src/v2.0/styles/Temperature.cpp | 322 ++ .../try/c/src/v2.0/styles/Temperature.h | 243 ++ .../try/c/src/v2.0/styles/Transportable.cpp | 244 ++ .../try/c/src/v2.0/styles/Transportable.h | 199 ++ .../try/c/src/v2.0/styles/Transportables.cpp | 330 +++ .../try/c/src/v2.0/styles/Transportables.h | 253 ++ .../src/v2.0/styles/URR_probabilityTables.cpp | 279 ++ .../c/src/v2.0/styles/URR_probabilityTables.h | 219 ++ .../gnds-2.0/try/c/src/v2.0/transport/A.cpp | 133 + .../gnds-2.0/try/c/src/v2.0/transport/A.h | 137 + .../gnds-2.0/try/c/src/v2.0/transport/Add.cpp | 165 ++ .../gnds-2.0/try/c/src/v2.0/transport/Add.h | 155 + .../c/src/v2.0/transport/AngularEnergy.cpp | 244 ++ .../try/c/src/v2.0/transport/AngularEnergy.h | 199 ++ .../c/src/v2.0/transport/AngularTwoBody.cpp | 373 +++ .../try/c/src/v2.0/transport/AngularTwoBody.h | 271 ++ .../v2.0/transport/Angular_uncorrelated.cpp | 260 ++ .../src/v2.0/transport/Angular_uncorrelated.h | 207 ++ .../try/c/src/v2.0/transport/Background.cpp | 260 ++ .../try/c/src/v2.0/transport/Background.h | 207 ++ .../try/c/src/v2.0/transport/Branching1d.cpp | 165 ++ .../try/c/src/v2.0/transport/Branching1d.h | 155 + .../try/c/src/v2.0/transport/Branching3d.cpp | 200 ++ .../try/c/src/v2.0/transport/Branching3d.h | 175 ++ .../c/src/v2.0/transport/CoherentPhoton.cpp | 127 + .../try/c/src/v2.0/transport/CoherentPhoton.h | 133 + .../try/c/src/v2.0/transport/CrossSection.cpp | 175 ++ .../try/c/src/v2.0/transport/CrossSection.h | 164 ++ .../c/src/v2.0/transport/CrossSectionSum.cpp | 330 +++ .../c/src/v2.0/transport/CrossSectionSum.h | 247 ++ .../c/src/v2.0/transport/CrossSectionSums.cpp | 295 ++ .../c/src/v2.0/transport/CrossSectionSums.h | 233 ++ .../c/src/v2.0/transport/DiscreteGamma.cpp | 279 ++ .../try/c/src/v2.0/transport/DiscreteGamma.h | 219 ++ .../try/c/src/v2.0/transport/Distribution.cpp | 146 + .../try/c/src/v2.0/transport/Distribution.h | 150 + .../DoubleDifferentialCrossSection.cpp | 518 ++++ .../DoubleDifferentialCrossSection.h | 351 +++ .../c/src/v2.0/transport/EnergyAngular.cpp | 244 ++ .../try/c/src/v2.0/transport/EnergyAngular.h | 199 ++ .../v2.0/transport/Energy_uncorrelated.cpp | 604 ++++ .../src/v2.0/transport/Energy_uncorrelated.h | 399 +++ .../try/c/src/v2.0/transport/Evaporation.cpp | 217 ++ .../try/c/src/v2.0/transport/Evaporation.h | 183 ++ .../gnds-2.0/try/c/src/v2.0/transport/F.cpp | 133 + .../gnds-2.0/try/c/src/v2.0/transport/F.h | 137 + .../try/c/src/v2.0/transport/FastRegion.cpp | 133 + .../try/c/src/v2.0/transport/FastRegion.h | 137 + .../try/c/src/v2.0/transport/Forward.cpp | 127 + .../try/c/src/v2.0/transport/Forward.h | 133 + .../gnds-2.0/try/c/src/v2.0/transport/G.cpp | 217 ++ .../gnds-2.0/try/c/src/v2.0/transport/G.h | 183 ++ .../src/v2.0/transport/GeneralEvaporation.cpp | 260 ++ .../c/src/v2.0/transport/GeneralEvaporation.h | 207 ++ .../c/src/v2.0/transport/IncoherentPhoton.cpp | 127 + .../c/src/v2.0/transport/IncoherentPhoton.h | 133 + .../v2.0/transport/IncompleteReactions.cpp | 174 ++ .../src/v2.0/transport/IncompleteReactions.h | 159 + .../try/c/src/v2.0/transport/Isotropic2d.cpp | 127 + .../try/c/src/v2.0/transport/Isotropic2d.h | 133 + .../try/c/src/v2.0/transport/KalbachMann.cpp | 330 +++ .../try/c/src/v2.0/transport/KalbachMann.h | 247 ++ .../try/c/src/v2.0/transport/MultiGroup3d.cpp | 244 ++ .../try/c/src/v2.0/transport/MultiGroup3d.h | 199 ++ .../try/c/src/v2.0/transport/Multiplicity.cpp | 138 + .../try/c/src/v2.0/transport/Multiplicity.h | 142 + .../c/src/v2.0/transport/MultiplicitySum.cpp | 287 ++ .../c/src/v2.0/transport/MultiplicitySum.h | 223 ++ .../c/src/v2.0/transport/MultiplicitySums.cpp | 295 ++ .../c/src/v2.0/transport/MultiplicitySums.h | 233 ++ .../c/src/v2.0/transport/NBodyPhaseSpace.cpp | 209 ++ .../c/src/v2.0/transport/NBodyPhaseSpace.h | 179 ++ .../c/src/v2.0/transport/OrphanProduct.cpp | 287 ++ .../try/c/src/v2.0/transport/OrphanProduct.h | 223 ++ .../c/src/v2.0/transport/OrphanProducts.cpp | 295 ++ .../try/c/src/v2.0/transport/OrphanProducts.h | 233 ++ .../c/src/v2.0/transport/OutputChannel.cpp | 330 +++ .../try/c/src/v2.0/transport/OutputChannel.h | 247 ++ .../transport/PhotonEmissionProbabilities.cpp | 174 ++ .../transport/PhotonEmissionProbabilities.h | 159 + .../try/c/src/v2.0/transport/PrimaryGamma.cpp | 314 ++ .../try/c/src/v2.0/transport/PrimaryGamma.h | 239 ++ .../try/c/src/v2.0/transport/Production.cpp | 287 ++ .../try/c/src/v2.0/transport/Production.h | 223 ++ .../try/c/src/v2.0/transport/Productions.cpp | 174 ++ .../try/c/src/v2.0/transport/Productions.h | 159 + .../gnds-2.0/try/c/src/v2.0/transport/R.cpp | 133 + .../gnds-2.0/try/c/src/v2.0/transport/R.h | 137 + .../try/c/src/v2.0/transport/Reaction.cpp | 365 +++ .../try/c/src/v2.0/transport/Reaction.h | 267 ++ .../c/src/v2.0/transport/ReactionSuite.cpp | 814 +++++ .../try/c/src/v2.0/transport/ReactionSuite.h | 519 ++++ .../try/c/src/v2.0/transport/Reactions.cpp | 340 +++ .../try/c/src/v2.0/transport/Reactions.h | 262 ++ .../try/c/src/v2.0/transport/Recoil.cpp | 165 ++ .../try/c/src/v2.0/transport/Recoil.h | 155 + .../try/c/src/v2.0/transport/Reference.cpp | 200 ++ .../try/c/src/v2.0/transport/Reference.h | 175 ++ .../c/src/v2.0/transport/ResolvedRegion.cpp | 133 + .../try/c/src/v2.0/transport/ResolvedRegion.h | 137 + .../c/src/v2.0/transport/ResonancesLink.cpp | 200 ++ .../try/c/src/v2.0/transport/ResonancesLink.h | 175 ++ .../transport/ResonancesWithBackground.cpp | 295 ++ .../v2.0/transport/ResonancesWithBackground.h | 227 ++ .../try/c/src/v2.0/transport/Summands.cpp | 250 ++ .../try/c/src/v2.0/transport/Summands.h | 204 ++ .../try/c/src/v2.0/transport/Sums.cpp | 217 ++ .../gnds-2.0/try/c/src/v2.0/transport/Sums.h | 183 ++ .../try/c/src/v2.0/transport/Theta.cpp | 217 ++ .../gnds-2.0/try/c/src/v2.0/transport/Theta.h | 183 ++ .../gnds-2.0/try/c/src/v2.0/transport/U.cpp | 200 ++ .../gnds-2.0/try/c/src/v2.0/transport/U.h | 175 ++ .../transport/URR_probabilityTables1d.cpp | 168 ++ .../v2.0/transport/URR_probabilityTables1d.h | 157 + .../try/c/src/v2.0/transport/Uncorrelated.cpp | 287 ++ .../try/c/src/v2.0/transport/Uncorrelated.h | 223 ++ .../c/src/v2.0/transport/UnresolvedRegion.cpp | 133 + .../c/src/v2.0/transport/UnresolvedRegion.h | 137 + .../try/c/src/v2.0/transport/Unspecified.cpp | 200 ++ .../try/c/src/v2.0/transport/Unspecified.h | 175 ++ .../try/c/src/v2.0/transport/Weighted.cpp | 432 +++ .../try/c/src/v2.0/transport/Weighted.h | 303 ++ .../v2.0/transport/WeightedFunctionals.cpp | 174 ++ .../src/v2.0/transport/WeightedFunctionals.h | 159 + .../c/src/v2.0/tsl/BoundAtomCrossSection.cpp | 200 ++ .../c/src/v2.0/tsl/BoundAtomCrossSection.h | 175 ++ .../gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.cpp | 252 ++ .../gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.h | 203 ++ .../try/c/src/v2.0/tsl/BraggEdges.cpp | 250 ++ .../gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.h | 204 ++ .../try/c/src/v2.0/tsl/BraggEnergy.cpp | 174 ++ .../gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h | 159 + .../src/v2.0/tsl/CoherentAtomCrossSection.cpp | 200 ++ .../c/src/v2.0/tsl/CoherentAtomCrossSection.h | 175 ++ .../c/src/v2.0/tsl/DebyeWallerIntegral.cpp | 174 ++ .../try/c/src/v2.0/tsl/DebyeWallerIntegral.h | 159 + .../src/v2.0/tsl/DistinctScatteringKernel.cpp | 174 ++ .../c/src/v2.0/tsl/DistinctScatteringKernel.h | 159 + .../try/c/src/v2.0/tsl/E_critical.cpp | 200 ++ .../gnds-2.0/try/c/src/v2.0/tsl/E_critical.h | 175 ++ .../gnds-2.0/try/c/src/v2.0/tsl/E_max.cpp | 200 ++ standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.h | 175 ++ .../c/src/v2.0/tsl/FreeGasApproximation.cpp | 127 + .../try/c/src/v2.0/tsl/FreeGasApproximation.h | 133 + .../c/src/v2.0/tsl/GaussianApproximation.cpp | 174 ++ .../c/src/v2.0/tsl/GaussianApproximation.h | 159 + .../try/c/src/v2.0/tsl/PhononSpectrum.cpp | 174 ++ .../try/c/src/v2.0/tsl/PhononSpectrum.h | 159 + .../try/c/src/v2.0/tsl/SCTApproximation.cpp | 127 + .../try/c/src/v2.0/tsl/SCTApproximation.h | 133 + .../gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp | 174 ++ .../gnds-2.0/try/c/src/v2.0/tsl/S_table.h | 159 + .../try/c/src/v2.0/tsl/ScatteringAtom.cpp | 580 ++++ .../try/c/src/v2.0/tsl/ScatteringAtom.h | 387 +++ .../try/c/src/v2.0/tsl/ScatteringAtoms.cpp | 340 +++ .../try/c/src/v2.0/tsl/ScatteringAtoms.h | 262 ++ .../c/src/v2.0/tsl/SelfScatteringKernel.cpp | 170 ++ .../try/c/src/v2.0/tsl/SelfScatteringKernel.h | 159 + .../try/c/src/v2.0/tsl/StructureFactor.cpp | 174 ++ .../try/c/src/v2.0/tsl/StructureFactor.h | 159 + .../try/c/src/v2.0/tsl/T_effective.cpp | 174 ++ .../gnds-2.0/try/c/src/v2.0/tsl/T_effective.h | 159 + .../v2.0/tsl/ThermalNeutronScatteringLaw.cpp | 200 ++ .../v2.0/tsl/ThermalNeutronScatteringLaw.h | 175 ++ .../tsl/ThermalNeutronScatteringLaw1d.cpp | 200 ++ .../v2.0/tsl/ThermalNeutronScatteringLaw1d.h | 175 ++ ...alNeutronScatteringLaw_coherentElastic.cpp | 238 ++ ...rmalNeutronScatteringLaw_coherentElastic.h | 197 ++ ...NeutronScatteringLaw_incoherentElastic.cpp | 322 ++ ...alNeutronScatteringLaw_incoherentElastic.h | 243 ++ ...utronScatteringLaw_incoherentInelastic.cpp | 384 +++ ...NeutronScatteringLaw_incoherentInelastic.h | 279 ++ .../try/python/src/v2.0/appData.python.cpp | 37 + .../v2.0/appData/ApplicationData.python.cpp | 56 + .../src/v2.0/appData/Conversion.python.cpp | 63 + .../appData/ENDFconversionFlags.python.cpp | 56 + .../src/v2.0/appData/Institution.python.cpp | 63 + .../try/python/src/v2.0/atomic.python.cpp | 41 + .../CoherentPhotonScattering.python.cpp | 98 + .../src/v2.0/atomic/FormFactor.python.cpp | 63 + .../ImaginaryAnomalousFactor.python.cpp | 63 + .../IncoherentPhotonScattering.python.cpp | 84 + .../atomic/RealAnomalousFactor.python.cpp | 63 + .../v2.0/atomic/ScatteringFactor.python.cpp | 63 + .../try/python/src/v2.0/common.python.cpp | 47 + .../python/src/v2.0/common/Energy.python.cpp | 91 + .../src/v2.0/common/ExternalFile.python.cpp | 77 + .../src/v2.0/common/ExternalFiles.python.cpp | 56 + .../python/src/v2.0/common/Mass.python.cpp | 91 + .../src/v2.0/common/Probability.python.cpp | 56 + .../python/src/v2.0/common/Product.python.cpp | 84 + .../src/v2.0/common/Products.python.cpp | 56 + .../try/python/src/v2.0/common/Q.python.cpp | 123 + .../src/v2.0/common/Temperature.python.cpp | 84 + .../try/python/src/v2.0/covariance.python.cpp | 73 + .../AverageParameterCovariance.python.cpp | 92 + .../src/v2.0/covariance/ColumnData.python.cpp | 77 + .../covariance/ColumnSensitivity.python.cpp | 56 + .../src/v2.0/covariance/Covariance.python.cpp | 56 + .../covariance/CovarianceMatrix.python.cpp | 91 + .../covariance/CovarianceSection.python.cpp | 104 + .../covariance/CovarianceSections.python.cpp | 56 + .../covariance/CovarianceSuite.python.cpp | 112 + .../src/v2.0/covariance/Mixed.python.cpp | 77 + .../covariance/ParameterCovariance.python.cpp | 70 + .../ParameterCovarianceMatrix.python.cpp | 77 + .../ParameterCovariances.python.cpp | 63 + .../v2.0/covariance/ParameterLink.python.cpp | 77 + .../src/v2.0/covariance/Parameters.python.cpp | 56 + .../src/v2.0/covariance/RowData.python.cpp | 77 + .../v2.0/covariance/RowSensitivity.python.cpp | 56 + .../covariance/SandwichProduct.python.cpp | 77 + .../ShortRangeSelfScalingVariance.python.cpp | 77 + .../src/v2.0/covariance/Slice.python.cpp | 84 + .../src/v2.0/covariance/Slices.python.cpp | 56 + .../python/src/v2.0/covariance/Sum.python.cpp | 84 + .../src/v2.0/covariance/Summand.python.cpp | 70 + .../python/src/v2.0/cpTransport.python.cpp | 43 + .../CoulombPlusNuclearElastic.python.cpp | 105 + .../ImaginaryInterferenceTerm.python.cpp | 63 + .../NuclearAmplitudeExpansion.python.cpp | 70 + .../NuclearPlusInterference.python.cpp | 70 + .../v2.0/cpTransport/NuclearTerm.python.cpp | 63 + .../RealInterferenceTerm.python.cpp | 63 + .../RutherfordScattering.python.cpp | 49 + .../python/src/v2.0/documentation.python.cpp | 107 + .../v2.0/documentation/Abstract.python.cpp | 106 + .../documentation/Acknowledgement.python.cpp | 113 + .../documentation/Acknowledgements.python.cpp | 56 + .../v2.0/documentation/Affiliation.python.cpp | 63 + .../documentation/Affiliations.python.cpp | 56 + .../src/v2.0/documentation/Author.python.cpp | 84 + .../src/v2.0/documentation/Authors.python.cpp | 56 + .../src/v2.0/documentation/Bibitem.python.cpp | 113 + .../documentation/Bibliography.python.cpp | 56 + .../src/v2.0/documentation/Body.python.cpp | 106 + .../v2.0/documentation/CodeRepo.python.cpp | 77 + .../documentation/Collaboration.python.cpp | 63 + .../documentation/Collaborations.python.cpp | 56 + .../documentation/ComputerCode.python.cpp | 105 + .../documentation/ComputerCodes.python.cpp | 56 + .../v2.0/documentation/Contributor.python.cpp | 91 + .../documentation/Contributors.python.cpp | 56 + .../v2.0/documentation/Copyright.python.cpp | 113 + .../documentation/CorrectionScript.python.cpp | 106 + .../documentation/CovarianceScript.python.cpp | 106 + .../src/v2.0/documentation/Date.python.cpp | 63 + .../src/v2.0/documentation/Dates.python.cpp | 56 + .../documentation/Documentation.python.cpp | 175 ++ .../documentation/EndfCompatible.python.cpp | 106 + .../ExecutionArguments.python.cpp | 106 + .../documentation/ExforDataSet.python.cpp | 84 + .../documentation/ExforDataSets.python.cpp | 56 + .../ExperimentalDataSets.python.cpp | 56 + .../v2.0/documentation/InputDeck.python.cpp | 113 + .../v2.0/documentation/InputDecks.python.cpp | 56 + .../src/v2.0/documentation/Keyword.python.cpp | 113 + .../v2.0/documentation/Keywords.python.cpp | 56 + .../src/v2.0/documentation/Note.python.cpp | 106 + .../v2.0/documentation/OutputDeck.python.cpp | 113 + .../v2.0/documentation/OutputDecks.python.cpp | 56 + .../v2.0/documentation/RelatedItem.python.cpp | 70 + .../documentation/RelatedItems.python.cpp | 56 + .../src/v2.0/documentation/Title.python.cpp | 106 + .../src/v2.0/documentation/Version.python.cpp | 106 + .../src/v2.0/fissionFragmentData.python.cpp | 37 + .../DelayedNeutron.python.cpp | 70 + .../DelayedNeutrons.python.cpp | 56 + .../FissionFragmentData.python.cpp | 70 + .../v2.0/fissionFragmentData/Rate.python.cpp | 56 + .../src/v2.0/fissionTransport.python.cpp | 69 + .../src/v2.0/fissionTransport/A.python.cpp | 49 + .../src/v2.0/fissionTransport/B.python.cpp | 49 + .../DelayedBetaEnergy.python.cpp | 56 + .../DelayedGammaEnergy.python.cpp | 56 + .../DelayedNeutronKE.python.cpp | 63 + .../src/v2.0/fissionTransport/EFH.python.cpp | 63 + .../src/v2.0/fissionTransport/EFL.python.cpp | 63 + .../FissionComponent.python.cpp | 84 + .../FissionComponents.python.cpp | 56 + .../FissionEnergyReleased.python.cpp | 119 + .../fissionTransport/MadlandNix.python.cpp | 70 + .../NeutrinoEnergy.python.cpp | 56 + .../NonNeutrinoEnergy.python.cpp | 56 + .../PromptGammaEnergy.python.cpp | 63 + .../PromptNeutronKE.python.cpp | 63 + .../PromptProductKE.python.cpp | 63 + .../SimpleMaxwellianFission.python.cpp | 63 + .../src/v2.0/fissionTransport/T_M.python.cpp | 56 + .../fissionTransport/TotalEnergy.python.cpp | 56 + .../src/v2.0/fissionTransport/Watt.python.cpp | 70 + .../try/python/src/v2.0/fpy.python.cpp | 49 + .../src/v2.0/fpy/ElapsedTime.python.cpp | 84 + .../src/v2.0/fpy/ElapsedTimes.python.cpp | 56 + .../try/python/src/v2.0/fpy/Energy.python.cpp | 56 + .../src/v2.0/fpy/IncidentEnergies.python.cpp | 56 + .../src/v2.0/fpy/IncidentEnergy.python.cpp | 70 + .../python/src/v2.0/fpy/Nuclides.python.cpp | 92 + .../src/v2.0/fpy/ProductYield.python.cpp | 70 + .../src/v2.0/fpy/ProductYields.python.cpp | 56 + .../try/python/src/v2.0/fpy/Time.python.cpp | 70 + .../try/python/src/v2.0/fpy/Yields.python.cpp | 70 + .../try/python/src/v2.0/map.python.cpp | 37 + .../try/python/src/v2.0/map/Import.python.cpp | 70 + .../try/python/src/v2.0/map/Map.python.cpp | 98 + .../python/src/v2.0/map/Protare.python.cpp | 98 + .../try/python/src/v2.0/map/TNSL.python.cpp | 112 + .../try/python/src/v2.0/pops.python.cpp | 143 + .../try/python/src/v2.0/pops/Alias.python.cpp | 63 + .../python/src/v2.0/pops/Aliases.python.cpp | 63 + .../python/src/v2.0/pops/Atomic.python.cpp | 56 + .../src/v2.0/pops/AverageEnergies.python.cpp | 56 + .../src/v2.0/pops/AverageEnergy.python.cpp | 84 + .../python/src/v2.0/pops/Baryon.python.cpp | 98 + .../python/src/v2.0/pops/Baryons.python.cpp | 56 + .../src/v2.0/pops/BindingEnergy.python.cpp | 91 + .../python/src/v2.0/pops/Charge.python.cpp | 105 + .../src/v2.0/pops/ChemicalElement.python.cpp | 84 + .../src/v2.0/pops/ChemicalElements.python.cpp | 56 + .../v2.0/pops/ConfidenceIntervals.python.cpp | 56 + .../src/v2.0/pops/Configuration.python.cpp | 77 + .../src/v2.0/pops/Configurations.python.cpp | 56 + .../python/src/v2.0/pops/Continuum.python.cpp | 56 + .../try/python/src/v2.0/pops/Decay.python.cpp | 77 + .../python/src/v2.0/pops/DecayData.python.cpp | 63 + .../python/src/v2.0/pops/DecayMode.python.cpp | 105 + .../src/v2.0/pops/DecayModes.python.cpp | 56 + .../python/src/v2.0/pops/DecayPath.python.cpp | 56 + .../python/src/v2.0/pops/Discrete.python.cpp | 98 + .../src/v2.0/pops/DiscreteEnergy.python.cpp | 84 + .../python/src/v2.0/pops/Energy.python.cpp | 91 + .../src/v2.0/pops/GaugeBoson.python.cpp | 98 + .../src/v2.0/pops/GaugeBosons.python.cpp | 56 + .../python/src/v2.0/pops/Halflife.python.cpp | 105 + .../python/src/v2.0/pops/Intensity.python.cpp | 84 + .../InternalConversionCoefficients.python.cpp | 56 + ...nternalPairFormationCoefficient.python.cpp | 84 + .../python/src/v2.0/pops/Interval.python.cpp | 70 + .../python/src/v2.0/pops/Isotope.python.cpp | 70 + .../python/src/v2.0/pops/Isotopes.python.cpp | 56 + .../python/src/v2.0/pops/Lepton.python.cpp | 105 + .../python/src/v2.0/pops/Leptons.python.cpp | 56 + .../python/src/v2.0/pops/LogNormal.python.cpp | 56 + .../try/python/src/v2.0/pops/Mass.python.cpp | 91 + .../src/v2.0/pops/MetaStable.python.cpp | 70 + .../python/src/v2.0/pops/Nucleus.python.cpp | 112 + .../python/src/v2.0/pops/Nuclide.python.cpp | 105 + .../python/src/v2.0/pops/Nuclides.python.cpp | 56 + .../python/src/v2.0/pops/Parity.python.cpp | 91 + .../try/python/src/v2.0/pops/Pdf.python.cpp | 63 + .../PhotonEmissionProbabilities.python.cpp | 56 + .../src/v2.0/pops/PoPs_database.python.cpp | 126 + .../pops/PositronEmissionIntensity.python.cpp | 63 + .../src/v2.0/pops/Probability.python.cpp | 56 + .../python/src/v2.0/pops/Product.python.cpp | 63 + .../python/src/v2.0/pops/Products.python.cpp | 56 + .../try/python/src/v2.0/pops/Q.python.cpp | 91 + .../try/python/src/v2.0/pops/Shell.python.cpp | 70 + .../python/src/v2.0/pops/Spectra.python.cpp | 56 + .../python/src/v2.0/pops/Spectrum.python.cpp | 77 + .../try/python/src/v2.0/pops/Spin.python.cpp | 91 + .../python/src/v2.0/pops/Standard.python.cpp | 56 + .../src/v2.0/pops/Uncertainty.python.cpp | 77 + .../src/v2.0/pops/Unorthodox.python.cpp | 70 + .../src/v2.0/pops/Unorthodoxes.python.cpp | 56 + .../try/python/src/v2.0/processed.python.cpp | 43 + .../v2.0/processed/AngularEnergyMC.python.cpp | 77 + .../v2.0/processed/AvailableEnergy.python.cpp | 63 + .../processed/AvailableMomentum.python.cpp | 63 + .../processed/AverageProductEnergy.python.cpp | 70 + .../AverageProductMomentum.python.cpp | 70 + .../v2.0/processed/EnergyAngularMC.python.cpp | 77 + .../v2.0/processed/MultiGroup3d.python.cpp | 70 + .../try/python/src/v2.0/resonances.python.cpp | 79 + .../v2.0/resonances/BreitWigner.python.cpp | 105 + .../src/v2.0/resonances/Channel.python.cpp | 112 + .../src/v2.0/resonances/Channels.python.cpp | 56 + .../v2.0/resonances/EnergyInterval.python.cpp | 98 + .../resonances/EnergyIntervals.python.cpp | 63 + .../resonances/ExternalRMatrix.python.cpp | 63 + .../resonances/HardSphereRadius.python.cpp | 56 + .../python/src/v2.0/resonances/J.python.cpp | 77 + .../python/src/v2.0/resonances/Js.python.cpp | 56 + .../python/src/v2.0/resonances/L.python.cpp | 70 + .../v2.0/resonances/LevelSpacing.python.cpp | 70 + .../python/src/v2.0/resonances/Ls.python.cpp | 56 + .../src/v2.0/resonances/RMatrix.python.cpp | 126 + .../src/v2.0/resonances/Resolved.python.cpp | 97 + .../resonances/ResonanceParameters.python.cpp | 56 + .../resonances/ResonanceReaction.python.cpp | 105 + .../resonances/ResonanceReactions.python.cpp | 56 + .../src/v2.0/resonances/Resonances.python.cpp | 84 + .../resonances/ScatteringRadius.python.cpp | 76 + .../src/v2.0/resonances/SpinGroup.python.cpp | 84 + .../src/v2.0/resonances/SpinGroups.python.cpp | 56 + .../resonances/TabulatedWidths.python.cpp | 105 + .../src/v2.0/resonances/Unresolved.python.cpp | 85 + .../src/v2.0/resonances/Width.python.cpp | 84 + .../src/v2.0/resonances/Widths.python.cpp | 56 + .../try/python/src/v2.0/styles.python.cpp | 77 + ...ngularDistributionReconstructed.python.cpp | 84 + .../v2.0/styles/AverageProductData.python.cpp | 84 + .../src/v2.0/styles/Bondarenko.python.cpp | 84 + ...ulombPlusNuclearElasticMuCutoff.python.cpp | 84 + .../CrossSectionReconstructed.python.cpp | 84 + .../v2.0/styles/EqualProbableBins.python.cpp | 84 + .../src/v2.0/styles/Evaluated.python.cpp | 105 + .../python/src/v2.0/styles/Flux.python.cpp | 63 + .../styles/GriddedCrossSection.python.cpp | 84 + .../python/src/v2.0/styles/Heated.python.cpp | 84 + .../v2.0/styles/HeatedMultiGroup.python.cpp | 98 + .../src/v2.0/styles/InverseSpeed.python.cpp | 63 + .../src/v2.0/styles/MonteCarlo_cdf.python.cpp | 77 + .../src/v2.0/styles/MultiBand.python.cpp | 84 + .../src/v2.0/styles/MultiGroup.python.cpp | 63 + .../styles/ProjectileEnergyDomain.python.cpp | 77 + .../src/v2.0/styles/Realization.python.cpp | 77 + .../src/v2.0/styles/SigmaZeros.python.cpp | 63 + .../v2.0/styles/SnElasticUpScatter.python.cpp | 84 + .../python/src/v2.0/styles/Styles.python.cpp | 126 + .../src/v2.0/styles/Temperature.python.cpp | 84 + .../src/v2.0/styles/Transportable.python.cpp | 70 + .../src/v2.0/styles/Transportables.python.cpp | 63 + .../styles/URR_probabilityTables.python.cpp | 77 + .../try/python/src/v2.0/transport.python.cpp | 145 + .../python/src/v2.0/transport/A.python.cpp | 70 + .../python/src/v2.0/transport/Add.python.cpp | 56 + .../v2.0/transport/AngularEnergy.python.cpp | 70 + .../v2.0/transport/AngularTwoBody.python.cpp | 91 + .../transport/Angular_uncorrelated.python.cpp | 70 + .../src/v2.0/transport/Background.python.cpp | 70 + .../src/v2.0/transport/Branching1d.python.cpp | 56 + .../src/v2.0/transport/Branching3d.python.cpp | 63 + .../v2.0/transport/CoherentPhoton.python.cpp | 49 + .../v2.0/transport/CrossSection.python.cpp | 119 + .../v2.0/transport/CrossSectionSum.python.cpp | 84 + .../transport/CrossSectionSums.python.cpp | 56 + .../v2.0/transport/DiscreteGamma.python.cpp | 77 + .../v2.0/transport/Distribution.python.cpp | 148 + .../DoubleDifferentialCrossSection.python.cpp | 112 + .../v2.0/transport/EnergyAngular.python.cpp | 70 + .../transport/Energy_uncorrelated.python.cpp | 126 + .../src/v2.0/transport/Evaporation.python.cpp | 63 + .../python/src/v2.0/transport/F.python.cpp | 70 + .../src/v2.0/transport/FastRegion.python.cpp | 70 + .../src/v2.0/transport/Forward.python.cpp | 49 + .../python/src/v2.0/transport/G.python.cpp | 63 + .../transport/GeneralEvaporation.python.cpp | 70 + .../transport/IncoherentPhoton.python.cpp | 49 + .../transport/IncompleteReactions.python.cpp | 56 + .../src/v2.0/transport/Isotropic2d.python.cpp | 49 + .../src/v2.0/transport/KalbachMann.python.cpp | 84 + .../v2.0/transport/MultiGroup3d.python.cpp | 70 + .../v2.0/transport/Multiplicity.python.cpp | 100 + .../v2.0/transport/MultiplicitySum.python.cpp | 77 + .../transport/MultiplicitySums.python.cpp | 56 + .../v2.0/transport/NBodyPhaseSpace.python.cpp | 63 + .../v2.0/transport/OrphanProduct.python.cpp | 77 + .../v2.0/transport/OrphanProducts.python.cpp | 56 + .../v2.0/transport/OutputChannel.python.cpp | 84 + .../PhotonEmissionProbabilities.python.cpp | 56 + .../v2.0/transport/PrimaryGamma.python.cpp | 84 + .../src/v2.0/transport/Production.python.cpp | 77 + .../src/v2.0/transport/Productions.python.cpp | 56 + .../python/src/v2.0/transport/R.python.cpp | 70 + .../src/v2.0/transport/Reaction.python.cpp | 91 + .../v2.0/transport/ReactionSuite.python.cpp | 168 ++ .../src/v2.0/transport/Reactions.python.cpp | 56 + .../src/v2.0/transport/Recoil.python.cpp | 56 + .../src/v2.0/transport/Reference.python.cpp | 63 + .../v2.0/transport/ResolvedRegion.python.cpp | 70 + .../v2.0/transport/ResonancesLink.python.cpp | 63 + .../ResonancesWithBackground.python.cpp | 77 + .../src/v2.0/transport/Summands.python.cpp | 56 + .../python/src/v2.0/transport/Sums.python.cpp | 63 + .../src/v2.0/transport/Theta.python.cpp | 63 + .../python/src/v2.0/transport/U.python.cpp | 63 + .../URR_probabilityTables1d.python.cpp | 77 + .../v2.0/transport/Uncorrelated.python.cpp | 77 + .../transport/UnresolvedRegion.python.cpp | 70 + .../src/v2.0/transport/Unspecified.python.cpp | 63 + .../src/v2.0/transport/Weighted.python.cpp | 98 + .../transport/WeightedFunctionals.python.cpp | 56 + .../try/python/src/v2.0/tsl.python.cpp | 77 + .../v2.0/tsl/BoundAtomCrossSection.python.cpp | 63 + .../python/src/v2.0/tsl/BraggEdge.python.cpp | 70 + .../python/src/v2.0/tsl/BraggEdges.python.cpp | 56 + .../src/v2.0/tsl/BraggEnergy.python.cpp | 56 + .../tsl/CoherentAtomCrossSection.python.cpp | 63 + .../v2.0/tsl/DebyeWallerIntegral.python.cpp | 56 + .../tsl/DistinctScatteringKernel.python.cpp | 56 + .../python/src/v2.0/tsl/E_critical.python.cpp | 63 + .../try/python/src/v2.0/tsl/E_max.python.cpp | 63 + .../v2.0/tsl/FreeGasApproximation.python.cpp | 49 + .../v2.0/tsl/GaussianApproximation.python.cpp | 56 + .../src/v2.0/tsl/PhononSpectrum.python.cpp | 56 + .../src/v2.0/tsl/SCTApproximation.python.cpp | 49 + .../python/src/v2.0/tsl/S_table.python.cpp | 56 + .../src/v2.0/tsl/ScatteringAtom.python.cpp | 126 + .../src/v2.0/tsl/ScatteringAtoms.python.cpp | 56 + .../v2.0/tsl/SelfScatteringKernel.python.cpp | 89 + .../src/v2.0/tsl/StructureFactor.python.cpp | 56 + .../src/v2.0/tsl/T_effective.python.cpp | 56 + .../ThermalNeutronScatteringLaw.python.cpp | 63 + .../ThermalNeutronScatteringLaw1d.python.cpp | 63 + ...onScatteringLaw_coherentElastic.python.cpp | 91 + ...ScatteringLaw_incoherentElastic.python.cpp | 84 + ...atteringLaw_incoherentInelastic.python.cpp | 98 + standards/gnds-2.0/try/src/try/v2.0.hpp | 344 +++ .../src/try/v2.0/appData/ApplicationData.hpp | 106 + .../appData/ApplicationData/src/custom.hpp | 4 + .../try/src/try/v2.0/appData/Conversion.hpp | 112 + .../v2.0/appData/Conversion/src/custom.hpp | 4 + .../try/v2.0/appData/ENDFconversionFlags.hpp | 106 + .../ENDFconversionFlags/src/custom.hpp | 4 + .../try/src/try/v2.0/appData/Institution.hpp | 115 + .../v2.0/appData/Institution/src/custom.hpp | 4 + .../v2.0/atomic/CoherentPhotonScattering.hpp | 147 + .../CoherentPhotonScattering/src/custom.hpp | 4 + .../try/src/try/v2.0/atomic/FormFactor.hpp | 113 + .../try/v2.0/atomic/FormFactor/src/custom.hpp | 4 + .../v2.0/atomic/ImaginaryAnomalousFactor.hpp | 113 + .../ImaginaryAnomalousFactor/src/custom.hpp | 4 + .../atomic/IncoherentPhotonScattering.hpp | 133 + .../IncoherentPhotonScattering/src/custom.hpp | 4 + .../try/v2.0/atomic/RealAnomalousFactor.hpp | 113 + .../atomic/RealAnomalousFactor/src/custom.hpp | 4 + .../src/try/v2.0/atomic/ScatteringFactor.hpp | 113 + .../atomic/ScatteringFactor/src/custom.hpp | 4 + .../try/src/try/v2.0/common/Energy.hpp | 141 + .../src/try/v2.0/common/Energy/src/custom.hpp | 4 + .../try/src/try/v2.0/common/ExternalFile.hpp | 124 + .../v2.0/common/ExternalFile/src/custom.hpp | 4 + .../try/src/try/v2.0/common/ExternalFiles.hpp | 106 + .../v2.0/common/ExternalFiles/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/common/Mass.hpp | 141 + .../src/try/v2.0/common/Mass/src/custom.hpp | 4 + .../try/src/try/v2.0/common/Probability.hpp | 106 + .../v2.0/common/Probability/src/custom.hpp | 4 + .../try/src/try/v2.0/common/Product.hpp | 135 + .../try/v2.0/common/Product/src/custom.hpp | 4 + .../try/src/try/v2.0/common/Products.hpp | 106 + .../try/v2.0/common/Products/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/common/Q.hpp | 160 + .../try/src/try/v2.0/common/Q/src/custom.hpp | 4 + .../try/src/try/v2.0/common/Temperature.hpp | 134 + .../v2.0/common/Temperature/src/custom.hpp | 4 + .../covariance/AverageParameterCovariance.hpp | 142 + .../AverageParameterCovariance/src/custom.hpp | 4 + .../src/try/v2.0/covariance/ColumnData.hpp | 127 + .../v2.0/covariance/ColumnData/src/custom.hpp | 4 + .../try/v2.0/covariance/ColumnSensitivity.hpp | 106 + .../ColumnSensitivity/src/custom.hpp | 4 + .../src/try/v2.0/covariance/Covariance.hpp | 106 + .../v2.0/covariance/Covariance/src/custom.hpp | 4 + .../try/v2.0/covariance/CovarianceMatrix.hpp | 135 + .../CovarianceMatrix/src/custom.hpp | 4 + .../try/v2.0/covariance/CovarianceSection.hpp | 154 + .../CovarianceSection/src/custom.hpp | 4 + .../v2.0/covariance/CovarianceSections.hpp | 106 + .../CovarianceSections/src/custom.hpp | 4 + .../try/v2.0/covariance/CovarianceSuite.hpp | 160 + .../covariance/CovarianceSuite/src/custom.hpp | 4 + .../try/src/try/v2.0/covariance/Mixed.hpp | 129 + .../try/v2.0/covariance/Mixed/src/custom.hpp | 4 + .../v2.0/covariance/ParameterCovariance.hpp | 122 + .../ParameterCovariance/src/custom.hpp | 4 + .../covariance/ParameterCovarianceMatrix.hpp | 128 + .../ParameterCovarianceMatrix/src/custom.hpp | 4 + .../v2.0/covariance/ParameterCovariances.hpp | 113 + .../ParameterCovariances/src/custom.hpp | 4 + .../src/try/v2.0/covariance/ParameterLink.hpp | 131 + .../covariance/ParameterLink/src/custom.hpp | 4 + .../src/try/v2.0/covariance/Parameters.hpp | 106 + .../v2.0/covariance/Parameters/src/custom.hpp | 4 + .../try/src/try/v2.0/covariance/RowData.hpp | 127 + .../v2.0/covariance/RowData/src/custom.hpp | 4 + .../try/v2.0/covariance/RowSensitivity.hpp | 106 + .../covariance/RowSensitivity/src/custom.hpp | 4 + .../try/v2.0/covariance/SandwichProduct.hpp | 127 + .../covariance/SandwichProduct/src/custom.hpp | 4 + .../ShortRangeSelfScalingVariance.hpp | 127 + .../src/custom.hpp | 4 + .../try/src/try/v2.0/covariance/Slice.hpp | 130 + .../try/v2.0/covariance/Slice/src/custom.hpp | 4 + .../try/src/try/v2.0/covariance/Slices.hpp | 106 + .../try/v2.0/covariance/Slices/src/custom.hpp | 4 + .../try/src/try/v2.0/covariance/Sum.hpp | 133 + .../try/v2.0/covariance/Sum/src/custom.hpp | 4 + .../try/src/try/v2.0/covariance/Summand.hpp | 118 + .../v2.0/covariance/Summand/src/custom.hpp | 4 + .../cpTransport/CoulombPlusNuclearElastic.hpp | 159 + .../CoulombPlusNuclearElastic/src/custom.hpp | 4 + .../cpTransport/ImaginaryInterferenceTerm.hpp | 113 + .../ImaginaryInterferenceTerm/src/custom.hpp | 4 + .../cpTransport/NuclearAmplitudeExpansion.hpp | 120 + .../NuclearAmplitudeExpansion/src/custom.hpp | 4 + .../cpTransport/NuclearPlusInterference.hpp | 122 + .../NuclearPlusInterference/src/custom.hpp | 4 + .../src/try/v2.0/cpTransport/NuclearTerm.hpp | 113 + .../cpTransport/NuclearTerm/src/custom.hpp | 4 + .../v2.0/cpTransport/RealInterferenceTerm.hpp | 113 + .../RealInterferenceTerm/src/custom.hpp | 4 + .../v2.0/cpTransport/RutherfordScattering.hpp | 95 + .../RutherfordScattering/src/custom.hpp | 4 + .../src/try/v2.0/documentation/Abstract.hpp | 134 + .../documentation/Abstract/src/custom.hpp | 4 + .../v2.0/documentation/Acknowledgement.hpp | 140 + .../Acknowledgement/src/custom.hpp | 4 + .../v2.0/documentation/Acknowledgements.hpp | 106 + .../Acknowledgements/src/custom.hpp | 4 + .../try/v2.0/documentation/Affiliation.hpp | 112 + .../documentation/Affiliation/src/custom.hpp | 4 + .../try/v2.0/documentation/Affiliations.hpp | 106 + .../documentation/Affiliations/src/custom.hpp | 4 + .../try/src/try/v2.0/documentation/Author.hpp | 134 + .../v2.0/documentation/Author/src/custom.hpp | 4 + .../src/try/v2.0/documentation/Authors.hpp | 106 + .../v2.0/documentation/Authors/src/custom.hpp | 4 + .../src/try/v2.0/documentation/Bibitem.hpp | 140 + .../v2.0/documentation/Bibitem/src/custom.hpp | 4 + .../try/v2.0/documentation/Bibliography.hpp | 106 + .../documentation/Bibliography/src/custom.hpp | 4 + .../try/src/try/v2.0/documentation/Body.hpp | 134 + .../v2.0/documentation/Body/src/custom.hpp | 4 + .../src/try/v2.0/documentation/CodeRepo.hpp | 124 + .../documentation/CodeRepo/src/custom.hpp | 4 + .../try/v2.0/documentation/Collaboration.hpp | 112 + .../Collaboration/src/custom.hpp | 4 + .../try/v2.0/documentation/Collaborations.hpp | 106 + .../Collaborations/src/custom.hpp | 4 + .../try/v2.0/documentation/ComputerCode.hpp | 155 + .../documentation/ComputerCode/src/custom.hpp | 4 + .../try/v2.0/documentation/ComputerCodes.hpp | 106 + .../ComputerCodes/src/custom.hpp | 4 + .../try/v2.0/documentation/Contributor.hpp | 140 + .../documentation/Contributor/src/custom.hpp | 4 + .../try/v2.0/documentation/Contributors.hpp | 106 + .../documentation/Contributors/src/custom.hpp | 4 + .../src/try/v2.0/documentation/Copyright.hpp | 140 + .../documentation/Copyright/src/custom.hpp | 4 + .../v2.0/documentation/CorrectionScript.hpp | 134 + .../CorrectionScript/src/custom.hpp | 4 + .../v2.0/documentation/CovarianceScript.hpp | 134 + .../CovarianceScript/src/custom.hpp | 4 + .../try/src/try/v2.0/documentation/Date.hpp | 112 + .../v2.0/documentation/Date/src/custom.hpp | 4 + .../try/src/try/v2.0/documentation/Dates.hpp | 106 + .../v2.0/documentation/Dates/src/custom.hpp | 4 + .../try/v2.0/documentation/Documentation.hpp | 225 ++ .../Documentation/src/custom.hpp | 4 + .../try/v2.0/documentation/EndfCompatible.hpp | 134 + .../EndfCompatible/src/custom.hpp | 4 + .../v2.0/documentation/ExecutionArguments.hpp | 134 + .../ExecutionArguments/src/custom.hpp | 4 + .../try/v2.0/documentation/ExforDataSet.hpp | 135 + .../documentation/ExforDataSet/src/custom.hpp | 4 + .../try/v2.0/documentation/ExforDataSets.hpp | 106 + .../ExforDataSets/src/custom.hpp | 4 + .../documentation/ExperimentalDataSets.hpp | 106 + .../ExperimentalDataSets/src/custom.hpp | 4 + .../src/try/v2.0/documentation/InputDeck.hpp | 140 + .../documentation/InputDeck/src/custom.hpp | 4 + .../src/try/v2.0/documentation/InputDecks.hpp | 106 + .../documentation/InputDecks/src/custom.hpp | 4 + .../src/try/v2.0/documentation/Keyword.hpp | 140 + .../v2.0/documentation/Keyword/src/custom.hpp | 4 + .../src/try/v2.0/documentation/Keywords.hpp | 106 + .../documentation/Keywords/src/custom.hpp | 4 + .../try/src/try/v2.0/documentation/Note.hpp | 134 + .../v2.0/documentation/Note/src/custom.hpp | 4 + .../src/try/v2.0/documentation/OutputDeck.hpp | 140 + .../documentation/OutputDeck/src/custom.hpp | 4 + .../try/v2.0/documentation/OutputDecks.hpp | 106 + .../documentation/OutputDecks/src/custom.hpp | 4 + .../try/v2.0/documentation/RelatedItem.hpp | 118 + .../documentation/RelatedItem/src/custom.hpp | 4 + .../try/v2.0/documentation/RelatedItems.hpp | 106 + .../documentation/RelatedItems/src/custom.hpp | 4 + .../try/src/try/v2.0/documentation/Title.hpp | 134 + .../v2.0/documentation/Title/src/custom.hpp | 4 + .../src/try/v2.0/documentation/Version.hpp | 134 + .../v2.0/documentation/Version/src/custom.hpp | 4 + .../fissionFragmentData/DelayedNeutron.hpp | 122 + .../DelayedNeutron/src/custom.hpp | 4 + .../fissionFragmentData/DelayedNeutrons.hpp | 106 + .../DelayedNeutrons/src/custom.hpp | 4 + .../FissionFragmentData.hpp | 120 + .../FissionFragmentData/src/custom.hpp | 4 + .../src/try/v2.0/fissionFragmentData/Rate.hpp | 106 + .../fissionFragmentData/Rate/src/custom.hpp | 4 + .../try/src/try/v2.0/fissionTransport/A.hpp | 95 + .../v2.0/fissionTransport/A/src/custom.hpp | 4 + .../try/src/try/v2.0/fissionTransport/B.hpp | 95 + .../v2.0/fissionTransport/B/src/custom.hpp | 4 + .../fissionTransport/DelayedBetaEnergy.hpp | 106 + .../DelayedBetaEnergy/src/custom.hpp | 4 + .../fissionTransport/DelayedGammaEnergy.hpp | 106 + .../DelayedGammaEnergy/src/custom.hpp | 4 + .../fissionTransport/DelayedNeutronKE.hpp | 113 + .../DelayedNeutronKE/src/custom.hpp | 4 + .../try/src/try/v2.0/fissionTransport/EFH.hpp | 112 + .../v2.0/fissionTransport/EFH/src/custom.hpp | 4 + .../try/src/try/v2.0/fissionTransport/EFL.hpp | 112 + .../v2.0/fissionTransport/EFL/src/custom.hpp | 4 + .../fissionTransport/FissionComponent.hpp | 134 + .../FissionComponent/src/custom.hpp | 4 + .../fissionTransport/FissionComponents.hpp | 106 + .../FissionComponents/src/custom.hpp | 4 + .../FissionEnergyReleased.hpp | 171 ++ .../FissionEnergyReleased/src/custom.hpp | 4 + .../try/v2.0/fissionTransport/MadlandNix.hpp | 120 + .../MadlandNix/src/custom.hpp | 4 + .../v2.0/fissionTransport/NeutrinoEnergy.hpp | 106 + .../NeutrinoEnergy/src/custom.hpp | 4 + .../fissionTransport/NonNeutrinoEnergy.hpp | 106 + .../NonNeutrinoEnergy/src/custom.hpp | 4 + .../fissionTransport/PromptGammaEnergy.hpp | 113 + .../PromptGammaEnergy/src/custom.hpp | 4 + .../v2.0/fissionTransport/PromptNeutronKE.hpp | 113 + .../PromptNeutronKE/src/custom.hpp | 4 + .../v2.0/fissionTransport/PromptProductKE.hpp | 113 + .../PromptProductKE/src/custom.hpp | 4 + .../SimpleMaxwellianFission.hpp | 113 + .../SimpleMaxwellianFission/src/custom.hpp | 4 + .../try/src/try/v2.0/fissionTransport/T_M.hpp | 106 + .../v2.0/fissionTransport/T_M/src/custom.hpp | 4 + .../try/v2.0/fissionTransport/TotalEnergy.hpp | 106 + .../TotalEnergy/src/custom.hpp | 4 + .../src/try/v2.0/fissionTransport/Watt.hpp | 120 + .../v2.0/fissionTransport/Watt/src/custom.hpp | 4 + .../try/src/try/v2.0/fpy/ElapsedTime.hpp | 132 + .../try/v2.0/fpy/ElapsedTime/src/custom.hpp | 4 + .../try/src/try/v2.0/fpy/ElapsedTimes.hpp | 106 + .../try/v2.0/fpy/ElapsedTimes/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp | 106 + .../src/try/v2.0/fpy/Energy/src/custom.hpp | 4 + .../try/src/try/v2.0/fpy/IncidentEnergies.hpp | 106 + .../v2.0/fpy/IncidentEnergies/src/custom.hpp | 4 + .../try/src/try/v2.0/fpy/IncidentEnergy.hpp | 122 + .../v2.0/fpy/IncidentEnergy/src/custom.hpp | 4 + .../try/src/try/v2.0/fpy/Nuclides.hpp | 115 + .../src/try/v2.0/fpy/Nuclides/src/custom.hpp | 4 + .../try/src/try/v2.0/fpy/ProductYield.hpp | 122 + .../try/v2.0/fpy/ProductYield/src/custom.hpp | 4 + .../try/src/try/v2.0/fpy/ProductYields.hpp | 106 + .../try/v2.0/fpy/ProductYields/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/fpy/Time.hpp | 114 + .../try/src/try/v2.0/fpy/Time/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp | 120 + .../src/try/v2.0/fpy/Yields/src/custom.hpp | 4 + standards/gnds-2.0/try/src/try/v2.0/key.hpp | 713 +++++ .../gnds-2.0/try/src/try/v2.0/map/Import.hpp | 118 + .../src/try/v2.0/map/Import/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/map/Map.hpp | 147 + .../try/src/try/v2.0/map/Map/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/map/Protare.hpp | 142 + .../src/try/v2.0/map/Protare/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/map/TNSL.hpp | 154 + .../try/src/try/v2.0/map/TNSL/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Alias.hpp | 112 + .../src/try/v2.0/pops/Alias/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Aliases.hpp | 113 + .../src/try/v2.0/pops/Aliases/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Atomic.hpp | 106 + .../src/try/v2.0/pops/Atomic/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/AverageEnergies.hpp | 106 + .../v2.0/pops/AverageEnergies/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/AverageEnergy.hpp | 134 + .../v2.0/pops/AverageEnergy/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Baryon.hpp | 150 + .../src/try/v2.0/pops/Baryon/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Baryons.hpp | 106 + .../src/try/v2.0/pops/Baryons/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/BindingEnergy.hpp | 141 + .../v2.0/pops/BindingEnergy/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Charge.hpp | 151 + .../src/try/v2.0/pops/Charge/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/ChemicalElement.hpp | 134 + .../v2.0/pops/ChemicalElement/src/custom.hpp | 4 + .../src/try/v2.0/pops/ChemicalElements.hpp | 106 + .../v2.0/pops/ChemicalElements/src/custom.hpp | 4 + .../src/try/v2.0/pops/ConfidenceIntervals.hpp | 106 + .../pops/ConfidenceIntervals/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Configuration.hpp | 128 + .../v2.0/pops/Configuration/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Configurations.hpp | 106 + .../v2.0/pops/Configurations/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Continuum.hpp | 106 + .../try/v2.0/pops/Continuum/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Decay.hpp | 133 + .../src/try/v2.0/pops/Decay/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/DecayData.hpp | 113 + .../try/v2.0/pops/DecayData/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/DecayMode.hpp | 156 + .../try/v2.0/pops/DecayMode/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/DecayModes.hpp | 106 + .../try/v2.0/pops/DecayModes/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/DecayPath.hpp | 106 + .../try/v2.0/pops/DecayPath/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Discrete.hpp | 150 + .../src/try/v2.0/pops/Discrete/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/DiscreteEnergy.hpp | 134 + .../v2.0/pops/DiscreteEnergy/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Energy.hpp | 141 + .../src/try/v2.0/pops/Energy/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/GaugeBoson.hpp | 150 + .../try/v2.0/pops/GaugeBoson/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/GaugeBosons.hpp | 106 + .../try/v2.0/pops/GaugeBosons/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Halflife.hpp | 151 + .../src/try/v2.0/pops/Halflife/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Intensity.hpp | 134 + .../try/v2.0/pops/Intensity/src/custom.hpp | 4 + .../pops/InternalConversionCoefficients.hpp | 106 + .../src/custom.hpp | 4 + .../pops/InternalPairFormationCoefficient.hpp | 134 + .../src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Interval.hpp | 118 + .../src/try/v2.0/pops/Interval/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Isotope.hpp | 121 + .../src/try/v2.0/pops/Isotope/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Isotopes.hpp | 106 + .../src/try/v2.0/pops/Isotopes/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Lepton.hpp | 156 + .../src/try/v2.0/pops/Lepton/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Leptons.hpp | 106 + .../src/try/v2.0/pops/Leptons/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/LogNormal.hpp | 106 + .../try/v2.0/pops/LogNormal/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Mass.hpp | 141 + .../try/src/try/v2.0/pops/Mass/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/MetaStable.hpp | 118 + .../try/v2.0/pops/MetaStable/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Nucleus.hpp | 163 + .../src/try/v2.0/pops/Nucleus/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Nuclide.hpp | 157 + .../src/try/v2.0/pops/Nuclide/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Nuclides.hpp | 106 + .../src/try/v2.0/pops/Nuclides/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Parity.hpp | 141 + .../src/try/v2.0/pops/Parity/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp | 113 + .../try/src/try/v2.0/pops/Pdf/src/custom.hpp | 4 + .../v2.0/pops/PhotonEmissionProbabilities.hpp | 106 + .../src/custom.hpp | 4 + .../try/src/try/v2.0/pops/PoPs_database.hpp | 176 ++ .../v2.0/pops/PoPs_database/src/custom.hpp | 4 + .../v2.0/pops/PositronEmissionIntensity.hpp | 115 + .../PositronEmissionIntensity/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Probability.hpp | 106 + .../try/v2.0/pops/Probability/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Product.hpp | 112 + .../src/try/v2.0/pops/Product/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Products.hpp | 106 + .../src/try/v2.0/pops/Products/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Q.hpp | 141 + .../try/src/try/v2.0/pops/Q/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Shell.hpp | 124 + .../src/try/v2.0/pops/Shell/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Spectra.hpp | 106 + .../src/try/v2.0/pops/Spectra/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Spectrum.hpp | 128 + .../src/try/v2.0/pops/Spectrum/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/pops/Spin.hpp | 141 + .../try/src/try/v2.0/pops/Spin/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Standard.hpp | 106 + .../src/try/v2.0/pops/Standard/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Uncertainty.hpp | 127 + .../try/v2.0/pops/Uncertainty/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Unorthodox.hpp | 122 + .../try/v2.0/pops/Unorthodox/src/custom.hpp | 4 + .../try/src/try/v2.0/pops/Unorthodoxes.hpp | 106 + .../try/v2.0/pops/Unorthodoxes/src/custom.hpp | 4 + .../try/v2.0/processed/AngularEnergyMC.hpp | 128 + .../processed/AngularEnergyMC/src/custom.hpp | 4 + .../try/v2.0/processed/AvailableEnergy.hpp | 113 + .../processed/AvailableEnergy/src/custom.hpp | 4 + .../try/v2.0/processed/AvailableMomentum.hpp | 113 + .../AvailableMomentum/src/custom.hpp | 4 + .../v2.0/processed/AverageProductEnergy.hpp | 120 + .../AverageProductEnergy/src/custom.hpp | 4 + .../v2.0/processed/AverageProductMomentum.hpp | 120 + .../AverageProductMomentum/src/custom.hpp | 4 + .../try/v2.0/processed/EnergyAngularMC.hpp | 128 + .../processed/EnergyAngularMC/src/custom.hpp | 4 + .../src/try/v2.0/processed/MultiGroup3d.hpp | 121 + .../processed/MultiGroup3d/src/custom.hpp | 4 + .../src/try/v2.0/resonances/BreitWigner.hpp | 161 + .../resonances/BreitWigner/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/Channel.hpp | 159 + .../v2.0/resonances/Channel/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/Channels.hpp | 106 + .../v2.0/resonances/Channels/src/custom.hpp | 4 + .../try/v2.0/resonances/EnergyInterval.hpp | 141 + .../resonances/EnergyInterval/src/custom.hpp | 4 + .../try/v2.0/resonances/EnergyIntervals.hpp | 115 + .../resonances/EnergyIntervals/src/custom.hpp | 4 + .../try/v2.0/resonances/ExternalRMatrix.hpp | 121 + .../resonances/ExternalRMatrix/src/custom.hpp | 4 + .../try/v2.0/resonances/HardSphereRadius.hpp | 106 + .../HardSphereRadius/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/J.hpp | 128 + .../src/try/v2.0/resonances/J/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/Js.hpp | 106 + .../src/try/v2.0/resonances/Js/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/L.hpp | 121 + .../src/try/v2.0/resonances/L/src/custom.hpp | 4 + .../src/try/v2.0/resonances/LevelSpacing.hpp | 120 + .../resonances/LevelSpacing/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/Ls.hpp | 106 + .../src/try/v2.0/resonances/Ls/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/RMatrix.hpp | 181 ++ .../v2.0/resonances/RMatrix/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/Resolved.hpp | 138 + .../v2.0/resonances/Resolved/src/custom.hpp | 4 + .../v2.0/resonances/ResonanceParameters.hpp | 106 + .../ResonanceParameters/src/custom.hpp | 4 + .../try/v2.0/resonances/ResonanceReaction.hpp | 160 + .../ResonanceReaction/src/custom.hpp | 4 + .../v2.0/resonances/ResonanceReactions.hpp | 106 + .../ResonanceReactions/src/custom.hpp | 4 + .../src/try/v2.0/resonances/Resonances.hpp | 136 + .../v2.0/resonances/Resonances/src/custom.hpp | 4 + .../try/v2.0/resonances/ScatteringRadius.hpp | 117 + .../ScatteringRadius/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/SpinGroup.hpp | 140 + .../v2.0/resonances/SpinGroup/src/custom.hpp | 4 + .../src/try/v2.0/resonances/SpinGroups.hpp | 106 + .../v2.0/resonances/SpinGroups/src/custom.hpp | 4 + .../try/v2.0/resonances/TabulatedWidths.hpp | 161 + .../resonances/TabulatedWidths/src/custom.hpp | 4 + .../src/try/v2.0/resonances/Unresolved.hpp | 132 + .../v2.0/resonances/Unresolved/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/Width.hpp | 135 + .../try/v2.0/resonances/Width/src/custom.hpp | 4 + .../try/src/try/v2.0/resonances/Widths.hpp | 106 + .../try/v2.0/resonances/Widths/src/custom.hpp | 4 + .../AngularDistributionReconstructed.hpp | 134 + .../src/custom.hpp | 4 + .../try/v2.0/styles/AverageProductData.hpp | 134 + .../styles/AverageProductData/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/Bondarenko.hpp | 134 + .../try/v2.0/styles/Bondarenko/src/custom.hpp | 4 + .../CoulombPlusNuclearElasticMuCutoff.hpp | 133 + .../src/custom.hpp | 4 + .../v2.0/styles/CrossSectionReconstructed.hpp | 134 + .../CrossSectionReconstructed/src/custom.hpp | 4 + .../src/try/v2.0/styles/EqualProbableBins.hpp | 133 + .../styles/EqualProbableBins/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/Evaluated.hpp | 153 + .../try/v2.0/styles/Evaluated/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/styles/Flux.hpp | 115 + .../src/try/v2.0/styles/Flux/src/custom.hpp | 4 + .../try/v2.0/styles/GriddedCrossSection.hpp | 134 + .../styles/GriddedCrossSection/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/Heated.hpp | 134 + .../src/try/v2.0/styles/Heated/src/custom.hpp | 4 + .../src/try/v2.0/styles/HeatedMultiGroup.hpp | 148 + .../styles/HeatedMultiGroup/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/InverseSpeed.hpp | 115 + .../v2.0/styles/InverseSpeed/src/custom.hpp | 4 + .../src/try/v2.0/styles/MonteCarlo_cdf.hpp | 127 + .../v2.0/styles/MonteCarlo_cdf/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/MultiBand.hpp | 133 + .../try/v2.0/styles/MultiBand/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/MultiGroup.hpp | 115 + .../try/v2.0/styles/MultiGroup/src/custom.hpp | 4 + .../v2.0/styles/ProjectileEnergyDomain.hpp | 124 + .../ProjectileEnergyDomain/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/Realization.hpp | 127 + .../v2.0/styles/Realization/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/SigmaZeros.hpp | 115 + .../try/v2.0/styles/SigmaZeros/src/custom.hpp | 4 + .../try/v2.0/styles/SnElasticUpScatter.hpp | 133 + .../styles/SnElasticUpScatter/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/Styles.hpp | 176 ++ .../src/try/v2.0/styles/Styles/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/Temperature.hpp | 134 + .../v2.0/styles/Temperature/src/custom.hpp | 4 + .../try/src/try/v2.0/styles/Transportable.hpp | 127 + .../v2.0/styles/Transportable/src/custom.hpp | 4 + .../src/try/v2.0/styles/Transportables.hpp | 115 + .../v2.0/styles/Transportables/src/custom.hpp | 4 + .../try/v2.0/styles/URR_probabilityTables.hpp | 127 + .../URR_probabilityTables/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/transport/A.hpp | 114 + .../src/try/v2.0/transport/A/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Add.hpp | 106 + .../src/try/v2.0/transport/Add/src/custom.hpp | 4 + .../src/try/v2.0/transport/AngularEnergy.hpp | 121 + .../transport/AngularEnergy/src/custom.hpp | 4 + .../src/try/v2.0/transport/AngularTwoBody.hpp | 142 + .../transport/AngularTwoBody/src/custom.hpp | 4 + .../v2.0/transport/Angular_uncorrelated.hpp | 120 + .../Angular_uncorrelated/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Background.hpp | 120 + .../v2.0/transport/Background/src/custom.hpp | 4 + .../src/try/v2.0/transport/Branching1d.hpp | 106 + .../v2.0/transport/Branching1d/src/custom.hpp | 4 + .../src/try/v2.0/transport/Branching3d.hpp | 112 + .../v2.0/transport/Branching3d/src/custom.hpp | 4 + .../src/try/v2.0/transport/CoherentPhoton.hpp | 95 + .../transport/CoherentPhoton/src/custom.hpp | 4 + .../src/try/v2.0/transport/CrossSection.hpp | 144 + .../transport/CrossSection/src/custom.hpp | 4 + .../try/v2.0/transport/CrossSectionSum.hpp | 135 + .../transport/CrossSectionSum/src/custom.hpp | 4 + .../try/v2.0/transport/CrossSectionSums.hpp | 106 + .../transport/CrossSectionSums/src/custom.hpp | 4 + .../src/try/v2.0/transport/DiscreteGamma.hpp | 127 + .../transport/DiscreteGamma/src/custom.hpp | 4 + .../src/try/v2.0/transport/Distribution.hpp | 153 + .../transport/Distribution/src/custom.hpp | 4 + .../DoubleDifferentialCrossSection.hpp | 162 + .../src/custom.hpp | 4 + .../src/try/v2.0/transport/EnergyAngular.hpp | 121 + .../transport/EnergyAngular/src/custom.hpp | 4 + .../v2.0/transport/Energy_uncorrelated.hpp | 176 ++ .../Energy_uncorrelated/src/custom.hpp | 4 + .../src/try/v2.0/transport/Evaporation.hpp | 113 + .../v2.0/transport/Evaporation/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/transport/F.hpp | 114 + .../src/try/v2.0/transport/F/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/FastRegion.hpp | 114 + .../v2.0/transport/FastRegion/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Forward.hpp | 95 + .../try/v2.0/transport/Forward/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/transport/G.hpp | 113 + .../src/try/v2.0/transport/G/src/custom.hpp | 4 + .../try/v2.0/transport/GeneralEvaporation.hpp | 120 + .../GeneralEvaporation/src/custom.hpp | 4 + .../try/v2.0/transport/IncoherentPhoton.hpp | 95 + .../transport/IncoherentPhoton/src/custom.hpp | 4 + .../v2.0/transport/IncompleteReactions.hpp | 106 + .../IncompleteReactions/src/custom.hpp | 4 + .../src/try/v2.0/transport/Isotropic2d.hpp | 95 + .../v2.0/transport/Isotropic2d/src/custom.hpp | 4 + .../src/try/v2.0/transport/KalbachMann.hpp | 135 + .../v2.0/transport/KalbachMann/src/custom.hpp | 4 + .../src/try/v2.0/transport/MultiGroup3d.hpp | 121 + .../transport/MultiGroup3d/src/custom.hpp | 4 + .../src/try/v2.0/transport/Multiplicity.hpp | 129 + .../transport/Multiplicity/src/custom.hpp | 4 + .../try/v2.0/transport/MultiplicitySum.hpp | 128 + .../transport/MultiplicitySum/src/custom.hpp | 4 + .../try/v2.0/transport/MultiplicitySums.hpp | 106 + .../transport/MultiplicitySums/src/custom.hpp | 4 + .../try/v2.0/transport/NBodyPhaseSpace.hpp | 115 + .../transport/NBodyPhaseSpace/src/custom.hpp | 4 + .../src/try/v2.0/transport/OrphanProduct.hpp | 128 + .../transport/OrphanProduct/src/custom.hpp | 4 + .../src/try/v2.0/transport/OrphanProducts.hpp | 106 + .../transport/OrphanProducts/src/custom.hpp | 4 + .../src/try/v2.0/transport/OutputChannel.hpp | 135 + .../transport/OutputChannel/src/custom.hpp | 4 + .../transport/PhotonEmissionProbabilities.hpp | 106 + .../src/custom.hpp | 4 + .../src/try/v2.0/transport/PrimaryGamma.hpp | 133 + .../transport/PrimaryGamma/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Production.hpp | 128 + .../v2.0/transport/Production/src/custom.hpp | 4 + .../src/try/v2.0/transport/Productions.hpp | 106 + .../v2.0/transport/Productions/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/transport/R.hpp | 114 + .../src/try/v2.0/transport/R/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Reaction.hpp | 141 + .../v2.0/transport/Reaction/src/custom.hpp | 4 + .../src/try/v2.0/transport/ReactionSuite.hpp | 215 ++ .../transport/ReactionSuite/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Reactions.hpp | 106 + .../v2.0/transport/Reactions/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Recoil.hpp | 106 + .../try/v2.0/transport/Recoil/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Reference.hpp | 112 + .../v2.0/transport/Reference/src/custom.hpp | 4 + .../src/try/v2.0/transport/ResolvedRegion.hpp | 114 + .../transport/ResolvedRegion/src/custom.hpp | 4 + .../src/try/v2.0/transport/ResonancesLink.hpp | 112 + .../transport/ResonancesLink/src/custom.hpp | 4 + .../transport/ResonancesWithBackground.hpp | 129 + .../ResonancesWithBackground/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Summands.hpp | 106 + .../v2.0/transport/Summands/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Sums.hpp | 113 + .../try/v2.0/transport/Sums/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Theta.hpp | 113 + .../try/v2.0/transport/Theta/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/transport/U.hpp | 112 + .../src/try/v2.0/transport/U/src/custom.hpp | 4 + .../transport/URR_probabilityTables1d.hpp | 123 + .../URR_probabilityTables1d/src/custom.hpp | 4 + .../src/try/v2.0/transport/Uncorrelated.hpp | 128 + .../transport/Uncorrelated/src/custom.hpp | 4 + .../try/v2.0/transport/UnresolvedRegion.hpp | 114 + .../transport/UnresolvedRegion/src/custom.hpp | 4 + .../src/try/v2.0/transport/Unspecified.hpp | 112 + .../v2.0/transport/Unspecified/src/custom.hpp | 4 + .../try/src/try/v2.0/transport/Weighted.hpp | 148 + .../v2.0/transport/Weighted/src/custom.hpp | 4 + .../v2.0/transport/WeightedFunctionals.hpp | 106 + .../WeightedFunctionals/src/custom.hpp | 4 + .../try/v2.0/tsl/BoundAtomCrossSection.hpp | 112 + .../tsl/BoundAtomCrossSection/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/BraggEdge.hpp | 122 + .../src/try/v2.0/tsl/BraggEdge/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/BraggEdges.hpp | 106 + .../try/v2.0/tsl/BraggEdges/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/BraggEnergy.hpp | 106 + .../try/v2.0/tsl/BraggEnergy/src/custom.hpp | 4 + .../try/v2.0/tsl/CoherentAtomCrossSection.hpp | 112 + .../CoherentAtomCrossSection/src/custom.hpp | 4 + .../src/try/v2.0/tsl/DebyeWallerIntegral.hpp | 106 + .../tsl/DebyeWallerIntegral/src/custom.hpp | 4 + .../try/v2.0/tsl/DistinctScatteringKernel.hpp | 106 + .../DistinctScatteringKernel/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/E_critical.hpp | 112 + .../try/v2.0/tsl/E_critical/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/tsl/E_max.hpp | 112 + .../try/src/try/v2.0/tsl/E_max/src/custom.hpp | 4 + .../src/try/v2.0/tsl/FreeGasApproximation.hpp | 95 + .../tsl/FreeGasApproximation/src/custom.hpp | 4 + .../try/v2.0/tsl/GaussianApproximation.hpp | 106 + .../tsl/GaussianApproximation/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/PhononSpectrum.hpp | 106 + .../v2.0/tsl/PhononSpectrum/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/SCTApproximation.hpp | 95 + .../v2.0/tsl/SCTApproximation/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp | 106 + .../src/try/v2.0/tsl/S_table/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/ScatteringAtom.hpp | 176 ++ .../v2.0/tsl/ScatteringAtom/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/ScatteringAtoms.hpp | 106 + .../v2.0/tsl/ScatteringAtoms/src/custom.hpp | 4 + .../src/try/v2.0/tsl/SelfScatteringKernel.hpp | 129 + .../tsl/SelfScatteringKernel/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/StructureFactor.hpp | 106 + .../v2.0/tsl/StructureFactor/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/T_effective.hpp | 106 + .../try/v2.0/tsl/T_effective/src/custom.hpp | 4 + .../v2.0/tsl/ThermalNeutronScatteringLaw.hpp | 112 + .../src/custom.hpp | 4 + .../tsl/ThermalNeutronScatteringLaw1d.hpp | 112 + .../src/custom.hpp | 4 + ...alNeutronScatteringLaw_coherentElastic.hpp | 142 + .../src/custom.hpp | 4 + ...NeutronScatteringLaw_incoherentElastic.hpp | 134 + .../src/custom.hpp | 4 + ...utronScatteringLaw_incoherentInelastic.hpp | 154 + .../src/custom.hpp | 4 + 1620 files changed, 239892 insertions(+), 9 deletions(-) create mode 100644 standards/gnds-2.0/try/c/src/v2.0.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/appData/Institution.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/appData/Institution.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Energy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Mass.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Probability.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Product.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Product.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Products.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Products.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Q.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Author.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Author.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Body.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Body.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Date.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Date.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Note.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Note.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Title.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Title.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Version.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/documentation/Version.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/map/Import.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/map/Import.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/map/Map.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/map/Map.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/map/Protare.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/map/Protare.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/map/TNSL.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/map/TNSL.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Alias.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Alias.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Decay.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Decay.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Interval.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Interval.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Product.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Product.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Products.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Products.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Q.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Shell.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Shell.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/J.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/J.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Js.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Js.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/L.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/L.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Heated.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Heated.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Realization.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Realization.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Styles.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Styles.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/A.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Add.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Add.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Background.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Background.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/F.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Forward.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Forward.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/G.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Production.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Production.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Productions.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Productions.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/R.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Reference.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Reference.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Summands.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Summands.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Sums.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Sums.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/U.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/U.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h create mode 100644 standards/gnds-2.0/try/python/src/v2.0/appData.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/appData/ApplicationData.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/appData/Conversion.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/appData/ENDFconversionFlags.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/appData/Institution.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/atomic.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/ExternalFile.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/ExternalFiles.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/Product.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/Products.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnData.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSection.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSections.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSuite.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/Mixed.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariance.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariances.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterLink.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/Parameters.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/RowData.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/Slice.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/Slices.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/Sum.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/covariance/Summand.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/cpTransport.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Abstract.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgement.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgements.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliation.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliations.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Author.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Authors.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Bibitem.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Bibliography.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Body.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/CodeRepo.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Collaboration.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Collaborations.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCode.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCodes.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Contributor.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Contributors.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Copyright.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/CorrectionScript.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/CovarianceScript.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Date.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Dates.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Documentation.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/EndfCompatible.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/ExecutionArguments.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSet.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSets.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/InputDeck.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/InputDecks.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Keyword.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Keywords.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Note.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDeck.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDecks.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItem.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItems.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Title.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/documentation/Version.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/A.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/B.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFH.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFL.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponent.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponents.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/MadlandNix.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fissionTransport/Watt.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTime.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTimes.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergies.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/Nuclides.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYield.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYields.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/map.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/map/Import.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/map/Map.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/map/Protare.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/map/TNSL.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Alias.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Aliases.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Atomic.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergies.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Baryon.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Baryons.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElement.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElements.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/ConfidenceIntervals.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Configuration.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Configurations.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Decay.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/DecayData.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/DecayMode.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/DecayModes.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/DecayPath.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Discrete.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/DiscreteEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBoson.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBosons.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Intensity.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Interval.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Isotope.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Isotopes.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Lepton.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Leptons.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/MetaStable.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Nucleus.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Nuclide.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Nuclides.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/PoPs_database.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Product.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Products.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Spectra.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Spectrum.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Uncertainty.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodox.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodoxes.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/processed.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Channel.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Channels.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyInterval.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyIntervals.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/J.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Js.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/L.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Ls.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Resolved.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReactions.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Resonances.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroup.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroups.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Unresolved.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/resonances/Widths.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/AverageProductData.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Bondarenko.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/EqualProbableBins.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Evaluated.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Heated.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/HeatedMultiGroup.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/MultiBand.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Realization.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/SnElasticUpScatter.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Styles.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Transportable.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/Transportables.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/styles/URR_probabilityTables.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Add.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Background.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Branching1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Branching3d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/CoherentPhoton.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSums.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Distribution.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Evaporation.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Forward.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/GeneralEvaporation.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/IncoherentPhoton.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/IncompleteReactions.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Isotropic2d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/KalbachMann.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySum.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySums.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProduct.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProducts.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Production.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Productions.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Reaction.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Reactions.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Recoil.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Reference.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesLink.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Summands.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Sums.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/U.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Uncorrelated.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Unspecified.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/transport/WeightedFunctionals.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdge.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdges.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/E_critical.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/E_max.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/FreeGasApproximation.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/GaussianApproximation.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/SCTApproximation.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtoms.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/appData/Conversion.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/appData/Conversion/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/appData/Institution.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/appData/Institution/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/IncoherentPhotonScattering.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/IncoherentPhotonScattering/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Energy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Mass/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Probability/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Product.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Product/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Products.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Products/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Q/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/common/Temperature/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/RowData.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/RowData/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Slice.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Slice/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Slices.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Slices/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Sum.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Sum/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Summand.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/covariance/Summand/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearAmplitudeExpansion/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearPlusInterference.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearPlusInterference/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Author.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Author/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Authors.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Authors/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Body.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Body/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Date.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Date/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Dates.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Dates/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Note.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Note/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Title.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Title/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Version.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/documentation/Version/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/Energy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/Time/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/fpy/Yields/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/key.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/map/Import.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/map/Import/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/map/Map.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/map/Map/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/map/Protare.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/map/Protare/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/map/TNSL.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/map/TNSL/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Alias.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Alias/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Aliases.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Aliases/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Atomic.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Atomic/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Baryon.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Baryon/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Baryons.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Baryons/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Charge/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Configuration.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Configuration/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Configurations.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Configurations/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Continuum/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Decay.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Decay/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DecayData.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DecayData/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Discrete.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Discrete/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Energy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Halflife/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Intensity.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Intensity/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/InternalPairFormationCoefficient.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/InternalPairFormationCoefficient/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Interval.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Interval/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Isotope.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Isotope/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Lepton.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Lepton/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Leptons.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Leptons/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Mass/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Parity/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Pdf/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Probability.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Probability/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Product.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Product/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Products.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Products/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Q/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Shell/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Spectra.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Spectra/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Spin/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Standard/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Channel.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Channel/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Channels.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Channels/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/J.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/J/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Js.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Js/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/L.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/L/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Ls.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Ls/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Width/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Widths.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/resonances/Widths/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/CrossSectionReconstructed.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/CrossSectionReconstructed/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Flux/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Heated.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Heated/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Realization.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Realization/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Styles.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Styles/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Temperature/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Transportable.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Transportable/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Transportables.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/Transportables/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/A/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Add.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Add/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Background.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Background/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Distribution.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Distribution/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/F/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Forward.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Forward/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/G/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Production.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Production/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Productions.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Productions/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/R/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Reaction.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Reaction/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Reactions.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Reactions/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Recoil.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Recoil/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Reference.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Reference/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Summands.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Summands/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Sums.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Sums/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Theta/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/U.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/U/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/Weighted/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/E_max.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/E_max/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/S_table/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic/src/custom.hpp diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index f1775ac1f..bc0b5f205 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -338,13 +338,21 @@ bool isClass(const KeyValue &keyval) return true; } -std::string getTimes(const orderedJSON &value) -{ +std::string getTimes( + const PerClass &per, const std::string &key, const orderedJSON &value +) { const std::string times = "times"; // shorter, less easily misspelled const std::string occurrence = "occurrence"; // accept; used in GNDS specs // need exactly one - not neither, not both - assert(value.contains(times) != value.contains(occurrence)); + if (value.contains(times) == value.contains(occurrence)) { + log::error( + "In namespace \"{}\", class \"{}\":\n" + "Child node \"{}\" needs exactly one of \"times\" or \"occurrence\".\n" + "Or, did you possibly intend \"{}\" to be an attribute/metadatum?", + per.nsname, per.clname, key, key); + throw std::exception{}; + } return value.contains(times) ? value[times] @@ -562,7 +570,7 @@ void getClassChildren( const auto &elemRHS = field.value(); // Choice children are handled elsewhere - const std::string times = getTimes(elemRHS); + const std::string times = getTimes(per,field.key(),elemRHS); if (times == "choice" || times == "choice+" || times == "choice2+") continue; @@ -639,7 +647,7 @@ void getClassVariants( for (const auto &field : j.items()) { // Is it a choice child? const auto &elemRHS = field.value(); - const std::string times = getTimes(elemRHS); + const std::string times = getTimes(per,field.key(),elemRHS); if (times != "choice" && times != "choice+" && times != "choice2+") continue; @@ -654,7 +662,7 @@ void getClassVariants( for (const auto &field : j.items()) { // Is it a choice child? const auto &elemRHS = field.value(); - const std::string times = getTimes(elemRHS); + const std::string times = getTimes(per,field.key(),elemRHS); if (times != "choice" && times != "choice+" && times != "choice2+") continue; @@ -1622,7 +1630,7 @@ void validateMetadata(const orderedJSON &metadata) // Helper: validateChildren -void validateChildren(const orderedJSON &children) +void validateChildren(const orderedJSON &children, const PerClass &per) { for (const auto &field : children.items()) { assert(field.value().contains("required")); @@ -1631,7 +1639,7 @@ void validateChildren(const orderedJSON &children) // Remark: the GNDS manual speaks of "choice2" and "choice2+" options // for occurrence. We're not sure if those will remain in future GNDS // specifications, so we won't worry now about how they might fit in. - const std::string times = getTimes(field.value()); + const std::string times = getTimes(per,field.key(),field.value()); if (times == "0+" || times == "choice" || times == "choice+") assert(!field.value()["required"]); // not required } @@ -1665,7 +1673,7 @@ void getClass( const orderedJSON attrs = getMetadataJSON(classRHS); const orderedJSON elems = getChildrenJSON(classRHS); validateMetadata(attrs); - validateChildren(elems); + validateChildren(elems, per); getClassMetadata(attrs, specs, per); getClassChildren(elems, specs, per, dep); getClassVariants(elems, specs, per, dep); diff --git a/standards/gnds-2.0/try/c/src/v2.0.h b/standards/gnds-2.0/try/c/src/v2.0.h new file mode 100644 index 000000000..53bfaf604 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0.h @@ -0,0 +1,355 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// ----------------------------------------------------------------------------- +// This header file is designed to work with both C and C++ +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0 +#define C_INTERFACE_TRY_V2_0 + +#include "GNDStk.h" + +#ifdef __cplusplus + // For C++ + #include "try/v2_0.hpp" +#endif + +#include "v2.0/appData/ApplicationData.h" +#include "v2.0/appData/Institution.h" +#include "v2.0/appData/ENDFconversionFlags.h" +#include "v2.0/appData/Conversion.h" + +#include "v2.0/atomic/CoherentPhotonScattering.h" +#include "v2.0/atomic/ImaginaryAnomalousFactor.h" +#include "v2.0/atomic/IncoherentPhotonScattering.h" +#include "v2.0/atomic/RealAnomalousFactor.h" +#include "v2.0/atomic/ScatteringFactor.h" +#include "v2.0/atomic/FormFactor.h" + +#include "v2.0/covariance/CovarianceSuite.h" +#include "v2.0/covariance/CovarianceSections.h" +#include "v2.0/covariance/CovarianceMatrix.h" +#include "v2.0/covariance/SandwichProduct.h" +#include "v2.0/covariance/Covariance.h" +#include "v2.0/covariance/RowSensitivity.h" +#include "v2.0/covariance/ColumnSensitivity.h" +#include "v2.0/covariance/ParameterCovariances.h" +#include "v2.0/covariance/Parameters.h" +#include "v2.0/covariance/ParameterCovariance.h" +#include "v2.0/covariance/ParameterCovarianceMatrix.h" +#include "v2.0/covariance/ParameterLink.h" +#include "v2.0/covariance/ShortRangeSelfScalingVariance.h" +#include "v2.0/covariance/Mixed.h" +#include "v2.0/covariance/AverageParameterCovariance.h" +#include "v2.0/covariance/CovarianceSection.h" +#include "v2.0/covariance/RowData.h" +#include "v2.0/covariance/ColumnData.h" +#include "v2.0/covariance/Slices.h" +#include "v2.0/covariance/Slice.h" +#include "v2.0/covariance/Sum.h" +#include "v2.0/covariance/Summand.h" + +#include "v2.0/fissionFragmentData/FissionFragmentData.h" +#include "v2.0/fissionFragmentData/DelayedNeutrons.h" +#include "v2.0/fissionFragmentData/DelayedNeutron.h" +#include "v2.0/fissionFragmentData/Rate.h" + +#include "v2.0/map/Map.h" +#include "v2.0/map/Import.h" +#include "v2.0/map/Protare.h" +#include "v2.0/map/TNSL.h" + +#include "v2.0/cpTransport/RutherfordScattering.h" +#include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" +#include "v2.0/cpTransport/NuclearPlusInterference.h" +#include "v2.0/cpTransport/NuclearAmplitudeExpansion.h" +#include "v2.0/cpTransport/NuclearTerm.h" +#include "v2.0/cpTransport/RealInterferenceTerm.h" +#include "v2.0/cpTransport/ImaginaryInterferenceTerm.h" + +#include "v2.0/fpy/ProductYields.h" +#include "v2.0/fpy/ProductYield.h" +#include "v2.0/fpy/Nuclides.h" +#include "v2.0/fpy/ElapsedTimes.h" +#include "v2.0/fpy/ElapsedTime.h" +#include "v2.0/fpy/Time.h" +#include "v2.0/fpy/Yields.h" +#include "v2.0/fpy/IncidentEnergies.h" +#include "v2.0/fpy/IncidentEnergy.h" +#include "v2.0/fpy/Energy.h" + +#include "v2.0/fissionTransport/FissionComponents.h" +#include "v2.0/fissionTransport/FissionComponent.h" +#include "v2.0/fissionTransport/FissionEnergyReleased.h" +#include "v2.0/fissionTransport/DelayedBetaEnergy.h" +#include "v2.0/fissionTransport/TotalEnergy.h" +#include "v2.0/fissionTransport/DelayedGammaEnergy.h" +#include "v2.0/fissionTransport/NonNeutrinoEnergy.h" +#include "v2.0/fissionTransport/PromptGammaEnergy.h" +#include "v2.0/fissionTransport/NeutrinoEnergy.h" +#include "v2.0/fissionTransport/PromptProductKE.h" +#include "v2.0/fissionTransport/PromptNeutronKE.h" +#include "v2.0/fissionTransport/DelayedNeutronKE.h" +#include "v2.0/fissionTransport/Watt.h" +#include "v2.0/fissionTransport/A.h" +#include "v2.0/fissionTransport/B.h" +#include "v2.0/fissionTransport/SimpleMaxwellianFission.h" +#include "v2.0/fissionTransport/MadlandNix.h" +#include "v2.0/fissionTransport/T_M.h" +#include "v2.0/fissionTransport/EFL.h" +#include "v2.0/fissionTransport/EFH.h" + +#include "v2.0/processed/MultiGroup3d.h" +#include "v2.0/processed/AngularEnergyMC.h" +#include "v2.0/processed/EnergyAngularMC.h" +#include "v2.0/processed/AverageProductEnergy.h" +#include "v2.0/processed/AverageProductMomentum.h" +#include "v2.0/processed/AvailableMomentum.h" +#include "v2.0/processed/AvailableEnergy.h" + +#include "v2.0/tsl/ThermalNeutronScatteringLaw1d.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h" +#include "v2.0/tsl/S_table.h" +#include "v2.0/tsl/BraggEdges.h" +#include "v2.0/tsl/BraggEdge.h" +#include "v2.0/tsl/BraggEnergy.h" +#include "v2.0/tsl/StructureFactor.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h" +#include "v2.0/tsl/DebyeWallerIntegral.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h" +#include "v2.0/tsl/ScatteringAtom.h" +#include "v2.0/tsl/ScatteringAtoms.h" +#include "v2.0/tsl/E_critical.h" +#include "v2.0/tsl/E_max.h" +#include "v2.0/tsl/BoundAtomCrossSection.h" +#include "v2.0/tsl/CoherentAtomCrossSection.h" +#include "v2.0/tsl/SelfScatteringKernel.h" +#include "v2.0/tsl/DistinctScatteringKernel.h" +#include "v2.0/tsl/T_effective.h" +#include "v2.0/tsl/GaussianApproximation.h" +#include "v2.0/tsl/PhononSpectrum.h" +#include "v2.0/tsl/SCTApproximation.h" +#include "v2.0/tsl/FreeGasApproximation.h" + +#include "v2.0/resonances/Resonances.h" +#include "v2.0/resonances/ScatteringRadius.h" +#include "v2.0/resonances/HardSphereRadius.h" +#include "v2.0/resonances/ExternalRMatrix.h" +#include "v2.0/resonances/Resolved.h" +#include "v2.0/resonances/EnergyIntervals.h" +#include "v2.0/resonances/EnergyInterval.h" +#include "v2.0/resonances/RMatrix.h" +#include "v2.0/resonances/ResonanceReactions.h" +#include "v2.0/resonances/ResonanceReaction.h" +#include "v2.0/resonances/SpinGroups.h" +#include "v2.0/resonances/SpinGroup.h" +#include "v2.0/resonances/Channels.h" +#include "v2.0/resonances/Channel.h" +#include "v2.0/resonances/ResonanceParameters.h" +#include "v2.0/resonances/BreitWigner.h" +#include "v2.0/resonances/Unresolved.h" +#include "v2.0/resonances/TabulatedWidths.h" +#include "v2.0/resonances/Ls.h" +#include "v2.0/resonances/L.h" +#include "v2.0/resonances/Js.h" +#include "v2.0/resonances/J.h" +#include "v2.0/resonances/LevelSpacing.h" +#include "v2.0/resonances/Widths.h" +#include "v2.0/resonances/Width.h" + +#include "v2.0/pops/PoPs_database.h" +#include "v2.0/pops/Aliases.h" +#include "v2.0/pops/Alias.h" +#include "v2.0/pops/MetaStable.h" +#include "v2.0/pops/GaugeBosons.h" +#include "v2.0/pops/GaugeBoson.h" +#include "v2.0/pops/Leptons.h" +#include "v2.0/pops/Lepton.h" +#include "v2.0/pops/Baryons.h" +#include "v2.0/pops/Baryon.h" +#include "v2.0/pops/ChemicalElements.h" +#include "v2.0/pops/ChemicalElement.h" +#include "v2.0/pops/Atomic.h" +#include "v2.0/pops/Configurations.h" +#include "v2.0/pops/Configuration.h" +#include "v2.0/pops/BindingEnergy.h" +#include "v2.0/pops/Isotopes.h" +#include "v2.0/pops/Isotope.h" +#include "v2.0/pops/Nuclides.h" +#include "v2.0/pops/Nuclide.h" +#include "v2.0/pops/Nucleus.h" +#include "v2.0/pops/Unorthodoxes.h" +#include "v2.0/pops/Unorthodox.h" +#include "v2.0/pops/Mass.h" +#include "v2.0/pops/Spin.h" +#include "v2.0/pops/Parity.h" +#include "v2.0/pops/Charge.h" +#include "v2.0/pops/Energy.h" +#include "v2.0/pops/Halflife.h" +#include "v2.0/pops/DecayData.h" +#include "v2.0/pops/DecayModes.h" +#include "v2.0/pops/DecayMode.h" +#include "v2.0/pops/Probability.h" +#include "v2.0/pops/InternalConversionCoefficients.h" +#include "v2.0/pops/PhotonEmissionProbabilities.h" +#include "v2.0/pops/PositronEmissionIntensity.h" +#include "v2.0/pops/Shell.h" +#include "v2.0/pops/Q.h" +#include "v2.0/pops/DecayPath.h" +#include "v2.0/pops/Decay.h" +#include "v2.0/pops/Products.h" +#include "v2.0/pops/Product.h" +#include "v2.0/pops/Spectra.h" +#include "v2.0/pops/Spectrum.h" +#include "v2.0/pops/Continuum.h" +#include "v2.0/pops/Discrete.h" +#include "v2.0/pops/DiscreteEnergy.h" +#include "v2.0/pops/Intensity.h" +#include "v2.0/pops/InternalPairFormationCoefficient.h" +#include "v2.0/pops/AverageEnergies.h" +#include "v2.0/pops/AverageEnergy.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/pops/Standard.h" +#include "v2.0/pops/LogNormal.h" +#include "v2.0/pops/ConfidenceIntervals.h" +#include "v2.0/pops/Interval.h" +#include "v2.0/pops/Pdf.h" + +#include "v2.0/styles/Styles.h" +#include "v2.0/styles/Evaluated.h" +#include "v2.0/styles/ProjectileEnergyDomain.h" +#include "v2.0/styles/Temperature.h" +#include "v2.0/styles/CrossSectionReconstructed.h" +#include "v2.0/styles/AngularDistributionReconstructed.h" +#include "v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h" +#include "v2.0/styles/Heated.h" +#include "v2.0/styles/AverageProductData.h" +#include "v2.0/styles/MonteCarlo_cdf.h" +#include "v2.0/styles/GriddedCrossSection.h" +#include "v2.0/styles/HeatedMultiGroup.h" +#include "v2.0/styles/Transportables.h" +#include "v2.0/styles/Transportable.h" +#include "v2.0/styles/MultiGroup.h" +#include "v2.0/styles/Flux.h" +#include "v2.0/styles/InverseSpeed.h" +#include "v2.0/styles/SnElasticUpScatter.h" +#include "v2.0/styles/URR_probabilityTables.h" +#include "v2.0/styles/Bondarenko.h" +#include "v2.0/styles/SigmaZeros.h" +#include "v2.0/styles/MultiBand.h" +#include "v2.0/styles/EqualProbableBins.h" +#include "v2.0/styles/Realization.h" + +#include "v2.0/transport/ReactionSuite.h" +#include "v2.0/transport/Reactions.h" +#include "v2.0/transport/Reaction.h" +#include "v2.0/transport/Sums.h" +#include "v2.0/transport/OutputChannel.h" +#include "v2.0/transport/CrossSectionSums.h" +#include "v2.0/transport/CrossSection.h" +#include "v2.0/transport/ResonancesWithBackground.h" +#include "v2.0/transport/ResonancesLink.h" +#include "v2.0/transport/Background.h" +#include "v2.0/transport/ResolvedRegion.h" +#include "v2.0/transport/UnresolvedRegion.h" +#include "v2.0/transport/FastRegion.h" +#include "v2.0/transport/URR_probabilityTables1d.h" +#include "v2.0/transport/CrossSectionSum.h" +#include "v2.0/transport/DoubleDifferentialCrossSection.h" +#include "v2.0/transport/CoherentPhoton.h" +#include "v2.0/transport/IncoherentPhoton.h" +#include "v2.0/transport/MultiplicitySums.h" +#include "v2.0/transport/Multiplicity.h" +#include "v2.0/transport/Branching1d.h" +#include "v2.0/transport/OrphanProducts.h" +#include "v2.0/transport/OrphanProduct.h" +#include "v2.0/transport/MultiplicitySum.h" +#include "v2.0/transport/Distribution.h" +#include "v2.0/transport/Branching3d.h" +#include "v2.0/transport/MultiGroup3d.h" +#include "v2.0/transport/NBodyPhaseSpace.h" +#include "v2.0/transport/Angular_uncorrelated.h" +#include "v2.0/transport/Energy_uncorrelated.h" +#include "v2.0/transport/AngularEnergy.h" +#include "v2.0/transport/EnergyAngular.h" +#include "v2.0/transport/AngularTwoBody.h" +#include "v2.0/transport/Uncorrelated.h" +#include "v2.0/transport/Recoil.h" +#include "v2.0/transport/KalbachMann.h" +#include "v2.0/transport/GeneralEvaporation.h" +#include "v2.0/transport/WeightedFunctionals.h" +#include "v2.0/transport/Evaporation.h" +#include "v2.0/transport/Unspecified.h" +#include "v2.0/transport/DiscreteGamma.h" +#include "v2.0/transport/PhotonEmissionProbabilities.h" +#include "v2.0/transport/PrimaryGamma.h" +#include "v2.0/transport/Production.h" +#include "v2.0/transport/Productions.h" +#include "v2.0/transport/IncompleteReactions.h" +#include "v2.0/transport/Summands.h" +#include "v2.0/transport/Add.h" +#include "v2.0/transport/F.h" +#include "v2.0/transport/G.h" +#include "v2.0/transport/R.h" +#include "v2.0/transport/A.h" +#include "v2.0/transport/Theta.h" +#include "v2.0/transport/U.h" +#include "v2.0/transport/Forward.h" +#include "v2.0/transport/Isotropic2d.h" +#include "v2.0/transport/Weighted.h" +#include "v2.0/transport/Reference.h" + +#include "v2.0/common/Q.h" +#include "v2.0/common/Product.h" +#include "v2.0/common/Products.h" +#include "v2.0/common/Mass.h" +#include "v2.0/common/Energy.h" +#include "v2.0/common/Probability.h" +#include "v2.0/common/Temperature.h" +#include "v2.0/common/ExternalFiles.h" +#include "v2.0/common/ExternalFile.h" + +#include "v2.0/documentation/Documentation.h" +#include "v2.0/documentation/Authors.h" +#include "v2.0/documentation/Author.h" +#include "v2.0/documentation/Contributors.h" +#include "v2.0/documentation/Contributor.h" +#include "v2.0/documentation/Affiliations.h" +#include "v2.0/documentation/Affiliation.h" +#include "v2.0/documentation/Collaborations.h" +#include "v2.0/documentation/Collaboration.h" +#include "v2.0/documentation/Dates.h" +#include "v2.0/documentation/Date.h" +#include "v2.0/documentation/Title.h" +#include "v2.0/documentation/Abstract.h" +#include "v2.0/documentation/Body.h" +#include "v2.0/documentation/Copyright.h" +#include "v2.0/documentation/Version.h" +#include "v2.0/documentation/Acknowledgements.h" +#include "v2.0/documentation/Acknowledgement.h" +#include "v2.0/documentation/RelatedItems.h" +#include "v2.0/documentation/RelatedItem.h" +#include "v2.0/documentation/Keywords.h" +#include "v2.0/documentation/Keyword.h" +#include "v2.0/documentation/ComputerCodes.h" +#include "v2.0/documentation/ComputerCode.h" +#include "v2.0/documentation/CodeRepo.h" +#include "v2.0/documentation/InputDecks.h" +#include "v2.0/documentation/InputDeck.h" +#include "v2.0/documentation/OutputDecks.h" +#include "v2.0/documentation/OutputDeck.h" +#include "v2.0/documentation/ExecutionArguments.h" +#include "v2.0/documentation/ExperimentalDataSets.h" +#include "v2.0/documentation/ExforDataSets.h" +#include "v2.0/documentation/ExforDataSet.h" +#include "v2.0/documentation/CovarianceScript.h" +#include "v2.0/documentation/CorrectionScript.h" +#include "v2.0/documentation/Note.h" +#include "v2.0/documentation/Bibliography.h" +#include "v2.0/documentation/Bibitem.h" +#include "v2.0/documentation/EndfCompatible.h" + +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.cpp b/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.cpp new file mode 100644 index 000000000..f019e12dd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/appData/ApplicationData.hpp" +#include "ApplicationData.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ApplicationDataClass; +using CPP = multigroup::ApplicationData; + +static const std::string CLASSNAME = "ApplicationData"; + +namespace extract { + static auto institution = [](auto &obj) { return &obj.institution; }; +} + +using CPPInstitution = appData::Institution; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstApplicationData +ApplicationDataDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ApplicationData +ApplicationDataDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstApplicationData +ApplicationDataCreateConst( + ConstHandle2ConstInstitution institution +) { + ConstHandle2ApplicationData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(institution) + ); + return handle; +} + +// Create, general +Handle2ApplicationData +ApplicationDataCreate( + ConstHandle2ConstInstitution institution +) { + ConstHandle2ApplicationData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(institution) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ApplicationDataAssign(ConstHandle2ApplicationData This, ConstHandle2ConstApplicationData from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ApplicationDataDelete(ConstHandle2ConstApplicationData This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ApplicationDataRead(ConstHandle2ApplicationData This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ApplicationDataWrite(ConstHandle2ConstApplicationData This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ApplicationDataPrint(ConstHandle2ConstApplicationData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ApplicationDataPrintXML(ConstHandle2ConstApplicationData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ApplicationDataPrintJSON(ConstHandle2ConstApplicationData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: institution +// ----------------------------------------------------------------------------- + +// Has +int +ApplicationDataInstitutionHas(ConstHandle2ConstApplicationData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InstitutionHas", This, extract::institution); +} + +// Get, const +Handle2ConstInstitution +ApplicationDataInstitutionGetConst(ConstHandle2ConstApplicationData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InstitutionGetConst", This, extract::institution); +} + +// Get, non-const +Handle2Institution +ApplicationDataInstitutionGet(ConstHandle2ApplicationData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InstitutionGet", This, extract::institution); +} + +// Set +void +ApplicationDataInstitutionSet(ConstHandle2ApplicationData This, ConstHandle2ConstInstitution institution) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InstitutionSet", This, extract::institution, institution); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.h b/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.h new file mode 100644 index 000000000..82909e8d9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ApplicationData is the basic handle type in this file. Example: +// // Create a default ApplicationData object: +// ApplicationData handle = ApplicationDataDefault(); +// Functions involving ApplicationData are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_APPDATA_APPLICATIONDATA +#define C_INTERFACE_TRY_V2_0_APPDATA_APPLICATIONDATA + +#include "GNDStk.h" +#include "v2.0/appData/Institution.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ApplicationDataClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ApplicationData +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ApplicationDataClass *ApplicationData; + +// --- Const-aware handles. +typedef const struct ApplicationDataClass *const ConstHandle2ConstApplicationData; +typedef struct ApplicationDataClass *const ConstHandle2ApplicationData; +typedef const struct ApplicationDataClass * Handle2ConstApplicationData; +typedef struct ApplicationDataClass * Handle2ApplicationData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstApplicationData +ApplicationDataDefaultConst(); + +// +++ Create, default +extern_c Handle2ApplicationData +ApplicationDataDefault(); + +// --- Create, general, const +extern_c Handle2ConstApplicationData +ApplicationDataCreateConst( + ConstHandle2ConstInstitution institution +); + +// +++ Create, general +extern_c Handle2ApplicationData +ApplicationDataCreate( + ConstHandle2ConstInstitution institution +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ApplicationDataAssign(ConstHandle2ApplicationData This, ConstHandle2ConstApplicationData from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ApplicationDataDelete(ConstHandle2ConstApplicationData This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ApplicationDataRead(ConstHandle2ApplicationData This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ApplicationDataWrite(ConstHandle2ConstApplicationData This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ApplicationDataPrint(ConstHandle2ConstApplicationData This); + +// +++ Print to standard output, as XML +extern_c int +ApplicationDataPrintXML(ConstHandle2ConstApplicationData This); + +// +++ Print to standard output, as JSON +extern_c int +ApplicationDataPrintJSON(ConstHandle2ConstApplicationData This); + + +// ----------------------------------------------------------------------------- +// Child: institution +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ApplicationDataInstitutionHas(ConstHandle2ConstApplicationData This); + +// --- Get, const +extern_c Handle2ConstInstitution +ApplicationDataInstitutionGetConst(ConstHandle2ConstApplicationData This); + +// +++ Get, non-const +extern_c Handle2Institution +ApplicationDataInstitutionGet(ConstHandle2ApplicationData This); + +// +++ Set +extern_c void +ApplicationDataInstitutionSet(ConstHandle2ApplicationData This, ConstHandle2ConstInstitution institution); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.cpp b/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.cpp new file mode 100644 index 000000000..63610b85c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/appData/Conversion.hpp" +#include "Conversion.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ConversionClass; +using CPP = multigroup::Conversion; + +static const std::string CLASSNAME = "Conversion"; + +namespace extract { + static auto flags = [](auto &obj) { return &obj.flags; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstConversion +ConversionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Conversion +ConversionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstConversion +ConversionCreateConst( + const XMLName flags, + const char *const href +) { + ConstHandle2Conversion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + flags, + href + ); + return handle; +} + +// Create, general +Handle2Conversion +ConversionCreate( + const XMLName flags, + const char *const href +) { + ConstHandle2Conversion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + flags, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ConversionAssign(ConstHandle2Conversion This, ConstHandle2ConstConversion from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ConversionDelete(ConstHandle2ConstConversion This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ConversionRead(ConstHandle2Conversion This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ConversionWrite(ConstHandle2ConstConversion This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ConversionPrint(ConstHandle2ConstConversion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ConversionPrintXML(ConstHandle2ConstConversion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ConversionPrintJSON(ConstHandle2ConstConversion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: flags +// ----------------------------------------------------------------------------- + +// Has +int +ConversionFlagsHas(ConstHandle2ConstConversion This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FlagsHas", This, extract::flags); +} + +// Get +// Returns by value +XMLName +ConversionFlagsGet(ConstHandle2ConstConversion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FlagsGet", This, extract::flags); +} + +// Set +void +ConversionFlagsSet(ConstHandle2Conversion This, const XMLName flags) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FlagsSet", This, extract::flags, flags); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ConversionHrefHas(ConstHandle2ConstConversion This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +ConversionHrefGet(ConstHandle2ConstConversion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ConversionHrefSet(ConstHandle2Conversion This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.h b/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.h new file mode 100644 index 000000000..d497bf02f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Conversion is the basic handle type in this file. Example: +// // Create a default Conversion object: +// Conversion handle = ConversionDefault(); +// Functions involving Conversion are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_APPDATA_CONVERSION +#define C_INTERFACE_TRY_V2_0_APPDATA_CONVERSION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ConversionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Conversion +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ConversionClass *Conversion; + +// --- Const-aware handles. +typedef const struct ConversionClass *const ConstHandle2ConstConversion; +typedef struct ConversionClass *const ConstHandle2Conversion; +typedef const struct ConversionClass * Handle2ConstConversion; +typedef struct ConversionClass * Handle2Conversion; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstConversion +ConversionDefaultConst(); + +// +++ Create, default +extern_c Handle2Conversion +ConversionDefault(); + +// --- Create, general, const +extern_c Handle2ConstConversion +ConversionCreateConst( + const XMLName flags, + const char *const href +); + +// +++ Create, general +extern_c Handle2Conversion +ConversionCreate( + const XMLName flags, + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ConversionAssign(ConstHandle2Conversion This, ConstHandle2ConstConversion from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ConversionDelete(ConstHandle2ConstConversion This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ConversionRead(ConstHandle2Conversion This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ConversionWrite(ConstHandle2ConstConversion This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ConversionPrint(ConstHandle2ConstConversion This); + +// +++ Print to standard output, as XML +extern_c int +ConversionPrintXML(ConstHandle2ConstConversion This); + +// +++ Print to standard output, as JSON +extern_c int +ConversionPrintJSON(ConstHandle2ConstConversion This); + + +// ----------------------------------------------------------------------------- +// Metadatum: flags +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConversionFlagsHas(ConstHandle2ConstConversion This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ConversionFlagsGet(ConstHandle2ConstConversion This); + +// +++ Set +extern_c void +ConversionFlagsSet(ConstHandle2Conversion This, const XMLName flags); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConversionHrefHas(ConstHandle2ConstConversion This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ConversionHrefGet(ConstHandle2ConstConversion This); + +// +++ Set +extern_c void +ConversionHrefSet(ConstHandle2Conversion This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.cpp b/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.cpp new file mode 100644 index 000000000..a3294d944 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/appData/ENDFconversionFlags.hpp" +#include "ENDFconversionFlags.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ENDFconversionFlagsClass; +using CPP = multigroup::ENDFconversionFlags; + +static const std::string CLASSNAME = "ENDFconversionFlags"; + +namespace extract { + static auto conversion = [](auto &obj) { return &obj.conversion; }; +} + +using CPPConversion = appData::Conversion; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstENDFconversionFlags +ENDFconversionFlagsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ENDFconversionFlags +ENDFconversionFlagsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstENDFconversionFlags +ENDFconversionFlagsCreateConst( + ConstHandle2ConstConversion conversion +) { + ConstHandle2ENDFconversionFlags handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(conversion) + ); + return handle; +} + +// Create, general +Handle2ENDFconversionFlags +ENDFconversionFlagsCreate( + ConstHandle2ConstConversion conversion +) { + ConstHandle2ENDFconversionFlags handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(conversion) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ENDFconversionFlagsAssign(ConstHandle2ENDFconversionFlags This, ConstHandle2ConstENDFconversionFlags from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ENDFconversionFlagsDelete(ConstHandle2ConstENDFconversionFlags This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ENDFconversionFlagsRead(ConstHandle2ENDFconversionFlags This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ENDFconversionFlagsWrite(ConstHandle2ConstENDFconversionFlags This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ENDFconversionFlagsPrint(ConstHandle2ConstENDFconversionFlags This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ENDFconversionFlagsPrintXML(ConstHandle2ConstENDFconversionFlags This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ENDFconversionFlagsPrintJSON(ConstHandle2ConstENDFconversionFlags This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: conversion +// ----------------------------------------------------------------------------- + +// Has +int +ENDFconversionFlagsConversionHas(ConstHandle2ConstENDFconversionFlags This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConversionHas", This, extract::conversion); +} + +// Get, const +Handle2ConstConversion +ENDFconversionFlagsConversionGetConst(ConstHandle2ConstENDFconversionFlags This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConversionGetConst", This, extract::conversion); +} + +// Get, non-const +Handle2Conversion +ENDFconversionFlagsConversionGet(ConstHandle2ENDFconversionFlags This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConversionGet", This, extract::conversion); +} + +// Set +void +ENDFconversionFlagsConversionSet(ConstHandle2ENDFconversionFlags This, ConstHandle2ConstConversion conversion) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConversionSet", This, extract::conversion, conversion); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.h b/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.h new file mode 100644 index 000000000..338a391da --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ENDFconversionFlags is the basic handle type in this file. Example: +// // Create a default ENDFconversionFlags object: +// ENDFconversionFlags handle = ENDFconversionFlagsDefault(); +// Functions involving ENDFconversionFlags are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_APPDATA_ENDFCONVERSIONFLAGS +#define C_INTERFACE_TRY_V2_0_APPDATA_ENDFCONVERSIONFLAGS + +#include "GNDStk.h" +#include "v2.0/appData/Conversion.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ENDFconversionFlagsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ENDFconversionFlags +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ENDFconversionFlagsClass *ENDFconversionFlags; + +// --- Const-aware handles. +typedef const struct ENDFconversionFlagsClass *const ConstHandle2ConstENDFconversionFlags; +typedef struct ENDFconversionFlagsClass *const ConstHandle2ENDFconversionFlags; +typedef const struct ENDFconversionFlagsClass * Handle2ConstENDFconversionFlags; +typedef struct ENDFconversionFlagsClass * Handle2ENDFconversionFlags; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstENDFconversionFlags +ENDFconversionFlagsDefaultConst(); + +// +++ Create, default +extern_c Handle2ENDFconversionFlags +ENDFconversionFlagsDefault(); + +// --- Create, general, const +extern_c Handle2ConstENDFconversionFlags +ENDFconversionFlagsCreateConst( + ConstHandle2ConstConversion conversion +); + +// +++ Create, general +extern_c Handle2ENDFconversionFlags +ENDFconversionFlagsCreate( + ConstHandle2ConstConversion conversion +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ENDFconversionFlagsAssign(ConstHandle2ENDFconversionFlags This, ConstHandle2ConstENDFconversionFlags from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ENDFconversionFlagsDelete(ConstHandle2ConstENDFconversionFlags This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ENDFconversionFlagsRead(ConstHandle2ENDFconversionFlags This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ENDFconversionFlagsWrite(ConstHandle2ConstENDFconversionFlags This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ENDFconversionFlagsPrint(ConstHandle2ConstENDFconversionFlags This); + +// +++ Print to standard output, as XML +extern_c int +ENDFconversionFlagsPrintXML(ConstHandle2ConstENDFconversionFlags This); + +// +++ Print to standard output, as JSON +extern_c int +ENDFconversionFlagsPrintJSON(ConstHandle2ConstENDFconversionFlags This); + + +// ----------------------------------------------------------------------------- +// Child: conversion +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ENDFconversionFlagsConversionHas(ConstHandle2ConstENDFconversionFlags This); + +// --- Get, const +extern_c Handle2ConstConversion +ENDFconversionFlagsConversionGetConst(ConstHandle2ConstENDFconversionFlags This); + +// +++ Get, non-const +extern_c Handle2Conversion +ENDFconversionFlagsConversionGet(ConstHandle2ENDFconversionFlags This); + +// +++ Set +extern_c void +ENDFconversionFlagsConversionSet(ConstHandle2ENDFconversionFlags This, ConstHandle2ConstConversion conversion); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.cpp b/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.cpp new file mode 100644 index 000000000..c66741482 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.cpp @@ -0,0 +1,209 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/appData/Institution.hpp" +#include "Institution.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = InstitutionClass; +using CPP = multigroup::Institution; + +static const std::string CLASSNAME = "Institution"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto ENDFconversionFlags = [](auto &obj) { return &obj.ENDFconversionFlags; }; +} + +using CPPENDFconversionFlags = appData::ENDFconversionFlags; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInstitution +InstitutionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Institution +InstitutionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInstitution +InstitutionCreateConst( + const XMLName label, + ConstHandle2ConstENDFconversionFlags ENDFconversionFlags +) { + ConstHandle2Institution handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(ENDFconversionFlags) + ); + return handle; +} + +// Create, general +Handle2Institution +InstitutionCreate( + const XMLName label, + ConstHandle2ConstENDFconversionFlags ENDFconversionFlags +) { + ConstHandle2Institution handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(ENDFconversionFlags) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +InstitutionAssign(ConstHandle2Institution This, ConstHandle2ConstInstitution from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +InstitutionDelete(ConstHandle2ConstInstitution This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +InstitutionRead(ConstHandle2Institution This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +InstitutionWrite(ConstHandle2ConstInstitution This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +InstitutionPrint(ConstHandle2ConstInstitution This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +InstitutionPrintXML(ConstHandle2ConstInstitution This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +InstitutionPrintJSON(ConstHandle2ConstInstitution This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +InstitutionLabelHas(ConstHandle2ConstInstitution This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +InstitutionLabelGet(ConstHandle2ConstInstitution This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +InstitutionLabelSet(ConstHandle2Institution This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: ENDFconversionFlags +// ----------------------------------------------------------------------------- + +// Has +int +InstitutionENDFconversionFlagsHas(ConstHandle2ConstInstitution This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFconversionFlagsHas", This, extract::ENDFconversionFlags); +} + +// Get, const +Handle2ConstENDFconversionFlags +InstitutionENDFconversionFlagsGetConst(ConstHandle2ConstInstitution This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFconversionFlagsGetConst", This, extract::ENDFconversionFlags); +} + +// Get, non-const +Handle2ENDFconversionFlags +InstitutionENDFconversionFlagsGet(ConstHandle2Institution This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFconversionFlagsGet", This, extract::ENDFconversionFlags); +} + +// Set +void +InstitutionENDFconversionFlagsSet(ConstHandle2Institution This, ConstHandle2ConstENDFconversionFlags ENDFconversionFlags) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFconversionFlagsSet", This, extract::ENDFconversionFlags, ENDFconversionFlags); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.h b/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.h new file mode 100644 index 000000000..4d532b681 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.h @@ -0,0 +1,179 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Institution is the basic handle type in this file. Example: +// // Create a default Institution object: +// Institution handle = InstitutionDefault(); +// Functions involving Institution are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_APPDATA_INSTITUTION +#define C_INTERFACE_TRY_V2_0_APPDATA_INSTITUTION + +#include "GNDStk.h" +#include "v2.0/appData/ENDFconversionFlags.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct InstitutionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Institution +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct InstitutionClass *Institution; + +// --- Const-aware handles. +typedef const struct InstitutionClass *const ConstHandle2ConstInstitution; +typedef struct InstitutionClass *const ConstHandle2Institution; +typedef const struct InstitutionClass * Handle2ConstInstitution; +typedef struct InstitutionClass * Handle2Institution; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInstitution +InstitutionDefaultConst(); + +// +++ Create, default +extern_c Handle2Institution +InstitutionDefault(); + +// --- Create, general, const +extern_c Handle2ConstInstitution +InstitutionCreateConst( + const XMLName label, + ConstHandle2ConstENDFconversionFlags ENDFconversionFlags +); + +// +++ Create, general +extern_c Handle2Institution +InstitutionCreate( + const XMLName label, + ConstHandle2ConstENDFconversionFlags ENDFconversionFlags +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +InstitutionAssign(ConstHandle2Institution This, ConstHandle2ConstInstitution from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +InstitutionDelete(ConstHandle2ConstInstitution This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +InstitutionRead(ConstHandle2Institution This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +InstitutionWrite(ConstHandle2ConstInstitution This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +InstitutionPrint(ConstHandle2ConstInstitution This); + +// +++ Print to standard output, as XML +extern_c int +InstitutionPrintXML(ConstHandle2ConstInstitution This); + +// +++ Print to standard output, as JSON +extern_c int +InstitutionPrintJSON(ConstHandle2ConstInstitution This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InstitutionLabelHas(ConstHandle2ConstInstitution This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +InstitutionLabelGet(ConstHandle2ConstInstitution This); + +// +++ Set +extern_c void +InstitutionLabelSet(ConstHandle2Institution This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: ENDFconversionFlags +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InstitutionENDFconversionFlagsHas(ConstHandle2ConstInstitution This); + +// --- Get, const +extern_c Handle2ConstENDFconversionFlags +InstitutionENDFconversionFlagsGetConst(ConstHandle2ConstInstitution This); + +// +++ Get, non-const +extern_c Handle2ENDFconversionFlags +InstitutionENDFconversionFlagsGet(ConstHandle2Institution This); + +// +++ Set +extern_c void +InstitutionENDFconversionFlagsSet(ConstHandle2Institution This, ConstHandle2ConstENDFconversionFlags ENDFconversionFlags); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.cpp new file mode 100644 index 000000000..503a199bc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.cpp @@ -0,0 +1,400 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/atomic/CoherentPhotonScattering.hpp" +#include "CoherentPhotonScattering.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CoherentPhotonScatteringClass; +using CPP = multigroup::CoherentPhotonScattering; + +static const std::string CLASSNAME = "CoherentPhotonScattering"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto formFactor = [](auto &obj) { return &obj.formFactor; }; + static auto realAnomalousFactor = [](auto &obj) { return &obj.realAnomalousFactor; }; + static auto imaginaryAnomalousFactor = [](auto &obj) { return &obj.imaginaryAnomalousFactor; }; +} + +using CPPFormFactor = atomic::FormFactor; +using CPPRealAnomalousFactor = atomic::RealAnomalousFactor; +using CPPImaginaryAnomalousFactor = atomic::ImaginaryAnomalousFactor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCoherentPhotonScattering +CoherentPhotonScatteringDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CoherentPhotonScattering +CoherentPhotonScatteringDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCoherentPhotonScattering +CoherentPhotonScatteringCreateConst( + const char *const href, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstFormFactor formFactor, + ConstHandle2ConstRealAnomalousFactor realAnomalousFactor, + ConstHandle2ConstImaginaryAnomalousFactor imaginaryAnomalousFactor +) { + ConstHandle2CoherentPhotonScattering handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href, + label, + pid, + productFrame, + detail::tocpp(formFactor), + detail::tocpp(realAnomalousFactor), + detail::tocpp(imaginaryAnomalousFactor) + ); + return handle; +} + +// Create, general +Handle2CoherentPhotonScattering +CoherentPhotonScatteringCreate( + const char *const href, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstFormFactor formFactor, + ConstHandle2ConstRealAnomalousFactor realAnomalousFactor, + ConstHandle2ConstImaginaryAnomalousFactor imaginaryAnomalousFactor +) { + ConstHandle2CoherentPhotonScattering handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href, + label, + pid, + productFrame, + detail::tocpp(formFactor), + detail::tocpp(realAnomalousFactor), + detail::tocpp(imaginaryAnomalousFactor) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CoherentPhotonScatteringAssign(ConstHandle2CoherentPhotonScattering This, ConstHandle2ConstCoherentPhotonScattering from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CoherentPhotonScatteringDelete(ConstHandle2ConstCoherentPhotonScattering This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CoherentPhotonScatteringRead(ConstHandle2CoherentPhotonScattering This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CoherentPhotonScatteringWrite(ConstHandle2ConstCoherentPhotonScattering This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CoherentPhotonScatteringPrint(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CoherentPhotonScatteringPrintXML(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CoherentPhotonScatteringPrintJSON(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +CoherentPhotonScatteringHrefHas(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +CoherentPhotonScatteringHrefGet(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +CoherentPhotonScatteringHrefSet(ConstHandle2CoherentPhotonScattering This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CoherentPhotonScatteringLabelHas(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CoherentPhotonScatteringLabelGet(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CoherentPhotonScatteringLabelSet(ConstHandle2CoherentPhotonScattering This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +CoherentPhotonScatteringPidHas(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +CoherentPhotonScatteringPidGet(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +CoherentPhotonScatteringPidSet(ConstHandle2CoherentPhotonScattering This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +CoherentPhotonScatteringProductFrameHas(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +enums::Frame +CoherentPhotonScatteringProductFrameGet(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +CoherentPhotonScatteringProductFrameSet(ConstHandle2CoherentPhotonScattering This, const enums::Frame productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: formFactor +// ----------------------------------------------------------------------------- + +// Has +int +CoherentPhotonScatteringFormFactorHas(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FormFactorHas", This, extract::formFactor); +} + +// Get, const +Handle2ConstFormFactor +CoherentPhotonScatteringFormFactorGetConst(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FormFactorGetConst", This, extract::formFactor); +} + +// Get, non-const +Handle2FormFactor +CoherentPhotonScatteringFormFactorGet(ConstHandle2CoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FormFactorGet", This, extract::formFactor); +} + +// Set +void +CoherentPhotonScatteringFormFactorSet(ConstHandle2CoherentPhotonScattering This, ConstHandle2ConstFormFactor formFactor) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FormFactorSet", This, extract::formFactor, formFactor); +} + + +// ----------------------------------------------------------------------------- +// Child: realAnomalousFactor +// ----------------------------------------------------------------------------- + +// Has +int +CoherentPhotonScatteringRealAnomalousFactorHas(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RealAnomalousFactorHas", This, extract::realAnomalousFactor); +} + +// Get, const +Handle2ConstRealAnomalousFactor +CoherentPhotonScatteringRealAnomalousFactorGetConst(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RealAnomalousFactorGetConst", This, extract::realAnomalousFactor); +} + +// Get, non-const +Handle2RealAnomalousFactor +CoherentPhotonScatteringRealAnomalousFactorGet(ConstHandle2CoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RealAnomalousFactorGet", This, extract::realAnomalousFactor); +} + +// Set +void +CoherentPhotonScatteringRealAnomalousFactorSet(ConstHandle2CoherentPhotonScattering This, ConstHandle2ConstRealAnomalousFactor realAnomalousFactor) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RealAnomalousFactorSet", This, extract::realAnomalousFactor, realAnomalousFactor); +} + + +// ----------------------------------------------------------------------------- +// Child: imaginaryAnomalousFactor +// ----------------------------------------------------------------------------- + +// Has +int +CoherentPhotonScatteringImaginaryAnomalousFactorHas(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ImaginaryAnomalousFactorHas", This, extract::imaginaryAnomalousFactor); +} + +// Get, const +Handle2ConstImaginaryAnomalousFactor +CoherentPhotonScatteringImaginaryAnomalousFactorGetConst(ConstHandle2ConstCoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ImaginaryAnomalousFactorGetConst", This, extract::imaginaryAnomalousFactor); +} + +// Get, non-const +Handle2ImaginaryAnomalousFactor +CoherentPhotonScatteringImaginaryAnomalousFactorGet(ConstHandle2CoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ImaginaryAnomalousFactorGet", This, extract::imaginaryAnomalousFactor); +} + +// Set +void +CoherentPhotonScatteringImaginaryAnomalousFactorSet(ConstHandle2CoherentPhotonScattering This, ConstHandle2ConstImaginaryAnomalousFactor imaginaryAnomalousFactor) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ImaginaryAnomalousFactorSet", This, extract::imaginaryAnomalousFactor, imaginaryAnomalousFactor); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.h new file mode 100644 index 000000000..36f5c4fd7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.h @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CoherentPhotonScattering is the basic handle type in this file. Example: +// // Create a default CoherentPhotonScattering object: +// CoherentPhotonScattering handle = CoherentPhotonScatteringDefault(); +// Functions involving CoherentPhotonScattering are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_COHERENTPHOTONSCATTERING +#define C_INTERFACE_TRY_V2_0_ATOMIC_COHERENTPHOTONSCATTERING + +#include "GNDStk.h" +#include "v2.0/atomic/FormFactor.h" +#include "v2.0/atomic/RealAnomalousFactor.h" +#include "v2.0/atomic/ImaginaryAnomalousFactor.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CoherentPhotonScatteringClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CoherentPhotonScattering +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CoherentPhotonScatteringClass *CoherentPhotonScattering; + +// --- Const-aware handles. +typedef const struct CoherentPhotonScatteringClass *const ConstHandle2ConstCoherentPhotonScattering; +typedef struct CoherentPhotonScatteringClass *const ConstHandle2CoherentPhotonScattering; +typedef const struct CoherentPhotonScatteringClass * Handle2ConstCoherentPhotonScattering; +typedef struct CoherentPhotonScatteringClass * Handle2CoherentPhotonScattering; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCoherentPhotonScattering +CoherentPhotonScatteringDefaultConst(); + +// +++ Create, default +extern_c Handle2CoherentPhotonScattering +CoherentPhotonScatteringDefault(); + +// --- Create, general, const +extern_c Handle2ConstCoherentPhotonScattering +CoherentPhotonScatteringCreateConst( + const char *const href, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstFormFactor formFactor, + ConstHandle2ConstRealAnomalousFactor realAnomalousFactor, + ConstHandle2ConstImaginaryAnomalousFactor imaginaryAnomalousFactor +); + +// +++ Create, general +extern_c Handle2CoherentPhotonScattering +CoherentPhotonScatteringCreate( + const char *const href, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstFormFactor formFactor, + ConstHandle2ConstRealAnomalousFactor realAnomalousFactor, + ConstHandle2ConstImaginaryAnomalousFactor imaginaryAnomalousFactor +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CoherentPhotonScatteringAssign(ConstHandle2CoherentPhotonScattering This, ConstHandle2ConstCoherentPhotonScattering from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CoherentPhotonScatteringDelete(ConstHandle2ConstCoherentPhotonScattering This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CoherentPhotonScatteringRead(ConstHandle2CoherentPhotonScattering This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CoherentPhotonScatteringWrite(ConstHandle2ConstCoherentPhotonScattering This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CoherentPhotonScatteringPrint(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Print to standard output, as XML +extern_c int +CoherentPhotonScatteringPrintXML(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Print to standard output, as JSON +extern_c int +CoherentPhotonScatteringPrintJSON(ConstHandle2ConstCoherentPhotonScattering This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentPhotonScatteringHrefHas(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Get +// +++ Returns by value +extern_c const char * +CoherentPhotonScatteringHrefGet(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Set +extern_c void +CoherentPhotonScatteringHrefSet(ConstHandle2CoherentPhotonScattering This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentPhotonScatteringLabelHas(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CoherentPhotonScatteringLabelGet(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Set +extern_c void +CoherentPhotonScatteringLabelSet(ConstHandle2CoherentPhotonScattering This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentPhotonScatteringPidHas(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CoherentPhotonScatteringPidGet(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Set +extern_c void +CoherentPhotonScatteringPidSet(ConstHandle2CoherentPhotonScattering This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentPhotonScatteringProductFrameHas(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +CoherentPhotonScatteringProductFrameGet(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Set +extern_c void +CoherentPhotonScatteringProductFrameSet(ConstHandle2CoherentPhotonScattering This, const enums::Frame productFrame); + + +// ----------------------------------------------------------------------------- +// Child: formFactor +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentPhotonScatteringFormFactorHas(ConstHandle2ConstCoherentPhotonScattering This); + +// --- Get, const +extern_c Handle2ConstFormFactor +CoherentPhotonScatteringFormFactorGetConst(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Get, non-const +extern_c Handle2FormFactor +CoherentPhotonScatteringFormFactorGet(ConstHandle2CoherentPhotonScattering This); + +// +++ Set +extern_c void +CoherentPhotonScatteringFormFactorSet(ConstHandle2CoherentPhotonScattering This, ConstHandle2ConstFormFactor formFactor); + + +// ----------------------------------------------------------------------------- +// Child: realAnomalousFactor +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentPhotonScatteringRealAnomalousFactorHas(ConstHandle2ConstCoherentPhotonScattering This); + +// --- Get, const +extern_c Handle2ConstRealAnomalousFactor +CoherentPhotonScatteringRealAnomalousFactorGetConst(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Get, non-const +extern_c Handle2RealAnomalousFactor +CoherentPhotonScatteringRealAnomalousFactorGet(ConstHandle2CoherentPhotonScattering This); + +// +++ Set +extern_c void +CoherentPhotonScatteringRealAnomalousFactorSet(ConstHandle2CoherentPhotonScattering This, ConstHandle2ConstRealAnomalousFactor realAnomalousFactor); + + +// ----------------------------------------------------------------------------- +// Child: imaginaryAnomalousFactor +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentPhotonScatteringImaginaryAnomalousFactorHas(ConstHandle2ConstCoherentPhotonScattering This); + +// --- Get, const +extern_c Handle2ConstImaginaryAnomalousFactor +CoherentPhotonScatteringImaginaryAnomalousFactorGetConst(ConstHandle2ConstCoherentPhotonScattering This); + +// +++ Get, non-const +extern_c Handle2ImaginaryAnomalousFactor +CoherentPhotonScatteringImaginaryAnomalousFactorGet(ConstHandle2CoherentPhotonScattering This); + +// +++ Set +extern_c void +CoherentPhotonScatteringImaginaryAnomalousFactorSet(ConstHandle2CoherentPhotonScattering This, ConstHandle2ConstImaginaryAnomalousFactor imaginaryAnomalousFactor); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp new file mode 100644 index 000000000..41aa91a80 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/atomic/FormFactor.hpp" +#include "FormFactor.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FormFactorClass; +using CPP = multigroup::FormFactor; + +static const std::string CLASSNAME = "FormFactor"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFormFactor +FormFactorDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2FormFactor +FormFactorDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFormFactor +FormFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2FormFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2FormFactor +FormFactorCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2FormFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FormFactorAssign(ConstHandle2FormFactor This, ConstHandle2ConstFormFactor from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FormFactorDelete(ConstHandle2ConstFormFactor This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FormFactorRead(ConstHandle2FormFactor This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FormFactorWrite(ConstHandle2ConstFormFactor This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FormFactorPrint(ConstHandle2ConstFormFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FormFactorPrintXML(ConstHandle2ConstFormFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FormFactorPrintJSON(ConstHandle2ConstFormFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +FormFactorXYs1dHas(ConstHandle2ConstFormFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +FormFactorXYs1dGetConst(ConstHandle2ConstFormFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +FormFactorXYs1dGet(ConstHandle2FormFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +FormFactorXYs1dSet(ConstHandle2FormFactor This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +FormFactorRegions1dHas(ConstHandle2ConstFormFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +FormFactorRegions1dGetConst(ConstHandle2ConstFormFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +FormFactorRegions1dGet(ConstHandle2FormFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +FormFactorRegions1dSet(ConstHandle2FormFactor This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h new file mode 100644 index 000000000..7eba7e018 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// FormFactor is the basic handle type in this file. Example: +// // Create a default FormFactor object: +// FormFactor handle = FormFactorDefault(); +// Functions involving FormFactor are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_FORMFACTOR +#define C_INTERFACE_TRY_V2_0_ATOMIC_FORMFACTOR + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FormFactorClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ FormFactor +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FormFactorClass *FormFactor; + +// --- Const-aware handles. +typedef const struct FormFactorClass *const ConstHandle2ConstFormFactor; +typedef struct FormFactorClass *const ConstHandle2FormFactor; +typedef const struct FormFactorClass * Handle2ConstFormFactor; +typedef struct FormFactorClass * Handle2FormFactor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFormFactor +FormFactorDefaultConst(); + +// +++ Create, default +extern_c Handle2FormFactor +FormFactorDefault(); + +// --- Create, general, const +extern_c Handle2ConstFormFactor +FormFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2FormFactor +FormFactorCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FormFactorAssign(ConstHandle2FormFactor This, ConstHandle2ConstFormFactor from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FormFactorDelete(ConstHandle2ConstFormFactor This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FormFactorRead(ConstHandle2FormFactor This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FormFactorWrite(ConstHandle2ConstFormFactor This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FormFactorPrint(ConstHandle2ConstFormFactor This); + +// +++ Print to standard output, as XML +extern_c int +FormFactorPrintXML(ConstHandle2ConstFormFactor This); + +// +++ Print to standard output, as JSON +extern_c int +FormFactorPrintJSON(ConstHandle2ConstFormFactor This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FormFactorXYs1dHas(ConstHandle2ConstFormFactor This); + +// --- Get, const +extern_c Handle2ConstXYs1d +FormFactorXYs1dGetConst(ConstHandle2ConstFormFactor This); + +// +++ Get, non-const +extern_c Handle2XYs1d +FormFactorXYs1dGet(ConstHandle2FormFactor This); + +// +++ Set +extern_c void +FormFactorXYs1dSet(ConstHandle2FormFactor This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FormFactorRegions1dHas(ConstHandle2ConstFormFactor This); + +// --- Get, const +extern_c Handle2ConstRegions1d +FormFactorRegions1dGetConst(ConstHandle2ConstFormFactor This); + +// +++ Get, non-const +extern_c Handle2Regions1d +FormFactorRegions1dGet(ConstHandle2FormFactor This); + +// +++ Set +extern_c void +FormFactorRegions1dSet(ConstHandle2FormFactor This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp new file mode 100644 index 000000000..dd7bf83f5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/atomic/ImaginaryAnomalousFactor.hpp" +#include "ImaginaryAnomalousFactor.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ImaginaryAnomalousFactorClass; +using CPP = multigroup::ImaginaryAnomalousFactor; + +static const std::string CLASSNAME = "ImaginaryAnomalousFactor"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstImaginaryAnomalousFactor +ImaginaryAnomalousFactorDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ImaginaryAnomalousFactor +ImaginaryAnomalousFactorDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstImaginaryAnomalousFactor +ImaginaryAnomalousFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2ImaginaryAnomalousFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2ImaginaryAnomalousFactor +ImaginaryAnomalousFactorCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2ImaginaryAnomalousFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ImaginaryAnomalousFactorAssign(ConstHandle2ImaginaryAnomalousFactor This, ConstHandle2ConstImaginaryAnomalousFactor from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ImaginaryAnomalousFactorDelete(ConstHandle2ConstImaginaryAnomalousFactor This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ImaginaryAnomalousFactorRead(ConstHandle2ImaginaryAnomalousFactor This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ImaginaryAnomalousFactorWrite(ConstHandle2ConstImaginaryAnomalousFactor This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ImaginaryAnomalousFactorPrint(ConstHandle2ConstImaginaryAnomalousFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ImaginaryAnomalousFactorPrintXML(ConstHandle2ConstImaginaryAnomalousFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ImaginaryAnomalousFactorPrintJSON(ConstHandle2ConstImaginaryAnomalousFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +ImaginaryAnomalousFactorXYs1dHas(ConstHandle2ConstImaginaryAnomalousFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +ImaginaryAnomalousFactorXYs1dGetConst(ConstHandle2ConstImaginaryAnomalousFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +ImaginaryAnomalousFactorXYs1dGet(ConstHandle2ImaginaryAnomalousFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +ImaginaryAnomalousFactorXYs1dSet(ConstHandle2ImaginaryAnomalousFactor This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +ImaginaryAnomalousFactorRegions1dHas(ConstHandle2ConstImaginaryAnomalousFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +ImaginaryAnomalousFactorRegions1dGetConst(ConstHandle2ConstImaginaryAnomalousFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +ImaginaryAnomalousFactorRegions1dGet(ConstHandle2ImaginaryAnomalousFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +ImaginaryAnomalousFactorRegions1dSet(ConstHandle2ImaginaryAnomalousFactor This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h new file mode 100644 index 000000000..9517d3b63 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ImaginaryAnomalousFactor is the basic handle type in this file. Example: +// // Create a default ImaginaryAnomalousFactor object: +// ImaginaryAnomalousFactor handle = ImaginaryAnomalousFactorDefault(); +// Functions involving ImaginaryAnomalousFactor are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR +#define C_INTERFACE_TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ImaginaryAnomalousFactorClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ImaginaryAnomalousFactor +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ImaginaryAnomalousFactorClass *ImaginaryAnomalousFactor; + +// --- Const-aware handles. +typedef const struct ImaginaryAnomalousFactorClass *const ConstHandle2ConstImaginaryAnomalousFactor; +typedef struct ImaginaryAnomalousFactorClass *const ConstHandle2ImaginaryAnomalousFactor; +typedef const struct ImaginaryAnomalousFactorClass * Handle2ConstImaginaryAnomalousFactor; +typedef struct ImaginaryAnomalousFactorClass * Handle2ImaginaryAnomalousFactor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstImaginaryAnomalousFactor +ImaginaryAnomalousFactorDefaultConst(); + +// +++ Create, default +extern_c Handle2ImaginaryAnomalousFactor +ImaginaryAnomalousFactorDefault(); + +// --- Create, general, const +extern_c Handle2ConstImaginaryAnomalousFactor +ImaginaryAnomalousFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2ImaginaryAnomalousFactor +ImaginaryAnomalousFactorCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ImaginaryAnomalousFactorAssign(ConstHandle2ImaginaryAnomalousFactor This, ConstHandle2ConstImaginaryAnomalousFactor from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ImaginaryAnomalousFactorDelete(ConstHandle2ConstImaginaryAnomalousFactor This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ImaginaryAnomalousFactorRead(ConstHandle2ImaginaryAnomalousFactor This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ImaginaryAnomalousFactorWrite(ConstHandle2ConstImaginaryAnomalousFactor This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ImaginaryAnomalousFactorPrint(ConstHandle2ConstImaginaryAnomalousFactor This); + +// +++ Print to standard output, as XML +extern_c int +ImaginaryAnomalousFactorPrintXML(ConstHandle2ConstImaginaryAnomalousFactor This); + +// +++ Print to standard output, as JSON +extern_c int +ImaginaryAnomalousFactorPrintJSON(ConstHandle2ConstImaginaryAnomalousFactor This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ImaginaryAnomalousFactorXYs1dHas(ConstHandle2ConstImaginaryAnomalousFactor This); + +// --- Get, const +extern_c Handle2ConstXYs1d +ImaginaryAnomalousFactorXYs1dGetConst(ConstHandle2ConstImaginaryAnomalousFactor This); + +// +++ Get, non-const +extern_c Handle2XYs1d +ImaginaryAnomalousFactorXYs1dGet(ConstHandle2ImaginaryAnomalousFactor This); + +// +++ Set +extern_c void +ImaginaryAnomalousFactorXYs1dSet(ConstHandle2ImaginaryAnomalousFactor This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ImaginaryAnomalousFactorRegions1dHas(ConstHandle2ConstImaginaryAnomalousFactor This); + +// --- Get, const +extern_c Handle2ConstRegions1d +ImaginaryAnomalousFactorRegions1dGetConst(ConstHandle2ConstImaginaryAnomalousFactor This); + +// +++ Get, non-const +extern_c Handle2Regions1d +ImaginaryAnomalousFactorRegions1dGet(ConstHandle2ImaginaryAnomalousFactor This); + +// +++ Set +extern_c void +ImaginaryAnomalousFactorRegions1dSet(ConstHandle2ImaginaryAnomalousFactor This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp new file mode 100644 index 000000000..3bafe9117 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp @@ -0,0 +1,314 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/atomic/IncoherentPhotonScattering.hpp" +#include "IncoherentPhotonScattering.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IncoherentPhotonScatteringClass; +using CPP = multigroup::IncoherentPhotonScattering; + +static const std::string CLASSNAME = "IncoherentPhotonScattering"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto scatteringFactor = [](auto &obj) { return &obj.scatteringFactor; }; +} + +using CPPScatteringFactor = atomic::ScatteringFactor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIncoherentPhotonScattering +IncoherentPhotonScatteringDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2IncoherentPhotonScattering +IncoherentPhotonScatteringDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIncoherentPhotonScattering +IncoherentPhotonScatteringCreateConst( + const char *const href, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstScatteringFactor scatteringFactor +) { + ConstHandle2IncoherentPhotonScattering handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href, + label, + pid, + productFrame, + detail::tocpp(scatteringFactor) + ); + return handle; +} + +// Create, general +Handle2IncoherentPhotonScattering +IncoherentPhotonScatteringCreate( + const char *const href, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstScatteringFactor scatteringFactor +) { + ConstHandle2IncoherentPhotonScattering handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href, + label, + pid, + productFrame, + detail::tocpp(scatteringFactor) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IncoherentPhotonScatteringAssign(ConstHandle2IncoherentPhotonScattering This, ConstHandle2ConstIncoherentPhotonScattering from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IncoherentPhotonScatteringDelete(ConstHandle2ConstIncoherentPhotonScattering This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IncoherentPhotonScatteringRead(ConstHandle2IncoherentPhotonScattering This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IncoherentPhotonScatteringWrite(ConstHandle2ConstIncoherentPhotonScattering This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IncoherentPhotonScatteringPrint(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IncoherentPhotonScatteringPrintXML(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IncoherentPhotonScatteringPrintJSON(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +IncoherentPhotonScatteringHrefHas(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +IncoherentPhotonScatteringHrefGet(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +IncoherentPhotonScatteringHrefSet(ConstHandle2IncoherentPhotonScattering This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +IncoherentPhotonScatteringLabelHas(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +IncoherentPhotonScatteringLabelGet(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +IncoherentPhotonScatteringLabelSet(ConstHandle2IncoherentPhotonScattering This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +IncoherentPhotonScatteringPidHas(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +IncoherentPhotonScatteringPidGet(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +IncoherentPhotonScatteringPidSet(ConstHandle2IncoherentPhotonScattering This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +IncoherentPhotonScatteringProductFrameHas(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +enums::Frame +IncoherentPhotonScatteringProductFrameGet(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +IncoherentPhotonScatteringProductFrameSet(ConstHandle2IncoherentPhotonScattering This, const enums::Frame productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: scatteringFactor +// ----------------------------------------------------------------------------- + +// Has +int +IncoherentPhotonScatteringScatteringFactorHas(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ScatteringFactorHas", This, extract::scatteringFactor); +} + +// Get, const +Handle2ConstScatteringFactor +IncoherentPhotonScatteringScatteringFactorGetConst(ConstHandle2ConstIncoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringFactorGetConst", This, extract::scatteringFactor); +} + +// Get, non-const +Handle2ScatteringFactor +IncoherentPhotonScatteringScatteringFactorGet(ConstHandle2IncoherentPhotonScattering This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringFactorGet", This, extract::scatteringFactor); +} + +// Set +void +IncoherentPhotonScatteringScatteringFactorSet(ConstHandle2IncoherentPhotonScattering This, ConstHandle2ConstScatteringFactor scatteringFactor) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ScatteringFactorSet", This, extract::scatteringFactor, scatteringFactor); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.h new file mode 100644 index 000000000..738c147c6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.h @@ -0,0 +1,239 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// IncoherentPhotonScattering is the basic handle type in this file. Example: +// // Create a default IncoherentPhotonScattering object: +// IncoherentPhotonScattering handle = IncoherentPhotonScatteringDefault(); +// Functions involving IncoherentPhotonScattering are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_INCOHERENTPHOTONSCATTERING +#define C_INTERFACE_TRY_V2_0_ATOMIC_INCOHERENTPHOTONSCATTERING + +#include "GNDStk.h" +#include "v2.0/atomic/ScatteringFactor.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IncoherentPhotonScatteringClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ IncoherentPhotonScattering +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IncoherentPhotonScatteringClass *IncoherentPhotonScattering; + +// --- Const-aware handles. +typedef const struct IncoherentPhotonScatteringClass *const ConstHandle2ConstIncoherentPhotonScattering; +typedef struct IncoherentPhotonScatteringClass *const ConstHandle2IncoherentPhotonScattering; +typedef const struct IncoherentPhotonScatteringClass * Handle2ConstIncoherentPhotonScattering; +typedef struct IncoherentPhotonScatteringClass * Handle2IncoherentPhotonScattering; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIncoherentPhotonScattering +IncoherentPhotonScatteringDefaultConst(); + +// +++ Create, default +extern_c Handle2IncoherentPhotonScattering +IncoherentPhotonScatteringDefault(); + +// --- Create, general, const +extern_c Handle2ConstIncoherentPhotonScattering +IncoherentPhotonScatteringCreateConst( + const char *const href, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstScatteringFactor scatteringFactor +); + +// +++ Create, general +extern_c Handle2IncoherentPhotonScattering +IncoherentPhotonScatteringCreate( + const char *const href, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstScatteringFactor scatteringFactor +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IncoherentPhotonScatteringAssign(ConstHandle2IncoherentPhotonScattering This, ConstHandle2ConstIncoherentPhotonScattering from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IncoherentPhotonScatteringDelete(ConstHandle2ConstIncoherentPhotonScattering This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IncoherentPhotonScatteringRead(ConstHandle2IncoherentPhotonScattering This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IncoherentPhotonScatteringWrite(ConstHandle2ConstIncoherentPhotonScattering This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IncoherentPhotonScatteringPrint(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Print to standard output, as XML +extern_c int +IncoherentPhotonScatteringPrintXML(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Print to standard output, as JSON +extern_c int +IncoherentPhotonScatteringPrintJSON(ConstHandle2ConstIncoherentPhotonScattering This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncoherentPhotonScatteringHrefHas(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Get +// +++ Returns by value +extern_c const char * +IncoherentPhotonScatteringHrefGet(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Set +extern_c void +IncoherentPhotonScatteringHrefSet(ConstHandle2IncoherentPhotonScattering This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncoherentPhotonScatteringLabelHas(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +IncoherentPhotonScatteringLabelGet(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Set +extern_c void +IncoherentPhotonScatteringLabelSet(ConstHandle2IncoherentPhotonScattering This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncoherentPhotonScatteringPidHas(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +IncoherentPhotonScatteringPidGet(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Set +extern_c void +IncoherentPhotonScatteringPidSet(ConstHandle2IncoherentPhotonScattering This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncoherentPhotonScatteringProductFrameHas(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +IncoherentPhotonScatteringProductFrameGet(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Set +extern_c void +IncoherentPhotonScatteringProductFrameSet(ConstHandle2IncoherentPhotonScattering This, const enums::Frame productFrame); + + +// ----------------------------------------------------------------------------- +// Child: scatteringFactor +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncoherentPhotonScatteringScatteringFactorHas(ConstHandle2ConstIncoherentPhotonScattering This); + +// --- Get, const +extern_c Handle2ConstScatteringFactor +IncoherentPhotonScatteringScatteringFactorGetConst(ConstHandle2ConstIncoherentPhotonScattering This); + +// +++ Get, non-const +extern_c Handle2ScatteringFactor +IncoherentPhotonScatteringScatteringFactorGet(ConstHandle2IncoherentPhotonScattering This); + +// +++ Set +extern_c void +IncoherentPhotonScatteringScatteringFactorSet(ConstHandle2IncoherentPhotonScattering This, ConstHandle2ConstScatteringFactor scatteringFactor); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp new file mode 100644 index 000000000..e2d97a974 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/atomic/RealAnomalousFactor.hpp" +#include "RealAnomalousFactor.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RealAnomalousFactorClass; +using CPP = multigroup::RealAnomalousFactor; + +static const std::string CLASSNAME = "RealAnomalousFactor"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRealAnomalousFactor +RealAnomalousFactorDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2RealAnomalousFactor +RealAnomalousFactorDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRealAnomalousFactor +RealAnomalousFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2RealAnomalousFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2RealAnomalousFactor +RealAnomalousFactorCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2RealAnomalousFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RealAnomalousFactorAssign(ConstHandle2RealAnomalousFactor This, ConstHandle2ConstRealAnomalousFactor from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RealAnomalousFactorDelete(ConstHandle2ConstRealAnomalousFactor This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RealAnomalousFactorRead(ConstHandle2RealAnomalousFactor This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RealAnomalousFactorWrite(ConstHandle2ConstRealAnomalousFactor This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RealAnomalousFactorPrint(ConstHandle2ConstRealAnomalousFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RealAnomalousFactorPrintXML(ConstHandle2ConstRealAnomalousFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RealAnomalousFactorPrintJSON(ConstHandle2ConstRealAnomalousFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +RealAnomalousFactorXYs1dHas(ConstHandle2ConstRealAnomalousFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +RealAnomalousFactorXYs1dGetConst(ConstHandle2ConstRealAnomalousFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +RealAnomalousFactorXYs1dGet(ConstHandle2RealAnomalousFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +RealAnomalousFactorXYs1dSet(ConstHandle2RealAnomalousFactor This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +RealAnomalousFactorRegions1dHas(ConstHandle2ConstRealAnomalousFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +RealAnomalousFactorRegions1dGetConst(ConstHandle2ConstRealAnomalousFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +RealAnomalousFactorRegions1dGet(ConstHandle2RealAnomalousFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +RealAnomalousFactorRegions1dSet(ConstHandle2RealAnomalousFactor This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h new file mode 100644 index 000000000..5ca6bc813 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// RealAnomalousFactor is the basic handle type in this file. Example: +// // Create a default RealAnomalousFactor object: +// RealAnomalousFactor handle = RealAnomalousFactorDefault(); +// Functions involving RealAnomalousFactor are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR +#define C_INTERFACE_TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RealAnomalousFactorClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ RealAnomalousFactor +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RealAnomalousFactorClass *RealAnomalousFactor; + +// --- Const-aware handles. +typedef const struct RealAnomalousFactorClass *const ConstHandle2ConstRealAnomalousFactor; +typedef struct RealAnomalousFactorClass *const ConstHandle2RealAnomalousFactor; +typedef const struct RealAnomalousFactorClass * Handle2ConstRealAnomalousFactor; +typedef struct RealAnomalousFactorClass * Handle2RealAnomalousFactor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRealAnomalousFactor +RealAnomalousFactorDefaultConst(); + +// +++ Create, default +extern_c Handle2RealAnomalousFactor +RealAnomalousFactorDefault(); + +// --- Create, general, const +extern_c Handle2ConstRealAnomalousFactor +RealAnomalousFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2RealAnomalousFactor +RealAnomalousFactorCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RealAnomalousFactorAssign(ConstHandle2RealAnomalousFactor This, ConstHandle2ConstRealAnomalousFactor from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RealAnomalousFactorDelete(ConstHandle2ConstRealAnomalousFactor This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RealAnomalousFactorRead(ConstHandle2RealAnomalousFactor This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RealAnomalousFactorWrite(ConstHandle2ConstRealAnomalousFactor This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RealAnomalousFactorPrint(ConstHandle2ConstRealAnomalousFactor This); + +// +++ Print to standard output, as XML +extern_c int +RealAnomalousFactorPrintXML(ConstHandle2ConstRealAnomalousFactor This); + +// +++ Print to standard output, as JSON +extern_c int +RealAnomalousFactorPrintJSON(ConstHandle2ConstRealAnomalousFactor This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RealAnomalousFactorXYs1dHas(ConstHandle2ConstRealAnomalousFactor This); + +// --- Get, const +extern_c Handle2ConstXYs1d +RealAnomalousFactorXYs1dGetConst(ConstHandle2ConstRealAnomalousFactor This); + +// +++ Get, non-const +extern_c Handle2XYs1d +RealAnomalousFactorXYs1dGet(ConstHandle2RealAnomalousFactor This); + +// +++ Set +extern_c void +RealAnomalousFactorXYs1dSet(ConstHandle2RealAnomalousFactor This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RealAnomalousFactorRegions1dHas(ConstHandle2ConstRealAnomalousFactor This); + +// --- Get, const +extern_c Handle2ConstRegions1d +RealAnomalousFactorRegions1dGetConst(ConstHandle2ConstRealAnomalousFactor This); + +// +++ Get, non-const +extern_c Handle2Regions1d +RealAnomalousFactorRegions1dGet(ConstHandle2RealAnomalousFactor This); + +// +++ Set +extern_c void +RealAnomalousFactorRegions1dSet(ConstHandle2RealAnomalousFactor This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp new file mode 100644 index 000000000..0b2ce42d7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/atomic/ScatteringFactor.hpp" +#include "ScatteringFactor.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ScatteringFactorClass; +using CPP = multigroup::ScatteringFactor; + +static const std::string CLASSNAME = "ScatteringFactor"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstScatteringFactor +ScatteringFactorDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ScatteringFactor +ScatteringFactorDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstScatteringFactor +ScatteringFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2ScatteringFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2ScatteringFactor +ScatteringFactorCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2ScatteringFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ScatteringFactorAssign(ConstHandle2ScatteringFactor This, ConstHandle2ConstScatteringFactor from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ScatteringFactorDelete(ConstHandle2ConstScatteringFactor This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ScatteringFactorRead(ConstHandle2ScatteringFactor This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ScatteringFactorWrite(ConstHandle2ConstScatteringFactor This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ScatteringFactorPrint(ConstHandle2ConstScatteringFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ScatteringFactorPrintXML(ConstHandle2ConstScatteringFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ScatteringFactorPrintJSON(ConstHandle2ConstScatteringFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringFactorXYs1dHas(ConstHandle2ConstScatteringFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +ScatteringFactorXYs1dGetConst(ConstHandle2ConstScatteringFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +ScatteringFactorXYs1dGet(ConstHandle2ScatteringFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +ScatteringFactorXYs1dSet(ConstHandle2ScatteringFactor This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringFactorRegions1dHas(ConstHandle2ConstScatteringFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +ScatteringFactorRegions1dGetConst(ConstHandle2ConstScatteringFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +ScatteringFactorRegions1dGet(ConstHandle2ScatteringFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +ScatteringFactorRegions1dSet(ConstHandle2ScatteringFactor This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h new file mode 100644 index 000000000..a2abac1d9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ScatteringFactor is the basic handle type in this file. Example: +// // Create a default ScatteringFactor object: +// ScatteringFactor handle = ScatteringFactorDefault(); +// Functions involving ScatteringFactor are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_SCATTERINGFACTOR +#define C_INTERFACE_TRY_V2_0_ATOMIC_SCATTERINGFACTOR + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ScatteringFactorClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ScatteringFactor +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ScatteringFactorClass *ScatteringFactor; + +// --- Const-aware handles. +typedef const struct ScatteringFactorClass *const ConstHandle2ConstScatteringFactor; +typedef struct ScatteringFactorClass *const ConstHandle2ScatteringFactor; +typedef const struct ScatteringFactorClass * Handle2ConstScatteringFactor; +typedef struct ScatteringFactorClass * Handle2ScatteringFactor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstScatteringFactor +ScatteringFactorDefaultConst(); + +// +++ Create, default +extern_c Handle2ScatteringFactor +ScatteringFactorDefault(); + +// --- Create, general, const +extern_c Handle2ConstScatteringFactor +ScatteringFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2ScatteringFactor +ScatteringFactorCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ScatteringFactorAssign(ConstHandle2ScatteringFactor This, ConstHandle2ConstScatteringFactor from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ScatteringFactorDelete(ConstHandle2ConstScatteringFactor This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ScatteringFactorRead(ConstHandle2ScatteringFactor This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ScatteringFactorWrite(ConstHandle2ConstScatteringFactor This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ScatteringFactorPrint(ConstHandle2ConstScatteringFactor This); + +// +++ Print to standard output, as XML +extern_c int +ScatteringFactorPrintXML(ConstHandle2ConstScatteringFactor This); + +// +++ Print to standard output, as JSON +extern_c int +ScatteringFactorPrintJSON(ConstHandle2ConstScatteringFactor This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringFactorXYs1dHas(ConstHandle2ConstScatteringFactor This); + +// --- Get, const +extern_c Handle2ConstXYs1d +ScatteringFactorXYs1dGetConst(ConstHandle2ConstScatteringFactor This); + +// +++ Get, non-const +extern_c Handle2XYs1d +ScatteringFactorXYs1dGet(ConstHandle2ScatteringFactor This); + +// +++ Set +extern_c void +ScatteringFactorXYs1dSet(ConstHandle2ScatteringFactor This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringFactorRegions1dHas(ConstHandle2ConstScatteringFactor This); + +// --- Get, const +extern_c Handle2ConstRegions1d +ScatteringFactorRegions1dGetConst(ConstHandle2ConstScatteringFactor This); + +// +++ Get, non-const +extern_c Handle2Regions1d +ScatteringFactorRegions1dGet(ConstHandle2ScatteringFactor This); + +// +++ Set +extern_c void +ScatteringFactorRegions1dSet(ConstHandle2ScatteringFactor This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp new file mode 100644 index 000000000..7e4ee218d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp @@ -0,0 +1,396 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/Energy.hpp" +#include "Energy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EnergyClass; +using CPP = multigroup::Energy; + +static const std::string CLASSNAME = "Energy"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEnergy +EnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Energy +EnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEnergy +EnergyCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Energy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + EnergyDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Create, general +Handle2Energy +EnergyCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Energy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + EnergyDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EnergyAssign(ConstHandle2Energy This, ConstHandle2ConstEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EnergyDelete(ConstHandle2ConstEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EnergyRead(ConstHandle2Energy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EnergyWrite(ConstHandle2ConstEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EnergyPrint(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EnergyPrintXML(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EnergyPrintJSON(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EnergyLabelHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +EnergyLabelGet(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EnergyLabelSet(ConstHandle2Energy This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +EnergyUnitHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +EnergyUnitGet(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +EnergyUnitSet(ConstHandle2Energy This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +EnergyValueHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +EnergyValueGet(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +EnergyValueSet(ConstHandle2Energy This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +EnergyDocumentationHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +EnergyDocumentationGetConst(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +EnergyDocumentationGet(ConstHandle2Energy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +EnergyDocumentationSet(ConstHandle2Energy This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +EnergyUncertaintyHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +EnergyUncertaintyGetConst(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +EnergyUncertaintyGet(ConstHandle2Energy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +EnergyUncertaintySet(ConstHandle2Energy This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +EnergyDoubleHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Clear +void +EnergyDoubleClear(ConstHandle2Energy This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DoubleClear", This, extract::Double); +} + +// Size +size_t +EnergyDoubleSize(ConstHandle2ConstEnergy This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DoubleSize", This, extract::Double); +} + +// Add +void +EnergyDoubleAdd(ConstHandle2Energy This, ConstHandle2ConstDouble Double) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DoubleAdd", This, extract::Double, Double); +} + +// Get, by index \in [0,size), const +Handle2ConstDouble +EnergyDoubleGetConst(ConstHandle2ConstEnergy This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Double +EnergyDoubleGet(ConstHandle2Energy This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double, index_); +} + +// Set, by index \in [0,size) +void +EnergyDoubleSet( + ConstHandle2Energy This, + const size_t index_, + ConstHandle2ConstDouble Double +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h new file mode 100644 index 000000000..8cc717ed3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h @@ -0,0 +1,283 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Energy is the basic handle type in this file. Example: +// // Create a default Energy object: +// Energy handle = EnergyDefault(); +// Functions involving Energy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_ENERGY +#define C_INTERFACE_TRY_V2_0_COMMON_ENERGY + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Energy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EnergyClass *Energy; + +// --- Const-aware handles. +typedef const struct EnergyClass *const ConstHandle2ConstEnergy; +typedef struct EnergyClass *const ConstHandle2Energy; +typedef const struct EnergyClass * Handle2ConstEnergy; +typedef struct EnergyClass * Handle2Energy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEnergy +EnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2Energy +EnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstEnergy +EnergyCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Create, general +extern_c Handle2Energy +EnergyCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EnergyAssign(ConstHandle2Energy This, ConstHandle2ConstEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EnergyDelete(ConstHandle2ConstEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EnergyRead(ConstHandle2Energy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EnergyWrite(ConstHandle2ConstEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EnergyPrint(ConstHandle2ConstEnergy This); + +// +++ Print to standard output, as XML +extern_c int +EnergyPrintXML(ConstHandle2ConstEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +EnergyPrintJSON(ConstHandle2ConstEnergy This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyLabelHas(ConstHandle2ConstEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyLabelGet(ConstHandle2ConstEnergy This); + +// +++ Set +extern_c void +EnergyLabelSet(ConstHandle2Energy This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyUnitHas(ConstHandle2ConstEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyUnitGet(ConstHandle2ConstEnergy This); + +// +++ Set +extern_c void +EnergyUnitSet(ConstHandle2Energy This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyValueHas(ConstHandle2ConstEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyValueGet(ConstHandle2ConstEnergy This); + +// +++ Set +extern_c void +EnergyValueSet(ConstHandle2Energy This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyDocumentationHas(ConstHandle2ConstEnergy This); + +// --- Get, const +extern_c Handle2ConstDocumentation +EnergyDocumentationGetConst(ConstHandle2ConstEnergy This); + +// +++ Get, non-const +extern_c Handle2Documentation +EnergyDocumentationGet(ConstHandle2Energy This); + +// +++ Set +extern_c void +EnergyDocumentationSet(ConstHandle2Energy This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyUncertaintyHas(ConstHandle2ConstEnergy This); + +// --- Get, const +extern_c Handle2ConstUncertainty +EnergyUncertaintyGetConst(ConstHandle2ConstEnergy This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +EnergyUncertaintyGet(ConstHandle2Energy This); + +// +++ Set +extern_c void +EnergyUncertaintySet(ConstHandle2Energy This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyDoubleHas(ConstHandle2ConstEnergy This); + +// +++ Clear +extern_c void +EnergyDoubleClear(ConstHandle2Energy This); + +// +++ Size +extern_c size_t +EnergyDoubleSize(ConstHandle2ConstEnergy This); + +// +++ Add +extern_c void +EnergyDoubleAdd(ConstHandle2Energy This, ConstHandle2ConstDouble Double); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDouble +EnergyDoubleGetConst(ConstHandle2ConstEnergy This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Double +EnergyDoubleGet(ConstHandle2Energy This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +EnergyDoubleSet( + ConstHandle2Energy This, + const size_t index_, + ConstHandle2ConstDouble Double +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.cpp new file mode 100644 index 000000000..c8c0807dc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.cpp @@ -0,0 +1,270 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/ExternalFile.hpp" +#include "ExternalFile.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ExternalFileClass; +using CPP = multigroup::ExternalFile; + +static const std::string CLASSNAME = "ExternalFile"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto path = [](auto &obj) { return &obj.path; }; + static auto checksum = [](auto &obj) { return &obj.checksum; }; + static auto algorithm = [](auto &obj) { return &obj.algorithm; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstExternalFile +ExternalFileDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ExternalFile +ExternalFileDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstExternalFile +ExternalFileCreateConst( + const XMLName label, + const XMLName path, + const checksum checksum, + const algorithm algorithm +) { + ConstHandle2ExternalFile handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + path, + checksum, + algorithm + ); + return handle; +} + +// Create, general +Handle2ExternalFile +ExternalFileCreate( + const XMLName label, + const XMLName path, + const checksum checksum, + const algorithm algorithm +) { + ConstHandle2ExternalFile handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + path, + checksum, + algorithm + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ExternalFileAssign(ConstHandle2ExternalFile This, ConstHandle2ConstExternalFile from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ExternalFileDelete(ConstHandle2ConstExternalFile This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ExternalFileRead(ConstHandle2ExternalFile This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ExternalFileWrite(ConstHandle2ConstExternalFile This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ExternalFilePrint(ConstHandle2ConstExternalFile This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ExternalFilePrintXML(ConstHandle2ConstExternalFile This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ExternalFilePrintJSON(ConstHandle2ConstExternalFile This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ExternalFileLabelHas(ConstHandle2ConstExternalFile This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ExternalFileLabelGet(ConstHandle2ConstExternalFile This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ExternalFileLabelSet(ConstHandle2ExternalFile This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: path +// ----------------------------------------------------------------------------- + +// Has +int +ExternalFilePathHas(ConstHandle2ConstExternalFile This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PathHas", This, extract::path); +} + +// Get +// Returns by value +XMLName +ExternalFilePathGet(ConstHandle2ConstExternalFile This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PathGet", This, extract::path); +} + +// Set +void +ExternalFilePathSet(ConstHandle2ExternalFile This, const XMLName path) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PathSet", This, extract::path, path); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// Has +int +ExternalFileChecksumHas(ConstHandle2ConstExternalFile This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChecksumHas", This, extract::checksum); +} + +// Get +// Returns by value +checksum +ExternalFileChecksumGet(ConstHandle2ConstExternalFile This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChecksumGet", This, extract::checksum); +} + +// Set +void +ExternalFileChecksumSet(ConstHandle2ExternalFile This, const checksum checksum) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// Has +int +ExternalFileAlgorithmHas(ConstHandle2ConstExternalFile This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AlgorithmHas", This, extract::algorithm); +} + +// Get +// Returns by value +algorithm +ExternalFileAlgorithmGet(ConstHandle2ConstExternalFile This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AlgorithmGet", This, extract::algorithm); +} + +// Set +void +ExternalFileAlgorithmSet(ConstHandle2ExternalFile This, const algorithm algorithm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.h b/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.h new file mode 100644 index 000000000..ea512eacd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.h @@ -0,0 +1,215 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ExternalFile is the basic handle type in this file. Example: +// // Create a default ExternalFile object: +// ExternalFile handle = ExternalFileDefault(); +// Functions involving ExternalFile are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_EXTERNALFILE +#define C_INTERFACE_TRY_V2_0_COMMON_EXTERNALFILE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ExternalFileClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ExternalFile +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ExternalFileClass *ExternalFile; + +// --- Const-aware handles. +typedef const struct ExternalFileClass *const ConstHandle2ConstExternalFile; +typedef struct ExternalFileClass *const ConstHandle2ExternalFile; +typedef const struct ExternalFileClass * Handle2ConstExternalFile; +typedef struct ExternalFileClass * Handle2ExternalFile; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstExternalFile +ExternalFileDefaultConst(); + +// +++ Create, default +extern_c Handle2ExternalFile +ExternalFileDefault(); + +// --- Create, general, const +extern_c Handle2ConstExternalFile +ExternalFileCreateConst( + const XMLName label, + const XMLName path, + const checksum checksum, + const algorithm algorithm +); + +// +++ Create, general +extern_c Handle2ExternalFile +ExternalFileCreate( + const XMLName label, + const XMLName path, + const checksum checksum, + const algorithm algorithm +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ExternalFileAssign(ConstHandle2ExternalFile This, ConstHandle2ConstExternalFile from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ExternalFileDelete(ConstHandle2ConstExternalFile This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ExternalFileRead(ConstHandle2ExternalFile This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ExternalFileWrite(ConstHandle2ConstExternalFile This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ExternalFilePrint(ConstHandle2ConstExternalFile This); + +// +++ Print to standard output, as XML +extern_c int +ExternalFilePrintXML(ConstHandle2ConstExternalFile This); + +// +++ Print to standard output, as JSON +extern_c int +ExternalFilePrintJSON(ConstHandle2ConstExternalFile This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExternalFileLabelHas(ConstHandle2ConstExternalFile This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ExternalFileLabelGet(ConstHandle2ConstExternalFile This); + +// +++ Set +extern_c void +ExternalFileLabelSet(ConstHandle2ExternalFile This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: path +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExternalFilePathHas(ConstHandle2ConstExternalFile This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ExternalFilePathGet(ConstHandle2ConstExternalFile This); + +// +++ Set +extern_c void +ExternalFilePathSet(ConstHandle2ExternalFile This, const XMLName path); + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExternalFileChecksumHas(ConstHandle2ConstExternalFile This); + +// +++ Get +// +++ Returns by value +extern_c checksum +ExternalFileChecksumGet(ConstHandle2ConstExternalFile This); + +// +++ Set +extern_c void +ExternalFileChecksumSet(ConstHandle2ExternalFile This, const checksum checksum); + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExternalFileAlgorithmHas(ConstHandle2ConstExternalFile This); + +// +++ Get +// +++ Returns by value +extern_c algorithm +ExternalFileAlgorithmGet(ConstHandle2ConstExternalFile This); + +// +++ Set +extern_c void +ExternalFileAlgorithmSet(ConstHandle2ExternalFile This, const algorithm algorithm); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.cpp new file mode 100644 index 000000000..523a7fcaa --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/ExternalFiles.hpp" +#include "ExternalFiles.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ExternalFilesClass; +using CPP = multigroup::ExternalFiles; + +static const std::string CLASSNAME = "ExternalFiles"; + +namespace extract { + static auto externalFile = [](auto &obj) { return &obj.externalFile; }; +} + +using CPPExternalFile = common::ExternalFile; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstExternalFiles +ExternalFilesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ExternalFiles +ExternalFilesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstExternalFiles +ExternalFilesCreateConst( + ConstHandle2ExternalFile *const externalFile, const size_t externalFileSize +) { + ConstHandle2ExternalFiles handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ExternalFileN = 0; ExternalFileN < externalFileSize; ++ExternalFileN) + ExternalFilesExternalFileAdd(handle, externalFile[ExternalFileN]); + return handle; +} + +// Create, general +Handle2ExternalFiles +ExternalFilesCreate( + ConstHandle2ExternalFile *const externalFile, const size_t externalFileSize +) { + ConstHandle2ExternalFiles handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ExternalFileN = 0; ExternalFileN < externalFileSize; ++ExternalFileN) + ExternalFilesExternalFileAdd(handle, externalFile[ExternalFileN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ExternalFilesAssign(ConstHandle2ExternalFiles This, ConstHandle2ConstExternalFiles from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ExternalFilesDelete(ConstHandle2ConstExternalFiles This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ExternalFilesRead(ConstHandle2ExternalFiles This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ExternalFilesWrite(ConstHandle2ConstExternalFiles This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ExternalFilesPrint(ConstHandle2ConstExternalFiles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ExternalFilesPrintXML(ConstHandle2ConstExternalFiles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ExternalFilesPrintJSON(ConstHandle2ConstExternalFiles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: externalFile +// ----------------------------------------------------------------------------- + +// Has +int +ExternalFilesExternalFileHas(ConstHandle2ConstExternalFiles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ExternalFileHas", This, extract::externalFile); +} + +// Clear +void +ExternalFilesExternalFileClear(ConstHandle2ExternalFiles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ExternalFileClear", This, extract::externalFile); +} + +// Size +size_t +ExternalFilesExternalFileSize(ConstHandle2ConstExternalFiles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ExternalFileSize", This, extract::externalFile); +} + +// Add +void +ExternalFilesExternalFileAdd(ConstHandle2ExternalFiles This, ConstHandle2ConstExternalFile externalFile) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ExternalFileAdd", This, extract::externalFile, externalFile); +} + +// Get, by index \in [0,size), const +Handle2ConstExternalFile +ExternalFilesExternalFileGetConst(ConstHandle2ConstExternalFiles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ExternalFileGetConst", This, extract::externalFile, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ExternalFile +ExternalFilesExternalFileGet(ConstHandle2ExternalFiles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ExternalFileGet", This, extract::externalFile, index_); +} + +// Set, by index \in [0,size) +void +ExternalFilesExternalFileSet( + ConstHandle2ExternalFiles This, + const size_t index_, + ConstHandle2ConstExternalFile externalFile +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ExternalFileSet", This, extract::externalFile, index_, externalFile); +} + +// Has, by label +int +ExternalFilesExternalFileHasByLabel( + ConstHandle2ConstExternalFiles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileHasByLabel", + This, extract::externalFile, meta::label, label); +} + +// Get, by label, const +Handle2ConstExternalFile +ExternalFilesExternalFileGetByLabelConst( + ConstHandle2ConstExternalFiles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileGetByLabelConst", + This, extract::externalFile, meta::label, label); +} + +// Get, by label, non-const +Handle2ExternalFile +ExternalFilesExternalFileGetByLabel( + ConstHandle2ExternalFiles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileGetByLabel", + This, extract::externalFile, meta::label, label); +} + +// Set, by label +void +ExternalFilesExternalFileSetByLabel( + ConstHandle2ExternalFiles This, + const XMLName label, + ConstHandle2ConstExternalFile externalFile +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileSetByLabel", + This, extract::externalFile, meta::label, label, externalFile); +} + +// Has, by path +int +ExternalFilesExternalFileHasByPath( + ConstHandle2ConstExternalFiles This, + const XMLName path +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileHasByPath", + This, extract::externalFile, meta::path, path); +} + +// Get, by path, const +Handle2ConstExternalFile +ExternalFilesExternalFileGetByPathConst( + ConstHandle2ConstExternalFiles This, + const XMLName path +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileGetByPathConst", + This, extract::externalFile, meta::path, path); +} + +// Get, by path, non-const +Handle2ExternalFile +ExternalFilesExternalFileGetByPath( + ConstHandle2ExternalFiles This, + const XMLName path +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileGetByPath", + This, extract::externalFile, meta::path, path); +} + +// Set, by path +void +ExternalFilesExternalFileSetByPath( + ConstHandle2ExternalFiles This, + const XMLName path, + ConstHandle2ConstExternalFile externalFile +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileSetByPath", + This, extract::externalFile, meta::path, path, externalFile); +} + +// Has, by checksum +int +ExternalFilesExternalFileHasByChecksum( + ConstHandle2ConstExternalFiles This, + const checksum checksum +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileHasByChecksum", + This, extract::externalFile, meta::checksum, checksum); +} + +// Get, by checksum, const +Handle2ConstExternalFile +ExternalFilesExternalFileGetByChecksumConst( + ConstHandle2ConstExternalFiles This, + const checksum checksum +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileGetByChecksumConst", + This, extract::externalFile, meta::checksum, checksum); +} + +// Get, by checksum, non-const +Handle2ExternalFile +ExternalFilesExternalFileGetByChecksum( + ConstHandle2ExternalFiles This, + const checksum checksum +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileGetByChecksum", + This, extract::externalFile, meta::checksum, checksum); +} + +// Set, by checksum +void +ExternalFilesExternalFileSetByChecksum( + ConstHandle2ExternalFiles This, + const checksum checksum, + ConstHandle2ConstExternalFile externalFile +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileSetByChecksum", + This, extract::externalFile, meta::checksum, checksum, externalFile); +} + +// Has, by algorithm +int +ExternalFilesExternalFileHasByAlgorithm( + ConstHandle2ConstExternalFiles This, + const algorithm algorithm +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileHasByAlgorithm", + This, extract::externalFile, meta::algorithm, algorithm); +} + +// Get, by algorithm, const +Handle2ConstExternalFile +ExternalFilesExternalFileGetByAlgorithmConst( + ConstHandle2ConstExternalFiles This, + const algorithm algorithm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileGetByAlgorithmConst", + This, extract::externalFile, meta::algorithm, algorithm); +} + +// Get, by algorithm, non-const +Handle2ExternalFile +ExternalFilesExternalFileGetByAlgorithm( + ConstHandle2ExternalFiles This, + const algorithm algorithm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileGetByAlgorithm", + This, extract::externalFile, meta::algorithm, algorithm); +} + +// Set, by algorithm +void +ExternalFilesExternalFileSetByAlgorithm( + ConstHandle2ExternalFiles This, + const algorithm algorithm, + ConstHandle2ConstExternalFile externalFile +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ExternalFileSetByAlgorithm", + This, extract::externalFile, meta::algorithm, algorithm, externalFile); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.h b/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.h new file mode 100644 index 000000000..4b64a8320 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ExternalFiles is the basic handle type in this file. Example: +// // Create a default ExternalFiles object: +// ExternalFiles handle = ExternalFilesDefault(); +// Functions involving ExternalFiles are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_EXTERNALFILES +#define C_INTERFACE_TRY_V2_0_COMMON_EXTERNALFILES + +#include "GNDStk.h" +#include "v2.0/common/ExternalFile.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ExternalFilesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ExternalFiles +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ExternalFilesClass *ExternalFiles; + +// --- Const-aware handles. +typedef const struct ExternalFilesClass *const ConstHandle2ConstExternalFiles; +typedef struct ExternalFilesClass *const ConstHandle2ExternalFiles; +typedef const struct ExternalFilesClass * Handle2ConstExternalFiles; +typedef struct ExternalFilesClass * Handle2ExternalFiles; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstExternalFiles +ExternalFilesDefaultConst(); + +// +++ Create, default +extern_c Handle2ExternalFiles +ExternalFilesDefault(); + +// --- Create, general, const +extern_c Handle2ConstExternalFiles +ExternalFilesCreateConst( + ConstHandle2ExternalFile *const externalFile, const size_t externalFileSize +); + +// +++ Create, general +extern_c Handle2ExternalFiles +ExternalFilesCreate( + ConstHandle2ExternalFile *const externalFile, const size_t externalFileSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ExternalFilesAssign(ConstHandle2ExternalFiles This, ConstHandle2ConstExternalFiles from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ExternalFilesDelete(ConstHandle2ConstExternalFiles This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ExternalFilesRead(ConstHandle2ExternalFiles This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ExternalFilesWrite(ConstHandle2ConstExternalFiles This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ExternalFilesPrint(ConstHandle2ConstExternalFiles This); + +// +++ Print to standard output, as XML +extern_c int +ExternalFilesPrintXML(ConstHandle2ConstExternalFiles This); + +// +++ Print to standard output, as JSON +extern_c int +ExternalFilesPrintJSON(ConstHandle2ConstExternalFiles This); + + +// ----------------------------------------------------------------------------- +// Child: externalFile +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExternalFilesExternalFileHas(ConstHandle2ConstExternalFiles This); + +// +++ Clear +extern_c void +ExternalFilesExternalFileClear(ConstHandle2ExternalFiles This); + +// +++ Size +extern_c size_t +ExternalFilesExternalFileSize(ConstHandle2ConstExternalFiles This); + +// +++ Add +extern_c void +ExternalFilesExternalFileAdd(ConstHandle2ExternalFiles This, ConstHandle2ConstExternalFile externalFile); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstExternalFile +ExternalFilesExternalFileGetConst(ConstHandle2ConstExternalFiles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ExternalFile +ExternalFilesExternalFileGet(ConstHandle2ExternalFiles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ExternalFilesExternalFileSet( + ConstHandle2ExternalFiles This, + const size_t index_, + ConstHandle2ConstExternalFile externalFile +); + +// +++ Has, by label +extern_c int +ExternalFilesExternalFileHasByLabel( + ConstHandle2ConstExternalFiles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstExternalFile +ExternalFilesExternalFileGetByLabelConst( + ConstHandle2ConstExternalFiles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ExternalFile +ExternalFilesExternalFileGetByLabel( + ConstHandle2ExternalFiles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ExternalFilesExternalFileSetByLabel( + ConstHandle2ExternalFiles This, + const XMLName label, + ConstHandle2ConstExternalFile externalFile +); + +// +++ Has, by path +extern_c int +ExternalFilesExternalFileHasByPath( + ConstHandle2ConstExternalFiles This, + const XMLName path +); + +// --- Get, by path, const +extern_c Handle2ConstExternalFile +ExternalFilesExternalFileGetByPathConst( + ConstHandle2ConstExternalFiles This, + const XMLName path +); + +// +++ Get, by path, non-const +extern_c Handle2ExternalFile +ExternalFilesExternalFileGetByPath( + ConstHandle2ExternalFiles This, + const XMLName path +); + +// +++ Set, by path +extern_c void +ExternalFilesExternalFileSetByPath( + ConstHandle2ExternalFiles This, + const XMLName path, + ConstHandle2ConstExternalFile externalFile +); + +// +++ Has, by checksum +extern_c int +ExternalFilesExternalFileHasByChecksum( + ConstHandle2ConstExternalFiles This, + const checksum checksum +); + +// --- Get, by checksum, const +extern_c Handle2ConstExternalFile +ExternalFilesExternalFileGetByChecksumConst( + ConstHandle2ConstExternalFiles This, + const checksum checksum +); + +// +++ Get, by checksum, non-const +extern_c Handle2ExternalFile +ExternalFilesExternalFileGetByChecksum( + ConstHandle2ExternalFiles This, + const checksum checksum +); + +// +++ Set, by checksum +extern_c void +ExternalFilesExternalFileSetByChecksum( + ConstHandle2ExternalFiles This, + const checksum checksum, + ConstHandle2ConstExternalFile externalFile +); + +// +++ Has, by algorithm +extern_c int +ExternalFilesExternalFileHasByAlgorithm( + ConstHandle2ConstExternalFiles This, + const algorithm algorithm +); + +// --- Get, by algorithm, const +extern_c Handle2ConstExternalFile +ExternalFilesExternalFileGetByAlgorithmConst( + ConstHandle2ConstExternalFiles This, + const algorithm algorithm +); + +// +++ Get, by algorithm, non-const +extern_c Handle2ExternalFile +ExternalFilesExternalFileGetByAlgorithm( + ConstHandle2ExternalFiles This, + const algorithm algorithm +); + +// +++ Set, by algorithm +extern_c void +ExternalFilesExternalFileSetByAlgorithm( + ConstHandle2ExternalFiles This, + const algorithm algorithm, + ConstHandle2ConstExternalFile externalFile +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp new file mode 100644 index 000000000..eabc97d24 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp @@ -0,0 +1,396 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/Mass.hpp" +#include "Mass.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MassClass; +using CPP = multigroup::Mass; + +static const std::string CLASSNAME = "Mass"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMass +MassDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Mass +MassDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMass +MassCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Mass handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + MassDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Create, general +Handle2Mass +MassCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Mass handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + MassDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MassAssign(ConstHandle2Mass This, ConstHandle2ConstMass from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MassDelete(ConstHandle2ConstMass This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MassRead(ConstHandle2Mass This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MassWrite(ConstHandle2ConstMass This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MassPrint(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MassPrintXML(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MassPrintJSON(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MassLabelHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MassLabelGet(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MassLabelSet(ConstHandle2Mass This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +MassUnitHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +MassUnitGet(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +MassUnitSet(ConstHandle2Mass This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +MassValueHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +MassValueGet(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +MassValueSet(ConstHandle2Mass This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +MassDocumentationHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +MassDocumentationGetConst(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +MassDocumentationGet(ConstHandle2Mass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +MassDocumentationSet(ConstHandle2Mass This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +MassUncertaintyHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +MassUncertaintyGetConst(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +MassUncertaintyGet(ConstHandle2Mass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +MassUncertaintySet(ConstHandle2Mass This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +MassDoubleHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Clear +void +MassDoubleClear(ConstHandle2Mass This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DoubleClear", This, extract::Double); +} + +// Size +size_t +MassDoubleSize(ConstHandle2ConstMass This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DoubleSize", This, extract::Double); +} + +// Add +void +MassDoubleAdd(ConstHandle2Mass This, ConstHandle2ConstDouble Double) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DoubleAdd", This, extract::Double, Double); +} + +// Get, by index \in [0,size), const +Handle2ConstDouble +MassDoubleGetConst(ConstHandle2ConstMass This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Double +MassDoubleGet(ConstHandle2Mass This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double, index_); +} + +// Set, by index \in [0,size) +void +MassDoubleSet( + ConstHandle2Mass This, + const size_t index_, + ConstHandle2ConstDouble Double +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h new file mode 100644 index 000000000..f8a9cd973 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h @@ -0,0 +1,283 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Mass is the basic handle type in this file. Example: +// // Create a default Mass object: +// Mass handle = MassDefault(); +// Functions involving Mass are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_MASS +#define C_INTERFACE_TRY_V2_0_COMMON_MASS + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MassClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Mass +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MassClass *Mass; + +// --- Const-aware handles. +typedef const struct MassClass *const ConstHandle2ConstMass; +typedef struct MassClass *const ConstHandle2Mass; +typedef const struct MassClass * Handle2ConstMass; +typedef struct MassClass * Handle2Mass; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMass +MassDefaultConst(); + +// +++ Create, default +extern_c Handle2Mass +MassDefault(); + +// --- Create, general, const +extern_c Handle2ConstMass +MassCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Create, general +extern_c Handle2Mass +MassCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MassAssign(ConstHandle2Mass This, ConstHandle2ConstMass from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MassDelete(ConstHandle2ConstMass This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MassRead(ConstHandle2Mass This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MassWrite(ConstHandle2ConstMass This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MassPrint(ConstHandle2ConstMass This); + +// +++ Print to standard output, as XML +extern_c int +MassPrintXML(ConstHandle2ConstMass This); + +// +++ Print to standard output, as JSON +extern_c int +MassPrintJSON(ConstHandle2ConstMass This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassLabelHas(ConstHandle2ConstMass This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MassLabelGet(ConstHandle2ConstMass This); + +// +++ Set +extern_c void +MassLabelSet(ConstHandle2Mass This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassUnitHas(ConstHandle2ConstMass This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MassUnitGet(ConstHandle2ConstMass This); + +// +++ Set +extern_c void +MassUnitSet(ConstHandle2Mass This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassValueHas(ConstHandle2ConstMass This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MassValueGet(ConstHandle2ConstMass This); + +// +++ Set +extern_c void +MassValueSet(ConstHandle2Mass This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassDocumentationHas(ConstHandle2ConstMass This); + +// --- Get, const +extern_c Handle2ConstDocumentation +MassDocumentationGetConst(ConstHandle2ConstMass This); + +// +++ Get, non-const +extern_c Handle2Documentation +MassDocumentationGet(ConstHandle2Mass This); + +// +++ Set +extern_c void +MassDocumentationSet(ConstHandle2Mass This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassUncertaintyHas(ConstHandle2ConstMass This); + +// --- Get, const +extern_c Handle2ConstUncertainty +MassUncertaintyGetConst(ConstHandle2ConstMass This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +MassUncertaintyGet(ConstHandle2Mass This); + +// +++ Set +extern_c void +MassUncertaintySet(ConstHandle2Mass This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassDoubleHas(ConstHandle2ConstMass This); + +// +++ Clear +extern_c void +MassDoubleClear(ConstHandle2Mass This); + +// +++ Size +extern_c size_t +MassDoubleSize(ConstHandle2ConstMass This); + +// +++ Add +extern_c void +MassDoubleAdd(ConstHandle2Mass This, ConstHandle2ConstDouble Double); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDouble +MassDoubleGetConst(ConstHandle2ConstMass This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Double +MassDoubleGet(ConstHandle2Mass This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MassDoubleSet( + ConstHandle2Mass This, + const size_t index_, + ConstHandle2ConstDouble Double +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp new file mode 100644 index 000000000..7a7879140 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/Probability.hpp" +#include "Probability.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProbabilityClass; +using CPP = multigroup::Probability; + +static const std::string CLASSNAME = "Probability"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProbability +ProbabilityDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Probability +ProbabilityDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProbability +ProbabilityCreateConst( + ConstHandle2ConstDouble Double +) { + ConstHandle2Probability handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2Probability +ProbabilityCreate( + ConstHandle2ConstDouble Double +) { + ConstHandle2Probability handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProbabilityAssign(ConstHandle2Probability This, ConstHandle2ConstProbability from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProbabilityDelete(ConstHandle2ConstProbability This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProbabilityRead(ConstHandle2Probability This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProbabilityWrite(ConstHandle2ConstProbability This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProbabilityPrint(ConstHandle2ConstProbability This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProbabilityPrintXML(ConstHandle2ConstProbability This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProbabilityPrintJSON(ConstHandle2ConstProbability This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +ProbabilityDoubleHas(ConstHandle2ConstProbability This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +ProbabilityDoubleGetConst(ConstHandle2ConstProbability This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +ProbabilityDoubleGet(ConstHandle2Probability This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +ProbabilityDoubleSet(ConstHandle2Probability This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h b/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h new file mode 100644 index 000000000..ddb24e185 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Probability is the basic handle type in this file. Example: +// // Create a default Probability object: +// Probability handle = ProbabilityDefault(); +// Functions involving Probability are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_PROBABILITY +#define C_INTERFACE_TRY_V2_0_COMMON_PROBABILITY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProbabilityClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Probability +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProbabilityClass *Probability; + +// --- Const-aware handles. +typedef const struct ProbabilityClass *const ConstHandle2ConstProbability; +typedef struct ProbabilityClass *const ConstHandle2Probability; +typedef const struct ProbabilityClass * Handle2ConstProbability; +typedef struct ProbabilityClass * Handle2Probability; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProbability +ProbabilityDefaultConst(); + +// +++ Create, default +extern_c Handle2Probability +ProbabilityDefault(); + +// --- Create, general, const +extern_c Handle2ConstProbability +ProbabilityCreateConst( + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2Probability +ProbabilityCreate( + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProbabilityAssign(ConstHandle2Probability This, ConstHandle2ConstProbability from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProbabilityDelete(ConstHandle2ConstProbability This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProbabilityRead(ConstHandle2Probability This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProbabilityWrite(ConstHandle2ConstProbability This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProbabilityPrint(ConstHandle2ConstProbability This); + +// +++ Print to standard output, as XML +extern_c int +ProbabilityPrintXML(ConstHandle2ConstProbability This); + +// +++ Print to standard output, as JSON +extern_c int +ProbabilityPrintJSON(ConstHandle2ConstProbability This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProbabilityDoubleHas(ConstHandle2ConstProbability This); + +// --- Get, const +extern_c Handle2ConstDouble +ProbabilityDoubleGetConst(ConstHandle2ConstProbability This); + +// +++ Get, non-const +extern_c Handle2Double +ProbabilityDoubleGet(ConstHandle2Probability This); + +// +++ Set +extern_c void +ProbabilityDoubleSet(ConstHandle2Probability This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Product.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Product.cpp new file mode 100644 index 000000000..26f36386f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Product.cpp @@ -0,0 +1,330 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/Product.hpp" +#include "Product.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProductClass; +using CPP = multigroup::Product; + +static const std::string CLASSNAME = "Product"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto multiplicity = [](auto &obj) { return &obj.multiplicity; }; + static auto distribution = [](auto &obj) { return &obj.distribution; }; + static auto outputChannel = [](auto &obj) { return &obj.outputChannel; }; +} + +using CPPMultiplicity = transport::Multiplicity; +using CPPDistribution = transport::Distribution; +using CPPOutputChannel = transport::OutputChannel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProduct +ProductDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Product +ProductDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProduct +ProductCreateConst( + const XMLName label, + const XMLName pid, + ConstHandle2ConstMultiplicity multiplicity, + ConstHandle2ConstDistribution distribution, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2Product handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + pid, + detail::tocpp(multiplicity), + detail::tocpp(distribution), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Create, general +Handle2Product +ProductCreate( + const XMLName label, + const XMLName pid, + ConstHandle2ConstMultiplicity multiplicity, + ConstHandle2ConstDistribution distribution, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2Product handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + pid, + detail::tocpp(multiplicity), + detail::tocpp(distribution), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProductAssign(ConstHandle2Product This, ConstHandle2ConstProduct from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProductDelete(ConstHandle2ConstProduct This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProductRead(ConstHandle2Product This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProductWrite(ConstHandle2ConstProduct This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProductPrint(ConstHandle2ConstProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProductPrintXML(ConstHandle2ConstProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProductPrintJSON(ConstHandle2ConstProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ProductLabelHas(ConstHandle2ConstProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ProductLabelGet(ConstHandle2ConstProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ProductLabelSet(ConstHandle2Product This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +ProductPidHas(ConstHandle2ConstProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +ProductPidGet(ConstHandle2ConstProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +ProductPidSet(ConstHandle2Product This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Child: multiplicity +// ----------------------------------------------------------------------------- + +// Has +int +ProductMultiplicityHas(ConstHandle2ConstProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MultiplicityHas", This, extract::multiplicity); +} + +// Get, const +Handle2ConstMultiplicity +ProductMultiplicityGetConst(ConstHandle2ConstProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MultiplicityGetConst", This, extract::multiplicity); +} + +// Get, non-const +Handle2Multiplicity +ProductMultiplicityGet(ConstHandle2Product This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MultiplicityGet", This, extract::multiplicity); +} + +// Set +void +ProductMultiplicitySet(ConstHandle2Product This, ConstHandle2ConstMultiplicity multiplicity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MultiplicitySet", This, extract::multiplicity, multiplicity); +} + + +// ----------------------------------------------------------------------------- +// Child: distribution +// ----------------------------------------------------------------------------- + +// Has +int +ProductDistributionHas(ConstHandle2ConstProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DistributionHas", This, extract::distribution); +} + +// Get, const +Handle2ConstDistribution +ProductDistributionGetConst(ConstHandle2ConstProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DistributionGetConst", This, extract::distribution); +} + +// Get, non-const +Handle2Distribution +ProductDistributionGet(ConstHandle2Product This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DistributionGet", This, extract::distribution); +} + +// Set +void +ProductDistributionSet(ConstHandle2Product This, ConstHandle2ConstDistribution distribution) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DistributionSet", This, extract::distribution, distribution); +} + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// Has +int +ProductOutputChannelHas(ConstHandle2ConstProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OutputChannelHas", This, extract::outputChannel); +} + +// Get, const +Handle2ConstOutputChannel +ProductOutputChannelGetConst(ConstHandle2ConstProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGetConst", This, extract::outputChannel); +} + +// Get, non-const +Handle2OutputChannel +ProductOutputChannelGet(ConstHandle2Product This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGet", This, extract::outputChannel); +} + +// Set +void +ProductOutputChannelSet(ConstHandle2Product This, ConstHandle2ConstOutputChannel outputChannel) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OutputChannelSet", This, extract::outputChannel, outputChannel); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Product.h b/standards/gnds-2.0/try/c/src/v2.0/common/Product.h new file mode 100644 index 000000000..4fa53d6d2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Product.h @@ -0,0 +1,247 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Product is the basic handle type in this file. Example: +// // Create a default Product object: +// Product handle = ProductDefault(); +// Functions involving Product are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_PRODUCT +#define C_INTERFACE_TRY_V2_0_COMMON_PRODUCT + +#include "GNDStk.h" +#include "v2.0/transport/Multiplicity.h" +#include "v2.0/transport/Distribution.h" +#include "v2.0/transport/OutputChannel.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProductClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Product +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProductClass *Product; + +// --- Const-aware handles. +typedef const struct ProductClass *const ConstHandle2ConstProduct; +typedef struct ProductClass *const ConstHandle2Product; +typedef const struct ProductClass * Handle2ConstProduct; +typedef struct ProductClass * Handle2Product; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProduct +ProductDefaultConst(); + +// +++ Create, default +extern_c Handle2Product +ProductDefault(); + +// --- Create, general, const +extern_c Handle2ConstProduct +ProductCreateConst( + const XMLName label, + const XMLName pid, + ConstHandle2ConstMultiplicity multiplicity, + ConstHandle2ConstDistribution distribution, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Create, general +extern_c Handle2Product +ProductCreate( + const XMLName label, + const XMLName pid, + ConstHandle2ConstMultiplicity multiplicity, + ConstHandle2ConstDistribution distribution, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProductAssign(ConstHandle2Product This, ConstHandle2ConstProduct from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProductDelete(ConstHandle2ConstProduct This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProductRead(ConstHandle2Product This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProductWrite(ConstHandle2ConstProduct This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProductPrint(ConstHandle2ConstProduct This); + +// +++ Print to standard output, as XML +extern_c int +ProductPrintXML(ConstHandle2ConstProduct This); + +// +++ Print to standard output, as JSON +extern_c int +ProductPrintJSON(ConstHandle2ConstProduct This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductLabelHas(ConstHandle2ConstProduct This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProductLabelGet(ConstHandle2ConstProduct This); + +// +++ Set +extern_c void +ProductLabelSet(ConstHandle2Product This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductPidHas(ConstHandle2ConstProduct This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProductPidGet(ConstHandle2ConstProduct This); + +// +++ Set +extern_c void +ProductPidSet(ConstHandle2Product This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Child: multiplicity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductMultiplicityHas(ConstHandle2ConstProduct This); + +// --- Get, const +extern_c Handle2ConstMultiplicity +ProductMultiplicityGetConst(ConstHandle2ConstProduct This); + +// +++ Get, non-const +extern_c Handle2Multiplicity +ProductMultiplicityGet(ConstHandle2Product This); + +// +++ Set +extern_c void +ProductMultiplicitySet(ConstHandle2Product This, ConstHandle2ConstMultiplicity multiplicity); + + +// ----------------------------------------------------------------------------- +// Child: distribution +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductDistributionHas(ConstHandle2ConstProduct This); + +// --- Get, const +extern_c Handle2ConstDistribution +ProductDistributionGetConst(ConstHandle2ConstProduct This); + +// +++ Get, non-const +extern_c Handle2Distribution +ProductDistributionGet(ConstHandle2Product This); + +// +++ Set +extern_c void +ProductDistributionSet(ConstHandle2Product This, ConstHandle2ConstDistribution distribution); + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductOutputChannelHas(ConstHandle2ConstProduct This); + +// --- Get, const +extern_c Handle2ConstOutputChannel +ProductOutputChannelGetConst(ConstHandle2ConstProduct This); + +// +++ Get, non-const +extern_c Handle2OutputChannel +ProductOutputChannelGet(ConstHandle2Product This); + +// +++ Set +extern_c void +ProductOutputChannelSet(ConstHandle2Product This, ConstHandle2ConstOutputChannel outputChannel); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Products.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Products.cpp new file mode 100644 index 000000000..5658ebdde --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Products.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/Products.hpp" +#include "Products.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProductsClass; +using CPP = multigroup::Products; + +static const std::string CLASSNAME = "Products"; + +namespace extract { + static auto product = [](auto &obj) { return &obj.product; }; +} + +using CPPProduct = common::Product; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProducts +ProductsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Products +ProductsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProducts +ProductsCreateConst( + ConstHandle2Product *const product, const size_t productSize +) { + ConstHandle2Products handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ProductN = 0; ProductN < productSize; ++ProductN) + ProductsProductAdd(handle, product[ProductN]); + return handle; +} + +// Create, general +Handle2Products +ProductsCreate( + ConstHandle2Product *const product, const size_t productSize +) { + ConstHandle2Products handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ProductN = 0; ProductN < productSize; ++ProductN) + ProductsProductAdd(handle, product[ProductN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProductsAssign(ConstHandle2Products This, ConstHandle2ConstProducts from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProductsDelete(ConstHandle2ConstProducts This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProductsRead(ConstHandle2Products This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProductsWrite(ConstHandle2ConstProducts This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProductsPrint(ConstHandle2ConstProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProductsPrintXML(ConstHandle2ConstProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProductsPrintJSON(ConstHandle2ConstProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: product +// ----------------------------------------------------------------------------- + +// Has +int +ProductsProductHas(ConstHandle2ConstProducts This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductHas", This, extract::product); +} + +// Clear +void +ProductsProductClear(ConstHandle2Products This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ProductClear", This, extract::product); +} + +// Size +size_t +ProductsProductSize(ConstHandle2ConstProducts This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ProductSize", This, extract::product); +} + +// Add +void +ProductsProductAdd(ConstHandle2Products This, ConstHandle2ConstProduct product) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ProductAdd", This, extract::product, product); +} + +// Get, by index \in [0,size), const +Handle2ConstProduct +ProductsProductGetConst(ConstHandle2ConstProducts This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ProductGetConst", This, extract::product, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Product +ProductsProductGet(ConstHandle2Products This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ProductGet", This, extract::product, index_); +} + +// Set, by index \in [0,size) +void +ProductsProductSet( + ConstHandle2Products This, + const size_t index_, + ConstHandle2ConstProduct product +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ProductSet", This, extract::product, index_, product); +} + +// Has, by label +int +ProductsProductHasByLabel( + ConstHandle2ConstProducts This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProductHasByLabel", + This, extract::product, meta::label, label); +} + +// Get, by label, const +Handle2ConstProduct +ProductsProductGetByLabelConst( + ConstHandle2ConstProducts This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductGetByLabelConst", + This, extract::product, meta::label, label); +} + +// Get, by label, non-const +Handle2Product +ProductsProductGetByLabel( + ConstHandle2Products This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductGetByLabel", + This, extract::product, meta::label, label); +} + +// Set, by label +void +ProductsProductSetByLabel( + ConstHandle2Products This, + const XMLName label, + ConstHandle2ConstProduct product +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProductSetByLabel", + This, extract::product, meta::label, label, product); +} + +// Has, by pid +int +ProductsProductHasByPid( + ConstHandle2ConstProducts This, + const XMLName pid +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProductHasByPid", + This, extract::product, meta::pid, pid); +} + +// Get, by pid, const +Handle2ConstProduct +ProductsProductGetByPidConst( + ConstHandle2ConstProducts This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductGetByPidConst", + This, extract::product, meta::pid, pid); +} + +// Get, by pid, non-const +Handle2Product +ProductsProductGetByPid( + ConstHandle2Products This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductGetByPid", + This, extract::product, meta::pid, pid); +} + +// Set, by pid +void +ProductsProductSetByPid( + ConstHandle2Products This, + const XMLName pid, + ConstHandle2ConstProduct product +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProductSetByPid", + This, extract::product, meta::pid, pid, product); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Products.h b/standards/gnds-2.0/try/c/src/v2.0/common/Products.h new file mode 100644 index 000000000..52fe0c351 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Products.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Products is the basic handle type in this file. Example: +// // Create a default Products object: +// Products handle = ProductsDefault(); +// Functions involving Products are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_PRODUCTS +#define C_INTERFACE_TRY_V2_0_COMMON_PRODUCTS + +#include "GNDStk.h" +#include "v2.0/common/Product.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProductsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Products +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProductsClass *Products; + +// --- Const-aware handles. +typedef const struct ProductsClass *const ConstHandle2ConstProducts; +typedef struct ProductsClass *const ConstHandle2Products; +typedef const struct ProductsClass * Handle2ConstProducts; +typedef struct ProductsClass * Handle2Products; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProducts +ProductsDefaultConst(); + +// +++ Create, default +extern_c Handle2Products +ProductsDefault(); + +// --- Create, general, const +extern_c Handle2ConstProducts +ProductsCreateConst( + ConstHandle2Product *const product, const size_t productSize +); + +// +++ Create, general +extern_c Handle2Products +ProductsCreate( + ConstHandle2Product *const product, const size_t productSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProductsAssign(ConstHandle2Products This, ConstHandle2ConstProducts from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProductsDelete(ConstHandle2ConstProducts This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProductsRead(ConstHandle2Products This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProductsWrite(ConstHandle2ConstProducts This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProductsPrint(ConstHandle2ConstProducts This); + +// +++ Print to standard output, as XML +extern_c int +ProductsPrintXML(ConstHandle2ConstProducts This); + +// +++ Print to standard output, as JSON +extern_c int +ProductsPrintJSON(ConstHandle2ConstProducts This); + + +// ----------------------------------------------------------------------------- +// Child: product +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductsProductHas(ConstHandle2ConstProducts This); + +// +++ Clear +extern_c void +ProductsProductClear(ConstHandle2Products This); + +// +++ Size +extern_c size_t +ProductsProductSize(ConstHandle2ConstProducts This); + +// +++ Add +extern_c void +ProductsProductAdd(ConstHandle2Products This, ConstHandle2ConstProduct product); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstProduct +ProductsProductGetConst(ConstHandle2ConstProducts This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Product +ProductsProductGet(ConstHandle2Products This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ProductsProductSet( + ConstHandle2Products This, + const size_t index_, + ConstHandle2ConstProduct product +); + +// +++ Has, by label +extern_c int +ProductsProductHasByLabel( + ConstHandle2ConstProducts This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstProduct +ProductsProductGetByLabelConst( + ConstHandle2ConstProducts This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Product +ProductsProductGetByLabel( + ConstHandle2Products This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ProductsProductSetByLabel( + ConstHandle2Products This, + const XMLName label, + ConstHandle2ConstProduct product +); + +// +++ Has, by pid +extern_c int +ProductsProductHasByPid( + ConstHandle2ConstProducts This, + const XMLName pid +); + +// --- Get, by pid, const +extern_c Handle2ConstProduct +ProductsProductGetByPidConst( + ConstHandle2ConstProducts This, + const XMLName pid +); + +// +++ Get, by pid, non-const +extern_c Handle2Product +ProductsProductGetByPid( + ConstHandle2Products This, + const XMLName pid +); + +// +++ Set, by pid +extern_c void +ProductsProductSetByPid( + ConstHandle2Products This, + const XMLName pid, + ConstHandle2ConstProduct product +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp new file mode 100644 index 000000000..c2ae9c27e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp @@ -0,0 +1,327 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/Q.hpp" +#include "Q.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = QClass; +using CPP = multigroup::Q; + +static const std::string CLASSNAME = "Q"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPConstant1d = unknownNamespace::Constant1d; +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; +using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPGridded1d = unknownNamespace::Gridded1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstQ +QDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Q +QDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstQ +QCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +) { + ConstHandle2Q handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2Q +QCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +) { + ConstHandle2Q handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +QAssign(ConstHandle2Q This, ConstHandle2ConstQ from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +QDelete(ConstHandle2ConstQ This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +QRead(ConstHandle2Q This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +QWrite(ConstHandle2ConstQ This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +QPrint(ConstHandle2ConstQ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +QPrintXML(ConstHandle2ConstQ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +QPrintJSON(ConstHandle2ConstQ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +QLabelHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +QLabelGet(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +QLabelSet(ConstHandle2Q This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +QUnitHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +QUnitGet(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +QUnitSet(ConstHandle2Q This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +QValueHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +QValueGet(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +QValueSet(ConstHandle2Q This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +QDocumentationHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +QDocumentationGetConst(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +QDocumentationGet(ConstHandle2Q This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +QDocumentationSet(ConstHandle2Q This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +QUncertaintyHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +QUncertaintyGetConst(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +QUncertaintyGet(ConstHandle2Q This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +QUncertaintySet(ConstHandle2Q This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h b/standards/gnds-2.0/try/c/src/v2.0/common/Q.h new file mode 100644 index 000000000..cb07be5f6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Q.h @@ -0,0 +1,248 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Q is the basic handle type in this file. Example: +// // Create a default Q object: +// Q handle = QDefault(); +// Functions involving Q are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_Q +#define C_INTERFACE_TRY_V2_0_COMMON_Q + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Constant1d.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/unknownNamespace/Gridded1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct QClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Q +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct QClass *Q; + +// --- Const-aware handles. +typedef const struct QClass *const ConstHandle2ConstQ; +typedef struct QClass *const ConstHandle2Q; +typedef const struct QClass * Handle2ConstQ; +typedef struct QClass * Handle2Q; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstQ +QDefaultConst(); + +// +++ Create, default +extern_c Handle2Q +QDefault(); + +// --- Create, general, const +extern_c Handle2ConstQ +QCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +); + +// +++ Create, general +extern_c Handle2Q +QCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +QAssign(ConstHandle2Q This, ConstHandle2ConstQ from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +QDelete(ConstHandle2ConstQ This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +QRead(ConstHandle2Q This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +QWrite(ConstHandle2ConstQ This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +QPrint(ConstHandle2ConstQ This); + +// +++ Print to standard output, as XML +extern_c int +QPrintXML(ConstHandle2ConstQ This); + +// +++ Print to standard output, as JSON +extern_c int +QPrintJSON(ConstHandle2ConstQ This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QLabelHas(ConstHandle2ConstQ This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +QLabelGet(ConstHandle2ConstQ This); + +// +++ Set +extern_c void +QLabelSet(ConstHandle2Q This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QUnitHas(ConstHandle2ConstQ This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +QUnitGet(ConstHandle2ConstQ This); + +// +++ Set +extern_c void +QUnitSet(ConstHandle2Q This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QValueHas(ConstHandle2ConstQ This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +QValueGet(ConstHandle2ConstQ This); + +// +++ Set +extern_c void +QValueSet(ConstHandle2Q This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QDocumentationHas(ConstHandle2ConstQ This); + +// --- Get, const +extern_c Handle2ConstDocumentation +QDocumentationGetConst(ConstHandle2ConstQ This); + +// +++ Get, non-const +extern_c Handle2Documentation +QDocumentationGet(ConstHandle2Q This); + +// +++ Set +extern_c void +QDocumentationSet(ConstHandle2Q This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QUncertaintyHas(ConstHandle2ConstQ This); + +// --- Get, const +extern_c Handle2ConstUncertainty +QUncertaintyGetConst(ConstHandle2ConstQ This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +QUncertaintyGet(ConstHandle2Q This); + +// +++ Set +extern_c void +QUncertaintySet(ConstHandle2Q This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp new file mode 100644 index 000000000..9bfc8a701 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/common/Temperature.hpp" +#include "Temperature.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TemperatureClass; +using CPP = multigroup::Temperature; + +static const std::string CLASSNAME = "Temperature"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTemperature +TemperatureDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Temperature +TemperatureDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTemperature +TemperatureCreateConst( + const XMLName label, + const XMLName unit, + const Float64 value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2Temperature handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2Temperature +TemperatureCreate( + const XMLName label, + const XMLName unit, + const Float64 value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2Temperature handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TemperatureAssign(ConstHandle2Temperature This, ConstHandle2ConstTemperature from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TemperatureDelete(ConstHandle2ConstTemperature This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TemperatureRead(ConstHandle2Temperature This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TemperatureWrite(ConstHandle2ConstTemperature This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TemperaturePrint(ConstHandle2ConstTemperature This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TemperaturePrintXML(ConstHandle2ConstTemperature This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TemperaturePrintJSON(ConstHandle2ConstTemperature This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureLabelHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +TemperatureLabelGet(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +TemperatureLabelSet(ConstHandle2Temperature This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureUnitHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +TemperatureUnitGet(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +TemperatureUnitSet(ConstHandle2Temperature This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureValueHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +TemperatureValueGet(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +TemperatureValueSet(ConstHandle2Temperature This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureDocumentationHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +TemperatureDocumentationGetConst(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +TemperatureDocumentationGet(ConstHandle2Temperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +TemperatureDocumentationSet(ConstHandle2Temperature This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureUncertaintyHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +TemperatureUncertaintyGetConst(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +TemperatureUncertaintyGet(ConstHandle2Temperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +TemperatureUncertaintySet(ConstHandle2Temperature This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h new file mode 100644 index 000000000..ce653d72b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Temperature is the basic handle type in this file. Example: +// // Create a default Temperature object: +// Temperature handle = TemperatureDefault(); +// Functions involving Temperature are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COMMON_TEMPERATURE +#define C_INTERFACE_TRY_V2_0_COMMON_TEMPERATURE + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TemperatureClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Temperature +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TemperatureClass *Temperature; + +// --- Const-aware handles. +typedef const struct TemperatureClass *const ConstHandle2ConstTemperature; +typedef struct TemperatureClass *const ConstHandle2Temperature; +typedef const struct TemperatureClass * Handle2ConstTemperature; +typedef struct TemperatureClass * Handle2Temperature; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTemperature +TemperatureDefaultConst(); + +// +++ Create, default +extern_c Handle2Temperature +TemperatureDefault(); + +// --- Create, general, const +extern_c Handle2ConstTemperature +TemperatureCreateConst( + const XMLName label, + const XMLName unit, + const Float64 value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2Temperature +TemperatureCreate( + const XMLName label, + const XMLName unit, + const Float64 value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TemperatureAssign(ConstHandle2Temperature This, ConstHandle2ConstTemperature from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TemperatureDelete(ConstHandle2ConstTemperature This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TemperatureRead(ConstHandle2Temperature This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TemperatureWrite(ConstHandle2ConstTemperature This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TemperaturePrint(ConstHandle2ConstTemperature This); + +// +++ Print to standard output, as XML +extern_c int +TemperaturePrintXML(ConstHandle2ConstTemperature This); + +// +++ Print to standard output, as JSON +extern_c int +TemperaturePrintJSON(ConstHandle2ConstTemperature This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureLabelHas(ConstHandle2ConstTemperature This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TemperatureLabelGet(ConstHandle2ConstTemperature This); + +// +++ Set +extern_c void +TemperatureLabelSet(ConstHandle2Temperature This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureUnitHas(ConstHandle2ConstTemperature This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TemperatureUnitGet(ConstHandle2ConstTemperature This); + +// +++ Set +extern_c void +TemperatureUnitSet(ConstHandle2Temperature This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureValueHas(ConstHandle2ConstTemperature This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +TemperatureValueGet(ConstHandle2ConstTemperature This); + +// +++ Set +extern_c void +TemperatureValueSet(ConstHandle2Temperature This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureDocumentationHas(ConstHandle2ConstTemperature This); + +// --- Get, const +extern_c Handle2ConstDocumentation +TemperatureDocumentationGetConst(ConstHandle2ConstTemperature This); + +// +++ Get, non-const +extern_c Handle2Documentation +TemperatureDocumentationGet(ConstHandle2Temperature This); + +// +++ Set +extern_c void +TemperatureDocumentationSet(ConstHandle2Temperature This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureUncertaintyHas(ConstHandle2ConstTemperature This); + +// --- Get, const +extern_c Handle2ConstUncertainty +TemperatureUncertaintyGetConst(ConstHandle2ConstTemperature This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +TemperatureUncertaintyGet(ConstHandle2Temperature This); + +// +++ Set +extern_c void +TemperatureUncertaintySet(ConstHandle2Temperature This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.cpp new file mode 100644 index 000000000..8ff475588 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.cpp @@ -0,0 +1,288 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/AverageParameterCovariance.hpp" +#include "AverageParameterCovariance.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AverageParameterCovarianceClass; +using CPP = multigroup::AverageParameterCovariance; + +static const std::string CLASSNAME = "AverageParameterCovariance"; + +namespace extract { + static auto crossTerm = [](auto &obj) { return &obj.crossTerm; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto columnData = [](auto &obj) { return &obj.columnData; }; + static auto rowData = [](auto &obj) { return &obj.rowData; }; +} + +using CPPColumnData = covariance::ColumnData; +using CPPRowData = covariance::RowData; +using CPPCovarianceMatrix = covariance::CovarianceMatrix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAverageParameterCovariance +AverageParameterCovarianceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AverageParameterCovariance +AverageParameterCovarianceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAverageParameterCovariance +AverageParameterCovarianceCreateConst( + const bool crossTerm, + const XMLName label, + ConstHandle2ConstColumnData columnData, + ConstHandle2ConstRowData rowData, +) { + ConstHandle2AverageParameterCovariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + crossTerm, + label, + detail::tocpp(columnData), + detail::tocpp(rowData) + ); + return handle; +} + +// Create, general +Handle2AverageParameterCovariance +AverageParameterCovarianceCreate( + const bool crossTerm, + const XMLName label, + ConstHandle2ConstColumnData columnData, + ConstHandle2ConstRowData rowData, +) { + ConstHandle2AverageParameterCovariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + crossTerm, + label, + detail::tocpp(columnData), + detail::tocpp(rowData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AverageParameterCovarianceAssign(ConstHandle2AverageParameterCovariance This, ConstHandle2ConstAverageParameterCovariance from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AverageParameterCovarianceDelete(ConstHandle2ConstAverageParameterCovariance This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AverageParameterCovarianceRead(ConstHandle2AverageParameterCovariance This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AverageParameterCovarianceWrite(ConstHandle2ConstAverageParameterCovariance This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AverageParameterCovariancePrint(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AverageParameterCovariancePrintXML(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AverageParameterCovariancePrintJSON(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: crossTerm +// ----------------------------------------------------------------------------- + +// Has +int +AverageParameterCovarianceCrossTermHas(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossTermHas", This, extract::crossTerm); +} + +// Get +// Returns by value +bool +AverageParameterCovarianceCrossTermGet(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossTermGet", This, extract::crossTerm); +} + +// Set +void +AverageParameterCovarianceCrossTermSet(ConstHandle2AverageParameterCovariance This, const bool crossTerm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossTermSet", This, extract::crossTerm, crossTerm); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AverageParameterCovarianceLabelHas(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AverageParameterCovarianceLabelGet(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AverageParameterCovarianceLabelSet(ConstHandle2AverageParameterCovariance This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: columnData +// ----------------------------------------------------------------------------- + +// Has +int +AverageParameterCovarianceColumnDataHas(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ColumnDataHas", This, extract::columnData); +} + +// Get, const +Handle2ConstColumnData +AverageParameterCovarianceColumnDataGetConst(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnDataGetConst", This, extract::columnData); +} + +// Get, non-const +Handle2ColumnData +AverageParameterCovarianceColumnDataGet(ConstHandle2AverageParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnDataGet", This, extract::columnData); +} + +// Set +void +AverageParameterCovarianceColumnDataSet(ConstHandle2AverageParameterCovariance This, ConstHandle2ConstColumnData columnData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ColumnDataSet", This, extract::columnData, columnData); +} + + +// ----------------------------------------------------------------------------- +// Child: rowData +// ----------------------------------------------------------------------------- + +// Has +int +AverageParameterCovarianceRowDataHas(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RowDataHas", This, extract::rowData); +} + +// Get, const +Handle2ConstRowData +AverageParameterCovarianceRowDataGetConst(ConstHandle2ConstAverageParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowDataGetConst", This, extract::rowData); +} + +// Get, non-const +Handle2RowData +AverageParameterCovarianceRowDataGet(ConstHandle2AverageParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowDataGet", This, extract::rowData); +} + +// Set +void +AverageParameterCovarianceRowDataSet(ConstHandle2AverageParameterCovariance This, ConstHandle2ConstRowData rowData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RowDataSet", This, extract::rowData, rowData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.h new file mode 100644 index 000000000..ce94bf471 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.h @@ -0,0 +1,224 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AverageParameterCovariance is the basic handle type in this file. Example: +// // Create a default AverageParameterCovariance object: +// AverageParameterCovariance handle = AverageParameterCovarianceDefault(); +// Functions involving AverageParameterCovariance are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE +#define C_INTERFACE_TRY_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE + +#include "GNDStk.h" +#include "v2.0/covariance/ColumnData.h" +#include "v2.0/covariance/RowData.h" +#include "v2.0/covariance/CovarianceMatrix.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AverageParameterCovarianceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AverageParameterCovariance +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AverageParameterCovarianceClass *AverageParameterCovariance; + +// --- Const-aware handles. +typedef const struct AverageParameterCovarianceClass *const ConstHandle2ConstAverageParameterCovariance; +typedef struct AverageParameterCovarianceClass *const ConstHandle2AverageParameterCovariance; +typedef const struct AverageParameterCovarianceClass * Handle2ConstAverageParameterCovariance; +typedef struct AverageParameterCovarianceClass * Handle2AverageParameterCovariance; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAverageParameterCovariance +AverageParameterCovarianceDefaultConst(); + +// +++ Create, default +extern_c Handle2AverageParameterCovariance +AverageParameterCovarianceDefault(); + +// --- Create, general, const +extern_c Handle2ConstAverageParameterCovariance +AverageParameterCovarianceCreateConst( + const bool crossTerm, + const XMLName label, + ConstHandle2ConstColumnData columnData, + ConstHandle2ConstRowData rowData, +); + +// +++ Create, general +extern_c Handle2AverageParameterCovariance +AverageParameterCovarianceCreate( + const bool crossTerm, + const XMLName label, + ConstHandle2ConstColumnData columnData, + ConstHandle2ConstRowData rowData, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AverageParameterCovarianceAssign(ConstHandle2AverageParameterCovariance This, ConstHandle2ConstAverageParameterCovariance from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AverageParameterCovarianceDelete(ConstHandle2ConstAverageParameterCovariance This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AverageParameterCovarianceRead(ConstHandle2AverageParameterCovariance This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AverageParameterCovarianceWrite(ConstHandle2ConstAverageParameterCovariance This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AverageParameterCovariancePrint(ConstHandle2ConstAverageParameterCovariance This); + +// +++ Print to standard output, as XML +extern_c int +AverageParameterCovariancePrintXML(ConstHandle2ConstAverageParameterCovariance This); + +// +++ Print to standard output, as JSON +extern_c int +AverageParameterCovariancePrintJSON(ConstHandle2ConstAverageParameterCovariance This); + + +// ----------------------------------------------------------------------------- +// Metadatum: crossTerm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageParameterCovarianceCrossTermHas(ConstHandle2ConstAverageParameterCovariance This); + +// +++ Get +// +++ Returns by value +extern_c bool +AverageParameterCovarianceCrossTermGet(ConstHandle2ConstAverageParameterCovariance This); + +// +++ Set +extern_c void +AverageParameterCovarianceCrossTermSet(ConstHandle2AverageParameterCovariance This, const bool crossTerm); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageParameterCovarianceLabelHas(ConstHandle2ConstAverageParameterCovariance This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AverageParameterCovarianceLabelGet(ConstHandle2ConstAverageParameterCovariance This); + +// +++ Set +extern_c void +AverageParameterCovarianceLabelSet(ConstHandle2AverageParameterCovariance This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: columnData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageParameterCovarianceColumnDataHas(ConstHandle2ConstAverageParameterCovariance This); + +// --- Get, const +extern_c Handle2ConstColumnData +AverageParameterCovarianceColumnDataGetConst(ConstHandle2ConstAverageParameterCovariance This); + +// +++ Get, non-const +extern_c Handle2ColumnData +AverageParameterCovarianceColumnDataGet(ConstHandle2AverageParameterCovariance This); + +// +++ Set +extern_c void +AverageParameterCovarianceColumnDataSet(ConstHandle2AverageParameterCovariance This, ConstHandle2ConstColumnData columnData); + + +// ----------------------------------------------------------------------------- +// Child: rowData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageParameterCovarianceRowDataHas(ConstHandle2ConstAverageParameterCovariance This); + +// --- Get, const +extern_c Handle2ConstRowData +AverageParameterCovarianceRowDataGetConst(ConstHandle2ConstAverageParameterCovariance This); + +// +++ Get, non-const +extern_c Handle2RowData +AverageParameterCovarianceRowDataGet(ConstHandle2AverageParameterCovariance This); + +// +++ Set +extern_c void +AverageParameterCovarianceRowDataSet(ConstHandle2AverageParameterCovariance This, ConstHandle2ConstRowData rowData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.cpp new file mode 100644 index 000000000..7cce0bc92 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/ColumnData.hpp" +#include "ColumnData.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ColumnDataClass; +using CPP = multigroup::ColumnData; + +static const std::string CLASSNAME = "ColumnData"; + +namespace extract { + static auto ENDF_MFMT = [](auto &obj) { return &obj.ENDF_MFMT; }; + static auto href = [](auto &obj) { return &obj.href; }; + static auto dimension = [](auto &obj) { return &obj.dimension; }; + static auto slices = [](auto &obj) { return &obj.slices; }; +} + +using CPPSlices = covariance::Slices; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstColumnData +ColumnDataDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ColumnData +ColumnDataDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstColumnData +ColumnDataCreateConst( + const XMLName ENDF_MFMT, + const XMLName href, + const Integer32 dimension, + ConstHandle2ConstSlices slices +) { + ConstHandle2ColumnData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MFMT, + href, + dimension, + detail::tocpp(slices) + ); + return handle; +} + +// Create, general +Handle2ColumnData +ColumnDataCreate( + const XMLName ENDF_MFMT, + const XMLName href, + const Integer32 dimension, + ConstHandle2ConstSlices slices +) { + ConstHandle2ColumnData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MFMT, + href, + dimension, + detail::tocpp(slices) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ColumnDataAssign(ConstHandle2ColumnData This, ConstHandle2ConstColumnData from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ColumnDataDelete(ConstHandle2ConstColumnData This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ColumnDataRead(ConstHandle2ColumnData This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ColumnDataWrite(ConstHandle2ConstColumnData This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ColumnDataPrint(ConstHandle2ConstColumnData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ColumnDataPrintXML(ConstHandle2ConstColumnData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ColumnDataPrintJSON(ConstHandle2ConstColumnData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MFMT +// ----------------------------------------------------------------------------- + +// Has +int +ColumnDataENDFMFMTHas(ConstHandle2ConstColumnData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMFMTHas", This, extract::ENDF_MFMT); +} + +// Get +// Returns by value +XMLName +ColumnDataENDFMFMTGet(ConstHandle2ConstColumnData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMFMTGet", This, extract::ENDF_MFMT); +} + +// Set +void +ColumnDataENDFMFMTSet(ConstHandle2ColumnData This, const XMLName ENDF_MFMT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMFMTSet", This, extract::ENDF_MFMT, ENDF_MFMT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ColumnDataHrefHas(ConstHandle2ConstColumnData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +XMLName +ColumnDataHrefGet(ConstHandle2ConstColumnData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ColumnDataHrefSet(ConstHandle2ColumnData This, const XMLName href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: dimension +// ----------------------------------------------------------------------------- + +// Has +int +ColumnDataDimensionHas(ConstHandle2ConstColumnData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DimensionHas", This, extract::dimension); +} + +// Get +// Returns by value +Integer32 +ColumnDataDimensionGet(ConstHandle2ConstColumnData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DimensionGet", This, extract::dimension); +} + +// Set +void +ColumnDataDimensionSet(ConstHandle2ColumnData This, const Integer32 dimension) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DimensionSet", This, extract::dimension, dimension); +} + + +// ----------------------------------------------------------------------------- +// Child: slices +// ----------------------------------------------------------------------------- + +// Has +int +ColumnDataSlicesHas(ConstHandle2ConstColumnData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SlicesHas", This, extract::slices); +} + +// Get, const +Handle2ConstSlices +ColumnDataSlicesGetConst(ConstHandle2ConstColumnData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SlicesGetConst", This, extract::slices); +} + +// Get, non-const +Handle2Slices +ColumnDataSlicesGet(ConstHandle2ColumnData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SlicesGet", This, extract::slices); +} + +// Set +void +ColumnDataSlicesSet(ConstHandle2ColumnData This, ConstHandle2ConstSlices slices) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SlicesSet", This, extract::slices, slices); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.h new file mode 100644 index 000000000..c7c19a89a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ColumnData is the basic handle type in this file. Example: +// // Create a default ColumnData object: +// ColumnData handle = ColumnDataDefault(); +// Functions involving ColumnData are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNDATA +#define C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNDATA + +#include "GNDStk.h" +#include "v2.0/covariance/Slices.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ColumnDataClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ColumnData +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ColumnDataClass *ColumnData; + +// --- Const-aware handles. +typedef const struct ColumnDataClass *const ConstHandle2ConstColumnData; +typedef struct ColumnDataClass *const ConstHandle2ColumnData; +typedef const struct ColumnDataClass * Handle2ConstColumnData; +typedef struct ColumnDataClass * Handle2ColumnData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstColumnData +ColumnDataDefaultConst(); + +// +++ Create, default +extern_c Handle2ColumnData +ColumnDataDefault(); + +// --- Create, general, const +extern_c Handle2ConstColumnData +ColumnDataCreateConst( + const XMLName ENDF_MFMT, + const XMLName href, + const Integer32 dimension, + ConstHandle2ConstSlices slices +); + +// +++ Create, general +extern_c Handle2ColumnData +ColumnDataCreate( + const XMLName ENDF_MFMT, + const XMLName href, + const Integer32 dimension, + ConstHandle2ConstSlices slices +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ColumnDataAssign(ConstHandle2ColumnData This, ConstHandle2ConstColumnData from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ColumnDataDelete(ConstHandle2ConstColumnData This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ColumnDataRead(ConstHandle2ColumnData This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ColumnDataWrite(ConstHandle2ConstColumnData This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ColumnDataPrint(ConstHandle2ConstColumnData This); + +// +++ Print to standard output, as XML +extern_c int +ColumnDataPrintXML(ConstHandle2ConstColumnData This); + +// +++ Print to standard output, as JSON +extern_c int +ColumnDataPrintJSON(ConstHandle2ConstColumnData This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MFMT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnDataENDFMFMTHas(ConstHandle2ConstColumnData This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ColumnDataENDFMFMTGet(ConstHandle2ConstColumnData This); + +// +++ Set +extern_c void +ColumnDataENDFMFMTSet(ConstHandle2ColumnData This, const XMLName ENDF_MFMT); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnDataHrefHas(ConstHandle2ConstColumnData This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ColumnDataHrefGet(ConstHandle2ConstColumnData This); + +// +++ Set +extern_c void +ColumnDataHrefSet(ConstHandle2ColumnData This, const XMLName href); + + +// ----------------------------------------------------------------------------- +// Metadatum: dimension +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnDataDimensionHas(ConstHandle2ConstColumnData This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ColumnDataDimensionGet(ConstHandle2ConstColumnData This); + +// +++ Set +extern_c void +ColumnDataDimensionSet(ConstHandle2ColumnData This, const Integer32 dimension); + + +// ----------------------------------------------------------------------------- +// Child: slices +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnDataSlicesHas(ConstHandle2ConstColumnData This); + +// --- Get, const +extern_c Handle2ConstSlices +ColumnDataSlicesGetConst(ConstHandle2ConstColumnData This); + +// +++ Get, non-const +extern_c Handle2Slices +ColumnDataSlicesGet(ConstHandle2ColumnData This); + +// +++ Set +extern_c void +ColumnDataSlicesSet(ConstHandle2ColumnData This, ConstHandle2ConstSlices slices); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp new file mode 100644 index 000000000..4522a759d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/ColumnSensitivity.hpp" +#include "ColumnSensitivity.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ColumnSensitivityClass; +using CPP = multigroup::ColumnSensitivity; + +static const std::string CLASSNAME = "ColumnSensitivity"; + +namespace extract { + static auto array = [](auto &obj) { return &obj.array; }; +} + +using CPPArray = unknownNamespace::Array; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstColumnSensitivity +ColumnSensitivityDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ColumnSensitivity +ColumnSensitivityDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstColumnSensitivity +ColumnSensitivityCreateConst( + ConstHandle2ConstArray array +) { + ConstHandle2ColumnSensitivity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(array) + ); + return handle; +} + +// Create, general +Handle2ColumnSensitivity +ColumnSensitivityCreate( + ConstHandle2ConstArray array +) { + ConstHandle2ColumnSensitivity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(array) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ColumnSensitivityAssign(ConstHandle2ColumnSensitivity This, ConstHandle2ConstColumnSensitivity from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ColumnSensitivityDelete(ConstHandle2ConstColumnSensitivity This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ColumnSensitivityRead(ConstHandle2ColumnSensitivity This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ColumnSensitivityWrite(ConstHandle2ConstColumnSensitivity This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ColumnSensitivityPrint(ConstHandle2ConstColumnSensitivity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ColumnSensitivityPrintXML(ConstHandle2ConstColumnSensitivity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ColumnSensitivityPrintJSON(ConstHandle2ConstColumnSensitivity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// Has +int +ColumnSensitivityArrayHas(ConstHandle2ConstColumnSensitivity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ArrayHas", This, extract::array); +} + +// Get, const +Handle2ConstArray +ColumnSensitivityArrayGetConst(ConstHandle2ConstColumnSensitivity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGetConst", This, extract::array); +} + +// Get, non-const +Handle2Array +ColumnSensitivityArrayGet(ConstHandle2ColumnSensitivity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGet", This, extract::array); +} + +// Set +void +ColumnSensitivityArraySet(ConstHandle2ColumnSensitivity This, ConstHandle2ConstArray array) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ArraySet", This, extract::array, array); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h new file mode 100644 index 000000000..5c6b3e10b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ColumnSensitivity is the basic handle type in this file. Example: +// // Create a default ColumnSensitivity object: +// ColumnSensitivity handle = ColumnSensitivityDefault(); +// Functions involving ColumnSensitivity are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY +#define C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Array.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ColumnSensitivityClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ColumnSensitivity +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ColumnSensitivityClass *ColumnSensitivity; + +// --- Const-aware handles. +typedef const struct ColumnSensitivityClass *const ConstHandle2ConstColumnSensitivity; +typedef struct ColumnSensitivityClass *const ConstHandle2ColumnSensitivity; +typedef const struct ColumnSensitivityClass * Handle2ConstColumnSensitivity; +typedef struct ColumnSensitivityClass * Handle2ColumnSensitivity; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstColumnSensitivity +ColumnSensitivityDefaultConst(); + +// +++ Create, default +extern_c Handle2ColumnSensitivity +ColumnSensitivityDefault(); + +// --- Create, general, const +extern_c Handle2ConstColumnSensitivity +ColumnSensitivityCreateConst( + ConstHandle2ConstArray array +); + +// +++ Create, general +extern_c Handle2ColumnSensitivity +ColumnSensitivityCreate( + ConstHandle2ConstArray array +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ColumnSensitivityAssign(ConstHandle2ColumnSensitivity This, ConstHandle2ConstColumnSensitivity from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ColumnSensitivityDelete(ConstHandle2ConstColumnSensitivity This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ColumnSensitivityRead(ConstHandle2ColumnSensitivity This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ColumnSensitivityWrite(ConstHandle2ConstColumnSensitivity This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ColumnSensitivityPrint(ConstHandle2ConstColumnSensitivity This); + +// +++ Print to standard output, as XML +extern_c int +ColumnSensitivityPrintXML(ConstHandle2ConstColumnSensitivity This); + +// +++ Print to standard output, as JSON +extern_c int +ColumnSensitivityPrintJSON(ConstHandle2ConstColumnSensitivity This); + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnSensitivityArrayHas(ConstHandle2ConstColumnSensitivity This); + +// --- Get, const +extern_c Handle2ConstArray +ColumnSensitivityArrayGetConst(ConstHandle2ConstColumnSensitivity This); + +// +++ Get, non-const +extern_c Handle2Array +ColumnSensitivityArrayGet(ConstHandle2ColumnSensitivity This); + +// +++ Set +extern_c void +ColumnSensitivityArraySet(ConstHandle2ColumnSensitivity This, ConstHandle2ConstArray array); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp new file mode 100644 index 000000000..3a4885d5f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/Covariance.hpp" +#include "Covariance.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CovarianceClass; +using CPP = multigroup::Covariance; + +static const std::string CLASSNAME = "Covariance"; + +namespace extract { + static auto array = [](auto &obj) { return &obj.array; }; +} + +using CPPArray = unknownNamespace::Array; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCovariance +CovarianceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Covariance +CovarianceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCovariance +CovarianceCreateConst( + ConstHandle2ConstArray array +) { + ConstHandle2Covariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(array) + ); + return handle; +} + +// Create, general +Handle2Covariance +CovarianceCreate( + ConstHandle2ConstArray array +) { + ConstHandle2Covariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(array) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CovarianceAssign(ConstHandle2Covariance This, ConstHandle2ConstCovariance from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CovarianceDelete(ConstHandle2ConstCovariance This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CovarianceRead(ConstHandle2Covariance This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CovarianceWrite(ConstHandle2ConstCovariance This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CovariancePrint(ConstHandle2ConstCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CovariancePrintXML(ConstHandle2ConstCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CovariancePrintJSON(ConstHandle2ConstCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceArrayHas(ConstHandle2ConstCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ArrayHas", This, extract::array); +} + +// Get, const +Handle2ConstArray +CovarianceArrayGetConst(ConstHandle2ConstCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGetConst", This, extract::array); +} + +// Get, non-const +Handle2Array +CovarianceArrayGet(ConstHandle2Covariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGet", This, extract::array); +} + +// Set +void +CovarianceArraySet(ConstHandle2Covariance This, ConstHandle2ConstArray array) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ArraySet", This, extract::array, array); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h new file mode 100644 index 000000000..a347caf38 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Covariance is the basic handle type in this file. Example: +// // Create a default Covariance object: +// Covariance handle = CovarianceDefault(); +// Functions involving Covariance are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCE +#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCE + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Array.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CovarianceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Covariance +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CovarianceClass *Covariance; + +// --- Const-aware handles. +typedef const struct CovarianceClass *const ConstHandle2ConstCovariance; +typedef struct CovarianceClass *const ConstHandle2Covariance; +typedef const struct CovarianceClass * Handle2ConstCovariance; +typedef struct CovarianceClass * Handle2Covariance; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCovariance +CovarianceDefaultConst(); + +// +++ Create, default +extern_c Handle2Covariance +CovarianceDefault(); + +// --- Create, general, const +extern_c Handle2ConstCovariance +CovarianceCreateConst( + ConstHandle2ConstArray array +); + +// +++ Create, general +extern_c Handle2Covariance +CovarianceCreate( + ConstHandle2ConstArray array +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CovarianceAssign(ConstHandle2Covariance This, ConstHandle2ConstCovariance from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CovarianceDelete(ConstHandle2ConstCovariance This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CovarianceRead(ConstHandle2Covariance This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CovarianceWrite(ConstHandle2ConstCovariance This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CovariancePrint(ConstHandle2ConstCovariance This); + +// +++ Print to standard output, as XML +extern_c int +CovariancePrintXML(ConstHandle2ConstCovariance This); + +// +++ Print to standard output, as JSON +extern_c int +CovariancePrintJSON(ConstHandle2ConstCovariance This); + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceArrayHas(ConstHandle2ConstCovariance This); + +// --- Get, const +extern_c Handle2ConstArray +CovarianceArrayGetConst(ConstHandle2ConstCovariance This); + +// +++ Get, non-const +extern_c Handle2Array +CovarianceArrayGet(ConstHandle2Covariance This); + +// +++ Set +extern_c void +CovarianceArraySet(ConstHandle2Covariance This, ConstHandle2ConstArray array); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp new file mode 100644 index 000000000..189a23b69 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp @@ -0,0 +1,238 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/CovarianceMatrix.hpp" +#include "CovarianceMatrix.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CovarianceMatrixClass; +using CPP = multigroup::CovarianceMatrix; + +static const std::string CLASSNAME = "CovarianceMatrix"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto type = [](auto &obj) { return &obj.type; }; +} + +using CPPGridded2d = unknownNamespace::Gridded2d; +using CPPSandwichProduct = covariance::SandwichProduct; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCovarianceMatrix +CovarianceMatrixDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CovarianceMatrix +CovarianceMatrixDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCovarianceMatrix +CovarianceMatrixCreateConst( + const XMLName label, + const enums::Frame productFrame, + const XMLName type, +) { + ConstHandle2CovarianceMatrix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + type + ); + return handle; +} + +// Create, general +Handle2CovarianceMatrix +CovarianceMatrixCreate( + const XMLName label, + const enums::Frame productFrame, + const XMLName type, +) { + ConstHandle2CovarianceMatrix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + type + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CovarianceMatrixAssign(ConstHandle2CovarianceMatrix This, ConstHandle2ConstCovarianceMatrix from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CovarianceMatrixDelete(ConstHandle2ConstCovarianceMatrix This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CovarianceMatrixRead(ConstHandle2CovarianceMatrix This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CovarianceMatrixWrite(ConstHandle2ConstCovarianceMatrix This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CovarianceMatrixPrint(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CovarianceMatrixPrintXML(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CovarianceMatrixPrintJSON(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceMatrixLabelHas(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CovarianceMatrixLabelGet(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CovarianceMatrixLabelSet(ConstHandle2CovarianceMatrix This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceMatrixProductFrameHas(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +enums::Frame +CovarianceMatrixProductFrameGet(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +CovarianceMatrixProductFrameSet(ConstHandle2CovarianceMatrix This, const enums::Frame productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceMatrixTypeHas(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TypeHas", This, extract::type); +} + +// Get +// Returns by value +XMLName +CovarianceMatrixTypeGet(ConstHandle2ConstCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TypeGet", This, extract::type); +} + +// Set +void +CovarianceMatrixTypeSet(ConstHandle2CovarianceMatrix This, const XMLName type) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TypeSet", This, extract::type, type); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h new file mode 100644 index 000000000..3eaff05f7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h @@ -0,0 +1,197 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CovarianceMatrix is the basic handle type in this file. Example: +// // Create a default CovarianceMatrix object: +// CovarianceMatrix handle = CovarianceMatrixDefault(); +// Functions involving CovarianceMatrix are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCEMATRIX +#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCEMATRIX + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Gridded2d.h" +#include "v2.0/covariance/SandwichProduct.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CovarianceMatrixClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CovarianceMatrix +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CovarianceMatrixClass *CovarianceMatrix; + +// --- Const-aware handles. +typedef const struct CovarianceMatrixClass *const ConstHandle2ConstCovarianceMatrix; +typedef struct CovarianceMatrixClass *const ConstHandle2CovarianceMatrix; +typedef const struct CovarianceMatrixClass * Handle2ConstCovarianceMatrix; +typedef struct CovarianceMatrixClass * Handle2CovarianceMatrix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCovarianceMatrix +CovarianceMatrixDefaultConst(); + +// +++ Create, default +extern_c Handle2CovarianceMatrix +CovarianceMatrixDefault(); + +// --- Create, general, const +extern_c Handle2ConstCovarianceMatrix +CovarianceMatrixCreateConst( + const XMLName label, + const enums::Frame productFrame, + const XMLName type, +); + +// +++ Create, general +extern_c Handle2CovarianceMatrix +CovarianceMatrixCreate( + const XMLName label, + const enums::Frame productFrame, + const XMLName type, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CovarianceMatrixAssign(ConstHandle2CovarianceMatrix This, ConstHandle2ConstCovarianceMatrix from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CovarianceMatrixDelete(ConstHandle2ConstCovarianceMatrix This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CovarianceMatrixRead(ConstHandle2CovarianceMatrix This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CovarianceMatrixWrite(ConstHandle2ConstCovarianceMatrix This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CovarianceMatrixPrint(ConstHandle2ConstCovarianceMatrix This); + +// +++ Print to standard output, as XML +extern_c int +CovarianceMatrixPrintXML(ConstHandle2ConstCovarianceMatrix This); + +// +++ Print to standard output, as JSON +extern_c int +CovarianceMatrixPrintJSON(ConstHandle2ConstCovarianceMatrix This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceMatrixLabelHas(ConstHandle2ConstCovarianceMatrix This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceMatrixLabelGet(ConstHandle2ConstCovarianceMatrix This); + +// +++ Set +extern_c void +CovarianceMatrixLabelSet(ConstHandle2CovarianceMatrix This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceMatrixProductFrameHas(ConstHandle2ConstCovarianceMatrix This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +CovarianceMatrixProductFrameGet(ConstHandle2ConstCovarianceMatrix This); + +// +++ Set +extern_c void +CovarianceMatrixProductFrameSet(ConstHandle2CovarianceMatrix This, const enums::Frame productFrame); + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceMatrixTypeHas(ConstHandle2ConstCovarianceMatrix This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceMatrixTypeGet(ConstHandle2ConstCovarianceMatrix This); + +// +++ Set +extern_c void +CovarianceMatrixTypeSet(ConstHandle2CovarianceMatrix This, const XMLName type); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.cpp new file mode 100644 index 000000000..2d9809b09 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.cpp @@ -0,0 +1,290 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/CovarianceSection.hpp" +#include "CovarianceSection.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CovarianceSectionClass; +using CPP = multigroup::CovarianceSection; + +static const std::string CLASSNAME = "CovarianceSection"; + +namespace extract { + static auto crossTerm = [](auto &obj) { return &obj.crossTerm; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto rowData = [](auto &obj) { return &obj.rowData; }; + static auto columnData = [](auto &obj) { return &obj.columnData; }; +} + +using CPPRowData = covariance::RowData; +using CPPColumnData = covariance::ColumnData; +using CPPCovarianceMatrix = covariance::CovarianceMatrix; +using CPPSum = covariance::Sum; +using CPPMixed = covariance::Mixed; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCovarianceSection +CovarianceSectionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CovarianceSection +CovarianceSectionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCovarianceSection +CovarianceSectionCreateConst( + const bool crossTerm, + const XMLName label, + ConstHandle2ConstRowData rowData, + ConstHandle2ConstColumnData columnData, +) { + ConstHandle2CovarianceSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + crossTerm, + label, + detail::tocpp(rowData), + detail::tocpp(columnData) + ); + return handle; +} + +// Create, general +Handle2CovarianceSection +CovarianceSectionCreate( + const bool crossTerm, + const XMLName label, + ConstHandle2ConstRowData rowData, + ConstHandle2ConstColumnData columnData, +) { + ConstHandle2CovarianceSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + crossTerm, + label, + detail::tocpp(rowData), + detail::tocpp(columnData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CovarianceSectionAssign(ConstHandle2CovarianceSection This, ConstHandle2ConstCovarianceSection from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CovarianceSectionDelete(ConstHandle2ConstCovarianceSection This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CovarianceSectionRead(ConstHandle2CovarianceSection This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CovarianceSectionWrite(ConstHandle2ConstCovarianceSection This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CovarianceSectionPrint(ConstHandle2ConstCovarianceSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CovarianceSectionPrintXML(ConstHandle2ConstCovarianceSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CovarianceSectionPrintJSON(ConstHandle2ConstCovarianceSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: crossTerm +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSectionCrossTermHas(ConstHandle2ConstCovarianceSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossTermHas", This, extract::crossTerm); +} + +// Get +// Returns by value +bool +CovarianceSectionCrossTermGet(ConstHandle2ConstCovarianceSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossTermGet", This, extract::crossTerm); +} + +// Set +void +CovarianceSectionCrossTermSet(ConstHandle2CovarianceSection This, const bool crossTerm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossTermSet", This, extract::crossTerm, crossTerm); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSectionLabelHas(ConstHandle2ConstCovarianceSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CovarianceSectionLabelGet(ConstHandle2ConstCovarianceSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CovarianceSectionLabelSet(ConstHandle2CovarianceSection This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: rowData +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSectionRowDataHas(ConstHandle2ConstCovarianceSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RowDataHas", This, extract::rowData); +} + +// Get, const +Handle2ConstRowData +CovarianceSectionRowDataGetConst(ConstHandle2ConstCovarianceSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowDataGetConst", This, extract::rowData); +} + +// Get, non-const +Handle2RowData +CovarianceSectionRowDataGet(ConstHandle2CovarianceSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowDataGet", This, extract::rowData); +} + +// Set +void +CovarianceSectionRowDataSet(ConstHandle2CovarianceSection This, ConstHandle2ConstRowData rowData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RowDataSet", This, extract::rowData, rowData); +} + + +// ----------------------------------------------------------------------------- +// Child: columnData +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSectionColumnDataHas(ConstHandle2ConstCovarianceSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ColumnDataHas", This, extract::columnData); +} + +// Get, const +Handle2ConstColumnData +CovarianceSectionColumnDataGetConst(ConstHandle2ConstCovarianceSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnDataGetConst", This, extract::columnData); +} + +// Get, non-const +Handle2ColumnData +CovarianceSectionColumnDataGet(ConstHandle2CovarianceSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnDataGet", This, extract::columnData); +} + +// Set +void +CovarianceSectionColumnDataSet(ConstHandle2CovarianceSection This, ConstHandle2ConstColumnData columnData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ColumnDataSet", This, extract::columnData, columnData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.h new file mode 100644 index 000000000..cea317e8d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.h @@ -0,0 +1,226 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CovarianceSection is the basic handle type in this file. Example: +// // Create a default CovarianceSection object: +// CovarianceSection handle = CovarianceSectionDefault(); +// Functions involving CovarianceSection are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESECTION +#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESECTION + +#include "GNDStk.h" +#include "v2.0/covariance/RowData.h" +#include "v2.0/covariance/ColumnData.h" +#include "v2.0/covariance/CovarianceMatrix.h" +#include "v2.0/covariance/Sum.h" +#include "v2.0/covariance/Mixed.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CovarianceSectionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CovarianceSection +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CovarianceSectionClass *CovarianceSection; + +// --- Const-aware handles. +typedef const struct CovarianceSectionClass *const ConstHandle2ConstCovarianceSection; +typedef struct CovarianceSectionClass *const ConstHandle2CovarianceSection; +typedef const struct CovarianceSectionClass * Handle2ConstCovarianceSection; +typedef struct CovarianceSectionClass * Handle2CovarianceSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCovarianceSection +CovarianceSectionDefaultConst(); + +// +++ Create, default +extern_c Handle2CovarianceSection +CovarianceSectionDefault(); + +// --- Create, general, const +extern_c Handle2ConstCovarianceSection +CovarianceSectionCreateConst( + const bool crossTerm, + const XMLName label, + ConstHandle2ConstRowData rowData, + ConstHandle2ConstColumnData columnData, +); + +// +++ Create, general +extern_c Handle2CovarianceSection +CovarianceSectionCreate( + const bool crossTerm, + const XMLName label, + ConstHandle2ConstRowData rowData, + ConstHandle2ConstColumnData columnData, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CovarianceSectionAssign(ConstHandle2CovarianceSection This, ConstHandle2ConstCovarianceSection from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CovarianceSectionDelete(ConstHandle2ConstCovarianceSection This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CovarianceSectionRead(ConstHandle2CovarianceSection This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CovarianceSectionWrite(ConstHandle2ConstCovarianceSection This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CovarianceSectionPrint(ConstHandle2ConstCovarianceSection This); + +// +++ Print to standard output, as XML +extern_c int +CovarianceSectionPrintXML(ConstHandle2ConstCovarianceSection This); + +// +++ Print to standard output, as JSON +extern_c int +CovarianceSectionPrintJSON(ConstHandle2ConstCovarianceSection This); + + +// ----------------------------------------------------------------------------- +// Metadatum: crossTerm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSectionCrossTermHas(ConstHandle2ConstCovarianceSection This); + +// +++ Get +// +++ Returns by value +extern_c bool +CovarianceSectionCrossTermGet(ConstHandle2ConstCovarianceSection This); + +// +++ Set +extern_c void +CovarianceSectionCrossTermSet(ConstHandle2CovarianceSection This, const bool crossTerm); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSectionLabelHas(ConstHandle2ConstCovarianceSection This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceSectionLabelGet(ConstHandle2ConstCovarianceSection This); + +// +++ Set +extern_c void +CovarianceSectionLabelSet(ConstHandle2CovarianceSection This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: rowData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSectionRowDataHas(ConstHandle2ConstCovarianceSection This); + +// --- Get, const +extern_c Handle2ConstRowData +CovarianceSectionRowDataGetConst(ConstHandle2ConstCovarianceSection This); + +// +++ Get, non-const +extern_c Handle2RowData +CovarianceSectionRowDataGet(ConstHandle2CovarianceSection This); + +// +++ Set +extern_c void +CovarianceSectionRowDataSet(ConstHandle2CovarianceSection This, ConstHandle2ConstRowData rowData); + + +// ----------------------------------------------------------------------------- +// Child: columnData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSectionColumnDataHas(ConstHandle2ConstCovarianceSection This); + +// --- Get, const +extern_c Handle2ConstColumnData +CovarianceSectionColumnDataGetConst(ConstHandle2ConstCovarianceSection This); + +// +++ Get, non-const +extern_c Handle2ColumnData +CovarianceSectionColumnDataGet(ConstHandle2CovarianceSection This); + +// +++ Set +extern_c void +CovarianceSectionColumnDataSet(ConstHandle2CovarianceSection This, ConstHandle2ConstColumnData columnData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.cpp new file mode 100644 index 000000000..0c77b1d2e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/CovarianceSections.hpp" +#include "CovarianceSections.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CovarianceSectionsClass; +using CPP = multigroup::CovarianceSections; + +static const std::string CLASSNAME = "CovarianceSections"; + +namespace extract { + static auto covarianceSection = [](auto &obj) { return &obj.covarianceSection; }; +} + +using CPPCovarianceSection = covariance::CovarianceSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCovarianceSections +CovarianceSectionsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CovarianceSections +CovarianceSectionsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCovarianceSections +CovarianceSectionsCreateConst( + ConstHandle2CovarianceSection *const covarianceSection, const size_t covarianceSectionSize +) { + ConstHandle2CovarianceSections handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t CovarianceSectionN = 0; CovarianceSectionN < covarianceSectionSize; ++CovarianceSectionN) + CovarianceSectionsCovarianceSectionAdd(handle, covarianceSection[CovarianceSectionN]); + return handle; +} + +// Create, general +Handle2CovarianceSections +CovarianceSectionsCreate( + ConstHandle2CovarianceSection *const covarianceSection, const size_t covarianceSectionSize +) { + ConstHandle2CovarianceSections handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t CovarianceSectionN = 0; CovarianceSectionN < covarianceSectionSize; ++CovarianceSectionN) + CovarianceSectionsCovarianceSectionAdd(handle, covarianceSection[CovarianceSectionN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CovarianceSectionsAssign(ConstHandle2CovarianceSections This, ConstHandle2ConstCovarianceSections from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CovarianceSectionsDelete(ConstHandle2ConstCovarianceSections This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CovarianceSectionsRead(ConstHandle2CovarianceSections This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CovarianceSectionsWrite(ConstHandle2ConstCovarianceSections This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CovarianceSectionsPrint(ConstHandle2ConstCovarianceSections This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CovarianceSectionsPrintXML(ConstHandle2ConstCovarianceSections This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CovarianceSectionsPrintJSON(ConstHandle2ConstCovarianceSections This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: covarianceSection +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSectionsCovarianceSectionHas(ConstHandle2ConstCovarianceSections This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CovarianceSectionHas", This, extract::covarianceSection); +} + +// Clear +void +CovarianceSectionsCovarianceSectionClear(ConstHandle2CovarianceSections This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"CovarianceSectionClear", This, extract::covarianceSection); +} + +// Size +size_t +CovarianceSectionsCovarianceSectionSize(ConstHandle2ConstCovarianceSections This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"CovarianceSectionSize", This, extract::covarianceSection); +} + +// Add +void +CovarianceSectionsCovarianceSectionAdd(ConstHandle2CovarianceSections This, ConstHandle2ConstCovarianceSection covarianceSection) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"CovarianceSectionAdd", This, extract::covarianceSection, covarianceSection); +} + +// Get, by index \in [0,size), const +Handle2ConstCovarianceSection +CovarianceSectionsCovarianceSectionGetConst(ConstHandle2ConstCovarianceSections This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CovarianceSectionGetConst", This, extract::covarianceSection, index_); +} + +// Get, by index \in [0,size), non-const +Handle2CovarianceSection +CovarianceSectionsCovarianceSectionGet(ConstHandle2CovarianceSections This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CovarianceSectionGet", This, extract::covarianceSection, index_); +} + +// Set, by index \in [0,size) +void +CovarianceSectionsCovarianceSectionSet( + ConstHandle2CovarianceSections This, + const size_t index_, + ConstHandle2ConstCovarianceSection covarianceSection +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"CovarianceSectionSet", This, extract::covarianceSection, index_, covarianceSection); +} + +// Has, by crossTerm +int +CovarianceSectionsCovarianceSectionHasByCrossTerm( + ConstHandle2ConstCovarianceSections This, + const bool crossTerm +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSectionHasByCrossTerm", + This, extract::covarianceSection, meta::crossTerm, crossTerm); +} + +// Get, by crossTerm, const +Handle2ConstCovarianceSection +CovarianceSectionsCovarianceSectionGetByCrossTermConst( + ConstHandle2ConstCovarianceSections This, + const bool crossTerm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSectionGetByCrossTermConst", + This, extract::covarianceSection, meta::crossTerm, crossTerm); +} + +// Get, by crossTerm, non-const +Handle2CovarianceSection +CovarianceSectionsCovarianceSectionGetByCrossTerm( + ConstHandle2CovarianceSections This, + const bool crossTerm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSectionGetByCrossTerm", + This, extract::covarianceSection, meta::crossTerm, crossTerm); +} + +// Set, by crossTerm +void +CovarianceSectionsCovarianceSectionSetByCrossTerm( + ConstHandle2CovarianceSections This, + const bool crossTerm, + ConstHandle2ConstCovarianceSection covarianceSection +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSectionSetByCrossTerm", + This, extract::covarianceSection, meta::crossTerm, crossTerm, covarianceSection); +} + +// Has, by label +int +CovarianceSectionsCovarianceSectionHasByLabel( + ConstHandle2ConstCovarianceSections This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSectionHasByLabel", + This, extract::covarianceSection, meta::label, label); +} + +// Get, by label, const +Handle2ConstCovarianceSection +CovarianceSectionsCovarianceSectionGetByLabelConst( + ConstHandle2ConstCovarianceSections This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSectionGetByLabelConst", + This, extract::covarianceSection, meta::label, label); +} + +// Get, by label, non-const +Handle2CovarianceSection +CovarianceSectionsCovarianceSectionGetByLabel( + ConstHandle2CovarianceSections This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSectionGetByLabel", + This, extract::covarianceSection, meta::label, label); +} + +// Set, by label +void +CovarianceSectionsCovarianceSectionSetByLabel( + ConstHandle2CovarianceSections This, + const XMLName label, + ConstHandle2ConstCovarianceSection covarianceSection +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSectionSetByLabel", + This, extract::covarianceSection, meta::label, label, covarianceSection); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.h new file mode 100644 index 000000000..842501795 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CovarianceSections is the basic handle type in this file. Example: +// // Create a default CovarianceSections object: +// CovarianceSections handle = CovarianceSectionsDefault(); +// Functions involving CovarianceSections are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESECTIONS +#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESECTIONS + +#include "GNDStk.h" +#include "v2.0/covariance/CovarianceSection.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CovarianceSectionsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CovarianceSections +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CovarianceSectionsClass *CovarianceSections; + +// --- Const-aware handles. +typedef const struct CovarianceSectionsClass *const ConstHandle2ConstCovarianceSections; +typedef struct CovarianceSectionsClass *const ConstHandle2CovarianceSections; +typedef const struct CovarianceSectionsClass * Handle2ConstCovarianceSections; +typedef struct CovarianceSectionsClass * Handle2CovarianceSections; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCovarianceSections +CovarianceSectionsDefaultConst(); + +// +++ Create, default +extern_c Handle2CovarianceSections +CovarianceSectionsDefault(); + +// --- Create, general, const +extern_c Handle2ConstCovarianceSections +CovarianceSectionsCreateConst( + ConstHandle2CovarianceSection *const covarianceSection, const size_t covarianceSectionSize +); + +// +++ Create, general +extern_c Handle2CovarianceSections +CovarianceSectionsCreate( + ConstHandle2CovarianceSection *const covarianceSection, const size_t covarianceSectionSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CovarianceSectionsAssign(ConstHandle2CovarianceSections This, ConstHandle2ConstCovarianceSections from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CovarianceSectionsDelete(ConstHandle2ConstCovarianceSections This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CovarianceSectionsRead(ConstHandle2CovarianceSections This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CovarianceSectionsWrite(ConstHandle2ConstCovarianceSections This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CovarianceSectionsPrint(ConstHandle2ConstCovarianceSections This); + +// +++ Print to standard output, as XML +extern_c int +CovarianceSectionsPrintXML(ConstHandle2ConstCovarianceSections This); + +// +++ Print to standard output, as JSON +extern_c int +CovarianceSectionsPrintJSON(ConstHandle2ConstCovarianceSections This); + + +// ----------------------------------------------------------------------------- +// Child: covarianceSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSectionsCovarianceSectionHas(ConstHandle2ConstCovarianceSections This); + +// +++ Clear +extern_c void +CovarianceSectionsCovarianceSectionClear(ConstHandle2CovarianceSections This); + +// +++ Size +extern_c size_t +CovarianceSectionsCovarianceSectionSize(ConstHandle2ConstCovarianceSections This); + +// +++ Add +extern_c void +CovarianceSectionsCovarianceSectionAdd(ConstHandle2CovarianceSections This, ConstHandle2ConstCovarianceSection covarianceSection); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstCovarianceSection +CovarianceSectionsCovarianceSectionGetConst(ConstHandle2ConstCovarianceSections This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2CovarianceSection +CovarianceSectionsCovarianceSectionGet(ConstHandle2CovarianceSections This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +CovarianceSectionsCovarianceSectionSet( + ConstHandle2CovarianceSections This, + const size_t index_, + ConstHandle2ConstCovarianceSection covarianceSection +); + +// +++ Has, by crossTerm +extern_c int +CovarianceSectionsCovarianceSectionHasByCrossTerm( + ConstHandle2ConstCovarianceSections This, + const bool crossTerm +); + +// --- Get, by crossTerm, const +extern_c Handle2ConstCovarianceSection +CovarianceSectionsCovarianceSectionGetByCrossTermConst( + ConstHandle2ConstCovarianceSections This, + const bool crossTerm +); + +// +++ Get, by crossTerm, non-const +extern_c Handle2CovarianceSection +CovarianceSectionsCovarianceSectionGetByCrossTerm( + ConstHandle2CovarianceSections This, + const bool crossTerm +); + +// +++ Set, by crossTerm +extern_c void +CovarianceSectionsCovarianceSectionSetByCrossTerm( + ConstHandle2CovarianceSections This, + const bool crossTerm, + ConstHandle2ConstCovarianceSection covarianceSection +); + +// +++ Has, by label +extern_c int +CovarianceSectionsCovarianceSectionHasByLabel( + ConstHandle2ConstCovarianceSections This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstCovarianceSection +CovarianceSectionsCovarianceSectionGetByLabelConst( + ConstHandle2ConstCovarianceSections This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2CovarianceSection +CovarianceSectionsCovarianceSectionGetByLabel( + ConstHandle2CovarianceSections This, + const XMLName label +); + +// +++ Set, by label +extern_c void +CovarianceSectionsCovarianceSectionSetByLabel( + ConstHandle2CovarianceSections This, + const XMLName label, + ConstHandle2ConstCovarianceSection covarianceSection +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.cpp new file mode 100644 index 000000000..eb49d2e09 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.cpp @@ -0,0 +1,478 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/CovarianceSuite.hpp" +#include "CovarianceSuite.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CovarianceSuiteClass; +using CPP = multigroup::CovarianceSuite; + +static const std::string CLASSNAME = "CovarianceSuite"; + +namespace extract { + static auto evaluation = [](auto &obj) { return &obj.evaluation; }; + static auto projectile = [](auto &obj) { return &obj.projectile; }; + static auto target = [](auto &obj) { return &obj.target; }; + static auto interaction = [](auto &obj) { return &obj.interaction; }; + static auto version = [](auto &obj) { return &obj.version; }; + static auto externalFiles = [](auto &obj) { return &obj.externalFiles; }; + static auto styles = [](auto &obj) { return &obj.styles; }; + static auto covarianceSections = [](auto &obj) { return &obj.covarianceSections; }; + static auto parameterCovariances = [](auto &obj) { return &obj.parameterCovariances; }; +} + +using CPPExternalFiles = common::ExternalFiles; +using CPPStyles = styles::Styles; +using CPPCovarianceSections = covariance::CovarianceSections; +using CPPParameterCovariances = covariance::ParameterCovariances; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCovarianceSuite +CovarianceSuiteDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CovarianceSuite +CovarianceSuiteDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCovarianceSuite +CovarianceSuiteCreateConst( + const XMLName evaluation, + const XMLName projectile, + const XMLName target, + const enums::Interaction interaction, + const Float64 version, + ConstHandle2ConstExternalFiles externalFiles, + ConstHandle2ConstStyles styles, + ConstHandle2ConstCovarianceSections covarianceSections, + ConstHandle2ConstParameterCovariances parameterCovariances +) { + ConstHandle2CovarianceSuite handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + evaluation, + projectile, + target, + interaction, + version, + detail::tocpp(externalFiles), + detail::tocpp(styles), + detail::tocpp(covarianceSections), + detail::tocpp(parameterCovariances) + ); + return handle; +} + +// Create, general +Handle2CovarianceSuite +CovarianceSuiteCreate( + const XMLName evaluation, + const XMLName projectile, + const XMLName target, + const enums::Interaction interaction, + const Float64 version, + ConstHandle2ConstExternalFiles externalFiles, + ConstHandle2ConstStyles styles, + ConstHandle2ConstCovarianceSections covarianceSections, + ConstHandle2ConstParameterCovariances parameterCovariances +) { + ConstHandle2CovarianceSuite handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + evaluation, + projectile, + target, + interaction, + version, + detail::tocpp(externalFiles), + detail::tocpp(styles), + detail::tocpp(covarianceSections), + detail::tocpp(parameterCovariances) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CovarianceSuiteAssign(ConstHandle2CovarianceSuite This, ConstHandle2ConstCovarianceSuite from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CovarianceSuiteDelete(ConstHandle2ConstCovarianceSuite This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CovarianceSuiteRead(ConstHandle2CovarianceSuite This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CovarianceSuiteWrite(ConstHandle2ConstCovarianceSuite This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CovarianceSuitePrint(ConstHandle2ConstCovarianceSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CovarianceSuitePrintXML(ConstHandle2ConstCovarianceSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CovarianceSuitePrintJSON(ConstHandle2ConstCovarianceSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteEvaluationHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaluationHas", This, extract::evaluation); +} + +// Get +// Returns by value +XMLName +CovarianceSuiteEvaluationGet(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaluationGet", This, extract::evaluation); +} + +// Set +void +CovarianceSuiteEvaluationSet(ConstHandle2CovarianceSuite This, const XMLName evaluation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EvaluationSet", This, extract::evaluation, evaluation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteProjectileHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileHas", This, extract::projectile); +} + +// Get +// Returns by value +XMLName +CovarianceSuiteProjectileGet(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileGet", This, extract::projectile); +} + +// Set +void +CovarianceSuiteProjectileSet(ConstHandle2CovarianceSuite This, const XMLName projectile) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProjectileSet", This, extract::projectile, projectile); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteTargetHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TargetHas", This, extract::target); +} + +// Get +// Returns by value +XMLName +CovarianceSuiteTargetGet(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TargetGet", This, extract::target); +} + +// Set +void +CovarianceSuiteTargetSet(ConstHandle2CovarianceSuite This, const XMLName target) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TargetSet", This, extract::target, target); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteInteractionHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InteractionHas", This, extract::interaction); +} + +// Get +// Returns by value +enums::Interaction +CovarianceSuiteInteractionGet(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InteractionGet", This, extract::interaction); +} + +// Set +void +CovarianceSuiteInteractionSet(ConstHandle2CovarianceSuite This, const enums::Interaction interaction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InteractionSet", This, extract::interaction, interaction); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteVersionHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"VersionHas", This, extract::version); +} + +// Get +// Returns by value +Float64 +CovarianceSuiteVersionGet(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"VersionGet", This, extract::version); +} + +// Set +void +CovarianceSuiteVersionSet(ConstHandle2CovarianceSuite This, const Float64 version) +{ + detail::setField + (CLASSNAME, CLASSNAME+"VersionSet", This, extract::version, version); +} + + +// ----------------------------------------------------------------------------- +// Child: externalFiles +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteExternalFilesHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ExternalFilesHas", This, extract::externalFiles); +} + +// Get, const +Handle2ConstExternalFiles +CovarianceSuiteExternalFilesGetConst(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExternalFilesGetConst", This, extract::externalFiles); +} + +// Get, non-const +Handle2ExternalFiles +CovarianceSuiteExternalFilesGet(ConstHandle2CovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExternalFilesGet", This, extract::externalFiles); +} + +// Set +void +CovarianceSuiteExternalFilesSet(ConstHandle2CovarianceSuite This, ConstHandle2ConstExternalFiles externalFiles) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ExternalFilesSet", This, extract::externalFiles, externalFiles); +} + + +// ----------------------------------------------------------------------------- +// Child: styles +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteStylesHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StylesHas", This, extract::styles); +} + +// Get, const +Handle2ConstStyles +CovarianceSuiteStylesGetConst(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StylesGetConst", This, extract::styles); +} + +// Get, non-const +Handle2Styles +CovarianceSuiteStylesGet(ConstHandle2CovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StylesGet", This, extract::styles); +} + +// Set +void +CovarianceSuiteStylesSet(ConstHandle2CovarianceSuite This, ConstHandle2ConstStyles styles) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StylesSet", This, extract::styles, styles); +} + + +// ----------------------------------------------------------------------------- +// Child: covarianceSections +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteCovarianceSectionsHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CovarianceSectionsHas", This, extract::covarianceSections); +} + +// Get, const +Handle2ConstCovarianceSections +CovarianceSuiteCovarianceSectionsGetConst(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceSectionsGetConst", This, extract::covarianceSections); +} + +// Get, non-const +Handle2CovarianceSections +CovarianceSuiteCovarianceSectionsGet(ConstHandle2CovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceSectionsGet", This, extract::covarianceSections); +} + +// Set +void +CovarianceSuiteCovarianceSectionsSet(ConstHandle2CovarianceSuite This, ConstHandle2ConstCovarianceSections covarianceSections) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CovarianceSectionsSet", This, extract::covarianceSections, covarianceSections); +} + + +// ----------------------------------------------------------------------------- +// Child: parameterCovariances +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceSuiteParameterCovariancesHas(ConstHandle2ConstCovarianceSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParameterCovariancesHas", This, extract::parameterCovariances); +} + +// Get, const +Handle2ConstParameterCovariances +CovarianceSuiteParameterCovariancesGetConst(ConstHandle2ConstCovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParameterCovariancesGetConst", This, extract::parameterCovariances); +} + +// Get, non-const +Handle2ParameterCovariances +CovarianceSuiteParameterCovariancesGet(ConstHandle2CovarianceSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParameterCovariancesGet", This, extract::parameterCovariances); +} + +// Set +void +CovarianceSuiteParameterCovariancesSet(ConstHandle2CovarianceSuite This, ConstHandle2ConstParameterCovariances parameterCovariances) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ParameterCovariancesSet", This, extract::parameterCovariances, parameterCovariances); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.h new file mode 100644 index 000000000..be075da15 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.h @@ -0,0 +1,331 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CovarianceSuite is the basic handle type in this file. Example: +// // Create a default CovarianceSuite object: +// CovarianceSuite handle = CovarianceSuiteDefault(); +// Functions involving CovarianceSuite are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESUITE +#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESUITE + +#include "GNDStk.h" +#include "v2.0/common/ExternalFiles.h" +#include "v2.0/styles/Styles.h" +#include "v2.0/covariance/CovarianceSections.h" +#include "v2.0/covariance/ParameterCovariances.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CovarianceSuiteClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CovarianceSuite +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CovarianceSuiteClass *CovarianceSuite; + +// --- Const-aware handles. +typedef const struct CovarianceSuiteClass *const ConstHandle2ConstCovarianceSuite; +typedef struct CovarianceSuiteClass *const ConstHandle2CovarianceSuite; +typedef const struct CovarianceSuiteClass * Handle2ConstCovarianceSuite; +typedef struct CovarianceSuiteClass * Handle2CovarianceSuite; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCovarianceSuite +CovarianceSuiteDefaultConst(); + +// +++ Create, default +extern_c Handle2CovarianceSuite +CovarianceSuiteDefault(); + +// --- Create, general, const +extern_c Handle2ConstCovarianceSuite +CovarianceSuiteCreateConst( + const XMLName evaluation, + const XMLName projectile, + const XMLName target, + const enums::Interaction interaction, + const Float64 version, + ConstHandle2ConstExternalFiles externalFiles, + ConstHandle2ConstStyles styles, + ConstHandle2ConstCovarianceSections covarianceSections, + ConstHandle2ConstParameterCovariances parameterCovariances +); + +// +++ Create, general +extern_c Handle2CovarianceSuite +CovarianceSuiteCreate( + const XMLName evaluation, + const XMLName projectile, + const XMLName target, + const enums::Interaction interaction, + const Float64 version, + ConstHandle2ConstExternalFiles externalFiles, + ConstHandle2ConstStyles styles, + ConstHandle2ConstCovarianceSections covarianceSections, + ConstHandle2ConstParameterCovariances parameterCovariances +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CovarianceSuiteAssign(ConstHandle2CovarianceSuite This, ConstHandle2ConstCovarianceSuite from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CovarianceSuiteDelete(ConstHandle2ConstCovarianceSuite This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CovarianceSuiteRead(ConstHandle2CovarianceSuite This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CovarianceSuiteWrite(ConstHandle2ConstCovarianceSuite This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CovarianceSuitePrint(ConstHandle2ConstCovarianceSuite This); + +// +++ Print to standard output, as XML +extern_c int +CovarianceSuitePrintXML(ConstHandle2ConstCovarianceSuite This); + +// +++ Print to standard output, as JSON +extern_c int +CovarianceSuitePrintJSON(ConstHandle2ConstCovarianceSuite This); + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteEvaluationHas(ConstHandle2ConstCovarianceSuite This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceSuiteEvaluationGet(ConstHandle2ConstCovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteEvaluationSet(ConstHandle2CovarianceSuite This, const XMLName evaluation); + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteProjectileHas(ConstHandle2ConstCovarianceSuite This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceSuiteProjectileGet(ConstHandle2ConstCovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteProjectileSet(ConstHandle2CovarianceSuite This, const XMLName projectile); + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteTargetHas(ConstHandle2ConstCovarianceSuite This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceSuiteTargetGet(ConstHandle2ConstCovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteTargetSet(ConstHandle2CovarianceSuite This, const XMLName target); + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteInteractionHas(ConstHandle2ConstCovarianceSuite This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interaction +CovarianceSuiteInteractionGet(ConstHandle2ConstCovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteInteractionSet(ConstHandle2CovarianceSuite This, const enums::Interaction interaction); + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteVersionHas(ConstHandle2ConstCovarianceSuite This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +CovarianceSuiteVersionGet(ConstHandle2ConstCovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteVersionSet(ConstHandle2CovarianceSuite This, const Float64 version); + + +// ----------------------------------------------------------------------------- +// Child: externalFiles +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteExternalFilesHas(ConstHandle2ConstCovarianceSuite This); + +// --- Get, const +extern_c Handle2ConstExternalFiles +CovarianceSuiteExternalFilesGetConst(ConstHandle2ConstCovarianceSuite This); + +// +++ Get, non-const +extern_c Handle2ExternalFiles +CovarianceSuiteExternalFilesGet(ConstHandle2CovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteExternalFilesSet(ConstHandle2CovarianceSuite This, ConstHandle2ConstExternalFiles externalFiles); + + +// ----------------------------------------------------------------------------- +// Child: styles +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteStylesHas(ConstHandle2ConstCovarianceSuite This); + +// --- Get, const +extern_c Handle2ConstStyles +CovarianceSuiteStylesGetConst(ConstHandle2ConstCovarianceSuite This); + +// +++ Get, non-const +extern_c Handle2Styles +CovarianceSuiteStylesGet(ConstHandle2CovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteStylesSet(ConstHandle2CovarianceSuite This, ConstHandle2ConstStyles styles); + + +// ----------------------------------------------------------------------------- +// Child: covarianceSections +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteCovarianceSectionsHas(ConstHandle2ConstCovarianceSuite This); + +// --- Get, const +extern_c Handle2ConstCovarianceSections +CovarianceSuiteCovarianceSectionsGetConst(ConstHandle2ConstCovarianceSuite This); + +// +++ Get, non-const +extern_c Handle2CovarianceSections +CovarianceSuiteCovarianceSectionsGet(ConstHandle2CovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteCovarianceSectionsSet(ConstHandle2CovarianceSuite This, ConstHandle2ConstCovarianceSections covarianceSections); + + +// ----------------------------------------------------------------------------- +// Child: parameterCovariances +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceSuiteParameterCovariancesHas(ConstHandle2ConstCovarianceSuite This); + +// --- Get, const +extern_c Handle2ConstParameterCovariances +CovarianceSuiteParameterCovariancesGetConst(ConstHandle2ConstCovarianceSuite This); + +// +++ Get, non-const +extern_c Handle2ParameterCovariances +CovarianceSuiteParameterCovariancesGet(ConstHandle2CovarianceSuite This); + +// +++ Set +extern_c void +CovarianceSuiteParameterCovariancesSet(ConstHandle2CovarianceSuite This, ConstHandle2ConstParameterCovariances parameterCovariances); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.cpp new file mode 100644 index 000000000..85cc8dfbc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.cpp @@ -0,0 +1,838 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/Mixed.hpp" +#include "Mixed.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MixedClass; +using CPP = multigroup::Mixed; + +static const std::string CLASSNAME = "Mixed"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto covarianceMatrix = [](auto &obj) { return &obj.covarianceMatrix; }; + static auto shortRangeSelfScalingVariance = [](auto &obj) { return &obj.shortRangeSelfScalingVariance; }; + static auto sum = [](auto &obj) { return &obj.sum; }; +} + +using CPPCovarianceMatrix = covariance::CovarianceMatrix; +using CPPShortRangeSelfScalingVariance = covariance::ShortRangeSelfScalingVariance; +using CPPSum = covariance::Sum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMixed +MixedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Mixed +MixedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMixed +MixedCreateConst( + const XMLName label, + ConstHandle2CovarianceMatrix *const covarianceMatrix, const size_t covarianceMatrixSize, + ConstHandle2ShortRangeSelfScalingVariance *const shortRangeSelfScalingVariance, const size_t shortRangeSelfScalingVarianceSize, + ConstHandle2Sum *const sum, const size_t sumSize +) { + ConstHandle2Mixed handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + std::vector{}, + std::vector{}, + std::vector{} + ); + for (size_t CovarianceMatrixN = 0; CovarianceMatrixN < covarianceMatrixSize; ++CovarianceMatrixN) + MixedCovarianceMatrixAdd(handle, covarianceMatrix[CovarianceMatrixN]); + for (size_t ShortRangeSelfScalingVarianceN = 0; ShortRangeSelfScalingVarianceN < shortRangeSelfScalingVarianceSize; ++ShortRangeSelfScalingVarianceN) + MixedShortRangeSelfScalingVarianceAdd(handle, shortRangeSelfScalingVariance[ShortRangeSelfScalingVarianceN]); + for (size_t SumN = 0; SumN < sumSize; ++SumN) + MixedSumAdd(handle, sum[SumN]); + return handle; +} + +// Create, general +Handle2Mixed +MixedCreate( + const XMLName label, + ConstHandle2CovarianceMatrix *const covarianceMatrix, const size_t covarianceMatrixSize, + ConstHandle2ShortRangeSelfScalingVariance *const shortRangeSelfScalingVariance, const size_t shortRangeSelfScalingVarianceSize, + ConstHandle2Sum *const sum, const size_t sumSize +) { + ConstHandle2Mixed handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + std::vector{}, + std::vector{}, + std::vector{} + ); + for (size_t CovarianceMatrixN = 0; CovarianceMatrixN < covarianceMatrixSize; ++CovarianceMatrixN) + MixedCovarianceMatrixAdd(handle, covarianceMatrix[CovarianceMatrixN]); + for (size_t ShortRangeSelfScalingVarianceN = 0; ShortRangeSelfScalingVarianceN < shortRangeSelfScalingVarianceSize; ++ShortRangeSelfScalingVarianceN) + MixedShortRangeSelfScalingVarianceAdd(handle, shortRangeSelfScalingVariance[ShortRangeSelfScalingVarianceN]); + for (size_t SumN = 0; SumN < sumSize; ++SumN) + MixedSumAdd(handle, sum[SumN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MixedAssign(ConstHandle2Mixed This, ConstHandle2ConstMixed from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MixedDelete(ConstHandle2ConstMixed This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MixedRead(ConstHandle2Mixed This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MixedWrite(ConstHandle2ConstMixed This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MixedPrint(ConstHandle2ConstMixed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MixedPrintXML(ConstHandle2ConstMixed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MixedPrintJSON(ConstHandle2ConstMixed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MixedLabelHas(ConstHandle2ConstMixed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MixedLabelGet(ConstHandle2ConstMixed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MixedLabelSet(ConstHandle2Mixed This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: covarianceMatrix +// ----------------------------------------------------------------------------- + +// Has +int +MixedCovarianceMatrixHas(ConstHandle2ConstMixed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CovarianceMatrixHas", This, extract::covarianceMatrix); +} + +// Clear +void +MixedCovarianceMatrixClear(ConstHandle2Mixed This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"CovarianceMatrixClear", This, extract::covarianceMatrix); +} + +// Size +size_t +MixedCovarianceMatrixSize(ConstHandle2ConstMixed This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"CovarianceMatrixSize", This, extract::covarianceMatrix); +} + +// Add +void +MixedCovarianceMatrixAdd(ConstHandle2Mixed This, ConstHandle2ConstCovarianceMatrix covarianceMatrix) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"CovarianceMatrixAdd", This, extract::covarianceMatrix, covarianceMatrix); +} + +// Get, by index \in [0,size), const +Handle2ConstCovarianceMatrix +MixedCovarianceMatrixGetConst(ConstHandle2ConstMixed This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CovarianceMatrixGetConst", This, extract::covarianceMatrix, index_); +} + +// Get, by index \in [0,size), non-const +Handle2CovarianceMatrix +MixedCovarianceMatrixGet(ConstHandle2Mixed This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CovarianceMatrixGet", This, extract::covarianceMatrix, index_); +} + +// Set, by index \in [0,size) +void +MixedCovarianceMatrixSet( + ConstHandle2Mixed This, + const size_t index_, + ConstHandle2ConstCovarianceMatrix covarianceMatrix +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"CovarianceMatrixSet", This, extract::covarianceMatrix, index_, covarianceMatrix); +} + +// Has, by label +int +MixedCovarianceMatrixHasByLabel( + ConstHandle2ConstMixed This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixHasByLabel", + This, extract::covarianceMatrix, meta::label, label); +} + +// Get, by label, const +Handle2ConstCovarianceMatrix +MixedCovarianceMatrixGetByLabelConst( + ConstHandle2ConstMixed This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixGetByLabelConst", + This, extract::covarianceMatrix, meta::label, label); +} + +// Get, by label, non-const +Handle2CovarianceMatrix +MixedCovarianceMatrixGetByLabel( + ConstHandle2Mixed This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixGetByLabel", + This, extract::covarianceMatrix, meta::label, label); +} + +// Set, by label +void +MixedCovarianceMatrixSetByLabel( + ConstHandle2Mixed This, + const XMLName label, + ConstHandle2ConstCovarianceMatrix covarianceMatrix +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixSetByLabel", + This, extract::covarianceMatrix, meta::label, label, covarianceMatrix); +} + +// Has, by productFrame +int +MixedCovarianceMatrixHasByProductFrame( + ConstHandle2ConstMixed This, + const enums::Frame productFrame +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixHasByProductFrame", + This, extract::covarianceMatrix, meta::productFrame, productFrame); +} + +// Get, by productFrame, const +Handle2ConstCovarianceMatrix +MixedCovarianceMatrixGetByProductFrameConst( + ConstHandle2ConstMixed This, + const enums::Frame productFrame +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixGetByProductFrameConst", + This, extract::covarianceMatrix, meta::productFrame, productFrame); +} + +// Get, by productFrame, non-const +Handle2CovarianceMatrix +MixedCovarianceMatrixGetByProductFrame( + ConstHandle2Mixed This, + const enums::Frame productFrame +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixGetByProductFrame", + This, extract::covarianceMatrix, meta::productFrame, productFrame); +} + +// Set, by productFrame +void +MixedCovarianceMatrixSetByProductFrame( + ConstHandle2Mixed This, + const enums::Frame productFrame, + ConstHandle2ConstCovarianceMatrix covarianceMatrix +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixSetByProductFrame", + This, extract::covarianceMatrix, meta::productFrame, productFrame, covarianceMatrix); +} + +// Has, by type +int +MixedCovarianceMatrixHasByType( + ConstHandle2ConstMixed This, + const XMLName type +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixHasByType", + This, extract::covarianceMatrix, meta::type, type); +} + +// Get, by type, const +Handle2ConstCovarianceMatrix +MixedCovarianceMatrixGetByTypeConst( + ConstHandle2ConstMixed This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixGetByTypeConst", + This, extract::covarianceMatrix, meta::type, type); +} + +// Get, by type, non-const +Handle2CovarianceMatrix +MixedCovarianceMatrixGetByType( + ConstHandle2Mixed This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixGetByType", + This, extract::covarianceMatrix, meta::type, type); +} + +// Set, by type +void +MixedCovarianceMatrixSetByType( + ConstHandle2Mixed This, + const XMLName type, + ConstHandle2ConstCovarianceMatrix covarianceMatrix +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceMatrixSetByType", + This, extract::covarianceMatrix, meta::type, type, covarianceMatrix); +} + + +// ----------------------------------------------------------------------------- +// Child: shortRangeSelfScalingVariance +// ----------------------------------------------------------------------------- + +// Has +int +MixedShortRangeSelfScalingVarianceHas(ConstHandle2ConstMixed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceHas", This, extract::shortRangeSelfScalingVariance); +} + +// Clear +void +MixedShortRangeSelfScalingVarianceClear(ConstHandle2Mixed This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceClear", This, extract::shortRangeSelfScalingVariance); +} + +// Size +size_t +MixedShortRangeSelfScalingVarianceSize(ConstHandle2ConstMixed This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceSize", This, extract::shortRangeSelfScalingVariance); +} + +// Add +void +MixedShortRangeSelfScalingVarianceAdd(ConstHandle2Mixed This, ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceAdd", This, extract::shortRangeSelfScalingVariance, shortRangeSelfScalingVariance); +} + +// Get, by index \in [0,size), const +Handle2ConstShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetConst(ConstHandle2ConstMixed This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceGetConst", This, extract::shortRangeSelfScalingVariance, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGet(ConstHandle2Mixed This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceGet", This, extract::shortRangeSelfScalingVariance, index_); +} + +// Set, by index \in [0,size) +void +MixedShortRangeSelfScalingVarianceSet( + ConstHandle2Mixed This, + const size_t index_, + ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceSet", This, extract::shortRangeSelfScalingVariance, index_, shortRangeSelfScalingVariance); +} + +// Has, by dependenceOnProcessedGroupWidth +int +MixedShortRangeSelfScalingVarianceHasByDependenceOnProcessedGroupWidth( + ConstHandle2ConstMixed This, + const XMLName dependenceOnProcessedGroupWidth +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceHasByDependenceOnProcessedGroupWidth", + This, extract::shortRangeSelfScalingVariance, meta::dependenceOnProcessedGroupWidth, dependenceOnProcessedGroupWidth); +} + +// Get, by dependenceOnProcessedGroupWidth, const +Handle2ConstShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByDependenceOnProcessedGroupWidthConst( + ConstHandle2ConstMixed This, + const XMLName dependenceOnProcessedGroupWidth +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceGetByDependenceOnProcessedGroupWidthConst", + This, extract::shortRangeSelfScalingVariance, meta::dependenceOnProcessedGroupWidth, dependenceOnProcessedGroupWidth); +} + +// Get, by dependenceOnProcessedGroupWidth, non-const +Handle2ShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByDependenceOnProcessedGroupWidth( + ConstHandle2Mixed This, + const XMLName dependenceOnProcessedGroupWidth +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceGetByDependenceOnProcessedGroupWidth", + This, extract::shortRangeSelfScalingVariance, meta::dependenceOnProcessedGroupWidth, dependenceOnProcessedGroupWidth); +} + +// Set, by dependenceOnProcessedGroupWidth +void +MixedShortRangeSelfScalingVarianceSetByDependenceOnProcessedGroupWidth( + ConstHandle2Mixed This, + const XMLName dependenceOnProcessedGroupWidth, + ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceSetByDependenceOnProcessedGroupWidth", + This, extract::shortRangeSelfScalingVariance, meta::dependenceOnProcessedGroupWidth, dependenceOnProcessedGroupWidth, shortRangeSelfScalingVariance); +} + +// Has, by label +int +MixedShortRangeSelfScalingVarianceHasByLabel( + ConstHandle2ConstMixed This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceHasByLabel", + This, extract::shortRangeSelfScalingVariance, meta::label, label); +} + +// Get, by label, const +Handle2ConstShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByLabelConst( + ConstHandle2ConstMixed This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceGetByLabelConst", + This, extract::shortRangeSelfScalingVariance, meta::label, label); +} + +// Get, by label, non-const +Handle2ShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByLabel( + ConstHandle2Mixed This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceGetByLabel", + This, extract::shortRangeSelfScalingVariance, meta::label, label); +} + +// Set, by label +void +MixedShortRangeSelfScalingVarianceSetByLabel( + ConstHandle2Mixed This, + const XMLName label, + ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceSetByLabel", + This, extract::shortRangeSelfScalingVariance, meta::label, label, shortRangeSelfScalingVariance); +} + +// Has, by type +int +MixedShortRangeSelfScalingVarianceHasByType( + ConstHandle2ConstMixed This, + const XMLName type +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceHasByType", + This, extract::shortRangeSelfScalingVariance, meta::type, type); +} + +// Get, by type, const +Handle2ConstShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByTypeConst( + ConstHandle2ConstMixed This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceGetByTypeConst", + This, extract::shortRangeSelfScalingVariance, meta::type, type); +} + +// Get, by type, non-const +Handle2ShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByType( + ConstHandle2Mixed This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceGetByType", + This, extract::shortRangeSelfScalingVariance, meta::type, type); +} + +// Set, by type +void +MixedShortRangeSelfScalingVarianceSetByType( + ConstHandle2Mixed This, + const XMLName type, + ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShortRangeSelfScalingVarianceSetByType", + This, extract::shortRangeSelfScalingVariance, meta::type, type, shortRangeSelfScalingVariance); +} + + +// ----------------------------------------------------------------------------- +// Child: sum +// ----------------------------------------------------------------------------- + +// Has +int +MixedSumHas(ConstHandle2ConstMixed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SumHas", This, extract::sum); +} + +// Clear +void +MixedSumClear(ConstHandle2Mixed This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"SumClear", This, extract::sum); +} + +// Size +size_t +MixedSumSize(ConstHandle2ConstMixed This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"SumSize", This, extract::sum); +} + +// Add +void +MixedSumAdd(ConstHandle2Mixed This, ConstHandle2ConstSum sum) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"SumAdd", This, extract::sum, sum); +} + +// Get, by index \in [0,size), const +Handle2ConstSum +MixedSumGetConst(ConstHandle2ConstMixed This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SumGetConst", This, extract::sum, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Sum +MixedSumGet(ConstHandle2Mixed This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SumGet", This, extract::sum, index_); +} + +// Set, by index \in [0,size) +void +MixedSumSet( + ConstHandle2Mixed This, + const size_t index_, + ConstHandle2ConstSum sum +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"SumSet", This, extract::sum, index_, sum); +} + +// Has, by domainMin +int +MixedSumHasByDomainMin( + ConstHandle2ConstMixed This, + const Float64 domainMin +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SumHasByDomainMin", + This, extract::sum, meta::domainMin, domainMin); +} + +// Get, by domainMin, const +Handle2ConstSum +MixedSumGetByDomainMinConst( + ConstHandle2ConstMixed This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SumGetByDomainMinConst", + This, extract::sum, meta::domainMin, domainMin); +} + +// Get, by domainMin, non-const +Handle2Sum +MixedSumGetByDomainMin( + ConstHandle2Mixed This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SumGetByDomainMin", + This, extract::sum, meta::domainMin, domainMin); +} + +// Set, by domainMin +void +MixedSumSetByDomainMin( + ConstHandle2Mixed This, + const Float64 domainMin, + ConstHandle2ConstSum sum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SumSetByDomainMin", + This, extract::sum, meta::domainMin, domainMin, sum); +} + +// Has, by domainMax +int +MixedSumHasByDomainMax( + ConstHandle2ConstMixed This, + const Float64 domainMax +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SumHasByDomainMax", + This, extract::sum, meta::domainMax, domainMax); +} + +// Get, by domainMax, const +Handle2ConstSum +MixedSumGetByDomainMaxConst( + ConstHandle2ConstMixed This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SumGetByDomainMaxConst", + This, extract::sum, meta::domainMax, domainMax); +} + +// Get, by domainMax, non-const +Handle2Sum +MixedSumGetByDomainMax( + ConstHandle2Mixed This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SumGetByDomainMax", + This, extract::sum, meta::domainMax, domainMax); +} + +// Set, by domainMax +void +MixedSumSetByDomainMax( + ConstHandle2Mixed This, + const Float64 domainMax, + ConstHandle2ConstSum sum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SumSetByDomainMax", + This, extract::sum, meta::domainMax, domainMax, sum); +} + +// Has, by domainUnit +int +MixedSumHasByDomainUnit( + ConstHandle2ConstMixed This, + const XMLName domainUnit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SumHasByDomainUnit", + This, extract::sum, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, const +Handle2ConstSum +MixedSumGetByDomainUnitConst( + ConstHandle2ConstMixed This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SumGetByDomainUnitConst", + This, extract::sum, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, non-const +Handle2Sum +MixedSumGetByDomainUnit( + ConstHandle2Mixed This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SumGetByDomainUnit", + This, extract::sum, meta::domainUnit, domainUnit); +} + +// Set, by domainUnit +void +MixedSumSetByDomainUnit( + ConstHandle2Mixed This, + const XMLName domainUnit, + ConstHandle2ConstSum sum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SumSetByDomainUnit", + This, extract::sum, meta::domainUnit, domainUnit, sum); +} + +// Has, by label +int +MixedSumHasByLabel( + ConstHandle2ConstMixed This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SumHasByLabel", + This, extract::sum, meta::label, label); +} + +// Get, by label, const +Handle2ConstSum +MixedSumGetByLabelConst( + ConstHandle2ConstMixed This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SumGetByLabelConst", + This, extract::sum, meta::label, label); +} + +// Get, by label, non-const +Handle2Sum +MixedSumGetByLabel( + ConstHandle2Mixed This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SumGetByLabel", + This, extract::sum, meta::label, label); +} + +// Set, by label +void +MixedSumSetByLabel( + ConstHandle2Mixed This, + const XMLName label, + ConstHandle2ConstSum sum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SumSetByLabel", + This, extract::sum, meta::label, label, sum); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.h new file mode 100644 index 000000000..cc14626aa --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.h @@ -0,0 +1,565 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Mixed is the basic handle type in this file. Example: +// // Create a default Mixed object: +// Mixed handle = MixedDefault(); +// Functions involving Mixed are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_MIXED +#define C_INTERFACE_TRY_V2_0_COVARIANCE_MIXED + +#include "GNDStk.h" +#include "v2.0/covariance/CovarianceMatrix.h" +#include "v2.0/covariance/ShortRangeSelfScalingVariance.h" +#include "v2.0/covariance/Sum.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MixedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Mixed +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MixedClass *Mixed; + +// --- Const-aware handles. +typedef const struct MixedClass *const ConstHandle2ConstMixed; +typedef struct MixedClass *const ConstHandle2Mixed; +typedef const struct MixedClass * Handle2ConstMixed; +typedef struct MixedClass * Handle2Mixed; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMixed +MixedDefaultConst(); + +// +++ Create, default +extern_c Handle2Mixed +MixedDefault(); + +// --- Create, general, const +extern_c Handle2ConstMixed +MixedCreateConst( + const XMLName label, + ConstHandle2CovarianceMatrix *const covarianceMatrix, const size_t covarianceMatrixSize, + ConstHandle2ShortRangeSelfScalingVariance *const shortRangeSelfScalingVariance, const size_t shortRangeSelfScalingVarianceSize, + ConstHandle2Sum *const sum, const size_t sumSize +); + +// +++ Create, general +extern_c Handle2Mixed +MixedCreate( + const XMLName label, + ConstHandle2CovarianceMatrix *const covarianceMatrix, const size_t covarianceMatrixSize, + ConstHandle2ShortRangeSelfScalingVariance *const shortRangeSelfScalingVariance, const size_t shortRangeSelfScalingVarianceSize, + ConstHandle2Sum *const sum, const size_t sumSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MixedAssign(ConstHandle2Mixed This, ConstHandle2ConstMixed from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MixedDelete(ConstHandle2ConstMixed This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MixedRead(ConstHandle2Mixed This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MixedWrite(ConstHandle2ConstMixed This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MixedPrint(ConstHandle2ConstMixed This); + +// +++ Print to standard output, as XML +extern_c int +MixedPrintXML(ConstHandle2ConstMixed This); + +// +++ Print to standard output, as JSON +extern_c int +MixedPrintJSON(ConstHandle2ConstMixed This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MixedLabelHas(ConstHandle2ConstMixed This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MixedLabelGet(ConstHandle2ConstMixed This); + +// +++ Set +extern_c void +MixedLabelSet(ConstHandle2Mixed This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: covarianceMatrix +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MixedCovarianceMatrixHas(ConstHandle2ConstMixed This); + +// +++ Clear +extern_c void +MixedCovarianceMatrixClear(ConstHandle2Mixed This); + +// +++ Size +extern_c size_t +MixedCovarianceMatrixSize(ConstHandle2ConstMixed This); + +// +++ Add +extern_c void +MixedCovarianceMatrixAdd(ConstHandle2Mixed This, ConstHandle2ConstCovarianceMatrix covarianceMatrix); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstCovarianceMatrix +MixedCovarianceMatrixGetConst(ConstHandle2ConstMixed This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2CovarianceMatrix +MixedCovarianceMatrixGet(ConstHandle2Mixed This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MixedCovarianceMatrixSet( + ConstHandle2Mixed This, + const size_t index_, + ConstHandle2ConstCovarianceMatrix covarianceMatrix +); + +// +++ Has, by label +extern_c int +MixedCovarianceMatrixHasByLabel( + ConstHandle2ConstMixed This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstCovarianceMatrix +MixedCovarianceMatrixGetByLabelConst( + ConstHandle2ConstMixed This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2CovarianceMatrix +MixedCovarianceMatrixGetByLabel( + ConstHandle2Mixed This, + const XMLName label +); + +// +++ Set, by label +extern_c void +MixedCovarianceMatrixSetByLabel( + ConstHandle2Mixed This, + const XMLName label, + ConstHandle2ConstCovarianceMatrix covarianceMatrix +); + +// +++ Has, by productFrame +extern_c int +MixedCovarianceMatrixHasByProductFrame( + ConstHandle2ConstMixed This, + const enums::Frame productFrame +); + +// --- Get, by productFrame, const +extern_c Handle2ConstCovarianceMatrix +MixedCovarianceMatrixGetByProductFrameConst( + ConstHandle2ConstMixed This, + const enums::Frame productFrame +); + +// +++ Get, by productFrame, non-const +extern_c Handle2CovarianceMatrix +MixedCovarianceMatrixGetByProductFrame( + ConstHandle2Mixed This, + const enums::Frame productFrame +); + +// +++ Set, by productFrame +extern_c void +MixedCovarianceMatrixSetByProductFrame( + ConstHandle2Mixed This, + const enums::Frame productFrame, + ConstHandle2ConstCovarianceMatrix covarianceMatrix +); + +// +++ Has, by type +extern_c int +MixedCovarianceMatrixHasByType( + ConstHandle2ConstMixed This, + const XMLName type +); + +// --- Get, by type, const +extern_c Handle2ConstCovarianceMatrix +MixedCovarianceMatrixGetByTypeConst( + ConstHandle2ConstMixed This, + const XMLName type +); + +// +++ Get, by type, non-const +extern_c Handle2CovarianceMatrix +MixedCovarianceMatrixGetByType( + ConstHandle2Mixed This, + const XMLName type +); + +// +++ Set, by type +extern_c void +MixedCovarianceMatrixSetByType( + ConstHandle2Mixed This, + const XMLName type, + ConstHandle2ConstCovarianceMatrix covarianceMatrix +); + + +// ----------------------------------------------------------------------------- +// Child: shortRangeSelfScalingVariance +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MixedShortRangeSelfScalingVarianceHas(ConstHandle2ConstMixed This); + +// +++ Clear +extern_c void +MixedShortRangeSelfScalingVarianceClear(ConstHandle2Mixed This); + +// +++ Size +extern_c size_t +MixedShortRangeSelfScalingVarianceSize(ConstHandle2ConstMixed This); + +// +++ Add +extern_c void +MixedShortRangeSelfScalingVarianceAdd(ConstHandle2Mixed This, ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetConst(ConstHandle2ConstMixed This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGet(ConstHandle2Mixed This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MixedShortRangeSelfScalingVarianceSet( + ConstHandle2Mixed This, + const size_t index_, + ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance +); + +// +++ Has, by dependenceOnProcessedGroupWidth +extern_c int +MixedShortRangeSelfScalingVarianceHasByDependenceOnProcessedGroupWidth( + ConstHandle2ConstMixed This, + const XMLName dependenceOnProcessedGroupWidth +); + +// --- Get, by dependenceOnProcessedGroupWidth, const +extern_c Handle2ConstShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByDependenceOnProcessedGroupWidthConst( + ConstHandle2ConstMixed This, + const XMLName dependenceOnProcessedGroupWidth +); + +// +++ Get, by dependenceOnProcessedGroupWidth, non-const +extern_c Handle2ShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByDependenceOnProcessedGroupWidth( + ConstHandle2Mixed This, + const XMLName dependenceOnProcessedGroupWidth +); + +// +++ Set, by dependenceOnProcessedGroupWidth +extern_c void +MixedShortRangeSelfScalingVarianceSetByDependenceOnProcessedGroupWidth( + ConstHandle2Mixed This, + const XMLName dependenceOnProcessedGroupWidth, + ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance +); + +// +++ Has, by label +extern_c int +MixedShortRangeSelfScalingVarianceHasByLabel( + ConstHandle2ConstMixed This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByLabelConst( + ConstHandle2ConstMixed This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByLabel( + ConstHandle2Mixed This, + const XMLName label +); + +// +++ Set, by label +extern_c void +MixedShortRangeSelfScalingVarianceSetByLabel( + ConstHandle2Mixed This, + const XMLName label, + ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance +); + +// +++ Has, by type +extern_c int +MixedShortRangeSelfScalingVarianceHasByType( + ConstHandle2ConstMixed This, + const XMLName type +); + +// --- Get, by type, const +extern_c Handle2ConstShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByTypeConst( + ConstHandle2ConstMixed This, + const XMLName type +); + +// +++ Get, by type, non-const +extern_c Handle2ShortRangeSelfScalingVariance +MixedShortRangeSelfScalingVarianceGetByType( + ConstHandle2Mixed This, + const XMLName type +); + +// +++ Set, by type +extern_c void +MixedShortRangeSelfScalingVarianceSetByType( + ConstHandle2Mixed This, + const XMLName type, + ConstHandle2ConstShortRangeSelfScalingVariance shortRangeSelfScalingVariance +); + + +// ----------------------------------------------------------------------------- +// Child: sum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MixedSumHas(ConstHandle2ConstMixed This); + +// +++ Clear +extern_c void +MixedSumClear(ConstHandle2Mixed This); + +// +++ Size +extern_c size_t +MixedSumSize(ConstHandle2ConstMixed This); + +// +++ Add +extern_c void +MixedSumAdd(ConstHandle2Mixed This, ConstHandle2ConstSum sum); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstSum +MixedSumGetConst(ConstHandle2ConstMixed This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Sum +MixedSumGet(ConstHandle2Mixed This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MixedSumSet( + ConstHandle2Mixed This, + const size_t index_, + ConstHandle2ConstSum sum +); + +// +++ Has, by domainMin +extern_c int +MixedSumHasByDomainMin( + ConstHandle2ConstMixed This, + const Float64 domainMin +); + +// --- Get, by domainMin, const +extern_c Handle2ConstSum +MixedSumGetByDomainMinConst( + ConstHandle2ConstMixed This, + const Float64 domainMin +); + +// +++ Get, by domainMin, non-const +extern_c Handle2Sum +MixedSumGetByDomainMin( + ConstHandle2Mixed This, + const Float64 domainMin +); + +// +++ Set, by domainMin +extern_c void +MixedSumSetByDomainMin( + ConstHandle2Mixed This, + const Float64 domainMin, + ConstHandle2ConstSum sum +); + +// +++ Has, by domainMax +extern_c int +MixedSumHasByDomainMax( + ConstHandle2ConstMixed This, + const Float64 domainMax +); + +// --- Get, by domainMax, const +extern_c Handle2ConstSum +MixedSumGetByDomainMaxConst( + ConstHandle2ConstMixed This, + const Float64 domainMax +); + +// +++ Get, by domainMax, non-const +extern_c Handle2Sum +MixedSumGetByDomainMax( + ConstHandle2Mixed This, + const Float64 domainMax +); + +// +++ Set, by domainMax +extern_c void +MixedSumSetByDomainMax( + ConstHandle2Mixed This, + const Float64 domainMax, + ConstHandle2ConstSum sum +); + +// +++ Has, by domainUnit +extern_c int +MixedSumHasByDomainUnit( + ConstHandle2ConstMixed This, + const XMLName domainUnit +); + +// --- Get, by domainUnit, const +extern_c Handle2ConstSum +MixedSumGetByDomainUnitConst( + ConstHandle2ConstMixed This, + const XMLName domainUnit +); + +// +++ Get, by domainUnit, non-const +extern_c Handle2Sum +MixedSumGetByDomainUnit( + ConstHandle2Mixed This, + const XMLName domainUnit +); + +// +++ Set, by domainUnit +extern_c void +MixedSumSetByDomainUnit( + ConstHandle2Mixed This, + const XMLName domainUnit, + ConstHandle2ConstSum sum +); + +// +++ Has, by label +extern_c int +MixedSumHasByLabel( + ConstHandle2ConstMixed This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstSum +MixedSumGetByLabelConst( + ConstHandle2ConstMixed This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Sum +MixedSumGetByLabel( + ConstHandle2Mixed This, + const XMLName label +); + +// +++ Set, by label +extern_c void +MixedSumSetByLabel( + ConstHandle2Mixed This, + const XMLName label, + ConstHandle2ConstSum sum +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.cpp new file mode 100644 index 000000000..44c973310 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.cpp @@ -0,0 +1,373 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/ParameterCovariance.hpp" +#include "ParameterCovariance.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ParameterCovarianceClass; +using CPP = multigroup::ParameterCovariance; + +static const std::string CLASSNAME = "ParameterCovariance"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto rowData = [](auto &obj) { return &obj.rowData; }; + static auto parameterCovarianceMatrix = [](auto &obj) { return &obj.parameterCovarianceMatrix; }; +} + +using CPPRowData = covariance::RowData; +using CPPParameterCovarianceMatrix = covariance::ParameterCovarianceMatrix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstParameterCovariance +ParameterCovarianceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ParameterCovariance +ParameterCovarianceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstParameterCovariance +ParameterCovarianceCreateConst( + const XMLName label, + ConstHandle2ConstRowData rowData, + ConstHandle2ParameterCovarianceMatrix *const parameterCovarianceMatrix, const size_t parameterCovarianceMatrixSize +) { + ConstHandle2ParameterCovariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(rowData), + std::vector{} + ); + for (size_t ParameterCovarianceMatrixN = 0; ParameterCovarianceMatrixN < parameterCovarianceMatrixSize; ++ParameterCovarianceMatrixN) + ParameterCovarianceParameterCovarianceMatrixAdd(handle, parameterCovarianceMatrix[ParameterCovarianceMatrixN]); + return handle; +} + +// Create, general +Handle2ParameterCovariance +ParameterCovarianceCreate( + const XMLName label, + ConstHandle2ConstRowData rowData, + ConstHandle2ParameterCovarianceMatrix *const parameterCovarianceMatrix, const size_t parameterCovarianceMatrixSize +) { + ConstHandle2ParameterCovariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(rowData), + std::vector{} + ); + for (size_t ParameterCovarianceMatrixN = 0; ParameterCovarianceMatrixN < parameterCovarianceMatrixSize; ++ParameterCovarianceMatrixN) + ParameterCovarianceParameterCovarianceMatrixAdd(handle, parameterCovarianceMatrix[ParameterCovarianceMatrixN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ParameterCovarianceAssign(ConstHandle2ParameterCovariance This, ConstHandle2ConstParameterCovariance from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ParameterCovarianceDelete(ConstHandle2ConstParameterCovariance This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ParameterCovarianceRead(ConstHandle2ParameterCovariance This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ParameterCovarianceWrite(ConstHandle2ConstParameterCovariance This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ParameterCovariancePrint(ConstHandle2ConstParameterCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ParameterCovariancePrintXML(ConstHandle2ConstParameterCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ParameterCovariancePrintJSON(ConstHandle2ConstParameterCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovarianceLabelHas(ConstHandle2ConstParameterCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ParameterCovarianceLabelGet(ConstHandle2ConstParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ParameterCovarianceLabelSet(ConstHandle2ParameterCovariance This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: rowData +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovarianceRowDataHas(ConstHandle2ConstParameterCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RowDataHas", This, extract::rowData); +} + +// Get, const +Handle2ConstRowData +ParameterCovarianceRowDataGetConst(ConstHandle2ConstParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowDataGetConst", This, extract::rowData); +} + +// Get, non-const +Handle2RowData +ParameterCovarianceRowDataGet(ConstHandle2ParameterCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowDataGet", This, extract::rowData); +} + +// Set +void +ParameterCovarianceRowDataSet(ConstHandle2ParameterCovariance This, ConstHandle2ConstRowData rowData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RowDataSet", This, extract::rowData, rowData); +} + + +// ----------------------------------------------------------------------------- +// Child: parameterCovarianceMatrix +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovarianceParameterCovarianceMatrixHas(ConstHandle2ConstParameterCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixHas", This, extract::parameterCovarianceMatrix); +} + +// Clear +void +ParameterCovarianceParameterCovarianceMatrixClear(ConstHandle2ParameterCovariance This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixClear", This, extract::parameterCovarianceMatrix); +} + +// Size +size_t +ParameterCovarianceParameterCovarianceMatrixSize(ConstHandle2ConstParameterCovariance This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixSize", This, extract::parameterCovarianceMatrix); +} + +// Add +void +ParameterCovarianceParameterCovarianceMatrixAdd(ConstHandle2ParameterCovariance This, ConstHandle2ConstParameterCovarianceMatrix parameterCovarianceMatrix) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixAdd", This, extract::parameterCovarianceMatrix, parameterCovarianceMatrix); +} + +// Get, by index \in [0,size), const +Handle2ConstParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetConst(ConstHandle2ConstParameterCovariance This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixGetConst", This, extract::parameterCovarianceMatrix, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGet(ConstHandle2ParameterCovariance This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixGet", This, extract::parameterCovarianceMatrix, index_); +} + +// Set, by index \in [0,size) +void +ParameterCovarianceParameterCovarianceMatrixSet( + ConstHandle2ParameterCovariance This, + const size_t index_, + ConstHandle2ConstParameterCovarianceMatrix parameterCovarianceMatrix +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixSet", This, extract::parameterCovarianceMatrix, index_, parameterCovarianceMatrix); +} + +// Has, by label +int +ParameterCovarianceParameterCovarianceMatrixHasByLabel( + ConstHandle2ConstParameterCovariance This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixHasByLabel", + This, extract::parameterCovarianceMatrix, meta::label, label); +} + +// Get, by label, const +Handle2ConstParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetByLabelConst( + ConstHandle2ConstParameterCovariance This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixGetByLabelConst", + This, extract::parameterCovarianceMatrix, meta::label, label); +} + +// Get, by label, non-const +Handle2ParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetByLabel( + ConstHandle2ParameterCovariance This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixGetByLabel", + This, extract::parameterCovarianceMatrix, meta::label, label); +} + +// Set, by label +void +ParameterCovarianceParameterCovarianceMatrixSetByLabel( + ConstHandle2ParameterCovariance This, + const XMLName label, + ConstHandle2ConstParameterCovarianceMatrix parameterCovarianceMatrix +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixSetByLabel", + This, extract::parameterCovarianceMatrix, meta::label, label, parameterCovarianceMatrix); +} + +// Has, by type +int +ParameterCovarianceParameterCovarianceMatrixHasByType( + ConstHandle2ConstParameterCovariance This, + const XMLName type +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixHasByType", + This, extract::parameterCovarianceMatrix, meta::type, type); +} + +// Get, by type, const +Handle2ConstParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetByTypeConst( + ConstHandle2ConstParameterCovariance This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixGetByTypeConst", + This, extract::parameterCovarianceMatrix, meta::type, type); +} + +// Get, by type, non-const +Handle2ParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetByType( + ConstHandle2ParameterCovariance This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixGetByType", + This, extract::parameterCovarianceMatrix, meta::type, type); +} + +// Set, by type +void +ParameterCovarianceParameterCovarianceMatrixSetByType( + ConstHandle2ParameterCovariance This, + const XMLName type, + ConstHandle2ConstParameterCovarianceMatrix parameterCovarianceMatrix +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceMatrixSetByType", + This, extract::parameterCovarianceMatrix, meta::type, type, parameterCovarianceMatrix); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.h new file mode 100644 index 000000000..f9b2a7c1c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.h @@ -0,0 +1,277 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ParameterCovariance is the basic handle type in this file. Example: +// // Create a default ParameterCovariance object: +// ParameterCovariance handle = ParameterCovarianceDefault(); +// Functions involving ParameterCovariance are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCE +#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCE + +#include "GNDStk.h" +#include "v2.0/covariance/RowData.h" +#include "v2.0/covariance/ParameterCovarianceMatrix.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ParameterCovarianceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ParameterCovariance +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ParameterCovarianceClass *ParameterCovariance; + +// --- Const-aware handles. +typedef const struct ParameterCovarianceClass *const ConstHandle2ConstParameterCovariance; +typedef struct ParameterCovarianceClass *const ConstHandle2ParameterCovariance; +typedef const struct ParameterCovarianceClass * Handle2ConstParameterCovariance; +typedef struct ParameterCovarianceClass * Handle2ParameterCovariance; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstParameterCovariance +ParameterCovarianceDefaultConst(); + +// +++ Create, default +extern_c Handle2ParameterCovariance +ParameterCovarianceDefault(); + +// --- Create, general, const +extern_c Handle2ConstParameterCovariance +ParameterCovarianceCreateConst( + const XMLName label, + ConstHandle2ConstRowData rowData, + ConstHandle2ParameterCovarianceMatrix *const parameterCovarianceMatrix, const size_t parameterCovarianceMatrixSize +); + +// +++ Create, general +extern_c Handle2ParameterCovariance +ParameterCovarianceCreate( + const XMLName label, + ConstHandle2ConstRowData rowData, + ConstHandle2ParameterCovarianceMatrix *const parameterCovarianceMatrix, const size_t parameterCovarianceMatrixSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ParameterCovarianceAssign(ConstHandle2ParameterCovariance This, ConstHandle2ConstParameterCovariance from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ParameterCovarianceDelete(ConstHandle2ConstParameterCovariance This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ParameterCovarianceRead(ConstHandle2ParameterCovariance This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ParameterCovarianceWrite(ConstHandle2ConstParameterCovariance This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ParameterCovariancePrint(ConstHandle2ConstParameterCovariance This); + +// +++ Print to standard output, as XML +extern_c int +ParameterCovariancePrintXML(ConstHandle2ConstParameterCovariance This); + +// +++ Print to standard output, as JSON +extern_c int +ParameterCovariancePrintJSON(ConstHandle2ConstParameterCovariance This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovarianceLabelHas(ConstHandle2ConstParameterCovariance This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ParameterCovarianceLabelGet(ConstHandle2ConstParameterCovariance This); + +// +++ Set +extern_c void +ParameterCovarianceLabelSet(ConstHandle2ParameterCovariance This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: rowData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovarianceRowDataHas(ConstHandle2ConstParameterCovariance This); + +// --- Get, const +extern_c Handle2ConstRowData +ParameterCovarianceRowDataGetConst(ConstHandle2ConstParameterCovariance This); + +// +++ Get, non-const +extern_c Handle2RowData +ParameterCovarianceRowDataGet(ConstHandle2ParameterCovariance This); + +// +++ Set +extern_c void +ParameterCovarianceRowDataSet(ConstHandle2ParameterCovariance This, ConstHandle2ConstRowData rowData); + + +// ----------------------------------------------------------------------------- +// Child: parameterCovarianceMatrix +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovarianceParameterCovarianceMatrixHas(ConstHandle2ConstParameterCovariance This); + +// +++ Clear +extern_c void +ParameterCovarianceParameterCovarianceMatrixClear(ConstHandle2ParameterCovariance This); + +// +++ Size +extern_c size_t +ParameterCovarianceParameterCovarianceMatrixSize(ConstHandle2ConstParameterCovariance This); + +// +++ Add +extern_c void +ParameterCovarianceParameterCovarianceMatrixAdd(ConstHandle2ParameterCovariance This, ConstHandle2ConstParameterCovarianceMatrix parameterCovarianceMatrix); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetConst(ConstHandle2ConstParameterCovariance This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGet(ConstHandle2ParameterCovariance This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ParameterCovarianceParameterCovarianceMatrixSet( + ConstHandle2ParameterCovariance This, + const size_t index_, + ConstHandle2ConstParameterCovarianceMatrix parameterCovarianceMatrix +); + +// +++ Has, by label +extern_c int +ParameterCovarianceParameterCovarianceMatrixHasByLabel( + ConstHandle2ConstParameterCovariance This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetByLabelConst( + ConstHandle2ConstParameterCovariance This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetByLabel( + ConstHandle2ParameterCovariance This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ParameterCovarianceParameterCovarianceMatrixSetByLabel( + ConstHandle2ParameterCovariance This, + const XMLName label, + ConstHandle2ConstParameterCovarianceMatrix parameterCovarianceMatrix +); + +// +++ Has, by type +extern_c int +ParameterCovarianceParameterCovarianceMatrixHasByType( + ConstHandle2ConstParameterCovariance This, + const XMLName type +); + +// --- Get, by type, const +extern_c Handle2ConstParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetByTypeConst( + ConstHandle2ConstParameterCovariance This, + const XMLName type +); + +// +++ Get, by type, non-const +extern_c Handle2ParameterCovarianceMatrix +ParameterCovarianceParameterCovarianceMatrixGetByType( + ConstHandle2ParameterCovariance This, + const XMLName type +); + +// +++ Set, by type +extern_c void +ParameterCovarianceParameterCovarianceMatrixSetByType( + ConstHandle2ParameterCovariance This, + const XMLName type, + ConstHandle2ConstParameterCovarianceMatrix parameterCovarianceMatrix +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp new file mode 100644 index 000000000..26de73e59 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/ParameterCovarianceMatrix.hpp" +#include "ParameterCovarianceMatrix.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ParameterCovarianceMatrixClass; +using CPP = multigroup::ParameterCovarianceMatrix; + +static const std::string CLASSNAME = "ParameterCovarianceMatrix"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto type = [](auto &obj) { return &obj.type; }; + static auto parameters = [](auto &obj) { return &obj.parameters; }; + static auto array = [](auto &obj) { return &obj.array; }; +} + +using CPPParameters = covariance::Parameters; +using CPPArray = unknownNamespace::Array; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstParameterCovarianceMatrix +ParameterCovarianceMatrixDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ParameterCovarianceMatrix +ParameterCovarianceMatrixDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstParameterCovarianceMatrix +ParameterCovarianceMatrixCreateConst( + const XMLName label, + const XMLName type, + ConstHandle2ConstParameters parameters, + ConstHandle2ConstArray array +) { + ConstHandle2ParameterCovarianceMatrix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + type, + detail::tocpp(parameters), + detail::tocpp(array) + ); + return handle; +} + +// Create, general +Handle2ParameterCovarianceMatrix +ParameterCovarianceMatrixCreate( + const XMLName label, + const XMLName type, + ConstHandle2ConstParameters parameters, + ConstHandle2ConstArray array +) { + ConstHandle2ParameterCovarianceMatrix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + type, + detail::tocpp(parameters), + detail::tocpp(array) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ParameterCovarianceMatrixAssign(ConstHandle2ParameterCovarianceMatrix This, ConstHandle2ConstParameterCovarianceMatrix from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ParameterCovarianceMatrixDelete(ConstHandle2ConstParameterCovarianceMatrix This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ParameterCovarianceMatrixRead(ConstHandle2ParameterCovarianceMatrix This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ParameterCovarianceMatrixWrite(ConstHandle2ConstParameterCovarianceMatrix This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ParameterCovarianceMatrixPrint(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ParameterCovarianceMatrixPrintXML(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ParameterCovarianceMatrixPrintJSON(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovarianceMatrixLabelHas(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ParameterCovarianceMatrixLabelGet(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ParameterCovarianceMatrixLabelSet(ConstHandle2ParameterCovarianceMatrix This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovarianceMatrixTypeHas(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TypeHas", This, extract::type); +} + +// Get +// Returns by value +XMLName +ParameterCovarianceMatrixTypeGet(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TypeGet", This, extract::type); +} + +// Set +void +ParameterCovarianceMatrixTypeSet(ConstHandle2ParameterCovarianceMatrix This, const XMLName type) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TypeSet", This, extract::type, type); +} + + +// ----------------------------------------------------------------------------- +// Child: parameters +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovarianceMatrixParametersHas(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParametersHas", This, extract::parameters); +} + +// Get, const +Handle2ConstParameters +ParameterCovarianceMatrixParametersGetConst(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParametersGetConst", This, extract::parameters); +} + +// Get, non-const +Handle2Parameters +ParameterCovarianceMatrixParametersGet(ConstHandle2ParameterCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParametersGet", This, extract::parameters); +} + +// Set +void +ParameterCovarianceMatrixParametersSet(ConstHandle2ParameterCovarianceMatrix This, ConstHandle2ConstParameters parameters) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ParametersSet", This, extract::parameters, parameters); +} + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovarianceMatrixArrayHas(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ArrayHas", This, extract::array); +} + +// Get, const +Handle2ConstArray +ParameterCovarianceMatrixArrayGetConst(ConstHandle2ConstParameterCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGetConst", This, extract::array); +} + +// Get, non-const +Handle2Array +ParameterCovarianceMatrixArrayGet(ConstHandle2ParameterCovarianceMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGet", This, extract::array); +} + +// Set +void +ParameterCovarianceMatrixArraySet(ConstHandle2ParameterCovarianceMatrix This, ConstHandle2ConstArray array) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ArraySet", This, extract::array, array); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h new file mode 100644 index 000000000..8fe675399 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ParameterCovarianceMatrix is the basic handle type in this file. Example: +// // Create a default ParameterCovarianceMatrix object: +// ParameterCovarianceMatrix handle = ParameterCovarianceMatrixDefault(); +// Functions involving ParameterCovarianceMatrix are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX +#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX + +#include "GNDStk.h" +#include "v2.0/covariance/Parameters.h" +#include "v2.0/unknownNamespace/Array.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ParameterCovarianceMatrixClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ParameterCovarianceMatrix +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ParameterCovarianceMatrixClass *ParameterCovarianceMatrix; + +// --- Const-aware handles. +typedef const struct ParameterCovarianceMatrixClass *const ConstHandle2ConstParameterCovarianceMatrix; +typedef struct ParameterCovarianceMatrixClass *const ConstHandle2ParameterCovarianceMatrix; +typedef const struct ParameterCovarianceMatrixClass * Handle2ConstParameterCovarianceMatrix; +typedef struct ParameterCovarianceMatrixClass * Handle2ParameterCovarianceMatrix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstParameterCovarianceMatrix +ParameterCovarianceMatrixDefaultConst(); + +// +++ Create, default +extern_c Handle2ParameterCovarianceMatrix +ParameterCovarianceMatrixDefault(); + +// --- Create, general, const +extern_c Handle2ConstParameterCovarianceMatrix +ParameterCovarianceMatrixCreateConst( + const XMLName label, + const XMLName type, + ConstHandle2ConstParameters parameters, + ConstHandle2ConstArray array +); + +// +++ Create, general +extern_c Handle2ParameterCovarianceMatrix +ParameterCovarianceMatrixCreate( + const XMLName label, + const XMLName type, + ConstHandle2ConstParameters parameters, + ConstHandle2ConstArray array +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ParameterCovarianceMatrixAssign(ConstHandle2ParameterCovarianceMatrix This, ConstHandle2ConstParameterCovarianceMatrix from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ParameterCovarianceMatrixDelete(ConstHandle2ConstParameterCovarianceMatrix This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ParameterCovarianceMatrixRead(ConstHandle2ParameterCovarianceMatrix This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ParameterCovarianceMatrixWrite(ConstHandle2ConstParameterCovarianceMatrix This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ParameterCovarianceMatrixPrint(ConstHandle2ConstParameterCovarianceMatrix This); + +// +++ Print to standard output, as XML +extern_c int +ParameterCovarianceMatrixPrintXML(ConstHandle2ConstParameterCovarianceMatrix This); + +// +++ Print to standard output, as JSON +extern_c int +ParameterCovarianceMatrixPrintJSON(ConstHandle2ConstParameterCovarianceMatrix This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovarianceMatrixLabelHas(ConstHandle2ConstParameterCovarianceMatrix This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ParameterCovarianceMatrixLabelGet(ConstHandle2ConstParameterCovarianceMatrix This); + +// +++ Set +extern_c void +ParameterCovarianceMatrixLabelSet(ConstHandle2ParameterCovarianceMatrix This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovarianceMatrixTypeHas(ConstHandle2ConstParameterCovarianceMatrix This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ParameterCovarianceMatrixTypeGet(ConstHandle2ConstParameterCovarianceMatrix This); + +// +++ Set +extern_c void +ParameterCovarianceMatrixTypeSet(ConstHandle2ParameterCovarianceMatrix This, const XMLName type); + + +// ----------------------------------------------------------------------------- +// Child: parameters +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovarianceMatrixParametersHas(ConstHandle2ConstParameterCovarianceMatrix This); + +// --- Get, const +extern_c Handle2ConstParameters +ParameterCovarianceMatrixParametersGetConst(ConstHandle2ConstParameterCovarianceMatrix This); + +// +++ Get, non-const +extern_c Handle2Parameters +ParameterCovarianceMatrixParametersGet(ConstHandle2ParameterCovarianceMatrix This); + +// +++ Set +extern_c void +ParameterCovarianceMatrixParametersSet(ConstHandle2ParameterCovarianceMatrix This, ConstHandle2ConstParameters parameters); + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovarianceMatrixArrayHas(ConstHandle2ConstParameterCovarianceMatrix This); + +// --- Get, const +extern_c Handle2ConstArray +ParameterCovarianceMatrixArrayGetConst(ConstHandle2ConstParameterCovarianceMatrix This); + +// +++ Get, non-const +extern_c Handle2Array +ParameterCovarianceMatrixArrayGet(ConstHandle2ParameterCovarianceMatrix This); + +// +++ Set +extern_c void +ParameterCovarianceMatrixArraySet(ConstHandle2ParameterCovarianceMatrix This, ConstHandle2ConstArray array); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.cpp new file mode 100644 index 000000000..1f10e43c2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.cpp @@ -0,0 +1,414 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/ParameterCovariances.hpp" +#include "ParameterCovariances.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ParameterCovariancesClass; +using CPP = multigroup::ParameterCovariances; + +static const std::string CLASSNAME = "ParameterCovariances"; + +namespace extract { + static auto averageParameterCovariance = [](auto &obj) { return &obj.averageParameterCovariance; }; + static auto parameterCovariance = [](auto &obj) { return &obj.parameterCovariance; }; +} + +using CPPAverageParameterCovariance = covariance::AverageParameterCovariance; +using CPPParameterCovariance = covariance::ParameterCovariance; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstParameterCovariances +ParameterCovariancesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ParameterCovariances +ParameterCovariancesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstParameterCovariances +ParameterCovariancesCreateConst( + ConstHandle2AverageParameterCovariance *const averageParameterCovariance, const size_t averageParameterCovarianceSize, + ConstHandle2ParameterCovariance *const parameterCovariance, const size_t parameterCovarianceSize +) { + ConstHandle2ParameterCovariances handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{}, + std::vector{} + ); + for (size_t AverageParameterCovarianceN = 0; AverageParameterCovarianceN < averageParameterCovarianceSize; ++AverageParameterCovarianceN) + ParameterCovariancesAverageParameterCovarianceAdd(handle, averageParameterCovariance[AverageParameterCovarianceN]); + for (size_t ParameterCovarianceN = 0; ParameterCovarianceN < parameterCovarianceSize; ++ParameterCovarianceN) + ParameterCovariancesParameterCovarianceAdd(handle, parameterCovariance[ParameterCovarianceN]); + return handle; +} + +// Create, general +Handle2ParameterCovariances +ParameterCovariancesCreate( + ConstHandle2AverageParameterCovariance *const averageParameterCovariance, const size_t averageParameterCovarianceSize, + ConstHandle2ParameterCovariance *const parameterCovariance, const size_t parameterCovarianceSize +) { + ConstHandle2ParameterCovariances handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{}, + std::vector{} + ); + for (size_t AverageParameterCovarianceN = 0; AverageParameterCovarianceN < averageParameterCovarianceSize; ++AverageParameterCovarianceN) + ParameterCovariancesAverageParameterCovarianceAdd(handle, averageParameterCovariance[AverageParameterCovarianceN]); + for (size_t ParameterCovarianceN = 0; ParameterCovarianceN < parameterCovarianceSize; ++ParameterCovarianceN) + ParameterCovariancesParameterCovarianceAdd(handle, parameterCovariance[ParameterCovarianceN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ParameterCovariancesAssign(ConstHandle2ParameterCovariances This, ConstHandle2ConstParameterCovariances from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ParameterCovariancesDelete(ConstHandle2ConstParameterCovariances This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ParameterCovariancesRead(ConstHandle2ParameterCovariances This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ParameterCovariancesWrite(ConstHandle2ConstParameterCovariances This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ParameterCovariancesPrint(ConstHandle2ConstParameterCovariances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ParameterCovariancesPrintXML(ConstHandle2ConstParameterCovariances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ParameterCovariancesPrintJSON(ConstHandle2ConstParameterCovariances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: averageParameterCovariance +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovariancesAverageParameterCovarianceHas(ConstHandle2ConstParameterCovariances This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceHas", This, extract::averageParameterCovariance); +} + +// Clear +void +ParameterCovariancesAverageParameterCovarianceClear(ConstHandle2ParameterCovariances This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceClear", This, extract::averageParameterCovariance); +} + +// Size +size_t +ParameterCovariancesAverageParameterCovarianceSize(ConstHandle2ConstParameterCovariances This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceSize", This, extract::averageParameterCovariance); +} + +// Add +void +ParameterCovariancesAverageParameterCovarianceAdd(ConstHandle2ParameterCovariances This, ConstHandle2ConstAverageParameterCovariance averageParameterCovariance) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceAdd", This, extract::averageParameterCovariance, averageParameterCovariance); +} + +// Get, by index \in [0,size), const +Handle2ConstAverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetConst(ConstHandle2ConstParameterCovariances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceGetConst", This, extract::averageParameterCovariance, index_); +} + +// Get, by index \in [0,size), non-const +Handle2AverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGet(ConstHandle2ParameterCovariances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceGet", This, extract::averageParameterCovariance, index_); +} + +// Set, by index \in [0,size) +void +ParameterCovariancesAverageParameterCovarianceSet( + ConstHandle2ParameterCovariances This, + const size_t index_, + ConstHandle2ConstAverageParameterCovariance averageParameterCovariance +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceSet", This, extract::averageParameterCovariance, index_, averageParameterCovariance); +} + +// Has, by crossTerm +int +ParameterCovariancesAverageParameterCovarianceHasByCrossTerm( + ConstHandle2ConstParameterCovariances This, + const bool crossTerm +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceHasByCrossTerm", + This, extract::averageParameterCovariance, meta::crossTerm, crossTerm); +} + +// Get, by crossTerm, const +Handle2ConstAverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetByCrossTermConst( + ConstHandle2ConstParameterCovariances This, + const bool crossTerm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceGetByCrossTermConst", + This, extract::averageParameterCovariance, meta::crossTerm, crossTerm); +} + +// Get, by crossTerm, non-const +Handle2AverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetByCrossTerm( + ConstHandle2ParameterCovariances This, + const bool crossTerm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceGetByCrossTerm", + This, extract::averageParameterCovariance, meta::crossTerm, crossTerm); +} + +// Set, by crossTerm +void +ParameterCovariancesAverageParameterCovarianceSetByCrossTerm( + ConstHandle2ParameterCovariances This, + const bool crossTerm, + ConstHandle2ConstAverageParameterCovariance averageParameterCovariance +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceSetByCrossTerm", + This, extract::averageParameterCovariance, meta::crossTerm, crossTerm, averageParameterCovariance); +} + +// Has, by label +int +ParameterCovariancesAverageParameterCovarianceHasByLabel( + ConstHandle2ConstParameterCovariances This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceHasByLabel", + This, extract::averageParameterCovariance, meta::label, label); +} + +// Get, by label, const +Handle2ConstAverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetByLabelConst( + ConstHandle2ConstParameterCovariances This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceGetByLabelConst", + This, extract::averageParameterCovariance, meta::label, label); +} + +// Get, by label, non-const +Handle2AverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetByLabel( + ConstHandle2ParameterCovariances This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceGetByLabel", + This, extract::averageParameterCovariance, meta::label, label); +} + +// Set, by label +void +ParameterCovariancesAverageParameterCovarianceSetByLabel( + ConstHandle2ParameterCovariances This, + const XMLName label, + ConstHandle2ConstAverageParameterCovariance averageParameterCovariance +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AverageParameterCovarianceSetByLabel", + This, extract::averageParameterCovariance, meta::label, label, averageParameterCovariance); +} + + +// ----------------------------------------------------------------------------- +// Child: parameterCovariance +// ----------------------------------------------------------------------------- + +// Has +int +ParameterCovariancesParameterCovarianceHas(ConstHandle2ConstParameterCovariances This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParameterCovarianceHas", This, extract::parameterCovariance); +} + +// Clear +void +ParameterCovariancesParameterCovarianceClear(ConstHandle2ParameterCovariances This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ParameterCovarianceClear", This, extract::parameterCovariance); +} + +// Size +size_t +ParameterCovariancesParameterCovarianceSize(ConstHandle2ConstParameterCovariances This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ParameterCovarianceSize", This, extract::parameterCovariance); +} + +// Add +void +ParameterCovariancesParameterCovarianceAdd(ConstHandle2ParameterCovariances This, ConstHandle2ConstParameterCovariance parameterCovariance) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ParameterCovarianceAdd", This, extract::parameterCovariance, parameterCovariance); +} + +// Get, by index \in [0,size), const +Handle2ConstParameterCovariance +ParameterCovariancesParameterCovarianceGetConst(ConstHandle2ConstParameterCovariances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ParameterCovarianceGetConst", This, extract::parameterCovariance, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ParameterCovariance +ParameterCovariancesParameterCovarianceGet(ConstHandle2ParameterCovariances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ParameterCovarianceGet", This, extract::parameterCovariance, index_); +} + +// Set, by index \in [0,size) +void +ParameterCovariancesParameterCovarianceSet( + ConstHandle2ParameterCovariances This, + const size_t index_, + ConstHandle2ConstParameterCovariance parameterCovariance +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ParameterCovarianceSet", This, extract::parameterCovariance, index_, parameterCovariance); +} + +// Has, by label +int +ParameterCovariancesParameterCovarianceHasByLabel( + ConstHandle2ConstParameterCovariances This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceHasByLabel", + This, extract::parameterCovariance, meta::label, label); +} + +// Get, by label, const +Handle2ConstParameterCovariance +ParameterCovariancesParameterCovarianceGetByLabelConst( + ConstHandle2ConstParameterCovariances This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceGetByLabelConst", + This, extract::parameterCovariance, meta::label, label); +} + +// Get, by label, non-const +Handle2ParameterCovariance +ParameterCovariancesParameterCovarianceGetByLabel( + ConstHandle2ParameterCovariances This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceGetByLabel", + This, extract::parameterCovariance, meta::label, label); +} + +// Set, by label +void +ParameterCovariancesParameterCovarianceSetByLabel( + ConstHandle2ParameterCovariances This, + const XMLName label, + ConstHandle2ConstParameterCovariance parameterCovariance +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ParameterCovarianceSetByLabel", + This, extract::parameterCovariance, meta::label, label, parameterCovariance); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.h new file mode 100644 index 000000000..bc116633e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.h @@ -0,0 +1,302 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ParameterCovariances is the basic handle type in this file. Example: +// // Create a default ParameterCovariances object: +// ParameterCovariances handle = ParameterCovariancesDefault(); +// Functions involving ParameterCovariances are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCES +#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCES + +#include "GNDStk.h" +#include "v2.0/covariance/AverageParameterCovariance.h" +#include "v2.0/covariance/ParameterCovariance.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ParameterCovariancesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ParameterCovariances +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ParameterCovariancesClass *ParameterCovariances; + +// --- Const-aware handles. +typedef const struct ParameterCovariancesClass *const ConstHandle2ConstParameterCovariances; +typedef struct ParameterCovariancesClass *const ConstHandle2ParameterCovariances; +typedef const struct ParameterCovariancesClass * Handle2ConstParameterCovariances; +typedef struct ParameterCovariancesClass * Handle2ParameterCovariances; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstParameterCovariances +ParameterCovariancesDefaultConst(); + +// +++ Create, default +extern_c Handle2ParameterCovariances +ParameterCovariancesDefault(); + +// --- Create, general, const +extern_c Handle2ConstParameterCovariances +ParameterCovariancesCreateConst( + ConstHandle2AverageParameterCovariance *const averageParameterCovariance, const size_t averageParameterCovarianceSize, + ConstHandle2ParameterCovariance *const parameterCovariance, const size_t parameterCovarianceSize +); + +// +++ Create, general +extern_c Handle2ParameterCovariances +ParameterCovariancesCreate( + ConstHandle2AverageParameterCovariance *const averageParameterCovariance, const size_t averageParameterCovarianceSize, + ConstHandle2ParameterCovariance *const parameterCovariance, const size_t parameterCovarianceSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ParameterCovariancesAssign(ConstHandle2ParameterCovariances This, ConstHandle2ConstParameterCovariances from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ParameterCovariancesDelete(ConstHandle2ConstParameterCovariances This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ParameterCovariancesRead(ConstHandle2ParameterCovariances This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ParameterCovariancesWrite(ConstHandle2ConstParameterCovariances This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ParameterCovariancesPrint(ConstHandle2ConstParameterCovariances This); + +// +++ Print to standard output, as XML +extern_c int +ParameterCovariancesPrintXML(ConstHandle2ConstParameterCovariances This); + +// +++ Print to standard output, as JSON +extern_c int +ParameterCovariancesPrintJSON(ConstHandle2ConstParameterCovariances This); + + +// ----------------------------------------------------------------------------- +// Child: averageParameterCovariance +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovariancesAverageParameterCovarianceHas(ConstHandle2ConstParameterCovariances This); + +// +++ Clear +extern_c void +ParameterCovariancesAverageParameterCovarianceClear(ConstHandle2ParameterCovariances This); + +// +++ Size +extern_c size_t +ParameterCovariancesAverageParameterCovarianceSize(ConstHandle2ConstParameterCovariances This); + +// +++ Add +extern_c void +ParameterCovariancesAverageParameterCovarianceAdd(ConstHandle2ParameterCovariances This, ConstHandle2ConstAverageParameterCovariance averageParameterCovariance); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetConst(ConstHandle2ConstParameterCovariances This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2AverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGet(ConstHandle2ParameterCovariances This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ParameterCovariancesAverageParameterCovarianceSet( + ConstHandle2ParameterCovariances This, + const size_t index_, + ConstHandle2ConstAverageParameterCovariance averageParameterCovariance +); + +// +++ Has, by crossTerm +extern_c int +ParameterCovariancesAverageParameterCovarianceHasByCrossTerm( + ConstHandle2ConstParameterCovariances This, + const bool crossTerm +); + +// --- Get, by crossTerm, const +extern_c Handle2ConstAverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetByCrossTermConst( + ConstHandle2ConstParameterCovariances This, + const bool crossTerm +); + +// +++ Get, by crossTerm, non-const +extern_c Handle2AverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetByCrossTerm( + ConstHandle2ParameterCovariances This, + const bool crossTerm +); + +// +++ Set, by crossTerm +extern_c void +ParameterCovariancesAverageParameterCovarianceSetByCrossTerm( + ConstHandle2ParameterCovariances This, + const bool crossTerm, + ConstHandle2ConstAverageParameterCovariance averageParameterCovariance +); + +// +++ Has, by label +extern_c int +ParameterCovariancesAverageParameterCovarianceHasByLabel( + ConstHandle2ConstParameterCovariances This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstAverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetByLabelConst( + ConstHandle2ConstParameterCovariances This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2AverageParameterCovariance +ParameterCovariancesAverageParameterCovarianceGetByLabel( + ConstHandle2ParameterCovariances This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ParameterCovariancesAverageParameterCovarianceSetByLabel( + ConstHandle2ParameterCovariances This, + const XMLName label, + ConstHandle2ConstAverageParameterCovariance averageParameterCovariance +); + + +// ----------------------------------------------------------------------------- +// Child: parameterCovariance +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterCovariancesParameterCovarianceHas(ConstHandle2ConstParameterCovariances This); + +// +++ Clear +extern_c void +ParameterCovariancesParameterCovarianceClear(ConstHandle2ParameterCovariances This); + +// +++ Size +extern_c size_t +ParameterCovariancesParameterCovarianceSize(ConstHandle2ConstParameterCovariances This); + +// +++ Add +extern_c void +ParameterCovariancesParameterCovarianceAdd(ConstHandle2ParameterCovariances This, ConstHandle2ConstParameterCovariance parameterCovariance); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstParameterCovariance +ParameterCovariancesParameterCovarianceGetConst(ConstHandle2ConstParameterCovariances This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ParameterCovariance +ParameterCovariancesParameterCovarianceGet(ConstHandle2ParameterCovariances This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ParameterCovariancesParameterCovarianceSet( + ConstHandle2ParameterCovariances This, + const size_t index_, + ConstHandle2ConstParameterCovariance parameterCovariance +); + +// +++ Has, by label +extern_c int +ParameterCovariancesParameterCovarianceHasByLabel( + ConstHandle2ConstParameterCovariances This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstParameterCovariance +ParameterCovariancesParameterCovarianceGetByLabelConst( + ConstHandle2ConstParameterCovariances This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ParameterCovariance +ParameterCovariancesParameterCovarianceGetByLabel( + ConstHandle2ParameterCovariances This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ParameterCovariancesParameterCovarianceSetByLabel( + ConstHandle2ParameterCovariances This, + const XMLName label, + ConstHandle2ConstParameterCovariance parameterCovariance +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.cpp new file mode 100644 index 000000000..a95846127 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.cpp @@ -0,0 +1,270 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/ParameterLink.hpp" +#include "ParameterLink.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ParameterLinkClass; +using CPP = multigroup::ParameterLink; + +static const std::string CLASSNAME = "ParameterLink"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto matrixStartIndex = [](auto &obj) { return &obj.matrixStartIndex; }; + static auto nParameters = [](auto &obj) { return &obj.nParameters; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstParameterLink +ParameterLinkDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ParameterLink +ParameterLinkDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstParameterLink +ParameterLinkCreateConst( + const XMLName href, + const XMLName label, + const Integer32 matrixStartIndex, + const Integer32 nParameters +) { + ConstHandle2ParameterLink handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href, + label, + matrixStartIndex, + nParameters + ); + return handle; +} + +// Create, general +Handle2ParameterLink +ParameterLinkCreate( + const XMLName href, + const XMLName label, + const Integer32 matrixStartIndex, + const Integer32 nParameters +) { + ConstHandle2ParameterLink handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href, + label, + matrixStartIndex, + nParameters + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ParameterLinkAssign(ConstHandle2ParameterLink This, ConstHandle2ConstParameterLink from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ParameterLinkDelete(ConstHandle2ConstParameterLink This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ParameterLinkRead(ConstHandle2ParameterLink This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ParameterLinkWrite(ConstHandle2ConstParameterLink This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ParameterLinkPrint(ConstHandle2ConstParameterLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ParameterLinkPrintXML(ConstHandle2ConstParameterLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ParameterLinkPrintJSON(ConstHandle2ConstParameterLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ParameterLinkHrefHas(ConstHandle2ConstParameterLink This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +XMLName +ParameterLinkHrefGet(ConstHandle2ConstParameterLink This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ParameterLinkHrefSet(ConstHandle2ParameterLink This, const XMLName href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ParameterLinkLabelHas(ConstHandle2ConstParameterLink This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ParameterLinkLabelGet(ConstHandle2ConstParameterLink This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ParameterLinkLabelSet(ConstHandle2ParameterLink This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: matrixStartIndex +// ----------------------------------------------------------------------------- + +// Has +int +ParameterLinkMatrixStartIndexHas(ConstHandle2ConstParameterLink This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MatrixStartIndexHas", This, extract::matrixStartIndex); +} + +// Get +// Returns by value +Integer32 +ParameterLinkMatrixStartIndexGet(ConstHandle2ConstParameterLink This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MatrixStartIndexGet", This, extract::matrixStartIndex); +} + +// Set +void +ParameterLinkMatrixStartIndexSet(ConstHandle2ParameterLink This, const Integer32 matrixStartIndex) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MatrixStartIndexSet", This, extract::matrixStartIndex, matrixStartIndex); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: nParameters +// ----------------------------------------------------------------------------- + +// Has +int +ParameterLinkNParametersHas(ConstHandle2ConstParameterLink This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NParametersHas", This, extract::nParameters); +} + +// Get +// Returns by value +Integer32 +ParameterLinkNParametersGet(ConstHandle2ConstParameterLink This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NParametersGet", This, extract::nParameters); +} + +// Set +void +ParameterLinkNParametersSet(ConstHandle2ParameterLink This, const Integer32 nParameters) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NParametersSet", This, extract::nParameters, nParameters); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.h new file mode 100644 index 000000000..408c81a9f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.h @@ -0,0 +1,215 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ParameterLink is the basic handle type in this file. Example: +// // Create a default ParameterLink object: +// ParameterLink handle = ParameterLinkDefault(); +// Functions involving ParameterLink are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERLINK +#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERLINK + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ParameterLinkClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ParameterLink +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ParameterLinkClass *ParameterLink; + +// --- Const-aware handles. +typedef const struct ParameterLinkClass *const ConstHandle2ConstParameterLink; +typedef struct ParameterLinkClass *const ConstHandle2ParameterLink; +typedef const struct ParameterLinkClass * Handle2ConstParameterLink; +typedef struct ParameterLinkClass * Handle2ParameterLink; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstParameterLink +ParameterLinkDefaultConst(); + +// +++ Create, default +extern_c Handle2ParameterLink +ParameterLinkDefault(); + +// --- Create, general, const +extern_c Handle2ConstParameterLink +ParameterLinkCreateConst( + const XMLName href, + const XMLName label, + const Integer32 matrixStartIndex, + const Integer32 nParameters +); + +// +++ Create, general +extern_c Handle2ParameterLink +ParameterLinkCreate( + const XMLName href, + const XMLName label, + const Integer32 matrixStartIndex, + const Integer32 nParameters +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ParameterLinkAssign(ConstHandle2ParameterLink This, ConstHandle2ConstParameterLink from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ParameterLinkDelete(ConstHandle2ConstParameterLink This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ParameterLinkRead(ConstHandle2ParameterLink This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ParameterLinkWrite(ConstHandle2ConstParameterLink This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ParameterLinkPrint(ConstHandle2ConstParameterLink This); + +// +++ Print to standard output, as XML +extern_c int +ParameterLinkPrintXML(ConstHandle2ConstParameterLink This); + +// +++ Print to standard output, as JSON +extern_c int +ParameterLinkPrintJSON(ConstHandle2ConstParameterLink This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterLinkHrefHas(ConstHandle2ConstParameterLink This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ParameterLinkHrefGet(ConstHandle2ConstParameterLink This); + +// +++ Set +extern_c void +ParameterLinkHrefSet(ConstHandle2ParameterLink This, const XMLName href); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterLinkLabelHas(ConstHandle2ConstParameterLink This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ParameterLinkLabelGet(ConstHandle2ConstParameterLink This); + +// +++ Set +extern_c void +ParameterLinkLabelSet(ConstHandle2ParameterLink This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: matrixStartIndex +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterLinkMatrixStartIndexHas(ConstHandle2ConstParameterLink This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ParameterLinkMatrixStartIndexGet(ConstHandle2ConstParameterLink This); + +// +++ Set +extern_c void +ParameterLinkMatrixStartIndexSet(ConstHandle2ParameterLink This, const Integer32 matrixStartIndex); + + +// ----------------------------------------------------------------------------- +// Metadatum: nParameters +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParameterLinkNParametersHas(ConstHandle2ConstParameterLink This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ParameterLinkNParametersGet(ConstHandle2ConstParameterLink This); + +// +++ Set +extern_c void +ParameterLinkNParametersSet(ConstHandle2ParameterLink This, const Integer32 nParameters); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.cpp new file mode 100644 index 000000000..3277cc7b5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/Parameters.hpp" +#include "Parameters.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ParametersClass; +using CPP = multigroup::Parameters; + +static const std::string CLASSNAME = "Parameters"; + +namespace extract { + static auto parameterLink = [](auto &obj) { return &obj.parameterLink; }; +} + +using CPPParameterLink = covariance::ParameterLink; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstParameters +ParametersDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Parameters +ParametersDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstParameters +ParametersCreateConst( + ConstHandle2ParameterLink *const parameterLink, const size_t parameterLinkSize +) { + ConstHandle2Parameters handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ParameterLinkN = 0; ParameterLinkN < parameterLinkSize; ++ParameterLinkN) + ParametersParameterLinkAdd(handle, parameterLink[ParameterLinkN]); + return handle; +} + +// Create, general +Handle2Parameters +ParametersCreate( + ConstHandle2ParameterLink *const parameterLink, const size_t parameterLinkSize +) { + ConstHandle2Parameters handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ParameterLinkN = 0; ParameterLinkN < parameterLinkSize; ++ParameterLinkN) + ParametersParameterLinkAdd(handle, parameterLink[ParameterLinkN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ParametersAssign(ConstHandle2Parameters This, ConstHandle2ConstParameters from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ParametersDelete(ConstHandle2ConstParameters This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ParametersRead(ConstHandle2Parameters This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ParametersWrite(ConstHandle2ConstParameters This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ParametersPrint(ConstHandle2ConstParameters This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ParametersPrintXML(ConstHandle2ConstParameters This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ParametersPrintJSON(ConstHandle2ConstParameters This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: parameterLink +// ----------------------------------------------------------------------------- + +// Has +int +ParametersParameterLinkHas(ConstHandle2ConstParameters This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParameterLinkHas", This, extract::parameterLink); +} + +// Clear +void +ParametersParameterLinkClear(ConstHandle2Parameters This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ParameterLinkClear", This, extract::parameterLink); +} + +// Size +size_t +ParametersParameterLinkSize(ConstHandle2ConstParameters This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ParameterLinkSize", This, extract::parameterLink); +} + +// Add +void +ParametersParameterLinkAdd(ConstHandle2Parameters This, ConstHandle2ConstParameterLink parameterLink) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ParameterLinkAdd", This, extract::parameterLink, parameterLink); +} + +// Get, by index \in [0,size), const +Handle2ConstParameterLink +ParametersParameterLinkGetConst(ConstHandle2ConstParameters This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ParameterLinkGetConst", This, extract::parameterLink, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ParameterLink +ParametersParameterLinkGet(ConstHandle2Parameters This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ParameterLinkGet", This, extract::parameterLink, index_); +} + +// Set, by index \in [0,size) +void +ParametersParameterLinkSet( + ConstHandle2Parameters This, + const size_t index_, + ConstHandle2ConstParameterLink parameterLink +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ParameterLinkSet", This, extract::parameterLink, index_, parameterLink); +} + +// Has, by href +int +ParametersParameterLinkHasByHref( + ConstHandle2ConstParameters This, + const XMLName href +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkHasByHref", + This, extract::parameterLink, meta::href, href); +} + +// Get, by href, const +Handle2ConstParameterLink +ParametersParameterLinkGetByHrefConst( + ConstHandle2ConstParameters This, + const XMLName href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkGetByHrefConst", + This, extract::parameterLink, meta::href, href); +} + +// Get, by href, non-const +Handle2ParameterLink +ParametersParameterLinkGetByHref( + ConstHandle2Parameters This, + const XMLName href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkGetByHref", + This, extract::parameterLink, meta::href, href); +} + +// Set, by href +void +ParametersParameterLinkSetByHref( + ConstHandle2Parameters This, + const XMLName href, + ConstHandle2ConstParameterLink parameterLink +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkSetByHref", + This, extract::parameterLink, meta::href, href, parameterLink); +} + +// Has, by label +int +ParametersParameterLinkHasByLabel( + ConstHandle2ConstParameters This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkHasByLabel", + This, extract::parameterLink, meta::label, label); +} + +// Get, by label, const +Handle2ConstParameterLink +ParametersParameterLinkGetByLabelConst( + ConstHandle2ConstParameters This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkGetByLabelConst", + This, extract::parameterLink, meta::label, label); +} + +// Get, by label, non-const +Handle2ParameterLink +ParametersParameterLinkGetByLabel( + ConstHandle2Parameters This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkGetByLabel", + This, extract::parameterLink, meta::label, label); +} + +// Set, by label +void +ParametersParameterLinkSetByLabel( + ConstHandle2Parameters This, + const XMLName label, + ConstHandle2ConstParameterLink parameterLink +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkSetByLabel", + This, extract::parameterLink, meta::label, label, parameterLink); +} + +// Has, by matrixStartIndex +int +ParametersParameterLinkHasByMatrixStartIndex( + ConstHandle2ConstParameters This, + const Integer32 matrixStartIndex +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkHasByMatrixStartIndex", + This, extract::parameterLink, meta::matrixStartIndex, matrixStartIndex); +} + +// Get, by matrixStartIndex, const +Handle2ConstParameterLink +ParametersParameterLinkGetByMatrixStartIndexConst( + ConstHandle2ConstParameters This, + const Integer32 matrixStartIndex +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkGetByMatrixStartIndexConst", + This, extract::parameterLink, meta::matrixStartIndex, matrixStartIndex); +} + +// Get, by matrixStartIndex, non-const +Handle2ParameterLink +ParametersParameterLinkGetByMatrixStartIndex( + ConstHandle2Parameters This, + const Integer32 matrixStartIndex +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkGetByMatrixStartIndex", + This, extract::parameterLink, meta::matrixStartIndex, matrixStartIndex); +} + +// Set, by matrixStartIndex +void +ParametersParameterLinkSetByMatrixStartIndex( + ConstHandle2Parameters This, + const Integer32 matrixStartIndex, + ConstHandle2ConstParameterLink parameterLink +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkSetByMatrixStartIndex", + This, extract::parameterLink, meta::matrixStartIndex, matrixStartIndex, parameterLink); +} + +// Has, by nParameters +int +ParametersParameterLinkHasByNParameters( + ConstHandle2ConstParameters This, + const Integer32 nParameters +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkHasByNParameters", + This, extract::parameterLink, meta::nParameters, nParameters); +} + +// Get, by nParameters, const +Handle2ConstParameterLink +ParametersParameterLinkGetByNParametersConst( + ConstHandle2ConstParameters This, + const Integer32 nParameters +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkGetByNParametersConst", + This, extract::parameterLink, meta::nParameters, nParameters); +} + +// Get, by nParameters, non-const +Handle2ParameterLink +ParametersParameterLinkGetByNParameters( + ConstHandle2Parameters This, + const Integer32 nParameters +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkGetByNParameters", + This, extract::parameterLink, meta::nParameters, nParameters); +} + +// Set, by nParameters +void +ParametersParameterLinkSetByNParameters( + ConstHandle2Parameters This, + const Integer32 nParameters, + ConstHandle2ConstParameterLink parameterLink +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ParameterLinkSetByNParameters", + This, extract::parameterLink, meta::nParameters, nParameters, parameterLink); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.h new file mode 100644 index 000000000..9916a3376 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Parameters is the basic handle type in this file. Example: +// // Create a default Parameters object: +// Parameters handle = ParametersDefault(); +// Functions involving Parameters are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERS +#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERS + +#include "GNDStk.h" +#include "v2.0/covariance/ParameterLink.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ParametersClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Parameters +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ParametersClass *Parameters; + +// --- Const-aware handles. +typedef const struct ParametersClass *const ConstHandle2ConstParameters; +typedef struct ParametersClass *const ConstHandle2Parameters; +typedef const struct ParametersClass * Handle2ConstParameters; +typedef struct ParametersClass * Handle2Parameters; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstParameters +ParametersDefaultConst(); + +// +++ Create, default +extern_c Handle2Parameters +ParametersDefault(); + +// --- Create, general, const +extern_c Handle2ConstParameters +ParametersCreateConst( + ConstHandle2ParameterLink *const parameterLink, const size_t parameterLinkSize +); + +// +++ Create, general +extern_c Handle2Parameters +ParametersCreate( + ConstHandle2ParameterLink *const parameterLink, const size_t parameterLinkSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ParametersAssign(ConstHandle2Parameters This, ConstHandle2ConstParameters from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ParametersDelete(ConstHandle2ConstParameters This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ParametersRead(ConstHandle2Parameters This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ParametersWrite(ConstHandle2ConstParameters This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ParametersPrint(ConstHandle2ConstParameters This); + +// +++ Print to standard output, as XML +extern_c int +ParametersPrintXML(ConstHandle2ConstParameters This); + +// +++ Print to standard output, as JSON +extern_c int +ParametersPrintJSON(ConstHandle2ConstParameters This); + + +// ----------------------------------------------------------------------------- +// Child: parameterLink +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParametersParameterLinkHas(ConstHandle2ConstParameters This); + +// +++ Clear +extern_c void +ParametersParameterLinkClear(ConstHandle2Parameters This); + +// +++ Size +extern_c size_t +ParametersParameterLinkSize(ConstHandle2ConstParameters This); + +// +++ Add +extern_c void +ParametersParameterLinkAdd(ConstHandle2Parameters This, ConstHandle2ConstParameterLink parameterLink); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstParameterLink +ParametersParameterLinkGetConst(ConstHandle2ConstParameters This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ParameterLink +ParametersParameterLinkGet(ConstHandle2Parameters This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ParametersParameterLinkSet( + ConstHandle2Parameters This, + const size_t index_, + ConstHandle2ConstParameterLink parameterLink +); + +// +++ Has, by href +extern_c int +ParametersParameterLinkHasByHref( + ConstHandle2ConstParameters This, + const XMLName href +); + +// --- Get, by href, const +extern_c Handle2ConstParameterLink +ParametersParameterLinkGetByHrefConst( + ConstHandle2ConstParameters This, + const XMLName href +); + +// +++ Get, by href, non-const +extern_c Handle2ParameterLink +ParametersParameterLinkGetByHref( + ConstHandle2Parameters This, + const XMLName href +); + +// +++ Set, by href +extern_c void +ParametersParameterLinkSetByHref( + ConstHandle2Parameters This, + const XMLName href, + ConstHandle2ConstParameterLink parameterLink +); + +// +++ Has, by label +extern_c int +ParametersParameterLinkHasByLabel( + ConstHandle2ConstParameters This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstParameterLink +ParametersParameterLinkGetByLabelConst( + ConstHandle2ConstParameters This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ParameterLink +ParametersParameterLinkGetByLabel( + ConstHandle2Parameters This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ParametersParameterLinkSetByLabel( + ConstHandle2Parameters This, + const XMLName label, + ConstHandle2ConstParameterLink parameterLink +); + +// +++ Has, by matrixStartIndex +extern_c int +ParametersParameterLinkHasByMatrixStartIndex( + ConstHandle2ConstParameters This, + const Integer32 matrixStartIndex +); + +// --- Get, by matrixStartIndex, const +extern_c Handle2ConstParameterLink +ParametersParameterLinkGetByMatrixStartIndexConst( + ConstHandle2ConstParameters This, + const Integer32 matrixStartIndex +); + +// +++ Get, by matrixStartIndex, non-const +extern_c Handle2ParameterLink +ParametersParameterLinkGetByMatrixStartIndex( + ConstHandle2Parameters This, + const Integer32 matrixStartIndex +); + +// +++ Set, by matrixStartIndex +extern_c void +ParametersParameterLinkSetByMatrixStartIndex( + ConstHandle2Parameters This, + const Integer32 matrixStartIndex, + ConstHandle2ConstParameterLink parameterLink +); + +// +++ Has, by nParameters +extern_c int +ParametersParameterLinkHasByNParameters( + ConstHandle2ConstParameters This, + const Integer32 nParameters +); + +// --- Get, by nParameters, const +extern_c Handle2ConstParameterLink +ParametersParameterLinkGetByNParametersConst( + ConstHandle2ConstParameters This, + const Integer32 nParameters +); + +// +++ Get, by nParameters, non-const +extern_c Handle2ParameterLink +ParametersParameterLinkGetByNParameters( + ConstHandle2Parameters This, + const Integer32 nParameters +); + +// +++ Set, by nParameters +extern_c void +ParametersParameterLinkSetByNParameters( + ConstHandle2Parameters This, + const Integer32 nParameters, + ConstHandle2ConstParameterLink parameterLink +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.cpp new file mode 100644 index 000000000..793a9d243 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/RowData.hpp" +#include "RowData.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RowDataClass; +using CPP = multigroup::RowData; + +static const std::string CLASSNAME = "RowData"; + +namespace extract { + static auto ENDF_MFMT = [](auto &obj) { return &obj.ENDF_MFMT; }; + static auto href = [](auto &obj) { return &obj.href; }; + static auto dimension = [](auto &obj) { return &obj.dimension; }; + static auto slices = [](auto &obj) { return &obj.slices; }; +} + +using CPPSlices = covariance::Slices; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRowData +RowDataDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2RowData +RowDataDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRowData +RowDataCreateConst( + const XMLName ENDF_MFMT, + const XMLName href, + const Integer32 dimension, + ConstHandle2ConstSlices slices +) { + ConstHandle2RowData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MFMT, + href, + dimension, + detail::tocpp(slices) + ); + return handle; +} + +// Create, general +Handle2RowData +RowDataCreate( + const XMLName ENDF_MFMT, + const XMLName href, + const Integer32 dimension, + ConstHandle2ConstSlices slices +) { + ConstHandle2RowData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MFMT, + href, + dimension, + detail::tocpp(slices) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RowDataAssign(ConstHandle2RowData This, ConstHandle2ConstRowData from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RowDataDelete(ConstHandle2ConstRowData This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RowDataRead(ConstHandle2RowData This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RowDataWrite(ConstHandle2ConstRowData This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RowDataPrint(ConstHandle2ConstRowData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RowDataPrintXML(ConstHandle2ConstRowData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RowDataPrintJSON(ConstHandle2ConstRowData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MFMT +// ----------------------------------------------------------------------------- + +// Has +int +RowDataENDFMFMTHas(ConstHandle2ConstRowData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMFMTHas", This, extract::ENDF_MFMT); +} + +// Get +// Returns by value +XMLName +RowDataENDFMFMTGet(ConstHandle2ConstRowData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMFMTGet", This, extract::ENDF_MFMT); +} + +// Set +void +RowDataENDFMFMTSet(ConstHandle2RowData This, const XMLName ENDF_MFMT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMFMTSet", This, extract::ENDF_MFMT, ENDF_MFMT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +RowDataHrefHas(ConstHandle2ConstRowData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +XMLName +RowDataHrefGet(ConstHandle2ConstRowData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +RowDataHrefSet(ConstHandle2RowData This, const XMLName href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: dimension +// ----------------------------------------------------------------------------- + +// Has +int +RowDataDimensionHas(ConstHandle2ConstRowData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DimensionHas", This, extract::dimension); +} + +// Get +// Returns by value +Integer32 +RowDataDimensionGet(ConstHandle2ConstRowData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DimensionGet", This, extract::dimension); +} + +// Set +void +RowDataDimensionSet(ConstHandle2RowData This, const Integer32 dimension) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DimensionSet", This, extract::dimension, dimension); +} + + +// ----------------------------------------------------------------------------- +// Child: slices +// ----------------------------------------------------------------------------- + +// Has +int +RowDataSlicesHas(ConstHandle2ConstRowData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SlicesHas", This, extract::slices); +} + +// Get, const +Handle2ConstSlices +RowDataSlicesGetConst(ConstHandle2ConstRowData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SlicesGetConst", This, extract::slices); +} + +// Get, non-const +Handle2Slices +RowDataSlicesGet(ConstHandle2RowData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SlicesGet", This, extract::slices); +} + +// Set +void +RowDataSlicesSet(ConstHandle2RowData This, ConstHandle2ConstSlices slices) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SlicesSet", This, extract::slices, slices); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.h new file mode 100644 index 000000000..eb593dbcb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// RowData is the basic handle type in this file. Example: +// // Create a default RowData object: +// RowData handle = RowDataDefault(); +// Functions involving RowData are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_ROWDATA +#define C_INTERFACE_TRY_V2_0_COVARIANCE_ROWDATA + +#include "GNDStk.h" +#include "v2.0/covariance/Slices.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RowDataClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ RowData +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RowDataClass *RowData; + +// --- Const-aware handles. +typedef const struct RowDataClass *const ConstHandle2ConstRowData; +typedef struct RowDataClass *const ConstHandle2RowData; +typedef const struct RowDataClass * Handle2ConstRowData; +typedef struct RowDataClass * Handle2RowData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRowData +RowDataDefaultConst(); + +// +++ Create, default +extern_c Handle2RowData +RowDataDefault(); + +// --- Create, general, const +extern_c Handle2ConstRowData +RowDataCreateConst( + const XMLName ENDF_MFMT, + const XMLName href, + const Integer32 dimension, + ConstHandle2ConstSlices slices +); + +// +++ Create, general +extern_c Handle2RowData +RowDataCreate( + const XMLName ENDF_MFMT, + const XMLName href, + const Integer32 dimension, + ConstHandle2ConstSlices slices +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RowDataAssign(ConstHandle2RowData This, ConstHandle2ConstRowData from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RowDataDelete(ConstHandle2ConstRowData This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RowDataRead(ConstHandle2RowData This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RowDataWrite(ConstHandle2ConstRowData This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RowDataPrint(ConstHandle2ConstRowData This); + +// +++ Print to standard output, as XML +extern_c int +RowDataPrintXML(ConstHandle2ConstRowData This); + +// +++ Print to standard output, as JSON +extern_c int +RowDataPrintJSON(ConstHandle2ConstRowData This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MFMT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RowDataENDFMFMTHas(ConstHandle2ConstRowData This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +RowDataENDFMFMTGet(ConstHandle2ConstRowData This); + +// +++ Set +extern_c void +RowDataENDFMFMTSet(ConstHandle2RowData This, const XMLName ENDF_MFMT); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RowDataHrefHas(ConstHandle2ConstRowData This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +RowDataHrefGet(ConstHandle2ConstRowData This); + +// +++ Set +extern_c void +RowDataHrefSet(ConstHandle2RowData This, const XMLName href); + + +// ----------------------------------------------------------------------------- +// Metadatum: dimension +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RowDataDimensionHas(ConstHandle2ConstRowData This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +RowDataDimensionGet(ConstHandle2ConstRowData This); + +// +++ Set +extern_c void +RowDataDimensionSet(ConstHandle2RowData This, const Integer32 dimension); + + +// ----------------------------------------------------------------------------- +// Child: slices +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RowDataSlicesHas(ConstHandle2ConstRowData This); + +// --- Get, const +extern_c Handle2ConstSlices +RowDataSlicesGetConst(ConstHandle2ConstRowData This); + +// +++ Get, non-const +extern_c Handle2Slices +RowDataSlicesGet(ConstHandle2RowData This); + +// +++ Set +extern_c void +RowDataSlicesSet(ConstHandle2RowData This, ConstHandle2ConstSlices slices); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp new file mode 100644 index 000000000..baf0b95f1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/RowSensitivity.hpp" +#include "RowSensitivity.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RowSensitivityClass; +using CPP = multigroup::RowSensitivity; + +static const std::string CLASSNAME = "RowSensitivity"; + +namespace extract { + static auto array = [](auto &obj) { return &obj.array; }; +} + +using CPPArray = unknownNamespace::Array; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRowSensitivity +RowSensitivityDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2RowSensitivity +RowSensitivityDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRowSensitivity +RowSensitivityCreateConst( + ConstHandle2ConstArray array +) { + ConstHandle2RowSensitivity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(array) + ); + return handle; +} + +// Create, general +Handle2RowSensitivity +RowSensitivityCreate( + ConstHandle2ConstArray array +) { + ConstHandle2RowSensitivity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(array) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RowSensitivityAssign(ConstHandle2RowSensitivity This, ConstHandle2ConstRowSensitivity from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RowSensitivityDelete(ConstHandle2ConstRowSensitivity This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RowSensitivityRead(ConstHandle2RowSensitivity This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RowSensitivityWrite(ConstHandle2ConstRowSensitivity This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RowSensitivityPrint(ConstHandle2ConstRowSensitivity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RowSensitivityPrintXML(ConstHandle2ConstRowSensitivity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RowSensitivityPrintJSON(ConstHandle2ConstRowSensitivity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// Has +int +RowSensitivityArrayHas(ConstHandle2ConstRowSensitivity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ArrayHas", This, extract::array); +} + +// Get, const +Handle2ConstArray +RowSensitivityArrayGetConst(ConstHandle2ConstRowSensitivity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGetConst", This, extract::array); +} + +// Get, non-const +Handle2Array +RowSensitivityArrayGet(ConstHandle2RowSensitivity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGet", This, extract::array); +} + +// Set +void +RowSensitivityArraySet(ConstHandle2RowSensitivity This, ConstHandle2ConstArray array) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ArraySet", This, extract::array, array); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h new file mode 100644 index 000000000..2c3565e46 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// RowSensitivity is the basic handle type in this file. Example: +// // Create a default RowSensitivity object: +// RowSensitivity handle = RowSensitivityDefault(); +// Functions involving RowSensitivity are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_ROWSENSITIVITY +#define C_INTERFACE_TRY_V2_0_COVARIANCE_ROWSENSITIVITY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Array.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RowSensitivityClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ RowSensitivity +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RowSensitivityClass *RowSensitivity; + +// --- Const-aware handles. +typedef const struct RowSensitivityClass *const ConstHandle2ConstRowSensitivity; +typedef struct RowSensitivityClass *const ConstHandle2RowSensitivity; +typedef const struct RowSensitivityClass * Handle2ConstRowSensitivity; +typedef struct RowSensitivityClass * Handle2RowSensitivity; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRowSensitivity +RowSensitivityDefaultConst(); + +// +++ Create, default +extern_c Handle2RowSensitivity +RowSensitivityDefault(); + +// --- Create, general, const +extern_c Handle2ConstRowSensitivity +RowSensitivityCreateConst( + ConstHandle2ConstArray array +); + +// +++ Create, general +extern_c Handle2RowSensitivity +RowSensitivityCreate( + ConstHandle2ConstArray array +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RowSensitivityAssign(ConstHandle2RowSensitivity This, ConstHandle2ConstRowSensitivity from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RowSensitivityDelete(ConstHandle2ConstRowSensitivity This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RowSensitivityRead(ConstHandle2RowSensitivity This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RowSensitivityWrite(ConstHandle2ConstRowSensitivity This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RowSensitivityPrint(ConstHandle2ConstRowSensitivity This); + +// +++ Print to standard output, as XML +extern_c int +RowSensitivityPrintXML(ConstHandle2ConstRowSensitivity This); + +// +++ Print to standard output, as JSON +extern_c int +RowSensitivityPrintJSON(ConstHandle2ConstRowSensitivity This); + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RowSensitivityArrayHas(ConstHandle2ConstRowSensitivity This); + +// --- Get, const +extern_c Handle2ConstArray +RowSensitivityArrayGetConst(ConstHandle2ConstRowSensitivity This); + +// +++ Get, non-const +extern_c Handle2Array +RowSensitivityArrayGet(ConstHandle2RowSensitivity This); + +// +++ Set +extern_c void +RowSensitivityArraySet(ConstHandle2RowSensitivity This, ConstHandle2ConstArray array); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp new file mode 100644 index 000000000..4d99188a5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp @@ -0,0 +1,303 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/SandwichProduct.hpp" +#include "SandwichProduct.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SandwichProductClass; +using CPP = multigroup::SandwichProduct; + +static const std::string CLASSNAME = "SandwichProduct"; + +namespace extract { + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto covariance = [](auto &obj) { return &obj.covariance; }; + static auto rowSensitivity = [](auto &obj) { return &obj.rowSensitivity; }; + static auto columnSensitivity = [](auto &obj) { return &obj.columnSensitivity; }; +} + +using CPPAxes = unknownNamespace::Axes; +using CPPCovariance = covariance::Covariance; +using CPPRowSensitivity = covariance::RowSensitivity; +using CPPColumnSensitivity = covariance::ColumnSensitivity; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSandwichProduct +SandwichProductDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2SandwichProduct +SandwichProductDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSandwichProduct +SandwichProductCreateConst( + ConstHandle2ConstAxes axes, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstRowSensitivity rowSensitivity, + ConstHandle2ConstColumnSensitivity columnSensitivity +) { + ConstHandle2SandwichProduct handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(axes), + detail::tocpp(covariance), + detail::tocpp(rowSensitivity), + detail::tocpp(columnSensitivity) + ); + return handle; +} + +// Create, general +Handle2SandwichProduct +SandwichProductCreate( + ConstHandle2ConstAxes axes, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstRowSensitivity rowSensitivity, + ConstHandle2ConstColumnSensitivity columnSensitivity +) { + ConstHandle2SandwichProduct handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(axes), + detail::tocpp(covariance), + detail::tocpp(rowSensitivity), + detail::tocpp(columnSensitivity) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SandwichProductAssign(ConstHandle2SandwichProduct This, ConstHandle2ConstSandwichProduct from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SandwichProductDelete(ConstHandle2ConstSandwichProduct This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SandwichProductRead(ConstHandle2SandwichProduct This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SandwichProductWrite(ConstHandle2ConstSandwichProduct This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SandwichProductPrint(ConstHandle2ConstSandwichProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SandwichProductPrintXML(ConstHandle2ConstSandwichProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SandwichProductPrintJSON(ConstHandle2ConstSandwichProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +SandwichProductAxesHas(ConstHandle2ConstSandwichProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +SandwichProductAxesGetConst(ConstHandle2ConstSandwichProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +SandwichProductAxesGet(ConstHandle2SandwichProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +SandwichProductAxesSet(ConstHandle2SandwichProduct This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: covariance +// ----------------------------------------------------------------------------- + +// Has +int +SandwichProductCovarianceHas(ConstHandle2ConstSandwichProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CovarianceHas", This, extract::covariance); +} + +// Get, const +Handle2ConstCovariance +SandwichProductCovarianceGetConst(ConstHandle2ConstSandwichProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceGetConst", This, extract::covariance); +} + +// Get, non-const +Handle2Covariance +SandwichProductCovarianceGet(ConstHandle2SandwichProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceGet", This, extract::covariance); +} + +// Set +void +SandwichProductCovarianceSet(ConstHandle2SandwichProduct This, ConstHandle2ConstCovariance covariance) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CovarianceSet", This, extract::covariance, covariance); +} + + +// ----------------------------------------------------------------------------- +// Child: rowSensitivity +// ----------------------------------------------------------------------------- + +// Has +int +SandwichProductRowSensitivityHas(ConstHandle2ConstSandwichProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RowSensitivityHas", This, extract::rowSensitivity); +} + +// Get, const +Handle2ConstRowSensitivity +SandwichProductRowSensitivityGetConst(ConstHandle2ConstSandwichProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowSensitivityGetConst", This, extract::rowSensitivity); +} + +// Get, non-const +Handle2RowSensitivity +SandwichProductRowSensitivityGet(ConstHandle2SandwichProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowSensitivityGet", This, extract::rowSensitivity); +} + +// Set +void +SandwichProductRowSensitivitySet(ConstHandle2SandwichProduct This, ConstHandle2ConstRowSensitivity rowSensitivity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RowSensitivitySet", This, extract::rowSensitivity, rowSensitivity); +} + + +// ----------------------------------------------------------------------------- +// Child: columnSensitivity +// ----------------------------------------------------------------------------- + +// Has +int +SandwichProductColumnSensitivityHas(ConstHandle2ConstSandwichProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ColumnSensitivityHas", This, extract::columnSensitivity); +} + +// Get, const +Handle2ConstColumnSensitivity +SandwichProductColumnSensitivityGetConst(ConstHandle2ConstSandwichProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnSensitivityGetConst", This, extract::columnSensitivity); +} + +// Get, non-const +Handle2ColumnSensitivity +SandwichProductColumnSensitivityGet(ConstHandle2SandwichProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnSensitivityGet", This, extract::columnSensitivity); +} + +// Set +void +SandwichProductColumnSensitivitySet(ConstHandle2SandwichProduct This, ConstHandle2ConstColumnSensitivity columnSensitivity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ColumnSensitivitySet", This, extract::columnSensitivity, columnSensitivity); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h new file mode 100644 index 000000000..2b2577565 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h @@ -0,0 +1,231 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// SandwichProduct is the basic handle type in this file. Example: +// // Create a default SandwichProduct object: +// SandwichProduct handle = SandwichProductDefault(); +// Functions involving SandwichProduct are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SANDWICHPRODUCT +#define C_INTERFACE_TRY_V2_0_COVARIANCE_SANDWICHPRODUCT + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Axes.h" +#include "v2.0/covariance/Covariance.h" +#include "v2.0/covariance/RowSensitivity.h" +#include "v2.0/covariance/ColumnSensitivity.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SandwichProductClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ SandwichProduct +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SandwichProductClass *SandwichProduct; + +// --- Const-aware handles. +typedef const struct SandwichProductClass *const ConstHandle2ConstSandwichProduct; +typedef struct SandwichProductClass *const ConstHandle2SandwichProduct; +typedef const struct SandwichProductClass * Handle2ConstSandwichProduct; +typedef struct SandwichProductClass * Handle2SandwichProduct; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSandwichProduct +SandwichProductDefaultConst(); + +// +++ Create, default +extern_c Handle2SandwichProduct +SandwichProductDefault(); + +// --- Create, general, const +extern_c Handle2ConstSandwichProduct +SandwichProductCreateConst( + ConstHandle2ConstAxes axes, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstRowSensitivity rowSensitivity, + ConstHandle2ConstColumnSensitivity columnSensitivity +); + +// +++ Create, general +extern_c Handle2SandwichProduct +SandwichProductCreate( + ConstHandle2ConstAxes axes, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstRowSensitivity rowSensitivity, + ConstHandle2ConstColumnSensitivity columnSensitivity +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SandwichProductAssign(ConstHandle2SandwichProduct This, ConstHandle2ConstSandwichProduct from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SandwichProductDelete(ConstHandle2ConstSandwichProduct This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SandwichProductRead(ConstHandle2SandwichProduct This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SandwichProductWrite(ConstHandle2ConstSandwichProduct This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SandwichProductPrint(ConstHandle2ConstSandwichProduct This); + +// +++ Print to standard output, as XML +extern_c int +SandwichProductPrintXML(ConstHandle2ConstSandwichProduct This); + +// +++ Print to standard output, as JSON +extern_c int +SandwichProductPrintJSON(ConstHandle2ConstSandwichProduct This); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SandwichProductAxesHas(ConstHandle2ConstSandwichProduct This); + +// --- Get, const +extern_c Handle2ConstAxes +SandwichProductAxesGetConst(ConstHandle2ConstSandwichProduct This); + +// +++ Get, non-const +extern_c Handle2Axes +SandwichProductAxesGet(ConstHandle2SandwichProduct This); + +// +++ Set +extern_c void +SandwichProductAxesSet(ConstHandle2SandwichProduct This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: covariance +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SandwichProductCovarianceHas(ConstHandle2ConstSandwichProduct This); + +// --- Get, const +extern_c Handle2ConstCovariance +SandwichProductCovarianceGetConst(ConstHandle2ConstSandwichProduct This); + +// +++ Get, non-const +extern_c Handle2Covariance +SandwichProductCovarianceGet(ConstHandle2SandwichProduct This); + +// +++ Set +extern_c void +SandwichProductCovarianceSet(ConstHandle2SandwichProduct This, ConstHandle2ConstCovariance covariance); + + +// ----------------------------------------------------------------------------- +// Child: rowSensitivity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SandwichProductRowSensitivityHas(ConstHandle2ConstSandwichProduct This); + +// --- Get, const +extern_c Handle2ConstRowSensitivity +SandwichProductRowSensitivityGetConst(ConstHandle2ConstSandwichProduct This); + +// +++ Get, non-const +extern_c Handle2RowSensitivity +SandwichProductRowSensitivityGet(ConstHandle2SandwichProduct This); + +// +++ Set +extern_c void +SandwichProductRowSensitivitySet(ConstHandle2SandwichProduct This, ConstHandle2ConstRowSensitivity rowSensitivity); + + +// ----------------------------------------------------------------------------- +// Child: columnSensitivity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SandwichProductColumnSensitivityHas(ConstHandle2ConstSandwichProduct This); + +// --- Get, const +extern_c Handle2ConstColumnSensitivity +SandwichProductColumnSensitivityGetConst(ConstHandle2ConstSandwichProduct This); + +// +++ Get, non-const +extern_c Handle2ColumnSensitivity +SandwichProductColumnSensitivityGet(ConstHandle2SandwichProduct This); + +// +++ Set +extern_c void +SandwichProductColumnSensitivitySet(ConstHandle2SandwichProduct This, ConstHandle2ConstColumnSensitivity columnSensitivity); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp new file mode 100644 index 000000000..685260aff --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "ShortRangeSelfScalingVariance.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ShortRangeSelfScalingVarianceClass; +using CPP = multigroup::ShortRangeSelfScalingVariance; + +static const std::string CLASSNAME = "ShortRangeSelfScalingVariance"; + +namespace extract { + static auto dependenceOnProcessedGroupWidth = [](auto &obj) { return &obj.dependenceOnProcessedGroupWidth; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto type = [](auto &obj) { return &obj.type; }; + static auto gridded2d = [](auto &obj) { return &obj.gridded2d; }; +} + +using CPPGridded2d = unknownNamespace::Gridded2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstShortRangeSelfScalingVariance +ShortRangeSelfScalingVarianceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ShortRangeSelfScalingVariance +ShortRangeSelfScalingVarianceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstShortRangeSelfScalingVariance +ShortRangeSelfScalingVarianceCreateConst( + const XMLName dependenceOnProcessedGroupWidth, + const XMLName label, + const XMLName type, + ConstHandle2ConstGridded2d gridded2d +) { + ConstHandle2ShortRangeSelfScalingVariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + dependenceOnProcessedGroupWidth, + label, + type, + detail::tocpp(gridded2d) + ); + return handle; +} + +// Create, general +Handle2ShortRangeSelfScalingVariance +ShortRangeSelfScalingVarianceCreate( + const XMLName dependenceOnProcessedGroupWidth, + const XMLName label, + const XMLName type, + ConstHandle2ConstGridded2d gridded2d +) { + ConstHandle2ShortRangeSelfScalingVariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + dependenceOnProcessedGroupWidth, + label, + type, + detail::tocpp(gridded2d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ShortRangeSelfScalingVarianceAssign(ConstHandle2ShortRangeSelfScalingVariance This, ConstHandle2ConstShortRangeSelfScalingVariance from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ShortRangeSelfScalingVarianceDelete(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ShortRangeSelfScalingVarianceRead(ConstHandle2ShortRangeSelfScalingVariance This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ShortRangeSelfScalingVarianceWrite(ConstHandle2ConstShortRangeSelfScalingVariance This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ShortRangeSelfScalingVariancePrint(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ShortRangeSelfScalingVariancePrintXML(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ShortRangeSelfScalingVariancePrintJSON(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: dependenceOnProcessedGroupWidth +// ----------------------------------------------------------------------------- + +// Has +int +ShortRangeSelfScalingVarianceDependenceOnProcessedGroupWidthHas(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DependenceOnProcessedGroupWidthHas", This, extract::dependenceOnProcessedGroupWidth); +} + +// Get +// Returns by value +XMLName +ShortRangeSelfScalingVarianceDependenceOnProcessedGroupWidthGet(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DependenceOnProcessedGroupWidthGet", This, extract::dependenceOnProcessedGroupWidth); +} + +// Set +void +ShortRangeSelfScalingVarianceDependenceOnProcessedGroupWidthSet(ConstHandle2ShortRangeSelfScalingVariance This, const XMLName dependenceOnProcessedGroupWidth) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DependenceOnProcessedGroupWidthSet", This, extract::dependenceOnProcessedGroupWidth, dependenceOnProcessedGroupWidth); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ShortRangeSelfScalingVarianceLabelHas(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ShortRangeSelfScalingVarianceLabelGet(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ShortRangeSelfScalingVarianceLabelSet(ConstHandle2ShortRangeSelfScalingVariance This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// Has +int +ShortRangeSelfScalingVarianceTypeHas(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TypeHas", This, extract::type); +} + +// Get +// Returns by value +XMLName +ShortRangeSelfScalingVarianceTypeGet(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TypeGet", This, extract::type); +} + +// Set +void +ShortRangeSelfScalingVarianceTypeSet(ConstHandle2ShortRangeSelfScalingVariance This, const XMLName type) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TypeSet", This, extract::type, type); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded2d +// ----------------------------------------------------------------------------- + +// Has +int +ShortRangeSelfScalingVarianceGridded2dHas(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded2dHas", This, extract::gridded2d); +} + +// Get, const +Handle2ConstGridded2d +ShortRangeSelfScalingVarianceGridded2dGetConst(ConstHandle2ConstShortRangeSelfScalingVariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded2dGetConst", This, extract::gridded2d); +} + +// Get, non-const +Handle2Gridded2d +ShortRangeSelfScalingVarianceGridded2dGet(ConstHandle2ShortRangeSelfScalingVariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded2dGet", This, extract::gridded2d); +} + +// Set +void +ShortRangeSelfScalingVarianceGridded2dSet(ConstHandle2ShortRangeSelfScalingVariance This, ConstHandle2ConstGridded2d gridded2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded2dSet", This, extract::gridded2d, gridded2d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h new file mode 100644 index 000000000..605415b36 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ShortRangeSelfScalingVariance is the basic handle type in this file. Example: +// // Create a default ShortRangeSelfScalingVariance object: +// ShortRangeSelfScalingVariance handle = ShortRangeSelfScalingVarianceDefault(); +// Functions involving ShortRangeSelfScalingVariance are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE +#define C_INTERFACE_TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Gridded2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ShortRangeSelfScalingVarianceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ShortRangeSelfScalingVariance +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ShortRangeSelfScalingVarianceClass *ShortRangeSelfScalingVariance; + +// --- Const-aware handles. +typedef const struct ShortRangeSelfScalingVarianceClass *const ConstHandle2ConstShortRangeSelfScalingVariance; +typedef struct ShortRangeSelfScalingVarianceClass *const ConstHandle2ShortRangeSelfScalingVariance; +typedef const struct ShortRangeSelfScalingVarianceClass * Handle2ConstShortRangeSelfScalingVariance; +typedef struct ShortRangeSelfScalingVarianceClass * Handle2ShortRangeSelfScalingVariance; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstShortRangeSelfScalingVariance +ShortRangeSelfScalingVarianceDefaultConst(); + +// +++ Create, default +extern_c Handle2ShortRangeSelfScalingVariance +ShortRangeSelfScalingVarianceDefault(); + +// --- Create, general, const +extern_c Handle2ConstShortRangeSelfScalingVariance +ShortRangeSelfScalingVarianceCreateConst( + const XMLName dependenceOnProcessedGroupWidth, + const XMLName label, + const XMLName type, + ConstHandle2ConstGridded2d gridded2d +); + +// +++ Create, general +extern_c Handle2ShortRangeSelfScalingVariance +ShortRangeSelfScalingVarianceCreate( + const XMLName dependenceOnProcessedGroupWidth, + const XMLName label, + const XMLName type, + ConstHandle2ConstGridded2d gridded2d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ShortRangeSelfScalingVarianceAssign(ConstHandle2ShortRangeSelfScalingVariance This, ConstHandle2ConstShortRangeSelfScalingVariance from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ShortRangeSelfScalingVarianceDelete(ConstHandle2ConstShortRangeSelfScalingVariance This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ShortRangeSelfScalingVarianceRead(ConstHandle2ShortRangeSelfScalingVariance This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ShortRangeSelfScalingVarianceWrite(ConstHandle2ConstShortRangeSelfScalingVariance This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ShortRangeSelfScalingVariancePrint(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Print to standard output, as XML +extern_c int +ShortRangeSelfScalingVariancePrintXML(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Print to standard output, as JSON +extern_c int +ShortRangeSelfScalingVariancePrintJSON(ConstHandle2ConstShortRangeSelfScalingVariance This); + + +// ----------------------------------------------------------------------------- +// Metadatum: dependenceOnProcessedGroupWidth +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ShortRangeSelfScalingVarianceDependenceOnProcessedGroupWidthHas(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ShortRangeSelfScalingVarianceDependenceOnProcessedGroupWidthGet(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Set +extern_c void +ShortRangeSelfScalingVarianceDependenceOnProcessedGroupWidthSet(ConstHandle2ShortRangeSelfScalingVariance This, const XMLName dependenceOnProcessedGroupWidth); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ShortRangeSelfScalingVarianceLabelHas(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ShortRangeSelfScalingVarianceLabelGet(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Set +extern_c void +ShortRangeSelfScalingVarianceLabelSet(ConstHandle2ShortRangeSelfScalingVariance This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ShortRangeSelfScalingVarianceTypeHas(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ShortRangeSelfScalingVarianceTypeGet(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Set +extern_c void +ShortRangeSelfScalingVarianceTypeSet(ConstHandle2ShortRangeSelfScalingVariance This, const XMLName type); + + +// ----------------------------------------------------------------------------- +// Child: gridded2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ShortRangeSelfScalingVarianceGridded2dHas(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// --- Get, const +extern_c Handle2ConstGridded2d +ShortRangeSelfScalingVarianceGridded2dGetConst(ConstHandle2ConstShortRangeSelfScalingVariance This); + +// +++ Get, non-const +extern_c Handle2Gridded2d +ShortRangeSelfScalingVarianceGridded2dGet(ConstHandle2ShortRangeSelfScalingVariance This); + +// +++ Set +extern_c void +ShortRangeSelfScalingVarianceGridded2dSet(ConstHandle2ShortRangeSelfScalingVariance This, ConstHandle2ConstGridded2d gridded2d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.cpp new file mode 100644 index 000000000..8976af9bc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.cpp @@ -0,0 +1,305 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/Slice.hpp" +#include "Slice.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SliceClass; +using CPP = multigroup::Slice; + +static const std::string CLASSNAME = "Slice"; + +namespace extract { + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto domainValue = [](auto &obj) { return &obj.domainValue; }; + static auto domainUnit = [](auto &obj) { return &obj.domainUnit; }; + static auto dimension = [](auto &obj) { return &obj.dimension; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSlice +SliceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Slice +SliceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSlice +SliceCreateConst( + const Float64 domainMin, + const Float64 domainMax, + const Float64 domainValue, + const XMLName domainUnit, + const Integer32 dimension +) { + ConstHandle2Slice handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + domainMin, + domainMax, + domainValue, + domainUnit, + dimension + ); + return handle; +} + +// Create, general +Handle2Slice +SliceCreate( + const Float64 domainMin, + const Float64 domainMax, + const Float64 domainValue, + const XMLName domainUnit, + const Integer32 dimension +) { + ConstHandle2Slice handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + domainMin, + domainMax, + domainValue, + domainUnit, + dimension + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SliceAssign(ConstHandle2Slice This, ConstHandle2ConstSlice from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SliceDelete(ConstHandle2ConstSlice This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SliceRead(ConstHandle2Slice This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SliceWrite(ConstHandle2ConstSlice This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SlicePrint(ConstHandle2ConstSlice This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SlicePrintXML(ConstHandle2ConstSlice This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SlicePrintJSON(ConstHandle2ConstSlice This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +SliceDomainMinHas(ConstHandle2ConstSlice This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +SliceDomainMinGet(ConstHandle2ConstSlice This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +SliceDomainMinSet(ConstHandle2Slice This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +SliceDomainMaxHas(ConstHandle2ConstSlice This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +SliceDomainMaxGet(ConstHandle2ConstSlice This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +SliceDomainMaxSet(ConstHandle2Slice This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainValue +// ----------------------------------------------------------------------------- + +// Has +int +SliceDomainValueHas(ConstHandle2ConstSlice This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainValueHas", This, extract::domainValue); +} + +// Get +// Returns by value +Float64 +SliceDomainValueGet(ConstHandle2ConstSlice This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainValueGet", This, extract::domainValue); +} + +// Set +void +SliceDomainValueSet(ConstHandle2Slice This, const Float64 domainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainValueSet", This, extract::domainValue, domainValue); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// Has +int +SliceDomainUnitHas(ConstHandle2ConstSlice This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainUnitHas", This, extract::domainUnit); +} + +// Get +// Returns by value +XMLName +SliceDomainUnitGet(ConstHandle2ConstSlice This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainUnitGet", This, extract::domainUnit); +} + +// Set +void +SliceDomainUnitSet(ConstHandle2Slice This, const XMLName domainUnit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainUnitSet", This, extract::domainUnit, domainUnit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: dimension +// ----------------------------------------------------------------------------- + +// Has +int +SliceDimensionHas(ConstHandle2ConstSlice This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DimensionHas", This, extract::dimension); +} + +// Get +// Returns by value +Integer32 +SliceDimensionGet(ConstHandle2ConstSlice This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DimensionGet", This, extract::dimension); +} + +// Set +void +SliceDimensionSet(ConstHandle2Slice This, const Integer32 dimension) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DimensionSet", This, extract::dimension, dimension); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.h new file mode 100644 index 000000000..c7efd4758 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.h @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Slice is the basic handle type in this file. Example: +// // Create a default Slice object: +// Slice handle = SliceDefault(); +// Functions involving Slice are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SLICE +#define C_INTERFACE_TRY_V2_0_COVARIANCE_SLICE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SliceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Slice +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SliceClass *Slice; + +// --- Const-aware handles. +typedef const struct SliceClass *const ConstHandle2ConstSlice; +typedef struct SliceClass *const ConstHandle2Slice; +typedef const struct SliceClass * Handle2ConstSlice; +typedef struct SliceClass * Handle2Slice; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSlice +SliceDefaultConst(); + +// +++ Create, default +extern_c Handle2Slice +SliceDefault(); + +// --- Create, general, const +extern_c Handle2ConstSlice +SliceCreateConst( + const Float64 domainMin, + const Float64 domainMax, + const Float64 domainValue, + const XMLName domainUnit, + const Integer32 dimension +); + +// +++ Create, general +extern_c Handle2Slice +SliceCreate( + const Float64 domainMin, + const Float64 domainMax, + const Float64 domainValue, + const XMLName domainUnit, + const Integer32 dimension +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SliceAssign(ConstHandle2Slice This, ConstHandle2ConstSlice from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SliceDelete(ConstHandle2ConstSlice This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SliceRead(ConstHandle2Slice This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SliceWrite(ConstHandle2ConstSlice This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SlicePrint(ConstHandle2ConstSlice This); + +// +++ Print to standard output, as XML +extern_c int +SlicePrintXML(ConstHandle2ConstSlice This); + +// +++ Print to standard output, as JSON +extern_c int +SlicePrintJSON(ConstHandle2ConstSlice This); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SliceDomainMinHas(ConstHandle2ConstSlice This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +SliceDomainMinGet(ConstHandle2ConstSlice This); + +// +++ Set +extern_c void +SliceDomainMinSet(ConstHandle2Slice This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SliceDomainMaxHas(ConstHandle2ConstSlice This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +SliceDomainMaxGet(ConstHandle2ConstSlice This); + +// +++ Set +extern_c void +SliceDomainMaxSet(ConstHandle2Slice This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SliceDomainValueHas(ConstHandle2ConstSlice This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +SliceDomainValueGet(ConstHandle2ConstSlice This); + +// +++ Set +extern_c void +SliceDomainValueSet(ConstHandle2Slice This, const Float64 domainValue); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SliceDomainUnitHas(ConstHandle2ConstSlice This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SliceDomainUnitGet(ConstHandle2ConstSlice This); + +// +++ Set +extern_c void +SliceDomainUnitSet(ConstHandle2Slice This, const XMLName domainUnit); + + +// ----------------------------------------------------------------------------- +// Metadatum: dimension +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SliceDimensionHas(ConstHandle2ConstSlice This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +SliceDimensionGet(ConstHandle2ConstSlice This); + +// +++ Set +extern_c void +SliceDimensionSet(ConstHandle2Slice This, const Integer32 dimension); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.cpp new file mode 100644 index 000000000..1d11d915d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.cpp @@ -0,0 +1,430 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/Slices.hpp" +#include "Slices.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SlicesClass; +using CPP = multigroup::Slices; + +static const std::string CLASSNAME = "Slices"; + +namespace extract { + static auto slice = [](auto &obj) { return &obj.slice; }; +} + +using CPPSlice = covariance::Slice; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSlices +SlicesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Slices +SlicesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSlices +SlicesCreateConst( + ConstHandle2Slice *const slice, const size_t sliceSize +) { + ConstHandle2Slices handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t SliceN = 0; SliceN < sliceSize; ++SliceN) + SlicesSliceAdd(handle, slice[SliceN]); + return handle; +} + +// Create, general +Handle2Slices +SlicesCreate( + ConstHandle2Slice *const slice, const size_t sliceSize +) { + ConstHandle2Slices handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t SliceN = 0; SliceN < sliceSize; ++SliceN) + SlicesSliceAdd(handle, slice[SliceN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SlicesAssign(ConstHandle2Slices This, ConstHandle2ConstSlices from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SlicesDelete(ConstHandle2ConstSlices This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SlicesRead(ConstHandle2Slices This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SlicesWrite(ConstHandle2ConstSlices This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SlicesPrint(ConstHandle2ConstSlices This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SlicesPrintXML(ConstHandle2ConstSlices This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SlicesPrintJSON(ConstHandle2ConstSlices This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: slice +// ----------------------------------------------------------------------------- + +// Has +int +SlicesSliceHas(ConstHandle2ConstSlices This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SliceHas", This, extract::slice); +} + +// Clear +void +SlicesSliceClear(ConstHandle2Slices This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"SliceClear", This, extract::slice); +} + +// Size +size_t +SlicesSliceSize(ConstHandle2ConstSlices This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"SliceSize", This, extract::slice); +} + +// Add +void +SlicesSliceAdd(ConstHandle2Slices This, ConstHandle2ConstSlice slice) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"SliceAdd", This, extract::slice, slice); +} + +// Get, by index \in [0,size), const +Handle2ConstSlice +SlicesSliceGetConst(ConstHandle2ConstSlices This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SliceGetConst", This, extract::slice, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Slice +SlicesSliceGet(ConstHandle2Slices This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SliceGet", This, extract::slice, index_); +} + +// Set, by index \in [0,size) +void +SlicesSliceSet( + ConstHandle2Slices This, + const size_t index_, + ConstHandle2ConstSlice slice +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"SliceSet", This, extract::slice, index_, slice); +} + +// Has, by domainMin +int +SlicesSliceHasByDomainMin( + ConstHandle2ConstSlices This, + const Float64 domainMin +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SliceHasByDomainMin", + This, extract::slice, meta::domainMin, domainMin); +} + +// Get, by domainMin, const +Handle2ConstSlice +SlicesSliceGetByDomainMinConst( + ConstHandle2ConstSlices This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDomainMinConst", + This, extract::slice, meta::domainMin, domainMin); +} + +// Get, by domainMin, non-const +Handle2Slice +SlicesSliceGetByDomainMin( + ConstHandle2Slices This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDomainMin", + This, extract::slice, meta::domainMin, domainMin); +} + +// Set, by domainMin +void +SlicesSliceSetByDomainMin( + ConstHandle2Slices This, + const Float64 domainMin, + ConstHandle2ConstSlice slice +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SliceSetByDomainMin", + This, extract::slice, meta::domainMin, domainMin, slice); +} + +// Has, by domainMax +int +SlicesSliceHasByDomainMax( + ConstHandle2ConstSlices This, + const Float64 domainMax +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SliceHasByDomainMax", + This, extract::slice, meta::domainMax, domainMax); +} + +// Get, by domainMax, const +Handle2ConstSlice +SlicesSliceGetByDomainMaxConst( + ConstHandle2ConstSlices This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDomainMaxConst", + This, extract::slice, meta::domainMax, domainMax); +} + +// Get, by domainMax, non-const +Handle2Slice +SlicesSliceGetByDomainMax( + ConstHandle2Slices This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDomainMax", + This, extract::slice, meta::domainMax, domainMax); +} + +// Set, by domainMax +void +SlicesSliceSetByDomainMax( + ConstHandle2Slices This, + const Float64 domainMax, + ConstHandle2ConstSlice slice +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SliceSetByDomainMax", + This, extract::slice, meta::domainMax, domainMax, slice); +} + +// Has, by domainValue +int +SlicesSliceHasByDomainValue( + ConstHandle2ConstSlices This, + const Float64 domainValue +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SliceHasByDomainValue", + This, extract::slice, meta::domainValue, domainValue); +} + +// Get, by domainValue, const +Handle2ConstSlice +SlicesSliceGetByDomainValueConst( + ConstHandle2ConstSlices This, + const Float64 domainValue +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDomainValueConst", + This, extract::slice, meta::domainValue, domainValue); +} + +// Get, by domainValue, non-const +Handle2Slice +SlicesSliceGetByDomainValue( + ConstHandle2Slices This, + const Float64 domainValue +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDomainValue", + This, extract::slice, meta::domainValue, domainValue); +} + +// Set, by domainValue +void +SlicesSliceSetByDomainValue( + ConstHandle2Slices This, + const Float64 domainValue, + ConstHandle2ConstSlice slice +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SliceSetByDomainValue", + This, extract::slice, meta::domainValue, domainValue, slice); +} + +// Has, by domainUnit +int +SlicesSliceHasByDomainUnit( + ConstHandle2ConstSlices This, + const XMLName domainUnit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SliceHasByDomainUnit", + This, extract::slice, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, const +Handle2ConstSlice +SlicesSliceGetByDomainUnitConst( + ConstHandle2ConstSlices This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDomainUnitConst", + This, extract::slice, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, non-const +Handle2Slice +SlicesSliceGetByDomainUnit( + ConstHandle2Slices This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDomainUnit", + This, extract::slice, meta::domainUnit, domainUnit); +} + +// Set, by domainUnit +void +SlicesSliceSetByDomainUnit( + ConstHandle2Slices This, + const XMLName domainUnit, + ConstHandle2ConstSlice slice +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SliceSetByDomainUnit", + This, extract::slice, meta::domainUnit, domainUnit, slice); +} + +// Has, by dimension +int +SlicesSliceHasByDimension( + ConstHandle2ConstSlices This, + const Integer32 dimension +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SliceHasByDimension", + This, extract::slice, meta::dimension, dimension); +} + +// Get, by dimension, const +Handle2ConstSlice +SlicesSliceGetByDimensionConst( + ConstHandle2ConstSlices This, + const Integer32 dimension +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDimensionConst", + This, extract::slice, meta::dimension, dimension); +} + +// Get, by dimension, non-const +Handle2Slice +SlicesSliceGetByDimension( + ConstHandle2Slices This, + const Integer32 dimension +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SliceGetByDimension", + This, extract::slice, meta::dimension, dimension); +} + +// Set, by dimension +void +SlicesSliceSetByDimension( + ConstHandle2Slices This, + const Integer32 dimension, + ConstHandle2ConstSlice slice +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SliceSetByDimension", + This, extract::slice, meta::dimension, dimension, slice); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.h new file mode 100644 index 000000000..cccf3cb48 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.h @@ -0,0 +1,320 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Slices is the basic handle type in this file. Example: +// // Create a default Slices object: +// Slices handle = SlicesDefault(); +// Functions involving Slices are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SLICES +#define C_INTERFACE_TRY_V2_0_COVARIANCE_SLICES + +#include "GNDStk.h" +#include "v2.0/covariance/Slice.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SlicesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Slices +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SlicesClass *Slices; + +// --- Const-aware handles. +typedef const struct SlicesClass *const ConstHandle2ConstSlices; +typedef struct SlicesClass *const ConstHandle2Slices; +typedef const struct SlicesClass * Handle2ConstSlices; +typedef struct SlicesClass * Handle2Slices; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSlices +SlicesDefaultConst(); + +// +++ Create, default +extern_c Handle2Slices +SlicesDefault(); + +// --- Create, general, const +extern_c Handle2ConstSlices +SlicesCreateConst( + ConstHandle2Slice *const slice, const size_t sliceSize +); + +// +++ Create, general +extern_c Handle2Slices +SlicesCreate( + ConstHandle2Slice *const slice, const size_t sliceSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SlicesAssign(ConstHandle2Slices This, ConstHandle2ConstSlices from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SlicesDelete(ConstHandle2ConstSlices This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SlicesRead(ConstHandle2Slices This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SlicesWrite(ConstHandle2ConstSlices This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SlicesPrint(ConstHandle2ConstSlices This); + +// +++ Print to standard output, as XML +extern_c int +SlicesPrintXML(ConstHandle2ConstSlices This); + +// +++ Print to standard output, as JSON +extern_c int +SlicesPrintJSON(ConstHandle2ConstSlices This); + + +// ----------------------------------------------------------------------------- +// Child: slice +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SlicesSliceHas(ConstHandle2ConstSlices This); + +// +++ Clear +extern_c void +SlicesSliceClear(ConstHandle2Slices This); + +// +++ Size +extern_c size_t +SlicesSliceSize(ConstHandle2ConstSlices This); + +// +++ Add +extern_c void +SlicesSliceAdd(ConstHandle2Slices This, ConstHandle2ConstSlice slice); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstSlice +SlicesSliceGetConst(ConstHandle2ConstSlices This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Slice +SlicesSliceGet(ConstHandle2Slices This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +SlicesSliceSet( + ConstHandle2Slices This, + const size_t index_, + ConstHandle2ConstSlice slice +); + +// +++ Has, by domainMin +extern_c int +SlicesSliceHasByDomainMin( + ConstHandle2ConstSlices This, + const Float64 domainMin +); + +// --- Get, by domainMin, const +extern_c Handle2ConstSlice +SlicesSliceGetByDomainMinConst( + ConstHandle2ConstSlices This, + const Float64 domainMin +); + +// +++ Get, by domainMin, non-const +extern_c Handle2Slice +SlicesSliceGetByDomainMin( + ConstHandle2Slices This, + const Float64 domainMin +); + +// +++ Set, by domainMin +extern_c void +SlicesSliceSetByDomainMin( + ConstHandle2Slices This, + const Float64 domainMin, + ConstHandle2ConstSlice slice +); + +// +++ Has, by domainMax +extern_c int +SlicesSliceHasByDomainMax( + ConstHandle2ConstSlices This, + const Float64 domainMax +); + +// --- Get, by domainMax, const +extern_c Handle2ConstSlice +SlicesSliceGetByDomainMaxConst( + ConstHandle2ConstSlices This, + const Float64 domainMax +); + +// +++ Get, by domainMax, non-const +extern_c Handle2Slice +SlicesSliceGetByDomainMax( + ConstHandle2Slices This, + const Float64 domainMax +); + +// +++ Set, by domainMax +extern_c void +SlicesSliceSetByDomainMax( + ConstHandle2Slices This, + const Float64 domainMax, + ConstHandle2ConstSlice slice +); + +// +++ Has, by domainValue +extern_c int +SlicesSliceHasByDomainValue( + ConstHandle2ConstSlices This, + const Float64 domainValue +); + +// --- Get, by domainValue, const +extern_c Handle2ConstSlice +SlicesSliceGetByDomainValueConst( + ConstHandle2ConstSlices This, + const Float64 domainValue +); + +// +++ Get, by domainValue, non-const +extern_c Handle2Slice +SlicesSliceGetByDomainValue( + ConstHandle2Slices This, + const Float64 domainValue +); + +// +++ Set, by domainValue +extern_c void +SlicesSliceSetByDomainValue( + ConstHandle2Slices This, + const Float64 domainValue, + ConstHandle2ConstSlice slice +); + +// +++ Has, by domainUnit +extern_c int +SlicesSliceHasByDomainUnit( + ConstHandle2ConstSlices This, + const XMLName domainUnit +); + +// --- Get, by domainUnit, const +extern_c Handle2ConstSlice +SlicesSliceGetByDomainUnitConst( + ConstHandle2ConstSlices This, + const XMLName domainUnit +); + +// +++ Get, by domainUnit, non-const +extern_c Handle2Slice +SlicesSliceGetByDomainUnit( + ConstHandle2Slices This, + const XMLName domainUnit +); + +// +++ Set, by domainUnit +extern_c void +SlicesSliceSetByDomainUnit( + ConstHandle2Slices This, + const XMLName domainUnit, + ConstHandle2ConstSlice slice +); + +// +++ Has, by dimension +extern_c int +SlicesSliceHasByDimension( + ConstHandle2ConstSlices This, + const Integer32 dimension +); + +// --- Get, by dimension, const +extern_c Handle2ConstSlice +SlicesSliceGetByDimensionConst( + ConstHandle2ConstSlices This, + const Integer32 dimension +); + +// +++ Get, by dimension, non-const +extern_c Handle2Slice +SlicesSliceGetByDimension( + ConstHandle2Slices This, + const Integer32 dimension +); + +// +++ Set, by dimension +extern_c void +SlicesSliceSetByDimension( + ConstHandle2Slices This, + const Integer32 dimension, + ConstHandle2ConstSlice slice +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.cpp new file mode 100644 index 000000000..46e48735f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.cpp @@ -0,0 +1,480 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/Sum.hpp" +#include "Sum.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SumClass; +using CPP = multigroup::Sum; + +static const std::string CLASSNAME = "Sum"; + +namespace extract { + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto domainUnit = [](auto &obj) { return &obj.domainUnit; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto summand = [](auto &obj) { return &obj.summand; }; +} + +using CPPSummand = covariance::Summand; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSum +SumDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Sum +SumDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSum +SumCreateConst( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, + const XMLName label, + ConstHandle2Summand *const summand, const size_t summandSize +) { + ConstHandle2Sum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + domainMin, + domainMax, + domainUnit, + label, + std::vector{} + ); + for (size_t SummandN = 0; SummandN < summandSize; ++SummandN) + SumSummandAdd(handle, summand[SummandN]); + return handle; +} + +// Create, general +Handle2Sum +SumCreate( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, + const XMLName label, + ConstHandle2Summand *const summand, const size_t summandSize +) { + ConstHandle2Sum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + domainMin, + domainMax, + domainUnit, + label, + std::vector{} + ); + for (size_t SummandN = 0; SummandN < summandSize; ++SummandN) + SumSummandAdd(handle, summand[SummandN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SumAssign(ConstHandle2Sum This, ConstHandle2ConstSum from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SumDelete(ConstHandle2ConstSum This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SumRead(ConstHandle2Sum This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SumWrite(ConstHandle2ConstSum This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SumPrint(ConstHandle2ConstSum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SumPrintXML(ConstHandle2ConstSum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SumPrintJSON(ConstHandle2ConstSum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +SumDomainMinHas(ConstHandle2ConstSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +SumDomainMinGet(ConstHandle2ConstSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +SumDomainMinSet(ConstHandle2Sum This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +SumDomainMaxHas(ConstHandle2ConstSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +SumDomainMaxGet(ConstHandle2ConstSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +SumDomainMaxSet(ConstHandle2Sum This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// Has +int +SumDomainUnitHas(ConstHandle2ConstSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainUnitHas", This, extract::domainUnit); +} + +// Get +// Returns by value +XMLName +SumDomainUnitGet(ConstHandle2ConstSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainUnitGet", This, extract::domainUnit); +} + +// Set +void +SumDomainUnitSet(ConstHandle2Sum This, const XMLName domainUnit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainUnitSet", This, extract::domainUnit, domainUnit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +SumLabelHas(ConstHandle2ConstSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +SumLabelGet(ConstHandle2ConstSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +SumLabelSet(ConstHandle2Sum This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: summand +// ----------------------------------------------------------------------------- + +// Has +int +SumSummandHas(ConstHandle2ConstSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SummandHas", This, extract::summand); +} + +// Clear +void +SumSummandClear(ConstHandle2Sum This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"SummandClear", This, extract::summand); +} + +// Size +size_t +SumSummandSize(ConstHandle2ConstSum This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"SummandSize", This, extract::summand); +} + +// Add +void +SumSummandAdd(ConstHandle2Sum This, ConstHandle2ConstSummand summand) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"SummandAdd", This, extract::summand, summand); +} + +// Get, by index \in [0,size), const +Handle2ConstSummand +SumSummandGetConst(ConstHandle2ConstSum This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SummandGetConst", This, extract::summand, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Summand +SumSummandGet(ConstHandle2Sum This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SummandGet", This, extract::summand, index_); +} + +// Set, by index \in [0,size) +void +SumSummandSet( + ConstHandle2Sum This, + const size_t index_, + ConstHandle2ConstSummand summand +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"SummandSet", This, extract::summand, index_, summand); +} + +// Has, by ENDF_MFMT +int +SumSummandHasByENDFMFMT( + ConstHandle2ConstSum This, + const XMLName ENDF_MFMT +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SummandHasByENDFMFMT", + This, extract::summand, meta::ENDF_MFMT, ENDF_MFMT); +} + +// Get, by ENDF_MFMT, const +Handle2ConstSummand +SumSummandGetByENDFMFMTConst( + ConstHandle2ConstSum This, + const XMLName ENDF_MFMT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SummandGetByENDFMFMTConst", + This, extract::summand, meta::ENDF_MFMT, ENDF_MFMT); +} + +// Get, by ENDF_MFMT, non-const +Handle2Summand +SumSummandGetByENDFMFMT( + ConstHandle2Sum This, + const XMLName ENDF_MFMT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SummandGetByENDFMFMT", + This, extract::summand, meta::ENDF_MFMT, ENDF_MFMT); +} + +// Set, by ENDF_MFMT +void +SumSummandSetByENDFMFMT( + ConstHandle2Sum This, + const XMLName ENDF_MFMT, + ConstHandle2ConstSummand summand +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SummandSetByENDFMFMT", + This, extract::summand, meta::ENDF_MFMT, ENDF_MFMT, summand); +} + +// Has, by coefficient +int +SumSummandHasByCoefficient( + ConstHandle2ConstSum This, + const Float64 coefficient +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SummandHasByCoefficient", + This, extract::summand, meta::coefficient, coefficient); +} + +// Get, by coefficient, const +Handle2ConstSummand +SumSummandGetByCoefficientConst( + ConstHandle2ConstSum This, + const Float64 coefficient +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SummandGetByCoefficientConst", + This, extract::summand, meta::coefficient, coefficient); +} + +// Get, by coefficient, non-const +Handle2Summand +SumSummandGetByCoefficient( + ConstHandle2Sum This, + const Float64 coefficient +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SummandGetByCoefficient", + This, extract::summand, meta::coefficient, coefficient); +} + +// Set, by coefficient +void +SumSummandSetByCoefficient( + ConstHandle2Sum This, + const Float64 coefficient, + ConstHandle2ConstSummand summand +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SummandSetByCoefficient", + This, extract::summand, meta::coefficient, coefficient, summand); +} + +// Has, by href +int +SumSummandHasByHref( + ConstHandle2ConstSum This, + const char *const href +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SummandHasByHref", + This, extract::summand, meta::href, href); +} + +// Get, by href, const +Handle2ConstSummand +SumSummandGetByHrefConst( + ConstHandle2ConstSum This, + const char *const href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SummandGetByHrefConst", + This, extract::summand, meta::href, href); +} + +// Get, by href, non-const +Handle2Summand +SumSummandGetByHref( + ConstHandle2Sum This, + const char *const href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SummandGetByHref", + This, extract::summand, meta::href, href); +} + +// Set, by href +void +SumSummandSetByHref( + ConstHandle2Sum This, + const char *const href, + ConstHandle2ConstSummand summand +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SummandSetByHref", + This, extract::summand, meta::href, href, summand); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.h new file mode 100644 index 000000000..c299b9690 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.h @@ -0,0 +1,342 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Sum is the basic handle type in this file. Example: +// // Create a default Sum object: +// Sum handle = SumDefault(); +// Functions involving Sum are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SUM +#define C_INTERFACE_TRY_V2_0_COVARIANCE_SUM + +#include "GNDStk.h" +#include "v2.0/covariance/Summand.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SumClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Sum +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SumClass *Sum; + +// --- Const-aware handles. +typedef const struct SumClass *const ConstHandle2ConstSum; +typedef struct SumClass *const ConstHandle2Sum; +typedef const struct SumClass * Handle2ConstSum; +typedef struct SumClass * Handle2Sum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSum +SumDefaultConst(); + +// +++ Create, default +extern_c Handle2Sum +SumDefault(); + +// --- Create, general, const +extern_c Handle2ConstSum +SumCreateConst( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, + const XMLName label, + ConstHandle2Summand *const summand, const size_t summandSize +); + +// +++ Create, general +extern_c Handle2Sum +SumCreate( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, + const XMLName label, + ConstHandle2Summand *const summand, const size_t summandSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SumAssign(ConstHandle2Sum This, ConstHandle2ConstSum from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SumDelete(ConstHandle2ConstSum This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SumRead(ConstHandle2Sum This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SumWrite(ConstHandle2ConstSum This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SumPrint(ConstHandle2ConstSum This); + +// +++ Print to standard output, as XML +extern_c int +SumPrintXML(ConstHandle2ConstSum This); + +// +++ Print to standard output, as JSON +extern_c int +SumPrintJSON(ConstHandle2ConstSum This); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SumDomainMinHas(ConstHandle2ConstSum This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +SumDomainMinGet(ConstHandle2ConstSum This); + +// +++ Set +extern_c void +SumDomainMinSet(ConstHandle2Sum This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SumDomainMaxHas(ConstHandle2ConstSum This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +SumDomainMaxGet(ConstHandle2ConstSum This); + +// +++ Set +extern_c void +SumDomainMaxSet(ConstHandle2Sum This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SumDomainUnitHas(ConstHandle2ConstSum This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SumDomainUnitGet(ConstHandle2ConstSum This); + +// +++ Set +extern_c void +SumDomainUnitSet(ConstHandle2Sum This, const XMLName domainUnit); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SumLabelHas(ConstHandle2ConstSum This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SumLabelGet(ConstHandle2ConstSum This); + +// +++ Set +extern_c void +SumLabelSet(ConstHandle2Sum This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: summand +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SumSummandHas(ConstHandle2ConstSum This); + +// +++ Clear +extern_c void +SumSummandClear(ConstHandle2Sum This); + +// +++ Size +extern_c size_t +SumSummandSize(ConstHandle2ConstSum This); + +// +++ Add +extern_c void +SumSummandAdd(ConstHandle2Sum This, ConstHandle2ConstSummand summand); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstSummand +SumSummandGetConst(ConstHandle2ConstSum This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Summand +SumSummandGet(ConstHandle2Sum This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +SumSummandSet( + ConstHandle2Sum This, + const size_t index_, + ConstHandle2ConstSummand summand +); + +// +++ Has, by ENDF_MFMT +extern_c int +SumSummandHasByENDFMFMT( + ConstHandle2ConstSum This, + const XMLName ENDF_MFMT +); + +// --- Get, by ENDF_MFMT, const +extern_c Handle2ConstSummand +SumSummandGetByENDFMFMTConst( + ConstHandle2ConstSum This, + const XMLName ENDF_MFMT +); + +// +++ Get, by ENDF_MFMT, non-const +extern_c Handle2Summand +SumSummandGetByENDFMFMT( + ConstHandle2Sum This, + const XMLName ENDF_MFMT +); + +// +++ Set, by ENDF_MFMT +extern_c void +SumSummandSetByENDFMFMT( + ConstHandle2Sum This, + const XMLName ENDF_MFMT, + ConstHandle2ConstSummand summand +); + +// +++ Has, by coefficient +extern_c int +SumSummandHasByCoefficient( + ConstHandle2ConstSum This, + const Float64 coefficient +); + +// --- Get, by coefficient, const +extern_c Handle2ConstSummand +SumSummandGetByCoefficientConst( + ConstHandle2ConstSum This, + const Float64 coefficient +); + +// +++ Get, by coefficient, non-const +extern_c Handle2Summand +SumSummandGetByCoefficient( + ConstHandle2Sum This, + const Float64 coefficient +); + +// +++ Set, by coefficient +extern_c void +SumSummandSetByCoefficient( + ConstHandle2Sum This, + const Float64 coefficient, + ConstHandle2ConstSummand summand +); + +// +++ Has, by href +extern_c int +SumSummandHasByHref( + ConstHandle2ConstSum This, + const char *const href +); + +// --- Get, by href, const +extern_c Handle2ConstSummand +SumSummandGetByHrefConst( + ConstHandle2ConstSum This, + const char *const href +); + +// +++ Get, by href, non-const +extern_c Handle2Summand +SumSummandGetByHref( + ConstHandle2Sum This, + const char *const href +); + +// +++ Set, by href +extern_c void +SumSummandSetByHref( + ConstHandle2Sum This, + const char *const href, + ConstHandle2ConstSummand summand +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.cpp new file mode 100644 index 000000000..f8323a0e4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/covariance/Summand.hpp" +#include "Summand.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SummandClass; +using CPP = multigroup::Summand; + +static const std::string CLASSNAME = "Summand"; + +namespace extract { + static auto ENDF_MFMT = [](auto &obj) { return &obj.ENDF_MFMT; }; + static auto coefficient = [](auto &obj) { return &obj.coefficient; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSummand +SummandDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Summand +SummandDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSummand +SummandCreateConst( + const XMLName ENDF_MFMT, + const Float64 coefficient, + const char *const href +) { + ConstHandle2Summand handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MFMT, + coefficient, + href + ); + return handle; +} + +// Create, general +Handle2Summand +SummandCreate( + const XMLName ENDF_MFMT, + const Float64 coefficient, + const char *const href +) { + ConstHandle2Summand handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MFMT, + coefficient, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SummandAssign(ConstHandle2Summand This, ConstHandle2ConstSummand from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SummandDelete(ConstHandle2ConstSummand This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SummandRead(ConstHandle2Summand This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SummandWrite(ConstHandle2ConstSummand This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SummandPrint(ConstHandle2ConstSummand This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SummandPrintXML(ConstHandle2ConstSummand This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SummandPrintJSON(ConstHandle2ConstSummand This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MFMT +// ----------------------------------------------------------------------------- + +// Has +int +SummandENDFMFMTHas(ConstHandle2ConstSummand This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMFMTHas", This, extract::ENDF_MFMT); +} + +// Get +// Returns by value +XMLName +SummandENDFMFMTGet(ConstHandle2ConstSummand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMFMTGet", This, extract::ENDF_MFMT); +} + +// Set +void +SummandENDFMFMTSet(ConstHandle2Summand This, const XMLName ENDF_MFMT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMFMTSet", This, extract::ENDF_MFMT, ENDF_MFMT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: coefficient +// ----------------------------------------------------------------------------- + +// Has +int +SummandCoefficientHas(ConstHandle2ConstSummand This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CoefficientHas", This, extract::coefficient); +} + +// Get +// Returns by value +Float64 +SummandCoefficientGet(ConstHandle2ConstSummand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CoefficientGet", This, extract::coefficient); +} + +// Set +void +SummandCoefficientSet(ConstHandle2Summand This, const Float64 coefficient) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CoefficientSet", This, extract::coefficient, coefficient); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +SummandHrefHas(ConstHandle2ConstSummand This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +SummandHrefGet(ConstHandle2ConstSummand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +SummandHrefSet(ConstHandle2Summand This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.h new file mode 100644 index 000000000..e625e23e2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Summand is the basic handle type in this file. Example: +// // Create a default Summand object: +// Summand handle = SummandDefault(); +// Functions involving Summand are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SUMMAND +#define C_INTERFACE_TRY_V2_0_COVARIANCE_SUMMAND + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SummandClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Summand +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SummandClass *Summand; + +// --- Const-aware handles. +typedef const struct SummandClass *const ConstHandle2ConstSummand; +typedef struct SummandClass *const ConstHandle2Summand; +typedef const struct SummandClass * Handle2ConstSummand; +typedef struct SummandClass * Handle2Summand; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSummand +SummandDefaultConst(); + +// +++ Create, default +extern_c Handle2Summand +SummandDefault(); + +// --- Create, general, const +extern_c Handle2ConstSummand +SummandCreateConst( + const XMLName ENDF_MFMT, + const Float64 coefficient, + const char *const href +); + +// +++ Create, general +extern_c Handle2Summand +SummandCreate( + const XMLName ENDF_MFMT, + const Float64 coefficient, + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SummandAssign(ConstHandle2Summand This, ConstHandle2ConstSummand from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SummandDelete(ConstHandle2ConstSummand This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SummandRead(ConstHandle2Summand This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SummandWrite(ConstHandle2ConstSummand This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SummandPrint(ConstHandle2ConstSummand This); + +// +++ Print to standard output, as XML +extern_c int +SummandPrintXML(ConstHandle2ConstSummand This); + +// +++ Print to standard output, as JSON +extern_c int +SummandPrintJSON(ConstHandle2ConstSummand This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MFMT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SummandENDFMFMTHas(ConstHandle2ConstSummand This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SummandENDFMFMTGet(ConstHandle2ConstSummand This); + +// +++ Set +extern_c void +SummandENDFMFMTSet(ConstHandle2Summand This, const XMLName ENDF_MFMT); + + +// ----------------------------------------------------------------------------- +// Metadatum: coefficient +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SummandCoefficientHas(ConstHandle2ConstSummand This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +SummandCoefficientGet(ConstHandle2ConstSummand This); + +// +++ Set +extern_c void +SummandCoefficientSet(ConstHandle2Summand This, const Float64 coefficient); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SummandHrefHas(ConstHandle2ConstSummand This); + +// +++ Get +// +++ Returns by value +extern_c const char * +SummandHrefGet(ConstHandle2ConstSummand This); + +// +++ Set +extern_c void +SummandHrefSet(ConstHandle2Summand This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp new file mode 100644 index 000000000..3c0807d6a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp @@ -0,0 +1,435 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "CoulombPlusNuclearElastic.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CoulombPlusNuclearElasticClass; +using CPP = multigroup::CoulombPlusNuclearElastic; + +static const std::string CLASSNAME = "CoulombPlusNuclearElastic"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; + static auto identicalParticles = [](auto &obj) { return &obj.identicalParticles; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto RutherfordScattering = [](auto &obj) { return &obj.RutherfordScattering; }; + static auto nuclearAmplitudeExpansion = [](auto &obj) { return &obj.nuclearAmplitudeExpansion; }; + static auto nuclearPlusInterference = [](auto &obj) { return &obj.nuclearPlusInterference; }; +} + +using CPPRutherfordScattering = cpTransport::RutherfordScattering; +using CPPNuclearAmplitudeExpansion = cpTransport::NuclearAmplitudeExpansion; +using CPPNuclearPlusInterference = cpTransport::NuclearPlusInterference; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCoulombPlusNuclearElastic +CoulombPlusNuclearElasticDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CoulombPlusNuclearElastic +CoulombPlusNuclearElasticDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCoulombPlusNuclearElastic +CoulombPlusNuclearElasticCreateConst( + const XMLName href, + const bool identicalParticles, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstRutherfordScattering RutherfordScattering, + ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion, + ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference +) { + ConstHandle2CoulombPlusNuclearElastic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href, + identicalParticles, + label, + pid, + productFrame, + detail::tocpp(RutherfordScattering), + detail::tocpp(nuclearAmplitudeExpansion), + detail::tocpp(nuclearPlusInterference) + ); + return handle; +} + +// Create, general +Handle2CoulombPlusNuclearElastic +CoulombPlusNuclearElasticCreate( + const XMLName href, + const bool identicalParticles, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstRutherfordScattering RutherfordScattering, + ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion, + ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference +) { + ConstHandle2CoulombPlusNuclearElastic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href, + identicalParticles, + label, + pid, + productFrame, + detail::tocpp(RutherfordScattering), + detail::tocpp(nuclearAmplitudeExpansion), + detail::tocpp(nuclearPlusInterference) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CoulombPlusNuclearElasticAssign(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstCoulombPlusNuclearElastic from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CoulombPlusNuclearElasticDelete(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CoulombPlusNuclearElasticRead(ConstHandle2CoulombPlusNuclearElastic This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CoulombPlusNuclearElasticWrite(ConstHandle2ConstCoulombPlusNuclearElastic This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CoulombPlusNuclearElasticPrint(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CoulombPlusNuclearElasticPrintXML(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CoulombPlusNuclearElasticPrintJSON(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticHrefHas(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +XMLName +CoulombPlusNuclearElasticHrefGet(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +CoulombPlusNuclearElasticHrefSet(ConstHandle2CoulombPlusNuclearElastic This, const XMLName href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: identicalParticles +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticIdenticalParticlesHas(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdenticalParticlesHas", This, extract::identicalParticles); +} + +// Get +// Returns by value +bool +CoulombPlusNuclearElasticIdenticalParticlesGet(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdenticalParticlesGet", This, extract::identicalParticles); +} + +// Set +void +CoulombPlusNuclearElasticIdenticalParticlesSet(ConstHandle2CoulombPlusNuclearElastic This, const bool identicalParticles) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdenticalParticlesSet", This, extract::identicalParticles, identicalParticles); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticLabelHas(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CoulombPlusNuclearElasticLabelGet(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CoulombPlusNuclearElasticLabelSet(ConstHandle2CoulombPlusNuclearElastic This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticPidHas(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +CoulombPlusNuclearElasticPidGet(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +CoulombPlusNuclearElasticPidSet(ConstHandle2CoulombPlusNuclearElastic This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticProductFrameHas(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +enums::Frame +CoulombPlusNuclearElasticProductFrameGet(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +CoulombPlusNuclearElasticProductFrameSet(ConstHandle2CoulombPlusNuclearElastic This, const enums::Frame productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: RutherfordScattering +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticRutherfordScatteringHas(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RutherfordScatteringHas", This, extract::RutherfordScattering); +} + +// Get, const +Handle2ConstRutherfordScattering +CoulombPlusNuclearElasticRutherfordScatteringGetConst(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RutherfordScatteringGetConst", This, extract::RutherfordScattering); +} + +// Get, non-const +Handle2RutherfordScattering +CoulombPlusNuclearElasticRutherfordScatteringGet(ConstHandle2CoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RutherfordScatteringGet", This, extract::RutherfordScattering); +} + +// Set +void +CoulombPlusNuclearElasticRutherfordScatteringSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstRutherfordScattering RutherfordScattering) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RutherfordScatteringSet", This, extract::RutherfordScattering, RutherfordScattering); +} + + +// ----------------------------------------------------------------------------- +// Child: nuclearAmplitudeExpansion +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticNuclearAmplitudeExpansionHas(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NuclearAmplitudeExpansionHas", This, extract::nuclearAmplitudeExpansion); +} + +// Get, const +Handle2ConstNuclearAmplitudeExpansion +CoulombPlusNuclearElasticNuclearAmplitudeExpansionGetConst(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclearAmplitudeExpansionGetConst", This, extract::nuclearAmplitudeExpansion); +} + +// Get, non-const +Handle2NuclearAmplitudeExpansion +CoulombPlusNuclearElasticNuclearAmplitudeExpansionGet(ConstHandle2CoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclearAmplitudeExpansionGet", This, extract::nuclearAmplitudeExpansion); +} + +// Set +void +CoulombPlusNuclearElasticNuclearAmplitudeExpansionSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NuclearAmplitudeExpansionSet", This, extract::nuclearAmplitudeExpansion, nuclearAmplitudeExpansion); +} + + +// ----------------------------------------------------------------------------- +// Child: nuclearPlusInterference +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticNuclearPlusInterferenceHas(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NuclearPlusInterferenceHas", This, extract::nuclearPlusInterference); +} + +// Get, const +Handle2ConstNuclearPlusInterference +CoulombPlusNuclearElasticNuclearPlusInterferenceGetConst(ConstHandle2ConstCoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclearPlusInterferenceGetConst", This, extract::nuclearPlusInterference); +} + +// Get, non-const +Handle2NuclearPlusInterference +CoulombPlusNuclearElasticNuclearPlusInterferenceGet(ConstHandle2CoulombPlusNuclearElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclearPlusInterferenceGet", This, extract::nuclearPlusInterference); +} + +// Set +void +CoulombPlusNuclearElasticNuclearPlusInterferenceSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NuclearPlusInterferenceSet", This, extract::nuclearPlusInterference, nuclearPlusInterference); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h new file mode 100644 index 000000000..77f9e0a30 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h @@ -0,0 +1,307 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CoulombPlusNuclearElastic is the basic handle type in this file. Example: +// // Create a default CoulombPlusNuclearElastic object: +// CoulombPlusNuclearElastic handle = CoulombPlusNuclearElasticDefault(); +// Functions involving CoulombPlusNuclearElastic are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC +#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC + +#include "GNDStk.h" +#include "v2.0/cpTransport/RutherfordScattering.h" +#include "v2.0/cpTransport/NuclearAmplitudeExpansion.h" +#include "v2.0/cpTransport/NuclearPlusInterference.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CoulombPlusNuclearElasticClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CoulombPlusNuclearElastic +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CoulombPlusNuclearElasticClass *CoulombPlusNuclearElastic; + +// --- Const-aware handles. +typedef const struct CoulombPlusNuclearElasticClass *const ConstHandle2ConstCoulombPlusNuclearElastic; +typedef struct CoulombPlusNuclearElasticClass *const ConstHandle2CoulombPlusNuclearElastic; +typedef const struct CoulombPlusNuclearElasticClass * Handle2ConstCoulombPlusNuclearElastic; +typedef struct CoulombPlusNuclearElasticClass * Handle2CoulombPlusNuclearElastic; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCoulombPlusNuclearElastic +CoulombPlusNuclearElasticDefaultConst(); + +// +++ Create, default +extern_c Handle2CoulombPlusNuclearElastic +CoulombPlusNuclearElasticDefault(); + +// --- Create, general, const +extern_c Handle2ConstCoulombPlusNuclearElastic +CoulombPlusNuclearElasticCreateConst( + const XMLName href, + const bool identicalParticles, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstRutherfordScattering RutherfordScattering, + ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion, + ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference +); + +// +++ Create, general +extern_c Handle2CoulombPlusNuclearElastic +CoulombPlusNuclearElasticCreate( + const XMLName href, + const bool identicalParticles, + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstRutherfordScattering RutherfordScattering, + ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion, + ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CoulombPlusNuclearElasticAssign(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstCoulombPlusNuclearElastic from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CoulombPlusNuclearElasticDelete(ConstHandle2ConstCoulombPlusNuclearElastic This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CoulombPlusNuclearElasticRead(ConstHandle2CoulombPlusNuclearElastic This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CoulombPlusNuclearElasticWrite(ConstHandle2ConstCoulombPlusNuclearElastic This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CoulombPlusNuclearElasticPrint(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Print to standard output, as XML +extern_c int +CoulombPlusNuclearElasticPrintXML(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Print to standard output, as JSON +extern_c int +CoulombPlusNuclearElasticPrintJSON(ConstHandle2ConstCoulombPlusNuclearElastic This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticHrefHas(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CoulombPlusNuclearElasticHrefGet(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticHrefSet(ConstHandle2CoulombPlusNuclearElastic This, const XMLName href); + + +// ----------------------------------------------------------------------------- +// Metadatum: identicalParticles +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticIdenticalParticlesHas(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Get +// +++ Returns by value +extern_c bool +CoulombPlusNuclearElasticIdenticalParticlesGet(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticIdenticalParticlesSet(ConstHandle2CoulombPlusNuclearElastic This, const bool identicalParticles); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticLabelHas(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CoulombPlusNuclearElasticLabelGet(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticLabelSet(ConstHandle2CoulombPlusNuclearElastic This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticPidHas(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CoulombPlusNuclearElasticPidGet(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticPidSet(ConstHandle2CoulombPlusNuclearElastic This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticProductFrameHas(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +CoulombPlusNuclearElasticProductFrameGet(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticProductFrameSet(ConstHandle2CoulombPlusNuclearElastic This, const enums::Frame productFrame); + + +// ----------------------------------------------------------------------------- +// Child: RutherfordScattering +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticRutherfordScatteringHas(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// --- Get, const +extern_c Handle2ConstRutherfordScattering +CoulombPlusNuclearElasticRutherfordScatteringGetConst(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Get, non-const +extern_c Handle2RutherfordScattering +CoulombPlusNuclearElasticRutherfordScatteringGet(ConstHandle2CoulombPlusNuclearElastic This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticRutherfordScatteringSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstRutherfordScattering RutherfordScattering); + + +// ----------------------------------------------------------------------------- +// Child: nuclearAmplitudeExpansion +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticNuclearAmplitudeExpansionHas(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// --- Get, const +extern_c Handle2ConstNuclearAmplitudeExpansion +CoulombPlusNuclearElasticNuclearAmplitudeExpansionGetConst(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Get, non-const +extern_c Handle2NuclearAmplitudeExpansion +CoulombPlusNuclearElasticNuclearAmplitudeExpansionGet(ConstHandle2CoulombPlusNuclearElastic This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticNuclearAmplitudeExpansionSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion); + + +// ----------------------------------------------------------------------------- +// Child: nuclearPlusInterference +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticNuclearPlusInterferenceHas(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// --- Get, const +extern_c Handle2ConstNuclearPlusInterference +CoulombPlusNuclearElasticNuclearPlusInterferenceGetConst(ConstHandle2ConstCoulombPlusNuclearElastic This); + +// +++ Get, non-const +extern_c Handle2NuclearPlusInterference +CoulombPlusNuclearElasticNuclearPlusInterferenceGet(ConstHandle2CoulombPlusNuclearElastic This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticNuclearPlusInterferenceSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp new file mode 100644 index 000000000..e573cdab6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/cpTransport/ImaginaryInterferenceTerm.hpp" +#include "ImaginaryInterferenceTerm.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ImaginaryInterferenceTermClass; +using CPP = multigroup::ImaginaryInterferenceTerm; + +static const std::string CLASSNAME = "ImaginaryInterferenceTerm"; + +namespace extract { + static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; + static auto regions2d = [](auto &obj) { return &obj.regions2d; }; +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstImaginaryInterferenceTerm +ImaginaryInterferenceTermDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ImaginaryInterferenceTerm +ImaginaryInterferenceTermDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstImaginaryInterferenceTerm +ImaginaryInterferenceTermCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +) { + ConstHandle2ImaginaryInterferenceTerm handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs2d), + detail::tocpp(regions2d) + ); + return handle; +} + +// Create, general +Handle2ImaginaryInterferenceTerm +ImaginaryInterferenceTermCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +) { + ConstHandle2ImaginaryInterferenceTerm handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs2d), + detail::tocpp(regions2d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ImaginaryInterferenceTermAssign(ConstHandle2ImaginaryInterferenceTerm This, ConstHandle2ConstImaginaryInterferenceTerm from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ImaginaryInterferenceTermDelete(ConstHandle2ConstImaginaryInterferenceTerm This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ImaginaryInterferenceTermRead(ConstHandle2ImaginaryInterferenceTerm This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ImaginaryInterferenceTermWrite(ConstHandle2ConstImaginaryInterferenceTerm This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ImaginaryInterferenceTermPrint(ConstHandle2ConstImaginaryInterferenceTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ImaginaryInterferenceTermPrintXML(ConstHandle2ConstImaginaryInterferenceTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ImaginaryInterferenceTermPrintJSON(ConstHandle2ConstImaginaryInterferenceTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// Has +int +ImaginaryInterferenceTermXYs2dHas(ConstHandle2ConstImaginaryInterferenceTerm This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs2dHas", This, extract::XYs2d); +} + +// Get, const +Handle2ConstXYs2d +ImaginaryInterferenceTermXYs2dGetConst(ConstHandle2ConstImaginaryInterferenceTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGetConst", This, extract::XYs2d); +} + +// Get, non-const +Handle2XYs2d +ImaginaryInterferenceTermXYs2dGet(ConstHandle2ImaginaryInterferenceTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGet", This, extract::XYs2d); +} + +// Set +void +ImaginaryInterferenceTermXYs2dSet(ConstHandle2ImaginaryInterferenceTerm This, ConstHandle2ConstXYs2d XYs2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs2dSet", This, extract::XYs2d, XYs2d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// Has +int +ImaginaryInterferenceTermRegions2dHas(ConstHandle2ConstImaginaryInterferenceTerm This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions2dHas", This, extract::regions2d); +} + +// Get, const +Handle2ConstRegions2d +ImaginaryInterferenceTermRegions2dGetConst(ConstHandle2ConstImaginaryInterferenceTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGetConst", This, extract::regions2d); +} + +// Get, non-const +Handle2Regions2d +ImaginaryInterferenceTermRegions2dGet(ConstHandle2ImaginaryInterferenceTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGet", This, extract::regions2d); +} + +// Set +void +ImaginaryInterferenceTermRegions2dSet(ConstHandle2ImaginaryInterferenceTerm This, ConstHandle2ConstRegions2d regions2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions2dSet", This, extract::regions2d, regions2d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h new file mode 100644 index 000000000..d4c3822e1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ImaginaryInterferenceTerm is the basic handle type in this file. Example: +// // Create a default ImaginaryInterferenceTerm object: +// ImaginaryInterferenceTerm handle = ImaginaryInterferenceTermDefault(); +// Functions involving ImaginaryInterferenceTerm are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM +#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ImaginaryInterferenceTermClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ImaginaryInterferenceTerm +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ImaginaryInterferenceTermClass *ImaginaryInterferenceTerm; + +// --- Const-aware handles. +typedef const struct ImaginaryInterferenceTermClass *const ConstHandle2ConstImaginaryInterferenceTerm; +typedef struct ImaginaryInterferenceTermClass *const ConstHandle2ImaginaryInterferenceTerm; +typedef const struct ImaginaryInterferenceTermClass * Handle2ConstImaginaryInterferenceTerm; +typedef struct ImaginaryInterferenceTermClass * Handle2ImaginaryInterferenceTerm; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstImaginaryInterferenceTerm +ImaginaryInterferenceTermDefaultConst(); + +// +++ Create, default +extern_c Handle2ImaginaryInterferenceTerm +ImaginaryInterferenceTermDefault(); + +// --- Create, general, const +extern_c Handle2ConstImaginaryInterferenceTerm +ImaginaryInterferenceTermCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +); + +// +++ Create, general +extern_c Handle2ImaginaryInterferenceTerm +ImaginaryInterferenceTermCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ImaginaryInterferenceTermAssign(ConstHandle2ImaginaryInterferenceTerm This, ConstHandle2ConstImaginaryInterferenceTerm from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ImaginaryInterferenceTermDelete(ConstHandle2ConstImaginaryInterferenceTerm This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ImaginaryInterferenceTermRead(ConstHandle2ImaginaryInterferenceTerm This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ImaginaryInterferenceTermWrite(ConstHandle2ConstImaginaryInterferenceTerm This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ImaginaryInterferenceTermPrint(ConstHandle2ConstImaginaryInterferenceTerm This); + +// +++ Print to standard output, as XML +extern_c int +ImaginaryInterferenceTermPrintXML(ConstHandle2ConstImaginaryInterferenceTerm This); + +// +++ Print to standard output, as JSON +extern_c int +ImaginaryInterferenceTermPrintJSON(ConstHandle2ConstImaginaryInterferenceTerm This); + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ImaginaryInterferenceTermXYs2dHas(ConstHandle2ConstImaginaryInterferenceTerm This); + +// --- Get, const +extern_c Handle2ConstXYs2d +ImaginaryInterferenceTermXYs2dGetConst(ConstHandle2ConstImaginaryInterferenceTerm This); + +// +++ Get, non-const +extern_c Handle2XYs2d +ImaginaryInterferenceTermXYs2dGet(ConstHandle2ImaginaryInterferenceTerm This); + +// +++ Set +extern_c void +ImaginaryInterferenceTermXYs2dSet(ConstHandle2ImaginaryInterferenceTerm This, ConstHandle2ConstXYs2d XYs2d); + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ImaginaryInterferenceTermRegions2dHas(ConstHandle2ConstImaginaryInterferenceTerm This); + +// --- Get, const +extern_c Handle2ConstRegions2d +ImaginaryInterferenceTermRegions2dGetConst(ConstHandle2ConstImaginaryInterferenceTerm This); + +// +++ Get, non-const +extern_c Handle2Regions2d +ImaginaryInterferenceTermRegions2dGet(ConstHandle2ImaginaryInterferenceTerm This); + +// +++ Set +extern_c void +ImaginaryInterferenceTermRegions2dSet(ConstHandle2ImaginaryInterferenceTerm This, ConstHandle2ConstRegions2d regions2d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp new file mode 100644 index 000000000..fd6379ce3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "NuclearAmplitudeExpansion.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NuclearAmplitudeExpansionClass; +using CPP = multigroup::NuclearAmplitudeExpansion; + +static const std::string CLASSNAME = "NuclearAmplitudeExpansion"; + +namespace extract { + static auto nuclearTerm = [](auto &obj) { return &obj.nuclearTerm; }; + static auto realInterferenceTerm = [](auto &obj) { return &obj.realInterferenceTerm; }; + static auto imaginaryInterferenceTerm = [](auto &obj) { return &obj.imaginaryInterferenceTerm; }; +} + +using CPPNuclearTerm = cpTransport::NuclearTerm; +using CPPRealInterferenceTerm = cpTransport::RealInterferenceTerm; +using CPPImaginaryInterferenceTerm = cpTransport::ImaginaryInterferenceTerm; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNuclearAmplitudeExpansion +NuclearAmplitudeExpansionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2NuclearAmplitudeExpansion +NuclearAmplitudeExpansionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNuclearAmplitudeExpansion +NuclearAmplitudeExpansionCreateConst( + ConstHandle2ConstNuclearTerm nuclearTerm, + ConstHandle2ConstRealInterferenceTerm realInterferenceTerm, + ConstHandle2ConstImaginaryInterferenceTerm imaginaryInterferenceTerm +) { + ConstHandle2NuclearAmplitudeExpansion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(nuclearTerm), + detail::tocpp(realInterferenceTerm), + detail::tocpp(imaginaryInterferenceTerm) + ); + return handle; +} + +// Create, general +Handle2NuclearAmplitudeExpansion +NuclearAmplitudeExpansionCreate( + ConstHandle2ConstNuclearTerm nuclearTerm, + ConstHandle2ConstRealInterferenceTerm realInterferenceTerm, + ConstHandle2ConstImaginaryInterferenceTerm imaginaryInterferenceTerm +) { + ConstHandle2NuclearAmplitudeExpansion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(nuclearTerm), + detail::tocpp(realInterferenceTerm), + detail::tocpp(imaginaryInterferenceTerm) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NuclearAmplitudeExpansionAssign(ConstHandle2NuclearAmplitudeExpansion This, ConstHandle2ConstNuclearAmplitudeExpansion from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NuclearAmplitudeExpansionDelete(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NuclearAmplitudeExpansionRead(ConstHandle2NuclearAmplitudeExpansion This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NuclearAmplitudeExpansionWrite(ConstHandle2ConstNuclearAmplitudeExpansion This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NuclearAmplitudeExpansionPrint(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NuclearAmplitudeExpansionPrintXML(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NuclearAmplitudeExpansionPrintJSON(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: nuclearTerm +// ----------------------------------------------------------------------------- + +// Has +int +NuclearAmplitudeExpansionNuclearTermHas(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NuclearTermHas", This, extract::nuclearTerm); +} + +// Get, const +Handle2ConstNuclearTerm +NuclearAmplitudeExpansionNuclearTermGetConst(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclearTermGetConst", This, extract::nuclearTerm); +} + +// Get, non-const +Handle2NuclearTerm +NuclearAmplitudeExpansionNuclearTermGet(ConstHandle2NuclearAmplitudeExpansion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclearTermGet", This, extract::nuclearTerm); +} + +// Set +void +NuclearAmplitudeExpansionNuclearTermSet(ConstHandle2NuclearAmplitudeExpansion This, ConstHandle2ConstNuclearTerm nuclearTerm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NuclearTermSet", This, extract::nuclearTerm, nuclearTerm); +} + + +// ----------------------------------------------------------------------------- +// Child: realInterferenceTerm +// ----------------------------------------------------------------------------- + +// Has +int +NuclearAmplitudeExpansionRealInterferenceTermHas(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RealInterferenceTermHas", This, extract::realInterferenceTerm); +} + +// Get, const +Handle2ConstRealInterferenceTerm +NuclearAmplitudeExpansionRealInterferenceTermGetConst(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RealInterferenceTermGetConst", This, extract::realInterferenceTerm); +} + +// Get, non-const +Handle2RealInterferenceTerm +NuclearAmplitudeExpansionRealInterferenceTermGet(ConstHandle2NuclearAmplitudeExpansion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RealInterferenceTermGet", This, extract::realInterferenceTerm); +} + +// Set +void +NuclearAmplitudeExpansionRealInterferenceTermSet(ConstHandle2NuclearAmplitudeExpansion This, ConstHandle2ConstRealInterferenceTerm realInterferenceTerm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RealInterferenceTermSet", This, extract::realInterferenceTerm, realInterferenceTerm); +} + + +// ----------------------------------------------------------------------------- +// Child: imaginaryInterferenceTerm +// ----------------------------------------------------------------------------- + +// Has +int +NuclearAmplitudeExpansionImaginaryInterferenceTermHas(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ImaginaryInterferenceTermHas", This, extract::imaginaryInterferenceTerm); +} + +// Get, const +Handle2ConstImaginaryInterferenceTerm +NuclearAmplitudeExpansionImaginaryInterferenceTermGetConst(ConstHandle2ConstNuclearAmplitudeExpansion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ImaginaryInterferenceTermGetConst", This, extract::imaginaryInterferenceTerm); +} + +// Get, non-const +Handle2ImaginaryInterferenceTerm +NuclearAmplitudeExpansionImaginaryInterferenceTermGet(ConstHandle2NuclearAmplitudeExpansion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ImaginaryInterferenceTermGet", This, extract::imaginaryInterferenceTerm); +} + +// Set +void +NuclearAmplitudeExpansionImaginaryInterferenceTermSet(ConstHandle2NuclearAmplitudeExpansion This, ConstHandle2ConstImaginaryInterferenceTerm imaginaryInterferenceTerm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ImaginaryInterferenceTermSet", This, extract::imaginaryInterferenceTerm, imaginaryInterferenceTerm); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h new file mode 100644 index 000000000..46893d519 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// NuclearAmplitudeExpansion is the basic handle type in this file. Example: +// // Create a default NuclearAmplitudeExpansion object: +// NuclearAmplitudeExpansion handle = NuclearAmplitudeExpansionDefault(); +// Functions involving NuclearAmplitudeExpansion are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARAMPLITUDEEXPANSION +#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARAMPLITUDEEXPANSION + +#include "GNDStk.h" +#include "v2.0/cpTransport/NuclearTerm.h" +#include "v2.0/cpTransport/RealInterferenceTerm.h" +#include "v2.0/cpTransport/ImaginaryInterferenceTerm.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NuclearAmplitudeExpansionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ NuclearAmplitudeExpansion +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NuclearAmplitudeExpansionClass *NuclearAmplitudeExpansion; + +// --- Const-aware handles. +typedef const struct NuclearAmplitudeExpansionClass *const ConstHandle2ConstNuclearAmplitudeExpansion; +typedef struct NuclearAmplitudeExpansionClass *const ConstHandle2NuclearAmplitudeExpansion; +typedef const struct NuclearAmplitudeExpansionClass * Handle2ConstNuclearAmplitudeExpansion; +typedef struct NuclearAmplitudeExpansionClass * Handle2NuclearAmplitudeExpansion; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNuclearAmplitudeExpansion +NuclearAmplitudeExpansionDefaultConst(); + +// +++ Create, default +extern_c Handle2NuclearAmplitudeExpansion +NuclearAmplitudeExpansionDefault(); + +// --- Create, general, const +extern_c Handle2ConstNuclearAmplitudeExpansion +NuclearAmplitudeExpansionCreateConst( + ConstHandle2ConstNuclearTerm nuclearTerm, + ConstHandle2ConstRealInterferenceTerm realInterferenceTerm, + ConstHandle2ConstImaginaryInterferenceTerm imaginaryInterferenceTerm +); + +// +++ Create, general +extern_c Handle2NuclearAmplitudeExpansion +NuclearAmplitudeExpansionCreate( + ConstHandle2ConstNuclearTerm nuclearTerm, + ConstHandle2ConstRealInterferenceTerm realInterferenceTerm, + ConstHandle2ConstImaginaryInterferenceTerm imaginaryInterferenceTerm +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NuclearAmplitudeExpansionAssign(ConstHandle2NuclearAmplitudeExpansion This, ConstHandle2ConstNuclearAmplitudeExpansion from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NuclearAmplitudeExpansionDelete(ConstHandle2ConstNuclearAmplitudeExpansion This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NuclearAmplitudeExpansionRead(ConstHandle2NuclearAmplitudeExpansion This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NuclearAmplitudeExpansionWrite(ConstHandle2ConstNuclearAmplitudeExpansion This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NuclearAmplitudeExpansionPrint(ConstHandle2ConstNuclearAmplitudeExpansion This); + +// +++ Print to standard output, as XML +extern_c int +NuclearAmplitudeExpansionPrintXML(ConstHandle2ConstNuclearAmplitudeExpansion This); + +// +++ Print to standard output, as JSON +extern_c int +NuclearAmplitudeExpansionPrintJSON(ConstHandle2ConstNuclearAmplitudeExpansion This); + + +// ----------------------------------------------------------------------------- +// Child: nuclearTerm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclearAmplitudeExpansionNuclearTermHas(ConstHandle2ConstNuclearAmplitudeExpansion This); + +// --- Get, const +extern_c Handle2ConstNuclearTerm +NuclearAmplitudeExpansionNuclearTermGetConst(ConstHandle2ConstNuclearAmplitudeExpansion This); + +// +++ Get, non-const +extern_c Handle2NuclearTerm +NuclearAmplitudeExpansionNuclearTermGet(ConstHandle2NuclearAmplitudeExpansion This); + +// +++ Set +extern_c void +NuclearAmplitudeExpansionNuclearTermSet(ConstHandle2NuclearAmplitudeExpansion This, ConstHandle2ConstNuclearTerm nuclearTerm); + + +// ----------------------------------------------------------------------------- +// Child: realInterferenceTerm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclearAmplitudeExpansionRealInterferenceTermHas(ConstHandle2ConstNuclearAmplitudeExpansion This); + +// --- Get, const +extern_c Handle2ConstRealInterferenceTerm +NuclearAmplitudeExpansionRealInterferenceTermGetConst(ConstHandle2ConstNuclearAmplitudeExpansion This); + +// +++ Get, non-const +extern_c Handle2RealInterferenceTerm +NuclearAmplitudeExpansionRealInterferenceTermGet(ConstHandle2NuclearAmplitudeExpansion This); + +// +++ Set +extern_c void +NuclearAmplitudeExpansionRealInterferenceTermSet(ConstHandle2NuclearAmplitudeExpansion This, ConstHandle2ConstRealInterferenceTerm realInterferenceTerm); + + +// ----------------------------------------------------------------------------- +// Child: imaginaryInterferenceTerm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclearAmplitudeExpansionImaginaryInterferenceTermHas(ConstHandle2ConstNuclearAmplitudeExpansion This); + +// --- Get, const +extern_c Handle2ConstImaginaryInterferenceTerm +NuclearAmplitudeExpansionImaginaryInterferenceTermGetConst(ConstHandle2ConstNuclearAmplitudeExpansion This); + +// +++ Get, non-const +extern_c Handle2ImaginaryInterferenceTerm +NuclearAmplitudeExpansionImaginaryInterferenceTermGet(ConstHandle2NuclearAmplitudeExpansion This); + +// +++ Set +extern_c void +NuclearAmplitudeExpansionImaginaryInterferenceTermSet(ConstHandle2NuclearAmplitudeExpansion This, ConstHandle2ConstImaginaryInterferenceTerm imaginaryInterferenceTerm); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp new file mode 100644 index 000000000..f52a923e5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/cpTransport/NuclearPlusInterference.hpp" +#include "NuclearPlusInterference.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NuclearPlusInterferenceClass; +using CPP = multigroup::NuclearPlusInterference; + +static const std::string CLASSNAME = "NuclearPlusInterference"; + +namespace extract { + static auto muCutoff = [](auto &obj) { return &obj.muCutoff; }; + static auto crossSection = [](auto &obj) { return &obj.crossSection; }; + static auto distribution = [](auto &obj) { return &obj.distribution; }; +} + +using CPPCrossSection = transport::CrossSection; +using CPPDistribution = transport::Distribution; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNuclearPlusInterference +NuclearPlusInterferenceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2NuclearPlusInterference +NuclearPlusInterferenceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNuclearPlusInterference +NuclearPlusInterferenceCreateConst( + const Float64 muCutoff, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstDistribution distribution +) { + ConstHandle2NuclearPlusInterference handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + muCutoff, + detail::tocpp(crossSection), + detail::tocpp(distribution) + ); + return handle; +} + +// Create, general +Handle2NuclearPlusInterference +NuclearPlusInterferenceCreate( + const Float64 muCutoff, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstDistribution distribution +) { + ConstHandle2NuclearPlusInterference handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + muCutoff, + detail::tocpp(crossSection), + detail::tocpp(distribution) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NuclearPlusInterferenceAssign(ConstHandle2NuclearPlusInterference This, ConstHandle2ConstNuclearPlusInterference from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NuclearPlusInterferenceDelete(ConstHandle2ConstNuclearPlusInterference This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NuclearPlusInterferenceRead(ConstHandle2NuclearPlusInterference This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NuclearPlusInterferenceWrite(ConstHandle2ConstNuclearPlusInterference This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NuclearPlusInterferencePrint(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NuclearPlusInterferencePrintXML(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NuclearPlusInterferencePrintJSON(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: muCutoff +// ----------------------------------------------------------------------------- + +// Has +int +NuclearPlusInterferenceMuCutoffHas(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MuCutoffHas", This, extract::muCutoff); +} + +// Get +// Returns by value +Float64 +NuclearPlusInterferenceMuCutoffGet(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MuCutoffGet", This, extract::muCutoff); +} + +// Set +void +NuclearPlusInterferenceMuCutoffSet(ConstHandle2NuclearPlusInterference This, const Float64 muCutoff) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MuCutoffSet", This, extract::muCutoff, muCutoff); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// Has +int +NuclearPlusInterferenceCrossSectionHas(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionHas", This, extract::crossSection); +} + +// Get, const +Handle2ConstCrossSection +NuclearPlusInterferenceCrossSectionGetConst(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGetConst", This, extract::crossSection); +} + +// Get, non-const +Handle2CrossSection +NuclearPlusInterferenceCrossSectionGet(ConstHandle2NuclearPlusInterference This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGet", This, extract::crossSection); +} + +// Set +void +NuclearPlusInterferenceCrossSectionSet(ConstHandle2NuclearPlusInterference This, ConstHandle2ConstCrossSection crossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossSectionSet", This, extract::crossSection, crossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: distribution +// ----------------------------------------------------------------------------- + +// Has +int +NuclearPlusInterferenceDistributionHas(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DistributionHas", This, extract::distribution); +} + +// Get, const +Handle2ConstDistribution +NuclearPlusInterferenceDistributionGetConst(ConstHandle2ConstNuclearPlusInterference This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DistributionGetConst", This, extract::distribution); +} + +// Get, non-const +Handle2Distribution +NuclearPlusInterferenceDistributionGet(ConstHandle2NuclearPlusInterference This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DistributionGet", This, extract::distribution); +} + +// Set +void +NuclearPlusInterferenceDistributionSet(ConstHandle2NuclearPlusInterference This, ConstHandle2ConstDistribution distribution) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DistributionSet", This, extract::distribution, distribution); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.h new file mode 100644 index 000000000..2e07e067e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// NuclearPlusInterference is the basic handle type in this file. Example: +// // Create a default NuclearPlusInterference object: +// NuclearPlusInterference handle = NuclearPlusInterferenceDefault(); +// Functions involving NuclearPlusInterference are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARPLUSINTERFERENCE +#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARPLUSINTERFERENCE + +#include "GNDStk.h" +#include "v2.0/transport/CrossSection.h" +#include "v2.0/transport/Distribution.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NuclearPlusInterferenceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ NuclearPlusInterference +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NuclearPlusInterferenceClass *NuclearPlusInterference; + +// --- Const-aware handles. +typedef const struct NuclearPlusInterferenceClass *const ConstHandle2ConstNuclearPlusInterference; +typedef struct NuclearPlusInterferenceClass *const ConstHandle2NuclearPlusInterference; +typedef const struct NuclearPlusInterferenceClass * Handle2ConstNuclearPlusInterference; +typedef struct NuclearPlusInterferenceClass * Handle2NuclearPlusInterference; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNuclearPlusInterference +NuclearPlusInterferenceDefaultConst(); + +// +++ Create, default +extern_c Handle2NuclearPlusInterference +NuclearPlusInterferenceDefault(); + +// --- Create, general, const +extern_c Handle2ConstNuclearPlusInterference +NuclearPlusInterferenceCreateConst( + const Float64 muCutoff, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstDistribution distribution +); + +// +++ Create, general +extern_c Handle2NuclearPlusInterference +NuclearPlusInterferenceCreate( + const Float64 muCutoff, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstDistribution distribution +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NuclearPlusInterferenceAssign(ConstHandle2NuclearPlusInterference This, ConstHandle2ConstNuclearPlusInterference from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NuclearPlusInterferenceDelete(ConstHandle2ConstNuclearPlusInterference This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NuclearPlusInterferenceRead(ConstHandle2NuclearPlusInterference This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NuclearPlusInterferenceWrite(ConstHandle2ConstNuclearPlusInterference This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NuclearPlusInterferencePrint(ConstHandle2ConstNuclearPlusInterference This); + +// +++ Print to standard output, as XML +extern_c int +NuclearPlusInterferencePrintXML(ConstHandle2ConstNuclearPlusInterference This); + +// +++ Print to standard output, as JSON +extern_c int +NuclearPlusInterferencePrintJSON(ConstHandle2ConstNuclearPlusInterference This); + + +// ----------------------------------------------------------------------------- +// Metadatum: muCutoff +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclearPlusInterferenceMuCutoffHas(ConstHandle2ConstNuclearPlusInterference This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +NuclearPlusInterferenceMuCutoffGet(ConstHandle2ConstNuclearPlusInterference This); + +// +++ Set +extern_c void +NuclearPlusInterferenceMuCutoffSet(ConstHandle2NuclearPlusInterference This, const Float64 muCutoff); + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclearPlusInterferenceCrossSectionHas(ConstHandle2ConstNuclearPlusInterference This); + +// --- Get, const +extern_c Handle2ConstCrossSection +NuclearPlusInterferenceCrossSectionGetConst(ConstHandle2ConstNuclearPlusInterference This); + +// +++ Get, non-const +extern_c Handle2CrossSection +NuclearPlusInterferenceCrossSectionGet(ConstHandle2NuclearPlusInterference This); + +// +++ Set +extern_c void +NuclearPlusInterferenceCrossSectionSet(ConstHandle2NuclearPlusInterference This, ConstHandle2ConstCrossSection crossSection); + + +// ----------------------------------------------------------------------------- +// Child: distribution +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclearPlusInterferenceDistributionHas(ConstHandle2ConstNuclearPlusInterference This); + +// --- Get, const +extern_c Handle2ConstDistribution +NuclearPlusInterferenceDistributionGetConst(ConstHandle2ConstNuclearPlusInterference This); + +// +++ Get, non-const +extern_c Handle2Distribution +NuclearPlusInterferenceDistributionGet(ConstHandle2NuclearPlusInterference This); + +// +++ Set +extern_c void +NuclearPlusInterferenceDistributionSet(ConstHandle2NuclearPlusInterference This, ConstHandle2ConstDistribution distribution); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp new file mode 100644 index 000000000..b4f571290 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/cpTransport/NuclearTerm.hpp" +#include "NuclearTerm.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NuclearTermClass; +using CPP = multigroup::NuclearTerm; + +static const std::string CLASSNAME = "NuclearTerm"; + +namespace extract { + static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; + static auto regions2d = [](auto &obj) { return &obj.regions2d; }; +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNuclearTerm +NuclearTermDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2NuclearTerm +NuclearTermDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNuclearTerm +NuclearTermCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +) { + ConstHandle2NuclearTerm handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs2d), + detail::tocpp(regions2d) + ); + return handle; +} + +// Create, general +Handle2NuclearTerm +NuclearTermCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +) { + ConstHandle2NuclearTerm handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs2d), + detail::tocpp(regions2d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NuclearTermAssign(ConstHandle2NuclearTerm This, ConstHandle2ConstNuclearTerm from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NuclearTermDelete(ConstHandle2ConstNuclearTerm This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NuclearTermRead(ConstHandle2NuclearTerm This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NuclearTermWrite(ConstHandle2ConstNuclearTerm This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NuclearTermPrint(ConstHandle2ConstNuclearTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NuclearTermPrintXML(ConstHandle2ConstNuclearTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NuclearTermPrintJSON(ConstHandle2ConstNuclearTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// Has +int +NuclearTermXYs2dHas(ConstHandle2ConstNuclearTerm This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs2dHas", This, extract::XYs2d); +} + +// Get, const +Handle2ConstXYs2d +NuclearTermXYs2dGetConst(ConstHandle2ConstNuclearTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGetConst", This, extract::XYs2d); +} + +// Get, non-const +Handle2XYs2d +NuclearTermXYs2dGet(ConstHandle2NuclearTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGet", This, extract::XYs2d); +} + +// Set +void +NuclearTermXYs2dSet(ConstHandle2NuclearTerm This, ConstHandle2ConstXYs2d XYs2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs2dSet", This, extract::XYs2d, XYs2d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// Has +int +NuclearTermRegions2dHas(ConstHandle2ConstNuclearTerm This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions2dHas", This, extract::regions2d); +} + +// Get, const +Handle2ConstRegions2d +NuclearTermRegions2dGetConst(ConstHandle2ConstNuclearTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGetConst", This, extract::regions2d); +} + +// Get, non-const +Handle2Regions2d +NuclearTermRegions2dGet(ConstHandle2NuclearTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGet", This, extract::regions2d); +} + +// Set +void +NuclearTermRegions2dSet(ConstHandle2NuclearTerm This, ConstHandle2ConstRegions2d regions2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions2dSet", This, extract::regions2d, regions2d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h new file mode 100644 index 000000000..e0c2efcbe --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// NuclearTerm is the basic handle type in this file. Example: +// // Create a default NuclearTerm object: +// NuclearTerm handle = NuclearTermDefault(); +// Functions involving NuclearTerm are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARTERM +#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARTERM + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NuclearTermClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ NuclearTerm +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NuclearTermClass *NuclearTerm; + +// --- Const-aware handles. +typedef const struct NuclearTermClass *const ConstHandle2ConstNuclearTerm; +typedef struct NuclearTermClass *const ConstHandle2NuclearTerm; +typedef const struct NuclearTermClass * Handle2ConstNuclearTerm; +typedef struct NuclearTermClass * Handle2NuclearTerm; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNuclearTerm +NuclearTermDefaultConst(); + +// +++ Create, default +extern_c Handle2NuclearTerm +NuclearTermDefault(); + +// --- Create, general, const +extern_c Handle2ConstNuclearTerm +NuclearTermCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +); + +// +++ Create, general +extern_c Handle2NuclearTerm +NuclearTermCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NuclearTermAssign(ConstHandle2NuclearTerm This, ConstHandle2ConstNuclearTerm from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NuclearTermDelete(ConstHandle2ConstNuclearTerm This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NuclearTermRead(ConstHandle2NuclearTerm This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NuclearTermWrite(ConstHandle2ConstNuclearTerm This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NuclearTermPrint(ConstHandle2ConstNuclearTerm This); + +// +++ Print to standard output, as XML +extern_c int +NuclearTermPrintXML(ConstHandle2ConstNuclearTerm This); + +// +++ Print to standard output, as JSON +extern_c int +NuclearTermPrintJSON(ConstHandle2ConstNuclearTerm This); + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclearTermXYs2dHas(ConstHandle2ConstNuclearTerm This); + +// --- Get, const +extern_c Handle2ConstXYs2d +NuclearTermXYs2dGetConst(ConstHandle2ConstNuclearTerm This); + +// +++ Get, non-const +extern_c Handle2XYs2d +NuclearTermXYs2dGet(ConstHandle2NuclearTerm This); + +// +++ Set +extern_c void +NuclearTermXYs2dSet(ConstHandle2NuclearTerm This, ConstHandle2ConstXYs2d XYs2d); + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclearTermRegions2dHas(ConstHandle2ConstNuclearTerm This); + +// --- Get, const +extern_c Handle2ConstRegions2d +NuclearTermRegions2dGetConst(ConstHandle2ConstNuclearTerm This); + +// +++ Get, non-const +extern_c Handle2Regions2d +NuclearTermRegions2dGet(ConstHandle2NuclearTerm This); + +// +++ Set +extern_c void +NuclearTermRegions2dSet(ConstHandle2NuclearTerm This, ConstHandle2ConstRegions2d regions2d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp new file mode 100644 index 000000000..5103e5527 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/cpTransport/RealInterferenceTerm.hpp" +#include "RealInterferenceTerm.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RealInterferenceTermClass; +using CPP = multigroup::RealInterferenceTerm; + +static const std::string CLASSNAME = "RealInterferenceTerm"; + +namespace extract { + static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; + static auto regions2d = [](auto &obj) { return &obj.regions2d; }; +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRealInterferenceTerm +RealInterferenceTermDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2RealInterferenceTerm +RealInterferenceTermDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRealInterferenceTerm +RealInterferenceTermCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +) { + ConstHandle2RealInterferenceTerm handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs2d), + detail::tocpp(regions2d) + ); + return handle; +} + +// Create, general +Handle2RealInterferenceTerm +RealInterferenceTermCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +) { + ConstHandle2RealInterferenceTerm handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs2d), + detail::tocpp(regions2d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RealInterferenceTermAssign(ConstHandle2RealInterferenceTerm This, ConstHandle2ConstRealInterferenceTerm from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RealInterferenceTermDelete(ConstHandle2ConstRealInterferenceTerm This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RealInterferenceTermRead(ConstHandle2RealInterferenceTerm This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RealInterferenceTermWrite(ConstHandle2ConstRealInterferenceTerm This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RealInterferenceTermPrint(ConstHandle2ConstRealInterferenceTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RealInterferenceTermPrintXML(ConstHandle2ConstRealInterferenceTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RealInterferenceTermPrintJSON(ConstHandle2ConstRealInterferenceTerm This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// Has +int +RealInterferenceTermXYs2dHas(ConstHandle2ConstRealInterferenceTerm This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs2dHas", This, extract::XYs2d); +} + +// Get, const +Handle2ConstXYs2d +RealInterferenceTermXYs2dGetConst(ConstHandle2ConstRealInterferenceTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGetConst", This, extract::XYs2d); +} + +// Get, non-const +Handle2XYs2d +RealInterferenceTermXYs2dGet(ConstHandle2RealInterferenceTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGet", This, extract::XYs2d); +} + +// Set +void +RealInterferenceTermXYs2dSet(ConstHandle2RealInterferenceTerm This, ConstHandle2ConstXYs2d XYs2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs2dSet", This, extract::XYs2d, XYs2d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// Has +int +RealInterferenceTermRegions2dHas(ConstHandle2ConstRealInterferenceTerm This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions2dHas", This, extract::regions2d); +} + +// Get, const +Handle2ConstRegions2d +RealInterferenceTermRegions2dGetConst(ConstHandle2ConstRealInterferenceTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGetConst", This, extract::regions2d); +} + +// Get, non-const +Handle2Regions2d +RealInterferenceTermRegions2dGet(ConstHandle2RealInterferenceTerm This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGet", This, extract::regions2d); +} + +// Set +void +RealInterferenceTermRegions2dSet(ConstHandle2RealInterferenceTerm This, ConstHandle2ConstRegions2d regions2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions2dSet", This, extract::regions2d, regions2d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h new file mode 100644 index 000000000..da3db9b79 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// RealInterferenceTerm is the basic handle type in this file. Example: +// // Create a default RealInterferenceTerm object: +// RealInterferenceTerm handle = RealInterferenceTermDefault(); +// Functions involving RealInterferenceTerm are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM +#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RealInterferenceTermClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ RealInterferenceTerm +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RealInterferenceTermClass *RealInterferenceTerm; + +// --- Const-aware handles. +typedef const struct RealInterferenceTermClass *const ConstHandle2ConstRealInterferenceTerm; +typedef struct RealInterferenceTermClass *const ConstHandle2RealInterferenceTerm; +typedef const struct RealInterferenceTermClass * Handle2ConstRealInterferenceTerm; +typedef struct RealInterferenceTermClass * Handle2RealInterferenceTerm; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRealInterferenceTerm +RealInterferenceTermDefaultConst(); + +// +++ Create, default +extern_c Handle2RealInterferenceTerm +RealInterferenceTermDefault(); + +// --- Create, general, const +extern_c Handle2ConstRealInterferenceTerm +RealInterferenceTermCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +); + +// +++ Create, general +extern_c Handle2RealInterferenceTerm +RealInterferenceTermCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RealInterferenceTermAssign(ConstHandle2RealInterferenceTerm This, ConstHandle2ConstRealInterferenceTerm from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RealInterferenceTermDelete(ConstHandle2ConstRealInterferenceTerm This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RealInterferenceTermRead(ConstHandle2RealInterferenceTerm This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RealInterferenceTermWrite(ConstHandle2ConstRealInterferenceTerm This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RealInterferenceTermPrint(ConstHandle2ConstRealInterferenceTerm This); + +// +++ Print to standard output, as XML +extern_c int +RealInterferenceTermPrintXML(ConstHandle2ConstRealInterferenceTerm This); + +// +++ Print to standard output, as JSON +extern_c int +RealInterferenceTermPrintJSON(ConstHandle2ConstRealInterferenceTerm This); + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RealInterferenceTermXYs2dHas(ConstHandle2ConstRealInterferenceTerm This); + +// --- Get, const +extern_c Handle2ConstXYs2d +RealInterferenceTermXYs2dGetConst(ConstHandle2ConstRealInterferenceTerm This); + +// +++ Get, non-const +extern_c Handle2XYs2d +RealInterferenceTermXYs2dGet(ConstHandle2RealInterferenceTerm This); + +// +++ Set +extern_c void +RealInterferenceTermXYs2dSet(ConstHandle2RealInterferenceTerm This, ConstHandle2ConstXYs2d XYs2d); + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RealInterferenceTermRegions2dHas(ConstHandle2ConstRealInterferenceTerm This); + +// --- Get, const +extern_c Handle2ConstRegions2d +RealInterferenceTermRegions2dGetConst(ConstHandle2ConstRealInterferenceTerm This); + +// +++ Get, non-const +extern_c Handle2Regions2d +RealInterferenceTermRegions2dGet(ConstHandle2RealInterferenceTerm This); + +// +++ Set +extern_c void +RealInterferenceTermRegions2dSet(ConstHandle2RealInterferenceTerm This, ConstHandle2ConstRegions2d regions2d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.cpp new file mode 100644 index 000000000..f08df9c19 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/cpTransport/RutherfordScattering.hpp" +#include "RutherfordScattering.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RutherfordScatteringClass; +using CPP = multigroup::RutherfordScattering; + +static const std::string CLASSNAME = "RutherfordScattering"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRutherfordScattering +RutherfordScatteringDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2RutherfordScattering +RutherfordScatteringDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRutherfordScattering +RutherfordScatteringCreateConst() +{ + ConstHandle2RutherfordScattering handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2RutherfordScattering +RutherfordScatteringCreate() +{ + ConstHandle2RutherfordScattering handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RutherfordScatteringAssign(ConstHandle2RutherfordScattering This, ConstHandle2ConstRutherfordScattering from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RutherfordScatteringDelete(ConstHandle2ConstRutherfordScattering This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RutherfordScatteringRead(ConstHandle2RutherfordScattering This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RutherfordScatteringWrite(ConstHandle2ConstRutherfordScattering This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RutherfordScatteringPrint(ConstHandle2ConstRutherfordScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RutherfordScatteringPrintXML(ConstHandle2ConstRutherfordScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RutherfordScatteringPrintJSON(ConstHandle2ConstRutherfordScattering This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.h new file mode 100644 index 000000000..cd1332473 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// RutherfordScattering is the basic handle type in this file. Example: +// // Create a default RutherfordScattering object: +// RutherfordScattering handle = RutherfordScatteringDefault(); +// Functions involving RutherfordScattering are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING +#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RutherfordScatteringClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ RutherfordScattering +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RutherfordScatteringClass *RutherfordScattering; + +// --- Const-aware handles. +typedef const struct RutherfordScatteringClass *const ConstHandle2ConstRutherfordScattering; +typedef struct RutherfordScatteringClass *const ConstHandle2RutherfordScattering; +typedef const struct RutherfordScatteringClass * Handle2ConstRutherfordScattering; +typedef struct RutherfordScatteringClass * Handle2RutherfordScattering; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRutherfordScattering +RutherfordScatteringDefaultConst(); + +// +++ Create, default +extern_c Handle2RutherfordScattering +RutherfordScatteringDefault(); + +// --- Create, general, const +extern_c Handle2ConstRutherfordScattering +RutherfordScatteringCreateConst(); + +// +++ Create, general +extern_c Handle2RutherfordScattering +RutherfordScatteringCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RutherfordScatteringAssign(ConstHandle2RutherfordScattering This, ConstHandle2ConstRutherfordScattering from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RutherfordScatteringDelete(ConstHandle2ConstRutherfordScattering This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RutherfordScatteringRead(ConstHandle2RutherfordScattering This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RutherfordScatteringWrite(ConstHandle2ConstRutherfordScattering This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RutherfordScatteringPrint(ConstHandle2ConstRutherfordScattering This); + +// +++ Print to standard output, as XML +extern_c int +RutherfordScatteringPrintXML(ConstHandle2ConstRutherfordScattering This); + +// +++ Print to standard output, as JSON +extern_c int +RutherfordScatteringPrintJSON(ConstHandle2ConstRutherfordScattering This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.cpp new file mode 100644 index 000000000..649dfa0da --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Abstract.hpp" +#include "Abstract.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AbstractClass; +using CPP = multigroup::Abstract; + +static const std::string CLASSNAME = "Abstract"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAbstract +AbstractDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Abstract +AbstractDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAbstract +AbstractCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Abstract handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2Abstract +AbstractCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Abstract handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AbstractAssign(ConstHandle2Abstract This, ConstHandle2ConstAbstract from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AbstractDelete(ConstHandle2ConstAbstract This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AbstractRead(ConstHandle2Abstract This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AbstractWrite(ConstHandle2ConstAbstract This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AbstractPrint(ConstHandle2ConstAbstract This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AbstractPrintXML(ConstHandle2ConstAbstract This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AbstractPrintJSON(ConstHandle2ConstAbstract This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +AbstractIntsClear(ConstHandle2Abstract This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +AbstractIntsSize(ConstHandle2ConstAbstract This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +AbstractIntsGet(ConstHandle2ConstAbstract This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +AbstractIntsSet(ConstHandle2Abstract This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +AbstractIntsGetArrayConst(ConstHandle2ConstAbstract This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +AbstractIntsGetArray(ConstHandle2Abstract This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +AbstractIntsSetArray(ConstHandle2Abstract This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +AbstractUnsignedsClear(ConstHandle2Abstract This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +AbstractUnsignedsSize(ConstHandle2ConstAbstract This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +AbstractUnsignedsGet(ConstHandle2ConstAbstract This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +AbstractUnsignedsSet(ConstHandle2Abstract This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +AbstractUnsignedsGetArrayConst(ConstHandle2ConstAbstract This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +AbstractUnsignedsGetArray(ConstHandle2Abstract This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +AbstractUnsignedsSetArray(ConstHandle2Abstract This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +AbstractFloatsClear(ConstHandle2Abstract This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +AbstractFloatsSize(ConstHandle2ConstAbstract This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +AbstractFloatsGet(ConstHandle2ConstAbstract This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +AbstractFloatsSet(ConstHandle2Abstract This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +AbstractFloatsGetArrayConst(ConstHandle2ConstAbstract This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +AbstractFloatsGetArray(ConstHandle2Abstract This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +AbstractFloatsSetArray(ConstHandle2Abstract This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +AbstractDoublesClear(ConstHandle2Abstract This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +AbstractDoublesSize(ConstHandle2ConstAbstract This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +AbstractDoublesGet(ConstHandle2ConstAbstract This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +AbstractDoublesSet(ConstHandle2Abstract This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +AbstractDoublesGetArrayConst(ConstHandle2ConstAbstract This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +AbstractDoublesGetArray(ConstHandle2Abstract This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +AbstractDoublesSetArray(ConstHandle2Abstract This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +AbstractEncodingHas(ConstHandle2ConstAbstract This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +AbstractEncodingGet(ConstHandle2ConstAbstract This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +AbstractEncodingSet(ConstHandle2Abstract This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +AbstractMarkupHas(ConstHandle2ConstAbstract This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +AbstractMarkupGet(ConstHandle2ConstAbstract This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +AbstractMarkupSet(ConstHandle2Abstract This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AbstractLabelHas(ConstHandle2ConstAbstract This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AbstractLabelGet(ConstHandle2ConstAbstract This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AbstractLabelSet(ConstHandle2Abstract This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.h new file mode 100644 index 000000000..9499e2f87 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Abstract is the basic handle type in this file. Example: +// // Create a default Abstract object: +// Abstract handle = AbstractDefault(); +// Functions involving Abstract are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_ABSTRACT +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_ABSTRACT + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AbstractClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Abstract +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AbstractClass *Abstract; + +// --- Const-aware handles. +typedef const struct AbstractClass *const ConstHandle2ConstAbstract; +typedef struct AbstractClass *const ConstHandle2Abstract; +typedef const struct AbstractClass * Handle2ConstAbstract; +typedef struct AbstractClass * Handle2Abstract; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAbstract +AbstractDefaultConst(); + +// +++ Create, default +extern_c Handle2Abstract +AbstractDefault(); + +// --- Create, general, const +extern_c Handle2ConstAbstract +AbstractCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2Abstract +AbstractCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AbstractAssign(ConstHandle2Abstract This, ConstHandle2ConstAbstract from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AbstractDelete(ConstHandle2ConstAbstract This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AbstractRead(ConstHandle2Abstract This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AbstractWrite(ConstHandle2ConstAbstract This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AbstractPrint(ConstHandle2ConstAbstract This); + +// +++ Print to standard output, as XML +extern_c int +AbstractPrintXML(ConstHandle2ConstAbstract This); + +// +++ Print to standard output, as JSON +extern_c int +AbstractPrintJSON(ConstHandle2ConstAbstract This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +AbstractIntsClear(ConstHandle2Abstract This); + +// +++ Get size +extern_c size_t +AbstractIntsSize(ConstHandle2ConstAbstract This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +AbstractIntsGet(ConstHandle2ConstAbstract This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +AbstractIntsSet(ConstHandle2Abstract This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +AbstractIntsGetArrayConst(ConstHandle2ConstAbstract This); + +// +++ Get pointer to existing values, non-const +extern_c int * +AbstractIntsGetArray(ConstHandle2Abstract This); + +// +++ Set completely new values and size +extern_c void +AbstractIntsSetArray(ConstHandle2Abstract This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +AbstractUnsignedsClear(ConstHandle2Abstract This); + +// +++ Get size +extern_c size_t +AbstractUnsignedsSize(ConstHandle2ConstAbstract This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +AbstractUnsignedsGet(ConstHandle2ConstAbstract This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +AbstractUnsignedsSet(ConstHandle2Abstract This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +AbstractUnsignedsGetArrayConst(ConstHandle2ConstAbstract This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +AbstractUnsignedsGetArray(ConstHandle2Abstract This); + +// +++ Set completely new values and size +extern_c void +AbstractUnsignedsSetArray(ConstHandle2Abstract This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +AbstractFloatsClear(ConstHandle2Abstract This); + +// +++ Get size +extern_c size_t +AbstractFloatsSize(ConstHandle2ConstAbstract This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +AbstractFloatsGet(ConstHandle2ConstAbstract This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +AbstractFloatsSet(ConstHandle2Abstract This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +AbstractFloatsGetArrayConst(ConstHandle2ConstAbstract This); + +// +++ Get pointer to existing values, non-const +extern_c float * +AbstractFloatsGetArray(ConstHandle2Abstract This); + +// +++ Set completely new values and size +extern_c void +AbstractFloatsSetArray(ConstHandle2Abstract This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +AbstractDoublesClear(ConstHandle2Abstract This); + +// +++ Get size +extern_c size_t +AbstractDoublesSize(ConstHandle2ConstAbstract This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +AbstractDoublesGet(ConstHandle2ConstAbstract This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +AbstractDoublesSet(ConstHandle2Abstract This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +AbstractDoublesGetArrayConst(ConstHandle2ConstAbstract This); + +// +++ Get pointer to existing values, non-const +extern_c double * +AbstractDoublesGetArray(ConstHandle2Abstract This); + +// +++ Set completely new values and size +extern_c void +AbstractDoublesSetArray(ConstHandle2Abstract This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AbstractEncodingHas(ConstHandle2ConstAbstract This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AbstractEncodingGet(ConstHandle2ConstAbstract This); + +// +++ Set +extern_c void +AbstractEncodingSet(ConstHandle2Abstract This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AbstractMarkupHas(ConstHandle2ConstAbstract This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AbstractMarkupGet(ConstHandle2ConstAbstract This); + +// +++ Set +extern_c void +AbstractMarkupSet(ConstHandle2Abstract This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AbstractLabelHas(ConstHandle2ConstAbstract This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AbstractLabelGet(ConstHandle2ConstAbstract This); + +// +++ Set +extern_c void +AbstractLabelSet(ConstHandle2Abstract This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.cpp new file mode 100644 index 000000000..4dcdae137 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.cpp @@ -0,0 +1,523 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Acknowledgement.hpp" +#include "Acknowledgement.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AcknowledgementClass; +using CPP = multigroup::Acknowledgement; + +static const std::string CLASSNAME = "Acknowledgement"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAcknowledgement +AcknowledgementDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Acknowledgement +AcknowledgementDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAcknowledgement +AcknowledgementCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName label +) { + ConstHandle2Acknowledgement handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label, + label + ); + return handle; +} + +// Create, general +Handle2Acknowledgement +AcknowledgementCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName label +) { + ConstHandle2Acknowledgement handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AcknowledgementAssign(ConstHandle2Acknowledgement This, ConstHandle2ConstAcknowledgement from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AcknowledgementDelete(ConstHandle2ConstAcknowledgement This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AcknowledgementRead(ConstHandle2Acknowledgement This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AcknowledgementWrite(ConstHandle2ConstAcknowledgement This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AcknowledgementPrint(ConstHandle2ConstAcknowledgement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AcknowledgementPrintXML(ConstHandle2ConstAcknowledgement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AcknowledgementPrintJSON(ConstHandle2ConstAcknowledgement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +AcknowledgementIntsClear(ConstHandle2Acknowledgement This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +AcknowledgementIntsSize(ConstHandle2ConstAcknowledgement This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +AcknowledgementIntsGet(ConstHandle2ConstAcknowledgement This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +AcknowledgementIntsSet(ConstHandle2Acknowledgement This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +AcknowledgementIntsGetArrayConst(ConstHandle2ConstAcknowledgement This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +AcknowledgementIntsGetArray(ConstHandle2Acknowledgement This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +AcknowledgementIntsSetArray(ConstHandle2Acknowledgement This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +AcknowledgementUnsignedsClear(ConstHandle2Acknowledgement This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +AcknowledgementUnsignedsSize(ConstHandle2ConstAcknowledgement This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +AcknowledgementUnsignedsGet(ConstHandle2ConstAcknowledgement This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +AcknowledgementUnsignedsSet(ConstHandle2Acknowledgement This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +AcknowledgementUnsignedsGetArrayConst(ConstHandle2ConstAcknowledgement This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +AcknowledgementUnsignedsGetArray(ConstHandle2Acknowledgement This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +AcknowledgementUnsignedsSetArray(ConstHandle2Acknowledgement This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +AcknowledgementFloatsClear(ConstHandle2Acknowledgement This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +AcknowledgementFloatsSize(ConstHandle2ConstAcknowledgement This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +AcknowledgementFloatsGet(ConstHandle2ConstAcknowledgement This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +AcknowledgementFloatsSet(ConstHandle2Acknowledgement This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +AcknowledgementFloatsGetArrayConst(ConstHandle2ConstAcknowledgement This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +AcknowledgementFloatsGetArray(ConstHandle2Acknowledgement This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +AcknowledgementFloatsSetArray(ConstHandle2Acknowledgement This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +AcknowledgementDoublesClear(ConstHandle2Acknowledgement This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +AcknowledgementDoublesSize(ConstHandle2ConstAcknowledgement This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +AcknowledgementDoublesGet(ConstHandle2ConstAcknowledgement This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +AcknowledgementDoublesSet(ConstHandle2Acknowledgement This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +AcknowledgementDoublesGetArrayConst(ConstHandle2ConstAcknowledgement This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +AcknowledgementDoublesGetArray(ConstHandle2Acknowledgement This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +AcknowledgementDoublesSetArray(ConstHandle2Acknowledgement This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +AcknowledgementEncodingHas(ConstHandle2ConstAcknowledgement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +AcknowledgementEncodingGet(ConstHandle2ConstAcknowledgement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +AcknowledgementEncodingSet(ConstHandle2Acknowledgement This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +AcknowledgementMarkupHas(ConstHandle2ConstAcknowledgement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +AcknowledgementMarkupGet(ConstHandle2ConstAcknowledgement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +AcknowledgementMarkupSet(ConstHandle2Acknowledgement This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AcknowledgementLabelHas(ConstHandle2ConstAcknowledgement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AcknowledgementLabelGet(ConstHandle2ConstAcknowledgement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AcknowledgementLabelSet(ConstHandle2Acknowledgement This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AcknowledgementLabelHas(ConstHandle2ConstAcknowledgement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AcknowledgementLabelGet(ConstHandle2ConstAcknowledgement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AcknowledgementLabelSet(ConstHandle2Acknowledgement This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.h new file mode 100644 index 000000000..841fd220d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.h @@ -0,0 +1,356 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Acknowledgement is the basic handle type in this file. Example: +// // Create a default Acknowledgement object: +// Acknowledgement handle = AcknowledgementDefault(); +// Functions involving Acknowledgement are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AcknowledgementClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Acknowledgement +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AcknowledgementClass *Acknowledgement; + +// --- Const-aware handles. +typedef const struct AcknowledgementClass *const ConstHandle2ConstAcknowledgement; +typedef struct AcknowledgementClass *const ConstHandle2Acknowledgement; +typedef const struct AcknowledgementClass * Handle2ConstAcknowledgement; +typedef struct AcknowledgementClass * Handle2Acknowledgement; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAcknowledgement +AcknowledgementDefaultConst(); + +// +++ Create, default +extern_c Handle2Acknowledgement +AcknowledgementDefault(); + +// --- Create, general, const +extern_c Handle2ConstAcknowledgement +AcknowledgementCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName label +); + +// +++ Create, general +extern_c Handle2Acknowledgement +AcknowledgementCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AcknowledgementAssign(ConstHandle2Acknowledgement This, ConstHandle2ConstAcknowledgement from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AcknowledgementDelete(ConstHandle2ConstAcknowledgement This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AcknowledgementRead(ConstHandle2Acknowledgement This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AcknowledgementWrite(ConstHandle2ConstAcknowledgement This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AcknowledgementPrint(ConstHandle2ConstAcknowledgement This); + +// +++ Print to standard output, as XML +extern_c int +AcknowledgementPrintXML(ConstHandle2ConstAcknowledgement This); + +// +++ Print to standard output, as JSON +extern_c int +AcknowledgementPrintJSON(ConstHandle2ConstAcknowledgement This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +AcknowledgementIntsClear(ConstHandle2Acknowledgement This); + +// +++ Get size +extern_c size_t +AcknowledgementIntsSize(ConstHandle2ConstAcknowledgement This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +AcknowledgementIntsGet(ConstHandle2ConstAcknowledgement This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +AcknowledgementIntsSet(ConstHandle2Acknowledgement This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +AcknowledgementIntsGetArrayConst(ConstHandle2ConstAcknowledgement This); + +// +++ Get pointer to existing values, non-const +extern_c int * +AcknowledgementIntsGetArray(ConstHandle2Acknowledgement This); + +// +++ Set completely new values and size +extern_c void +AcknowledgementIntsSetArray(ConstHandle2Acknowledgement This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +AcknowledgementUnsignedsClear(ConstHandle2Acknowledgement This); + +// +++ Get size +extern_c size_t +AcknowledgementUnsignedsSize(ConstHandle2ConstAcknowledgement This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +AcknowledgementUnsignedsGet(ConstHandle2ConstAcknowledgement This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +AcknowledgementUnsignedsSet(ConstHandle2Acknowledgement This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +AcknowledgementUnsignedsGetArrayConst(ConstHandle2ConstAcknowledgement This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +AcknowledgementUnsignedsGetArray(ConstHandle2Acknowledgement This); + +// +++ Set completely new values and size +extern_c void +AcknowledgementUnsignedsSetArray(ConstHandle2Acknowledgement This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +AcknowledgementFloatsClear(ConstHandle2Acknowledgement This); + +// +++ Get size +extern_c size_t +AcknowledgementFloatsSize(ConstHandle2ConstAcknowledgement This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +AcknowledgementFloatsGet(ConstHandle2ConstAcknowledgement This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +AcknowledgementFloatsSet(ConstHandle2Acknowledgement This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +AcknowledgementFloatsGetArrayConst(ConstHandle2ConstAcknowledgement This); + +// +++ Get pointer to existing values, non-const +extern_c float * +AcknowledgementFloatsGetArray(ConstHandle2Acknowledgement This); + +// +++ Set completely new values and size +extern_c void +AcknowledgementFloatsSetArray(ConstHandle2Acknowledgement This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +AcknowledgementDoublesClear(ConstHandle2Acknowledgement This); + +// +++ Get size +extern_c size_t +AcknowledgementDoublesSize(ConstHandle2ConstAcknowledgement This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +AcknowledgementDoublesGet(ConstHandle2ConstAcknowledgement This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +AcknowledgementDoublesSet(ConstHandle2Acknowledgement This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +AcknowledgementDoublesGetArrayConst(ConstHandle2ConstAcknowledgement This); + +// +++ Get pointer to existing values, non-const +extern_c double * +AcknowledgementDoublesGetArray(ConstHandle2Acknowledgement This); + +// +++ Set completely new values and size +extern_c void +AcknowledgementDoublesSetArray(ConstHandle2Acknowledgement This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AcknowledgementEncodingHas(ConstHandle2ConstAcknowledgement This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AcknowledgementEncodingGet(ConstHandle2ConstAcknowledgement This); + +// +++ Set +extern_c void +AcknowledgementEncodingSet(ConstHandle2Acknowledgement This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AcknowledgementMarkupHas(ConstHandle2ConstAcknowledgement This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AcknowledgementMarkupGet(ConstHandle2ConstAcknowledgement This); + +// +++ Set +extern_c void +AcknowledgementMarkupSet(ConstHandle2Acknowledgement This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AcknowledgementLabelHas(ConstHandle2ConstAcknowledgement This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AcknowledgementLabelGet(ConstHandle2ConstAcknowledgement This); + +// +++ Set +extern_c void +AcknowledgementLabelSet(ConstHandle2Acknowledgement This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AcknowledgementLabelHas(ConstHandle2ConstAcknowledgement This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AcknowledgementLabelGet(ConstHandle2ConstAcknowledgement This); + +// +++ Set +extern_c void +AcknowledgementLabelSet(ConstHandle2Acknowledgement This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.cpp new file mode 100644 index 000000000..e8760c377 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Acknowledgements.hpp" +#include "Acknowledgements.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AcknowledgementsClass; +using CPP = multigroup::Acknowledgements; + +static const std::string CLASSNAME = "Acknowledgements"; + +namespace extract { + static auto acknowledgement = [](auto &obj) { return &obj.acknowledgement; }; +} + +using CPPAcknowledgement = documentation::Acknowledgement; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAcknowledgements +AcknowledgementsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Acknowledgements +AcknowledgementsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAcknowledgements +AcknowledgementsCreateConst( + ConstHandle2Acknowledgement *const acknowledgement, const size_t acknowledgementSize +) { + ConstHandle2Acknowledgements handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t AcknowledgementN = 0; AcknowledgementN < acknowledgementSize; ++AcknowledgementN) + AcknowledgementsAcknowledgementAdd(handle, acknowledgement[AcknowledgementN]); + return handle; +} + +// Create, general +Handle2Acknowledgements +AcknowledgementsCreate( + ConstHandle2Acknowledgement *const acknowledgement, const size_t acknowledgementSize +) { + ConstHandle2Acknowledgements handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t AcknowledgementN = 0; AcknowledgementN < acknowledgementSize; ++AcknowledgementN) + AcknowledgementsAcknowledgementAdd(handle, acknowledgement[AcknowledgementN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AcknowledgementsAssign(ConstHandle2Acknowledgements This, ConstHandle2ConstAcknowledgements from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AcknowledgementsDelete(ConstHandle2ConstAcknowledgements This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AcknowledgementsRead(ConstHandle2Acknowledgements This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AcknowledgementsWrite(ConstHandle2ConstAcknowledgements This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AcknowledgementsPrint(ConstHandle2ConstAcknowledgements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AcknowledgementsPrintXML(ConstHandle2ConstAcknowledgements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AcknowledgementsPrintJSON(ConstHandle2ConstAcknowledgements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: acknowledgement +// ----------------------------------------------------------------------------- + +// Has +int +AcknowledgementsAcknowledgementHas(ConstHandle2ConstAcknowledgements This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AcknowledgementHas", This, extract::acknowledgement); +} + +// Clear +void +AcknowledgementsAcknowledgementClear(ConstHandle2Acknowledgements This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AcknowledgementClear", This, extract::acknowledgement); +} + +// Size +size_t +AcknowledgementsAcknowledgementSize(ConstHandle2ConstAcknowledgements This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AcknowledgementSize", This, extract::acknowledgement); +} + +// Add +void +AcknowledgementsAcknowledgementAdd(ConstHandle2Acknowledgements This, ConstHandle2ConstAcknowledgement acknowledgement) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AcknowledgementAdd", This, extract::acknowledgement, acknowledgement); +} + +// Get, by index \in [0,size), const +Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetConst(ConstHandle2ConstAcknowledgements This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AcknowledgementGetConst", This, extract::acknowledgement, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Acknowledgement +AcknowledgementsAcknowledgementGet(ConstHandle2Acknowledgements This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AcknowledgementGet", This, extract::acknowledgement, index_); +} + +// Set, by index \in [0,size) +void +AcknowledgementsAcknowledgementSet( + ConstHandle2Acknowledgements This, + const size_t index_, + ConstHandle2ConstAcknowledgement acknowledgement +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AcknowledgementSet", This, extract::acknowledgement, index_, acknowledgement); +} + +// Has, by encoding +int +AcknowledgementsAcknowledgementHasByEncoding( + ConstHandle2ConstAcknowledgements This, + const XMLName encoding +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementHasByEncoding", + This, extract::acknowledgement, meta::encoding, encoding); +} + +// Get, by encoding, const +Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetByEncodingConst( + ConstHandle2ConstAcknowledgements This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementGetByEncodingConst", + This, extract::acknowledgement, meta::encoding, encoding); +} + +// Get, by encoding, non-const +Handle2Acknowledgement +AcknowledgementsAcknowledgementGetByEncoding( + ConstHandle2Acknowledgements This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementGetByEncoding", + This, extract::acknowledgement, meta::encoding, encoding); +} + +// Set, by encoding +void +AcknowledgementsAcknowledgementSetByEncoding( + ConstHandle2Acknowledgements This, + const XMLName encoding, + ConstHandle2ConstAcknowledgement acknowledgement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementSetByEncoding", + This, extract::acknowledgement, meta::encoding, encoding, acknowledgement); +} + +// Has, by markup +int +AcknowledgementsAcknowledgementHasByMarkup( + ConstHandle2ConstAcknowledgements This, + const char *const markup +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementHasByMarkup", + This, extract::acknowledgement, meta::markup, markup); +} + +// Get, by markup, const +Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetByMarkupConst( + ConstHandle2ConstAcknowledgements This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementGetByMarkupConst", + This, extract::acknowledgement, meta::markup, markup); +} + +// Get, by markup, non-const +Handle2Acknowledgement +AcknowledgementsAcknowledgementGetByMarkup( + ConstHandle2Acknowledgements This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementGetByMarkup", + This, extract::acknowledgement, meta::markup, markup); +} + +// Set, by markup +void +AcknowledgementsAcknowledgementSetByMarkup( + ConstHandle2Acknowledgements This, + const char *const markup, + ConstHandle2ConstAcknowledgement acknowledgement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementSetByMarkup", + This, extract::acknowledgement, meta::markup, markup, acknowledgement); +} + +// Has, by label +int +AcknowledgementsAcknowledgementHasByLabel( + ConstHandle2ConstAcknowledgements This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementHasByLabel", + This, extract::acknowledgement, meta::label, label); +} + +// Get, by label, const +Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetByLabelConst( + ConstHandle2ConstAcknowledgements This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementGetByLabelConst", + This, extract::acknowledgement, meta::label, label); +} + +// Get, by label, non-const +Handle2Acknowledgement +AcknowledgementsAcknowledgementGetByLabel( + ConstHandle2Acknowledgements This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementGetByLabel", + This, extract::acknowledgement, meta::label, label); +} + +// Set, by label +void +AcknowledgementsAcknowledgementSetByLabel( + ConstHandle2Acknowledgements This, + const XMLName label, + ConstHandle2ConstAcknowledgement acknowledgement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementSetByLabel", + This, extract::acknowledgement, meta::label, label, acknowledgement); +} + +// Has, by label +int +AcknowledgementsAcknowledgementHasByLabel( + ConstHandle2ConstAcknowledgements This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementHasByLabel", + This, extract::acknowledgement, meta::label, label); +} + +// Get, by label, const +Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetByLabelConst( + ConstHandle2ConstAcknowledgements This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementGetByLabelConst", + This, extract::acknowledgement, meta::label, label); +} + +// Get, by label, non-const +Handle2Acknowledgement +AcknowledgementsAcknowledgementGetByLabel( + ConstHandle2Acknowledgements This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementGetByLabel", + This, extract::acknowledgement, meta::label, label); +} + +// Set, by label +void +AcknowledgementsAcknowledgementSetByLabel( + ConstHandle2Acknowledgements This, + const XMLName label, + ConstHandle2ConstAcknowledgement acknowledgement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AcknowledgementSetByLabel", + This, extract::acknowledgement, meta::label, label, acknowledgement); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.h new file mode 100644 index 000000000..2bec33a77 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Acknowledgements is the basic handle type in this file. Example: +// // Create a default Acknowledgements object: +// Acknowledgements handle = AcknowledgementsDefault(); +// Functions involving Acknowledgements are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS + +#include "GNDStk.h" +#include "v2.0/documentation/Acknowledgement.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AcknowledgementsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Acknowledgements +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AcknowledgementsClass *Acknowledgements; + +// --- Const-aware handles. +typedef const struct AcknowledgementsClass *const ConstHandle2ConstAcknowledgements; +typedef struct AcknowledgementsClass *const ConstHandle2Acknowledgements; +typedef const struct AcknowledgementsClass * Handle2ConstAcknowledgements; +typedef struct AcknowledgementsClass * Handle2Acknowledgements; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAcknowledgements +AcknowledgementsDefaultConst(); + +// +++ Create, default +extern_c Handle2Acknowledgements +AcknowledgementsDefault(); + +// --- Create, general, const +extern_c Handle2ConstAcknowledgements +AcknowledgementsCreateConst( + ConstHandle2Acknowledgement *const acknowledgement, const size_t acknowledgementSize +); + +// +++ Create, general +extern_c Handle2Acknowledgements +AcknowledgementsCreate( + ConstHandle2Acknowledgement *const acknowledgement, const size_t acknowledgementSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AcknowledgementsAssign(ConstHandle2Acknowledgements This, ConstHandle2ConstAcknowledgements from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AcknowledgementsDelete(ConstHandle2ConstAcknowledgements This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AcknowledgementsRead(ConstHandle2Acknowledgements This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AcknowledgementsWrite(ConstHandle2ConstAcknowledgements This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AcknowledgementsPrint(ConstHandle2ConstAcknowledgements This); + +// +++ Print to standard output, as XML +extern_c int +AcknowledgementsPrintXML(ConstHandle2ConstAcknowledgements This); + +// +++ Print to standard output, as JSON +extern_c int +AcknowledgementsPrintJSON(ConstHandle2ConstAcknowledgements This); + + +// ----------------------------------------------------------------------------- +// Child: acknowledgement +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AcknowledgementsAcknowledgementHas(ConstHandle2ConstAcknowledgements This); + +// +++ Clear +extern_c void +AcknowledgementsAcknowledgementClear(ConstHandle2Acknowledgements This); + +// +++ Size +extern_c size_t +AcknowledgementsAcknowledgementSize(ConstHandle2ConstAcknowledgements This); + +// +++ Add +extern_c void +AcknowledgementsAcknowledgementAdd(ConstHandle2Acknowledgements This, ConstHandle2ConstAcknowledgement acknowledgement); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetConst(ConstHandle2ConstAcknowledgements This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Acknowledgement +AcknowledgementsAcknowledgementGet(ConstHandle2Acknowledgements This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AcknowledgementsAcknowledgementSet( + ConstHandle2Acknowledgements This, + const size_t index_, + ConstHandle2ConstAcknowledgement acknowledgement +); + +// +++ Has, by encoding +extern_c int +AcknowledgementsAcknowledgementHasByEncoding( + ConstHandle2ConstAcknowledgements This, + const XMLName encoding +); + +// --- Get, by encoding, const +extern_c Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetByEncodingConst( + ConstHandle2ConstAcknowledgements This, + const XMLName encoding +); + +// +++ Get, by encoding, non-const +extern_c Handle2Acknowledgement +AcknowledgementsAcknowledgementGetByEncoding( + ConstHandle2Acknowledgements This, + const XMLName encoding +); + +// +++ Set, by encoding +extern_c void +AcknowledgementsAcknowledgementSetByEncoding( + ConstHandle2Acknowledgements This, + const XMLName encoding, + ConstHandle2ConstAcknowledgement acknowledgement +); + +// +++ Has, by markup +extern_c int +AcknowledgementsAcknowledgementHasByMarkup( + ConstHandle2ConstAcknowledgements This, + const char *const markup +); + +// --- Get, by markup, const +extern_c Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetByMarkupConst( + ConstHandle2ConstAcknowledgements This, + const char *const markup +); + +// +++ Get, by markup, non-const +extern_c Handle2Acknowledgement +AcknowledgementsAcknowledgementGetByMarkup( + ConstHandle2Acknowledgements This, + const char *const markup +); + +// +++ Set, by markup +extern_c void +AcknowledgementsAcknowledgementSetByMarkup( + ConstHandle2Acknowledgements This, + const char *const markup, + ConstHandle2ConstAcknowledgement acknowledgement +); + +// +++ Has, by label +extern_c int +AcknowledgementsAcknowledgementHasByLabel( + ConstHandle2ConstAcknowledgements This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetByLabelConst( + ConstHandle2ConstAcknowledgements This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Acknowledgement +AcknowledgementsAcknowledgementGetByLabel( + ConstHandle2Acknowledgements This, + const XMLName label +); + +// +++ Set, by label +extern_c void +AcknowledgementsAcknowledgementSetByLabel( + ConstHandle2Acknowledgements This, + const XMLName label, + ConstHandle2ConstAcknowledgement acknowledgement +); + +// +++ Has, by label +extern_c int +AcknowledgementsAcknowledgementHasByLabel( + ConstHandle2ConstAcknowledgements This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstAcknowledgement +AcknowledgementsAcknowledgementGetByLabelConst( + ConstHandle2ConstAcknowledgements This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Acknowledgement +AcknowledgementsAcknowledgementGetByLabel( + ConstHandle2Acknowledgements This, + const XMLName label +); + +// +++ Set, by label +extern_c void +AcknowledgementsAcknowledgementSetByLabel( + ConstHandle2Acknowledgements This, + const XMLName label, + ConstHandle2ConstAcknowledgement acknowledgement +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.cpp new file mode 100644 index 000000000..06cfae9d4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Affiliation.hpp" +#include "Affiliation.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AffiliationClass; +using CPP = multigroup::Affiliation; + +static const std::string CLASSNAME = "Affiliation"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAffiliation +AffiliationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Affiliation +AffiliationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAffiliation +AffiliationCreateConst( + const UTF8Text name, + const UTF8Text href +) { + ConstHandle2Affiliation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name, + href + ); + return handle; +} + +// Create, general +Handle2Affiliation +AffiliationCreate( + const UTF8Text name, + const UTF8Text href +) { + ConstHandle2Affiliation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AffiliationAssign(ConstHandle2Affiliation This, ConstHandle2ConstAffiliation from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AffiliationDelete(ConstHandle2ConstAffiliation This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AffiliationRead(ConstHandle2Affiliation This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AffiliationWrite(ConstHandle2ConstAffiliation This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AffiliationPrint(ConstHandle2ConstAffiliation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AffiliationPrintXML(ConstHandle2ConstAffiliation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AffiliationPrintJSON(ConstHandle2ConstAffiliation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +AffiliationNameHas(ConstHandle2ConstAffiliation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +UTF8Text +AffiliationNameGet(ConstHandle2ConstAffiliation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +AffiliationNameSet(ConstHandle2Affiliation This, const UTF8Text name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +AffiliationHrefHas(ConstHandle2ConstAffiliation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +UTF8Text +AffiliationHrefGet(ConstHandle2ConstAffiliation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +AffiliationHrefSet(ConstHandle2Affiliation This, const UTF8Text href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.h new file mode 100644 index 000000000..c78e343c7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Affiliation is the basic handle type in this file. Example: +// // Create a default Affiliation object: +// Affiliation handle = AffiliationDefault(); +// Functions involving Affiliation are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_AFFILIATION +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_AFFILIATION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AffiliationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Affiliation +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AffiliationClass *Affiliation; + +// --- Const-aware handles. +typedef const struct AffiliationClass *const ConstHandle2ConstAffiliation; +typedef struct AffiliationClass *const ConstHandle2Affiliation; +typedef const struct AffiliationClass * Handle2ConstAffiliation; +typedef struct AffiliationClass * Handle2Affiliation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAffiliation +AffiliationDefaultConst(); + +// +++ Create, default +extern_c Handle2Affiliation +AffiliationDefault(); + +// --- Create, general, const +extern_c Handle2ConstAffiliation +AffiliationCreateConst( + const UTF8Text name, + const UTF8Text href +); + +// +++ Create, general +extern_c Handle2Affiliation +AffiliationCreate( + const UTF8Text name, + const UTF8Text href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AffiliationAssign(ConstHandle2Affiliation This, ConstHandle2ConstAffiliation from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AffiliationDelete(ConstHandle2ConstAffiliation This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AffiliationRead(ConstHandle2Affiliation This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AffiliationWrite(ConstHandle2ConstAffiliation This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AffiliationPrint(ConstHandle2ConstAffiliation This); + +// +++ Print to standard output, as XML +extern_c int +AffiliationPrintXML(ConstHandle2ConstAffiliation This); + +// +++ Print to standard output, as JSON +extern_c int +AffiliationPrintJSON(ConstHandle2ConstAffiliation This); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AffiliationNameHas(ConstHandle2ConstAffiliation This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +AffiliationNameGet(ConstHandle2ConstAffiliation This); + +// +++ Set +extern_c void +AffiliationNameSet(ConstHandle2Affiliation This, const UTF8Text name); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AffiliationHrefHas(ConstHandle2ConstAffiliation This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +AffiliationHrefGet(ConstHandle2ConstAffiliation This); + +// +++ Set +extern_c void +AffiliationHrefSet(ConstHandle2Affiliation This, const UTF8Text href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.cpp new file mode 100644 index 000000000..6e0573db5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Affiliations.hpp" +#include "Affiliations.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AffiliationsClass; +using CPP = multigroup::Affiliations; + +static const std::string CLASSNAME = "Affiliations"; + +namespace extract { + static auto affiliation = [](auto &obj) { return &obj.affiliation; }; +} + +using CPPAffiliation = documentation::Affiliation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAffiliations +AffiliationsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Affiliations +AffiliationsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAffiliations +AffiliationsCreateConst( + ConstHandle2Affiliation *const affiliation, const size_t affiliationSize +) { + ConstHandle2Affiliations handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t AffiliationN = 0; AffiliationN < affiliationSize; ++AffiliationN) + AffiliationsAffiliationAdd(handle, affiliation[AffiliationN]); + return handle; +} + +// Create, general +Handle2Affiliations +AffiliationsCreate( + ConstHandle2Affiliation *const affiliation, const size_t affiliationSize +) { + ConstHandle2Affiliations handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t AffiliationN = 0; AffiliationN < affiliationSize; ++AffiliationN) + AffiliationsAffiliationAdd(handle, affiliation[AffiliationN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AffiliationsAssign(ConstHandle2Affiliations This, ConstHandle2ConstAffiliations from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AffiliationsDelete(ConstHandle2ConstAffiliations This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AffiliationsRead(ConstHandle2Affiliations This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AffiliationsWrite(ConstHandle2ConstAffiliations This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AffiliationsPrint(ConstHandle2ConstAffiliations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AffiliationsPrintXML(ConstHandle2ConstAffiliations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AffiliationsPrintJSON(ConstHandle2ConstAffiliations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: affiliation +// ----------------------------------------------------------------------------- + +// Has +int +AffiliationsAffiliationHas(ConstHandle2ConstAffiliations This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AffiliationHas", This, extract::affiliation); +} + +// Clear +void +AffiliationsAffiliationClear(ConstHandle2Affiliations This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AffiliationClear", This, extract::affiliation); +} + +// Size +size_t +AffiliationsAffiliationSize(ConstHandle2ConstAffiliations This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AffiliationSize", This, extract::affiliation); +} + +// Add +void +AffiliationsAffiliationAdd(ConstHandle2Affiliations This, ConstHandle2ConstAffiliation affiliation) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AffiliationAdd", This, extract::affiliation, affiliation); +} + +// Get, by index \in [0,size), const +Handle2ConstAffiliation +AffiliationsAffiliationGetConst(ConstHandle2ConstAffiliations This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AffiliationGetConst", This, extract::affiliation, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Affiliation +AffiliationsAffiliationGet(ConstHandle2Affiliations This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AffiliationGet", This, extract::affiliation, index_); +} + +// Set, by index \in [0,size) +void +AffiliationsAffiliationSet( + ConstHandle2Affiliations This, + const size_t index_, + ConstHandle2ConstAffiliation affiliation +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AffiliationSet", This, extract::affiliation, index_, affiliation); +} + +// Has, by name +int +AffiliationsAffiliationHasByName( + ConstHandle2ConstAffiliations This, + const UTF8Text name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AffiliationHasByName", + This, extract::affiliation, meta::name, name); +} + +// Get, by name, const +Handle2ConstAffiliation +AffiliationsAffiliationGetByNameConst( + ConstHandle2ConstAffiliations This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AffiliationGetByNameConst", + This, extract::affiliation, meta::name, name); +} + +// Get, by name, non-const +Handle2Affiliation +AffiliationsAffiliationGetByName( + ConstHandle2Affiliations This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AffiliationGetByName", + This, extract::affiliation, meta::name, name); +} + +// Set, by name +void +AffiliationsAffiliationSetByName( + ConstHandle2Affiliations This, + const UTF8Text name, + ConstHandle2ConstAffiliation affiliation +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AffiliationSetByName", + This, extract::affiliation, meta::name, name, affiliation); +} + +// Has, by href +int +AffiliationsAffiliationHasByHref( + ConstHandle2ConstAffiliations This, + const UTF8Text href +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AffiliationHasByHref", + This, extract::affiliation, meta::href, href); +} + +// Get, by href, const +Handle2ConstAffiliation +AffiliationsAffiliationGetByHrefConst( + ConstHandle2ConstAffiliations This, + const UTF8Text href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AffiliationGetByHrefConst", + This, extract::affiliation, meta::href, href); +} + +// Get, by href, non-const +Handle2Affiliation +AffiliationsAffiliationGetByHref( + ConstHandle2Affiliations This, + const UTF8Text href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AffiliationGetByHref", + This, extract::affiliation, meta::href, href); +} + +// Set, by href +void +AffiliationsAffiliationSetByHref( + ConstHandle2Affiliations This, + const UTF8Text href, + ConstHandle2ConstAffiliation affiliation +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AffiliationSetByHref", + This, extract::affiliation, meta::href, href, affiliation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.h new file mode 100644 index 000000000..c61ca4fe9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Affiliations is the basic handle type in this file. Example: +// // Create a default Affiliations object: +// Affiliations handle = AffiliationsDefault(); +// Functions involving Affiliations are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_AFFILIATIONS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_AFFILIATIONS + +#include "GNDStk.h" +#include "v2.0/documentation/Affiliation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AffiliationsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Affiliations +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AffiliationsClass *Affiliations; + +// --- Const-aware handles. +typedef const struct AffiliationsClass *const ConstHandle2ConstAffiliations; +typedef struct AffiliationsClass *const ConstHandle2Affiliations; +typedef const struct AffiliationsClass * Handle2ConstAffiliations; +typedef struct AffiliationsClass * Handle2Affiliations; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAffiliations +AffiliationsDefaultConst(); + +// +++ Create, default +extern_c Handle2Affiliations +AffiliationsDefault(); + +// --- Create, general, const +extern_c Handle2ConstAffiliations +AffiliationsCreateConst( + ConstHandle2Affiliation *const affiliation, const size_t affiliationSize +); + +// +++ Create, general +extern_c Handle2Affiliations +AffiliationsCreate( + ConstHandle2Affiliation *const affiliation, const size_t affiliationSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AffiliationsAssign(ConstHandle2Affiliations This, ConstHandle2ConstAffiliations from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AffiliationsDelete(ConstHandle2ConstAffiliations This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AffiliationsRead(ConstHandle2Affiliations This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AffiliationsWrite(ConstHandle2ConstAffiliations This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AffiliationsPrint(ConstHandle2ConstAffiliations This); + +// +++ Print to standard output, as XML +extern_c int +AffiliationsPrintXML(ConstHandle2ConstAffiliations This); + +// +++ Print to standard output, as JSON +extern_c int +AffiliationsPrintJSON(ConstHandle2ConstAffiliations This); + + +// ----------------------------------------------------------------------------- +// Child: affiliation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AffiliationsAffiliationHas(ConstHandle2ConstAffiliations This); + +// +++ Clear +extern_c void +AffiliationsAffiliationClear(ConstHandle2Affiliations This); + +// +++ Size +extern_c size_t +AffiliationsAffiliationSize(ConstHandle2ConstAffiliations This); + +// +++ Add +extern_c void +AffiliationsAffiliationAdd(ConstHandle2Affiliations This, ConstHandle2ConstAffiliation affiliation); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAffiliation +AffiliationsAffiliationGetConst(ConstHandle2ConstAffiliations This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Affiliation +AffiliationsAffiliationGet(ConstHandle2Affiliations This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AffiliationsAffiliationSet( + ConstHandle2Affiliations This, + const size_t index_, + ConstHandle2ConstAffiliation affiliation +); + +// +++ Has, by name +extern_c int +AffiliationsAffiliationHasByName( + ConstHandle2ConstAffiliations This, + const UTF8Text name +); + +// --- Get, by name, const +extern_c Handle2ConstAffiliation +AffiliationsAffiliationGetByNameConst( + ConstHandle2ConstAffiliations This, + const UTF8Text name +); + +// +++ Get, by name, non-const +extern_c Handle2Affiliation +AffiliationsAffiliationGetByName( + ConstHandle2Affiliations This, + const UTF8Text name +); + +// +++ Set, by name +extern_c void +AffiliationsAffiliationSetByName( + ConstHandle2Affiliations This, + const UTF8Text name, + ConstHandle2ConstAffiliation affiliation +); + +// +++ Has, by href +extern_c int +AffiliationsAffiliationHasByHref( + ConstHandle2ConstAffiliations This, + const UTF8Text href +); + +// --- Get, by href, const +extern_c Handle2ConstAffiliation +AffiliationsAffiliationGetByHrefConst( + ConstHandle2ConstAffiliations This, + const UTF8Text href +); + +// +++ Get, by href, non-const +extern_c Handle2Affiliation +AffiliationsAffiliationGetByHref( + ConstHandle2Affiliations This, + const UTF8Text href +); + +// +++ Set, by href +extern_c void +AffiliationsAffiliationSetByHref( + ConstHandle2Affiliations This, + const UTF8Text href, + ConstHandle2ConstAffiliation affiliation +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.cpp new file mode 100644 index 000000000..4884ec809 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Author.hpp" +#include "Author.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AuthorClass; +using CPP = multigroup::Author; + +static const std::string CLASSNAME = "Author"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; + static auto orcid = [](auto &obj) { return &obj.orcid; }; + static auto email = [](auto &obj) { return &obj.email; }; + static auto affiliations = [](auto &obj) { return &obj.affiliations; }; + static auto note = [](auto &obj) { return &obj.note; }; +} + +using CPPAffiliations = documentation::Affiliations; +using CPPNote = documentation::Note; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAuthor +AuthorDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Author +AuthorDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAuthor +AuthorCreateConst( + const UTF8Text name, + const UTF8Text orcid, + const UTF8Text email, + ConstHandle2ConstAffiliations affiliations, + ConstHandle2ConstNote note +) { + ConstHandle2Author handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name, + orcid, + email, + detail::tocpp(affiliations), + detail::tocpp(note) + ); + return handle; +} + +// Create, general +Handle2Author +AuthorCreate( + const UTF8Text name, + const UTF8Text orcid, + const UTF8Text email, + ConstHandle2ConstAffiliations affiliations, + ConstHandle2ConstNote note +) { + ConstHandle2Author handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name, + orcid, + email, + detail::tocpp(affiliations), + detail::tocpp(note) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AuthorAssign(ConstHandle2Author This, ConstHandle2ConstAuthor from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AuthorDelete(ConstHandle2ConstAuthor This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AuthorRead(ConstHandle2Author This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AuthorWrite(ConstHandle2ConstAuthor This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AuthorPrint(ConstHandle2ConstAuthor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AuthorPrintXML(ConstHandle2ConstAuthor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AuthorPrintJSON(ConstHandle2ConstAuthor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +AuthorNameHas(ConstHandle2ConstAuthor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +UTF8Text +AuthorNameGet(ConstHandle2ConstAuthor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +AuthorNameSet(ConstHandle2Author This, const UTF8Text name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: orcid +// ----------------------------------------------------------------------------- + +// Has +int +AuthorOrcidHas(ConstHandle2ConstAuthor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OrcidHas", This, extract::orcid); +} + +// Get +// Returns by value +UTF8Text +AuthorOrcidGet(ConstHandle2ConstAuthor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OrcidGet", This, extract::orcid); +} + +// Set +void +AuthorOrcidSet(ConstHandle2Author This, const UTF8Text orcid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OrcidSet", This, extract::orcid, orcid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: email +// ----------------------------------------------------------------------------- + +// Has +int +AuthorEmailHas(ConstHandle2ConstAuthor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EmailHas", This, extract::email); +} + +// Get +// Returns by value +UTF8Text +AuthorEmailGet(ConstHandle2ConstAuthor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EmailGet", This, extract::email); +} + +// Set +void +AuthorEmailSet(ConstHandle2Author This, const UTF8Text email) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EmailSet", This, extract::email, email); +} + + +// ----------------------------------------------------------------------------- +// Child: affiliations +// ----------------------------------------------------------------------------- + +// Has +int +AuthorAffiliationsHas(ConstHandle2ConstAuthor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AffiliationsHas", This, extract::affiliations); +} + +// Get, const +Handle2ConstAffiliations +AuthorAffiliationsGetConst(ConstHandle2ConstAuthor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AffiliationsGetConst", This, extract::affiliations); +} + +// Get, non-const +Handle2Affiliations +AuthorAffiliationsGet(ConstHandle2Author This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AffiliationsGet", This, extract::affiliations); +} + +// Set +void +AuthorAffiliationsSet(ConstHandle2Author This, ConstHandle2ConstAffiliations affiliations) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AffiliationsSet", This, extract::affiliations, affiliations); +} + + +// ----------------------------------------------------------------------------- +// Child: note +// ----------------------------------------------------------------------------- + +// Has +int +AuthorNoteHas(ConstHandle2ConstAuthor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NoteHas", This, extract::note); +} + +// Get, const +Handle2ConstNote +AuthorNoteGetConst(ConstHandle2ConstAuthor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NoteGetConst", This, extract::note); +} + +// Get, non-const +Handle2Note +AuthorNoteGet(ConstHandle2Author This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NoteGet", This, extract::note); +} + +// Set +void +AuthorNoteSet(ConstHandle2Author This, ConstHandle2ConstNote note) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NoteSet", This, extract::note, note); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.h new file mode 100644 index 000000000..5d41adf8f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Author is the basic handle type in this file. Example: +// // Create a default Author object: +// Author handle = AuthorDefault(); +// Functions involving Author are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_AUTHOR +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_AUTHOR + +#include "GNDStk.h" +#include "v2.0/documentation/Affiliations.h" +#include "v2.0/documentation/Note.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AuthorClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Author +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AuthorClass *Author; + +// --- Const-aware handles. +typedef const struct AuthorClass *const ConstHandle2ConstAuthor; +typedef struct AuthorClass *const ConstHandle2Author; +typedef const struct AuthorClass * Handle2ConstAuthor; +typedef struct AuthorClass * Handle2Author; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAuthor +AuthorDefaultConst(); + +// +++ Create, default +extern_c Handle2Author +AuthorDefault(); + +// --- Create, general, const +extern_c Handle2ConstAuthor +AuthorCreateConst( + const UTF8Text name, + const UTF8Text orcid, + const UTF8Text email, + ConstHandle2ConstAffiliations affiliations, + ConstHandle2ConstNote note +); + +// +++ Create, general +extern_c Handle2Author +AuthorCreate( + const UTF8Text name, + const UTF8Text orcid, + const UTF8Text email, + ConstHandle2ConstAffiliations affiliations, + ConstHandle2ConstNote note +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AuthorAssign(ConstHandle2Author This, ConstHandle2ConstAuthor from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AuthorDelete(ConstHandle2ConstAuthor This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AuthorRead(ConstHandle2Author This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AuthorWrite(ConstHandle2ConstAuthor This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AuthorPrint(ConstHandle2ConstAuthor This); + +// +++ Print to standard output, as XML +extern_c int +AuthorPrintXML(ConstHandle2ConstAuthor This); + +// +++ Print to standard output, as JSON +extern_c int +AuthorPrintJSON(ConstHandle2ConstAuthor This); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AuthorNameHas(ConstHandle2ConstAuthor This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +AuthorNameGet(ConstHandle2ConstAuthor This); + +// +++ Set +extern_c void +AuthorNameSet(ConstHandle2Author This, const UTF8Text name); + + +// ----------------------------------------------------------------------------- +// Metadatum: orcid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AuthorOrcidHas(ConstHandle2ConstAuthor This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +AuthorOrcidGet(ConstHandle2ConstAuthor This); + +// +++ Set +extern_c void +AuthorOrcidSet(ConstHandle2Author This, const UTF8Text orcid); + + +// ----------------------------------------------------------------------------- +// Metadatum: email +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AuthorEmailHas(ConstHandle2ConstAuthor This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +AuthorEmailGet(ConstHandle2ConstAuthor This); + +// +++ Set +extern_c void +AuthorEmailSet(ConstHandle2Author This, const UTF8Text email); + + +// ----------------------------------------------------------------------------- +// Child: affiliations +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AuthorAffiliationsHas(ConstHandle2ConstAuthor This); + +// --- Get, const +extern_c Handle2ConstAffiliations +AuthorAffiliationsGetConst(ConstHandle2ConstAuthor This); + +// +++ Get, non-const +extern_c Handle2Affiliations +AuthorAffiliationsGet(ConstHandle2Author This); + +// +++ Set +extern_c void +AuthorAffiliationsSet(ConstHandle2Author This, ConstHandle2ConstAffiliations affiliations); + + +// ----------------------------------------------------------------------------- +// Child: note +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AuthorNoteHas(ConstHandle2ConstAuthor This); + +// --- Get, const +extern_c Handle2ConstNote +AuthorNoteGetConst(ConstHandle2ConstAuthor This); + +// +++ Get, non-const +extern_c Handle2Note +AuthorNoteGet(ConstHandle2Author This); + +// +++ Set +extern_c void +AuthorNoteSet(ConstHandle2Author This, ConstHandle2ConstNote note); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.cpp new file mode 100644 index 000000000..c675aa222 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Authors.hpp" +#include "Authors.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AuthorsClass; +using CPP = multigroup::Authors; + +static const std::string CLASSNAME = "Authors"; + +namespace extract { + static auto author = [](auto &obj) { return &obj.author; }; +} + +using CPPAuthor = documentation::Author; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAuthors +AuthorsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Authors +AuthorsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAuthors +AuthorsCreateConst( + ConstHandle2Author *const author, const size_t authorSize +) { + ConstHandle2Authors handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t AuthorN = 0; AuthorN < authorSize; ++AuthorN) + AuthorsAuthorAdd(handle, author[AuthorN]); + return handle; +} + +// Create, general +Handle2Authors +AuthorsCreate( + ConstHandle2Author *const author, const size_t authorSize +) { + ConstHandle2Authors handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t AuthorN = 0; AuthorN < authorSize; ++AuthorN) + AuthorsAuthorAdd(handle, author[AuthorN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AuthorsAssign(ConstHandle2Authors This, ConstHandle2ConstAuthors from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AuthorsDelete(ConstHandle2ConstAuthors This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AuthorsRead(ConstHandle2Authors This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AuthorsWrite(ConstHandle2ConstAuthors This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AuthorsPrint(ConstHandle2ConstAuthors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AuthorsPrintXML(ConstHandle2ConstAuthors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AuthorsPrintJSON(ConstHandle2ConstAuthors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: author +// ----------------------------------------------------------------------------- + +// Has +int +AuthorsAuthorHas(ConstHandle2ConstAuthors This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AuthorHas", This, extract::author); +} + +// Clear +void +AuthorsAuthorClear(ConstHandle2Authors This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AuthorClear", This, extract::author); +} + +// Size +size_t +AuthorsAuthorSize(ConstHandle2ConstAuthors This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AuthorSize", This, extract::author); +} + +// Add +void +AuthorsAuthorAdd(ConstHandle2Authors This, ConstHandle2ConstAuthor author) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AuthorAdd", This, extract::author, author); +} + +// Get, by index \in [0,size), const +Handle2ConstAuthor +AuthorsAuthorGetConst(ConstHandle2ConstAuthors This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AuthorGetConst", This, extract::author, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Author +AuthorsAuthorGet(ConstHandle2Authors This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AuthorGet", This, extract::author, index_); +} + +// Set, by index \in [0,size) +void +AuthorsAuthorSet( + ConstHandle2Authors This, + const size_t index_, + ConstHandle2ConstAuthor author +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AuthorSet", This, extract::author, index_, author); +} + +// Has, by name +int +AuthorsAuthorHasByName( + ConstHandle2ConstAuthors This, + const UTF8Text name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AuthorHasByName", + This, extract::author, meta::name, name); +} + +// Get, by name, const +Handle2ConstAuthor +AuthorsAuthorGetByNameConst( + ConstHandle2ConstAuthors This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByNameConst", + This, extract::author, meta::name, name); +} + +// Get, by name, non-const +Handle2Author +AuthorsAuthorGetByName( + ConstHandle2Authors This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByName", + This, extract::author, meta::name, name); +} + +// Set, by name +void +AuthorsAuthorSetByName( + ConstHandle2Authors This, + const UTF8Text name, + ConstHandle2ConstAuthor author +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AuthorSetByName", + This, extract::author, meta::name, name, author); +} + +// Has, by orcid +int +AuthorsAuthorHasByOrcid( + ConstHandle2ConstAuthors This, + const UTF8Text orcid +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AuthorHasByOrcid", + This, extract::author, meta::orcid, orcid); +} + +// Get, by orcid, const +Handle2ConstAuthor +AuthorsAuthorGetByOrcidConst( + ConstHandle2ConstAuthors This, + const UTF8Text orcid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByOrcidConst", + This, extract::author, meta::orcid, orcid); +} + +// Get, by orcid, non-const +Handle2Author +AuthorsAuthorGetByOrcid( + ConstHandle2Authors This, + const UTF8Text orcid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByOrcid", + This, extract::author, meta::orcid, orcid); +} + +// Set, by orcid +void +AuthorsAuthorSetByOrcid( + ConstHandle2Authors This, + const UTF8Text orcid, + ConstHandle2ConstAuthor author +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AuthorSetByOrcid", + This, extract::author, meta::orcid, orcid, author); +} + +// Has, by email +int +AuthorsAuthorHasByEmail( + ConstHandle2ConstAuthors This, + const UTF8Text email +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AuthorHasByEmail", + This, extract::author, meta::email, email); +} + +// Get, by email, const +Handle2ConstAuthor +AuthorsAuthorGetByEmailConst( + ConstHandle2ConstAuthors This, + const UTF8Text email +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByEmailConst", + This, extract::author, meta::email, email); +} + +// Get, by email, non-const +Handle2Author +AuthorsAuthorGetByEmail( + ConstHandle2Authors This, + const UTF8Text email +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByEmail", + This, extract::author, meta::email, email); +} + +// Set, by email +void +AuthorsAuthorSetByEmail( + ConstHandle2Authors This, + const UTF8Text email, + ConstHandle2ConstAuthor author +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AuthorSetByEmail", + This, extract::author, meta::email, email, author); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.h new file mode 100644 index 000000000..061d3bada --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Authors is the basic handle type in this file. Example: +// // Create a default Authors object: +// Authors handle = AuthorsDefault(); +// Functions involving Authors are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_AUTHORS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_AUTHORS + +#include "GNDStk.h" +#include "v2.0/documentation/Author.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AuthorsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Authors +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AuthorsClass *Authors; + +// --- Const-aware handles. +typedef const struct AuthorsClass *const ConstHandle2ConstAuthors; +typedef struct AuthorsClass *const ConstHandle2Authors; +typedef const struct AuthorsClass * Handle2ConstAuthors; +typedef struct AuthorsClass * Handle2Authors; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAuthors +AuthorsDefaultConst(); + +// +++ Create, default +extern_c Handle2Authors +AuthorsDefault(); + +// --- Create, general, const +extern_c Handle2ConstAuthors +AuthorsCreateConst( + ConstHandle2Author *const author, const size_t authorSize +); + +// +++ Create, general +extern_c Handle2Authors +AuthorsCreate( + ConstHandle2Author *const author, const size_t authorSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AuthorsAssign(ConstHandle2Authors This, ConstHandle2ConstAuthors from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AuthorsDelete(ConstHandle2ConstAuthors This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AuthorsRead(ConstHandle2Authors This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AuthorsWrite(ConstHandle2ConstAuthors This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AuthorsPrint(ConstHandle2ConstAuthors This); + +// +++ Print to standard output, as XML +extern_c int +AuthorsPrintXML(ConstHandle2ConstAuthors This); + +// +++ Print to standard output, as JSON +extern_c int +AuthorsPrintJSON(ConstHandle2ConstAuthors This); + + +// ----------------------------------------------------------------------------- +// Child: author +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AuthorsAuthorHas(ConstHandle2ConstAuthors This); + +// +++ Clear +extern_c void +AuthorsAuthorClear(ConstHandle2Authors This); + +// +++ Size +extern_c size_t +AuthorsAuthorSize(ConstHandle2ConstAuthors This); + +// +++ Add +extern_c void +AuthorsAuthorAdd(ConstHandle2Authors This, ConstHandle2ConstAuthor author); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAuthor +AuthorsAuthorGetConst(ConstHandle2ConstAuthors This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Author +AuthorsAuthorGet(ConstHandle2Authors This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AuthorsAuthorSet( + ConstHandle2Authors This, + const size_t index_, + ConstHandle2ConstAuthor author +); + +// +++ Has, by name +extern_c int +AuthorsAuthorHasByName( + ConstHandle2ConstAuthors This, + const UTF8Text name +); + +// --- Get, by name, const +extern_c Handle2ConstAuthor +AuthorsAuthorGetByNameConst( + ConstHandle2ConstAuthors This, + const UTF8Text name +); + +// +++ Get, by name, non-const +extern_c Handle2Author +AuthorsAuthorGetByName( + ConstHandle2Authors This, + const UTF8Text name +); + +// +++ Set, by name +extern_c void +AuthorsAuthorSetByName( + ConstHandle2Authors This, + const UTF8Text name, + ConstHandle2ConstAuthor author +); + +// +++ Has, by orcid +extern_c int +AuthorsAuthorHasByOrcid( + ConstHandle2ConstAuthors This, + const UTF8Text orcid +); + +// --- Get, by orcid, const +extern_c Handle2ConstAuthor +AuthorsAuthorGetByOrcidConst( + ConstHandle2ConstAuthors This, + const UTF8Text orcid +); + +// +++ Get, by orcid, non-const +extern_c Handle2Author +AuthorsAuthorGetByOrcid( + ConstHandle2Authors This, + const UTF8Text orcid +); + +// +++ Set, by orcid +extern_c void +AuthorsAuthorSetByOrcid( + ConstHandle2Authors This, + const UTF8Text orcid, + ConstHandle2ConstAuthor author +); + +// +++ Has, by email +extern_c int +AuthorsAuthorHasByEmail( + ConstHandle2ConstAuthors This, + const UTF8Text email +); + +// --- Get, by email, const +extern_c Handle2ConstAuthor +AuthorsAuthorGetByEmailConst( + ConstHandle2ConstAuthors This, + const UTF8Text email +); + +// +++ Get, by email, non-const +extern_c Handle2Author +AuthorsAuthorGetByEmail( + ConstHandle2Authors This, + const UTF8Text email +); + +// +++ Set, by email +extern_c void +AuthorsAuthorSetByEmail( + ConstHandle2Authors This, + const UTF8Text email, + ConstHandle2ConstAuthor author +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.cpp new file mode 100644 index 000000000..d86c183e9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.cpp @@ -0,0 +1,523 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Bibitem.hpp" +#include "Bibitem.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BibitemClass; +using CPP = multigroup::Bibitem; + +static const std::string CLASSNAME = "Bibitem"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto xref = [](auto &obj) { return &obj.xref; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBibitem +BibitemDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Bibitem +BibitemDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBibitem +BibitemCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName xref +) { + ConstHandle2Bibitem handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label, + xref + ); + return handle; +} + +// Create, general +Handle2Bibitem +BibitemCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName xref +) { + ConstHandle2Bibitem handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label, + xref + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BibitemAssign(ConstHandle2Bibitem This, ConstHandle2ConstBibitem from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BibitemDelete(ConstHandle2ConstBibitem This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BibitemRead(ConstHandle2Bibitem This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BibitemWrite(ConstHandle2ConstBibitem This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BibitemPrint(ConstHandle2ConstBibitem This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BibitemPrintXML(ConstHandle2ConstBibitem This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BibitemPrintJSON(ConstHandle2ConstBibitem This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +BibitemIntsClear(ConstHandle2Bibitem This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +BibitemIntsSize(ConstHandle2ConstBibitem This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +BibitemIntsGet(ConstHandle2ConstBibitem This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BibitemIntsSet(ConstHandle2Bibitem This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +BibitemIntsGetArrayConst(ConstHandle2ConstBibitem This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +BibitemIntsGetArray(ConstHandle2Bibitem This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +BibitemIntsSetArray(ConstHandle2Bibitem This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +BibitemUnsignedsClear(ConstHandle2Bibitem This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +BibitemUnsignedsSize(ConstHandle2ConstBibitem This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +BibitemUnsignedsGet(ConstHandle2ConstBibitem This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BibitemUnsignedsSet(ConstHandle2Bibitem This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +BibitemUnsignedsGetArrayConst(ConstHandle2ConstBibitem This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +BibitemUnsignedsGetArray(ConstHandle2Bibitem This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +BibitemUnsignedsSetArray(ConstHandle2Bibitem This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +BibitemFloatsClear(ConstHandle2Bibitem This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +BibitemFloatsSize(ConstHandle2ConstBibitem This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +BibitemFloatsGet(ConstHandle2ConstBibitem This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BibitemFloatsSet(ConstHandle2Bibitem This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +BibitemFloatsGetArrayConst(ConstHandle2ConstBibitem This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +BibitemFloatsGetArray(ConstHandle2Bibitem This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +BibitemFloatsSetArray(ConstHandle2Bibitem This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +BibitemDoublesClear(ConstHandle2Bibitem This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +BibitemDoublesSize(ConstHandle2ConstBibitem This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +BibitemDoublesGet(ConstHandle2ConstBibitem This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BibitemDoublesSet(ConstHandle2Bibitem This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +BibitemDoublesGetArrayConst(ConstHandle2ConstBibitem This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +BibitemDoublesGetArray(ConstHandle2Bibitem This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +BibitemDoublesSetArray(ConstHandle2Bibitem This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +BibitemEncodingHas(ConstHandle2ConstBibitem This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +BibitemEncodingGet(ConstHandle2ConstBibitem This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +BibitemEncodingSet(ConstHandle2Bibitem This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +BibitemMarkupHas(ConstHandle2ConstBibitem This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +BibitemMarkupGet(ConstHandle2ConstBibitem This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +BibitemMarkupSet(ConstHandle2Bibitem This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +BibitemLabelHas(ConstHandle2ConstBibitem This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +BibitemLabelGet(ConstHandle2ConstBibitem This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +BibitemLabelSet(ConstHandle2Bibitem This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: xref +// ----------------------------------------------------------------------------- + +// Has +int +BibitemXrefHas(ConstHandle2ConstBibitem This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XrefHas", This, extract::xref); +} + +// Get +// Returns by value +XMLName +BibitemXrefGet(ConstHandle2ConstBibitem This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XrefGet", This, extract::xref); +} + +// Set +void +BibitemXrefSet(ConstHandle2Bibitem This, const XMLName xref) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XrefSet", This, extract::xref, xref); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.h new file mode 100644 index 000000000..f79aa1f2f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.h @@ -0,0 +1,356 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Bibitem is the basic handle type in this file. Example: +// // Create a default Bibitem object: +// Bibitem handle = BibitemDefault(); +// Functions involving Bibitem are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_BIBITEM +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_BIBITEM + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BibitemClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Bibitem +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BibitemClass *Bibitem; + +// --- Const-aware handles. +typedef const struct BibitemClass *const ConstHandle2ConstBibitem; +typedef struct BibitemClass *const ConstHandle2Bibitem; +typedef const struct BibitemClass * Handle2ConstBibitem; +typedef struct BibitemClass * Handle2Bibitem; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBibitem +BibitemDefaultConst(); + +// +++ Create, default +extern_c Handle2Bibitem +BibitemDefault(); + +// --- Create, general, const +extern_c Handle2ConstBibitem +BibitemCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName xref +); + +// +++ Create, general +extern_c Handle2Bibitem +BibitemCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName xref +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BibitemAssign(ConstHandle2Bibitem This, ConstHandle2ConstBibitem from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BibitemDelete(ConstHandle2ConstBibitem This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BibitemRead(ConstHandle2Bibitem This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BibitemWrite(ConstHandle2ConstBibitem This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BibitemPrint(ConstHandle2ConstBibitem This); + +// +++ Print to standard output, as XML +extern_c int +BibitemPrintXML(ConstHandle2ConstBibitem This); + +// +++ Print to standard output, as JSON +extern_c int +BibitemPrintJSON(ConstHandle2ConstBibitem This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +BibitemIntsClear(ConstHandle2Bibitem This); + +// +++ Get size +extern_c size_t +BibitemIntsSize(ConstHandle2ConstBibitem This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +BibitemIntsGet(ConstHandle2ConstBibitem This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BibitemIntsSet(ConstHandle2Bibitem This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +BibitemIntsGetArrayConst(ConstHandle2ConstBibitem This); + +// +++ Get pointer to existing values, non-const +extern_c int * +BibitemIntsGetArray(ConstHandle2Bibitem This); + +// +++ Set completely new values and size +extern_c void +BibitemIntsSetArray(ConstHandle2Bibitem This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +BibitemUnsignedsClear(ConstHandle2Bibitem This); + +// +++ Get size +extern_c size_t +BibitemUnsignedsSize(ConstHandle2ConstBibitem This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +BibitemUnsignedsGet(ConstHandle2ConstBibitem This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BibitemUnsignedsSet(ConstHandle2Bibitem This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +BibitemUnsignedsGetArrayConst(ConstHandle2ConstBibitem This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +BibitemUnsignedsGetArray(ConstHandle2Bibitem This); + +// +++ Set completely new values and size +extern_c void +BibitemUnsignedsSetArray(ConstHandle2Bibitem This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +BibitemFloatsClear(ConstHandle2Bibitem This); + +// +++ Get size +extern_c size_t +BibitemFloatsSize(ConstHandle2ConstBibitem This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +BibitemFloatsGet(ConstHandle2ConstBibitem This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BibitemFloatsSet(ConstHandle2Bibitem This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +BibitemFloatsGetArrayConst(ConstHandle2ConstBibitem This); + +// +++ Get pointer to existing values, non-const +extern_c float * +BibitemFloatsGetArray(ConstHandle2Bibitem This); + +// +++ Set completely new values and size +extern_c void +BibitemFloatsSetArray(ConstHandle2Bibitem This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +BibitemDoublesClear(ConstHandle2Bibitem This); + +// +++ Get size +extern_c size_t +BibitemDoublesSize(ConstHandle2ConstBibitem This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +BibitemDoublesGet(ConstHandle2ConstBibitem This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BibitemDoublesSet(ConstHandle2Bibitem This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +BibitemDoublesGetArrayConst(ConstHandle2ConstBibitem This); + +// +++ Get pointer to existing values, non-const +extern_c double * +BibitemDoublesGetArray(ConstHandle2Bibitem This); + +// +++ Set completely new values and size +extern_c void +BibitemDoublesSetArray(ConstHandle2Bibitem This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BibitemEncodingHas(ConstHandle2ConstBibitem This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BibitemEncodingGet(ConstHandle2ConstBibitem This); + +// +++ Set +extern_c void +BibitemEncodingSet(ConstHandle2Bibitem This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BibitemMarkupHas(ConstHandle2ConstBibitem This); + +// +++ Get +// +++ Returns by value +extern_c const char * +BibitemMarkupGet(ConstHandle2ConstBibitem This); + +// +++ Set +extern_c void +BibitemMarkupSet(ConstHandle2Bibitem This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BibitemLabelHas(ConstHandle2ConstBibitem This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BibitemLabelGet(ConstHandle2ConstBibitem This); + +// +++ Set +extern_c void +BibitemLabelSet(ConstHandle2Bibitem This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: xref +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BibitemXrefHas(ConstHandle2ConstBibitem This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BibitemXrefGet(ConstHandle2ConstBibitem This); + +// +++ Set +extern_c void +BibitemXrefSet(ConstHandle2Bibitem This, const XMLName xref); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.cpp new file mode 100644 index 000000000..df2fff9f5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Bibliography.hpp" +#include "Bibliography.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BibliographyClass; +using CPP = multigroup::Bibliography; + +static const std::string CLASSNAME = "Bibliography"; + +namespace extract { + static auto bibitem = [](auto &obj) { return &obj.bibitem; }; +} + +using CPPBibitem = documentation::Bibitem; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBibliography +BibliographyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Bibliography +BibliographyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBibliography +BibliographyCreateConst( + ConstHandle2Bibitem *const bibitem, const size_t bibitemSize +) { + ConstHandle2Bibliography handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t BibitemN = 0; BibitemN < bibitemSize; ++BibitemN) + BibliographyBibitemAdd(handle, bibitem[BibitemN]); + return handle; +} + +// Create, general +Handle2Bibliography +BibliographyCreate( + ConstHandle2Bibitem *const bibitem, const size_t bibitemSize +) { + ConstHandle2Bibliography handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t BibitemN = 0; BibitemN < bibitemSize; ++BibitemN) + BibliographyBibitemAdd(handle, bibitem[BibitemN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BibliographyAssign(ConstHandle2Bibliography This, ConstHandle2ConstBibliography from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BibliographyDelete(ConstHandle2ConstBibliography This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BibliographyRead(ConstHandle2Bibliography This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BibliographyWrite(ConstHandle2ConstBibliography This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BibliographyPrint(ConstHandle2ConstBibliography This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BibliographyPrintXML(ConstHandle2ConstBibliography This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BibliographyPrintJSON(ConstHandle2ConstBibliography This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: bibitem +// ----------------------------------------------------------------------------- + +// Has +int +BibliographyBibitemHas(ConstHandle2ConstBibliography This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BibitemHas", This, extract::bibitem); +} + +// Clear +void +BibliographyBibitemClear(ConstHandle2Bibliography This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"BibitemClear", This, extract::bibitem); +} + +// Size +size_t +BibliographyBibitemSize(ConstHandle2ConstBibliography This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"BibitemSize", This, extract::bibitem); +} + +// Add +void +BibliographyBibitemAdd(ConstHandle2Bibliography This, ConstHandle2ConstBibitem bibitem) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"BibitemAdd", This, extract::bibitem, bibitem); +} + +// Get, by index \in [0,size), const +Handle2ConstBibitem +BibliographyBibitemGetConst(ConstHandle2ConstBibliography This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"BibitemGetConst", This, extract::bibitem, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Bibitem +BibliographyBibitemGet(ConstHandle2Bibliography This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"BibitemGet", This, extract::bibitem, index_); +} + +// Set, by index \in [0,size) +void +BibliographyBibitemSet( + ConstHandle2Bibliography This, + const size_t index_, + ConstHandle2ConstBibitem bibitem +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"BibitemSet", This, extract::bibitem, index_, bibitem); +} + +// Has, by encoding +int +BibliographyBibitemHasByEncoding( + ConstHandle2ConstBibliography This, + const XMLName encoding +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"BibitemHasByEncoding", + This, extract::bibitem, meta::encoding, encoding); +} + +// Get, by encoding, const +Handle2ConstBibitem +BibliographyBibitemGetByEncodingConst( + ConstHandle2ConstBibliography This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BibitemGetByEncodingConst", + This, extract::bibitem, meta::encoding, encoding); +} + +// Get, by encoding, non-const +Handle2Bibitem +BibliographyBibitemGetByEncoding( + ConstHandle2Bibliography This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BibitemGetByEncoding", + This, extract::bibitem, meta::encoding, encoding); +} + +// Set, by encoding +void +BibliographyBibitemSetByEncoding( + ConstHandle2Bibliography This, + const XMLName encoding, + ConstHandle2ConstBibitem bibitem +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"BibitemSetByEncoding", + This, extract::bibitem, meta::encoding, encoding, bibitem); +} + +// Has, by markup +int +BibliographyBibitemHasByMarkup( + ConstHandle2ConstBibliography This, + const char *const markup +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"BibitemHasByMarkup", + This, extract::bibitem, meta::markup, markup); +} + +// Get, by markup, const +Handle2ConstBibitem +BibliographyBibitemGetByMarkupConst( + ConstHandle2ConstBibliography This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BibitemGetByMarkupConst", + This, extract::bibitem, meta::markup, markup); +} + +// Get, by markup, non-const +Handle2Bibitem +BibliographyBibitemGetByMarkup( + ConstHandle2Bibliography This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BibitemGetByMarkup", + This, extract::bibitem, meta::markup, markup); +} + +// Set, by markup +void +BibliographyBibitemSetByMarkup( + ConstHandle2Bibliography This, + const char *const markup, + ConstHandle2ConstBibitem bibitem +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"BibitemSetByMarkup", + This, extract::bibitem, meta::markup, markup, bibitem); +} + +// Has, by label +int +BibliographyBibitemHasByLabel( + ConstHandle2ConstBibliography This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"BibitemHasByLabel", + This, extract::bibitem, meta::label, label); +} + +// Get, by label, const +Handle2ConstBibitem +BibliographyBibitemGetByLabelConst( + ConstHandle2ConstBibliography This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BibitemGetByLabelConst", + This, extract::bibitem, meta::label, label); +} + +// Get, by label, non-const +Handle2Bibitem +BibliographyBibitemGetByLabel( + ConstHandle2Bibliography This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BibitemGetByLabel", + This, extract::bibitem, meta::label, label); +} + +// Set, by label +void +BibliographyBibitemSetByLabel( + ConstHandle2Bibliography This, + const XMLName label, + ConstHandle2ConstBibitem bibitem +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"BibitemSetByLabel", + This, extract::bibitem, meta::label, label, bibitem); +} + +// Has, by xref +int +BibliographyBibitemHasByXref( + ConstHandle2ConstBibliography This, + const XMLName xref +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"BibitemHasByXref", + This, extract::bibitem, meta::xref, xref); +} + +// Get, by xref, const +Handle2ConstBibitem +BibliographyBibitemGetByXrefConst( + ConstHandle2ConstBibliography This, + const XMLName xref +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BibitemGetByXrefConst", + This, extract::bibitem, meta::xref, xref); +} + +// Get, by xref, non-const +Handle2Bibitem +BibliographyBibitemGetByXref( + ConstHandle2Bibliography This, + const XMLName xref +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BibitemGetByXref", + This, extract::bibitem, meta::xref, xref); +} + +// Set, by xref +void +BibliographyBibitemSetByXref( + ConstHandle2Bibliography This, + const XMLName xref, + ConstHandle2ConstBibitem bibitem +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"BibitemSetByXref", + This, extract::bibitem, meta::xref, xref, bibitem); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.h new file mode 100644 index 000000000..cf95a03ab --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Bibliography is the basic handle type in this file. Example: +// // Create a default Bibliography object: +// Bibliography handle = BibliographyDefault(); +// Functions involving Bibliography are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_BIBLIOGRAPHY +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_BIBLIOGRAPHY + +#include "GNDStk.h" +#include "v2.0/documentation/Bibitem.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BibliographyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Bibliography +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BibliographyClass *Bibliography; + +// --- Const-aware handles. +typedef const struct BibliographyClass *const ConstHandle2ConstBibliography; +typedef struct BibliographyClass *const ConstHandle2Bibliography; +typedef const struct BibliographyClass * Handle2ConstBibliography; +typedef struct BibliographyClass * Handle2Bibliography; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBibliography +BibliographyDefaultConst(); + +// +++ Create, default +extern_c Handle2Bibliography +BibliographyDefault(); + +// --- Create, general, const +extern_c Handle2ConstBibliography +BibliographyCreateConst( + ConstHandle2Bibitem *const bibitem, const size_t bibitemSize +); + +// +++ Create, general +extern_c Handle2Bibliography +BibliographyCreate( + ConstHandle2Bibitem *const bibitem, const size_t bibitemSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BibliographyAssign(ConstHandle2Bibliography This, ConstHandle2ConstBibliography from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BibliographyDelete(ConstHandle2ConstBibliography This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BibliographyRead(ConstHandle2Bibliography This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BibliographyWrite(ConstHandle2ConstBibliography This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BibliographyPrint(ConstHandle2ConstBibliography This); + +// +++ Print to standard output, as XML +extern_c int +BibliographyPrintXML(ConstHandle2ConstBibliography This); + +// +++ Print to standard output, as JSON +extern_c int +BibliographyPrintJSON(ConstHandle2ConstBibliography This); + + +// ----------------------------------------------------------------------------- +// Child: bibitem +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BibliographyBibitemHas(ConstHandle2ConstBibliography This); + +// +++ Clear +extern_c void +BibliographyBibitemClear(ConstHandle2Bibliography This); + +// +++ Size +extern_c size_t +BibliographyBibitemSize(ConstHandle2ConstBibliography This); + +// +++ Add +extern_c void +BibliographyBibitemAdd(ConstHandle2Bibliography This, ConstHandle2ConstBibitem bibitem); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstBibitem +BibliographyBibitemGetConst(ConstHandle2ConstBibliography This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Bibitem +BibliographyBibitemGet(ConstHandle2Bibliography This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +BibliographyBibitemSet( + ConstHandle2Bibliography This, + const size_t index_, + ConstHandle2ConstBibitem bibitem +); + +// +++ Has, by encoding +extern_c int +BibliographyBibitemHasByEncoding( + ConstHandle2ConstBibliography This, + const XMLName encoding +); + +// --- Get, by encoding, const +extern_c Handle2ConstBibitem +BibliographyBibitemGetByEncodingConst( + ConstHandle2ConstBibliography This, + const XMLName encoding +); + +// +++ Get, by encoding, non-const +extern_c Handle2Bibitem +BibliographyBibitemGetByEncoding( + ConstHandle2Bibliography This, + const XMLName encoding +); + +// +++ Set, by encoding +extern_c void +BibliographyBibitemSetByEncoding( + ConstHandle2Bibliography This, + const XMLName encoding, + ConstHandle2ConstBibitem bibitem +); + +// +++ Has, by markup +extern_c int +BibliographyBibitemHasByMarkup( + ConstHandle2ConstBibliography This, + const char *const markup +); + +// --- Get, by markup, const +extern_c Handle2ConstBibitem +BibliographyBibitemGetByMarkupConst( + ConstHandle2ConstBibliography This, + const char *const markup +); + +// +++ Get, by markup, non-const +extern_c Handle2Bibitem +BibliographyBibitemGetByMarkup( + ConstHandle2Bibliography This, + const char *const markup +); + +// +++ Set, by markup +extern_c void +BibliographyBibitemSetByMarkup( + ConstHandle2Bibliography This, + const char *const markup, + ConstHandle2ConstBibitem bibitem +); + +// +++ Has, by label +extern_c int +BibliographyBibitemHasByLabel( + ConstHandle2ConstBibliography This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstBibitem +BibliographyBibitemGetByLabelConst( + ConstHandle2ConstBibliography This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Bibitem +BibliographyBibitemGetByLabel( + ConstHandle2Bibliography This, + const XMLName label +); + +// +++ Set, by label +extern_c void +BibliographyBibitemSetByLabel( + ConstHandle2Bibliography This, + const XMLName label, + ConstHandle2ConstBibitem bibitem +); + +// +++ Has, by xref +extern_c int +BibliographyBibitemHasByXref( + ConstHandle2ConstBibliography This, + const XMLName xref +); + +// --- Get, by xref, const +extern_c Handle2ConstBibitem +BibliographyBibitemGetByXrefConst( + ConstHandle2ConstBibliography This, + const XMLName xref +); + +// +++ Get, by xref, non-const +extern_c Handle2Bibitem +BibliographyBibitemGetByXref( + ConstHandle2Bibliography This, + const XMLName xref +); + +// +++ Set, by xref +extern_c void +BibliographyBibitemSetByXref( + ConstHandle2Bibliography This, + const XMLName xref, + ConstHandle2ConstBibitem bibitem +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.cpp new file mode 100644 index 000000000..0d67524d7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Body.hpp" +#include "Body.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BodyClass; +using CPP = multigroup::Body; + +static const std::string CLASSNAME = "Body"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBody +BodyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Body +BodyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBody +BodyCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Body handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2Body +BodyCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Body handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BodyAssign(ConstHandle2Body This, ConstHandle2ConstBody from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BodyDelete(ConstHandle2ConstBody This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BodyRead(ConstHandle2Body This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BodyWrite(ConstHandle2ConstBody This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BodyPrint(ConstHandle2ConstBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BodyPrintXML(ConstHandle2ConstBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BodyPrintJSON(ConstHandle2ConstBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +BodyIntsClear(ConstHandle2Body This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +BodyIntsSize(ConstHandle2ConstBody This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +BodyIntsGet(ConstHandle2ConstBody This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BodyIntsSet(ConstHandle2Body This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +BodyIntsGetArrayConst(ConstHandle2ConstBody This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +BodyIntsGetArray(ConstHandle2Body This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +BodyIntsSetArray(ConstHandle2Body This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +BodyUnsignedsClear(ConstHandle2Body This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +BodyUnsignedsSize(ConstHandle2ConstBody This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +BodyUnsignedsGet(ConstHandle2ConstBody This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BodyUnsignedsSet(ConstHandle2Body This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +BodyUnsignedsGetArrayConst(ConstHandle2ConstBody This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +BodyUnsignedsGetArray(ConstHandle2Body This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +BodyUnsignedsSetArray(ConstHandle2Body This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +BodyFloatsClear(ConstHandle2Body This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +BodyFloatsSize(ConstHandle2ConstBody This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +BodyFloatsGet(ConstHandle2ConstBody This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BodyFloatsSet(ConstHandle2Body This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +BodyFloatsGetArrayConst(ConstHandle2ConstBody This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +BodyFloatsGetArray(ConstHandle2Body This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +BodyFloatsSetArray(ConstHandle2Body This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +BodyDoublesClear(ConstHandle2Body This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +BodyDoublesSize(ConstHandle2ConstBody This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +BodyDoublesGet(ConstHandle2ConstBody This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BodyDoublesSet(ConstHandle2Body This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +BodyDoublesGetArrayConst(ConstHandle2ConstBody This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +BodyDoublesGetArray(ConstHandle2Body This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +BodyDoublesSetArray(ConstHandle2Body This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +BodyEncodingHas(ConstHandle2ConstBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +BodyEncodingGet(ConstHandle2ConstBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +BodyEncodingSet(ConstHandle2Body This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +BodyMarkupHas(ConstHandle2ConstBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +BodyMarkupGet(ConstHandle2ConstBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +BodyMarkupSet(ConstHandle2Body This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +BodyLabelHas(ConstHandle2ConstBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +BodyLabelGet(ConstHandle2ConstBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +BodyLabelSet(ConstHandle2Body This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.h new file mode 100644 index 000000000..aaf8f8a91 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Body is the basic handle type in this file. Example: +// // Create a default Body object: +// Body handle = BodyDefault(); +// Functions involving Body are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_BODY +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_BODY + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BodyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Body +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BodyClass *Body; + +// --- Const-aware handles. +typedef const struct BodyClass *const ConstHandle2ConstBody; +typedef struct BodyClass *const ConstHandle2Body; +typedef const struct BodyClass * Handle2ConstBody; +typedef struct BodyClass * Handle2Body; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBody +BodyDefaultConst(); + +// +++ Create, default +extern_c Handle2Body +BodyDefault(); + +// --- Create, general, const +extern_c Handle2ConstBody +BodyCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2Body +BodyCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BodyAssign(ConstHandle2Body This, ConstHandle2ConstBody from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BodyDelete(ConstHandle2ConstBody This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BodyRead(ConstHandle2Body This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BodyWrite(ConstHandle2ConstBody This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BodyPrint(ConstHandle2ConstBody This); + +// +++ Print to standard output, as XML +extern_c int +BodyPrintXML(ConstHandle2ConstBody This); + +// +++ Print to standard output, as JSON +extern_c int +BodyPrintJSON(ConstHandle2ConstBody This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +BodyIntsClear(ConstHandle2Body This); + +// +++ Get size +extern_c size_t +BodyIntsSize(ConstHandle2ConstBody This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +BodyIntsGet(ConstHandle2ConstBody This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BodyIntsSet(ConstHandle2Body This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +BodyIntsGetArrayConst(ConstHandle2ConstBody This); + +// +++ Get pointer to existing values, non-const +extern_c int * +BodyIntsGetArray(ConstHandle2Body This); + +// +++ Set completely new values and size +extern_c void +BodyIntsSetArray(ConstHandle2Body This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +BodyUnsignedsClear(ConstHandle2Body This); + +// +++ Get size +extern_c size_t +BodyUnsignedsSize(ConstHandle2ConstBody This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +BodyUnsignedsGet(ConstHandle2ConstBody This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BodyUnsignedsSet(ConstHandle2Body This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +BodyUnsignedsGetArrayConst(ConstHandle2ConstBody This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +BodyUnsignedsGetArray(ConstHandle2Body This); + +// +++ Set completely new values and size +extern_c void +BodyUnsignedsSetArray(ConstHandle2Body This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +BodyFloatsClear(ConstHandle2Body This); + +// +++ Get size +extern_c size_t +BodyFloatsSize(ConstHandle2ConstBody This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +BodyFloatsGet(ConstHandle2ConstBody This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BodyFloatsSet(ConstHandle2Body This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +BodyFloatsGetArrayConst(ConstHandle2ConstBody This); + +// +++ Get pointer to existing values, non-const +extern_c float * +BodyFloatsGetArray(ConstHandle2Body This); + +// +++ Set completely new values and size +extern_c void +BodyFloatsSetArray(ConstHandle2Body This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +BodyDoublesClear(ConstHandle2Body This); + +// +++ Get size +extern_c size_t +BodyDoublesSize(ConstHandle2ConstBody This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +BodyDoublesGet(ConstHandle2ConstBody This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BodyDoublesSet(ConstHandle2Body This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +BodyDoublesGetArrayConst(ConstHandle2ConstBody This); + +// +++ Get pointer to existing values, non-const +extern_c double * +BodyDoublesGetArray(ConstHandle2Body This); + +// +++ Set completely new values and size +extern_c void +BodyDoublesSetArray(ConstHandle2Body This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BodyEncodingHas(ConstHandle2ConstBody This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BodyEncodingGet(ConstHandle2ConstBody This); + +// +++ Set +extern_c void +BodyEncodingSet(ConstHandle2Body This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BodyMarkupHas(ConstHandle2ConstBody This); + +// +++ Get +// +++ Returns by value +extern_c const char * +BodyMarkupGet(ConstHandle2ConstBody This); + +// +++ Set +extern_c void +BodyMarkupSet(ConstHandle2Body This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BodyLabelHas(ConstHandle2ConstBody This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BodyLabelGet(ConstHandle2ConstBody This); + +// +++ Set +extern_c void +BodyLabelSet(ConstHandle2Body This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.cpp new file mode 100644 index 000000000..8c7ef06df --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.cpp @@ -0,0 +1,270 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/CodeRepo.hpp" +#include "CodeRepo.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CodeRepoClass; +using CPP = multigroup::CodeRepo; + +static const std::string CLASSNAME = "CodeRepo"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto revisionSystem = [](auto &obj) { return &obj.revisionSystem; }; + static auto href = [](auto &obj) { return &obj.href; }; + static auto revisionID = [](auto &obj) { return &obj.revisionID; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCodeRepo +CodeRepoDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CodeRepo +CodeRepoDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCodeRepo +CodeRepoCreateConst( + const XMLName label, + const XMLName revisionSystem, + const XMLName href, + const XMLName revisionID +) { + ConstHandle2CodeRepo handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + revisionSystem, + href, + revisionID + ); + return handle; +} + +// Create, general +Handle2CodeRepo +CodeRepoCreate( + const XMLName label, + const XMLName revisionSystem, + const XMLName href, + const XMLName revisionID +) { + ConstHandle2CodeRepo handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + revisionSystem, + href, + revisionID + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CodeRepoAssign(ConstHandle2CodeRepo This, ConstHandle2ConstCodeRepo from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CodeRepoDelete(ConstHandle2ConstCodeRepo This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CodeRepoRead(ConstHandle2CodeRepo This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CodeRepoWrite(ConstHandle2ConstCodeRepo This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CodeRepoPrint(ConstHandle2ConstCodeRepo This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CodeRepoPrintXML(ConstHandle2ConstCodeRepo This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CodeRepoPrintJSON(ConstHandle2ConstCodeRepo This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CodeRepoLabelHas(ConstHandle2ConstCodeRepo This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CodeRepoLabelGet(ConstHandle2ConstCodeRepo This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CodeRepoLabelSet(ConstHandle2CodeRepo This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: revisionSystem +// ----------------------------------------------------------------------------- + +// Has +int +CodeRepoRevisionSystemHas(ConstHandle2ConstCodeRepo This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RevisionSystemHas", This, extract::revisionSystem); +} + +// Get +// Returns by value +XMLName +CodeRepoRevisionSystemGet(ConstHandle2ConstCodeRepo This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RevisionSystemGet", This, extract::revisionSystem); +} + +// Set +void +CodeRepoRevisionSystemSet(ConstHandle2CodeRepo This, const XMLName revisionSystem) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RevisionSystemSet", This, extract::revisionSystem, revisionSystem); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +CodeRepoHrefHas(ConstHandle2ConstCodeRepo This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +XMLName +CodeRepoHrefGet(ConstHandle2ConstCodeRepo This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +CodeRepoHrefSet(ConstHandle2CodeRepo This, const XMLName href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: revisionID +// ----------------------------------------------------------------------------- + +// Has +int +CodeRepoRevisionIDHas(ConstHandle2ConstCodeRepo This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RevisionIDHas", This, extract::revisionID); +} + +// Get +// Returns by value +XMLName +CodeRepoRevisionIDGet(ConstHandle2ConstCodeRepo This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RevisionIDGet", This, extract::revisionID); +} + +// Set +void +CodeRepoRevisionIDSet(ConstHandle2CodeRepo This, const XMLName revisionID) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RevisionIDSet", This, extract::revisionID, revisionID); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.h new file mode 100644 index 000000000..8819b8206 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.h @@ -0,0 +1,215 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CodeRepo is the basic handle type in this file. Example: +// // Create a default CodeRepo object: +// CodeRepo handle = CodeRepoDefault(); +// Functions involving CodeRepo are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_CODEREPO +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_CODEREPO + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CodeRepoClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CodeRepo +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CodeRepoClass *CodeRepo; + +// --- Const-aware handles. +typedef const struct CodeRepoClass *const ConstHandle2ConstCodeRepo; +typedef struct CodeRepoClass *const ConstHandle2CodeRepo; +typedef const struct CodeRepoClass * Handle2ConstCodeRepo; +typedef struct CodeRepoClass * Handle2CodeRepo; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCodeRepo +CodeRepoDefaultConst(); + +// +++ Create, default +extern_c Handle2CodeRepo +CodeRepoDefault(); + +// --- Create, general, const +extern_c Handle2ConstCodeRepo +CodeRepoCreateConst( + const XMLName label, + const XMLName revisionSystem, + const XMLName href, + const XMLName revisionID +); + +// +++ Create, general +extern_c Handle2CodeRepo +CodeRepoCreate( + const XMLName label, + const XMLName revisionSystem, + const XMLName href, + const XMLName revisionID +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CodeRepoAssign(ConstHandle2CodeRepo This, ConstHandle2ConstCodeRepo from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CodeRepoDelete(ConstHandle2ConstCodeRepo This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CodeRepoRead(ConstHandle2CodeRepo This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CodeRepoWrite(ConstHandle2ConstCodeRepo This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CodeRepoPrint(ConstHandle2ConstCodeRepo This); + +// +++ Print to standard output, as XML +extern_c int +CodeRepoPrintXML(ConstHandle2ConstCodeRepo This); + +// +++ Print to standard output, as JSON +extern_c int +CodeRepoPrintJSON(ConstHandle2ConstCodeRepo This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CodeRepoLabelHas(ConstHandle2ConstCodeRepo This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CodeRepoLabelGet(ConstHandle2ConstCodeRepo This); + +// +++ Set +extern_c void +CodeRepoLabelSet(ConstHandle2CodeRepo This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: revisionSystem +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CodeRepoRevisionSystemHas(ConstHandle2ConstCodeRepo This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CodeRepoRevisionSystemGet(ConstHandle2ConstCodeRepo This); + +// +++ Set +extern_c void +CodeRepoRevisionSystemSet(ConstHandle2CodeRepo This, const XMLName revisionSystem); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CodeRepoHrefHas(ConstHandle2ConstCodeRepo This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CodeRepoHrefGet(ConstHandle2ConstCodeRepo This); + +// +++ Set +extern_c void +CodeRepoHrefSet(ConstHandle2CodeRepo This, const XMLName href); + + +// ----------------------------------------------------------------------------- +// Metadatum: revisionID +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CodeRepoRevisionIDHas(ConstHandle2ConstCodeRepo This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CodeRepoRevisionIDGet(ConstHandle2ConstCodeRepo This); + +// +++ Set +extern_c void +CodeRepoRevisionIDSet(ConstHandle2CodeRepo This, const XMLName revisionID); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.cpp new file mode 100644 index 000000000..60da15867 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Collaboration.hpp" +#include "Collaboration.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CollaborationClass; +using CPP = multigroup::Collaboration; + +static const std::string CLASSNAME = "Collaboration"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCollaboration +CollaborationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Collaboration +CollaborationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCollaboration +CollaborationCreateConst( + const UTF8Text name, + const UTF8Text href +) { + ConstHandle2Collaboration handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name, + href + ); + return handle; +} + +// Create, general +Handle2Collaboration +CollaborationCreate( + const UTF8Text name, + const UTF8Text href +) { + ConstHandle2Collaboration handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CollaborationAssign(ConstHandle2Collaboration This, ConstHandle2ConstCollaboration from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CollaborationDelete(ConstHandle2ConstCollaboration This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CollaborationRead(ConstHandle2Collaboration This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CollaborationWrite(ConstHandle2ConstCollaboration This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CollaborationPrint(ConstHandle2ConstCollaboration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CollaborationPrintXML(ConstHandle2ConstCollaboration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CollaborationPrintJSON(ConstHandle2ConstCollaboration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +CollaborationNameHas(ConstHandle2ConstCollaboration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +UTF8Text +CollaborationNameGet(ConstHandle2ConstCollaboration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +CollaborationNameSet(ConstHandle2Collaboration This, const UTF8Text name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +CollaborationHrefHas(ConstHandle2ConstCollaboration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +UTF8Text +CollaborationHrefGet(ConstHandle2ConstCollaboration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +CollaborationHrefSet(ConstHandle2Collaboration This, const UTF8Text href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.h new file mode 100644 index 000000000..cc71563b1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Collaboration is the basic handle type in this file. Example: +// // Create a default Collaboration object: +// Collaboration handle = CollaborationDefault(); +// Functions involving Collaboration are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COLLABORATION +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COLLABORATION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CollaborationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Collaboration +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CollaborationClass *Collaboration; + +// --- Const-aware handles. +typedef const struct CollaborationClass *const ConstHandle2ConstCollaboration; +typedef struct CollaborationClass *const ConstHandle2Collaboration; +typedef const struct CollaborationClass * Handle2ConstCollaboration; +typedef struct CollaborationClass * Handle2Collaboration; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCollaboration +CollaborationDefaultConst(); + +// +++ Create, default +extern_c Handle2Collaboration +CollaborationDefault(); + +// --- Create, general, const +extern_c Handle2ConstCollaboration +CollaborationCreateConst( + const UTF8Text name, + const UTF8Text href +); + +// +++ Create, general +extern_c Handle2Collaboration +CollaborationCreate( + const UTF8Text name, + const UTF8Text href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CollaborationAssign(ConstHandle2Collaboration This, ConstHandle2ConstCollaboration from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CollaborationDelete(ConstHandle2ConstCollaboration This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CollaborationRead(ConstHandle2Collaboration This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CollaborationWrite(ConstHandle2ConstCollaboration This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CollaborationPrint(ConstHandle2ConstCollaboration This); + +// +++ Print to standard output, as XML +extern_c int +CollaborationPrintXML(ConstHandle2ConstCollaboration This); + +// +++ Print to standard output, as JSON +extern_c int +CollaborationPrintJSON(ConstHandle2ConstCollaboration This); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CollaborationNameHas(ConstHandle2ConstCollaboration This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +CollaborationNameGet(ConstHandle2ConstCollaboration This); + +// +++ Set +extern_c void +CollaborationNameSet(ConstHandle2Collaboration This, const UTF8Text name); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CollaborationHrefHas(ConstHandle2ConstCollaboration This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +CollaborationHrefGet(ConstHandle2ConstCollaboration This); + +// +++ Set +extern_c void +CollaborationHrefSet(ConstHandle2Collaboration This, const UTF8Text href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.cpp new file mode 100644 index 000000000..f5c5c140d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Collaborations.hpp" +#include "Collaborations.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CollaborationsClass; +using CPP = multigroup::Collaborations; + +static const std::string CLASSNAME = "Collaborations"; + +namespace extract { + static auto collaboration = [](auto &obj) { return &obj.collaboration; }; +} + +using CPPCollaboration = documentation::Collaboration; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCollaborations +CollaborationsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Collaborations +CollaborationsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCollaborations +CollaborationsCreateConst( + ConstHandle2Collaboration *const collaboration, const size_t collaborationSize +) { + ConstHandle2Collaborations handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t CollaborationN = 0; CollaborationN < collaborationSize; ++CollaborationN) + CollaborationsCollaborationAdd(handle, collaboration[CollaborationN]); + return handle; +} + +// Create, general +Handle2Collaborations +CollaborationsCreate( + ConstHandle2Collaboration *const collaboration, const size_t collaborationSize +) { + ConstHandle2Collaborations handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t CollaborationN = 0; CollaborationN < collaborationSize; ++CollaborationN) + CollaborationsCollaborationAdd(handle, collaboration[CollaborationN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CollaborationsAssign(ConstHandle2Collaborations This, ConstHandle2ConstCollaborations from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CollaborationsDelete(ConstHandle2ConstCollaborations This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CollaborationsRead(ConstHandle2Collaborations This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CollaborationsWrite(ConstHandle2ConstCollaborations This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CollaborationsPrint(ConstHandle2ConstCollaborations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CollaborationsPrintXML(ConstHandle2ConstCollaborations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CollaborationsPrintJSON(ConstHandle2ConstCollaborations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: collaboration +// ----------------------------------------------------------------------------- + +// Has +int +CollaborationsCollaborationHas(ConstHandle2ConstCollaborations This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CollaborationHas", This, extract::collaboration); +} + +// Clear +void +CollaborationsCollaborationClear(ConstHandle2Collaborations This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"CollaborationClear", This, extract::collaboration); +} + +// Size +size_t +CollaborationsCollaborationSize(ConstHandle2ConstCollaborations This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"CollaborationSize", This, extract::collaboration); +} + +// Add +void +CollaborationsCollaborationAdd(ConstHandle2Collaborations This, ConstHandle2ConstCollaboration collaboration) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"CollaborationAdd", This, extract::collaboration, collaboration); +} + +// Get, by index \in [0,size), const +Handle2ConstCollaboration +CollaborationsCollaborationGetConst(ConstHandle2ConstCollaborations This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CollaborationGetConst", This, extract::collaboration, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Collaboration +CollaborationsCollaborationGet(ConstHandle2Collaborations This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CollaborationGet", This, extract::collaboration, index_); +} + +// Set, by index \in [0,size) +void +CollaborationsCollaborationSet( + ConstHandle2Collaborations This, + const size_t index_, + ConstHandle2ConstCollaboration collaboration +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"CollaborationSet", This, extract::collaboration, index_, collaboration); +} + +// Has, by name +int +CollaborationsCollaborationHasByName( + ConstHandle2ConstCollaborations This, + const UTF8Text name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CollaborationHasByName", + This, extract::collaboration, meta::name, name); +} + +// Get, by name, const +Handle2ConstCollaboration +CollaborationsCollaborationGetByNameConst( + ConstHandle2ConstCollaborations This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CollaborationGetByNameConst", + This, extract::collaboration, meta::name, name); +} + +// Get, by name, non-const +Handle2Collaboration +CollaborationsCollaborationGetByName( + ConstHandle2Collaborations This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CollaborationGetByName", + This, extract::collaboration, meta::name, name); +} + +// Set, by name +void +CollaborationsCollaborationSetByName( + ConstHandle2Collaborations This, + const UTF8Text name, + ConstHandle2ConstCollaboration collaboration +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CollaborationSetByName", + This, extract::collaboration, meta::name, name, collaboration); +} + +// Has, by href +int +CollaborationsCollaborationHasByHref( + ConstHandle2ConstCollaborations This, + const UTF8Text href +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CollaborationHasByHref", + This, extract::collaboration, meta::href, href); +} + +// Get, by href, const +Handle2ConstCollaboration +CollaborationsCollaborationGetByHrefConst( + ConstHandle2ConstCollaborations This, + const UTF8Text href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CollaborationGetByHrefConst", + This, extract::collaboration, meta::href, href); +} + +// Get, by href, non-const +Handle2Collaboration +CollaborationsCollaborationGetByHref( + ConstHandle2Collaborations This, + const UTF8Text href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CollaborationGetByHref", + This, extract::collaboration, meta::href, href); +} + +// Set, by href +void +CollaborationsCollaborationSetByHref( + ConstHandle2Collaborations This, + const UTF8Text href, + ConstHandle2ConstCollaboration collaboration +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CollaborationSetByHref", + This, extract::collaboration, meta::href, href, collaboration); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.h new file mode 100644 index 000000000..c41ddd1f8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Collaborations is the basic handle type in this file. Example: +// // Create a default Collaborations object: +// Collaborations handle = CollaborationsDefault(); +// Functions involving Collaborations are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COLLABORATIONS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COLLABORATIONS + +#include "GNDStk.h" +#include "v2.0/documentation/Collaboration.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CollaborationsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Collaborations +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CollaborationsClass *Collaborations; + +// --- Const-aware handles. +typedef const struct CollaborationsClass *const ConstHandle2ConstCollaborations; +typedef struct CollaborationsClass *const ConstHandle2Collaborations; +typedef const struct CollaborationsClass * Handle2ConstCollaborations; +typedef struct CollaborationsClass * Handle2Collaborations; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCollaborations +CollaborationsDefaultConst(); + +// +++ Create, default +extern_c Handle2Collaborations +CollaborationsDefault(); + +// --- Create, general, const +extern_c Handle2ConstCollaborations +CollaborationsCreateConst( + ConstHandle2Collaboration *const collaboration, const size_t collaborationSize +); + +// +++ Create, general +extern_c Handle2Collaborations +CollaborationsCreate( + ConstHandle2Collaboration *const collaboration, const size_t collaborationSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CollaborationsAssign(ConstHandle2Collaborations This, ConstHandle2ConstCollaborations from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CollaborationsDelete(ConstHandle2ConstCollaborations This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CollaborationsRead(ConstHandle2Collaborations This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CollaborationsWrite(ConstHandle2ConstCollaborations This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CollaborationsPrint(ConstHandle2ConstCollaborations This); + +// +++ Print to standard output, as XML +extern_c int +CollaborationsPrintXML(ConstHandle2ConstCollaborations This); + +// +++ Print to standard output, as JSON +extern_c int +CollaborationsPrintJSON(ConstHandle2ConstCollaborations This); + + +// ----------------------------------------------------------------------------- +// Child: collaboration +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CollaborationsCollaborationHas(ConstHandle2ConstCollaborations This); + +// +++ Clear +extern_c void +CollaborationsCollaborationClear(ConstHandle2Collaborations This); + +// +++ Size +extern_c size_t +CollaborationsCollaborationSize(ConstHandle2ConstCollaborations This); + +// +++ Add +extern_c void +CollaborationsCollaborationAdd(ConstHandle2Collaborations This, ConstHandle2ConstCollaboration collaboration); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstCollaboration +CollaborationsCollaborationGetConst(ConstHandle2ConstCollaborations This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Collaboration +CollaborationsCollaborationGet(ConstHandle2Collaborations This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +CollaborationsCollaborationSet( + ConstHandle2Collaborations This, + const size_t index_, + ConstHandle2ConstCollaboration collaboration +); + +// +++ Has, by name +extern_c int +CollaborationsCollaborationHasByName( + ConstHandle2ConstCollaborations This, + const UTF8Text name +); + +// --- Get, by name, const +extern_c Handle2ConstCollaboration +CollaborationsCollaborationGetByNameConst( + ConstHandle2ConstCollaborations This, + const UTF8Text name +); + +// +++ Get, by name, non-const +extern_c Handle2Collaboration +CollaborationsCollaborationGetByName( + ConstHandle2Collaborations This, + const UTF8Text name +); + +// +++ Set, by name +extern_c void +CollaborationsCollaborationSetByName( + ConstHandle2Collaborations This, + const UTF8Text name, + ConstHandle2ConstCollaboration collaboration +); + +// +++ Has, by href +extern_c int +CollaborationsCollaborationHasByHref( + ConstHandle2ConstCollaborations This, + const UTF8Text href +); + +// --- Get, by href, const +extern_c Handle2ConstCollaboration +CollaborationsCollaborationGetByHrefConst( + ConstHandle2ConstCollaborations This, + const UTF8Text href +); + +// +++ Get, by href, non-const +extern_c Handle2Collaboration +CollaborationsCollaborationGetByHref( + ConstHandle2Collaborations This, + const UTF8Text href +); + +// +++ Set, by href +extern_c void +CollaborationsCollaborationSetByHref( + ConstHandle2Collaborations This, + const UTF8Text href, + ConstHandle2ConstCollaboration collaboration +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.cpp new file mode 100644 index 000000000..a75d52c1a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.cpp @@ -0,0 +1,451 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/ComputerCode.hpp" +#include "ComputerCode.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ComputerCodeClass; +using CPP = multigroup::ComputerCode; + +static const std::string CLASSNAME = "ComputerCode"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto name = [](auto &obj) { return &obj.name; }; + static auto version = [](auto &obj) { return &obj.version; }; + static auto executionArguments = [](auto &obj) { return &obj.executionArguments; }; + static auto codeRepo = [](auto &obj) { return &obj.codeRepo; }; + static auto note = [](auto &obj) { return &obj.note; }; + static auto inputDecks = [](auto &obj) { return &obj.inputDecks; }; + static auto outputDecks = [](auto &obj) { return &obj.outputDecks; }; +} + +using CPPExecutionArguments = documentation::ExecutionArguments; +using CPPCodeRepo = documentation::CodeRepo; +using CPPNote = documentation::Note; +using CPPInputDecks = documentation::InputDecks; +using CPPOutputDecks = documentation::OutputDecks; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstComputerCode +ComputerCodeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ComputerCode +ComputerCodeDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstComputerCode +ComputerCodeCreateConst( + const XMLName label, + const UTF8Text name, + const XMLName version, + ConstHandle2ConstExecutionArguments executionArguments, + ConstHandle2ConstCodeRepo codeRepo, + ConstHandle2ConstNote note, + ConstHandle2ConstInputDecks inputDecks, + ConstHandle2ConstOutputDecks outputDecks +) { + ConstHandle2ComputerCode handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + name, + version, + detail::tocpp(executionArguments), + detail::tocpp(codeRepo), + detail::tocpp(note), + detail::tocpp(inputDecks), + detail::tocpp(outputDecks) + ); + return handle; +} + +// Create, general +Handle2ComputerCode +ComputerCodeCreate( + const XMLName label, + const UTF8Text name, + const XMLName version, + ConstHandle2ConstExecutionArguments executionArguments, + ConstHandle2ConstCodeRepo codeRepo, + ConstHandle2ConstNote note, + ConstHandle2ConstInputDecks inputDecks, + ConstHandle2ConstOutputDecks outputDecks +) { + ConstHandle2ComputerCode handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + name, + version, + detail::tocpp(executionArguments), + detail::tocpp(codeRepo), + detail::tocpp(note), + detail::tocpp(inputDecks), + detail::tocpp(outputDecks) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ComputerCodeAssign(ConstHandle2ComputerCode This, ConstHandle2ConstComputerCode from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ComputerCodeDelete(ConstHandle2ConstComputerCode This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ComputerCodeRead(ConstHandle2ComputerCode This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ComputerCodeWrite(ConstHandle2ConstComputerCode This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ComputerCodePrint(ConstHandle2ConstComputerCode This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ComputerCodePrintXML(ConstHandle2ConstComputerCode This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ComputerCodePrintJSON(ConstHandle2ConstComputerCode This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodeLabelHas(ConstHandle2ConstComputerCode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ComputerCodeLabelGet(ConstHandle2ConstComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ComputerCodeLabelSet(ConstHandle2ComputerCode This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodeNameHas(ConstHandle2ConstComputerCode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +UTF8Text +ComputerCodeNameGet(ConstHandle2ConstComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +ComputerCodeNameSet(ConstHandle2ComputerCode This, const UTF8Text name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodeVersionHas(ConstHandle2ConstComputerCode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"VersionHas", This, extract::version); +} + +// Get +// Returns by value +XMLName +ComputerCodeVersionGet(ConstHandle2ConstComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"VersionGet", This, extract::version); +} + +// Set +void +ComputerCodeVersionSet(ConstHandle2ComputerCode This, const XMLName version) +{ + detail::setField + (CLASSNAME, CLASSNAME+"VersionSet", This, extract::version, version); +} + + +// ----------------------------------------------------------------------------- +// Child: executionArguments +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodeExecutionArgumentsHas(ConstHandle2ConstComputerCode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ExecutionArgumentsHas", This, extract::executionArguments); +} + +// Get, const +Handle2ConstExecutionArguments +ComputerCodeExecutionArgumentsGetConst(ConstHandle2ConstComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExecutionArgumentsGetConst", This, extract::executionArguments); +} + +// Get, non-const +Handle2ExecutionArguments +ComputerCodeExecutionArgumentsGet(ConstHandle2ComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExecutionArgumentsGet", This, extract::executionArguments); +} + +// Set +void +ComputerCodeExecutionArgumentsSet(ConstHandle2ComputerCode This, ConstHandle2ConstExecutionArguments executionArguments) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ExecutionArgumentsSet", This, extract::executionArguments, executionArguments); +} + + +// ----------------------------------------------------------------------------- +// Child: codeRepo +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodeCodeRepoHas(ConstHandle2ConstComputerCode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CodeRepoHas", This, extract::codeRepo); +} + +// Get, const +Handle2ConstCodeRepo +ComputerCodeCodeRepoGetConst(ConstHandle2ConstComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CodeRepoGetConst", This, extract::codeRepo); +} + +// Get, non-const +Handle2CodeRepo +ComputerCodeCodeRepoGet(ConstHandle2ComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CodeRepoGet", This, extract::codeRepo); +} + +// Set +void +ComputerCodeCodeRepoSet(ConstHandle2ComputerCode This, ConstHandle2ConstCodeRepo codeRepo) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CodeRepoSet", This, extract::codeRepo, codeRepo); +} + + +// ----------------------------------------------------------------------------- +// Child: note +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodeNoteHas(ConstHandle2ConstComputerCode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NoteHas", This, extract::note); +} + +// Get, const +Handle2ConstNote +ComputerCodeNoteGetConst(ConstHandle2ConstComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NoteGetConst", This, extract::note); +} + +// Get, non-const +Handle2Note +ComputerCodeNoteGet(ConstHandle2ComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NoteGet", This, extract::note); +} + +// Set +void +ComputerCodeNoteSet(ConstHandle2ComputerCode This, ConstHandle2ConstNote note) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NoteSet", This, extract::note, note); +} + + +// ----------------------------------------------------------------------------- +// Child: inputDecks +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodeInputDecksHas(ConstHandle2ConstComputerCode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InputDecksHas", This, extract::inputDecks); +} + +// Get, const +Handle2ConstInputDecks +ComputerCodeInputDecksGetConst(ConstHandle2ConstComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InputDecksGetConst", This, extract::inputDecks); +} + +// Get, non-const +Handle2InputDecks +ComputerCodeInputDecksGet(ConstHandle2ComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InputDecksGet", This, extract::inputDecks); +} + +// Set +void +ComputerCodeInputDecksSet(ConstHandle2ComputerCode This, ConstHandle2ConstInputDecks inputDecks) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InputDecksSet", This, extract::inputDecks, inputDecks); +} + + +// ----------------------------------------------------------------------------- +// Child: outputDecks +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodeOutputDecksHas(ConstHandle2ConstComputerCode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OutputDecksHas", This, extract::outputDecks); +} + +// Get, const +Handle2ConstOutputDecks +ComputerCodeOutputDecksGetConst(ConstHandle2ConstComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputDecksGetConst", This, extract::outputDecks); +} + +// Get, non-const +Handle2OutputDecks +ComputerCodeOutputDecksGet(ConstHandle2ComputerCode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputDecksGet", This, extract::outputDecks); +} + +// Set +void +ComputerCodeOutputDecksSet(ConstHandle2ComputerCode This, ConstHandle2ConstOutputDecks outputDecks) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OutputDecksSet", This, extract::outputDecks, outputDecks); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.h new file mode 100644 index 000000000..e311198db --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.h @@ -0,0 +1,315 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ComputerCode is the basic handle type in this file. Example: +// // Create a default ComputerCode object: +// ComputerCode handle = ComputerCodeDefault(); +// Functions involving ComputerCode are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COMPUTERCODE +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COMPUTERCODE + +#include "GNDStk.h" +#include "v2.0/documentation/ExecutionArguments.h" +#include "v2.0/documentation/CodeRepo.h" +#include "v2.0/documentation/Note.h" +#include "v2.0/documentation/InputDecks.h" +#include "v2.0/documentation/OutputDecks.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ComputerCodeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ComputerCode +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ComputerCodeClass *ComputerCode; + +// --- Const-aware handles. +typedef const struct ComputerCodeClass *const ConstHandle2ConstComputerCode; +typedef struct ComputerCodeClass *const ConstHandle2ComputerCode; +typedef const struct ComputerCodeClass * Handle2ConstComputerCode; +typedef struct ComputerCodeClass * Handle2ComputerCode; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstComputerCode +ComputerCodeDefaultConst(); + +// +++ Create, default +extern_c Handle2ComputerCode +ComputerCodeDefault(); + +// --- Create, general, const +extern_c Handle2ConstComputerCode +ComputerCodeCreateConst( + const XMLName label, + const UTF8Text name, + const XMLName version, + ConstHandle2ConstExecutionArguments executionArguments, + ConstHandle2ConstCodeRepo codeRepo, + ConstHandle2ConstNote note, + ConstHandle2ConstInputDecks inputDecks, + ConstHandle2ConstOutputDecks outputDecks +); + +// +++ Create, general +extern_c Handle2ComputerCode +ComputerCodeCreate( + const XMLName label, + const UTF8Text name, + const XMLName version, + ConstHandle2ConstExecutionArguments executionArguments, + ConstHandle2ConstCodeRepo codeRepo, + ConstHandle2ConstNote note, + ConstHandle2ConstInputDecks inputDecks, + ConstHandle2ConstOutputDecks outputDecks +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ComputerCodeAssign(ConstHandle2ComputerCode This, ConstHandle2ConstComputerCode from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ComputerCodeDelete(ConstHandle2ConstComputerCode This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ComputerCodeRead(ConstHandle2ComputerCode This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ComputerCodeWrite(ConstHandle2ConstComputerCode This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ComputerCodePrint(ConstHandle2ConstComputerCode This); + +// +++ Print to standard output, as XML +extern_c int +ComputerCodePrintXML(ConstHandle2ConstComputerCode This); + +// +++ Print to standard output, as JSON +extern_c int +ComputerCodePrintJSON(ConstHandle2ConstComputerCode This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodeLabelHas(ConstHandle2ConstComputerCode This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ComputerCodeLabelGet(ConstHandle2ConstComputerCode This); + +// +++ Set +extern_c void +ComputerCodeLabelSet(ConstHandle2ComputerCode This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodeNameHas(ConstHandle2ConstComputerCode This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ComputerCodeNameGet(ConstHandle2ConstComputerCode This); + +// +++ Set +extern_c void +ComputerCodeNameSet(ConstHandle2ComputerCode This, const UTF8Text name); + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodeVersionHas(ConstHandle2ConstComputerCode This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ComputerCodeVersionGet(ConstHandle2ConstComputerCode This); + +// +++ Set +extern_c void +ComputerCodeVersionSet(ConstHandle2ComputerCode This, const XMLName version); + + +// ----------------------------------------------------------------------------- +// Child: executionArguments +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodeExecutionArgumentsHas(ConstHandle2ConstComputerCode This); + +// --- Get, const +extern_c Handle2ConstExecutionArguments +ComputerCodeExecutionArgumentsGetConst(ConstHandle2ConstComputerCode This); + +// +++ Get, non-const +extern_c Handle2ExecutionArguments +ComputerCodeExecutionArgumentsGet(ConstHandle2ComputerCode This); + +// +++ Set +extern_c void +ComputerCodeExecutionArgumentsSet(ConstHandle2ComputerCode This, ConstHandle2ConstExecutionArguments executionArguments); + + +// ----------------------------------------------------------------------------- +// Child: codeRepo +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodeCodeRepoHas(ConstHandle2ConstComputerCode This); + +// --- Get, const +extern_c Handle2ConstCodeRepo +ComputerCodeCodeRepoGetConst(ConstHandle2ConstComputerCode This); + +// +++ Get, non-const +extern_c Handle2CodeRepo +ComputerCodeCodeRepoGet(ConstHandle2ComputerCode This); + +// +++ Set +extern_c void +ComputerCodeCodeRepoSet(ConstHandle2ComputerCode This, ConstHandle2ConstCodeRepo codeRepo); + + +// ----------------------------------------------------------------------------- +// Child: note +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodeNoteHas(ConstHandle2ConstComputerCode This); + +// --- Get, const +extern_c Handle2ConstNote +ComputerCodeNoteGetConst(ConstHandle2ConstComputerCode This); + +// +++ Get, non-const +extern_c Handle2Note +ComputerCodeNoteGet(ConstHandle2ComputerCode This); + +// +++ Set +extern_c void +ComputerCodeNoteSet(ConstHandle2ComputerCode This, ConstHandle2ConstNote note); + + +// ----------------------------------------------------------------------------- +// Child: inputDecks +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodeInputDecksHas(ConstHandle2ConstComputerCode This); + +// --- Get, const +extern_c Handle2ConstInputDecks +ComputerCodeInputDecksGetConst(ConstHandle2ConstComputerCode This); + +// +++ Get, non-const +extern_c Handle2InputDecks +ComputerCodeInputDecksGet(ConstHandle2ComputerCode This); + +// +++ Set +extern_c void +ComputerCodeInputDecksSet(ConstHandle2ComputerCode This, ConstHandle2ConstInputDecks inputDecks); + + +// ----------------------------------------------------------------------------- +// Child: outputDecks +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodeOutputDecksHas(ConstHandle2ConstComputerCode This); + +// --- Get, const +extern_c Handle2ConstOutputDecks +ComputerCodeOutputDecksGetConst(ConstHandle2ConstComputerCode This); + +// +++ Get, non-const +extern_c Handle2OutputDecks +ComputerCodeOutputDecksGet(ConstHandle2ComputerCode This); + +// +++ Set +extern_c void +ComputerCodeOutputDecksSet(ConstHandle2ComputerCode This, ConstHandle2ConstOutputDecks outputDecks); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.cpp new file mode 100644 index 000000000..8adb9ea73 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/ComputerCodes.hpp" +#include "ComputerCodes.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ComputerCodesClass; +using CPP = multigroup::ComputerCodes; + +static const std::string CLASSNAME = "ComputerCodes"; + +namespace extract { + static auto computerCode = [](auto &obj) { return &obj.computerCode; }; +} + +using CPPComputerCode = documentation::ComputerCode; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstComputerCodes +ComputerCodesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ComputerCodes +ComputerCodesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstComputerCodes +ComputerCodesCreateConst( + ConstHandle2ComputerCode *const computerCode, const size_t computerCodeSize +) { + ConstHandle2ComputerCodes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ComputerCodeN = 0; ComputerCodeN < computerCodeSize; ++ComputerCodeN) + ComputerCodesComputerCodeAdd(handle, computerCode[ComputerCodeN]); + return handle; +} + +// Create, general +Handle2ComputerCodes +ComputerCodesCreate( + ConstHandle2ComputerCode *const computerCode, const size_t computerCodeSize +) { + ConstHandle2ComputerCodes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ComputerCodeN = 0; ComputerCodeN < computerCodeSize; ++ComputerCodeN) + ComputerCodesComputerCodeAdd(handle, computerCode[ComputerCodeN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ComputerCodesAssign(ConstHandle2ComputerCodes This, ConstHandle2ConstComputerCodes from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ComputerCodesDelete(ConstHandle2ConstComputerCodes This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ComputerCodesRead(ConstHandle2ComputerCodes This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ComputerCodesWrite(ConstHandle2ConstComputerCodes This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ComputerCodesPrint(ConstHandle2ConstComputerCodes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ComputerCodesPrintXML(ConstHandle2ConstComputerCodes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ComputerCodesPrintJSON(ConstHandle2ConstComputerCodes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: computerCode +// ----------------------------------------------------------------------------- + +// Has +int +ComputerCodesComputerCodeHas(ConstHandle2ConstComputerCodes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ComputerCodeHas", This, extract::computerCode); +} + +// Clear +void +ComputerCodesComputerCodeClear(ConstHandle2ComputerCodes This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ComputerCodeClear", This, extract::computerCode); +} + +// Size +size_t +ComputerCodesComputerCodeSize(ConstHandle2ConstComputerCodes This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ComputerCodeSize", This, extract::computerCode); +} + +// Add +void +ComputerCodesComputerCodeAdd(ConstHandle2ComputerCodes This, ConstHandle2ConstComputerCode computerCode) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ComputerCodeAdd", This, extract::computerCode, computerCode); +} + +// Get, by index \in [0,size), const +Handle2ConstComputerCode +ComputerCodesComputerCodeGetConst(ConstHandle2ConstComputerCodes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ComputerCodeGetConst", This, extract::computerCode, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ComputerCode +ComputerCodesComputerCodeGet(ConstHandle2ComputerCodes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ComputerCodeGet", This, extract::computerCode, index_); +} + +// Set, by index \in [0,size) +void +ComputerCodesComputerCodeSet( + ConstHandle2ComputerCodes This, + const size_t index_, + ConstHandle2ConstComputerCode computerCode +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ComputerCodeSet", This, extract::computerCode, index_, computerCode); +} + +// Has, by label +int +ComputerCodesComputerCodeHasByLabel( + ConstHandle2ConstComputerCodes This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeHasByLabel", + This, extract::computerCode, meta::label, label); +} + +// Get, by label, const +Handle2ConstComputerCode +ComputerCodesComputerCodeGetByLabelConst( + ConstHandle2ConstComputerCodes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeGetByLabelConst", + This, extract::computerCode, meta::label, label); +} + +// Get, by label, non-const +Handle2ComputerCode +ComputerCodesComputerCodeGetByLabel( + ConstHandle2ComputerCodes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeGetByLabel", + This, extract::computerCode, meta::label, label); +} + +// Set, by label +void +ComputerCodesComputerCodeSetByLabel( + ConstHandle2ComputerCodes This, + const XMLName label, + ConstHandle2ConstComputerCode computerCode +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeSetByLabel", + This, extract::computerCode, meta::label, label, computerCode); +} + +// Has, by name +int +ComputerCodesComputerCodeHasByName( + ConstHandle2ConstComputerCodes This, + const UTF8Text name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeHasByName", + This, extract::computerCode, meta::name, name); +} + +// Get, by name, const +Handle2ConstComputerCode +ComputerCodesComputerCodeGetByNameConst( + ConstHandle2ConstComputerCodes This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeGetByNameConst", + This, extract::computerCode, meta::name, name); +} + +// Get, by name, non-const +Handle2ComputerCode +ComputerCodesComputerCodeGetByName( + ConstHandle2ComputerCodes This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeGetByName", + This, extract::computerCode, meta::name, name); +} + +// Set, by name +void +ComputerCodesComputerCodeSetByName( + ConstHandle2ComputerCodes This, + const UTF8Text name, + ConstHandle2ConstComputerCode computerCode +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeSetByName", + This, extract::computerCode, meta::name, name, computerCode); +} + +// Has, by version +int +ComputerCodesComputerCodeHasByVersion( + ConstHandle2ConstComputerCodes This, + const XMLName version +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeHasByVersion", + This, extract::computerCode, meta::version, version); +} + +// Get, by version, const +Handle2ConstComputerCode +ComputerCodesComputerCodeGetByVersionConst( + ConstHandle2ConstComputerCodes This, + const XMLName version +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeGetByVersionConst", + This, extract::computerCode, meta::version, version); +} + +// Get, by version, non-const +Handle2ComputerCode +ComputerCodesComputerCodeGetByVersion( + ConstHandle2ComputerCodes This, + const XMLName version +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeGetByVersion", + This, extract::computerCode, meta::version, version); +} + +// Set, by version +void +ComputerCodesComputerCodeSetByVersion( + ConstHandle2ComputerCodes This, + const XMLName version, + ConstHandle2ConstComputerCode computerCode +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ComputerCodeSetByVersion", + This, extract::computerCode, meta::version, version, computerCode); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.h new file mode 100644 index 000000000..5a5768f38 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ComputerCodes is the basic handle type in this file. Example: +// // Create a default ComputerCodes object: +// ComputerCodes handle = ComputerCodesDefault(); +// Functions involving ComputerCodes are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COMPUTERCODES +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COMPUTERCODES + +#include "GNDStk.h" +#include "v2.0/documentation/ComputerCode.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ComputerCodesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ComputerCodes +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ComputerCodesClass *ComputerCodes; + +// --- Const-aware handles. +typedef const struct ComputerCodesClass *const ConstHandle2ConstComputerCodes; +typedef struct ComputerCodesClass *const ConstHandle2ComputerCodes; +typedef const struct ComputerCodesClass * Handle2ConstComputerCodes; +typedef struct ComputerCodesClass * Handle2ComputerCodes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstComputerCodes +ComputerCodesDefaultConst(); + +// +++ Create, default +extern_c Handle2ComputerCodes +ComputerCodesDefault(); + +// --- Create, general, const +extern_c Handle2ConstComputerCodes +ComputerCodesCreateConst( + ConstHandle2ComputerCode *const computerCode, const size_t computerCodeSize +); + +// +++ Create, general +extern_c Handle2ComputerCodes +ComputerCodesCreate( + ConstHandle2ComputerCode *const computerCode, const size_t computerCodeSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ComputerCodesAssign(ConstHandle2ComputerCodes This, ConstHandle2ConstComputerCodes from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ComputerCodesDelete(ConstHandle2ConstComputerCodes This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ComputerCodesRead(ConstHandle2ComputerCodes This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ComputerCodesWrite(ConstHandle2ConstComputerCodes This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ComputerCodesPrint(ConstHandle2ConstComputerCodes This); + +// +++ Print to standard output, as XML +extern_c int +ComputerCodesPrintXML(ConstHandle2ConstComputerCodes This); + +// +++ Print to standard output, as JSON +extern_c int +ComputerCodesPrintJSON(ConstHandle2ConstComputerCodes This); + + +// ----------------------------------------------------------------------------- +// Child: computerCode +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ComputerCodesComputerCodeHas(ConstHandle2ConstComputerCodes This); + +// +++ Clear +extern_c void +ComputerCodesComputerCodeClear(ConstHandle2ComputerCodes This); + +// +++ Size +extern_c size_t +ComputerCodesComputerCodeSize(ConstHandle2ConstComputerCodes This); + +// +++ Add +extern_c void +ComputerCodesComputerCodeAdd(ConstHandle2ComputerCodes This, ConstHandle2ConstComputerCode computerCode); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstComputerCode +ComputerCodesComputerCodeGetConst(ConstHandle2ConstComputerCodes This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ComputerCode +ComputerCodesComputerCodeGet(ConstHandle2ComputerCodes This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ComputerCodesComputerCodeSet( + ConstHandle2ComputerCodes This, + const size_t index_, + ConstHandle2ConstComputerCode computerCode +); + +// +++ Has, by label +extern_c int +ComputerCodesComputerCodeHasByLabel( + ConstHandle2ConstComputerCodes This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstComputerCode +ComputerCodesComputerCodeGetByLabelConst( + ConstHandle2ConstComputerCodes This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ComputerCode +ComputerCodesComputerCodeGetByLabel( + ConstHandle2ComputerCodes This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ComputerCodesComputerCodeSetByLabel( + ConstHandle2ComputerCodes This, + const XMLName label, + ConstHandle2ConstComputerCode computerCode +); + +// +++ Has, by name +extern_c int +ComputerCodesComputerCodeHasByName( + ConstHandle2ConstComputerCodes This, + const UTF8Text name +); + +// --- Get, by name, const +extern_c Handle2ConstComputerCode +ComputerCodesComputerCodeGetByNameConst( + ConstHandle2ConstComputerCodes This, + const UTF8Text name +); + +// +++ Get, by name, non-const +extern_c Handle2ComputerCode +ComputerCodesComputerCodeGetByName( + ConstHandle2ComputerCodes This, + const UTF8Text name +); + +// +++ Set, by name +extern_c void +ComputerCodesComputerCodeSetByName( + ConstHandle2ComputerCodes This, + const UTF8Text name, + ConstHandle2ConstComputerCode computerCode +); + +// +++ Has, by version +extern_c int +ComputerCodesComputerCodeHasByVersion( + ConstHandle2ConstComputerCodes This, + const XMLName version +); + +// --- Get, by version, const +extern_c Handle2ConstComputerCode +ComputerCodesComputerCodeGetByVersionConst( + ConstHandle2ConstComputerCodes This, + const XMLName version +); + +// +++ Get, by version, non-const +extern_c Handle2ComputerCode +ComputerCodesComputerCodeGetByVersion( + ConstHandle2ComputerCodes This, + const XMLName version +); + +// +++ Set, by version +extern_c void +ComputerCodesComputerCodeSetByVersion( + ConstHandle2ComputerCodes This, + const XMLName version, + ConstHandle2ConstComputerCode computerCode +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.cpp new file mode 100644 index 000000000..700a986f8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.cpp @@ -0,0 +1,357 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Contributor.hpp" +#include "Contributor.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ContributorClass; +using CPP = multigroup::Contributor; + +static const std::string CLASSNAME = "Contributor"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; + static auto contributorType = [](auto &obj) { return &obj.contributorType; }; + static auto orcid = [](auto &obj) { return &obj.orcid; }; + static auto email = [](auto &obj) { return &obj.email; }; + static auto affiliations = [](auto &obj) { return &obj.affiliations; }; + static auto note = [](auto &obj) { return &obj.note; }; +} + +using CPPAffiliations = documentation::Affiliations; +using CPPNote = documentation::Note; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstContributor +ContributorDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Contributor +ContributorDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstContributor +ContributorCreateConst( + const UTF8Text name, + const enums::ContributorType contributorType, + const UTF8Text orcid, + const UTF8Text email, + ConstHandle2ConstAffiliations affiliations, + ConstHandle2ConstNote note +) { + ConstHandle2Contributor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name, + contributorType, + orcid, + email, + detail::tocpp(affiliations), + detail::tocpp(note) + ); + return handle; +} + +// Create, general +Handle2Contributor +ContributorCreate( + const UTF8Text name, + const enums::ContributorType contributorType, + const UTF8Text orcid, + const UTF8Text email, + ConstHandle2ConstAffiliations affiliations, + ConstHandle2ConstNote note +) { + ConstHandle2Contributor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name, + contributorType, + orcid, + email, + detail::tocpp(affiliations), + detail::tocpp(note) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ContributorAssign(ConstHandle2Contributor This, ConstHandle2ConstContributor from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ContributorDelete(ConstHandle2ConstContributor This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ContributorRead(ConstHandle2Contributor This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ContributorWrite(ConstHandle2ConstContributor This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ContributorPrint(ConstHandle2ConstContributor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ContributorPrintXML(ConstHandle2ConstContributor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ContributorPrintJSON(ConstHandle2ConstContributor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +ContributorNameHas(ConstHandle2ConstContributor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +UTF8Text +ContributorNameGet(ConstHandle2ConstContributor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +ContributorNameSet(ConstHandle2Contributor This, const UTF8Text name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: contributorType +// ----------------------------------------------------------------------------- + +// Has +int +ContributorContributorTypeHas(ConstHandle2ConstContributor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ContributorTypeHas", This, extract::contributorType); +} + +// Get +// Returns by value +enums::ContributorType +ContributorContributorTypeGet(ConstHandle2ConstContributor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ContributorTypeGet", This, extract::contributorType); +} + +// Set +void +ContributorContributorTypeSet(ConstHandle2Contributor This, const enums::ContributorType contributorType) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ContributorTypeSet", This, extract::contributorType, contributorType); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: orcid +// ----------------------------------------------------------------------------- + +// Has +int +ContributorOrcidHas(ConstHandle2ConstContributor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OrcidHas", This, extract::orcid); +} + +// Get +// Returns by value +UTF8Text +ContributorOrcidGet(ConstHandle2ConstContributor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OrcidGet", This, extract::orcid); +} + +// Set +void +ContributorOrcidSet(ConstHandle2Contributor This, const UTF8Text orcid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OrcidSet", This, extract::orcid, orcid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: email +// ----------------------------------------------------------------------------- + +// Has +int +ContributorEmailHas(ConstHandle2ConstContributor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EmailHas", This, extract::email); +} + +// Get +// Returns by value +UTF8Text +ContributorEmailGet(ConstHandle2ConstContributor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EmailGet", This, extract::email); +} + +// Set +void +ContributorEmailSet(ConstHandle2Contributor This, const UTF8Text email) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EmailSet", This, extract::email, email); +} + + +// ----------------------------------------------------------------------------- +// Child: affiliations +// ----------------------------------------------------------------------------- + +// Has +int +ContributorAffiliationsHas(ConstHandle2ConstContributor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AffiliationsHas", This, extract::affiliations); +} + +// Get, const +Handle2ConstAffiliations +ContributorAffiliationsGetConst(ConstHandle2ConstContributor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AffiliationsGetConst", This, extract::affiliations); +} + +// Get, non-const +Handle2Affiliations +ContributorAffiliationsGet(ConstHandle2Contributor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AffiliationsGet", This, extract::affiliations); +} + +// Set +void +ContributorAffiliationsSet(ConstHandle2Contributor This, ConstHandle2ConstAffiliations affiliations) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AffiliationsSet", This, extract::affiliations, affiliations); +} + + +// ----------------------------------------------------------------------------- +// Child: note +// ----------------------------------------------------------------------------- + +// Has +int +ContributorNoteHas(ConstHandle2ConstContributor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NoteHas", This, extract::note); +} + +// Get, const +Handle2ConstNote +ContributorNoteGetConst(ConstHandle2ConstContributor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NoteGetConst", This, extract::note); +} + +// Get, non-const +Handle2Note +ContributorNoteGet(ConstHandle2Contributor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NoteGet", This, extract::note); +} + +// Set +void +ContributorNoteSet(ConstHandle2Contributor This, ConstHandle2ConstNote note) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NoteSet", This, extract::note, note); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.h new file mode 100644 index 000000000..1695f3f20 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.h @@ -0,0 +1,263 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Contributor is the basic handle type in this file. Example: +// // Create a default Contributor object: +// Contributor handle = ContributorDefault(); +// Functions involving Contributor are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_CONTRIBUTOR +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_CONTRIBUTOR + +#include "GNDStk.h" +#include "v2.0/documentation/Affiliations.h" +#include "v2.0/documentation/Note.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ContributorClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Contributor +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ContributorClass *Contributor; + +// --- Const-aware handles. +typedef const struct ContributorClass *const ConstHandle2ConstContributor; +typedef struct ContributorClass *const ConstHandle2Contributor; +typedef const struct ContributorClass * Handle2ConstContributor; +typedef struct ContributorClass * Handle2Contributor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstContributor +ContributorDefaultConst(); + +// +++ Create, default +extern_c Handle2Contributor +ContributorDefault(); + +// --- Create, general, const +extern_c Handle2ConstContributor +ContributorCreateConst( + const UTF8Text name, + const enums::ContributorType contributorType, + const UTF8Text orcid, + const UTF8Text email, + ConstHandle2ConstAffiliations affiliations, + ConstHandle2ConstNote note +); + +// +++ Create, general +extern_c Handle2Contributor +ContributorCreate( + const UTF8Text name, + const enums::ContributorType contributorType, + const UTF8Text orcid, + const UTF8Text email, + ConstHandle2ConstAffiliations affiliations, + ConstHandle2ConstNote note +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ContributorAssign(ConstHandle2Contributor This, ConstHandle2ConstContributor from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ContributorDelete(ConstHandle2ConstContributor This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ContributorRead(ConstHandle2Contributor This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ContributorWrite(ConstHandle2ConstContributor This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ContributorPrint(ConstHandle2ConstContributor This); + +// +++ Print to standard output, as XML +extern_c int +ContributorPrintXML(ConstHandle2ConstContributor This); + +// +++ Print to standard output, as JSON +extern_c int +ContributorPrintJSON(ConstHandle2ConstContributor This); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ContributorNameHas(ConstHandle2ConstContributor This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ContributorNameGet(ConstHandle2ConstContributor This); + +// +++ Set +extern_c void +ContributorNameSet(ConstHandle2Contributor This, const UTF8Text name); + + +// ----------------------------------------------------------------------------- +// Metadatum: contributorType +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ContributorContributorTypeHas(ConstHandle2ConstContributor This); + +// +++ Get +// +++ Returns by value +extern_c enums::ContributorType +ContributorContributorTypeGet(ConstHandle2ConstContributor This); + +// +++ Set +extern_c void +ContributorContributorTypeSet(ConstHandle2Contributor This, const enums::ContributorType contributorType); + + +// ----------------------------------------------------------------------------- +// Metadatum: orcid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ContributorOrcidHas(ConstHandle2ConstContributor This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ContributorOrcidGet(ConstHandle2ConstContributor This); + +// +++ Set +extern_c void +ContributorOrcidSet(ConstHandle2Contributor This, const UTF8Text orcid); + + +// ----------------------------------------------------------------------------- +// Metadatum: email +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ContributorEmailHas(ConstHandle2ConstContributor This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ContributorEmailGet(ConstHandle2ConstContributor This); + +// +++ Set +extern_c void +ContributorEmailSet(ConstHandle2Contributor This, const UTF8Text email); + + +// ----------------------------------------------------------------------------- +// Child: affiliations +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ContributorAffiliationsHas(ConstHandle2ConstContributor This); + +// --- Get, const +extern_c Handle2ConstAffiliations +ContributorAffiliationsGetConst(ConstHandle2ConstContributor This); + +// +++ Get, non-const +extern_c Handle2Affiliations +ContributorAffiliationsGet(ConstHandle2Contributor This); + +// +++ Set +extern_c void +ContributorAffiliationsSet(ConstHandle2Contributor This, ConstHandle2ConstAffiliations affiliations); + + +// ----------------------------------------------------------------------------- +// Child: note +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ContributorNoteHas(ConstHandle2ConstContributor This); + +// --- Get, const +extern_c Handle2ConstNote +ContributorNoteGetConst(ConstHandle2ConstContributor This); + +// +++ Get, non-const +extern_c Handle2Note +ContributorNoteGet(ConstHandle2Contributor This); + +// +++ Set +extern_c void +ContributorNoteSet(ConstHandle2Contributor This, ConstHandle2ConstNote note); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.cpp new file mode 100644 index 000000000..16d15a3d9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Contributors.hpp" +#include "Contributors.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ContributorsClass; +using CPP = multigroup::Contributors; + +static const std::string CLASSNAME = "Contributors"; + +namespace extract { + static auto contributor = [](auto &obj) { return &obj.contributor; }; +} + +using CPPAuthor = documentation::Author; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstContributors +ContributorsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Contributors +ContributorsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstContributors +ContributorsCreateConst( + ConstHandle2Author *const contributor, const size_t contributorSize +) { + ConstHandle2Contributors handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t AuthorN = 0; AuthorN < contributorSize; ++AuthorN) + ContributorsAuthorAdd(handle, contributor[AuthorN]); + return handle; +} + +// Create, general +Handle2Contributors +ContributorsCreate( + ConstHandle2Author *const contributor, const size_t contributorSize +) { + ConstHandle2Contributors handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t AuthorN = 0; AuthorN < contributorSize; ++AuthorN) + ContributorsAuthorAdd(handle, contributor[AuthorN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ContributorsAssign(ConstHandle2Contributors This, ConstHandle2ConstContributors from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ContributorsDelete(ConstHandle2ConstContributors This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ContributorsRead(ConstHandle2Contributors This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ContributorsWrite(ConstHandle2ConstContributors This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ContributorsPrint(ConstHandle2ConstContributors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ContributorsPrintXML(ConstHandle2ConstContributors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ContributorsPrintJSON(ConstHandle2ConstContributors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: contributor +// ----------------------------------------------------------------------------- + +// Has +int +ContributorsAuthorHas(ConstHandle2ConstContributors This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AuthorHas", This, extract::contributor); +} + +// Clear +void +ContributorsAuthorClear(ConstHandle2Contributors This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AuthorClear", This, extract::contributor); +} + +// Size +size_t +ContributorsAuthorSize(ConstHandle2ConstContributors This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AuthorSize", This, extract::contributor); +} + +// Add +void +ContributorsAuthorAdd(ConstHandle2Contributors This, ConstHandle2ConstAuthor contributor) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AuthorAdd", This, extract::contributor, contributor); +} + +// Get, by index \in [0,size), const +Handle2ConstAuthor +ContributorsAuthorGetConst(ConstHandle2ConstContributors This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AuthorGetConst", This, extract::contributor, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Author +ContributorsAuthorGet(ConstHandle2Contributors This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AuthorGet", This, extract::contributor, index_); +} + +// Set, by index \in [0,size) +void +ContributorsAuthorSet( + ConstHandle2Contributors This, + const size_t index_, + ConstHandle2ConstAuthor contributor +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AuthorSet", This, extract::contributor, index_, contributor); +} + +// Has, by name +int +ContributorsAuthorHasByName( + ConstHandle2ConstContributors This, + const UTF8Text name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AuthorHasByName", + This, extract::contributor, meta::name, name); +} + +// Get, by name, const +Handle2ConstAuthor +ContributorsAuthorGetByNameConst( + ConstHandle2ConstContributors This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByNameConst", + This, extract::contributor, meta::name, name); +} + +// Get, by name, non-const +Handle2Author +ContributorsAuthorGetByName( + ConstHandle2Contributors This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByName", + This, extract::contributor, meta::name, name); +} + +// Set, by name +void +ContributorsAuthorSetByName( + ConstHandle2Contributors This, + const UTF8Text name, + ConstHandle2ConstAuthor contributor +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AuthorSetByName", + This, extract::contributor, meta::name, name, contributor); +} + +// Has, by orcid +int +ContributorsAuthorHasByOrcid( + ConstHandle2ConstContributors This, + const UTF8Text orcid +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AuthorHasByOrcid", + This, extract::contributor, meta::orcid, orcid); +} + +// Get, by orcid, const +Handle2ConstAuthor +ContributorsAuthorGetByOrcidConst( + ConstHandle2ConstContributors This, + const UTF8Text orcid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByOrcidConst", + This, extract::contributor, meta::orcid, orcid); +} + +// Get, by orcid, non-const +Handle2Author +ContributorsAuthorGetByOrcid( + ConstHandle2Contributors This, + const UTF8Text orcid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByOrcid", + This, extract::contributor, meta::orcid, orcid); +} + +// Set, by orcid +void +ContributorsAuthorSetByOrcid( + ConstHandle2Contributors This, + const UTF8Text orcid, + ConstHandle2ConstAuthor contributor +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AuthorSetByOrcid", + This, extract::contributor, meta::orcid, orcid, contributor); +} + +// Has, by email +int +ContributorsAuthorHasByEmail( + ConstHandle2ConstContributors This, + const UTF8Text email +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AuthorHasByEmail", + This, extract::contributor, meta::email, email); +} + +// Get, by email, const +Handle2ConstAuthor +ContributorsAuthorGetByEmailConst( + ConstHandle2ConstContributors This, + const UTF8Text email +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByEmailConst", + This, extract::contributor, meta::email, email); +} + +// Get, by email, non-const +Handle2Author +ContributorsAuthorGetByEmail( + ConstHandle2Contributors This, + const UTF8Text email +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByEmail", + This, extract::contributor, meta::email, email); +} + +// Set, by email +void +ContributorsAuthorSetByEmail( + ConstHandle2Contributors This, + const UTF8Text email, + ConstHandle2ConstAuthor contributor +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AuthorSetByEmail", + This, extract::contributor, meta::email, email, contributor); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.h new file mode 100644 index 000000000..567f20650 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Contributors is the basic handle type in this file. Example: +// // Create a default Contributors object: +// Contributors handle = ContributorsDefault(); +// Functions involving Contributors are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_CONTRIBUTORS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_CONTRIBUTORS + +#include "GNDStk.h" +#include "v2.0/documentation/Author.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ContributorsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Contributors +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ContributorsClass *Contributors; + +// --- Const-aware handles. +typedef const struct ContributorsClass *const ConstHandle2ConstContributors; +typedef struct ContributorsClass *const ConstHandle2Contributors; +typedef const struct ContributorsClass * Handle2ConstContributors; +typedef struct ContributorsClass * Handle2Contributors; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstContributors +ContributorsDefaultConst(); + +// +++ Create, default +extern_c Handle2Contributors +ContributorsDefault(); + +// --- Create, general, const +extern_c Handle2ConstContributors +ContributorsCreateConst( + ConstHandle2Author *const contributor, const size_t contributorSize +); + +// +++ Create, general +extern_c Handle2Contributors +ContributorsCreate( + ConstHandle2Author *const contributor, const size_t contributorSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ContributorsAssign(ConstHandle2Contributors This, ConstHandle2ConstContributors from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ContributorsDelete(ConstHandle2ConstContributors This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ContributorsRead(ConstHandle2Contributors This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ContributorsWrite(ConstHandle2ConstContributors This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ContributorsPrint(ConstHandle2ConstContributors This); + +// +++ Print to standard output, as XML +extern_c int +ContributorsPrintXML(ConstHandle2ConstContributors This); + +// +++ Print to standard output, as JSON +extern_c int +ContributorsPrintJSON(ConstHandle2ConstContributors This); + + +// ----------------------------------------------------------------------------- +// Child: contributor +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ContributorsAuthorHas(ConstHandle2ConstContributors This); + +// +++ Clear +extern_c void +ContributorsAuthorClear(ConstHandle2Contributors This); + +// +++ Size +extern_c size_t +ContributorsAuthorSize(ConstHandle2ConstContributors This); + +// +++ Add +extern_c void +ContributorsAuthorAdd(ConstHandle2Contributors This, ConstHandle2ConstAuthor contributor); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAuthor +ContributorsAuthorGetConst(ConstHandle2ConstContributors This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Author +ContributorsAuthorGet(ConstHandle2Contributors This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ContributorsAuthorSet( + ConstHandle2Contributors This, + const size_t index_, + ConstHandle2ConstAuthor contributor +); + +// +++ Has, by name +extern_c int +ContributorsAuthorHasByName( + ConstHandle2ConstContributors This, + const UTF8Text name +); + +// --- Get, by name, const +extern_c Handle2ConstAuthor +ContributorsAuthorGetByNameConst( + ConstHandle2ConstContributors This, + const UTF8Text name +); + +// +++ Get, by name, non-const +extern_c Handle2Author +ContributorsAuthorGetByName( + ConstHandle2Contributors This, + const UTF8Text name +); + +// +++ Set, by name +extern_c void +ContributorsAuthorSetByName( + ConstHandle2Contributors This, + const UTF8Text name, + ConstHandle2ConstAuthor contributor +); + +// +++ Has, by orcid +extern_c int +ContributorsAuthorHasByOrcid( + ConstHandle2ConstContributors This, + const UTF8Text orcid +); + +// --- Get, by orcid, const +extern_c Handle2ConstAuthor +ContributorsAuthorGetByOrcidConst( + ConstHandle2ConstContributors This, + const UTF8Text orcid +); + +// +++ Get, by orcid, non-const +extern_c Handle2Author +ContributorsAuthorGetByOrcid( + ConstHandle2Contributors This, + const UTF8Text orcid +); + +// +++ Set, by orcid +extern_c void +ContributorsAuthorSetByOrcid( + ConstHandle2Contributors This, + const UTF8Text orcid, + ConstHandle2ConstAuthor contributor +); + +// +++ Has, by email +extern_c int +ContributorsAuthorHasByEmail( + ConstHandle2ConstContributors This, + const UTF8Text email +); + +// --- Get, by email, const +extern_c Handle2ConstAuthor +ContributorsAuthorGetByEmailConst( + ConstHandle2ConstContributors This, + const UTF8Text email +); + +// +++ Get, by email, non-const +extern_c Handle2Author +ContributorsAuthorGetByEmail( + ConstHandle2Contributors This, + const UTF8Text email +); + +// +++ Set, by email +extern_c void +ContributorsAuthorSetByEmail( + ConstHandle2Contributors This, + const UTF8Text email, + ConstHandle2ConstAuthor contributor +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.cpp new file mode 100644 index 000000000..7f646adc6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.cpp @@ -0,0 +1,523 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Copyright.hpp" +#include "Copyright.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CopyrightClass; +using CPP = multigroup::Copyright; + +static const std::string CLASSNAME = "Copyright"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCopyright +CopyrightDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Copyright +CopyrightDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCopyright +CopyrightCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const UTF8Text href +) { + ConstHandle2Copyright handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label, + href + ); + return handle; +} + +// Create, general +Handle2Copyright +CopyrightCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const UTF8Text href +) { + ConstHandle2Copyright handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CopyrightAssign(ConstHandle2Copyright This, ConstHandle2ConstCopyright from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CopyrightDelete(ConstHandle2ConstCopyright This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CopyrightRead(ConstHandle2Copyright This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CopyrightWrite(ConstHandle2ConstCopyright This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CopyrightPrint(ConstHandle2ConstCopyright This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CopyrightPrintXML(ConstHandle2ConstCopyright This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CopyrightPrintJSON(ConstHandle2ConstCopyright This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +CopyrightIntsClear(ConstHandle2Copyright This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +CopyrightIntsSize(ConstHandle2ConstCopyright This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +CopyrightIntsGet(ConstHandle2ConstCopyright This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CopyrightIntsSet(ConstHandle2Copyright This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +CopyrightIntsGetArrayConst(ConstHandle2ConstCopyright This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +CopyrightIntsGetArray(ConstHandle2Copyright This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +CopyrightIntsSetArray(ConstHandle2Copyright This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +CopyrightUnsignedsClear(ConstHandle2Copyright This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +CopyrightUnsignedsSize(ConstHandle2ConstCopyright This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +CopyrightUnsignedsGet(ConstHandle2ConstCopyright This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CopyrightUnsignedsSet(ConstHandle2Copyright This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +CopyrightUnsignedsGetArrayConst(ConstHandle2ConstCopyright This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +CopyrightUnsignedsGetArray(ConstHandle2Copyright This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +CopyrightUnsignedsSetArray(ConstHandle2Copyright This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +CopyrightFloatsClear(ConstHandle2Copyright This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +CopyrightFloatsSize(ConstHandle2ConstCopyright This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +CopyrightFloatsGet(ConstHandle2ConstCopyright This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CopyrightFloatsSet(ConstHandle2Copyright This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +CopyrightFloatsGetArrayConst(ConstHandle2ConstCopyright This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +CopyrightFloatsGetArray(ConstHandle2Copyright This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +CopyrightFloatsSetArray(ConstHandle2Copyright This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +CopyrightDoublesClear(ConstHandle2Copyright This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +CopyrightDoublesSize(ConstHandle2ConstCopyright This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +CopyrightDoublesGet(ConstHandle2ConstCopyright This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CopyrightDoublesSet(ConstHandle2Copyright This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +CopyrightDoublesGetArrayConst(ConstHandle2ConstCopyright This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +CopyrightDoublesGetArray(ConstHandle2Copyright This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +CopyrightDoublesSetArray(ConstHandle2Copyright This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +CopyrightEncodingHas(ConstHandle2ConstCopyright This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +CopyrightEncodingGet(ConstHandle2ConstCopyright This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +CopyrightEncodingSet(ConstHandle2Copyright This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +CopyrightMarkupHas(ConstHandle2ConstCopyright This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +CopyrightMarkupGet(ConstHandle2ConstCopyright This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +CopyrightMarkupSet(ConstHandle2Copyright This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CopyrightLabelHas(ConstHandle2ConstCopyright This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CopyrightLabelGet(ConstHandle2ConstCopyright This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CopyrightLabelSet(ConstHandle2Copyright This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +CopyrightHrefHas(ConstHandle2ConstCopyright This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +UTF8Text +CopyrightHrefGet(ConstHandle2ConstCopyright This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +CopyrightHrefSet(ConstHandle2Copyright This, const UTF8Text href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.h new file mode 100644 index 000000000..64da2290a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.h @@ -0,0 +1,356 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Copyright is the basic handle type in this file. Example: +// // Create a default Copyright object: +// Copyright handle = CopyrightDefault(); +// Functions involving Copyright are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COPYRIGHT +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COPYRIGHT + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CopyrightClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Copyright +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CopyrightClass *Copyright; + +// --- Const-aware handles. +typedef const struct CopyrightClass *const ConstHandle2ConstCopyright; +typedef struct CopyrightClass *const ConstHandle2Copyright; +typedef const struct CopyrightClass * Handle2ConstCopyright; +typedef struct CopyrightClass * Handle2Copyright; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCopyright +CopyrightDefaultConst(); + +// +++ Create, default +extern_c Handle2Copyright +CopyrightDefault(); + +// --- Create, general, const +extern_c Handle2ConstCopyright +CopyrightCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const UTF8Text href +); + +// +++ Create, general +extern_c Handle2Copyright +CopyrightCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const UTF8Text href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CopyrightAssign(ConstHandle2Copyright This, ConstHandle2ConstCopyright from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CopyrightDelete(ConstHandle2ConstCopyright This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CopyrightRead(ConstHandle2Copyright This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CopyrightWrite(ConstHandle2ConstCopyright This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CopyrightPrint(ConstHandle2ConstCopyright This); + +// +++ Print to standard output, as XML +extern_c int +CopyrightPrintXML(ConstHandle2ConstCopyright This); + +// +++ Print to standard output, as JSON +extern_c int +CopyrightPrintJSON(ConstHandle2ConstCopyright This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +CopyrightIntsClear(ConstHandle2Copyright This); + +// +++ Get size +extern_c size_t +CopyrightIntsSize(ConstHandle2ConstCopyright This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +CopyrightIntsGet(ConstHandle2ConstCopyright This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CopyrightIntsSet(ConstHandle2Copyright This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +CopyrightIntsGetArrayConst(ConstHandle2ConstCopyright This); + +// +++ Get pointer to existing values, non-const +extern_c int * +CopyrightIntsGetArray(ConstHandle2Copyright This); + +// +++ Set completely new values and size +extern_c void +CopyrightIntsSetArray(ConstHandle2Copyright This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +CopyrightUnsignedsClear(ConstHandle2Copyright This); + +// +++ Get size +extern_c size_t +CopyrightUnsignedsSize(ConstHandle2ConstCopyright This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +CopyrightUnsignedsGet(ConstHandle2ConstCopyright This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CopyrightUnsignedsSet(ConstHandle2Copyright This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +CopyrightUnsignedsGetArrayConst(ConstHandle2ConstCopyright This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +CopyrightUnsignedsGetArray(ConstHandle2Copyright This); + +// +++ Set completely new values and size +extern_c void +CopyrightUnsignedsSetArray(ConstHandle2Copyright This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +CopyrightFloatsClear(ConstHandle2Copyright This); + +// +++ Get size +extern_c size_t +CopyrightFloatsSize(ConstHandle2ConstCopyright This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +CopyrightFloatsGet(ConstHandle2ConstCopyright This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CopyrightFloatsSet(ConstHandle2Copyright This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +CopyrightFloatsGetArrayConst(ConstHandle2ConstCopyright This); + +// +++ Get pointer to existing values, non-const +extern_c float * +CopyrightFloatsGetArray(ConstHandle2Copyright This); + +// +++ Set completely new values and size +extern_c void +CopyrightFloatsSetArray(ConstHandle2Copyright This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +CopyrightDoublesClear(ConstHandle2Copyright This); + +// +++ Get size +extern_c size_t +CopyrightDoublesSize(ConstHandle2ConstCopyright This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +CopyrightDoublesGet(ConstHandle2ConstCopyright This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CopyrightDoublesSet(ConstHandle2Copyright This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +CopyrightDoublesGetArrayConst(ConstHandle2ConstCopyright This); + +// +++ Get pointer to existing values, non-const +extern_c double * +CopyrightDoublesGetArray(ConstHandle2Copyright This); + +// +++ Set completely new values and size +extern_c void +CopyrightDoublesSetArray(ConstHandle2Copyright This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CopyrightEncodingHas(ConstHandle2ConstCopyright This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CopyrightEncodingGet(ConstHandle2ConstCopyright This); + +// +++ Set +extern_c void +CopyrightEncodingSet(ConstHandle2Copyright This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CopyrightMarkupHas(ConstHandle2ConstCopyright This); + +// +++ Get +// +++ Returns by value +extern_c const char * +CopyrightMarkupGet(ConstHandle2ConstCopyright This); + +// +++ Set +extern_c void +CopyrightMarkupSet(ConstHandle2Copyright This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CopyrightLabelHas(ConstHandle2ConstCopyright This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CopyrightLabelGet(ConstHandle2ConstCopyright This); + +// +++ Set +extern_c void +CopyrightLabelSet(ConstHandle2Copyright This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CopyrightHrefHas(ConstHandle2ConstCopyright This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +CopyrightHrefGet(ConstHandle2ConstCopyright This); + +// +++ Set +extern_c void +CopyrightHrefSet(ConstHandle2Copyright This, const UTF8Text href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.cpp new file mode 100644 index 000000000..51ee6eb80 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/CorrectionScript.hpp" +#include "CorrectionScript.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CorrectionScriptClass; +using CPP = multigroup::CorrectionScript; + +static const std::string CLASSNAME = "CorrectionScript"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCorrectionScript +CorrectionScriptDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CorrectionScript +CorrectionScriptDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCorrectionScript +CorrectionScriptCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2CorrectionScript handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2CorrectionScript +CorrectionScriptCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2CorrectionScript handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CorrectionScriptAssign(ConstHandle2CorrectionScript This, ConstHandle2ConstCorrectionScript from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CorrectionScriptDelete(ConstHandle2ConstCorrectionScript This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CorrectionScriptRead(ConstHandle2CorrectionScript This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CorrectionScriptWrite(ConstHandle2ConstCorrectionScript This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CorrectionScriptPrint(ConstHandle2ConstCorrectionScript This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CorrectionScriptPrintXML(ConstHandle2ConstCorrectionScript This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CorrectionScriptPrintJSON(ConstHandle2ConstCorrectionScript This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +CorrectionScriptIntsClear(ConstHandle2CorrectionScript This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +CorrectionScriptIntsSize(ConstHandle2ConstCorrectionScript This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +CorrectionScriptIntsGet(ConstHandle2ConstCorrectionScript This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CorrectionScriptIntsSet(ConstHandle2CorrectionScript This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +CorrectionScriptIntsGetArrayConst(ConstHandle2ConstCorrectionScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +CorrectionScriptIntsGetArray(ConstHandle2CorrectionScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +CorrectionScriptIntsSetArray(ConstHandle2CorrectionScript This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +CorrectionScriptUnsignedsClear(ConstHandle2CorrectionScript This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +CorrectionScriptUnsignedsSize(ConstHandle2ConstCorrectionScript This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +CorrectionScriptUnsignedsGet(ConstHandle2ConstCorrectionScript This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CorrectionScriptUnsignedsSet(ConstHandle2CorrectionScript This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +CorrectionScriptUnsignedsGetArrayConst(ConstHandle2ConstCorrectionScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +CorrectionScriptUnsignedsGetArray(ConstHandle2CorrectionScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +CorrectionScriptUnsignedsSetArray(ConstHandle2CorrectionScript This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +CorrectionScriptFloatsClear(ConstHandle2CorrectionScript This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +CorrectionScriptFloatsSize(ConstHandle2ConstCorrectionScript This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +CorrectionScriptFloatsGet(ConstHandle2ConstCorrectionScript This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CorrectionScriptFloatsSet(ConstHandle2CorrectionScript This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +CorrectionScriptFloatsGetArrayConst(ConstHandle2ConstCorrectionScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +CorrectionScriptFloatsGetArray(ConstHandle2CorrectionScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +CorrectionScriptFloatsSetArray(ConstHandle2CorrectionScript This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +CorrectionScriptDoublesClear(ConstHandle2CorrectionScript This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +CorrectionScriptDoublesSize(ConstHandle2ConstCorrectionScript This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +CorrectionScriptDoublesGet(ConstHandle2ConstCorrectionScript This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CorrectionScriptDoublesSet(ConstHandle2CorrectionScript This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +CorrectionScriptDoublesGetArrayConst(ConstHandle2ConstCorrectionScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +CorrectionScriptDoublesGetArray(ConstHandle2CorrectionScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +CorrectionScriptDoublesSetArray(ConstHandle2CorrectionScript This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +CorrectionScriptEncodingHas(ConstHandle2ConstCorrectionScript This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +CorrectionScriptEncodingGet(ConstHandle2ConstCorrectionScript This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +CorrectionScriptEncodingSet(ConstHandle2CorrectionScript This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +CorrectionScriptMarkupHas(ConstHandle2ConstCorrectionScript This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +CorrectionScriptMarkupGet(ConstHandle2ConstCorrectionScript This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +CorrectionScriptMarkupSet(ConstHandle2CorrectionScript This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CorrectionScriptLabelHas(ConstHandle2ConstCorrectionScript This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CorrectionScriptLabelGet(ConstHandle2ConstCorrectionScript This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CorrectionScriptLabelSet(ConstHandle2CorrectionScript This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.h new file mode 100644 index 000000000..76d4faf75 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CorrectionScript is the basic handle type in this file. Example: +// // Create a default CorrectionScript object: +// CorrectionScript handle = CorrectionScriptDefault(); +// Functions involving CorrectionScript are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_CORRECTIONSCRIPT +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_CORRECTIONSCRIPT + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CorrectionScriptClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CorrectionScript +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CorrectionScriptClass *CorrectionScript; + +// --- Const-aware handles. +typedef const struct CorrectionScriptClass *const ConstHandle2ConstCorrectionScript; +typedef struct CorrectionScriptClass *const ConstHandle2CorrectionScript; +typedef const struct CorrectionScriptClass * Handle2ConstCorrectionScript; +typedef struct CorrectionScriptClass * Handle2CorrectionScript; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCorrectionScript +CorrectionScriptDefaultConst(); + +// +++ Create, default +extern_c Handle2CorrectionScript +CorrectionScriptDefault(); + +// --- Create, general, const +extern_c Handle2ConstCorrectionScript +CorrectionScriptCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2CorrectionScript +CorrectionScriptCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CorrectionScriptAssign(ConstHandle2CorrectionScript This, ConstHandle2ConstCorrectionScript from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CorrectionScriptDelete(ConstHandle2ConstCorrectionScript This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CorrectionScriptRead(ConstHandle2CorrectionScript This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CorrectionScriptWrite(ConstHandle2ConstCorrectionScript This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CorrectionScriptPrint(ConstHandle2ConstCorrectionScript This); + +// +++ Print to standard output, as XML +extern_c int +CorrectionScriptPrintXML(ConstHandle2ConstCorrectionScript This); + +// +++ Print to standard output, as JSON +extern_c int +CorrectionScriptPrintJSON(ConstHandle2ConstCorrectionScript This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +CorrectionScriptIntsClear(ConstHandle2CorrectionScript This); + +// +++ Get size +extern_c size_t +CorrectionScriptIntsSize(ConstHandle2ConstCorrectionScript This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +CorrectionScriptIntsGet(ConstHandle2ConstCorrectionScript This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CorrectionScriptIntsSet(ConstHandle2CorrectionScript This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +CorrectionScriptIntsGetArrayConst(ConstHandle2ConstCorrectionScript This); + +// +++ Get pointer to existing values, non-const +extern_c int * +CorrectionScriptIntsGetArray(ConstHandle2CorrectionScript This); + +// +++ Set completely new values and size +extern_c void +CorrectionScriptIntsSetArray(ConstHandle2CorrectionScript This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +CorrectionScriptUnsignedsClear(ConstHandle2CorrectionScript This); + +// +++ Get size +extern_c size_t +CorrectionScriptUnsignedsSize(ConstHandle2ConstCorrectionScript This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +CorrectionScriptUnsignedsGet(ConstHandle2ConstCorrectionScript This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CorrectionScriptUnsignedsSet(ConstHandle2CorrectionScript This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +CorrectionScriptUnsignedsGetArrayConst(ConstHandle2ConstCorrectionScript This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +CorrectionScriptUnsignedsGetArray(ConstHandle2CorrectionScript This); + +// +++ Set completely new values and size +extern_c void +CorrectionScriptUnsignedsSetArray(ConstHandle2CorrectionScript This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +CorrectionScriptFloatsClear(ConstHandle2CorrectionScript This); + +// +++ Get size +extern_c size_t +CorrectionScriptFloatsSize(ConstHandle2ConstCorrectionScript This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +CorrectionScriptFloatsGet(ConstHandle2ConstCorrectionScript This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CorrectionScriptFloatsSet(ConstHandle2CorrectionScript This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +CorrectionScriptFloatsGetArrayConst(ConstHandle2ConstCorrectionScript This); + +// +++ Get pointer to existing values, non-const +extern_c float * +CorrectionScriptFloatsGetArray(ConstHandle2CorrectionScript This); + +// +++ Set completely new values and size +extern_c void +CorrectionScriptFloatsSetArray(ConstHandle2CorrectionScript This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +CorrectionScriptDoublesClear(ConstHandle2CorrectionScript This); + +// +++ Get size +extern_c size_t +CorrectionScriptDoublesSize(ConstHandle2ConstCorrectionScript This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +CorrectionScriptDoublesGet(ConstHandle2ConstCorrectionScript This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CorrectionScriptDoublesSet(ConstHandle2CorrectionScript This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +CorrectionScriptDoublesGetArrayConst(ConstHandle2ConstCorrectionScript This); + +// +++ Get pointer to existing values, non-const +extern_c double * +CorrectionScriptDoublesGetArray(ConstHandle2CorrectionScript This); + +// +++ Set completely new values and size +extern_c void +CorrectionScriptDoublesSetArray(ConstHandle2CorrectionScript This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CorrectionScriptEncodingHas(ConstHandle2ConstCorrectionScript This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CorrectionScriptEncodingGet(ConstHandle2ConstCorrectionScript This); + +// +++ Set +extern_c void +CorrectionScriptEncodingSet(ConstHandle2CorrectionScript This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CorrectionScriptMarkupHas(ConstHandle2ConstCorrectionScript This); + +// +++ Get +// +++ Returns by value +extern_c const char * +CorrectionScriptMarkupGet(ConstHandle2ConstCorrectionScript This); + +// +++ Set +extern_c void +CorrectionScriptMarkupSet(ConstHandle2CorrectionScript This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CorrectionScriptLabelHas(ConstHandle2ConstCorrectionScript This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CorrectionScriptLabelGet(ConstHandle2ConstCorrectionScript This); + +// +++ Set +extern_c void +CorrectionScriptLabelSet(ConstHandle2CorrectionScript This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.cpp new file mode 100644 index 000000000..ede25c944 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/CovarianceScript.hpp" +#include "CovarianceScript.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CovarianceScriptClass; +using CPP = multigroup::CovarianceScript; + +static const std::string CLASSNAME = "CovarianceScript"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCovarianceScript +CovarianceScriptDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CovarianceScript +CovarianceScriptDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCovarianceScript +CovarianceScriptCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2CovarianceScript handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2CovarianceScript +CovarianceScriptCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2CovarianceScript handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CovarianceScriptAssign(ConstHandle2CovarianceScript This, ConstHandle2ConstCovarianceScript from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CovarianceScriptDelete(ConstHandle2ConstCovarianceScript This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CovarianceScriptRead(ConstHandle2CovarianceScript This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CovarianceScriptWrite(ConstHandle2ConstCovarianceScript This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CovarianceScriptPrint(ConstHandle2ConstCovarianceScript This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CovarianceScriptPrintXML(ConstHandle2ConstCovarianceScript This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CovarianceScriptPrintJSON(ConstHandle2ConstCovarianceScript This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +CovarianceScriptIntsClear(ConstHandle2CovarianceScript This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +CovarianceScriptIntsSize(ConstHandle2ConstCovarianceScript This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +CovarianceScriptIntsGet(ConstHandle2ConstCovarianceScript This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CovarianceScriptIntsSet(ConstHandle2CovarianceScript This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +CovarianceScriptIntsGetArrayConst(ConstHandle2ConstCovarianceScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +CovarianceScriptIntsGetArray(ConstHandle2CovarianceScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +CovarianceScriptIntsSetArray(ConstHandle2CovarianceScript This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +CovarianceScriptUnsignedsClear(ConstHandle2CovarianceScript This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +CovarianceScriptUnsignedsSize(ConstHandle2ConstCovarianceScript This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +CovarianceScriptUnsignedsGet(ConstHandle2ConstCovarianceScript This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CovarianceScriptUnsignedsSet(ConstHandle2CovarianceScript This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +CovarianceScriptUnsignedsGetArrayConst(ConstHandle2ConstCovarianceScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +CovarianceScriptUnsignedsGetArray(ConstHandle2CovarianceScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +CovarianceScriptUnsignedsSetArray(ConstHandle2CovarianceScript This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +CovarianceScriptFloatsClear(ConstHandle2CovarianceScript This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +CovarianceScriptFloatsSize(ConstHandle2ConstCovarianceScript This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +CovarianceScriptFloatsGet(ConstHandle2ConstCovarianceScript This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CovarianceScriptFloatsSet(ConstHandle2CovarianceScript This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +CovarianceScriptFloatsGetArrayConst(ConstHandle2ConstCovarianceScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +CovarianceScriptFloatsGetArray(ConstHandle2CovarianceScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +CovarianceScriptFloatsSetArray(ConstHandle2CovarianceScript This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +CovarianceScriptDoublesClear(ConstHandle2CovarianceScript This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +CovarianceScriptDoublesSize(ConstHandle2ConstCovarianceScript This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +CovarianceScriptDoublesGet(ConstHandle2ConstCovarianceScript This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +CovarianceScriptDoublesSet(ConstHandle2CovarianceScript This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +CovarianceScriptDoublesGetArrayConst(ConstHandle2ConstCovarianceScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +CovarianceScriptDoublesGetArray(ConstHandle2CovarianceScript This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +CovarianceScriptDoublesSetArray(ConstHandle2CovarianceScript This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceScriptEncodingHas(ConstHandle2ConstCovarianceScript This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +CovarianceScriptEncodingGet(ConstHandle2ConstCovarianceScript This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +CovarianceScriptEncodingSet(ConstHandle2CovarianceScript This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceScriptMarkupHas(ConstHandle2ConstCovarianceScript This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +CovarianceScriptMarkupGet(ConstHandle2ConstCovarianceScript This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +CovarianceScriptMarkupSet(ConstHandle2CovarianceScript This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceScriptLabelHas(ConstHandle2ConstCovarianceScript This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CovarianceScriptLabelGet(ConstHandle2ConstCovarianceScript This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CovarianceScriptLabelSet(ConstHandle2CovarianceScript This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.h new file mode 100644 index 000000000..984ab42cc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CovarianceScript is the basic handle type in this file. Example: +// // Create a default CovarianceScript object: +// CovarianceScript handle = CovarianceScriptDefault(); +// Functions involving CovarianceScript are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COVARIANCESCRIPT +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COVARIANCESCRIPT + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CovarianceScriptClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CovarianceScript +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CovarianceScriptClass *CovarianceScript; + +// --- Const-aware handles. +typedef const struct CovarianceScriptClass *const ConstHandle2ConstCovarianceScript; +typedef struct CovarianceScriptClass *const ConstHandle2CovarianceScript; +typedef const struct CovarianceScriptClass * Handle2ConstCovarianceScript; +typedef struct CovarianceScriptClass * Handle2CovarianceScript; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCovarianceScript +CovarianceScriptDefaultConst(); + +// +++ Create, default +extern_c Handle2CovarianceScript +CovarianceScriptDefault(); + +// --- Create, general, const +extern_c Handle2ConstCovarianceScript +CovarianceScriptCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2CovarianceScript +CovarianceScriptCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CovarianceScriptAssign(ConstHandle2CovarianceScript This, ConstHandle2ConstCovarianceScript from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CovarianceScriptDelete(ConstHandle2ConstCovarianceScript This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CovarianceScriptRead(ConstHandle2CovarianceScript This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CovarianceScriptWrite(ConstHandle2ConstCovarianceScript This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CovarianceScriptPrint(ConstHandle2ConstCovarianceScript This); + +// +++ Print to standard output, as XML +extern_c int +CovarianceScriptPrintXML(ConstHandle2ConstCovarianceScript This); + +// +++ Print to standard output, as JSON +extern_c int +CovarianceScriptPrintJSON(ConstHandle2ConstCovarianceScript This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +CovarianceScriptIntsClear(ConstHandle2CovarianceScript This); + +// +++ Get size +extern_c size_t +CovarianceScriptIntsSize(ConstHandle2ConstCovarianceScript This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +CovarianceScriptIntsGet(ConstHandle2ConstCovarianceScript This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CovarianceScriptIntsSet(ConstHandle2CovarianceScript This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +CovarianceScriptIntsGetArrayConst(ConstHandle2ConstCovarianceScript This); + +// +++ Get pointer to existing values, non-const +extern_c int * +CovarianceScriptIntsGetArray(ConstHandle2CovarianceScript This); + +// +++ Set completely new values and size +extern_c void +CovarianceScriptIntsSetArray(ConstHandle2CovarianceScript This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +CovarianceScriptUnsignedsClear(ConstHandle2CovarianceScript This); + +// +++ Get size +extern_c size_t +CovarianceScriptUnsignedsSize(ConstHandle2ConstCovarianceScript This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +CovarianceScriptUnsignedsGet(ConstHandle2ConstCovarianceScript This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CovarianceScriptUnsignedsSet(ConstHandle2CovarianceScript This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +CovarianceScriptUnsignedsGetArrayConst(ConstHandle2ConstCovarianceScript This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +CovarianceScriptUnsignedsGetArray(ConstHandle2CovarianceScript This); + +// +++ Set completely new values and size +extern_c void +CovarianceScriptUnsignedsSetArray(ConstHandle2CovarianceScript This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +CovarianceScriptFloatsClear(ConstHandle2CovarianceScript This); + +// +++ Get size +extern_c size_t +CovarianceScriptFloatsSize(ConstHandle2ConstCovarianceScript This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +CovarianceScriptFloatsGet(ConstHandle2ConstCovarianceScript This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CovarianceScriptFloatsSet(ConstHandle2CovarianceScript This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +CovarianceScriptFloatsGetArrayConst(ConstHandle2ConstCovarianceScript This); + +// +++ Get pointer to existing values, non-const +extern_c float * +CovarianceScriptFloatsGetArray(ConstHandle2CovarianceScript This); + +// +++ Set completely new values and size +extern_c void +CovarianceScriptFloatsSetArray(ConstHandle2CovarianceScript This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +CovarianceScriptDoublesClear(ConstHandle2CovarianceScript This); + +// +++ Get size +extern_c size_t +CovarianceScriptDoublesSize(ConstHandle2ConstCovarianceScript This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +CovarianceScriptDoublesGet(ConstHandle2ConstCovarianceScript This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +CovarianceScriptDoublesSet(ConstHandle2CovarianceScript This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +CovarianceScriptDoublesGetArrayConst(ConstHandle2ConstCovarianceScript This); + +// +++ Get pointer to existing values, non-const +extern_c double * +CovarianceScriptDoublesGetArray(ConstHandle2CovarianceScript This); + +// +++ Set completely new values and size +extern_c void +CovarianceScriptDoublesSetArray(ConstHandle2CovarianceScript This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceScriptEncodingHas(ConstHandle2ConstCovarianceScript This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceScriptEncodingGet(ConstHandle2ConstCovarianceScript This); + +// +++ Set +extern_c void +CovarianceScriptEncodingSet(ConstHandle2CovarianceScript This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceScriptMarkupHas(ConstHandle2ConstCovarianceScript This); + +// +++ Get +// +++ Returns by value +extern_c const char * +CovarianceScriptMarkupGet(ConstHandle2ConstCovarianceScript This); + +// +++ Set +extern_c void +CovarianceScriptMarkupSet(ConstHandle2CovarianceScript This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceScriptLabelHas(ConstHandle2ConstCovarianceScript This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceScriptLabelGet(ConstHandle2ConstCovarianceScript This); + +// +++ Set +extern_c void +CovarianceScriptLabelSet(ConstHandle2CovarianceScript This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.cpp new file mode 100644 index 000000000..263f94d82 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Date.hpp" +#include "Date.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DateClass; +using CPP = multigroup::Date; + +static const std::string CLASSNAME = "Date"; + +namespace extract { + static auto dateType = [](auto &obj) { return &obj.dateType; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDate +DateDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Date +DateDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDate +DateCreateConst( + const enums::DateType dateType, + const char *const value +) { + ConstHandle2Date handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + dateType, + value + ); + return handle; +} + +// Create, general +Handle2Date +DateCreate( + const enums::DateType dateType, + const char *const value +) { + ConstHandle2Date handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + dateType, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DateAssign(ConstHandle2Date This, ConstHandle2ConstDate from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DateDelete(ConstHandle2ConstDate This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DateRead(ConstHandle2Date This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DateWrite(ConstHandle2ConstDate This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DatePrint(ConstHandle2ConstDate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DatePrintXML(ConstHandle2ConstDate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DatePrintJSON(ConstHandle2ConstDate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: dateType +// ----------------------------------------------------------------------------- + +// Has +int +DateDateTypeHas(ConstHandle2ConstDate This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateTypeHas", This, extract::dateType); +} + +// Get +// Returns by value +enums::DateType +DateDateTypeGet(ConstHandle2ConstDate This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateTypeGet", This, extract::dateType); +} + +// Set +void +DateDateTypeSet(ConstHandle2Date This, const enums::DateType dateType) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateTypeSet", This, extract::dateType, dateType); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +DateValueHas(ConstHandle2ConstDate This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +const char * +DateValueGet(ConstHandle2ConstDate This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +DateValueSet(ConstHandle2Date This, const char *const value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.h new file mode 100644 index 000000000..dcef4509f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Date is the basic handle type in this file. Example: +// // Create a default Date object: +// Date handle = DateDefault(); +// Functions involving Date are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_DATE +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_DATE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DateClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Date +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DateClass *Date; + +// --- Const-aware handles. +typedef const struct DateClass *const ConstHandle2ConstDate; +typedef struct DateClass *const ConstHandle2Date; +typedef const struct DateClass * Handle2ConstDate; +typedef struct DateClass * Handle2Date; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDate +DateDefaultConst(); + +// +++ Create, default +extern_c Handle2Date +DateDefault(); + +// --- Create, general, const +extern_c Handle2ConstDate +DateCreateConst( + const enums::DateType dateType, + const char *const value +); + +// +++ Create, general +extern_c Handle2Date +DateCreate( + const enums::DateType dateType, + const char *const value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DateAssign(ConstHandle2Date This, ConstHandle2ConstDate from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DateDelete(ConstHandle2ConstDate This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DateRead(ConstHandle2Date This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DateWrite(ConstHandle2ConstDate This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DatePrint(ConstHandle2ConstDate This); + +// +++ Print to standard output, as XML +extern_c int +DatePrintXML(ConstHandle2ConstDate This); + +// +++ Print to standard output, as JSON +extern_c int +DatePrintJSON(ConstHandle2ConstDate This); + + +// ----------------------------------------------------------------------------- +// Metadatum: dateType +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DateDateTypeHas(ConstHandle2ConstDate This); + +// +++ Get +// +++ Returns by value +extern_c enums::DateType +DateDateTypeGet(ConstHandle2ConstDate This); + +// +++ Set +extern_c void +DateDateTypeSet(ConstHandle2Date This, const enums::DateType dateType); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DateValueHas(ConstHandle2ConstDate This); + +// +++ Get +// +++ Returns by value +extern_c const char * +DateValueGet(ConstHandle2ConstDate This); + +// +++ Set +extern_c void +DateValueSet(ConstHandle2Date This, const char *const value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.cpp new file mode 100644 index 000000000..fd0c1df70 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Dates.hpp" +#include "Dates.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DatesClass; +using CPP = multigroup::Dates; + +static const std::string CLASSNAME = "Dates"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; +} + +using CPPDate = documentation::Date; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDates +DatesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Dates +DatesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDates +DatesCreateConst( + ConstHandle2Date *const date, const size_t dateSize +) { + ConstHandle2Dates handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t DateN = 0; DateN < dateSize; ++DateN) + DatesDateAdd(handle, date[DateN]); + return handle; +} + +// Create, general +Handle2Dates +DatesCreate( + ConstHandle2Date *const date, const size_t dateSize +) { + ConstHandle2Dates handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t DateN = 0; DateN < dateSize; ++DateN) + DatesDateAdd(handle, date[DateN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DatesAssign(ConstHandle2Dates This, ConstHandle2ConstDates from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DatesDelete(ConstHandle2ConstDates This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DatesRead(ConstHandle2Dates This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DatesWrite(ConstHandle2ConstDates This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DatesPrint(ConstHandle2ConstDates This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DatesPrintXML(ConstHandle2ConstDates This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DatesPrintJSON(ConstHandle2ConstDates This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: date +// ----------------------------------------------------------------------------- + +// Has +int +DatesDateHas(ConstHandle2ConstDates This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Clear +void +DatesDateClear(ConstHandle2Dates This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DateClear", This, extract::date); +} + +// Size +size_t +DatesDateSize(ConstHandle2ConstDates This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DateSize", This, extract::date); +} + +// Add +void +DatesDateAdd(ConstHandle2Dates This, ConstHandle2ConstDate date) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DateAdd", This, extract::date, date); +} + +// Get, by index \in [0,size), const +Handle2ConstDate +DatesDateGetConst(ConstHandle2ConstDates This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DateGetConst", This, extract::date, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Date +DatesDateGet(ConstHandle2Dates This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date, index_); +} + +// Set, by index \in [0,size) +void +DatesDateSet( + ConstHandle2Dates This, + const size_t index_, + ConstHandle2ConstDate date +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, index_, date); +} + +// Has, by dateType +int +DatesDateHasByDateType( + ConstHandle2ConstDates This, + const enums::DateType dateType +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DateHasByDateType", + This, extract::date, meta::dateType, dateType); +} + +// Get, by dateType, const +Handle2ConstDate +DatesDateGetByDateTypeConst( + ConstHandle2ConstDates This, + const enums::DateType dateType +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DateGetByDateTypeConst", + This, extract::date, meta::dateType, dateType); +} + +// Get, by dateType, non-const +Handle2Date +DatesDateGetByDateType( + ConstHandle2Dates This, + const enums::DateType dateType +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DateGetByDateType", + This, extract::date, meta::dateType, dateType); +} + +// Set, by dateType +void +DatesDateSetByDateType( + ConstHandle2Dates This, + const enums::DateType dateType, + ConstHandle2ConstDate date +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DateSetByDateType", + This, extract::date, meta::dateType, dateType, date); +} + +// Has, by value +int +DatesDateHasByValue( + ConstHandle2ConstDates This, + const char *const value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DateHasByValue", + This, extract::date, meta::value, value); +} + +// Get, by value, const +Handle2ConstDate +DatesDateGetByValueConst( + ConstHandle2ConstDates This, + const char *const value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DateGetByValueConst", + This, extract::date, meta::value, value); +} + +// Get, by value, non-const +Handle2Date +DatesDateGetByValue( + ConstHandle2Dates This, + const char *const value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DateGetByValue", + This, extract::date, meta::value, value); +} + +// Set, by value +void +DatesDateSetByValue( + ConstHandle2Dates This, + const char *const value, + ConstHandle2ConstDate date +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DateSetByValue", + This, extract::date, meta::value, value, date); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.h new file mode 100644 index 000000000..d039c624f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Dates is the basic handle type in this file. Example: +// // Create a default Dates object: +// Dates handle = DatesDefault(); +// Functions involving Dates are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_DATES +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_DATES + +#include "GNDStk.h" +#include "v2.0/documentation/Date.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DatesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Dates +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DatesClass *Dates; + +// --- Const-aware handles. +typedef const struct DatesClass *const ConstHandle2ConstDates; +typedef struct DatesClass *const ConstHandle2Dates; +typedef const struct DatesClass * Handle2ConstDates; +typedef struct DatesClass * Handle2Dates; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDates +DatesDefaultConst(); + +// +++ Create, default +extern_c Handle2Dates +DatesDefault(); + +// --- Create, general, const +extern_c Handle2ConstDates +DatesCreateConst( + ConstHandle2Date *const date, const size_t dateSize +); + +// +++ Create, general +extern_c Handle2Dates +DatesCreate( + ConstHandle2Date *const date, const size_t dateSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DatesAssign(ConstHandle2Dates This, ConstHandle2ConstDates from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DatesDelete(ConstHandle2ConstDates This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DatesRead(ConstHandle2Dates This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DatesWrite(ConstHandle2ConstDates This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DatesPrint(ConstHandle2ConstDates This); + +// +++ Print to standard output, as XML +extern_c int +DatesPrintXML(ConstHandle2ConstDates This); + +// +++ Print to standard output, as JSON +extern_c int +DatesPrintJSON(ConstHandle2ConstDates This); + + +// ----------------------------------------------------------------------------- +// Child: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DatesDateHas(ConstHandle2ConstDates This); + +// +++ Clear +extern_c void +DatesDateClear(ConstHandle2Dates This); + +// +++ Size +extern_c size_t +DatesDateSize(ConstHandle2ConstDates This); + +// +++ Add +extern_c void +DatesDateAdd(ConstHandle2Dates This, ConstHandle2ConstDate date); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDate +DatesDateGetConst(ConstHandle2ConstDates This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Date +DatesDateGet(ConstHandle2Dates This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +DatesDateSet( + ConstHandle2Dates This, + const size_t index_, + ConstHandle2ConstDate date +); + +// +++ Has, by dateType +extern_c int +DatesDateHasByDateType( + ConstHandle2ConstDates This, + const enums::DateType dateType +); + +// --- Get, by dateType, const +extern_c Handle2ConstDate +DatesDateGetByDateTypeConst( + ConstHandle2ConstDates This, + const enums::DateType dateType +); + +// +++ Get, by dateType, non-const +extern_c Handle2Date +DatesDateGetByDateType( + ConstHandle2Dates This, + const enums::DateType dateType +); + +// +++ Set, by dateType +extern_c void +DatesDateSetByDateType( + ConstHandle2Dates This, + const enums::DateType dateType, + ConstHandle2ConstDate date +); + +// +++ Has, by value +extern_c int +DatesDateHasByValue( + ConstHandle2ConstDates This, + const char *const value +); + +// --- Get, by value, const +extern_c Handle2ConstDate +DatesDateGetByValueConst( + ConstHandle2ConstDates This, + const char *const value +); + +// +++ Get, by value, non-const +extern_c Handle2Date +DatesDateGetByValue( + ConstHandle2Dates This, + const char *const value +); + +// +++ Set, by value +extern_c void +DatesDateSetByValue( + ConstHandle2Dates This, + const char *const value, + ConstHandle2ConstDate date +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.cpp new file mode 100644 index 000000000..f05d10ab0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.cpp @@ -0,0 +1,881 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Documentation.hpp" +#include "Documentation.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DocumentationClass; +using CPP = multigroup::Documentation; + +static const std::string CLASSNAME = "Documentation"; + +namespace extract { + static auto doi = [](auto &obj) { return &obj.doi; }; + static auto publicationDate = [](auto &obj) { return &obj.publicationDate; }; + static auto version = [](auto &obj) { return &obj.version; }; + static auto authors = [](auto &obj) { return &obj.authors; }; + static auto contributors = [](auto &obj) { return &obj.contributors; }; + static auto collaborations = [](auto &obj) { return &obj.collaborations; }; + static auto dates = [](auto &obj) { return &obj.dates; }; + static auto copyright = [](auto &obj) { return &obj.copyright; }; + static auto acknowledgements = [](auto &obj) { return &obj.acknowledgements; }; + static auto keywords = [](auto &obj) { return &obj.keywords; }; + static auto relatedItems = [](auto &obj) { return &obj.relatedItems; }; + static auto title = [](auto &obj) { return &obj.title; }; + static auto abstract = [](auto &obj) { return &obj.abstract; }; + static auto body = [](auto &obj) { return &obj.body; }; + static auto computerCodes = [](auto &obj) { return &obj.computerCodes; }; + static auto experimentalDataSets = [](auto &obj) { return &obj.experimentalDataSets; }; + static auto bibliography = [](auto &obj) { return &obj.bibliography; }; + static auto endfCompatible = [](auto &obj) { return &obj.endfCompatible; }; +} + +using CPPAuthors = documentation::Authors; +using CPPContributors = documentation::Contributors; +using CPPCollaborations = documentation::Collaborations; +using CPPDates = documentation::Dates; +using CPPCopyright = documentation::Copyright; +using CPPAcknowledgements = documentation::Acknowledgements; +using CPPKeywords = documentation::Keywords; +using CPPRelatedItems = documentation::RelatedItems; +using CPPTitle = documentation::Title; +using CPPAbstract = documentation::Abstract; +using CPPBody = documentation::Body; +using CPPComputerCodes = documentation::ComputerCodes; +using CPPExperimentalDataSets = documentation::ExperimentalDataSets; +using CPPBibliography = documentation::Bibliography; +using CPPEndfCompatible = documentation::EndfCompatible; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDocumentation +DocumentationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Documentation +DocumentationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDocumentation +DocumentationCreateConst( + const UTF8Text doi, + const char *const publicationDate, + const UTF8Text version, + ConstHandle2ConstAuthors authors, + ConstHandle2ConstContributors contributors, + ConstHandle2ConstCollaborations collaborations, + ConstHandle2ConstDates dates, + ConstHandle2ConstCopyright copyright, + ConstHandle2ConstAcknowledgements acknowledgements, + ConstHandle2ConstKeywords keywords, + ConstHandle2ConstRelatedItems relatedItems, + ConstHandle2ConstTitle title, + ConstHandle2ConstAbstract abstract, + ConstHandle2ConstBody body, + ConstHandle2ConstComputerCodes computerCodes, + ConstHandle2ConstExperimentalDataSets experimentalDataSets, + ConstHandle2ConstBibliography bibliography, + ConstHandle2ConstEndfCompatible endfCompatible +) { + ConstHandle2Documentation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + doi, + publicationDate, + version, + detail::tocpp(authors), + detail::tocpp(contributors), + detail::tocpp(collaborations), + detail::tocpp(dates), + detail::tocpp(copyright), + detail::tocpp(acknowledgements), + detail::tocpp(keywords), + detail::tocpp(relatedItems), + detail::tocpp(title), + detail::tocpp(abstract), + detail::tocpp(body), + detail::tocpp(computerCodes), + detail::tocpp(experimentalDataSets), + detail::tocpp(bibliography), + detail::tocpp(endfCompatible) + ); + return handle; +} + +// Create, general +Handle2Documentation +DocumentationCreate( + const UTF8Text doi, + const char *const publicationDate, + const UTF8Text version, + ConstHandle2ConstAuthors authors, + ConstHandle2ConstContributors contributors, + ConstHandle2ConstCollaborations collaborations, + ConstHandle2ConstDates dates, + ConstHandle2ConstCopyright copyright, + ConstHandle2ConstAcknowledgements acknowledgements, + ConstHandle2ConstKeywords keywords, + ConstHandle2ConstRelatedItems relatedItems, + ConstHandle2ConstTitle title, + ConstHandle2ConstAbstract abstract, + ConstHandle2ConstBody body, + ConstHandle2ConstComputerCodes computerCodes, + ConstHandle2ConstExperimentalDataSets experimentalDataSets, + ConstHandle2ConstBibliography bibliography, + ConstHandle2ConstEndfCompatible endfCompatible +) { + ConstHandle2Documentation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + doi, + publicationDate, + version, + detail::tocpp(authors), + detail::tocpp(contributors), + detail::tocpp(collaborations), + detail::tocpp(dates), + detail::tocpp(copyright), + detail::tocpp(acknowledgements), + detail::tocpp(keywords), + detail::tocpp(relatedItems), + detail::tocpp(title), + detail::tocpp(abstract), + detail::tocpp(body), + detail::tocpp(computerCodes), + detail::tocpp(experimentalDataSets), + detail::tocpp(bibliography), + detail::tocpp(endfCompatible) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DocumentationAssign(ConstHandle2Documentation This, ConstHandle2ConstDocumentation from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DocumentationDelete(ConstHandle2ConstDocumentation This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DocumentationRead(ConstHandle2Documentation This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DocumentationWrite(ConstHandle2ConstDocumentation This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DocumentationPrint(ConstHandle2ConstDocumentation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DocumentationPrintXML(ConstHandle2ConstDocumentation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DocumentationPrintJSON(ConstHandle2ConstDocumentation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: doi +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationDoiHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoiHas", This, extract::doi); +} + +// Get +// Returns by value +UTF8Text +DocumentationDoiGet(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoiGet", This, extract::doi); +} + +// Set +void +DocumentationDoiSet(ConstHandle2Documentation This, const UTF8Text doi) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoiSet", This, extract::doi, doi); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: publicationDate +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationPublicationDateHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PublicationDateHas", This, extract::publicationDate); +} + +// Get +// Returns by value +const char * +DocumentationPublicationDateGet(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PublicationDateGet", This, extract::publicationDate); +} + +// Set +void +DocumentationPublicationDateSet(ConstHandle2Documentation This, const char *const publicationDate) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PublicationDateSet", This, extract::publicationDate, publicationDate); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationVersionHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"VersionHas", This, extract::version); +} + +// Get +// Returns by value +UTF8Text +DocumentationVersionGet(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"VersionGet", This, extract::version); +} + +// Set +void +DocumentationVersionSet(ConstHandle2Documentation This, const UTF8Text version) +{ + detail::setField + (CLASSNAME, CLASSNAME+"VersionSet", This, extract::version, version); +} + + +// ----------------------------------------------------------------------------- +// Child: authors +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationAuthorsHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AuthorsHas", This, extract::authors); +} + +// Get, const +Handle2ConstAuthors +DocumentationAuthorsGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AuthorsGetConst", This, extract::authors); +} + +// Get, non-const +Handle2Authors +DocumentationAuthorsGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AuthorsGet", This, extract::authors); +} + +// Set +void +DocumentationAuthorsSet(ConstHandle2Documentation This, ConstHandle2ConstAuthors authors) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AuthorsSet", This, extract::authors, authors); +} + + +// ----------------------------------------------------------------------------- +// Child: contributors +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationContributorsHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ContributorsHas", This, extract::contributors); +} + +// Get, const +Handle2ConstContributors +DocumentationContributorsGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ContributorsGetConst", This, extract::contributors); +} + +// Get, non-const +Handle2Contributors +DocumentationContributorsGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ContributorsGet", This, extract::contributors); +} + +// Set +void +DocumentationContributorsSet(ConstHandle2Documentation This, ConstHandle2ConstContributors contributors) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ContributorsSet", This, extract::contributors, contributors); +} + + +// ----------------------------------------------------------------------------- +// Child: collaborations +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationCollaborationsHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CollaborationsHas", This, extract::collaborations); +} + +// Get, const +Handle2ConstCollaborations +DocumentationCollaborationsGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CollaborationsGetConst", This, extract::collaborations); +} + +// Get, non-const +Handle2Collaborations +DocumentationCollaborationsGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CollaborationsGet", This, extract::collaborations); +} + +// Set +void +DocumentationCollaborationsSet(ConstHandle2Documentation This, ConstHandle2ConstCollaborations collaborations) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CollaborationsSet", This, extract::collaborations, collaborations); +} + + +// ----------------------------------------------------------------------------- +// Child: dates +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationDatesHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DatesHas", This, extract::dates); +} + +// Get, const +Handle2ConstDates +DocumentationDatesGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DatesGetConst", This, extract::dates); +} + +// Get, non-const +Handle2Dates +DocumentationDatesGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DatesGet", This, extract::dates); +} + +// Set +void +DocumentationDatesSet(ConstHandle2Documentation This, ConstHandle2ConstDates dates) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DatesSet", This, extract::dates, dates); +} + + +// ----------------------------------------------------------------------------- +// Child: copyright +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationCopyrightHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CopyrightHas", This, extract::copyright); +} + +// Get, const +Handle2ConstCopyright +DocumentationCopyrightGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CopyrightGetConst", This, extract::copyright); +} + +// Get, non-const +Handle2Copyright +DocumentationCopyrightGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CopyrightGet", This, extract::copyright); +} + +// Set +void +DocumentationCopyrightSet(ConstHandle2Documentation This, ConstHandle2ConstCopyright copyright) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CopyrightSet", This, extract::copyright, copyright); +} + + +// ----------------------------------------------------------------------------- +// Child: acknowledgements +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationAcknowledgementsHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AcknowledgementsHas", This, extract::acknowledgements); +} + +// Get, const +Handle2ConstAcknowledgements +DocumentationAcknowledgementsGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AcknowledgementsGetConst", This, extract::acknowledgements); +} + +// Get, non-const +Handle2Acknowledgements +DocumentationAcknowledgementsGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AcknowledgementsGet", This, extract::acknowledgements); +} + +// Set +void +DocumentationAcknowledgementsSet(ConstHandle2Documentation This, ConstHandle2ConstAcknowledgements acknowledgements) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AcknowledgementsSet", This, extract::acknowledgements, acknowledgements); +} + + +// ----------------------------------------------------------------------------- +// Child: keywords +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationKeywordsHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"KeywordsHas", This, extract::keywords); +} + +// Get, const +Handle2ConstKeywords +DocumentationKeywordsGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"KeywordsGetConst", This, extract::keywords); +} + +// Get, non-const +Handle2Keywords +DocumentationKeywordsGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"KeywordsGet", This, extract::keywords); +} + +// Set +void +DocumentationKeywordsSet(ConstHandle2Documentation This, ConstHandle2ConstKeywords keywords) +{ + detail::setField + (CLASSNAME, CLASSNAME+"KeywordsSet", This, extract::keywords, keywords); +} + + +// ----------------------------------------------------------------------------- +// Child: relatedItems +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationRelatedItemsHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RelatedItemsHas", This, extract::relatedItems); +} + +// Get, const +Handle2ConstRelatedItems +DocumentationRelatedItemsGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RelatedItemsGetConst", This, extract::relatedItems); +} + +// Get, non-const +Handle2RelatedItems +DocumentationRelatedItemsGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RelatedItemsGet", This, extract::relatedItems); +} + +// Set +void +DocumentationRelatedItemsSet(ConstHandle2Documentation This, ConstHandle2ConstRelatedItems relatedItems) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RelatedItemsSet", This, extract::relatedItems, relatedItems); +} + + +// ----------------------------------------------------------------------------- +// Child: title +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationTitleHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TitleHas", This, extract::title); +} + +// Get, const +Handle2ConstTitle +DocumentationTitleGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TitleGetConst", This, extract::title); +} + +// Get, non-const +Handle2Title +DocumentationTitleGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TitleGet", This, extract::title); +} + +// Set +void +DocumentationTitleSet(ConstHandle2Documentation This, ConstHandle2ConstTitle title) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TitleSet", This, extract::title, title); +} + + +// ----------------------------------------------------------------------------- +// Child: abstract +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationAbstractHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AbstractHas", This, extract::abstract); +} + +// Get, const +Handle2ConstAbstract +DocumentationAbstractGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AbstractGetConst", This, extract::abstract); +} + +// Get, non-const +Handle2Abstract +DocumentationAbstractGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AbstractGet", This, extract::abstract); +} + +// Set +void +DocumentationAbstractSet(ConstHandle2Documentation This, ConstHandle2ConstAbstract abstract) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AbstractSet", This, extract::abstract, abstract); +} + + +// ----------------------------------------------------------------------------- +// Child: body +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationBodyHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BodyHas", This, extract::body); +} + +// Get, const +Handle2ConstBody +DocumentationBodyGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BodyGetConst", This, extract::body); +} + +// Get, non-const +Handle2Body +DocumentationBodyGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BodyGet", This, extract::body); +} + +// Set +void +DocumentationBodySet(ConstHandle2Documentation This, ConstHandle2ConstBody body) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BodySet", This, extract::body, body); +} + + +// ----------------------------------------------------------------------------- +// Child: computerCodes +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationComputerCodesHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ComputerCodesHas", This, extract::computerCodes); +} + +// Get, const +Handle2ConstComputerCodes +DocumentationComputerCodesGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ComputerCodesGetConst", This, extract::computerCodes); +} + +// Get, non-const +Handle2ComputerCodes +DocumentationComputerCodesGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ComputerCodesGet", This, extract::computerCodes); +} + +// Set +void +DocumentationComputerCodesSet(ConstHandle2Documentation This, ConstHandle2ConstComputerCodes computerCodes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ComputerCodesSet", This, extract::computerCodes, computerCodes); +} + + +// ----------------------------------------------------------------------------- +// Child: experimentalDataSets +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationExperimentalDataSetsHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ExperimentalDataSetsHas", This, extract::experimentalDataSets); +} + +// Get, const +Handle2ConstExperimentalDataSets +DocumentationExperimentalDataSetsGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExperimentalDataSetsGetConst", This, extract::experimentalDataSets); +} + +// Get, non-const +Handle2ExperimentalDataSets +DocumentationExperimentalDataSetsGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExperimentalDataSetsGet", This, extract::experimentalDataSets); +} + +// Set +void +DocumentationExperimentalDataSetsSet(ConstHandle2Documentation This, ConstHandle2ConstExperimentalDataSets experimentalDataSets) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ExperimentalDataSetsSet", This, extract::experimentalDataSets, experimentalDataSets); +} + + +// ----------------------------------------------------------------------------- +// Child: bibliography +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationBibliographyHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BibliographyHas", This, extract::bibliography); +} + +// Get, const +Handle2ConstBibliography +DocumentationBibliographyGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BibliographyGetConst", This, extract::bibliography); +} + +// Get, non-const +Handle2Bibliography +DocumentationBibliographyGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BibliographyGet", This, extract::bibliography); +} + +// Set +void +DocumentationBibliographySet(ConstHandle2Documentation This, ConstHandle2ConstBibliography bibliography) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BibliographySet", This, extract::bibliography, bibliography); +} + + +// ----------------------------------------------------------------------------- +// Child: endfCompatible +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationEndfCompatibleHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EndfCompatibleHas", This, extract::endfCompatible); +} + +// Get, const +Handle2ConstEndfCompatible +DocumentationEndfCompatibleGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EndfCompatibleGetConst", This, extract::endfCompatible); +} + +// Get, non-const +Handle2EndfCompatible +DocumentationEndfCompatibleGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EndfCompatibleGet", This, extract::endfCompatible); +} + +// Set +void +DocumentationEndfCompatibleSet(ConstHandle2Documentation This, ConstHandle2ConstEndfCompatible endfCompatible) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EndfCompatibleSet", This, extract::endfCompatible, endfCompatible); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.h new file mode 100644 index 000000000..4f7b6e649 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.h @@ -0,0 +1,555 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Documentation is the basic handle type in this file. Example: +// // Create a default Documentation object: +// Documentation handle = DocumentationDefault(); +// Functions involving Documentation are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_DOCUMENTATION +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_DOCUMENTATION + +#include "GNDStk.h" +#include "v2.0/documentation/Authors.h" +#include "v2.0/documentation/Contributors.h" +#include "v2.0/documentation/Collaborations.h" +#include "v2.0/documentation/Dates.h" +#include "v2.0/documentation/Copyright.h" +#include "v2.0/documentation/Acknowledgements.h" +#include "v2.0/documentation/Keywords.h" +#include "v2.0/documentation/RelatedItems.h" +#include "v2.0/documentation/Title.h" +#include "v2.0/documentation/Abstract.h" +#include "v2.0/documentation/Body.h" +#include "v2.0/documentation/ComputerCodes.h" +#include "v2.0/documentation/ExperimentalDataSets.h" +#include "v2.0/documentation/Bibliography.h" +#include "v2.0/documentation/EndfCompatible.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DocumentationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Documentation +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DocumentationClass *Documentation; + +// --- Const-aware handles. +typedef const struct DocumentationClass *const ConstHandle2ConstDocumentation; +typedef struct DocumentationClass *const ConstHandle2Documentation; +typedef const struct DocumentationClass * Handle2ConstDocumentation; +typedef struct DocumentationClass * Handle2Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDocumentation +DocumentationDefaultConst(); + +// +++ Create, default +extern_c Handle2Documentation +DocumentationDefault(); + +// --- Create, general, const +extern_c Handle2ConstDocumentation +DocumentationCreateConst( + const UTF8Text doi, + const char *const publicationDate, + const UTF8Text version, + ConstHandle2ConstAuthors authors, + ConstHandle2ConstContributors contributors, + ConstHandle2ConstCollaborations collaborations, + ConstHandle2ConstDates dates, + ConstHandle2ConstCopyright copyright, + ConstHandle2ConstAcknowledgements acknowledgements, + ConstHandle2ConstKeywords keywords, + ConstHandle2ConstRelatedItems relatedItems, + ConstHandle2ConstTitle title, + ConstHandle2ConstAbstract abstract, + ConstHandle2ConstBody body, + ConstHandle2ConstComputerCodes computerCodes, + ConstHandle2ConstExperimentalDataSets experimentalDataSets, + ConstHandle2ConstBibliography bibliography, + ConstHandle2ConstEndfCompatible endfCompatible +); + +// +++ Create, general +extern_c Handle2Documentation +DocumentationCreate( + const UTF8Text doi, + const char *const publicationDate, + const UTF8Text version, + ConstHandle2ConstAuthors authors, + ConstHandle2ConstContributors contributors, + ConstHandle2ConstCollaborations collaborations, + ConstHandle2ConstDates dates, + ConstHandle2ConstCopyright copyright, + ConstHandle2ConstAcknowledgements acknowledgements, + ConstHandle2ConstKeywords keywords, + ConstHandle2ConstRelatedItems relatedItems, + ConstHandle2ConstTitle title, + ConstHandle2ConstAbstract abstract, + ConstHandle2ConstBody body, + ConstHandle2ConstComputerCodes computerCodes, + ConstHandle2ConstExperimentalDataSets experimentalDataSets, + ConstHandle2ConstBibliography bibliography, + ConstHandle2ConstEndfCompatible endfCompatible +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DocumentationAssign(ConstHandle2Documentation This, ConstHandle2ConstDocumentation from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DocumentationDelete(ConstHandle2ConstDocumentation This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DocumentationRead(ConstHandle2Documentation This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DocumentationWrite(ConstHandle2ConstDocumentation This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DocumentationPrint(ConstHandle2ConstDocumentation This); + +// +++ Print to standard output, as XML +extern_c int +DocumentationPrintXML(ConstHandle2ConstDocumentation This); + +// +++ Print to standard output, as JSON +extern_c int +DocumentationPrintJSON(ConstHandle2ConstDocumentation This); + + +// ----------------------------------------------------------------------------- +// Metadatum: doi +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationDoiHas(ConstHandle2ConstDocumentation This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +DocumentationDoiGet(ConstHandle2ConstDocumentation This); + +// +++ Set +extern_c void +DocumentationDoiSet(ConstHandle2Documentation This, const UTF8Text doi); + + +// ----------------------------------------------------------------------------- +// Metadatum: publicationDate +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationPublicationDateHas(ConstHandle2ConstDocumentation This); + +// +++ Get +// +++ Returns by value +extern_c const char * +DocumentationPublicationDateGet(ConstHandle2ConstDocumentation This); + +// +++ Set +extern_c void +DocumentationPublicationDateSet(ConstHandle2Documentation This, const char *const publicationDate); + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationVersionHas(ConstHandle2ConstDocumentation This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +DocumentationVersionGet(ConstHandle2ConstDocumentation This); + +// +++ Set +extern_c void +DocumentationVersionSet(ConstHandle2Documentation This, const UTF8Text version); + + +// ----------------------------------------------------------------------------- +// Child: authors +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationAuthorsHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstAuthors +DocumentationAuthorsGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Authors +DocumentationAuthorsGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationAuthorsSet(ConstHandle2Documentation This, ConstHandle2ConstAuthors authors); + + +// ----------------------------------------------------------------------------- +// Child: contributors +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationContributorsHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstContributors +DocumentationContributorsGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Contributors +DocumentationContributorsGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationContributorsSet(ConstHandle2Documentation This, ConstHandle2ConstContributors contributors); + + +// ----------------------------------------------------------------------------- +// Child: collaborations +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationCollaborationsHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstCollaborations +DocumentationCollaborationsGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Collaborations +DocumentationCollaborationsGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationCollaborationsSet(ConstHandle2Documentation This, ConstHandle2ConstCollaborations collaborations); + + +// ----------------------------------------------------------------------------- +// Child: dates +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationDatesHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstDates +DocumentationDatesGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Dates +DocumentationDatesGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationDatesSet(ConstHandle2Documentation This, ConstHandle2ConstDates dates); + + +// ----------------------------------------------------------------------------- +// Child: copyright +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationCopyrightHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstCopyright +DocumentationCopyrightGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Copyright +DocumentationCopyrightGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationCopyrightSet(ConstHandle2Documentation This, ConstHandle2ConstCopyright copyright); + + +// ----------------------------------------------------------------------------- +// Child: acknowledgements +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationAcknowledgementsHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstAcknowledgements +DocumentationAcknowledgementsGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Acknowledgements +DocumentationAcknowledgementsGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationAcknowledgementsSet(ConstHandle2Documentation This, ConstHandle2ConstAcknowledgements acknowledgements); + + +// ----------------------------------------------------------------------------- +// Child: keywords +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationKeywordsHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstKeywords +DocumentationKeywordsGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Keywords +DocumentationKeywordsGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationKeywordsSet(ConstHandle2Documentation This, ConstHandle2ConstKeywords keywords); + + +// ----------------------------------------------------------------------------- +// Child: relatedItems +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationRelatedItemsHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstRelatedItems +DocumentationRelatedItemsGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2RelatedItems +DocumentationRelatedItemsGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationRelatedItemsSet(ConstHandle2Documentation This, ConstHandle2ConstRelatedItems relatedItems); + + +// ----------------------------------------------------------------------------- +// Child: title +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationTitleHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstTitle +DocumentationTitleGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Title +DocumentationTitleGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationTitleSet(ConstHandle2Documentation This, ConstHandle2ConstTitle title); + + +// ----------------------------------------------------------------------------- +// Child: abstract +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationAbstractHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstAbstract +DocumentationAbstractGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Abstract +DocumentationAbstractGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationAbstractSet(ConstHandle2Documentation This, ConstHandle2ConstAbstract abstract); + + +// ----------------------------------------------------------------------------- +// Child: body +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationBodyHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstBody +DocumentationBodyGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Body +DocumentationBodyGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationBodySet(ConstHandle2Documentation This, ConstHandle2ConstBody body); + + +// ----------------------------------------------------------------------------- +// Child: computerCodes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationComputerCodesHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstComputerCodes +DocumentationComputerCodesGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2ComputerCodes +DocumentationComputerCodesGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationComputerCodesSet(ConstHandle2Documentation This, ConstHandle2ConstComputerCodes computerCodes); + + +// ----------------------------------------------------------------------------- +// Child: experimentalDataSets +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationExperimentalDataSetsHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstExperimentalDataSets +DocumentationExperimentalDataSetsGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2ExperimentalDataSets +DocumentationExperimentalDataSetsGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationExperimentalDataSetsSet(ConstHandle2Documentation This, ConstHandle2ConstExperimentalDataSets experimentalDataSets); + + +// ----------------------------------------------------------------------------- +// Child: bibliography +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationBibliographyHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstBibliography +DocumentationBibliographyGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Bibliography +DocumentationBibliographyGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationBibliographySet(ConstHandle2Documentation This, ConstHandle2ConstBibliography bibliography); + + +// ----------------------------------------------------------------------------- +// Child: endfCompatible +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationEndfCompatibleHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstEndfCompatible +DocumentationEndfCompatibleGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2EndfCompatible +DocumentationEndfCompatibleGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationEndfCompatibleSet(ConstHandle2Documentation This, ConstHandle2ConstEndfCompatible endfCompatible); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.cpp new file mode 100644 index 000000000..cfd0bfa38 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/EndfCompatible.hpp" +#include "EndfCompatible.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EndfCompatibleClass; +using CPP = multigroup::EndfCompatible; + +static const std::string CLASSNAME = "EndfCompatible"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEndfCompatible +EndfCompatibleDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EndfCompatible +EndfCompatibleDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEndfCompatible +EndfCompatibleCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2EndfCompatible handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2EndfCompatible +EndfCompatibleCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2EndfCompatible handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EndfCompatibleAssign(ConstHandle2EndfCompatible This, ConstHandle2ConstEndfCompatible from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EndfCompatibleDelete(ConstHandle2ConstEndfCompatible This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EndfCompatibleRead(ConstHandle2EndfCompatible This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EndfCompatibleWrite(ConstHandle2ConstEndfCompatible This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EndfCompatiblePrint(ConstHandle2ConstEndfCompatible This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EndfCompatiblePrintXML(ConstHandle2ConstEndfCompatible This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EndfCompatiblePrintJSON(ConstHandle2ConstEndfCompatible This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +EndfCompatibleIntsClear(ConstHandle2EndfCompatible This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +EndfCompatibleIntsSize(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +EndfCompatibleIntsGet(ConstHandle2ConstEndfCompatible This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +EndfCompatibleIntsSet(ConstHandle2EndfCompatible This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +EndfCompatibleIntsGetArrayConst(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +EndfCompatibleIntsGetArray(ConstHandle2EndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +EndfCompatibleIntsSetArray(ConstHandle2EndfCompatible This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +EndfCompatibleUnsignedsClear(ConstHandle2EndfCompatible This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +EndfCompatibleUnsignedsSize(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +EndfCompatibleUnsignedsGet(ConstHandle2ConstEndfCompatible This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +EndfCompatibleUnsignedsSet(ConstHandle2EndfCompatible This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +EndfCompatibleUnsignedsGetArrayConst(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +EndfCompatibleUnsignedsGetArray(ConstHandle2EndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +EndfCompatibleUnsignedsSetArray(ConstHandle2EndfCompatible This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +EndfCompatibleFloatsClear(ConstHandle2EndfCompatible This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +EndfCompatibleFloatsSize(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +EndfCompatibleFloatsGet(ConstHandle2ConstEndfCompatible This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +EndfCompatibleFloatsSet(ConstHandle2EndfCompatible This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +EndfCompatibleFloatsGetArrayConst(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +EndfCompatibleFloatsGetArray(ConstHandle2EndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +EndfCompatibleFloatsSetArray(ConstHandle2EndfCompatible This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +EndfCompatibleDoublesClear(ConstHandle2EndfCompatible This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +EndfCompatibleDoublesSize(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +EndfCompatibleDoublesGet(ConstHandle2ConstEndfCompatible This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +EndfCompatibleDoublesSet(ConstHandle2EndfCompatible This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +EndfCompatibleDoublesGetArrayConst(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +EndfCompatibleDoublesGetArray(ConstHandle2EndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +EndfCompatibleDoublesSetArray(ConstHandle2EndfCompatible This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +EndfCompatibleEncodingHas(ConstHandle2ConstEndfCompatible This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +EndfCompatibleEncodingGet(ConstHandle2ConstEndfCompatible This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +EndfCompatibleEncodingSet(ConstHandle2EndfCompatible This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +EndfCompatibleMarkupHas(ConstHandle2ConstEndfCompatible This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +EndfCompatibleMarkupGet(ConstHandle2ConstEndfCompatible This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +EndfCompatibleMarkupSet(ConstHandle2EndfCompatible This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EndfCompatibleLabelHas(ConstHandle2ConstEndfCompatible This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +EndfCompatibleLabelGet(ConstHandle2ConstEndfCompatible This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EndfCompatibleLabelSet(ConstHandle2EndfCompatible This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.h new file mode 100644 index 000000000..4b500a9db --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EndfCompatible is the basic handle type in this file. Example: +// // Create a default EndfCompatible object: +// EndfCompatible handle = EndfCompatibleDefault(); +// Functions involving EndfCompatible are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_ENDFCOMPATIBLE +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_ENDFCOMPATIBLE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EndfCompatibleClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EndfCompatible +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EndfCompatibleClass *EndfCompatible; + +// --- Const-aware handles. +typedef const struct EndfCompatibleClass *const ConstHandle2ConstEndfCompatible; +typedef struct EndfCompatibleClass *const ConstHandle2EndfCompatible; +typedef const struct EndfCompatibleClass * Handle2ConstEndfCompatible; +typedef struct EndfCompatibleClass * Handle2EndfCompatible; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEndfCompatible +EndfCompatibleDefaultConst(); + +// +++ Create, default +extern_c Handle2EndfCompatible +EndfCompatibleDefault(); + +// --- Create, general, const +extern_c Handle2ConstEndfCompatible +EndfCompatibleCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2EndfCompatible +EndfCompatibleCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EndfCompatibleAssign(ConstHandle2EndfCompatible This, ConstHandle2ConstEndfCompatible from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EndfCompatibleDelete(ConstHandle2ConstEndfCompatible This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EndfCompatibleRead(ConstHandle2EndfCompatible This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EndfCompatibleWrite(ConstHandle2ConstEndfCompatible This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EndfCompatiblePrint(ConstHandle2ConstEndfCompatible This); + +// +++ Print to standard output, as XML +extern_c int +EndfCompatiblePrintXML(ConstHandle2ConstEndfCompatible This); + +// +++ Print to standard output, as JSON +extern_c int +EndfCompatiblePrintJSON(ConstHandle2ConstEndfCompatible This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +EndfCompatibleIntsClear(ConstHandle2EndfCompatible This); + +// +++ Get size +extern_c size_t +EndfCompatibleIntsSize(ConstHandle2ConstEndfCompatible This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +EndfCompatibleIntsGet(ConstHandle2ConstEndfCompatible This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +EndfCompatibleIntsSet(ConstHandle2EndfCompatible This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +EndfCompatibleIntsGetArrayConst(ConstHandle2ConstEndfCompatible This); + +// +++ Get pointer to existing values, non-const +extern_c int * +EndfCompatibleIntsGetArray(ConstHandle2EndfCompatible This); + +// +++ Set completely new values and size +extern_c void +EndfCompatibleIntsSetArray(ConstHandle2EndfCompatible This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +EndfCompatibleUnsignedsClear(ConstHandle2EndfCompatible This); + +// +++ Get size +extern_c size_t +EndfCompatibleUnsignedsSize(ConstHandle2ConstEndfCompatible This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +EndfCompatibleUnsignedsGet(ConstHandle2ConstEndfCompatible This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +EndfCompatibleUnsignedsSet(ConstHandle2EndfCompatible This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +EndfCompatibleUnsignedsGetArrayConst(ConstHandle2ConstEndfCompatible This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +EndfCompatibleUnsignedsGetArray(ConstHandle2EndfCompatible This); + +// +++ Set completely new values and size +extern_c void +EndfCompatibleUnsignedsSetArray(ConstHandle2EndfCompatible This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +EndfCompatibleFloatsClear(ConstHandle2EndfCompatible This); + +// +++ Get size +extern_c size_t +EndfCompatibleFloatsSize(ConstHandle2ConstEndfCompatible This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +EndfCompatibleFloatsGet(ConstHandle2ConstEndfCompatible This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +EndfCompatibleFloatsSet(ConstHandle2EndfCompatible This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +EndfCompatibleFloatsGetArrayConst(ConstHandle2ConstEndfCompatible This); + +// +++ Get pointer to existing values, non-const +extern_c float * +EndfCompatibleFloatsGetArray(ConstHandle2EndfCompatible This); + +// +++ Set completely new values and size +extern_c void +EndfCompatibleFloatsSetArray(ConstHandle2EndfCompatible This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +EndfCompatibleDoublesClear(ConstHandle2EndfCompatible This); + +// +++ Get size +extern_c size_t +EndfCompatibleDoublesSize(ConstHandle2ConstEndfCompatible This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +EndfCompatibleDoublesGet(ConstHandle2ConstEndfCompatible This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +EndfCompatibleDoublesSet(ConstHandle2EndfCompatible This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +EndfCompatibleDoublesGetArrayConst(ConstHandle2ConstEndfCompatible This); + +// +++ Get pointer to existing values, non-const +extern_c double * +EndfCompatibleDoublesGetArray(ConstHandle2EndfCompatible This); + +// +++ Set completely new values and size +extern_c void +EndfCompatibleDoublesSetArray(ConstHandle2EndfCompatible This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EndfCompatibleEncodingHas(ConstHandle2ConstEndfCompatible This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EndfCompatibleEncodingGet(ConstHandle2ConstEndfCompatible This); + +// +++ Set +extern_c void +EndfCompatibleEncodingSet(ConstHandle2EndfCompatible This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EndfCompatibleMarkupHas(ConstHandle2ConstEndfCompatible This); + +// +++ Get +// +++ Returns by value +extern_c const char * +EndfCompatibleMarkupGet(ConstHandle2ConstEndfCompatible This); + +// +++ Set +extern_c void +EndfCompatibleMarkupSet(ConstHandle2EndfCompatible This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EndfCompatibleLabelHas(ConstHandle2ConstEndfCompatible This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EndfCompatibleLabelGet(ConstHandle2ConstEndfCompatible This); + +// +++ Set +extern_c void +EndfCompatibleLabelSet(ConstHandle2EndfCompatible This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.cpp new file mode 100644 index 000000000..efaa2f1c8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/ExecutionArguments.hpp" +#include "ExecutionArguments.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ExecutionArgumentsClass; +using CPP = multigroup::ExecutionArguments; + +static const std::string CLASSNAME = "ExecutionArguments"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstExecutionArguments +ExecutionArgumentsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ExecutionArguments +ExecutionArgumentsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstExecutionArguments +ExecutionArgumentsCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2ExecutionArguments handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2ExecutionArguments +ExecutionArgumentsCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2ExecutionArguments handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ExecutionArgumentsAssign(ConstHandle2ExecutionArguments This, ConstHandle2ConstExecutionArguments from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ExecutionArgumentsDelete(ConstHandle2ConstExecutionArguments This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ExecutionArgumentsRead(ConstHandle2ExecutionArguments This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ExecutionArgumentsWrite(ConstHandle2ConstExecutionArguments This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ExecutionArgumentsPrint(ConstHandle2ConstExecutionArguments This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ExecutionArgumentsPrintXML(ConstHandle2ConstExecutionArguments This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ExecutionArgumentsPrintJSON(ConstHandle2ConstExecutionArguments This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +ExecutionArgumentsIntsClear(ConstHandle2ExecutionArguments This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +ExecutionArgumentsIntsSize(ConstHandle2ConstExecutionArguments This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +ExecutionArgumentsIntsGet(ConstHandle2ConstExecutionArguments This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ExecutionArgumentsIntsSet(ConstHandle2ExecutionArguments This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +ExecutionArgumentsIntsGetArrayConst(ConstHandle2ConstExecutionArguments This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +ExecutionArgumentsIntsGetArray(ConstHandle2ExecutionArguments This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +ExecutionArgumentsIntsSetArray(ConstHandle2ExecutionArguments This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +ExecutionArgumentsUnsignedsClear(ConstHandle2ExecutionArguments This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +ExecutionArgumentsUnsignedsSize(ConstHandle2ConstExecutionArguments This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +ExecutionArgumentsUnsignedsGet(ConstHandle2ConstExecutionArguments This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ExecutionArgumentsUnsignedsSet(ConstHandle2ExecutionArguments This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +ExecutionArgumentsUnsignedsGetArrayConst(ConstHandle2ConstExecutionArguments This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +ExecutionArgumentsUnsignedsGetArray(ConstHandle2ExecutionArguments This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +ExecutionArgumentsUnsignedsSetArray(ConstHandle2ExecutionArguments This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +ExecutionArgumentsFloatsClear(ConstHandle2ExecutionArguments This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +ExecutionArgumentsFloatsSize(ConstHandle2ConstExecutionArguments This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +ExecutionArgumentsFloatsGet(ConstHandle2ConstExecutionArguments This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ExecutionArgumentsFloatsSet(ConstHandle2ExecutionArguments This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +ExecutionArgumentsFloatsGetArrayConst(ConstHandle2ConstExecutionArguments This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +ExecutionArgumentsFloatsGetArray(ConstHandle2ExecutionArguments This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +ExecutionArgumentsFloatsSetArray(ConstHandle2ExecutionArguments This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +ExecutionArgumentsDoublesClear(ConstHandle2ExecutionArguments This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +ExecutionArgumentsDoublesSize(ConstHandle2ConstExecutionArguments This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +ExecutionArgumentsDoublesGet(ConstHandle2ConstExecutionArguments This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ExecutionArgumentsDoublesSet(ConstHandle2ExecutionArguments This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +ExecutionArgumentsDoublesGetArrayConst(ConstHandle2ConstExecutionArguments This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +ExecutionArgumentsDoublesGetArray(ConstHandle2ExecutionArguments This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +ExecutionArgumentsDoublesSetArray(ConstHandle2ExecutionArguments This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +ExecutionArgumentsEncodingHas(ConstHandle2ConstExecutionArguments This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +ExecutionArgumentsEncodingGet(ConstHandle2ConstExecutionArguments This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +ExecutionArgumentsEncodingSet(ConstHandle2ExecutionArguments This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +ExecutionArgumentsMarkupHas(ConstHandle2ConstExecutionArguments This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +ExecutionArgumentsMarkupGet(ConstHandle2ConstExecutionArguments This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +ExecutionArgumentsMarkupSet(ConstHandle2ExecutionArguments This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ExecutionArgumentsLabelHas(ConstHandle2ConstExecutionArguments This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ExecutionArgumentsLabelGet(ConstHandle2ConstExecutionArguments This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ExecutionArgumentsLabelSet(ConstHandle2ExecutionArguments This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.h new file mode 100644 index 000000000..987e709ed --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ExecutionArguments is the basic handle type in this file. Example: +// // Create a default ExecutionArguments object: +// ExecutionArguments handle = ExecutionArgumentsDefault(); +// Functions involving ExecutionArguments are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ExecutionArgumentsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ExecutionArguments +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ExecutionArgumentsClass *ExecutionArguments; + +// --- Const-aware handles. +typedef const struct ExecutionArgumentsClass *const ConstHandle2ConstExecutionArguments; +typedef struct ExecutionArgumentsClass *const ConstHandle2ExecutionArguments; +typedef const struct ExecutionArgumentsClass * Handle2ConstExecutionArguments; +typedef struct ExecutionArgumentsClass * Handle2ExecutionArguments; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstExecutionArguments +ExecutionArgumentsDefaultConst(); + +// +++ Create, default +extern_c Handle2ExecutionArguments +ExecutionArgumentsDefault(); + +// --- Create, general, const +extern_c Handle2ConstExecutionArguments +ExecutionArgumentsCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2ExecutionArguments +ExecutionArgumentsCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ExecutionArgumentsAssign(ConstHandle2ExecutionArguments This, ConstHandle2ConstExecutionArguments from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ExecutionArgumentsDelete(ConstHandle2ConstExecutionArguments This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ExecutionArgumentsRead(ConstHandle2ExecutionArguments This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ExecutionArgumentsWrite(ConstHandle2ConstExecutionArguments This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ExecutionArgumentsPrint(ConstHandle2ConstExecutionArguments This); + +// +++ Print to standard output, as XML +extern_c int +ExecutionArgumentsPrintXML(ConstHandle2ConstExecutionArguments This); + +// +++ Print to standard output, as JSON +extern_c int +ExecutionArgumentsPrintJSON(ConstHandle2ConstExecutionArguments This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +ExecutionArgumentsIntsClear(ConstHandle2ExecutionArguments This); + +// +++ Get size +extern_c size_t +ExecutionArgumentsIntsSize(ConstHandle2ConstExecutionArguments This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +ExecutionArgumentsIntsGet(ConstHandle2ConstExecutionArguments This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ExecutionArgumentsIntsSet(ConstHandle2ExecutionArguments This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +ExecutionArgumentsIntsGetArrayConst(ConstHandle2ConstExecutionArguments This); + +// +++ Get pointer to existing values, non-const +extern_c int * +ExecutionArgumentsIntsGetArray(ConstHandle2ExecutionArguments This); + +// +++ Set completely new values and size +extern_c void +ExecutionArgumentsIntsSetArray(ConstHandle2ExecutionArguments This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +ExecutionArgumentsUnsignedsClear(ConstHandle2ExecutionArguments This); + +// +++ Get size +extern_c size_t +ExecutionArgumentsUnsignedsSize(ConstHandle2ConstExecutionArguments This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +ExecutionArgumentsUnsignedsGet(ConstHandle2ConstExecutionArguments This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ExecutionArgumentsUnsignedsSet(ConstHandle2ExecutionArguments This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +ExecutionArgumentsUnsignedsGetArrayConst(ConstHandle2ConstExecutionArguments This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +ExecutionArgumentsUnsignedsGetArray(ConstHandle2ExecutionArguments This); + +// +++ Set completely new values and size +extern_c void +ExecutionArgumentsUnsignedsSetArray(ConstHandle2ExecutionArguments This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +ExecutionArgumentsFloatsClear(ConstHandle2ExecutionArguments This); + +// +++ Get size +extern_c size_t +ExecutionArgumentsFloatsSize(ConstHandle2ConstExecutionArguments This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +ExecutionArgumentsFloatsGet(ConstHandle2ConstExecutionArguments This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ExecutionArgumentsFloatsSet(ConstHandle2ExecutionArguments This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +ExecutionArgumentsFloatsGetArrayConst(ConstHandle2ConstExecutionArguments This); + +// +++ Get pointer to existing values, non-const +extern_c float * +ExecutionArgumentsFloatsGetArray(ConstHandle2ExecutionArguments This); + +// +++ Set completely new values and size +extern_c void +ExecutionArgumentsFloatsSetArray(ConstHandle2ExecutionArguments This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +ExecutionArgumentsDoublesClear(ConstHandle2ExecutionArguments This); + +// +++ Get size +extern_c size_t +ExecutionArgumentsDoublesSize(ConstHandle2ConstExecutionArguments This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +ExecutionArgumentsDoublesGet(ConstHandle2ConstExecutionArguments This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ExecutionArgumentsDoublesSet(ConstHandle2ExecutionArguments This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +ExecutionArgumentsDoublesGetArrayConst(ConstHandle2ConstExecutionArguments This); + +// +++ Get pointer to existing values, non-const +extern_c double * +ExecutionArgumentsDoublesGetArray(ConstHandle2ExecutionArguments This); + +// +++ Set completely new values and size +extern_c void +ExecutionArgumentsDoublesSetArray(ConstHandle2ExecutionArguments This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExecutionArgumentsEncodingHas(ConstHandle2ConstExecutionArguments This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ExecutionArgumentsEncodingGet(ConstHandle2ConstExecutionArguments This); + +// +++ Set +extern_c void +ExecutionArgumentsEncodingSet(ConstHandle2ExecutionArguments This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExecutionArgumentsMarkupHas(ConstHandle2ConstExecutionArguments This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ExecutionArgumentsMarkupGet(ConstHandle2ConstExecutionArguments This); + +// +++ Set +extern_c void +ExecutionArgumentsMarkupSet(ConstHandle2ExecutionArguments This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExecutionArgumentsLabelHas(ConstHandle2ConstExecutionArguments This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ExecutionArgumentsLabelGet(ConstHandle2ConstExecutionArguments This); + +// +++ Set +extern_c void +ExecutionArgumentsLabelSet(ConstHandle2ExecutionArguments This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.cpp new file mode 100644 index 000000000..ceb32de02 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.cpp @@ -0,0 +1,330 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/ExforDataSet.hpp" +#include "ExforDataSet.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ExforDataSetClass; +using CPP = multigroup::ExforDataSet; + +static const std::string CLASSNAME = "ExforDataSet"; + +namespace extract { + static auto subentry = [](auto &obj) { return &obj.subentry; }; + static auto retrievalDate = [](auto &obj) { return &obj.retrievalDate; }; + static auto covarianceScript = [](auto &obj) { return &obj.covarianceScript; }; + static auto correctionScript = [](auto &obj) { return &obj.correctionScript; }; + static auto note = [](auto &obj) { return &obj.note; }; +} + +using CPPCovarianceScript = documentation::CovarianceScript; +using CPPCorrectionScript = documentation::CorrectionScript; +using CPPNote = documentation::Note; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstExforDataSet +ExforDataSetDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ExforDataSet +ExforDataSetDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstExforDataSet +ExforDataSetCreateConst( + const XMLName subentry, + const char *const retrievalDate, + ConstHandle2ConstCovarianceScript covarianceScript, + ConstHandle2ConstCorrectionScript correctionScript, + ConstHandle2ConstNote note +) { + ConstHandle2ExforDataSet handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + subentry, + retrievalDate, + detail::tocpp(covarianceScript), + detail::tocpp(correctionScript), + detail::tocpp(note) + ); + return handle; +} + +// Create, general +Handle2ExforDataSet +ExforDataSetCreate( + const XMLName subentry, + const char *const retrievalDate, + ConstHandle2ConstCovarianceScript covarianceScript, + ConstHandle2ConstCorrectionScript correctionScript, + ConstHandle2ConstNote note +) { + ConstHandle2ExforDataSet handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + subentry, + retrievalDate, + detail::tocpp(covarianceScript), + detail::tocpp(correctionScript), + detail::tocpp(note) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ExforDataSetAssign(ConstHandle2ExforDataSet This, ConstHandle2ConstExforDataSet from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ExforDataSetDelete(ConstHandle2ConstExforDataSet This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ExforDataSetRead(ConstHandle2ExforDataSet This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ExforDataSetWrite(ConstHandle2ConstExforDataSet This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ExforDataSetPrint(ConstHandle2ConstExforDataSet This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ExforDataSetPrintXML(ConstHandle2ConstExforDataSet This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ExforDataSetPrintJSON(ConstHandle2ConstExforDataSet This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: subentry +// ----------------------------------------------------------------------------- + +// Has +int +ExforDataSetSubentryHas(ConstHandle2ConstExforDataSet This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SubentryHas", This, extract::subentry); +} + +// Get +// Returns by value +XMLName +ExforDataSetSubentryGet(ConstHandle2ConstExforDataSet This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SubentryGet", This, extract::subentry); +} + +// Set +void +ExforDataSetSubentrySet(ConstHandle2ExforDataSet This, const XMLName subentry) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SubentrySet", This, extract::subentry, subentry); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: retrievalDate +// ----------------------------------------------------------------------------- + +// Has +int +ExforDataSetRetrievalDateHas(ConstHandle2ConstExforDataSet This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RetrievalDateHas", This, extract::retrievalDate); +} + +// Get +// Returns by value +const char * +ExforDataSetRetrievalDateGet(ConstHandle2ConstExforDataSet This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RetrievalDateGet", This, extract::retrievalDate); +} + +// Set +void +ExforDataSetRetrievalDateSet(ConstHandle2ExforDataSet This, const char *const retrievalDate) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RetrievalDateSet", This, extract::retrievalDate, retrievalDate); +} + + +// ----------------------------------------------------------------------------- +// Child: covarianceScript +// ----------------------------------------------------------------------------- + +// Has +int +ExforDataSetCovarianceScriptHas(ConstHandle2ConstExforDataSet This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CovarianceScriptHas", This, extract::covarianceScript); +} + +// Get, const +Handle2ConstCovarianceScript +ExforDataSetCovarianceScriptGetConst(ConstHandle2ConstExforDataSet This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceScriptGetConst", This, extract::covarianceScript); +} + +// Get, non-const +Handle2CovarianceScript +ExforDataSetCovarianceScriptGet(ConstHandle2ExforDataSet This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceScriptGet", This, extract::covarianceScript); +} + +// Set +void +ExforDataSetCovarianceScriptSet(ConstHandle2ExforDataSet This, ConstHandle2ConstCovarianceScript covarianceScript) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CovarianceScriptSet", This, extract::covarianceScript, covarianceScript); +} + + +// ----------------------------------------------------------------------------- +// Child: correctionScript +// ----------------------------------------------------------------------------- + +// Has +int +ExforDataSetCorrectionScriptHas(ConstHandle2ConstExforDataSet This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CorrectionScriptHas", This, extract::correctionScript); +} + +// Get, const +Handle2ConstCorrectionScript +ExforDataSetCorrectionScriptGetConst(ConstHandle2ConstExforDataSet This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CorrectionScriptGetConst", This, extract::correctionScript); +} + +// Get, non-const +Handle2CorrectionScript +ExforDataSetCorrectionScriptGet(ConstHandle2ExforDataSet This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CorrectionScriptGet", This, extract::correctionScript); +} + +// Set +void +ExforDataSetCorrectionScriptSet(ConstHandle2ExforDataSet This, ConstHandle2ConstCorrectionScript correctionScript) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CorrectionScriptSet", This, extract::correctionScript, correctionScript); +} + + +// ----------------------------------------------------------------------------- +// Child: note +// ----------------------------------------------------------------------------- + +// Has +int +ExforDataSetNoteHas(ConstHandle2ConstExforDataSet This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NoteHas", This, extract::note); +} + +// Get, const +Handle2ConstNote +ExforDataSetNoteGetConst(ConstHandle2ConstExforDataSet This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NoteGetConst", This, extract::note); +} + +// Get, non-const +Handle2Note +ExforDataSetNoteGet(ConstHandle2ExforDataSet This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NoteGet", This, extract::note); +} + +// Set +void +ExforDataSetNoteSet(ConstHandle2ExforDataSet This, ConstHandle2ConstNote note) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NoteSet", This, extract::note, note); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.h new file mode 100644 index 000000000..52e1cdb26 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.h @@ -0,0 +1,247 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ExforDataSet is the basic handle type in this file. Example: +// // Create a default ExforDataSet object: +// ExforDataSet handle = ExforDataSetDefault(); +// Functions involving ExforDataSet are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXFORDATASET +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXFORDATASET + +#include "GNDStk.h" +#include "v2.0/documentation/CovarianceScript.h" +#include "v2.0/documentation/CorrectionScript.h" +#include "v2.0/documentation/Note.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ExforDataSetClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ExforDataSet +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ExforDataSetClass *ExforDataSet; + +// --- Const-aware handles. +typedef const struct ExforDataSetClass *const ConstHandle2ConstExforDataSet; +typedef struct ExforDataSetClass *const ConstHandle2ExforDataSet; +typedef const struct ExforDataSetClass * Handle2ConstExforDataSet; +typedef struct ExforDataSetClass * Handle2ExforDataSet; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstExforDataSet +ExforDataSetDefaultConst(); + +// +++ Create, default +extern_c Handle2ExforDataSet +ExforDataSetDefault(); + +// --- Create, general, const +extern_c Handle2ConstExforDataSet +ExforDataSetCreateConst( + const XMLName subentry, + const char *const retrievalDate, + ConstHandle2ConstCovarianceScript covarianceScript, + ConstHandle2ConstCorrectionScript correctionScript, + ConstHandle2ConstNote note +); + +// +++ Create, general +extern_c Handle2ExforDataSet +ExforDataSetCreate( + const XMLName subentry, + const char *const retrievalDate, + ConstHandle2ConstCovarianceScript covarianceScript, + ConstHandle2ConstCorrectionScript correctionScript, + ConstHandle2ConstNote note +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ExforDataSetAssign(ConstHandle2ExforDataSet This, ConstHandle2ConstExforDataSet from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ExforDataSetDelete(ConstHandle2ConstExforDataSet This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ExforDataSetRead(ConstHandle2ExforDataSet This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ExforDataSetWrite(ConstHandle2ConstExforDataSet This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ExforDataSetPrint(ConstHandle2ConstExforDataSet This); + +// +++ Print to standard output, as XML +extern_c int +ExforDataSetPrintXML(ConstHandle2ConstExforDataSet This); + +// +++ Print to standard output, as JSON +extern_c int +ExforDataSetPrintJSON(ConstHandle2ConstExforDataSet This); + + +// ----------------------------------------------------------------------------- +// Metadatum: subentry +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExforDataSetSubentryHas(ConstHandle2ConstExforDataSet This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ExforDataSetSubentryGet(ConstHandle2ConstExforDataSet This); + +// +++ Set +extern_c void +ExforDataSetSubentrySet(ConstHandle2ExforDataSet This, const XMLName subentry); + + +// ----------------------------------------------------------------------------- +// Metadatum: retrievalDate +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExforDataSetRetrievalDateHas(ConstHandle2ConstExforDataSet This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ExforDataSetRetrievalDateGet(ConstHandle2ConstExforDataSet This); + +// +++ Set +extern_c void +ExforDataSetRetrievalDateSet(ConstHandle2ExforDataSet This, const char *const retrievalDate); + + +// ----------------------------------------------------------------------------- +// Child: covarianceScript +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExforDataSetCovarianceScriptHas(ConstHandle2ConstExforDataSet This); + +// --- Get, const +extern_c Handle2ConstCovarianceScript +ExforDataSetCovarianceScriptGetConst(ConstHandle2ConstExforDataSet This); + +// +++ Get, non-const +extern_c Handle2CovarianceScript +ExforDataSetCovarianceScriptGet(ConstHandle2ExforDataSet This); + +// +++ Set +extern_c void +ExforDataSetCovarianceScriptSet(ConstHandle2ExforDataSet This, ConstHandle2ConstCovarianceScript covarianceScript); + + +// ----------------------------------------------------------------------------- +// Child: correctionScript +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExforDataSetCorrectionScriptHas(ConstHandle2ConstExforDataSet This); + +// --- Get, const +extern_c Handle2ConstCorrectionScript +ExforDataSetCorrectionScriptGetConst(ConstHandle2ConstExforDataSet This); + +// +++ Get, non-const +extern_c Handle2CorrectionScript +ExforDataSetCorrectionScriptGet(ConstHandle2ExforDataSet This); + +// +++ Set +extern_c void +ExforDataSetCorrectionScriptSet(ConstHandle2ExforDataSet This, ConstHandle2ConstCorrectionScript correctionScript); + + +// ----------------------------------------------------------------------------- +// Child: note +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExforDataSetNoteHas(ConstHandle2ConstExforDataSet This); + +// --- Get, const +extern_c Handle2ConstNote +ExforDataSetNoteGetConst(ConstHandle2ConstExforDataSet This); + +// +++ Get, non-const +extern_c Handle2Note +ExforDataSetNoteGet(ConstHandle2ExforDataSet This); + +// +++ Set +extern_c void +ExforDataSetNoteSet(ConstHandle2ExforDataSet This, ConstHandle2ConstNote note); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.cpp new file mode 100644 index 000000000..c0424bfda --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/ExforDataSets.hpp" +#include "ExforDataSets.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ExforDataSetsClass; +using CPP = multigroup::ExforDataSets; + +static const std::string CLASSNAME = "ExforDataSets"; + +namespace extract { + static auto exforDataSet = [](auto &obj) { return &obj.exforDataSet; }; +} + +using CPPExforDataSet = documentation::ExforDataSet; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstExforDataSets +ExforDataSetsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ExforDataSets +ExforDataSetsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstExforDataSets +ExforDataSetsCreateConst( + ConstHandle2ExforDataSet *const exforDataSet, const size_t exforDataSetSize +) { + ConstHandle2ExforDataSets handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ExforDataSetN = 0; ExforDataSetN < exforDataSetSize; ++ExforDataSetN) + ExforDataSetsExforDataSetAdd(handle, exforDataSet[ExforDataSetN]); + return handle; +} + +// Create, general +Handle2ExforDataSets +ExforDataSetsCreate( + ConstHandle2ExforDataSet *const exforDataSet, const size_t exforDataSetSize +) { + ConstHandle2ExforDataSets handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ExforDataSetN = 0; ExforDataSetN < exforDataSetSize; ++ExforDataSetN) + ExforDataSetsExforDataSetAdd(handle, exforDataSet[ExforDataSetN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ExforDataSetsAssign(ConstHandle2ExforDataSets This, ConstHandle2ConstExforDataSets from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ExforDataSetsDelete(ConstHandle2ConstExforDataSets This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ExforDataSetsRead(ConstHandle2ExforDataSets This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ExforDataSetsWrite(ConstHandle2ConstExforDataSets This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ExforDataSetsPrint(ConstHandle2ConstExforDataSets This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ExforDataSetsPrintXML(ConstHandle2ConstExforDataSets This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ExforDataSetsPrintJSON(ConstHandle2ConstExforDataSets This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: exforDataSet +// ----------------------------------------------------------------------------- + +// Has +int +ExforDataSetsExforDataSetHas(ConstHandle2ConstExforDataSets This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ExforDataSetHas", This, extract::exforDataSet); +} + +// Clear +void +ExforDataSetsExforDataSetClear(ConstHandle2ExforDataSets This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ExforDataSetClear", This, extract::exforDataSet); +} + +// Size +size_t +ExforDataSetsExforDataSetSize(ConstHandle2ConstExforDataSets This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ExforDataSetSize", This, extract::exforDataSet); +} + +// Add +void +ExforDataSetsExforDataSetAdd(ConstHandle2ExforDataSets This, ConstHandle2ConstExforDataSet exforDataSet) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ExforDataSetAdd", This, extract::exforDataSet, exforDataSet); +} + +// Get, by index \in [0,size), const +Handle2ConstExforDataSet +ExforDataSetsExforDataSetGetConst(ConstHandle2ConstExforDataSets This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ExforDataSetGetConst", This, extract::exforDataSet, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ExforDataSet +ExforDataSetsExforDataSetGet(ConstHandle2ExforDataSets This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ExforDataSetGet", This, extract::exforDataSet, index_); +} + +// Set, by index \in [0,size) +void +ExforDataSetsExforDataSetSet( + ConstHandle2ExforDataSets This, + const size_t index_, + ConstHandle2ConstExforDataSet exforDataSet +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ExforDataSetSet", This, extract::exforDataSet, index_, exforDataSet); +} + +// Has, by subentry +int +ExforDataSetsExforDataSetHasBySubentry( + ConstHandle2ConstExforDataSets This, + const XMLName subentry +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ExforDataSetHasBySubentry", + This, extract::exforDataSet, meta::subentry, subentry); +} + +// Get, by subentry, const +Handle2ConstExforDataSet +ExforDataSetsExforDataSetGetBySubentryConst( + ConstHandle2ConstExforDataSets This, + const XMLName subentry +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExforDataSetGetBySubentryConst", + This, extract::exforDataSet, meta::subentry, subentry); +} + +// Get, by subentry, non-const +Handle2ExforDataSet +ExforDataSetsExforDataSetGetBySubentry( + ConstHandle2ExforDataSets This, + const XMLName subentry +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExforDataSetGetBySubentry", + This, extract::exforDataSet, meta::subentry, subentry); +} + +// Set, by subentry +void +ExforDataSetsExforDataSetSetBySubentry( + ConstHandle2ExforDataSets This, + const XMLName subentry, + ConstHandle2ConstExforDataSet exforDataSet +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ExforDataSetSetBySubentry", + This, extract::exforDataSet, meta::subentry, subentry, exforDataSet); +} + +// Has, by retrievalDate +int +ExforDataSetsExforDataSetHasByRetrievalDate( + ConstHandle2ConstExforDataSets This, + const char *const retrievalDate +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ExforDataSetHasByRetrievalDate", + This, extract::exforDataSet, meta::retrievalDate, retrievalDate); +} + +// Get, by retrievalDate, const +Handle2ConstExforDataSet +ExforDataSetsExforDataSetGetByRetrievalDateConst( + ConstHandle2ConstExforDataSets This, + const char *const retrievalDate +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExforDataSetGetByRetrievalDateConst", + This, extract::exforDataSet, meta::retrievalDate, retrievalDate); +} + +// Get, by retrievalDate, non-const +Handle2ExforDataSet +ExforDataSetsExforDataSetGetByRetrievalDate( + ConstHandle2ExforDataSets This, + const char *const retrievalDate +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ExforDataSetGetByRetrievalDate", + This, extract::exforDataSet, meta::retrievalDate, retrievalDate); +} + +// Set, by retrievalDate +void +ExforDataSetsExforDataSetSetByRetrievalDate( + ConstHandle2ExforDataSets This, + const char *const retrievalDate, + ConstHandle2ConstExforDataSet exforDataSet +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ExforDataSetSetByRetrievalDate", + This, extract::exforDataSet, meta::retrievalDate, retrievalDate, exforDataSet); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.h new file mode 100644 index 000000000..87121a1a7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ExforDataSets is the basic handle type in this file. Example: +// // Create a default ExforDataSets object: +// ExforDataSets handle = ExforDataSetsDefault(); +// Functions involving ExforDataSets are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXFORDATASETS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXFORDATASETS + +#include "GNDStk.h" +#include "v2.0/documentation/ExforDataSet.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ExforDataSetsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ExforDataSets +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ExforDataSetsClass *ExforDataSets; + +// --- Const-aware handles. +typedef const struct ExforDataSetsClass *const ConstHandle2ConstExforDataSets; +typedef struct ExforDataSetsClass *const ConstHandle2ExforDataSets; +typedef const struct ExforDataSetsClass * Handle2ConstExforDataSets; +typedef struct ExforDataSetsClass * Handle2ExforDataSets; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstExforDataSets +ExforDataSetsDefaultConst(); + +// +++ Create, default +extern_c Handle2ExforDataSets +ExforDataSetsDefault(); + +// --- Create, general, const +extern_c Handle2ConstExforDataSets +ExforDataSetsCreateConst( + ConstHandle2ExforDataSet *const exforDataSet, const size_t exforDataSetSize +); + +// +++ Create, general +extern_c Handle2ExforDataSets +ExforDataSetsCreate( + ConstHandle2ExforDataSet *const exforDataSet, const size_t exforDataSetSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ExforDataSetsAssign(ConstHandle2ExforDataSets This, ConstHandle2ConstExforDataSets from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ExforDataSetsDelete(ConstHandle2ConstExforDataSets This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ExforDataSetsRead(ConstHandle2ExforDataSets This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ExforDataSetsWrite(ConstHandle2ConstExforDataSets This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ExforDataSetsPrint(ConstHandle2ConstExforDataSets This); + +// +++ Print to standard output, as XML +extern_c int +ExforDataSetsPrintXML(ConstHandle2ConstExforDataSets This); + +// +++ Print to standard output, as JSON +extern_c int +ExforDataSetsPrintJSON(ConstHandle2ConstExforDataSets This); + + +// ----------------------------------------------------------------------------- +// Child: exforDataSet +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExforDataSetsExforDataSetHas(ConstHandle2ConstExforDataSets This); + +// +++ Clear +extern_c void +ExforDataSetsExforDataSetClear(ConstHandle2ExforDataSets This); + +// +++ Size +extern_c size_t +ExforDataSetsExforDataSetSize(ConstHandle2ConstExforDataSets This); + +// +++ Add +extern_c void +ExforDataSetsExforDataSetAdd(ConstHandle2ExforDataSets This, ConstHandle2ConstExforDataSet exforDataSet); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstExforDataSet +ExforDataSetsExforDataSetGetConst(ConstHandle2ConstExforDataSets This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ExforDataSet +ExforDataSetsExforDataSetGet(ConstHandle2ExforDataSets This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ExforDataSetsExforDataSetSet( + ConstHandle2ExforDataSets This, + const size_t index_, + ConstHandle2ConstExforDataSet exforDataSet +); + +// +++ Has, by subentry +extern_c int +ExforDataSetsExforDataSetHasBySubentry( + ConstHandle2ConstExforDataSets This, + const XMLName subentry +); + +// --- Get, by subentry, const +extern_c Handle2ConstExforDataSet +ExforDataSetsExforDataSetGetBySubentryConst( + ConstHandle2ConstExforDataSets This, + const XMLName subentry +); + +// +++ Get, by subentry, non-const +extern_c Handle2ExforDataSet +ExforDataSetsExforDataSetGetBySubentry( + ConstHandle2ExforDataSets This, + const XMLName subentry +); + +// +++ Set, by subentry +extern_c void +ExforDataSetsExforDataSetSetBySubentry( + ConstHandle2ExforDataSets This, + const XMLName subentry, + ConstHandle2ConstExforDataSet exforDataSet +); + +// +++ Has, by retrievalDate +extern_c int +ExforDataSetsExforDataSetHasByRetrievalDate( + ConstHandle2ConstExforDataSets This, + const char *const retrievalDate +); + +// --- Get, by retrievalDate, const +extern_c Handle2ConstExforDataSet +ExforDataSetsExforDataSetGetByRetrievalDateConst( + ConstHandle2ConstExforDataSets This, + const char *const retrievalDate +); + +// +++ Get, by retrievalDate, non-const +extern_c Handle2ExforDataSet +ExforDataSetsExforDataSetGetByRetrievalDate( + ConstHandle2ExforDataSets This, + const char *const retrievalDate +); + +// +++ Set, by retrievalDate +extern_c void +ExforDataSetsExforDataSetSetByRetrievalDate( + ConstHandle2ExforDataSets This, + const char *const retrievalDate, + ConstHandle2ConstExforDataSet exforDataSet +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.cpp new file mode 100644 index 000000000..110e529ce --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/ExperimentalDataSets.hpp" +#include "ExperimentalDataSets.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ExperimentalDataSetsClass; +using CPP = multigroup::ExperimentalDataSets; + +static const std::string CLASSNAME = "ExperimentalDataSets"; + +namespace extract { + static auto exforDataSets = [](auto &obj) { return &obj.exforDataSets; }; +} + +using CPPExforDataSets = documentation::ExforDataSets; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstExperimentalDataSets +ExperimentalDataSetsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ExperimentalDataSets +ExperimentalDataSetsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstExperimentalDataSets +ExperimentalDataSetsCreateConst( + ConstHandle2ConstExforDataSets exforDataSets +) { + ConstHandle2ExperimentalDataSets handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(exforDataSets) + ); + return handle; +} + +// Create, general +Handle2ExperimentalDataSets +ExperimentalDataSetsCreate( + ConstHandle2ConstExforDataSets exforDataSets +) { + ConstHandle2ExperimentalDataSets handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(exforDataSets) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ExperimentalDataSetsAssign(ConstHandle2ExperimentalDataSets This, ConstHandle2ConstExperimentalDataSets from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ExperimentalDataSetsDelete(ConstHandle2ConstExperimentalDataSets This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ExperimentalDataSetsRead(ConstHandle2ExperimentalDataSets This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ExperimentalDataSetsWrite(ConstHandle2ConstExperimentalDataSets This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ExperimentalDataSetsPrint(ConstHandle2ConstExperimentalDataSets This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ExperimentalDataSetsPrintXML(ConstHandle2ConstExperimentalDataSets This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ExperimentalDataSetsPrintJSON(ConstHandle2ConstExperimentalDataSets This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: exforDataSets +// ----------------------------------------------------------------------------- + +// Has +int +ExperimentalDataSetsExforDataSetsHas(ConstHandle2ConstExperimentalDataSets This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ExforDataSetsHas", This, extract::exforDataSets); +} + +// Get, const +Handle2ConstExforDataSets +ExperimentalDataSetsExforDataSetsGetConst(ConstHandle2ConstExperimentalDataSets This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExforDataSetsGetConst", This, extract::exforDataSets); +} + +// Get, non-const +Handle2ExforDataSets +ExperimentalDataSetsExforDataSetsGet(ConstHandle2ExperimentalDataSets This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExforDataSetsGet", This, extract::exforDataSets); +} + +// Set +void +ExperimentalDataSetsExforDataSetsSet(ConstHandle2ExperimentalDataSets This, ConstHandle2ConstExforDataSets exforDataSets) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ExforDataSetsSet", This, extract::exforDataSets, exforDataSets); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.h new file mode 100644 index 000000000..37696065d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ExperimentalDataSets is the basic handle type in this file. Example: +// // Create a default ExperimentalDataSets object: +// ExperimentalDataSets handle = ExperimentalDataSetsDefault(); +// Functions involving ExperimentalDataSets are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS + +#include "GNDStk.h" +#include "v2.0/documentation/ExforDataSets.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ExperimentalDataSetsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ExperimentalDataSets +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ExperimentalDataSetsClass *ExperimentalDataSets; + +// --- Const-aware handles. +typedef const struct ExperimentalDataSetsClass *const ConstHandle2ConstExperimentalDataSets; +typedef struct ExperimentalDataSetsClass *const ConstHandle2ExperimentalDataSets; +typedef const struct ExperimentalDataSetsClass * Handle2ConstExperimentalDataSets; +typedef struct ExperimentalDataSetsClass * Handle2ExperimentalDataSets; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstExperimentalDataSets +ExperimentalDataSetsDefaultConst(); + +// +++ Create, default +extern_c Handle2ExperimentalDataSets +ExperimentalDataSetsDefault(); + +// --- Create, general, const +extern_c Handle2ConstExperimentalDataSets +ExperimentalDataSetsCreateConst( + ConstHandle2ConstExforDataSets exforDataSets +); + +// +++ Create, general +extern_c Handle2ExperimentalDataSets +ExperimentalDataSetsCreate( + ConstHandle2ConstExforDataSets exforDataSets +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ExperimentalDataSetsAssign(ConstHandle2ExperimentalDataSets This, ConstHandle2ConstExperimentalDataSets from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ExperimentalDataSetsDelete(ConstHandle2ConstExperimentalDataSets This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ExperimentalDataSetsRead(ConstHandle2ExperimentalDataSets This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ExperimentalDataSetsWrite(ConstHandle2ConstExperimentalDataSets This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ExperimentalDataSetsPrint(ConstHandle2ConstExperimentalDataSets This); + +// +++ Print to standard output, as XML +extern_c int +ExperimentalDataSetsPrintXML(ConstHandle2ConstExperimentalDataSets This); + +// +++ Print to standard output, as JSON +extern_c int +ExperimentalDataSetsPrintJSON(ConstHandle2ConstExperimentalDataSets This); + + +// ----------------------------------------------------------------------------- +// Child: exforDataSets +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExperimentalDataSetsExforDataSetsHas(ConstHandle2ConstExperimentalDataSets This); + +// --- Get, const +extern_c Handle2ConstExforDataSets +ExperimentalDataSetsExforDataSetsGetConst(ConstHandle2ConstExperimentalDataSets This); + +// +++ Get, non-const +extern_c Handle2ExforDataSets +ExperimentalDataSetsExforDataSetsGet(ConstHandle2ExperimentalDataSets This); + +// +++ Set +extern_c void +ExperimentalDataSetsExforDataSetsSet(ConstHandle2ExperimentalDataSets This, ConstHandle2ConstExforDataSets exforDataSets); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.cpp new file mode 100644 index 000000000..07695f04d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.cpp @@ -0,0 +1,523 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/InputDeck.hpp" +#include "InputDeck.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = InputDeckClass; +using CPP = multigroup::InputDeck; + +static const std::string CLASSNAME = "InputDeck"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto filename = [](auto &obj) { return &obj.filename; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInputDeck +InputDeckDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2InputDeck +InputDeckDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInputDeck +InputDeckCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName filename +) { + ConstHandle2InputDeck handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label, + filename + ); + return handle; +} + +// Create, general +Handle2InputDeck +InputDeckCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName filename +) { + ConstHandle2InputDeck handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label, + filename + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +InputDeckAssign(ConstHandle2InputDeck This, ConstHandle2ConstInputDeck from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +InputDeckDelete(ConstHandle2ConstInputDeck This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +InputDeckRead(ConstHandle2InputDeck This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +InputDeckWrite(ConstHandle2ConstInputDeck This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +InputDeckPrint(ConstHandle2ConstInputDeck This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +InputDeckPrintXML(ConstHandle2ConstInputDeck This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +InputDeckPrintJSON(ConstHandle2ConstInputDeck This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +InputDeckIntsClear(ConstHandle2InputDeck This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +InputDeckIntsSize(ConstHandle2ConstInputDeck This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +InputDeckIntsGet(ConstHandle2ConstInputDeck This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +InputDeckIntsSet(ConstHandle2InputDeck This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +InputDeckIntsGetArrayConst(ConstHandle2ConstInputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +InputDeckIntsGetArray(ConstHandle2InputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +InputDeckIntsSetArray(ConstHandle2InputDeck This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +InputDeckUnsignedsClear(ConstHandle2InputDeck This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +InputDeckUnsignedsSize(ConstHandle2ConstInputDeck This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +InputDeckUnsignedsGet(ConstHandle2ConstInputDeck This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +InputDeckUnsignedsSet(ConstHandle2InputDeck This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +InputDeckUnsignedsGetArrayConst(ConstHandle2ConstInputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +InputDeckUnsignedsGetArray(ConstHandle2InputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +InputDeckUnsignedsSetArray(ConstHandle2InputDeck This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +InputDeckFloatsClear(ConstHandle2InputDeck This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +InputDeckFloatsSize(ConstHandle2ConstInputDeck This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +InputDeckFloatsGet(ConstHandle2ConstInputDeck This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +InputDeckFloatsSet(ConstHandle2InputDeck This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +InputDeckFloatsGetArrayConst(ConstHandle2ConstInputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +InputDeckFloatsGetArray(ConstHandle2InputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +InputDeckFloatsSetArray(ConstHandle2InputDeck This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +InputDeckDoublesClear(ConstHandle2InputDeck This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +InputDeckDoublesSize(ConstHandle2ConstInputDeck This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +InputDeckDoublesGet(ConstHandle2ConstInputDeck This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +InputDeckDoublesSet(ConstHandle2InputDeck This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +InputDeckDoublesGetArrayConst(ConstHandle2ConstInputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +InputDeckDoublesGetArray(ConstHandle2InputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +InputDeckDoublesSetArray(ConstHandle2InputDeck This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +InputDeckEncodingHas(ConstHandle2ConstInputDeck This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +InputDeckEncodingGet(ConstHandle2ConstInputDeck This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +InputDeckEncodingSet(ConstHandle2InputDeck This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +InputDeckMarkupHas(ConstHandle2ConstInputDeck This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +InputDeckMarkupGet(ConstHandle2ConstInputDeck This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +InputDeckMarkupSet(ConstHandle2InputDeck This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +InputDeckLabelHas(ConstHandle2ConstInputDeck This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +InputDeckLabelGet(ConstHandle2ConstInputDeck This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +InputDeckLabelSet(ConstHandle2InputDeck This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: filename +// ----------------------------------------------------------------------------- + +// Has +int +InputDeckFilenameHas(ConstHandle2ConstInputDeck This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FilenameHas", This, extract::filename); +} + +// Get +// Returns by value +XMLName +InputDeckFilenameGet(ConstHandle2ConstInputDeck This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FilenameGet", This, extract::filename); +} + +// Set +void +InputDeckFilenameSet(ConstHandle2InputDeck This, const XMLName filename) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FilenameSet", This, extract::filename, filename); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.h new file mode 100644 index 000000000..74f3490bb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.h @@ -0,0 +1,356 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// InputDeck is the basic handle type in this file. Example: +// // Create a default InputDeck object: +// InputDeck handle = InputDeckDefault(); +// Functions involving InputDeck are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_INPUTDECK +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_INPUTDECK + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct InputDeckClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ InputDeck +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct InputDeckClass *InputDeck; + +// --- Const-aware handles. +typedef const struct InputDeckClass *const ConstHandle2ConstInputDeck; +typedef struct InputDeckClass *const ConstHandle2InputDeck; +typedef const struct InputDeckClass * Handle2ConstInputDeck; +typedef struct InputDeckClass * Handle2InputDeck; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInputDeck +InputDeckDefaultConst(); + +// +++ Create, default +extern_c Handle2InputDeck +InputDeckDefault(); + +// --- Create, general, const +extern_c Handle2ConstInputDeck +InputDeckCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName filename +); + +// +++ Create, general +extern_c Handle2InputDeck +InputDeckCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName filename +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +InputDeckAssign(ConstHandle2InputDeck This, ConstHandle2ConstInputDeck from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +InputDeckDelete(ConstHandle2ConstInputDeck This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +InputDeckRead(ConstHandle2InputDeck This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +InputDeckWrite(ConstHandle2ConstInputDeck This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +InputDeckPrint(ConstHandle2ConstInputDeck This); + +// +++ Print to standard output, as XML +extern_c int +InputDeckPrintXML(ConstHandle2ConstInputDeck This); + +// +++ Print to standard output, as JSON +extern_c int +InputDeckPrintJSON(ConstHandle2ConstInputDeck This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +InputDeckIntsClear(ConstHandle2InputDeck This); + +// +++ Get size +extern_c size_t +InputDeckIntsSize(ConstHandle2ConstInputDeck This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +InputDeckIntsGet(ConstHandle2ConstInputDeck This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +InputDeckIntsSet(ConstHandle2InputDeck This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +InputDeckIntsGetArrayConst(ConstHandle2ConstInputDeck This); + +// +++ Get pointer to existing values, non-const +extern_c int * +InputDeckIntsGetArray(ConstHandle2InputDeck This); + +// +++ Set completely new values and size +extern_c void +InputDeckIntsSetArray(ConstHandle2InputDeck This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +InputDeckUnsignedsClear(ConstHandle2InputDeck This); + +// +++ Get size +extern_c size_t +InputDeckUnsignedsSize(ConstHandle2ConstInputDeck This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +InputDeckUnsignedsGet(ConstHandle2ConstInputDeck This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +InputDeckUnsignedsSet(ConstHandle2InputDeck This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +InputDeckUnsignedsGetArrayConst(ConstHandle2ConstInputDeck This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +InputDeckUnsignedsGetArray(ConstHandle2InputDeck This); + +// +++ Set completely new values and size +extern_c void +InputDeckUnsignedsSetArray(ConstHandle2InputDeck This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +InputDeckFloatsClear(ConstHandle2InputDeck This); + +// +++ Get size +extern_c size_t +InputDeckFloatsSize(ConstHandle2ConstInputDeck This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +InputDeckFloatsGet(ConstHandle2ConstInputDeck This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +InputDeckFloatsSet(ConstHandle2InputDeck This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +InputDeckFloatsGetArrayConst(ConstHandle2ConstInputDeck This); + +// +++ Get pointer to existing values, non-const +extern_c float * +InputDeckFloatsGetArray(ConstHandle2InputDeck This); + +// +++ Set completely new values and size +extern_c void +InputDeckFloatsSetArray(ConstHandle2InputDeck This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +InputDeckDoublesClear(ConstHandle2InputDeck This); + +// +++ Get size +extern_c size_t +InputDeckDoublesSize(ConstHandle2ConstInputDeck This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +InputDeckDoublesGet(ConstHandle2ConstInputDeck This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +InputDeckDoublesSet(ConstHandle2InputDeck This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +InputDeckDoublesGetArrayConst(ConstHandle2ConstInputDeck This); + +// +++ Get pointer to existing values, non-const +extern_c double * +InputDeckDoublesGetArray(ConstHandle2InputDeck This); + +// +++ Set completely new values and size +extern_c void +InputDeckDoublesSetArray(ConstHandle2InputDeck This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InputDeckEncodingHas(ConstHandle2ConstInputDeck This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +InputDeckEncodingGet(ConstHandle2ConstInputDeck This); + +// +++ Set +extern_c void +InputDeckEncodingSet(ConstHandle2InputDeck This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InputDeckMarkupHas(ConstHandle2ConstInputDeck This); + +// +++ Get +// +++ Returns by value +extern_c const char * +InputDeckMarkupGet(ConstHandle2ConstInputDeck This); + +// +++ Set +extern_c void +InputDeckMarkupSet(ConstHandle2InputDeck This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InputDeckLabelHas(ConstHandle2ConstInputDeck This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +InputDeckLabelGet(ConstHandle2ConstInputDeck This); + +// +++ Set +extern_c void +InputDeckLabelSet(ConstHandle2InputDeck This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: filename +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InputDeckFilenameHas(ConstHandle2ConstInputDeck This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +InputDeckFilenameGet(ConstHandle2ConstInputDeck This); + +// +++ Set +extern_c void +InputDeckFilenameSet(ConstHandle2InputDeck This, const XMLName filename); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.cpp new file mode 100644 index 000000000..55b1d7ae4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/InputDecks.hpp" +#include "InputDecks.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = InputDecksClass; +using CPP = multigroup::InputDecks; + +static const std::string CLASSNAME = "InputDecks"; + +namespace extract { + static auto inputDeck = [](auto &obj) { return &obj.inputDeck; }; +} + +using CPPInputDeck = documentation::InputDeck; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInputDecks +InputDecksDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2InputDecks +InputDecksDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInputDecks +InputDecksCreateConst( + ConstHandle2InputDeck *const inputDeck, const size_t inputDeckSize +) { + ConstHandle2InputDecks handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t InputDeckN = 0; InputDeckN < inputDeckSize; ++InputDeckN) + InputDecksInputDeckAdd(handle, inputDeck[InputDeckN]); + return handle; +} + +// Create, general +Handle2InputDecks +InputDecksCreate( + ConstHandle2InputDeck *const inputDeck, const size_t inputDeckSize +) { + ConstHandle2InputDecks handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t InputDeckN = 0; InputDeckN < inputDeckSize; ++InputDeckN) + InputDecksInputDeckAdd(handle, inputDeck[InputDeckN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +InputDecksAssign(ConstHandle2InputDecks This, ConstHandle2ConstInputDecks from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +InputDecksDelete(ConstHandle2ConstInputDecks This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +InputDecksRead(ConstHandle2InputDecks This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +InputDecksWrite(ConstHandle2ConstInputDecks This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +InputDecksPrint(ConstHandle2ConstInputDecks This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +InputDecksPrintXML(ConstHandle2ConstInputDecks This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +InputDecksPrintJSON(ConstHandle2ConstInputDecks This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: inputDeck +// ----------------------------------------------------------------------------- + +// Has +int +InputDecksInputDeckHas(ConstHandle2ConstInputDecks This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InputDeckHas", This, extract::inputDeck); +} + +// Clear +void +InputDecksInputDeckClear(ConstHandle2InputDecks This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"InputDeckClear", This, extract::inputDeck); +} + +// Size +size_t +InputDecksInputDeckSize(ConstHandle2ConstInputDecks This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"InputDeckSize", This, extract::inputDeck); +} + +// Add +void +InputDecksInputDeckAdd(ConstHandle2InputDecks This, ConstHandle2ConstInputDeck inputDeck) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"InputDeckAdd", This, extract::inputDeck, inputDeck); +} + +// Get, by index \in [0,size), const +Handle2ConstInputDeck +InputDecksInputDeckGetConst(ConstHandle2ConstInputDecks This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"InputDeckGetConst", This, extract::inputDeck, index_); +} + +// Get, by index \in [0,size), non-const +Handle2InputDeck +InputDecksInputDeckGet(ConstHandle2InputDecks This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"InputDeckGet", This, extract::inputDeck, index_); +} + +// Set, by index \in [0,size) +void +InputDecksInputDeckSet( + ConstHandle2InputDecks This, + const size_t index_, + ConstHandle2ConstInputDeck inputDeck +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"InputDeckSet", This, extract::inputDeck, index_, inputDeck); +} + +// Has, by encoding +int +InputDecksInputDeckHasByEncoding( + ConstHandle2ConstInputDecks This, + const XMLName encoding +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckHasByEncoding", + This, extract::inputDeck, meta::encoding, encoding); +} + +// Get, by encoding, const +Handle2ConstInputDeck +InputDecksInputDeckGetByEncodingConst( + ConstHandle2ConstInputDecks This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckGetByEncodingConst", + This, extract::inputDeck, meta::encoding, encoding); +} + +// Get, by encoding, non-const +Handle2InputDeck +InputDecksInputDeckGetByEncoding( + ConstHandle2InputDecks This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckGetByEncoding", + This, extract::inputDeck, meta::encoding, encoding); +} + +// Set, by encoding +void +InputDecksInputDeckSetByEncoding( + ConstHandle2InputDecks This, + const XMLName encoding, + ConstHandle2ConstInputDeck inputDeck +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckSetByEncoding", + This, extract::inputDeck, meta::encoding, encoding, inputDeck); +} + +// Has, by markup +int +InputDecksInputDeckHasByMarkup( + ConstHandle2ConstInputDecks This, + const char *const markup +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckHasByMarkup", + This, extract::inputDeck, meta::markup, markup); +} + +// Get, by markup, const +Handle2ConstInputDeck +InputDecksInputDeckGetByMarkupConst( + ConstHandle2ConstInputDecks This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckGetByMarkupConst", + This, extract::inputDeck, meta::markup, markup); +} + +// Get, by markup, non-const +Handle2InputDeck +InputDecksInputDeckGetByMarkup( + ConstHandle2InputDecks This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckGetByMarkup", + This, extract::inputDeck, meta::markup, markup); +} + +// Set, by markup +void +InputDecksInputDeckSetByMarkup( + ConstHandle2InputDecks This, + const char *const markup, + ConstHandle2ConstInputDeck inputDeck +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckSetByMarkup", + This, extract::inputDeck, meta::markup, markup, inputDeck); +} + +// Has, by label +int +InputDecksInputDeckHasByLabel( + ConstHandle2ConstInputDecks This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckHasByLabel", + This, extract::inputDeck, meta::label, label); +} + +// Get, by label, const +Handle2ConstInputDeck +InputDecksInputDeckGetByLabelConst( + ConstHandle2ConstInputDecks This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckGetByLabelConst", + This, extract::inputDeck, meta::label, label); +} + +// Get, by label, non-const +Handle2InputDeck +InputDecksInputDeckGetByLabel( + ConstHandle2InputDecks This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckGetByLabel", + This, extract::inputDeck, meta::label, label); +} + +// Set, by label +void +InputDecksInputDeckSetByLabel( + ConstHandle2InputDecks This, + const XMLName label, + ConstHandle2ConstInputDeck inputDeck +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckSetByLabel", + This, extract::inputDeck, meta::label, label, inputDeck); +} + +// Has, by filename +int +InputDecksInputDeckHasByFilename( + ConstHandle2ConstInputDecks This, + const XMLName filename +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckHasByFilename", + This, extract::inputDeck, meta::filename, filename); +} + +// Get, by filename, const +Handle2ConstInputDeck +InputDecksInputDeckGetByFilenameConst( + ConstHandle2ConstInputDecks This, + const XMLName filename +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckGetByFilenameConst", + This, extract::inputDeck, meta::filename, filename); +} + +// Get, by filename, non-const +Handle2InputDeck +InputDecksInputDeckGetByFilename( + ConstHandle2InputDecks This, + const XMLName filename +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckGetByFilename", + This, extract::inputDeck, meta::filename, filename); +} + +// Set, by filename +void +InputDecksInputDeckSetByFilename( + ConstHandle2InputDecks This, + const XMLName filename, + ConstHandle2ConstInputDeck inputDeck +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"InputDeckSetByFilename", + This, extract::inputDeck, meta::filename, filename, inputDeck); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.h new file mode 100644 index 000000000..431effa93 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// InputDecks is the basic handle type in this file. Example: +// // Create a default InputDecks object: +// InputDecks handle = InputDecksDefault(); +// Functions involving InputDecks are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_INPUTDECKS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_INPUTDECKS + +#include "GNDStk.h" +#include "v2.0/documentation/InputDeck.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct InputDecksClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ InputDecks +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct InputDecksClass *InputDecks; + +// --- Const-aware handles. +typedef const struct InputDecksClass *const ConstHandle2ConstInputDecks; +typedef struct InputDecksClass *const ConstHandle2InputDecks; +typedef const struct InputDecksClass * Handle2ConstInputDecks; +typedef struct InputDecksClass * Handle2InputDecks; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInputDecks +InputDecksDefaultConst(); + +// +++ Create, default +extern_c Handle2InputDecks +InputDecksDefault(); + +// --- Create, general, const +extern_c Handle2ConstInputDecks +InputDecksCreateConst( + ConstHandle2InputDeck *const inputDeck, const size_t inputDeckSize +); + +// +++ Create, general +extern_c Handle2InputDecks +InputDecksCreate( + ConstHandle2InputDeck *const inputDeck, const size_t inputDeckSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +InputDecksAssign(ConstHandle2InputDecks This, ConstHandle2ConstInputDecks from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +InputDecksDelete(ConstHandle2ConstInputDecks This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +InputDecksRead(ConstHandle2InputDecks This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +InputDecksWrite(ConstHandle2ConstInputDecks This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +InputDecksPrint(ConstHandle2ConstInputDecks This); + +// +++ Print to standard output, as XML +extern_c int +InputDecksPrintXML(ConstHandle2ConstInputDecks This); + +// +++ Print to standard output, as JSON +extern_c int +InputDecksPrintJSON(ConstHandle2ConstInputDecks This); + + +// ----------------------------------------------------------------------------- +// Child: inputDeck +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InputDecksInputDeckHas(ConstHandle2ConstInputDecks This); + +// +++ Clear +extern_c void +InputDecksInputDeckClear(ConstHandle2InputDecks This); + +// +++ Size +extern_c size_t +InputDecksInputDeckSize(ConstHandle2ConstInputDecks This); + +// +++ Add +extern_c void +InputDecksInputDeckAdd(ConstHandle2InputDecks This, ConstHandle2ConstInputDeck inputDeck); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstInputDeck +InputDecksInputDeckGetConst(ConstHandle2ConstInputDecks This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2InputDeck +InputDecksInputDeckGet(ConstHandle2InputDecks This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +InputDecksInputDeckSet( + ConstHandle2InputDecks This, + const size_t index_, + ConstHandle2ConstInputDeck inputDeck +); + +// +++ Has, by encoding +extern_c int +InputDecksInputDeckHasByEncoding( + ConstHandle2ConstInputDecks This, + const XMLName encoding +); + +// --- Get, by encoding, const +extern_c Handle2ConstInputDeck +InputDecksInputDeckGetByEncodingConst( + ConstHandle2ConstInputDecks This, + const XMLName encoding +); + +// +++ Get, by encoding, non-const +extern_c Handle2InputDeck +InputDecksInputDeckGetByEncoding( + ConstHandle2InputDecks This, + const XMLName encoding +); + +// +++ Set, by encoding +extern_c void +InputDecksInputDeckSetByEncoding( + ConstHandle2InputDecks This, + const XMLName encoding, + ConstHandle2ConstInputDeck inputDeck +); + +// +++ Has, by markup +extern_c int +InputDecksInputDeckHasByMarkup( + ConstHandle2ConstInputDecks This, + const char *const markup +); + +// --- Get, by markup, const +extern_c Handle2ConstInputDeck +InputDecksInputDeckGetByMarkupConst( + ConstHandle2ConstInputDecks This, + const char *const markup +); + +// +++ Get, by markup, non-const +extern_c Handle2InputDeck +InputDecksInputDeckGetByMarkup( + ConstHandle2InputDecks This, + const char *const markup +); + +// +++ Set, by markup +extern_c void +InputDecksInputDeckSetByMarkup( + ConstHandle2InputDecks This, + const char *const markup, + ConstHandle2ConstInputDeck inputDeck +); + +// +++ Has, by label +extern_c int +InputDecksInputDeckHasByLabel( + ConstHandle2ConstInputDecks This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstInputDeck +InputDecksInputDeckGetByLabelConst( + ConstHandle2ConstInputDecks This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2InputDeck +InputDecksInputDeckGetByLabel( + ConstHandle2InputDecks This, + const XMLName label +); + +// +++ Set, by label +extern_c void +InputDecksInputDeckSetByLabel( + ConstHandle2InputDecks This, + const XMLName label, + ConstHandle2ConstInputDeck inputDeck +); + +// +++ Has, by filename +extern_c int +InputDecksInputDeckHasByFilename( + ConstHandle2ConstInputDecks This, + const XMLName filename +); + +// --- Get, by filename, const +extern_c Handle2ConstInputDeck +InputDecksInputDeckGetByFilenameConst( + ConstHandle2ConstInputDecks This, + const XMLName filename +); + +// +++ Get, by filename, non-const +extern_c Handle2InputDeck +InputDecksInputDeckGetByFilename( + ConstHandle2InputDecks This, + const XMLName filename +); + +// +++ Set, by filename +extern_c void +InputDecksInputDeckSetByFilename( + ConstHandle2InputDecks This, + const XMLName filename, + ConstHandle2ConstInputDeck inputDeck +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.cpp new file mode 100644 index 000000000..b2e73518a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.cpp @@ -0,0 +1,523 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Keyword.hpp" +#include "Keyword.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = KeywordClass; +using CPP = multigroup::Keyword; + +static const std::string CLASSNAME = "Keyword"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto type = [](auto &obj) { return &obj.type; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstKeyword +KeywordDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Keyword +KeywordDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstKeyword +KeywordCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName type +) { + ConstHandle2Keyword handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label, + type + ); + return handle; +} + +// Create, general +Handle2Keyword +KeywordCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName type +) { + ConstHandle2Keyword handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label, + type + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +KeywordAssign(ConstHandle2Keyword This, ConstHandle2ConstKeyword from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +KeywordDelete(ConstHandle2ConstKeyword This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +KeywordRead(ConstHandle2Keyword This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +KeywordWrite(ConstHandle2ConstKeyword This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +KeywordPrint(ConstHandle2ConstKeyword This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +KeywordPrintXML(ConstHandle2ConstKeyword This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +KeywordPrintJSON(ConstHandle2ConstKeyword This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +KeywordIntsClear(ConstHandle2Keyword This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +KeywordIntsSize(ConstHandle2ConstKeyword This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +KeywordIntsGet(ConstHandle2ConstKeyword This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +KeywordIntsSet(ConstHandle2Keyword This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +KeywordIntsGetArrayConst(ConstHandle2ConstKeyword This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +KeywordIntsGetArray(ConstHandle2Keyword This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +KeywordIntsSetArray(ConstHandle2Keyword This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +KeywordUnsignedsClear(ConstHandle2Keyword This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +KeywordUnsignedsSize(ConstHandle2ConstKeyword This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +KeywordUnsignedsGet(ConstHandle2ConstKeyword This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +KeywordUnsignedsSet(ConstHandle2Keyword This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +KeywordUnsignedsGetArrayConst(ConstHandle2ConstKeyword This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +KeywordUnsignedsGetArray(ConstHandle2Keyword This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +KeywordUnsignedsSetArray(ConstHandle2Keyword This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +KeywordFloatsClear(ConstHandle2Keyword This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +KeywordFloatsSize(ConstHandle2ConstKeyword This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +KeywordFloatsGet(ConstHandle2ConstKeyword This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +KeywordFloatsSet(ConstHandle2Keyword This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +KeywordFloatsGetArrayConst(ConstHandle2ConstKeyword This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +KeywordFloatsGetArray(ConstHandle2Keyword This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +KeywordFloatsSetArray(ConstHandle2Keyword This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +KeywordDoublesClear(ConstHandle2Keyword This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +KeywordDoublesSize(ConstHandle2ConstKeyword This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +KeywordDoublesGet(ConstHandle2ConstKeyword This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +KeywordDoublesSet(ConstHandle2Keyword This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +KeywordDoublesGetArrayConst(ConstHandle2ConstKeyword This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +KeywordDoublesGetArray(ConstHandle2Keyword This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +KeywordDoublesSetArray(ConstHandle2Keyword This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +KeywordEncodingHas(ConstHandle2ConstKeyword This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +KeywordEncodingGet(ConstHandle2ConstKeyword This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +KeywordEncodingSet(ConstHandle2Keyword This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +KeywordMarkupHas(ConstHandle2ConstKeyword This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +KeywordMarkupGet(ConstHandle2ConstKeyword This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +KeywordMarkupSet(ConstHandle2Keyword This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +KeywordLabelHas(ConstHandle2ConstKeyword This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +KeywordLabelGet(ConstHandle2ConstKeyword This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +KeywordLabelSet(ConstHandle2Keyword This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// Has +int +KeywordTypeHas(ConstHandle2ConstKeyword This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TypeHas", This, extract::type); +} + +// Get +// Returns by value +XMLName +KeywordTypeGet(ConstHandle2ConstKeyword This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TypeGet", This, extract::type); +} + +// Set +void +KeywordTypeSet(ConstHandle2Keyword This, const XMLName type) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TypeSet", This, extract::type, type); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.h new file mode 100644 index 000000000..ece9216bc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.h @@ -0,0 +1,356 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Keyword is the basic handle type in this file. Example: +// // Create a default Keyword object: +// Keyword handle = KeywordDefault(); +// Functions involving Keyword are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_KEYWORD +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_KEYWORD + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct KeywordClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Keyword +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct KeywordClass *Keyword; + +// --- Const-aware handles. +typedef const struct KeywordClass *const ConstHandle2ConstKeyword; +typedef struct KeywordClass *const ConstHandle2Keyword; +typedef const struct KeywordClass * Handle2ConstKeyword; +typedef struct KeywordClass * Handle2Keyword; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstKeyword +KeywordDefaultConst(); + +// +++ Create, default +extern_c Handle2Keyword +KeywordDefault(); + +// --- Create, general, const +extern_c Handle2ConstKeyword +KeywordCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName type +); + +// +++ Create, general +extern_c Handle2Keyword +KeywordCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName type +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +KeywordAssign(ConstHandle2Keyword This, ConstHandle2ConstKeyword from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +KeywordDelete(ConstHandle2ConstKeyword This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +KeywordRead(ConstHandle2Keyword This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +KeywordWrite(ConstHandle2ConstKeyword This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +KeywordPrint(ConstHandle2ConstKeyword This); + +// +++ Print to standard output, as XML +extern_c int +KeywordPrintXML(ConstHandle2ConstKeyword This); + +// +++ Print to standard output, as JSON +extern_c int +KeywordPrintJSON(ConstHandle2ConstKeyword This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +KeywordIntsClear(ConstHandle2Keyword This); + +// +++ Get size +extern_c size_t +KeywordIntsSize(ConstHandle2ConstKeyword This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +KeywordIntsGet(ConstHandle2ConstKeyword This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +KeywordIntsSet(ConstHandle2Keyword This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +KeywordIntsGetArrayConst(ConstHandle2ConstKeyword This); + +// +++ Get pointer to existing values, non-const +extern_c int * +KeywordIntsGetArray(ConstHandle2Keyword This); + +// +++ Set completely new values and size +extern_c void +KeywordIntsSetArray(ConstHandle2Keyword This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +KeywordUnsignedsClear(ConstHandle2Keyword This); + +// +++ Get size +extern_c size_t +KeywordUnsignedsSize(ConstHandle2ConstKeyword This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +KeywordUnsignedsGet(ConstHandle2ConstKeyword This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +KeywordUnsignedsSet(ConstHandle2Keyword This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +KeywordUnsignedsGetArrayConst(ConstHandle2ConstKeyword This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +KeywordUnsignedsGetArray(ConstHandle2Keyword This); + +// +++ Set completely new values and size +extern_c void +KeywordUnsignedsSetArray(ConstHandle2Keyword This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +KeywordFloatsClear(ConstHandle2Keyword This); + +// +++ Get size +extern_c size_t +KeywordFloatsSize(ConstHandle2ConstKeyword This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +KeywordFloatsGet(ConstHandle2ConstKeyword This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +KeywordFloatsSet(ConstHandle2Keyword This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +KeywordFloatsGetArrayConst(ConstHandle2ConstKeyword This); + +// +++ Get pointer to existing values, non-const +extern_c float * +KeywordFloatsGetArray(ConstHandle2Keyword This); + +// +++ Set completely new values and size +extern_c void +KeywordFloatsSetArray(ConstHandle2Keyword This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +KeywordDoublesClear(ConstHandle2Keyword This); + +// +++ Get size +extern_c size_t +KeywordDoublesSize(ConstHandle2ConstKeyword This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +KeywordDoublesGet(ConstHandle2ConstKeyword This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +KeywordDoublesSet(ConstHandle2Keyword This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +KeywordDoublesGetArrayConst(ConstHandle2ConstKeyword This); + +// +++ Get pointer to existing values, non-const +extern_c double * +KeywordDoublesGetArray(ConstHandle2Keyword This); + +// +++ Set completely new values and size +extern_c void +KeywordDoublesSetArray(ConstHandle2Keyword This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KeywordEncodingHas(ConstHandle2ConstKeyword This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +KeywordEncodingGet(ConstHandle2ConstKeyword This); + +// +++ Set +extern_c void +KeywordEncodingSet(ConstHandle2Keyword This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KeywordMarkupHas(ConstHandle2ConstKeyword This); + +// +++ Get +// +++ Returns by value +extern_c const char * +KeywordMarkupGet(ConstHandle2ConstKeyword This); + +// +++ Set +extern_c void +KeywordMarkupSet(ConstHandle2Keyword This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KeywordLabelHas(ConstHandle2ConstKeyword This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +KeywordLabelGet(ConstHandle2ConstKeyword This); + +// +++ Set +extern_c void +KeywordLabelSet(ConstHandle2Keyword This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KeywordTypeHas(ConstHandle2ConstKeyword This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +KeywordTypeGet(ConstHandle2ConstKeyword This); + +// +++ Set +extern_c void +KeywordTypeSet(ConstHandle2Keyword This, const XMLName type); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.cpp new file mode 100644 index 000000000..2efdcf389 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Keywords.hpp" +#include "Keywords.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = KeywordsClass; +using CPP = multigroup::Keywords; + +static const std::string CLASSNAME = "Keywords"; + +namespace extract { + static auto keyword = [](auto &obj) { return &obj.keyword; }; +} + +using CPPKeyword = documentation::Keyword; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstKeywords +KeywordsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Keywords +KeywordsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstKeywords +KeywordsCreateConst( + ConstHandle2Keyword *const keyword, const size_t keywordSize +) { + ConstHandle2Keywords handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t KeywordN = 0; KeywordN < keywordSize; ++KeywordN) + KeywordsKeywordAdd(handle, keyword[KeywordN]); + return handle; +} + +// Create, general +Handle2Keywords +KeywordsCreate( + ConstHandle2Keyword *const keyword, const size_t keywordSize +) { + ConstHandle2Keywords handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t KeywordN = 0; KeywordN < keywordSize; ++KeywordN) + KeywordsKeywordAdd(handle, keyword[KeywordN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +KeywordsAssign(ConstHandle2Keywords This, ConstHandle2ConstKeywords from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +KeywordsDelete(ConstHandle2ConstKeywords This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +KeywordsRead(ConstHandle2Keywords This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +KeywordsWrite(ConstHandle2ConstKeywords This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +KeywordsPrint(ConstHandle2ConstKeywords This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +KeywordsPrintXML(ConstHandle2ConstKeywords This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +KeywordsPrintJSON(ConstHandle2ConstKeywords This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: keyword +// ----------------------------------------------------------------------------- + +// Has +int +KeywordsKeywordHas(ConstHandle2ConstKeywords This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"KeywordHas", This, extract::keyword); +} + +// Clear +void +KeywordsKeywordClear(ConstHandle2Keywords This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"KeywordClear", This, extract::keyword); +} + +// Size +size_t +KeywordsKeywordSize(ConstHandle2ConstKeywords This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"KeywordSize", This, extract::keyword); +} + +// Add +void +KeywordsKeywordAdd(ConstHandle2Keywords This, ConstHandle2ConstKeyword keyword) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"KeywordAdd", This, extract::keyword, keyword); +} + +// Get, by index \in [0,size), const +Handle2ConstKeyword +KeywordsKeywordGetConst(ConstHandle2ConstKeywords This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"KeywordGetConst", This, extract::keyword, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Keyword +KeywordsKeywordGet(ConstHandle2Keywords This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"KeywordGet", This, extract::keyword, index_); +} + +// Set, by index \in [0,size) +void +KeywordsKeywordSet( + ConstHandle2Keywords This, + const size_t index_, + ConstHandle2ConstKeyword keyword +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"KeywordSet", This, extract::keyword, index_, keyword); +} + +// Has, by encoding +int +KeywordsKeywordHasByEncoding( + ConstHandle2ConstKeywords This, + const XMLName encoding +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"KeywordHasByEncoding", + This, extract::keyword, meta::encoding, encoding); +} + +// Get, by encoding, const +Handle2ConstKeyword +KeywordsKeywordGetByEncodingConst( + ConstHandle2ConstKeywords This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"KeywordGetByEncodingConst", + This, extract::keyword, meta::encoding, encoding); +} + +// Get, by encoding, non-const +Handle2Keyword +KeywordsKeywordGetByEncoding( + ConstHandle2Keywords This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"KeywordGetByEncoding", + This, extract::keyword, meta::encoding, encoding); +} + +// Set, by encoding +void +KeywordsKeywordSetByEncoding( + ConstHandle2Keywords This, + const XMLName encoding, + ConstHandle2ConstKeyword keyword +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"KeywordSetByEncoding", + This, extract::keyword, meta::encoding, encoding, keyword); +} + +// Has, by markup +int +KeywordsKeywordHasByMarkup( + ConstHandle2ConstKeywords This, + const char *const markup +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"KeywordHasByMarkup", + This, extract::keyword, meta::markup, markup); +} + +// Get, by markup, const +Handle2ConstKeyword +KeywordsKeywordGetByMarkupConst( + ConstHandle2ConstKeywords This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"KeywordGetByMarkupConst", + This, extract::keyword, meta::markup, markup); +} + +// Get, by markup, non-const +Handle2Keyword +KeywordsKeywordGetByMarkup( + ConstHandle2Keywords This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"KeywordGetByMarkup", + This, extract::keyword, meta::markup, markup); +} + +// Set, by markup +void +KeywordsKeywordSetByMarkup( + ConstHandle2Keywords This, + const char *const markup, + ConstHandle2ConstKeyword keyword +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"KeywordSetByMarkup", + This, extract::keyword, meta::markup, markup, keyword); +} + +// Has, by label +int +KeywordsKeywordHasByLabel( + ConstHandle2ConstKeywords This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"KeywordHasByLabel", + This, extract::keyword, meta::label, label); +} + +// Get, by label, const +Handle2ConstKeyword +KeywordsKeywordGetByLabelConst( + ConstHandle2ConstKeywords This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"KeywordGetByLabelConst", + This, extract::keyword, meta::label, label); +} + +// Get, by label, non-const +Handle2Keyword +KeywordsKeywordGetByLabel( + ConstHandle2Keywords This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"KeywordGetByLabel", + This, extract::keyword, meta::label, label); +} + +// Set, by label +void +KeywordsKeywordSetByLabel( + ConstHandle2Keywords This, + const XMLName label, + ConstHandle2ConstKeyword keyword +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"KeywordSetByLabel", + This, extract::keyword, meta::label, label, keyword); +} + +// Has, by type +int +KeywordsKeywordHasByType( + ConstHandle2ConstKeywords This, + const XMLName type +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"KeywordHasByType", + This, extract::keyword, meta::type, type); +} + +// Get, by type, const +Handle2ConstKeyword +KeywordsKeywordGetByTypeConst( + ConstHandle2ConstKeywords This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"KeywordGetByTypeConst", + This, extract::keyword, meta::type, type); +} + +// Get, by type, non-const +Handle2Keyword +KeywordsKeywordGetByType( + ConstHandle2Keywords This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"KeywordGetByType", + This, extract::keyword, meta::type, type); +} + +// Set, by type +void +KeywordsKeywordSetByType( + ConstHandle2Keywords This, + const XMLName type, + ConstHandle2ConstKeyword keyword +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"KeywordSetByType", + This, extract::keyword, meta::type, type, keyword); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.h new file mode 100644 index 000000000..01733d360 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Keywords is the basic handle type in this file. Example: +// // Create a default Keywords object: +// Keywords handle = KeywordsDefault(); +// Functions involving Keywords are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_KEYWORDS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_KEYWORDS + +#include "GNDStk.h" +#include "v2.0/documentation/Keyword.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct KeywordsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Keywords +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct KeywordsClass *Keywords; + +// --- Const-aware handles. +typedef const struct KeywordsClass *const ConstHandle2ConstKeywords; +typedef struct KeywordsClass *const ConstHandle2Keywords; +typedef const struct KeywordsClass * Handle2ConstKeywords; +typedef struct KeywordsClass * Handle2Keywords; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstKeywords +KeywordsDefaultConst(); + +// +++ Create, default +extern_c Handle2Keywords +KeywordsDefault(); + +// --- Create, general, const +extern_c Handle2ConstKeywords +KeywordsCreateConst( + ConstHandle2Keyword *const keyword, const size_t keywordSize +); + +// +++ Create, general +extern_c Handle2Keywords +KeywordsCreate( + ConstHandle2Keyword *const keyword, const size_t keywordSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +KeywordsAssign(ConstHandle2Keywords This, ConstHandle2ConstKeywords from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +KeywordsDelete(ConstHandle2ConstKeywords This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +KeywordsRead(ConstHandle2Keywords This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +KeywordsWrite(ConstHandle2ConstKeywords This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +KeywordsPrint(ConstHandle2ConstKeywords This); + +// +++ Print to standard output, as XML +extern_c int +KeywordsPrintXML(ConstHandle2ConstKeywords This); + +// +++ Print to standard output, as JSON +extern_c int +KeywordsPrintJSON(ConstHandle2ConstKeywords This); + + +// ----------------------------------------------------------------------------- +// Child: keyword +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KeywordsKeywordHas(ConstHandle2ConstKeywords This); + +// +++ Clear +extern_c void +KeywordsKeywordClear(ConstHandle2Keywords This); + +// +++ Size +extern_c size_t +KeywordsKeywordSize(ConstHandle2ConstKeywords This); + +// +++ Add +extern_c void +KeywordsKeywordAdd(ConstHandle2Keywords This, ConstHandle2ConstKeyword keyword); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstKeyword +KeywordsKeywordGetConst(ConstHandle2ConstKeywords This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Keyword +KeywordsKeywordGet(ConstHandle2Keywords This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +KeywordsKeywordSet( + ConstHandle2Keywords This, + const size_t index_, + ConstHandle2ConstKeyword keyword +); + +// +++ Has, by encoding +extern_c int +KeywordsKeywordHasByEncoding( + ConstHandle2ConstKeywords This, + const XMLName encoding +); + +// --- Get, by encoding, const +extern_c Handle2ConstKeyword +KeywordsKeywordGetByEncodingConst( + ConstHandle2ConstKeywords This, + const XMLName encoding +); + +// +++ Get, by encoding, non-const +extern_c Handle2Keyword +KeywordsKeywordGetByEncoding( + ConstHandle2Keywords This, + const XMLName encoding +); + +// +++ Set, by encoding +extern_c void +KeywordsKeywordSetByEncoding( + ConstHandle2Keywords This, + const XMLName encoding, + ConstHandle2ConstKeyword keyword +); + +// +++ Has, by markup +extern_c int +KeywordsKeywordHasByMarkup( + ConstHandle2ConstKeywords This, + const char *const markup +); + +// --- Get, by markup, const +extern_c Handle2ConstKeyword +KeywordsKeywordGetByMarkupConst( + ConstHandle2ConstKeywords This, + const char *const markup +); + +// +++ Get, by markup, non-const +extern_c Handle2Keyword +KeywordsKeywordGetByMarkup( + ConstHandle2Keywords This, + const char *const markup +); + +// +++ Set, by markup +extern_c void +KeywordsKeywordSetByMarkup( + ConstHandle2Keywords This, + const char *const markup, + ConstHandle2ConstKeyword keyword +); + +// +++ Has, by label +extern_c int +KeywordsKeywordHasByLabel( + ConstHandle2ConstKeywords This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstKeyword +KeywordsKeywordGetByLabelConst( + ConstHandle2ConstKeywords This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Keyword +KeywordsKeywordGetByLabel( + ConstHandle2Keywords This, + const XMLName label +); + +// +++ Set, by label +extern_c void +KeywordsKeywordSetByLabel( + ConstHandle2Keywords This, + const XMLName label, + ConstHandle2ConstKeyword keyword +); + +// +++ Has, by type +extern_c int +KeywordsKeywordHasByType( + ConstHandle2ConstKeywords This, + const XMLName type +); + +// --- Get, by type, const +extern_c Handle2ConstKeyword +KeywordsKeywordGetByTypeConst( + ConstHandle2ConstKeywords This, + const XMLName type +); + +// +++ Get, by type, non-const +extern_c Handle2Keyword +KeywordsKeywordGetByType( + ConstHandle2Keywords This, + const XMLName type +); + +// +++ Set, by type +extern_c void +KeywordsKeywordSetByType( + ConstHandle2Keywords This, + const XMLName type, + ConstHandle2ConstKeyword keyword +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.cpp new file mode 100644 index 000000000..6d84f52ce --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Note.hpp" +#include "Note.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NoteClass; +using CPP = multigroup::Note; + +static const std::string CLASSNAME = "Note"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNote +NoteDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Note +NoteDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNote +NoteCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Note handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2Note +NoteCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Note handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NoteAssign(ConstHandle2Note This, ConstHandle2ConstNote from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NoteDelete(ConstHandle2ConstNote This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NoteRead(ConstHandle2Note This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NoteWrite(ConstHandle2ConstNote This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NotePrint(ConstHandle2ConstNote This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NotePrintXML(ConstHandle2ConstNote This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NotePrintJSON(ConstHandle2ConstNote This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +NoteIntsClear(ConstHandle2Note This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +NoteIntsSize(ConstHandle2ConstNote This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +NoteIntsGet(ConstHandle2ConstNote This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +NoteIntsSet(ConstHandle2Note This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +NoteIntsGetArrayConst(ConstHandle2ConstNote This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +NoteIntsGetArray(ConstHandle2Note This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +NoteIntsSetArray(ConstHandle2Note This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +NoteUnsignedsClear(ConstHandle2Note This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +NoteUnsignedsSize(ConstHandle2ConstNote This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +NoteUnsignedsGet(ConstHandle2ConstNote This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +NoteUnsignedsSet(ConstHandle2Note This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +NoteUnsignedsGetArrayConst(ConstHandle2ConstNote This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +NoteUnsignedsGetArray(ConstHandle2Note This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +NoteUnsignedsSetArray(ConstHandle2Note This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +NoteFloatsClear(ConstHandle2Note This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +NoteFloatsSize(ConstHandle2ConstNote This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +NoteFloatsGet(ConstHandle2ConstNote This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +NoteFloatsSet(ConstHandle2Note This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +NoteFloatsGetArrayConst(ConstHandle2ConstNote This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +NoteFloatsGetArray(ConstHandle2Note This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +NoteFloatsSetArray(ConstHandle2Note This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +NoteDoublesClear(ConstHandle2Note This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +NoteDoublesSize(ConstHandle2ConstNote This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +NoteDoublesGet(ConstHandle2ConstNote This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +NoteDoublesSet(ConstHandle2Note This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +NoteDoublesGetArrayConst(ConstHandle2ConstNote This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +NoteDoublesGetArray(ConstHandle2Note This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +NoteDoublesSetArray(ConstHandle2Note This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +NoteEncodingHas(ConstHandle2ConstNote This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +NoteEncodingGet(ConstHandle2ConstNote This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +NoteEncodingSet(ConstHandle2Note This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +NoteMarkupHas(ConstHandle2ConstNote This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +NoteMarkupGet(ConstHandle2ConstNote This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +NoteMarkupSet(ConstHandle2Note This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +NoteLabelHas(ConstHandle2ConstNote This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +NoteLabelGet(ConstHandle2ConstNote This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +NoteLabelSet(ConstHandle2Note This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.h new file mode 100644 index 000000000..d8f5da742 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Note is the basic handle type in this file. Example: +// // Create a default Note object: +// Note handle = NoteDefault(); +// Functions involving Note are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_NOTE +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_NOTE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NoteClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Note +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NoteClass *Note; + +// --- Const-aware handles. +typedef const struct NoteClass *const ConstHandle2ConstNote; +typedef struct NoteClass *const ConstHandle2Note; +typedef const struct NoteClass * Handle2ConstNote; +typedef struct NoteClass * Handle2Note; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNote +NoteDefaultConst(); + +// +++ Create, default +extern_c Handle2Note +NoteDefault(); + +// --- Create, general, const +extern_c Handle2ConstNote +NoteCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2Note +NoteCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NoteAssign(ConstHandle2Note This, ConstHandle2ConstNote from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NoteDelete(ConstHandle2ConstNote This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NoteRead(ConstHandle2Note This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NoteWrite(ConstHandle2ConstNote This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NotePrint(ConstHandle2ConstNote This); + +// +++ Print to standard output, as XML +extern_c int +NotePrintXML(ConstHandle2ConstNote This); + +// +++ Print to standard output, as JSON +extern_c int +NotePrintJSON(ConstHandle2ConstNote This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +NoteIntsClear(ConstHandle2Note This); + +// +++ Get size +extern_c size_t +NoteIntsSize(ConstHandle2ConstNote This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +NoteIntsGet(ConstHandle2ConstNote This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +NoteIntsSet(ConstHandle2Note This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +NoteIntsGetArrayConst(ConstHandle2ConstNote This); + +// +++ Get pointer to existing values, non-const +extern_c int * +NoteIntsGetArray(ConstHandle2Note This); + +// +++ Set completely new values and size +extern_c void +NoteIntsSetArray(ConstHandle2Note This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +NoteUnsignedsClear(ConstHandle2Note This); + +// +++ Get size +extern_c size_t +NoteUnsignedsSize(ConstHandle2ConstNote This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +NoteUnsignedsGet(ConstHandle2ConstNote This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +NoteUnsignedsSet(ConstHandle2Note This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +NoteUnsignedsGetArrayConst(ConstHandle2ConstNote This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +NoteUnsignedsGetArray(ConstHandle2Note This); + +// +++ Set completely new values and size +extern_c void +NoteUnsignedsSetArray(ConstHandle2Note This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +NoteFloatsClear(ConstHandle2Note This); + +// +++ Get size +extern_c size_t +NoteFloatsSize(ConstHandle2ConstNote This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +NoteFloatsGet(ConstHandle2ConstNote This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +NoteFloatsSet(ConstHandle2Note This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +NoteFloatsGetArrayConst(ConstHandle2ConstNote This); + +// +++ Get pointer to existing values, non-const +extern_c float * +NoteFloatsGetArray(ConstHandle2Note This); + +// +++ Set completely new values and size +extern_c void +NoteFloatsSetArray(ConstHandle2Note This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +NoteDoublesClear(ConstHandle2Note This); + +// +++ Get size +extern_c size_t +NoteDoublesSize(ConstHandle2ConstNote This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +NoteDoublesGet(ConstHandle2ConstNote This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +NoteDoublesSet(ConstHandle2Note This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +NoteDoublesGetArrayConst(ConstHandle2ConstNote This); + +// +++ Get pointer to existing values, non-const +extern_c double * +NoteDoublesGetArray(ConstHandle2Note This); + +// +++ Set completely new values and size +extern_c void +NoteDoublesSetArray(ConstHandle2Note This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NoteEncodingHas(ConstHandle2ConstNote This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +NoteEncodingGet(ConstHandle2ConstNote This); + +// +++ Set +extern_c void +NoteEncodingSet(ConstHandle2Note This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NoteMarkupHas(ConstHandle2ConstNote This); + +// +++ Get +// +++ Returns by value +extern_c const char * +NoteMarkupGet(ConstHandle2ConstNote This); + +// +++ Set +extern_c void +NoteMarkupSet(ConstHandle2Note This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NoteLabelHas(ConstHandle2ConstNote This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +NoteLabelGet(ConstHandle2ConstNote This); + +// +++ Set +extern_c void +NoteLabelSet(ConstHandle2Note This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.cpp new file mode 100644 index 000000000..73ec05e27 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.cpp @@ -0,0 +1,523 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/OutputDeck.hpp" +#include "OutputDeck.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = OutputDeckClass; +using CPP = multigroup::OutputDeck; + +static const std::string CLASSNAME = "OutputDeck"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto filename = [](auto &obj) { return &obj.filename; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstOutputDeck +OutputDeckDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2OutputDeck +OutputDeckDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstOutputDeck +OutputDeckCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName filename +) { + ConstHandle2OutputDeck handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label, + filename + ); + return handle; +} + +// Create, general +Handle2OutputDeck +OutputDeckCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName filename +) { + ConstHandle2OutputDeck handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label, + filename + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +OutputDeckAssign(ConstHandle2OutputDeck This, ConstHandle2ConstOutputDeck from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +OutputDeckDelete(ConstHandle2ConstOutputDeck This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +OutputDeckRead(ConstHandle2OutputDeck This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +OutputDeckWrite(ConstHandle2ConstOutputDeck This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +OutputDeckPrint(ConstHandle2ConstOutputDeck This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +OutputDeckPrintXML(ConstHandle2ConstOutputDeck This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +OutputDeckPrintJSON(ConstHandle2ConstOutputDeck This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +OutputDeckIntsClear(ConstHandle2OutputDeck This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +OutputDeckIntsSize(ConstHandle2ConstOutputDeck This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +OutputDeckIntsGet(ConstHandle2ConstOutputDeck This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +OutputDeckIntsSet(ConstHandle2OutputDeck This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +OutputDeckIntsGetArrayConst(ConstHandle2ConstOutputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +OutputDeckIntsGetArray(ConstHandle2OutputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +OutputDeckIntsSetArray(ConstHandle2OutputDeck This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +OutputDeckUnsignedsClear(ConstHandle2OutputDeck This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +OutputDeckUnsignedsSize(ConstHandle2ConstOutputDeck This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +OutputDeckUnsignedsGet(ConstHandle2ConstOutputDeck This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +OutputDeckUnsignedsSet(ConstHandle2OutputDeck This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +OutputDeckUnsignedsGetArrayConst(ConstHandle2ConstOutputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +OutputDeckUnsignedsGetArray(ConstHandle2OutputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +OutputDeckUnsignedsSetArray(ConstHandle2OutputDeck This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +OutputDeckFloatsClear(ConstHandle2OutputDeck This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +OutputDeckFloatsSize(ConstHandle2ConstOutputDeck This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +OutputDeckFloatsGet(ConstHandle2ConstOutputDeck This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +OutputDeckFloatsSet(ConstHandle2OutputDeck This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +OutputDeckFloatsGetArrayConst(ConstHandle2ConstOutputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +OutputDeckFloatsGetArray(ConstHandle2OutputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +OutputDeckFloatsSetArray(ConstHandle2OutputDeck This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +OutputDeckDoublesClear(ConstHandle2OutputDeck This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +OutputDeckDoublesSize(ConstHandle2ConstOutputDeck This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +OutputDeckDoublesGet(ConstHandle2ConstOutputDeck This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +OutputDeckDoublesSet(ConstHandle2OutputDeck This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +OutputDeckDoublesGetArrayConst(ConstHandle2ConstOutputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +OutputDeckDoublesGetArray(ConstHandle2OutputDeck This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +OutputDeckDoublesSetArray(ConstHandle2OutputDeck This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +OutputDeckEncodingHas(ConstHandle2ConstOutputDeck This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +OutputDeckEncodingGet(ConstHandle2ConstOutputDeck This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +OutputDeckEncodingSet(ConstHandle2OutputDeck This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +OutputDeckMarkupHas(ConstHandle2ConstOutputDeck This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +OutputDeckMarkupGet(ConstHandle2ConstOutputDeck This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +OutputDeckMarkupSet(ConstHandle2OutputDeck This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +OutputDeckLabelHas(ConstHandle2ConstOutputDeck This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +OutputDeckLabelGet(ConstHandle2ConstOutputDeck This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +OutputDeckLabelSet(ConstHandle2OutputDeck This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: filename +// ----------------------------------------------------------------------------- + +// Has +int +OutputDeckFilenameHas(ConstHandle2ConstOutputDeck This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FilenameHas", This, extract::filename); +} + +// Get +// Returns by value +XMLName +OutputDeckFilenameGet(ConstHandle2ConstOutputDeck This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FilenameGet", This, extract::filename); +} + +// Set +void +OutputDeckFilenameSet(ConstHandle2OutputDeck This, const XMLName filename) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FilenameSet", This, extract::filename, filename); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.h new file mode 100644 index 000000000..c293276a2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.h @@ -0,0 +1,356 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// OutputDeck is the basic handle type in this file. Example: +// // Create a default OutputDeck object: +// OutputDeck handle = OutputDeckDefault(); +// Functions involving OutputDeck are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_OUTPUTDECK +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_OUTPUTDECK + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct OutputDeckClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ OutputDeck +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct OutputDeckClass *OutputDeck; + +// --- Const-aware handles. +typedef const struct OutputDeckClass *const ConstHandle2ConstOutputDeck; +typedef struct OutputDeckClass *const ConstHandle2OutputDeck; +typedef const struct OutputDeckClass * Handle2ConstOutputDeck; +typedef struct OutputDeckClass * Handle2OutputDeck; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstOutputDeck +OutputDeckDefaultConst(); + +// +++ Create, default +extern_c Handle2OutputDeck +OutputDeckDefault(); + +// --- Create, general, const +extern_c Handle2ConstOutputDeck +OutputDeckCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName filename +); + +// +++ Create, general +extern_c Handle2OutputDeck +OutputDeckCreate( + const XMLName encoding, + const char *const markup, + const XMLName label, + const XMLName filename +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +OutputDeckAssign(ConstHandle2OutputDeck This, ConstHandle2ConstOutputDeck from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +OutputDeckDelete(ConstHandle2ConstOutputDeck This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +OutputDeckRead(ConstHandle2OutputDeck This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +OutputDeckWrite(ConstHandle2ConstOutputDeck This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +OutputDeckPrint(ConstHandle2ConstOutputDeck This); + +// +++ Print to standard output, as XML +extern_c int +OutputDeckPrintXML(ConstHandle2ConstOutputDeck This); + +// +++ Print to standard output, as JSON +extern_c int +OutputDeckPrintJSON(ConstHandle2ConstOutputDeck This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +OutputDeckIntsClear(ConstHandle2OutputDeck This); + +// +++ Get size +extern_c size_t +OutputDeckIntsSize(ConstHandle2ConstOutputDeck This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +OutputDeckIntsGet(ConstHandle2ConstOutputDeck This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +OutputDeckIntsSet(ConstHandle2OutputDeck This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +OutputDeckIntsGetArrayConst(ConstHandle2ConstOutputDeck This); + +// +++ Get pointer to existing values, non-const +extern_c int * +OutputDeckIntsGetArray(ConstHandle2OutputDeck This); + +// +++ Set completely new values and size +extern_c void +OutputDeckIntsSetArray(ConstHandle2OutputDeck This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +OutputDeckUnsignedsClear(ConstHandle2OutputDeck This); + +// +++ Get size +extern_c size_t +OutputDeckUnsignedsSize(ConstHandle2ConstOutputDeck This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +OutputDeckUnsignedsGet(ConstHandle2ConstOutputDeck This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +OutputDeckUnsignedsSet(ConstHandle2OutputDeck This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +OutputDeckUnsignedsGetArrayConst(ConstHandle2ConstOutputDeck This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +OutputDeckUnsignedsGetArray(ConstHandle2OutputDeck This); + +// +++ Set completely new values and size +extern_c void +OutputDeckUnsignedsSetArray(ConstHandle2OutputDeck This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +OutputDeckFloatsClear(ConstHandle2OutputDeck This); + +// +++ Get size +extern_c size_t +OutputDeckFloatsSize(ConstHandle2ConstOutputDeck This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +OutputDeckFloatsGet(ConstHandle2ConstOutputDeck This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +OutputDeckFloatsSet(ConstHandle2OutputDeck This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +OutputDeckFloatsGetArrayConst(ConstHandle2ConstOutputDeck This); + +// +++ Get pointer to existing values, non-const +extern_c float * +OutputDeckFloatsGetArray(ConstHandle2OutputDeck This); + +// +++ Set completely new values and size +extern_c void +OutputDeckFloatsSetArray(ConstHandle2OutputDeck This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +OutputDeckDoublesClear(ConstHandle2OutputDeck This); + +// +++ Get size +extern_c size_t +OutputDeckDoublesSize(ConstHandle2ConstOutputDeck This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +OutputDeckDoublesGet(ConstHandle2ConstOutputDeck This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +OutputDeckDoublesSet(ConstHandle2OutputDeck This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +OutputDeckDoublesGetArrayConst(ConstHandle2ConstOutputDeck This); + +// +++ Get pointer to existing values, non-const +extern_c double * +OutputDeckDoublesGetArray(ConstHandle2OutputDeck This); + +// +++ Set completely new values and size +extern_c void +OutputDeckDoublesSetArray(ConstHandle2OutputDeck This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputDeckEncodingHas(ConstHandle2ConstOutputDeck This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +OutputDeckEncodingGet(ConstHandle2ConstOutputDeck This); + +// +++ Set +extern_c void +OutputDeckEncodingSet(ConstHandle2OutputDeck This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputDeckMarkupHas(ConstHandle2ConstOutputDeck This); + +// +++ Get +// +++ Returns by value +extern_c const char * +OutputDeckMarkupGet(ConstHandle2ConstOutputDeck This); + +// +++ Set +extern_c void +OutputDeckMarkupSet(ConstHandle2OutputDeck This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputDeckLabelHas(ConstHandle2ConstOutputDeck This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +OutputDeckLabelGet(ConstHandle2ConstOutputDeck This); + +// +++ Set +extern_c void +OutputDeckLabelSet(ConstHandle2OutputDeck This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: filename +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputDeckFilenameHas(ConstHandle2ConstOutputDeck This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +OutputDeckFilenameGet(ConstHandle2ConstOutputDeck This); + +// +++ Set +extern_c void +OutputDeckFilenameSet(ConstHandle2OutputDeck This, const XMLName filename); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.cpp new file mode 100644 index 000000000..6e369e47e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/OutputDecks.hpp" +#include "OutputDecks.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = OutputDecksClass; +using CPP = multigroup::OutputDecks; + +static const std::string CLASSNAME = "OutputDecks"; + +namespace extract { + static auto outputDeck = [](auto &obj) { return &obj.outputDeck; }; +} + +using CPPOutputDeck = documentation::OutputDeck; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstOutputDecks +OutputDecksDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2OutputDecks +OutputDecksDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstOutputDecks +OutputDecksCreateConst( + ConstHandle2OutputDeck *const outputDeck, const size_t outputDeckSize +) { + ConstHandle2OutputDecks handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t OutputDeckN = 0; OutputDeckN < outputDeckSize; ++OutputDeckN) + OutputDecksOutputDeckAdd(handle, outputDeck[OutputDeckN]); + return handle; +} + +// Create, general +Handle2OutputDecks +OutputDecksCreate( + ConstHandle2OutputDeck *const outputDeck, const size_t outputDeckSize +) { + ConstHandle2OutputDecks handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t OutputDeckN = 0; OutputDeckN < outputDeckSize; ++OutputDeckN) + OutputDecksOutputDeckAdd(handle, outputDeck[OutputDeckN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +OutputDecksAssign(ConstHandle2OutputDecks This, ConstHandle2ConstOutputDecks from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +OutputDecksDelete(ConstHandle2ConstOutputDecks This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +OutputDecksRead(ConstHandle2OutputDecks This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +OutputDecksWrite(ConstHandle2ConstOutputDecks This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +OutputDecksPrint(ConstHandle2ConstOutputDecks This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +OutputDecksPrintXML(ConstHandle2ConstOutputDecks This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +OutputDecksPrintJSON(ConstHandle2ConstOutputDecks This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: outputDeck +// ----------------------------------------------------------------------------- + +// Has +int +OutputDecksOutputDeckHas(ConstHandle2ConstOutputDecks This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OutputDeckHas", This, extract::outputDeck); +} + +// Clear +void +OutputDecksOutputDeckClear(ConstHandle2OutputDecks This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"OutputDeckClear", This, extract::outputDeck); +} + +// Size +size_t +OutputDecksOutputDeckSize(ConstHandle2ConstOutputDecks This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"OutputDeckSize", This, extract::outputDeck); +} + +// Add +void +OutputDecksOutputDeckAdd(ConstHandle2OutputDecks This, ConstHandle2ConstOutputDeck outputDeck) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"OutputDeckAdd", This, extract::outputDeck, outputDeck); +} + +// Get, by index \in [0,size), const +Handle2ConstOutputDeck +OutputDecksOutputDeckGetConst(ConstHandle2ConstOutputDecks This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"OutputDeckGetConst", This, extract::outputDeck, index_); +} + +// Get, by index \in [0,size), non-const +Handle2OutputDeck +OutputDecksOutputDeckGet(ConstHandle2OutputDecks This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"OutputDeckGet", This, extract::outputDeck, index_); +} + +// Set, by index \in [0,size) +void +OutputDecksOutputDeckSet( + ConstHandle2OutputDecks This, + const size_t index_, + ConstHandle2ConstOutputDeck outputDeck +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"OutputDeckSet", This, extract::outputDeck, index_, outputDeck); +} + +// Has, by encoding +int +OutputDecksOutputDeckHasByEncoding( + ConstHandle2ConstOutputDecks This, + const XMLName encoding +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckHasByEncoding", + This, extract::outputDeck, meta::encoding, encoding); +} + +// Get, by encoding, const +Handle2ConstOutputDeck +OutputDecksOutputDeckGetByEncodingConst( + ConstHandle2ConstOutputDecks This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckGetByEncodingConst", + This, extract::outputDeck, meta::encoding, encoding); +} + +// Get, by encoding, non-const +Handle2OutputDeck +OutputDecksOutputDeckGetByEncoding( + ConstHandle2OutputDecks This, + const XMLName encoding +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckGetByEncoding", + This, extract::outputDeck, meta::encoding, encoding); +} + +// Set, by encoding +void +OutputDecksOutputDeckSetByEncoding( + ConstHandle2OutputDecks This, + const XMLName encoding, + ConstHandle2ConstOutputDeck outputDeck +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckSetByEncoding", + This, extract::outputDeck, meta::encoding, encoding, outputDeck); +} + +// Has, by markup +int +OutputDecksOutputDeckHasByMarkup( + ConstHandle2ConstOutputDecks This, + const char *const markup +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckHasByMarkup", + This, extract::outputDeck, meta::markup, markup); +} + +// Get, by markup, const +Handle2ConstOutputDeck +OutputDecksOutputDeckGetByMarkupConst( + ConstHandle2ConstOutputDecks This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckGetByMarkupConst", + This, extract::outputDeck, meta::markup, markup); +} + +// Get, by markup, non-const +Handle2OutputDeck +OutputDecksOutputDeckGetByMarkup( + ConstHandle2OutputDecks This, + const char *const markup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckGetByMarkup", + This, extract::outputDeck, meta::markup, markup); +} + +// Set, by markup +void +OutputDecksOutputDeckSetByMarkup( + ConstHandle2OutputDecks This, + const char *const markup, + ConstHandle2ConstOutputDeck outputDeck +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckSetByMarkup", + This, extract::outputDeck, meta::markup, markup, outputDeck); +} + +// Has, by label +int +OutputDecksOutputDeckHasByLabel( + ConstHandle2ConstOutputDecks This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckHasByLabel", + This, extract::outputDeck, meta::label, label); +} + +// Get, by label, const +Handle2ConstOutputDeck +OutputDecksOutputDeckGetByLabelConst( + ConstHandle2ConstOutputDecks This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckGetByLabelConst", + This, extract::outputDeck, meta::label, label); +} + +// Get, by label, non-const +Handle2OutputDeck +OutputDecksOutputDeckGetByLabel( + ConstHandle2OutputDecks This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckGetByLabel", + This, extract::outputDeck, meta::label, label); +} + +// Set, by label +void +OutputDecksOutputDeckSetByLabel( + ConstHandle2OutputDecks This, + const XMLName label, + ConstHandle2ConstOutputDeck outputDeck +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckSetByLabel", + This, extract::outputDeck, meta::label, label, outputDeck); +} + +// Has, by filename +int +OutputDecksOutputDeckHasByFilename( + ConstHandle2ConstOutputDecks This, + const XMLName filename +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckHasByFilename", + This, extract::outputDeck, meta::filename, filename); +} + +// Get, by filename, const +Handle2ConstOutputDeck +OutputDecksOutputDeckGetByFilenameConst( + ConstHandle2ConstOutputDecks This, + const XMLName filename +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckGetByFilenameConst", + This, extract::outputDeck, meta::filename, filename); +} + +// Get, by filename, non-const +Handle2OutputDeck +OutputDecksOutputDeckGetByFilename( + ConstHandle2OutputDecks This, + const XMLName filename +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckGetByFilename", + This, extract::outputDeck, meta::filename, filename); +} + +// Set, by filename +void +OutputDecksOutputDeckSetByFilename( + ConstHandle2OutputDecks This, + const XMLName filename, + ConstHandle2ConstOutputDeck outputDeck +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"OutputDeckSetByFilename", + This, extract::outputDeck, meta::filename, filename, outputDeck); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.h new file mode 100644 index 000000000..86505432d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// OutputDecks is the basic handle type in this file. Example: +// // Create a default OutputDecks object: +// OutputDecks handle = OutputDecksDefault(); +// Functions involving OutputDecks are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_OUTPUTDECKS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_OUTPUTDECKS + +#include "GNDStk.h" +#include "v2.0/documentation/OutputDeck.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct OutputDecksClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ OutputDecks +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct OutputDecksClass *OutputDecks; + +// --- Const-aware handles. +typedef const struct OutputDecksClass *const ConstHandle2ConstOutputDecks; +typedef struct OutputDecksClass *const ConstHandle2OutputDecks; +typedef const struct OutputDecksClass * Handle2ConstOutputDecks; +typedef struct OutputDecksClass * Handle2OutputDecks; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstOutputDecks +OutputDecksDefaultConst(); + +// +++ Create, default +extern_c Handle2OutputDecks +OutputDecksDefault(); + +// --- Create, general, const +extern_c Handle2ConstOutputDecks +OutputDecksCreateConst( + ConstHandle2OutputDeck *const outputDeck, const size_t outputDeckSize +); + +// +++ Create, general +extern_c Handle2OutputDecks +OutputDecksCreate( + ConstHandle2OutputDeck *const outputDeck, const size_t outputDeckSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +OutputDecksAssign(ConstHandle2OutputDecks This, ConstHandle2ConstOutputDecks from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +OutputDecksDelete(ConstHandle2ConstOutputDecks This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +OutputDecksRead(ConstHandle2OutputDecks This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +OutputDecksWrite(ConstHandle2ConstOutputDecks This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +OutputDecksPrint(ConstHandle2ConstOutputDecks This); + +// +++ Print to standard output, as XML +extern_c int +OutputDecksPrintXML(ConstHandle2ConstOutputDecks This); + +// +++ Print to standard output, as JSON +extern_c int +OutputDecksPrintJSON(ConstHandle2ConstOutputDecks This); + + +// ----------------------------------------------------------------------------- +// Child: outputDeck +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputDecksOutputDeckHas(ConstHandle2ConstOutputDecks This); + +// +++ Clear +extern_c void +OutputDecksOutputDeckClear(ConstHandle2OutputDecks This); + +// +++ Size +extern_c size_t +OutputDecksOutputDeckSize(ConstHandle2ConstOutputDecks This); + +// +++ Add +extern_c void +OutputDecksOutputDeckAdd(ConstHandle2OutputDecks This, ConstHandle2ConstOutputDeck outputDeck); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstOutputDeck +OutputDecksOutputDeckGetConst(ConstHandle2ConstOutputDecks This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2OutputDeck +OutputDecksOutputDeckGet(ConstHandle2OutputDecks This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +OutputDecksOutputDeckSet( + ConstHandle2OutputDecks This, + const size_t index_, + ConstHandle2ConstOutputDeck outputDeck +); + +// +++ Has, by encoding +extern_c int +OutputDecksOutputDeckHasByEncoding( + ConstHandle2ConstOutputDecks This, + const XMLName encoding +); + +// --- Get, by encoding, const +extern_c Handle2ConstOutputDeck +OutputDecksOutputDeckGetByEncodingConst( + ConstHandle2ConstOutputDecks This, + const XMLName encoding +); + +// +++ Get, by encoding, non-const +extern_c Handle2OutputDeck +OutputDecksOutputDeckGetByEncoding( + ConstHandle2OutputDecks This, + const XMLName encoding +); + +// +++ Set, by encoding +extern_c void +OutputDecksOutputDeckSetByEncoding( + ConstHandle2OutputDecks This, + const XMLName encoding, + ConstHandle2ConstOutputDeck outputDeck +); + +// +++ Has, by markup +extern_c int +OutputDecksOutputDeckHasByMarkup( + ConstHandle2ConstOutputDecks This, + const char *const markup +); + +// --- Get, by markup, const +extern_c Handle2ConstOutputDeck +OutputDecksOutputDeckGetByMarkupConst( + ConstHandle2ConstOutputDecks This, + const char *const markup +); + +// +++ Get, by markup, non-const +extern_c Handle2OutputDeck +OutputDecksOutputDeckGetByMarkup( + ConstHandle2OutputDecks This, + const char *const markup +); + +// +++ Set, by markup +extern_c void +OutputDecksOutputDeckSetByMarkup( + ConstHandle2OutputDecks This, + const char *const markup, + ConstHandle2ConstOutputDeck outputDeck +); + +// +++ Has, by label +extern_c int +OutputDecksOutputDeckHasByLabel( + ConstHandle2ConstOutputDecks This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstOutputDeck +OutputDecksOutputDeckGetByLabelConst( + ConstHandle2ConstOutputDecks This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2OutputDeck +OutputDecksOutputDeckGetByLabel( + ConstHandle2OutputDecks This, + const XMLName label +); + +// +++ Set, by label +extern_c void +OutputDecksOutputDeckSetByLabel( + ConstHandle2OutputDecks This, + const XMLName label, + ConstHandle2ConstOutputDeck outputDeck +); + +// +++ Has, by filename +extern_c int +OutputDecksOutputDeckHasByFilename( + ConstHandle2ConstOutputDecks This, + const XMLName filename +); + +// --- Get, by filename, const +extern_c Handle2ConstOutputDeck +OutputDecksOutputDeckGetByFilenameConst( + ConstHandle2ConstOutputDecks This, + const XMLName filename +); + +// +++ Get, by filename, non-const +extern_c Handle2OutputDeck +OutputDecksOutputDeckGetByFilename( + ConstHandle2OutputDecks This, + const XMLName filename +); + +// +++ Set, by filename +extern_c void +OutputDecksOutputDeckSetByFilename( + ConstHandle2OutputDecks This, + const XMLName filename, + ConstHandle2ConstOutputDeck outputDeck +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.cpp new file mode 100644 index 000000000..382392db3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/RelatedItem.hpp" +#include "RelatedItem.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RelatedItemClass; +using CPP = multigroup::RelatedItem; + +static const std::string CLASSNAME = "RelatedItem"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; + static auto href = [](auto &obj) { return &obj.href; }; + static auto relationType = [](auto &obj) { return &obj.relationType; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRelatedItem +RelatedItemDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2RelatedItem +RelatedItemDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRelatedItem +RelatedItemCreateConst( + const UTF8Text name, + const UTF8Text href, + const enums::RelationType relationType +) { + ConstHandle2RelatedItem handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name, + href, + relationType + ); + return handle; +} + +// Create, general +Handle2RelatedItem +RelatedItemCreate( + const UTF8Text name, + const UTF8Text href, + const enums::RelationType relationType +) { + ConstHandle2RelatedItem handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name, + href, + relationType + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RelatedItemAssign(ConstHandle2RelatedItem This, ConstHandle2ConstRelatedItem from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RelatedItemDelete(ConstHandle2ConstRelatedItem This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RelatedItemRead(ConstHandle2RelatedItem This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RelatedItemWrite(ConstHandle2ConstRelatedItem This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RelatedItemPrint(ConstHandle2ConstRelatedItem This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RelatedItemPrintXML(ConstHandle2ConstRelatedItem This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RelatedItemPrintJSON(ConstHandle2ConstRelatedItem This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +RelatedItemNameHas(ConstHandle2ConstRelatedItem This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +UTF8Text +RelatedItemNameGet(ConstHandle2ConstRelatedItem This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +RelatedItemNameSet(ConstHandle2RelatedItem This, const UTF8Text name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +RelatedItemHrefHas(ConstHandle2ConstRelatedItem This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +UTF8Text +RelatedItemHrefGet(ConstHandle2ConstRelatedItem This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +RelatedItemHrefSet(ConstHandle2RelatedItem This, const UTF8Text href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: relationType +// ----------------------------------------------------------------------------- + +// Has +int +RelatedItemRelationTypeHas(ConstHandle2ConstRelatedItem This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RelationTypeHas", This, extract::relationType); +} + +// Get +// Returns by value +enums::RelationType +RelatedItemRelationTypeGet(ConstHandle2ConstRelatedItem This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RelationTypeGet", This, extract::relationType); +} + +// Set +void +RelatedItemRelationTypeSet(ConstHandle2RelatedItem This, const enums::RelationType relationType) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RelationTypeSet", This, extract::relationType, relationType); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.h new file mode 100644 index 000000000..519837dc4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// RelatedItem is the basic handle type in this file. Example: +// // Create a default RelatedItem object: +// RelatedItem handle = RelatedItemDefault(); +// Functions involving RelatedItem are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_RELATEDITEM +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_RELATEDITEM + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RelatedItemClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ RelatedItem +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RelatedItemClass *RelatedItem; + +// --- Const-aware handles. +typedef const struct RelatedItemClass *const ConstHandle2ConstRelatedItem; +typedef struct RelatedItemClass *const ConstHandle2RelatedItem; +typedef const struct RelatedItemClass * Handle2ConstRelatedItem; +typedef struct RelatedItemClass * Handle2RelatedItem; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRelatedItem +RelatedItemDefaultConst(); + +// +++ Create, default +extern_c Handle2RelatedItem +RelatedItemDefault(); + +// --- Create, general, const +extern_c Handle2ConstRelatedItem +RelatedItemCreateConst( + const UTF8Text name, + const UTF8Text href, + const enums::RelationType relationType +); + +// +++ Create, general +extern_c Handle2RelatedItem +RelatedItemCreate( + const UTF8Text name, + const UTF8Text href, + const enums::RelationType relationType +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RelatedItemAssign(ConstHandle2RelatedItem This, ConstHandle2ConstRelatedItem from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RelatedItemDelete(ConstHandle2ConstRelatedItem This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RelatedItemRead(ConstHandle2RelatedItem This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RelatedItemWrite(ConstHandle2ConstRelatedItem This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RelatedItemPrint(ConstHandle2ConstRelatedItem This); + +// +++ Print to standard output, as XML +extern_c int +RelatedItemPrintXML(ConstHandle2ConstRelatedItem This); + +// +++ Print to standard output, as JSON +extern_c int +RelatedItemPrintJSON(ConstHandle2ConstRelatedItem This); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RelatedItemNameHas(ConstHandle2ConstRelatedItem This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +RelatedItemNameGet(ConstHandle2ConstRelatedItem This); + +// +++ Set +extern_c void +RelatedItemNameSet(ConstHandle2RelatedItem This, const UTF8Text name); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RelatedItemHrefHas(ConstHandle2ConstRelatedItem This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +RelatedItemHrefGet(ConstHandle2ConstRelatedItem This); + +// +++ Set +extern_c void +RelatedItemHrefSet(ConstHandle2RelatedItem This, const UTF8Text href); + + +// ----------------------------------------------------------------------------- +// Metadatum: relationType +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RelatedItemRelationTypeHas(ConstHandle2ConstRelatedItem This); + +// +++ Get +// +++ Returns by value +extern_c enums::RelationType +RelatedItemRelationTypeGet(ConstHandle2ConstRelatedItem This); + +// +++ Set +extern_c void +RelatedItemRelationTypeSet(ConstHandle2RelatedItem This, const enums::RelationType relationType); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.cpp new file mode 100644 index 000000000..ec93621bb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/RelatedItems.hpp" +#include "RelatedItems.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RelatedItemsClass; +using CPP = multigroup::RelatedItems; + +static const std::string CLASSNAME = "RelatedItems"; + +namespace extract { + static auto relatedItem = [](auto &obj) { return &obj.relatedItem; }; +} + +using CPPRelatedItem = documentation::RelatedItem; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRelatedItems +RelatedItemsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2RelatedItems +RelatedItemsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRelatedItems +RelatedItemsCreateConst( + ConstHandle2RelatedItem *const relatedItem, const size_t relatedItemSize +) { + ConstHandle2RelatedItems handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t RelatedItemN = 0; RelatedItemN < relatedItemSize; ++RelatedItemN) + RelatedItemsRelatedItemAdd(handle, relatedItem[RelatedItemN]); + return handle; +} + +// Create, general +Handle2RelatedItems +RelatedItemsCreate( + ConstHandle2RelatedItem *const relatedItem, const size_t relatedItemSize +) { + ConstHandle2RelatedItems handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t RelatedItemN = 0; RelatedItemN < relatedItemSize; ++RelatedItemN) + RelatedItemsRelatedItemAdd(handle, relatedItem[RelatedItemN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RelatedItemsAssign(ConstHandle2RelatedItems This, ConstHandle2ConstRelatedItems from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RelatedItemsDelete(ConstHandle2ConstRelatedItems This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RelatedItemsRead(ConstHandle2RelatedItems This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RelatedItemsWrite(ConstHandle2ConstRelatedItems This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RelatedItemsPrint(ConstHandle2ConstRelatedItems This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RelatedItemsPrintXML(ConstHandle2ConstRelatedItems This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RelatedItemsPrintJSON(ConstHandle2ConstRelatedItems This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: relatedItem +// ----------------------------------------------------------------------------- + +// Has +int +RelatedItemsRelatedItemHas(ConstHandle2ConstRelatedItems This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RelatedItemHas", This, extract::relatedItem); +} + +// Clear +void +RelatedItemsRelatedItemClear(ConstHandle2RelatedItems This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"RelatedItemClear", This, extract::relatedItem); +} + +// Size +size_t +RelatedItemsRelatedItemSize(ConstHandle2ConstRelatedItems This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"RelatedItemSize", This, extract::relatedItem); +} + +// Add +void +RelatedItemsRelatedItemAdd(ConstHandle2RelatedItems This, ConstHandle2ConstRelatedItem relatedItem) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"RelatedItemAdd", This, extract::relatedItem, relatedItem); +} + +// Get, by index \in [0,size), const +Handle2ConstRelatedItem +RelatedItemsRelatedItemGetConst(ConstHandle2ConstRelatedItems This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"RelatedItemGetConst", This, extract::relatedItem, index_); +} + +// Get, by index \in [0,size), non-const +Handle2RelatedItem +RelatedItemsRelatedItemGet(ConstHandle2RelatedItems This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"RelatedItemGet", This, extract::relatedItem, index_); +} + +// Set, by index \in [0,size) +void +RelatedItemsRelatedItemSet( + ConstHandle2RelatedItems This, + const size_t index_, + ConstHandle2ConstRelatedItem relatedItem +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"RelatedItemSet", This, extract::relatedItem, index_, relatedItem); +} + +// Has, by name +int +RelatedItemsRelatedItemHasByName( + ConstHandle2ConstRelatedItems This, + const UTF8Text name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemHasByName", + This, extract::relatedItem, meta::name, name); +} + +// Get, by name, const +Handle2ConstRelatedItem +RelatedItemsRelatedItemGetByNameConst( + ConstHandle2ConstRelatedItems This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemGetByNameConst", + This, extract::relatedItem, meta::name, name); +} + +// Get, by name, non-const +Handle2RelatedItem +RelatedItemsRelatedItemGetByName( + ConstHandle2RelatedItems This, + const UTF8Text name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemGetByName", + This, extract::relatedItem, meta::name, name); +} + +// Set, by name +void +RelatedItemsRelatedItemSetByName( + ConstHandle2RelatedItems This, + const UTF8Text name, + ConstHandle2ConstRelatedItem relatedItem +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemSetByName", + This, extract::relatedItem, meta::name, name, relatedItem); +} + +// Has, by href +int +RelatedItemsRelatedItemHasByHref( + ConstHandle2ConstRelatedItems This, + const UTF8Text href +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemHasByHref", + This, extract::relatedItem, meta::href, href); +} + +// Get, by href, const +Handle2ConstRelatedItem +RelatedItemsRelatedItemGetByHrefConst( + ConstHandle2ConstRelatedItems This, + const UTF8Text href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemGetByHrefConst", + This, extract::relatedItem, meta::href, href); +} + +// Get, by href, non-const +Handle2RelatedItem +RelatedItemsRelatedItemGetByHref( + ConstHandle2RelatedItems This, + const UTF8Text href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemGetByHref", + This, extract::relatedItem, meta::href, href); +} + +// Set, by href +void +RelatedItemsRelatedItemSetByHref( + ConstHandle2RelatedItems This, + const UTF8Text href, + ConstHandle2ConstRelatedItem relatedItem +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemSetByHref", + This, extract::relatedItem, meta::href, href, relatedItem); +} + +// Has, by relationType +int +RelatedItemsRelatedItemHasByRelationType( + ConstHandle2ConstRelatedItems This, + const enums::RelationType relationType +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemHasByRelationType", + This, extract::relatedItem, meta::relationType, relationType); +} + +// Get, by relationType, const +Handle2ConstRelatedItem +RelatedItemsRelatedItemGetByRelationTypeConst( + ConstHandle2ConstRelatedItems This, + const enums::RelationType relationType +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemGetByRelationTypeConst", + This, extract::relatedItem, meta::relationType, relationType); +} + +// Get, by relationType, non-const +Handle2RelatedItem +RelatedItemsRelatedItemGetByRelationType( + ConstHandle2RelatedItems This, + const enums::RelationType relationType +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemGetByRelationType", + This, extract::relatedItem, meta::relationType, relationType); +} + +// Set, by relationType +void +RelatedItemsRelatedItemSetByRelationType( + ConstHandle2RelatedItems This, + const enums::RelationType relationType, + ConstHandle2ConstRelatedItem relatedItem +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"RelatedItemSetByRelationType", + This, extract::relatedItem, meta::relationType, relationType, relatedItem); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.h new file mode 100644 index 000000000..0009575ad --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// RelatedItems is the basic handle type in this file. Example: +// // Create a default RelatedItems object: +// RelatedItems handle = RelatedItemsDefault(); +// Functions involving RelatedItems are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_RELATEDITEMS +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_RELATEDITEMS + +#include "GNDStk.h" +#include "v2.0/documentation/RelatedItem.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RelatedItemsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ RelatedItems +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RelatedItemsClass *RelatedItems; + +// --- Const-aware handles. +typedef const struct RelatedItemsClass *const ConstHandle2ConstRelatedItems; +typedef struct RelatedItemsClass *const ConstHandle2RelatedItems; +typedef const struct RelatedItemsClass * Handle2ConstRelatedItems; +typedef struct RelatedItemsClass * Handle2RelatedItems; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRelatedItems +RelatedItemsDefaultConst(); + +// +++ Create, default +extern_c Handle2RelatedItems +RelatedItemsDefault(); + +// --- Create, general, const +extern_c Handle2ConstRelatedItems +RelatedItemsCreateConst( + ConstHandle2RelatedItem *const relatedItem, const size_t relatedItemSize +); + +// +++ Create, general +extern_c Handle2RelatedItems +RelatedItemsCreate( + ConstHandle2RelatedItem *const relatedItem, const size_t relatedItemSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RelatedItemsAssign(ConstHandle2RelatedItems This, ConstHandle2ConstRelatedItems from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RelatedItemsDelete(ConstHandle2ConstRelatedItems This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RelatedItemsRead(ConstHandle2RelatedItems This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RelatedItemsWrite(ConstHandle2ConstRelatedItems This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RelatedItemsPrint(ConstHandle2ConstRelatedItems This); + +// +++ Print to standard output, as XML +extern_c int +RelatedItemsPrintXML(ConstHandle2ConstRelatedItems This); + +// +++ Print to standard output, as JSON +extern_c int +RelatedItemsPrintJSON(ConstHandle2ConstRelatedItems This); + + +// ----------------------------------------------------------------------------- +// Child: relatedItem +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RelatedItemsRelatedItemHas(ConstHandle2ConstRelatedItems This); + +// +++ Clear +extern_c void +RelatedItemsRelatedItemClear(ConstHandle2RelatedItems This); + +// +++ Size +extern_c size_t +RelatedItemsRelatedItemSize(ConstHandle2ConstRelatedItems This); + +// +++ Add +extern_c void +RelatedItemsRelatedItemAdd(ConstHandle2RelatedItems This, ConstHandle2ConstRelatedItem relatedItem); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstRelatedItem +RelatedItemsRelatedItemGetConst(ConstHandle2ConstRelatedItems This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2RelatedItem +RelatedItemsRelatedItemGet(ConstHandle2RelatedItems This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +RelatedItemsRelatedItemSet( + ConstHandle2RelatedItems This, + const size_t index_, + ConstHandle2ConstRelatedItem relatedItem +); + +// +++ Has, by name +extern_c int +RelatedItemsRelatedItemHasByName( + ConstHandle2ConstRelatedItems This, + const UTF8Text name +); + +// --- Get, by name, const +extern_c Handle2ConstRelatedItem +RelatedItemsRelatedItemGetByNameConst( + ConstHandle2ConstRelatedItems This, + const UTF8Text name +); + +// +++ Get, by name, non-const +extern_c Handle2RelatedItem +RelatedItemsRelatedItemGetByName( + ConstHandle2RelatedItems This, + const UTF8Text name +); + +// +++ Set, by name +extern_c void +RelatedItemsRelatedItemSetByName( + ConstHandle2RelatedItems This, + const UTF8Text name, + ConstHandle2ConstRelatedItem relatedItem +); + +// +++ Has, by href +extern_c int +RelatedItemsRelatedItemHasByHref( + ConstHandle2ConstRelatedItems This, + const UTF8Text href +); + +// --- Get, by href, const +extern_c Handle2ConstRelatedItem +RelatedItemsRelatedItemGetByHrefConst( + ConstHandle2ConstRelatedItems This, + const UTF8Text href +); + +// +++ Get, by href, non-const +extern_c Handle2RelatedItem +RelatedItemsRelatedItemGetByHref( + ConstHandle2RelatedItems This, + const UTF8Text href +); + +// +++ Set, by href +extern_c void +RelatedItemsRelatedItemSetByHref( + ConstHandle2RelatedItems This, + const UTF8Text href, + ConstHandle2ConstRelatedItem relatedItem +); + +// +++ Has, by relationType +extern_c int +RelatedItemsRelatedItemHasByRelationType( + ConstHandle2ConstRelatedItems This, + const enums::RelationType relationType +); + +// --- Get, by relationType, const +extern_c Handle2ConstRelatedItem +RelatedItemsRelatedItemGetByRelationTypeConst( + ConstHandle2ConstRelatedItems This, + const enums::RelationType relationType +); + +// +++ Get, by relationType, non-const +extern_c Handle2RelatedItem +RelatedItemsRelatedItemGetByRelationType( + ConstHandle2RelatedItems This, + const enums::RelationType relationType +); + +// +++ Set, by relationType +extern_c void +RelatedItemsRelatedItemSetByRelationType( + ConstHandle2RelatedItems This, + const enums::RelationType relationType, + ConstHandle2ConstRelatedItem relatedItem +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.cpp new file mode 100644 index 000000000..11ffa9aae --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Title.hpp" +#include "Title.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TitleClass; +using CPP = multigroup::Title; + +static const std::string CLASSNAME = "Title"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTitle +TitleDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Title +TitleDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTitle +TitleCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Title handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2Title +TitleCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Title handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TitleAssign(ConstHandle2Title This, ConstHandle2ConstTitle from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TitleDelete(ConstHandle2ConstTitle This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TitleRead(ConstHandle2Title This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TitleWrite(ConstHandle2ConstTitle This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TitlePrint(ConstHandle2ConstTitle This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TitlePrintXML(ConstHandle2ConstTitle This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TitlePrintJSON(ConstHandle2ConstTitle This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +TitleIntsClear(ConstHandle2Title This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +TitleIntsSize(ConstHandle2ConstTitle This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +TitleIntsGet(ConstHandle2ConstTitle This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +TitleIntsSet(ConstHandle2Title This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +TitleIntsGetArrayConst(ConstHandle2ConstTitle This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +TitleIntsGetArray(ConstHandle2Title This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +TitleIntsSetArray(ConstHandle2Title This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +TitleUnsignedsClear(ConstHandle2Title This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +TitleUnsignedsSize(ConstHandle2ConstTitle This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +TitleUnsignedsGet(ConstHandle2ConstTitle This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +TitleUnsignedsSet(ConstHandle2Title This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +TitleUnsignedsGetArrayConst(ConstHandle2ConstTitle This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +TitleUnsignedsGetArray(ConstHandle2Title This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +TitleUnsignedsSetArray(ConstHandle2Title This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +TitleFloatsClear(ConstHandle2Title This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +TitleFloatsSize(ConstHandle2ConstTitle This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +TitleFloatsGet(ConstHandle2ConstTitle This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +TitleFloatsSet(ConstHandle2Title This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +TitleFloatsGetArrayConst(ConstHandle2ConstTitle This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +TitleFloatsGetArray(ConstHandle2Title This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +TitleFloatsSetArray(ConstHandle2Title This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +TitleDoublesClear(ConstHandle2Title This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +TitleDoublesSize(ConstHandle2ConstTitle This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +TitleDoublesGet(ConstHandle2ConstTitle This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +TitleDoublesSet(ConstHandle2Title This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +TitleDoublesGetArrayConst(ConstHandle2ConstTitle This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +TitleDoublesGetArray(ConstHandle2Title This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +TitleDoublesSetArray(ConstHandle2Title This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +TitleEncodingHas(ConstHandle2ConstTitle This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +TitleEncodingGet(ConstHandle2ConstTitle This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +TitleEncodingSet(ConstHandle2Title This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +TitleMarkupHas(ConstHandle2ConstTitle This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +TitleMarkupGet(ConstHandle2ConstTitle This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +TitleMarkupSet(ConstHandle2Title This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +TitleLabelHas(ConstHandle2ConstTitle This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +TitleLabelGet(ConstHandle2ConstTitle This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +TitleLabelSet(ConstHandle2Title This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.h new file mode 100644 index 000000000..b8e86a24b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Title is the basic handle type in this file. Example: +// // Create a default Title object: +// Title handle = TitleDefault(); +// Functions involving Title are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_TITLE +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_TITLE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TitleClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Title +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TitleClass *Title; + +// --- Const-aware handles. +typedef const struct TitleClass *const ConstHandle2ConstTitle; +typedef struct TitleClass *const ConstHandle2Title; +typedef const struct TitleClass * Handle2ConstTitle; +typedef struct TitleClass * Handle2Title; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTitle +TitleDefaultConst(); + +// +++ Create, default +extern_c Handle2Title +TitleDefault(); + +// --- Create, general, const +extern_c Handle2ConstTitle +TitleCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2Title +TitleCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TitleAssign(ConstHandle2Title This, ConstHandle2ConstTitle from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TitleDelete(ConstHandle2ConstTitle This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TitleRead(ConstHandle2Title This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TitleWrite(ConstHandle2ConstTitle This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TitlePrint(ConstHandle2ConstTitle This); + +// +++ Print to standard output, as XML +extern_c int +TitlePrintXML(ConstHandle2ConstTitle This); + +// +++ Print to standard output, as JSON +extern_c int +TitlePrintJSON(ConstHandle2ConstTitle This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +TitleIntsClear(ConstHandle2Title This); + +// +++ Get size +extern_c size_t +TitleIntsSize(ConstHandle2ConstTitle This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +TitleIntsGet(ConstHandle2ConstTitle This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +TitleIntsSet(ConstHandle2Title This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +TitleIntsGetArrayConst(ConstHandle2ConstTitle This); + +// +++ Get pointer to existing values, non-const +extern_c int * +TitleIntsGetArray(ConstHandle2Title This); + +// +++ Set completely new values and size +extern_c void +TitleIntsSetArray(ConstHandle2Title This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +TitleUnsignedsClear(ConstHandle2Title This); + +// +++ Get size +extern_c size_t +TitleUnsignedsSize(ConstHandle2ConstTitle This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +TitleUnsignedsGet(ConstHandle2ConstTitle This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +TitleUnsignedsSet(ConstHandle2Title This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +TitleUnsignedsGetArrayConst(ConstHandle2ConstTitle This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +TitleUnsignedsGetArray(ConstHandle2Title This); + +// +++ Set completely new values and size +extern_c void +TitleUnsignedsSetArray(ConstHandle2Title This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +TitleFloatsClear(ConstHandle2Title This); + +// +++ Get size +extern_c size_t +TitleFloatsSize(ConstHandle2ConstTitle This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +TitleFloatsGet(ConstHandle2ConstTitle This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +TitleFloatsSet(ConstHandle2Title This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +TitleFloatsGetArrayConst(ConstHandle2ConstTitle This); + +// +++ Get pointer to existing values, non-const +extern_c float * +TitleFloatsGetArray(ConstHandle2Title This); + +// +++ Set completely new values and size +extern_c void +TitleFloatsSetArray(ConstHandle2Title This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +TitleDoublesClear(ConstHandle2Title This); + +// +++ Get size +extern_c size_t +TitleDoublesSize(ConstHandle2ConstTitle This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +TitleDoublesGet(ConstHandle2ConstTitle This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +TitleDoublesSet(ConstHandle2Title This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +TitleDoublesGetArrayConst(ConstHandle2ConstTitle This); + +// +++ Get pointer to existing values, non-const +extern_c double * +TitleDoublesGetArray(ConstHandle2Title This); + +// +++ Set completely new values and size +extern_c void +TitleDoublesSetArray(ConstHandle2Title This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TitleEncodingHas(ConstHandle2ConstTitle This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TitleEncodingGet(ConstHandle2ConstTitle This); + +// +++ Set +extern_c void +TitleEncodingSet(ConstHandle2Title This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TitleMarkupHas(ConstHandle2ConstTitle This); + +// +++ Get +// +++ Returns by value +extern_c const char * +TitleMarkupGet(ConstHandle2ConstTitle This); + +// +++ Set +extern_c void +TitleMarkupSet(ConstHandle2Title This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TitleLabelHas(ConstHandle2ConstTitle This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TitleLabelGet(ConstHandle2ConstTitle This); + +// +++ Set +extern_c void +TitleLabelSet(ConstHandle2Title This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.cpp b/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.cpp new file mode 100644 index 000000000..53fe448c4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.cpp @@ -0,0 +1,488 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/documentation/Version.hpp" +#include "Version.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = VersionClass; +using CPP = multigroup::Version; + +static const std::string CLASSNAME = "Version"; + +namespace extract { + static auto encoding = [](auto &obj) { return &obj.encoding; }; + static auto markup = [](auto &obj) { return &obj.markup; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstVersion +VersionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Version +VersionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstVersion +VersionCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Version handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + encoding, + markup, + label + ); + return handle; +} + +// Create, general +Handle2Version +VersionCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +) { + ConstHandle2Version handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + encoding, + markup, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +VersionAssign(ConstHandle2Version This, ConstHandle2ConstVersion from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +VersionDelete(ConstHandle2ConstVersion This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +VersionRead(ConstHandle2Version This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +VersionWrite(ConstHandle2ConstVersion This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +VersionPrint(ConstHandle2ConstVersion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +VersionPrintXML(ConstHandle2ConstVersion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +VersionPrintJSON(ConstHandle2ConstVersion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +VersionIntsClear(ConstHandle2Version This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +VersionIntsSize(ConstHandle2ConstVersion This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +VersionIntsGet(ConstHandle2ConstVersion This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +VersionIntsSet(ConstHandle2Version This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +VersionIntsGetArrayConst(ConstHandle2ConstVersion This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +VersionIntsGetArray(ConstHandle2Version This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +VersionIntsSetArray(ConstHandle2Version This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +VersionUnsignedsClear(ConstHandle2Version This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +VersionUnsignedsSize(ConstHandle2ConstVersion This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +VersionUnsignedsGet(ConstHandle2ConstVersion This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +VersionUnsignedsSet(ConstHandle2Version This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +VersionUnsignedsGetArrayConst(ConstHandle2ConstVersion This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +VersionUnsignedsGetArray(ConstHandle2Version This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +VersionUnsignedsSetArray(ConstHandle2Version This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +VersionFloatsClear(ConstHandle2Version This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +VersionFloatsSize(ConstHandle2ConstVersion This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +VersionFloatsGet(ConstHandle2ConstVersion This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +VersionFloatsSet(ConstHandle2Version This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +VersionFloatsGetArrayConst(ConstHandle2ConstVersion This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +VersionFloatsGetArray(ConstHandle2Version This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +VersionFloatsSetArray(ConstHandle2Version This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +VersionDoublesClear(ConstHandle2Version This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +VersionDoublesSize(ConstHandle2ConstVersion This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +VersionDoublesGet(ConstHandle2ConstVersion This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +VersionDoublesSet(ConstHandle2Version This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +VersionDoublesGetArrayConst(ConstHandle2ConstVersion This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +VersionDoublesGetArray(ConstHandle2Version This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +VersionDoublesSetArray(ConstHandle2Version This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// Has +int +VersionEncodingHas(ConstHandle2ConstVersion This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EncodingHas", This, extract::encoding); +} + +// Get +// Returns by value +XMLName +VersionEncodingGet(ConstHandle2ConstVersion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EncodingGet", This, extract::encoding); +} + +// Set +void +VersionEncodingSet(ConstHandle2Version This, const XMLName encoding) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EncodingSet", This, extract::encoding, encoding); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// Has +int +VersionMarkupHas(ConstHandle2ConstVersion This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MarkupHas", This, extract::markup); +} + +// Get +// Returns by value +const char * +VersionMarkupGet(ConstHandle2ConstVersion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MarkupGet", This, extract::markup); +} + +// Set +void +VersionMarkupSet(ConstHandle2Version This, const char *const markup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MarkupSet", This, extract::markup, markup); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +VersionLabelHas(ConstHandle2ConstVersion This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +VersionLabelGet(ConstHandle2ConstVersion This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +VersionLabelSet(ConstHandle2Version This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.h b/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.h new file mode 100644 index 000000000..6e6c246c7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.h @@ -0,0 +1,336 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Version is the basic handle type in this file. Example: +// // Create a default Version object: +// Version handle = VersionDefault(); +// Functions involving Version are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_VERSION +#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_VERSION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct VersionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Version +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct VersionClass *Version; + +// --- Const-aware handles. +typedef const struct VersionClass *const ConstHandle2ConstVersion; +typedef struct VersionClass *const ConstHandle2Version; +typedef const struct VersionClass * Handle2ConstVersion; +typedef struct VersionClass * Handle2Version; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstVersion +VersionDefaultConst(); + +// +++ Create, default +extern_c Handle2Version +VersionDefault(); + +// --- Create, general, const +extern_c Handle2ConstVersion +VersionCreateConst( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Create, general +extern_c Handle2Version +VersionCreate( + const XMLName encoding, + const char *const markup, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +VersionAssign(ConstHandle2Version This, ConstHandle2ConstVersion from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +VersionDelete(ConstHandle2ConstVersion This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +VersionRead(ConstHandle2Version This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +VersionWrite(ConstHandle2ConstVersion This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +VersionPrint(ConstHandle2ConstVersion This); + +// +++ Print to standard output, as XML +extern_c int +VersionPrintXML(ConstHandle2ConstVersion This); + +// +++ Print to standard output, as JSON +extern_c int +VersionPrintJSON(ConstHandle2ConstVersion This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +VersionIntsClear(ConstHandle2Version This); + +// +++ Get size +extern_c size_t +VersionIntsSize(ConstHandle2ConstVersion This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +VersionIntsGet(ConstHandle2ConstVersion This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +VersionIntsSet(ConstHandle2Version This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +VersionIntsGetArrayConst(ConstHandle2ConstVersion This); + +// +++ Get pointer to existing values, non-const +extern_c int * +VersionIntsGetArray(ConstHandle2Version This); + +// +++ Set completely new values and size +extern_c void +VersionIntsSetArray(ConstHandle2Version This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +VersionUnsignedsClear(ConstHandle2Version This); + +// +++ Get size +extern_c size_t +VersionUnsignedsSize(ConstHandle2ConstVersion This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +VersionUnsignedsGet(ConstHandle2ConstVersion This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +VersionUnsignedsSet(ConstHandle2Version This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +VersionUnsignedsGetArrayConst(ConstHandle2ConstVersion This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +VersionUnsignedsGetArray(ConstHandle2Version This); + +// +++ Set completely new values and size +extern_c void +VersionUnsignedsSetArray(ConstHandle2Version This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +VersionFloatsClear(ConstHandle2Version This); + +// +++ Get size +extern_c size_t +VersionFloatsSize(ConstHandle2ConstVersion This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +VersionFloatsGet(ConstHandle2ConstVersion This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +VersionFloatsSet(ConstHandle2Version This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +VersionFloatsGetArrayConst(ConstHandle2ConstVersion This); + +// +++ Get pointer to existing values, non-const +extern_c float * +VersionFloatsGetArray(ConstHandle2Version This); + +// +++ Set completely new values and size +extern_c void +VersionFloatsSetArray(ConstHandle2Version This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +VersionDoublesClear(ConstHandle2Version This); + +// +++ Get size +extern_c size_t +VersionDoublesSize(ConstHandle2ConstVersion This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +VersionDoublesGet(ConstHandle2ConstVersion This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +VersionDoublesSet(ConstHandle2Version This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +VersionDoublesGetArrayConst(ConstHandle2ConstVersion This); + +// +++ Get pointer to existing values, non-const +extern_c double * +VersionDoublesGetArray(ConstHandle2Version This); + +// +++ Set completely new values and size +extern_c void +VersionDoublesSetArray(ConstHandle2Version This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: encoding +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +VersionEncodingHas(ConstHandle2ConstVersion This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +VersionEncodingGet(ConstHandle2ConstVersion This); + +// +++ Set +extern_c void +VersionEncodingSet(ConstHandle2Version This, const XMLName encoding); + + +// ----------------------------------------------------------------------------- +// Metadatum: markup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +VersionMarkupHas(ConstHandle2ConstVersion This); + +// +++ Get +// +++ Returns by value +extern_c const char * +VersionMarkupGet(ConstHandle2ConstVersion This); + +// +++ Set +extern_c void +VersionMarkupSet(ConstHandle2Version This, const char *const markup); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +VersionLabelHas(ConstHandle2ConstVersion This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +VersionLabelGet(ConstHandle2ConstVersion This); + +// +++ Set +extern_c void +VersionLabelSet(ConstHandle2Version This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp new file mode 100644 index 000000000..94c99fc35 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionFragmentData/DelayedNeutron.hpp" +#include "DelayedNeutron.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DelayedNeutronClass; +using CPP = multigroup::DelayedNeutron; + +static const std::string CLASSNAME = "DelayedNeutron"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto rate = [](auto &obj) { return &obj.rate; }; + static auto product = [](auto &obj) { return &obj.product; }; +} + +using CPPRate = fissionFragmentData::Rate; +using CPPProduct = ambiguousNamespace::Product; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDelayedNeutron +DelayedNeutronDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DelayedNeutron +DelayedNeutronDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDelayedNeutron +DelayedNeutronCreateConst( + const XMLName label, + ConstHandle2ConstRate rate, + ConstHandle2ConstProduct product +) { + ConstHandle2DelayedNeutron handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(rate), + detail::tocpp(product) + ); + return handle; +} + +// Create, general +Handle2DelayedNeutron +DelayedNeutronCreate( + const XMLName label, + ConstHandle2ConstRate rate, + ConstHandle2ConstProduct product +) { + ConstHandle2DelayedNeutron handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(rate), + detail::tocpp(product) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DelayedNeutronAssign(ConstHandle2DelayedNeutron This, ConstHandle2ConstDelayedNeutron from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DelayedNeutronDelete(ConstHandle2ConstDelayedNeutron This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DelayedNeutronRead(ConstHandle2DelayedNeutron This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DelayedNeutronWrite(ConstHandle2ConstDelayedNeutron This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DelayedNeutronPrint(ConstHandle2ConstDelayedNeutron This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DelayedNeutronPrintXML(ConstHandle2ConstDelayedNeutron This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DelayedNeutronPrintJSON(ConstHandle2ConstDelayedNeutron This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +DelayedNeutronLabelHas(ConstHandle2ConstDelayedNeutron This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +DelayedNeutronLabelGet(ConstHandle2ConstDelayedNeutron This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +DelayedNeutronLabelSet(ConstHandle2DelayedNeutron This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: rate +// ----------------------------------------------------------------------------- + +// Has +int +DelayedNeutronRateHas(ConstHandle2ConstDelayedNeutron This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RateHas", This, extract::rate); +} + +// Get, const +Handle2ConstRate +DelayedNeutronRateGetConst(ConstHandle2ConstDelayedNeutron This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RateGetConst", This, extract::rate); +} + +// Get, non-const +Handle2Rate +DelayedNeutronRateGet(ConstHandle2DelayedNeutron This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RateGet", This, extract::rate); +} + +// Set +void +DelayedNeutronRateSet(ConstHandle2DelayedNeutron This, ConstHandle2ConstRate rate) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RateSet", This, extract::rate, rate); +} + + +// ----------------------------------------------------------------------------- +// Child: product +// ----------------------------------------------------------------------------- + +// Has +int +DelayedNeutronProductHas(ConstHandle2ConstDelayedNeutron This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductHas", This, extract::product); +} + +// Get, const +Handle2ConstProduct +DelayedNeutronProductGetConst(ConstHandle2ConstDelayedNeutron This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductGetConst", This, extract::product); +} + +// Get, non-const +Handle2Product +DelayedNeutronProductGet(ConstHandle2DelayedNeutron This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductGet", This, extract::product); +} + +// Set +void +DelayedNeutronProductSet(ConstHandle2DelayedNeutron This, ConstHandle2ConstProduct product) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductSet", This, extract::product, product); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h new file mode 100644 index 000000000..f6ba0c113 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DelayedNeutron is the basic handle type in this file. Example: +// // Create a default DelayedNeutron object: +// DelayedNeutron handle = DelayedNeutronDefault(); +// Functions involving DelayedNeutron are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON +#define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON + +#include "GNDStk.h" +#include "v2.0/fissionFragmentData/Rate.h" +#include "v2.0/ambiguousNamespace/Product.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DelayedNeutronClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DelayedNeutron +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DelayedNeutronClass *DelayedNeutron; + +// --- Const-aware handles. +typedef const struct DelayedNeutronClass *const ConstHandle2ConstDelayedNeutron; +typedef struct DelayedNeutronClass *const ConstHandle2DelayedNeutron; +typedef const struct DelayedNeutronClass * Handle2ConstDelayedNeutron; +typedef struct DelayedNeutronClass * Handle2DelayedNeutron; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDelayedNeutron +DelayedNeutronDefaultConst(); + +// +++ Create, default +extern_c Handle2DelayedNeutron +DelayedNeutronDefault(); + +// --- Create, general, const +extern_c Handle2ConstDelayedNeutron +DelayedNeutronCreateConst( + const XMLName label, + ConstHandle2ConstRate rate, + ConstHandle2ConstProduct product +); + +// +++ Create, general +extern_c Handle2DelayedNeutron +DelayedNeutronCreate( + const XMLName label, + ConstHandle2ConstRate rate, + ConstHandle2ConstProduct product +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DelayedNeutronAssign(ConstHandle2DelayedNeutron This, ConstHandle2ConstDelayedNeutron from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DelayedNeutronDelete(ConstHandle2ConstDelayedNeutron This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DelayedNeutronRead(ConstHandle2DelayedNeutron This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DelayedNeutronWrite(ConstHandle2ConstDelayedNeutron This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DelayedNeutronPrint(ConstHandle2ConstDelayedNeutron This); + +// +++ Print to standard output, as XML +extern_c int +DelayedNeutronPrintXML(ConstHandle2ConstDelayedNeutron This); + +// +++ Print to standard output, as JSON +extern_c int +DelayedNeutronPrintJSON(ConstHandle2ConstDelayedNeutron This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DelayedNeutronLabelHas(ConstHandle2ConstDelayedNeutron This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DelayedNeutronLabelGet(ConstHandle2ConstDelayedNeutron This); + +// +++ Set +extern_c void +DelayedNeutronLabelSet(ConstHandle2DelayedNeutron This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: rate +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DelayedNeutronRateHas(ConstHandle2ConstDelayedNeutron This); + +// --- Get, const +extern_c Handle2ConstRate +DelayedNeutronRateGetConst(ConstHandle2ConstDelayedNeutron This); + +// +++ Get, non-const +extern_c Handle2Rate +DelayedNeutronRateGet(ConstHandle2DelayedNeutron This); + +// +++ Set +extern_c void +DelayedNeutronRateSet(ConstHandle2DelayedNeutron This, ConstHandle2ConstRate rate); + + +// ----------------------------------------------------------------------------- +// Child: product +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DelayedNeutronProductHas(ConstHandle2ConstDelayedNeutron This); + +// --- Get, const +extern_c Handle2ConstProduct +DelayedNeutronProductGetConst(ConstHandle2ConstDelayedNeutron This); + +// +++ Get, non-const +extern_c Handle2Product +DelayedNeutronProductGet(ConstHandle2DelayedNeutron This); + +// +++ Set +extern_c void +DelayedNeutronProductSet(ConstHandle2DelayedNeutron This, ConstHandle2ConstProduct product); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp new file mode 100644 index 000000000..0ab6bbb2f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionFragmentData/DelayedNeutrons.hpp" +#include "DelayedNeutrons.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DelayedNeutronsClass; +using CPP = multigroup::DelayedNeutrons; + +static const std::string CLASSNAME = "DelayedNeutrons"; + +namespace extract { + static auto delayedNeutron = [](auto &obj) { return &obj.delayedNeutron; }; +} + +using CPPDelayedNeutron = fissionFragmentData::DelayedNeutron; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDelayedNeutrons +DelayedNeutronsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DelayedNeutrons +DelayedNeutronsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDelayedNeutrons +DelayedNeutronsCreateConst( + ConstHandle2DelayedNeutron *const delayedNeutron, const size_t delayedNeutronSize +) { + ConstHandle2DelayedNeutrons handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t DelayedNeutronN = 0; DelayedNeutronN < delayedNeutronSize; ++DelayedNeutronN) + DelayedNeutronsDelayedNeutronAdd(handle, delayedNeutron[DelayedNeutronN]); + return handle; +} + +// Create, general +Handle2DelayedNeutrons +DelayedNeutronsCreate( + ConstHandle2DelayedNeutron *const delayedNeutron, const size_t delayedNeutronSize +) { + ConstHandle2DelayedNeutrons handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t DelayedNeutronN = 0; DelayedNeutronN < delayedNeutronSize; ++DelayedNeutronN) + DelayedNeutronsDelayedNeutronAdd(handle, delayedNeutron[DelayedNeutronN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DelayedNeutronsAssign(ConstHandle2DelayedNeutrons This, ConstHandle2ConstDelayedNeutrons from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DelayedNeutronsDelete(ConstHandle2ConstDelayedNeutrons This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DelayedNeutronsRead(ConstHandle2DelayedNeutrons This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DelayedNeutronsWrite(ConstHandle2ConstDelayedNeutrons This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DelayedNeutronsPrint(ConstHandle2ConstDelayedNeutrons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DelayedNeutronsPrintXML(ConstHandle2ConstDelayedNeutrons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DelayedNeutronsPrintJSON(ConstHandle2ConstDelayedNeutrons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: delayedNeutron +// ----------------------------------------------------------------------------- + +// Has +int +DelayedNeutronsDelayedNeutronHas(ConstHandle2ConstDelayedNeutrons This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DelayedNeutronHas", This, extract::delayedNeutron); +} + +// Clear +void +DelayedNeutronsDelayedNeutronClear(ConstHandle2DelayedNeutrons This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DelayedNeutronClear", This, extract::delayedNeutron); +} + +// Size +size_t +DelayedNeutronsDelayedNeutronSize(ConstHandle2ConstDelayedNeutrons This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DelayedNeutronSize", This, extract::delayedNeutron); +} + +// Add +void +DelayedNeutronsDelayedNeutronAdd(ConstHandle2DelayedNeutrons This, ConstHandle2ConstDelayedNeutron delayedNeutron) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DelayedNeutronAdd", This, extract::delayedNeutron, delayedNeutron); +} + +// Get, by index \in [0,size), const +Handle2ConstDelayedNeutron +DelayedNeutronsDelayedNeutronGetConst(ConstHandle2ConstDelayedNeutrons This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DelayedNeutronGetConst", This, extract::delayedNeutron, index_); +} + +// Get, by index \in [0,size), non-const +Handle2DelayedNeutron +DelayedNeutronsDelayedNeutronGet(ConstHandle2DelayedNeutrons This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DelayedNeutronGet", This, extract::delayedNeutron, index_); +} + +// Set, by index \in [0,size) +void +DelayedNeutronsDelayedNeutronSet( + ConstHandle2DelayedNeutrons This, + const size_t index_, + ConstHandle2ConstDelayedNeutron delayedNeutron +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DelayedNeutronSet", This, extract::delayedNeutron, index_, delayedNeutron); +} + +// Has, by label +int +DelayedNeutronsDelayedNeutronHasByLabel( + ConstHandle2ConstDelayedNeutrons This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DelayedNeutronHasByLabel", + This, extract::delayedNeutron, meta::label, label); +} + +// Get, by label, const +Handle2ConstDelayedNeutron +DelayedNeutronsDelayedNeutronGetByLabelConst( + ConstHandle2ConstDelayedNeutrons This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DelayedNeutronGetByLabelConst", + This, extract::delayedNeutron, meta::label, label); +} + +// Get, by label, non-const +Handle2DelayedNeutron +DelayedNeutronsDelayedNeutronGetByLabel( + ConstHandle2DelayedNeutrons This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DelayedNeutronGetByLabel", + This, extract::delayedNeutron, meta::label, label); +} + +// Set, by label +void +DelayedNeutronsDelayedNeutronSetByLabel( + ConstHandle2DelayedNeutrons This, + const XMLName label, + ConstHandle2ConstDelayedNeutron delayedNeutron +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DelayedNeutronSetByLabel", + This, extract::delayedNeutron, meta::label, label, delayedNeutron); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h new file mode 100644 index 000000000..80113d8eb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DelayedNeutrons is the basic handle type in this file. Example: +// // Create a default DelayedNeutrons object: +// DelayedNeutrons handle = DelayedNeutronsDefault(); +// Functions involving DelayedNeutrons are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS +#define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS + +#include "GNDStk.h" +#include "v2.0/fissionFragmentData/DelayedNeutron.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DelayedNeutronsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DelayedNeutrons +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DelayedNeutronsClass *DelayedNeutrons; + +// --- Const-aware handles. +typedef const struct DelayedNeutronsClass *const ConstHandle2ConstDelayedNeutrons; +typedef struct DelayedNeutronsClass *const ConstHandle2DelayedNeutrons; +typedef const struct DelayedNeutronsClass * Handle2ConstDelayedNeutrons; +typedef struct DelayedNeutronsClass * Handle2DelayedNeutrons; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDelayedNeutrons +DelayedNeutronsDefaultConst(); + +// +++ Create, default +extern_c Handle2DelayedNeutrons +DelayedNeutronsDefault(); + +// --- Create, general, const +extern_c Handle2ConstDelayedNeutrons +DelayedNeutronsCreateConst( + ConstHandle2DelayedNeutron *const delayedNeutron, const size_t delayedNeutronSize +); + +// +++ Create, general +extern_c Handle2DelayedNeutrons +DelayedNeutronsCreate( + ConstHandle2DelayedNeutron *const delayedNeutron, const size_t delayedNeutronSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DelayedNeutronsAssign(ConstHandle2DelayedNeutrons This, ConstHandle2ConstDelayedNeutrons from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DelayedNeutronsDelete(ConstHandle2ConstDelayedNeutrons This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DelayedNeutronsRead(ConstHandle2DelayedNeutrons This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DelayedNeutronsWrite(ConstHandle2ConstDelayedNeutrons This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DelayedNeutronsPrint(ConstHandle2ConstDelayedNeutrons This); + +// +++ Print to standard output, as XML +extern_c int +DelayedNeutronsPrintXML(ConstHandle2ConstDelayedNeutrons This); + +// +++ Print to standard output, as JSON +extern_c int +DelayedNeutronsPrintJSON(ConstHandle2ConstDelayedNeutrons This); + + +// ----------------------------------------------------------------------------- +// Child: delayedNeutron +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DelayedNeutronsDelayedNeutronHas(ConstHandle2ConstDelayedNeutrons This); + +// +++ Clear +extern_c void +DelayedNeutronsDelayedNeutronClear(ConstHandle2DelayedNeutrons This); + +// +++ Size +extern_c size_t +DelayedNeutronsDelayedNeutronSize(ConstHandle2ConstDelayedNeutrons This); + +// +++ Add +extern_c void +DelayedNeutronsDelayedNeutronAdd(ConstHandle2DelayedNeutrons This, ConstHandle2ConstDelayedNeutron delayedNeutron); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDelayedNeutron +DelayedNeutronsDelayedNeutronGetConst(ConstHandle2ConstDelayedNeutrons This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2DelayedNeutron +DelayedNeutronsDelayedNeutronGet(ConstHandle2DelayedNeutrons This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +DelayedNeutronsDelayedNeutronSet( + ConstHandle2DelayedNeutrons This, + const size_t index_, + ConstHandle2ConstDelayedNeutron delayedNeutron +); + +// +++ Has, by label +extern_c int +DelayedNeutronsDelayedNeutronHasByLabel( + ConstHandle2ConstDelayedNeutrons This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDelayedNeutron +DelayedNeutronsDelayedNeutronGetByLabelConst( + ConstHandle2ConstDelayedNeutrons This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2DelayedNeutron +DelayedNeutronsDelayedNeutronGetByLabel( + ConstHandle2DelayedNeutrons This, + const XMLName label +); + +// +++ Set, by label +extern_c void +DelayedNeutronsDelayedNeutronSetByLabel( + ConstHandle2DelayedNeutrons This, + const XMLName label, + ConstHandle2ConstDelayedNeutron delayedNeutron +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp new file mode 100644 index 000000000..f4c8c9ab3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionFragmentData/FissionFragmentData.hpp" +#include "FissionFragmentData.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FissionFragmentDataClass; +using CPP = multigroup::FissionFragmentData; + +static const std::string CLASSNAME = "FissionFragmentData"; + +namespace extract { + static auto delayedNeutrons = [](auto &obj) { return &obj.delayedNeutrons; }; + static auto fissionEnergyReleased = [](auto &obj) { return &obj.fissionEnergyReleased; }; + static auto productYields = [](auto &obj) { return &obj.productYields; }; +} + +using CPPDelayedNeutrons = fissionFragmentData::DelayedNeutrons; +using CPPFissionEnergyReleased = fissionTransport::FissionEnergyReleased; +using CPPProductYields = fpy::ProductYields; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFissionFragmentData +FissionFragmentDataDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2FissionFragmentData +FissionFragmentDataDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFissionFragmentData +FissionFragmentDataCreateConst( + ConstHandle2ConstDelayedNeutrons delayedNeutrons, + ConstHandle2ConstFissionEnergyReleased fissionEnergyReleased, + ConstHandle2ConstProductYields productYields +) { + ConstHandle2FissionFragmentData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(delayedNeutrons), + detail::tocpp(fissionEnergyReleased), + detail::tocpp(productYields) + ); + return handle; +} + +// Create, general +Handle2FissionFragmentData +FissionFragmentDataCreate( + ConstHandle2ConstDelayedNeutrons delayedNeutrons, + ConstHandle2ConstFissionEnergyReleased fissionEnergyReleased, + ConstHandle2ConstProductYields productYields +) { + ConstHandle2FissionFragmentData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(delayedNeutrons), + detail::tocpp(fissionEnergyReleased), + detail::tocpp(productYields) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FissionFragmentDataAssign(ConstHandle2FissionFragmentData This, ConstHandle2ConstFissionFragmentData from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FissionFragmentDataDelete(ConstHandle2ConstFissionFragmentData This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FissionFragmentDataRead(ConstHandle2FissionFragmentData This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FissionFragmentDataWrite(ConstHandle2ConstFissionFragmentData This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FissionFragmentDataPrint(ConstHandle2ConstFissionFragmentData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FissionFragmentDataPrintXML(ConstHandle2ConstFissionFragmentData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FissionFragmentDataPrintJSON(ConstHandle2ConstFissionFragmentData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: delayedNeutrons +// ----------------------------------------------------------------------------- + +// Has +int +FissionFragmentDataDelayedNeutronsHas(ConstHandle2ConstFissionFragmentData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DelayedNeutronsHas", This, extract::delayedNeutrons); +} + +// Get, const +Handle2ConstDelayedNeutrons +FissionFragmentDataDelayedNeutronsGetConst(ConstHandle2ConstFissionFragmentData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DelayedNeutronsGetConst", This, extract::delayedNeutrons); +} + +// Get, non-const +Handle2DelayedNeutrons +FissionFragmentDataDelayedNeutronsGet(ConstHandle2FissionFragmentData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DelayedNeutronsGet", This, extract::delayedNeutrons); +} + +// Set +void +FissionFragmentDataDelayedNeutronsSet(ConstHandle2FissionFragmentData This, ConstHandle2ConstDelayedNeutrons delayedNeutrons) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DelayedNeutronsSet", This, extract::delayedNeutrons, delayedNeutrons); +} + + +// ----------------------------------------------------------------------------- +// Child: fissionEnergyReleased +// ----------------------------------------------------------------------------- + +// Has +int +FissionFragmentDataFissionEnergyReleasedHas(ConstHandle2ConstFissionFragmentData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionEnergyReleasedHas", This, extract::fissionEnergyReleased); +} + +// Get, const +Handle2ConstFissionEnergyReleased +FissionFragmentDataFissionEnergyReleasedGetConst(ConstHandle2ConstFissionFragmentData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionEnergyReleasedGetConst", This, extract::fissionEnergyReleased); +} + +// Get, non-const +Handle2FissionEnergyReleased +FissionFragmentDataFissionEnergyReleasedGet(ConstHandle2FissionFragmentData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionEnergyReleasedGet", This, extract::fissionEnergyReleased); +} + +// Set +void +FissionFragmentDataFissionEnergyReleasedSet(ConstHandle2FissionFragmentData This, ConstHandle2ConstFissionEnergyReleased fissionEnergyReleased) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FissionEnergyReleasedSet", This, extract::fissionEnergyReleased, fissionEnergyReleased); +} + + +// ----------------------------------------------------------------------------- +// Child: productYields +// ----------------------------------------------------------------------------- + +// Has +int +FissionFragmentDataProductYieldsHas(ConstHandle2ConstFissionFragmentData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductYieldsHas", This, extract::productYields); +} + +// Get, const +Handle2ConstProductYields +FissionFragmentDataProductYieldsGetConst(ConstHandle2ConstFissionFragmentData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductYieldsGetConst", This, extract::productYields); +} + +// Get, non-const +Handle2ProductYields +FissionFragmentDataProductYieldsGet(ConstHandle2FissionFragmentData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductYieldsGet", This, extract::productYields); +} + +// Set +void +FissionFragmentDataProductYieldsSet(ConstHandle2FissionFragmentData This, ConstHandle2ConstProductYields productYields) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductYieldsSet", This, extract::productYields, productYields); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.h b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.h new file mode 100644 index 000000000..94d1e693d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// FissionFragmentData is the basic handle type in this file. Example: +// // Create a default FissionFragmentData object: +// FissionFragmentData handle = FissionFragmentDataDefault(); +// Functions involving FissionFragmentData are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA +#define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA + +#include "GNDStk.h" +#include "v2.0/fissionFragmentData/DelayedNeutrons.h" +#include "v2.0/fissionTransport/FissionEnergyReleased.h" +#include "v2.0/fpy/ProductYields.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FissionFragmentDataClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ FissionFragmentData +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FissionFragmentDataClass *FissionFragmentData; + +// --- Const-aware handles. +typedef const struct FissionFragmentDataClass *const ConstHandle2ConstFissionFragmentData; +typedef struct FissionFragmentDataClass *const ConstHandle2FissionFragmentData; +typedef const struct FissionFragmentDataClass * Handle2ConstFissionFragmentData; +typedef struct FissionFragmentDataClass * Handle2FissionFragmentData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFissionFragmentData +FissionFragmentDataDefaultConst(); + +// +++ Create, default +extern_c Handle2FissionFragmentData +FissionFragmentDataDefault(); + +// --- Create, general, const +extern_c Handle2ConstFissionFragmentData +FissionFragmentDataCreateConst( + ConstHandle2ConstDelayedNeutrons delayedNeutrons, + ConstHandle2ConstFissionEnergyReleased fissionEnergyReleased, + ConstHandle2ConstProductYields productYields +); + +// +++ Create, general +extern_c Handle2FissionFragmentData +FissionFragmentDataCreate( + ConstHandle2ConstDelayedNeutrons delayedNeutrons, + ConstHandle2ConstFissionEnergyReleased fissionEnergyReleased, + ConstHandle2ConstProductYields productYields +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FissionFragmentDataAssign(ConstHandle2FissionFragmentData This, ConstHandle2ConstFissionFragmentData from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FissionFragmentDataDelete(ConstHandle2ConstFissionFragmentData This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FissionFragmentDataRead(ConstHandle2FissionFragmentData This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FissionFragmentDataWrite(ConstHandle2ConstFissionFragmentData This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FissionFragmentDataPrint(ConstHandle2ConstFissionFragmentData This); + +// +++ Print to standard output, as XML +extern_c int +FissionFragmentDataPrintXML(ConstHandle2ConstFissionFragmentData This); + +// +++ Print to standard output, as JSON +extern_c int +FissionFragmentDataPrintJSON(ConstHandle2ConstFissionFragmentData This); + + +// ----------------------------------------------------------------------------- +// Child: delayedNeutrons +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionFragmentDataDelayedNeutronsHas(ConstHandle2ConstFissionFragmentData This); + +// --- Get, const +extern_c Handle2ConstDelayedNeutrons +FissionFragmentDataDelayedNeutronsGetConst(ConstHandle2ConstFissionFragmentData This); + +// +++ Get, non-const +extern_c Handle2DelayedNeutrons +FissionFragmentDataDelayedNeutronsGet(ConstHandle2FissionFragmentData This); + +// +++ Set +extern_c void +FissionFragmentDataDelayedNeutronsSet(ConstHandle2FissionFragmentData This, ConstHandle2ConstDelayedNeutrons delayedNeutrons); + + +// ----------------------------------------------------------------------------- +// Child: fissionEnergyReleased +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionFragmentDataFissionEnergyReleasedHas(ConstHandle2ConstFissionFragmentData This); + +// --- Get, const +extern_c Handle2ConstFissionEnergyReleased +FissionFragmentDataFissionEnergyReleasedGetConst(ConstHandle2ConstFissionFragmentData This); + +// +++ Get, non-const +extern_c Handle2FissionEnergyReleased +FissionFragmentDataFissionEnergyReleasedGet(ConstHandle2FissionFragmentData This); + +// +++ Set +extern_c void +FissionFragmentDataFissionEnergyReleasedSet(ConstHandle2FissionFragmentData This, ConstHandle2ConstFissionEnergyReleased fissionEnergyReleased); + + +// ----------------------------------------------------------------------------- +// Child: productYields +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionFragmentDataProductYieldsHas(ConstHandle2ConstFissionFragmentData This); + +// --- Get, const +extern_c Handle2ConstProductYields +FissionFragmentDataProductYieldsGetConst(ConstHandle2ConstFissionFragmentData This); + +// +++ Get, non-const +extern_c Handle2ProductYields +FissionFragmentDataProductYieldsGet(ConstHandle2FissionFragmentData This); + +// +++ Set +extern_c void +FissionFragmentDataProductYieldsSet(ConstHandle2FissionFragmentData This, ConstHandle2ConstProductYields productYields); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp new file mode 100644 index 000000000..e2950c989 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionFragmentData/Rate.hpp" +#include "Rate.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RateClass; +using CPP = multigroup::Rate; + +static const std::string CLASSNAME = "Rate"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRate +RateDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Rate +RateDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRate +RateCreateConst( + ConstHandle2ConstDouble Double +) { + ConstHandle2Rate handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2Rate +RateCreate( + ConstHandle2ConstDouble Double +) { + ConstHandle2Rate handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RateAssign(ConstHandle2Rate This, ConstHandle2ConstRate from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RateDelete(ConstHandle2ConstRate This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RateRead(ConstHandle2Rate This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RateWrite(ConstHandle2ConstRate This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RatePrint(ConstHandle2ConstRate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RatePrintXML(ConstHandle2ConstRate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RatePrintJSON(ConstHandle2ConstRate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +RateDoubleHas(ConstHandle2ConstRate This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +RateDoubleGetConst(ConstHandle2ConstRate This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +RateDoubleGet(ConstHandle2Rate This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +RateDoubleSet(ConstHandle2Rate This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h new file mode 100644 index 000000000..31b5c3228 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Rate is the basic handle type in this file. Example: +// // Create a default Rate object: +// Rate handle = RateDefault(); +// Functions involving Rate are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_RATE +#define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_RATE + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RateClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Rate +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RateClass *Rate; + +// --- Const-aware handles. +typedef const struct RateClass *const ConstHandle2ConstRate; +typedef struct RateClass *const ConstHandle2Rate; +typedef const struct RateClass * Handle2ConstRate; +typedef struct RateClass * Handle2Rate; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRate +RateDefaultConst(); + +// +++ Create, default +extern_c Handle2Rate +RateDefault(); + +// --- Create, general, const +extern_c Handle2ConstRate +RateCreateConst( + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2Rate +RateCreate( + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RateAssign(ConstHandle2Rate This, ConstHandle2ConstRate from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RateDelete(ConstHandle2ConstRate This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RateRead(ConstHandle2Rate This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RateWrite(ConstHandle2ConstRate This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RatePrint(ConstHandle2ConstRate This); + +// +++ Print to standard output, as XML +extern_c int +RatePrintXML(ConstHandle2ConstRate This); + +// +++ Print to standard output, as JSON +extern_c int +RatePrintJSON(ConstHandle2ConstRate This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RateDoubleHas(ConstHandle2ConstRate This); + +// --- Get, const +extern_c Handle2ConstDouble +RateDoubleGetConst(ConstHandle2ConstRate This); + +// +++ Get, non-const +extern_c Handle2Double +RateDoubleGet(ConstHandle2Rate This); + +// +++ Set +extern_c void +RateDoubleSet(ConstHandle2Rate This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.cpp new file mode 100644 index 000000000..8120f412a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/A.hpp" +#include "A.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AClass; +using CPP = multigroup::A; + +static const std::string CLASSNAME = "A"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstA +ADefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2A +ADefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstA +ACreateConst() +{ + ConstHandle2A handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2A +ACreate() +{ + ConstHandle2A handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AAssign(ConstHandle2A This, ConstHandle2ConstA from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ADelete(ConstHandle2ConstA This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ARead(ConstHandle2A This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AWrite(ConstHandle2ConstA This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +APrint(ConstHandle2ConstA This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +APrintXML(ConstHandle2ConstA This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +APrintJSON(ConstHandle2ConstA This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.h new file mode 100644 index 000000000..f5f0ac239 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// A is the basic handle type in this file. Example: +// // Create a default A object: +// A handle = ADefault(); +// Functions involving A are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_A +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_A + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ A +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AClass *A; + +// --- Const-aware handles. +typedef const struct AClass *const ConstHandle2ConstA; +typedef struct AClass *const ConstHandle2A; +typedef const struct AClass * Handle2ConstA; +typedef struct AClass * Handle2A; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstA +ADefaultConst(); + +// +++ Create, default +extern_c Handle2A +ADefault(); + +// --- Create, general, const +extern_c Handle2ConstA +ACreateConst(); + +// +++ Create, general +extern_c Handle2A +ACreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AAssign(ConstHandle2A This, ConstHandle2ConstA from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ADelete(ConstHandle2ConstA This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ARead(ConstHandle2A This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AWrite(ConstHandle2ConstA This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +APrint(ConstHandle2ConstA This); + +// +++ Print to standard output, as XML +extern_c int +APrintXML(ConstHandle2ConstA This); + +// +++ Print to standard output, as JSON +extern_c int +APrintJSON(ConstHandle2ConstA This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.cpp new file mode 100644 index 000000000..1cc2142b5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/B.hpp" +#include "B.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BClass; +using CPP = multigroup::B; + +static const std::string CLASSNAME = "B"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstB +BDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2B +BDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstB +BCreateConst() +{ + ConstHandle2B handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2B +BCreate() +{ + ConstHandle2B handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BAssign(ConstHandle2B This, ConstHandle2ConstB from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BDelete(ConstHandle2ConstB This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BRead(ConstHandle2B This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BWrite(ConstHandle2ConstB This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BPrint(ConstHandle2ConstB This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BPrintXML(ConstHandle2ConstB This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BPrintJSON(ConstHandle2ConstB This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.h new file mode 100644 index 000000000..76caea624 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// B is the basic handle type in this file. Example: +// // Create a default B object: +// B handle = BDefault(); +// Functions involving B are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_B +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_B + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ B +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BClass *B; + +// --- Const-aware handles. +typedef const struct BClass *const ConstHandle2ConstB; +typedef struct BClass *const ConstHandle2B; +typedef const struct BClass * Handle2ConstB; +typedef struct BClass * Handle2B; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstB +BDefaultConst(); + +// +++ Create, default +extern_c Handle2B +BDefault(); + +// --- Create, general, const +extern_c Handle2ConstB +BCreateConst(); + +// +++ Create, general +extern_c Handle2B +BCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BAssign(ConstHandle2B This, ConstHandle2ConstB from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BDelete(ConstHandle2ConstB This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BRead(ConstHandle2B This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BWrite(ConstHandle2ConstB This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BPrint(ConstHandle2ConstB This); + +// +++ Print to standard output, as XML +extern_c int +BPrintXML(ConstHandle2ConstB This); + +// +++ Print to standard output, as JSON +extern_c int +BPrintJSON(ConstHandle2ConstB This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp new file mode 100644 index 000000000..81cb1a6a6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/DelayedBetaEnergy.hpp" +#include "DelayedBetaEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DelayedBetaEnergyClass; +using CPP = multigroup::DelayedBetaEnergy; + +static const std::string CLASSNAME = "DelayedBetaEnergy"; + +namespace extract { + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDelayedBetaEnergy +DelayedBetaEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DelayedBetaEnergy +DelayedBetaEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDelayedBetaEnergy +DelayedBetaEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2DelayedBetaEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2DelayedBetaEnergy +DelayedBetaEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2DelayedBetaEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DelayedBetaEnergyAssign(ConstHandle2DelayedBetaEnergy This, ConstHandle2ConstDelayedBetaEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DelayedBetaEnergyDelete(ConstHandle2ConstDelayedBetaEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DelayedBetaEnergyRead(ConstHandle2DelayedBetaEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DelayedBetaEnergyWrite(ConstHandle2ConstDelayedBetaEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DelayedBetaEnergyPrint(ConstHandle2ConstDelayedBetaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DelayedBetaEnergyPrintXML(ConstHandle2ConstDelayedBetaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DelayedBetaEnergyPrintJSON(ConstHandle2ConstDelayedBetaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +DelayedBetaEnergyPolynomial1dHas(ConstHandle2ConstDelayedBetaEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +DelayedBetaEnergyPolynomial1dGetConst(ConstHandle2ConstDelayedBetaEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +DelayedBetaEnergyPolynomial1dGet(ConstHandle2DelayedBetaEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +DelayedBetaEnergyPolynomial1dSet(ConstHandle2DelayedBetaEnergy This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h new file mode 100644 index 000000000..12cd2e79c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DelayedBetaEnergy is the basic handle type in this file. Example: +// // Create a default DelayedBetaEnergy object: +// DelayedBetaEnergy handle = DelayedBetaEnergyDefault(); +// Functions involving DelayedBetaEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DelayedBetaEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DelayedBetaEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DelayedBetaEnergyClass *DelayedBetaEnergy; + +// --- Const-aware handles. +typedef const struct DelayedBetaEnergyClass *const ConstHandle2ConstDelayedBetaEnergy; +typedef struct DelayedBetaEnergyClass *const ConstHandle2DelayedBetaEnergy; +typedef const struct DelayedBetaEnergyClass * Handle2ConstDelayedBetaEnergy; +typedef struct DelayedBetaEnergyClass * Handle2DelayedBetaEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDelayedBetaEnergy +DelayedBetaEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2DelayedBetaEnergy +DelayedBetaEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstDelayedBetaEnergy +DelayedBetaEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2DelayedBetaEnergy +DelayedBetaEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DelayedBetaEnergyAssign(ConstHandle2DelayedBetaEnergy This, ConstHandle2ConstDelayedBetaEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DelayedBetaEnergyDelete(ConstHandle2ConstDelayedBetaEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DelayedBetaEnergyRead(ConstHandle2DelayedBetaEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DelayedBetaEnergyWrite(ConstHandle2ConstDelayedBetaEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DelayedBetaEnergyPrint(ConstHandle2ConstDelayedBetaEnergy This); + +// +++ Print to standard output, as XML +extern_c int +DelayedBetaEnergyPrintXML(ConstHandle2ConstDelayedBetaEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +DelayedBetaEnergyPrintJSON(ConstHandle2ConstDelayedBetaEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DelayedBetaEnergyPolynomial1dHas(ConstHandle2ConstDelayedBetaEnergy This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +DelayedBetaEnergyPolynomial1dGetConst(ConstHandle2ConstDelayedBetaEnergy This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +DelayedBetaEnergyPolynomial1dGet(ConstHandle2DelayedBetaEnergy This); + +// +++ Set +extern_c void +DelayedBetaEnergyPolynomial1dSet(ConstHandle2DelayedBetaEnergy This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp new file mode 100644 index 000000000..2a4bb6056 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/DelayedGammaEnergy.hpp" +#include "DelayedGammaEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DelayedGammaEnergyClass; +using CPP = multigroup::DelayedGammaEnergy; + +static const std::string CLASSNAME = "DelayedGammaEnergy"; + +namespace extract { + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDelayedGammaEnergy +DelayedGammaEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DelayedGammaEnergy +DelayedGammaEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDelayedGammaEnergy +DelayedGammaEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2DelayedGammaEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2DelayedGammaEnergy +DelayedGammaEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2DelayedGammaEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DelayedGammaEnergyAssign(ConstHandle2DelayedGammaEnergy This, ConstHandle2ConstDelayedGammaEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DelayedGammaEnergyDelete(ConstHandle2ConstDelayedGammaEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DelayedGammaEnergyRead(ConstHandle2DelayedGammaEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DelayedGammaEnergyWrite(ConstHandle2ConstDelayedGammaEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DelayedGammaEnergyPrint(ConstHandle2ConstDelayedGammaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DelayedGammaEnergyPrintXML(ConstHandle2ConstDelayedGammaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DelayedGammaEnergyPrintJSON(ConstHandle2ConstDelayedGammaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +DelayedGammaEnergyPolynomial1dHas(ConstHandle2ConstDelayedGammaEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +DelayedGammaEnergyPolynomial1dGetConst(ConstHandle2ConstDelayedGammaEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +DelayedGammaEnergyPolynomial1dGet(ConstHandle2DelayedGammaEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +DelayedGammaEnergyPolynomial1dSet(ConstHandle2DelayedGammaEnergy This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h new file mode 100644 index 000000000..20463799e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DelayedGammaEnergy is the basic handle type in this file. Example: +// // Create a default DelayedGammaEnergy object: +// DelayedGammaEnergy handle = DelayedGammaEnergyDefault(); +// Functions involving DelayedGammaEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DelayedGammaEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DelayedGammaEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DelayedGammaEnergyClass *DelayedGammaEnergy; + +// --- Const-aware handles. +typedef const struct DelayedGammaEnergyClass *const ConstHandle2ConstDelayedGammaEnergy; +typedef struct DelayedGammaEnergyClass *const ConstHandle2DelayedGammaEnergy; +typedef const struct DelayedGammaEnergyClass * Handle2ConstDelayedGammaEnergy; +typedef struct DelayedGammaEnergyClass * Handle2DelayedGammaEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDelayedGammaEnergy +DelayedGammaEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2DelayedGammaEnergy +DelayedGammaEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstDelayedGammaEnergy +DelayedGammaEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2DelayedGammaEnergy +DelayedGammaEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DelayedGammaEnergyAssign(ConstHandle2DelayedGammaEnergy This, ConstHandle2ConstDelayedGammaEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DelayedGammaEnergyDelete(ConstHandle2ConstDelayedGammaEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DelayedGammaEnergyRead(ConstHandle2DelayedGammaEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DelayedGammaEnergyWrite(ConstHandle2ConstDelayedGammaEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DelayedGammaEnergyPrint(ConstHandle2ConstDelayedGammaEnergy This); + +// +++ Print to standard output, as XML +extern_c int +DelayedGammaEnergyPrintXML(ConstHandle2ConstDelayedGammaEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +DelayedGammaEnergyPrintJSON(ConstHandle2ConstDelayedGammaEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DelayedGammaEnergyPolynomial1dHas(ConstHandle2ConstDelayedGammaEnergy This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +DelayedGammaEnergyPolynomial1dGetConst(ConstHandle2ConstDelayedGammaEnergy This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +DelayedGammaEnergyPolynomial1dGet(ConstHandle2DelayedGammaEnergy This); + +// +++ Set +extern_c void +DelayedGammaEnergyPolynomial1dSet(ConstHandle2DelayedGammaEnergy This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp new file mode 100644 index 000000000..8d3f49b5b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/DelayedNeutronKE.hpp" +#include "DelayedNeutronKE.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DelayedNeutronKEClass; +using CPP = multigroup::DelayedNeutronKE; + +static const std::string CLASSNAME = "DelayedNeutronKE"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDelayedNeutronKE +DelayedNeutronKEDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DelayedNeutronKE +DelayedNeutronKEDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDelayedNeutronKE +DelayedNeutronKECreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2DelayedNeutronKE handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2DelayedNeutronKE +DelayedNeutronKECreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2DelayedNeutronKE handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DelayedNeutronKEAssign(ConstHandle2DelayedNeutronKE This, ConstHandle2ConstDelayedNeutronKE from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DelayedNeutronKEDelete(ConstHandle2ConstDelayedNeutronKE This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DelayedNeutronKERead(ConstHandle2DelayedNeutronKE This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DelayedNeutronKEWrite(ConstHandle2ConstDelayedNeutronKE This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DelayedNeutronKEPrint(ConstHandle2ConstDelayedNeutronKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DelayedNeutronKEPrintXML(ConstHandle2ConstDelayedNeutronKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DelayedNeutronKEPrintJSON(ConstHandle2ConstDelayedNeutronKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +DelayedNeutronKEXYs1dHas(ConstHandle2ConstDelayedNeutronKE This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +DelayedNeutronKEXYs1dGetConst(ConstHandle2ConstDelayedNeutronKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +DelayedNeutronKEXYs1dGet(ConstHandle2DelayedNeutronKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +DelayedNeutronKEXYs1dSet(ConstHandle2DelayedNeutronKE This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +DelayedNeutronKEPolynomial1dHas(ConstHandle2ConstDelayedNeutronKE This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +DelayedNeutronKEPolynomial1dGetConst(ConstHandle2ConstDelayedNeutronKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +DelayedNeutronKEPolynomial1dGet(ConstHandle2DelayedNeutronKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +DelayedNeutronKEPolynomial1dSet(ConstHandle2DelayedNeutronKE This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h new file mode 100644 index 000000000..829006a02 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DelayedNeutronKE is the basic handle type in this file. Example: +// // Create a default DelayedNeutronKE object: +// DelayedNeutronKE handle = DelayedNeutronKEDefault(); +// Functions involving DelayedNeutronKE are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DelayedNeutronKEClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DelayedNeutronKE +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DelayedNeutronKEClass *DelayedNeutronKE; + +// --- Const-aware handles. +typedef const struct DelayedNeutronKEClass *const ConstHandle2ConstDelayedNeutronKE; +typedef struct DelayedNeutronKEClass *const ConstHandle2DelayedNeutronKE; +typedef const struct DelayedNeutronKEClass * Handle2ConstDelayedNeutronKE; +typedef struct DelayedNeutronKEClass * Handle2DelayedNeutronKE; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDelayedNeutronKE +DelayedNeutronKEDefaultConst(); + +// +++ Create, default +extern_c Handle2DelayedNeutronKE +DelayedNeutronKEDefault(); + +// --- Create, general, const +extern_c Handle2ConstDelayedNeutronKE +DelayedNeutronKECreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2DelayedNeutronKE +DelayedNeutronKECreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DelayedNeutronKEAssign(ConstHandle2DelayedNeutronKE This, ConstHandle2ConstDelayedNeutronKE from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DelayedNeutronKEDelete(ConstHandle2ConstDelayedNeutronKE This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DelayedNeutronKERead(ConstHandle2DelayedNeutronKE This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DelayedNeutronKEWrite(ConstHandle2ConstDelayedNeutronKE This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DelayedNeutronKEPrint(ConstHandle2ConstDelayedNeutronKE This); + +// +++ Print to standard output, as XML +extern_c int +DelayedNeutronKEPrintXML(ConstHandle2ConstDelayedNeutronKE This); + +// +++ Print to standard output, as JSON +extern_c int +DelayedNeutronKEPrintJSON(ConstHandle2ConstDelayedNeutronKE This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DelayedNeutronKEXYs1dHas(ConstHandle2ConstDelayedNeutronKE This); + +// --- Get, const +extern_c Handle2ConstXYs1d +DelayedNeutronKEXYs1dGetConst(ConstHandle2ConstDelayedNeutronKE This); + +// +++ Get, non-const +extern_c Handle2XYs1d +DelayedNeutronKEXYs1dGet(ConstHandle2DelayedNeutronKE This); + +// +++ Set +extern_c void +DelayedNeutronKEXYs1dSet(ConstHandle2DelayedNeutronKE This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DelayedNeutronKEPolynomial1dHas(ConstHandle2ConstDelayedNeutronKE This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +DelayedNeutronKEPolynomial1dGetConst(ConstHandle2ConstDelayedNeutronKE This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +DelayedNeutronKEPolynomial1dGet(ConstHandle2DelayedNeutronKE This); + +// +++ Set +extern_c void +DelayedNeutronKEPolynomial1dSet(ConstHandle2DelayedNeutronKE This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.cpp new file mode 100644 index 000000000..61e94d19d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/EFH.hpp" +#include "EFH.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EFHClass; +using CPP = multigroup::EFH; + +static const std::string CLASSNAME = "EFH"; + +namespace extract { + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEFH +EFHDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EFH +EFHDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEFH +EFHCreateConst( + const XMLName unit, + const Float64 value +) { + ConstHandle2EFH handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + unit, + value + ); + return handle; +} + +// Create, general +Handle2EFH +EFHCreate( + const XMLName unit, + const Float64 value +) { + ConstHandle2EFH handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EFHAssign(ConstHandle2EFH This, ConstHandle2ConstEFH from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EFHDelete(ConstHandle2ConstEFH This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EFHRead(ConstHandle2EFH This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EFHWrite(ConstHandle2ConstEFH This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EFHPrint(ConstHandle2ConstEFH This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EFHPrintXML(ConstHandle2ConstEFH This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EFHPrintJSON(ConstHandle2ConstEFH This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +EFHUnitHas(ConstHandle2ConstEFH This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +EFHUnitGet(ConstHandle2ConstEFH This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +EFHUnitSet(ConstHandle2EFH This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +EFHValueHas(ConstHandle2ConstEFH This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +EFHValueGet(ConstHandle2ConstEFH This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +EFHValueSet(ConstHandle2EFH This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.h new file mode 100644 index 000000000..8ee243420 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EFH is the basic handle type in this file. Example: +// // Create a default EFH object: +// EFH handle = EFHDefault(); +// Functions involving EFH are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_EFH +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_EFH + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EFHClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EFH +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EFHClass *EFH; + +// --- Const-aware handles. +typedef const struct EFHClass *const ConstHandle2ConstEFH; +typedef struct EFHClass *const ConstHandle2EFH; +typedef const struct EFHClass * Handle2ConstEFH; +typedef struct EFHClass * Handle2EFH; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEFH +EFHDefaultConst(); + +// +++ Create, default +extern_c Handle2EFH +EFHDefault(); + +// --- Create, general, const +extern_c Handle2ConstEFH +EFHCreateConst( + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2EFH +EFHCreate( + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EFHAssign(ConstHandle2EFH This, ConstHandle2ConstEFH from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EFHDelete(ConstHandle2ConstEFH This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EFHRead(ConstHandle2EFH This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EFHWrite(ConstHandle2ConstEFH This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EFHPrint(ConstHandle2ConstEFH This); + +// +++ Print to standard output, as XML +extern_c int +EFHPrintXML(ConstHandle2ConstEFH This); + +// +++ Print to standard output, as JSON +extern_c int +EFHPrintJSON(ConstHandle2ConstEFH This); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EFHUnitHas(ConstHandle2ConstEFH This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EFHUnitGet(ConstHandle2ConstEFH This); + +// +++ Set +extern_c void +EFHUnitSet(ConstHandle2EFH This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EFHValueHas(ConstHandle2ConstEFH This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +EFHValueGet(ConstHandle2ConstEFH This); + +// +++ Set +extern_c void +EFHValueSet(ConstHandle2EFH This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.cpp new file mode 100644 index 000000000..9fec0eb5c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/EFL.hpp" +#include "EFL.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EFLClass; +using CPP = multigroup::EFL; + +static const std::string CLASSNAME = "EFL"; + +namespace extract { + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEFL +EFLDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EFL +EFLDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEFL +EFLCreateConst( + const XMLName unit, + const Float64 value +) { + ConstHandle2EFL handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + unit, + value + ); + return handle; +} + +// Create, general +Handle2EFL +EFLCreate( + const XMLName unit, + const Float64 value +) { + ConstHandle2EFL handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EFLAssign(ConstHandle2EFL This, ConstHandle2ConstEFL from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EFLDelete(ConstHandle2ConstEFL This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EFLRead(ConstHandle2EFL This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EFLWrite(ConstHandle2ConstEFL This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EFLPrint(ConstHandle2ConstEFL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EFLPrintXML(ConstHandle2ConstEFL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EFLPrintJSON(ConstHandle2ConstEFL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +EFLUnitHas(ConstHandle2ConstEFL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +EFLUnitGet(ConstHandle2ConstEFL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +EFLUnitSet(ConstHandle2EFL This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +EFLValueHas(ConstHandle2ConstEFL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +EFLValueGet(ConstHandle2ConstEFL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +EFLValueSet(ConstHandle2EFL This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.h new file mode 100644 index 000000000..d43484fcd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EFL is the basic handle type in this file. Example: +// // Create a default EFL object: +// EFL handle = EFLDefault(); +// Functions involving EFL are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_EFL +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_EFL + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EFLClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EFL +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EFLClass *EFL; + +// --- Const-aware handles. +typedef const struct EFLClass *const ConstHandle2ConstEFL; +typedef struct EFLClass *const ConstHandle2EFL; +typedef const struct EFLClass * Handle2ConstEFL; +typedef struct EFLClass * Handle2EFL; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEFL +EFLDefaultConst(); + +// +++ Create, default +extern_c Handle2EFL +EFLDefault(); + +// --- Create, general, const +extern_c Handle2ConstEFL +EFLCreateConst( + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2EFL +EFLCreate( + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EFLAssign(ConstHandle2EFL This, ConstHandle2ConstEFL from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EFLDelete(ConstHandle2ConstEFL This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EFLRead(ConstHandle2EFL This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EFLWrite(ConstHandle2ConstEFL This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EFLPrint(ConstHandle2ConstEFL This); + +// +++ Print to standard output, as XML +extern_c int +EFLPrintXML(ConstHandle2ConstEFL This); + +// +++ Print to standard output, as JSON +extern_c int +EFLPrintJSON(ConstHandle2ConstEFL This); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EFLUnitHas(ConstHandle2ConstEFL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EFLUnitGet(ConstHandle2ConstEFL This); + +// +++ Set +extern_c void +EFLUnitSet(ConstHandle2EFL This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EFLValueHas(ConstHandle2ConstEFL This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +EFLValueGet(ConstHandle2ConstEFL This); + +// +++ Set +extern_c void +EFLValueSet(ConstHandle2EFL This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.cpp new file mode 100644 index 000000000..1961f0585 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/FissionComponent.hpp" +#include "FissionComponent.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FissionComponentClass; +using CPP = multigroup::FissionComponent; + +static const std::string CLASSNAME = "FissionComponent"; + +namespace extract { + static auto ENDF_MT = [](auto &obj) { return &obj.ENDF_MT; }; + static auto fissionGenre = [](auto &obj) { return &obj.fissionGenre; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto crossSection = [](auto &obj) { return &obj.crossSection; }; + static auto outputChannel = [](auto &obj) { return &obj.outputChannel; }; +} + +using CPPCrossSection = transport::CrossSection; +using CPPOutputChannel = transport::OutputChannel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFissionComponent +FissionComponentDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2FissionComponent +FissionComponentDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFissionComponent +FissionComponentCreateConst( + const Integer32 ENDF_MT, + const XMLName fissionGenre, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2FissionComponent handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MT, + fissionGenre, + label, + detail::tocpp(crossSection), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Create, general +Handle2FissionComponent +FissionComponentCreate( + const Integer32 ENDF_MT, + const XMLName fissionGenre, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2FissionComponent handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MT, + fissionGenre, + label, + detail::tocpp(crossSection), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FissionComponentAssign(ConstHandle2FissionComponent This, ConstHandle2ConstFissionComponent from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FissionComponentDelete(ConstHandle2ConstFissionComponent This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FissionComponentRead(ConstHandle2FissionComponent This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FissionComponentWrite(ConstHandle2ConstFissionComponent This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FissionComponentPrint(ConstHandle2ConstFissionComponent This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FissionComponentPrintXML(ConstHandle2ConstFissionComponent This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FissionComponentPrintJSON(ConstHandle2ConstFissionComponent This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// Has +int +FissionComponentENDFMTHas(ConstHandle2ConstFissionComponent This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMTHas", This, extract::ENDF_MT); +} + +// Get +// Returns by value +Integer32 +FissionComponentENDFMTGet(ConstHandle2ConstFissionComponent This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMTGet", This, extract::ENDF_MT); +} + +// Set +void +FissionComponentENDFMTSet(ConstHandle2FissionComponent This, const Integer32 ENDF_MT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMTSet", This, extract::ENDF_MT, ENDF_MT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: fissionGenre +// ----------------------------------------------------------------------------- + +// Has +int +FissionComponentFissionGenreHas(ConstHandle2ConstFissionComponent This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionGenreHas", This, extract::fissionGenre); +} + +// Get +// Returns by value +XMLName +FissionComponentFissionGenreGet(ConstHandle2ConstFissionComponent This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionGenreGet", This, extract::fissionGenre); +} + +// Set +void +FissionComponentFissionGenreSet(ConstHandle2FissionComponent This, const XMLName fissionGenre) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FissionGenreSet", This, extract::fissionGenre, fissionGenre); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +FissionComponentLabelHas(ConstHandle2ConstFissionComponent This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +FissionComponentLabelGet(ConstHandle2ConstFissionComponent This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +FissionComponentLabelSet(ConstHandle2FissionComponent This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// Has +int +FissionComponentCrossSectionHas(ConstHandle2ConstFissionComponent This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionHas", This, extract::crossSection); +} + +// Get, const +Handle2ConstCrossSection +FissionComponentCrossSectionGetConst(ConstHandle2ConstFissionComponent This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGetConst", This, extract::crossSection); +} + +// Get, non-const +Handle2CrossSection +FissionComponentCrossSectionGet(ConstHandle2FissionComponent This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGet", This, extract::crossSection); +} + +// Set +void +FissionComponentCrossSectionSet(ConstHandle2FissionComponent This, ConstHandle2ConstCrossSection crossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossSectionSet", This, extract::crossSection, crossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// Has +int +FissionComponentOutputChannelHas(ConstHandle2ConstFissionComponent This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OutputChannelHas", This, extract::outputChannel); +} + +// Get, const +Handle2ConstOutputChannel +FissionComponentOutputChannelGetConst(ConstHandle2ConstFissionComponent This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGetConst", This, extract::outputChannel); +} + +// Get, non-const +Handle2OutputChannel +FissionComponentOutputChannelGet(ConstHandle2FissionComponent This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGet", This, extract::outputChannel); +} + +// Set +void +FissionComponentOutputChannelSet(ConstHandle2FissionComponent This, ConstHandle2ConstOutputChannel outputChannel) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OutputChannelSet", This, extract::outputChannel, outputChannel); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.h new file mode 100644 index 000000000..c494b2269 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// FissionComponent is the basic handle type in this file. Example: +// // Create a default FissionComponent object: +// FissionComponent handle = FissionComponentDefault(); +// Functions involving FissionComponent are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT + +#include "GNDStk.h" +#include "v2.0/transport/CrossSection.h" +#include "v2.0/transport/OutputChannel.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FissionComponentClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ FissionComponent +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FissionComponentClass *FissionComponent; + +// --- Const-aware handles. +typedef const struct FissionComponentClass *const ConstHandle2ConstFissionComponent; +typedef struct FissionComponentClass *const ConstHandle2FissionComponent; +typedef const struct FissionComponentClass * Handle2ConstFissionComponent; +typedef struct FissionComponentClass * Handle2FissionComponent; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFissionComponent +FissionComponentDefaultConst(); + +// +++ Create, default +extern_c Handle2FissionComponent +FissionComponentDefault(); + +// --- Create, general, const +extern_c Handle2ConstFissionComponent +FissionComponentCreateConst( + const Integer32 ENDF_MT, + const XMLName fissionGenre, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Create, general +extern_c Handle2FissionComponent +FissionComponentCreate( + const Integer32 ENDF_MT, + const XMLName fissionGenre, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FissionComponentAssign(ConstHandle2FissionComponent This, ConstHandle2ConstFissionComponent from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FissionComponentDelete(ConstHandle2ConstFissionComponent This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FissionComponentRead(ConstHandle2FissionComponent This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FissionComponentWrite(ConstHandle2ConstFissionComponent This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FissionComponentPrint(ConstHandle2ConstFissionComponent This); + +// +++ Print to standard output, as XML +extern_c int +FissionComponentPrintXML(ConstHandle2ConstFissionComponent This); + +// +++ Print to standard output, as JSON +extern_c int +FissionComponentPrintJSON(ConstHandle2ConstFissionComponent This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionComponentENDFMTHas(ConstHandle2ConstFissionComponent This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +FissionComponentENDFMTGet(ConstHandle2ConstFissionComponent This); + +// +++ Set +extern_c void +FissionComponentENDFMTSet(ConstHandle2FissionComponent This, const Integer32 ENDF_MT); + + +// ----------------------------------------------------------------------------- +// Metadatum: fissionGenre +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionComponentFissionGenreHas(ConstHandle2ConstFissionComponent This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +FissionComponentFissionGenreGet(ConstHandle2ConstFissionComponent This); + +// +++ Set +extern_c void +FissionComponentFissionGenreSet(ConstHandle2FissionComponent This, const XMLName fissionGenre); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionComponentLabelHas(ConstHandle2ConstFissionComponent This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +FissionComponentLabelGet(ConstHandle2ConstFissionComponent This); + +// +++ Set +extern_c void +FissionComponentLabelSet(ConstHandle2FissionComponent This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionComponentCrossSectionHas(ConstHandle2ConstFissionComponent This); + +// --- Get, const +extern_c Handle2ConstCrossSection +FissionComponentCrossSectionGetConst(ConstHandle2ConstFissionComponent This); + +// +++ Get, non-const +extern_c Handle2CrossSection +FissionComponentCrossSectionGet(ConstHandle2FissionComponent This); + +// +++ Set +extern_c void +FissionComponentCrossSectionSet(ConstHandle2FissionComponent This, ConstHandle2ConstCrossSection crossSection); + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionComponentOutputChannelHas(ConstHandle2ConstFissionComponent This); + +// --- Get, const +extern_c Handle2ConstOutputChannel +FissionComponentOutputChannelGetConst(ConstHandle2ConstFissionComponent This); + +// +++ Get, non-const +extern_c Handle2OutputChannel +FissionComponentOutputChannelGet(ConstHandle2FissionComponent This); + +// +++ Set +extern_c void +FissionComponentOutputChannelSet(ConstHandle2FissionComponent This, ConstHandle2ConstOutputChannel outputChannel); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.cpp new file mode 100644 index 000000000..248e3cae9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/FissionComponents.hpp" +#include "FissionComponents.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FissionComponentsClass; +using CPP = multigroup::FissionComponents; + +static const std::string CLASSNAME = "FissionComponents"; + +namespace extract { + static auto fissionComponent = [](auto &obj) { return &obj.fissionComponent; }; +} + +using CPPFissionComponent = fissionTransport::FissionComponent; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFissionComponents +FissionComponentsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2FissionComponents +FissionComponentsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFissionComponents +FissionComponentsCreateConst( + ConstHandle2FissionComponent *const fissionComponent, const size_t fissionComponentSize +) { + ConstHandle2FissionComponents handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t FissionComponentN = 0; FissionComponentN < fissionComponentSize; ++FissionComponentN) + FissionComponentsFissionComponentAdd(handle, fissionComponent[FissionComponentN]); + return handle; +} + +// Create, general +Handle2FissionComponents +FissionComponentsCreate( + ConstHandle2FissionComponent *const fissionComponent, const size_t fissionComponentSize +) { + ConstHandle2FissionComponents handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t FissionComponentN = 0; FissionComponentN < fissionComponentSize; ++FissionComponentN) + FissionComponentsFissionComponentAdd(handle, fissionComponent[FissionComponentN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FissionComponentsAssign(ConstHandle2FissionComponents This, ConstHandle2ConstFissionComponents from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FissionComponentsDelete(ConstHandle2ConstFissionComponents This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FissionComponentsRead(ConstHandle2FissionComponents This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FissionComponentsWrite(ConstHandle2ConstFissionComponents This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FissionComponentsPrint(ConstHandle2ConstFissionComponents This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FissionComponentsPrintXML(ConstHandle2ConstFissionComponents This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FissionComponentsPrintJSON(ConstHandle2ConstFissionComponents This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: fissionComponent +// ----------------------------------------------------------------------------- + +// Has +int +FissionComponentsFissionComponentHas(ConstHandle2ConstFissionComponents This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionComponentHas", This, extract::fissionComponent); +} + +// Clear +void +FissionComponentsFissionComponentClear(ConstHandle2FissionComponents This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"FissionComponentClear", This, extract::fissionComponent); +} + +// Size +size_t +FissionComponentsFissionComponentSize(ConstHandle2ConstFissionComponents This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"FissionComponentSize", This, extract::fissionComponent); +} + +// Add +void +FissionComponentsFissionComponentAdd(ConstHandle2FissionComponents This, ConstHandle2ConstFissionComponent fissionComponent) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"FissionComponentAdd", This, extract::fissionComponent, fissionComponent); +} + +// Get, by index \in [0,size), const +Handle2ConstFissionComponent +FissionComponentsFissionComponentGetConst(ConstHandle2ConstFissionComponents This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"FissionComponentGetConst", This, extract::fissionComponent, index_); +} + +// Get, by index \in [0,size), non-const +Handle2FissionComponent +FissionComponentsFissionComponentGet(ConstHandle2FissionComponents This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"FissionComponentGet", This, extract::fissionComponent, index_); +} + +// Set, by index \in [0,size) +void +FissionComponentsFissionComponentSet( + ConstHandle2FissionComponents This, + const size_t index_, + ConstHandle2ConstFissionComponent fissionComponent +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"FissionComponentSet", This, extract::fissionComponent, index_, fissionComponent); +} + +// Has, by ENDF_MT +int +FissionComponentsFissionComponentHasByENDFMT( + ConstHandle2ConstFissionComponents This, + const Integer32 ENDF_MT +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentHasByENDFMT", + This, extract::fissionComponent, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, const +Handle2ConstFissionComponent +FissionComponentsFissionComponentGetByENDFMTConst( + ConstHandle2ConstFissionComponents This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentGetByENDFMTConst", + This, extract::fissionComponent, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, non-const +Handle2FissionComponent +FissionComponentsFissionComponentGetByENDFMT( + ConstHandle2FissionComponents This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentGetByENDFMT", + This, extract::fissionComponent, meta::ENDF_MT, ENDF_MT); +} + +// Set, by ENDF_MT +void +FissionComponentsFissionComponentSetByENDFMT( + ConstHandle2FissionComponents This, + const Integer32 ENDF_MT, + ConstHandle2ConstFissionComponent fissionComponent +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentSetByENDFMT", + This, extract::fissionComponent, meta::ENDF_MT, ENDF_MT, fissionComponent); +} + +// Has, by fissionGenre +int +FissionComponentsFissionComponentHasByFissionGenre( + ConstHandle2ConstFissionComponents This, + const XMLName fissionGenre +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentHasByFissionGenre", + This, extract::fissionComponent, meta::fissionGenre, fissionGenre); +} + +// Get, by fissionGenre, const +Handle2ConstFissionComponent +FissionComponentsFissionComponentGetByFissionGenreConst( + ConstHandle2ConstFissionComponents This, + const XMLName fissionGenre +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentGetByFissionGenreConst", + This, extract::fissionComponent, meta::fissionGenre, fissionGenre); +} + +// Get, by fissionGenre, non-const +Handle2FissionComponent +FissionComponentsFissionComponentGetByFissionGenre( + ConstHandle2FissionComponents This, + const XMLName fissionGenre +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentGetByFissionGenre", + This, extract::fissionComponent, meta::fissionGenre, fissionGenre); +} + +// Set, by fissionGenre +void +FissionComponentsFissionComponentSetByFissionGenre( + ConstHandle2FissionComponents This, + const XMLName fissionGenre, + ConstHandle2ConstFissionComponent fissionComponent +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentSetByFissionGenre", + This, extract::fissionComponent, meta::fissionGenre, fissionGenre, fissionComponent); +} + +// Has, by label +int +FissionComponentsFissionComponentHasByLabel( + ConstHandle2ConstFissionComponents This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentHasByLabel", + This, extract::fissionComponent, meta::label, label); +} + +// Get, by label, const +Handle2ConstFissionComponent +FissionComponentsFissionComponentGetByLabelConst( + ConstHandle2ConstFissionComponents This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentGetByLabelConst", + This, extract::fissionComponent, meta::label, label); +} + +// Get, by label, non-const +Handle2FissionComponent +FissionComponentsFissionComponentGetByLabel( + ConstHandle2FissionComponents This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentGetByLabel", + This, extract::fissionComponent, meta::label, label); +} + +// Set, by label +void +FissionComponentsFissionComponentSetByLabel( + ConstHandle2FissionComponents This, + const XMLName label, + ConstHandle2ConstFissionComponent fissionComponent +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"FissionComponentSetByLabel", + This, extract::fissionComponent, meta::label, label, fissionComponent); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.h new file mode 100644 index 000000000..7fec6c670 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// FissionComponents is the basic handle type in this file. Example: +// // Create a default FissionComponents object: +// FissionComponents handle = FissionComponentsDefault(); +// Functions involving FissionComponents are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS + +#include "GNDStk.h" +#include "v2.0/fissionTransport/FissionComponent.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FissionComponentsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ FissionComponents +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FissionComponentsClass *FissionComponents; + +// --- Const-aware handles. +typedef const struct FissionComponentsClass *const ConstHandle2ConstFissionComponents; +typedef struct FissionComponentsClass *const ConstHandle2FissionComponents; +typedef const struct FissionComponentsClass * Handle2ConstFissionComponents; +typedef struct FissionComponentsClass * Handle2FissionComponents; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFissionComponents +FissionComponentsDefaultConst(); + +// +++ Create, default +extern_c Handle2FissionComponents +FissionComponentsDefault(); + +// --- Create, general, const +extern_c Handle2ConstFissionComponents +FissionComponentsCreateConst( + ConstHandle2FissionComponent *const fissionComponent, const size_t fissionComponentSize +); + +// +++ Create, general +extern_c Handle2FissionComponents +FissionComponentsCreate( + ConstHandle2FissionComponent *const fissionComponent, const size_t fissionComponentSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FissionComponentsAssign(ConstHandle2FissionComponents This, ConstHandle2ConstFissionComponents from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FissionComponentsDelete(ConstHandle2ConstFissionComponents This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FissionComponentsRead(ConstHandle2FissionComponents This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FissionComponentsWrite(ConstHandle2ConstFissionComponents This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FissionComponentsPrint(ConstHandle2ConstFissionComponents This); + +// +++ Print to standard output, as XML +extern_c int +FissionComponentsPrintXML(ConstHandle2ConstFissionComponents This); + +// +++ Print to standard output, as JSON +extern_c int +FissionComponentsPrintJSON(ConstHandle2ConstFissionComponents This); + + +// ----------------------------------------------------------------------------- +// Child: fissionComponent +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionComponentsFissionComponentHas(ConstHandle2ConstFissionComponents This); + +// +++ Clear +extern_c void +FissionComponentsFissionComponentClear(ConstHandle2FissionComponents This); + +// +++ Size +extern_c size_t +FissionComponentsFissionComponentSize(ConstHandle2ConstFissionComponents This); + +// +++ Add +extern_c void +FissionComponentsFissionComponentAdd(ConstHandle2FissionComponents This, ConstHandle2ConstFissionComponent fissionComponent); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstFissionComponent +FissionComponentsFissionComponentGetConst(ConstHandle2ConstFissionComponents This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2FissionComponent +FissionComponentsFissionComponentGet(ConstHandle2FissionComponents This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +FissionComponentsFissionComponentSet( + ConstHandle2FissionComponents This, + const size_t index_, + ConstHandle2ConstFissionComponent fissionComponent +); + +// +++ Has, by ENDF_MT +extern_c int +FissionComponentsFissionComponentHasByENDFMT( + ConstHandle2ConstFissionComponents This, + const Integer32 ENDF_MT +); + +// --- Get, by ENDF_MT, const +extern_c Handle2ConstFissionComponent +FissionComponentsFissionComponentGetByENDFMTConst( + ConstHandle2ConstFissionComponents This, + const Integer32 ENDF_MT +); + +// +++ Get, by ENDF_MT, non-const +extern_c Handle2FissionComponent +FissionComponentsFissionComponentGetByENDFMT( + ConstHandle2FissionComponents This, + const Integer32 ENDF_MT +); + +// +++ Set, by ENDF_MT +extern_c void +FissionComponentsFissionComponentSetByENDFMT( + ConstHandle2FissionComponents This, + const Integer32 ENDF_MT, + ConstHandle2ConstFissionComponent fissionComponent +); + +// +++ Has, by fissionGenre +extern_c int +FissionComponentsFissionComponentHasByFissionGenre( + ConstHandle2ConstFissionComponents This, + const XMLName fissionGenre +); + +// --- Get, by fissionGenre, const +extern_c Handle2ConstFissionComponent +FissionComponentsFissionComponentGetByFissionGenreConst( + ConstHandle2ConstFissionComponents This, + const XMLName fissionGenre +); + +// +++ Get, by fissionGenre, non-const +extern_c Handle2FissionComponent +FissionComponentsFissionComponentGetByFissionGenre( + ConstHandle2FissionComponents This, + const XMLName fissionGenre +); + +// +++ Set, by fissionGenre +extern_c void +FissionComponentsFissionComponentSetByFissionGenre( + ConstHandle2FissionComponents This, + const XMLName fissionGenre, + ConstHandle2ConstFissionComponent fissionComponent +); + +// +++ Has, by label +extern_c int +FissionComponentsFissionComponentHasByLabel( + ConstHandle2ConstFissionComponents This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstFissionComponent +FissionComponentsFissionComponentGetByLabelConst( + ConstHandle2ConstFissionComponents This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2FissionComponent +FissionComponentsFissionComponentGetByLabel( + ConstHandle2FissionComponents This, + const XMLName label +); + +// +++ Set, by label +extern_c void +FissionComponentsFissionComponentSetByLabel( + ConstHandle2FissionComponents This, + const XMLName label, + ConstHandle2ConstFissionComponent fissionComponent +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp new file mode 100644 index 000000000..bae2300b3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp @@ -0,0 +1,553 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/FissionEnergyReleased.hpp" +#include "FissionEnergyReleased.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FissionEnergyReleasedClass; +using CPP = multigroup::FissionEnergyReleased; + +static const std::string CLASSNAME = "FissionEnergyReleased"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto delayedBetaEnergy = [](auto &obj) { return &obj.delayedBetaEnergy; }; + static auto delayedGammaEnergy = [](auto &obj) { return &obj.delayedGammaEnergy; }; + static auto delayedNeutronKE = [](auto &obj) { return &obj.delayedNeutronKE; }; + static auto neutrinoEnergy = [](auto &obj) { return &obj.neutrinoEnergy; }; + static auto nonNeutrinoEnergy = [](auto &obj) { return &obj.nonNeutrinoEnergy; }; + static auto promptGammaEnergy = [](auto &obj) { return &obj.promptGammaEnergy; }; + static auto promptNeutronKE = [](auto &obj) { return &obj.promptNeutronKE; }; + static auto promptProductKE = [](auto &obj) { return &obj.promptProductKE; }; + static auto totalEnergy = [](auto &obj) { return &obj.totalEnergy; }; +} + +using CPPDelayedBetaEnergy = fissionTransport::DelayedBetaEnergy; +using CPPDelayedGammaEnergy = fissionTransport::DelayedGammaEnergy; +using CPPDelayedNeutronKE = fissionTransport::DelayedNeutronKE; +using CPPNeutrinoEnergy = fissionTransport::NeutrinoEnergy; +using CPPNonNeutrinoEnergy = fissionTransport::NonNeutrinoEnergy; +using CPPPromptGammaEnergy = fissionTransport::PromptGammaEnergy; +using CPPPromptNeutronKE = fissionTransport::PromptNeutronKE; +using CPPPromptProductKE = fissionTransport::PromptProductKE; +using CPPTotalEnergy = fissionTransport::TotalEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFissionEnergyReleased +FissionEnergyReleasedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2FissionEnergyReleased +FissionEnergyReleasedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFissionEnergyReleased +FissionEnergyReleasedCreateConst( + const XMLName label, + ConstHandle2ConstDelayedBetaEnergy delayedBetaEnergy, + ConstHandle2ConstDelayedGammaEnergy delayedGammaEnergy, + ConstHandle2ConstDelayedNeutronKE delayedNeutronKE, + ConstHandle2ConstNeutrinoEnergy neutrinoEnergy, + ConstHandle2ConstNonNeutrinoEnergy nonNeutrinoEnergy, + ConstHandle2ConstPromptGammaEnergy promptGammaEnergy, + ConstHandle2ConstPromptNeutronKE promptNeutronKE, + ConstHandle2ConstPromptProductKE promptProductKE, + ConstHandle2ConstTotalEnergy totalEnergy +) { + ConstHandle2FissionEnergyReleased handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(delayedBetaEnergy), + detail::tocpp(delayedGammaEnergy), + detail::tocpp(delayedNeutronKE), + detail::tocpp(neutrinoEnergy), + detail::tocpp(nonNeutrinoEnergy), + detail::tocpp(promptGammaEnergy), + detail::tocpp(promptNeutronKE), + detail::tocpp(promptProductKE), + detail::tocpp(totalEnergy) + ); + return handle; +} + +// Create, general +Handle2FissionEnergyReleased +FissionEnergyReleasedCreate( + const XMLName label, + ConstHandle2ConstDelayedBetaEnergy delayedBetaEnergy, + ConstHandle2ConstDelayedGammaEnergy delayedGammaEnergy, + ConstHandle2ConstDelayedNeutronKE delayedNeutronKE, + ConstHandle2ConstNeutrinoEnergy neutrinoEnergy, + ConstHandle2ConstNonNeutrinoEnergy nonNeutrinoEnergy, + ConstHandle2ConstPromptGammaEnergy promptGammaEnergy, + ConstHandle2ConstPromptNeutronKE promptNeutronKE, + ConstHandle2ConstPromptProductKE promptProductKE, + ConstHandle2ConstTotalEnergy totalEnergy +) { + ConstHandle2FissionEnergyReleased handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(delayedBetaEnergy), + detail::tocpp(delayedGammaEnergy), + detail::tocpp(delayedNeutronKE), + detail::tocpp(neutrinoEnergy), + detail::tocpp(nonNeutrinoEnergy), + detail::tocpp(promptGammaEnergy), + detail::tocpp(promptNeutronKE), + detail::tocpp(promptProductKE), + detail::tocpp(totalEnergy) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FissionEnergyReleasedAssign(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstFissionEnergyReleased from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FissionEnergyReleasedDelete(ConstHandle2ConstFissionEnergyReleased This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FissionEnergyReleasedRead(ConstHandle2FissionEnergyReleased This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FissionEnergyReleasedWrite(ConstHandle2ConstFissionEnergyReleased This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FissionEnergyReleasedPrint(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FissionEnergyReleasedPrintXML(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FissionEnergyReleasedPrintJSON(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedLabelHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +FissionEnergyReleasedLabelGet(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +FissionEnergyReleasedLabelSet(ConstHandle2FissionEnergyReleased This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: delayedBetaEnergy +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedDelayedBetaEnergyHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DelayedBetaEnergyHas", This, extract::delayedBetaEnergy); +} + +// Get, const +Handle2ConstDelayedBetaEnergy +FissionEnergyReleasedDelayedBetaEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DelayedBetaEnergyGetConst", This, extract::delayedBetaEnergy); +} + +// Get, non-const +Handle2DelayedBetaEnergy +FissionEnergyReleasedDelayedBetaEnergyGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DelayedBetaEnergyGet", This, extract::delayedBetaEnergy); +} + +// Set +void +FissionEnergyReleasedDelayedBetaEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstDelayedBetaEnergy delayedBetaEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DelayedBetaEnergySet", This, extract::delayedBetaEnergy, delayedBetaEnergy); +} + + +// ----------------------------------------------------------------------------- +// Child: delayedGammaEnergy +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedDelayedGammaEnergyHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DelayedGammaEnergyHas", This, extract::delayedGammaEnergy); +} + +// Get, const +Handle2ConstDelayedGammaEnergy +FissionEnergyReleasedDelayedGammaEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DelayedGammaEnergyGetConst", This, extract::delayedGammaEnergy); +} + +// Get, non-const +Handle2DelayedGammaEnergy +FissionEnergyReleasedDelayedGammaEnergyGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DelayedGammaEnergyGet", This, extract::delayedGammaEnergy); +} + +// Set +void +FissionEnergyReleasedDelayedGammaEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstDelayedGammaEnergy delayedGammaEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DelayedGammaEnergySet", This, extract::delayedGammaEnergy, delayedGammaEnergy); +} + + +// ----------------------------------------------------------------------------- +// Child: delayedNeutronKE +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedDelayedNeutronKEHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DelayedNeutronKEHas", This, extract::delayedNeutronKE); +} + +// Get, const +Handle2ConstDelayedNeutronKE +FissionEnergyReleasedDelayedNeutronKEGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DelayedNeutronKEGetConst", This, extract::delayedNeutronKE); +} + +// Get, non-const +Handle2DelayedNeutronKE +FissionEnergyReleasedDelayedNeutronKEGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DelayedNeutronKEGet", This, extract::delayedNeutronKE); +} + +// Set +void +FissionEnergyReleasedDelayedNeutronKESet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstDelayedNeutronKE delayedNeutronKE) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DelayedNeutronKESet", This, extract::delayedNeutronKE, delayedNeutronKE); +} + + +// ----------------------------------------------------------------------------- +// Child: neutrinoEnergy +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedNeutrinoEnergyHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NeutrinoEnergyHas", This, extract::neutrinoEnergy); +} + +// Get, const +Handle2ConstNeutrinoEnergy +FissionEnergyReleasedNeutrinoEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NeutrinoEnergyGetConst", This, extract::neutrinoEnergy); +} + +// Get, non-const +Handle2NeutrinoEnergy +FissionEnergyReleasedNeutrinoEnergyGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NeutrinoEnergyGet", This, extract::neutrinoEnergy); +} + +// Set +void +FissionEnergyReleasedNeutrinoEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstNeutrinoEnergy neutrinoEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NeutrinoEnergySet", This, extract::neutrinoEnergy, neutrinoEnergy); +} + + +// ----------------------------------------------------------------------------- +// Child: nonNeutrinoEnergy +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedNonNeutrinoEnergyHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NonNeutrinoEnergyHas", This, extract::nonNeutrinoEnergy); +} + +// Get, const +Handle2ConstNonNeutrinoEnergy +FissionEnergyReleasedNonNeutrinoEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NonNeutrinoEnergyGetConst", This, extract::nonNeutrinoEnergy); +} + +// Get, non-const +Handle2NonNeutrinoEnergy +FissionEnergyReleasedNonNeutrinoEnergyGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NonNeutrinoEnergyGet", This, extract::nonNeutrinoEnergy); +} + +// Set +void +FissionEnergyReleasedNonNeutrinoEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstNonNeutrinoEnergy nonNeutrinoEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NonNeutrinoEnergySet", This, extract::nonNeutrinoEnergy, nonNeutrinoEnergy); +} + + +// ----------------------------------------------------------------------------- +// Child: promptGammaEnergy +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedPromptGammaEnergyHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PromptGammaEnergyHas", This, extract::promptGammaEnergy); +} + +// Get, const +Handle2ConstPromptGammaEnergy +FissionEnergyReleasedPromptGammaEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PromptGammaEnergyGetConst", This, extract::promptGammaEnergy); +} + +// Get, non-const +Handle2PromptGammaEnergy +FissionEnergyReleasedPromptGammaEnergyGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PromptGammaEnergyGet", This, extract::promptGammaEnergy); +} + +// Set +void +FissionEnergyReleasedPromptGammaEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstPromptGammaEnergy promptGammaEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PromptGammaEnergySet", This, extract::promptGammaEnergy, promptGammaEnergy); +} + + +// ----------------------------------------------------------------------------- +// Child: promptNeutronKE +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedPromptNeutronKEHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PromptNeutronKEHas", This, extract::promptNeutronKE); +} + +// Get, const +Handle2ConstPromptNeutronKE +FissionEnergyReleasedPromptNeutronKEGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PromptNeutronKEGetConst", This, extract::promptNeutronKE); +} + +// Get, non-const +Handle2PromptNeutronKE +FissionEnergyReleasedPromptNeutronKEGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PromptNeutronKEGet", This, extract::promptNeutronKE); +} + +// Set +void +FissionEnergyReleasedPromptNeutronKESet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstPromptNeutronKE promptNeutronKE) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PromptNeutronKESet", This, extract::promptNeutronKE, promptNeutronKE); +} + + +// ----------------------------------------------------------------------------- +// Child: promptProductKE +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedPromptProductKEHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PromptProductKEHas", This, extract::promptProductKE); +} + +// Get, const +Handle2ConstPromptProductKE +FissionEnergyReleasedPromptProductKEGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PromptProductKEGetConst", This, extract::promptProductKE); +} + +// Get, non-const +Handle2PromptProductKE +FissionEnergyReleasedPromptProductKEGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PromptProductKEGet", This, extract::promptProductKE); +} + +// Set +void +FissionEnergyReleasedPromptProductKESet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstPromptProductKE promptProductKE) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PromptProductKESet", This, extract::promptProductKE, promptProductKE); +} + + +// ----------------------------------------------------------------------------- +// Child: totalEnergy +// ----------------------------------------------------------------------------- + +// Has +int +FissionEnergyReleasedTotalEnergyHas(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TotalEnergyHas", This, extract::totalEnergy); +} + +// Get, const +Handle2ConstTotalEnergy +FissionEnergyReleasedTotalEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TotalEnergyGetConst", This, extract::totalEnergy); +} + +// Get, non-const +Handle2TotalEnergy +FissionEnergyReleasedTotalEnergyGet(ConstHandle2FissionEnergyReleased This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TotalEnergyGet", This, extract::totalEnergy); +} + +// Set +void +FissionEnergyReleasedTotalEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstTotalEnergy totalEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TotalEnergySet", This, extract::totalEnergy, totalEnergy); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.h new file mode 100644 index 000000000..15fd405bc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.h @@ -0,0 +1,371 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// FissionEnergyReleased is the basic handle type in this file. Example: +// // Create a default FissionEnergyReleased object: +// FissionEnergyReleased handle = FissionEnergyReleasedDefault(); +// Functions involving FissionEnergyReleased are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED + +#include "GNDStk.h" +#include "v2.0/fissionTransport/DelayedBetaEnergy.h" +#include "v2.0/fissionTransport/DelayedGammaEnergy.h" +#include "v2.0/fissionTransport/DelayedNeutronKE.h" +#include "v2.0/fissionTransport/NeutrinoEnergy.h" +#include "v2.0/fissionTransport/NonNeutrinoEnergy.h" +#include "v2.0/fissionTransport/PromptGammaEnergy.h" +#include "v2.0/fissionTransport/PromptNeutronKE.h" +#include "v2.0/fissionTransport/PromptProductKE.h" +#include "v2.0/fissionTransport/TotalEnergy.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FissionEnergyReleasedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ FissionEnergyReleased +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FissionEnergyReleasedClass *FissionEnergyReleased; + +// --- Const-aware handles. +typedef const struct FissionEnergyReleasedClass *const ConstHandle2ConstFissionEnergyReleased; +typedef struct FissionEnergyReleasedClass *const ConstHandle2FissionEnergyReleased; +typedef const struct FissionEnergyReleasedClass * Handle2ConstFissionEnergyReleased; +typedef struct FissionEnergyReleasedClass * Handle2FissionEnergyReleased; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFissionEnergyReleased +FissionEnergyReleasedDefaultConst(); + +// +++ Create, default +extern_c Handle2FissionEnergyReleased +FissionEnergyReleasedDefault(); + +// --- Create, general, const +extern_c Handle2ConstFissionEnergyReleased +FissionEnergyReleasedCreateConst( + const XMLName label, + ConstHandle2ConstDelayedBetaEnergy delayedBetaEnergy, + ConstHandle2ConstDelayedGammaEnergy delayedGammaEnergy, + ConstHandle2ConstDelayedNeutronKE delayedNeutronKE, + ConstHandle2ConstNeutrinoEnergy neutrinoEnergy, + ConstHandle2ConstNonNeutrinoEnergy nonNeutrinoEnergy, + ConstHandle2ConstPromptGammaEnergy promptGammaEnergy, + ConstHandle2ConstPromptNeutronKE promptNeutronKE, + ConstHandle2ConstPromptProductKE promptProductKE, + ConstHandle2ConstTotalEnergy totalEnergy +); + +// +++ Create, general +extern_c Handle2FissionEnergyReleased +FissionEnergyReleasedCreate( + const XMLName label, + ConstHandle2ConstDelayedBetaEnergy delayedBetaEnergy, + ConstHandle2ConstDelayedGammaEnergy delayedGammaEnergy, + ConstHandle2ConstDelayedNeutronKE delayedNeutronKE, + ConstHandle2ConstNeutrinoEnergy neutrinoEnergy, + ConstHandle2ConstNonNeutrinoEnergy nonNeutrinoEnergy, + ConstHandle2ConstPromptGammaEnergy promptGammaEnergy, + ConstHandle2ConstPromptNeutronKE promptNeutronKE, + ConstHandle2ConstPromptProductKE promptProductKE, + ConstHandle2ConstTotalEnergy totalEnergy +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FissionEnergyReleasedAssign(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstFissionEnergyReleased from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FissionEnergyReleasedDelete(ConstHandle2ConstFissionEnergyReleased This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FissionEnergyReleasedRead(ConstHandle2FissionEnergyReleased This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FissionEnergyReleasedWrite(ConstHandle2ConstFissionEnergyReleased This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FissionEnergyReleasedPrint(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Print to standard output, as XML +extern_c int +FissionEnergyReleasedPrintXML(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Print to standard output, as JSON +extern_c int +FissionEnergyReleasedPrintJSON(ConstHandle2ConstFissionEnergyReleased This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedLabelHas(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +FissionEnergyReleasedLabelGet(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedLabelSet(ConstHandle2FissionEnergyReleased This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: delayedBetaEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedDelayedBetaEnergyHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstDelayedBetaEnergy +FissionEnergyReleasedDelayedBetaEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2DelayedBetaEnergy +FissionEnergyReleasedDelayedBetaEnergyGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedDelayedBetaEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstDelayedBetaEnergy delayedBetaEnergy); + + +// ----------------------------------------------------------------------------- +// Child: delayedGammaEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedDelayedGammaEnergyHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstDelayedGammaEnergy +FissionEnergyReleasedDelayedGammaEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2DelayedGammaEnergy +FissionEnergyReleasedDelayedGammaEnergyGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedDelayedGammaEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstDelayedGammaEnergy delayedGammaEnergy); + + +// ----------------------------------------------------------------------------- +// Child: delayedNeutronKE +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedDelayedNeutronKEHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstDelayedNeutronKE +FissionEnergyReleasedDelayedNeutronKEGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2DelayedNeutronKE +FissionEnergyReleasedDelayedNeutronKEGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedDelayedNeutronKESet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstDelayedNeutronKE delayedNeutronKE); + + +// ----------------------------------------------------------------------------- +// Child: neutrinoEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedNeutrinoEnergyHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstNeutrinoEnergy +FissionEnergyReleasedNeutrinoEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2NeutrinoEnergy +FissionEnergyReleasedNeutrinoEnergyGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedNeutrinoEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstNeutrinoEnergy neutrinoEnergy); + + +// ----------------------------------------------------------------------------- +// Child: nonNeutrinoEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedNonNeutrinoEnergyHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstNonNeutrinoEnergy +FissionEnergyReleasedNonNeutrinoEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2NonNeutrinoEnergy +FissionEnergyReleasedNonNeutrinoEnergyGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedNonNeutrinoEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstNonNeutrinoEnergy nonNeutrinoEnergy); + + +// ----------------------------------------------------------------------------- +// Child: promptGammaEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedPromptGammaEnergyHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstPromptGammaEnergy +FissionEnergyReleasedPromptGammaEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2PromptGammaEnergy +FissionEnergyReleasedPromptGammaEnergyGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedPromptGammaEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstPromptGammaEnergy promptGammaEnergy); + + +// ----------------------------------------------------------------------------- +// Child: promptNeutronKE +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedPromptNeutronKEHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstPromptNeutronKE +FissionEnergyReleasedPromptNeutronKEGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2PromptNeutronKE +FissionEnergyReleasedPromptNeutronKEGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedPromptNeutronKESet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstPromptNeutronKE promptNeutronKE); + + +// ----------------------------------------------------------------------------- +// Child: promptProductKE +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedPromptProductKEHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstPromptProductKE +FissionEnergyReleasedPromptProductKEGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2PromptProductKE +FissionEnergyReleasedPromptProductKEGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedPromptProductKESet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstPromptProductKE promptProductKE); + + +// ----------------------------------------------------------------------------- +// Child: totalEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FissionEnergyReleasedTotalEnergyHas(ConstHandle2ConstFissionEnergyReleased This); + +// --- Get, const +extern_c Handle2ConstTotalEnergy +FissionEnergyReleasedTotalEnergyGetConst(ConstHandle2ConstFissionEnergyReleased This); + +// +++ Get, non-const +extern_c Handle2TotalEnergy +FissionEnergyReleasedTotalEnergyGet(ConstHandle2FissionEnergyReleased This); + +// +++ Set +extern_c void +FissionEnergyReleasedTotalEnergySet(ConstHandle2FissionEnergyReleased This, ConstHandle2ConstTotalEnergy totalEnergy); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.cpp new file mode 100644 index 000000000..231ef4061 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/MadlandNix.hpp" +#include "MadlandNix.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MadlandNixClass; +using CPP = multigroup::MadlandNix; + +static const std::string CLASSNAME = "MadlandNix"; + +namespace extract { + static auto EFH = [](auto &obj) { return &obj.EFH; }; + static auto EFL = [](auto &obj) { return &obj.EFL; }; + static auto T_M = [](auto &obj) { return &obj.T_M; }; +} + +using CPPEFH = fissionTransport::EFH; +using CPPEFL = fissionTransport::EFL; +using CPPT_M = fissionTransport::T_M; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMadlandNix +MadlandNixDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MadlandNix +MadlandNixDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMadlandNix +MadlandNixCreateConst( + ConstHandle2ConstEFH EFH, + ConstHandle2ConstEFL EFL, + ConstHandle2ConstT_M T_M +) { + ConstHandle2MadlandNix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(EFH), + detail::tocpp(EFL), + detail::tocpp(T_M) + ); + return handle; +} + +// Create, general +Handle2MadlandNix +MadlandNixCreate( + ConstHandle2ConstEFH EFH, + ConstHandle2ConstEFL EFL, + ConstHandle2ConstT_M T_M +) { + ConstHandle2MadlandNix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(EFH), + detail::tocpp(EFL), + detail::tocpp(T_M) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MadlandNixAssign(ConstHandle2MadlandNix This, ConstHandle2ConstMadlandNix from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MadlandNixDelete(ConstHandle2ConstMadlandNix This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MadlandNixRead(ConstHandle2MadlandNix This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MadlandNixWrite(ConstHandle2ConstMadlandNix This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MadlandNixPrint(ConstHandle2ConstMadlandNix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MadlandNixPrintXML(ConstHandle2ConstMadlandNix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MadlandNixPrintJSON(ConstHandle2ConstMadlandNix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: EFH +// ----------------------------------------------------------------------------- + +// Has +int +MadlandNixEFHHas(ConstHandle2ConstMadlandNix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EFHHas", This, extract::EFH); +} + +// Get, const +Handle2ConstEFH +MadlandNixEFHGetConst(ConstHandle2ConstMadlandNix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EFHGetConst", This, extract::EFH); +} + +// Get, non-const +Handle2EFH +MadlandNixEFHGet(ConstHandle2MadlandNix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EFHGet", This, extract::EFH); +} + +// Set +void +MadlandNixEFHSet(ConstHandle2MadlandNix This, ConstHandle2ConstEFH EFH) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EFHSet", This, extract::EFH, EFH); +} + + +// ----------------------------------------------------------------------------- +// Child: EFL +// ----------------------------------------------------------------------------- + +// Has +int +MadlandNixEFLHas(ConstHandle2ConstMadlandNix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EFLHas", This, extract::EFL); +} + +// Get, const +Handle2ConstEFL +MadlandNixEFLGetConst(ConstHandle2ConstMadlandNix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EFLGetConst", This, extract::EFL); +} + +// Get, non-const +Handle2EFL +MadlandNixEFLGet(ConstHandle2MadlandNix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EFLGet", This, extract::EFL); +} + +// Set +void +MadlandNixEFLSet(ConstHandle2MadlandNix This, ConstHandle2ConstEFL EFL) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EFLSet", This, extract::EFL, EFL); +} + + +// ----------------------------------------------------------------------------- +// Child: T_M +// ----------------------------------------------------------------------------- + +// Has +int +MadlandNixT_MHas(ConstHandle2ConstMadlandNix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"T_MHas", This, extract::T_M); +} + +// Get, const +Handle2ConstT_M +MadlandNixT_MGetConst(ConstHandle2ConstMadlandNix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"T_MGetConst", This, extract::T_M); +} + +// Get, non-const +Handle2T_M +MadlandNixT_MGet(ConstHandle2MadlandNix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"T_MGet", This, extract::T_M); +} + +// Set +void +MadlandNixT_MSet(ConstHandle2MadlandNix This, ConstHandle2ConstT_M T_M) +{ + detail::setField + (CLASSNAME, CLASSNAME+"T_MSet", This, extract::T_M, T_M); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.h new file mode 100644 index 000000000..e15743ad1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MadlandNix is the basic handle type in this file. Example: +// // Create a default MadlandNix object: +// MadlandNix handle = MadlandNixDefault(); +// Functions involving MadlandNix are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_MADLANDNIX +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_MADLANDNIX + +#include "GNDStk.h" +#include "v2.0/fissionTransport/EFH.h" +#include "v2.0/fissionTransport/EFL.h" +#include "v2.0/fissionTransport/T_M.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MadlandNixClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MadlandNix +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MadlandNixClass *MadlandNix; + +// --- Const-aware handles. +typedef const struct MadlandNixClass *const ConstHandle2ConstMadlandNix; +typedef struct MadlandNixClass *const ConstHandle2MadlandNix; +typedef const struct MadlandNixClass * Handle2ConstMadlandNix; +typedef struct MadlandNixClass * Handle2MadlandNix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMadlandNix +MadlandNixDefaultConst(); + +// +++ Create, default +extern_c Handle2MadlandNix +MadlandNixDefault(); + +// --- Create, general, const +extern_c Handle2ConstMadlandNix +MadlandNixCreateConst( + ConstHandle2ConstEFH EFH, + ConstHandle2ConstEFL EFL, + ConstHandle2ConstT_M T_M +); + +// +++ Create, general +extern_c Handle2MadlandNix +MadlandNixCreate( + ConstHandle2ConstEFH EFH, + ConstHandle2ConstEFL EFL, + ConstHandle2ConstT_M T_M +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MadlandNixAssign(ConstHandle2MadlandNix This, ConstHandle2ConstMadlandNix from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MadlandNixDelete(ConstHandle2ConstMadlandNix This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MadlandNixRead(ConstHandle2MadlandNix This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MadlandNixWrite(ConstHandle2ConstMadlandNix This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MadlandNixPrint(ConstHandle2ConstMadlandNix This); + +// +++ Print to standard output, as XML +extern_c int +MadlandNixPrintXML(ConstHandle2ConstMadlandNix This); + +// +++ Print to standard output, as JSON +extern_c int +MadlandNixPrintJSON(ConstHandle2ConstMadlandNix This); + + +// ----------------------------------------------------------------------------- +// Child: EFH +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MadlandNixEFHHas(ConstHandle2ConstMadlandNix This); + +// --- Get, const +extern_c Handle2ConstEFH +MadlandNixEFHGetConst(ConstHandle2ConstMadlandNix This); + +// +++ Get, non-const +extern_c Handle2EFH +MadlandNixEFHGet(ConstHandle2MadlandNix This); + +// +++ Set +extern_c void +MadlandNixEFHSet(ConstHandle2MadlandNix This, ConstHandle2ConstEFH EFH); + + +// ----------------------------------------------------------------------------- +// Child: EFL +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MadlandNixEFLHas(ConstHandle2ConstMadlandNix This); + +// --- Get, const +extern_c Handle2ConstEFL +MadlandNixEFLGetConst(ConstHandle2ConstMadlandNix This); + +// +++ Get, non-const +extern_c Handle2EFL +MadlandNixEFLGet(ConstHandle2MadlandNix This); + +// +++ Set +extern_c void +MadlandNixEFLSet(ConstHandle2MadlandNix This, ConstHandle2ConstEFL EFL); + + +// ----------------------------------------------------------------------------- +// Child: T_M +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MadlandNixT_MHas(ConstHandle2ConstMadlandNix This); + +// --- Get, const +extern_c Handle2ConstT_M +MadlandNixT_MGetConst(ConstHandle2ConstMadlandNix This); + +// +++ Get, non-const +extern_c Handle2T_M +MadlandNixT_MGet(ConstHandle2MadlandNix This); + +// +++ Set +extern_c void +MadlandNixT_MSet(ConstHandle2MadlandNix This, ConstHandle2ConstT_M T_M); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp new file mode 100644 index 000000000..67f1cf6a3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/NeutrinoEnergy.hpp" +#include "NeutrinoEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NeutrinoEnergyClass; +using CPP = multigroup::NeutrinoEnergy; + +static const std::string CLASSNAME = "NeutrinoEnergy"; + +namespace extract { + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNeutrinoEnergy +NeutrinoEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2NeutrinoEnergy +NeutrinoEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNeutrinoEnergy +NeutrinoEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2NeutrinoEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2NeutrinoEnergy +NeutrinoEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2NeutrinoEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NeutrinoEnergyAssign(ConstHandle2NeutrinoEnergy This, ConstHandle2ConstNeutrinoEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NeutrinoEnergyDelete(ConstHandle2ConstNeutrinoEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NeutrinoEnergyRead(ConstHandle2NeutrinoEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NeutrinoEnergyWrite(ConstHandle2ConstNeutrinoEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NeutrinoEnergyPrint(ConstHandle2ConstNeutrinoEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NeutrinoEnergyPrintXML(ConstHandle2ConstNeutrinoEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NeutrinoEnergyPrintJSON(ConstHandle2ConstNeutrinoEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +NeutrinoEnergyPolynomial1dHas(ConstHandle2ConstNeutrinoEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +NeutrinoEnergyPolynomial1dGetConst(ConstHandle2ConstNeutrinoEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +NeutrinoEnergyPolynomial1dGet(ConstHandle2NeutrinoEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +NeutrinoEnergyPolynomial1dSet(ConstHandle2NeutrinoEnergy This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h new file mode 100644 index 000000000..7c1765ac8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// NeutrinoEnergy is the basic handle type in this file. Example: +// // Create a default NeutrinoEnergy object: +// NeutrinoEnergy handle = NeutrinoEnergyDefault(); +// Functions involving NeutrinoEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NeutrinoEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ NeutrinoEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NeutrinoEnergyClass *NeutrinoEnergy; + +// --- Const-aware handles. +typedef const struct NeutrinoEnergyClass *const ConstHandle2ConstNeutrinoEnergy; +typedef struct NeutrinoEnergyClass *const ConstHandle2NeutrinoEnergy; +typedef const struct NeutrinoEnergyClass * Handle2ConstNeutrinoEnergy; +typedef struct NeutrinoEnergyClass * Handle2NeutrinoEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNeutrinoEnergy +NeutrinoEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2NeutrinoEnergy +NeutrinoEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstNeutrinoEnergy +NeutrinoEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2NeutrinoEnergy +NeutrinoEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NeutrinoEnergyAssign(ConstHandle2NeutrinoEnergy This, ConstHandle2ConstNeutrinoEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NeutrinoEnergyDelete(ConstHandle2ConstNeutrinoEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NeutrinoEnergyRead(ConstHandle2NeutrinoEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NeutrinoEnergyWrite(ConstHandle2ConstNeutrinoEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NeutrinoEnergyPrint(ConstHandle2ConstNeutrinoEnergy This); + +// +++ Print to standard output, as XML +extern_c int +NeutrinoEnergyPrintXML(ConstHandle2ConstNeutrinoEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +NeutrinoEnergyPrintJSON(ConstHandle2ConstNeutrinoEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NeutrinoEnergyPolynomial1dHas(ConstHandle2ConstNeutrinoEnergy This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +NeutrinoEnergyPolynomial1dGetConst(ConstHandle2ConstNeutrinoEnergy This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +NeutrinoEnergyPolynomial1dGet(ConstHandle2NeutrinoEnergy This); + +// +++ Set +extern_c void +NeutrinoEnergyPolynomial1dSet(ConstHandle2NeutrinoEnergy This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp new file mode 100644 index 000000000..b6ec41538 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "NonNeutrinoEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NonNeutrinoEnergyClass; +using CPP = multigroup::NonNeutrinoEnergy; + +static const std::string CLASSNAME = "NonNeutrinoEnergy"; + +namespace extract { + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNonNeutrinoEnergy +NonNeutrinoEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2NonNeutrinoEnergy +NonNeutrinoEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNonNeutrinoEnergy +NonNeutrinoEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2NonNeutrinoEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2NonNeutrinoEnergy +NonNeutrinoEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2NonNeutrinoEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NonNeutrinoEnergyAssign(ConstHandle2NonNeutrinoEnergy This, ConstHandle2ConstNonNeutrinoEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NonNeutrinoEnergyDelete(ConstHandle2ConstNonNeutrinoEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NonNeutrinoEnergyRead(ConstHandle2NonNeutrinoEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NonNeutrinoEnergyWrite(ConstHandle2ConstNonNeutrinoEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NonNeutrinoEnergyPrint(ConstHandle2ConstNonNeutrinoEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NonNeutrinoEnergyPrintXML(ConstHandle2ConstNonNeutrinoEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NonNeutrinoEnergyPrintJSON(ConstHandle2ConstNonNeutrinoEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +NonNeutrinoEnergyPolynomial1dHas(ConstHandle2ConstNonNeutrinoEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +NonNeutrinoEnergyPolynomial1dGetConst(ConstHandle2ConstNonNeutrinoEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +NonNeutrinoEnergyPolynomial1dGet(ConstHandle2NonNeutrinoEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +NonNeutrinoEnergyPolynomial1dSet(ConstHandle2NonNeutrinoEnergy This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h new file mode 100644 index 000000000..04acdeac2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// NonNeutrinoEnergy is the basic handle type in this file. Example: +// // Create a default NonNeutrinoEnergy object: +// NonNeutrinoEnergy handle = NonNeutrinoEnergyDefault(); +// Functions involving NonNeutrinoEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NonNeutrinoEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ NonNeutrinoEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NonNeutrinoEnergyClass *NonNeutrinoEnergy; + +// --- Const-aware handles. +typedef const struct NonNeutrinoEnergyClass *const ConstHandle2ConstNonNeutrinoEnergy; +typedef struct NonNeutrinoEnergyClass *const ConstHandle2NonNeutrinoEnergy; +typedef const struct NonNeutrinoEnergyClass * Handle2ConstNonNeutrinoEnergy; +typedef struct NonNeutrinoEnergyClass * Handle2NonNeutrinoEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNonNeutrinoEnergy +NonNeutrinoEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2NonNeutrinoEnergy +NonNeutrinoEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstNonNeutrinoEnergy +NonNeutrinoEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2NonNeutrinoEnergy +NonNeutrinoEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NonNeutrinoEnergyAssign(ConstHandle2NonNeutrinoEnergy This, ConstHandle2ConstNonNeutrinoEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NonNeutrinoEnergyDelete(ConstHandle2ConstNonNeutrinoEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NonNeutrinoEnergyRead(ConstHandle2NonNeutrinoEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NonNeutrinoEnergyWrite(ConstHandle2ConstNonNeutrinoEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NonNeutrinoEnergyPrint(ConstHandle2ConstNonNeutrinoEnergy This); + +// +++ Print to standard output, as XML +extern_c int +NonNeutrinoEnergyPrintXML(ConstHandle2ConstNonNeutrinoEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +NonNeutrinoEnergyPrintJSON(ConstHandle2ConstNonNeutrinoEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NonNeutrinoEnergyPolynomial1dHas(ConstHandle2ConstNonNeutrinoEnergy This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +NonNeutrinoEnergyPolynomial1dGetConst(ConstHandle2ConstNonNeutrinoEnergy This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +NonNeutrinoEnergyPolynomial1dGet(ConstHandle2NonNeutrinoEnergy This); + +// +++ Set +extern_c void +NonNeutrinoEnergyPolynomial1dSet(ConstHandle2NonNeutrinoEnergy This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp new file mode 100644 index 000000000..2111373f7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/PromptGammaEnergy.hpp" +#include "PromptGammaEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PromptGammaEnergyClass; +using CPP = multigroup::PromptGammaEnergy; + +static const std::string CLASSNAME = "PromptGammaEnergy"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPromptGammaEnergy +PromptGammaEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PromptGammaEnergy +PromptGammaEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPromptGammaEnergy +PromptGammaEnergyCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2PromptGammaEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2PromptGammaEnergy +PromptGammaEnergyCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2PromptGammaEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PromptGammaEnergyAssign(ConstHandle2PromptGammaEnergy This, ConstHandle2ConstPromptGammaEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PromptGammaEnergyDelete(ConstHandle2ConstPromptGammaEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PromptGammaEnergyRead(ConstHandle2PromptGammaEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PromptGammaEnergyWrite(ConstHandle2ConstPromptGammaEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PromptGammaEnergyPrint(ConstHandle2ConstPromptGammaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PromptGammaEnergyPrintXML(ConstHandle2ConstPromptGammaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PromptGammaEnergyPrintJSON(ConstHandle2ConstPromptGammaEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +PromptGammaEnergyXYs1dHas(ConstHandle2ConstPromptGammaEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +PromptGammaEnergyXYs1dGetConst(ConstHandle2ConstPromptGammaEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +PromptGammaEnergyXYs1dGet(ConstHandle2PromptGammaEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +PromptGammaEnergyXYs1dSet(ConstHandle2PromptGammaEnergy This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +PromptGammaEnergyPolynomial1dHas(ConstHandle2ConstPromptGammaEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +PromptGammaEnergyPolynomial1dGetConst(ConstHandle2ConstPromptGammaEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +PromptGammaEnergyPolynomial1dGet(ConstHandle2PromptGammaEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +PromptGammaEnergyPolynomial1dSet(ConstHandle2PromptGammaEnergy This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h new file mode 100644 index 000000000..9ade10a1c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PromptGammaEnergy is the basic handle type in this file. Example: +// // Create a default PromptGammaEnergy object: +// PromptGammaEnergy handle = PromptGammaEnergyDefault(); +// Functions involving PromptGammaEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PromptGammaEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PromptGammaEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PromptGammaEnergyClass *PromptGammaEnergy; + +// --- Const-aware handles. +typedef const struct PromptGammaEnergyClass *const ConstHandle2ConstPromptGammaEnergy; +typedef struct PromptGammaEnergyClass *const ConstHandle2PromptGammaEnergy; +typedef const struct PromptGammaEnergyClass * Handle2ConstPromptGammaEnergy; +typedef struct PromptGammaEnergyClass * Handle2PromptGammaEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPromptGammaEnergy +PromptGammaEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2PromptGammaEnergy +PromptGammaEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstPromptGammaEnergy +PromptGammaEnergyCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2PromptGammaEnergy +PromptGammaEnergyCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PromptGammaEnergyAssign(ConstHandle2PromptGammaEnergy This, ConstHandle2ConstPromptGammaEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PromptGammaEnergyDelete(ConstHandle2ConstPromptGammaEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PromptGammaEnergyRead(ConstHandle2PromptGammaEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PromptGammaEnergyWrite(ConstHandle2ConstPromptGammaEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PromptGammaEnergyPrint(ConstHandle2ConstPromptGammaEnergy This); + +// +++ Print to standard output, as XML +extern_c int +PromptGammaEnergyPrintXML(ConstHandle2ConstPromptGammaEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +PromptGammaEnergyPrintJSON(ConstHandle2ConstPromptGammaEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PromptGammaEnergyXYs1dHas(ConstHandle2ConstPromptGammaEnergy This); + +// --- Get, const +extern_c Handle2ConstXYs1d +PromptGammaEnergyXYs1dGetConst(ConstHandle2ConstPromptGammaEnergy This); + +// +++ Get, non-const +extern_c Handle2XYs1d +PromptGammaEnergyXYs1dGet(ConstHandle2PromptGammaEnergy This); + +// +++ Set +extern_c void +PromptGammaEnergyXYs1dSet(ConstHandle2PromptGammaEnergy This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PromptGammaEnergyPolynomial1dHas(ConstHandle2ConstPromptGammaEnergy This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +PromptGammaEnergyPolynomial1dGetConst(ConstHandle2ConstPromptGammaEnergy This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +PromptGammaEnergyPolynomial1dGet(ConstHandle2PromptGammaEnergy This); + +// +++ Set +extern_c void +PromptGammaEnergyPolynomial1dSet(ConstHandle2PromptGammaEnergy This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp new file mode 100644 index 000000000..8dc3d5b66 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/PromptNeutronKE.hpp" +#include "PromptNeutronKE.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PromptNeutronKEClass; +using CPP = multigroup::PromptNeutronKE; + +static const std::string CLASSNAME = "PromptNeutronKE"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPromptNeutronKE +PromptNeutronKEDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PromptNeutronKE +PromptNeutronKEDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPromptNeutronKE +PromptNeutronKECreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2PromptNeutronKE handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2PromptNeutronKE +PromptNeutronKECreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2PromptNeutronKE handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PromptNeutronKEAssign(ConstHandle2PromptNeutronKE This, ConstHandle2ConstPromptNeutronKE from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PromptNeutronKEDelete(ConstHandle2ConstPromptNeutronKE This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PromptNeutronKERead(ConstHandle2PromptNeutronKE This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PromptNeutronKEWrite(ConstHandle2ConstPromptNeutronKE This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PromptNeutronKEPrint(ConstHandle2ConstPromptNeutronKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PromptNeutronKEPrintXML(ConstHandle2ConstPromptNeutronKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PromptNeutronKEPrintJSON(ConstHandle2ConstPromptNeutronKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +PromptNeutronKEXYs1dHas(ConstHandle2ConstPromptNeutronKE This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +PromptNeutronKEXYs1dGetConst(ConstHandle2ConstPromptNeutronKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +PromptNeutronKEXYs1dGet(ConstHandle2PromptNeutronKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +PromptNeutronKEXYs1dSet(ConstHandle2PromptNeutronKE This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +PromptNeutronKEPolynomial1dHas(ConstHandle2ConstPromptNeutronKE This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +PromptNeutronKEPolynomial1dGetConst(ConstHandle2ConstPromptNeutronKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +PromptNeutronKEPolynomial1dGet(ConstHandle2PromptNeutronKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +PromptNeutronKEPolynomial1dSet(ConstHandle2PromptNeutronKE This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h new file mode 100644 index 000000000..8880cd7cc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PromptNeutronKE is the basic handle type in this file. Example: +// // Create a default PromptNeutronKE object: +// PromptNeutronKE handle = PromptNeutronKEDefault(); +// Functions involving PromptNeutronKE are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PromptNeutronKEClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PromptNeutronKE +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PromptNeutronKEClass *PromptNeutronKE; + +// --- Const-aware handles. +typedef const struct PromptNeutronKEClass *const ConstHandle2ConstPromptNeutronKE; +typedef struct PromptNeutronKEClass *const ConstHandle2PromptNeutronKE; +typedef const struct PromptNeutronKEClass * Handle2ConstPromptNeutronKE; +typedef struct PromptNeutronKEClass * Handle2PromptNeutronKE; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPromptNeutronKE +PromptNeutronKEDefaultConst(); + +// +++ Create, default +extern_c Handle2PromptNeutronKE +PromptNeutronKEDefault(); + +// --- Create, general, const +extern_c Handle2ConstPromptNeutronKE +PromptNeutronKECreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2PromptNeutronKE +PromptNeutronKECreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PromptNeutronKEAssign(ConstHandle2PromptNeutronKE This, ConstHandle2ConstPromptNeutronKE from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PromptNeutronKEDelete(ConstHandle2ConstPromptNeutronKE This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PromptNeutronKERead(ConstHandle2PromptNeutronKE This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PromptNeutronKEWrite(ConstHandle2ConstPromptNeutronKE This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PromptNeutronKEPrint(ConstHandle2ConstPromptNeutronKE This); + +// +++ Print to standard output, as XML +extern_c int +PromptNeutronKEPrintXML(ConstHandle2ConstPromptNeutronKE This); + +// +++ Print to standard output, as JSON +extern_c int +PromptNeutronKEPrintJSON(ConstHandle2ConstPromptNeutronKE This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PromptNeutronKEXYs1dHas(ConstHandle2ConstPromptNeutronKE This); + +// --- Get, const +extern_c Handle2ConstXYs1d +PromptNeutronKEXYs1dGetConst(ConstHandle2ConstPromptNeutronKE This); + +// +++ Get, non-const +extern_c Handle2XYs1d +PromptNeutronKEXYs1dGet(ConstHandle2PromptNeutronKE This); + +// +++ Set +extern_c void +PromptNeutronKEXYs1dSet(ConstHandle2PromptNeutronKE This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PromptNeutronKEPolynomial1dHas(ConstHandle2ConstPromptNeutronKE This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +PromptNeutronKEPolynomial1dGetConst(ConstHandle2ConstPromptNeutronKE This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +PromptNeutronKEPolynomial1dGet(ConstHandle2PromptNeutronKE This); + +// +++ Set +extern_c void +PromptNeutronKEPolynomial1dSet(ConstHandle2PromptNeutronKE This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp new file mode 100644 index 000000000..97398ae82 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/PromptProductKE.hpp" +#include "PromptProductKE.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PromptProductKEClass; +using CPP = multigroup::PromptProductKE; + +static const std::string CLASSNAME = "PromptProductKE"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPromptProductKE +PromptProductKEDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PromptProductKE +PromptProductKEDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPromptProductKE +PromptProductKECreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2PromptProductKE handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2PromptProductKE +PromptProductKECreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2PromptProductKE handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PromptProductKEAssign(ConstHandle2PromptProductKE This, ConstHandle2ConstPromptProductKE from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PromptProductKEDelete(ConstHandle2ConstPromptProductKE This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PromptProductKERead(ConstHandle2PromptProductKE This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PromptProductKEWrite(ConstHandle2ConstPromptProductKE This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PromptProductKEPrint(ConstHandle2ConstPromptProductKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PromptProductKEPrintXML(ConstHandle2ConstPromptProductKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PromptProductKEPrintJSON(ConstHandle2ConstPromptProductKE This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +PromptProductKEXYs1dHas(ConstHandle2ConstPromptProductKE This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +PromptProductKEXYs1dGetConst(ConstHandle2ConstPromptProductKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +PromptProductKEXYs1dGet(ConstHandle2PromptProductKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +PromptProductKEXYs1dSet(ConstHandle2PromptProductKE This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +PromptProductKEPolynomial1dHas(ConstHandle2ConstPromptProductKE This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +PromptProductKEPolynomial1dGetConst(ConstHandle2ConstPromptProductKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +PromptProductKEPolynomial1dGet(ConstHandle2PromptProductKE This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +PromptProductKEPolynomial1dSet(ConstHandle2PromptProductKE This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h new file mode 100644 index 000000000..79b6f9c1e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PromptProductKE is the basic handle type in this file. Example: +// // Create a default PromptProductKE object: +// PromptProductKE handle = PromptProductKEDefault(); +// Functions involving PromptProductKE are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PromptProductKEClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PromptProductKE +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PromptProductKEClass *PromptProductKE; + +// --- Const-aware handles. +typedef const struct PromptProductKEClass *const ConstHandle2ConstPromptProductKE; +typedef struct PromptProductKEClass *const ConstHandle2PromptProductKE; +typedef const struct PromptProductKEClass * Handle2ConstPromptProductKE; +typedef struct PromptProductKEClass * Handle2PromptProductKE; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPromptProductKE +PromptProductKEDefaultConst(); + +// +++ Create, default +extern_c Handle2PromptProductKE +PromptProductKEDefault(); + +// --- Create, general, const +extern_c Handle2ConstPromptProductKE +PromptProductKECreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2PromptProductKE +PromptProductKECreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PromptProductKEAssign(ConstHandle2PromptProductKE This, ConstHandle2ConstPromptProductKE from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PromptProductKEDelete(ConstHandle2ConstPromptProductKE This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PromptProductKERead(ConstHandle2PromptProductKE This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PromptProductKEWrite(ConstHandle2ConstPromptProductKE This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PromptProductKEPrint(ConstHandle2ConstPromptProductKE This); + +// +++ Print to standard output, as XML +extern_c int +PromptProductKEPrintXML(ConstHandle2ConstPromptProductKE This); + +// +++ Print to standard output, as JSON +extern_c int +PromptProductKEPrintJSON(ConstHandle2ConstPromptProductKE This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PromptProductKEXYs1dHas(ConstHandle2ConstPromptProductKE This); + +// --- Get, const +extern_c Handle2ConstXYs1d +PromptProductKEXYs1dGetConst(ConstHandle2ConstPromptProductKE This); + +// +++ Get, non-const +extern_c Handle2XYs1d +PromptProductKEXYs1dGet(ConstHandle2PromptProductKE This); + +// +++ Set +extern_c void +PromptProductKEXYs1dSet(ConstHandle2PromptProductKE This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PromptProductKEPolynomial1dHas(ConstHandle2ConstPromptProductKE This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +PromptProductKEPolynomial1dGetConst(ConstHandle2ConstPromptProductKE This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +PromptProductKEPolynomial1dGet(ConstHandle2PromptProductKE This); + +// +++ Set +extern_c void +PromptProductKEPolynomial1dSet(ConstHandle2PromptProductKE This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp new file mode 100644 index 000000000..5b2a90a1c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "SimpleMaxwellianFission.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SimpleMaxwellianFissionClass; +using CPP = multigroup::SimpleMaxwellianFission; + +static const std::string CLASSNAME = "SimpleMaxwellianFission"; + +namespace extract { + static auto U = [](auto &obj) { return &obj.U; }; + static auto theta = [](auto &obj) { return &obj.theta; }; +} + +using CPPU = transport::U; +using CPPTheta = transport::Theta; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSimpleMaxwellianFission +SimpleMaxwellianFissionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2SimpleMaxwellianFission +SimpleMaxwellianFissionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSimpleMaxwellianFission +SimpleMaxwellianFissionCreateConst( + ConstHandle2ConstU U, + ConstHandle2ConstTheta theta +) { + ConstHandle2SimpleMaxwellianFission handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(U), + detail::tocpp(theta) + ); + return handle; +} + +// Create, general +Handle2SimpleMaxwellianFission +SimpleMaxwellianFissionCreate( + ConstHandle2ConstU U, + ConstHandle2ConstTheta theta +) { + ConstHandle2SimpleMaxwellianFission handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(U), + detail::tocpp(theta) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SimpleMaxwellianFissionAssign(ConstHandle2SimpleMaxwellianFission This, ConstHandle2ConstSimpleMaxwellianFission from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SimpleMaxwellianFissionDelete(ConstHandle2ConstSimpleMaxwellianFission This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SimpleMaxwellianFissionRead(ConstHandle2SimpleMaxwellianFission This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SimpleMaxwellianFissionWrite(ConstHandle2ConstSimpleMaxwellianFission This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SimpleMaxwellianFissionPrint(ConstHandle2ConstSimpleMaxwellianFission This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SimpleMaxwellianFissionPrintXML(ConstHandle2ConstSimpleMaxwellianFission This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SimpleMaxwellianFissionPrintJSON(ConstHandle2ConstSimpleMaxwellianFission This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: U +// ----------------------------------------------------------------------------- + +// Has +int +SimpleMaxwellianFissionUHas(ConstHandle2ConstSimpleMaxwellianFission This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UHas", This, extract::U); +} + +// Get, const +Handle2ConstU +SimpleMaxwellianFissionUGetConst(ConstHandle2ConstSimpleMaxwellianFission This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UGetConst", This, extract::U); +} + +// Get, non-const +Handle2U +SimpleMaxwellianFissionUGet(ConstHandle2SimpleMaxwellianFission This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UGet", This, extract::U); +} + +// Set +void +SimpleMaxwellianFissionUSet(ConstHandle2SimpleMaxwellianFission This, ConstHandle2ConstU U) +{ + detail::setField + (CLASSNAME, CLASSNAME+"USet", This, extract::U, U); +} + + +// ----------------------------------------------------------------------------- +// Child: theta +// ----------------------------------------------------------------------------- + +// Has +int +SimpleMaxwellianFissionThetaHas(ConstHandle2ConstSimpleMaxwellianFission This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ThetaHas", This, extract::theta); +} + +// Get, const +Handle2ConstTheta +SimpleMaxwellianFissionThetaGetConst(ConstHandle2ConstSimpleMaxwellianFission This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThetaGetConst", This, extract::theta); +} + +// Get, non-const +Handle2Theta +SimpleMaxwellianFissionThetaGet(ConstHandle2SimpleMaxwellianFission This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThetaGet", This, extract::theta); +} + +// Set +void +SimpleMaxwellianFissionThetaSet(ConstHandle2SimpleMaxwellianFission This, ConstHandle2ConstTheta theta) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ThetaSet", This, extract::theta, theta); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h new file mode 100644 index 000000000..6ac8fada7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// SimpleMaxwellianFission is the basic handle type in this file. Example: +// // Create a default SimpleMaxwellianFission object: +// SimpleMaxwellianFission handle = SimpleMaxwellianFissionDefault(); +// Functions involving SimpleMaxwellianFission are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION + +#include "GNDStk.h" +#include "v2.0/transport/U.h" +#include "v2.0/transport/Theta.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SimpleMaxwellianFissionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ SimpleMaxwellianFission +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SimpleMaxwellianFissionClass *SimpleMaxwellianFission; + +// --- Const-aware handles. +typedef const struct SimpleMaxwellianFissionClass *const ConstHandle2ConstSimpleMaxwellianFission; +typedef struct SimpleMaxwellianFissionClass *const ConstHandle2SimpleMaxwellianFission; +typedef const struct SimpleMaxwellianFissionClass * Handle2ConstSimpleMaxwellianFission; +typedef struct SimpleMaxwellianFissionClass * Handle2SimpleMaxwellianFission; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSimpleMaxwellianFission +SimpleMaxwellianFissionDefaultConst(); + +// +++ Create, default +extern_c Handle2SimpleMaxwellianFission +SimpleMaxwellianFissionDefault(); + +// --- Create, general, const +extern_c Handle2ConstSimpleMaxwellianFission +SimpleMaxwellianFissionCreateConst( + ConstHandle2ConstU U, + ConstHandle2ConstTheta theta +); + +// +++ Create, general +extern_c Handle2SimpleMaxwellianFission +SimpleMaxwellianFissionCreate( + ConstHandle2ConstU U, + ConstHandle2ConstTheta theta +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SimpleMaxwellianFissionAssign(ConstHandle2SimpleMaxwellianFission This, ConstHandle2ConstSimpleMaxwellianFission from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SimpleMaxwellianFissionDelete(ConstHandle2ConstSimpleMaxwellianFission This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SimpleMaxwellianFissionRead(ConstHandle2SimpleMaxwellianFission This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SimpleMaxwellianFissionWrite(ConstHandle2ConstSimpleMaxwellianFission This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SimpleMaxwellianFissionPrint(ConstHandle2ConstSimpleMaxwellianFission This); + +// +++ Print to standard output, as XML +extern_c int +SimpleMaxwellianFissionPrintXML(ConstHandle2ConstSimpleMaxwellianFission This); + +// +++ Print to standard output, as JSON +extern_c int +SimpleMaxwellianFissionPrintJSON(ConstHandle2ConstSimpleMaxwellianFission This); + + +// ----------------------------------------------------------------------------- +// Child: U +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SimpleMaxwellianFissionUHas(ConstHandle2ConstSimpleMaxwellianFission This); + +// --- Get, const +extern_c Handle2ConstU +SimpleMaxwellianFissionUGetConst(ConstHandle2ConstSimpleMaxwellianFission This); + +// +++ Get, non-const +extern_c Handle2U +SimpleMaxwellianFissionUGet(ConstHandle2SimpleMaxwellianFission This); + +// +++ Set +extern_c void +SimpleMaxwellianFissionUSet(ConstHandle2SimpleMaxwellianFission This, ConstHandle2ConstU U); + + +// ----------------------------------------------------------------------------- +// Child: theta +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SimpleMaxwellianFissionThetaHas(ConstHandle2ConstSimpleMaxwellianFission This); + +// --- Get, const +extern_c Handle2ConstTheta +SimpleMaxwellianFissionThetaGetConst(ConstHandle2ConstSimpleMaxwellianFission This); + +// +++ Get, non-const +extern_c Handle2Theta +SimpleMaxwellianFissionThetaGet(ConstHandle2SimpleMaxwellianFission This); + +// +++ Set +extern_c void +SimpleMaxwellianFissionThetaSet(ConstHandle2SimpleMaxwellianFission This, ConstHandle2ConstTheta theta); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp new file mode 100644 index 000000000..96ebfbf25 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/T_M.hpp" +#include "T_M.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = T_MClass; +using CPP = multigroup::T_M; + +static const std::string CLASSNAME = "T_M"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstT_M +T_MDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2T_M +T_MDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstT_M +T_MCreateConst( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2T_M handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Create, general +Handle2T_M +T_MCreate( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2T_M handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +T_MAssign(ConstHandle2T_M This, ConstHandle2ConstT_M from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +T_MDelete(ConstHandle2ConstT_M This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +T_MRead(ConstHandle2T_M This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +T_MWrite(ConstHandle2ConstT_M This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +T_MPrint(ConstHandle2ConstT_M This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +T_MPrintXML(ConstHandle2ConstT_M This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +T_MPrintJSON(ConstHandle2ConstT_M This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +T_MXYs1dHas(ConstHandle2ConstT_M This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +T_MXYs1dGetConst(ConstHandle2ConstT_M This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +T_MXYs1dGet(ConstHandle2T_M This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +T_MXYs1dSet(ConstHandle2T_M This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h new file mode 100644 index 000000000..965827017 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// T_M is the basic handle type in this file. Example: +// // Create a default T_M object: +// T_M handle = T_MDefault(); +// Functions involving T_M are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_T_M +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_T_M + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct T_MClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ T_M +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct T_MClass *T_M; + +// --- Const-aware handles. +typedef const struct T_MClass *const ConstHandle2ConstT_M; +typedef struct T_MClass *const ConstHandle2T_M; +typedef const struct T_MClass * Handle2ConstT_M; +typedef struct T_MClass * Handle2T_M; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstT_M +T_MDefaultConst(); + +// +++ Create, default +extern_c Handle2T_M +T_MDefault(); + +// --- Create, general, const +extern_c Handle2ConstT_M +T_MCreateConst( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Create, general +extern_c Handle2T_M +T_MCreate( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +T_MAssign(ConstHandle2T_M This, ConstHandle2ConstT_M from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +T_MDelete(ConstHandle2ConstT_M This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +T_MRead(ConstHandle2T_M This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +T_MWrite(ConstHandle2ConstT_M This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +T_MPrint(ConstHandle2ConstT_M This); + +// +++ Print to standard output, as XML +extern_c int +T_MPrintXML(ConstHandle2ConstT_M This); + +// +++ Print to standard output, as JSON +extern_c int +T_MPrintJSON(ConstHandle2ConstT_M This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +T_MXYs1dHas(ConstHandle2ConstT_M This); + +// --- Get, const +extern_c Handle2ConstXYs1d +T_MXYs1dGetConst(ConstHandle2ConstT_M This); + +// +++ Get, non-const +extern_c Handle2XYs1d +T_MXYs1dGet(ConstHandle2T_M This); + +// +++ Set +extern_c void +T_MXYs1dSet(ConstHandle2T_M This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp new file mode 100644 index 000000000..e107e2a03 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/TotalEnergy.hpp" +#include "TotalEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TotalEnergyClass; +using CPP = multigroup::TotalEnergy; + +static const std::string CLASSNAME = "TotalEnergy"; + +namespace extract { + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; +} + +using CPPPolynomial1d = unknownNamespace::Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTotalEnergy +TotalEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2TotalEnergy +TotalEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTotalEnergy +TotalEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2TotalEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Create, general +Handle2TotalEnergy +TotalEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +) { + ConstHandle2TotalEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(polynomial1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TotalEnergyAssign(ConstHandle2TotalEnergy This, ConstHandle2ConstTotalEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TotalEnergyDelete(ConstHandle2ConstTotalEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TotalEnergyRead(ConstHandle2TotalEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TotalEnergyWrite(ConstHandle2ConstTotalEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TotalEnergyPrint(ConstHandle2ConstTotalEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TotalEnergyPrintXML(ConstHandle2ConstTotalEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TotalEnergyPrintJSON(ConstHandle2ConstTotalEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +TotalEnergyPolynomial1dHas(ConstHandle2ConstTotalEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +TotalEnergyPolynomial1dGetConst(ConstHandle2ConstTotalEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +TotalEnergyPolynomial1dGet(ConstHandle2TotalEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +TotalEnergyPolynomial1dSet(ConstHandle2TotalEnergy This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h new file mode 100644 index 000000000..95f0b63d4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// TotalEnergy is the basic handle type in this file. Example: +// // Create a default TotalEnergy object: +// TotalEnergy handle = TotalEnergyDefault(); +// Functions involving TotalEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TotalEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ TotalEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TotalEnergyClass *TotalEnergy; + +// --- Const-aware handles. +typedef const struct TotalEnergyClass *const ConstHandle2ConstTotalEnergy; +typedef struct TotalEnergyClass *const ConstHandle2TotalEnergy; +typedef const struct TotalEnergyClass * Handle2ConstTotalEnergy; +typedef struct TotalEnergyClass * Handle2TotalEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTotalEnergy +TotalEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2TotalEnergy +TotalEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstTotalEnergy +TotalEnergyCreateConst( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Create, general +extern_c Handle2TotalEnergy +TotalEnergyCreate( + ConstHandle2ConstPolynomial1d polynomial1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TotalEnergyAssign(ConstHandle2TotalEnergy This, ConstHandle2ConstTotalEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TotalEnergyDelete(ConstHandle2ConstTotalEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TotalEnergyRead(ConstHandle2TotalEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TotalEnergyWrite(ConstHandle2ConstTotalEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TotalEnergyPrint(ConstHandle2ConstTotalEnergy This); + +// +++ Print to standard output, as XML +extern_c int +TotalEnergyPrintXML(ConstHandle2ConstTotalEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +TotalEnergyPrintJSON(ConstHandle2ConstTotalEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TotalEnergyPolynomial1dHas(ConstHandle2ConstTotalEnergy This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +TotalEnergyPolynomial1dGetConst(ConstHandle2ConstTotalEnergy This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +TotalEnergyPolynomial1dGet(ConstHandle2TotalEnergy This); + +// +++ Set +extern_c void +TotalEnergyPolynomial1dSet(ConstHandle2TotalEnergy This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.cpp new file mode 100644 index 000000000..9279c1c93 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fissionTransport/Watt.hpp" +#include "Watt.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = WattClass; +using CPP = multigroup::Watt; + +static const std::string CLASSNAME = "Watt"; + +namespace extract { + static auto U = [](auto &obj) { return &obj.U; }; + static auto a = [](auto &obj) { return &obj.a; }; + static auto b = [](auto &obj) { return &obj.b; }; +} + +using CPPU = transport::U; +using CPPA = fissionTransport::A; +using CPPB = fissionTransport::B; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstWatt +WattDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Watt +WattDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstWatt +WattCreateConst( + ConstHandle2ConstU U, + ConstHandle2ConstA a, + ConstHandle2ConstB b +) { + ConstHandle2Watt handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(U), + detail::tocpp(a), + detail::tocpp(b) + ); + return handle; +} + +// Create, general +Handle2Watt +WattCreate( + ConstHandle2ConstU U, + ConstHandle2ConstA a, + ConstHandle2ConstB b +) { + ConstHandle2Watt handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(U), + detail::tocpp(a), + detail::tocpp(b) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +WattAssign(ConstHandle2Watt This, ConstHandle2ConstWatt from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +WattDelete(ConstHandle2ConstWatt This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +WattRead(ConstHandle2Watt This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +WattWrite(ConstHandle2ConstWatt This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +WattPrint(ConstHandle2ConstWatt This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +WattPrintXML(ConstHandle2ConstWatt This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +WattPrintJSON(ConstHandle2ConstWatt This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: U +// ----------------------------------------------------------------------------- + +// Has +int +WattUHas(ConstHandle2ConstWatt This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UHas", This, extract::U); +} + +// Get, const +Handle2ConstU +WattUGetConst(ConstHandle2ConstWatt This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UGetConst", This, extract::U); +} + +// Get, non-const +Handle2U +WattUGet(ConstHandle2Watt This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UGet", This, extract::U); +} + +// Set +void +WattUSet(ConstHandle2Watt This, ConstHandle2ConstU U) +{ + detail::setField + (CLASSNAME, CLASSNAME+"USet", This, extract::U, U); +} + + +// ----------------------------------------------------------------------------- +// Child: a +// ----------------------------------------------------------------------------- + +// Has +int +WattAHas(ConstHandle2ConstWatt This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AHas", This, extract::a); +} + +// Get, const +Handle2ConstA +WattAGetConst(ConstHandle2ConstWatt This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AGetConst", This, extract::a); +} + +// Get, non-const +Handle2A +WattAGet(ConstHandle2Watt This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AGet", This, extract::a); +} + +// Set +void +WattASet(ConstHandle2Watt This, ConstHandle2ConstA a) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ASet", This, extract::a, a); +} + + +// ----------------------------------------------------------------------------- +// Child: b +// ----------------------------------------------------------------------------- + +// Has +int +WattBHas(ConstHandle2ConstWatt This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BHas", This, extract::b); +} + +// Get, const +Handle2ConstB +WattBGetConst(ConstHandle2ConstWatt This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BGetConst", This, extract::b); +} + +// Get, non-const +Handle2B +WattBGet(ConstHandle2Watt This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BGet", This, extract::b); +} + +// Set +void +WattBSet(ConstHandle2Watt This, ConstHandle2ConstB b) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BSet", This, extract::b, b); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.h new file mode 100644 index 000000000..cfeae22a9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Watt is the basic handle type in this file. Example: +// // Create a default Watt object: +// Watt handle = WattDefault(); +// Functions involving Watt are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_WATT +#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_WATT + +#include "GNDStk.h" +#include "v2.0/transport/U.h" +#include "v2.0/fissionTransport/A.h" +#include "v2.0/fissionTransport/B.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct WattClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Watt +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct WattClass *Watt; + +// --- Const-aware handles. +typedef const struct WattClass *const ConstHandle2ConstWatt; +typedef struct WattClass *const ConstHandle2Watt; +typedef const struct WattClass * Handle2ConstWatt; +typedef struct WattClass * Handle2Watt; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstWatt +WattDefaultConst(); + +// +++ Create, default +extern_c Handle2Watt +WattDefault(); + +// --- Create, general, const +extern_c Handle2ConstWatt +WattCreateConst( + ConstHandle2ConstU U, + ConstHandle2ConstA a, + ConstHandle2ConstB b +); + +// +++ Create, general +extern_c Handle2Watt +WattCreate( + ConstHandle2ConstU U, + ConstHandle2ConstA a, + ConstHandle2ConstB b +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +WattAssign(ConstHandle2Watt This, ConstHandle2ConstWatt from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +WattDelete(ConstHandle2ConstWatt This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +WattRead(ConstHandle2Watt This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +WattWrite(ConstHandle2ConstWatt This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +WattPrint(ConstHandle2ConstWatt This); + +// +++ Print to standard output, as XML +extern_c int +WattPrintXML(ConstHandle2ConstWatt This); + +// +++ Print to standard output, as JSON +extern_c int +WattPrintJSON(ConstHandle2ConstWatt This); + + +// ----------------------------------------------------------------------------- +// Child: U +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WattUHas(ConstHandle2ConstWatt This); + +// --- Get, const +extern_c Handle2ConstU +WattUGetConst(ConstHandle2ConstWatt This); + +// +++ Get, non-const +extern_c Handle2U +WattUGet(ConstHandle2Watt This); + +// +++ Set +extern_c void +WattUSet(ConstHandle2Watt This, ConstHandle2ConstU U); + + +// ----------------------------------------------------------------------------- +// Child: a +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WattAHas(ConstHandle2ConstWatt This); + +// --- Get, const +extern_c Handle2ConstA +WattAGetConst(ConstHandle2ConstWatt This); + +// +++ Get, non-const +extern_c Handle2A +WattAGet(ConstHandle2Watt This); + +// +++ Set +extern_c void +WattASet(ConstHandle2Watt This, ConstHandle2ConstA a); + + +// ----------------------------------------------------------------------------- +// Child: b +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WattBHas(ConstHandle2ConstWatt This); + +// --- Get, const +extern_c Handle2ConstB +WattBGetConst(ConstHandle2ConstWatt This); + +// +++ Get, non-const +extern_c Handle2B +WattBGet(ConstHandle2Watt This); + +// +++ Set +extern_c void +WattBSet(ConstHandle2Watt This, ConstHandle2ConstB b); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.cpp new file mode 100644 index 000000000..a9bf8a73f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.cpp @@ -0,0 +1,211 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/ElapsedTime.hpp" +#include "ElapsedTime.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ElapsedTimeClass; +using CPP = multigroup::ElapsedTime; + +static const std::string CLASSNAME = "ElapsedTime"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto time = [](auto &obj) { return &obj.time; }; +} + +using CPPTime = fpy::Time; +using CPPYields = fpy::Yields; +using CPPIncidentEnergies = fpy::IncidentEnergies; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstElapsedTime +ElapsedTimeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ElapsedTime +ElapsedTimeDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstElapsedTime +ElapsedTimeCreateConst( + const XMLName label, + ConstHandle2ConstTime time, +) { + ConstHandle2ElapsedTime handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(time) + ); + return handle; +} + +// Create, general +Handle2ElapsedTime +ElapsedTimeCreate( + const XMLName label, + ConstHandle2ConstTime time, +) { + ConstHandle2ElapsedTime handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(time) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ElapsedTimeAssign(ConstHandle2ElapsedTime This, ConstHandle2ConstElapsedTime from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ElapsedTimeDelete(ConstHandle2ConstElapsedTime This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ElapsedTimeRead(ConstHandle2ElapsedTime This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ElapsedTimeWrite(ConstHandle2ConstElapsedTime This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ElapsedTimePrint(ConstHandle2ConstElapsedTime This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ElapsedTimePrintXML(ConstHandle2ConstElapsedTime This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ElapsedTimePrintJSON(ConstHandle2ConstElapsedTime This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ElapsedTimeLabelHas(ConstHandle2ConstElapsedTime This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ElapsedTimeLabelGet(ConstHandle2ConstElapsedTime This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ElapsedTimeLabelSet(ConstHandle2ElapsedTime This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: time +// ----------------------------------------------------------------------------- + +// Has +int +ElapsedTimeTimeHas(ConstHandle2ConstElapsedTime This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TimeHas", This, extract::time); +} + +// Get, const +Handle2ConstTime +ElapsedTimeTimeGetConst(ConstHandle2ConstElapsedTime This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TimeGetConst", This, extract::time); +} + +// Get, non-const +Handle2Time +ElapsedTimeTimeGet(ConstHandle2ElapsedTime This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TimeGet", This, extract::time); +} + +// Set +void +ElapsedTimeTimeSet(ConstHandle2ElapsedTime This, ConstHandle2ConstTime time) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TimeSet", This, extract::time, time); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.h new file mode 100644 index 000000000..a860c9e89 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.h @@ -0,0 +1,181 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ElapsedTime is the basic handle type in this file. Example: +// // Create a default ElapsedTime object: +// ElapsedTime handle = ElapsedTimeDefault(); +// Functions involving ElapsedTime are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_ELAPSEDTIME +#define C_INTERFACE_TRY_V2_0_FPY_ELAPSEDTIME + +#include "GNDStk.h" +#include "v2.0/fpy/Time.h" +#include "v2.0/fpy/Yields.h" +#include "v2.0/fpy/IncidentEnergies.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ElapsedTimeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ElapsedTime +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ElapsedTimeClass *ElapsedTime; + +// --- Const-aware handles. +typedef const struct ElapsedTimeClass *const ConstHandle2ConstElapsedTime; +typedef struct ElapsedTimeClass *const ConstHandle2ElapsedTime; +typedef const struct ElapsedTimeClass * Handle2ConstElapsedTime; +typedef struct ElapsedTimeClass * Handle2ElapsedTime; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstElapsedTime +ElapsedTimeDefaultConst(); + +// +++ Create, default +extern_c Handle2ElapsedTime +ElapsedTimeDefault(); + +// --- Create, general, const +extern_c Handle2ConstElapsedTime +ElapsedTimeCreateConst( + const XMLName label, + ConstHandle2ConstTime time, +); + +// +++ Create, general +extern_c Handle2ElapsedTime +ElapsedTimeCreate( + const XMLName label, + ConstHandle2ConstTime time, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ElapsedTimeAssign(ConstHandle2ElapsedTime This, ConstHandle2ConstElapsedTime from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ElapsedTimeDelete(ConstHandle2ConstElapsedTime This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ElapsedTimeRead(ConstHandle2ElapsedTime This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ElapsedTimeWrite(ConstHandle2ConstElapsedTime This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ElapsedTimePrint(ConstHandle2ConstElapsedTime This); + +// +++ Print to standard output, as XML +extern_c int +ElapsedTimePrintXML(ConstHandle2ConstElapsedTime This); + +// +++ Print to standard output, as JSON +extern_c int +ElapsedTimePrintJSON(ConstHandle2ConstElapsedTime This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ElapsedTimeLabelHas(ConstHandle2ConstElapsedTime This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ElapsedTimeLabelGet(ConstHandle2ConstElapsedTime This); + +// +++ Set +extern_c void +ElapsedTimeLabelSet(ConstHandle2ElapsedTime This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: time +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ElapsedTimeTimeHas(ConstHandle2ConstElapsedTime This); + +// --- Get, const +extern_c Handle2ConstTime +ElapsedTimeTimeGetConst(ConstHandle2ConstElapsedTime This); + +// +++ Get, non-const +extern_c Handle2Time +ElapsedTimeTimeGet(ConstHandle2ElapsedTime This); + +// +++ Set +extern_c void +ElapsedTimeTimeSet(ConstHandle2ElapsedTime This, ConstHandle2ConstTime time); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.cpp new file mode 100644 index 000000000..92b0805c3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/ElapsedTimes.hpp" +#include "ElapsedTimes.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ElapsedTimesClass; +using CPP = multigroup::ElapsedTimes; + +static const std::string CLASSNAME = "ElapsedTimes"; + +namespace extract { + static auto elapsedTime = [](auto &obj) { return &obj.elapsedTime; }; +} + +using CPPElapsedTime = fpy::ElapsedTime; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstElapsedTimes +ElapsedTimesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ElapsedTimes +ElapsedTimesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstElapsedTimes +ElapsedTimesCreateConst( + ConstHandle2ElapsedTime *const elapsedTime, const size_t elapsedTimeSize +) { + ConstHandle2ElapsedTimes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ElapsedTimeN = 0; ElapsedTimeN < elapsedTimeSize; ++ElapsedTimeN) + ElapsedTimesElapsedTimeAdd(handle, elapsedTime[ElapsedTimeN]); + return handle; +} + +// Create, general +Handle2ElapsedTimes +ElapsedTimesCreate( + ConstHandle2ElapsedTime *const elapsedTime, const size_t elapsedTimeSize +) { + ConstHandle2ElapsedTimes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ElapsedTimeN = 0; ElapsedTimeN < elapsedTimeSize; ++ElapsedTimeN) + ElapsedTimesElapsedTimeAdd(handle, elapsedTime[ElapsedTimeN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ElapsedTimesAssign(ConstHandle2ElapsedTimes This, ConstHandle2ConstElapsedTimes from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ElapsedTimesDelete(ConstHandle2ConstElapsedTimes This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ElapsedTimesRead(ConstHandle2ElapsedTimes This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ElapsedTimesWrite(ConstHandle2ConstElapsedTimes This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ElapsedTimesPrint(ConstHandle2ConstElapsedTimes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ElapsedTimesPrintXML(ConstHandle2ConstElapsedTimes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ElapsedTimesPrintJSON(ConstHandle2ConstElapsedTimes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: elapsedTime +// ----------------------------------------------------------------------------- + +// Has +int +ElapsedTimesElapsedTimeHas(ConstHandle2ConstElapsedTimes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ElapsedTimeHas", This, extract::elapsedTime); +} + +// Clear +void +ElapsedTimesElapsedTimeClear(ConstHandle2ElapsedTimes This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ElapsedTimeClear", This, extract::elapsedTime); +} + +// Size +size_t +ElapsedTimesElapsedTimeSize(ConstHandle2ConstElapsedTimes This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ElapsedTimeSize", This, extract::elapsedTime); +} + +// Add +void +ElapsedTimesElapsedTimeAdd(ConstHandle2ElapsedTimes This, ConstHandle2ConstElapsedTime elapsedTime) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ElapsedTimeAdd", This, extract::elapsedTime, elapsedTime); +} + +// Get, by index \in [0,size), const +Handle2ConstElapsedTime +ElapsedTimesElapsedTimeGetConst(ConstHandle2ConstElapsedTimes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ElapsedTimeGetConst", This, extract::elapsedTime, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ElapsedTime +ElapsedTimesElapsedTimeGet(ConstHandle2ElapsedTimes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ElapsedTimeGet", This, extract::elapsedTime, index_); +} + +// Set, by index \in [0,size) +void +ElapsedTimesElapsedTimeSet( + ConstHandle2ElapsedTimes This, + const size_t index_, + ConstHandle2ConstElapsedTime elapsedTime +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ElapsedTimeSet", This, extract::elapsedTime, index_, elapsedTime); +} + +// Has, by label +int +ElapsedTimesElapsedTimeHasByLabel( + ConstHandle2ConstElapsedTimes This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ElapsedTimeHasByLabel", + This, extract::elapsedTime, meta::label, label); +} + +// Get, by label, const +Handle2ConstElapsedTime +ElapsedTimesElapsedTimeGetByLabelConst( + ConstHandle2ConstElapsedTimes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ElapsedTimeGetByLabelConst", + This, extract::elapsedTime, meta::label, label); +} + +// Get, by label, non-const +Handle2ElapsedTime +ElapsedTimesElapsedTimeGetByLabel( + ConstHandle2ElapsedTimes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ElapsedTimeGetByLabel", + This, extract::elapsedTime, meta::label, label); +} + +// Set, by label +void +ElapsedTimesElapsedTimeSetByLabel( + ConstHandle2ElapsedTimes This, + const XMLName label, + ConstHandle2ConstElapsedTime elapsedTime +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ElapsedTimeSetByLabel", + This, extract::elapsedTime, meta::label, label, elapsedTime); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.h new file mode 100644 index 000000000..6c711ca5e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ElapsedTimes is the basic handle type in this file. Example: +// // Create a default ElapsedTimes object: +// ElapsedTimes handle = ElapsedTimesDefault(); +// Functions involving ElapsedTimes are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_ELAPSEDTIMES +#define C_INTERFACE_TRY_V2_0_FPY_ELAPSEDTIMES + +#include "GNDStk.h" +#include "v2.0/fpy/ElapsedTime.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ElapsedTimesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ElapsedTimes +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ElapsedTimesClass *ElapsedTimes; + +// --- Const-aware handles. +typedef const struct ElapsedTimesClass *const ConstHandle2ConstElapsedTimes; +typedef struct ElapsedTimesClass *const ConstHandle2ElapsedTimes; +typedef const struct ElapsedTimesClass * Handle2ConstElapsedTimes; +typedef struct ElapsedTimesClass * Handle2ElapsedTimes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstElapsedTimes +ElapsedTimesDefaultConst(); + +// +++ Create, default +extern_c Handle2ElapsedTimes +ElapsedTimesDefault(); + +// --- Create, general, const +extern_c Handle2ConstElapsedTimes +ElapsedTimesCreateConst( + ConstHandle2ElapsedTime *const elapsedTime, const size_t elapsedTimeSize +); + +// +++ Create, general +extern_c Handle2ElapsedTimes +ElapsedTimesCreate( + ConstHandle2ElapsedTime *const elapsedTime, const size_t elapsedTimeSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ElapsedTimesAssign(ConstHandle2ElapsedTimes This, ConstHandle2ConstElapsedTimes from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ElapsedTimesDelete(ConstHandle2ConstElapsedTimes This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ElapsedTimesRead(ConstHandle2ElapsedTimes This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ElapsedTimesWrite(ConstHandle2ConstElapsedTimes This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ElapsedTimesPrint(ConstHandle2ConstElapsedTimes This); + +// +++ Print to standard output, as XML +extern_c int +ElapsedTimesPrintXML(ConstHandle2ConstElapsedTimes This); + +// +++ Print to standard output, as JSON +extern_c int +ElapsedTimesPrintJSON(ConstHandle2ConstElapsedTimes This); + + +// ----------------------------------------------------------------------------- +// Child: elapsedTime +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ElapsedTimesElapsedTimeHas(ConstHandle2ConstElapsedTimes This); + +// +++ Clear +extern_c void +ElapsedTimesElapsedTimeClear(ConstHandle2ElapsedTimes This); + +// +++ Size +extern_c size_t +ElapsedTimesElapsedTimeSize(ConstHandle2ConstElapsedTimes This); + +// +++ Add +extern_c void +ElapsedTimesElapsedTimeAdd(ConstHandle2ElapsedTimes This, ConstHandle2ConstElapsedTime elapsedTime); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstElapsedTime +ElapsedTimesElapsedTimeGetConst(ConstHandle2ConstElapsedTimes This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ElapsedTime +ElapsedTimesElapsedTimeGet(ConstHandle2ElapsedTimes This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ElapsedTimesElapsedTimeSet( + ConstHandle2ElapsedTimes This, + const size_t index_, + ConstHandle2ConstElapsedTime elapsedTime +); + +// +++ Has, by label +extern_c int +ElapsedTimesElapsedTimeHasByLabel( + ConstHandle2ConstElapsedTimes This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstElapsedTime +ElapsedTimesElapsedTimeGetByLabelConst( + ConstHandle2ConstElapsedTimes This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ElapsedTime +ElapsedTimesElapsedTimeGetByLabel( + ConstHandle2ElapsedTimes This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ElapsedTimesElapsedTimeSetByLabel( + ConstHandle2ElapsedTimes This, + const XMLName label, + ConstHandle2ConstElapsedTime elapsedTime +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp new file mode 100644 index 000000000..380e8b865 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/Energy.hpp" +#include "Energy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EnergyClass; +using CPP = multigroup::Energy; + +static const std::string CLASSNAME = "Energy"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEnergy +EnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Energy +EnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEnergy +EnergyCreateConst( + ConstHandle2ConstDouble Double +) { + ConstHandle2Energy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2Energy +EnergyCreate( + ConstHandle2ConstDouble Double +) { + ConstHandle2Energy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EnergyAssign(ConstHandle2Energy This, ConstHandle2ConstEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EnergyDelete(ConstHandle2ConstEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EnergyRead(ConstHandle2Energy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EnergyWrite(ConstHandle2ConstEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EnergyPrint(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EnergyPrintXML(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EnergyPrintJSON(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +EnergyDoubleHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +EnergyDoubleGetConst(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +EnergyDoubleGet(ConstHandle2Energy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +EnergyDoubleSet(ConstHandle2Energy This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h new file mode 100644 index 000000000..52fc28e03 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Energy is the basic handle type in this file. Example: +// // Create a default Energy object: +// Energy handle = EnergyDefault(); +// Functions involving Energy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_ENERGY +#define C_INTERFACE_TRY_V2_0_FPY_ENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Energy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EnergyClass *Energy; + +// --- Const-aware handles. +typedef const struct EnergyClass *const ConstHandle2ConstEnergy; +typedef struct EnergyClass *const ConstHandle2Energy; +typedef const struct EnergyClass * Handle2ConstEnergy; +typedef struct EnergyClass * Handle2Energy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEnergy +EnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2Energy +EnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstEnergy +EnergyCreateConst( + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2Energy +EnergyCreate( + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EnergyAssign(ConstHandle2Energy This, ConstHandle2ConstEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EnergyDelete(ConstHandle2ConstEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EnergyRead(ConstHandle2Energy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EnergyWrite(ConstHandle2ConstEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EnergyPrint(ConstHandle2ConstEnergy This); + +// +++ Print to standard output, as XML +extern_c int +EnergyPrintXML(ConstHandle2ConstEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +EnergyPrintJSON(ConstHandle2ConstEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyDoubleHas(ConstHandle2ConstEnergy This); + +// --- Get, const +extern_c Handle2ConstDouble +EnergyDoubleGetConst(ConstHandle2ConstEnergy This); + +// +++ Get, non-const +extern_c Handle2Double +EnergyDoubleGet(ConstHandle2Energy This); + +// +++ Set +extern_c void +EnergyDoubleSet(ConstHandle2Energy This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.cpp new file mode 100644 index 000000000..a0982db9e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/IncidentEnergies.hpp" +#include "IncidentEnergies.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IncidentEnergiesClass; +using CPP = multigroup::IncidentEnergies; + +static const std::string CLASSNAME = "IncidentEnergies"; + +namespace extract { + static auto incidentEnergy = [](auto &obj) { return &obj.incidentEnergy; }; +} + +using CPPIncidentEnergy = fpy::IncidentEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIncidentEnergies +IncidentEnergiesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2IncidentEnergies +IncidentEnergiesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIncidentEnergies +IncidentEnergiesCreateConst( + ConstHandle2IncidentEnergy *const incidentEnergy, const size_t incidentEnergySize +) { + ConstHandle2IncidentEnergies handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t IncidentEnergyN = 0; IncidentEnergyN < incidentEnergySize; ++IncidentEnergyN) + IncidentEnergiesIncidentEnergyAdd(handle, incidentEnergy[IncidentEnergyN]); + return handle; +} + +// Create, general +Handle2IncidentEnergies +IncidentEnergiesCreate( + ConstHandle2IncidentEnergy *const incidentEnergy, const size_t incidentEnergySize +) { + ConstHandle2IncidentEnergies handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t IncidentEnergyN = 0; IncidentEnergyN < incidentEnergySize; ++IncidentEnergyN) + IncidentEnergiesIncidentEnergyAdd(handle, incidentEnergy[IncidentEnergyN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IncidentEnergiesAssign(ConstHandle2IncidentEnergies This, ConstHandle2ConstIncidentEnergies from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IncidentEnergiesDelete(ConstHandle2ConstIncidentEnergies This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IncidentEnergiesRead(ConstHandle2IncidentEnergies This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IncidentEnergiesWrite(ConstHandle2ConstIncidentEnergies This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IncidentEnergiesPrint(ConstHandle2ConstIncidentEnergies This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IncidentEnergiesPrintXML(ConstHandle2ConstIncidentEnergies This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IncidentEnergiesPrintJSON(ConstHandle2ConstIncidentEnergies This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: incidentEnergy +// ----------------------------------------------------------------------------- + +// Has +int +IncidentEnergiesIncidentEnergyHas(ConstHandle2ConstIncidentEnergies This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IncidentEnergyHas", This, extract::incidentEnergy); +} + +// Clear +void +IncidentEnergiesIncidentEnergyClear(ConstHandle2IncidentEnergies This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"IncidentEnergyClear", This, extract::incidentEnergy); +} + +// Size +size_t +IncidentEnergiesIncidentEnergySize(ConstHandle2ConstIncidentEnergies This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"IncidentEnergySize", This, extract::incidentEnergy); +} + +// Add +void +IncidentEnergiesIncidentEnergyAdd(ConstHandle2IncidentEnergies This, ConstHandle2ConstIncidentEnergy incidentEnergy) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"IncidentEnergyAdd", This, extract::incidentEnergy, incidentEnergy); +} + +// Get, by index \in [0,size), const +Handle2ConstIncidentEnergy +IncidentEnergiesIncidentEnergyGetConst(ConstHandle2ConstIncidentEnergies This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IncidentEnergyGetConst", This, extract::incidentEnergy, index_); +} + +// Get, by index \in [0,size), non-const +Handle2IncidentEnergy +IncidentEnergiesIncidentEnergyGet(ConstHandle2IncidentEnergies This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IncidentEnergyGet", This, extract::incidentEnergy, index_); +} + +// Set, by index \in [0,size) +void +IncidentEnergiesIncidentEnergySet( + ConstHandle2IncidentEnergies This, + const size_t index_, + ConstHandle2ConstIncidentEnergy incidentEnergy +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"IncidentEnergySet", This, extract::incidentEnergy, index_, incidentEnergy); +} + +// Has, by label +int +IncidentEnergiesIncidentEnergyHasByLabel( + ConstHandle2ConstIncidentEnergies This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IncidentEnergyHasByLabel", + This, extract::incidentEnergy, meta::label, label); +} + +// Get, by label, const +Handle2ConstIncidentEnergy +IncidentEnergiesIncidentEnergyGetByLabelConst( + ConstHandle2ConstIncidentEnergies This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IncidentEnergyGetByLabelConst", + This, extract::incidentEnergy, meta::label, label); +} + +// Get, by label, non-const +Handle2IncidentEnergy +IncidentEnergiesIncidentEnergyGetByLabel( + ConstHandle2IncidentEnergies This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IncidentEnergyGetByLabel", + This, extract::incidentEnergy, meta::label, label); +} + +// Set, by label +void +IncidentEnergiesIncidentEnergySetByLabel( + ConstHandle2IncidentEnergies This, + const XMLName label, + ConstHandle2ConstIncidentEnergy incidentEnergy +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IncidentEnergySetByLabel", + This, extract::incidentEnergy, meta::label, label, incidentEnergy); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.h new file mode 100644 index 000000000..628ea9873 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// IncidentEnergies is the basic handle type in this file. Example: +// // Create a default IncidentEnergies object: +// IncidentEnergies handle = IncidentEnergiesDefault(); +// Functions involving IncidentEnergies are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_INCIDENTENERGIES +#define C_INTERFACE_TRY_V2_0_FPY_INCIDENTENERGIES + +#include "GNDStk.h" +#include "v2.0/fpy/IncidentEnergy.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IncidentEnergiesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ IncidentEnergies +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IncidentEnergiesClass *IncidentEnergies; + +// --- Const-aware handles. +typedef const struct IncidentEnergiesClass *const ConstHandle2ConstIncidentEnergies; +typedef struct IncidentEnergiesClass *const ConstHandle2IncidentEnergies; +typedef const struct IncidentEnergiesClass * Handle2ConstIncidentEnergies; +typedef struct IncidentEnergiesClass * Handle2IncidentEnergies; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIncidentEnergies +IncidentEnergiesDefaultConst(); + +// +++ Create, default +extern_c Handle2IncidentEnergies +IncidentEnergiesDefault(); + +// --- Create, general, const +extern_c Handle2ConstIncidentEnergies +IncidentEnergiesCreateConst( + ConstHandle2IncidentEnergy *const incidentEnergy, const size_t incidentEnergySize +); + +// +++ Create, general +extern_c Handle2IncidentEnergies +IncidentEnergiesCreate( + ConstHandle2IncidentEnergy *const incidentEnergy, const size_t incidentEnergySize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IncidentEnergiesAssign(ConstHandle2IncidentEnergies This, ConstHandle2ConstIncidentEnergies from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IncidentEnergiesDelete(ConstHandle2ConstIncidentEnergies This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IncidentEnergiesRead(ConstHandle2IncidentEnergies This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IncidentEnergiesWrite(ConstHandle2ConstIncidentEnergies This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IncidentEnergiesPrint(ConstHandle2ConstIncidentEnergies This); + +// +++ Print to standard output, as XML +extern_c int +IncidentEnergiesPrintXML(ConstHandle2ConstIncidentEnergies This); + +// +++ Print to standard output, as JSON +extern_c int +IncidentEnergiesPrintJSON(ConstHandle2ConstIncidentEnergies This); + + +// ----------------------------------------------------------------------------- +// Child: incidentEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncidentEnergiesIncidentEnergyHas(ConstHandle2ConstIncidentEnergies This); + +// +++ Clear +extern_c void +IncidentEnergiesIncidentEnergyClear(ConstHandle2IncidentEnergies This); + +// +++ Size +extern_c size_t +IncidentEnergiesIncidentEnergySize(ConstHandle2ConstIncidentEnergies This); + +// +++ Add +extern_c void +IncidentEnergiesIncidentEnergyAdd(ConstHandle2IncidentEnergies This, ConstHandle2ConstIncidentEnergy incidentEnergy); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstIncidentEnergy +IncidentEnergiesIncidentEnergyGetConst(ConstHandle2ConstIncidentEnergies This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2IncidentEnergy +IncidentEnergiesIncidentEnergyGet(ConstHandle2IncidentEnergies This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +IncidentEnergiesIncidentEnergySet( + ConstHandle2IncidentEnergies This, + const size_t index_, + ConstHandle2ConstIncidentEnergy incidentEnergy +); + +// +++ Has, by label +extern_c int +IncidentEnergiesIncidentEnergyHasByLabel( + ConstHandle2ConstIncidentEnergies This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstIncidentEnergy +IncidentEnergiesIncidentEnergyGetByLabelConst( + ConstHandle2ConstIncidentEnergies This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2IncidentEnergy +IncidentEnergiesIncidentEnergyGetByLabel( + ConstHandle2IncidentEnergies This, + const XMLName label +); + +// +++ Set, by label +extern_c void +IncidentEnergiesIncidentEnergySetByLabel( + ConstHandle2IncidentEnergies This, + const XMLName label, + ConstHandle2ConstIncidentEnergy incidentEnergy +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.cpp new file mode 100644 index 000000000..812480c11 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/IncidentEnergy.hpp" +#include "IncidentEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IncidentEnergyClass; +using CPP = multigroup::IncidentEnergy; + +static const std::string CLASSNAME = "IncidentEnergy"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto energy = [](auto &obj) { return &obj.energy; }; + static auto yields = [](auto &obj) { return &obj.yields; }; +} + +using CPPEnergy = fpy::Energy; +using CPPYields = fpy::Yields; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIncidentEnergy +IncidentEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2IncidentEnergy +IncidentEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIncidentEnergy +IncidentEnergyCreateConst( + const XMLName label, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstYields yields +) { + ConstHandle2IncidentEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(energy), + detail::tocpp(yields) + ); + return handle; +} + +// Create, general +Handle2IncidentEnergy +IncidentEnergyCreate( + const XMLName label, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstYields yields +) { + ConstHandle2IncidentEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(energy), + detail::tocpp(yields) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IncidentEnergyAssign(ConstHandle2IncidentEnergy This, ConstHandle2ConstIncidentEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IncidentEnergyDelete(ConstHandle2ConstIncidentEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IncidentEnergyRead(ConstHandle2IncidentEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IncidentEnergyWrite(ConstHandle2ConstIncidentEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IncidentEnergyPrint(ConstHandle2ConstIncidentEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IncidentEnergyPrintXML(ConstHandle2ConstIncidentEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IncidentEnergyPrintJSON(ConstHandle2ConstIncidentEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +IncidentEnergyLabelHas(ConstHandle2ConstIncidentEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +IncidentEnergyLabelGet(ConstHandle2ConstIncidentEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +IncidentEnergyLabelSet(ConstHandle2IncidentEnergy This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// Has +int +IncidentEnergyEnergyHas(ConstHandle2ConstIncidentEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EnergyHas", This, extract::energy); +} + +// Get, const +Handle2ConstEnergy +IncidentEnergyEnergyGetConst(ConstHandle2ConstIncidentEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EnergyGetConst", This, extract::energy); +} + +// Get, non-const +Handle2Energy +IncidentEnergyEnergyGet(ConstHandle2IncidentEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EnergyGet", This, extract::energy); +} + +// Set +void +IncidentEnergyEnergySet(ConstHandle2IncidentEnergy This, ConstHandle2ConstEnergy energy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EnergySet", This, extract::energy, energy); +} + + +// ----------------------------------------------------------------------------- +// Child: yields +// ----------------------------------------------------------------------------- + +// Has +int +IncidentEnergyYieldsHas(ConstHandle2ConstIncidentEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"YieldsHas", This, extract::yields); +} + +// Get, const +Handle2ConstYields +IncidentEnergyYieldsGetConst(ConstHandle2ConstIncidentEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"YieldsGetConst", This, extract::yields); +} + +// Get, non-const +Handle2Yields +IncidentEnergyYieldsGet(ConstHandle2IncidentEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"YieldsGet", This, extract::yields); +} + +// Set +void +IncidentEnergyYieldsSet(ConstHandle2IncidentEnergy This, ConstHandle2ConstYields yields) +{ + detail::setField + (CLASSNAME, CLASSNAME+"YieldsSet", This, extract::yields, yields); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.h new file mode 100644 index 000000000..ed76de37e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// IncidentEnergy is the basic handle type in this file. Example: +// // Create a default IncidentEnergy object: +// IncidentEnergy handle = IncidentEnergyDefault(); +// Functions involving IncidentEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_INCIDENTENERGY +#define C_INTERFACE_TRY_V2_0_FPY_INCIDENTENERGY + +#include "GNDStk.h" +#include "v2.0/fpy/Energy.h" +#include "v2.0/fpy/Yields.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IncidentEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ IncidentEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IncidentEnergyClass *IncidentEnergy; + +// --- Const-aware handles. +typedef const struct IncidentEnergyClass *const ConstHandle2ConstIncidentEnergy; +typedef struct IncidentEnergyClass *const ConstHandle2IncidentEnergy; +typedef const struct IncidentEnergyClass * Handle2ConstIncidentEnergy; +typedef struct IncidentEnergyClass * Handle2IncidentEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIncidentEnergy +IncidentEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2IncidentEnergy +IncidentEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstIncidentEnergy +IncidentEnergyCreateConst( + const XMLName label, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstYields yields +); + +// +++ Create, general +extern_c Handle2IncidentEnergy +IncidentEnergyCreate( + const XMLName label, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstYields yields +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IncidentEnergyAssign(ConstHandle2IncidentEnergy This, ConstHandle2ConstIncidentEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IncidentEnergyDelete(ConstHandle2ConstIncidentEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IncidentEnergyRead(ConstHandle2IncidentEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IncidentEnergyWrite(ConstHandle2ConstIncidentEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IncidentEnergyPrint(ConstHandle2ConstIncidentEnergy This); + +// +++ Print to standard output, as XML +extern_c int +IncidentEnergyPrintXML(ConstHandle2ConstIncidentEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +IncidentEnergyPrintJSON(ConstHandle2ConstIncidentEnergy This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncidentEnergyLabelHas(ConstHandle2ConstIncidentEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +IncidentEnergyLabelGet(ConstHandle2ConstIncidentEnergy This); + +// +++ Set +extern_c void +IncidentEnergyLabelSet(ConstHandle2IncidentEnergy This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncidentEnergyEnergyHas(ConstHandle2ConstIncidentEnergy This); + +// --- Get, const +extern_c Handle2ConstEnergy +IncidentEnergyEnergyGetConst(ConstHandle2ConstIncidentEnergy This); + +// +++ Get, non-const +extern_c Handle2Energy +IncidentEnergyEnergyGet(ConstHandle2IncidentEnergy This); + +// +++ Set +extern_c void +IncidentEnergyEnergySet(ConstHandle2IncidentEnergy This, ConstHandle2ConstEnergy energy); + + +// ----------------------------------------------------------------------------- +// Child: yields +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncidentEnergyYieldsHas(ConstHandle2ConstIncidentEnergy This); + +// --- Get, const +extern_c Handle2ConstYields +IncidentEnergyYieldsGetConst(ConstHandle2ConstIncidentEnergy This); + +// +++ Get, non-const +extern_c Handle2Yields +IncidentEnergyYieldsGet(ConstHandle2IncidentEnergy This); + +// +++ Set +extern_c void +IncidentEnergyYieldsSet(ConstHandle2IncidentEnergy This, ConstHandle2ConstYields yields); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.cpp new file mode 100644 index 000000000..26f3fe47e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.cpp @@ -0,0 +1,418 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/Nuclides.hpp" +#include "Nuclides.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NuclidesClass; +using CPP = multigroup::Nuclides; + +static const std::string CLASSNAME = "Nuclides"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNuclides +NuclidesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Nuclides +NuclidesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNuclides +NuclidesCreateConst( + const char *const href +) { + ConstHandle2Nuclides handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href + ); + return handle; +} + +// Create, general +Handle2Nuclides +NuclidesCreate( + const char *const href +) { + ConstHandle2Nuclides handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NuclidesAssign(ConstHandle2Nuclides This, ConstHandle2ConstNuclides from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NuclidesDelete(ConstHandle2ConstNuclides This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NuclidesRead(ConstHandle2Nuclides This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NuclidesWrite(ConstHandle2ConstNuclides This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NuclidesPrint(ConstHandle2ConstNuclides This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NuclidesPrintXML(ConstHandle2ConstNuclides This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NuclidesPrintJSON(ConstHandle2ConstNuclides This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +NuclidesIntsClear(ConstHandle2Nuclides This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +NuclidesIntsSize(ConstHandle2ConstNuclides This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +NuclidesIntsGet(ConstHandle2ConstNuclides This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +NuclidesIntsSet(ConstHandle2Nuclides This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +NuclidesIntsGetArrayConst(ConstHandle2ConstNuclides This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +NuclidesIntsGetArray(ConstHandle2Nuclides This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +NuclidesIntsSetArray(ConstHandle2Nuclides This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +NuclidesUnsignedsClear(ConstHandle2Nuclides This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +NuclidesUnsignedsSize(ConstHandle2ConstNuclides This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +NuclidesUnsignedsGet(ConstHandle2ConstNuclides This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +NuclidesUnsignedsSet(ConstHandle2Nuclides This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +NuclidesUnsignedsGetArrayConst(ConstHandle2ConstNuclides This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +NuclidesUnsignedsGetArray(ConstHandle2Nuclides This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +NuclidesUnsignedsSetArray(ConstHandle2Nuclides This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +NuclidesFloatsClear(ConstHandle2Nuclides This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +NuclidesFloatsSize(ConstHandle2ConstNuclides This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +NuclidesFloatsGet(ConstHandle2ConstNuclides This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +NuclidesFloatsSet(ConstHandle2Nuclides This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +NuclidesFloatsGetArrayConst(ConstHandle2ConstNuclides This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +NuclidesFloatsGetArray(ConstHandle2Nuclides This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +NuclidesFloatsSetArray(ConstHandle2Nuclides This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +NuclidesDoublesClear(ConstHandle2Nuclides This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +NuclidesDoublesSize(ConstHandle2ConstNuclides This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +NuclidesDoublesGet(ConstHandle2ConstNuclides This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +NuclidesDoublesSet(ConstHandle2Nuclides This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +NuclidesDoublesGetArrayConst(ConstHandle2ConstNuclides This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +NuclidesDoublesGetArray(ConstHandle2Nuclides This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +NuclidesDoublesSetArray(ConstHandle2Nuclides This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +NuclidesHrefHas(ConstHandle2ConstNuclides This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +NuclidesHrefGet(ConstHandle2ConstNuclides This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +NuclidesHrefSet(ConstHandle2Nuclides This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.h new file mode 100644 index 000000000..5a589d930 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.h @@ -0,0 +1,296 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Nuclides is the basic handle type in this file. Example: +// // Create a default Nuclides object: +// Nuclides handle = NuclidesDefault(); +// Functions involving Nuclides are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_NUCLIDES +#define C_INTERFACE_TRY_V2_0_FPY_NUCLIDES + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NuclidesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Nuclides +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NuclidesClass *Nuclides; + +// --- Const-aware handles. +typedef const struct NuclidesClass *const ConstHandle2ConstNuclides; +typedef struct NuclidesClass *const ConstHandle2Nuclides; +typedef const struct NuclidesClass * Handle2ConstNuclides; +typedef struct NuclidesClass * Handle2Nuclides; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNuclides +NuclidesDefaultConst(); + +// +++ Create, default +extern_c Handle2Nuclides +NuclidesDefault(); + +// --- Create, general, const +extern_c Handle2ConstNuclides +NuclidesCreateConst( + const char *const href +); + +// +++ Create, general +extern_c Handle2Nuclides +NuclidesCreate( + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NuclidesAssign(ConstHandle2Nuclides This, ConstHandle2ConstNuclides from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NuclidesDelete(ConstHandle2ConstNuclides This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NuclidesRead(ConstHandle2Nuclides This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NuclidesWrite(ConstHandle2ConstNuclides This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NuclidesPrint(ConstHandle2ConstNuclides This); + +// +++ Print to standard output, as XML +extern_c int +NuclidesPrintXML(ConstHandle2ConstNuclides This); + +// +++ Print to standard output, as JSON +extern_c int +NuclidesPrintJSON(ConstHandle2ConstNuclides This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +NuclidesIntsClear(ConstHandle2Nuclides This); + +// +++ Get size +extern_c size_t +NuclidesIntsSize(ConstHandle2ConstNuclides This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +NuclidesIntsGet(ConstHandle2ConstNuclides This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +NuclidesIntsSet(ConstHandle2Nuclides This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +NuclidesIntsGetArrayConst(ConstHandle2ConstNuclides This); + +// +++ Get pointer to existing values, non-const +extern_c int * +NuclidesIntsGetArray(ConstHandle2Nuclides This); + +// +++ Set completely new values and size +extern_c void +NuclidesIntsSetArray(ConstHandle2Nuclides This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +NuclidesUnsignedsClear(ConstHandle2Nuclides This); + +// +++ Get size +extern_c size_t +NuclidesUnsignedsSize(ConstHandle2ConstNuclides This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +NuclidesUnsignedsGet(ConstHandle2ConstNuclides This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +NuclidesUnsignedsSet(ConstHandle2Nuclides This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +NuclidesUnsignedsGetArrayConst(ConstHandle2ConstNuclides This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +NuclidesUnsignedsGetArray(ConstHandle2Nuclides This); + +// +++ Set completely new values and size +extern_c void +NuclidesUnsignedsSetArray(ConstHandle2Nuclides This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +NuclidesFloatsClear(ConstHandle2Nuclides This); + +// +++ Get size +extern_c size_t +NuclidesFloatsSize(ConstHandle2ConstNuclides This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +NuclidesFloatsGet(ConstHandle2ConstNuclides This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +NuclidesFloatsSet(ConstHandle2Nuclides This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +NuclidesFloatsGetArrayConst(ConstHandle2ConstNuclides This); + +// +++ Get pointer to existing values, non-const +extern_c float * +NuclidesFloatsGetArray(ConstHandle2Nuclides This); + +// +++ Set completely new values and size +extern_c void +NuclidesFloatsSetArray(ConstHandle2Nuclides This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +NuclidesDoublesClear(ConstHandle2Nuclides This); + +// +++ Get size +extern_c size_t +NuclidesDoublesSize(ConstHandle2ConstNuclides This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +NuclidesDoublesGet(ConstHandle2ConstNuclides This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +NuclidesDoublesSet(ConstHandle2Nuclides This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +NuclidesDoublesGetArrayConst(ConstHandle2ConstNuclides This); + +// +++ Get pointer to existing values, non-const +extern_c double * +NuclidesDoublesGetArray(ConstHandle2Nuclides This); + +// +++ Set completely new values and size +extern_c void +NuclidesDoublesSetArray(ConstHandle2Nuclides This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclidesHrefHas(ConstHandle2ConstNuclides This); + +// +++ Get +// +++ Returns by value +extern_c const char * +NuclidesHrefGet(ConstHandle2ConstNuclides This); + +// +++ Set +extern_c void +NuclidesHrefSet(ConstHandle2Nuclides This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.cpp new file mode 100644 index 000000000..9040f7c5f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/ProductYield.hpp" +#include "ProductYield.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProductYieldClass; +using CPP = multigroup::ProductYield; + +static const std::string CLASSNAME = "ProductYield"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto nuclides = [](auto &obj) { return &obj.nuclides; }; + static auto elapsedTimes = [](auto &obj) { return &obj.elapsedTimes; }; +} + +using CPPNuclides = fpy::Nuclides; +using CPPElapsedTimes = fpy::ElapsedTimes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProductYield +ProductYieldDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ProductYield +ProductYieldDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProductYield +ProductYieldCreateConst( + const XMLName label, + ConstHandle2ConstNuclides nuclides, + ConstHandle2ConstElapsedTimes elapsedTimes +) { + ConstHandle2ProductYield handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(nuclides), + detail::tocpp(elapsedTimes) + ); + return handle; +} + +// Create, general +Handle2ProductYield +ProductYieldCreate( + const XMLName label, + ConstHandle2ConstNuclides nuclides, + ConstHandle2ConstElapsedTimes elapsedTimes +) { + ConstHandle2ProductYield handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(nuclides), + detail::tocpp(elapsedTimes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProductYieldAssign(ConstHandle2ProductYield This, ConstHandle2ConstProductYield from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProductYieldDelete(ConstHandle2ConstProductYield This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProductYieldRead(ConstHandle2ProductYield This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProductYieldWrite(ConstHandle2ConstProductYield This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProductYieldPrint(ConstHandle2ConstProductYield This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProductYieldPrintXML(ConstHandle2ConstProductYield This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProductYieldPrintJSON(ConstHandle2ConstProductYield This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ProductYieldLabelHas(ConstHandle2ConstProductYield This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ProductYieldLabelGet(ConstHandle2ConstProductYield This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ProductYieldLabelSet(ConstHandle2ProductYield This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: nuclides +// ----------------------------------------------------------------------------- + +// Has +int +ProductYieldNuclidesHas(ConstHandle2ConstProductYield This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NuclidesHas", This, extract::nuclides); +} + +// Get, const +Handle2ConstNuclides +ProductYieldNuclidesGetConst(ConstHandle2ConstProductYield This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclidesGetConst", This, extract::nuclides); +} + +// Get, non-const +Handle2Nuclides +ProductYieldNuclidesGet(ConstHandle2ProductYield This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclidesGet", This, extract::nuclides); +} + +// Set +void +ProductYieldNuclidesSet(ConstHandle2ProductYield This, ConstHandle2ConstNuclides nuclides) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NuclidesSet", This, extract::nuclides, nuclides); +} + + +// ----------------------------------------------------------------------------- +// Child: elapsedTimes +// ----------------------------------------------------------------------------- + +// Has +int +ProductYieldElapsedTimesHas(ConstHandle2ConstProductYield This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ElapsedTimesHas", This, extract::elapsedTimes); +} + +// Get, const +Handle2ConstElapsedTimes +ProductYieldElapsedTimesGetConst(ConstHandle2ConstProductYield This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ElapsedTimesGetConst", This, extract::elapsedTimes); +} + +// Get, non-const +Handle2ElapsedTimes +ProductYieldElapsedTimesGet(ConstHandle2ProductYield This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ElapsedTimesGet", This, extract::elapsedTimes); +} + +// Set +void +ProductYieldElapsedTimesSet(ConstHandle2ProductYield This, ConstHandle2ConstElapsedTimes elapsedTimes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ElapsedTimesSet", This, extract::elapsedTimes, elapsedTimes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.h new file mode 100644 index 000000000..a952b49a7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ProductYield is the basic handle type in this file. Example: +// // Create a default ProductYield object: +// ProductYield handle = ProductYieldDefault(); +// Functions involving ProductYield are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_PRODUCTYIELD +#define C_INTERFACE_TRY_V2_0_FPY_PRODUCTYIELD + +#include "GNDStk.h" +#include "v2.0/fpy/Nuclides.h" +#include "v2.0/fpy/ElapsedTimes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProductYieldClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ProductYield +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProductYieldClass *ProductYield; + +// --- Const-aware handles. +typedef const struct ProductYieldClass *const ConstHandle2ConstProductYield; +typedef struct ProductYieldClass *const ConstHandle2ProductYield; +typedef const struct ProductYieldClass * Handle2ConstProductYield; +typedef struct ProductYieldClass * Handle2ProductYield; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProductYield +ProductYieldDefaultConst(); + +// +++ Create, default +extern_c Handle2ProductYield +ProductYieldDefault(); + +// --- Create, general, const +extern_c Handle2ConstProductYield +ProductYieldCreateConst( + const XMLName label, + ConstHandle2ConstNuclides nuclides, + ConstHandle2ConstElapsedTimes elapsedTimes +); + +// +++ Create, general +extern_c Handle2ProductYield +ProductYieldCreate( + const XMLName label, + ConstHandle2ConstNuclides nuclides, + ConstHandle2ConstElapsedTimes elapsedTimes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProductYieldAssign(ConstHandle2ProductYield This, ConstHandle2ConstProductYield from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProductYieldDelete(ConstHandle2ConstProductYield This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProductYieldRead(ConstHandle2ProductYield This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProductYieldWrite(ConstHandle2ConstProductYield This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProductYieldPrint(ConstHandle2ConstProductYield This); + +// +++ Print to standard output, as XML +extern_c int +ProductYieldPrintXML(ConstHandle2ConstProductYield This); + +// +++ Print to standard output, as JSON +extern_c int +ProductYieldPrintJSON(ConstHandle2ConstProductYield This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductYieldLabelHas(ConstHandle2ConstProductYield This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProductYieldLabelGet(ConstHandle2ConstProductYield This); + +// +++ Set +extern_c void +ProductYieldLabelSet(ConstHandle2ProductYield This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: nuclides +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductYieldNuclidesHas(ConstHandle2ConstProductYield This); + +// --- Get, const +extern_c Handle2ConstNuclides +ProductYieldNuclidesGetConst(ConstHandle2ConstProductYield This); + +// +++ Get, non-const +extern_c Handle2Nuclides +ProductYieldNuclidesGet(ConstHandle2ProductYield This); + +// +++ Set +extern_c void +ProductYieldNuclidesSet(ConstHandle2ProductYield This, ConstHandle2ConstNuclides nuclides); + + +// ----------------------------------------------------------------------------- +// Child: elapsedTimes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductYieldElapsedTimesHas(ConstHandle2ConstProductYield This); + +// --- Get, const +extern_c Handle2ConstElapsedTimes +ProductYieldElapsedTimesGetConst(ConstHandle2ConstProductYield This); + +// +++ Get, non-const +extern_c Handle2ElapsedTimes +ProductYieldElapsedTimesGet(ConstHandle2ProductYield This); + +// +++ Set +extern_c void +ProductYieldElapsedTimesSet(ConstHandle2ProductYield This, ConstHandle2ConstElapsedTimes elapsedTimes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.cpp new file mode 100644 index 000000000..6b7500a87 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/ProductYields.hpp" +#include "ProductYields.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProductYieldsClass; +using CPP = multigroup::ProductYields; + +static const std::string CLASSNAME = "ProductYields"; + +namespace extract { + static auto productYield = [](auto &obj) { return &obj.productYield; }; +} + +using CPPProductYield = fpy::ProductYield; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProductYields +ProductYieldsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ProductYields +ProductYieldsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProductYields +ProductYieldsCreateConst( + ConstHandle2ProductYield *const productYield, const size_t productYieldSize +) { + ConstHandle2ProductYields handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ProductYieldN = 0; ProductYieldN < productYieldSize; ++ProductYieldN) + ProductYieldsProductYieldAdd(handle, productYield[ProductYieldN]); + return handle; +} + +// Create, general +Handle2ProductYields +ProductYieldsCreate( + ConstHandle2ProductYield *const productYield, const size_t productYieldSize +) { + ConstHandle2ProductYields handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ProductYieldN = 0; ProductYieldN < productYieldSize; ++ProductYieldN) + ProductYieldsProductYieldAdd(handle, productYield[ProductYieldN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProductYieldsAssign(ConstHandle2ProductYields This, ConstHandle2ConstProductYields from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProductYieldsDelete(ConstHandle2ConstProductYields This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProductYieldsRead(ConstHandle2ProductYields This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProductYieldsWrite(ConstHandle2ConstProductYields This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProductYieldsPrint(ConstHandle2ConstProductYields This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProductYieldsPrintXML(ConstHandle2ConstProductYields This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProductYieldsPrintJSON(ConstHandle2ConstProductYields This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: productYield +// ----------------------------------------------------------------------------- + +// Has +int +ProductYieldsProductYieldHas(ConstHandle2ConstProductYields This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductYieldHas", This, extract::productYield); +} + +// Clear +void +ProductYieldsProductYieldClear(ConstHandle2ProductYields This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ProductYieldClear", This, extract::productYield); +} + +// Size +size_t +ProductYieldsProductYieldSize(ConstHandle2ConstProductYields This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ProductYieldSize", This, extract::productYield); +} + +// Add +void +ProductYieldsProductYieldAdd(ConstHandle2ProductYields This, ConstHandle2ConstProductYield productYield) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ProductYieldAdd", This, extract::productYield, productYield); +} + +// Get, by index \in [0,size), const +Handle2ConstProductYield +ProductYieldsProductYieldGetConst(ConstHandle2ConstProductYields This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ProductYieldGetConst", This, extract::productYield, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ProductYield +ProductYieldsProductYieldGet(ConstHandle2ProductYields This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ProductYieldGet", This, extract::productYield, index_); +} + +// Set, by index \in [0,size) +void +ProductYieldsProductYieldSet( + ConstHandle2ProductYields This, + const size_t index_, + ConstHandle2ConstProductYield productYield +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ProductYieldSet", This, extract::productYield, index_, productYield); +} + +// Has, by label +int +ProductYieldsProductYieldHasByLabel( + ConstHandle2ConstProductYields This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProductYieldHasByLabel", + This, extract::productYield, meta::label, label); +} + +// Get, by label, const +Handle2ConstProductYield +ProductYieldsProductYieldGetByLabelConst( + ConstHandle2ConstProductYields This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductYieldGetByLabelConst", + This, extract::productYield, meta::label, label); +} + +// Get, by label, non-const +Handle2ProductYield +ProductYieldsProductYieldGetByLabel( + ConstHandle2ProductYields This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductYieldGetByLabel", + This, extract::productYield, meta::label, label); +} + +// Set, by label +void +ProductYieldsProductYieldSetByLabel( + ConstHandle2ProductYields This, + const XMLName label, + ConstHandle2ConstProductYield productYield +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProductYieldSetByLabel", + This, extract::productYield, meta::label, label, productYield); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.h new file mode 100644 index 000000000..b23f3c4af --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ProductYields is the basic handle type in this file. Example: +// // Create a default ProductYields object: +// ProductYields handle = ProductYieldsDefault(); +// Functions involving ProductYields are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_PRODUCTYIELDS +#define C_INTERFACE_TRY_V2_0_FPY_PRODUCTYIELDS + +#include "GNDStk.h" +#include "v2.0/fpy/ProductYield.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProductYieldsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ProductYields +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProductYieldsClass *ProductYields; + +// --- Const-aware handles. +typedef const struct ProductYieldsClass *const ConstHandle2ConstProductYields; +typedef struct ProductYieldsClass *const ConstHandle2ProductYields; +typedef const struct ProductYieldsClass * Handle2ConstProductYields; +typedef struct ProductYieldsClass * Handle2ProductYields; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProductYields +ProductYieldsDefaultConst(); + +// +++ Create, default +extern_c Handle2ProductYields +ProductYieldsDefault(); + +// --- Create, general, const +extern_c Handle2ConstProductYields +ProductYieldsCreateConst( + ConstHandle2ProductYield *const productYield, const size_t productYieldSize +); + +// +++ Create, general +extern_c Handle2ProductYields +ProductYieldsCreate( + ConstHandle2ProductYield *const productYield, const size_t productYieldSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProductYieldsAssign(ConstHandle2ProductYields This, ConstHandle2ConstProductYields from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProductYieldsDelete(ConstHandle2ConstProductYields This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProductYieldsRead(ConstHandle2ProductYields This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProductYieldsWrite(ConstHandle2ConstProductYields This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProductYieldsPrint(ConstHandle2ConstProductYields This); + +// +++ Print to standard output, as XML +extern_c int +ProductYieldsPrintXML(ConstHandle2ConstProductYields This); + +// +++ Print to standard output, as JSON +extern_c int +ProductYieldsPrintJSON(ConstHandle2ConstProductYields This); + + +// ----------------------------------------------------------------------------- +// Child: productYield +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductYieldsProductYieldHas(ConstHandle2ConstProductYields This); + +// +++ Clear +extern_c void +ProductYieldsProductYieldClear(ConstHandle2ProductYields This); + +// +++ Size +extern_c size_t +ProductYieldsProductYieldSize(ConstHandle2ConstProductYields This); + +// +++ Add +extern_c void +ProductYieldsProductYieldAdd(ConstHandle2ProductYields This, ConstHandle2ConstProductYield productYield); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstProductYield +ProductYieldsProductYieldGetConst(ConstHandle2ConstProductYields This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ProductYield +ProductYieldsProductYieldGet(ConstHandle2ProductYields This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ProductYieldsProductYieldSet( + ConstHandle2ProductYields This, + const size_t index_, + ConstHandle2ConstProductYield productYield +); + +// +++ Has, by label +extern_c int +ProductYieldsProductYieldHasByLabel( + ConstHandle2ConstProductYields This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstProductYield +ProductYieldsProductYieldGetByLabelConst( + ConstHandle2ConstProductYields This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ProductYield +ProductYieldsProductYieldGetByLabel( + ConstHandle2ProductYields This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ProductYieldsProductYieldSetByLabel( + ConstHandle2ProductYields This, + const XMLName label, + ConstHandle2ConstProductYield productYield +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp new file mode 100644 index 000000000..95be67158 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/Time.hpp" +#include "Time.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TimeClass; +using CPP = multigroup::Time; + +static const std::string CLASSNAME = "Time"; + +namespace extract { +} + +using CPPDouble = unknownNamespace::Double; +using CPPString = unknownNamespace::String; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTime +TimeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Time +TimeDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTime +TimeCreateConst( +) { + ConstHandle2Time handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Time +TimeCreate( +) { + ConstHandle2Time handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TimeAssign(ConstHandle2Time This, ConstHandle2ConstTime from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TimeDelete(ConstHandle2ConstTime This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TimeRead(ConstHandle2Time This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TimeWrite(ConstHandle2ConstTime This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TimePrint(ConstHandle2ConstTime This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TimePrintXML(ConstHandle2ConstTime This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TimePrintJSON(ConstHandle2ConstTime This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h new file mode 100644 index 000000000..06416d44b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Time is the basic handle type in this file. Example: +// // Create a default Time object: +// Time handle = TimeDefault(); +// Functions involving Time are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_TIME +#define C_INTERFACE_TRY_V2_0_FPY_TIME + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/unknownNamespace/String.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TimeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Time +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TimeClass *Time; + +// --- Const-aware handles. +typedef const struct TimeClass *const ConstHandle2ConstTime; +typedef struct TimeClass *const ConstHandle2Time; +typedef const struct TimeClass * Handle2ConstTime; +typedef struct TimeClass * Handle2Time; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTime +TimeDefaultConst(); + +// +++ Create, default +extern_c Handle2Time +TimeDefault(); + +// --- Create, general, const +extern_c Handle2ConstTime +TimeCreateConst( +); + +// +++ Create, general +extern_c Handle2Time +TimeCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TimeAssign(ConstHandle2Time This, ConstHandle2ConstTime from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TimeDelete(ConstHandle2ConstTime This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TimeRead(ConstHandle2Time This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TimeWrite(ConstHandle2ConstTime This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TimePrint(ConstHandle2ConstTime This); + +// +++ Print to standard output, as XML +extern_c int +TimePrintXML(ConstHandle2ConstTime This); + +// +++ Print to standard output, as JSON +extern_c int +TimePrintJSON(ConstHandle2ConstTime This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp new file mode 100644 index 000000000..0e4b66abc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/fpy/Yields.hpp" +#include "Yields.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = YieldsClass; +using CPP = multigroup::Yields; + +static const std::string CLASSNAME = "Yields"; + +namespace extract { + static auto nuclides = [](auto &obj) { return &obj.nuclides; }; + static auto values = [](auto &obj) { return &obj.values; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPNuclides = fpy::Nuclides; +using CPPValues = unknownNamespace::Values; +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstYields +YieldsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Yields +YieldsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstYields +YieldsCreateConst( + ConstHandle2ConstNuclides nuclides, + ConstHandle2ConstValues values, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2Yields handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(nuclides), + detail::tocpp(values), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2Yields +YieldsCreate( + ConstHandle2ConstNuclides nuclides, + ConstHandle2ConstValues values, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2Yields handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(nuclides), + detail::tocpp(values), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +YieldsAssign(ConstHandle2Yields This, ConstHandle2ConstYields from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +YieldsDelete(ConstHandle2ConstYields This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +YieldsRead(ConstHandle2Yields This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +YieldsWrite(ConstHandle2ConstYields This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +YieldsPrint(ConstHandle2ConstYields This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +YieldsPrintXML(ConstHandle2ConstYields This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +YieldsPrintJSON(ConstHandle2ConstYields This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: nuclides +// ----------------------------------------------------------------------------- + +// Has +int +YieldsNuclidesHas(ConstHandle2ConstYields This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NuclidesHas", This, extract::nuclides); +} + +// Get, const +Handle2ConstNuclides +YieldsNuclidesGetConst(ConstHandle2ConstYields This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclidesGetConst", This, extract::nuclides); +} + +// Get, non-const +Handle2Nuclides +YieldsNuclidesGet(ConstHandle2Yields This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclidesGet", This, extract::nuclides); +} + +// Set +void +YieldsNuclidesSet(ConstHandle2Yields This, ConstHandle2ConstNuclides nuclides) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NuclidesSet", This, extract::nuclides, nuclides); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +YieldsValuesHas(ConstHandle2ConstYields This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +YieldsValuesGetConst(ConstHandle2ConstYields This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +YieldsValuesGet(ConstHandle2Yields This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +YieldsValuesSet(ConstHandle2Yields This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +YieldsUncertaintyHas(ConstHandle2ConstYields This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +YieldsUncertaintyGetConst(ConstHandle2ConstYields This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +YieldsUncertaintyGet(ConstHandle2Yields This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +YieldsUncertaintySet(ConstHandle2Yields This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h new file mode 100644 index 000000000..53a8500ce --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Yields is the basic handle type in this file. Example: +// // Create a default Yields object: +// Yields handle = YieldsDefault(); +// Functions involving Yields are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_FPY_YIELDS +#define C_INTERFACE_TRY_V2_0_FPY_YIELDS + +#include "GNDStk.h" +#include "v2.0/fpy/Nuclides.h" +#include "v2.0/unknownNamespace/Values.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct YieldsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Yields +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct YieldsClass *Yields; + +// --- Const-aware handles. +typedef const struct YieldsClass *const ConstHandle2ConstYields; +typedef struct YieldsClass *const ConstHandle2Yields; +typedef const struct YieldsClass * Handle2ConstYields; +typedef struct YieldsClass * Handle2Yields; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstYields +YieldsDefaultConst(); + +// +++ Create, default +extern_c Handle2Yields +YieldsDefault(); + +// --- Create, general, const +extern_c Handle2ConstYields +YieldsCreateConst( + ConstHandle2ConstNuclides nuclides, + ConstHandle2ConstValues values, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2Yields +YieldsCreate( + ConstHandle2ConstNuclides nuclides, + ConstHandle2ConstValues values, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +YieldsAssign(ConstHandle2Yields This, ConstHandle2ConstYields from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +YieldsDelete(ConstHandle2ConstYields This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +YieldsRead(ConstHandle2Yields This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +YieldsWrite(ConstHandle2ConstYields This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +YieldsPrint(ConstHandle2ConstYields This); + +// +++ Print to standard output, as XML +extern_c int +YieldsPrintXML(ConstHandle2ConstYields This); + +// +++ Print to standard output, as JSON +extern_c int +YieldsPrintJSON(ConstHandle2ConstYields This); + + +// ----------------------------------------------------------------------------- +// Child: nuclides +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +YieldsNuclidesHas(ConstHandle2ConstYields This); + +// --- Get, const +extern_c Handle2ConstNuclides +YieldsNuclidesGetConst(ConstHandle2ConstYields This); + +// +++ Get, non-const +extern_c Handle2Nuclides +YieldsNuclidesGet(ConstHandle2Yields This); + +// +++ Set +extern_c void +YieldsNuclidesSet(ConstHandle2Yields This, ConstHandle2ConstNuclides nuclides); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +YieldsValuesHas(ConstHandle2ConstYields This); + +// --- Get, const +extern_c Handle2ConstValues +YieldsValuesGetConst(ConstHandle2ConstYields This); + +// +++ Get, non-const +extern_c Handle2Values +YieldsValuesGet(ConstHandle2Yields This); + +// +++ Set +extern_c void +YieldsValuesSet(ConstHandle2Yields This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +YieldsUncertaintyHas(ConstHandle2ConstYields This); + +// --- Get, const +extern_c Handle2ConstUncertainty +YieldsUncertaintyGetConst(ConstHandle2ConstYields This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +YieldsUncertaintyGet(ConstHandle2Yields This); + +// +++ Set +extern_c void +YieldsUncertaintySet(ConstHandle2Yields This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Import.cpp b/standards/gnds-2.0/try/c/src/v2.0/map/Import.cpp new file mode 100644 index 000000000..b1a054cad --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/map/Import.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/map/Import.hpp" +#include "Import.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ImportClass; +using CPP = multigroup::Import; + +static const std::string CLASSNAME = "Import"; + +namespace extract { + static auto path = [](auto &obj) { return &obj.path; }; + static auto checksum = [](auto &obj) { return &obj.checksum; }; + static auto algorithm = [](auto &obj) { return &obj.algorithm; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstImport +ImportDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Import +ImportDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstImport +ImportCreateConst( + const XMLName path, + const checksum checksum, + const algorithm algorithm +) { + ConstHandle2Import handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + path, + checksum, + algorithm + ); + return handle; +} + +// Create, general +Handle2Import +ImportCreate( + const XMLName path, + const checksum checksum, + const algorithm algorithm +) { + ConstHandle2Import handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + path, + checksum, + algorithm + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ImportAssign(ConstHandle2Import This, ConstHandle2ConstImport from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ImportDelete(ConstHandle2ConstImport This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ImportRead(ConstHandle2Import This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ImportWrite(ConstHandle2ConstImport This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ImportPrint(ConstHandle2ConstImport This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ImportPrintXML(ConstHandle2ConstImport This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ImportPrintJSON(ConstHandle2ConstImport This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: path +// ----------------------------------------------------------------------------- + +// Has +int +ImportPathHas(ConstHandle2ConstImport This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PathHas", This, extract::path); +} + +// Get +// Returns by value +XMLName +ImportPathGet(ConstHandle2ConstImport This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PathGet", This, extract::path); +} + +// Set +void +ImportPathSet(ConstHandle2Import This, const XMLName path) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PathSet", This, extract::path, path); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// Has +int +ImportChecksumHas(ConstHandle2ConstImport This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChecksumHas", This, extract::checksum); +} + +// Get +// Returns by value +checksum +ImportChecksumGet(ConstHandle2ConstImport This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChecksumGet", This, extract::checksum); +} + +// Set +void +ImportChecksumSet(ConstHandle2Import This, const checksum checksum) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// Has +int +ImportAlgorithmHas(ConstHandle2ConstImport This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AlgorithmHas", This, extract::algorithm); +} + +// Get +// Returns by value +algorithm +ImportAlgorithmGet(ConstHandle2ConstImport This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AlgorithmGet", This, extract::algorithm); +} + +// Set +void +ImportAlgorithmSet(ConstHandle2Import This, const algorithm algorithm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Import.h b/standards/gnds-2.0/try/c/src/v2.0/map/Import.h new file mode 100644 index 000000000..f435c706b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/map/Import.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Import is the basic handle type in this file. Example: +// // Create a default Import object: +// Import handle = ImportDefault(); +// Functions involving Import are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_MAP_IMPORT +#define C_INTERFACE_TRY_V2_0_MAP_IMPORT + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ImportClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Import +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ImportClass *Import; + +// --- Const-aware handles. +typedef const struct ImportClass *const ConstHandle2ConstImport; +typedef struct ImportClass *const ConstHandle2Import; +typedef const struct ImportClass * Handle2ConstImport; +typedef struct ImportClass * Handle2Import; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstImport +ImportDefaultConst(); + +// +++ Create, default +extern_c Handle2Import +ImportDefault(); + +// --- Create, general, const +extern_c Handle2ConstImport +ImportCreateConst( + const XMLName path, + const checksum checksum, + const algorithm algorithm +); + +// +++ Create, general +extern_c Handle2Import +ImportCreate( + const XMLName path, + const checksum checksum, + const algorithm algorithm +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ImportAssign(ConstHandle2Import This, ConstHandle2ConstImport from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ImportDelete(ConstHandle2ConstImport This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ImportRead(ConstHandle2Import This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ImportWrite(ConstHandle2ConstImport This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ImportPrint(ConstHandle2ConstImport This); + +// +++ Print to standard output, as XML +extern_c int +ImportPrintXML(ConstHandle2ConstImport This); + +// +++ Print to standard output, as JSON +extern_c int +ImportPrintJSON(ConstHandle2ConstImport This); + + +// ----------------------------------------------------------------------------- +// Metadatum: path +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ImportPathHas(ConstHandle2ConstImport This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ImportPathGet(ConstHandle2ConstImport This); + +// +++ Set +extern_c void +ImportPathSet(ConstHandle2Import This, const XMLName path); + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ImportChecksumHas(ConstHandle2ConstImport This); + +// +++ Get +// +++ Returns by value +extern_c checksum +ImportChecksumGet(ConstHandle2ConstImport This); + +// +++ Set +extern_c void +ImportChecksumSet(ConstHandle2Import This, const checksum checksum); + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ImportAlgorithmHas(ConstHandle2ConstImport This); + +// +++ Get +// +++ Returns by value +extern_c algorithm +ImportAlgorithmGet(ConstHandle2ConstImport This); + +// +++ Set +extern_c void +ImportAlgorithmSet(ConstHandle2Import This, const algorithm algorithm); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Map.cpp b/standards/gnds-2.0/try/c/src/v2.0/map/Map.cpp new file mode 100644 index 000000000..f7fc4c44d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/map/Map.cpp @@ -0,0 +1,1348 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/map/Map.hpp" +#include "Map.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MapClass; +using CPP = multigroup::Map; + +static const std::string CLASSNAME = "Map"; + +namespace extract { + static auto library = [](auto &obj) { return &obj.library; }; + static auto format = [](auto &obj) { return &obj.format; }; + static auto checksum = [](auto &obj) { return &obj.checksum; }; + static auto algorithm = [](auto &obj) { return &obj.algorithm; }; + static auto import = [](auto &obj) { return &obj.import; }; + static auto protare = [](auto &obj) { return &obj.protare; }; + static auto TNSL = [](auto &obj) { return &obj.TNSL; }; +} + +using CPPImport = map::Import; +using CPPProtare = map::Protare; +using CPPTNSL = map::TNSL; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMap +MapDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Map +MapDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMap +MapCreateConst( + const XMLName library, + const XMLName format, + const checksum checksum, + const algorithm algorithm, + ConstHandle2Import *const import, const size_t importSize, + ConstHandle2Protare *const protare, const size_t protareSize, + ConstHandle2TNSL *const TNSL, const size_t TNSLSize +) { + ConstHandle2Map handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + library, + format, + checksum, + algorithm, + std::vector{}, + std::vector{}, + std::vector{} + ); + for (size_t ImportN = 0; ImportN < importSize; ++ImportN) + MapImportAdd(handle, import[ImportN]); + for (size_t ProtareN = 0; ProtareN < protareSize; ++ProtareN) + MapProtareAdd(handle, protare[ProtareN]); + for (size_t TNSLN = 0; TNSLN < TNSLSize; ++TNSLN) + MapTNSLAdd(handle, TNSL[TNSLN]); + return handle; +} + +// Create, general +Handle2Map +MapCreate( + const XMLName library, + const XMLName format, + const checksum checksum, + const algorithm algorithm, + ConstHandle2Import *const import, const size_t importSize, + ConstHandle2Protare *const protare, const size_t protareSize, + ConstHandle2TNSL *const TNSL, const size_t TNSLSize +) { + ConstHandle2Map handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + library, + format, + checksum, + algorithm, + std::vector{}, + std::vector{}, + std::vector{} + ); + for (size_t ImportN = 0; ImportN < importSize; ++ImportN) + MapImportAdd(handle, import[ImportN]); + for (size_t ProtareN = 0; ProtareN < protareSize; ++ProtareN) + MapProtareAdd(handle, protare[ProtareN]); + for (size_t TNSLN = 0; TNSLN < TNSLSize; ++TNSLN) + MapTNSLAdd(handle, TNSL[TNSLN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MapAssign(ConstHandle2Map This, ConstHandle2ConstMap from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MapDelete(ConstHandle2ConstMap This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MapRead(ConstHandle2Map This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MapWrite(ConstHandle2ConstMap This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MapPrint(ConstHandle2ConstMap This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MapPrintXML(ConstHandle2ConstMap This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MapPrintJSON(ConstHandle2ConstMap This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: library +// ----------------------------------------------------------------------------- + +// Has +int +MapLibraryHas(ConstHandle2ConstMap This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LibraryHas", This, extract::library); +} + +// Get +// Returns by value +XMLName +MapLibraryGet(ConstHandle2ConstMap This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LibraryGet", This, extract::library); +} + +// Set +void +MapLibrarySet(ConstHandle2Map This, const XMLName library) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LibrarySet", This, extract::library, library); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// Has +int +MapFormatHas(ConstHandle2ConstMap This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FormatHas", This, extract::format); +} + +// Get +// Returns by value +XMLName +MapFormatGet(ConstHandle2ConstMap This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FormatGet", This, extract::format); +} + +// Set +void +MapFormatSet(ConstHandle2Map This, const XMLName format) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FormatSet", This, extract::format, format); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// Has +int +MapChecksumHas(ConstHandle2ConstMap This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChecksumHas", This, extract::checksum); +} + +// Get +// Returns by value +checksum +MapChecksumGet(ConstHandle2ConstMap This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChecksumGet", This, extract::checksum); +} + +// Set +void +MapChecksumSet(ConstHandle2Map This, const checksum checksum) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// Has +int +MapAlgorithmHas(ConstHandle2ConstMap This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AlgorithmHas", This, extract::algorithm); +} + +// Get +// Returns by value +algorithm +MapAlgorithmGet(ConstHandle2ConstMap This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AlgorithmGet", This, extract::algorithm); +} + +// Set +void +MapAlgorithmSet(ConstHandle2Map This, const algorithm algorithm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); +} + + +// ----------------------------------------------------------------------------- +// Child: import +// ----------------------------------------------------------------------------- + +// Has +int +MapImportHas(ConstHandle2ConstMap This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ImportHas", This, extract::import); +} + +// Clear +void +MapImportClear(ConstHandle2Map This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ImportClear", This, extract::import); +} + +// Size +size_t +MapImportSize(ConstHandle2ConstMap This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ImportSize", This, extract::import); +} + +// Add +void +MapImportAdd(ConstHandle2Map This, ConstHandle2ConstImport import) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ImportAdd", This, extract::import, import); +} + +// Get, by index \in [0,size), const +Handle2ConstImport +MapImportGetConst(ConstHandle2ConstMap This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ImportGetConst", This, extract::import, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Import +MapImportGet(ConstHandle2Map This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ImportGet", This, extract::import, index_); +} + +// Set, by index \in [0,size) +void +MapImportSet( + ConstHandle2Map This, + const size_t index_, + ConstHandle2ConstImport import +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ImportSet", This, extract::import, index_, import); +} + +// Has, by path +int +MapImportHasByPath( + ConstHandle2ConstMap This, + const XMLName path +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ImportHasByPath", + This, extract::import, meta::path, path); +} + +// Get, by path, const +Handle2ConstImport +MapImportGetByPathConst( + ConstHandle2ConstMap This, + const XMLName path +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ImportGetByPathConst", + This, extract::import, meta::path, path); +} + +// Get, by path, non-const +Handle2Import +MapImportGetByPath( + ConstHandle2Map This, + const XMLName path +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ImportGetByPath", + This, extract::import, meta::path, path); +} + +// Set, by path +void +MapImportSetByPath( + ConstHandle2Map This, + const XMLName path, + ConstHandle2ConstImport import +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ImportSetByPath", + This, extract::import, meta::path, path, import); +} + +// Has, by checksum +int +MapImportHasByChecksum( + ConstHandle2ConstMap This, + const checksum checksum +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ImportHasByChecksum", + This, extract::import, meta::checksum, checksum); +} + +// Get, by checksum, const +Handle2ConstImport +MapImportGetByChecksumConst( + ConstHandle2ConstMap This, + const checksum checksum +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ImportGetByChecksumConst", + This, extract::import, meta::checksum, checksum); +} + +// Get, by checksum, non-const +Handle2Import +MapImportGetByChecksum( + ConstHandle2Map This, + const checksum checksum +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ImportGetByChecksum", + This, extract::import, meta::checksum, checksum); +} + +// Set, by checksum +void +MapImportSetByChecksum( + ConstHandle2Map This, + const checksum checksum, + ConstHandle2ConstImport import +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ImportSetByChecksum", + This, extract::import, meta::checksum, checksum, import); +} + +// Has, by algorithm +int +MapImportHasByAlgorithm( + ConstHandle2ConstMap This, + const algorithm algorithm +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ImportHasByAlgorithm", + This, extract::import, meta::algorithm, algorithm); +} + +// Get, by algorithm, const +Handle2ConstImport +MapImportGetByAlgorithmConst( + ConstHandle2ConstMap This, + const algorithm algorithm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ImportGetByAlgorithmConst", + This, extract::import, meta::algorithm, algorithm); +} + +// Get, by algorithm, non-const +Handle2Import +MapImportGetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ImportGetByAlgorithm", + This, extract::import, meta::algorithm, algorithm); +} + +// Set, by algorithm +void +MapImportSetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm, + ConstHandle2ConstImport import +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ImportSetByAlgorithm", + This, extract::import, meta::algorithm, algorithm, import); +} + + +// ----------------------------------------------------------------------------- +// Child: protare +// ----------------------------------------------------------------------------- + +// Has +int +MapProtareHas(ConstHandle2ConstMap This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProtareHas", This, extract::protare); +} + +// Clear +void +MapProtareClear(ConstHandle2Map This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ProtareClear", This, extract::protare); +} + +// Size +size_t +MapProtareSize(ConstHandle2ConstMap This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ProtareSize", This, extract::protare); +} + +// Add +void +MapProtareAdd(ConstHandle2Map This, ConstHandle2ConstProtare protare) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ProtareAdd", This, extract::protare, protare); +} + +// Get, by index \in [0,size), const +Handle2ConstProtare +MapProtareGetConst(ConstHandle2ConstMap This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ProtareGetConst", This, extract::protare, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Protare +MapProtareGet(ConstHandle2Map This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ProtareGet", This, extract::protare, index_); +} + +// Set, by index \in [0,size) +void +MapProtareSet( + ConstHandle2Map This, + const size_t index_, + ConstHandle2ConstProtare protare +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ProtareSet", This, extract::protare, index_, protare); +} + +// Has, by projectile +int +MapProtareHasByProjectile( + ConstHandle2ConstMap This, + const XMLName projectile +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProtareHasByProjectile", + This, extract::protare, meta::projectile, projectile); +} + +// Get, by projectile, const +Handle2ConstProtare +MapProtareGetByProjectileConst( + ConstHandle2ConstMap This, + const XMLName projectile +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByProjectileConst", + This, extract::protare, meta::projectile, projectile); +} + +// Get, by projectile, non-const +Handle2Protare +MapProtareGetByProjectile( + ConstHandle2Map This, + const XMLName projectile +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByProjectile", + This, extract::protare, meta::projectile, projectile); +} + +// Set, by projectile +void +MapProtareSetByProjectile( + ConstHandle2Map This, + const XMLName projectile, + ConstHandle2ConstProtare protare +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProtareSetByProjectile", + This, extract::protare, meta::projectile, projectile, protare); +} + +// Has, by target +int +MapProtareHasByTarget( + ConstHandle2ConstMap This, + const XMLName target +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProtareHasByTarget", + This, extract::protare, meta::target, target); +} + +// Get, by target, const +Handle2ConstProtare +MapProtareGetByTargetConst( + ConstHandle2ConstMap This, + const XMLName target +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByTargetConst", + This, extract::protare, meta::target, target); +} + +// Get, by target, non-const +Handle2Protare +MapProtareGetByTarget( + ConstHandle2Map This, + const XMLName target +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByTarget", + This, extract::protare, meta::target, target); +} + +// Set, by target +void +MapProtareSetByTarget( + ConstHandle2Map This, + const XMLName target, + ConstHandle2ConstProtare protare +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProtareSetByTarget", + This, extract::protare, meta::target, target, protare); +} + +// Has, by evaluation +int +MapProtareHasByEvaluation( + ConstHandle2ConstMap This, + const XMLName evaluation +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProtareHasByEvaluation", + This, extract::protare, meta::evaluation, evaluation); +} + +// Get, by evaluation, const +Handle2ConstProtare +MapProtareGetByEvaluationConst( + ConstHandle2ConstMap This, + const XMLName evaluation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByEvaluationConst", + This, extract::protare, meta::evaluation, evaluation); +} + +// Get, by evaluation, non-const +Handle2Protare +MapProtareGetByEvaluation( + ConstHandle2Map This, + const XMLName evaluation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByEvaluation", + This, extract::protare, meta::evaluation, evaluation); +} + +// Set, by evaluation +void +MapProtareSetByEvaluation( + ConstHandle2Map This, + const XMLName evaluation, + ConstHandle2ConstProtare protare +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProtareSetByEvaluation", + This, extract::protare, meta::evaluation, evaluation, protare); +} + +// Has, by path +int +MapProtareHasByPath( + ConstHandle2ConstMap This, + const XMLName path +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProtareHasByPath", + This, extract::protare, meta::path, path); +} + +// Get, by path, const +Handle2ConstProtare +MapProtareGetByPathConst( + ConstHandle2ConstMap This, + const XMLName path +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByPathConst", + This, extract::protare, meta::path, path); +} + +// Get, by path, non-const +Handle2Protare +MapProtareGetByPath( + ConstHandle2Map This, + const XMLName path +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByPath", + This, extract::protare, meta::path, path); +} + +// Set, by path +void +MapProtareSetByPath( + ConstHandle2Map This, + const XMLName path, + ConstHandle2ConstProtare protare +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProtareSetByPath", + This, extract::protare, meta::path, path, protare); +} + +// Has, by interaction +int +MapProtareHasByInteraction( + ConstHandle2ConstMap This, + const XMLName interaction +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProtareHasByInteraction", + This, extract::protare, meta::interaction, interaction); +} + +// Get, by interaction, const +Handle2ConstProtare +MapProtareGetByInteractionConst( + ConstHandle2ConstMap This, + const XMLName interaction +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByInteractionConst", + This, extract::protare, meta::interaction, interaction); +} + +// Get, by interaction, non-const +Handle2Protare +MapProtareGetByInteraction( + ConstHandle2Map This, + const XMLName interaction +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByInteraction", + This, extract::protare, meta::interaction, interaction); +} + +// Set, by interaction +void +MapProtareSetByInteraction( + ConstHandle2Map This, + const XMLName interaction, + ConstHandle2ConstProtare protare +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProtareSetByInteraction", + This, extract::protare, meta::interaction, interaction, protare); +} + +// Has, by checksum +int +MapProtareHasByChecksum( + ConstHandle2ConstMap This, + const checksum checksum +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProtareHasByChecksum", + This, extract::protare, meta::checksum, checksum); +} + +// Get, by checksum, const +Handle2ConstProtare +MapProtareGetByChecksumConst( + ConstHandle2ConstMap This, + const checksum checksum +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByChecksumConst", + This, extract::protare, meta::checksum, checksum); +} + +// Get, by checksum, non-const +Handle2Protare +MapProtareGetByChecksum( + ConstHandle2Map This, + const checksum checksum +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByChecksum", + This, extract::protare, meta::checksum, checksum); +} + +// Set, by checksum +void +MapProtareSetByChecksum( + ConstHandle2Map This, + const checksum checksum, + ConstHandle2ConstProtare protare +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProtareSetByChecksum", + This, extract::protare, meta::checksum, checksum, protare); +} + +// Has, by algorithm +int +MapProtareHasByAlgorithm( + ConstHandle2ConstMap This, + const algorithm algorithm +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProtareHasByAlgorithm", + This, extract::protare, meta::algorithm, algorithm); +} + +// Get, by algorithm, const +Handle2ConstProtare +MapProtareGetByAlgorithmConst( + ConstHandle2ConstMap This, + const algorithm algorithm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByAlgorithmConst", + This, extract::protare, meta::algorithm, algorithm); +} + +// Get, by algorithm, non-const +Handle2Protare +MapProtareGetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProtareGetByAlgorithm", + This, extract::protare, meta::algorithm, algorithm); +} + +// Set, by algorithm +void +MapProtareSetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm, + ConstHandle2ConstProtare protare +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProtareSetByAlgorithm", + This, extract::protare, meta::algorithm, algorithm, protare); +} + + +// ----------------------------------------------------------------------------- +// Child: TNSL +// ----------------------------------------------------------------------------- + +// Has +int +MapTNSLHas(ConstHandle2ConstMap This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TNSLHas", This, extract::TNSL); +} + +// Clear +void +MapTNSLClear(ConstHandle2Map This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"TNSLClear", This, extract::TNSL); +} + +// Size +size_t +MapTNSLSize(ConstHandle2ConstMap This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"TNSLSize", This, extract::TNSL); +} + +// Add +void +MapTNSLAdd(ConstHandle2Map This, ConstHandle2ConstTNSL TNSL) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"TNSLAdd", This, extract::TNSL, TNSL); +} + +// Get, by index \in [0,size), const +Handle2ConstTNSL +MapTNSLGetConst(ConstHandle2ConstMap This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"TNSLGetConst", This, extract::TNSL, index_); +} + +// Get, by index \in [0,size), non-const +Handle2TNSL +MapTNSLGet(ConstHandle2Map This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"TNSLGet", This, extract::TNSL, index_); +} + +// Set, by index \in [0,size) +void +MapTNSLSet( + ConstHandle2Map This, + const size_t index_, + ConstHandle2ConstTNSL TNSL +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"TNSLSet", This, extract::TNSL, index_, TNSL); +} + +// Has, by projectile +int +MapTNSLHasByProjectile( + ConstHandle2ConstMap This, + const XMLName projectile +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByProjectile", + This, extract::TNSL, meta::projectile, projectile); +} + +// Get, by projectile, const +Handle2ConstTNSL +MapTNSLGetByProjectileConst( + ConstHandle2ConstMap This, + const XMLName projectile +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByProjectileConst", + This, extract::TNSL, meta::projectile, projectile); +} + +// Get, by projectile, non-const +Handle2TNSL +MapTNSLGetByProjectile( + ConstHandle2Map This, + const XMLName projectile +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByProjectile", + This, extract::TNSL, meta::projectile, projectile); +} + +// Set, by projectile +void +MapTNSLSetByProjectile( + ConstHandle2Map This, + const XMLName projectile, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByProjectile", + This, extract::TNSL, meta::projectile, projectile, TNSL); +} + +// Has, by target +int +MapTNSLHasByTarget( + ConstHandle2ConstMap This, + const XMLName target +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByTarget", + This, extract::TNSL, meta::target, target); +} + +// Get, by target, const +Handle2ConstTNSL +MapTNSLGetByTargetConst( + ConstHandle2ConstMap This, + const XMLName target +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByTargetConst", + This, extract::TNSL, meta::target, target); +} + +// Get, by target, non-const +Handle2TNSL +MapTNSLGetByTarget( + ConstHandle2Map This, + const XMLName target +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByTarget", + This, extract::TNSL, meta::target, target); +} + +// Set, by target +void +MapTNSLSetByTarget( + ConstHandle2Map This, + const XMLName target, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByTarget", + This, extract::TNSL, meta::target, target, TNSL); +} + +// Has, by evaluation +int +MapTNSLHasByEvaluation( + ConstHandle2ConstMap This, + const XMLName evaluation +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByEvaluation", + This, extract::TNSL, meta::evaluation, evaluation); +} + +// Get, by evaluation, const +Handle2ConstTNSL +MapTNSLGetByEvaluationConst( + ConstHandle2ConstMap This, + const XMLName evaluation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByEvaluationConst", + This, extract::TNSL, meta::evaluation, evaluation); +} + +// Get, by evaluation, non-const +Handle2TNSL +MapTNSLGetByEvaluation( + ConstHandle2Map This, + const XMLName evaluation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByEvaluation", + This, extract::TNSL, meta::evaluation, evaluation); +} + +// Set, by evaluation +void +MapTNSLSetByEvaluation( + ConstHandle2Map This, + const XMLName evaluation, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByEvaluation", + This, extract::TNSL, meta::evaluation, evaluation, TNSL); +} + +// Has, by path +int +MapTNSLHasByPath( + ConstHandle2ConstMap This, + const XMLName path +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByPath", + This, extract::TNSL, meta::path, path); +} + +// Get, by path, const +Handle2ConstTNSL +MapTNSLGetByPathConst( + ConstHandle2ConstMap This, + const XMLName path +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByPathConst", + This, extract::TNSL, meta::path, path); +} + +// Get, by path, non-const +Handle2TNSL +MapTNSLGetByPath( + ConstHandle2Map This, + const XMLName path +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByPath", + This, extract::TNSL, meta::path, path); +} + +// Set, by path +void +MapTNSLSetByPath( + ConstHandle2Map This, + const XMLName path, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByPath", + This, extract::TNSL, meta::path, path, TNSL); +} + +// Has, by interaction +int +MapTNSLHasByInteraction( + ConstHandle2ConstMap This, + const XMLName interaction +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByInteraction", + This, extract::TNSL, meta::interaction, interaction); +} + +// Get, by interaction, const +Handle2ConstTNSL +MapTNSLGetByInteractionConst( + ConstHandle2ConstMap This, + const XMLName interaction +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByInteractionConst", + This, extract::TNSL, meta::interaction, interaction); +} + +// Get, by interaction, non-const +Handle2TNSL +MapTNSLGetByInteraction( + ConstHandle2Map This, + const XMLName interaction +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByInteraction", + This, extract::TNSL, meta::interaction, interaction); +} + +// Set, by interaction +void +MapTNSLSetByInteraction( + ConstHandle2Map This, + const XMLName interaction, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByInteraction", + This, extract::TNSL, meta::interaction, interaction, TNSL); +} + +// Has, by checksum +int +MapTNSLHasByChecksum( + ConstHandle2ConstMap This, + const checksum checksum +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByChecksum", + This, extract::TNSL, meta::checksum, checksum); +} + +// Get, by checksum, const +Handle2ConstTNSL +MapTNSLGetByChecksumConst( + ConstHandle2ConstMap This, + const checksum checksum +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByChecksumConst", + This, extract::TNSL, meta::checksum, checksum); +} + +// Get, by checksum, non-const +Handle2TNSL +MapTNSLGetByChecksum( + ConstHandle2Map This, + const checksum checksum +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByChecksum", + This, extract::TNSL, meta::checksum, checksum); +} + +// Set, by checksum +void +MapTNSLSetByChecksum( + ConstHandle2Map This, + const checksum checksum, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByChecksum", + This, extract::TNSL, meta::checksum, checksum, TNSL); +} + +// Has, by algorithm +int +MapTNSLHasByAlgorithm( + ConstHandle2ConstMap This, + const algorithm algorithm +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByAlgorithm", + This, extract::TNSL, meta::algorithm, algorithm); +} + +// Get, by algorithm, const +Handle2ConstTNSL +MapTNSLGetByAlgorithmConst( + ConstHandle2ConstMap This, + const algorithm algorithm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByAlgorithmConst", + This, extract::TNSL, meta::algorithm, algorithm); +} + +// Get, by algorithm, non-const +Handle2TNSL +MapTNSLGetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByAlgorithm", + This, extract::TNSL, meta::algorithm, algorithm); +} + +// Set, by algorithm +void +MapTNSLSetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByAlgorithm", + This, extract::TNSL, meta::algorithm, algorithm, TNSL); +} + +// Has, by standardTarget +int +MapTNSLHasByStandardTarget( + ConstHandle2ConstMap This, + const XMLName standardTarget +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByStandardTarget", + This, extract::TNSL, meta::standardTarget, standardTarget); +} + +// Get, by standardTarget, const +Handle2ConstTNSL +MapTNSLGetByStandardTargetConst( + ConstHandle2ConstMap This, + const XMLName standardTarget +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByStandardTargetConst", + This, extract::TNSL, meta::standardTarget, standardTarget); +} + +// Get, by standardTarget, non-const +Handle2TNSL +MapTNSLGetByStandardTarget( + ConstHandle2Map This, + const XMLName standardTarget +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByStandardTarget", + This, extract::TNSL, meta::standardTarget, standardTarget); +} + +// Set, by standardTarget +void +MapTNSLSetByStandardTarget( + ConstHandle2Map This, + const XMLName standardTarget, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByStandardTarget", + This, extract::TNSL, meta::standardTarget, standardTarget, TNSL); +} + +// Has, by standardEvaluation +int +MapTNSLHasByStandardEvaluation( + ConstHandle2ConstMap This, + const XMLName standardEvaluation +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TNSLHasByStandardEvaluation", + This, extract::TNSL, meta::standardEvaluation, standardEvaluation); +} + +// Get, by standardEvaluation, const +Handle2ConstTNSL +MapTNSLGetByStandardEvaluationConst( + ConstHandle2ConstMap This, + const XMLName standardEvaluation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByStandardEvaluationConst", + This, extract::TNSL, meta::standardEvaluation, standardEvaluation); +} + +// Get, by standardEvaluation, non-const +Handle2TNSL +MapTNSLGetByStandardEvaluation( + ConstHandle2Map This, + const XMLName standardEvaluation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TNSLGetByStandardEvaluation", + This, extract::TNSL, meta::standardEvaluation, standardEvaluation); +} + +// Set, by standardEvaluation +void +MapTNSLSetByStandardEvaluation( + ConstHandle2Map This, + const XMLName standardEvaluation, + ConstHandle2ConstTNSL TNSL +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TNSLSetByStandardEvaluation", + This, extract::TNSL, meta::standardEvaluation, standardEvaluation, TNSL); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Map.h b/standards/gnds-2.0/try/c/src/v2.0/map/Map.h new file mode 100644 index 000000000..2c7a97fca --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/map/Map.h @@ -0,0 +1,886 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Map is the basic handle type in this file. Example: +// // Create a default Map object: +// Map handle = MapDefault(); +// Functions involving Map are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_MAP_MAP +#define C_INTERFACE_TRY_V2_0_MAP_MAP + +#include "GNDStk.h" +#include "v2.0/map/Import.h" +#include "v2.0/map/Protare.h" +#include "v2.0/map/TNSL.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MapClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Map +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MapClass *Map; + +// --- Const-aware handles. +typedef const struct MapClass *const ConstHandle2ConstMap; +typedef struct MapClass *const ConstHandle2Map; +typedef const struct MapClass * Handle2ConstMap; +typedef struct MapClass * Handle2Map; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMap +MapDefaultConst(); + +// +++ Create, default +extern_c Handle2Map +MapDefault(); + +// --- Create, general, const +extern_c Handle2ConstMap +MapCreateConst( + const XMLName library, + const XMLName format, + const checksum checksum, + const algorithm algorithm, + ConstHandle2Import *const import, const size_t importSize, + ConstHandle2Protare *const protare, const size_t protareSize, + ConstHandle2TNSL *const TNSL, const size_t TNSLSize +); + +// +++ Create, general +extern_c Handle2Map +MapCreate( + const XMLName library, + const XMLName format, + const checksum checksum, + const algorithm algorithm, + ConstHandle2Import *const import, const size_t importSize, + ConstHandle2Protare *const protare, const size_t protareSize, + ConstHandle2TNSL *const TNSL, const size_t TNSLSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MapAssign(ConstHandle2Map This, ConstHandle2ConstMap from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MapDelete(ConstHandle2ConstMap This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MapRead(ConstHandle2Map This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MapWrite(ConstHandle2ConstMap This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MapPrint(ConstHandle2ConstMap This); + +// +++ Print to standard output, as XML +extern_c int +MapPrintXML(ConstHandle2ConstMap This); + +// +++ Print to standard output, as JSON +extern_c int +MapPrintJSON(ConstHandle2ConstMap This); + + +// ----------------------------------------------------------------------------- +// Metadatum: library +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MapLibraryHas(ConstHandle2ConstMap This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MapLibraryGet(ConstHandle2ConstMap This); + +// +++ Set +extern_c void +MapLibrarySet(ConstHandle2Map This, const XMLName library); + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MapFormatHas(ConstHandle2ConstMap This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MapFormatGet(ConstHandle2ConstMap This); + +// +++ Set +extern_c void +MapFormatSet(ConstHandle2Map This, const XMLName format); + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MapChecksumHas(ConstHandle2ConstMap This); + +// +++ Get +// +++ Returns by value +extern_c checksum +MapChecksumGet(ConstHandle2ConstMap This); + +// +++ Set +extern_c void +MapChecksumSet(ConstHandle2Map This, const checksum checksum); + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MapAlgorithmHas(ConstHandle2ConstMap This); + +// +++ Get +// +++ Returns by value +extern_c algorithm +MapAlgorithmGet(ConstHandle2ConstMap This); + +// +++ Set +extern_c void +MapAlgorithmSet(ConstHandle2Map This, const algorithm algorithm); + + +// ----------------------------------------------------------------------------- +// Child: import +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MapImportHas(ConstHandle2ConstMap This); + +// +++ Clear +extern_c void +MapImportClear(ConstHandle2Map This); + +// +++ Size +extern_c size_t +MapImportSize(ConstHandle2ConstMap This); + +// +++ Add +extern_c void +MapImportAdd(ConstHandle2Map This, ConstHandle2ConstImport import); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstImport +MapImportGetConst(ConstHandle2ConstMap This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Import +MapImportGet(ConstHandle2Map This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MapImportSet( + ConstHandle2Map This, + const size_t index_, + ConstHandle2ConstImport import +); + +// +++ Has, by path +extern_c int +MapImportHasByPath( + ConstHandle2ConstMap This, + const XMLName path +); + +// --- Get, by path, const +extern_c Handle2ConstImport +MapImportGetByPathConst( + ConstHandle2ConstMap This, + const XMLName path +); + +// +++ Get, by path, non-const +extern_c Handle2Import +MapImportGetByPath( + ConstHandle2Map This, + const XMLName path +); + +// +++ Set, by path +extern_c void +MapImportSetByPath( + ConstHandle2Map This, + const XMLName path, + ConstHandle2ConstImport import +); + +// +++ Has, by checksum +extern_c int +MapImportHasByChecksum( + ConstHandle2ConstMap This, + const checksum checksum +); + +// --- Get, by checksum, const +extern_c Handle2ConstImport +MapImportGetByChecksumConst( + ConstHandle2ConstMap This, + const checksum checksum +); + +// +++ Get, by checksum, non-const +extern_c Handle2Import +MapImportGetByChecksum( + ConstHandle2Map This, + const checksum checksum +); + +// +++ Set, by checksum +extern_c void +MapImportSetByChecksum( + ConstHandle2Map This, + const checksum checksum, + ConstHandle2ConstImport import +); + +// +++ Has, by algorithm +extern_c int +MapImportHasByAlgorithm( + ConstHandle2ConstMap This, + const algorithm algorithm +); + +// --- Get, by algorithm, const +extern_c Handle2ConstImport +MapImportGetByAlgorithmConst( + ConstHandle2ConstMap This, + const algorithm algorithm +); + +// +++ Get, by algorithm, non-const +extern_c Handle2Import +MapImportGetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm +); + +// +++ Set, by algorithm +extern_c void +MapImportSetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm, + ConstHandle2ConstImport import +); + + +// ----------------------------------------------------------------------------- +// Child: protare +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MapProtareHas(ConstHandle2ConstMap This); + +// +++ Clear +extern_c void +MapProtareClear(ConstHandle2Map This); + +// +++ Size +extern_c size_t +MapProtareSize(ConstHandle2ConstMap This); + +// +++ Add +extern_c void +MapProtareAdd(ConstHandle2Map This, ConstHandle2ConstProtare protare); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstProtare +MapProtareGetConst(ConstHandle2ConstMap This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Protare +MapProtareGet(ConstHandle2Map This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MapProtareSet( + ConstHandle2Map This, + const size_t index_, + ConstHandle2ConstProtare protare +); + +// +++ Has, by projectile +extern_c int +MapProtareHasByProjectile( + ConstHandle2ConstMap This, + const XMLName projectile +); + +// --- Get, by projectile, const +extern_c Handle2ConstProtare +MapProtareGetByProjectileConst( + ConstHandle2ConstMap This, + const XMLName projectile +); + +// +++ Get, by projectile, non-const +extern_c Handle2Protare +MapProtareGetByProjectile( + ConstHandle2Map This, + const XMLName projectile +); + +// +++ Set, by projectile +extern_c void +MapProtareSetByProjectile( + ConstHandle2Map This, + const XMLName projectile, + ConstHandle2ConstProtare protare +); + +// +++ Has, by target +extern_c int +MapProtareHasByTarget( + ConstHandle2ConstMap This, + const XMLName target +); + +// --- Get, by target, const +extern_c Handle2ConstProtare +MapProtareGetByTargetConst( + ConstHandle2ConstMap This, + const XMLName target +); + +// +++ Get, by target, non-const +extern_c Handle2Protare +MapProtareGetByTarget( + ConstHandle2Map This, + const XMLName target +); + +// +++ Set, by target +extern_c void +MapProtareSetByTarget( + ConstHandle2Map This, + const XMLName target, + ConstHandle2ConstProtare protare +); + +// +++ Has, by evaluation +extern_c int +MapProtareHasByEvaluation( + ConstHandle2ConstMap This, + const XMLName evaluation +); + +// --- Get, by evaluation, const +extern_c Handle2ConstProtare +MapProtareGetByEvaluationConst( + ConstHandle2ConstMap This, + const XMLName evaluation +); + +// +++ Get, by evaluation, non-const +extern_c Handle2Protare +MapProtareGetByEvaluation( + ConstHandle2Map This, + const XMLName evaluation +); + +// +++ Set, by evaluation +extern_c void +MapProtareSetByEvaluation( + ConstHandle2Map This, + const XMLName evaluation, + ConstHandle2ConstProtare protare +); + +// +++ Has, by path +extern_c int +MapProtareHasByPath( + ConstHandle2ConstMap This, + const XMLName path +); + +// --- Get, by path, const +extern_c Handle2ConstProtare +MapProtareGetByPathConst( + ConstHandle2ConstMap This, + const XMLName path +); + +// +++ Get, by path, non-const +extern_c Handle2Protare +MapProtareGetByPath( + ConstHandle2Map This, + const XMLName path +); + +// +++ Set, by path +extern_c void +MapProtareSetByPath( + ConstHandle2Map This, + const XMLName path, + ConstHandle2ConstProtare protare +); + +// +++ Has, by interaction +extern_c int +MapProtareHasByInteraction( + ConstHandle2ConstMap This, + const XMLName interaction +); + +// --- Get, by interaction, const +extern_c Handle2ConstProtare +MapProtareGetByInteractionConst( + ConstHandle2ConstMap This, + const XMLName interaction +); + +// +++ Get, by interaction, non-const +extern_c Handle2Protare +MapProtareGetByInteraction( + ConstHandle2Map This, + const XMLName interaction +); + +// +++ Set, by interaction +extern_c void +MapProtareSetByInteraction( + ConstHandle2Map This, + const XMLName interaction, + ConstHandle2ConstProtare protare +); + +// +++ Has, by checksum +extern_c int +MapProtareHasByChecksum( + ConstHandle2ConstMap This, + const checksum checksum +); + +// --- Get, by checksum, const +extern_c Handle2ConstProtare +MapProtareGetByChecksumConst( + ConstHandle2ConstMap This, + const checksum checksum +); + +// +++ Get, by checksum, non-const +extern_c Handle2Protare +MapProtareGetByChecksum( + ConstHandle2Map This, + const checksum checksum +); + +// +++ Set, by checksum +extern_c void +MapProtareSetByChecksum( + ConstHandle2Map This, + const checksum checksum, + ConstHandle2ConstProtare protare +); + +// +++ Has, by algorithm +extern_c int +MapProtareHasByAlgorithm( + ConstHandle2ConstMap This, + const algorithm algorithm +); + +// --- Get, by algorithm, const +extern_c Handle2ConstProtare +MapProtareGetByAlgorithmConst( + ConstHandle2ConstMap This, + const algorithm algorithm +); + +// +++ Get, by algorithm, non-const +extern_c Handle2Protare +MapProtareGetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm +); + +// +++ Set, by algorithm +extern_c void +MapProtareSetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm, + ConstHandle2ConstProtare protare +); + + +// ----------------------------------------------------------------------------- +// Child: TNSL +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MapTNSLHas(ConstHandle2ConstMap This); + +// +++ Clear +extern_c void +MapTNSLClear(ConstHandle2Map This); + +// +++ Size +extern_c size_t +MapTNSLSize(ConstHandle2ConstMap This); + +// +++ Add +extern_c void +MapTNSLAdd(ConstHandle2Map This, ConstHandle2ConstTNSL TNSL); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstTNSL +MapTNSLGetConst(ConstHandle2ConstMap This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2TNSL +MapTNSLGet(ConstHandle2Map This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MapTNSLSet( + ConstHandle2Map This, + const size_t index_, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by projectile +extern_c int +MapTNSLHasByProjectile( + ConstHandle2ConstMap This, + const XMLName projectile +); + +// --- Get, by projectile, const +extern_c Handle2ConstTNSL +MapTNSLGetByProjectileConst( + ConstHandle2ConstMap This, + const XMLName projectile +); + +// +++ Get, by projectile, non-const +extern_c Handle2TNSL +MapTNSLGetByProjectile( + ConstHandle2Map This, + const XMLName projectile +); + +// +++ Set, by projectile +extern_c void +MapTNSLSetByProjectile( + ConstHandle2Map This, + const XMLName projectile, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by target +extern_c int +MapTNSLHasByTarget( + ConstHandle2ConstMap This, + const XMLName target +); + +// --- Get, by target, const +extern_c Handle2ConstTNSL +MapTNSLGetByTargetConst( + ConstHandle2ConstMap This, + const XMLName target +); + +// +++ Get, by target, non-const +extern_c Handle2TNSL +MapTNSLGetByTarget( + ConstHandle2Map This, + const XMLName target +); + +// +++ Set, by target +extern_c void +MapTNSLSetByTarget( + ConstHandle2Map This, + const XMLName target, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by evaluation +extern_c int +MapTNSLHasByEvaluation( + ConstHandle2ConstMap This, + const XMLName evaluation +); + +// --- Get, by evaluation, const +extern_c Handle2ConstTNSL +MapTNSLGetByEvaluationConst( + ConstHandle2ConstMap This, + const XMLName evaluation +); + +// +++ Get, by evaluation, non-const +extern_c Handle2TNSL +MapTNSLGetByEvaluation( + ConstHandle2Map This, + const XMLName evaluation +); + +// +++ Set, by evaluation +extern_c void +MapTNSLSetByEvaluation( + ConstHandle2Map This, + const XMLName evaluation, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by path +extern_c int +MapTNSLHasByPath( + ConstHandle2ConstMap This, + const XMLName path +); + +// --- Get, by path, const +extern_c Handle2ConstTNSL +MapTNSLGetByPathConst( + ConstHandle2ConstMap This, + const XMLName path +); + +// +++ Get, by path, non-const +extern_c Handle2TNSL +MapTNSLGetByPath( + ConstHandle2Map This, + const XMLName path +); + +// +++ Set, by path +extern_c void +MapTNSLSetByPath( + ConstHandle2Map This, + const XMLName path, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by interaction +extern_c int +MapTNSLHasByInteraction( + ConstHandle2ConstMap This, + const XMLName interaction +); + +// --- Get, by interaction, const +extern_c Handle2ConstTNSL +MapTNSLGetByInteractionConst( + ConstHandle2ConstMap This, + const XMLName interaction +); + +// +++ Get, by interaction, non-const +extern_c Handle2TNSL +MapTNSLGetByInteraction( + ConstHandle2Map This, + const XMLName interaction +); + +// +++ Set, by interaction +extern_c void +MapTNSLSetByInteraction( + ConstHandle2Map This, + const XMLName interaction, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by checksum +extern_c int +MapTNSLHasByChecksum( + ConstHandle2ConstMap This, + const checksum checksum +); + +// --- Get, by checksum, const +extern_c Handle2ConstTNSL +MapTNSLGetByChecksumConst( + ConstHandle2ConstMap This, + const checksum checksum +); + +// +++ Get, by checksum, non-const +extern_c Handle2TNSL +MapTNSLGetByChecksum( + ConstHandle2Map This, + const checksum checksum +); + +// +++ Set, by checksum +extern_c void +MapTNSLSetByChecksum( + ConstHandle2Map This, + const checksum checksum, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by algorithm +extern_c int +MapTNSLHasByAlgorithm( + ConstHandle2ConstMap This, + const algorithm algorithm +); + +// --- Get, by algorithm, const +extern_c Handle2ConstTNSL +MapTNSLGetByAlgorithmConst( + ConstHandle2ConstMap This, + const algorithm algorithm +); + +// +++ Get, by algorithm, non-const +extern_c Handle2TNSL +MapTNSLGetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm +); + +// +++ Set, by algorithm +extern_c void +MapTNSLSetByAlgorithm( + ConstHandle2Map This, + const algorithm algorithm, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by standardTarget +extern_c int +MapTNSLHasByStandardTarget( + ConstHandle2ConstMap This, + const XMLName standardTarget +); + +// --- Get, by standardTarget, const +extern_c Handle2ConstTNSL +MapTNSLGetByStandardTargetConst( + ConstHandle2ConstMap This, + const XMLName standardTarget +); + +// +++ Get, by standardTarget, non-const +extern_c Handle2TNSL +MapTNSLGetByStandardTarget( + ConstHandle2Map This, + const XMLName standardTarget +); + +// +++ Set, by standardTarget +extern_c void +MapTNSLSetByStandardTarget( + ConstHandle2Map This, + const XMLName standardTarget, + ConstHandle2ConstTNSL TNSL +); + +// +++ Has, by standardEvaluation +extern_c int +MapTNSLHasByStandardEvaluation( + ConstHandle2ConstMap This, + const XMLName standardEvaluation +); + +// --- Get, by standardEvaluation, const +extern_c Handle2ConstTNSL +MapTNSLGetByStandardEvaluationConst( + ConstHandle2ConstMap This, + const XMLName standardEvaluation +); + +// +++ Get, by standardEvaluation, non-const +extern_c Handle2TNSL +MapTNSLGetByStandardEvaluation( + ConstHandle2Map This, + const XMLName standardEvaluation +); + +// +++ Set, by standardEvaluation +extern_c void +MapTNSLSetByStandardEvaluation( + ConstHandle2Map This, + const XMLName standardEvaluation, + ConstHandle2ConstTNSL TNSL +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Protare.cpp b/standards/gnds-2.0/try/c/src/v2.0/map/Protare.cpp new file mode 100644 index 000000000..4a1c4c9c1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/map/Protare.cpp @@ -0,0 +1,375 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/map/Protare.hpp" +#include "Protare.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProtareClass; +using CPP = multigroup::Protare; + +static const std::string CLASSNAME = "Protare"; + +namespace extract { + static auto projectile = [](auto &obj) { return &obj.projectile; }; + static auto target = [](auto &obj) { return &obj.target; }; + static auto evaluation = [](auto &obj) { return &obj.evaluation; }; + static auto path = [](auto &obj) { return &obj.path; }; + static auto interaction = [](auto &obj) { return &obj.interaction; }; + static auto checksum = [](auto &obj) { return &obj.checksum; }; + static auto algorithm = [](auto &obj) { return &obj.algorithm; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProtare +ProtareDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Protare +ProtareDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProtare +ProtareCreateConst( + const XMLName projectile, + const XMLName target, + const XMLName evaluation, + const XMLName path, + const XMLName interaction, + const checksum checksum, + const algorithm algorithm +) { + ConstHandle2Protare handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + projectile, + target, + evaluation, + path, + interaction, + checksum, + algorithm + ); + return handle; +} + +// Create, general +Handle2Protare +ProtareCreate( + const XMLName projectile, + const XMLName target, + const XMLName evaluation, + const XMLName path, + const XMLName interaction, + const checksum checksum, + const algorithm algorithm +) { + ConstHandle2Protare handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + projectile, + target, + evaluation, + path, + interaction, + checksum, + algorithm + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProtareAssign(ConstHandle2Protare This, ConstHandle2ConstProtare from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProtareDelete(ConstHandle2ConstProtare This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProtareRead(ConstHandle2Protare This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProtareWrite(ConstHandle2ConstProtare This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProtarePrint(ConstHandle2ConstProtare This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProtarePrintXML(ConstHandle2ConstProtare This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProtarePrintJSON(ConstHandle2ConstProtare This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// Has +int +ProtareProjectileHas(ConstHandle2ConstProtare This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileHas", This, extract::projectile); +} + +// Get +// Returns by value +XMLName +ProtareProjectileGet(ConstHandle2ConstProtare This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileGet", This, extract::projectile); +} + +// Set +void +ProtareProjectileSet(ConstHandle2Protare This, const XMLName projectile) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProjectileSet", This, extract::projectile, projectile); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// Has +int +ProtareTargetHas(ConstHandle2ConstProtare This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TargetHas", This, extract::target); +} + +// Get +// Returns by value +XMLName +ProtareTargetGet(ConstHandle2ConstProtare This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TargetGet", This, extract::target); +} + +// Set +void +ProtareTargetSet(ConstHandle2Protare This, const XMLName target) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TargetSet", This, extract::target, target); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// Has +int +ProtareEvaluationHas(ConstHandle2ConstProtare This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaluationHas", This, extract::evaluation); +} + +// Get +// Returns by value +XMLName +ProtareEvaluationGet(ConstHandle2ConstProtare This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaluationGet", This, extract::evaluation); +} + +// Set +void +ProtareEvaluationSet(ConstHandle2Protare This, const XMLName evaluation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EvaluationSet", This, extract::evaluation, evaluation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: path +// ----------------------------------------------------------------------------- + +// Has +int +ProtarePathHas(ConstHandle2ConstProtare This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PathHas", This, extract::path); +} + +// Get +// Returns by value +XMLName +ProtarePathGet(ConstHandle2ConstProtare This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PathGet", This, extract::path); +} + +// Set +void +ProtarePathSet(ConstHandle2Protare This, const XMLName path) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PathSet", This, extract::path, path); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// Has +int +ProtareInteractionHas(ConstHandle2ConstProtare This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InteractionHas", This, extract::interaction); +} + +// Get +// Returns by value +XMLName +ProtareInteractionGet(ConstHandle2ConstProtare This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InteractionGet", This, extract::interaction); +} + +// Set +void +ProtareInteractionSet(ConstHandle2Protare This, const XMLName interaction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InteractionSet", This, extract::interaction, interaction); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// Has +int +ProtareChecksumHas(ConstHandle2ConstProtare This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChecksumHas", This, extract::checksum); +} + +// Get +// Returns by value +checksum +ProtareChecksumGet(ConstHandle2ConstProtare This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChecksumGet", This, extract::checksum); +} + +// Set +void +ProtareChecksumSet(ConstHandle2Protare This, const checksum checksum) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// Has +int +ProtareAlgorithmHas(ConstHandle2ConstProtare This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AlgorithmHas", This, extract::algorithm); +} + +// Get +// Returns by value +algorithm +ProtareAlgorithmGet(ConstHandle2ConstProtare This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AlgorithmGet", This, extract::algorithm); +} + +// Set +void +ProtareAlgorithmSet(ConstHandle2Protare This, const algorithm algorithm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Protare.h b/standards/gnds-2.0/try/c/src/v2.0/map/Protare.h new file mode 100644 index 000000000..036d083b0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/map/Protare.h @@ -0,0 +1,275 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Protare is the basic handle type in this file. Example: +// // Create a default Protare object: +// Protare handle = ProtareDefault(); +// Functions involving Protare are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_MAP_PROTARE +#define C_INTERFACE_TRY_V2_0_MAP_PROTARE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProtareClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Protare +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProtareClass *Protare; + +// --- Const-aware handles. +typedef const struct ProtareClass *const ConstHandle2ConstProtare; +typedef struct ProtareClass *const ConstHandle2Protare; +typedef const struct ProtareClass * Handle2ConstProtare; +typedef struct ProtareClass * Handle2Protare; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProtare +ProtareDefaultConst(); + +// +++ Create, default +extern_c Handle2Protare +ProtareDefault(); + +// --- Create, general, const +extern_c Handle2ConstProtare +ProtareCreateConst( + const XMLName projectile, + const XMLName target, + const XMLName evaluation, + const XMLName path, + const XMLName interaction, + const checksum checksum, + const algorithm algorithm +); + +// +++ Create, general +extern_c Handle2Protare +ProtareCreate( + const XMLName projectile, + const XMLName target, + const XMLName evaluation, + const XMLName path, + const XMLName interaction, + const checksum checksum, + const algorithm algorithm +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProtareAssign(ConstHandle2Protare This, ConstHandle2ConstProtare from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProtareDelete(ConstHandle2ConstProtare This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProtareRead(ConstHandle2Protare This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProtareWrite(ConstHandle2ConstProtare This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProtarePrint(ConstHandle2ConstProtare This); + +// +++ Print to standard output, as XML +extern_c int +ProtarePrintXML(ConstHandle2ConstProtare This); + +// +++ Print to standard output, as JSON +extern_c int +ProtarePrintJSON(ConstHandle2ConstProtare This); + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProtareProjectileHas(ConstHandle2ConstProtare This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProtareProjectileGet(ConstHandle2ConstProtare This); + +// +++ Set +extern_c void +ProtareProjectileSet(ConstHandle2Protare This, const XMLName projectile); + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProtareTargetHas(ConstHandle2ConstProtare This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProtareTargetGet(ConstHandle2ConstProtare This); + +// +++ Set +extern_c void +ProtareTargetSet(ConstHandle2Protare This, const XMLName target); + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProtareEvaluationHas(ConstHandle2ConstProtare This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProtareEvaluationGet(ConstHandle2ConstProtare This); + +// +++ Set +extern_c void +ProtareEvaluationSet(ConstHandle2Protare This, const XMLName evaluation); + + +// ----------------------------------------------------------------------------- +// Metadatum: path +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProtarePathHas(ConstHandle2ConstProtare This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProtarePathGet(ConstHandle2ConstProtare This); + +// +++ Set +extern_c void +ProtarePathSet(ConstHandle2Protare This, const XMLName path); + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProtareInteractionHas(ConstHandle2ConstProtare This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProtareInteractionGet(ConstHandle2ConstProtare This); + +// +++ Set +extern_c void +ProtareInteractionSet(ConstHandle2Protare This, const XMLName interaction); + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProtareChecksumHas(ConstHandle2ConstProtare This); + +// +++ Get +// +++ Returns by value +extern_c checksum +ProtareChecksumGet(ConstHandle2ConstProtare This); + +// +++ Set +extern_c void +ProtareChecksumSet(ConstHandle2Protare This, const checksum checksum); + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProtareAlgorithmHas(ConstHandle2ConstProtare This); + +// +++ Get +// +++ Returns by value +extern_c algorithm +ProtareAlgorithmGet(ConstHandle2ConstProtare This); + +// +++ Set +extern_c void +ProtareAlgorithmSet(ConstHandle2Protare This, const algorithm algorithm); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.cpp b/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.cpp new file mode 100644 index 000000000..cb827cf45 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.cpp @@ -0,0 +1,445 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/map/TNSL.hpp" +#include "TNSL.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TNSLClass; +using CPP = multigroup::TNSL; + +static const std::string CLASSNAME = "TNSL"; + +namespace extract { + static auto projectile = [](auto &obj) { return &obj.projectile; }; + static auto target = [](auto &obj) { return &obj.target; }; + static auto evaluation = [](auto &obj) { return &obj.evaluation; }; + static auto path = [](auto &obj) { return &obj.path; }; + static auto interaction = [](auto &obj) { return &obj.interaction; }; + static auto checksum = [](auto &obj) { return &obj.checksum; }; + static auto algorithm = [](auto &obj) { return &obj.algorithm; }; + static auto standardTarget = [](auto &obj) { return &obj.standardTarget; }; + static auto standardEvaluation = [](auto &obj) { return &obj.standardEvaluation; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTNSL +TNSLDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2TNSL +TNSLDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTNSL +TNSLCreateConst( + const XMLName projectile, + const XMLName target, + const XMLName evaluation, + const XMLName path, + const XMLName interaction, + const checksum checksum, + const algorithm algorithm, + const XMLName standardTarget, + const XMLName standardEvaluation +) { + ConstHandle2TNSL handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + projectile, + target, + evaluation, + path, + interaction, + checksum, + algorithm, + standardTarget, + standardEvaluation + ); + return handle; +} + +// Create, general +Handle2TNSL +TNSLCreate( + const XMLName projectile, + const XMLName target, + const XMLName evaluation, + const XMLName path, + const XMLName interaction, + const checksum checksum, + const algorithm algorithm, + const XMLName standardTarget, + const XMLName standardEvaluation +) { + ConstHandle2TNSL handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + projectile, + target, + evaluation, + path, + interaction, + checksum, + algorithm, + standardTarget, + standardEvaluation + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TNSLAssign(ConstHandle2TNSL This, ConstHandle2ConstTNSL from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TNSLDelete(ConstHandle2ConstTNSL This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TNSLRead(ConstHandle2TNSL This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TNSLWrite(ConstHandle2ConstTNSL This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TNSLPrint(ConstHandle2ConstTNSL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TNSLPrintXML(ConstHandle2ConstTNSL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TNSLPrintJSON(ConstHandle2ConstTNSL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// Has +int +TNSLProjectileHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileHas", This, extract::projectile); +} + +// Get +// Returns by value +XMLName +TNSLProjectileGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileGet", This, extract::projectile); +} + +// Set +void +TNSLProjectileSet(ConstHandle2TNSL This, const XMLName projectile) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProjectileSet", This, extract::projectile, projectile); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// Has +int +TNSLTargetHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TargetHas", This, extract::target); +} + +// Get +// Returns by value +XMLName +TNSLTargetGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TargetGet", This, extract::target); +} + +// Set +void +TNSLTargetSet(ConstHandle2TNSL This, const XMLName target) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TargetSet", This, extract::target, target); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// Has +int +TNSLEvaluationHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaluationHas", This, extract::evaluation); +} + +// Get +// Returns by value +XMLName +TNSLEvaluationGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaluationGet", This, extract::evaluation); +} + +// Set +void +TNSLEvaluationSet(ConstHandle2TNSL This, const XMLName evaluation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EvaluationSet", This, extract::evaluation, evaluation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: path +// ----------------------------------------------------------------------------- + +// Has +int +TNSLPathHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PathHas", This, extract::path); +} + +// Get +// Returns by value +XMLName +TNSLPathGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PathGet", This, extract::path); +} + +// Set +void +TNSLPathSet(ConstHandle2TNSL This, const XMLName path) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PathSet", This, extract::path, path); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// Has +int +TNSLInteractionHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InteractionHas", This, extract::interaction); +} + +// Get +// Returns by value +XMLName +TNSLInteractionGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InteractionGet", This, extract::interaction); +} + +// Set +void +TNSLInteractionSet(ConstHandle2TNSL This, const XMLName interaction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InteractionSet", This, extract::interaction, interaction); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// Has +int +TNSLChecksumHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChecksumHas", This, extract::checksum); +} + +// Get +// Returns by value +checksum +TNSLChecksumGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChecksumGet", This, extract::checksum); +} + +// Set +void +TNSLChecksumSet(ConstHandle2TNSL This, const checksum checksum) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// Has +int +TNSLAlgorithmHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AlgorithmHas", This, extract::algorithm); +} + +// Get +// Returns by value +algorithm +TNSLAlgorithmGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AlgorithmGet", This, extract::algorithm); +} + +// Set +void +TNSLAlgorithmSet(ConstHandle2TNSL This, const algorithm algorithm) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: standardTarget +// ----------------------------------------------------------------------------- + +// Has +int +TNSLStandardTargetHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StandardTargetHas", This, extract::standardTarget); +} + +// Get +// Returns by value +XMLName +TNSLStandardTargetGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StandardTargetGet", This, extract::standardTarget); +} + +// Set +void +TNSLStandardTargetSet(ConstHandle2TNSL This, const XMLName standardTarget) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StandardTargetSet", This, extract::standardTarget, standardTarget); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: standardEvaluation +// ----------------------------------------------------------------------------- + +// Has +int +TNSLStandardEvaluationHas(ConstHandle2ConstTNSL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StandardEvaluationHas", This, extract::standardEvaluation); +} + +// Get +// Returns by value +XMLName +TNSLStandardEvaluationGet(ConstHandle2ConstTNSL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StandardEvaluationGet", This, extract::standardEvaluation); +} + +// Set +void +TNSLStandardEvaluationSet(ConstHandle2TNSL This, const XMLName standardEvaluation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StandardEvaluationSet", This, extract::standardEvaluation, standardEvaluation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.h b/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.h new file mode 100644 index 000000000..a335edb5c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.h @@ -0,0 +1,315 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// TNSL is the basic handle type in this file. Example: +// // Create a default TNSL object: +// TNSL handle = TNSLDefault(); +// Functions involving TNSL are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_MAP_TNSL +#define C_INTERFACE_TRY_V2_0_MAP_TNSL + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TNSLClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ TNSL +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TNSLClass *TNSL; + +// --- Const-aware handles. +typedef const struct TNSLClass *const ConstHandle2ConstTNSL; +typedef struct TNSLClass *const ConstHandle2TNSL; +typedef const struct TNSLClass * Handle2ConstTNSL; +typedef struct TNSLClass * Handle2TNSL; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTNSL +TNSLDefaultConst(); + +// +++ Create, default +extern_c Handle2TNSL +TNSLDefault(); + +// --- Create, general, const +extern_c Handle2ConstTNSL +TNSLCreateConst( + const XMLName projectile, + const XMLName target, + const XMLName evaluation, + const XMLName path, + const XMLName interaction, + const checksum checksum, + const algorithm algorithm, + const XMLName standardTarget, + const XMLName standardEvaluation +); + +// +++ Create, general +extern_c Handle2TNSL +TNSLCreate( + const XMLName projectile, + const XMLName target, + const XMLName evaluation, + const XMLName path, + const XMLName interaction, + const checksum checksum, + const algorithm algorithm, + const XMLName standardTarget, + const XMLName standardEvaluation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TNSLAssign(ConstHandle2TNSL This, ConstHandle2ConstTNSL from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TNSLDelete(ConstHandle2ConstTNSL This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TNSLRead(ConstHandle2TNSL This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TNSLWrite(ConstHandle2ConstTNSL This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TNSLPrint(ConstHandle2ConstTNSL This); + +// +++ Print to standard output, as XML +extern_c int +TNSLPrintXML(ConstHandle2ConstTNSL This); + +// +++ Print to standard output, as JSON +extern_c int +TNSLPrintJSON(ConstHandle2ConstTNSL This); + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLProjectileHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TNSLProjectileGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLProjectileSet(ConstHandle2TNSL This, const XMLName projectile); + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLTargetHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TNSLTargetGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLTargetSet(ConstHandle2TNSL This, const XMLName target); + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLEvaluationHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TNSLEvaluationGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLEvaluationSet(ConstHandle2TNSL This, const XMLName evaluation); + + +// ----------------------------------------------------------------------------- +// Metadatum: path +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLPathHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TNSLPathGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLPathSet(ConstHandle2TNSL This, const XMLName path); + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLInteractionHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TNSLInteractionGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLInteractionSet(ConstHandle2TNSL This, const XMLName interaction); + + +// ----------------------------------------------------------------------------- +// Metadatum: checksum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLChecksumHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c checksum +TNSLChecksumGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLChecksumSet(ConstHandle2TNSL This, const checksum checksum); + + +// ----------------------------------------------------------------------------- +// Metadatum: algorithm +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLAlgorithmHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c algorithm +TNSLAlgorithmGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLAlgorithmSet(ConstHandle2TNSL This, const algorithm algorithm); + + +// ----------------------------------------------------------------------------- +// Metadatum: standardTarget +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLStandardTargetHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TNSLStandardTargetGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLStandardTargetSet(ConstHandle2TNSL This, const XMLName standardTarget); + + +// ----------------------------------------------------------------------------- +// Metadatum: standardEvaluation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TNSLStandardEvaluationHas(ConstHandle2ConstTNSL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TNSLStandardEvaluationGet(ConstHandle2ConstTNSL This); + +// +++ Set +extern_c void +TNSLStandardEvaluationSet(ConstHandle2TNSL This, const XMLName standardEvaluation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.cpp new file mode 100644 index 000000000..dbb93e169 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Alias.hpp" +#include "Alias.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AliasClass; +using CPP = multigroup::Alias; + +static const std::string CLASSNAME = "Alias"; + +namespace extract { + static auto id = [](auto &obj) { return &obj.id; }; + static auto pid = [](auto &obj) { return &obj.pid; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAlias +AliasDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Alias +AliasDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAlias +AliasCreateConst( + const XMLName id, + const XMLName pid +) { + ConstHandle2Alias handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + id, + pid + ); + return handle; +} + +// Create, general +Handle2Alias +AliasCreate( + const XMLName id, + const XMLName pid +) { + ConstHandle2Alias handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + id, + pid + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AliasAssign(ConstHandle2Alias This, ConstHandle2ConstAlias from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AliasDelete(ConstHandle2ConstAlias This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AliasRead(ConstHandle2Alias This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AliasWrite(ConstHandle2ConstAlias This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AliasPrint(ConstHandle2ConstAlias This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AliasPrintXML(ConstHandle2ConstAlias This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AliasPrintJSON(ConstHandle2ConstAlias This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// Has +int +AliasIdHas(ConstHandle2ConstAlias This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdHas", This, extract::id); +} + +// Get +// Returns by value +XMLName +AliasIdGet(ConstHandle2ConstAlias This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdGet", This, extract::id); +} + +// Set +void +AliasIdSet(ConstHandle2Alias This, const XMLName id) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdSet", This, extract::id, id); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +AliasPidHas(ConstHandle2ConstAlias This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +AliasPidGet(ConstHandle2ConstAlias This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +AliasPidSet(ConstHandle2Alias This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.h new file mode 100644 index 000000000..3a7463fbf --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Alias is the basic handle type in this file. Example: +// // Create a default Alias object: +// Alias handle = AliasDefault(); +// Functions involving Alias are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_ALIAS +#define C_INTERFACE_TRY_V2_0_POPS_ALIAS + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AliasClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Alias +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AliasClass *Alias; + +// --- Const-aware handles. +typedef const struct AliasClass *const ConstHandle2ConstAlias; +typedef struct AliasClass *const ConstHandle2Alias; +typedef const struct AliasClass * Handle2ConstAlias; +typedef struct AliasClass * Handle2Alias; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAlias +AliasDefaultConst(); + +// +++ Create, default +extern_c Handle2Alias +AliasDefault(); + +// --- Create, general, const +extern_c Handle2ConstAlias +AliasCreateConst( + const XMLName id, + const XMLName pid +); + +// +++ Create, general +extern_c Handle2Alias +AliasCreate( + const XMLName id, + const XMLName pid +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AliasAssign(ConstHandle2Alias This, ConstHandle2ConstAlias from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AliasDelete(ConstHandle2ConstAlias This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AliasRead(ConstHandle2Alias This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AliasWrite(ConstHandle2ConstAlias This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AliasPrint(ConstHandle2ConstAlias This); + +// +++ Print to standard output, as XML +extern_c int +AliasPrintXML(ConstHandle2ConstAlias This); + +// +++ Print to standard output, as JSON +extern_c int +AliasPrintJSON(ConstHandle2ConstAlias This); + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AliasIdHas(ConstHandle2ConstAlias This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AliasIdGet(ConstHandle2ConstAlias This); + +// +++ Set +extern_c void +AliasIdSet(ConstHandle2Alias This, const XMLName id); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AliasPidHas(ConstHandle2ConstAlias This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AliasPidGet(ConstHandle2ConstAlias This); + +// +++ Set +extern_c void +AliasPidSet(ConstHandle2Alias This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.cpp new file mode 100644 index 000000000..d351f4f70 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.cpp @@ -0,0 +1,504 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Aliases.hpp" +#include "Aliases.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AliasesClass; +using CPP = multigroup::Aliases; + +static const std::string CLASSNAME = "Aliases"; + +namespace extract { + static auto alias = [](auto &obj) { return &obj.alias; }; + static auto metaStable = [](auto &obj) { return &obj.metaStable; }; +} + +using CPPAlias = pops::Alias; +using CPPMetaStable = pops::MetaStable; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAliases +AliasesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Aliases +AliasesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAliases +AliasesCreateConst( + ConstHandle2Alias *const alias, const size_t aliasSize, + ConstHandle2MetaStable *const metaStable, const size_t metaStableSize +) { + ConstHandle2Aliases handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{}, + std::vector{} + ); + for (size_t AliasN = 0; AliasN < aliasSize; ++AliasN) + AliasesAliasAdd(handle, alias[AliasN]); + for (size_t MetaStableN = 0; MetaStableN < metaStableSize; ++MetaStableN) + AliasesMetaStableAdd(handle, metaStable[MetaStableN]); + return handle; +} + +// Create, general +Handle2Aliases +AliasesCreate( + ConstHandle2Alias *const alias, const size_t aliasSize, + ConstHandle2MetaStable *const metaStable, const size_t metaStableSize +) { + ConstHandle2Aliases handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{}, + std::vector{} + ); + for (size_t AliasN = 0; AliasN < aliasSize; ++AliasN) + AliasesAliasAdd(handle, alias[AliasN]); + for (size_t MetaStableN = 0; MetaStableN < metaStableSize; ++MetaStableN) + AliasesMetaStableAdd(handle, metaStable[MetaStableN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AliasesAssign(ConstHandle2Aliases This, ConstHandle2ConstAliases from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AliasesDelete(ConstHandle2ConstAliases This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AliasesRead(ConstHandle2Aliases This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AliasesWrite(ConstHandle2ConstAliases This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AliasesPrint(ConstHandle2ConstAliases This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AliasesPrintXML(ConstHandle2ConstAliases This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AliasesPrintJSON(ConstHandle2ConstAliases This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: alias +// ----------------------------------------------------------------------------- + +// Has +int +AliasesAliasHas(ConstHandle2ConstAliases This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AliasHas", This, extract::alias); +} + +// Clear +void +AliasesAliasClear(ConstHandle2Aliases This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AliasClear", This, extract::alias); +} + +// Size +size_t +AliasesAliasSize(ConstHandle2ConstAliases This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AliasSize", This, extract::alias); +} + +// Add +void +AliasesAliasAdd(ConstHandle2Aliases This, ConstHandle2ConstAlias alias) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AliasAdd", This, extract::alias, alias); +} + +// Get, by index \in [0,size), const +Handle2ConstAlias +AliasesAliasGetConst(ConstHandle2ConstAliases This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AliasGetConst", This, extract::alias, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Alias +AliasesAliasGet(ConstHandle2Aliases This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AliasGet", This, extract::alias, index_); +} + +// Set, by index \in [0,size) +void +AliasesAliasSet( + ConstHandle2Aliases This, + const size_t index_, + ConstHandle2ConstAlias alias +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AliasSet", This, extract::alias, index_, alias); +} + +// Has, by id +int +AliasesAliasHasById( + ConstHandle2ConstAliases This, + const XMLName id +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AliasHasById", + This, extract::alias, meta::id, id); +} + +// Get, by id, const +Handle2ConstAlias +AliasesAliasGetByIdConst( + ConstHandle2ConstAliases This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AliasGetByIdConst", + This, extract::alias, meta::id, id); +} + +// Get, by id, non-const +Handle2Alias +AliasesAliasGetById( + ConstHandle2Aliases This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AliasGetById", + This, extract::alias, meta::id, id); +} + +// Set, by id +void +AliasesAliasSetById( + ConstHandle2Aliases This, + const XMLName id, + ConstHandle2ConstAlias alias +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AliasSetById", + This, extract::alias, meta::id, id, alias); +} + +// Has, by pid +int +AliasesAliasHasByPid( + ConstHandle2ConstAliases This, + const XMLName pid +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AliasHasByPid", + This, extract::alias, meta::pid, pid); +} + +// Get, by pid, const +Handle2ConstAlias +AliasesAliasGetByPidConst( + ConstHandle2ConstAliases This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AliasGetByPidConst", + This, extract::alias, meta::pid, pid); +} + +// Get, by pid, non-const +Handle2Alias +AliasesAliasGetByPid( + ConstHandle2Aliases This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AliasGetByPid", + This, extract::alias, meta::pid, pid); +} + +// Set, by pid +void +AliasesAliasSetByPid( + ConstHandle2Aliases This, + const XMLName pid, + ConstHandle2ConstAlias alias +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AliasSetByPid", + This, extract::alias, meta::pid, pid, alias); +} + + +// ----------------------------------------------------------------------------- +// Child: metaStable +// ----------------------------------------------------------------------------- + +// Has +int +AliasesMetaStableHas(ConstHandle2ConstAliases This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MetaStableHas", This, extract::metaStable); +} + +// Clear +void +AliasesMetaStableClear(ConstHandle2Aliases This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"MetaStableClear", This, extract::metaStable); +} + +// Size +size_t +AliasesMetaStableSize(ConstHandle2ConstAliases This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"MetaStableSize", This, extract::metaStable); +} + +// Add +void +AliasesMetaStableAdd(ConstHandle2Aliases This, ConstHandle2ConstMetaStable metaStable) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"MetaStableAdd", This, extract::metaStable, metaStable); +} + +// Get, by index \in [0,size), const +Handle2ConstMetaStable +AliasesMetaStableGetConst(ConstHandle2ConstAliases This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"MetaStableGetConst", This, extract::metaStable, index_); +} + +// Get, by index \in [0,size), non-const +Handle2MetaStable +AliasesMetaStableGet(ConstHandle2Aliases This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"MetaStableGet", This, extract::metaStable, index_); +} + +// Set, by index \in [0,size) +void +AliasesMetaStableSet( + ConstHandle2Aliases This, + const size_t index_, + ConstHandle2ConstMetaStable metaStable +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"MetaStableSet", This, extract::metaStable, index_, metaStable); +} + +// Has, by id +int +AliasesMetaStableHasById( + ConstHandle2ConstAliases This, + const XMLName id +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableHasById", + This, extract::metaStable, meta::id, id); +} + +// Get, by id, const +Handle2ConstMetaStable +AliasesMetaStableGetByIdConst( + ConstHandle2ConstAliases This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableGetByIdConst", + This, extract::metaStable, meta::id, id); +} + +// Get, by id, non-const +Handle2MetaStable +AliasesMetaStableGetById( + ConstHandle2Aliases This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableGetById", + This, extract::metaStable, meta::id, id); +} + +// Set, by id +void +AliasesMetaStableSetById( + ConstHandle2Aliases This, + const XMLName id, + ConstHandle2ConstMetaStable metaStable +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableSetById", + This, extract::metaStable, meta::id, id, metaStable); +} + +// Has, by metaStableIndex +int +AliasesMetaStableHasByMetaStableIndex( + ConstHandle2ConstAliases This, + const Integer32 metaStableIndex +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableHasByMetaStableIndex", + This, extract::metaStable, meta::metaStableIndex, metaStableIndex); +} + +// Get, by metaStableIndex, const +Handle2ConstMetaStable +AliasesMetaStableGetByMetaStableIndexConst( + ConstHandle2ConstAliases This, + const Integer32 metaStableIndex +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableGetByMetaStableIndexConst", + This, extract::metaStable, meta::metaStableIndex, metaStableIndex); +} + +// Get, by metaStableIndex, non-const +Handle2MetaStable +AliasesMetaStableGetByMetaStableIndex( + ConstHandle2Aliases This, + const Integer32 metaStableIndex +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableGetByMetaStableIndex", + This, extract::metaStable, meta::metaStableIndex, metaStableIndex); +} + +// Set, by metaStableIndex +void +AliasesMetaStableSetByMetaStableIndex( + ConstHandle2Aliases This, + const Integer32 metaStableIndex, + ConstHandle2ConstMetaStable metaStable +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableSetByMetaStableIndex", + This, extract::metaStable, meta::metaStableIndex, metaStableIndex, metaStable); +} + +// Has, by pid +int +AliasesMetaStableHasByPid( + ConstHandle2ConstAliases This, + const XMLName pid +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableHasByPid", + This, extract::metaStable, meta::pid, pid); +} + +// Get, by pid, const +Handle2ConstMetaStable +AliasesMetaStableGetByPidConst( + ConstHandle2ConstAliases This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableGetByPidConst", + This, extract::metaStable, meta::pid, pid); +} + +// Get, by pid, non-const +Handle2MetaStable +AliasesMetaStableGetByPid( + ConstHandle2Aliases This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableGetByPid", + This, extract::metaStable, meta::pid, pid); +} + +// Set, by pid +void +AliasesMetaStableSetByPid( + ConstHandle2Aliases This, + const XMLName pid, + ConstHandle2ConstMetaStable metaStable +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"MetaStableSetByPid", + This, extract::metaStable, meta::pid, pid, metaStable); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.h new file mode 100644 index 000000000..307f0e435 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.h @@ -0,0 +1,360 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Aliases is the basic handle type in this file. Example: +// // Create a default Aliases object: +// Aliases handle = AliasesDefault(); +// Functions involving Aliases are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_ALIASES +#define C_INTERFACE_TRY_V2_0_POPS_ALIASES + +#include "GNDStk.h" +#include "v2.0/pops/Alias.h" +#include "v2.0/pops/MetaStable.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AliasesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Aliases +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AliasesClass *Aliases; + +// --- Const-aware handles. +typedef const struct AliasesClass *const ConstHandle2ConstAliases; +typedef struct AliasesClass *const ConstHandle2Aliases; +typedef const struct AliasesClass * Handle2ConstAliases; +typedef struct AliasesClass * Handle2Aliases; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAliases +AliasesDefaultConst(); + +// +++ Create, default +extern_c Handle2Aliases +AliasesDefault(); + +// --- Create, general, const +extern_c Handle2ConstAliases +AliasesCreateConst( + ConstHandle2Alias *const alias, const size_t aliasSize, + ConstHandle2MetaStable *const metaStable, const size_t metaStableSize +); + +// +++ Create, general +extern_c Handle2Aliases +AliasesCreate( + ConstHandle2Alias *const alias, const size_t aliasSize, + ConstHandle2MetaStable *const metaStable, const size_t metaStableSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AliasesAssign(ConstHandle2Aliases This, ConstHandle2ConstAliases from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AliasesDelete(ConstHandle2ConstAliases This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AliasesRead(ConstHandle2Aliases This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AliasesWrite(ConstHandle2ConstAliases This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AliasesPrint(ConstHandle2ConstAliases This); + +// +++ Print to standard output, as XML +extern_c int +AliasesPrintXML(ConstHandle2ConstAliases This); + +// +++ Print to standard output, as JSON +extern_c int +AliasesPrintJSON(ConstHandle2ConstAliases This); + + +// ----------------------------------------------------------------------------- +// Child: alias +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AliasesAliasHas(ConstHandle2ConstAliases This); + +// +++ Clear +extern_c void +AliasesAliasClear(ConstHandle2Aliases This); + +// +++ Size +extern_c size_t +AliasesAliasSize(ConstHandle2ConstAliases This); + +// +++ Add +extern_c void +AliasesAliasAdd(ConstHandle2Aliases This, ConstHandle2ConstAlias alias); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAlias +AliasesAliasGetConst(ConstHandle2ConstAliases This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Alias +AliasesAliasGet(ConstHandle2Aliases This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AliasesAliasSet( + ConstHandle2Aliases This, + const size_t index_, + ConstHandle2ConstAlias alias +); + +// +++ Has, by id +extern_c int +AliasesAliasHasById( + ConstHandle2ConstAliases This, + const XMLName id +); + +// --- Get, by id, const +extern_c Handle2ConstAlias +AliasesAliasGetByIdConst( + ConstHandle2ConstAliases This, + const XMLName id +); + +// +++ Get, by id, non-const +extern_c Handle2Alias +AliasesAliasGetById( + ConstHandle2Aliases This, + const XMLName id +); + +// +++ Set, by id +extern_c void +AliasesAliasSetById( + ConstHandle2Aliases This, + const XMLName id, + ConstHandle2ConstAlias alias +); + +// +++ Has, by pid +extern_c int +AliasesAliasHasByPid( + ConstHandle2ConstAliases This, + const XMLName pid +); + +// --- Get, by pid, const +extern_c Handle2ConstAlias +AliasesAliasGetByPidConst( + ConstHandle2ConstAliases This, + const XMLName pid +); + +// +++ Get, by pid, non-const +extern_c Handle2Alias +AliasesAliasGetByPid( + ConstHandle2Aliases This, + const XMLName pid +); + +// +++ Set, by pid +extern_c void +AliasesAliasSetByPid( + ConstHandle2Aliases This, + const XMLName pid, + ConstHandle2ConstAlias alias +); + + +// ----------------------------------------------------------------------------- +// Child: metaStable +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AliasesMetaStableHas(ConstHandle2ConstAliases This); + +// +++ Clear +extern_c void +AliasesMetaStableClear(ConstHandle2Aliases This); + +// +++ Size +extern_c size_t +AliasesMetaStableSize(ConstHandle2ConstAliases This); + +// +++ Add +extern_c void +AliasesMetaStableAdd(ConstHandle2Aliases This, ConstHandle2ConstMetaStable metaStable); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstMetaStable +AliasesMetaStableGetConst(ConstHandle2ConstAliases This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2MetaStable +AliasesMetaStableGet(ConstHandle2Aliases This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AliasesMetaStableSet( + ConstHandle2Aliases This, + const size_t index_, + ConstHandle2ConstMetaStable metaStable +); + +// +++ Has, by id +extern_c int +AliasesMetaStableHasById( + ConstHandle2ConstAliases This, + const XMLName id +); + +// --- Get, by id, const +extern_c Handle2ConstMetaStable +AliasesMetaStableGetByIdConst( + ConstHandle2ConstAliases This, + const XMLName id +); + +// +++ Get, by id, non-const +extern_c Handle2MetaStable +AliasesMetaStableGetById( + ConstHandle2Aliases This, + const XMLName id +); + +// +++ Set, by id +extern_c void +AliasesMetaStableSetById( + ConstHandle2Aliases This, + const XMLName id, + ConstHandle2ConstMetaStable metaStable +); + +// +++ Has, by metaStableIndex +extern_c int +AliasesMetaStableHasByMetaStableIndex( + ConstHandle2ConstAliases This, + const Integer32 metaStableIndex +); + +// --- Get, by metaStableIndex, const +extern_c Handle2ConstMetaStable +AliasesMetaStableGetByMetaStableIndexConst( + ConstHandle2ConstAliases This, + const Integer32 metaStableIndex +); + +// +++ Get, by metaStableIndex, non-const +extern_c Handle2MetaStable +AliasesMetaStableGetByMetaStableIndex( + ConstHandle2Aliases This, + const Integer32 metaStableIndex +); + +// +++ Set, by metaStableIndex +extern_c void +AliasesMetaStableSetByMetaStableIndex( + ConstHandle2Aliases This, + const Integer32 metaStableIndex, + ConstHandle2ConstMetaStable metaStable +); + +// +++ Has, by pid +extern_c int +AliasesMetaStableHasByPid( + ConstHandle2ConstAliases This, + const XMLName pid +); + +// --- Get, by pid, const +extern_c Handle2ConstMetaStable +AliasesMetaStableGetByPidConst( + ConstHandle2ConstAliases This, + const XMLName pid +); + +// +++ Get, by pid, non-const +extern_c Handle2MetaStable +AliasesMetaStableGetByPid( + ConstHandle2Aliases This, + const XMLName pid +); + +// +++ Set, by pid +extern_c void +AliasesMetaStableSetByPid( + ConstHandle2Aliases This, + const XMLName pid, + ConstHandle2ConstMetaStable metaStable +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.cpp new file mode 100644 index 000000000..59ddbcab0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Atomic.hpp" +#include "Atomic.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AtomicClass; +using CPP = multigroup::Atomic; + +static const std::string CLASSNAME = "Atomic"; + +namespace extract { + static auto configurations = [](auto &obj) { return &obj.configurations; }; +} + +using CPPConfigurations = pops::Configurations; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAtomic +AtomicDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Atomic +AtomicDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAtomic +AtomicCreateConst( + ConstHandle2ConstConfigurations configurations +) { + ConstHandle2Atomic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(configurations) + ); + return handle; +} + +// Create, general +Handle2Atomic +AtomicCreate( + ConstHandle2ConstConfigurations configurations +) { + ConstHandle2Atomic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(configurations) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AtomicAssign(ConstHandle2Atomic This, ConstHandle2ConstAtomic from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AtomicDelete(ConstHandle2ConstAtomic This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AtomicRead(ConstHandle2Atomic This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AtomicWrite(ConstHandle2ConstAtomic This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AtomicPrint(ConstHandle2ConstAtomic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AtomicPrintXML(ConstHandle2ConstAtomic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AtomicPrintJSON(ConstHandle2ConstAtomic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: configurations +// ----------------------------------------------------------------------------- + +// Has +int +AtomicConfigurationsHas(ConstHandle2ConstAtomic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfigurationsHas", This, extract::configurations); +} + +// Get, const +Handle2ConstConfigurations +AtomicConfigurationsGetConst(ConstHandle2ConstAtomic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfigurationsGetConst", This, extract::configurations); +} + +// Get, non-const +Handle2Configurations +AtomicConfigurationsGet(ConstHandle2Atomic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfigurationsGet", This, extract::configurations); +} + +// Set +void +AtomicConfigurationsSet(ConstHandle2Atomic This, ConstHandle2ConstConfigurations configurations) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConfigurationsSet", This, extract::configurations, configurations); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.h new file mode 100644 index 000000000..2f789fff5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Atomic is the basic handle type in this file. Example: +// // Create a default Atomic object: +// Atomic handle = AtomicDefault(); +// Functions involving Atomic are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_ATOMIC +#define C_INTERFACE_TRY_V2_0_POPS_ATOMIC + +#include "GNDStk.h" +#include "v2.0/pops/Configurations.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AtomicClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Atomic +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AtomicClass *Atomic; + +// --- Const-aware handles. +typedef const struct AtomicClass *const ConstHandle2ConstAtomic; +typedef struct AtomicClass *const ConstHandle2Atomic; +typedef const struct AtomicClass * Handle2ConstAtomic; +typedef struct AtomicClass * Handle2Atomic; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAtomic +AtomicDefaultConst(); + +// +++ Create, default +extern_c Handle2Atomic +AtomicDefault(); + +// --- Create, general, const +extern_c Handle2ConstAtomic +AtomicCreateConst( + ConstHandle2ConstConfigurations configurations +); + +// +++ Create, general +extern_c Handle2Atomic +AtomicCreate( + ConstHandle2ConstConfigurations configurations +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AtomicAssign(ConstHandle2Atomic This, ConstHandle2ConstAtomic from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AtomicDelete(ConstHandle2ConstAtomic This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AtomicRead(ConstHandle2Atomic This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AtomicWrite(ConstHandle2ConstAtomic This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AtomicPrint(ConstHandle2ConstAtomic This); + +// +++ Print to standard output, as XML +extern_c int +AtomicPrintXML(ConstHandle2ConstAtomic This); + +// +++ Print to standard output, as JSON +extern_c int +AtomicPrintJSON(ConstHandle2ConstAtomic This); + + +// ----------------------------------------------------------------------------- +// Child: configurations +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AtomicConfigurationsHas(ConstHandle2ConstAtomic This); + +// --- Get, const +extern_c Handle2ConstConfigurations +AtomicConfigurationsGetConst(ConstHandle2ConstAtomic This); + +// +++ Get, non-const +extern_c Handle2Configurations +AtomicConfigurationsGet(ConstHandle2Atomic This); + +// +++ Set +extern_c void +AtomicConfigurationsSet(ConstHandle2Atomic This, ConstHandle2ConstConfigurations configurations); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.cpp new file mode 100644 index 000000000..502c9698c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/AverageEnergies.hpp" +#include "AverageEnergies.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AverageEnergiesClass; +using CPP = multigroup::AverageEnergies; + +static const std::string CLASSNAME = "AverageEnergies"; + +namespace extract { + static auto averageEnergy = [](auto &obj) { return &obj.averageEnergy; }; +} + +using CPPAverageEnergy = pops::AverageEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAverageEnergies +AverageEnergiesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AverageEnergies +AverageEnergiesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAverageEnergies +AverageEnergiesCreateConst( + ConstHandle2AverageEnergy *const averageEnergy, const size_t averageEnergySize +) { + ConstHandle2AverageEnergies handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t AverageEnergyN = 0; AverageEnergyN < averageEnergySize; ++AverageEnergyN) + AverageEnergiesAverageEnergyAdd(handle, averageEnergy[AverageEnergyN]); + return handle; +} + +// Create, general +Handle2AverageEnergies +AverageEnergiesCreate( + ConstHandle2AverageEnergy *const averageEnergy, const size_t averageEnergySize +) { + ConstHandle2AverageEnergies handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t AverageEnergyN = 0; AverageEnergyN < averageEnergySize; ++AverageEnergyN) + AverageEnergiesAverageEnergyAdd(handle, averageEnergy[AverageEnergyN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AverageEnergiesAssign(ConstHandle2AverageEnergies This, ConstHandle2ConstAverageEnergies from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AverageEnergiesDelete(ConstHandle2ConstAverageEnergies This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AverageEnergiesRead(ConstHandle2AverageEnergies This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AverageEnergiesWrite(ConstHandle2ConstAverageEnergies This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AverageEnergiesPrint(ConstHandle2ConstAverageEnergies This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AverageEnergiesPrintXML(ConstHandle2ConstAverageEnergies This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AverageEnergiesPrintJSON(ConstHandle2ConstAverageEnergies This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: averageEnergy +// ----------------------------------------------------------------------------- + +// Has +int +AverageEnergiesAverageEnergyHas(ConstHandle2ConstAverageEnergies This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AverageEnergyHas", This, extract::averageEnergy); +} + +// Clear +void +AverageEnergiesAverageEnergyClear(ConstHandle2AverageEnergies This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AverageEnergyClear", This, extract::averageEnergy); +} + +// Size +size_t +AverageEnergiesAverageEnergySize(ConstHandle2ConstAverageEnergies This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AverageEnergySize", This, extract::averageEnergy); +} + +// Add +void +AverageEnergiesAverageEnergyAdd(ConstHandle2AverageEnergies This, ConstHandle2ConstAverageEnergy averageEnergy) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AverageEnergyAdd", This, extract::averageEnergy, averageEnergy); +} + +// Get, by index \in [0,size), const +Handle2ConstAverageEnergy +AverageEnergiesAverageEnergyGetConst(ConstHandle2ConstAverageEnergies This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AverageEnergyGetConst", This, extract::averageEnergy, index_); +} + +// Get, by index \in [0,size), non-const +Handle2AverageEnergy +AverageEnergiesAverageEnergyGet(ConstHandle2AverageEnergies This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AverageEnergyGet", This, extract::averageEnergy, index_); +} + +// Set, by index \in [0,size) +void +AverageEnergiesAverageEnergySet( + ConstHandle2AverageEnergies This, + const size_t index_, + ConstHandle2ConstAverageEnergy averageEnergy +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AverageEnergySet", This, extract::averageEnergy, index_, averageEnergy); +} + +// Has, by label +int +AverageEnergiesAverageEnergyHasByLabel( + ConstHandle2ConstAverageEnergies This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyHasByLabel", + This, extract::averageEnergy, meta::label, label); +} + +// Get, by label, const +Handle2ConstAverageEnergy +AverageEnergiesAverageEnergyGetByLabelConst( + ConstHandle2ConstAverageEnergies This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyGetByLabelConst", + This, extract::averageEnergy, meta::label, label); +} + +// Get, by label, non-const +Handle2AverageEnergy +AverageEnergiesAverageEnergyGetByLabel( + ConstHandle2AverageEnergies This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyGetByLabel", + This, extract::averageEnergy, meta::label, label); +} + +// Set, by label +void +AverageEnergiesAverageEnergySetByLabel( + ConstHandle2AverageEnergies This, + const XMLName label, + ConstHandle2ConstAverageEnergy averageEnergy +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergySetByLabel", + This, extract::averageEnergy, meta::label, label, averageEnergy); +} + +// Has, by value +int +AverageEnergiesAverageEnergyHasByValue( + ConstHandle2ConstAverageEnergies This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyHasByValue", + This, extract::averageEnergy, meta::value, value); +} + +// Get, by value, const +Handle2ConstAverageEnergy +AverageEnergiesAverageEnergyGetByValueConst( + ConstHandle2ConstAverageEnergies This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyGetByValueConst", + This, extract::averageEnergy, meta::value, value); +} + +// Get, by value, non-const +Handle2AverageEnergy +AverageEnergiesAverageEnergyGetByValue( + ConstHandle2AverageEnergies This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyGetByValue", + This, extract::averageEnergy, meta::value, value); +} + +// Set, by value +void +AverageEnergiesAverageEnergySetByValue( + ConstHandle2AverageEnergies This, + const Float64 value, + ConstHandle2ConstAverageEnergy averageEnergy +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergySetByValue", + This, extract::averageEnergy, meta::value, value, averageEnergy); +} + +// Has, by unit +int +AverageEnergiesAverageEnergyHasByUnit( + ConstHandle2ConstAverageEnergies This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyHasByUnit", + This, extract::averageEnergy, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstAverageEnergy +AverageEnergiesAverageEnergyGetByUnitConst( + ConstHandle2ConstAverageEnergies This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyGetByUnitConst", + This, extract::averageEnergy, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2AverageEnergy +AverageEnergiesAverageEnergyGetByUnit( + ConstHandle2AverageEnergies This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergyGetByUnit", + This, extract::averageEnergy, meta::unit, unit); +} + +// Set, by unit +void +AverageEnergiesAverageEnergySetByUnit( + ConstHandle2AverageEnergies This, + const XMLName unit, + ConstHandle2ConstAverageEnergy averageEnergy +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AverageEnergySetByUnit", + This, extract::averageEnergy, meta::unit, unit, averageEnergy); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.h b/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.h new file mode 100644 index 000000000..84f03c12d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AverageEnergies is the basic handle type in this file. Example: +// // Create a default AverageEnergies object: +// AverageEnergies handle = AverageEnergiesDefault(); +// Functions involving AverageEnergies are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_AVERAGEENERGIES +#define C_INTERFACE_TRY_V2_0_POPS_AVERAGEENERGIES + +#include "GNDStk.h" +#include "v2.0/pops/AverageEnergy.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AverageEnergiesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AverageEnergies +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AverageEnergiesClass *AverageEnergies; + +// --- Const-aware handles. +typedef const struct AverageEnergiesClass *const ConstHandle2ConstAverageEnergies; +typedef struct AverageEnergiesClass *const ConstHandle2AverageEnergies; +typedef const struct AverageEnergiesClass * Handle2ConstAverageEnergies; +typedef struct AverageEnergiesClass * Handle2AverageEnergies; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAverageEnergies +AverageEnergiesDefaultConst(); + +// +++ Create, default +extern_c Handle2AverageEnergies +AverageEnergiesDefault(); + +// --- Create, general, const +extern_c Handle2ConstAverageEnergies +AverageEnergiesCreateConst( + ConstHandle2AverageEnergy *const averageEnergy, const size_t averageEnergySize +); + +// +++ Create, general +extern_c Handle2AverageEnergies +AverageEnergiesCreate( + ConstHandle2AverageEnergy *const averageEnergy, const size_t averageEnergySize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AverageEnergiesAssign(ConstHandle2AverageEnergies This, ConstHandle2ConstAverageEnergies from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AverageEnergiesDelete(ConstHandle2ConstAverageEnergies This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AverageEnergiesRead(ConstHandle2AverageEnergies This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AverageEnergiesWrite(ConstHandle2ConstAverageEnergies This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AverageEnergiesPrint(ConstHandle2ConstAverageEnergies This); + +// +++ Print to standard output, as XML +extern_c int +AverageEnergiesPrintXML(ConstHandle2ConstAverageEnergies This); + +// +++ Print to standard output, as JSON +extern_c int +AverageEnergiesPrintJSON(ConstHandle2ConstAverageEnergies This); + + +// ----------------------------------------------------------------------------- +// Child: averageEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageEnergiesAverageEnergyHas(ConstHandle2ConstAverageEnergies This); + +// +++ Clear +extern_c void +AverageEnergiesAverageEnergyClear(ConstHandle2AverageEnergies This); + +// +++ Size +extern_c size_t +AverageEnergiesAverageEnergySize(ConstHandle2ConstAverageEnergies This); + +// +++ Add +extern_c void +AverageEnergiesAverageEnergyAdd(ConstHandle2AverageEnergies This, ConstHandle2ConstAverageEnergy averageEnergy); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAverageEnergy +AverageEnergiesAverageEnergyGetConst(ConstHandle2ConstAverageEnergies This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2AverageEnergy +AverageEnergiesAverageEnergyGet(ConstHandle2AverageEnergies This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AverageEnergiesAverageEnergySet( + ConstHandle2AverageEnergies This, + const size_t index_, + ConstHandle2ConstAverageEnergy averageEnergy +); + +// +++ Has, by label +extern_c int +AverageEnergiesAverageEnergyHasByLabel( + ConstHandle2ConstAverageEnergies This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstAverageEnergy +AverageEnergiesAverageEnergyGetByLabelConst( + ConstHandle2ConstAverageEnergies This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2AverageEnergy +AverageEnergiesAverageEnergyGetByLabel( + ConstHandle2AverageEnergies This, + const XMLName label +); + +// +++ Set, by label +extern_c void +AverageEnergiesAverageEnergySetByLabel( + ConstHandle2AverageEnergies This, + const XMLName label, + ConstHandle2ConstAverageEnergy averageEnergy +); + +// +++ Has, by value +extern_c int +AverageEnergiesAverageEnergyHasByValue( + ConstHandle2ConstAverageEnergies This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstAverageEnergy +AverageEnergiesAverageEnergyGetByValueConst( + ConstHandle2ConstAverageEnergies This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2AverageEnergy +AverageEnergiesAverageEnergyGetByValue( + ConstHandle2AverageEnergies This, + const Float64 value +); + +// +++ Set, by value +extern_c void +AverageEnergiesAverageEnergySetByValue( + ConstHandle2AverageEnergies This, + const Float64 value, + ConstHandle2ConstAverageEnergy averageEnergy +); + +// +++ Has, by unit +extern_c int +AverageEnergiesAverageEnergyHasByUnit( + ConstHandle2ConstAverageEnergies This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstAverageEnergy +AverageEnergiesAverageEnergyGetByUnitConst( + ConstHandle2ConstAverageEnergies This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2AverageEnergy +AverageEnergiesAverageEnergyGetByUnit( + ConstHandle2AverageEnergies This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +AverageEnergiesAverageEnergySetByUnit( + ConstHandle2AverageEnergies This, + const XMLName unit, + ConstHandle2ConstAverageEnergy averageEnergy +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.cpp new file mode 100644 index 000000000..bdb71a5ab --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/AverageEnergy.hpp" +#include "AverageEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AverageEnergyClass; +using CPP = multigroup::AverageEnergy; + +static const std::string CLASSNAME = "AverageEnergy"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAverageEnergy +AverageEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AverageEnergy +AverageEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAverageEnergy +AverageEnergyCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2AverageEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + value, + unit, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2AverageEnergy +AverageEnergyCreate( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2AverageEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + value, + unit, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AverageEnergyAssign(ConstHandle2AverageEnergy This, ConstHandle2ConstAverageEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AverageEnergyDelete(ConstHandle2ConstAverageEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AverageEnergyRead(ConstHandle2AverageEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AverageEnergyWrite(ConstHandle2ConstAverageEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AverageEnergyPrint(ConstHandle2ConstAverageEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AverageEnergyPrintXML(ConstHandle2ConstAverageEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AverageEnergyPrintJSON(ConstHandle2ConstAverageEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AverageEnergyLabelHas(ConstHandle2ConstAverageEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AverageEnergyLabelGet(ConstHandle2ConstAverageEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AverageEnergyLabelSet(ConstHandle2AverageEnergy This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +AverageEnergyValueHas(ConstHandle2ConstAverageEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +AverageEnergyValueGet(ConstHandle2ConstAverageEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +AverageEnergyValueSet(ConstHandle2AverageEnergy This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +AverageEnergyUnitHas(ConstHandle2ConstAverageEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +AverageEnergyUnitGet(ConstHandle2ConstAverageEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +AverageEnergyUnitSet(ConstHandle2AverageEnergy This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +AverageEnergyDocumentationHas(ConstHandle2ConstAverageEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +AverageEnergyDocumentationGetConst(ConstHandle2ConstAverageEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +AverageEnergyDocumentationGet(ConstHandle2AverageEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +AverageEnergyDocumentationSet(ConstHandle2AverageEnergy This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +AverageEnergyUncertaintyHas(ConstHandle2ConstAverageEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +AverageEnergyUncertaintyGetConst(ConstHandle2ConstAverageEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +AverageEnergyUncertaintyGet(ConstHandle2AverageEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +AverageEnergyUncertaintySet(ConstHandle2AverageEnergy This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.h new file mode 100644 index 000000000..39b3859c8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AverageEnergy is the basic handle type in this file. Example: +// // Create a default AverageEnergy object: +// AverageEnergy handle = AverageEnergyDefault(); +// Functions involving AverageEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_AVERAGEENERGY +#define C_INTERFACE_TRY_V2_0_POPS_AVERAGEENERGY + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AverageEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AverageEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AverageEnergyClass *AverageEnergy; + +// --- Const-aware handles. +typedef const struct AverageEnergyClass *const ConstHandle2ConstAverageEnergy; +typedef struct AverageEnergyClass *const ConstHandle2AverageEnergy; +typedef const struct AverageEnergyClass * Handle2ConstAverageEnergy; +typedef struct AverageEnergyClass * Handle2AverageEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAverageEnergy +AverageEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2AverageEnergy +AverageEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstAverageEnergy +AverageEnergyCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2AverageEnergy +AverageEnergyCreate( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AverageEnergyAssign(ConstHandle2AverageEnergy This, ConstHandle2ConstAverageEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AverageEnergyDelete(ConstHandle2ConstAverageEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AverageEnergyRead(ConstHandle2AverageEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AverageEnergyWrite(ConstHandle2ConstAverageEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AverageEnergyPrint(ConstHandle2ConstAverageEnergy This); + +// +++ Print to standard output, as XML +extern_c int +AverageEnergyPrintXML(ConstHandle2ConstAverageEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +AverageEnergyPrintJSON(ConstHandle2ConstAverageEnergy This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageEnergyLabelHas(ConstHandle2ConstAverageEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AverageEnergyLabelGet(ConstHandle2ConstAverageEnergy This); + +// +++ Set +extern_c void +AverageEnergyLabelSet(ConstHandle2AverageEnergy This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageEnergyValueHas(ConstHandle2ConstAverageEnergy This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +AverageEnergyValueGet(ConstHandle2ConstAverageEnergy This); + +// +++ Set +extern_c void +AverageEnergyValueSet(ConstHandle2AverageEnergy This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageEnergyUnitHas(ConstHandle2ConstAverageEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AverageEnergyUnitGet(ConstHandle2ConstAverageEnergy This); + +// +++ Set +extern_c void +AverageEnergyUnitSet(ConstHandle2AverageEnergy This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageEnergyDocumentationHas(ConstHandle2ConstAverageEnergy This); + +// --- Get, const +extern_c Handle2ConstDocumentation +AverageEnergyDocumentationGetConst(ConstHandle2ConstAverageEnergy This); + +// +++ Get, non-const +extern_c Handle2Documentation +AverageEnergyDocumentationGet(ConstHandle2AverageEnergy This); + +// +++ Set +extern_c void +AverageEnergyDocumentationSet(ConstHandle2AverageEnergy This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageEnergyUncertaintyHas(ConstHandle2ConstAverageEnergy This); + +// --- Get, const +extern_c Handle2ConstUncertainty +AverageEnergyUncertaintyGetConst(ConstHandle2ConstAverageEnergy This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +AverageEnergyUncertaintyGet(ConstHandle2AverageEnergy This); + +// +++ Set +extern_c void +AverageEnergyUncertaintySet(ConstHandle2AverageEnergy This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.cpp new file mode 100644 index 000000000..025d11023 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.cpp @@ -0,0 +1,424 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Baryon.hpp" +#include "Baryon.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BaryonClass; +using CPP = multigroup::Baryon; + +static const std::string CLASSNAME = "Baryon"; + +namespace extract { + static auto id = [](auto &obj) { return &obj.id; }; + static auto charge = [](auto &obj) { return &obj.charge; }; + static auto halflife = [](auto &obj) { return &obj.halflife; }; + static auto mass = [](auto &obj) { return &obj.mass; }; + static auto spin = [](auto &obj) { return &obj.spin; }; + static auto parity = [](auto &obj) { return &obj.parity; }; + static auto decayData = [](auto &obj) { return &obj.decayData; }; +} + +using CPPCharge = pops::Charge; +using CPPHalflife = pops::Halflife; +using CPPMass = pops::Mass; +using CPPSpin = pops::Spin; +using CPPParity = pops::Parity; +using CPPDecayData = pops::DecayData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBaryon +BaryonDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Baryon +BaryonDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBaryon +BaryonCreateConst( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +) { + ConstHandle2Baryon handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + id, + detail::tocpp(charge), + detail::tocpp(halflife), + detail::tocpp(mass), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(decayData) + ); + return handle; +} + +// Create, general +Handle2Baryon +BaryonCreate( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +) { + ConstHandle2Baryon handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + id, + detail::tocpp(charge), + detail::tocpp(halflife), + detail::tocpp(mass), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(decayData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BaryonAssign(ConstHandle2Baryon This, ConstHandle2ConstBaryon from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BaryonDelete(ConstHandle2ConstBaryon This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BaryonRead(ConstHandle2Baryon This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BaryonWrite(ConstHandle2ConstBaryon This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BaryonPrint(ConstHandle2ConstBaryon This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BaryonPrintXML(ConstHandle2ConstBaryon This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BaryonPrintJSON(ConstHandle2ConstBaryon This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// Has +int +BaryonIdHas(ConstHandle2ConstBaryon This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdHas", This, extract::id); +} + +// Get +// Returns by value +XMLName +BaryonIdGet(ConstHandle2ConstBaryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdGet", This, extract::id); +} + +// Set +void +BaryonIdSet(ConstHandle2Baryon This, const XMLName id) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdSet", This, extract::id, id); +} + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// Has +int +BaryonChargeHas(ConstHandle2ConstBaryon This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChargeHas", This, extract::charge); +} + +// Get, const +Handle2ConstCharge +BaryonChargeGetConst(ConstHandle2ConstBaryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGetConst", This, extract::charge); +} + +// Get, non-const +Handle2Charge +BaryonChargeGet(ConstHandle2Baryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGet", This, extract::charge); +} + +// Set +void +BaryonChargeSet(ConstHandle2Baryon This, ConstHandle2ConstCharge charge) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChargeSet", This, extract::charge, charge); +} + + +// ----------------------------------------------------------------------------- +// Child: halflife +// ----------------------------------------------------------------------------- + +// Has +int +BaryonHalflifeHas(ConstHandle2ConstBaryon This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HalflifeHas", This, extract::halflife); +} + +// Get, const +Handle2ConstHalflife +BaryonHalflifeGetConst(ConstHandle2ConstBaryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HalflifeGetConst", This, extract::halflife); +} + +// Get, non-const +Handle2Halflife +BaryonHalflifeGet(ConstHandle2Baryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HalflifeGet", This, extract::halflife); +} + +// Set +void +BaryonHalflifeSet(ConstHandle2Baryon This, ConstHandle2ConstHalflife halflife) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HalflifeSet", This, extract::halflife, halflife); +} + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// Has +int +BaryonMassHas(ConstHandle2ConstBaryon This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MassHas", This, extract::mass); +} + +// Get, const +Handle2ConstMass +BaryonMassGetConst(ConstHandle2ConstBaryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGetConst", This, extract::mass); +} + +// Get, non-const +Handle2Mass +BaryonMassGet(ConstHandle2Baryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGet", This, extract::mass); +} + +// Set +void +BaryonMassSet(ConstHandle2Baryon This, ConstHandle2ConstMass mass) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MassSet", This, extract::mass, mass); +} + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// Has +int +BaryonSpinHas(ConstHandle2ConstBaryon This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpinHas", This, extract::spin); +} + +// Get, const +Handle2ConstSpin +BaryonSpinGetConst(ConstHandle2ConstBaryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGetConst", This, extract::spin); +} + +// Get, non-const +Handle2Spin +BaryonSpinGet(ConstHandle2Baryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGet", This, extract::spin); +} + +// Set +void +BaryonSpinSet(ConstHandle2Baryon This, ConstHandle2ConstSpin spin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SpinSet", This, extract::spin, spin); +} + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// Has +int +BaryonParityHas(ConstHandle2ConstBaryon This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParityHas", This, extract::parity); +} + +// Get, const +Handle2ConstParity +BaryonParityGetConst(ConstHandle2ConstBaryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGetConst", This, extract::parity); +} + +// Get, non-const +Handle2Parity +BaryonParityGet(ConstHandle2Baryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGet", This, extract::parity); +} + +// Set +void +BaryonParitySet(ConstHandle2Baryon This, ConstHandle2ConstParity parity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ParitySet", This, extract::parity, parity); +} + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// Has +int +BaryonDecayDataHas(ConstHandle2ConstBaryon This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayDataHas", This, extract::decayData); +} + +// Get, const +Handle2ConstDecayData +BaryonDecayDataGetConst(ConstHandle2ConstBaryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGetConst", This, extract::decayData); +} + +// Get, non-const +Handle2DecayData +BaryonDecayDataGet(ConstHandle2Baryon This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGet", This, extract::decayData); +} + +// Set +void +BaryonDecayDataSet(ConstHandle2Baryon This, ConstHandle2ConstDecayData decayData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DecayDataSet", This, extract::decayData, decayData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.h new file mode 100644 index 000000000..50fff87e7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.h @@ -0,0 +1,299 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Baryon is the basic handle type in this file. Example: +// // Create a default Baryon object: +// Baryon handle = BaryonDefault(); +// Functions involving Baryon are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_BARYON +#define C_INTERFACE_TRY_V2_0_POPS_BARYON + +#include "GNDStk.h" +#include "v2.0/pops/Charge.h" +#include "v2.0/pops/Halflife.h" +#include "v2.0/pops/Mass.h" +#include "v2.0/pops/Spin.h" +#include "v2.0/pops/Parity.h" +#include "v2.0/pops/DecayData.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BaryonClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Baryon +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BaryonClass *Baryon; + +// --- Const-aware handles. +typedef const struct BaryonClass *const ConstHandle2ConstBaryon; +typedef struct BaryonClass *const ConstHandle2Baryon; +typedef const struct BaryonClass * Handle2ConstBaryon; +typedef struct BaryonClass * Handle2Baryon; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBaryon +BaryonDefaultConst(); + +// +++ Create, default +extern_c Handle2Baryon +BaryonDefault(); + +// --- Create, general, const +extern_c Handle2ConstBaryon +BaryonCreateConst( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +); + +// +++ Create, general +extern_c Handle2Baryon +BaryonCreate( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BaryonAssign(ConstHandle2Baryon This, ConstHandle2ConstBaryon from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BaryonDelete(ConstHandle2ConstBaryon This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BaryonRead(ConstHandle2Baryon This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BaryonWrite(ConstHandle2ConstBaryon This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BaryonPrint(ConstHandle2ConstBaryon This); + +// +++ Print to standard output, as XML +extern_c int +BaryonPrintXML(ConstHandle2ConstBaryon This); + +// +++ Print to standard output, as JSON +extern_c int +BaryonPrintJSON(ConstHandle2ConstBaryon This); + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BaryonIdHas(ConstHandle2ConstBaryon This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BaryonIdGet(ConstHandle2ConstBaryon This); + +// +++ Set +extern_c void +BaryonIdSet(ConstHandle2Baryon This, const XMLName id); + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BaryonChargeHas(ConstHandle2ConstBaryon This); + +// --- Get, const +extern_c Handle2ConstCharge +BaryonChargeGetConst(ConstHandle2ConstBaryon This); + +// +++ Get, non-const +extern_c Handle2Charge +BaryonChargeGet(ConstHandle2Baryon This); + +// +++ Set +extern_c void +BaryonChargeSet(ConstHandle2Baryon This, ConstHandle2ConstCharge charge); + + +// ----------------------------------------------------------------------------- +// Child: halflife +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BaryonHalflifeHas(ConstHandle2ConstBaryon This); + +// --- Get, const +extern_c Handle2ConstHalflife +BaryonHalflifeGetConst(ConstHandle2ConstBaryon This); + +// +++ Get, non-const +extern_c Handle2Halflife +BaryonHalflifeGet(ConstHandle2Baryon This); + +// +++ Set +extern_c void +BaryonHalflifeSet(ConstHandle2Baryon This, ConstHandle2ConstHalflife halflife); + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BaryonMassHas(ConstHandle2ConstBaryon This); + +// --- Get, const +extern_c Handle2ConstMass +BaryonMassGetConst(ConstHandle2ConstBaryon This); + +// +++ Get, non-const +extern_c Handle2Mass +BaryonMassGet(ConstHandle2Baryon This); + +// +++ Set +extern_c void +BaryonMassSet(ConstHandle2Baryon This, ConstHandle2ConstMass mass); + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BaryonSpinHas(ConstHandle2ConstBaryon This); + +// --- Get, const +extern_c Handle2ConstSpin +BaryonSpinGetConst(ConstHandle2ConstBaryon This); + +// +++ Get, non-const +extern_c Handle2Spin +BaryonSpinGet(ConstHandle2Baryon This); + +// +++ Set +extern_c void +BaryonSpinSet(ConstHandle2Baryon This, ConstHandle2ConstSpin spin); + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BaryonParityHas(ConstHandle2ConstBaryon This); + +// --- Get, const +extern_c Handle2ConstParity +BaryonParityGetConst(ConstHandle2ConstBaryon This); + +// +++ Get, non-const +extern_c Handle2Parity +BaryonParityGet(ConstHandle2Baryon This); + +// +++ Set +extern_c void +BaryonParitySet(ConstHandle2Baryon This, ConstHandle2ConstParity parity); + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BaryonDecayDataHas(ConstHandle2ConstBaryon This); + +// --- Get, const +extern_c Handle2ConstDecayData +BaryonDecayDataGetConst(ConstHandle2ConstBaryon This); + +// +++ Get, non-const +extern_c Handle2DecayData +BaryonDecayDataGet(ConstHandle2Baryon This); + +// +++ Set +extern_c void +BaryonDecayDataSet(ConstHandle2Baryon This, ConstHandle2ConstDecayData decayData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.cpp new file mode 100644 index 000000000..9c35411f2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Baryons.hpp" +#include "Baryons.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BaryonsClass; +using CPP = multigroup::Baryons; + +static const std::string CLASSNAME = "Baryons"; + +namespace extract { + static auto baryon = [](auto &obj) { return &obj.baryon; }; +} + +using CPPBaryon = pops::Baryon; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBaryons +BaryonsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Baryons +BaryonsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBaryons +BaryonsCreateConst( + ConstHandle2Baryon *const baryon, const size_t baryonSize +) { + ConstHandle2Baryons handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t BaryonN = 0; BaryonN < baryonSize; ++BaryonN) + BaryonsBaryonAdd(handle, baryon[BaryonN]); + return handle; +} + +// Create, general +Handle2Baryons +BaryonsCreate( + ConstHandle2Baryon *const baryon, const size_t baryonSize +) { + ConstHandle2Baryons handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t BaryonN = 0; BaryonN < baryonSize; ++BaryonN) + BaryonsBaryonAdd(handle, baryon[BaryonN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BaryonsAssign(ConstHandle2Baryons This, ConstHandle2ConstBaryons from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BaryonsDelete(ConstHandle2ConstBaryons This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BaryonsRead(ConstHandle2Baryons This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BaryonsWrite(ConstHandle2ConstBaryons This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BaryonsPrint(ConstHandle2ConstBaryons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BaryonsPrintXML(ConstHandle2ConstBaryons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BaryonsPrintJSON(ConstHandle2ConstBaryons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: baryon +// ----------------------------------------------------------------------------- + +// Has +int +BaryonsBaryonHas(ConstHandle2ConstBaryons This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BaryonHas", This, extract::baryon); +} + +// Clear +void +BaryonsBaryonClear(ConstHandle2Baryons This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"BaryonClear", This, extract::baryon); +} + +// Size +size_t +BaryonsBaryonSize(ConstHandle2ConstBaryons This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"BaryonSize", This, extract::baryon); +} + +// Add +void +BaryonsBaryonAdd(ConstHandle2Baryons This, ConstHandle2ConstBaryon baryon) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"BaryonAdd", This, extract::baryon, baryon); +} + +// Get, by index \in [0,size), const +Handle2ConstBaryon +BaryonsBaryonGetConst(ConstHandle2ConstBaryons This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"BaryonGetConst", This, extract::baryon, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Baryon +BaryonsBaryonGet(ConstHandle2Baryons This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"BaryonGet", This, extract::baryon, index_); +} + +// Set, by index \in [0,size) +void +BaryonsBaryonSet( + ConstHandle2Baryons This, + const size_t index_, + ConstHandle2ConstBaryon baryon +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"BaryonSet", This, extract::baryon, index_, baryon); +} + +// Has, by id +int +BaryonsBaryonHasById( + ConstHandle2ConstBaryons This, + const XMLName id +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"BaryonHasById", + This, extract::baryon, meta::id, id); +} + +// Get, by id, const +Handle2ConstBaryon +BaryonsBaryonGetByIdConst( + ConstHandle2ConstBaryons This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BaryonGetByIdConst", + This, extract::baryon, meta::id, id); +} + +// Get, by id, non-const +Handle2Baryon +BaryonsBaryonGetById( + ConstHandle2Baryons This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BaryonGetById", + This, extract::baryon, meta::id, id); +} + +// Set, by id +void +BaryonsBaryonSetById( + ConstHandle2Baryons This, + const XMLName id, + ConstHandle2ConstBaryon baryon +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"BaryonSetById", + This, extract::baryon, meta::id, id, baryon); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.h new file mode 100644 index 000000000..cec9beb31 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Baryons is the basic handle type in this file. Example: +// // Create a default Baryons object: +// Baryons handle = BaryonsDefault(); +// Functions involving Baryons are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_BARYONS +#define C_INTERFACE_TRY_V2_0_POPS_BARYONS + +#include "GNDStk.h" +#include "v2.0/pops/Baryon.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BaryonsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Baryons +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BaryonsClass *Baryons; + +// --- Const-aware handles. +typedef const struct BaryonsClass *const ConstHandle2ConstBaryons; +typedef struct BaryonsClass *const ConstHandle2Baryons; +typedef const struct BaryonsClass * Handle2ConstBaryons; +typedef struct BaryonsClass * Handle2Baryons; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBaryons +BaryonsDefaultConst(); + +// +++ Create, default +extern_c Handle2Baryons +BaryonsDefault(); + +// --- Create, general, const +extern_c Handle2ConstBaryons +BaryonsCreateConst( + ConstHandle2Baryon *const baryon, const size_t baryonSize +); + +// +++ Create, general +extern_c Handle2Baryons +BaryonsCreate( + ConstHandle2Baryon *const baryon, const size_t baryonSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BaryonsAssign(ConstHandle2Baryons This, ConstHandle2ConstBaryons from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BaryonsDelete(ConstHandle2ConstBaryons This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BaryonsRead(ConstHandle2Baryons This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BaryonsWrite(ConstHandle2ConstBaryons This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BaryonsPrint(ConstHandle2ConstBaryons This); + +// +++ Print to standard output, as XML +extern_c int +BaryonsPrintXML(ConstHandle2ConstBaryons This); + +// +++ Print to standard output, as JSON +extern_c int +BaryonsPrintJSON(ConstHandle2ConstBaryons This); + + +// ----------------------------------------------------------------------------- +// Child: baryon +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BaryonsBaryonHas(ConstHandle2ConstBaryons This); + +// +++ Clear +extern_c void +BaryonsBaryonClear(ConstHandle2Baryons This); + +// +++ Size +extern_c size_t +BaryonsBaryonSize(ConstHandle2ConstBaryons This); + +// +++ Add +extern_c void +BaryonsBaryonAdd(ConstHandle2Baryons This, ConstHandle2ConstBaryon baryon); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstBaryon +BaryonsBaryonGetConst(ConstHandle2ConstBaryons This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Baryon +BaryonsBaryonGet(ConstHandle2Baryons This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +BaryonsBaryonSet( + ConstHandle2Baryons This, + const size_t index_, + ConstHandle2ConstBaryon baryon +); + +// +++ Has, by id +extern_c int +BaryonsBaryonHasById( + ConstHandle2ConstBaryons This, + const XMLName id +); + +// --- Get, by id, const +extern_c Handle2ConstBaryon +BaryonsBaryonGetByIdConst( + ConstHandle2ConstBaryons This, + const XMLName id +); + +// +++ Get, by id, non-const +extern_c Handle2Baryon +BaryonsBaryonGetById( + ConstHandle2Baryons This, + const XMLName id +); + +// +++ Set, by id +extern_c void +BaryonsBaryonSetById( + ConstHandle2Baryons This, + const XMLName id, + ConstHandle2ConstBaryon baryon +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp new file mode 100644 index 000000000..7a7ee13fa --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp @@ -0,0 +1,396 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/BindingEnergy.hpp" +#include "BindingEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BindingEnergyClass; +using CPP = multigroup::BindingEnergy; + +static const std::string CLASSNAME = "BindingEnergy"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBindingEnergy +BindingEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2BindingEnergy +BindingEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBindingEnergy +BindingEnergyCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2BindingEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + BindingEnergyDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Create, general +Handle2BindingEnergy +BindingEnergyCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2BindingEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + BindingEnergyDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BindingEnergyAssign(ConstHandle2BindingEnergy This, ConstHandle2ConstBindingEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BindingEnergyDelete(ConstHandle2ConstBindingEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BindingEnergyRead(ConstHandle2BindingEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BindingEnergyWrite(ConstHandle2ConstBindingEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BindingEnergyPrint(ConstHandle2ConstBindingEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BindingEnergyPrintXML(ConstHandle2ConstBindingEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BindingEnergyPrintJSON(ConstHandle2ConstBindingEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +BindingEnergyLabelHas(ConstHandle2ConstBindingEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +BindingEnergyLabelGet(ConstHandle2ConstBindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +BindingEnergyLabelSet(ConstHandle2BindingEnergy This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +BindingEnergyUnitHas(ConstHandle2ConstBindingEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +BindingEnergyUnitGet(ConstHandle2ConstBindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +BindingEnergyUnitSet(ConstHandle2BindingEnergy This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +BindingEnergyValueHas(ConstHandle2ConstBindingEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +BindingEnergyValueGet(ConstHandle2ConstBindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +BindingEnergyValueSet(ConstHandle2BindingEnergy This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +BindingEnergyDocumentationHas(ConstHandle2ConstBindingEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +BindingEnergyDocumentationGetConst(ConstHandle2ConstBindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +BindingEnergyDocumentationGet(ConstHandle2BindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +BindingEnergyDocumentationSet(ConstHandle2BindingEnergy This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +BindingEnergyUncertaintyHas(ConstHandle2ConstBindingEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +BindingEnergyUncertaintyGetConst(ConstHandle2ConstBindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +BindingEnergyUncertaintyGet(ConstHandle2BindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +BindingEnergyUncertaintySet(ConstHandle2BindingEnergy This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +BindingEnergyDoubleHas(ConstHandle2ConstBindingEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Clear +void +BindingEnergyDoubleClear(ConstHandle2BindingEnergy This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DoubleClear", This, extract::Double); +} + +// Size +size_t +BindingEnergyDoubleSize(ConstHandle2ConstBindingEnergy This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DoubleSize", This, extract::Double); +} + +// Add +void +BindingEnergyDoubleAdd(ConstHandle2BindingEnergy This, ConstHandle2ConstDouble Double) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DoubleAdd", This, extract::Double, Double); +} + +// Get, by index \in [0,size), const +Handle2ConstDouble +BindingEnergyDoubleGetConst(ConstHandle2ConstBindingEnergy This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Double +BindingEnergyDoubleGet(ConstHandle2BindingEnergy This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double, index_); +} + +// Set, by index \in [0,size) +void +BindingEnergyDoubleSet( + ConstHandle2BindingEnergy This, + const size_t index_, + ConstHandle2ConstDouble Double +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h new file mode 100644 index 000000000..7009ab5f1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h @@ -0,0 +1,283 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// BindingEnergy is the basic handle type in this file. Example: +// // Create a default BindingEnergy object: +// BindingEnergy handle = BindingEnergyDefault(); +// Functions involving BindingEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_BINDINGENERGY +#define C_INTERFACE_TRY_V2_0_POPS_BINDINGENERGY + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BindingEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ BindingEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BindingEnergyClass *BindingEnergy; + +// --- Const-aware handles. +typedef const struct BindingEnergyClass *const ConstHandle2ConstBindingEnergy; +typedef struct BindingEnergyClass *const ConstHandle2BindingEnergy; +typedef const struct BindingEnergyClass * Handle2ConstBindingEnergy; +typedef struct BindingEnergyClass * Handle2BindingEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBindingEnergy +BindingEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2BindingEnergy +BindingEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstBindingEnergy +BindingEnergyCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Create, general +extern_c Handle2BindingEnergy +BindingEnergyCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BindingEnergyAssign(ConstHandle2BindingEnergy This, ConstHandle2ConstBindingEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BindingEnergyDelete(ConstHandle2ConstBindingEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BindingEnergyRead(ConstHandle2BindingEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BindingEnergyWrite(ConstHandle2ConstBindingEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BindingEnergyPrint(ConstHandle2ConstBindingEnergy This); + +// +++ Print to standard output, as XML +extern_c int +BindingEnergyPrintXML(ConstHandle2ConstBindingEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +BindingEnergyPrintJSON(ConstHandle2ConstBindingEnergy This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BindingEnergyLabelHas(ConstHandle2ConstBindingEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BindingEnergyLabelGet(ConstHandle2ConstBindingEnergy This); + +// +++ Set +extern_c void +BindingEnergyLabelSet(ConstHandle2BindingEnergy This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BindingEnergyUnitHas(ConstHandle2ConstBindingEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BindingEnergyUnitGet(ConstHandle2ConstBindingEnergy This); + +// +++ Set +extern_c void +BindingEnergyUnitSet(ConstHandle2BindingEnergy This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BindingEnergyValueHas(ConstHandle2ConstBindingEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BindingEnergyValueGet(ConstHandle2ConstBindingEnergy This); + +// +++ Set +extern_c void +BindingEnergyValueSet(ConstHandle2BindingEnergy This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BindingEnergyDocumentationHas(ConstHandle2ConstBindingEnergy This); + +// --- Get, const +extern_c Handle2ConstDocumentation +BindingEnergyDocumentationGetConst(ConstHandle2ConstBindingEnergy This); + +// +++ Get, non-const +extern_c Handle2Documentation +BindingEnergyDocumentationGet(ConstHandle2BindingEnergy This); + +// +++ Set +extern_c void +BindingEnergyDocumentationSet(ConstHandle2BindingEnergy This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BindingEnergyUncertaintyHas(ConstHandle2ConstBindingEnergy This); + +// --- Get, const +extern_c Handle2ConstUncertainty +BindingEnergyUncertaintyGetConst(ConstHandle2ConstBindingEnergy This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +BindingEnergyUncertaintyGet(ConstHandle2BindingEnergy This); + +// +++ Set +extern_c void +BindingEnergyUncertaintySet(ConstHandle2BindingEnergy This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BindingEnergyDoubleHas(ConstHandle2ConstBindingEnergy This); + +// +++ Clear +extern_c void +BindingEnergyDoubleClear(ConstHandle2BindingEnergy This); + +// +++ Size +extern_c size_t +BindingEnergyDoubleSize(ConstHandle2ConstBindingEnergy This); + +// +++ Add +extern_c void +BindingEnergyDoubleAdd(ConstHandle2BindingEnergy This, ConstHandle2ConstDouble Double); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDouble +BindingEnergyDoubleGetConst(ConstHandle2ConstBindingEnergy This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Double +BindingEnergyDoubleGet(ConstHandle2BindingEnergy This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +BindingEnergyDoubleSet( + ConstHandle2BindingEnergy This, + const size_t index_, + ConstHandle2ConstDouble Double +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp new file mode 100644 index 000000000..e91b42f5e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp @@ -0,0 +1,324 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Charge.hpp" +#include "Charge.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ChargeClass; +using CPP = multigroup::Charge; + +static const std::string CLASSNAME = "Charge"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPInteger = unknownNamespace::Integer; +using CPPFraction = unknownNamespace::Fraction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCharge +ChargeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Charge +ChargeDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCharge +ChargeCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +) { + ConstHandle2Charge handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2Charge +ChargeCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +) { + ConstHandle2Charge handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ChargeAssign(ConstHandle2Charge This, ConstHandle2ConstCharge from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ChargeDelete(ConstHandle2ConstCharge This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ChargeRead(ConstHandle2Charge This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ChargeWrite(ConstHandle2ConstCharge This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ChargePrint(ConstHandle2ConstCharge This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ChargePrintXML(ConstHandle2ConstCharge This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ChargePrintJSON(ConstHandle2ConstCharge This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ChargeLabelHas(ConstHandle2ConstCharge This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ChargeLabelGet(ConstHandle2ConstCharge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ChargeLabelSet(ConstHandle2Charge This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +ChargeUnitHas(ConstHandle2ConstCharge This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +ChargeUnitGet(ConstHandle2ConstCharge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +ChargeUnitSet(ConstHandle2Charge This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +ChargeValueHas(ConstHandle2ConstCharge This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +ChargeValueGet(ConstHandle2ConstCharge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +ChargeValueSet(ConstHandle2Charge This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +ChargeDocumentationHas(ConstHandle2ConstCharge This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +ChargeDocumentationGetConst(ConstHandle2ConstCharge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +ChargeDocumentationGet(ConstHandle2Charge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +ChargeDocumentationSet(ConstHandle2Charge This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +ChargeUncertaintyHas(ConstHandle2ConstCharge This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +ChargeUncertaintyGetConst(ConstHandle2ConstCharge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +ChargeUncertaintyGet(ConstHandle2Charge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +ChargeUncertaintySet(ConstHandle2Charge This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h new file mode 100644 index 000000000..cc1ff8859 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h @@ -0,0 +1,245 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Charge is the basic handle type in this file. Example: +// // Create a default Charge object: +// Charge handle = ChargeDefault(); +// Functions involving Charge are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_CHARGE +#define C_INTERFACE_TRY_V2_0_POPS_CHARGE + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Integer.h" +#include "v2.0/unknownNamespace/Fraction.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ChargeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Charge +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ChargeClass *Charge; + +// --- Const-aware handles. +typedef const struct ChargeClass *const ConstHandle2ConstCharge; +typedef struct ChargeClass *const ConstHandle2Charge; +typedef const struct ChargeClass * Handle2ConstCharge; +typedef struct ChargeClass * Handle2Charge; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCharge +ChargeDefaultConst(); + +// +++ Create, default +extern_c Handle2Charge +ChargeDefault(); + +// --- Create, general, const +extern_c Handle2ConstCharge +ChargeCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +); + +// +++ Create, general +extern_c Handle2Charge +ChargeCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ChargeAssign(ConstHandle2Charge This, ConstHandle2ConstCharge from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ChargeDelete(ConstHandle2ConstCharge This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ChargeRead(ConstHandle2Charge This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ChargeWrite(ConstHandle2ConstCharge This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ChargePrint(ConstHandle2ConstCharge This); + +// +++ Print to standard output, as XML +extern_c int +ChargePrintXML(ConstHandle2ConstCharge This); + +// +++ Print to standard output, as JSON +extern_c int +ChargePrintJSON(ConstHandle2ConstCharge This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChargeLabelHas(ConstHandle2ConstCharge This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ChargeLabelGet(ConstHandle2ConstCharge This); + +// +++ Set +extern_c void +ChargeLabelSet(ConstHandle2Charge This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChargeUnitHas(ConstHandle2ConstCharge This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ChargeUnitGet(ConstHandle2ConstCharge This); + +// +++ Set +extern_c void +ChargeUnitSet(ConstHandle2Charge This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChargeValueHas(ConstHandle2ConstCharge This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ChargeValueGet(ConstHandle2ConstCharge This); + +// +++ Set +extern_c void +ChargeValueSet(ConstHandle2Charge This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChargeDocumentationHas(ConstHandle2ConstCharge This); + +// --- Get, const +extern_c Handle2ConstDocumentation +ChargeDocumentationGetConst(ConstHandle2ConstCharge This); + +// +++ Get, non-const +extern_c Handle2Documentation +ChargeDocumentationGet(ConstHandle2Charge This); + +// +++ Set +extern_c void +ChargeDocumentationSet(ConstHandle2Charge This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChargeUncertaintyHas(ConstHandle2ConstCharge This); + +// --- Get, const +extern_c Handle2ConstUncertainty +ChargeUncertaintyGetConst(ConstHandle2ConstCharge This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +ChargeUncertaintyGet(ConstHandle2Charge This); + +// +++ Set +extern_c void +ChargeUncertaintySet(ConstHandle2Charge This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.cpp new file mode 100644 index 000000000..e3853543c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/ChemicalElement.hpp" +#include "ChemicalElement.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ChemicalElementClass; +using CPP = multigroup::ChemicalElement; + +static const std::string CLASSNAME = "ChemicalElement"; + +namespace extract { + static auto symbol = [](auto &obj) { return &obj.symbol; }; + static auto Z = [](auto &obj) { return &obj.Z; }; + static auto name = [](auto &obj) { return &obj.name; }; + static auto atomic = [](auto &obj) { return &obj.atomic; }; + static auto isotopes = [](auto &obj) { return &obj.isotopes; }; +} + +using CPPAtomic = pops::Atomic; +using CPPIsotopes = pops::Isotopes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstChemicalElement +ChemicalElementDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ChemicalElement +ChemicalElementDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstChemicalElement +ChemicalElementCreateConst( + const XMLName symbol, + const Integer32 Z, + const XMLName name, + ConstHandle2ConstAtomic atomic, + ConstHandle2ConstIsotopes isotopes +) { + ConstHandle2ChemicalElement handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + symbol, + Z, + name, + detail::tocpp(atomic), + detail::tocpp(isotopes) + ); + return handle; +} + +// Create, general +Handle2ChemicalElement +ChemicalElementCreate( + const XMLName symbol, + const Integer32 Z, + const XMLName name, + ConstHandle2ConstAtomic atomic, + ConstHandle2ConstIsotopes isotopes +) { + ConstHandle2ChemicalElement handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + symbol, + Z, + name, + detail::tocpp(atomic), + detail::tocpp(isotopes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ChemicalElementAssign(ConstHandle2ChemicalElement This, ConstHandle2ConstChemicalElement from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ChemicalElementDelete(ConstHandle2ConstChemicalElement This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ChemicalElementRead(ConstHandle2ChemicalElement This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ChemicalElementWrite(ConstHandle2ConstChemicalElement This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ChemicalElementPrint(ConstHandle2ConstChemicalElement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ChemicalElementPrintXML(ConstHandle2ConstChemicalElement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ChemicalElementPrintJSON(ConstHandle2ConstChemicalElement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: symbol +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementSymbolHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SymbolHas", This, extract::symbol); +} + +// Get +// Returns by value +XMLName +ChemicalElementSymbolGet(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SymbolGet", This, extract::symbol); +} + +// Set +void +ChemicalElementSymbolSet(ConstHandle2ChemicalElement This, const XMLName symbol) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SymbolSet", This, extract::symbol, symbol); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: Z +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementZHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ZHas", This, extract::Z); +} + +// Get +// Returns by value +Integer32 +ChemicalElementZGet(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ZGet", This, extract::Z); +} + +// Set +void +ChemicalElementZSet(ConstHandle2ChemicalElement This, const Integer32 Z) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ZSet", This, extract::Z, Z); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementNameHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +XMLName +ChemicalElementNameGet(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +ChemicalElementNameSet(ConstHandle2ChemicalElement This, const XMLName name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Child: atomic +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementAtomicHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AtomicHas", This, extract::atomic); +} + +// Get, const +Handle2ConstAtomic +ChemicalElementAtomicGetConst(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AtomicGetConst", This, extract::atomic); +} + +// Get, non-const +Handle2Atomic +ChemicalElementAtomicGet(ConstHandle2ChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AtomicGet", This, extract::atomic); +} + +// Set +void +ChemicalElementAtomicSet(ConstHandle2ChemicalElement This, ConstHandle2ConstAtomic atomic) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AtomicSet", This, extract::atomic, atomic); +} + + +// ----------------------------------------------------------------------------- +// Child: isotopes +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementIsotopesHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IsotopesHas", This, extract::isotopes); +} + +// Get, const +Handle2ConstIsotopes +ChemicalElementIsotopesGetConst(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IsotopesGetConst", This, extract::isotopes); +} + +// Get, non-const +Handle2Isotopes +ChemicalElementIsotopesGet(ConstHandle2ChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IsotopesGet", This, extract::isotopes); +} + +// Set +void +ChemicalElementIsotopesSet(ConstHandle2ChemicalElement This, ConstHandle2ConstIsotopes isotopes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IsotopesSet", This, extract::isotopes, isotopes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.h b/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.h new file mode 100644 index 000000000..b7986b131 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ChemicalElement is the basic handle type in this file. Example: +// // Create a default ChemicalElement object: +// ChemicalElement handle = ChemicalElementDefault(); +// Functions involving ChemicalElement are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_CHEMICALELEMENT +#define C_INTERFACE_TRY_V2_0_POPS_CHEMICALELEMENT + +#include "GNDStk.h" +#include "v2.0/pops/Atomic.h" +#include "v2.0/pops/Isotopes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ChemicalElementClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ChemicalElement +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ChemicalElementClass *ChemicalElement; + +// --- Const-aware handles. +typedef const struct ChemicalElementClass *const ConstHandle2ConstChemicalElement; +typedef struct ChemicalElementClass *const ConstHandle2ChemicalElement; +typedef const struct ChemicalElementClass * Handle2ConstChemicalElement; +typedef struct ChemicalElementClass * Handle2ChemicalElement; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstChemicalElement +ChemicalElementDefaultConst(); + +// +++ Create, default +extern_c Handle2ChemicalElement +ChemicalElementDefault(); + +// --- Create, general, const +extern_c Handle2ConstChemicalElement +ChemicalElementCreateConst( + const XMLName symbol, + const Integer32 Z, + const XMLName name, + ConstHandle2ConstAtomic atomic, + ConstHandle2ConstIsotopes isotopes +); + +// +++ Create, general +extern_c Handle2ChemicalElement +ChemicalElementCreate( + const XMLName symbol, + const Integer32 Z, + const XMLName name, + ConstHandle2ConstAtomic atomic, + ConstHandle2ConstIsotopes isotopes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ChemicalElementAssign(ConstHandle2ChemicalElement This, ConstHandle2ConstChemicalElement from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ChemicalElementDelete(ConstHandle2ConstChemicalElement This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ChemicalElementRead(ConstHandle2ChemicalElement This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ChemicalElementWrite(ConstHandle2ConstChemicalElement This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ChemicalElementPrint(ConstHandle2ConstChemicalElement This); + +// +++ Print to standard output, as XML +extern_c int +ChemicalElementPrintXML(ConstHandle2ConstChemicalElement This); + +// +++ Print to standard output, as JSON +extern_c int +ChemicalElementPrintJSON(ConstHandle2ConstChemicalElement This); + + +// ----------------------------------------------------------------------------- +// Metadatum: symbol +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementSymbolHas(ConstHandle2ConstChemicalElement This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ChemicalElementSymbolGet(ConstHandle2ConstChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementSymbolSet(ConstHandle2ChemicalElement This, const XMLName symbol); + + +// ----------------------------------------------------------------------------- +// Metadatum: Z +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementZHas(ConstHandle2ConstChemicalElement This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ChemicalElementZGet(ConstHandle2ConstChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementZSet(ConstHandle2ChemicalElement This, const Integer32 Z); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementNameHas(ConstHandle2ConstChemicalElement This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ChemicalElementNameGet(ConstHandle2ConstChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementNameSet(ConstHandle2ChemicalElement This, const XMLName name); + + +// ----------------------------------------------------------------------------- +// Child: atomic +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementAtomicHas(ConstHandle2ConstChemicalElement This); + +// --- Get, const +extern_c Handle2ConstAtomic +ChemicalElementAtomicGetConst(ConstHandle2ConstChemicalElement This); + +// +++ Get, non-const +extern_c Handle2Atomic +ChemicalElementAtomicGet(ConstHandle2ChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementAtomicSet(ConstHandle2ChemicalElement This, ConstHandle2ConstAtomic atomic); + + +// ----------------------------------------------------------------------------- +// Child: isotopes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementIsotopesHas(ConstHandle2ConstChemicalElement This); + +// --- Get, const +extern_c Handle2ConstIsotopes +ChemicalElementIsotopesGetConst(ConstHandle2ConstChemicalElement This); + +// +++ Get, non-const +extern_c Handle2Isotopes +ChemicalElementIsotopesGet(ConstHandle2ChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementIsotopesSet(ConstHandle2ChemicalElement This, ConstHandle2ConstIsotopes isotopes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.cpp new file mode 100644 index 000000000..c7498af96 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/ChemicalElements.hpp" +#include "ChemicalElements.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ChemicalElementsClass; +using CPP = multigroup::ChemicalElements; + +static const std::string CLASSNAME = "ChemicalElements"; + +namespace extract { + static auto chemicalElement = [](auto &obj) { return &obj.chemicalElement; }; +} + +using CPPChemicalElement = pops::ChemicalElement; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstChemicalElements +ChemicalElementsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ChemicalElements +ChemicalElementsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstChemicalElements +ChemicalElementsCreateConst( + ConstHandle2ChemicalElement *const chemicalElement, const size_t chemicalElementSize +) { + ConstHandle2ChemicalElements handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ChemicalElementN = 0; ChemicalElementN < chemicalElementSize; ++ChemicalElementN) + ChemicalElementsChemicalElementAdd(handle, chemicalElement[ChemicalElementN]); + return handle; +} + +// Create, general +Handle2ChemicalElements +ChemicalElementsCreate( + ConstHandle2ChemicalElement *const chemicalElement, const size_t chemicalElementSize +) { + ConstHandle2ChemicalElements handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ChemicalElementN = 0; ChemicalElementN < chemicalElementSize; ++ChemicalElementN) + ChemicalElementsChemicalElementAdd(handle, chemicalElement[ChemicalElementN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ChemicalElementsAssign(ConstHandle2ChemicalElements This, ConstHandle2ConstChemicalElements from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ChemicalElementsDelete(ConstHandle2ConstChemicalElements This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ChemicalElementsRead(ConstHandle2ChemicalElements This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ChemicalElementsWrite(ConstHandle2ConstChemicalElements This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ChemicalElementsPrint(ConstHandle2ConstChemicalElements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ChemicalElementsPrintXML(ConstHandle2ConstChemicalElements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ChemicalElementsPrintJSON(ConstHandle2ConstChemicalElements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: chemicalElement +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementsChemicalElementHas(ConstHandle2ConstChemicalElements This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChemicalElementHas", This, extract::chemicalElement); +} + +// Clear +void +ChemicalElementsChemicalElementClear(ConstHandle2ChemicalElements This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ChemicalElementClear", This, extract::chemicalElement); +} + +// Size +size_t +ChemicalElementsChemicalElementSize(ConstHandle2ConstChemicalElements This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ChemicalElementSize", This, extract::chemicalElement); +} + +// Add +void +ChemicalElementsChemicalElementAdd(ConstHandle2ChemicalElements This, ConstHandle2ConstChemicalElement chemicalElement) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ChemicalElementAdd", This, extract::chemicalElement, chemicalElement); +} + +// Get, by index \in [0,size), const +Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetConst(ConstHandle2ConstChemicalElements This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ChemicalElementGetConst", This, extract::chemicalElement, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ChemicalElement +ChemicalElementsChemicalElementGet(ConstHandle2ChemicalElements This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ChemicalElementGet", This, extract::chemicalElement, index_); +} + +// Set, by index \in [0,size) +void +ChemicalElementsChemicalElementSet( + ConstHandle2ChemicalElements This, + const size_t index_, + ConstHandle2ConstChemicalElement chemicalElement +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ChemicalElementSet", This, extract::chemicalElement, index_, chemicalElement); +} + +// Has, by symbol +int +ChemicalElementsChemicalElementHasBySymbol( + ConstHandle2ConstChemicalElements This, + const XMLName symbol +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementHasBySymbol", + This, extract::chemicalElement, meta::symbol, symbol); +} + +// Get, by symbol, const +Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetBySymbolConst( + ConstHandle2ConstChemicalElements This, + const XMLName symbol +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetBySymbolConst", + This, extract::chemicalElement, meta::symbol, symbol); +} + +// Get, by symbol, non-const +Handle2ChemicalElement +ChemicalElementsChemicalElementGetBySymbol( + ConstHandle2ChemicalElements This, + const XMLName symbol +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetBySymbol", + This, extract::chemicalElement, meta::symbol, symbol); +} + +// Set, by symbol +void +ChemicalElementsChemicalElementSetBySymbol( + ConstHandle2ChemicalElements This, + const XMLName symbol, + ConstHandle2ConstChemicalElement chemicalElement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementSetBySymbol", + This, extract::chemicalElement, meta::symbol, symbol, chemicalElement); +} + +// Has, by Z +int +ChemicalElementsChemicalElementHasByZ( + ConstHandle2ConstChemicalElements This, + const Integer32 Z +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementHasByZ", + This, extract::chemicalElement, meta::Z, Z); +} + +// Get, by Z, const +Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetByZConst( + ConstHandle2ConstChemicalElements This, + const Integer32 Z +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetByZConst", + This, extract::chemicalElement, meta::Z, Z); +} + +// Get, by Z, non-const +Handle2ChemicalElement +ChemicalElementsChemicalElementGetByZ( + ConstHandle2ChemicalElements This, + const Integer32 Z +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetByZ", + This, extract::chemicalElement, meta::Z, Z); +} + +// Set, by Z +void +ChemicalElementsChemicalElementSetByZ( + ConstHandle2ChemicalElements This, + const Integer32 Z, + ConstHandle2ConstChemicalElement chemicalElement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementSetByZ", + This, extract::chemicalElement, meta::Z, Z, chemicalElement); +} + +// Has, by name +int +ChemicalElementsChemicalElementHasByName( + ConstHandle2ConstChemicalElements This, + const XMLName name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementHasByName", + This, extract::chemicalElement, meta::name, name); +} + +// Get, by name, const +Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetByNameConst( + ConstHandle2ConstChemicalElements This, + const XMLName name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetByNameConst", + This, extract::chemicalElement, meta::name, name); +} + +// Get, by name, non-const +Handle2ChemicalElement +ChemicalElementsChemicalElementGetByName( + ConstHandle2ChemicalElements This, + const XMLName name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetByName", + This, extract::chemicalElement, meta::name, name); +} + +// Set, by name +void +ChemicalElementsChemicalElementSetByName( + ConstHandle2ChemicalElements This, + const XMLName name, + ConstHandle2ConstChemicalElement chemicalElement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementSetByName", + This, extract::chemicalElement, meta::name, name, chemicalElement); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.h b/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.h new file mode 100644 index 000000000..46441bfc5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ChemicalElements is the basic handle type in this file. Example: +// // Create a default ChemicalElements object: +// ChemicalElements handle = ChemicalElementsDefault(); +// Functions involving ChemicalElements are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_CHEMICALELEMENTS +#define C_INTERFACE_TRY_V2_0_POPS_CHEMICALELEMENTS + +#include "GNDStk.h" +#include "v2.0/pops/ChemicalElement.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ChemicalElementsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ChemicalElements +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ChemicalElementsClass *ChemicalElements; + +// --- Const-aware handles. +typedef const struct ChemicalElementsClass *const ConstHandle2ConstChemicalElements; +typedef struct ChemicalElementsClass *const ConstHandle2ChemicalElements; +typedef const struct ChemicalElementsClass * Handle2ConstChemicalElements; +typedef struct ChemicalElementsClass * Handle2ChemicalElements; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstChemicalElements +ChemicalElementsDefaultConst(); + +// +++ Create, default +extern_c Handle2ChemicalElements +ChemicalElementsDefault(); + +// --- Create, general, const +extern_c Handle2ConstChemicalElements +ChemicalElementsCreateConst( + ConstHandle2ChemicalElement *const chemicalElement, const size_t chemicalElementSize +); + +// +++ Create, general +extern_c Handle2ChemicalElements +ChemicalElementsCreate( + ConstHandle2ChemicalElement *const chemicalElement, const size_t chemicalElementSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ChemicalElementsAssign(ConstHandle2ChemicalElements This, ConstHandle2ConstChemicalElements from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ChemicalElementsDelete(ConstHandle2ConstChemicalElements This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ChemicalElementsRead(ConstHandle2ChemicalElements This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ChemicalElementsWrite(ConstHandle2ConstChemicalElements This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ChemicalElementsPrint(ConstHandle2ConstChemicalElements This); + +// +++ Print to standard output, as XML +extern_c int +ChemicalElementsPrintXML(ConstHandle2ConstChemicalElements This); + +// +++ Print to standard output, as JSON +extern_c int +ChemicalElementsPrintJSON(ConstHandle2ConstChemicalElements This); + + +// ----------------------------------------------------------------------------- +// Child: chemicalElement +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementsChemicalElementHas(ConstHandle2ConstChemicalElements This); + +// +++ Clear +extern_c void +ChemicalElementsChemicalElementClear(ConstHandle2ChemicalElements This); + +// +++ Size +extern_c size_t +ChemicalElementsChemicalElementSize(ConstHandle2ConstChemicalElements This); + +// +++ Add +extern_c void +ChemicalElementsChemicalElementAdd(ConstHandle2ChemicalElements This, ConstHandle2ConstChemicalElement chemicalElement); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetConst(ConstHandle2ConstChemicalElements This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ChemicalElement +ChemicalElementsChemicalElementGet(ConstHandle2ChemicalElements This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ChemicalElementsChemicalElementSet( + ConstHandle2ChemicalElements This, + const size_t index_, + ConstHandle2ConstChemicalElement chemicalElement +); + +// +++ Has, by symbol +extern_c int +ChemicalElementsChemicalElementHasBySymbol( + ConstHandle2ConstChemicalElements This, + const XMLName symbol +); + +// --- Get, by symbol, const +extern_c Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetBySymbolConst( + ConstHandle2ConstChemicalElements This, + const XMLName symbol +); + +// +++ Get, by symbol, non-const +extern_c Handle2ChemicalElement +ChemicalElementsChemicalElementGetBySymbol( + ConstHandle2ChemicalElements This, + const XMLName symbol +); + +// +++ Set, by symbol +extern_c void +ChemicalElementsChemicalElementSetBySymbol( + ConstHandle2ChemicalElements This, + const XMLName symbol, + ConstHandle2ConstChemicalElement chemicalElement +); + +// +++ Has, by Z +extern_c int +ChemicalElementsChemicalElementHasByZ( + ConstHandle2ConstChemicalElements This, + const Integer32 Z +); + +// --- Get, by Z, const +extern_c Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetByZConst( + ConstHandle2ConstChemicalElements This, + const Integer32 Z +); + +// +++ Get, by Z, non-const +extern_c Handle2ChemicalElement +ChemicalElementsChemicalElementGetByZ( + ConstHandle2ChemicalElements This, + const Integer32 Z +); + +// +++ Set, by Z +extern_c void +ChemicalElementsChemicalElementSetByZ( + ConstHandle2ChemicalElements This, + const Integer32 Z, + ConstHandle2ConstChemicalElement chemicalElement +); + +// +++ Has, by name +extern_c int +ChemicalElementsChemicalElementHasByName( + ConstHandle2ConstChemicalElements This, + const XMLName name +); + +// --- Get, by name, const +extern_c Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetByNameConst( + ConstHandle2ConstChemicalElements This, + const XMLName name +); + +// +++ Get, by name, non-const +extern_c Handle2ChemicalElement +ChemicalElementsChemicalElementGetByName( + ConstHandle2ChemicalElements This, + const XMLName name +); + +// +++ Set, by name +extern_c void +ChemicalElementsChemicalElementSetByName( + ConstHandle2ChemicalElements This, + const XMLName name, + ConstHandle2ConstChemicalElement chemicalElement +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.cpp new file mode 100644 index 000000000..a879ea60f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/ConfidenceIntervals.hpp" +#include "ConfidenceIntervals.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ConfidenceIntervalsClass; +using CPP = multigroup::ConfidenceIntervals; + +static const std::string CLASSNAME = "ConfidenceIntervals"; + +namespace extract { + static auto interval = [](auto &obj) { return &obj.interval; }; +} + +using CPPInterval = pops::Interval; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstConfidenceIntervals +ConfidenceIntervalsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ConfidenceIntervals +ConfidenceIntervalsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstConfidenceIntervals +ConfidenceIntervalsCreateConst( + ConstHandle2Interval *const interval, const size_t intervalSize +) { + ConstHandle2ConfidenceIntervals handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t IntervalN = 0; IntervalN < intervalSize; ++IntervalN) + ConfidenceIntervalsIntervalAdd(handle, interval[IntervalN]); + return handle; +} + +// Create, general +Handle2ConfidenceIntervals +ConfidenceIntervalsCreate( + ConstHandle2Interval *const interval, const size_t intervalSize +) { + ConstHandle2ConfidenceIntervals handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t IntervalN = 0; IntervalN < intervalSize; ++IntervalN) + ConfidenceIntervalsIntervalAdd(handle, interval[IntervalN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ConfidenceIntervalsAssign(ConstHandle2ConfidenceIntervals This, ConstHandle2ConstConfidenceIntervals from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ConfidenceIntervalsDelete(ConstHandle2ConstConfidenceIntervals This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ConfidenceIntervalsRead(ConstHandle2ConfidenceIntervals This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ConfidenceIntervalsWrite(ConstHandle2ConstConfidenceIntervals This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ConfidenceIntervalsPrint(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ConfidenceIntervalsPrintXML(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ConfidenceIntervalsPrintJSON(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: interval +// ----------------------------------------------------------------------------- + +// Has +int +ConfidenceIntervalsIntervalHas(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IntervalHas", This, extract::interval); +} + +// Clear +void +ConfidenceIntervalsIntervalClear(ConstHandle2ConfidenceIntervals This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"IntervalClear", This, extract::interval); +} + +// Size +size_t +ConfidenceIntervalsIntervalSize(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"IntervalSize", This, extract::interval); +} + +// Add +void +ConfidenceIntervalsIntervalAdd(ConstHandle2ConfidenceIntervals This, ConstHandle2ConstInterval interval) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"IntervalAdd", This, extract::interval, interval); +} + +// Get, by index \in [0,size), const +Handle2ConstInterval +ConfidenceIntervalsIntervalGetConst(ConstHandle2ConstConfidenceIntervals This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IntervalGetConst", This, extract::interval, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Interval +ConfidenceIntervalsIntervalGet(ConstHandle2ConfidenceIntervals This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IntervalGet", This, extract::interval, index_); +} + +// Set, by index \in [0,size) +void +ConfidenceIntervalsIntervalSet( + ConstHandle2ConfidenceIntervals This, + const size_t index_, + ConstHandle2ConstInterval interval +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"IntervalSet", This, extract::interval, index_, interval); +} + +// Has, by confidence +int +ConfidenceIntervalsIntervalHasByConfidence( + ConstHandle2ConstConfidenceIntervals This, + const Float64 confidence +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntervalHasByConfidence", + This, extract::interval, meta::confidence, confidence); +} + +// Get, by confidence, const +Handle2ConstInterval +ConfidenceIntervalsIntervalGetByConfidenceConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 confidence +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByConfidenceConst", + This, extract::interval, meta::confidence, confidence); +} + +// Get, by confidence, non-const +Handle2Interval +ConfidenceIntervalsIntervalGetByConfidence( + ConstHandle2ConfidenceIntervals This, + const Float64 confidence +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByConfidence", + This, extract::interval, meta::confidence, confidence); +} + +// Set, by confidence +void +ConfidenceIntervalsIntervalSetByConfidence( + ConstHandle2ConfidenceIntervals This, + const Float64 confidence, + ConstHandle2ConstInterval interval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntervalSetByConfidence", + This, extract::interval, meta::confidence, confidence, interval); +} + +// Has, by lower +int +ConfidenceIntervalsIntervalHasByLower( + ConstHandle2ConstConfidenceIntervals This, + const Float64 lower +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntervalHasByLower", + This, extract::interval, meta::lower, lower); +} + +// Get, by lower, const +Handle2ConstInterval +ConfidenceIntervalsIntervalGetByLowerConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 lower +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByLowerConst", + This, extract::interval, meta::lower, lower); +} + +// Get, by lower, non-const +Handle2Interval +ConfidenceIntervalsIntervalGetByLower( + ConstHandle2ConfidenceIntervals This, + const Float64 lower +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByLower", + This, extract::interval, meta::lower, lower); +} + +// Set, by lower +void +ConfidenceIntervalsIntervalSetByLower( + ConstHandle2ConfidenceIntervals This, + const Float64 lower, + ConstHandle2ConstInterval interval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntervalSetByLower", + This, extract::interval, meta::lower, lower, interval); +} + +// Has, by upper +int +ConfidenceIntervalsIntervalHasByUpper( + ConstHandle2ConstConfidenceIntervals This, + const Float64 upper +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntervalHasByUpper", + This, extract::interval, meta::upper, upper); +} + +// Get, by upper, const +Handle2ConstInterval +ConfidenceIntervalsIntervalGetByUpperConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 upper +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByUpperConst", + This, extract::interval, meta::upper, upper); +} + +// Get, by upper, non-const +Handle2Interval +ConfidenceIntervalsIntervalGetByUpper( + ConstHandle2ConfidenceIntervals This, + const Float64 upper +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByUpper", + This, extract::interval, meta::upper, upper); +} + +// Set, by upper +void +ConfidenceIntervalsIntervalSetByUpper( + ConstHandle2ConfidenceIntervals This, + const Float64 upper, + ConstHandle2ConstInterval interval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntervalSetByUpper", + This, extract::interval, meta::upper, upper, interval); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.h b/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.h new file mode 100644 index 000000000..11fc83e62 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ConfidenceIntervals is the basic handle type in this file. Example: +// // Create a default ConfidenceIntervals object: +// ConfidenceIntervals handle = ConfidenceIntervalsDefault(); +// Functions involving ConfidenceIntervals are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_CONFIDENCEINTERVALS +#define C_INTERFACE_TRY_V2_0_POPS_CONFIDENCEINTERVALS + +#include "GNDStk.h" +#include "v2.0/pops/Interval.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ConfidenceIntervalsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ConfidenceIntervals +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ConfidenceIntervalsClass *ConfidenceIntervals; + +// --- Const-aware handles. +typedef const struct ConfidenceIntervalsClass *const ConstHandle2ConstConfidenceIntervals; +typedef struct ConfidenceIntervalsClass *const ConstHandle2ConfidenceIntervals; +typedef const struct ConfidenceIntervalsClass * Handle2ConstConfidenceIntervals; +typedef struct ConfidenceIntervalsClass * Handle2ConfidenceIntervals; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstConfidenceIntervals +ConfidenceIntervalsDefaultConst(); + +// +++ Create, default +extern_c Handle2ConfidenceIntervals +ConfidenceIntervalsDefault(); + +// --- Create, general, const +extern_c Handle2ConstConfidenceIntervals +ConfidenceIntervalsCreateConst( + ConstHandle2Interval *const interval, const size_t intervalSize +); + +// +++ Create, general +extern_c Handle2ConfidenceIntervals +ConfidenceIntervalsCreate( + ConstHandle2Interval *const interval, const size_t intervalSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ConfidenceIntervalsAssign(ConstHandle2ConfidenceIntervals This, ConstHandle2ConstConfidenceIntervals from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ConfidenceIntervalsDelete(ConstHandle2ConstConfidenceIntervals This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ConfidenceIntervalsRead(ConstHandle2ConfidenceIntervals This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ConfidenceIntervalsWrite(ConstHandle2ConstConfidenceIntervals This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ConfidenceIntervalsPrint(ConstHandle2ConstConfidenceIntervals This); + +// +++ Print to standard output, as XML +extern_c int +ConfidenceIntervalsPrintXML(ConstHandle2ConstConfidenceIntervals This); + +// +++ Print to standard output, as JSON +extern_c int +ConfidenceIntervalsPrintJSON(ConstHandle2ConstConfidenceIntervals This); + + +// ----------------------------------------------------------------------------- +// Child: interval +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfidenceIntervalsIntervalHas(ConstHandle2ConstConfidenceIntervals This); + +// +++ Clear +extern_c void +ConfidenceIntervalsIntervalClear(ConstHandle2ConfidenceIntervals This); + +// +++ Size +extern_c size_t +ConfidenceIntervalsIntervalSize(ConstHandle2ConstConfidenceIntervals This); + +// +++ Add +extern_c void +ConfidenceIntervalsIntervalAdd(ConstHandle2ConfidenceIntervals This, ConstHandle2ConstInterval interval); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstInterval +ConfidenceIntervalsIntervalGetConst(ConstHandle2ConstConfidenceIntervals This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Interval +ConfidenceIntervalsIntervalGet(ConstHandle2ConfidenceIntervals This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ConfidenceIntervalsIntervalSet( + ConstHandle2ConfidenceIntervals This, + const size_t index_, + ConstHandle2ConstInterval interval +); + +// +++ Has, by confidence +extern_c int +ConfidenceIntervalsIntervalHasByConfidence( + ConstHandle2ConstConfidenceIntervals This, + const Float64 confidence +); + +// --- Get, by confidence, const +extern_c Handle2ConstInterval +ConfidenceIntervalsIntervalGetByConfidenceConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 confidence +); + +// +++ Get, by confidence, non-const +extern_c Handle2Interval +ConfidenceIntervalsIntervalGetByConfidence( + ConstHandle2ConfidenceIntervals This, + const Float64 confidence +); + +// +++ Set, by confidence +extern_c void +ConfidenceIntervalsIntervalSetByConfidence( + ConstHandle2ConfidenceIntervals This, + const Float64 confidence, + ConstHandle2ConstInterval interval +); + +// +++ Has, by lower +extern_c int +ConfidenceIntervalsIntervalHasByLower( + ConstHandle2ConstConfidenceIntervals This, + const Float64 lower +); + +// --- Get, by lower, const +extern_c Handle2ConstInterval +ConfidenceIntervalsIntervalGetByLowerConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 lower +); + +// +++ Get, by lower, non-const +extern_c Handle2Interval +ConfidenceIntervalsIntervalGetByLower( + ConstHandle2ConfidenceIntervals This, + const Float64 lower +); + +// +++ Set, by lower +extern_c void +ConfidenceIntervalsIntervalSetByLower( + ConstHandle2ConfidenceIntervals This, + const Float64 lower, + ConstHandle2ConstInterval interval +); + +// +++ Has, by upper +extern_c int +ConfidenceIntervalsIntervalHasByUpper( + ConstHandle2ConstConfidenceIntervals This, + const Float64 upper +); + +// --- Get, by upper, const +extern_c Handle2ConstInterval +ConfidenceIntervalsIntervalGetByUpperConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 upper +); + +// +++ Get, by upper, non-const +extern_c Handle2Interval +ConfidenceIntervalsIntervalGetByUpper( + ConstHandle2ConfidenceIntervals This, + const Float64 upper +); + +// +++ Set, by upper +extern_c void +ConfidenceIntervalsIntervalSetByUpper( + ConstHandle2ConfidenceIntervals This, + const Float64 upper, + ConstHandle2ConstInterval interval +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.cpp new file mode 100644 index 000000000..4050df172 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Configuration.hpp" +#include "Configuration.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ConfigurationClass; +using CPP = multigroup::Configuration; + +static const std::string CLASSNAME = "Configuration"; + +namespace extract { + static auto subshell = [](auto &obj) { return &obj.subshell; }; + static auto electronNumber = [](auto &obj) { return &obj.electronNumber; }; + static auto bindingEnergy = [](auto &obj) { return &obj.bindingEnergy; }; + static auto decayData = [](auto &obj) { return &obj.decayData; }; +} + +using CPPBindingEnergy = pops::BindingEnergy; +using CPPDecayData = pops::DecayData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstConfiguration +ConfigurationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Configuration +ConfigurationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstConfiguration +ConfigurationCreateConst( + const char *const subshell, + const Float64 electronNumber, + ConstHandle2ConstBindingEnergy bindingEnergy, + ConstHandle2ConstDecayData decayData +) { + ConstHandle2Configuration handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + subshell, + electronNumber, + detail::tocpp(bindingEnergy), + detail::tocpp(decayData) + ); + return handle; +} + +// Create, general +Handle2Configuration +ConfigurationCreate( + const char *const subshell, + const Float64 electronNumber, + ConstHandle2ConstBindingEnergy bindingEnergy, + ConstHandle2ConstDecayData decayData +) { + ConstHandle2Configuration handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + subshell, + electronNumber, + detail::tocpp(bindingEnergy), + detail::tocpp(decayData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ConfigurationAssign(ConstHandle2Configuration This, ConstHandle2ConstConfiguration from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ConfigurationDelete(ConstHandle2ConstConfiguration This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ConfigurationRead(ConstHandle2Configuration This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ConfigurationWrite(ConstHandle2ConstConfiguration This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ConfigurationPrint(ConstHandle2ConstConfiguration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ConfigurationPrintXML(ConstHandle2ConstConfiguration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ConfigurationPrintJSON(ConstHandle2ConstConfiguration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: subshell +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationSubshellHas(ConstHandle2ConstConfiguration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SubshellHas", This, extract::subshell); +} + +// Get +// Returns by value +const char * +ConfigurationSubshellGet(ConstHandle2ConstConfiguration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SubshellGet", This, extract::subshell); +} + +// Set +void +ConfigurationSubshellSet(ConstHandle2Configuration This, const char *const subshell) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SubshellSet", This, extract::subshell, subshell); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: electronNumber +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationElectronNumberHas(ConstHandle2ConstConfiguration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ElectronNumberHas", This, extract::electronNumber); +} + +// Get +// Returns by value +Float64 +ConfigurationElectronNumberGet(ConstHandle2ConstConfiguration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ElectronNumberGet", This, extract::electronNumber); +} + +// Set +void +ConfigurationElectronNumberSet(ConstHandle2Configuration This, const Float64 electronNumber) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ElectronNumberSet", This, extract::electronNumber, electronNumber); +} + + +// ----------------------------------------------------------------------------- +// Child: bindingEnergy +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationBindingEnergyHas(ConstHandle2ConstConfiguration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BindingEnergyHas", This, extract::bindingEnergy); +} + +// Get, const +Handle2ConstBindingEnergy +ConfigurationBindingEnergyGetConst(ConstHandle2ConstConfiguration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BindingEnergyGetConst", This, extract::bindingEnergy); +} + +// Get, non-const +Handle2BindingEnergy +ConfigurationBindingEnergyGet(ConstHandle2Configuration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BindingEnergyGet", This, extract::bindingEnergy); +} + +// Set +void +ConfigurationBindingEnergySet(ConstHandle2Configuration This, ConstHandle2ConstBindingEnergy bindingEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BindingEnergySet", This, extract::bindingEnergy, bindingEnergy); +} + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationDecayDataHas(ConstHandle2ConstConfiguration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayDataHas", This, extract::decayData); +} + +// Get, const +Handle2ConstDecayData +ConfigurationDecayDataGetConst(ConstHandle2ConstConfiguration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGetConst", This, extract::decayData); +} + +// Get, non-const +Handle2DecayData +ConfigurationDecayDataGet(ConstHandle2Configuration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGet", This, extract::decayData); +} + +// Set +void +ConfigurationDecayDataSet(ConstHandle2Configuration This, ConstHandle2ConstDecayData decayData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DecayDataSet", This, extract::decayData, decayData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.h new file mode 100644 index 000000000..96c659041 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Configuration is the basic handle type in this file. Example: +// // Create a default Configuration object: +// Configuration handle = ConfigurationDefault(); +// Functions involving Configuration are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_CONFIGURATION +#define C_INTERFACE_TRY_V2_0_POPS_CONFIGURATION + +#include "GNDStk.h" +#include "v2.0/pops/BindingEnergy.h" +#include "v2.0/pops/DecayData.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ConfigurationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Configuration +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ConfigurationClass *Configuration; + +// --- Const-aware handles. +typedef const struct ConfigurationClass *const ConstHandle2ConstConfiguration; +typedef struct ConfigurationClass *const ConstHandle2Configuration; +typedef const struct ConfigurationClass * Handle2ConstConfiguration; +typedef struct ConfigurationClass * Handle2Configuration; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstConfiguration +ConfigurationDefaultConst(); + +// +++ Create, default +extern_c Handle2Configuration +ConfigurationDefault(); + +// --- Create, general, const +extern_c Handle2ConstConfiguration +ConfigurationCreateConst( + const char *const subshell, + const Float64 electronNumber, + ConstHandle2ConstBindingEnergy bindingEnergy, + ConstHandle2ConstDecayData decayData +); + +// +++ Create, general +extern_c Handle2Configuration +ConfigurationCreate( + const char *const subshell, + const Float64 electronNumber, + ConstHandle2ConstBindingEnergy bindingEnergy, + ConstHandle2ConstDecayData decayData +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ConfigurationAssign(ConstHandle2Configuration This, ConstHandle2ConstConfiguration from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ConfigurationDelete(ConstHandle2ConstConfiguration This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ConfigurationRead(ConstHandle2Configuration This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ConfigurationWrite(ConstHandle2ConstConfiguration This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ConfigurationPrint(ConstHandle2ConstConfiguration This); + +// +++ Print to standard output, as XML +extern_c int +ConfigurationPrintXML(ConstHandle2ConstConfiguration This); + +// +++ Print to standard output, as JSON +extern_c int +ConfigurationPrintJSON(ConstHandle2ConstConfiguration This); + + +// ----------------------------------------------------------------------------- +// Metadatum: subshell +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationSubshellHas(ConstHandle2ConstConfiguration This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ConfigurationSubshellGet(ConstHandle2ConstConfiguration This); + +// +++ Set +extern_c void +ConfigurationSubshellSet(ConstHandle2Configuration This, const char *const subshell); + + +// ----------------------------------------------------------------------------- +// Metadatum: electronNumber +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationElectronNumberHas(ConstHandle2ConstConfiguration This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +ConfigurationElectronNumberGet(ConstHandle2ConstConfiguration This); + +// +++ Set +extern_c void +ConfigurationElectronNumberSet(ConstHandle2Configuration This, const Float64 electronNumber); + + +// ----------------------------------------------------------------------------- +// Child: bindingEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationBindingEnergyHas(ConstHandle2ConstConfiguration This); + +// --- Get, const +extern_c Handle2ConstBindingEnergy +ConfigurationBindingEnergyGetConst(ConstHandle2ConstConfiguration This); + +// +++ Get, non-const +extern_c Handle2BindingEnergy +ConfigurationBindingEnergyGet(ConstHandle2Configuration This); + +// +++ Set +extern_c void +ConfigurationBindingEnergySet(ConstHandle2Configuration This, ConstHandle2ConstBindingEnergy bindingEnergy); + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationDecayDataHas(ConstHandle2ConstConfiguration This); + +// --- Get, const +extern_c Handle2ConstDecayData +ConfigurationDecayDataGetConst(ConstHandle2ConstConfiguration This); + +// +++ Get, non-const +extern_c Handle2DecayData +ConfigurationDecayDataGet(ConstHandle2Configuration This); + +// +++ Set +extern_c void +ConfigurationDecayDataSet(ConstHandle2Configuration This, ConstHandle2ConstDecayData decayData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.cpp new file mode 100644 index 000000000..54fe3f692 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Configurations.hpp" +#include "Configurations.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ConfigurationsClass; +using CPP = multigroup::Configurations; + +static const std::string CLASSNAME = "Configurations"; + +namespace extract { + static auto configuration = [](auto &obj) { return &obj.configuration; }; +} + +using CPPConfiguration = pops::Configuration; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstConfigurations +ConfigurationsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Configurations +ConfigurationsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstConfigurations +ConfigurationsCreateConst( + ConstHandle2Configuration *const configuration, const size_t configurationSize +) { + ConstHandle2Configurations handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ConfigurationN = 0; ConfigurationN < configurationSize; ++ConfigurationN) + ConfigurationsConfigurationAdd(handle, configuration[ConfigurationN]); + return handle; +} + +// Create, general +Handle2Configurations +ConfigurationsCreate( + ConstHandle2Configuration *const configuration, const size_t configurationSize +) { + ConstHandle2Configurations handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ConfigurationN = 0; ConfigurationN < configurationSize; ++ConfigurationN) + ConfigurationsConfigurationAdd(handle, configuration[ConfigurationN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ConfigurationsAssign(ConstHandle2Configurations This, ConstHandle2ConstConfigurations from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ConfigurationsDelete(ConstHandle2ConstConfigurations This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ConfigurationsRead(ConstHandle2Configurations This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ConfigurationsWrite(ConstHandle2ConstConfigurations This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ConfigurationsPrint(ConstHandle2ConstConfigurations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ConfigurationsPrintXML(ConstHandle2ConstConfigurations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ConfigurationsPrintJSON(ConstHandle2ConstConfigurations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: configuration +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationsConfigurationHas(ConstHandle2ConstConfigurations This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfigurationHas", This, extract::configuration); +} + +// Clear +void +ConfigurationsConfigurationClear(ConstHandle2Configurations This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ConfigurationClear", This, extract::configuration); +} + +// Size +size_t +ConfigurationsConfigurationSize(ConstHandle2ConstConfigurations This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ConfigurationSize", This, extract::configuration); +} + +// Add +void +ConfigurationsConfigurationAdd(ConstHandle2Configurations This, ConstHandle2ConstConfiguration configuration) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ConfigurationAdd", This, extract::configuration, configuration); +} + +// Get, by index \in [0,size), const +Handle2ConstConfiguration +ConfigurationsConfigurationGetConst(ConstHandle2ConstConfigurations This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ConfigurationGetConst", This, extract::configuration, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Configuration +ConfigurationsConfigurationGet(ConstHandle2Configurations This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ConfigurationGet", This, extract::configuration, index_); +} + +// Set, by index \in [0,size) +void +ConfigurationsConfigurationSet( + ConstHandle2Configurations This, + const size_t index_, + ConstHandle2ConstConfiguration configuration +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ConfigurationSet", This, extract::configuration, index_, configuration); +} + +// Has, by subshell +int +ConfigurationsConfigurationHasBySubshell( + ConstHandle2ConstConfigurations This, + const char *const subshell +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationHasBySubshell", + This, extract::configuration, meta::subshell, subshell); +} + +// Get, by subshell, const +Handle2ConstConfiguration +ConfigurationsConfigurationGetBySubshellConst( + ConstHandle2ConstConfigurations This, + const char *const subshell +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationGetBySubshellConst", + This, extract::configuration, meta::subshell, subshell); +} + +// Get, by subshell, non-const +Handle2Configuration +ConfigurationsConfigurationGetBySubshell( + ConstHandle2Configurations This, + const char *const subshell +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationGetBySubshell", + This, extract::configuration, meta::subshell, subshell); +} + +// Set, by subshell +void +ConfigurationsConfigurationSetBySubshell( + ConstHandle2Configurations This, + const char *const subshell, + ConstHandle2ConstConfiguration configuration +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationSetBySubshell", + This, extract::configuration, meta::subshell, subshell, configuration); +} + +// Has, by electronNumber +int +ConfigurationsConfigurationHasByElectronNumber( + ConstHandle2ConstConfigurations This, + const Float64 electronNumber +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationHasByElectronNumber", + This, extract::configuration, meta::electronNumber, electronNumber); +} + +// Get, by electronNumber, const +Handle2ConstConfiguration +ConfigurationsConfigurationGetByElectronNumberConst( + ConstHandle2ConstConfigurations This, + const Float64 electronNumber +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationGetByElectronNumberConst", + This, extract::configuration, meta::electronNumber, electronNumber); +} + +// Get, by electronNumber, non-const +Handle2Configuration +ConfigurationsConfigurationGetByElectronNumber( + ConstHandle2Configurations This, + const Float64 electronNumber +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationGetByElectronNumber", + This, extract::configuration, meta::electronNumber, electronNumber); +} + +// Set, by electronNumber +void +ConfigurationsConfigurationSetByElectronNumber( + ConstHandle2Configurations This, + const Float64 electronNumber, + ConstHandle2ConstConfiguration configuration +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationSetByElectronNumber", + This, extract::configuration, meta::electronNumber, electronNumber, configuration); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.h new file mode 100644 index 000000000..7883a5c91 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Configurations is the basic handle type in this file. Example: +// // Create a default Configurations object: +// Configurations handle = ConfigurationsDefault(); +// Functions involving Configurations are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_CONFIGURATIONS +#define C_INTERFACE_TRY_V2_0_POPS_CONFIGURATIONS + +#include "GNDStk.h" +#include "v2.0/pops/Configuration.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ConfigurationsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Configurations +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ConfigurationsClass *Configurations; + +// --- Const-aware handles. +typedef const struct ConfigurationsClass *const ConstHandle2ConstConfigurations; +typedef struct ConfigurationsClass *const ConstHandle2Configurations; +typedef const struct ConfigurationsClass * Handle2ConstConfigurations; +typedef struct ConfigurationsClass * Handle2Configurations; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstConfigurations +ConfigurationsDefaultConst(); + +// +++ Create, default +extern_c Handle2Configurations +ConfigurationsDefault(); + +// --- Create, general, const +extern_c Handle2ConstConfigurations +ConfigurationsCreateConst( + ConstHandle2Configuration *const configuration, const size_t configurationSize +); + +// +++ Create, general +extern_c Handle2Configurations +ConfigurationsCreate( + ConstHandle2Configuration *const configuration, const size_t configurationSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ConfigurationsAssign(ConstHandle2Configurations This, ConstHandle2ConstConfigurations from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ConfigurationsDelete(ConstHandle2ConstConfigurations This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ConfigurationsRead(ConstHandle2Configurations This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ConfigurationsWrite(ConstHandle2ConstConfigurations This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ConfigurationsPrint(ConstHandle2ConstConfigurations This); + +// +++ Print to standard output, as XML +extern_c int +ConfigurationsPrintXML(ConstHandle2ConstConfigurations This); + +// +++ Print to standard output, as JSON +extern_c int +ConfigurationsPrintJSON(ConstHandle2ConstConfigurations This); + + +// ----------------------------------------------------------------------------- +// Child: configuration +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationsConfigurationHas(ConstHandle2ConstConfigurations This); + +// +++ Clear +extern_c void +ConfigurationsConfigurationClear(ConstHandle2Configurations This); + +// +++ Size +extern_c size_t +ConfigurationsConfigurationSize(ConstHandle2ConstConfigurations This); + +// +++ Add +extern_c void +ConfigurationsConfigurationAdd(ConstHandle2Configurations This, ConstHandle2ConstConfiguration configuration); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstConfiguration +ConfigurationsConfigurationGetConst(ConstHandle2ConstConfigurations This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Configuration +ConfigurationsConfigurationGet(ConstHandle2Configurations This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ConfigurationsConfigurationSet( + ConstHandle2Configurations This, + const size_t index_, + ConstHandle2ConstConfiguration configuration +); + +// +++ Has, by subshell +extern_c int +ConfigurationsConfigurationHasBySubshell( + ConstHandle2ConstConfigurations This, + const char *const subshell +); + +// --- Get, by subshell, const +extern_c Handle2ConstConfiguration +ConfigurationsConfigurationGetBySubshellConst( + ConstHandle2ConstConfigurations This, + const char *const subshell +); + +// +++ Get, by subshell, non-const +extern_c Handle2Configuration +ConfigurationsConfigurationGetBySubshell( + ConstHandle2Configurations This, + const char *const subshell +); + +// +++ Set, by subshell +extern_c void +ConfigurationsConfigurationSetBySubshell( + ConstHandle2Configurations This, + const char *const subshell, + ConstHandle2ConstConfiguration configuration +); + +// +++ Has, by electronNumber +extern_c int +ConfigurationsConfigurationHasByElectronNumber( + ConstHandle2ConstConfigurations This, + const Float64 electronNumber +); + +// --- Get, by electronNumber, const +extern_c Handle2ConstConfiguration +ConfigurationsConfigurationGetByElectronNumberConst( + ConstHandle2ConstConfigurations This, + const Float64 electronNumber +); + +// +++ Get, by electronNumber, non-const +extern_c Handle2Configuration +ConfigurationsConfigurationGetByElectronNumber( + ConstHandle2Configurations This, + const Float64 electronNumber +); + +// +++ Set, by electronNumber +extern_c void +ConfigurationsConfigurationSetByElectronNumber( + ConstHandle2Configurations This, + const Float64 electronNumber, + ConstHandle2ConstConfiguration configuration +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp new file mode 100644 index 000000000..c39379293 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Continuum.hpp" +#include "Continuum.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ContinuumClass; +using CPP = multigroup::Continuum; + +static const std::string CLASSNAME = "Continuum"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstContinuum +ContinuumDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Continuum +ContinuumDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstContinuum +ContinuumCreateConst( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2Continuum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Create, general +Handle2Continuum +ContinuumCreate( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2Continuum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ContinuumAssign(ConstHandle2Continuum This, ConstHandle2ConstContinuum from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ContinuumDelete(ConstHandle2ConstContinuum This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ContinuumRead(ConstHandle2Continuum This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ContinuumWrite(ConstHandle2ConstContinuum This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ContinuumPrint(ConstHandle2ConstContinuum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ContinuumPrintXML(ConstHandle2ConstContinuum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ContinuumPrintJSON(ConstHandle2ConstContinuum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +ContinuumXYs1dHas(ConstHandle2ConstContinuum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +ContinuumXYs1dGetConst(ConstHandle2ConstContinuum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +ContinuumXYs1dGet(ConstHandle2Continuum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +ContinuumXYs1dSet(ConstHandle2Continuum This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h new file mode 100644 index 000000000..b7a014d0f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Continuum is the basic handle type in this file. Example: +// // Create a default Continuum object: +// Continuum handle = ContinuumDefault(); +// Functions involving Continuum are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_CONTINUUM +#define C_INTERFACE_TRY_V2_0_POPS_CONTINUUM + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ContinuumClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Continuum +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ContinuumClass *Continuum; + +// --- Const-aware handles. +typedef const struct ContinuumClass *const ConstHandle2ConstContinuum; +typedef struct ContinuumClass *const ConstHandle2Continuum; +typedef const struct ContinuumClass * Handle2ConstContinuum; +typedef struct ContinuumClass * Handle2Continuum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstContinuum +ContinuumDefaultConst(); + +// +++ Create, default +extern_c Handle2Continuum +ContinuumDefault(); + +// --- Create, general, const +extern_c Handle2ConstContinuum +ContinuumCreateConst( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Create, general +extern_c Handle2Continuum +ContinuumCreate( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ContinuumAssign(ConstHandle2Continuum This, ConstHandle2ConstContinuum from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ContinuumDelete(ConstHandle2ConstContinuum This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ContinuumRead(ConstHandle2Continuum This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ContinuumWrite(ConstHandle2ConstContinuum This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ContinuumPrint(ConstHandle2ConstContinuum This); + +// +++ Print to standard output, as XML +extern_c int +ContinuumPrintXML(ConstHandle2ConstContinuum This); + +// +++ Print to standard output, as JSON +extern_c int +ContinuumPrintJSON(ConstHandle2ConstContinuum This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ContinuumXYs1dHas(ConstHandle2ConstContinuum This); + +// --- Get, const +extern_c Handle2ConstXYs1d +ContinuumXYs1dGetConst(ConstHandle2ConstContinuum This); + +// +++ Get, non-const +extern_c Handle2XYs1d +ContinuumXYs1dGet(ConstHandle2Continuum This); + +// +++ Set +extern_c void +ContinuumXYs1dSet(ConstHandle2Continuum This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.cpp new file mode 100644 index 000000000..c38b1488c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Decay.hpp" +#include "Decay.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DecayClass; +using CPP = multigroup::Decay; + +static const std::string CLASSNAME = "Decay"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto mode = [](auto &obj) { return &obj.mode; }; + static auto complete = [](auto &obj) { return &obj.complete; }; + static auto products = [](auto &obj) { return &obj.products; }; +} + +using CPPProducts = pops::Products; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDecay +DecayDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Decay +DecayDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDecay +DecayCreateConst( + const Integer32 index, + const enums::DecayType mode, + const bool complete, + ConstHandle2ConstProducts products +) { + ConstHandle2Decay handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + mode, + complete, + detail::tocpp(products) + ); + return handle; +} + +// Create, general +Handle2Decay +DecayCreate( + const Integer32 index, + const enums::DecayType mode, + const bool complete, + ConstHandle2ConstProducts products +) { + ConstHandle2Decay handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + mode, + complete, + detail::tocpp(products) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DecayAssign(ConstHandle2Decay This, ConstHandle2ConstDecay from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DecayDelete(ConstHandle2ConstDecay This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DecayRead(ConstHandle2Decay This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DecayWrite(ConstHandle2ConstDecay This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DecayPrint(ConstHandle2ConstDecay This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DecayPrintXML(ConstHandle2ConstDecay This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DecayPrintJSON(ConstHandle2ConstDecay This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +DecayIndexHas(ConstHandle2ConstDecay This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +Integer32 +DecayIndexGet(ConstHandle2ConstDecay This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +DecayIndexSet(ConstHandle2Decay This, const Integer32 index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: mode +// ----------------------------------------------------------------------------- + +// Has +int +DecayModeHas(ConstHandle2ConstDecay This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ModeHas", This, extract::mode); +} + +// Get +// Returns by value +enums::DecayType +DecayModeGet(ConstHandle2ConstDecay This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ModeGet", This, extract::mode); +} + +// Set +void +DecayModeSet(ConstHandle2Decay This, const enums::DecayType mode) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ModeSet", This, extract::mode, mode); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: complete +// ----------------------------------------------------------------------------- + +// Has +int +DecayCompleteHas(ConstHandle2ConstDecay This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CompleteHas", This, extract::complete); +} + +// Get +// Returns by value +bool +DecayCompleteGet(ConstHandle2ConstDecay This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CompleteGet", This, extract::complete); +} + +// Set +void +DecayCompleteSet(ConstHandle2Decay This, const bool complete) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CompleteSet", This, extract::complete, complete); +} + + +// ----------------------------------------------------------------------------- +// Child: products +// ----------------------------------------------------------------------------- + +// Has +int +DecayProductsHas(ConstHandle2ConstDecay This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductsHas", This, extract::products); +} + +// Get, const +Handle2ConstProducts +DecayProductsGetConst(ConstHandle2ConstDecay This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductsGetConst", This, extract::products); +} + +// Get, non-const +Handle2Products +DecayProductsGet(ConstHandle2Decay This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductsGet", This, extract::products); +} + +// Set +void +DecayProductsSet(ConstHandle2Decay This, ConstHandle2ConstProducts products) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductsSet", This, extract::products, products); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.h new file mode 100644 index 000000000..f5ba43cb2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Decay is the basic handle type in this file. Example: +// // Create a default Decay object: +// Decay handle = DecayDefault(); +// Functions involving Decay are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAY +#define C_INTERFACE_TRY_V2_0_POPS_DECAY + +#include "GNDStk.h" +#include "v2.0/pops/Products.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DecayClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Decay +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DecayClass *Decay; + +// --- Const-aware handles. +typedef const struct DecayClass *const ConstHandle2ConstDecay; +typedef struct DecayClass *const ConstHandle2Decay; +typedef const struct DecayClass * Handle2ConstDecay; +typedef struct DecayClass * Handle2Decay; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDecay +DecayDefaultConst(); + +// +++ Create, default +extern_c Handle2Decay +DecayDefault(); + +// --- Create, general, const +extern_c Handle2ConstDecay +DecayCreateConst( + const Integer32 index, + const enums::DecayType mode, + const bool complete, + ConstHandle2ConstProducts products +); + +// +++ Create, general +extern_c Handle2Decay +DecayCreate( + const Integer32 index, + const enums::DecayType mode, + const bool complete, + ConstHandle2ConstProducts products +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DecayAssign(ConstHandle2Decay This, ConstHandle2ConstDecay from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DecayDelete(ConstHandle2ConstDecay This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DecayRead(ConstHandle2Decay This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DecayWrite(ConstHandle2ConstDecay This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DecayPrint(ConstHandle2ConstDecay This); + +// +++ Print to standard output, as XML +extern_c int +DecayPrintXML(ConstHandle2ConstDecay This); + +// +++ Print to standard output, as JSON +extern_c int +DecayPrintJSON(ConstHandle2ConstDecay This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayIndexHas(ConstHandle2ConstDecay This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +DecayIndexGet(ConstHandle2ConstDecay This); + +// +++ Set +extern_c void +DecayIndexSet(ConstHandle2Decay This, const Integer32 index); + + +// ----------------------------------------------------------------------------- +// Metadatum: mode +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModeHas(ConstHandle2ConstDecay This); + +// +++ Get +// +++ Returns by value +extern_c enums::DecayType +DecayModeGet(ConstHandle2ConstDecay This); + +// +++ Set +extern_c void +DecayModeSet(ConstHandle2Decay This, const enums::DecayType mode); + + +// ----------------------------------------------------------------------------- +// Metadatum: complete +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayCompleteHas(ConstHandle2ConstDecay This); + +// +++ Get +// +++ Returns by value +extern_c bool +DecayCompleteGet(ConstHandle2ConstDecay This); + +// +++ Set +extern_c void +DecayCompleteSet(ConstHandle2Decay This, const bool complete); + + +// ----------------------------------------------------------------------------- +// Child: products +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayProductsHas(ConstHandle2ConstDecay This); + +// --- Get, const +extern_c Handle2ConstProducts +DecayProductsGetConst(ConstHandle2ConstDecay This); + +// +++ Get, non-const +extern_c Handle2Products +DecayProductsGet(ConstHandle2Decay This); + +// +++ Set +extern_c void +DecayProductsSet(ConstHandle2Decay This, ConstHandle2ConstProducts products); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.cpp new file mode 100644 index 000000000..37c59ee02 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/DecayData.hpp" +#include "DecayData.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DecayDataClass; +using CPP = multigroup::DecayData; + +static const std::string CLASSNAME = "DecayData"; + +namespace extract { + static auto decayModes = [](auto &obj) { return &obj.decayModes; }; + static auto averageEnergies = [](auto &obj) { return &obj.averageEnergies; }; +} + +using CPPDecayModes = pops::DecayModes; +using CPPAverageEnergies = pops::AverageEnergies; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDecayData +DecayDataDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DecayData +DecayDataDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDecayData +DecayDataCreateConst( + ConstHandle2ConstDecayModes decayModes, + ConstHandle2ConstAverageEnergies averageEnergies +) { + ConstHandle2DecayData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(decayModes), + detail::tocpp(averageEnergies) + ); + return handle; +} + +// Create, general +Handle2DecayData +DecayDataCreate( + ConstHandle2ConstDecayModes decayModes, + ConstHandle2ConstAverageEnergies averageEnergies +) { + ConstHandle2DecayData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(decayModes), + detail::tocpp(averageEnergies) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DecayDataAssign(ConstHandle2DecayData This, ConstHandle2ConstDecayData from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DecayDataDelete(ConstHandle2ConstDecayData This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DecayDataRead(ConstHandle2DecayData This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DecayDataWrite(ConstHandle2ConstDecayData This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DecayDataPrint(ConstHandle2ConstDecayData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DecayDataPrintXML(ConstHandle2ConstDecayData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DecayDataPrintJSON(ConstHandle2ConstDecayData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: decayModes +// ----------------------------------------------------------------------------- + +// Has +int +DecayDataDecayModesHas(ConstHandle2ConstDecayData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayModesHas", This, extract::decayModes); +} + +// Get, const +Handle2ConstDecayModes +DecayDataDecayModesGetConst(ConstHandle2ConstDecayData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayModesGetConst", This, extract::decayModes); +} + +// Get, non-const +Handle2DecayModes +DecayDataDecayModesGet(ConstHandle2DecayData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayModesGet", This, extract::decayModes); +} + +// Set +void +DecayDataDecayModesSet(ConstHandle2DecayData This, ConstHandle2ConstDecayModes decayModes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DecayModesSet", This, extract::decayModes, decayModes); +} + + +// ----------------------------------------------------------------------------- +// Child: averageEnergies +// ----------------------------------------------------------------------------- + +// Has +int +DecayDataAverageEnergiesHas(ConstHandle2ConstDecayData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AverageEnergiesHas", This, extract::averageEnergies); +} + +// Get, const +Handle2ConstAverageEnergies +DecayDataAverageEnergiesGetConst(ConstHandle2ConstDecayData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AverageEnergiesGetConst", This, extract::averageEnergies); +} + +// Get, non-const +Handle2AverageEnergies +DecayDataAverageEnergiesGet(ConstHandle2DecayData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AverageEnergiesGet", This, extract::averageEnergies); +} + +// Set +void +DecayDataAverageEnergiesSet(ConstHandle2DecayData This, ConstHandle2ConstAverageEnergies averageEnergies) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AverageEnergiesSet", This, extract::averageEnergies, averageEnergies); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.h b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.h new file mode 100644 index 000000000..9dd83c401 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DecayData is the basic handle type in this file. Example: +// // Create a default DecayData object: +// DecayData handle = DecayDataDefault(); +// Functions involving DecayData are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAYDATA +#define C_INTERFACE_TRY_V2_0_POPS_DECAYDATA + +#include "GNDStk.h" +#include "v2.0/pops/DecayModes.h" +#include "v2.0/pops/AverageEnergies.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DecayDataClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DecayData +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DecayDataClass *DecayData; + +// --- Const-aware handles. +typedef const struct DecayDataClass *const ConstHandle2ConstDecayData; +typedef struct DecayDataClass *const ConstHandle2DecayData; +typedef const struct DecayDataClass * Handle2ConstDecayData; +typedef struct DecayDataClass * Handle2DecayData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDecayData +DecayDataDefaultConst(); + +// +++ Create, default +extern_c Handle2DecayData +DecayDataDefault(); + +// --- Create, general, const +extern_c Handle2ConstDecayData +DecayDataCreateConst( + ConstHandle2ConstDecayModes decayModes, + ConstHandle2ConstAverageEnergies averageEnergies +); + +// +++ Create, general +extern_c Handle2DecayData +DecayDataCreate( + ConstHandle2ConstDecayModes decayModes, + ConstHandle2ConstAverageEnergies averageEnergies +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DecayDataAssign(ConstHandle2DecayData This, ConstHandle2ConstDecayData from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DecayDataDelete(ConstHandle2ConstDecayData This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DecayDataRead(ConstHandle2DecayData This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DecayDataWrite(ConstHandle2ConstDecayData This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DecayDataPrint(ConstHandle2ConstDecayData This); + +// +++ Print to standard output, as XML +extern_c int +DecayDataPrintXML(ConstHandle2ConstDecayData This); + +// +++ Print to standard output, as JSON +extern_c int +DecayDataPrintJSON(ConstHandle2ConstDecayData This); + + +// ----------------------------------------------------------------------------- +// Child: decayModes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayDataDecayModesHas(ConstHandle2ConstDecayData This); + +// --- Get, const +extern_c Handle2ConstDecayModes +DecayDataDecayModesGetConst(ConstHandle2ConstDecayData This); + +// +++ Get, non-const +extern_c Handle2DecayModes +DecayDataDecayModesGet(ConstHandle2DecayData This); + +// +++ Set +extern_c void +DecayDataDecayModesSet(ConstHandle2DecayData This, ConstHandle2ConstDecayModes decayModes); + + +// ----------------------------------------------------------------------------- +// Child: averageEnergies +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayDataAverageEnergiesHas(ConstHandle2ConstDecayData This); + +// --- Get, const +extern_c Handle2ConstAverageEnergies +DecayDataAverageEnergiesGetConst(ConstHandle2ConstDecayData This); + +// +++ Get, non-const +extern_c Handle2AverageEnergies +DecayDataAverageEnergiesGet(ConstHandle2DecayData This); + +// +++ Set +extern_c void +DecayDataAverageEnergiesSet(ConstHandle2DecayData This, ConstHandle2ConstAverageEnergies averageEnergies); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.cpp new file mode 100644 index 000000000..124fcc8d5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.cpp @@ -0,0 +1,459 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/DecayMode.hpp" +#include "DecayMode.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DecayModeClass; +using CPP = multigroup::DecayMode; + +static const std::string CLASSNAME = "DecayMode"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto mode = [](auto &obj) { return &obj.mode; }; + static auto probability = [](auto &obj) { return &obj.probability; }; + static auto internalConversionCoefficients = [](auto &obj) { return &obj.internalConversionCoefficients; }; + static auto photonEmissionProbabilities = [](auto &obj) { return &obj.photonEmissionProbabilities; }; + static auto Q = [](auto &obj) { return &obj.Q; }; + static auto decayPath = [](auto &obj) { return &obj.decayPath; }; + static auto spectra = [](auto &obj) { return &obj.spectra; }; +} + +using CPPProbability = pops::Probability; +using CPPInternalConversionCoefficients = pops::InternalConversionCoefficients; +using CPPPhotonEmissionProbabilities = pops::PhotonEmissionProbabilities; +using CPPQ = pops::Q; +using CPPDecayPath = pops::DecayPath; +using CPPSpectra = pops::Spectra; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDecayMode +DecayModeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DecayMode +DecayModeDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDecayMode +DecayModeCreateConst( + const XMLName label, + const enums::DecayType mode, + ConstHandle2ConstProbability probability, + ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients, + ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities, + ConstHandle2ConstQ Q, + ConstHandle2ConstDecayPath decayPath, + ConstHandle2ConstSpectra spectra +) { + ConstHandle2DecayMode handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + mode, + detail::tocpp(probability), + detail::tocpp(internalConversionCoefficients), + detail::tocpp(photonEmissionProbabilities), + detail::tocpp(Q), + detail::tocpp(decayPath), + detail::tocpp(spectra) + ); + return handle; +} + +// Create, general +Handle2DecayMode +DecayModeCreate( + const XMLName label, + const enums::DecayType mode, + ConstHandle2ConstProbability probability, + ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients, + ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities, + ConstHandle2ConstQ Q, + ConstHandle2ConstDecayPath decayPath, + ConstHandle2ConstSpectra spectra +) { + ConstHandle2DecayMode handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + mode, + detail::tocpp(probability), + detail::tocpp(internalConversionCoefficients), + detail::tocpp(photonEmissionProbabilities), + detail::tocpp(Q), + detail::tocpp(decayPath), + detail::tocpp(spectra) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DecayModeAssign(ConstHandle2DecayMode This, ConstHandle2ConstDecayMode from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DecayModeDelete(ConstHandle2ConstDecayMode This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DecayModeRead(ConstHandle2DecayMode This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DecayModeWrite(ConstHandle2ConstDecayMode This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DecayModePrint(ConstHandle2ConstDecayMode This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DecayModePrintXML(ConstHandle2ConstDecayMode This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DecayModePrintJSON(ConstHandle2ConstDecayMode This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +DecayModeLabelHas(ConstHandle2ConstDecayMode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +DecayModeLabelGet(ConstHandle2ConstDecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +DecayModeLabelSet(ConstHandle2DecayMode This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: mode +// ----------------------------------------------------------------------------- + +// Has +int +DecayModeModeHas(ConstHandle2ConstDecayMode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ModeHas", This, extract::mode); +} + +// Get +// Returns by value +enums::DecayType +DecayModeModeGet(ConstHandle2ConstDecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ModeGet", This, extract::mode); +} + +// Set +void +DecayModeModeSet(ConstHandle2DecayMode This, const enums::DecayType mode) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ModeSet", This, extract::mode, mode); +} + + +// ----------------------------------------------------------------------------- +// Child: probability +// ----------------------------------------------------------------------------- + +// Has +int +DecayModeProbabilityHas(ConstHandle2ConstDecayMode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProbabilityHas", This, extract::probability); +} + +// Get, const +Handle2ConstProbability +DecayModeProbabilityGetConst(ConstHandle2ConstDecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProbabilityGetConst", This, extract::probability); +} + +// Get, non-const +Handle2Probability +DecayModeProbabilityGet(ConstHandle2DecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProbabilityGet", This, extract::probability); +} + +// Set +void +DecayModeProbabilitySet(ConstHandle2DecayMode This, ConstHandle2ConstProbability probability) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProbabilitySet", This, extract::probability, probability); +} + + +// ----------------------------------------------------------------------------- +// Child: internalConversionCoefficients +// ----------------------------------------------------------------------------- + +// Has +int +DecayModeInternalConversionCoefficientsHas(ConstHandle2ConstDecayMode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InternalConversionCoefficientsHas", This, extract::internalConversionCoefficients); +} + +// Get, const +Handle2ConstInternalConversionCoefficients +DecayModeInternalConversionCoefficientsGetConst(ConstHandle2ConstDecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InternalConversionCoefficientsGetConst", This, extract::internalConversionCoefficients); +} + +// Get, non-const +Handle2InternalConversionCoefficients +DecayModeInternalConversionCoefficientsGet(ConstHandle2DecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InternalConversionCoefficientsGet", This, extract::internalConversionCoefficients); +} + +// Set +void +DecayModeInternalConversionCoefficientsSet(ConstHandle2DecayMode This, ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InternalConversionCoefficientsSet", This, extract::internalConversionCoefficients, internalConversionCoefficients); +} + + +// ----------------------------------------------------------------------------- +// Child: photonEmissionProbabilities +// ----------------------------------------------------------------------------- + +// Has +int +DecayModePhotonEmissionProbabilitiesHas(ConstHandle2ConstDecayMode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PhotonEmissionProbabilitiesHas", This, extract::photonEmissionProbabilities); +} + +// Get, const +Handle2ConstPhotonEmissionProbabilities +DecayModePhotonEmissionProbabilitiesGetConst(ConstHandle2ConstDecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PhotonEmissionProbabilitiesGetConst", This, extract::photonEmissionProbabilities); +} + +// Get, non-const +Handle2PhotonEmissionProbabilities +DecayModePhotonEmissionProbabilitiesGet(ConstHandle2DecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PhotonEmissionProbabilitiesGet", This, extract::photonEmissionProbabilities); +} + +// Set +void +DecayModePhotonEmissionProbabilitiesSet(ConstHandle2DecayMode This, ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PhotonEmissionProbabilitiesSet", This, extract::photonEmissionProbabilities, photonEmissionProbabilities); +} + + +// ----------------------------------------------------------------------------- +// Child: Q +// ----------------------------------------------------------------------------- + +// Has +int +DecayModeQHas(ConstHandle2ConstDecayMode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"QHas", This, extract::Q); +} + +// Get, const +Handle2ConstQ +DecayModeQGetConst(ConstHandle2ConstDecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"QGetConst", This, extract::Q); +} + +// Get, non-const +Handle2Q +DecayModeQGet(ConstHandle2DecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"QGet", This, extract::Q); +} + +// Set +void +DecayModeQSet(ConstHandle2DecayMode This, ConstHandle2ConstQ Q) +{ + detail::setField + (CLASSNAME, CLASSNAME+"QSet", This, extract::Q, Q); +} + + +// ----------------------------------------------------------------------------- +// Child: decayPath +// ----------------------------------------------------------------------------- + +// Has +int +DecayModeDecayPathHas(ConstHandle2ConstDecayMode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayPathHas", This, extract::decayPath); +} + +// Get, const +Handle2ConstDecayPath +DecayModeDecayPathGetConst(ConstHandle2ConstDecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayPathGetConst", This, extract::decayPath); +} + +// Get, non-const +Handle2DecayPath +DecayModeDecayPathGet(ConstHandle2DecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayPathGet", This, extract::decayPath); +} + +// Set +void +DecayModeDecayPathSet(ConstHandle2DecayMode This, ConstHandle2ConstDecayPath decayPath) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DecayPathSet", This, extract::decayPath, decayPath); +} + + +// ----------------------------------------------------------------------------- +// Child: spectra +// ----------------------------------------------------------------------------- + +// Has +int +DecayModeSpectraHas(ConstHandle2ConstDecayMode This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpectraHas", This, extract::spectra); +} + +// Get, const +Handle2ConstSpectra +DecayModeSpectraGetConst(ConstHandle2ConstDecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpectraGetConst", This, extract::spectra); +} + +// Get, non-const +Handle2Spectra +DecayModeSpectraGet(ConstHandle2DecayMode This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpectraGet", This, extract::spectra); +} + +// Set +void +DecayModeSpectraSet(ConstHandle2DecayMode This, ConstHandle2ConstSpectra spectra) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SpectraSet", This, extract::spectra, spectra); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.h b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.h new file mode 100644 index 000000000..5c695cc15 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.h @@ -0,0 +1,319 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DecayMode is the basic handle type in this file. Example: +// // Create a default DecayMode object: +// DecayMode handle = DecayModeDefault(); +// Functions involving DecayMode are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAYMODE +#define C_INTERFACE_TRY_V2_0_POPS_DECAYMODE + +#include "GNDStk.h" +#include "v2.0/pops/Probability.h" +#include "v2.0/pops/InternalConversionCoefficients.h" +#include "v2.0/pops/PhotonEmissionProbabilities.h" +#include "v2.0/pops/Q.h" +#include "v2.0/pops/DecayPath.h" +#include "v2.0/pops/Spectra.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DecayModeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DecayMode +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DecayModeClass *DecayMode; + +// --- Const-aware handles. +typedef const struct DecayModeClass *const ConstHandle2ConstDecayMode; +typedef struct DecayModeClass *const ConstHandle2DecayMode; +typedef const struct DecayModeClass * Handle2ConstDecayMode; +typedef struct DecayModeClass * Handle2DecayMode; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDecayMode +DecayModeDefaultConst(); + +// +++ Create, default +extern_c Handle2DecayMode +DecayModeDefault(); + +// --- Create, general, const +extern_c Handle2ConstDecayMode +DecayModeCreateConst( + const XMLName label, + const enums::DecayType mode, + ConstHandle2ConstProbability probability, + ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients, + ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities, + ConstHandle2ConstQ Q, + ConstHandle2ConstDecayPath decayPath, + ConstHandle2ConstSpectra spectra +); + +// +++ Create, general +extern_c Handle2DecayMode +DecayModeCreate( + const XMLName label, + const enums::DecayType mode, + ConstHandle2ConstProbability probability, + ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients, + ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities, + ConstHandle2ConstQ Q, + ConstHandle2ConstDecayPath decayPath, + ConstHandle2ConstSpectra spectra +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DecayModeAssign(ConstHandle2DecayMode This, ConstHandle2ConstDecayMode from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DecayModeDelete(ConstHandle2ConstDecayMode This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DecayModeRead(ConstHandle2DecayMode This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DecayModeWrite(ConstHandle2ConstDecayMode This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DecayModePrint(ConstHandle2ConstDecayMode This); + +// +++ Print to standard output, as XML +extern_c int +DecayModePrintXML(ConstHandle2ConstDecayMode This); + +// +++ Print to standard output, as JSON +extern_c int +DecayModePrintJSON(ConstHandle2ConstDecayMode This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModeLabelHas(ConstHandle2ConstDecayMode This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DecayModeLabelGet(ConstHandle2ConstDecayMode This); + +// +++ Set +extern_c void +DecayModeLabelSet(ConstHandle2DecayMode This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: mode +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModeModeHas(ConstHandle2ConstDecayMode This); + +// +++ Get +// +++ Returns by value +extern_c enums::DecayType +DecayModeModeGet(ConstHandle2ConstDecayMode This); + +// +++ Set +extern_c void +DecayModeModeSet(ConstHandle2DecayMode This, const enums::DecayType mode); + + +// ----------------------------------------------------------------------------- +// Child: probability +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModeProbabilityHas(ConstHandle2ConstDecayMode This); + +// --- Get, const +extern_c Handle2ConstProbability +DecayModeProbabilityGetConst(ConstHandle2ConstDecayMode This); + +// +++ Get, non-const +extern_c Handle2Probability +DecayModeProbabilityGet(ConstHandle2DecayMode This); + +// +++ Set +extern_c void +DecayModeProbabilitySet(ConstHandle2DecayMode This, ConstHandle2ConstProbability probability); + + +// ----------------------------------------------------------------------------- +// Child: internalConversionCoefficients +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModeInternalConversionCoefficientsHas(ConstHandle2ConstDecayMode This); + +// --- Get, const +extern_c Handle2ConstInternalConversionCoefficients +DecayModeInternalConversionCoefficientsGetConst(ConstHandle2ConstDecayMode This); + +// +++ Get, non-const +extern_c Handle2InternalConversionCoefficients +DecayModeInternalConversionCoefficientsGet(ConstHandle2DecayMode This); + +// +++ Set +extern_c void +DecayModeInternalConversionCoefficientsSet(ConstHandle2DecayMode This, ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients); + + +// ----------------------------------------------------------------------------- +// Child: photonEmissionProbabilities +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModePhotonEmissionProbabilitiesHas(ConstHandle2ConstDecayMode This); + +// --- Get, const +extern_c Handle2ConstPhotonEmissionProbabilities +DecayModePhotonEmissionProbabilitiesGetConst(ConstHandle2ConstDecayMode This); + +// +++ Get, non-const +extern_c Handle2PhotonEmissionProbabilities +DecayModePhotonEmissionProbabilitiesGet(ConstHandle2DecayMode This); + +// +++ Set +extern_c void +DecayModePhotonEmissionProbabilitiesSet(ConstHandle2DecayMode This, ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities); + + +// ----------------------------------------------------------------------------- +// Child: Q +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModeQHas(ConstHandle2ConstDecayMode This); + +// --- Get, const +extern_c Handle2ConstQ +DecayModeQGetConst(ConstHandle2ConstDecayMode This); + +// +++ Get, non-const +extern_c Handle2Q +DecayModeQGet(ConstHandle2DecayMode This); + +// +++ Set +extern_c void +DecayModeQSet(ConstHandle2DecayMode This, ConstHandle2ConstQ Q); + + +// ----------------------------------------------------------------------------- +// Child: decayPath +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModeDecayPathHas(ConstHandle2ConstDecayMode This); + +// --- Get, const +extern_c Handle2ConstDecayPath +DecayModeDecayPathGetConst(ConstHandle2ConstDecayMode This); + +// +++ Get, non-const +extern_c Handle2DecayPath +DecayModeDecayPathGet(ConstHandle2DecayMode This); + +// +++ Set +extern_c void +DecayModeDecayPathSet(ConstHandle2DecayMode This, ConstHandle2ConstDecayPath decayPath); + + +// ----------------------------------------------------------------------------- +// Child: spectra +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModeSpectraHas(ConstHandle2ConstDecayMode This); + +// --- Get, const +extern_c Handle2ConstSpectra +DecayModeSpectraGetConst(ConstHandle2ConstDecayMode This); + +// +++ Get, non-const +extern_c Handle2Spectra +DecayModeSpectraGet(ConstHandle2DecayMode This); + +// +++ Set +extern_c void +DecayModeSpectraSet(ConstHandle2DecayMode This, ConstHandle2ConstSpectra spectra); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.cpp new file mode 100644 index 000000000..ba4296a4d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/DecayModes.hpp" +#include "DecayModes.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DecayModesClass; +using CPP = multigroup::DecayModes; + +static const std::string CLASSNAME = "DecayModes"; + +namespace extract { + static auto decayMode = [](auto &obj) { return &obj.decayMode; }; +} + +using CPPDecayMode = pops::DecayMode; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDecayModes +DecayModesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DecayModes +DecayModesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDecayModes +DecayModesCreateConst( + ConstHandle2DecayMode *const decayMode, const size_t decayModeSize +) { + ConstHandle2DecayModes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t DecayModeN = 0; DecayModeN < decayModeSize; ++DecayModeN) + DecayModesDecayModeAdd(handle, decayMode[DecayModeN]); + return handle; +} + +// Create, general +Handle2DecayModes +DecayModesCreate( + ConstHandle2DecayMode *const decayMode, const size_t decayModeSize +) { + ConstHandle2DecayModes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t DecayModeN = 0; DecayModeN < decayModeSize; ++DecayModeN) + DecayModesDecayModeAdd(handle, decayMode[DecayModeN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DecayModesAssign(ConstHandle2DecayModes This, ConstHandle2ConstDecayModes from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DecayModesDelete(ConstHandle2ConstDecayModes This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DecayModesRead(ConstHandle2DecayModes This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DecayModesWrite(ConstHandle2ConstDecayModes This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DecayModesPrint(ConstHandle2ConstDecayModes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DecayModesPrintXML(ConstHandle2ConstDecayModes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DecayModesPrintJSON(ConstHandle2ConstDecayModes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: decayMode +// ----------------------------------------------------------------------------- + +// Has +int +DecayModesDecayModeHas(ConstHandle2ConstDecayModes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayModeHas", This, extract::decayMode); +} + +// Clear +void +DecayModesDecayModeClear(ConstHandle2DecayModes This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DecayModeClear", This, extract::decayMode); +} + +// Size +size_t +DecayModesDecayModeSize(ConstHandle2ConstDecayModes This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DecayModeSize", This, extract::decayMode); +} + +// Add +void +DecayModesDecayModeAdd(ConstHandle2DecayModes This, ConstHandle2ConstDecayMode decayMode) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DecayModeAdd", This, extract::decayMode, decayMode); +} + +// Get, by index \in [0,size), const +Handle2ConstDecayMode +DecayModesDecayModeGetConst(ConstHandle2ConstDecayModes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DecayModeGetConst", This, extract::decayMode, index_); +} + +// Get, by index \in [0,size), non-const +Handle2DecayMode +DecayModesDecayModeGet(ConstHandle2DecayModes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DecayModeGet", This, extract::decayMode, index_); +} + +// Set, by index \in [0,size) +void +DecayModesDecayModeSet( + ConstHandle2DecayModes This, + const size_t index_, + ConstHandle2ConstDecayMode decayMode +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DecayModeSet", This, extract::decayMode, index_, decayMode); +} + +// Has, by label +int +DecayModesDecayModeHasByLabel( + ConstHandle2ConstDecayModes This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DecayModeHasByLabel", + This, extract::decayMode, meta::label, label); +} + +// Get, by label, const +Handle2ConstDecayMode +DecayModesDecayModeGetByLabelConst( + ConstHandle2ConstDecayModes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayModeGetByLabelConst", + This, extract::decayMode, meta::label, label); +} + +// Get, by label, non-const +Handle2DecayMode +DecayModesDecayModeGetByLabel( + ConstHandle2DecayModes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayModeGetByLabel", + This, extract::decayMode, meta::label, label); +} + +// Set, by label +void +DecayModesDecayModeSetByLabel( + ConstHandle2DecayModes This, + const XMLName label, + ConstHandle2ConstDecayMode decayMode +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DecayModeSetByLabel", + This, extract::decayMode, meta::label, label, decayMode); +} + +// Has, by mode +int +DecayModesDecayModeHasByMode( + ConstHandle2ConstDecayModes This, + const enums::DecayType mode +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DecayModeHasByMode", + This, extract::decayMode, meta::mode, mode); +} + +// Get, by mode, const +Handle2ConstDecayMode +DecayModesDecayModeGetByModeConst( + ConstHandle2ConstDecayModes This, + const enums::DecayType mode +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayModeGetByModeConst", + This, extract::decayMode, meta::mode, mode); +} + +// Get, by mode, non-const +Handle2DecayMode +DecayModesDecayModeGetByMode( + ConstHandle2DecayModes This, + const enums::DecayType mode +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayModeGetByMode", + This, extract::decayMode, meta::mode, mode); +} + +// Set, by mode +void +DecayModesDecayModeSetByMode( + ConstHandle2DecayModes This, + const enums::DecayType mode, + ConstHandle2ConstDecayMode decayMode +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DecayModeSetByMode", + This, extract::decayMode, meta::mode, mode, decayMode); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.h b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.h new file mode 100644 index 000000000..ab9389bf7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DecayModes is the basic handle type in this file. Example: +// // Create a default DecayModes object: +// DecayModes handle = DecayModesDefault(); +// Functions involving DecayModes are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAYMODES +#define C_INTERFACE_TRY_V2_0_POPS_DECAYMODES + +#include "GNDStk.h" +#include "v2.0/pops/DecayMode.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DecayModesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DecayModes +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DecayModesClass *DecayModes; + +// --- Const-aware handles. +typedef const struct DecayModesClass *const ConstHandle2ConstDecayModes; +typedef struct DecayModesClass *const ConstHandle2DecayModes; +typedef const struct DecayModesClass * Handle2ConstDecayModes; +typedef struct DecayModesClass * Handle2DecayModes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDecayModes +DecayModesDefaultConst(); + +// +++ Create, default +extern_c Handle2DecayModes +DecayModesDefault(); + +// --- Create, general, const +extern_c Handle2ConstDecayModes +DecayModesCreateConst( + ConstHandle2DecayMode *const decayMode, const size_t decayModeSize +); + +// +++ Create, general +extern_c Handle2DecayModes +DecayModesCreate( + ConstHandle2DecayMode *const decayMode, const size_t decayModeSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DecayModesAssign(ConstHandle2DecayModes This, ConstHandle2ConstDecayModes from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DecayModesDelete(ConstHandle2ConstDecayModes This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DecayModesRead(ConstHandle2DecayModes This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DecayModesWrite(ConstHandle2ConstDecayModes This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DecayModesPrint(ConstHandle2ConstDecayModes This); + +// +++ Print to standard output, as XML +extern_c int +DecayModesPrintXML(ConstHandle2ConstDecayModes This); + +// +++ Print to standard output, as JSON +extern_c int +DecayModesPrintJSON(ConstHandle2ConstDecayModes This); + + +// ----------------------------------------------------------------------------- +// Child: decayMode +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayModesDecayModeHas(ConstHandle2ConstDecayModes This); + +// +++ Clear +extern_c void +DecayModesDecayModeClear(ConstHandle2DecayModes This); + +// +++ Size +extern_c size_t +DecayModesDecayModeSize(ConstHandle2ConstDecayModes This); + +// +++ Add +extern_c void +DecayModesDecayModeAdd(ConstHandle2DecayModes This, ConstHandle2ConstDecayMode decayMode); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDecayMode +DecayModesDecayModeGetConst(ConstHandle2ConstDecayModes This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2DecayMode +DecayModesDecayModeGet(ConstHandle2DecayModes This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +DecayModesDecayModeSet( + ConstHandle2DecayModes This, + const size_t index_, + ConstHandle2ConstDecayMode decayMode +); + +// +++ Has, by label +extern_c int +DecayModesDecayModeHasByLabel( + ConstHandle2ConstDecayModes This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDecayMode +DecayModesDecayModeGetByLabelConst( + ConstHandle2ConstDecayModes This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2DecayMode +DecayModesDecayModeGetByLabel( + ConstHandle2DecayModes This, + const XMLName label +); + +// +++ Set, by label +extern_c void +DecayModesDecayModeSetByLabel( + ConstHandle2DecayModes This, + const XMLName label, + ConstHandle2ConstDecayMode decayMode +); + +// +++ Has, by mode +extern_c int +DecayModesDecayModeHasByMode( + ConstHandle2ConstDecayModes This, + const enums::DecayType mode +); + +// --- Get, by mode, const +extern_c Handle2ConstDecayMode +DecayModesDecayModeGetByModeConst( + ConstHandle2ConstDecayModes This, + const enums::DecayType mode +); + +// +++ Get, by mode, non-const +extern_c Handle2DecayMode +DecayModesDecayModeGetByMode( + ConstHandle2DecayModes This, + const enums::DecayType mode +); + +// +++ Set, by mode +extern_c void +DecayModesDecayModeSetByMode( + ConstHandle2DecayModes This, + const enums::DecayType mode, + ConstHandle2ConstDecayMode decayMode +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.cpp new file mode 100644 index 000000000..beb09dbc5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/DecayPath.hpp" +#include "DecayPath.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DecayPathClass; +using CPP = multigroup::DecayPath; + +static const std::string CLASSNAME = "DecayPath"; + +namespace extract { + static auto decay = [](auto &obj) { return &obj.decay; }; +} + +using CPPDecay = pops::Decay; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDecayPath +DecayPathDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DecayPath +DecayPathDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDecayPath +DecayPathCreateConst( + ConstHandle2Decay *const decay, const size_t decaySize +) { + ConstHandle2DecayPath handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t DecayN = 0; DecayN < decaySize; ++DecayN) + DecayPathDecayAdd(handle, decay[DecayN]); + return handle; +} + +// Create, general +Handle2DecayPath +DecayPathCreate( + ConstHandle2Decay *const decay, const size_t decaySize +) { + ConstHandle2DecayPath handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t DecayN = 0; DecayN < decaySize; ++DecayN) + DecayPathDecayAdd(handle, decay[DecayN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DecayPathAssign(ConstHandle2DecayPath This, ConstHandle2ConstDecayPath from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DecayPathDelete(ConstHandle2ConstDecayPath This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DecayPathRead(ConstHandle2DecayPath This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DecayPathWrite(ConstHandle2ConstDecayPath This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DecayPathPrint(ConstHandle2ConstDecayPath This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DecayPathPrintXML(ConstHandle2ConstDecayPath This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DecayPathPrintJSON(ConstHandle2ConstDecayPath This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: decay +// ----------------------------------------------------------------------------- + +// Has +int +DecayPathDecayHas(ConstHandle2ConstDecayPath This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayHas", This, extract::decay); +} + +// Clear +void +DecayPathDecayClear(ConstHandle2DecayPath This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DecayClear", This, extract::decay); +} + +// Size +size_t +DecayPathDecaySize(ConstHandle2ConstDecayPath This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DecaySize", This, extract::decay); +} + +// Add +void +DecayPathDecayAdd(ConstHandle2DecayPath This, ConstHandle2ConstDecay decay) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DecayAdd", This, extract::decay, decay); +} + +// Get, by index \in [0,size), const +Handle2ConstDecay +DecayPathDecayGetConst(ConstHandle2ConstDecayPath This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DecayGetConst", This, extract::decay, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Decay +DecayPathDecayGet(ConstHandle2DecayPath This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DecayGet", This, extract::decay, index_); +} + +// Set, by index \in [0,size) +void +DecayPathDecaySet( + ConstHandle2DecayPath This, + const size_t index_, + ConstHandle2ConstDecay decay +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DecaySet", This, extract::decay, index_, decay); +} + +// Has, by index +int +DecayPathDecayHasByIndex( + ConstHandle2ConstDecayPath This, + const Integer32 index +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DecayHasByIndex", + This, extract::decay, meta::index, index); +} + +// Get, by index, const +Handle2ConstDecay +DecayPathDecayGetByIndexConst( + ConstHandle2ConstDecayPath This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayGetByIndexConst", + This, extract::decay, meta::index, index); +} + +// Get, by index, non-const +Handle2Decay +DecayPathDecayGetByIndex( + ConstHandle2DecayPath This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayGetByIndex", + This, extract::decay, meta::index, index); +} + +// Set, by index +void +DecayPathDecaySetByIndex( + ConstHandle2DecayPath This, + const Integer32 index, + ConstHandle2ConstDecay decay +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DecaySetByIndex", + This, extract::decay, meta::index, index, decay); +} + +// Has, by mode +int +DecayPathDecayHasByMode( + ConstHandle2ConstDecayPath This, + const enums::DecayType mode +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DecayHasByMode", + This, extract::decay, meta::mode, mode); +} + +// Get, by mode, const +Handle2ConstDecay +DecayPathDecayGetByModeConst( + ConstHandle2ConstDecayPath This, + const enums::DecayType mode +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayGetByModeConst", + This, extract::decay, meta::mode, mode); +} + +// Get, by mode, non-const +Handle2Decay +DecayPathDecayGetByMode( + ConstHandle2DecayPath This, + const enums::DecayType mode +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayGetByMode", + This, extract::decay, meta::mode, mode); +} + +// Set, by mode +void +DecayPathDecaySetByMode( + ConstHandle2DecayPath This, + const enums::DecayType mode, + ConstHandle2ConstDecay decay +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DecaySetByMode", + This, extract::decay, meta::mode, mode, decay); +} + +// Has, by complete +int +DecayPathDecayHasByComplete( + ConstHandle2ConstDecayPath This, + const bool complete +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DecayHasByComplete", + This, extract::decay, meta::complete, complete); +} + +// Get, by complete, const +Handle2ConstDecay +DecayPathDecayGetByCompleteConst( + ConstHandle2ConstDecayPath This, + const bool complete +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayGetByCompleteConst", + This, extract::decay, meta::complete, complete); +} + +// Get, by complete, non-const +Handle2Decay +DecayPathDecayGetByComplete( + ConstHandle2DecayPath This, + const bool complete +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DecayGetByComplete", + This, extract::decay, meta::complete, complete); +} + +// Set, by complete +void +DecayPathDecaySetByComplete( + ConstHandle2DecayPath This, + const bool complete, + ConstHandle2ConstDecay decay +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DecaySetByComplete", + This, extract::decay, meta::complete, complete, decay); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.h b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.h new file mode 100644 index 000000000..0bdc5397b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DecayPath is the basic handle type in this file. Example: +// // Create a default DecayPath object: +// DecayPath handle = DecayPathDefault(); +// Functions involving DecayPath are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAYPATH +#define C_INTERFACE_TRY_V2_0_POPS_DECAYPATH + +#include "GNDStk.h" +#include "v2.0/pops/Decay.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DecayPathClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DecayPath +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DecayPathClass *DecayPath; + +// --- Const-aware handles. +typedef const struct DecayPathClass *const ConstHandle2ConstDecayPath; +typedef struct DecayPathClass *const ConstHandle2DecayPath; +typedef const struct DecayPathClass * Handle2ConstDecayPath; +typedef struct DecayPathClass * Handle2DecayPath; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDecayPath +DecayPathDefaultConst(); + +// +++ Create, default +extern_c Handle2DecayPath +DecayPathDefault(); + +// --- Create, general, const +extern_c Handle2ConstDecayPath +DecayPathCreateConst( + ConstHandle2Decay *const decay, const size_t decaySize +); + +// +++ Create, general +extern_c Handle2DecayPath +DecayPathCreate( + ConstHandle2Decay *const decay, const size_t decaySize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DecayPathAssign(ConstHandle2DecayPath This, ConstHandle2ConstDecayPath from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DecayPathDelete(ConstHandle2ConstDecayPath This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DecayPathRead(ConstHandle2DecayPath This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DecayPathWrite(ConstHandle2ConstDecayPath This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DecayPathPrint(ConstHandle2ConstDecayPath This); + +// +++ Print to standard output, as XML +extern_c int +DecayPathPrintXML(ConstHandle2ConstDecayPath This); + +// +++ Print to standard output, as JSON +extern_c int +DecayPathPrintJSON(ConstHandle2ConstDecayPath This); + + +// ----------------------------------------------------------------------------- +// Child: decay +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DecayPathDecayHas(ConstHandle2ConstDecayPath This); + +// +++ Clear +extern_c void +DecayPathDecayClear(ConstHandle2DecayPath This); + +// +++ Size +extern_c size_t +DecayPathDecaySize(ConstHandle2ConstDecayPath This); + +// +++ Add +extern_c void +DecayPathDecayAdd(ConstHandle2DecayPath This, ConstHandle2ConstDecay decay); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDecay +DecayPathDecayGetConst(ConstHandle2ConstDecayPath This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Decay +DecayPathDecayGet(ConstHandle2DecayPath This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +DecayPathDecaySet( + ConstHandle2DecayPath This, + const size_t index_, + ConstHandle2ConstDecay decay +); + +// +++ Has, by index +extern_c int +DecayPathDecayHasByIndex( + ConstHandle2ConstDecayPath This, + const Integer32 index +); + +// --- Get, by index, const +extern_c Handle2ConstDecay +DecayPathDecayGetByIndexConst( + ConstHandle2ConstDecayPath This, + const Integer32 index +); + +// +++ Get, by index, non-const +extern_c Handle2Decay +DecayPathDecayGetByIndex( + ConstHandle2DecayPath This, + const Integer32 index +); + +// +++ Set, by index +extern_c void +DecayPathDecaySetByIndex( + ConstHandle2DecayPath This, + const Integer32 index, + ConstHandle2ConstDecay decay +); + +// +++ Has, by mode +extern_c int +DecayPathDecayHasByMode( + ConstHandle2ConstDecayPath This, + const enums::DecayType mode +); + +// --- Get, by mode, const +extern_c Handle2ConstDecay +DecayPathDecayGetByModeConst( + ConstHandle2ConstDecayPath This, + const enums::DecayType mode +); + +// +++ Get, by mode, non-const +extern_c Handle2Decay +DecayPathDecayGetByMode( + ConstHandle2DecayPath This, + const enums::DecayType mode +); + +// +++ Set, by mode +extern_c void +DecayPathDecaySetByMode( + ConstHandle2DecayPath This, + const enums::DecayType mode, + ConstHandle2ConstDecay decay +); + +// +++ Has, by complete +extern_c int +DecayPathDecayHasByComplete( + ConstHandle2ConstDecayPath This, + const bool complete +); + +// --- Get, by complete, const +extern_c Handle2ConstDecay +DecayPathDecayGetByCompleteConst( + ConstHandle2ConstDecayPath This, + const bool complete +); + +// +++ Get, by complete, non-const +extern_c Handle2Decay +DecayPathDecayGetByComplete( + ConstHandle2DecayPath This, + const bool complete +); + +// +++ Set, by complete +extern_c void +DecayPathDecaySetByComplete( + ConstHandle2DecayPath This, + const bool complete, + ConstHandle2ConstDecay decay +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.cpp new file mode 100644 index 000000000..1025f0e1b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.cpp @@ -0,0 +1,424 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Discrete.hpp" +#include "Discrete.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DiscreteClass; +using CPP = multigroup::Discrete; + +static const std::string CLASSNAME = "Discrete"; + +namespace extract { + static auto type = [](auto &obj) { return &obj.type; }; + static auto energy = [](auto &obj) { return &obj.energy; }; + static auto intensity = [](auto &obj) { return &obj.intensity; }; + static auto internalConversionCoefficients = [](auto &obj) { return &obj.internalConversionCoefficients; }; + static auto internalPairFormationCoefficient = [](auto &obj) { return &obj.internalPairFormationCoefficient; }; + static auto photonEmissionProbabilities = [](auto &obj) { return &obj.photonEmissionProbabilities; }; + static auto positronEmissionIntensity = [](auto &obj) { return &obj.positronEmissionIntensity; }; +} + +using CPPDiscreteEnergy = pops::DiscreteEnergy; +using CPPIntensity = pops::Intensity; +using CPPInternalConversionCoefficients = pops::InternalConversionCoefficients; +using CPPInternalPairFormationCoefficient = pops::InternalPairFormationCoefficient; +using CPPPhotonEmissionProbabilities = pops::PhotonEmissionProbabilities; +using CPPPositronEmissionIntensity = pops::PositronEmissionIntensity; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDiscrete +DiscreteDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Discrete +DiscreteDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDiscrete +DiscreteCreateConst( + const XMLName type, + ConstHandle2ConstDiscreteEnergy energy, + ConstHandle2ConstIntensity intensity, + ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients, + ConstHandle2ConstInternalPairFormationCoefficient internalPairFormationCoefficient, + ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities, + ConstHandle2ConstPositronEmissionIntensity positronEmissionIntensity +) { + ConstHandle2Discrete handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + type, + detail::tocpp(energy), + detail::tocpp(intensity), + detail::tocpp(internalConversionCoefficients), + detail::tocpp(internalPairFormationCoefficient), + detail::tocpp(photonEmissionProbabilities), + detail::tocpp(positronEmissionIntensity) + ); + return handle; +} + +// Create, general +Handle2Discrete +DiscreteCreate( + const XMLName type, + ConstHandle2ConstDiscreteEnergy energy, + ConstHandle2ConstIntensity intensity, + ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients, + ConstHandle2ConstInternalPairFormationCoefficient internalPairFormationCoefficient, + ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities, + ConstHandle2ConstPositronEmissionIntensity positronEmissionIntensity +) { + ConstHandle2Discrete handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + type, + detail::tocpp(energy), + detail::tocpp(intensity), + detail::tocpp(internalConversionCoefficients), + detail::tocpp(internalPairFormationCoefficient), + detail::tocpp(photonEmissionProbabilities), + detail::tocpp(positronEmissionIntensity) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DiscreteAssign(ConstHandle2Discrete This, ConstHandle2ConstDiscrete from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DiscreteDelete(ConstHandle2ConstDiscrete This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DiscreteRead(ConstHandle2Discrete This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DiscreteWrite(ConstHandle2ConstDiscrete This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DiscretePrint(ConstHandle2ConstDiscrete This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DiscretePrintXML(ConstHandle2ConstDiscrete This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DiscretePrintJSON(ConstHandle2ConstDiscrete This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteTypeHas(ConstHandle2ConstDiscrete This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TypeHas", This, extract::type); +} + +// Get +// Returns by value +XMLName +DiscreteTypeGet(ConstHandle2ConstDiscrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TypeGet", This, extract::type); +} + +// Set +void +DiscreteTypeSet(ConstHandle2Discrete This, const XMLName type) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TypeSet", This, extract::type, type); +} + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteDiscreteEnergyHas(ConstHandle2ConstDiscrete This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DiscreteEnergyHas", This, extract::energy); +} + +// Get, const +Handle2ConstDiscreteEnergy +DiscreteDiscreteEnergyGetConst(ConstHandle2ConstDiscrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DiscreteEnergyGetConst", This, extract::energy); +} + +// Get, non-const +Handle2DiscreteEnergy +DiscreteDiscreteEnergyGet(ConstHandle2Discrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DiscreteEnergyGet", This, extract::energy); +} + +// Set +void +DiscreteDiscreteEnergySet(ConstHandle2Discrete This, ConstHandle2ConstDiscreteEnergy energy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DiscreteEnergySet", This, extract::energy, energy); +} + + +// ----------------------------------------------------------------------------- +// Child: intensity +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteIntensityHas(ConstHandle2ConstDiscrete This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IntensityHas", This, extract::intensity); +} + +// Get, const +Handle2ConstIntensity +DiscreteIntensityGetConst(ConstHandle2ConstDiscrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IntensityGetConst", This, extract::intensity); +} + +// Get, non-const +Handle2Intensity +DiscreteIntensityGet(ConstHandle2Discrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IntensityGet", This, extract::intensity); +} + +// Set +void +DiscreteIntensitySet(ConstHandle2Discrete This, ConstHandle2ConstIntensity intensity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IntensitySet", This, extract::intensity, intensity); +} + + +// ----------------------------------------------------------------------------- +// Child: internalConversionCoefficients +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteInternalConversionCoefficientsHas(ConstHandle2ConstDiscrete This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InternalConversionCoefficientsHas", This, extract::internalConversionCoefficients); +} + +// Get, const +Handle2ConstInternalConversionCoefficients +DiscreteInternalConversionCoefficientsGetConst(ConstHandle2ConstDiscrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InternalConversionCoefficientsGetConst", This, extract::internalConversionCoefficients); +} + +// Get, non-const +Handle2InternalConversionCoefficients +DiscreteInternalConversionCoefficientsGet(ConstHandle2Discrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InternalConversionCoefficientsGet", This, extract::internalConversionCoefficients); +} + +// Set +void +DiscreteInternalConversionCoefficientsSet(ConstHandle2Discrete This, ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InternalConversionCoefficientsSet", This, extract::internalConversionCoefficients, internalConversionCoefficients); +} + + +// ----------------------------------------------------------------------------- +// Child: internalPairFormationCoefficient +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteInternalPairFormationCoefficientHas(ConstHandle2ConstDiscrete This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InternalPairFormationCoefficientHas", This, extract::internalPairFormationCoefficient); +} + +// Get, const +Handle2ConstInternalPairFormationCoefficient +DiscreteInternalPairFormationCoefficientGetConst(ConstHandle2ConstDiscrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InternalPairFormationCoefficientGetConst", This, extract::internalPairFormationCoefficient); +} + +// Get, non-const +Handle2InternalPairFormationCoefficient +DiscreteInternalPairFormationCoefficientGet(ConstHandle2Discrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InternalPairFormationCoefficientGet", This, extract::internalPairFormationCoefficient); +} + +// Set +void +DiscreteInternalPairFormationCoefficientSet(ConstHandle2Discrete This, ConstHandle2ConstInternalPairFormationCoefficient internalPairFormationCoefficient) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InternalPairFormationCoefficientSet", This, extract::internalPairFormationCoefficient, internalPairFormationCoefficient); +} + + +// ----------------------------------------------------------------------------- +// Child: photonEmissionProbabilities +// ----------------------------------------------------------------------------- + +// Has +int +DiscretePhotonEmissionProbabilitiesHas(ConstHandle2ConstDiscrete This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PhotonEmissionProbabilitiesHas", This, extract::photonEmissionProbabilities); +} + +// Get, const +Handle2ConstPhotonEmissionProbabilities +DiscretePhotonEmissionProbabilitiesGetConst(ConstHandle2ConstDiscrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PhotonEmissionProbabilitiesGetConst", This, extract::photonEmissionProbabilities); +} + +// Get, non-const +Handle2PhotonEmissionProbabilities +DiscretePhotonEmissionProbabilitiesGet(ConstHandle2Discrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PhotonEmissionProbabilitiesGet", This, extract::photonEmissionProbabilities); +} + +// Set +void +DiscretePhotonEmissionProbabilitiesSet(ConstHandle2Discrete This, ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PhotonEmissionProbabilitiesSet", This, extract::photonEmissionProbabilities, photonEmissionProbabilities); +} + + +// ----------------------------------------------------------------------------- +// Child: positronEmissionIntensity +// ----------------------------------------------------------------------------- + +// Has +int +DiscretePositronEmissionIntensityHas(ConstHandle2ConstDiscrete This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PositronEmissionIntensityHas", This, extract::positronEmissionIntensity); +} + +// Get, const +Handle2ConstPositronEmissionIntensity +DiscretePositronEmissionIntensityGetConst(ConstHandle2ConstDiscrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PositronEmissionIntensityGetConst", This, extract::positronEmissionIntensity); +} + +// Get, non-const +Handle2PositronEmissionIntensity +DiscretePositronEmissionIntensityGet(ConstHandle2Discrete This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PositronEmissionIntensityGet", This, extract::positronEmissionIntensity); +} + +// Set +void +DiscretePositronEmissionIntensitySet(ConstHandle2Discrete This, ConstHandle2ConstPositronEmissionIntensity positronEmissionIntensity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PositronEmissionIntensitySet", This, extract::positronEmissionIntensity, positronEmissionIntensity); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.h new file mode 100644 index 000000000..dd1128c84 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.h @@ -0,0 +1,299 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Discrete is the basic handle type in this file. Example: +// // Create a default Discrete object: +// Discrete handle = DiscreteDefault(); +// Functions involving Discrete are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_DISCRETE +#define C_INTERFACE_TRY_V2_0_POPS_DISCRETE + +#include "GNDStk.h" +#include "v2.0/pops/DiscreteEnergy.h" +#include "v2.0/pops/Intensity.h" +#include "v2.0/pops/InternalConversionCoefficients.h" +#include "v2.0/pops/InternalPairFormationCoefficient.h" +#include "v2.0/pops/PhotonEmissionProbabilities.h" +#include "v2.0/pops/PositronEmissionIntensity.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DiscreteClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Discrete +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DiscreteClass *Discrete; + +// --- Const-aware handles. +typedef const struct DiscreteClass *const ConstHandle2ConstDiscrete; +typedef struct DiscreteClass *const ConstHandle2Discrete; +typedef const struct DiscreteClass * Handle2ConstDiscrete; +typedef struct DiscreteClass * Handle2Discrete; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDiscrete +DiscreteDefaultConst(); + +// +++ Create, default +extern_c Handle2Discrete +DiscreteDefault(); + +// --- Create, general, const +extern_c Handle2ConstDiscrete +DiscreteCreateConst( + const XMLName type, + ConstHandle2ConstDiscreteEnergy energy, + ConstHandle2ConstIntensity intensity, + ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients, + ConstHandle2ConstInternalPairFormationCoefficient internalPairFormationCoefficient, + ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities, + ConstHandle2ConstPositronEmissionIntensity positronEmissionIntensity +); + +// +++ Create, general +extern_c Handle2Discrete +DiscreteCreate( + const XMLName type, + ConstHandle2ConstDiscreteEnergy energy, + ConstHandle2ConstIntensity intensity, + ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients, + ConstHandle2ConstInternalPairFormationCoefficient internalPairFormationCoefficient, + ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities, + ConstHandle2ConstPositronEmissionIntensity positronEmissionIntensity +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DiscreteAssign(ConstHandle2Discrete This, ConstHandle2ConstDiscrete from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DiscreteDelete(ConstHandle2ConstDiscrete This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DiscreteRead(ConstHandle2Discrete This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DiscreteWrite(ConstHandle2ConstDiscrete This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DiscretePrint(ConstHandle2ConstDiscrete This); + +// +++ Print to standard output, as XML +extern_c int +DiscretePrintXML(ConstHandle2ConstDiscrete This); + +// +++ Print to standard output, as JSON +extern_c int +DiscretePrintJSON(ConstHandle2ConstDiscrete This); + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteTypeHas(ConstHandle2ConstDiscrete This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DiscreteTypeGet(ConstHandle2ConstDiscrete This); + +// +++ Set +extern_c void +DiscreteTypeSet(ConstHandle2Discrete This, const XMLName type); + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteDiscreteEnergyHas(ConstHandle2ConstDiscrete This); + +// --- Get, const +extern_c Handle2ConstDiscreteEnergy +DiscreteDiscreteEnergyGetConst(ConstHandle2ConstDiscrete This); + +// +++ Get, non-const +extern_c Handle2DiscreteEnergy +DiscreteDiscreteEnergyGet(ConstHandle2Discrete This); + +// +++ Set +extern_c void +DiscreteDiscreteEnergySet(ConstHandle2Discrete This, ConstHandle2ConstDiscreteEnergy energy); + + +// ----------------------------------------------------------------------------- +// Child: intensity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteIntensityHas(ConstHandle2ConstDiscrete This); + +// --- Get, const +extern_c Handle2ConstIntensity +DiscreteIntensityGetConst(ConstHandle2ConstDiscrete This); + +// +++ Get, non-const +extern_c Handle2Intensity +DiscreteIntensityGet(ConstHandle2Discrete This); + +// +++ Set +extern_c void +DiscreteIntensitySet(ConstHandle2Discrete This, ConstHandle2ConstIntensity intensity); + + +// ----------------------------------------------------------------------------- +// Child: internalConversionCoefficients +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteInternalConversionCoefficientsHas(ConstHandle2ConstDiscrete This); + +// --- Get, const +extern_c Handle2ConstInternalConversionCoefficients +DiscreteInternalConversionCoefficientsGetConst(ConstHandle2ConstDiscrete This); + +// +++ Get, non-const +extern_c Handle2InternalConversionCoefficients +DiscreteInternalConversionCoefficientsGet(ConstHandle2Discrete This); + +// +++ Set +extern_c void +DiscreteInternalConversionCoefficientsSet(ConstHandle2Discrete This, ConstHandle2ConstInternalConversionCoefficients internalConversionCoefficients); + + +// ----------------------------------------------------------------------------- +// Child: internalPairFormationCoefficient +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteInternalPairFormationCoefficientHas(ConstHandle2ConstDiscrete This); + +// --- Get, const +extern_c Handle2ConstInternalPairFormationCoefficient +DiscreteInternalPairFormationCoefficientGetConst(ConstHandle2ConstDiscrete This); + +// +++ Get, non-const +extern_c Handle2InternalPairFormationCoefficient +DiscreteInternalPairFormationCoefficientGet(ConstHandle2Discrete This); + +// +++ Set +extern_c void +DiscreteInternalPairFormationCoefficientSet(ConstHandle2Discrete This, ConstHandle2ConstInternalPairFormationCoefficient internalPairFormationCoefficient); + + +// ----------------------------------------------------------------------------- +// Child: photonEmissionProbabilities +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscretePhotonEmissionProbabilitiesHas(ConstHandle2ConstDiscrete This); + +// --- Get, const +extern_c Handle2ConstPhotonEmissionProbabilities +DiscretePhotonEmissionProbabilitiesGetConst(ConstHandle2ConstDiscrete This); + +// +++ Get, non-const +extern_c Handle2PhotonEmissionProbabilities +DiscretePhotonEmissionProbabilitiesGet(ConstHandle2Discrete This); + +// +++ Set +extern_c void +DiscretePhotonEmissionProbabilitiesSet(ConstHandle2Discrete This, ConstHandle2ConstPhotonEmissionProbabilities photonEmissionProbabilities); + + +// ----------------------------------------------------------------------------- +// Child: positronEmissionIntensity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscretePositronEmissionIntensityHas(ConstHandle2ConstDiscrete This); + +// --- Get, const +extern_c Handle2ConstPositronEmissionIntensity +DiscretePositronEmissionIntensityGetConst(ConstHandle2ConstDiscrete This); + +// +++ Get, non-const +extern_c Handle2PositronEmissionIntensity +DiscretePositronEmissionIntensityGet(ConstHandle2Discrete This); + +// +++ Set +extern_c void +DiscretePositronEmissionIntensitySet(ConstHandle2Discrete This, ConstHandle2ConstPositronEmissionIntensity positronEmissionIntensity); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.cpp new file mode 100644 index 000000000..b72d669cc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/DiscreteEnergy.hpp" +#include "DiscreteEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DiscreteEnergyClass; +using CPP = multigroup::DiscreteEnergy; + +static const std::string CLASSNAME = "DiscreteEnergy"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDiscreteEnergy +DiscreteEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DiscreteEnergy +DiscreteEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDiscreteEnergy +DiscreteEnergyCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2DiscreteEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + value, + unit, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2DiscreteEnergy +DiscreteEnergyCreate( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2DiscreteEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + value, + unit, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DiscreteEnergyAssign(ConstHandle2DiscreteEnergy This, ConstHandle2ConstDiscreteEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DiscreteEnergyDelete(ConstHandle2ConstDiscreteEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DiscreteEnergyRead(ConstHandle2DiscreteEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DiscreteEnergyWrite(ConstHandle2ConstDiscreteEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DiscreteEnergyPrint(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DiscreteEnergyPrintXML(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DiscreteEnergyPrintJSON(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteEnergyLabelHas(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +DiscreteEnergyLabelGet(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +DiscreteEnergyLabelSet(ConstHandle2DiscreteEnergy This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteEnergyValueHas(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +DiscreteEnergyValueGet(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +DiscreteEnergyValueSet(ConstHandle2DiscreteEnergy This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteEnergyUnitHas(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +DiscreteEnergyUnitGet(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +DiscreteEnergyUnitSet(ConstHandle2DiscreteEnergy This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteEnergyDocumentationHas(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +DiscreteEnergyDocumentationGetConst(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +DiscreteEnergyDocumentationGet(ConstHandle2DiscreteEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +DiscreteEnergyDocumentationSet(ConstHandle2DiscreteEnergy This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteEnergyUncertaintyHas(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +DiscreteEnergyUncertaintyGetConst(ConstHandle2ConstDiscreteEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +DiscreteEnergyUncertaintyGet(ConstHandle2DiscreteEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +DiscreteEnergyUncertaintySet(ConstHandle2DiscreteEnergy This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.h new file mode 100644 index 000000000..275732286 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DiscreteEnergy is the basic handle type in this file. Example: +// // Create a default DiscreteEnergy object: +// DiscreteEnergy handle = DiscreteEnergyDefault(); +// Functions involving DiscreteEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_DISCRETEENERGY +#define C_INTERFACE_TRY_V2_0_POPS_DISCRETEENERGY + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DiscreteEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DiscreteEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DiscreteEnergyClass *DiscreteEnergy; + +// --- Const-aware handles. +typedef const struct DiscreteEnergyClass *const ConstHandle2ConstDiscreteEnergy; +typedef struct DiscreteEnergyClass *const ConstHandle2DiscreteEnergy; +typedef const struct DiscreteEnergyClass * Handle2ConstDiscreteEnergy; +typedef struct DiscreteEnergyClass * Handle2DiscreteEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDiscreteEnergy +DiscreteEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2DiscreteEnergy +DiscreteEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstDiscreteEnergy +DiscreteEnergyCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2DiscreteEnergy +DiscreteEnergyCreate( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DiscreteEnergyAssign(ConstHandle2DiscreteEnergy This, ConstHandle2ConstDiscreteEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DiscreteEnergyDelete(ConstHandle2ConstDiscreteEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DiscreteEnergyRead(ConstHandle2DiscreteEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DiscreteEnergyWrite(ConstHandle2ConstDiscreteEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DiscreteEnergyPrint(ConstHandle2ConstDiscreteEnergy This); + +// +++ Print to standard output, as XML +extern_c int +DiscreteEnergyPrintXML(ConstHandle2ConstDiscreteEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +DiscreteEnergyPrintJSON(ConstHandle2ConstDiscreteEnergy This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteEnergyLabelHas(ConstHandle2ConstDiscreteEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DiscreteEnergyLabelGet(ConstHandle2ConstDiscreteEnergy This); + +// +++ Set +extern_c void +DiscreteEnergyLabelSet(ConstHandle2DiscreteEnergy This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteEnergyValueHas(ConstHandle2ConstDiscreteEnergy This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +DiscreteEnergyValueGet(ConstHandle2ConstDiscreteEnergy This); + +// +++ Set +extern_c void +DiscreteEnergyValueSet(ConstHandle2DiscreteEnergy This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteEnergyUnitHas(ConstHandle2ConstDiscreteEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DiscreteEnergyUnitGet(ConstHandle2ConstDiscreteEnergy This); + +// +++ Set +extern_c void +DiscreteEnergyUnitSet(ConstHandle2DiscreteEnergy This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteEnergyDocumentationHas(ConstHandle2ConstDiscreteEnergy This); + +// --- Get, const +extern_c Handle2ConstDocumentation +DiscreteEnergyDocumentationGetConst(ConstHandle2ConstDiscreteEnergy This); + +// +++ Get, non-const +extern_c Handle2Documentation +DiscreteEnergyDocumentationGet(ConstHandle2DiscreteEnergy This); + +// +++ Set +extern_c void +DiscreteEnergyDocumentationSet(ConstHandle2DiscreteEnergy This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteEnergyUncertaintyHas(ConstHandle2ConstDiscreteEnergy This); + +// --- Get, const +extern_c Handle2ConstUncertainty +DiscreteEnergyUncertaintyGetConst(ConstHandle2ConstDiscreteEnergy This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +DiscreteEnergyUncertaintyGet(ConstHandle2DiscreteEnergy This); + +// +++ Set +extern_c void +DiscreteEnergyUncertaintySet(ConstHandle2DiscreteEnergy This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp new file mode 100644 index 000000000..3b5beed08 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp @@ -0,0 +1,396 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Energy.hpp" +#include "Energy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EnergyClass; +using CPP = multigroup::Energy; + +static const std::string CLASSNAME = "Energy"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEnergy +EnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Energy +EnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEnergy +EnergyCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Energy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + EnergyDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Create, general +Handle2Energy +EnergyCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Energy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + EnergyDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EnergyAssign(ConstHandle2Energy This, ConstHandle2ConstEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EnergyDelete(ConstHandle2ConstEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EnergyRead(ConstHandle2Energy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EnergyWrite(ConstHandle2ConstEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EnergyPrint(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EnergyPrintXML(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EnergyPrintJSON(ConstHandle2ConstEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EnergyLabelHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +EnergyLabelGet(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EnergyLabelSet(ConstHandle2Energy This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +EnergyUnitHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +EnergyUnitGet(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +EnergyUnitSet(ConstHandle2Energy This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +EnergyValueHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +EnergyValueGet(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +EnergyValueSet(ConstHandle2Energy This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +EnergyDocumentationHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +EnergyDocumentationGetConst(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +EnergyDocumentationGet(ConstHandle2Energy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +EnergyDocumentationSet(ConstHandle2Energy This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +EnergyUncertaintyHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +EnergyUncertaintyGetConst(ConstHandle2ConstEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +EnergyUncertaintyGet(ConstHandle2Energy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +EnergyUncertaintySet(ConstHandle2Energy This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +EnergyDoubleHas(ConstHandle2ConstEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Clear +void +EnergyDoubleClear(ConstHandle2Energy This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DoubleClear", This, extract::Double); +} + +// Size +size_t +EnergyDoubleSize(ConstHandle2ConstEnergy This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DoubleSize", This, extract::Double); +} + +// Add +void +EnergyDoubleAdd(ConstHandle2Energy This, ConstHandle2ConstDouble Double) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DoubleAdd", This, extract::Double, Double); +} + +// Get, by index \in [0,size), const +Handle2ConstDouble +EnergyDoubleGetConst(ConstHandle2ConstEnergy This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Double +EnergyDoubleGet(ConstHandle2Energy This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double, index_); +} + +// Set, by index \in [0,size) +void +EnergyDoubleSet( + ConstHandle2Energy This, + const size_t index_, + ConstHandle2ConstDouble Double +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h new file mode 100644 index 000000000..d94e1fc6c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h @@ -0,0 +1,283 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Energy is the basic handle type in this file. Example: +// // Create a default Energy object: +// Energy handle = EnergyDefault(); +// Functions involving Energy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_ENERGY +#define C_INTERFACE_TRY_V2_0_POPS_ENERGY + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Energy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EnergyClass *Energy; + +// --- Const-aware handles. +typedef const struct EnergyClass *const ConstHandle2ConstEnergy; +typedef struct EnergyClass *const ConstHandle2Energy; +typedef const struct EnergyClass * Handle2ConstEnergy; +typedef struct EnergyClass * Handle2Energy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEnergy +EnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2Energy +EnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstEnergy +EnergyCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Create, general +extern_c Handle2Energy +EnergyCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EnergyAssign(ConstHandle2Energy This, ConstHandle2ConstEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EnergyDelete(ConstHandle2ConstEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EnergyRead(ConstHandle2Energy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EnergyWrite(ConstHandle2ConstEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EnergyPrint(ConstHandle2ConstEnergy This); + +// +++ Print to standard output, as XML +extern_c int +EnergyPrintXML(ConstHandle2ConstEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +EnergyPrintJSON(ConstHandle2ConstEnergy This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyLabelHas(ConstHandle2ConstEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyLabelGet(ConstHandle2ConstEnergy This); + +// +++ Set +extern_c void +EnergyLabelSet(ConstHandle2Energy This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyUnitHas(ConstHandle2ConstEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyUnitGet(ConstHandle2ConstEnergy This); + +// +++ Set +extern_c void +EnergyUnitSet(ConstHandle2Energy This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyValueHas(ConstHandle2ConstEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyValueGet(ConstHandle2ConstEnergy This); + +// +++ Set +extern_c void +EnergyValueSet(ConstHandle2Energy This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyDocumentationHas(ConstHandle2ConstEnergy This); + +// --- Get, const +extern_c Handle2ConstDocumentation +EnergyDocumentationGetConst(ConstHandle2ConstEnergy This); + +// +++ Get, non-const +extern_c Handle2Documentation +EnergyDocumentationGet(ConstHandle2Energy This); + +// +++ Set +extern_c void +EnergyDocumentationSet(ConstHandle2Energy This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyUncertaintyHas(ConstHandle2ConstEnergy This); + +// --- Get, const +extern_c Handle2ConstUncertainty +EnergyUncertaintyGetConst(ConstHandle2ConstEnergy This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +EnergyUncertaintyGet(ConstHandle2Energy This); + +// +++ Set +extern_c void +EnergyUncertaintySet(ConstHandle2Energy This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyDoubleHas(ConstHandle2ConstEnergy This); + +// +++ Clear +extern_c void +EnergyDoubleClear(ConstHandle2Energy This); + +// +++ Size +extern_c size_t +EnergyDoubleSize(ConstHandle2ConstEnergy This); + +// +++ Add +extern_c void +EnergyDoubleAdd(ConstHandle2Energy This, ConstHandle2ConstDouble Double); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDouble +EnergyDoubleGetConst(ConstHandle2ConstEnergy This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Double +EnergyDoubleGet(ConstHandle2Energy This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +EnergyDoubleSet( + ConstHandle2Energy This, + const size_t index_, + ConstHandle2ConstDouble Double +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.cpp new file mode 100644 index 000000000..eac8284d7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.cpp @@ -0,0 +1,424 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/GaugeBoson.hpp" +#include "GaugeBoson.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = GaugeBosonClass; +using CPP = multigroup::GaugeBoson; + +static const std::string CLASSNAME = "GaugeBoson"; + +namespace extract { + static auto id = [](auto &obj) { return &obj.id; }; + static auto charge = [](auto &obj) { return &obj.charge; }; + static auto halflife = [](auto &obj) { return &obj.halflife; }; + static auto mass = [](auto &obj) { return &obj.mass; }; + static auto spin = [](auto &obj) { return &obj.spin; }; + static auto parity = [](auto &obj) { return &obj.parity; }; + static auto decayData = [](auto &obj) { return &obj.decayData; }; +} + +using CPPCharge = pops::Charge; +using CPPHalflife = pops::Halflife; +using CPPMass = pops::Mass; +using CPPSpin = pops::Spin; +using CPPParity = pops::Parity; +using CPPDecayData = pops::DecayData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGaugeBoson +GaugeBosonDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2GaugeBoson +GaugeBosonDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGaugeBoson +GaugeBosonCreateConst( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +) { + ConstHandle2GaugeBoson handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + id, + detail::tocpp(charge), + detail::tocpp(halflife), + detail::tocpp(mass), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(decayData) + ); + return handle; +} + +// Create, general +Handle2GaugeBoson +GaugeBosonCreate( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +) { + ConstHandle2GaugeBoson handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + id, + detail::tocpp(charge), + detail::tocpp(halflife), + detail::tocpp(mass), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(decayData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +GaugeBosonAssign(ConstHandle2GaugeBoson This, ConstHandle2ConstGaugeBoson from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +GaugeBosonDelete(ConstHandle2ConstGaugeBoson This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +GaugeBosonRead(ConstHandle2GaugeBoson This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +GaugeBosonWrite(ConstHandle2ConstGaugeBoson This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +GaugeBosonPrint(ConstHandle2ConstGaugeBoson This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +GaugeBosonPrintXML(ConstHandle2ConstGaugeBoson This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +GaugeBosonPrintJSON(ConstHandle2ConstGaugeBoson This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// Has +int +GaugeBosonIdHas(ConstHandle2ConstGaugeBoson This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdHas", This, extract::id); +} + +// Get +// Returns by value +XMLName +GaugeBosonIdGet(ConstHandle2ConstGaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdGet", This, extract::id); +} + +// Set +void +GaugeBosonIdSet(ConstHandle2GaugeBoson This, const XMLName id) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdSet", This, extract::id, id); +} + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// Has +int +GaugeBosonChargeHas(ConstHandle2ConstGaugeBoson This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChargeHas", This, extract::charge); +} + +// Get, const +Handle2ConstCharge +GaugeBosonChargeGetConst(ConstHandle2ConstGaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGetConst", This, extract::charge); +} + +// Get, non-const +Handle2Charge +GaugeBosonChargeGet(ConstHandle2GaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGet", This, extract::charge); +} + +// Set +void +GaugeBosonChargeSet(ConstHandle2GaugeBoson This, ConstHandle2ConstCharge charge) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChargeSet", This, extract::charge, charge); +} + + +// ----------------------------------------------------------------------------- +// Child: halflife +// ----------------------------------------------------------------------------- + +// Has +int +GaugeBosonHalflifeHas(ConstHandle2ConstGaugeBoson This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HalflifeHas", This, extract::halflife); +} + +// Get, const +Handle2ConstHalflife +GaugeBosonHalflifeGetConst(ConstHandle2ConstGaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HalflifeGetConst", This, extract::halflife); +} + +// Get, non-const +Handle2Halflife +GaugeBosonHalflifeGet(ConstHandle2GaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HalflifeGet", This, extract::halflife); +} + +// Set +void +GaugeBosonHalflifeSet(ConstHandle2GaugeBoson This, ConstHandle2ConstHalflife halflife) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HalflifeSet", This, extract::halflife, halflife); +} + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// Has +int +GaugeBosonMassHas(ConstHandle2ConstGaugeBoson This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MassHas", This, extract::mass); +} + +// Get, const +Handle2ConstMass +GaugeBosonMassGetConst(ConstHandle2ConstGaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGetConst", This, extract::mass); +} + +// Get, non-const +Handle2Mass +GaugeBosonMassGet(ConstHandle2GaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGet", This, extract::mass); +} + +// Set +void +GaugeBosonMassSet(ConstHandle2GaugeBoson This, ConstHandle2ConstMass mass) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MassSet", This, extract::mass, mass); +} + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// Has +int +GaugeBosonSpinHas(ConstHandle2ConstGaugeBoson This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpinHas", This, extract::spin); +} + +// Get, const +Handle2ConstSpin +GaugeBosonSpinGetConst(ConstHandle2ConstGaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGetConst", This, extract::spin); +} + +// Get, non-const +Handle2Spin +GaugeBosonSpinGet(ConstHandle2GaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGet", This, extract::spin); +} + +// Set +void +GaugeBosonSpinSet(ConstHandle2GaugeBoson This, ConstHandle2ConstSpin spin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SpinSet", This, extract::spin, spin); +} + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// Has +int +GaugeBosonParityHas(ConstHandle2ConstGaugeBoson This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParityHas", This, extract::parity); +} + +// Get, const +Handle2ConstParity +GaugeBosonParityGetConst(ConstHandle2ConstGaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGetConst", This, extract::parity); +} + +// Get, non-const +Handle2Parity +GaugeBosonParityGet(ConstHandle2GaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGet", This, extract::parity); +} + +// Set +void +GaugeBosonParitySet(ConstHandle2GaugeBoson This, ConstHandle2ConstParity parity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ParitySet", This, extract::parity, parity); +} + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// Has +int +GaugeBosonDecayDataHas(ConstHandle2ConstGaugeBoson This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayDataHas", This, extract::decayData); +} + +// Get, const +Handle2ConstDecayData +GaugeBosonDecayDataGetConst(ConstHandle2ConstGaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGetConst", This, extract::decayData); +} + +// Get, non-const +Handle2DecayData +GaugeBosonDecayDataGet(ConstHandle2GaugeBoson This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGet", This, extract::decayData); +} + +// Set +void +GaugeBosonDecayDataSet(ConstHandle2GaugeBoson This, ConstHandle2ConstDecayData decayData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DecayDataSet", This, extract::decayData, decayData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.h b/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.h new file mode 100644 index 000000000..f6a4ef179 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.h @@ -0,0 +1,299 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// GaugeBoson is the basic handle type in this file. Example: +// // Create a default GaugeBoson object: +// GaugeBoson handle = GaugeBosonDefault(); +// Functions involving GaugeBoson are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_GAUGEBOSON +#define C_INTERFACE_TRY_V2_0_POPS_GAUGEBOSON + +#include "GNDStk.h" +#include "v2.0/pops/Charge.h" +#include "v2.0/pops/Halflife.h" +#include "v2.0/pops/Mass.h" +#include "v2.0/pops/Spin.h" +#include "v2.0/pops/Parity.h" +#include "v2.0/pops/DecayData.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct GaugeBosonClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ GaugeBoson +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct GaugeBosonClass *GaugeBoson; + +// --- Const-aware handles. +typedef const struct GaugeBosonClass *const ConstHandle2ConstGaugeBoson; +typedef struct GaugeBosonClass *const ConstHandle2GaugeBoson; +typedef const struct GaugeBosonClass * Handle2ConstGaugeBoson; +typedef struct GaugeBosonClass * Handle2GaugeBoson; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGaugeBoson +GaugeBosonDefaultConst(); + +// +++ Create, default +extern_c Handle2GaugeBoson +GaugeBosonDefault(); + +// --- Create, general, const +extern_c Handle2ConstGaugeBoson +GaugeBosonCreateConst( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +); + +// +++ Create, general +extern_c Handle2GaugeBoson +GaugeBosonCreate( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +GaugeBosonAssign(ConstHandle2GaugeBoson This, ConstHandle2ConstGaugeBoson from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +GaugeBosonDelete(ConstHandle2ConstGaugeBoson This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +GaugeBosonRead(ConstHandle2GaugeBoson This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +GaugeBosonWrite(ConstHandle2ConstGaugeBoson This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +GaugeBosonPrint(ConstHandle2ConstGaugeBoson This); + +// +++ Print to standard output, as XML +extern_c int +GaugeBosonPrintXML(ConstHandle2ConstGaugeBoson This); + +// +++ Print to standard output, as JSON +extern_c int +GaugeBosonPrintJSON(ConstHandle2ConstGaugeBoson This); + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaugeBosonIdHas(ConstHandle2ConstGaugeBoson This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +GaugeBosonIdGet(ConstHandle2ConstGaugeBoson This); + +// +++ Set +extern_c void +GaugeBosonIdSet(ConstHandle2GaugeBoson This, const XMLName id); + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaugeBosonChargeHas(ConstHandle2ConstGaugeBoson This); + +// --- Get, const +extern_c Handle2ConstCharge +GaugeBosonChargeGetConst(ConstHandle2ConstGaugeBoson This); + +// +++ Get, non-const +extern_c Handle2Charge +GaugeBosonChargeGet(ConstHandle2GaugeBoson This); + +// +++ Set +extern_c void +GaugeBosonChargeSet(ConstHandle2GaugeBoson This, ConstHandle2ConstCharge charge); + + +// ----------------------------------------------------------------------------- +// Child: halflife +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaugeBosonHalflifeHas(ConstHandle2ConstGaugeBoson This); + +// --- Get, const +extern_c Handle2ConstHalflife +GaugeBosonHalflifeGetConst(ConstHandle2ConstGaugeBoson This); + +// +++ Get, non-const +extern_c Handle2Halflife +GaugeBosonHalflifeGet(ConstHandle2GaugeBoson This); + +// +++ Set +extern_c void +GaugeBosonHalflifeSet(ConstHandle2GaugeBoson This, ConstHandle2ConstHalflife halflife); + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaugeBosonMassHas(ConstHandle2ConstGaugeBoson This); + +// --- Get, const +extern_c Handle2ConstMass +GaugeBosonMassGetConst(ConstHandle2ConstGaugeBoson This); + +// +++ Get, non-const +extern_c Handle2Mass +GaugeBosonMassGet(ConstHandle2GaugeBoson This); + +// +++ Set +extern_c void +GaugeBosonMassSet(ConstHandle2GaugeBoson This, ConstHandle2ConstMass mass); + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaugeBosonSpinHas(ConstHandle2ConstGaugeBoson This); + +// --- Get, const +extern_c Handle2ConstSpin +GaugeBosonSpinGetConst(ConstHandle2ConstGaugeBoson This); + +// +++ Get, non-const +extern_c Handle2Spin +GaugeBosonSpinGet(ConstHandle2GaugeBoson This); + +// +++ Set +extern_c void +GaugeBosonSpinSet(ConstHandle2GaugeBoson This, ConstHandle2ConstSpin spin); + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaugeBosonParityHas(ConstHandle2ConstGaugeBoson This); + +// --- Get, const +extern_c Handle2ConstParity +GaugeBosonParityGetConst(ConstHandle2ConstGaugeBoson This); + +// +++ Get, non-const +extern_c Handle2Parity +GaugeBosonParityGet(ConstHandle2GaugeBoson This); + +// +++ Set +extern_c void +GaugeBosonParitySet(ConstHandle2GaugeBoson This, ConstHandle2ConstParity parity); + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaugeBosonDecayDataHas(ConstHandle2ConstGaugeBoson This); + +// --- Get, const +extern_c Handle2ConstDecayData +GaugeBosonDecayDataGetConst(ConstHandle2ConstGaugeBoson This); + +// +++ Get, non-const +extern_c Handle2DecayData +GaugeBosonDecayDataGet(ConstHandle2GaugeBoson This); + +// +++ Set +extern_c void +GaugeBosonDecayDataSet(ConstHandle2GaugeBoson This, ConstHandle2ConstDecayData decayData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.cpp new file mode 100644 index 000000000..a33853a67 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/GaugeBosons.hpp" +#include "GaugeBosons.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = GaugeBosonsClass; +using CPP = multigroup::GaugeBosons; + +static const std::string CLASSNAME = "GaugeBosons"; + +namespace extract { + static auto gaugeBoson = [](auto &obj) { return &obj.gaugeBoson; }; +} + +using CPPGaugeBoson = pops::GaugeBoson; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGaugeBosons +GaugeBosonsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2GaugeBosons +GaugeBosonsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGaugeBosons +GaugeBosonsCreateConst( + ConstHandle2GaugeBoson *const gaugeBoson, const size_t gaugeBosonSize +) { + ConstHandle2GaugeBosons handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t GaugeBosonN = 0; GaugeBosonN < gaugeBosonSize; ++GaugeBosonN) + GaugeBosonsGaugeBosonAdd(handle, gaugeBoson[GaugeBosonN]); + return handle; +} + +// Create, general +Handle2GaugeBosons +GaugeBosonsCreate( + ConstHandle2GaugeBoson *const gaugeBoson, const size_t gaugeBosonSize +) { + ConstHandle2GaugeBosons handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t GaugeBosonN = 0; GaugeBosonN < gaugeBosonSize; ++GaugeBosonN) + GaugeBosonsGaugeBosonAdd(handle, gaugeBoson[GaugeBosonN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +GaugeBosonsAssign(ConstHandle2GaugeBosons This, ConstHandle2ConstGaugeBosons from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +GaugeBosonsDelete(ConstHandle2ConstGaugeBosons This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +GaugeBosonsRead(ConstHandle2GaugeBosons This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +GaugeBosonsWrite(ConstHandle2ConstGaugeBosons This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +GaugeBosonsPrint(ConstHandle2ConstGaugeBosons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +GaugeBosonsPrintXML(ConstHandle2ConstGaugeBosons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +GaugeBosonsPrintJSON(ConstHandle2ConstGaugeBosons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: gaugeBoson +// ----------------------------------------------------------------------------- + +// Has +int +GaugeBosonsGaugeBosonHas(ConstHandle2ConstGaugeBosons This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GaugeBosonHas", This, extract::gaugeBoson); +} + +// Clear +void +GaugeBosonsGaugeBosonClear(ConstHandle2GaugeBosons This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"GaugeBosonClear", This, extract::gaugeBoson); +} + +// Size +size_t +GaugeBosonsGaugeBosonSize(ConstHandle2ConstGaugeBosons This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"GaugeBosonSize", This, extract::gaugeBoson); +} + +// Add +void +GaugeBosonsGaugeBosonAdd(ConstHandle2GaugeBosons This, ConstHandle2ConstGaugeBoson gaugeBoson) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"GaugeBosonAdd", This, extract::gaugeBoson, gaugeBoson); +} + +// Get, by index \in [0,size), const +Handle2ConstGaugeBoson +GaugeBosonsGaugeBosonGetConst(ConstHandle2ConstGaugeBosons This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"GaugeBosonGetConst", This, extract::gaugeBoson, index_); +} + +// Get, by index \in [0,size), non-const +Handle2GaugeBoson +GaugeBosonsGaugeBosonGet(ConstHandle2GaugeBosons This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"GaugeBosonGet", This, extract::gaugeBoson, index_); +} + +// Set, by index \in [0,size) +void +GaugeBosonsGaugeBosonSet( + ConstHandle2GaugeBosons This, + const size_t index_, + ConstHandle2ConstGaugeBoson gaugeBoson +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"GaugeBosonSet", This, extract::gaugeBoson, index_, gaugeBoson); +} + +// Has, by id +int +GaugeBosonsGaugeBosonHasById( + ConstHandle2ConstGaugeBosons This, + const XMLName id +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GaugeBosonHasById", + This, extract::gaugeBoson, meta::id, id); +} + +// Get, by id, const +Handle2ConstGaugeBoson +GaugeBosonsGaugeBosonGetByIdConst( + ConstHandle2ConstGaugeBosons This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GaugeBosonGetByIdConst", + This, extract::gaugeBoson, meta::id, id); +} + +// Get, by id, non-const +Handle2GaugeBoson +GaugeBosonsGaugeBosonGetById( + ConstHandle2GaugeBosons This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GaugeBosonGetById", + This, extract::gaugeBoson, meta::id, id); +} + +// Set, by id +void +GaugeBosonsGaugeBosonSetById( + ConstHandle2GaugeBosons This, + const XMLName id, + ConstHandle2ConstGaugeBoson gaugeBoson +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GaugeBosonSetById", + This, extract::gaugeBoson, meta::id, id, gaugeBoson); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.h b/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.h new file mode 100644 index 000000000..acbe3629d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// GaugeBosons is the basic handle type in this file. Example: +// // Create a default GaugeBosons object: +// GaugeBosons handle = GaugeBosonsDefault(); +// Functions involving GaugeBosons are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_GAUGEBOSONS +#define C_INTERFACE_TRY_V2_0_POPS_GAUGEBOSONS + +#include "GNDStk.h" +#include "v2.0/pops/GaugeBoson.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct GaugeBosonsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ GaugeBosons +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct GaugeBosonsClass *GaugeBosons; + +// --- Const-aware handles. +typedef const struct GaugeBosonsClass *const ConstHandle2ConstGaugeBosons; +typedef struct GaugeBosonsClass *const ConstHandle2GaugeBosons; +typedef const struct GaugeBosonsClass * Handle2ConstGaugeBosons; +typedef struct GaugeBosonsClass * Handle2GaugeBosons; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGaugeBosons +GaugeBosonsDefaultConst(); + +// +++ Create, default +extern_c Handle2GaugeBosons +GaugeBosonsDefault(); + +// --- Create, general, const +extern_c Handle2ConstGaugeBosons +GaugeBosonsCreateConst( + ConstHandle2GaugeBoson *const gaugeBoson, const size_t gaugeBosonSize +); + +// +++ Create, general +extern_c Handle2GaugeBosons +GaugeBosonsCreate( + ConstHandle2GaugeBoson *const gaugeBoson, const size_t gaugeBosonSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +GaugeBosonsAssign(ConstHandle2GaugeBosons This, ConstHandle2ConstGaugeBosons from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +GaugeBosonsDelete(ConstHandle2ConstGaugeBosons This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +GaugeBosonsRead(ConstHandle2GaugeBosons This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +GaugeBosonsWrite(ConstHandle2ConstGaugeBosons This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +GaugeBosonsPrint(ConstHandle2ConstGaugeBosons This); + +// +++ Print to standard output, as XML +extern_c int +GaugeBosonsPrintXML(ConstHandle2ConstGaugeBosons This); + +// +++ Print to standard output, as JSON +extern_c int +GaugeBosonsPrintJSON(ConstHandle2ConstGaugeBosons This); + + +// ----------------------------------------------------------------------------- +// Child: gaugeBoson +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaugeBosonsGaugeBosonHas(ConstHandle2ConstGaugeBosons This); + +// +++ Clear +extern_c void +GaugeBosonsGaugeBosonClear(ConstHandle2GaugeBosons This); + +// +++ Size +extern_c size_t +GaugeBosonsGaugeBosonSize(ConstHandle2ConstGaugeBosons This); + +// +++ Add +extern_c void +GaugeBosonsGaugeBosonAdd(ConstHandle2GaugeBosons This, ConstHandle2ConstGaugeBoson gaugeBoson); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstGaugeBoson +GaugeBosonsGaugeBosonGetConst(ConstHandle2ConstGaugeBosons This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2GaugeBoson +GaugeBosonsGaugeBosonGet(ConstHandle2GaugeBosons This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +GaugeBosonsGaugeBosonSet( + ConstHandle2GaugeBosons This, + const size_t index_, + ConstHandle2ConstGaugeBoson gaugeBoson +); + +// +++ Has, by id +extern_c int +GaugeBosonsGaugeBosonHasById( + ConstHandle2ConstGaugeBosons This, + const XMLName id +); + +// --- Get, by id, const +extern_c Handle2ConstGaugeBoson +GaugeBosonsGaugeBosonGetByIdConst( + ConstHandle2ConstGaugeBosons This, + const XMLName id +); + +// +++ Get, by id, non-const +extern_c Handle2GaugeBoson +GaugeBosonsGaugeBosonGetById( + ConstHandle2GaugeBosons This, + const XMLName id +); + +// +++ Set, by id +extern_c void +GaugeBosonsGaugeBosonSetById( + ConstHandle2GaugeBosons This, + const XMLName id, + ConstHandle2ConstGaugeBoson gaugeBoson +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp new file mode 100644 index 000000000..7e2d15e93 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp @@ -0,0 +1,324 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Halflife.hpp" +#include "Halflife.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = HalflifeClass; +using CPP = multigroup::Halflife; + +static const std::string CLASSNAME = "Halflife"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPString = unknownNamespace::String; +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstHalflife +HalflifeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Halflife +HalflifeDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstHalflife +HalflifeCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +) { + ConstHandle2Halflife handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2Halflife +HalflifeCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +) { + ConstHandle2Halflife handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +HalflifeAssign(ConstHandle2Halflife This, ConstHandle2ConstHalflife from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +HalflifeDelete(ConstHandle2ConstHalflife This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +HalflifeRead(ConstHandle2Halflife This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +HalflifeWrite(ConstHandle2ConstHalflife This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +HalflifePrint(ConstHandle2ConstHalflife This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +HalflifePrintXML(ConstHandle2ConstHalflife This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +HalflifePrintJSON(ConstHandle2ConstHalflife This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +HalflifeLabelHas(ConstHandle2ConstHalflife This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +HalflifeLabelGet(ConstHandle2ConstHalflife This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +HalflifeLabelSet(ConstHandle2Halflife This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +HalflifeUnitHas(ConstHandle2ConstHalflife This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +HalflifeUnitGet(ConstHandle2ConstHalflife This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +HalflifeUnitSet(ConstHandle2Halflife This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +HalflifeValueHas(ConstHandle2ConstHalflife This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +HalflifeValueGet(ConstHandle2ConstHalflife This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +HalflifeValueSet(ConstHandle2Halflife This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +HalflifeDocumentationHas(ConstHandle2ConstHalflife This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +HalflifeDocumentationGetConst(ConstHandle2ConstHalflife This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +HalflifeDocumentationGet(ConstHandle2Halflife This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +HalflifeDocumentationSet(ConstHandle2Halflife This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +HalflifeUncertaintyHas(ConstHandle2ConstHalflife This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +HalflifeUncertaintyGetConst(ConstHandle2ConstHalflife This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +HalflifeUncertaintyGet(ConstHandle2Halflife This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +HalflifeUncertaintySet(ConstHandle2Halflife This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h new file mode 100644 index 000000000..28fd2195b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h @@ -0,0 +1,245 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Halflife is the basic handle type in this file. Example: +// // Create a default Halflife object: +// Halflife handle = HalflifeDefault(); +// Functions involving Halflife are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_HALFLIFE +#define C_INTERFACE_TRY_V2_0_POPS_HALFLIFE + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/String.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct HalflifeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Halflife +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct HalflifeClass *Halflife; + +// --- Const-aware handles. +typedef const struct HalflifeClass *const ConstHandle2ConstHalflife; +typedef struct HalflifeClass *const ConstHandle2Halflife; +typedef const struct HalflifeClass * Handle2ConstHalflife; +typedef struct HalflifeClass * Handle2Halflife; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstHalflife +HalflifeDefaultConst(); + +// +++ Create, default +extern_c Handle2Halflife +HalflifeDefault(); + +// --- Create, general, const +extern_c Handle2ConstHalflife +HalflifeCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +); + +// +++ Create, general +extern_c Handle2Halflife +HalflifeCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +HalflifeAssign(ConstHandle2Halflife This, ConstHandle2ConstHalflife from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +HalflifeDelete(ConstHandle2ConstHalflife This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +HalflifeRead(ConstHandle2Halflife This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +HalflifeWrite(ConstHandle2ConstHalflife This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +HalflifePrint(ConstHandle2ConstHalflife This); + +// +++ Print to standard output, as XML +extern_c int +HalflifePrintXML(ConstHandle2ConstHalflife This); + +// +++ Print to standard output, as JSON +extern_c int +HalflifePrintJSON(ConstHandle2ConstHalflife This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HalflifeLabelHas(ConstHandle2ConstHalflife This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +HalflifeLabelGet(ConstHandle2ConstHalflife This); + +// +++ Set +extern_c void +HalflifeLabelSet(ConstHandle2Halflife This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HalflifeUnitHas(ConstHandle2ConstHalflife This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +HalflifeUnitGet(ConstHandle2ConstHalflife This); + +// +++ Set +extern_c void +HalflifeUnitSet(ConstHandle2Halflife This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HalflifeValueHas(ConstHandle2ConstHalflife This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +HalflifeValueGet(ConstHandle2ConstHalflife This); + +// +++ Set +extern_c void +HalflifeValueSet(ConstHandle2Halflife This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HalflifeDocumentationHas(ConstHandle2ConstHalflife This); + +// --- Get, const +extern_c Handle2ConstDocumentation +HalflifeDocumentationGetConst(ConstHandle2ConstHalflife This); + +// +++ Get, non-const +extern_c Handle2Documentation +HalflifeDocumentationGet(ConstHandle2Halflife This); + +// +++ Set +extern_c void +HalflifeDocumentationSet(ConstHandle2Halflife This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HalflifeUncertaintyHas(ConstHandle2ConstHalflife This); + +// --- Get, const +extern_c Handle2ConstUncertainty +HalflifeUncertaintyGetConst(ConstHandle2ConstHalflife This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +HalflifeUncertaintyGet(ConstHandle2Halflife This); + +// +++ Set +extern_c void +HalflifeUncertaintySet(ConstHandle2Halflife This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.cpp new file mode 100644 index 000000000..e457539c6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Intensity.hpp" +#include "Intensity.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IntensityClass; +using CPP = multigroup::Intensity; + +static const std::string CLASSNAME = "Intensity"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIntensity +IntensityDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Intensity +IntensityDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIntensity +IntensityCreateConst( + const XMLName label, + const XMLName unit, + const Float64 value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2Intensity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2Intensity +IntensityCreate( + const XMLName label, + const XMLName unit, + const Float64 value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2Intensity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IntensityAssign(ConstHandle2Intensity This, ConstHandle2ConstIntensity from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IntensityDelete(ConstHandle2ConstIntensity This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IntensityRead(ConstHandle2Intensity This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IntensityWrite(ConstHandle2ConstIntensity This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IntensityPrint(ConstHandle2ConstIntensity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IntensityPrintXML(ConstHandle2ConstIntensity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IntensityPrintJSON(ConstHandle2ConstIntensity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +IntensityLabelHas(ConstHandle2ConstIntensity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +IntensityLabelGet(ConstHandle2ConstIntensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +IntensityLabelSet(ConstHandle2Intensity This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +IntensityUnitHas(ConstHandle2ConstIntensity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +IntensityUnitGet(ConstHandle2ConstIntensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +IntensityUnitSet(ConstHandle2Intensity This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +IntensityValueHas(ConstHandle2ConstIntensity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +IntensityValueGet(ConstHandle2ConstIntensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +IntensityValueSet(ConstHandle2Intensity This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +IntensityDocumentationHas(ConstHandle2ConstIntensity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +IntensityDocumentationGetConst(ConstHandle2ConstIntensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +IntensityDocumentationGet(ConstHandle2Intensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +IntensityDocumentationSet(ConstHandle2Intensity This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +IntensityUncertaintyHas(ConstHandle2ConstIntensity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +IntensityUncertaintyGetConst(ConstHandle2ConstIntensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +IntensityUncertaintyGet(ConstHandle2Intensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +IntensityUncertaintySet(ConstHandle2Intensity This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.h new file mode 100644 index 000000000..7d2f84490 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Intensity is the basic handle type in this file. Example: +// // Create a default Intensity object: +// Intensity handle = IntensityDefault(); +// Functions involving Intensity are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_INTENSITY +#define C_INTERFACE_TRY_V2_0_POPS_INTENSITY + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IntensityClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Intensity +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IntensityClass *Intensity; + +// --- Const-aware handles. +typedef const struct IntensityClass *const ConstHandle2ConstIntensity; +typedef struct IntensityClass *const ConstHandle2Intensity; +typedef const struct IntensityClass * Handle2ConstIntensity; +typedef struct IntensityClass * Handle2Intensity; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIntensity +IntensityDefaultConst(); + +// +++ Create, default +extern_c Handle2Intensity +IntensityDefault(); + +// --- Create, general, const +extern_c Handle2ConstIntensity +IntensityCreateConst( + const XMLName label, + const XMLName unit, + const Float64 value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2Intensity +IntensityCreate( + const XMLName label, + const XMLName unit, + const Float64 value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IntensityAssign(ConstHandle2Intensity This, ConstHandle2ConstIntensity from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IntensityDelete(ConstHandle2ConstIntensity This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IntensityRead(ConstHandle2Intensity This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IntensityWrite(ConstHandle2ConstIntensity This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IntensityPrint(ConstHandle2ConstIntensity This); + +// +++ Print to standard output, as XML +extern_c int +IntensityPrintXML(ConstHandle2ConstIntensity This); + +// +++ Print to standard output, as JSON +extern_c int +IntensityPrintJSON(ConstHandle2ConstIntensity This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntensityLabelHas(ConstHandle2ConstIntensity This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +IntensityLabelGet(ConstHandle2ConstIntensity This); + +// +++ Set +extern_c void +IntensityLabelSet(ConstHandle2Intensity This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntensityUnitHas(ConstHandle2ConstIntensity This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +IntensityUnitGet(ConstHandle2ConstIntensity This); + +// +++ Set +extern_c void +IntensityUnitSet(ConstHandle2Intensity This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntensityValueHas(ConstHandle2ConstIntensity This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +IntensityValueGet(ConstHandle2ConstIntensity This); + +// +++ Set +extern_c void +IntensityValueSet(ConstHandle2Intensity This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntensityDocumentationHas(ConstHandle2ConstIntensity This); + +// --- Get, const +extern_c Handle2ConstDocumentation +IntensityDocumentationGetConst(ConstHandle2ConstIntensity This); + +// +++ Get, non-const +extern_c Handle2Documentation +IntensityDocumentationGet(ConstHandle2Intensity This); + +// +++ Set +extern_c void +IntensityDocumentationSet(ConstHandle2Intensity This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntensityUncertaintyHas(ConstHandle2ConstIntensity This); + +// --- Get, const +extern_c Handle2ConstUncertainty +IntensityUncertaintyGetConst(ConstHandle2ConstIntensity This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +IntensityUncertaintyGet(ConstHandle2Intensity This); + +// +++ Set +extern_c void +IntensityUncertaintySet(ConstHandle2Intensity This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.cpp new file mode 100644 index 000000000..97d53f26b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/InternalConversionCoefficients.hpp" +#include "InternalConversionCoefficients.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = InternalConversionCoefficientsClass; +using CPP = multigroup::InternalConversionCoefficients; + +static const std::string CLASSNAME = "InternalConversionCoefficients"; + +namespace extract { + static auto shell = [](auto &obj) { return &obj.shell; }; +} + +using CPPShell = pops::Shell; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInternalConversionCoefficients +InternalConversionCoefficientsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2InternalConversionCoefficients +InternalConversionCoefficientsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInternalConversionCoefficients +InternalConversionCoefficientsCreateConst( + ConstHandle2Shell *const shell, const size_t shellSize +) { + ConstHandle2InternalConversionCoefficients handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ShellN = 0; ShellN < shellSize; ++ShellN) + InternalConversionCoefficientsShellAdd(handle, shell[ShellN]); + return handle; +} + +// Create, general +Handle2InternalConversionCoefficients +InternalConversionCoefficientsCreate( + ConstHandle2Shell *const shell, const size_t shellSize +) { + ConstHandle2InternalConversionCoefficients handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ShellN = 0; ShellN < shellSize; ++ShellN) + InternalConversionCoefficientsShellAdd(handle, shell[ShellN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +InternalConversionCoefficientsAssign(ConstHandle2InternalConversionCoefficients This, ConstHandle2ConstInternalConversionCoefficients from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +InternalConversionCoefficientsDelete(ConstHandle2ConstInternalConversionCoefficients This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +InternalConversionCoefficientsRead(ConstHandle2InternalConversionCoefficients This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +InternalConversionCoefficientsWrite(ConstHandle2ConstInternalConversionCoefficients This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +InternalConversionCoefficientsPrint(ConstHandle2ConstInternalConversionCoefficients This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +InternalConversionCoefficientsPrintXML(ConstHandle2ConstInternalConversionCoefficients This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +InternalConversionCoefficientsPrintJSON(ConstHandle2ConstInternalConversionCoefficients This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: shell +// ----------------------------------------------------------------------------- + +// Has +int +InternalConversionCoefficientsShellHas(ConstHandle2ConstInternalConversionCoefficients This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ShellHas", This, extract::shell); +} + +// Clear +void +InternalConversionCoefficientsShellClear(ConstHandle2InternalConversionCoefficients This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ShellClear", This, extract::shell); +} + +// Size +size_t +InternalConversionCoefficientsShellSize(ConstHandle2ConstInternalConversionCoefficients This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ShellSize", This, extract::shell); +} + +// Add +void +InternalConversionCoefficientsShellAdd(ConstHandle2InternalConversionCoefficients This, ConstHandle2ConstShell shell) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ShellAdd", This, extract::shell, shell); +} + +// Get, by index \in [0,size), const +Handle2ConstShell +InternalConversionCoefficientsShellGetConst(ConstHandle2ConstInternalConversionCoefficients This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ShellGetConst", This, extract::shell, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Shell +InternalConversionCoefficientsShellGet(ConstHandle2InternalConversionCoefficients This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ShellGet", This, extract::shell, index_); +} + +// Set, by index \in [0,size) +void +InternalConversionCoefficientsShellSet( + ConstHandle2InternalConversionCoefficients This, + const size_t index_, + ConstHandle2ConstShell shell +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ShellSet", This, extract::shell, index_, shell); +} + +// Has, by label +int +InternalConversionCoefficientsShellHasByLabel( + ConstHandle2ConstInternalConversionCoefficients This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShellHasByLabel", + This, extract::shell, meta::label, label); +} + +// Get, by label, const +Handle2ConstShell +InternalConversionCoefficientsShellGetByLabelConst( + ConstHandle2ConstInternalConversionCoefficients This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByLabelConst", + This, extract::shell, meta::label, label); +} + +// Get, by label, non-const +Handle2Shell +InternalConversionCoefficientsShellGetByLabel( + ConstHandle2InternalConversionCoefficients This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByLabel", + This, extract::shell, meta::label, label); +} + +// Set, by label +void +InternalConversionCoefficientsShellSetByLabel( + ConstHandle2InternalConversionCoefficients This, + const XMLName label, + ConstHandle2ConstShell shell +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShellSetByLabel", + This, extract::shell, meta::label, label, shell); +} + +// Has, by value +int +InternalConversionCoefficientsShellHasByValue( + ConstHandle2ConstInternalConversionCoefficients This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShellHasByValue", + This, extract::shell, meta::value, value); +} + +// Get, by value, const +Handle2ConstShell +InternalConversionCoefficientsShellGetByValueConst( + ConstHandle2ConstInternalConversionCoefficients This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByValueConst", + This, extract::shell, meta::value, value); +} + +// Get, by value, non-const +Handle2Shell +InternalConversionCoefficientsShellGetByValue( + ConstHandle2InternalConversionCoefficients This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByValue", + This, extract::shell, meta::value, value); +} + +// Set, by value +void +InternalConversionCoefficientsShellSetByValue( + ConstHandle2InternalConversionCoefficients This, + const Float64 value, + ConstHandle2ConstShell shell +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShellSetByValue", + This, extract::shell, meta::value, value, shell); +} + +// Has, by unit +int +InternalConversionCoefficientsShellHasByUnit( + ConstHandle2ConstInternalConversionCoefficients This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShellHasByUnit", + This, extract::shell, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstShell +InternalConversionCoefficientsShellGetByUnitConst( + ConstHandle2ConstInternalConversionCoefficients This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByUnitConst", + This, extract::shell, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Shell +InternalConversionCoefficientsShellGetByUnit( + ConstHandle2InternalConversionCoefficients This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByUnit", + This, extract::shell, meta::unit, unit); +} + +// Set, by unit +void +InternalConversionCoefficientsShellSetByUnit( + ConstHandle2InternalConversionCoefficients This, + const XMLName unit, + ConstHandle2ConstShell shell +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShellSetByUnit", + This, extract::shell, meta::unit, unit, shell); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.h b/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.h new file mode 100644 index 000000000..9e37c4665 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// InternalConversionCoefficients is the basic handle type in this file. Example: +// // Create a default InternalConversionCoefficients object: +// InternalConversionCoefficients handle = InternalConversionCoefficientsDefault(); +// Functions involving InternalConversionCoefficients are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS +#define C_INTERFACE_TRY_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS + +#include "GNDStk.h" +#include "v2.0/pops/Shell.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct InternalConversionCoefficientsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ InternalConversionCoefficients +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct InternalConversionCoefficientsClass *InternalConversionCoefficients; + +// --- Const-aware handles. +typedef const struct InternalConversionCoefficientsClass *const ConstHandle2ConstInternalConversionCoefficients; +typedef struct InternalConversionCoefficientsClass *const ConstHandle2InternalConversionCoefficients; +typedef const struct InternalConversionCoefficientsClass * Handle2ConstInternalConversionCoefficients; +typedef struct InternalConversionCoefficientsClass * Handle2InternalConversionCoefficients; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInternalConversionCoefficients +InternalConversionCoefficientsDefaultConst(); + +// +++ Create, default +extern_c Handle2InternalConversionCoefficients +InternalConversionCoefficientsDefault(); + +// --- Create, general, const +extern_c Handle2ConstInternalConversionCoefficients +InternalConversionCoefficientsCreateConst( + ConstHandle2Shell *const shell, const size_t shellSize +); + +// +++ Create, general +extern_c Handle2InternalConversionCoefficients +InternalConversionCoefficientsCreate( + ConstHandle2Shell *const shell, const size_t shellSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +InternalConversionCoefficientsAssign(ConstHandle2InternalConversionCoefficients This, ConstHandle2ConstInternalConversionCoefficients from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +InternalConversionCoefficientsDelete(ConstHandle2ConstInternalConversionCoefficients This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +InternalConversionCoefficientsRead(ConstHandle2InternalConversionCoefficients This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +InternalConversionCoefficientsWrite(ConstHandle2ConstInternalConversionCoefficients This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +InternalConversionCoefficientsPrint(ConstHandle2ConstInternalConversionCoefficients This); + +// +++ Print to standard output, as XML +extern_c int +InternalConversionCoefficientsPrintXML(ConstHandle2ConstInternalConversionCoefficients This); + +// +++ Print to standard output, as JSON +extern_c int +InternalConversionCoefficientsPrintJSON(ConstHandle2ConstInternalConversionCoefficients This); + + +// ----------------------------------------------------------------------------- +// Child: shell +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InternalConversionCoefficientsShellHas(ConstHandle2ConstInternalConversionCoefficients This); + +// +++ Clear +extern_c void +InternalConversionCoefficientsShellClear(ConstHandle2InternalConversionCoefficients This); + +// +++ Size +extern_c size_t +InternalConversionCoefficientsShellSize(ConstHandle2ConstInternalConversionCoefficients This); + +// +++ Add +extern_c void +InternalConversionCoefficientsShellAdd(ConstHandle2InternalConversionCoefficients This, ConstHandle2ConstShell shell); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstShell +InternalConversionCoefficientsShellGetConst(ConstHandle2ConstInternalConversionCoefficients This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Shell +InternalConversionCoefficientsShellGet(ConstHandle2InternalConversionCoefficients This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +InternalConversionCoefficientsShellSet( + ConstHandle2InternalConversionCoefficients This, + const size_t index_, + ConstHandle2ConstShell shell +); + +// +++ Has, by label +extern_c int +InternalConversionCoefficientsShellHasByLabel( + ConstHandle2ConstInternalConversionCoefficients This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstShell +InternalConversionCoefficientsShellGetByLabelConst( + ConstHandle2ConstInternalConversionCoefficients This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Shell +InternalConversionCoefficientsShellGetByLabel( + ConstHandle2InternalConversionCoefficients This, + const XMLName label +); + +// +++ Set, by label +extern_c void +InternalConversionCoefficientsShellSetByLabel( + ConstHandle2InternalConversionCoefficients This, + const XMLName label, + ConstHandle2ConstShell shell +); + +// +++ Has, by value +extern_c int +InternalConversionCoefficientsShellHasByValue( + ConstHandle2ConstInternalConversionCoefficients This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstShell +InternalConversionCoefficientsShellGetByValueConst( + ConstHandle2ConstInternalConversionCoefficients This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Shell +InternalConversionCoefficientsShellGetByValue( + ConstHandle2InternalConversionCoefficients This, + const Float64 value +); + +// +++ Set, by value +extern_c void +InternalConversionCoefficientsShellSetByValue( + ConstHandle2InternalConversionCoefficients This, + const Float64 value, + ConstHandle2ConstShell shell +); + +// +++ Has, by unit +extern_c int +InternalConversionCoefficientsShellHasByUnit( + ConstHandle2ConstInternalConversionCoefficients This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstShell +InternalConversionCoefficientsShellGetByUnitConst( + ConstHandle2ConstInternalConversionCoefficients This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Shell +InternalConversionCoefficientsShellGetByUnit( + ConstHandle2InternalConversionCoefficients This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +InternalConversionCoefficientsShellSetByUnit( + ConstHandle2InternalConversionCoefficients This, + const XMLName unit, + ConstHandle2ConstShell shell +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp new file mode 100644 index 000000000..61a0039cc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/InternalPairFormationCoefficient.hpp" +#include "InternalPairFormationCoefficient.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = InternalPairFormationCoefficientClass; +using CPP = multigroup::InternalPairFormationCoefficient; + +static const std::string CLASSNAME = "InternalPairFormationCoefficient"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInternalPairFormationCoefficient +InternalPairFormationCoefficientDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2InternalPairFormationCoefficient +InternalPairFormationCoefficientDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInternalPairFormationCoefficient +InternalPairFormationCoefficientCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2InternalPairFormationCoefficient handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + value, + unit, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2InternalPairFormationCoefficient +InternalPairFormationCoefficientCreate( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2InternalPairFormationCoefficient handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + value, + unit, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +InternalPairFormationCoefficientAssign(ConstHandle2InternalPairFormationCoefficient This, ConstHandle2ConstInternalPairFormationCoefficient from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +InternalPairFormationCoefficientDelete(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +InternalPairFormationCoefficientRead(ConstHandle2InternalPairFormationCoefficient This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +InternalPairFormationCoefficientWrite(ConstHandle2ConstInternalPairFormationCoefficient This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +InternalPairFormationCoefficientPrint(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +InternalPairFormationCoefficientPrintXML(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +InternalPairFormationCoefficientPrintJSON(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +InternalPairFormationCoefficientLabelHas(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +InternalPairFormationCoefficientLabelGet(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +InternalPairFormationCoefficientLabelSet(ConstHandle2InternalPairFormationCoefficient This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +InternalPairFormationCoefficientValueHas(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +InternalPairFormationCoefficientValueGet(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +InternalPairFormationCoefficientValueSet(ConstHandle2InternalPairFormationCoefficient This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +InternalPairFormationCoefficientUnitHas(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +InternalPairFormationCoefficientUnitGet(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +InternalPairFormationCoefficientUnitSet(ConstHandle2InternalPairFormationCoefficient This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +InternalPairFormationCoefficientDocumentationHas(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +InternalPairFormationCoefficientDocumentationGetConst(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +InternalPairFormationCoefficientDocumentationGet(ConstHandle2InternalPairFormationCoefficient This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +InternalPairFormationCoefficientDocumentationSet(ConstHandle2InternalPairFormationCoefficient This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +InternalPairFormationCoefficientUncertaintyHas(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +InternalPairFormationCoefficientUncertaintyGetConst(ConstHandle2ConstInternalPairFormationCoefficient This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +InternalPairFormationCoefficientUncertaintyGet(ConstHandle2InternalPairFormationCoefficient This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +InternalPairFormationCoefficientUncertaintySet(ConstHandle2InternalPairFormationCoefficient This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.h b/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.h new file mode 100644 index 000000000..421e1077c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// InternalPairFormationCoefficient is the basic handle type in this file. Example: +// // Create a default InternalPairFormationCoefficient object: +// InternalPairFormationCoefficient handle = InternalPairFormationCoefficientDefault(); +// Functions involving InternalPairFormationCoefficient are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_INTERNALPAIRFORMATIONCOEFFICIENT +#define C_INTERFACE_TRY_V2_0_POPS_INTERNALPAIRFORMATIONCOEFFICIENT + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct InternalPairFormationCoefficientClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ InternalPairFormationCoefficient +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct InternalPairFormationCoefficientClass *InternalPairFormationCoefficient; + +// --- Const-aware handles. +typedef const struct InternalPairFormationCoefficientClass *const ConstHandle2ConstInternalPairFormationCoefficient; +typedef struct InternalPairFormationCoefficientClass *const ConstHandle2InternalPairFormationCoefficient; +typedef const struct InternalPairFormationCoefficientClass * Handle2ConstInternalPairFormationCoefficient; +typedef struct InternalPairFormationCoefficientClass * Handle2InternalPairFormationCoefficient; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInternalPairFormationCoefficient +InternalPairFormationCoefficientDefaultConst(); + +// +++ Create, default +extern_c Handle2InternalPairFormationCoefficient +InternalPairFormationCoefficientDefault(); + +// --- Create, general, const +extern_c Handle2ConstInternalPairFormationCoefficient +InternalPairFormationCoefficientCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2InternalPairFormationCoefficient +InternalPairFormationCoefficientCreate( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +InternalPairFormationCoefficientAssign(ConstHandle2InternalPairFormationCoefficient This, ConstHandle2ConstInternalPairFormationCoefficient from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +InternalPairFormationCoefficientDelete(ConstHandle2ConstInternalPairFormationCoefficient This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +InternalPairFormationCoefficientRead(ConstHandle2InternalPairFormationCoefficient This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +InternalPairFormationCoefficientWrite(ConstHandle2ConstInternalPairFormationCoefficient This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +InternalPairFormationCoefficientPrint(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Print to standard output, as XML +extern_c int +InternalPairFormationCoefficientPrintXML(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Print to standard output, as JSON +extern_c int +InternalPairFormationCoefficientPrintJSON(ConstHandle2ConstInternalPairFormationCoefficient This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InternalPairFormationCoefficientLabelHas(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +InternalPairFormationCoefficientLabelGet(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Set +extern_c void +InternalPairFormationCoefficientLabelSet(ConstHandle2InternalPairFormationCoefficient This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InternalPairFormationCoefficientValueHas(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +InternalPairFormationCoefficientValueGet(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Set +extern_c void +InternalPairFormationCoefficientValueSet(ConstHandle2InternalPairFormationCoefficient This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InternalPairFormationCoefficientUnitHas(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +InternalPairFormationCoefficientUnitGet(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Set +extern_c void +InternalPairFormationCoefficientUnitSet(ConstHandle2InternalPairFormationCoefficient This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InternalPairFormationCoefficientDocumentationHas(ConstHandle2ConstInternalPairFormationCoefficient This); + +// --- Get, const +extern_c Handle2ConstDocumentation +InternalPairFormationCoefficientDocumentationGetConst(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Get, non-const +extern_c Handle2Documentation +InternalPairFormationCoefficientDocumentationGet(ConstHandle2InternalPairFormationCoefficient This); + +// +++ Set +extern_c void +InternalPairFormationCoefficientDocumentationSet(ConstHandle2InternalPairFormationCoefficient This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InternalPairFormationCoefficientUncertaintyHas(ConstHandle2ConstInternalPairFormationCoefficient This); + +// --- Get, const +extern_c Handle2ConstUncertainty +InternalPairFormationCoefficientUncertaintyGetConst(ConstHandle2ConstInternalPairFormationCoefficient This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +InternalPairFormationCoefficientUncertaintyGet(ConstHandle2InternalPairFormationCoefficient This); + +// +++ Set +extern_c void +InternalPairFormationCoefficientUncertaintySet(ConstHandle2InternalPairFormationCoefficient This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.cpp new file mode 100644 index 000000000..08946c504 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Interval.hpp" +#include "Interval.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IntervalClass; +using CPP = multigroup::Interval; + +static const std::string CLASSNAME = "Interval"; + +namespace extract { + static auto confidence = [](auto &obj) { return &obj.confidence; }; + static auto lower = [](auto &obj) { return &obj.lower; }; + static auto upper = [](auto &obj) { return &obj.upper; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInterval +IntervalDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Interval +IntervalDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInterval +IntervalCreateConst( + const Float64 confidence, + const Float64 lower, + const Float64 upper +) { + ConstHandle2Interval handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + confidence, + lower, + upper + ); + return handle; +} + +// Create, general +Handle2Interval +IntervalCreate( + const Float64 confidence, + const Float64 lower, + const Float64 upper +) { + ConstHandle2Interval handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + confidence, + lower, + upper + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IntervalAssign(ConstHandle2Interval This, ConstHandle2ConstInterval from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IntervalDelete(ConstHandle2ConstInterval This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IntervalRead(ConstHandle2Interval This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IntervalWrite(ConstHandle2ConstInterval This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IntervalPrint(ConstHandle2ConstInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IntervalPrintXML(ConstHandle2ConstInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IntervalPrintJSON(ConstHandle2ConstInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: confidence +// ----------------------------------------------------------------------------- + +// Has +int +IntervalConfidenceHas(ConstHandle2ConstInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfidenceHas", This, extract::confidence); +} + +// Get +// Returns by value +Float64 +IntervalConfidenceGet(ConstHandle2ConstInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfidenceGet", This, extract::confidence); +} + +// Set +void +IntervalConfidenceSet(ConstHandle2Interval This, const Float64 confidence) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConfidenceSet", This, extract::confidence, confidence); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: lower +// ----------------------------------------------------------------------------- + +// Has +int +IntervalLowerHas(ConstHandle2ConstInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LowerHas", This, extract::lower); +} + +// Get +// Returns by value +Float64 +IntervalLowerGet(ConstHandle2ConstInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LowerGet", This, extract::lower); +} + +// Set +void +IntervalLowerSet(ConstHandle2Interval This, const Float64 lower) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LowerSet", This, extract::lower, lower); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: upper +// ----------------------------------------------------------------------------- + +// Has +int +IntervalUpperHas(ConstHandle2ConstInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UpperHas", This, extract::upper); +} + +// Get +// Returns by value +Float64 +IntervalUpperGet(ConstHandle2ConstInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UpperGet", This, extract::upper); +} + +// Set +void +IntervalUpperSet(ConstHandle2Interval This, const Float64 upper) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UpperSet", This, extract::upper, upper); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.h new file mode 100644 index 000000000..b15babe41 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Interval is the basic handle type in this file. Example: +// // Create a default Interval object: +// Interval handle = IntervalDefault(); +// Functions involving Interval are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_INTERVAL +#define C_INTERFACE_TRY_V2_0_POPS_INTERVAL + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IntervalClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Interval +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IntervalClass *Interval; + +// --- Const-aware handles. +typedef const struct IntervalClass *const ConstHandle2ConstInterval; +typedef struct IntervalClass *const ConstHandle2Interval; +typedef const struct IntervalClass * Handle2ConstInterval; +typedef struct IntervalClass * Handle2Interval; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInterval +IntervalDefaultConst(); + +// +++ Create, default +extern_c Handle2Interval +IntervalDefault(); + +// --- Create, general, const +extern_c Handle2ConstInterval +IntervalCreateConst( + const Float64 confidence, + const Float64 lower, + const Float64 upper +); + +// +++ Create, general +extern_c Handle2Interval +IntervalCreate( + const Float64 confidence, + const Float64 lower, + const Float64 upper +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IntervalAssign(ConstHandle2Interval This, ConstHandle2ConstInterval from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IntervalDelete(ConstHandle2ConstInterval This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IntervalRead(ConstHandle2Interval This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IntervalWrite(ConstHandle2ConstInterval This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IntervalPrint(ConstHandle2ConstInterval This); + +// +++ Print to standard output, as XML +extern_c int +IntervalPrintXML(ConstHandle2ConstInterval This); + +// +++ Print to standard output, as JSON +extern_c int +IntervalPrintJSON(ConstHandle2ConstInterval This); + + +// ----------------------------------------------------------------------------- +// Metadatum: confidence +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntervalConfidenceHas(ConstHandle2ConstInterval This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +IntervalConfidenceGet(ConstHandle2ConstInterval This); + +// +++ Set +extern_c void +IntervalConfidenceSet(ConstHandle2Interval This, const Float64 confidence); + + +// ----------------------------------------------------------------------------- +// Metadatum: lower +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntervalLowerHas(ConstHandle2ConstInterval This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +IntervalLowerGet(ConstHandle2ConstInterval This); + +// +++ Set +extern_c void +IntervalLowerSet(ConstHandle2Interval This, const Float64 lower); + + +// ----------------------------------------------------------------------------- +// Metadatum: upper +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntervalUpperHas(ConstHandle2ConstInterval This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +IntervalUpperGet(ConstHandle2ConstInterval This); + +// +++ Set +extern_c void +IntervalUpperSet(ConstHandle2Interval This, const Float64 upper); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.cpp new file mode 100644 index 000000000..e489ceff4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.cpp @@ -0,0 +1,244 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Isotope.hpp" +#include "Isotope.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IsotopeClass; +using CPP = multigroup::Isotope; + +static const std::string CLASSNAME = "Isotope"; + +namespace extract { + static auto A = [](auto &obj) { return &obj.A; }; + static auto symbol = [](auto &obj) { return &obj.symbol; }; + static auto nuclides = [](auto &obj) { return &obj.nuclides; }; +} + +using CPPNuclides = pops::Nuclides; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIsotope +IsotopeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Isotope +IsotopeDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIsotope +IsotopeCreateConst( + const Integer32 A, + const XMLName symbol, + ConstHandle2ConstNuclides nuclides +) { + ConstHandle2Isotope handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + A, + symbol, + detail::tocpp(nuclides) + ); + return handle; +} + +// Create, general +Handle2Isotope +IsotopeCreate( + const Integer32 A, + const XMLName symbol, + ConstHandle2ConstNuclides nuclides +) { + ConstHandle2Isotope handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + A, + symbol, + detail::tocpp(nuclides) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IsotopeAssign(ConstHandle2Isotope This, ConstHandle2ConstIsotope from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IsotopeDelete(ConstHandle2ConstIsotope This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IsotopeRead(ConstHandle2Isotope This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IsotopeWrite(ConstHandle2ConstIsotope This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IsotopePrint(ConstHandle2ConstIsotope This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IsotopePrintXML(ConstHandle2ConstIsotope This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IsotopePrintJSON(ConstHandle2ConstIsotope This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: A +// ----------------------------------------------------------------------------- + +// Has +int +IsotopeAHas(ConstHandle2ConstIsotope This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AHas", This, extract::A); +} + +// Get +// Returns by value +Integer32 +IsotopeAGet(ConstHandle2ConstIsotope This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AGet", This, extract::A); +} + +// Set +void +IsotopeASet(ConstHandle2Isotope This, const Integer32 A) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ASet", This, extract::A, A); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: symbol +// ----------------------------------------------------------------------------- + +// Has +int +IsotopeSymbolHas(ConstHandle2ConstIsotope This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SymbolHas", This, extract::symbol); +} + +// Get +// Returns by value +XMLName +IsotopeSymbolGet(ConstHandle2ConstIsotope This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SymbolGet", This, extract::symbol); +} + +// Set +void +IsotopeSymbolSet(ConstHandle2Isotope This, const XMLName symbol) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SymbolSet", This, extract::symbol, symbol); +} + + +// ----------------------------------------------------------------------------- +// Child: nuclides +// ----------------------------------------------------------------------------- + +// Has +int +IsotopeNuclidesHas(ConstHandle2ConstIsotope This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NuclidesHas", This, extract::nuclides); +} + +// Get, const +Handle2ConstNuclides +IsotopeNuclidesGetConst(ConstHandle2ConstIsotope This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclidesGetConst", This, extract::nuclides); +} + +// Get, non-const +Handle2Nuclides +IsotopeNuclidesGet(ConstHandle2Isotope This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NuclidesGet", This, extract::nuclides); +} + +// Set +void +IsotopeNuclidesSet(ConstHandle2Isotope This, ConstHandle2ConstNuclides nuclides) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NuclidesSet", This, extract::nuclides, nuclides); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.h new file mode 100644 index 000000000..a6e00e4b7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.h @@ -0,0 +1,199 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Isotope is the basic handle type in this file. Example: +// // Create a default Isotope object: +// Isotope handle = IsotopeDefault(); +// Functions involving Isotope are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_ISOTOPE +#define C_INTERFACE_TRY_V2_0_POPS_ISOTOPE + +#include "GNDStk.h" +#include "v2.0/pops/Nuclides.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IsotopeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Isotope +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IsotopeClass *Isotope; + +// --- Const-aware handles. +typedef const struct IsotopeClass *const ConstHandle2ConstIsotope; +typedef struct IsotopeClass *const ConstHandle2Isotope; +typedef const struct IsotopeClass * Handle2ConstIsotope; +typedef struct IsotopeClass * Handle2Isotope; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIsotope +IsotopeDefaultConst(); + +// +++ Create, default +extern_c Handle2Isotope +IsotopeDefault(); + +// --- Create, general, const +extern_c Handle2ConstIsotope +IsotopeCreateConst( + const Integer32 A, + const XMLName symbol, + ConstHandle2ConstNuclides nuclides +); + +// +++ Create, general +extern_c Handle2Isotope +IsotopeCreate( + const Integer32 A, + const XMLName symbol, + ConstHandle2ConstNuclides nuclides +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IsotopeAssign(ConstHandle2Isotope This, ConstHandle2ConstIsotope from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IsotopeDelete(ConstHandle2ConstIsotope This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IsotopeRead(ConstHandle2Isotope This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IsotopeWrite(ConstHandle2ConstIsotope This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IsotopePrint(ConstHandle2ConstIsotope This); + +// +++ Print to standard output, as XML +extern_c int +IsotopePrintXML(ConstHandle2ConstIsotope This); + +// +++ Print to standard output, as JSON +extern_c int +IsotopePrintJSON(ConstHandle2ConstIsotope This); + + +// ----------------------------------------------------------------------------- +// Metadatum: A +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IsotopeAHas(ConstHandle2ConstIsotope This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +IsotopeAGet(ConstHandle2ConstIsotope This); + +// +++ Set +extern_c void +IsotopeASet(ConstHandle2Isotope This, const Integer32 A); + + +// ----------------------------------------------------------------------------- +// Metadatum: symbol +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IsotopeSymbolHas(ConstHandle2ConstIsotope This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +IsotopeSymbolGet(ConstHandle2ConstIsotope This); + +// +++ Set +extern_c void +IsotopeSymbolSet(ConstHandle2Isotope This, const XMLName symbol); + + +// ----------------------------------------------------------------------------- +// Child: nuclides +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IsotopeNuclidesHas(ConstHandle2ConstIsotope This); + +// --- Get, const +extern_c Handle2ConstNuclides +IsotopeNuclidesGetConst(ConstHandle2ConstIsotope This); + +// +++ Get, non-const +extern_c Handle2Nuclides +IsotopeNuclidesGet(ConstHandle2Isotope This); + +// +++ Set +extern_c void +IsotopeNuclidesSet(ConstHandle2Isotope This, ConstHandle2ConstNuclides nuclides); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.cpp new file mode 100644 index 000000000..6d47ba5e4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Isotopes.hpp" +#include "Isotopes.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IsotopesClass; +using CPP = multigroup::Isotopes; + +static const std::string CLASSNAME = "Isotopes"; + +namespace extract { + static auto isotope = [](auto &obj) { return &obj.isotope; }; +} + +using CPPIsotope = pops::Isotope; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIsotopes +IsotopesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Isotopes +IsotopesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIsotopes +IsotopesCreateConst( + ConstHandle2Isotope *const isotope, const size_t isotopeSize +) { + ConstHandle2Isotopes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t IsotopeN = 0; IsotopeN < isotopeSize; ++IsotopeN) + IsotopesIsotopeAdd(handle, isotope[IsotopeN]); + return handle; +} + +// Create, general +Handle2Isotopes +IsotopesCreate( + ConstHandle2Isotope *const isotope, const size_t isotopeSize +) { + ConstHandle2Isotopes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t IsotopeN = 0; IsotopeN < isotopeSize; ++IsotopeN) + IsotopesIsotopeAdd(handle, isotope[IsotopeN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IsotopesAssign(ConstHandle2Isotopes This, ConstHandle2ConstIsotopes from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IsotopesDelete(ConstHandle2ConstIsotopes This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IsotopesRead(ConstHandle2Isotopes This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IsotopesWrite(ConstHandle2ConstIsotopes This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IsotopesPrint(ConstHandle2ConstIsotopes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IsotopesPrintXML(ConstHandle2ConstIsotopes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IsotopesPrintJSON(ConstHandle2ConstIsotopes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: isotope +// ----------------------------------------------------------------------------- + +// Has +int +IsotopesIsotopeHas(ConstHandle2ConstIsotopes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IsotopeHas", This, extract::isotope); +} + +// Clear +void +IsotopesIsotopeClear(ConstHandle2Isotopes This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"IsotopeClear", This, extract::isotope); +} + +// Size +size_t +IsotopesIsotopeSize(ConstHandle2ConstIsotopes This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"IsotopeSize", This, extract::isotope); +} + +// Add +void +IsotopesIsotopeAdd(ConstHandle2Isotopes This, ConstHandle2ConstIsotope isotope) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"IsotopeAdd", This, extract::isotope, isotope); +} + +// Get, by index \in [0,size), const +Handle2ConstIsotope +IsotopesIsotopeGetConst(ConstHandle2ConstIsotopes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IsotopeGetConst", This, extract::isotope, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Isotope +IsotopesIsotopeGet(ConstHandle2Isotopes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IsotopeGet", This, extract::isotope, index_); +} + +// Set, by index \in [0,size) +void +IsotopesIsotopeSet( + ConstHandle2Isotopes This, + const size_t index_, + ConstHandle2ConstIsotope isotope +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"IsotopeSet", This, extract::isotope, index_, isotope); +} + +// Has, by A +int +IsotopesIsotopeHasByA( + ConstHandle2ConstIsotopes This, + const Integer32 A +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IsotopeHasByA", + This, extract::isotope, meta::A, A); +} + +// Get, by A, const +Handle2ConstIsotope +IsotopesIsotopeGetByAConst( + ConstHandle2ConstIsotopes This, + const Integer32 A +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IsotopeGetByAConst", + This, extract::isotope, meta::A, A); +} + +// Get, by A, non-const +Handle2Isotope +IsotopesIsotopeGetByA( + ConstHandle2Isotopes This, + const Integer32 A +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IsotopeGetByA", + This, extract::isotope, meta::A, A); +} + +// Set, by A +void +IsotopesIsotopeSetByA( + ConstHandle2Isotopes This, + const Integer32 A, + ConstHandle2ConstIsotope isotope +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IsotopeSetByA", + This, extract::isotope, meta::A, A, isotope); +} + +// Has, by symbol +int +IsotopesIsotopeHasBySymbol( + ConstHandle2ConstIsotopes This, + const XMLName symbol +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IsotopeHasBySymbol", + This, extract::isotope, meta::symbol, symbol); +} + +// Get, by symbol, const +Handle2ConstIsotope +IsotopesIsotopeGetBySymbolConst( + ConstHandle2ConstIsotopes This, + const XMLName symbol +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IsotopeGetBySymbolConst", + This, extract::isotope, meta::symbol, symbol); +} + +// Get, by symbol, non-const +Handle2Isotope +IsotopesIsotopeGetBySymbol( + ConstHandle2Isotopes This, + const XMLName symbol +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IsotopeGetBySymbol", + This, extract::isotope, meta::symbol, symbol); +} + +// Set, by symbol +void +IsotopesIsotopeSetBySymbol( + ConstHandle2Isotopes This, + const XMLName symbol, + ConstHandle2ConstIsotope isotope +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IsotopeSetBySymbol", + This, extract::isotope, meta::symbol, symbol, isotope); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.h new file mode 100644 index 000000000..5893dc92b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Isotopes is the basic handle type in this file. Example: +// // Create a default Isotopes object: +// Isotopes handle = IsotopesDefault(); +// Functions involving Isotopes are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_ISOTOPES +#define C_INTERFACE_TRY_V2_0_POPS_ISOTOPES + +#include "GNDStk.h" +#include "v2.0/pops/Isotope.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IsotopesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Isotopes +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IsotopesClass *Isotopes; + +// --- Const-aware handles. +typedef const struct IsotopesClass *const ConstHandle2ConstIsotopes; +typedef struct IsotopesClass *const ConstHandle2Isotopes; +typedef const struct IsotopesClass * Handle2ConstIsotopes; +typedef struct IsotopesClass * Handle2Isotopes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIsotopes +IsotopesDefaultConst(); + +// +++ Create, default +extern_c Handle2Isotopes +IsotopesDefault(); + +// --- Create, general, const +extern_c Handle2ConstIsotopes +IsotopesCreateConst( + ConstHandle2Isotope *const isotope, const size_t isotopeSize +); + +// +++ Create, general +extern_c Handle2Isotopes +IsotopesCreate( + ConstHandle2Isotope *const isotope, const size_t isotopeSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IsotopesAssign(ConstHandle2Isotopes This, ConstHandle2ConstIsotopes from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IsotopesDelete(ConstHandle2ConstIsotopes This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IsotopesRead(ConstHandle2Isotopes This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IsotopesWrite(ConstHandle2ConstIsotopes This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IsotopesPrint(ConstHandle2ConstIsotopes This); + +// +++ Print to standard output, as XML +extern_c int +IsotopesPrintXML(ConstHandle2ConstIsotopes This); + +// +++ Print to standard output, as JSON +extern_c int +IsotopesPrintJSON(ConstHandle2ConstIsotopes This); + + +// ----------------------------------------------------------------------------- +// Child: isotope +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IsotopesIsotopeHas(ConstHandle2ConstIsotopes This); + +// +++ Clear +extern_c void +IsotopesIsotopeClear(ConstHandle2Isotopes This); + +// +++ Size +extern_c size_t +IsotopesIsotopeSize(ConstHandle2ConstIsotopes This); + +// +++ Add +extern_c void +IsotopesIsotopeAdd(ConstHandle2Isotopes This, ConstHandle2ConstIsotope isotope); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstIsotope +IsotopesIsotopeGetConst(ConstHandle2ConstIsotopes This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Isotope +IsotopesIsotopeGet(ConstHandle2Isotopes This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +IsotopesIsotopeSet( + ConstHandle2Isotopes This, + const size_t index_, + ConstHandle2ConstIsotope isotope +); + +// +++ Has, by A +extern_c int +IsotopesIsotopeHasByA( + ConstHandle2ConstIsotopes This, + const Integer32 A +); + +// --- Get, by A, const +extern_c Handle2ConstIsotope +IsotopesIsotopeGetByAConst( + ConstHandle2ConstIsotopes This, + const Integer32 A +); + +// +++ Get, by A, non-const +extern_c Handle2Isotope +IsotopesIsotopeGetByA( + ConstHandle2Isotopes This, + const Integer32 A +); + +// +++ Set, by A +extern_c void +IsotopesIsotopeSetByA( + ConstHandle2Isotopes This, + const Integer32 A, + ConstHandle2ConstIsotope isotope +); + +// +++ Has, by symbol +extern_c int +IsotopesIsotopeHasBySymbol( + ConstHandle2ConstIsotopes This, + const XMLName symbol +); + +// --- Get, by symbol, const +extern_c Handle2ConstIsotope +IsotopesIsotopeGetBySymbolConst( + ConstHandle2ConstIsotopes This, + const XMLName symbol +); + +// +++ Get, by symbol, non-const +extern_c Handle2Isotope +IsotopesIsotopeGetBySymbol( + ConstHandle2Isotopes This, + const XMLName symbol +); + +// +++ Set, by symbol +extern_c void +IsotopesIsotopeSetBySymbol( + ConstHandle2Isotopes This, + const XMLName symbol, + ConstHandle2ConstIsotope isotope +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.cpp new file mode 100644 index 000000000..4de29bf51 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.cpp @@ -0,0 +1,459 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Lepton.hpp" +#include "Lepton.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LeptonClass; +using CPP = multigroup::Lepton; + +static const std::string CLASSNAME = "Lepton"; + +namespace extract { + static auto generation = [](auto &obj) { return &obj.generation; }; + static auto id = [](auto &obj) { return &obj.id; }; + static auto charge = [](auto &obj) { return &obj.charge; }; + static auto halflife = [](auto &obj) { return &obj.halflife; }; + static auto mass = [](auto &obj) { return &obj.mass; }; + static auto spin = [](auto &obj) { return &obj.spin; }; + static auto parity = [](auto &obj) { return &obj.parity; }; + static auto decayData = [](auto &obj) { return &obj.decayData; }; +} + +using CPPCharge = pops::Charge; +using CPPHalflife = pops::Halflife; +using CPPMass = pops::Mass; +using CPPSpin = pops::Spin; +using CPPParity = pops::Parity; +using CPPDecayData = pops::DecayData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLepton +LeptonDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Lepton +LeptonDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLepton +LeptonCreateConst( + const XMLName generation, + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +) { + ConstHandle2Lepton handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + generation, + id, + detail::tocpp(charge), + detail::tocpp(halflife), + detail::tocpp(mass), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(decayData) + ); + return handle; +} + +// Create, general +Handle2Lepton +LeptonCreate( + const XMLName generation, + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +) { + ConstHandle2Lepton handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + generation, + id, + detail::tocpp(charge), + detail::tocpp(halflife), + detail::tocpp(mass), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(decayData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LeptonAssign(ConstHandle2Lepton This, ConstHandle2ConstLepton from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LeptonDelete(ConstHandle2ConstLepton This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LeptonRead(ConstHandle2Lepton This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LeptonWrite(ConstHandle2ConstLepton This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LeptonPrint(ConstHandle2ConstLepton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LeptonPrintXML(ConstHandle2ConstLepton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LeptonPrintJSON(ConstHandle2ConstLepton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: generation +// ----------------------------------------------------------------------------- + +// Has +int +LeptonGenerationHas(ConstHandle2ConstLepton This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GenerationHas", This, extract::generation); +} + +// Get +// Returns by value +XMLName +LeptonGenerationGet(ConstHandle2ConstLepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GenerationGet", This, extract::generation); +} + +// Set +void +LeptonGenerationSet(ConstHandle2Lepton This, const XMLName generation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"GenerationSet", This, extract::generation, generation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// Has +int +LeptonIdHas(ConstHandle2ConstLepton This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdHas", This, extract::id); +} + +// Get +// Returns by value +XMLName +LeptonIdGet(ConstHandle2ConstLepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdGet", This, extract::id); +} + +// Set +void +LeptonIdSet(ConstHandle2Lepton This, const XMLName id) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdSet", This, extract::id, id); +} + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// Has +int +LeptonChargeHas(ConstHandle2ConstLepton This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChargeHas", This, extract::charge); +} + +// Get, const +Handle2ConstCharge +LeptonChargeGetConst(ConstHandle2ConstLepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGetConst", This, extract::charge); +} + +// Get, non-const +Handle2Charge +LeptonChargeGet(ConstHandle2Lepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGet", This, extract::charge); +} + +// Set +void +LeptonChargeSet(ConstHandle2Lepton This, ConstHandle2ConstCharge charge) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChargeSet", This, extract::charge, charge); +} + + +// ----------------------------------------------------------------------------- +// Child: halflife +// ----------------------------------------------------------------------------- + +// Has +int +LeptonHalflifeHas(ConstHandle2ConstLepton This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HalflifeHas", This, extract::halflife); +} + +// Get, const +Handle2ConstHalflife +LeptonHalflifeGetConst(ConstHandle2ConstLepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HalflifeGetConst", This, extract::halflife); +} + +// Get, non-const +Handle2Halflife +LeptonHalflifeGet(ConstHandle2Lepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HalflifeGet", This, extract::halflife); +} + +// Set +void +LeptonHalflifeSet(ConstHandle2Lepton This, ConstHandle2ConstHalflife halflife) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HalflifeSet", This, extract::halflife, halflife); +} + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// Has +int +LeptonMassHas(ConstHandle2ConstLepton This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MassHas", This, extract::mass); +} + +// Get, const +Handle2ConstMass +LeptonMassGetConst(ConstHandle2ConstLepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGetConst", This, extract::mass); +} + +// Get, non-const +Handle2Mass +LeptonMassGet(ConstHandle2Lepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGet", This, extract::mass); +} + +// Set +void +LeptonMassSet(ConstHandle2Lepton This, ConstHandle2ConstMass mass) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MassSet", This, extract::mass, mass); +} + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// Has +int +LeptonSpinHas(ConstHandle2ConstLepton This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpinHas", This, extract::spin); +} + +// Get, const +Handle2ConstSpin +LeptonSpinGetConst(ConstHandle2ConstLepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGetConst", This, extract::spin); +} + +// Get, non-const +Handle2Spin +LeptonSpinGet(ConstHandle2Lepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGet", This, extract::spin); +} + +// Set +void +LeptonSpinSet(ConstHandle2Lepton This, ConstHandle2ConstSpin spin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SpinSet", This, extract::spin, spin); +} + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// Has +int +LeptonParityHas(ConstHandle2ConstLepton This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParityHas", This, extract::parity); +} + +// Get, const +Handle2ConstParity +LeptonParityGetConst(ConstHandle2ConstLepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGetConst", This, extract::parity); +} + +// Get, non-const +Handle2Parity +LeptonParityGet(ConstHandle2Lepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGet", This, extract::parity); +} + +// Set +void +LeptonParitySet(ConstHandle2Lepton This, ConstHandle2ConstParity parity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ParitySet", This, extract::parity, parity); +} + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// Has +int +LeptonDecayDataHas(ConstHandle2ConstLepton This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayDataHas", This, extract::decayData); +} + +// Get, const +Handle2ConstDecayData +LeptonDecayDataGetConst(ConstHandle2ConstLepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGetConst", This, extract::decayData); +} + +// Get, non-const +Handle2DecayData +LeptonDecayDataGet(ConstHandle2Lepton This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGet", This, extract::decayData); +} + +// Set +void +LeptonDecayDataSet(ConstHandle2Lepton This, ConstHandle2ConstDecayData decayData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DecayDataSet", This, extract::decayData, decayData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.h new file mode 100644 index 000000000..00754660c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.h @@ -0,0 +1,319 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Lepton is the basic handle type in this file. Example: +// // Create a default Lepton object: +// Lepton handle = LeptonDefault(); +// Functions involving Lepton are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_LEPTON +#define C_INTERFACE_TRY_V2_0_POPS_LEPTON + +#include "GNDStk.h" +#include "v2.0/pops/Charge.h" +#include "v2.0/pops/Halflife.h" +#include "v2.0/pops/Mass.h" +#include "v2.0/pops/Spin.h" +#include "v2.0/pops/Parity.h" +#include "v2.0/pops/DecayData.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LeptonClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Lepton +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LeptonClass *Lepton; + +// --- Const-aware handles. +typedef const struct LeptonClass *const ConstHandle2ConstLepton; +typedef struct LeptonClass *const ConstHandle2Lepton; +typedef const struct LeptonClass * Handle2ConstLepton; +typedef struct LeptonClass * Handle2Lepton; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLepton +LeptonDefaultConst(); + +// +++ Create, default +extern_c Handle2Lepton +LeptonDefault(); + +// --- Create, general, const +extern_c Handle2ConstLepton +LeptonCreateConst( + const XMLName generation, + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +); + +// +++ Create, general +extern_c Handle2Lepton +LeptonCreate( + const XMLName generation, + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LeptonAssign(ConstHandle2Lepton This, ConstHandle2ConstLepton from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LeptonDelete(ConstHandle2ConstLepton This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LeptonRead(ConstHandle2Lepton This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LeptonWrite(ConstHandle2ConstLepton This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LeptonPrint(ConstHandle2ConstLepton This); + +// +++ Print to standard output, as XML +extern_c int +LeptonPrintXML(ConstHandle2ConstLepton This); + +// +++ Print to standard output, as JSON +extern_c int +LeptonPrintJSON(ConstHandle2ConstLepton This); + + +// ----------------------------------------------------------------------------- +// Metadatum: generation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonGenerationHas(ConstHandle2ConstLepton This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +LeptonGenerationGet(ConstHandle2ConstLepton This); + +// +++ Set +extern_c void +LeptonGenerationSet(ConstHandle2Lepton This, const XMLName generation); + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonIdHas(ConstHandle2ConstLepton This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +LeptonIdGet(ConstHandle2ConstLepton This); + +// +++ Set +extern_c void +LeptonIdSet(ConstHandle2Lepton This, const XMLName id); + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonChargeHas(ConstHandle2ConstLepton This); + +// --- Get, const +extern_c Handle2ConstCharge +LeptonChargeGetConst(ConstHandle2ConstLepton This); + +// +++ Get, non-const +extern_c Handle2Charge +LeptonChargeGet(ConstHandle2Lepton This); + +// +++ Set +extern_c void +LeptonChargeSet(ConstHandle2Lepton This, ConstHandle2ConstCharge charge); + + +// ----------------------------------------------------------------------------- +// Child: halflife +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonHalflifeHas(ConstHandle2ConstLepton This); + +// --- Get, const +extern_c Handle2ConstHalflife +LeptonHalflifeGetConst(ConstHandle2ConstLepton This); + +// +++ Get, non-const +extern_c Handle2Halflife +LeptonHalflifeGet(ConstHandle2Lepton This); + +// +++ Set +extern_c void +LeptonHalflifeSet(ConstHandle2Lepton This, ConstHandle2ConstHalflife halflife); + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonMassHas(ConstHandle2ConstLepton This); + +// --- Get, const +extern_c Handle2ConstMass +LeptonMassGetConst(ConstHandle2ConstLepton This); + +// +++ Get, non-const +extern_c Handle2Mass +LeptonMassGet(ConstHandle2Lepton This); + +// +++ Set +extern_c void +LeptonMassSet(ConstHandle2Lepton This, ConstHandle2ConstMass mass); + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonSpinHas(ConstHandle2ConstLepton This); + +// --- Get, const +extern_c Handle2ConstSpin +LeptonSpinGetConst(ConstHandle2ConstLepton This); + +// +++ Get, non-const +extern_c Handle2Spin +LeptonSpinGet(ConstHandle2Lepton This); + +// +++ Set +extern_c void +LeptonSpinSet(ConstHandle2Lepton This, ConstHandle2ConstSpin spin); + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonParityHas(ConstHandle2ConstLepton This); + +// --- Get, const +extern_c Handle2ConstParity +LeptonParityGetConst(ConstHandle2ConstLepton This); + +// +++ Get, non-const +extern_c Handle2Parity +LeptonParityGet(ConstHandle2Lepton This); + +// +++ Set +extern_c void +LeptonParitySet(ConstHandle2Lepton This, ConstHandle2ConstParity parity); + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonDecayDataHas(ConstHandle2ConstLepton This); + +// --- Get, const +extern_c Handle2ConstDecayData +LeptonDecayDataGetConst(ConstHandle2ConstLepton This); + +// +++ Get, non-const +extern_c Handle2DecayData +LeptonDecayDataGet(ConstHandle2Lepton This); + +// +++ Set +extern_c void +LeptonDecayDataSet(ConstHandle2Lepton This, ConstHandle2ConstDecayData decayData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.cpp new file mode 100644 index 000000000..605590cf0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Leptons.hpp" +#include "Leptons.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LeptonsClass; +using CPP = multigroup::Leptons; + +static const std::string CLASSNAME = "Leptons"; + +namespace extract { + static auto lepton = [](auto &obj) { return &obj.lepton; }; +} + +using CPPLepton = pops::Lepton; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLeptons +LeptonsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Leptons +LeptonsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLeptons +LeptonsCreateConst( + ConstHandle2Lepton *const lepton, const size_t leptonSize +) { + ConstHandle2Leptons handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t LeptonN = 0; LeptonN < leptonSize; ++LeptonN) + LeptonsLeptonAdd(handle, lepton[LeptonN]); + return handle; +} + +// Create, general +Handle2Leptons +LeptonsCreate( + ConstHandle2Lepton *const lepton, const size_t leptonSize +) { + ConstHandle2Leptons handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t LeptonN = 0; LeptonN < leptonSize; ++LeptonN) + LeptonsLeptonAdd(handle, lepton[LeptonN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LeptonsAssign(ConstHandle2Leptons This, ConstHandle2ConstLeptons from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LeptonsDelete(ConstHandle2ConstLeptons This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LeptonsRead(ConstHandle2Leptons This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LeptonsWrite(ConstHandle2ConstLeptons This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LeptonsPrint(ConstHandle2ConstLeptons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LeptonsPrintXML(ConstHandle2ConstLeptons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LeptonsPrintJSON(ConstHandle2ConstLeptons This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: lepton +// ----------------------------------------------------------------------------- + +// Has +int +LeptonsLeptonHas(ConstHandle2ConstLeptons This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LeptonHas", This, extract::lepton); +} + +// Clear +void +LeptonsLeptonClear(ConstHandle2Leptons This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"LeptonClear", This, extract::lepton); +} + +// Size +size_t +LeptonsLeptonSize(ConstHandle2ConstLeptons This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"LeptonSize", This, extract::lepton); +} + +// Add +void +LeptonsLeptonAdd(ConstHandle2Leptons This, ConstHandle2ConstLepton lepton) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"LeptonAdd", This, extract::lepton, lepton); +} + +// Get, by index \in [0,size), const +Handle2ConstLepton +LeptonsLeptonGetConst(ConstHandle2ConstLeptons This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"LeptonGetConst", This, extract::lepton, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Lepton +LeptonsLeptonGet(ConstHandle2Leptons This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"LeptonGet", This, extract::lepton, index_); +} + +// Set, by index \in [0,size) +void +LeptonsLeptonSet( + ConstHandle2Leptons This, + const size_t index_, + ConstHandle2ConstLepton lepton +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"LeptonSet", This, extract::lepton, index_, lepton); +} + +// Has, by generation +int +LeptonsLeptonHasByGeneration( + ConstHandle2ConstLeptons This, + const XMLName generation +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"LeptonHasByGeneration", + This, extract::lepton, meta::generation, generation); +} + +// Get, by generation, const +Handle2ConstLepton +LeptonsLeptonGetByGenerationConst( + ConstHandle2ConstLeptons This, + const XMLName generation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LeptonGetByGenerationConst", + This, extract::lepton, meta::generation, generation); +} + +// Get, by generation, non-const +Handle2Lepton +LeptonsLeptonGetByGeneration( + ConstHandle2Leptons This, + const XMLName generation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LeptonGetByGeneration", + This, extract::lepton, meta::generation, generation); +} + +// Set, by generation +void +LeptonsLeptonSetByGeneration( + ConstHandle2Leptons This, + const XMLName generation, + ConstHandle2ConstLepton lepton +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"LeptonSetByGeneration", + This, extract::lepton, meta::generation, generation, lepton); +} + +// Has, by id +int +LeptonsLeptonHasById( + ConstHandle2ConstLeptons This, + const XMLName id +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"LeptonHasById", + This, extract::lepton, meta::id, id); +} + +// Get, by id, const +Handle2ConstLepton +LeptonsLeptonGetByIdConst( + ConstHandle2ConstLeptons This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LeptonGetByIdConst", + This, extract::lepton, meta::id, id); +} + +// Get, by id, non-const +Handle2Lepton +LeptonsLeptonGetById( + ConstHandle2Leptons This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LeptonGetById", + This, extract::lepton, meta::id, id); +} + +// Set, by id +void +LeptonsLeptonSetById( + ConstHandle2Leptons This, + const XMLName id, + ConstHandle2ConstLepton lepton +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"LeptonSetById", + This, extract::lepton, meta::id, id, lepton); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.h new file mode 100644 index 000000000..de36c581f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Leptons is the basic handle type in this file. Example: +// // Create a default Leptons object: +// Leptons handle = LeptonsDefault(); +// Functions involving Leptons are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_LEPTONS +#define C_INTERFACE_TRY_V2_0_POPS_LEPTONS + +#include "GNDStk.h" +#include "v2.0/pops/Lepton.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LeptonsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Leptons +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LeptonsClass *Leptons; + +// --- Const-aware handles. +typedef const struct LeptonsClass *const ConstHandle2ConstLeptons; +typedef struct LeptonsClass *const ConstHandle2Leptons; +typedef const struct LeptonsClass * Handle2ConstLeptons; +typedef struct LeptonsClass * Handle2Leptons; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLeptons +LeptonsDefaultConst(); + +// +++ Create, default +extern_c Handle2Leptons +LeptonsDefault(); + +// --- Create, general, const +extern_c Handle2ConstLeptons +LeptonsCreateConst( + ConstHandle2Lepton *const lepton, const size_t leptonSize +); + +// +++ Create, general +extern_c Handle2Leptons +LeptonsCreate( + ConstHandle2Lepton *const lepton, const size_t leptonSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LeptonsAssign(ConstHandle2Leptons This, ConstHandle2ConstLeptons from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LeptonsDelete(ConstHandle2ConstLeptons This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LeptonsRead(ConstHandle2Leptons This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LeptonsWrite(ConstHandle2ConstLeptons This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LeptonsPrint(ConstHandle2ConstLeptons This); + +// +++ Print to standard output, as XML +extern_c int +LeptonsPrintXML(ConstHandle2ConstLeptons This); + +// +++ Print to standard output, as JSON +extern_c int +LeptonsPrintJSON(ConstHandle2ConstLeptons This); + + +// ----------------------------------------------------------------------------- +// Child: lepton +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LeptonsLeptonHas(ConstHandle2ConstLeptons This); + +// +++ Clear +extern_c void +LeptonsLeptonClear(ConstHandle2Leptons This); + +// +++ Size +extern_c size_t +LeptonsLeptonSize(ConstHandle2ConstLeptons This); + +// +++ Add +extern_c void +LeptonsLeptonAdd(ConstHandle2Leptons This, ConstHandle2ConstLepton lepton); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstLepton +LeptonsLeptonGetConst(ConstHandle2ConstLeptons This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Lepton +LeptonsLeptonGet(ConstHandle2Leptons This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +LeptonsLeptonSet( + ConstHandle2Leptons This, + const size_t index_, + ConstHandle2ConstLepton lepton +); + +// +++ Has, by generation +extern_c int +LeptonsLeptonHasByGeneration( + ConstHandle2ConstLeptons This, + const XMLName generation +); + +// --- Get, by generation, const +extern_c Handle2ConstLepton +LeptonsLeptonGetByGenerationConst( + ConstHandle2ConstLeptons This, + const XMLName generation +); + +// +++ Get, by generation, non-const +extern_c Handle2Lepton +LeptonsLeptonGetByGeneration( + ConstHandle2Leptons This, + const XMLName generation +); + +// +++ Set, by generation +extern_c void +LeptonsLeptonSetByGeneration( + ConstHandle2Leptons This, + const XMLName generation, + ConstHandle2ConstLepton lepton +); + +// +++ Has, by id +extern_c int +LeptonsLeptonHasById( + ConstHandle2ConstLeptons This, + const XMLName id +); + +// --- Get, by id, const +extern_c Handle2ConstLepton +LeptonsLeptonGetByIdConst( + ConstHandle2ConstLeptons This, + const XMLName id +); + +// +++ Get, by id, non-const +extern_c Handle2Lepton +LeptonsLeptonGetById( + ConstHandle2Leptons This, + const XMLName id +); + +// +++ Set, by id +extern_c void +LeptonsLeptonSetById( + ConstHandle2Leptons This, + const XMLName id, + ConstHandle2ConstLepton lepton +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp new file mode 100644 index 000000000..3d479d455 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/LogNormal.hpp" +#include "LogNormal.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LogNormalClass; +using CPP = multigroup::LogNormal; + +static const std::string CLASSNAME = "LogNormal"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLogNormal +LogNormalDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2LogNormal +LogNormalDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLogNormal +LogNormalCreateConst( + ConstHandle2ConstDouble Double +) { + ConstHandle2LogNormal handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2LogNormal +LogNormalCreate( + ConstHandle2ConstDouble Double +) { + ConstHandle2LogNormal handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LogNormalAssign(ConstHandle2LogNormal This, ConstHandle2ConstLogNormal from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LogNormalDelete(ConstHandle2ConstLogNormal This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LogNormalRead(ConstHandle2LogNormal This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LogNormalWrite(ConstHandle2ConstLogNormal This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LogNormalPrint(ConstHandle2ConstLogNormal This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LogNormalPrintXML(ConstHandle2ConstLogNormal This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LogNormalPrintJSON(ConstHandle2ConstLogNormal This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +LogNormalDoubleHas(ConstHandle2ConstLogNormal This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +LogNormalDoubleGetConst(ConstHandle2ConstLogNormal This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +LogNormalDoubleGet(ConstHandle2LogNormal This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +LogNormalDoubleSet(ConstHandle2LogNormal This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h b/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h new file mode 100644 index 000000000..0b7da491c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// LogNormal is the basic handle type in this file. Example: +// // Create a default LogNormal object: +// LogNormal handle = LogNormalDefault(); +// Functions involving LogNormal are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_LOGNORMAL +#define C_INTERFACE_TRY_V2_0_POPS_LOGNORMAL + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LogNormalClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ LogNormal +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LogNormalClass *LogNormal; + +// --- Const-aware handles. +typedef const struct LogNormalClass *const ConstHandle2ConstLogNormal; +typedef struct LogNormalClass *const ConstHandle2LogNormal; +typedef const struct LogNormalClass * Handle2ConstLogNormal; +typedef struct LogNormalClass * Handle2LogNormal; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLogNormal +LogNormalDefaultConst(); + +// +++ Create, default +extern_c Handle2LogNormal +LogNormalDefault(); + +// --- Create, general, const +extern_c Handle2ConstLogNormal +LogNormalCreateConst( + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2LogNormal +LogNormalCreate( + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LogNormalAssign(ConstHandle2LogNormal This, ConstHandle2ConstLogNormal from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LogNormalDelete(ConstHandle2ConstLogNormal This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LogNormalRead(ConstHandle2LogNormal This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LogNormalWrite(ConstHandle2ConstLogNormal This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LogNormalPrint(ConstHandle2ConstLogNormal This); + +// +++ Print to standard output, as XML +extern_c int +LogNormalPrintXML(ConstHandle2ConstLogNormal This); + +// +++ Print to standard output, as JSON +extern_c int +LogNormalPrintJSON(ConstHandle2ConstLogNormal This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LogNormalDoubleHas(ConstHandle2ConstLogNormal This); + +// --- Get, const +extern_c Handle2ConstDouble +LogNormalDoubleGetConst(ConstHandle2ConstLogNormal This); + +// +++ Get, non-const +extern_c Handle2Double +LogNormalDoubleGet(ConstHandle2LogNormal This); + +// +++ Set +extern_c void +LogNormalDoubleSet(ConstHandle2LogNormal This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp new file mode 100644 index 000000000..3229d4385 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp @@ -0,0 +1,365 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Mass.hpp" +#include "Mass.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MassClass; +using CPP = multigroup::Mass; + +static const std::string CLASSNAME = "Mass"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMass +MassDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Mass +MassDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMass +MassCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2ConstDouble Double +) { + ConstHandle2Mass handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2Mass +MassCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2ConstDouble Double +) { + ConstHandle2Mass handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MassAssign(ConstHandle2Mass This, ConstHandle2ConstMass from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MassDelete(ConstHandle2ConstMass This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MassRead(ConstHandle2Mass This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MassWrite(ConstHandle2ConstMass This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MassPrint(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MassPrintXML(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MassPrintJSON(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MassLabelHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MassLabelGet(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MassLabelSet(ConstHandle2Mass This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +MassUnitHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +MassUnitGet(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +MassUnitSet(ConstHandle2Mass This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +MassValueHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +MassValueGet(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +MassValueSet(ConstHandle2Mass This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +MassDocumentationHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +MassDocumentationGetConst(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +MassDocumentationGet(ConstHandle2Mass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +MassDocumentationSet(ConstHandle2Mass This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +MassUncertaintyHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +MassUncertaintyGetConst(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +MassUncertaintyGet(ConstHandle2Mass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +MassUncertaintySet(ConstHandle2Mass This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +MassDoubleHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +MassDoubleGetConst(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +MassDoubleGet(ConstHandle2Mass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +MassDoubleSet(ConstHandle2Mass This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h new file mode 100644 index 000000000..b6bb0e6c4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h @@ -0,0 +1,267 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Mass is the basic handle type in this file. Example: +// // Create a default Mass object: +// Mass handle = MassDefault(); +// Functions involving Mass are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_MASS +#define C_INTERFACE_TRY_V2_0_POPS_MASS + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MassClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Mass +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MassClass *Mass; + +// --- Const-aware handles. +typedef const struct MassClass *const ConstHandle2ConstMass; +typedef struct MassClass *const ConstHandle2Mass; +typedef const struct MassClass * Handle2ConstMass; +typedef struct MassClass * Handle2Mass; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMass +MassDefaultConst(); + +// +++ Create, default +extern_c Handle2Mass +MassDefault(); + +// --- Create, general, const +extern_c Handle2ConstMass +MassCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2Mass +MassCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MassAssign(ConstHandle2Mass This, ConstHandle2ConstMass from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MassDelete(ConstHandle2ConstMass This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MassRead(ConstHandle2Mass This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MassWrite(ConstHandle2ConstMass This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MassPrint(ConstHandle2ConstMass This); + +// +++ Print to standard output, as XML +extern_c int +MassPrintXML(ConstHandle2ConstMass This); + +// +++ Print to standard output, as JSON +extern_c int +MassPrintJSON(ConstHandle2ConstMass This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassLabelHas(ConstHandle2ConstMass This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MassLabelGet(ConstHandle2ConstMass This); + +// +++ Set +extern_c void +MassLabelSet(ConstHandle2Mass This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassUnitHas(ConstHandle2ConstMass This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MassUnitGet(ConstHandle2ConstMass This); + +// +++ Set +extern_c void +MassUnitSet(ConstHandle2Mass This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassValueHas(ConstHandle2ConstMass This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MassValueGet(ConstHandle2ConstMass This); + +// +++ Set +extern_c void +MassValueSet(ConstHandle2Mass This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassDocumentationHas(ConstHandle2ConstMass This); + +// --- Get, const +extern_c Handle2ConstDocumentation +MassDocumentationGetConst(ConstHandle2ConstMass This); + +// +++ Get, non-const +extern_c Handle2Documentation +MassDocumentationGet(ConstHandle2Mass This); + +// +++ Set +extern_c void +MassDocumentationSet(ConstHandle2Mass This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassUncertaintyHas(ConstHandle2ConstMass This); + +// --- Get, const +extern_c Handle2ConstUncertainty +MassUncertaintyGetConst(ConstHandle2ConstMass This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +MassUncertaintyGet(ConstHandle2Mass This); + +// +++ Set +extern_c void +MassUncertaintySet(ConstHandle2Mass This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassDoubleHas(ConstHandle2ConstMass This); + +// --- Get, const +extern_c Handle2ConstDouble +MassDoubleGetConst(ConstHandle2ConstMass This); + +// +++ Get, non-const +extern_c Handle2Double +MassDoubleGet(ConstHandle2Mass This); + +// +++ Set +extern_c void +MassDoubleSet(ConstHandle2Mass This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.cpp new file mode 100644 index 000000000..d78368373 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/MetaStable.hpp" +#include "MetaStable.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MetaStableClass; +using CPP = multigroup::MetaStable; + +static const std::string CLASSNAME = "MetaStable"; + +namespace extract { + static auto id = [](auto &obj) { return &obj.id; }; + static auto metaStableIndex = [](auto &obj) { return &obj.metaStableIndex; }; + static auto pid = [](auto &obj) { return &obj.pid; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMetaStable +MetaStableDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MetaStable +MetaStableDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMetaStable +MetaStableCreateConst( + const XMLName id, + const Integer32 metaStableIndex, + const XMLName pid +) { + ConstHandle2MetaStable handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + id, + metaStableIndex, + pid + ); + return handle; +} + +// Create, general +Handle2MetaStable +MetaStableCreate( + const XMLName id, + const Integer32 metaStableIndex, + const XMLName pid +) { + ConstHandle2MetaStable handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + id, + metaStableIndex, + pid + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MetaStableAssign(ConstHandle2MetaStable This, ConstHandle2ConstMetaStable from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MetaStableDelete(ConstHandle2ConstMetaStable This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MetaStableRead(ConstHandle2MetaStable This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MetaStableWrite(ConstHandle2ConstMetaStable This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MetaStablePrint(ConstHandle2ConstMetaStable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MetaStablePrintXML(ConstHandle2ConstMetaStable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MetaStablePrintJSON(ConstHandle2ConstMetaStable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// Has +int +MetaStableIdHas(ConstHandle2ConstMetaStable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdHas", This, extract::id); +} + +// Get +// Returns by value +XMLName +MetaStableIdGet(ConstHandle2ConstMetaStable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdGet", This, extract::id); +} + +// Set +void +MetaStableIdSet(ConstHandle2MetaStable This, const XMLName id) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdSet", This, extract::id, id); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: metaStableIndex +// ----------------------------------------------------------------------------- + +// Has +int +MetaStableMetaStableIndexHas(ConstHandle2ConstMetaStable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MetaStableIndexHas", This, extract::metaStableIndex); +} + +// Get +// Returns by value +Integer32 +MetaStableMetaStableIndexGet(ConstHandle2ConstMetaStable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MetaStableIndexGet", This, extract::metaStableIndex); +} + +// Set +void +MetaStableMetaStableIndexSet(ConstHandle2MetaStable This, const Integer32 metaStableIndex) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MetaStableIndexSet", This, extract::metaStableIndex, metaStableIndex); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +MetaStablePidHas(ConstHandle2ConstMetaStable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +MetaStablePidGet(ConstHandle2ConstMetaStable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +MetaStablePidSet(ConstHandle2MetaStable This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.h b/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.h new file mode 100644 index 000000000..d1a678c3c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MetaStable is the basic handle type in this file. Example: +// // Create a default MetaStable object: +// MetaStable handle = MetaStableDefault(); +// Functions involving MetaStable are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_METASTABLE +#define C_INTERFACE_TRY_V2_0_POPS_METASTABLE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MetaStableClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MetaStable +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MetaStableClass *MetaStable; + +// --- Const-aware handles. +typedef const struct MetaStableClass *const ConstHandle2ConstMetaStable; +typedef struct MetaStableClass *const ConstHandle2MetaStable; +typedef const struct MetaStableClass * Handle2ConstMetaStable; +typedef struct MetaStableClass * Handle2MetaStable; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMetaStable +MetaStableDefaultConst(); + +// +++ Create, default +extern_c Handle2MetaStable +MetaStableDefault(); + +// --- Create, general, const +extern_c Handle2ConstMetaStable +MetaStableCreateConst( + const XMLName id, + const Integer32 metaStableIndex, + const XMLName pid +); + +// +++ Create, general +extern_c Handle2MetaStable +MetaStableCreate( + const XMLName id, + const Integer32 metaStableIndex, + const XMLName pid +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MetaStableAssign(ConstHandle2MetaStable This, ConstHandle2ConstMetaStable from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MetaStableDelete(ConstHandle2ConstMetaStable This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MetaStableRead(ConstHandle2MetaStable This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MetaStableWrite(ConstHandle2ConstMetaStable This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MetaStablePrint(ConstHandle2ConstMetaStable This); + +// +++ Print to standard output, as XML +extern_c int +MetaStablePrintXML(ConstHandle2ConstMetaStable This); + +// +++ Print to standard output, as JSON +extern_c int +MetaStablePrintJSON(ConstHandle2ConstMetaStable This); + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MetaStableIdHas(ConstHandle2ConstMetaStable This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MetaStableIdGet(ConstHandle2ConstMetaStable This); + +// +++ Set +extern_c void +MetaStableIdSet(ConstHandle2MetaStable This, const XMLName id); + + +// ----------------------------------------------------------------------------- +// Metadatum: metaStableIndex +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MetaStableMetaStableIndexHas(ConstHandle2ConstMetaStable This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +MetaStableMetaStableIndexGet(ConstHandle2ConstMetaStable This); + +// +++ Set +extern_c void +MetaStableMetaStableIndexSet(ConstHandle2MetaStable This, const Integer32 metaStableIndex); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MetaStablePidHas(ConstHandle2ConstMetaStable This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MetaStablePidGet(ConstHandle2ConstMetaStable This); + +// +++ Set +extern_c void +MetaStablePidSet(ConstHandle2MetaStable This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.cpp new file mode 100644 index 000000000..6c785cb41 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.cpp @@ -0,0 +1,502 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Nucleus.hpp" +#include "Nucleus.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NucleusClass; +using CPP = multigroup::Nucleus; + +static const std::string CLASSNAME = "Nucleus"; + +namespace extract { + static auto id = [](auto &obj) { return &obj.id; }; + static auto index = [](auto &obj) { return &obj.index; }; + static auto charge = [](auto &obj) { return &obj.charge; }; + static auto energy = [](auto &obj) { return &obj.energy; }; + static auto halflife = [](auto &obj) { return &obj.halflife; }; + static auto spin = [](auto &obj) { return &obj.spin; }; + static auto parity = [](auto &obj) { return &obj.parity; }; + static auto decayData = [](auto &obj) { return &obj.decayData; }; + static auto fissionFragmentData = [](auto &obj) { return &obj.fissionFragmentData; }; +} + +using CPPCharge = pops::Charge; +using CPPEnergy = pops::Energy; +using CPPHalflife = pops::Halflife; +using CPPSpin = pops::Spin; +using CPPParity = pops::Parity; +using CPPDecayData = pops::DecayData; +using CPPFissionFragmentData = fissionFragmentData::FissionFragmentData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNucleus +NucleusDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Nucleus +NucleusDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNucleus +NucleusCreateConst( + const XMLName id, + const Integer32 index, + ConstHandle2ConstCharge charge, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData, + ConstHandle2ConstFissionFragmentData fissionFragmentData +) { + ConstHandle2Nucleus handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + id, + index, + detail::tocpp(charge), + detail::tocpp(energy), + detail::tocpp(halflife), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(decayData), + detail::tocpp(fissionFragmentData) + ); + return handle; +} + +// Create, general +Handle2Nucleus +NucleusCreate( + const XMLName id, + const Integer32 index, + ConstHandle2ConstCharge charge, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData, + ConstHandle2ConstFissionFragmentData fissionFragmentData +) { + ConstHandle2Nucleus handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + id, + index, + detail::tocpp(charge), + detail::tocpp(energy), + detail::tocpp(halflife), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(decayData), + detail::tocpp(fissionFragmentData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NucleusAssign(ConstHandle2Nucleus This, ConstHandle2ConstNucleus from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NucleusDelete(ConstHandle2ConstNucleus This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NucleusRead(ConstHandle2Nucleus This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NucleusWrite(ConstHandle2ConstNucleus This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NucleusPrint(ConstHandle2ConstNucleus This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NucleusPrintXML(ConstHandle2ConstNucleus This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NucleusPrintJSON(ConstHandle2ConstNucleus This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// Has +int +NucleusIdHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdHas", This, extract::id); +} + +// Get +// Returns by value +XMLName +NucleusIdGet(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdGet", This, extract::id); +} + +// Set +void +NucleusIdSet(ConstHandle2Nucleus This, const XMLName id) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdSet", This, extract::id, id); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +NucleusIndexHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +Integer32 +NucleusIndexGet(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +NucleusIndexSet(ConstHandle2Nucleus This, const Integer32 index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// Has +int +NucleusChargeHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChargeHas", This, extract::charge); +} + +// Get, const +Handle2ConstCharge +NucleusChargeGetConst(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGetConst", This, extract::charge); +} + +// Get, non-const +Handle2Charge +NucleusChargeGet(ConstHandle2Nucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGet", This, extract::charge); +} + +// Set +void +NucleusChargeSet(ConstHandle2Nucleus This, ConstHandle2ConstCharge charge) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChargeSet", This, extract::charge, charge); +} + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// Has +int +NucleusEnergyHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EnergyHas", This, extract::energy); +} + +// Get, const +Handle2ConstEnergy +NucleusEnergyGetConst(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EnergyGetConst", This, extract::energy); +} + +// Get, non-const +Handle2Energy +NucleusEnergyGet(ConstHandle2Nucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EnergyGet", This, extract::energy); +} + +// Set +void +NucleusEnergySet(ConstHandle2Nucleus This, ConstHandle2ConstEnergy energy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EnergySet", This, extract::energy, energy); +} + + +// ----------------------------------------------------------------------------- +// Child: halflife +// ----------------------------------------------------------------------------- + +// Has +int +NucleusHalflifeHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HalflifeHas", This, extract::halflife); +} + +// Get, const +Handle2ConstHalflife +NucleusHalflifeGetConst(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HalflifeGetConst", This, extract::halflife); +} + +// Get, non-const +Handle2Halflife +NucleusHalflifeGet(ConstHandle2Nucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HalflifeGet", This, extract::halflife); +} + +// Set +void +NucleusHalflifeSet(ConstHandle2Nucleus This, ConstHandle2ConstHalflife halflife) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HalflifeSet", This, extract::halflife, halflife); +} + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// Has +int +NucleusSpinHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpinHas", This, extract::spin); +} + +// Get, const +Handle2ConstSpin +NucleusSpinGetConst(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGetConst", This, extract::spin); +} + +// Get, non-const +Handle2Spin +NucleusSpinGet(ConstHandle2Nucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGet", This, extract::spin); +} + +// Set +void +NucleusSpinSet(ConstHandle2Nucleus This, ConstHandle2ConstSpin spin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SpinSet", This, extract::spin, spin); +} + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// Has +int +NucleusParityHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParityHas", This, extract::parity); +} + +// Get, const +Handle2ConstParity +NucleusParityGetConst(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGetConst", This, extract::parity); +} + +// Get, non-const +Handle2Parity +NucleusParityGet(ConstHandle2Nucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGet", This, extract::parity); +} + +// Set +void +NucleusParitySet(ConstHandle2Nucleus This, ConstHandle2ConstParity parity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ParitySet", This, extract::parity, parity); +} + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// Has +int +NucleusDecayDataHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayDataHas", This, extract::decayData); +} + +// Get, const +Handle2ConstDecayData +NucleusDecayDataGetConst(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGetConst", This, extract::decayData); +} + +// Get, non-const +Handle2DecayData +NucleusDecayDataGet(ConstHandle2Nucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGet", This, extract::decayData); +} + +// Set +void +NucleusDecayDataSet(ConstHandle2Nucleus This, ConstHandle2ConstDecayData decayData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DecayDataSet", This, extract::decayData, decayData); +} + + +// ----------------------------------------------------------------------------- +// Child: fissionFragmentData +// ----------------------------------------------------------------------------- + +// Has +int +NucleusFissionFragmentDataHas(ConstHandle2ConstNucleus This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionFragmentDataHas", This, extract::fissionFragmentData); +} + +// Get, const +Handle2ConstFissionFragmentData +NucleusFissionFragmentDataGetConst(ConstHandle2ConstNucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionFragmentDataGetConst", This, extract::fissionFragmentData); +} + +// Get, non-const +Handle2FissionFragmentData +NucleusFissionFragmentDataGet(ConstHandle2Nucleus This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionFragmentDataGet", This, extract::fissionFragmentData); +} + +// Set +void +NucleusFissionFragmentDataSet(ConstHandle2Nucleus This, ConstHandle2ConstFissionFragmentData fissionFragmentData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FissionFragmentDataSet", This, extract::fissionFragmentData, fissionFragmentData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.h new file mode 100644 index 000000000..5015511ad --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.h @@ -0,0 +1,343 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Nucleus is the basic handle type in this file. Example: +// // Create a default Nucleus object: +// Nucleus handle = NucleusDefault(); +// Functions involving Nucleus are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_NUCLEUS +#define C_INTERFACE_TRY_V2_0_POPS_NUCLEUS + +#include "GNDStk.h" +#include "v2.0/pops/Charge.h" +#include "v2.0/pops/Energy.h" +#include "v2.0/pops/Halflife.h" +#include "v2.0/pops/Spin.h" +#include "v2.0/pops/Parity.h" +#include "v2.0/pops/DecayData.h" +#include "v2.0/fissionFragmentData/FissionFragmentData.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NucleusClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Nucleus +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NucleusClass *Nucleus; + +// --- Const-aware handles. +typedef const struct NucleusClass *const ConstHandle2ConstNucleus; +typedef struct NucleusClass *const ConstHandle2Nucleus; +typedef const struct NucleusClass * Handle2ConstNucleus; +typedef struct NucleusClass * Handle2Nucleus; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNucleus +NucleusDefaultConst(); + +// +++ Create, default +extern_c Handle2Nucleus +NucleusDefault(); + +// --- Create, general, const +extern_c Handle2ConstNucleus +NucleusCreateConst( + const XMLName id, + const Integer32 index, + ConstHandle2ConstCharge charge, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData, + ConstHandle2ConstFissionFragmentData fissionFragmentData +); + +// +++ Create, general +extern_c Handle2Nucleus +NucleusCreate( + const XMLName id, + const Integer32 index, + ConstHandle2ConstCharge charge, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstHalflife halflife, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstDecayData decayData, + ConstHandle2ConstFissionFragmentData fissionFragmentData +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NucleusAssign(ConstHandle2Nucleus This, ConstHandle2ConstNucleus from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NucleusDelete(ConstHandle2ConstNucleus This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NucleusRead(ConstHandle2Nucleus This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NucleusWrite(ConstHandle2ConstNucleus This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NucleusPrint(ConstHandle2ConstNucleus This); + +// +++ Print to standard output, as XML +extern_c int +NucleusPrintXML(ConstHandle2ConstNucleus This); + +// +++ Print to standard output, as JSON +extern_c int +NucleusPrintJSON(ConstHandle2ConstNucleus This); + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusIdHas(ConstHandle2ConstNucleus This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +NucleusIdGet(ConstHandle2ConstNucleus This); + +// +++ Set +extern_c void +NucleusIdSet(ConstHandle2Nucleus This, const XMLName id); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusIndexHas(ConstHandle2ConstNucleus This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +NucleusIndexGet(ConstHandle2ConstNucleus This); + +// +++ Set +extern_c void +NucleusIndexSet(ConstHandle2Nucleus This, const Integer32 index); + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusChargeHas(ConstHandle2ConstNucleus This); + +// --- Get, const +extern_c Handle2ConstCharge +NucleusChargeGetConst(ConstHandle2ConstNucleus This); + +// +++ Get, non-const +extern_c Handle2Charge +NucleusChargeGet(ConstHandle2Nucleus This); + +// +++ Set +extern_c void +NucleusChargeSet(ConstHandle2Nucleus This, ConstHandle2ConstCharge charge); + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusEnergyHas(ConstHandle2ConstNucleus This); + +// --- Get, const +extern_c Handle2ConstEnergy +NucleusEnergyGetConst(ConstHandle2ConstNucleus This); + +// +++ Get, non-const +extern_c Handle2Energy +NucleusEnergyGet(ConstHandle2Nucleus This); + +// +++ Set +extern_c void +NucleusEnergySet(ConstHandle2Nucleus This, ConstHandle2ConstEnergy energy); + + +// ----------------------------------------------------------------------------- +// Child: halflife +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusHalflifeHas(ConstHandle2ConstNucleus This); + +// --- Get, const +extern_c Handle2ConstHalflife +NucleusHalflifeGetConst(ConstHandle2ConstNucleus This); + +// +++ Get, non-const +extern_c Handle2Halflife +NucleusHalflifeGet(ConstHandle2Nucleus This); + +// +++ Set +extern_c void +NucleusHalflifeSet(ConstHandle2Nucleus This, ConstHandle2ConstHalflife halflife); + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusSpinHas(ConstHandle2ConstNucleus This); + +// --- Get, const +extern_c Handle2ConstSpin +NucleusSpinGetConst(ConstHandle2ConstNucleus This); + +// +++ Get, non-const +extern_c Handle2Spin +NucleusSpinGet(ConstHandle2Nucleus This); + +// +++ Set +extern_c void +NucleusSpinSet(ConstHandle2Nucleus This, ConstHandle2ConstSpin spin); + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusParityHas(ConstHandle2ConstNucleus This); + +// --- Get, const +extern_c Handle2ConstParity +NucleusParityGetConst(ConstHandle2ConstNucleus This); + +// +++ Get, non-const +extern_c Handle2Parity +NucleusParityGet(ConstHandle2Nucleus This); + +// +++ Set +extern_c void +NucleusParitySet(ConstHandle2Nucleus This, ConstHandle2ConstParity parity); + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusDecayDataHas(ConstHandle2ConstNucleus This); + +// --- Get, const +extern_c Handle2ConstDecayData +NucleusDecayDataGetConst(ConstHandle2ConstNucleus This); + +// +++ Get, non-const +extern_c Handle2DecayData +NucleusDecayDataGet(ConstHandle2Nucleus This); + +// +++ Set +extern_c void +NucleusDecayDataSet(ConstHandle2Nucleus This, ConstHandle2ConstDecayData decayData); + + +// ----------------------------------------------------------------------------- +// Child: fissionFragmentData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NucleusFissionFragmentDataHas(ConstHandle2ConstNucleus This); + +// --- Get, const +extern_c Handle2ConstFissionFragmentData +NucleusFissionFragmentDataGetConst(ConstHandle2ConstNucleus This); + +// +++ Get, non-const +extern_c Handle2FissionFragmentData +NucleusFissionFragmentDataGet(ConstHandle2Nucleus This); + +// +++ Set +extern_c void +NucleusFissionFragmentDataSet(ConstHandle2Nucleus This, ConstHandle2ConstFissionFragmentData fissionFragmentData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.cpp new file mode 100644 index 000000000..2ab346ca2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.cpp @@ -0,0 +1,467 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Nuclide.hpp" +#include "Nuclide.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NuclideClass; +using CPP = multigroup::Nuclide; + +static const std::string CLASSNAME = "Nuclide"; + +namespace extract { + static auto id = [](auto &obj) { return &obj.id; }; + static auto charge = [](auto &obj) { return &obj.charge; }; + static auto mass = [](auto &obj) { return &obj.mass; }; + static auto spin = [](auto &obj) { return &obj.spin; }; + static auto parity = [](auto &obj) { return &obj.parity; }; + static auto nucleus = [](auto &obj) { return &obj.nucleus; }; + static auto decayData = [](auto &obj) { return &obj.decayData; }; + static auto fissionFragmentData = [](auto &obj) { return &obj.fissionFragmentData; }; +} + +using CPPCharge = pops::Charge; +using CPPMass = pops::Mass; +using CPPSpin = pops::Spin; +using CPPParity = pops::Parity; +using CPPNucleus = pops::Nucleus; +using CPPDecayData = pops::DecayData; +using CPPFissionFragmentData = fissionFragmentData::FissionFragmentData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNuclide +NuclideDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Nuclide +NuclideDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNuclide +NuclideCreateConst( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstNucleus nucleus, + ConstHandle2ConstDecayData decayData, + ConstHandle2ConstFissionFragmentData fissionFragmentData +) { + ConstHandle2Nuclide handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + id, + detail::tocpp(charge), + detail::tocpp(mass), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(nucleus), + detail::tocpp(decayData), + detail::tocpp(fissionFragmentData) + ); + return handle; +} + +// Create, general +Handle2Nuclide +NuclideCreate( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstNucleus nucleus, + ConstHandle2ConstDecayData decayData, + ConstHandle2ConstFissionFragmentData fissionFragmentData +) { + ConstHandle2Nuclide handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + id, + detail::tocpp(charge), + detail::tocpp(mass), + detail::tocpp(spin), + detail::tocpp(parity), + detail::tocpp(nucleus), + detail::tocpp(decayData), + detail::tocpp(fissionFragmentData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NuclideAssign(ConstHandle2Nuclide This, ConstHandle2ConstNuclide from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NuclideDelete(ConstHandle2ConstNuclide This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NuclideRead(ConstHandle2Nuclide This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NuclideWrite(ConstHandle2ConstNuclide This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NuclidePrint(ConstHandle2ConstNuclide This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NuclidePrintXML(ConstHandle2ConstNuclide This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NuclidePrintJSON(ConstHandle2ConstNuclide This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// Has +int +NuclideIdHas(ConstHandle2ConstNuclide This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdHas", This, extract::id); +} + +// Get +// Returns by value +XMLName +NuclideIdGet(ConstHandle2ConstNuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdGet", This, extract::id); +} + +// Set +void +NuclideIdSet(ConstHandle2Nuclide This, const XMLName id) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdSet", This, extract::id, id); +} + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// Has +int +NuclideChargeHas(ConstHandle2ConstNuclide This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChargeHas", This, extract::charge); +} + +// Get, const +Handle2ConstCharge +NuclideChargeGetConst(ConstHandle2ConstNuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGetConst", This, extract::charge); +} + +// Get, non-const +Handle2Charge +NuclideChargeGet(ConstHandle2Nuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGet", This, extract::charge); +} + +// Set +void +NuclideChargeSet(ConstHandle2Nuclide This, ConstHandle2ConstCharge charge) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChargeSet", This, extract::charge, charge); +} + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// Has +int +NuclideMassHas(ConstHandle2ConstNuclide This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MassHas", This, extract::mass); +} + +// Get, const +Handle2ConstMass +NuclideMassGetConst(ConstHandle2ConstNuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGetConst", This, extract::mass); +} + +// Get, non-const +Handle2Mass +NuclideMassGet(ConstHandle2Nuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGet", This, extract::mass); +} + +// Set +void +NuclideMassSet(ConstHandle2Nuclide This, ConstHandle2ConstMass mass) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MassSet", This, extract::mass, mass); +} + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// Has +int +NuclideSpinHas(ConstHandle2ConstNuclide This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpinHas", This, extract::spin); +} + +// Get, const +Handle2ConstSpin +NuclideSpinGetConst(ConstHandle2ConstNuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGetConst", This, extract::spin); +} + +// Get, non-const +Handle2Spin +NuclideSpinGet(ConstHandle2Nuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGet", This, extract::spin); +} + +// Set +void +NuclideSpinSet(ConstHandle2Nuclide This, ConstHandle2ConstSpin spin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SpinSet", This, extract::spin, spin); +} + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// Has +int +NuclideParityHas(ConstHandle2ConstNuclide This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParityHas", This, extract::parity); +} + +// Get, const +Handle2ConstParity +NuclideParityGetConst(ConstHandle2ConstNuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGetConst", This, extract::parity); +} + +// Get, non-const +Handle2Parity +NuclideParityGet(ConstHandle2Nuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGet", This, extract::parity); +} + +// Set +void +NuclideParitySet(ConstHandle2Nuclide This, ConstHandle2ConstParity parity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ParitySet", This, extract::parity, parity); +} + + +// ----------------------------------------------------------------------------- +// Child: nucleus +// ----------------------------------------------------------------------------- + +// Has +int +NuclideNucleusHas(ConstHandle2ConstNuclide This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NucleusHas", This, extract::nucleus); +} + +// Get, const +Handle2ConstNucleus +NuclideNucleusGetConst(ConstHandle2ConstNuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NucleusGetConst", This, extract::nucleus); +} + +// Get, non-const +Handle2Nucleus +NuclideNucleusGet(ConstHandle2Nuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NucleusGet", This, extract::nucleus); +} + +// Set +void +NuclideNucleusSet(ConstHandle2Nuclide This, ConstHandle2ConstNucleus nucleus) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NucleusSet", This, extract::nucleus, nucleus); +} + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// Has +int +NuclideDecayDataHas(ConstHandle2ConstNuclide This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DecayDataHas", This, extract::decayData); +} + +// Get, const +Handle2ConstDecayData +NuclideDecayDataGetConst(ConstHandle2ConstNuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGetConst", This, extract::decayData); +} + +// Get, non-const +Handle2DecayData +NuclideDecayDataGet(ConstHandle2Nuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DecayDataGet", This, extract::decayData); +} + +// Set +void +NuclideDecayDataSet(ConstHandle2Nuclide This, ConstHandle2ConstDecayData decayData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DecayDataSet", This, extract::decayData, decayData); +} + + +// ----------------------------------------------------------------------------- +// Child: fissionFragmentData +// ----------------------------------------------------------------------------- + +// Has +int +NuclideFissionFragmentDataHas(ConstHandle2ConstNuclide This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionFragmentDataHas", This, extract::fissionFragmentData); +} + +// Get, const +Handle2ConstFissionFragmentData +NuclideFissionFragmentDataGetConst(ConstHandle2ConstNuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionFragmentDataGetConst", This, extract::fissionFragmentData); +} + +// Get, non-const +Handle2FissionFragmentData +NuclideFissionFragmentDataGet(ConstHandle2Nuclide This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionFragmentDataGet", This, extract::fissionFragmentData); +} + +// Set +void +NuclideFissionFragmentDataSet(ConstHandle2Nuclide This, ConstHandle2ConstFissionFragmentData fissionFragmentData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FissionFragmentDataSet", This, extract::fissionFragmentData, fissionFragmentData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.h new file mode 100644 index 000000000..538777a44 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.h @@ -0,0 +1,323 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Nuclide is the basic handle type in this file. Example: +// // Create a default Nuclide object: +// Nuclide handle = NuclideDefault(); +// Functions involving Nuclide are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_NUCLIDE +#define C_INTERFACE_TRY_V2_0_POPS_NUCLIDE + +#include "GNDStk.h" +#include "v2.0/pops/Charge.h" +#include "v2.0/pops/Mass.h" +#include "v2.0/pops/Spin.h" +#include "v2.0/pops/Parity.h" +#include "v2.0/pops/Nucleus.h" +#include "v2.0/pops/DecayData.h" +#include "v2.0/fissionFragmentData/FissionFragmentData.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NuclideClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Nuclide +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NuclideClass *Nuclide; + +// --- Const-aware handles. +typedef const struct NuclideClass *const ConstHandle2ConstNuclide; +typedef struct NuclideClass *const ConstHandle2Nuclide; +typedef const struct NuclideClass * Handle2ConstNuclide; +typedef struct NuclideClass * Handle2Nuclide; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNuclide +NuclideDefaultConst(); + +// +++ Create, default +extern_c Handle2Nuclide +NuclideDefault(); + +// --- Create, general, const +extern_c Handle2ConstNuclide +NuclideCreateConst( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstNucleus nucleus, + ConstHandle2ConstDecayData decayData, + ConstHandle2ConstFissionFragmentData fissionFragmentData +); + +// +++ Create, general +extern_c Handle2Nuclide +NuclideCreate( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstMass mass, + ConstHandle2ConstSpin spin, + ConstHandle2ConstParity parity, + ConstHandle2ConstNucleus nucleus, + ConstHandle2ConstDecayData decayData, + ConstHandle2ConstFissionFragmentData fissionFragmentData +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NuclideAssign(ConstHandle2Nuclide This, ConstHandle2ConstNuclide from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NuclideDelete(ConstHandle2ConstNuclide This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NuclideRead(ConstHandle2Nuclide This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NuclideWrite(ConstHandle2ConstNuclide This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NuclidePrint(ConstHandle2ConstNuclide This); + +// +++ Print to standard output, as XML +extern_c int +NuclidePrintXML(ConstHandle2ConstNuclide This); + +// +++ Print to standard output, as JSON +extern_c int +NuclidePrintJSON(ConstHandle2ConstNuclide This); + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclideIdHas(ConstHandle2ConstNuclide This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +NuclideIdGet(ConstHandle2ConstNuclide This); + +// +++ Set +extern_c void +NuclideIdSet(ConstHandle2Nuclide This, const XMLName id); + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclideChargeHas(ConstHandle2ConstNuclide This); + +// --- Get, const +extern_c Handle2ConstCharge +NuclideChargeGetConst(ConstHandle2ConstNuclide This); + +// +++ Get, non-const +extern_c Handle2Charge +NuclideChargeGet(ConstHandle2Nuclide This); + +// +++ Set +extern_c void +NuclideChargeSet(ConstHandle2Nuclide This, ConstHandle2ConstCharge charge); + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclideMassHas(ConstHandle2ConstNuclide This); + +// --- Get, const +extern_c Handle2ConstMass +NuclideMassGetConst(ConstHandle2ConstNuclide This); + +// +++ Get, non-const +extern_c Handle2Mass +NuclideMassGet(ConstHandle2Nuclide This); + +// +++ Set +extern_c void +NuclideMassSet(ConstHandle2Nuclide This, ConstHandle2ConstMass mass); + + +// ----------------------------------------------------------------------------- +// Child: spin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclideSpinHas(ConstHandle2ConstNuclide This); + +// --- Get, const +extern_c Handle2ConstSpin +NuclideSpinGetConst(ConstHandle2ConstNuclide This); + +// +++ Get, non-const +extern_c Handle2Spin +NuclideSpinGet(ConstHandle2Nuclide This); + +// +++ Set +extern_c void +NuclideSpinSet(ConstHandle2Nuclide This, ConstHandle2ConstSpin spin); + + +// ----------------------------------------------------------------------------- +// Child: parity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclideParityHas(ConstHandle2ConstNuclide This); + +// --- Get, const +extern_c Handle2ConstParity +NuclideParityGetConst(ConstHandle2ConstNuclide This); + +// +++ Get, non-const +extern_c Handle2Parity +NuclideParityGet(ConstHandle2Nuclide This); + +// +++ Set +extern_c void +NuclideParitySet(ConstHandle2Nuclide This, ConstHandle2ConstParity parity); + + +// ----------------------------------------------------------------------------- +// Child: nucleus +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclideNucleusHas(ConstHandle2ConstNuclide This); + +// --- Get, const +extern_c Handle2ConstNucleus +NuclideNucleusGetConst(ConstHandle2ConstNuclide This); + +// +++ Get, non-const +extern_c Handle2Nucleus +NuclideNucleusGet(ConstHandle2Nuclide This); + +// +++ Set +extern_c void +NuclideNucleusSet(ConstHandle2Nuclide This, ConstHandle2ConstNucleus nucleus); + + +// ----------------------------------------------------------------------------- +// Child: decayData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclideDecayDataHas(ConstHandle2ConstNuclide This); + +// --- Get, const +extern_c Handle2ConstDecayData +NuclideDecayDataGetConst(ConstHandle2ConstNuclide This); + +// +++ Get, non-const +extern_c Handle2DecayData +NuclideDecayDataGet(ConstHandle2Nuclide This); + +// +++ Set +extern_c void +NuclideDecayDataSet(ConstHandle2Nuclide This, ConstHandle2ConstDecayData decayData); + + +// ----------------------------------------------------------------------------- +// Child: fissionFragmentData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclideFissionFragmentDataHas(ConstHandle2ConstNuclide This); + +// --- Get, const +extern_c Handle2ConstFissionFragmentData +NuclideFissionFragmentDataGetConst(ConstHandle2ConstNuclide This); + +// +++ Get, non-const +extern_c Handle2FissionFragmentData +NuclideFissionFragmentDataGet(ConstHandle2Nuclide This); + +// +++ Set +extern_c void +NuclideFissionFragmentDataSet(ConstHandle2Nuclide This, ConstHandle2ConstFissionFragmentData fissionFragmentData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.cpp new file mode 100644 index 000000000..897c62fc3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Nuclides.hpp" +#include "Nuclides.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NuclidesClass; +using CPP = multigroup::Nuclides; + +static const std::string CLASSNAME = "Nuclides"; + +namespace extract { + static auto nuclide = [](auto &obj) { return &obj.nuclide; }; +} + +using CPPNuclide = pops::Nuclide; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNuclides +NuclidesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Nuclides +NuclidesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNuclides +NuclidesCreateConst( + ConstHandle2Nuclide *const nuclide, const size_t nuclideSize +) { + ConstHandle2Nuclides handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t NuclideN = 0; NuclideN < nuclideSize; ++NuclideN) + NuclidesNuclideAdd(handle, nuclide[NuclideN]); + return handle; +} + +// Create, general +Handle2Nuclides +NuclidesCreate( + ConstHandle2Nuclide *const nuclide, const size_t nuclideSize +) { + ConstHandle2Nuclides handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t NuclideN = 0; NuclideN < nuclideSize; ++NuclideN) + NuclidesNuclideAdd(handle, nuclide[NuclideN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NuclidesAssign(ConstHandle2Nuclides This, ConstHandle2ConstNuclides from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NuclidesDelete(ConstHandle2ConstNuclides This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NuclidesRead(ConstHandle2Nuclides This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NuclidesWrite(ConstHandle2ConstNuclides This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NuclidesPrint(ConstHandle2ConstNuclides This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NuclidesPrintXML(ConstHandle2ConstNuclides This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NuclidesPrintJSON(ConstHandle2ConstNuclides This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: nuclide +// ----------------------------------------------------------------------------- + +// Has +int +NuclidesNuclideHas(ConstHandle2ConstNuclides This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NuclideHas", This, extract::nuclide); +} + +// Clear +void +NuclidesNuclideClear(ConstHandle2Nuclides This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"NuclideClear", This, extract::nuclide); +} + +// Size +size_t +NuclidesNuclideSize(ConstHandle2ConstNuclides This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"NuclideSize", This, extract::nuclide); +} + +// Add +void +NuclidesNuclideAdd(ConstHandle2Nuclides This, ConstHandle2ConstNuclide nuclide) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"NuclideAdd", This, extract::nuclide, nuclide); +} + +// Get, by index \in [0,size), const +Handle2ConstNuclide +NuclidesNuclideGetConst(ConstHandle2ConstNuclides This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"NuclideGetConst", This, extract::nuclide, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Nuclide +NuclidesNuclideGet(ConstHandle2Nuclides This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"NuclideGet", This, extract::nuclide, index_); +} + +// Set, by index \in [0,size) +void +NuclidesNuclideSet( + ConstHandle2Nuclides This, + const size_t index_, + ConstHandle2ConstNuclide nuclide +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"NuclideSet", This, extract::nuclide, index_, nuclide); +} + +// Has, by id +int +NuclidesNuclideHasById( + ConstHandle2ConstNuclides This, + const XMLName id +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"NuclideHasById", + This, extract::nuclide, meta::id, id); +} + +// Get, by id, const +Handle2ConstNuclide +NuclidesNuclideGetByIdConst( + ConstHandle2ConstNuclides This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"NuclideGetByIdConst", + This, extract::nuclide, meta::id, id); +} + +// Get, by id, non-const +Handle2Nuclide +NuclidesNuclideGetById( + ConstHandle2Nuclides This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"NuclideGetById", + This, extract::nuclide, meta::id, id); +} + +// Set, by id +void +NuclidesNuclideSetById( + ConstHandle2Nuclides This, + const XMLName id, + ConstHandle2ConstNuclide nuclide +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"NuclideSetById", + This, extract::nuclide, meta::id, id, nuclide); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.h new file mode 100644 index 000000000..83a3298aa --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Nuclides is the basic handle type in this file. Example: +// // Create a default Nuclides object: +// Nuclides handle = NuclidesDefault(); +// Functions involving Nuclides are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_NUCLIDES +#define C_INTERFACE_TRY_V2_0_POPS_NUCLIDES + +#include "GNDStk.h" +#include "v2.0/pops/Nuclide.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NuclidesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Nuclides +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NuclidesClass *Nuclides; + +// --- Const-aware handles. +typedef const struct NuclidesClass *const ConstHandle2ConstNuclides; +typedef struct NuclidesClass *const ConstHandle2Nuclides; +typedef const struct NuclidesClass * Handle2ConstNuclides; +typedef struct NuclidesClass * Handle2Nuclides; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNuclides +NuclidesDefaultConst(); + +// +++ Create, default +extern_c Handle2Nuclides +NuclidesDefault(); + +// --- Create, general, const +extern_c Handle2ConstNuclides +NuclidesCreateConst( + ConstHandle2Nuclide *const nuclide, const size_t nuclideSize +); + +// +++ Create, general +extern_c Handle2Nuclides +NuclidesCreate( + ConstHandle2Nuclide *const nuclide, const size_t nuclideSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NuclidesAssign(ConstHandle2Nuclides This, ConstHandle2ConstNuclides from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NuclidesDelete(ConstHandle2ConstNuclides This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NuclidesRead(ConstHandle2Nuclides This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NuclidesWrite(ConstHandle2ConstNuclides This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NuclidesPrint(ConstHandle2ConstNuclides This); + +// +++ Print to standard output, as XML +extern_c int +NuclidesPrintXML(ConstHandle2ConstNuclides This); + +// +++ Print to standard output, as JSON +extern_c int +NuclidesPrintJSON(ConstHandle2ConstNuclides This); + + +// ----------------------------------------------------------------------------- +// Child: nuclide +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NuclidesNuclideHas(ConstHandle2ConstNuclides This); + +// +++ Clear +extern_c void +NuclidesNuclideClear(ConstHandle2Nuclides This); + +// +++ Size +extern_c size_t +NuclidesNuclideSize(ConstHandle2ConstNuclides This); + +// +++ Add +extern_c void +NuclidesNuclideAdd(ConstHandle2Nuclides This, ConstHandle2ConstNuclide nuclide); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstNuclide +NuclidesNuclideGetConst(ConstHandle2ConstNuclides This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Nuclide +NuclidesNuclideGet(ConstHandle2Nuclides This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +NuclidesNuclideSet( + ConstHandle2Nuclides This, + const size_t index_, + ConstHandle2ConstNuclide nuclide +); + +// +++ Has, by id +extern_c int +NuclidesNuclideHasById( + ConstHandle2ConstNuclides This, + const XMLName id +); + +// --- Get, by id, const +extern_c Handle2ConstNuclide +NuclidesNuclideGetByIdConst( + ConstHandle2ConstNuclides This, + const XMLName id +); + +// +++ Get, by id, non-const +extern_c Handle2Nuclide +NuclidesNuclideGetById( + ConstHandle2Nuclides This, + const XMLName id +); + +// +++ Set, by id +extern_c void +NuclidesNuclideSetById( + ConstHandle2Nuclides This, + const XMLName id, + ConstHandle2ConstNuclide nuclide +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp new file mode 100644 index 000000000..d005dfdeb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp @@ -0,0 +1,396 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Parity.hpp" +#include "Parity.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ParityClass; +using CPP = multigroup::Parity; + +static const std::string CLASSNAME = "Parity"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; + static auto integer = [](auto &obj) { return &obj.integer; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPInteger = unknownNamespace::Integer; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstParity +ParityDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Parity +ParityDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstParity +ParityCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Integer *const integer, const size_t integerSize +) { + ConstHandle2Parity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t IntegerN = 0; IntegerN < integerSize; ++IntegerN) + ParityIntegerAdd(handle, integer[IntegerN]); + return handle; +} + +// Create, general +Handle2Parity +ParityCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Integer *const integer, const size_t integerSize +) { + ConstHandle2Parity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t IntegerN = 0; IntegerN < integerSize; ++IntegerN) + ParityIntegerAdd(handle, integer[IntegerN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ParityAssign(ConstHandle2Parity This, ConstHandle2ConstParity from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ParityDelete(ConstHandle2ConstParity This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ParityRead(ConstHandle2Parity This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ParityWrite(ConstHandle2ConstParity This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ParityPrint(ConstHandle2ConstParity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ParityPrintXML(ConstHandle2ConstParity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ParityPrintJSON(ConstHandle2ConstParity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ParityLabelHas(ConstHandle2ConstParity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ParityLabelGet(ConstHandle2ConstParity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ParityLabelSet(ConstHandle2Parity This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +ParityUnitHas(ConstHandle2ConstParity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +ParityUnitGet(ConstHandle2ConstParity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +ParityUnitSet(ConstHandle2Parity This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +ParityValueHas(ConstHandle2ConstParity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +ParityValueGet(ConstHandle2ConstParity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +ParityValueSet(ConstHandle2Parity This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +ParityDocumentationHas(ConstHandle2ConstParity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +ParityDocumentationGetConst(ConstHandle2ConstParity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +ParityDocumentationGet(ConstHandle2Parity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +ParityDocumentationSet(ConstHandle2Parity This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +ParityUncertaintyHas(ConstHandle2ConstParity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +ParityUncertaintyGetConst(ConstHandle2ConstParity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +ParityUncertaintyGet(ConstHandle2Parity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +ParityUncertaintySet(ConstHandle2Parity This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + +// ----------------------------------------------------------------------------- +// Child: integer +// ----------------------------------------------------------------------------- + +// Has +int +ParityIntegerHas(ConstHandle2ConstParity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IntegerHas", This, extract::integer); +} + +// Clear +void +ParityIntegerClear(ConstHandle2Parity This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"IntegerClear", This, extract::integer); +} + +// Size +size_t +ParityIntegerSize(ConstHandle2ConstParity This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"IntegerSize", This, extract::integer); +} + +// Add +void +ParityIntegerAdd(ConstHandle2Parity This, ConstHandle2ConstInteger integer) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"IntegerAdd", This, extract::integer, integer); +} + +// Get, by index \in [0,size), const +Handle2ConstInteger +ParityIntegerGetConst(ConstHandle2ConstParity This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IntegerGetConst", This, extract::integer, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Integer +ParityIntegerGet(ConstHandle2Parity This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IntegerGet", This, extract::integer, index_); +} + +// Set, by index \in [0,size) +void +ParityIntegerSet( + ConstHandle2Parity This, + const size_t index_, + ConstHandle2ConstInteger integer +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"IntegerSet", This, extract::integer, index_, integer); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h new file mode 100644 index 000000000..7adf74f82 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h @@ -0,0 +1,283 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Parity is the basic handle type in this file. Example: +// // Create a default Parity object: +// Parity handle = ParityDefault(); +// Functions involving Parity are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_PARITY +#define C_INTERFACE_TRY_V2_0_POPS_PARITY + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Integer.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ParityClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Parity +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ParityClass *Parity; + +// --- Const-aware handles. +typedef const struct ParityClass *const ConstHandle2ConstParity; +typedef struct ParityClass *const ConstHandle2Parity; +typedef const struct ParityClass * Handle2ConstParity; +typedef struct ParityClass * Handle2Parity; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstParity +ParityDefaultConst(); + +// +++ Create, default +extern_c Handle2Parity +ParityDefault(); + +// --- Create, general, const +extern_c Handle2ConstParity +ParityCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Integer *const integer, const size_t integerSize +); + +// +++ Create, general +extern_c Handle2Parity +ParityCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Integer *const integer, const size_t integerSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ParityAssign(ConstHandle2Parity This, ConstHandle2ConstParity from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ParityDelete(ConstHandle2ConstParity This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ParityRead(ConstHandle2Parity This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ParityWrite(ConstHandle2ConstParity This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ParityPrint(ConstHandle2ConstParity This); + +// +++ Print to standard output, as XML +extern_c int +ParityPrintXML(ConstHandle2ConstParity This); + +// +++ Print to standard output, as JSON +extern_c int +ParityPrintJSON(ConstHandle2ConstParity This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParityLabelHas(ConstHandle2ConstParity This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ParityLabelGet(ConstHandle2ConstParity This); + +// +++ Set +extern_c void +ParityLabelSet(ConstHandle2Parity This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParityUnitHas(ConstHandle2ConstParity This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ParityUnitGet(ConstHandle2ConstParity This); + +// +++ Set +extern_c void +ParityUnitSet(ConstHandle2Parity This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParityValueHas(ConstHandle2ConstParity This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ParityValueGet(ConstHandle2ConstParity This); + +// +++ Set +extern_c void +ParityValueSet(ConstHandle2Parity This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParityDocumentationHas(ConstHandle2ConstParity This); + +// --- Get, const +extern_c Handle2ConstDocumentation +ParityDocumentationGetConst(ConstHandle2ConstParity This); + +// +++ Get, non-const +extern_c Handle2Documentation +ParityDocumentationGet(ConstHandle2Parity This); + +// +++ Set +extern_c void +ParityDocumentationSet(ConstHandle2Parity This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParityUncertaintyHas(ConstHandle2ConstParity This); + +// --- Get, const +extern_c Handle2ConstUncertainty +ParityUncertaintyGetConst(ConstHandle2ConstParity This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +ParityUncertaintyGet(ConstHandle2Parity This); + +// +++ Set +extern_c void +ParityUncertaintySet(ConstHandle2Parity This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Child: integer +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ParityIntegerHas(ConstHandle2ConstParity This); + +// +++ Clear +extern_c void +ParityIntegerClear(ConstHandle2Parity This); + +// +++ Size +extern_c size_t +ParityIntegerSize(ConstHandle2ConstParity This); + +// +++ Add +extern_c void +ParityIntegerAdd(ConstHandle2Parity This, ConstHandle2ConstInteger integer); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstInteger +ParityIntegerGetConst(ConstHandle2ConstParity This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Integer +ParityIntegerGet(ConstHandle2Parity This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ParityIntegerSet( + ConstHandle2Parity This, + const size_t index_, + ConstHandle2ConstInteger integer +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp new file mode 100644 index 000000000..dc0f822a1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Pdf.hpp" +#include "Pdf.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PdfClass; +using CPP = multigroup::Pdf; + +static const std::string CLASSNAME = "Pdf"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPdf +PdfDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Pdf +PdfDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPdf +PdfCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2Pdf handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2Pdf +PdfCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2Pdf handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PdfAssign(ConstHandle2Pdf This, ConstHandle2ConstPdf from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PdfDelete(ConstHandle2ConstPdf This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PdfRead(ConstHandle2Pdf This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PdfWrite(ConstHandle2ConstPdf This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PdfPrint(ConstHandle2ConstPdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PdfPrintXML(ConstHandle2ConstPdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PdfPrintJSON(ConstHandle2ConstPdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +PdfXYs1dHas(ConstHandle2ConstPdf This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +PdfXYs1dGetConst(ConstHandle2ConstPdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +PdfXYs1dGet(ConstHandle2Pdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +PdfXYs1dSet(ConstHandle2Pdf This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +PdfRegions1dHas(ConstHandle2ConstPdf This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +PdfRegions1dGetConst(ConstHandle2ConstPdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +PdfRegions1dGet(ConstHandle2Pdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +PdfRegions1dSet(ConstHandle2Pdf This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h new file mode 100644 index 000000000..3466ff025 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Pdf is the basic handle type in this file. Example: +// // Create a default Pdf object: +// Pdf handle = PdfDefault(); +// Functions involving Pdf are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_PDF +#define C_INTERFACE_TRY_V2_0_POPS_PDF + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PdfClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Pdf +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PdfClass *Pdf; + +// --- Const-aware handles. +typedef const struct PdfClass *const ConstHandle2ConstPdf; +typedef struct PdfClass *const ConstHandle2Pdf; +typedef const struct PdfClass * Handle2ConstPdf; +typedef struct PdfClass * Handle2Pdf; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPdf +PdfDefaultConst(); + +// +++ Create, default +extern_c Handle2Pdf +PdfDefault(); + +// --- Create, general, const +extern_c Handle2ConstPdf +PdfCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2Pdf +PdfCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PdfAssign(ConstHandle2Pdf This, ConstHandle2ConstPdf from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PdfDelete(ConstHandle2ConstPdf This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PdfRead(ConstHandle2Pdf This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PdfWrite(ConstHandle2ConstPdf This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PdfPrint(ConstHandle2ConstPdf This); + +// +++ Print to standard output, as XML +extern_c int +PdfPrintXML(ConstHandle2ConstPdf This); + +// +++ Print to standard output, as JSON +extern_c int +PdfPrintJSON(ConstHandle2ConstPdf This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PdfXYs1dHas(ConstHandle2ConstPdf This); + +// --- Get, const +extern_c Handle2ConstXYs1d +PdfXYs1dGetConst(ConstHandle2ConstPdf This); + +// +++ Get, non-const +extern_c Handle2XYs1d +PdfXYs1dGet(ConstHandle2Pdf This); + +// +++ Set +extern_c void +PdfXYs1dSet(ConstHandle2Pdf This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PdfRegions1dHas(ConstHandle2ConstPdf This); + +// --- Get, const +extern_c Handle2ConstRegions1d +PdfRegions1dGetConst(ConstHandle2ConstPdf This); + +// +++ Get, non-const +extern_c Handle2Regions1d +PdfRegions1dGet(ConstHandle2Pdf This); + +// +++ Set +extern_c void +PdfRegions1dSet(ConstHandle2Pdf This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp new file mode 100644 index 000000000..642d8693a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/PhotonEmissionProbabilities.hpp" +#include "PhotonEmissionProbabilities.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PhotonEmissionProbabilitiesClass; +using CPP = multigroup::PhotonEmissionProbabilities; + +static const std::string CLASSNAME = "PhotonEmissionProbabilities"; + +namespace extract { + static auto shell = [](auto &obj) { return &obj.shell; }; +} + +using CPPShell = pops::Shell; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPhotonEmissionProbabilities +PhotonEmissionProbabilitiesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PhotonEmissionProbabilities +PhotonEmissionProbabilitiesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPhotonEmissionProbabilities +PhotonEmissionProbabilitiesCreateConst( + ConstHandle2Shell *const shell, const size_t shellSize +) { + ConstHandle2PhotonEmissionProbabilities handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ShellN = 0; ShellN < shellSize; ++ShellN) + PhotonEmissionProbabilitiesShellAdd(handle, shell[ShellN]); + return handle; +} + +// Create, general +Handle2PhotonEmissionProbabilities +PhotonEmissionProbabilitiesCreate( + ConstHandle2Shell *const shell, const size_t shellSize +) { + ConstHandle2PhotonEmissionProbabilities handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ShellN = 0; ShellN < shellSize; ++ShellN) + PhotonEmissionProbabilitiesShellAdd(handle, shell[ShellN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PhotonEmissionProbabilitiesAssign(ConstHandle2PhotonEmissionProbabilities This, ConstHandle2ConstPhotonEmissionProbabilities from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PhotonEmissionProbabilitiesDelete(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PhotonEmissionProbabilitiesRead(ConstHandle2PhotonEmissionProbabilities This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PhotonEmissionProbabilitiesWrite(ConstHandle2ConstPhotonEmissionProbabilities This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PhotonEmissionProbabilitiesPrint(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PhotonEmissionProbabilitiesPrintXML(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PhotonEmissionProbabilitiesPrintJSON(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: shell +// ----------------------------------------------------------------------------- + +// Has +int +PhotonEmissionProbabilitiesShellHas(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ShellHas", This, extract::shell); +} + +// Clear +void +PhotonEmissionProbabilitiesShellClear(ConstHandle2PhotonEmissionProbabilities This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ShellClear", This, extract::shell); +} + +// Size +size_t +PhotonEmissionProbabilitiesShellSize(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ShellSize", This, extract::shell); +} + +// Add +void +PhotonEmissionProbabilitiesShellAdd(ConstHandle2PhotonEmissionProbabilities This, ConstHandle2ConstShell shell) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ShellAdd", This, extract::shell, shell); +} + +// Get, by index \in [0,size), const +Handle2ConstShell +PhotonEmissionProbabilitiesShellGetConst(ConstHandle2ConstPhotonEmissionProbabilities This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ShellGetConst", This, extract::shell, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Shell +PhotonEmissionProbabilitiesShellGet(ConstHandle2PhotonEmissionProbabilities This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ShellGet", This, extract::shell, index_); +} + +// Set, by index \in [0,size) +void +PhotonEmissionProbabilitiesShellSet( + ConstHandle2PhotonEmissionProbabilities This, + const size_t index_, + ConstHandle2ConstShell shell +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ShellSet", This, extract::shell, index_, shell); +} + +// Has, by label +int +PhotonEmissionProbabilitiesShellHasByLabel( + ConstHandle2ConstPhotonEmissionProbabilities This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShellHasByLabel", + This, extract::shell, meta::label, label); +} + +// Get, by label, const +Handle2ConstShell +PhotonEmissionProbabilitiesShellGetByLabelConst( + ConstHandle2ConstPhotonEmissionProbabilities This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByLabelConst", + This, extract::shell, meta::label, label); +} + +// Get, by label, non-const +Handle2Shell +PhotonEmissionProbabilitiesShellGetByLabel( + ConstHandle2PhotonEmissionProbabilities This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByLabel", + This, extract::shell, meta::label, label); +} + +// Set, by label +void +PhotonEmissionProbabilitiesShellSetByLabel( + ConstHandle2PhotonEmissionProbabilities This, + const XMLName label, + ConstHandle2ConstShell shell +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShellSetByLabel", + This, extract::shell, meta::label, label, shell); +} + +// Has, by value +int +PhotonEmissionProbabilitiesShellHasByValue( + ConstHandle2ConstPhotonEmissionProbabilities This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShellHasByValue", + This, extract::shell, meta::value, value); +} + +// Get, by value, const +Handle2ConstShell +PhotonEmissionProbabilitiesShellGetByValueConst( + ConstHandle2ConstPhotonEmissionProbabilities This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByValueConst", + This, extract::shell, meta::value, value); +} + +// Get, by value, non-const +Handle2Shell +PhotonEmissionProbabilitiesShellGetByValue( + ConstHandle2PhotonEmissionProbabilities This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByValue", + This, extract::shell, meta::value, value); +} + +// Set, by value +void +PhotonEmissionProbabilitiesShellSetByValue( + ConstHandle2PhotonEmissionProbabilities This, + const Float64 value, + ConstHandle2ConstShell shell +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShellSetByValue", + This, extract::shell, meta::value, value, shell); +} + +// Has, by unit +int +PhotonEmissionProbabilitiesShellHasByUnit( + ConstHandle2ConstPhotonEmissionProbabilities This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ShellHasByUnit", + This, extract::shell, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstShell +PhotonEmissionProbabilitiesShellGetByUnitConst( + ConstHandle2ConstPhotonEmissionProbabilities This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByUnitConst", + This, extract::shell, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Shell +PhotonEmissionProbabilitiesShellGetByUnit( + ConstHandle2PhotonEmissionProbabilities This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ShellGetByUnit", + This, extract::shell, meta::unit, unit); +} + +// Set, by unit +void +PhotonEmissionProbabilitiesShellSetByUnit( + ConstHandle2PhotonEmissionProbabilities This, + const XMLName unit, + ConstHandle2ConstShell shell +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ShellSetByUnit", + This, extract::shell, meta::unit, unit, shell); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.h b/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.h new file mode 100644 index 000000000..c3df459b5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PhotonEmissionProbabilities is the basic handle type in this file. Example: +// // Create a default PhotonEmissionProbabilities object: +// PhotonEmissionProbabilities handle = PhotonEmissionProbabilitiesDefault(); +// Functions involving PhotonEmissionProbabilities are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_PHOTONEMISSIONPROBABILITIES +#define C_INTERFACE_TRY_V2_0_POPS_PHOTONEMISSIONPROBABILITIES + +#include "GNDStk.h" +#include "v2.0/pops/Shell.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PhotonEmissionProbabilitiesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PhotonEmissionProbabilities +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PhotonEmissionProbabilitiesClass *PhotonEmissionProbabilities; + +// --- Const-aware handles. +typedef const struct PhotonEmissionProbabilitiesClass *const ConstHandle2ConstPhotonEmissionProbabilities; +typedef struct PhotonEmissionProbabilitiesClass *const ConstHandle2PhotonEmissionProbabilities; +typedef const struct PhotonEmissionProbabilitiesClass * Handle2ConstPhotonEmissionProbabilities; +typedef struct PhotonEmissionProbabilitiesClass * Handle2PhotonEmissionProbabilities; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPhotonEmissionProbabilities +PhotonEmissionProbabilitiesDefaultConst(); + +// +++ Create, default +extern_c Handle2PhotonEmissionProbabilities +PhotonEmissionProbabilitiesDefault(); + +// --- Create, general, const +extern_c Handle2ConstPhotonEmissionProbabilities +PhotonEmissionProbabilitiesCreateConst( + ConstHandle2Shell *const shell, const size_t shellSize +); + +// +++ Create, general +extern_c Handle2PhotonEmissionProbabilities +PhotonEmissionProbabilitiesCreate( + ConstHandle2Shell *const shell, const size_t shellSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PhotonEmissionProbabilitiesAssign(ConstHandle2PhotonEmissionProbabilities This, ConstHandle2ConstPhotonEmissionProbabilities from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PhotonEmissionProbabilitiesDelete(ConstHandle2ConstPhotonEmissionProbabilities This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PhotonEmissionProbabilitiesRead(ConstHandle2PhotonEmissionProbabilities This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PhotonEmissionProbabilitiesWrite(ConstHandle2ConstPhotonEmissionProbabilities This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PhotonEmissionProbabilitiesPrint(ConstHandle2ConstPhotonEmissionProbabilities This); + +// +++ Print to standard output, as XML +extern_c int +PhotonEmissionProbabilitiesPrintXML(ConstHandle2ConstPhotonEmissionProbabilities This); + +// +++ Print to standard output, as JSON +extern_c int +PhotonEmissionProbabilitiesPrintJSON(ConstHandle2ConstPhotonEmissionProbabilities This); + + +// ----------------------------------------------------------------------------- +// Child: shell +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PhotonEmissionProbabilitiesShellHas(ConstHandle2ConstPhotonEmissionProbabilities This); + +// +++ Clear +extern_c void +PhotonEmissionProbabilitiesShellClear(ConstHandle2PhotonEmissionProbabilities This); + +// +++ Size +extern_c size_t +PhotonEmissionProbabilitiesShellSize(ConstHandle2ConstPhotonEmissionProbabilities This); + +// +++ Add +extern_c void +PhotonEmissionProbabilitiesShellAdd(ConstHandle2PhotonEmissionProbabilities This, ConstHandle2ConstShell shell); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstShell +PhotonEmissionProbabilitiesShellGetConst(ConstHandle2ConstPhotonEmissionProbabilities This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Shell +PhotonEmissionProbabilitiesShellGet(ConstHandle2PhotonEmissionProbabilities This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +PhotonEmissionProbabilitiesShellSet( + ConstHandle2PhotonEmissionProbabilities This, + const size_t index_, + ConstHandle2ConstShell shell +); + +// +++ Has, by label +extern_c int +PhotonEmissionProbabilitiesShellHasByLabel( + ConstHandle2ConstPhotonEmissionProbabilities This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstShell +PhotonEmissionProbabilitiesShellGetByLabelConst( + ConstHandle2ConstPhotonEmissionProbabilities This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Shell +PhotonEmissionProbabilitiesShellGetByLabel( + ConstHandle2PhotonEmissionProbabilities This, + const XMLName label +); + +// +++ Set, by label +extern_c void +PhotonEmissionProbabilitiesShellSetByLabel( + ConstHandle2PhotonEmissionProbabilities This, + const XMLName label, + ConstHandle2ConstShell shell +); + +// +++ Has, by value +extern_c int +PhotonEmissionProbabilitiesShellHasByValue( + ConstHandle2ConstPhotonEmissionProbabilities This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstShell +PhotonEmissionProbabilitiesShellGetByValueConst( + ConstHandle2ConstPhotonEmissionProbabilities This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Shell +PhotonEmissionProbabilitiesShellGetByValue( + ConstHandle2PhotonEmissionProbabilities This, + const Float64 value +); + +// +++ Set, by value +extern_c void +PhotonEmissionProbabilitiesShellSetByValue( + ConstHandle2PhotonEmissionProbabilities This, + const Float64 value, + ConstHandle2ConstShell shell +); + +// +++ Has, by unit +extern_c int +PhotonEmissionProbabilitiesShellHasByUnit( + ConstHandle2ConstPhotonEmissionProbabilities This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstShell +PhotonEmissionProbabilitiesShellGetByUnitConst( + ConstHandle2ConstPhotonEmissionProbabilities This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Shell +PhotonEmissionProbabilitiesShellGetByUnit( + ConstHandle2PhotonEmissionProbabilities This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +PhotonEmissionProbabilitiesShellSetByUnit( + ConstHandle2PhotonEmissionProbabilities This, + const XMLName unit, + ConstHandle2ConstShell shell +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.cpp new file mode 100644 index 000000000..2187e3323 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.cpp @@ -0,0 +1,580 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/PoPs_database.hpp" +#include "PoPs_database.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PoPs_databaseClass; +using CPP = multigroup::PoPs_database; + +static const std::string CLASSNAME = "PoPs_database"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; + static auto version = [](auto &obj) { return &obj.version; }; + static auto format = [](auto &obj) { return &obj.format; }; + static auto styles = [](auto &obj) { return &obj.styles; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto aliases = [](auto &obj) { return &obj.aliases; }; + static auto gaugeBosons = [](auto &obj) { return &obj.gaugeBosons; }; + static auto leptons = [](auto &obj) { return &obj.leptons; }; + static auto baryons = [](auto &obj) { return &obj.baryons; }; + static auto chemicalElements = [](auto &obj) { return &obj.chemicalElements; }; + static auto unorthodoxes = [](auto &obj) { return &obj.unorthodoxes; }; +} + +using CPPStyles = styles::Styles; +using CPPDocumentation = documentation::Documentation; +using CPPAliases = pops::Aliases; +using CPPGaugeBosons = pops::GaugeBosons; +using CPPLeptons = pops::Leptons; +using CPPBaryons = pops::Baryons; +using CPPChemicalElements = pops::ChemicalElements; +using CPPUnorthodoxes = pops::Unorthodoxes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPoPs_database +PoPs_databaseDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PoPs_database +PoPs_databaseDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPoPs_database +PoPs_databaseCreateConst( + const XMLName name, + const XMLName version, + const XMLName format, + ConstHandle2ConstStyles styles, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstAliases aliases, + ConstHandle2ConstGaugeBosons gaugeBosons, + ConstHandle2ConstLeptons leptons, + ConstHandle2ConstBaryons baryons, + ConstHandle2ConstChemicalElements chemicalElements, + ConstHandle2ConstUnorthodoxes unorthodoxes +) { + ConstHandle2PoPs_database handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name, + version, + format, + detail::tocpp(styles), + detail::tocpp(documentation), + detail::tocpp(aliases), + detail::tocpp(gaugeBosons), + detail::tocpp(leptons), + detail::tocpp(baryons), + detail::tocpp(chemicalElements), + detail::tocpp(unorthodoxes) + ); + return handle; +} + +// Create, general +Handle2PoPs_database +PoPs_databaseCreate( + const XMLName name, + const XMLName version, + const XMLName format, + ConstHandle2ConstStyles styles, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstAliases aliases, + ConstHandle2ConstGaugeBosons gaugeBosons, + ConstHandle2ConstLeptons leptons, + ConstHandle2ConstBaryons baryons, + ConstHandle2ConstChemicalElements chemicalElements, + ConstHandle2ConstUnorthodoxes unorthodoxes +) { + ConstHandle2PoPs_database handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name, + version, + format, + detail::tocpp(styles), + detail::tocpp(documentation), + detail::tocpp(aliases), + detail::tocpp(gaugeBosons), + detail::tocpp(leptons), + detail::tocpp(baryons), + detail::tocpp(chemicalElements), + detail::tocpp(unorthodoxes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PoPs_databaseAssign(ConstHandle2PoPs_database This, ConstHandle2ConstPoPs_database from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PoPs_databaseDelete(ConstHandle2ConstPoPs_database This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PoPs_databaseRead(ConstHandle2PoPs_database This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PoPs_databaseWrite(ConstHandle2ConstPoPs_database This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PoPs_databasePrint(ConstHandle2ConstPoPs_database This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PoPs_databasePrintXML(ConstHandle2ConstPoPs_database This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PoPs_databasePrintJSON(ConstHandle2ConstPoPs_database This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseNameHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +XMLName +PoPs_databaseNameGet(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +PoPs_databaseNameSet(ConstHandle2PoPs_database This, const XMLName name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseVersionHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"VersionHas", This, extract::version); +} + +// Get +// Returns by value +XMLName +PoPs_databaseVersionGet(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"VersionGet", This, extract::version); +} + +// Set +void +PoPs_databaseVersionSet(ConstHandle2PoPs_database This, const XMLName version) +{ + detail::setField + (CLASSNAME, CLASSNAME+"VersionSet", This, extract::version, version); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseFormatHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FormatHas", This, extract::format); +} + +// Get +// Returns by value +XMLName +PoPs_databaseFormatGet(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FormatGet", This, extract::format); +} + +// Set +void +PoPs_databaseFormatSet(ConstHandle2PoPs_database This, const XMLName format) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FormatSet", This, extract::format, format); +} + + +// ----------------------------------------------------------------------------- +// Child: styles +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseStylesHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StylesHas", This, extract::styles); +} + +// Get, const +Handle2ConstStyles +PoPs_databaseStylesGetConst(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StylesGetConst", This, extract::styles); +} + +// Get, non-const +Handle2Styles +PoPs_databaseStylesGet(ConstHandle2PoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StylesGet", This, extract::styles); +} + +// Set +void +PoPs_databaseStylesSet(ConstHandle2PoPs_database This, ConstHandle2ConstStyles styles) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StylesSet", This, extract::styles, styles); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseDocumentationHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +PoPs_databaseDocumentationGetConst(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +PoPs_databaseDocumentationGet(ConstHandle2PoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +PoPs_databaseDocumentationSet(ConstHandle2PoPs_database This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: aliases +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseAliasesHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AliasesHas", This, extract::aliases); +} + +// Get, const +Handle2ConstAliases +PoPs_databaseAliasesGetConst(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AliasesGetConst", This, extract::aliases); +} + +// Get, non-const +Handle2Aliases +PoPs_databaseAliasesGet(ConstHandle2PoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AliasesGet", This, extract::aliases); +} + +// Set +void +PoPs_databaseAliasesSet(ConstHandle2PoPs_database This, ConstHandle2ConstAliases aliases) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AliasesSet", This, extract::aliases, aliases); +} + + +// ----------------------------------------------------------------------------- +// Child: gaugeBosons +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseGaugeBosonsHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GaugeBosonsHas", This, extract::gaugeBosons); +} + +// Get, const +Handle2ConstGaugeBosons +PoPs_databaseGaugeBosonsGetConst(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GaugeBosonsGetConst", This, extract::gaugeBosons); +} + +// Get, non-const +Handle2GaugeBosons +PoPs_databaseGaugeBosonsGet(ConstHandle2PoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GaugeBosonsGet", This, extract::gaugeBosons); +} + +// Set +void +PoPs_databaseGaugeBosonsSet(ConstHandle2PoPs_database This, ConstHandle2ConstGaugeBosons gaugeBosons) +{ + detail::setField + (CLASSNAME, CLASSNAME+"GaugeBosonsSet", This, extract::gaugeBosons, gaugeBosons); +} + + +// ----------------------------------------------------------------------------- +// Child: leptons +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseLeptonsHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LeptonsHas", This, extract::leptons); +} + +// Get, const +Handle2ConstLeptons +PoPs_databaseLeptonsGetConst(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LeptonsGetConst", This, extract::leptons); +} + +// Get, non-const +Handle2Leptons +PoPs_databaseLeptonsGet(ConstHandle2PoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LeptonsGet", This, extract::leptons); +} + +// Set +void +PoPs_databaseLeptonsSet(ConstHandle2PoPs_database This, ConstHandle2ConstLeptons leptons) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LeptonsSet", This, extract::leptons, leptons); +} + + +// ----------------------------------------------------------------------------- +// Child: baryons +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseBaryonsHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BaryonsHas", This, extract::baryons); +} + +// Get, const +Handle2ConstBaryons +PoPs_databaseBaryonsGetConst(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BaryonsGetConst", This, extract::baryons); +} + +// Get, non-const +Handle2Baryons +PoPs_databaseBaryonsGet(ConstHandle2PoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BaryonsGet", This, extract::baryons); +} + +// Set +void +PoPs_databaseBaryonsSet(ConstHandle2PoPs_database This, ConstHandle2ConstBaryons baryons) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BaryonsSet", This, extract::baryons, baryons); +} + + +// ----------------------------------------------------------------------------- +// Child: chemicalElements +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseChemicalElementsHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChemicalElementsHas", This, extract::chemicalElements); +} + +// Get, const +Handle2ConstChemicalElements +PoPs_databaseChemicalElementsGetConst(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChemicalElementsGetConst", This, extract::chemicalElements); +} + +// Get, non-const +Handle2ChemicalElements +PoPs_databaseChemicalElementsGet(ConstHandle2PoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChemicalElementsGet", This, extract::chemicalElements); +} + +// Set +void +PoPs_databaseChemicalElementsSet(ConstHandle2PoPs_database This, ConstHandle2ConstChemicalElements chemicalElements) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChemicalElementsSet", This, extract::chemicalElements, chemicalElements); +} + + +// ----------------------------------------------------------------------------- +// Child: unorthodoxes +// ----------------------------------------------------------------------------- + +// Has +int +PoPs_databaseUnorthodoxesHas(ConstHandle2ConstPoPs_database This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnorthodoxesHas", This, extract::unorthodoxes); +} + +// Get, const +Handle2ConstUnorthodoxes +PoPs_databaseUnorthodoxesGetConst(ConstHandle2ConstPoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnorthodoxesGetConst", This, extract::unorthodoxes); +} + +// Get, non-const +Handle2Unorthodoxes +PoPs_databaseUnorthodoxesGet(ConstHandle2PoPs_database This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnorthodoxesGet", This, extract::unorthodoxes); +} + +// Set +void +PoPs_databaseUnorthodoxesSet(ConstHandle2PoPs_database This, ConstHandle2ConstUnorthodoxes unorthodoxes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnorthodoxesSet", This, extract::unorthodoxes, unorthodoxes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.h b/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.h new file mode 100644 index 000000000..58caa829a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.h @@ -0,0 +1,387 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PoPs_database is the basic handle type in this file. Example: +// // Create a default PoPs_database object: +// PoPs_database handle = PoPs_databaseDefault(); +// Functions involving PoPs_database are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_POPS_DATABASE +#define C_INTERFACE_TRY_V2_0_POPS_POPS_DATABASE + +#include "GNDStk.h" +#include "v2.0/styles/Styles.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Aliases.h" +#include "v2.0/pops/GaugeBosons.h" +#include "v2.0/pops/Leptons.h" +#include "v2.0/pops/Baryons.h" +#include "v2.0/pops/ChemicalElements.h" +#include "v2.0/pops/Unorthodoxes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PoPs_databaseClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PoPs_database +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PoPs_databaseClass *PoPs_database; + +// --- Const-aware handles. +typedef const struct PoPs_databaseClass *const ConstHandle2ConstPoPs_database; +typedef struct PoPs_databaseClass *const ConstHandle2PoPs_database; +typedef const struct PoPs_databaseClass * Handle2ConstPoPs_database; +typedef struct PoPs_databaseClass * Handle2PoPs_database; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPoPs_database +PoPs_databaseDefaultConst(); + +// +++ Create, default +extern_c Handle2PoPs_database +PoPs_databaseDefault(); + +// --- Create, general, const +extern_c Handle2ConstPoPs_database +PoPs_databaseCreateConst( + const XMLName name, + const XMLName version, + const XMLName format, + ConstHandle2ConstStyles styles, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstAliases aliases, + ConstHandle2ConstGaugeBosons gaugeBosons, + ConstHandle2ConstLeptons leptons, + ConstHandle2ConstBaryons baryons, + ConstHandle2ConstChemicalElements chemicalElements, + ConstHandle2ConstUnorthodoxes unorthodoxes +); + +// +++ Create, general +extern_c Handle2PoPs_database +PoPs_databaseCreate( + const XMLName name, + const XMLName version, + const XMLName format, + ConstHandle2ConstStyles styles, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstAliases aliases, + ConstHandle2ConstGaugeBosons gaugeBosons, + ConstHandle2ConstLeptons leptons, + ConstHandle2ConstBaryons baryons, + ConstHandle2ConstChemicalElements chemicalElements, + ConstHandle2ConstUnorthodoxes unorthodoxes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PoPs_databaseAssign(ConstHandle2PoPs_database This, ConstHandle2ConstPoPs_database from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PoPs_databaseDelete(ConstHandle2ConstPoPs_database This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PoPs_databaseRead(ConstHandle2PoPs_database This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PoPs_databaseWrite(ConstHandle2ConstPoPs_database This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PoPs_databasePrint(ConstHandle2ConstPoPs_database This); + +// +++ Print to standard output, as XML +extern_c int +PoPs_databasePrintXML(ConstHandle2ConstPoPs_database This); + +// +++ Print to standard output, as JSON +extern_c int +PoPs_databasePrintJSON(ConstHandle2ConstPoPs_database This); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseNameHas(ConstHandle2ConstPoPs_database This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +PoPs_databaseNameGet(ConstHandle2ConstPoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseNameSet(ConstHandle2PoPs_database This, const XMLName name); + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseVersionHas(ConstHandle2ConstPoPs_database This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +PoPs_databaseVersionGet(ConstHandle2ConstPoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseVersionSet(ConstHandle2PoPs_database This, const XMLName version); + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseFormatHas(ConstHandle2ConstPoPs_database This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +PoPs_databaseFormatGet(ConstHandle2ConstPoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseFormatSet(ConstHandle2PoPs_database This, const XMLName format); + + +// ----------------------------------------------------------------------------- +// Child: styles +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseStylesHas(ConstHandle2ConstPoPs_database This); + +// --- Get, const +extern_c Handle2ConstStyles +PoPs_databaseStylesGetConst(ConstHandle2ConstPoPs_database This); + +// +++ Get, non-const +extern_c Handle2Styles +PoPs_databaseStylesGet(ConstHandle2PoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseStylesSet(ConstHandle2PoPs_database This, ConstHandle2ConstStyles styles); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseDocumentationHas(ConstHandle2ConstPoPs_database This); + +// --- Get, const +extern_c Handle2ConstDocumentation +PoPs_databaseDocumentationGetConst(ConstHandle2ConstPoPs_database This); + +// +++ Get, non-const +extern_c Handle2Documentation +PoPs_databaseDocumentationGet(ConstHandle2PoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseDocumentationSet(ConstHandle2PoPs_database This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: aliases +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseAliasesHas(ConstHandle2ConstPoPs_database This); + +// --- Get, const +extern_c Handle2ConstAliases +PoPs_databaseAliasesGetConst(ConstHandle2ConstPoPs_database This); + +// +++ Get, non-const +extern_c Handle2Aliases +PoPs_databaseAliasesGet(ConstHandle2PoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseAliasesSet(ConstHandle2PoPs_database This, ConstHandle2ConstAliases aliases); + + +// ----------------------------------------------------------------------------- +// Child: gaugeBosons +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseGaugeBosonsHas(ConstHandle2ConstPoPs_database This); + +// --- Get, const +extern_c Handle2ConstGaugeBosons +PoPs_databaseGaugeBosonsGetConst(ConstHandle2ConstPoPs_database This); + +// +++ Get, non-const +extern_c Handle2GaugeBosons +PoPs_databaseGaugeBosonsGet(ConstHandle2PoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseGaugeBosonsSet(ConstHandle2PoPs_database This, ConstHandle2ConstGaugeBosons gaugeBosons); + + +// ----------------------------------------------------------------------------- +// Child: leptons +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseLeptonsHas(ConstHandle2ConstPoPs_database This); + +// --- Get, const +extern_c Handle2ConstLeptons +PoPs_databaseLeptonsGetConst(ConstHandle2ConstPoPs_database This); + +// +++ Get, non-const +extern_c Handle2Leptons +PoPs_databaseLeptonsGet(ConstHandle2PoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseLeptonsSet(ConstHandle2PoPs_database This, ConstHandle2ConstLeptons leptons); + + +// ----------------------------------------------------------------------------- +// Child: baryons +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseBaryonsHas(ConstHandle2ConstPoPs_database This); + +// --- Get, const +extern_c Handle2ConstBaryons +PoPs_databaseBaryonsGetConst(ConstHandle2ConstPoPs_database This); + +// +++ Get, non-const +extern_c Handle2Baryons +PoPs_databaseBaryonsGet(ConstHandle2PoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseBaryonsSet(ConstHandle2PoPs_database This, ConstHandle2ConstBaryons baryons); + + +// ----------------------------------------------------------------------------- +// Child: chemicalElements +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseChemicalElementsHas(ConstHandle2ConstPoPs_database This); + +// --- Get, const +extern_c Handle2ConstChemicalElements +PoPs_databaseChemicalElementsGetConst(ConstHandle2ConstPoPs_database This); + +// +++ Get, non-const +extern_c Handle2ChemicalElements +PoPs_databaseChemicalElementsGet(ConstHandle2PoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseChemicalElementsSet(ConstHandle2PoPs_database This, ConstHandle2ConstChemicalElements chemicalElements); + + +// ----------------------------------------------------------------------------- +// Child: unorthodoxes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPs_databaseUnorthodoxesHas(ConstHandle2ConstPoPs_database This); + +// --- Get, const +extern_c Handle2ConstUnorthodoxes +PoPs_databaseUnorthodoxesGetConst(ConstHandle2ConstPoPs_database This); + +// +++ Get, non-const +extern_c Handle2Unorthodoxes +PoPs_databaseUnorthodoxesGet(ConstHandle2PoPs_database This); + +// +++ Set +extern_c void +PoPs_databaseUnorthodoxesSet(ConstHandle2PoPs_database This, ConstHandle2ConstUnorthodoxes unorthodoxes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.cpp new file mode 100644 index 000000000..0315e1a73 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.cpp @@ -0,0 +1,209 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/PositronEmissionIntensity.hpp" +#include "PositronEmissionIntensity.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PositronEmissionIntensityClass; +using CPP = multigroup::PositronEmissionIntensity; + +static const std::string CLASSNAME = "PositronEmissionIntensity"; + +namespace extract { + static auto value = [](auto &obj) { return &obj.value; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPositronEmissionIntensity +PositronEmissionIntensityDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PositronEmissionIntensity +PositronEmissionIntensityDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPositronEmissionIntensity +PositronEmissionIntensityCreateConst( + const Float64 value, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2PositronEmissionIntensity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + value, + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2PositronEmissionIntensity +PositronEmissionIntensityCreate( + const Float64 value, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2PositronEmissionIntensity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + value, + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PositronEmissionIntensityAssign(ConstHandle2PositronEmissionIntensity This, ConstHandle2ConstPositronEmissionIntensity from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PositronEmissionIntensityDelete(ConstHandle2ConstPositronEmissionIntensity This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PositronEmissionIntensityRead(ConstHandle2PositronEmissionIntensity This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PositronEmissionIntensityWrite(ConstHandle2ConstPositronEmissionIntensity This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PositronEmissionIntensityPrint(ConstHandle2ConstPositronEmissionIntensity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PositronEmissionIntensityPrintXML(ConstHandle2ConstPositronEmissionIntensity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PositronEmissionIntensityPrintJSON(ConstHandle2ConstPositronEmissionIntensity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +PositronEmissionIntensityValueHas(ConstHandle2ConstPositronEmissionIntensity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +PositronEmissionIntensityValueGet(ConstHandle2ConstPositronEmissionIntensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +PositronEmissionIntensityValueSet(ConstHandle2PositronEmissionIntensity This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +PositronEmissionIntensityUncertaintyHas(ConstHandle2ConstPositronEmissionIntensity This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +PositronEmissionIntensityUncertaintyGetConst(ConstHandle2ConstPositronEmissionIntensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +PositronEmissionIntensityUncertaintyGet(ConstHandle2PositronEmissionIntensity This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +PositronEmissionIntensityUncertaintySet(ConstHandle2PositronEmissionIntensity This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.h b/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.h new file mode 100644 index 000000000..e7fb6c791 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.h @@ -0,0 +1,179 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PositronEmissionIntensity is the basic handle type in this file. Example: +// // Create a default PositronEmissionIntensity object: +// PositronEmissionIntensity handle = PositronEmissionIntensityDefault(); +// Functions involving PositronEmissionIntensity are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_POSITRONEMISSIONINTENSITY +#define C_INTERFACE_TRY_V2_0_POPS_POSITRONEMISSIONINTENSITY + +#include "GNDStk.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PositronEmissionIntensityClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PositronEmissionIntensity +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PositronEmissionIntensityClass *PositronEmissionIntensity; + +// --- Const-aware handles. +typedef const struct PositronEmissionIntensityClass *const ConstHandle2ConstPositronEmissionIntensity; +typedef struct PositronEmissionIntensityClass *const ConstHandle2PositronEmissionIntensity; +typedef const struct PositronEmissionIntensityClass * Handle2ConstPositronEmissionIntensity; +typedef struct PositronEmissionIntensityClass * Handle2PositronEmissionIntensity; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPositronEmissionIntensity +PositronEmissionIntensityDefaultConst(); + +// +++ Create, default +extern_c Handle2PositronEmissionIntensity +PositronEmissionIntensityDefault(); + +// --- Create, general, const +extern_c Handle2ConstPositronEmissionIntensity +PositronEmissionIntensityCreateConst( + const Float64 value, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2PositronEmissionIntensity +PositronEmissionIntensityCreate( + const Float64 value, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PositronEmissionIntensityAssign(ConstHandle2PositronEmissionIntensity This, ConstHandle2ConstPositronEmissionIntensity from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PositronEmissionIntensityDelete(ConstHandle2ConstPositronEmissionIntensity This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PositronEmissionIntensityRead(ConstHandle2PositronEmissionIntensity This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PositronEmissionIntensityWrite(ConstHandle2ConstPositronEmissionIntensity This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PositronEmissionIntensityPrint(ConstHandle2ConstPositronEmissionIntensity This); + +// +++ Print to standard output, as XML +extern_c int +PositronEmissionIntensityPrintXML(ConstHandle2ConstPositronEmissionIntensity This); + +// +++ Print to standard output, as JSON +extern_c int +PositronEmissionIntensityPrintJSON(ConstHandle2ConstPositronEmissionIntensity This); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PositronEmissionIntensityValueHas(ConstHandle2ConstPositronEmissionIntensity This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +PositronEmissionIntensityValueGet(ConstHandle2ConstPositronEmissionIntensity This); + +// +++ Set +extern_c void +PositronEmissionIntensityValueSet(ConstHandle2PositronEmissionIntensity This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PositronEmissionIntensityUncertaintyHas(ConstHandle2ConstPositronEmissionIntensity This); + +// --- Get, const +extern_c Handle2ConstUncertainty +PositronEmissionIntensityUncertaintyGetConst(ConstHandle2ConstPositronEmissionIntensity This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +PositronEmissionIntensityUncertaintyGet(ConstHandle2PositronEmissionIntensity This); + +// +++ Set +extern_c void +PositronEmissionIntensityUncertaintySet(ConstHandle2PositronEmissionIntensity This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp new file mode 100644 index 000000000..6ad1a1f19 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp @@ -0,0 +1,205 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Probability.hpp" +#include "Probability.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProbabilityClass; +using CPP = multigroup::Probability; + +static const std::string CLASSNAME = "Probability"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProbability +ProbabilityDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Probability +ProbabilityDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProbability +ProbabilityCreateConst( + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Probability handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + ProbabilityDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Create, general +Handle2Probability +ProbabilityCreate( + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Probability handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + ProbabilityDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProbabilityAssign(ConstHandle2Probability This, ConstHandle2ConstProbability from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProbabilityDelete(ConstHandle2ConstProbability This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProbabilityRead(ConstHandle2Probability This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProbabilityWrite(ConstHandle2ConstProbability This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProbabilityPrint(ConstHandle2ConstProbability This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProbabilityPrintXML(ConstHandle2ConstProbability This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProbabilityPrintJSON(ConstHandle2ConstProbability This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +ProbabilityDoubleHas(ConstHandle2ConstProbability This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Clear +void +ProbabilityDoubleClear(ConstHandle2Probability This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DoubleClear", This, extract::Double); +} + +// Size +size_t +ProbabilityDoubleSize(ConstHandle2ConstProbability This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DoubleSize", This, extract::Double); +} + +// Add +void +ProbabilityDoubleAdd(ConstHandle2Probability This, ConstHandle2ConstDouble Double) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DoubleAdd", This, extract::Double, Double); +} + +// Get, by index \in [0,size), const +Handle2ConstDouble +ProbabilityDoubleGetConst(ConstHandle2ConstProbability This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Double +ProbabilityDoubleGet(ConstHandle2Probability This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double, index_); +} + +// Set, by index \in [0,size) +void +ProbabilityDoubleSet( + ConstHandle2Probability This, + const size_t index_, + ConstHandle2ConstDouble Double +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h new file mode 100644 index 000000000..dd457ee0d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Probability is the basic handle type in this file. Example: +// // Create a default Probability object: +// Probability handle = ProbabilityDefault(); +// Functions involving Probability are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_PROBABILITY +#define C_INTERFACE_TRY_V2_0_POPS_PROBABILITY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProbabilityClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Probability +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProbabilityClass *Probability; + +// --- Const-aware handles. +typedef const struct ProbabilityClass *const ConstHandle2ConstProbability; +typedef struct ProbabilityClass *const ConstHandle2Probability; +typedef const struct ProbabilityClass * Handle2ConstProbability; +typedef struct ProbabilityClass * Handle2Probability; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProbability +ProbabilityDefaultConst(); + +// +++ Create, default +extern_c Handle2Probability +ProbabilityDefault(); + +// --- Create, general, const +extern_c Handle2ConstProbability +ProbabilityCreateConst( + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Create, general +extern_c Handle2Probability +ProbabilityCreate( + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProbabilityAssign(ConstHandle2Probability This, ConstHandle2ConstProbability from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProbabilityDelete(ConstHandle2ConstProbability This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProbabilityRead(ConstHandle2Probability This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProbabilityWrite(ConstHandle2ConstProbability This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProbabilityPrint(ConstHandle2ConstProbability This); + +// +++ Print to standard output, as XML +extern_c int +ProbabilityPrintXML(ConstHandle2ConstProbability This); + +// +++ Print to standard output, as JSON +extern_c int +ProbabilityPrintJSON(ConstHandle2ConstProbability This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProbabilityDoubleHas(ConstHandle2ConstProbability This); + +// +++ Clear +extern_c void +ProbabilityDoubleClear(ConstHandle2Probability This); + +// +++ Size +extern_c size_t +ProbabilityDoubleSize(ConstHandle2ConstProbability This); + +// +++ Add +extern_c void +ProbabilityDoubleAdd(ConstHandle2Probability This, ConstHandle2ConstDouble Double); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDouble +ProbabilityDoubleGetConst(ConstHandle2ConstProbability This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Double +ProbabilityDoubleGet(ConstHandle2Probability This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ProbabilityDoubleSet( + ConstHandle2Probability This, + const size_t index_, + ConstHandle2ConstDouble Double +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Product.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Product.cpp new file mode 100644 index 000000000..1024d22cc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Product.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Product.hpp" +#include "Product.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProductClass; +using CPP = multigroup::Product; + +static const std::string CLASSNAME = "Product"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProduct +ProductDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Product +ProductDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProduct +ProductCreateConst( + const XMLName label, + const XMLName pid +) { + ConstHandle2Product handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + pid + ); + return handle; +} + +// Create, general +Handle2Product +ProductCreate( + const XMLName label, + const XMLName pid +) { + ConstHandle2Product handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + pid + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProductAssign(ConstHandle2Product This, ConstHandle2ConstProduct from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProductDelete(ConstHandle2ConstProduct This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProductRead(ConstHandle2Product This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProductWrite(ConstHandle2ConstProduct This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProductPrint(ConstHandle2ConstProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProductPrintXML(ConstHandle2ConstProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProductPrintJSON(ConstHandle2ConstProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ProductLabelHas(ConstHandle2ConstProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ProductLabelGet(ConstHandle2ConstProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ProductLabelSet(ConstHandle2Product This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +ProductPidHas(ConstHandle2ConstProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +ProductPidGet(ConstHandle2ConstProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +ProductPidSet(ConstHandle2Product This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Product.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Product.h new file mode 100644 index 000000000..36e6b0dbb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Product.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Product is the basic handle type in this file. Example: +// // Create a default Product object: +// Product handle = ProductDefault(); +// Functions involving Product are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_PRODUCT +#define C_INTERFACE_TRY_V2_0_POPS_PRODUCT + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProductClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Product +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProductClass *Product; + +// --- Const-aware handles. +typedef const struct ProductClass *const ConstHandle2ConstProduct; +typedef struct ProductClass *const ConstHandle2Product; +typedef const struct ProductClass * Handle2ConstProduct; +typedef struct ProductClass * Handle2Product; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProduct +ProductDefaultConst(); + +// +++ Create, default +extern_c Handle2Product +ProductDefault(); + +// --- Create, general, const +extern_c Handle2ConstProduct +ProductCreateConst( + const XMLName label, + const XMLName pid +); + +// +++ Create, general +extern_c Handle2Product +ProductCreate( + const XMLName label, + const XMLName pid +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProductAssign(ConstHandle2Product This, ConstHandle2ConstProduct from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProductDelete(ConstHandle2ConstProduct This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProductRead(ConstHandle2Product This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProductWrite(ConstHandle2ConstProduct This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProductPrint(ConstHandle2ConstProduct This); + +// +++ Print to standard output, as XML +extern_c int +ProductPrintXML(ConstHandle2ConstProduct This); + +// +++ Print to standard output, as JSON +extern_c int +ProductPrintJSON(ConstHandle2ConstProduct This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductLabelHas(ConstHandle2ConstProduct This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProductLabelGet(ConstHandle2ConstProduct This); + +// +++ Set +extern_c void +ProductLabelSet(ConstHandle2Product This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductPidHas(ConstHandle2ConstProduct This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProductPidGet(ConstHandle2ConstProduct This); + +// +++ Set +extern_c void +ProductPidSet(ConstHandle2Product This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Products.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Products.cpp new file mode 100644 index 000000000..2c3576cf0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Products.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Products.hpp" +#include "Products.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProductsClass; +using CPP = multigroup::Products; + +static const std::string CLASSNAME = "Products"; + +namespace extract { + static auto product = [](auto &obj) { return &obj.product; }; +} + +using CPPProduct = pops::Product; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProducts +ProductsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Products +ProductsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProducts +ProductsCreateConst( + ConstHandle2Product *const product, const size_t productSize +) { + ConstHandle2Products handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ProductN = 0; ProductN < productSize; ++ProductN) + ProductsProductAdd(handle, product[ProductN]); + return handle; +} + +// Create, general +Handle2Products +ProductsCreate( + ConstHandle2Product *const product, const size_t productSize +) { + ConstHandle2Products handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ProductN = 0; ProductN < productSize; ++ProductN) + ProductsProductAdd(handle, product[ProductN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProductsAssign(ConstHandle2Products This, ConstHandle2ConstProducts from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProductsDelete(ConstHandle2ConstProducts This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProductsRead(ConstHandle2Products This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProductsWrite(ConstHandle2ConstProducts This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProductsPrint(ConstHandle2ConstProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProductsPrintXML(ConstHandle2ConstProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProductsPrintJSON(ConstHandle2ConstProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: product +// ----------------------------------------------------------------------------- + +// Has +int +ProductsProductHas(ConstHandle2ConstProducts This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductHas", This, extract::product); +} + +// Clear +void +ProductsProductClear(ConstHandle2Products This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ProductClear", This, extract::product); +} + +// Size +size_t +ProductsProductSize(ConstHandle2ConstProducts This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ProductSize", This, extract::product); +} + +// Add +void +ProductsProductAdd(ConstHandle2Products This, ConstHandle2ConstProduct product) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ProductAdd", This, extract::product, product); +} + +// Get, by index \in [0,size), const +Handle2ConstProduct +ProductsProductGetConst(ConstHandle2ConstProducts This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ProductGetConst", This, extract::product, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Product +ProductsProductGet(ConstHandle2Products This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ProductGet", This, extract::product, index_); +} + +// Set, by index \in [0,size) +void +ProductsProductSet( + ConstHandle2Products This, + const size_t index_, + ConstHandle2ConstProduct product +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ProductSet", This, extract::product, index_, product); +} + +// Has, by label +int +ProductsProductHasByLabel( + ConstHandle2ConstProducts This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProductHasByLabel", + This, extract::product, meta::label, label); +} + +// Get, by label, const +Handle2ConstProduct +ProductsProductGetByLabelConst( + ConstHandle2ConstProducts This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductGetByLabelConst", + This, extract::product, meta::label, label); +} + +// Get, by label, non-const +Handle2Product +ProductsProductGetByLabel( + ConstHandle2Products This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductGetByLabel", + This, extract::product, meta::label, label); +} + +// Set, by label +void +ProductsProductSetByLabel( + ConstHandle2Products This, + const XMLName label, + ConstHandle2ConstProduct product +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProductSetByLabel", + This, extract::product, meta::label, label, product); +} + +// Has, by pid +int +ProductsProductHasByPid( + ConstHandle2ConstProducts This, + const XMLName pid +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ProductHasByPid", + This, extract::product, meta::pid, pid); +} + +// Get, by pid, const +Handle2ConstProduct +ProductsProductGetByPidConst( + ConstHandle2ConstProducts This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductGetByPidConst", + This, extract::product, meta::pid, pid); +} + +// Get, by pid, non-const +Handle2Product +ProductsProductGetByPid( + ConstHandle2Products This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ProductGetByPid", + This, extract::product, meta::pid, pid); +} + +// Set, by pid +void +ProductsProductSetByPid( + ConstHandle2Products This, + const XMLName pid, + ConstHandle2ConstProduct product +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ProductSetByPid", + This, extract::product, meta::pid, pid, product); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Products.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Products.h new file mode 100644 index 000000000..0fb5ded80 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Products.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Products is the basic handle type in this file. Example: +// // Create a default Products object: +// Products handle = ProductsDefault(); +// Functions involving Products are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_PRODUCTS +#define C_INTERFACE_TRY_V2_0_POPS_PRODUCTS + +#include "GNDStk.h" +#include "v2.0/pops/Product.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProductsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Products +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProductsClass *Products; + +// --- Const-aware handles. +typedef const struct ProductsClass *const ConstHandle2ConstProducts; +typedef struct ProductsClass *const ConstHandle2Products; +typedef const struct ProductsClass * Handle2ConstProducts; +typedef struct ProductsClass * Handle2Products; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProducts +ProductsDefaultConst(); + +// +++ Create, default +extern_c Handle2Products +ProductsDefault(); + +// --- Create, general, const +extern_c Handle2ConstProducts +ProductsCreateConst( + ConstHandle2Product *const product, const size_t productSize +); + +// +++ Create, general +extern_c Handle2Products +ProductsCreate( + ConstHandle2Product *const product, const size_t productSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProductsAssign(ConstHandle2Products This, ConstHandle2ConstProducts from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProductsDelete(ConstHandle2ConstProducts This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProductsRead(ConstHandle2Products This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProductsWrite(ConstHandle2ConstProducts This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProductsPrint(ConstHandle2ConstProducts This); + +// +++ Print to standard output, as XML +extern_c int +ProductsPrintXML(ConstHandle2ConstProducts This); + +// +++ Print to standard output, as JSON +extern_c int +ProductsPrintJSON(ConstHandle2ConstProducts This); + + +// ----------------------------------------------------------------------------- +// Child: product +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductsProductHas(ConstHandle2ConstProducts This); + +// +++ Clear +extern_c void +ProductsProductClear(ConstHandle2Products This); + +// +++ Size +extern_c size_t +ProductsProductSize(ConstHandle2ConstProducts This); + +// +++ Add +extern_c void +ProductsProductAdd(ConstHandle2Products This, ConstHandle2ConstProduct product); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstProduct +ProductsProductGetConst(ConstHandle2ConstProducts This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Product +ProductsProductGet(ConstHandle2Products This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ProductsProductSet( + ConstHandle2Products This, + const size_t index_, + ConstHandle2ConstProduct product +); + +// +++ Has, by label +extern_c int +ProductsProductHasByLabel( + ConstHandle2ConstProducts This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstProduct +ProductsProductGetByLabelConst( + ConstHandle2ConstProducts This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Product +ProductsProductGetByLabel( + ConstHandle2Products This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ProductsProductSetByLabel( + ConstHandle2Products This, + const XMLName label, + ConstHandle2ConstProduct product +); + +// +++ Has, by pid +extern_c int +ProductsProductHasByPid( + ConstHandle2ConstProducts This, + const XMLName pid +); + +// --- Get, by pid, const +extern_c Handle2ConstProduct +ProductsProductGetByPidConst( + ConstHandle2ConstProducts This, + const XMLName pid +); + +// +++ Get, by pid, non-const +extern_c Handle2Product +ProductsProductGetByPid( + ConstHandle2Products This, + const XMLName pid +); + +// +++ Set, by pid +extern_c void +ProductsProductSetByPid( + ConstHandle2Products This, + const XMLName pid, + ConstHandle2ConstProduct product +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp new file mode 100644 index 000000000..2a76d34bc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp @@ -0,0 +1,396 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Q.hpp" +#include "Q.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = QClass; +using CPP = multigroup::Q; + +static const std::string CLASSNAME = "Q"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstQ +QDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Q +QDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstQ +QCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Q handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + QDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Create, general +Handle2Q +QCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2Q handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + QDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +QAssign(ConstHandle2Q This, ConstHandle2ConstQ from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +QDelete(ConstHandle2ConstQ This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +QRead(ConstHandle2Q This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +QWrite(ConstHandle2ConstQ This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +QPrint(ConstHandle2ConstQ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +QPrintXML(ConstHandle2ConstQ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +QPrintJSON(ConstHandle2ConstQ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +QLabelHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +QLabelGet(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +QLabelSet(ConstHandle2Q This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +QUnitHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +QUnitGet(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +QUnitSet(ConstHandle2Q This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +QValueHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +QValueGet(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +QValueSet(ConstHandle2Q This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +QDocumentationHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +QDocumentationGetConst(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +QDocumentationGet(ConstHandle2Q This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +QDocumentationSet(ConstHandle2Q This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +QUncertaintyHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +QUncertaintyGetConst(ConstHandle2ConstQ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +QUncertaintyGet(ConstHandle2Q This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +QUncertaintySet(ConstHandle2Q This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +QDoubleHas(ConstHandle2ConstQ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Clear +void +QDoubleClear(ConstHandle2Q This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DoubleClear", This, extract::Double); +} + +// Size +size_t +QDoubleSize(ConstHandle2ConstQ This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DoubleSize", This, extract::Double); +} + +// Add +void +QDoubleAdd(ConstHandle2Q This, ConstHandle2ConstDouble Double) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DoubleAdd", This, extract::Double, Double); +} + +// Get, by index \in [0,size), const +Handle2ConstDouble +QDoubleGetConst(ConstHandle2ConstQ This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Double +QDoubleGet(ConstHandle2Q This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double, index_); +} + +// Set, by index \in [0,size) +void +QDoubleSet( + ConstHandle2Q This, + const size_t index_, + ConstHandle2ConstDouble Double +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h new file mode 100644 index 000000000..d179189fe --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h @@ -0,0 +1,283 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Q is the basic handle type in this file. Example: +// // Create a default Q object: +// Q handle = QDefault(); +// Functions involving Q are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_Q +#define C_INTERFACE_TRY_V2_0_POPS_Q + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct QClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Q +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct QClass *Q; + +// --- Const-aware handles. +typedef const struct QClass *const ConstHandle2ConstQ; +typedef struct QClass *const ConstHandle2Q; +typedef const struct QClass * Handle2ConstQ; +typedef struct QClass * Handle2Q; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstQ +QDefaultConst(); + +// +++ Create, default +extern_c Handle2Q +QDefault(); + +// --- Create, general, const +extern_c Handle2ConstQ +QCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Create, general +extern_c Handle2Q +QCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +QAssign(ConstHandle2Q This, ConstHandle2ConstQ from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +QDelete(ConstHandle2ConstQ This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +QRead(ConstHandle2Q This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +QWrite(ConstHandle2ConstQ This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +QPrint(ConstHandle2ConstQ This); + +// +++ Print to standard output, as XML +extern_c int +QPrintXML(ConstHandle2ConstQ This); + +// +++ Print to standard output, as JSON +extern_c int +QPrintJSON(ConstHandle2ConstQ This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QLabelHas(ConstHandle2ConstQ This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +QLabelGet(ConstHandle2ConstQ This); + +// +++ Set +extern_c void +QLabelSet(ConstHandle2Q This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QUnitHas(ConstHandle2ConstQ This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +QUnitGet(ConstHandle2ConstQ This); + +// +++ Set +extern_c void +QUnitSet(ConstHandle2Q This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QValueHas(ConstHandle2ConstQ This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +QValueGet(ConstHandle2ConstQ This); + +// +++ Set +extern_c void +QValueSet(ConstHandle2Q This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QDocumentationHas(ConstHandle2ConstQ This); + +// --- Get, const +extern_c Handle2ConstDocumentation +QDocumentationGetConst(ConstHandle2ConstQ This); + +// +++ Get, non-const +extern_c Handle2Documentation +QDocumentationGet(ConstHandle2Q This); + +// +++ Set +extern_c void +QDocumentationSet(ConstHandle2Q This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QUncertaintyHas(ConstHandle2ConstQ This); + +// --- Get, const +extern_c Handle2ConstUncertainty +QUncertaintyGetConst(ConstHandle2ConstQ This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +QUncertaintyGet(ConstHandle2Q This); + +// +++ Set +extern_c void +QUncertaintySet(ConstHandle2Q This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +QDoubleHas(ConstHandle2ConstQ This); + +// +++ Clear +extern_c void +QDoubleClear(ConstHandle2Q This); + +// +++ Size +extern_c size_t +QDoubleSize(ConstHandle2ConstQ This); + +// +++ Add +extern_c void +QDoubleAdd(ConstHandle2Q This, ConstHandle2ConstDouble Double); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDouble +QDoubleGetConst(ConstHandle2ConstQ This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Double +QDoubleGet(ConstHandle2Q This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +QDoubleSet( + ConstHandle2Q This, + const size_t index_, + ConstHandle2ConstDouble Double +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.cpp new file mode 100644 index 000000000..739a2e972 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Shell.hpp" +#include "Shell.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ShellClass; +using CPP = multigroup::Shell; + +static const std::string CLASSNAME = "Shell"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto unit = [](auto &obj) { return &obj.unit; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstShell +ShellDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Shell +ShellDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstShell +ShellCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit +) { + ConstHandle2Shell handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + value, + unit + ); + return handle; +} + +// Create, general +Handle2Shell +ShellCreate( + const XMLName label, + const Float64 value, + const XMLName unit +) { + ConstHandle2Shell handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + value, + unit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ShellAssign(ConstHandle2Shell This, ConstHandle2ConstShell from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ShellDelete(ConstHandle2ConstShell This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ShellRead(ConstHandle2Shell This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ShellWrite(ConstHandle2ConstShell This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ShellPrint(ConstHandle2ConstShell This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ShellPrintXML(ConstHandle2ConstShell This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ShellPrintJSON(ConstHandle2ConstShell This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ShellLabelHas(ConstHandle2ConstShell This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ShellLabelGet(ConstHandle2ConstShell This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ShellLabelSet(ConstHandle2Shell This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +ShellValueHas(ConstHandle2ConstShell This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +ShellValueGet(ConstHandle2ConstShell This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +ShellValueSet(ConstHandle2Shell This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +ShellUnitHas(ConstHandle2ConstShell This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +ShellUnitGet(ConstHandle2ConstShell This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +ShellUnitSet(ConstHandle2Shell This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.h new file mode 100644 index 000000000..af3de764c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Shell is the basic handle type in this file. Example: +// // Create a default Shell object: +// Shell handle = ShellDefault(); +// Functions involving Shell are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_SHELL +#define C_INTERFACE_TRY_V2_0_POPS_SHELL + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ShellClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Shell +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ShellClass *Shell; + +// --- Const-aware handles. +typedef const struct ShellClass *const ConstHandle2ConstShell; +typedef struct ShellClass *const ConstHandle2Shell; +typedef const struct ShellClass * Handle2ConstShell; +typedef struct ShellClass * Handle2Shell; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstShell +ShellDefaultConst(); + +// +++ Create, default +extern_c Handle2Shell +ShellDefault(); + +// --- Create, general, const +extern_c Handle2ConstShell +ShellCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit +); + +// +++ Create, general +extern_c Handle2Shell +ShellCreate( + const XMLName label, + const Float64 value, + const XMLName unit +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ShellAssign(ConstHandle2Shell This, ConstHandle2ConstShell from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ShellDelete(ConstHandle2ConstShell This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ShellRead(ConstHandle2Shell This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ShellWrite(ConstHandle2ConstShell This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ShellPrint(ConstHandle2ConstShell This); + +// +++ Print to standard output, as XML +extern_c int +ShellPrintXML(ConstHandle2ConstShell This); + +// +++ Print to standard output, as JSON +extern_c int +ShellPrintJSON(ConstHandle2ConstShell This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ShellLabelHas(ConstHandle2ConstShell This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ShellLabelGet(ConstHandle2ConstShell This); + +// +++ Set +extern_c void +ShellLabelSet(ConstHandle2Shell This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ShellValueHas(ConstHandle2ConstShell This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +ShellValueGet(ConstHandle2ConstShell This); + +// +++ Set +extern_c void +ShellValueSet(ConstHandle2Shell This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ShellUnitHas(ConstHandle2ConstShell This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ShellUnitGet(ConstHandle2ConstShell This); + +// +++ Set +extern_c void +ShellUnitSet(ConstHandle2Shell This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.cpp new file mode 100644 index 000000000..3a457a3fb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Spectra.hpp" +#include "Spectra.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SpectraClass; +using CPP = multigroup::Spectra; + +static const std::string CLASSNAME = "Spectra"; + +namespace extract { + static auto spectrum = [](auto &obj) { return &obj.spectrum; }; +} + +using CPPSpectrum = pops::Spectrum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSpectra +SpectraDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Spectra +SpectraDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSpectra +SpectraCreateConst( + ConstHandle2Spectrum *const spectrum, const size_t spectrumSize +) { + ConstHandle2Spectra handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t SpectrumN = 0; SpectrumN < spectrumSize; ++SpectrumN) + SpectraSpectrumAdd(handle, spectrum[SpectrumN]); + return handle; +} + +// Create, general +Handle2Spectra +SpectraCreate( + ConstHandle2Spectrum *const spectrum, const size_t spectrumSize +) { + ConstHandle2Spectra handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t SpectrumN = 0; SpectrumN < spectrumSize; ++SpectrumN) + SpectraSpectrumAdd(handle, spectrum[SpectrumN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SpectraAssign(ConstHandle2Spectra This, ConstHandle2ConstSpectra from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SpectraDelete(ConstHandle2ConstSpectra This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SpectraRead(ConstHandle2Spectra This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SpectraWrite(ConstHandle2ConstSpectra This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SpectraPrint(ConstHandle2ConstSpectra This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SpectraPrintXML(ConstHandle2ConstSpectra This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SpectraPrintJSON(ConstHandle2ConstSpectra This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: spectrum +// ----------------------------------------------------------------------------- + +// Has +int +SpectraSpectrumHas(ConstHandle2ConstSpectra This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpectrumHas", This, extract::spectrum); +} + +// Clear +void +SpectraSpectrumClear(ConstHandle2Spectra This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"SpectrumClear", This, extract::spectrum); +} + +// Size +size_t +SpectraSpectrumSize(ConstHandle2ConstSpectra This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"SpectrumSize", This, extract::spectrum); +} + +// Add +void +SpectraSpectrumAdd(ConstHandle2Spectra This, ConstHandle2ConstSpectrum spectrum) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"SpectrumAdd", This, extract::spectrum, spectrum); +} + +// Get, by index \in [0,size), const +Handle2ConstSpectrum +SpectraSpectrumGetConst(ConstHandle2ConstSpectra This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SpectrumGetConst", This, extract::spectrum, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Spectrum +SpectraSpectrumGet(ConstHandle2Spectra This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SpectrumGet", This, extract::spectrum, index_); +} + +// Set, by index \in [0,size) +void +SpectraSpectrumSet( + ConstHandle2Spectra This, + const size_t index_, + ConstHandle2ConstSpectrum spectrum +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"SpectrumSet", This, extract::spectrum, index_, spectrum); +} + +// Has, by label +int +SpectraSpectrumHasByLabel( + ConstHandle2ConstSpectra This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SpectrumHasByLabel", + This, extract::spectrum, meta::label, label); +} + +// Get, by label, const +Handle2ConstSpectrum +SpectraSpectrumGetByLabelConst( + ConstHandle2ConstSpectra This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpectrumGetByLabelConst", + This, extract::spectrum, meta::label, label); +} + +// Get, by label, non-const +Handle2Spectrum +SpectraSpectrumGetByLabel( + ConstHandle2Spectra This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpectrumGetByLabel", + This, extract::spectrum, meta::label, label); +} + +// Set, by label +void +SpectraSpectrumSetByLabel( + ConstHandle2Spectra This, + const XMLName label, + ConstHandle2ConstSpectrum spectrum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SpectrumSetByLabel", + This, extract::spectrum, meta::label, label, spectrum); +} + +// Has, by pid +int +SpectraSpectrumHasByPid( + ConstHandle2ConstSpectra This, + const XMLName pid +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SpectrumHasByPid", + This, extract::spectrum, meta::pid, pid); +} + +// Get, by pid, const +Handle2ConstSpectrum +SpectraSpectrumGetByPidConst( + ConstHandle2ConstSpectra This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpectrumGetByPidConst", + This, extract::spectrum, meta::pid, pid); +} + +// Get, by pid, non-const +Handle2Spectrum +SpectraSpectrumGetByPid( + ConstHandle2Spectra This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpectrumGetByPid", + This, extract::spectrum, meta::pid, pid); +} + +// Set, by pid +void +SpectraSpectrumSetByPid( + ConstHandle2Spectra This, + const XMLName pid, + ConstHandle2ConstSpectrum spectrum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SpectrumSetByPid", + This, extract::spectrum, meta::pid, pid, spectrum); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.h new file mode 100644 index 000000000..b0a92342b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Spectra is the basic handle type in this file. Example: +// // Create a default Spectra object: +// Spectra handle = SpectraDefault(); +// Functions involving Spectra are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_SPECTRA +#define C_INTERFACE_TRY_V2_0_POPS_SPECTRA + +#include "GNDStk.h" +#include "v2.0/pops/Spectrum.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SpectraClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Spectra +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SpectraClass *Spectra; + +// --- Const-aware handles. +typedef const struct SpectraClass *const ConstHandle2ConstSpectra; +typedef struct SpectraClass *const ConstHandle2Spectra; +typedef const struct SpectraClass * Handle2ConstSpectra; +typedef struct SpectraClass * Handle2Spectra; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSpectra +SpectraDefaultConst(); + +// +++ Create, default +extern_c Handle2Spectra +SpectraDefault(); + +// --- Create, general, const +extern_c Handle2ConstSpectra +SpectraCreateConst( + ConstHandle2Spectrum *const spectrum, const size_t spectrumSize +); + +// +++ Create, general +extern_c Handle2Spectra +SpectraCreate( + ConstHandle2Spectrum *const spectrum, const size_t spectrumSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SpectraAssign(ConstHandle2Spectra This, ConstHandle2ConstSpectra from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SpectraDelete(ConstHandle2ConstSpectra This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SpectraRead(ConstHandle2Spectra This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SpectraWrite(ConstHandle2ConstSpectra This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SpectraPrint(ConstHandle2ConstSpectra This); + +// +++ Print to standard output, as XML +extern_c int +SpectraPrintXML(ConstHandle2ConstSpectra This); + +// +++ Print to standard output, as JSON +extern_c int +SpectraPrintJSON(ConstHandle2ConstSpectra This); + + +// ----------------------------------------------------------------------------- +// Child: spectrum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpectraSpectrumHas(ConstHandle2ConstSpectra This); + +// +++ Clear +extern_c void +SpectraSpectrumClear(ConstHandle2Spectra This); + +// +++ Size +extern_c size_t +SpectraSpectrumSize(ConstHandle2ConstSpectra This); + +// +++ Add +extern_c void +SpectraSpectrumAdd(ConstHandle2Spectra This, ConstHandle2ConstSpectrum spectrum); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstSpectrum +SpectraSpectrumGetConst(ConstHandle2ConstSpectra This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Spectrum +SpectraSpectrumGet(ConstHandle2Spectra This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +SpectraSpectrumSet( + ConstHandle2Spectra This, + const size_t index_, + ConstHandle2ConstSpectrum spectrum +); + +// +++ Has, by label +extern_c int +SpectraSpectrumHasByLabel( + ConstHandle2ConstSpectra This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstSpectrum +SpectraSpectrumGetByLabelConst( + ConstHandle2ConstSpectra This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Spectrum +SpectraSpectrumGetByLabel( + ConstHandle2Spectra This, + const XMLName label +); + +// +++ Set, by label +extern_c void +SpectraSpectrumSetByLabel( + ConstHandle2Spectra This, + const XMLName label, + ConstHandle2ConstSpectrum spectrum +); + +// +++ Has, by pid +extern_c int +SpectraSpectrumHasByPid( + ConstHandle2ConstSpectra This, + const XMLName pid +); + +// --- Get, by pid, const +extern_c Handle2ConstSpectrum +SpectraSpectrumGetByPidConst( + ConstHandle2ConstSpectra This, + const XMLName pid +); + +// +++ Get, by pid, non-const +extern_c Handle2Spectrum +SpectraSpectrumGetByPid( + ConstHandle2Spectra This, + const XMLName pid +); + +// +++ Set, by pid +extern_c void +SpectraSpectrumSetByPid( + ConstHandle2Spectra This, + const XMLName pid, + ConstHandle2ConstSpectrum spectrum +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.cpp new file mode 100644 index 000000000..0c853a048 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.cpp @@ -0,0 +1,363 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Spectrum.hpp" +#include "Spectrum.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SpectrumClass; +using CPP = multigroup::Spectrum; + +static const std::string CLASSNAME = "Spectrum"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto continuum = [](auto &obj) { return &obj.continuum; }; + static auto discrete = [](auto &obj) { return &obj.discrete; }; +} + +using CPPContinuum = pops::Continuum; +using CPPDiscrete = pops::Discrete; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSpectrum +SpectrumDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Spectrum +SpectrumDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSpectrum +SpectrumCreateConst( + const XMLName label, + const XMLName pid, + ConstHandle2ConstContinuum continuum, + ConstHandle2Discrete *const discrete, const size_t discreteSize +) { + ConstHandle2Spectrum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + pid, + detail::tocpp(continuum), + std::vector{} + ); + for (size_t DiscreteN = 0; DiscreteN < discreteSize; ++DiscreteN) + SpectrumDiscreteAdd(handle, discrete[DiscreteN]); + return handle; +} + +// Create, general +Handle2Spectrum +SpectrumCreate( + const XMLName label, + const XMLName pid, + ConstHandle2ConstContinuum continuum, + ConstHandle2Discrete *const discrete, const size_t discreteSize +) { + ConstHandle2Spectrum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + pid, + detail::tocpp(continuum), + std::vector{} + ); + for (size_t DiscreteN = 0; DiscreteN < discreteSize; ++DiscreteN) + SpectrumDiscreteAdd(handle, discrete[DiscreteN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SpectrumAssign(ConstHandle2Spectrum This, ConstHandle2ConstSpectrum from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SpectrumDelete(ConstHandle2ConstSpectrum This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SpectrumRead(ConstHandle2Spectrum This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SpectrumWrite(ConstHandle2ConstSpectrum This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SpectrumPrint(ConstHandle2ConstSpectrum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SpectrumPrintXML(ConstHandle2ConstSpectrum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SpectrumPrintJSON(ConstHandle2ConstSpectrum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +SpectrumLabelHas(ConstHandle2ConstSpectrum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +SpectrumLabelGet(ConstHandle2ConstSpectrum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +SpectrumLabelSet(ConstHandle2Spectrum This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +SpectrumPidHas(ConstHandle2ConstSpectrum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +SpectrumPidGet(ConstHandle2ConstSpectrum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +SpectrumPidSet(ConstHandle2Spectrum This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Child: continuum +// ----------------------------------------------------------------------------- + +// Has +int +SpectrumContinuumHas(ConstHandle2ConstSpectrum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ContinuumHas", This, extract::continuum); +} + +// Get, const +Handle2ConstContinuum +SpectrumContinuumGetConst(ConstHandle2ConstSpectrum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ContinuumGetConst", This, extract::continuum); +} + +// Get, non-const +Handle2Continuum +SpectrumContinuumGet(ConstHandle2Spectrum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ContinuumGet", This, extract::continuum); +} + +// Set +void +SpectrumContinuumSet(ConstHandle2Spectrum This, ConstHandle2ConstContinuum continuum) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ContinuumSet", This, extract::continuum, continuum); +} + + +// ----------------------------------------------------------------------------- +// Child: discrete +// ----------------------------------------------------------------------------- + +// Has +int +SpectrumDiscreteHas(ConstHandle2ConstSpectrum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DiscreteHas", This, extract::discrete); +} + +// Clear +void +SpectrumDiscreteClear(ConstHandle2Spectrum This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DiscreteClear", This, extract::discrete); +} + +// Size +size_t +SpectrumDiscreteSize(ConstHandle2ConstSpectrum This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DiscreteSize", This, extract::discrete); +} + +// Add +void +SpectrumDiscreteAdd(ConstHandle2Spectrum This, ConstHandle2ConstDiscrete discrete) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DiscreteAdd", This, extract::discrete, discrete); +} + +// Get, by index \in [0,size), const +Handle2ConstDiscrete +SpectrumDiscreteGetConst(ConstHandle2ConstSpectrum This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DiscreteGetConst", This, extract::discrete, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Discrete +SpectrumDiscreteGet(ConstHandle2Spectrum This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DiscreteGet", This, extract::discrete, index_); +} + +// Set, by index \in [0,size) +void +SpectrumDiscreteSet( + ConstHandle2Spectrum This, + const size_t index_, + ConstHandle2ConstDiscrete discrete +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DiscreteSet", This, extract::discrete, index_, discrete); +} + +// Has, by type +int +SpectrumDiscreteHasByType( + ConstHandle2ConstSpectrum This, + const XMLName type +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DiscreteHasByType", + This, extract::discrete, meta::type, type); +} + +// Get, by type, const +Handle2ConstDiscrete +SpectrumDiscreteGetByTypeConst( + ConstHandle2ConstSpectrum This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DiscreteGetByTypeConst", + This, extract::discrete, meta::type, type); +} + +// Get, by type, non-const +Handle2Discrete +SpectrumDiscreteGetByType( + ConstHandle2Spectrum This, + const XMLName type +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DiscreteGetByType", + This, extract::discrete, meta::type, type); +} + +// Set, by type +void +SpectrumDiscreteSetByType( + ConstHandle2Spectrum This, + const XMLName type, + ConstHandle2ConstDiscrete discrete +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DiscreteSetByType", + This, extract::discrete, meta::type, type, discrete); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.h new file mode 100644 index 000000000..e65c53a7e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.h @@ -0,0 +1,268 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Spectrum is the basic handle type in this file. Example: +// // Create a default Spectrum object: +// Spectrum handle = SpectrumDefault(); +// Functions involving Spectrum are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_SPECTRUM +#define C_INTERFACE_TRY_V2_0_POPS_SPECTRUM + +#include "GNDStk.h" +#include "v2.0/pops/Continuum.h" +#include "v2.0/pops/Discrete.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SpectrumClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Spectrum +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SpectrumClass *Spectrum; + +// --- Const-aware handles. +typedef const struct SpectrumClass *const ConstHandle2ConstSpectrum; +typedef struct SpectrumClass *const ConstHandle2Spectrum; +typedef const struct SpectrumClass * Handle2ConstSpectrum; +typedef struct SpectrumClass * Handle2Spectrum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSpectrum +SpectrumDefaultConst(); + +// +++ Create, default +extern_c Handle2Spectrum +SpectrumDefault(); + +// --- Create, general, const +extern_c Handle2ConstSpectrum +SpectrumCreateConst( + const XMLName label, + const XMLName pid, + ConstHandle2ConstContinuum continuum, + ConstHandle2Discrete *const discrete, const size_t discreteSize +); + +// +++ Create, general +extern_c Handle2Spectrum +SpectrumCreate( + const XMLName label, + const XMLName pid, + ConstHandle2ConstContinuum continuum, + ConstHandle2Discrete *const discrete, const size_t discreteSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SpectrumAssign(ConstHandle2Spectrum This, ConstHandle2ConstSpectrum from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SpectrumDelete(ConstHandle2ConstSpectrum This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SpectrumRead(ConstHandle2Spectrum This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SpectrumWrite(ConstHandle2ConstSpectrum This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SpectrumPrint(ConstHandle2ConstSpectrum This); + +// +++ Print to standard output, as XML +extern_c int +SpectrumPrintXML(ConstHandle2ConstSpectrum This); + +// +++ Print to standard output, as JSON +extern_c int +SpectrumPrintJSON(ConstHandle2ConstSpectrum This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpectrumLabelHas(ConstHandle2ConstSpectrum This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SpectrumLabelGet(ConstHandle2ConstSpectrum This); + +// +++ Set +extern_c void +SpectrumLabelSet(ConstHandle2Spectrum This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpectrumPidHas(ConstHandle2ConstSpectrum This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SpectrumPidGet(ConstHandle2ConstSpectrum This); + +// +++ Set +extern_c void +SpectrumPidSet(ConstHandle2Spectrum This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Child: continuum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpectrumContinuumHas(ConstHandle2ConstSpectrum This); + +// --- Get, const +extern_c Handle2ConstContinuum +SpectrumContinuumGetConst(ConstHandle2ConstSpectrum This); + +// +++ Get, non-const +extern_c Handle2Continuum +SpectrumContinuumGet(ConstHandle2Spectrum This); + +// +++ Set +extern_c void +SpectrumContinuumSet(ConstHandle2Spectrum This, ConstHandle2ConstContinuum continuum); + + +// ----------------------------------------------------------------------------- +// Child: discrete +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpectrumDiscreteHas(ConstHandle2ConstSpectrum This); + +// +++ Clear +extern_c void +SpectrumDiscreteClear(ConstHandle2Spectrum This); + +// +++ Size +extern_c size_t +SpectrumDiscreteSize(ConstHandle2ConstSpectrum This); + +// +++ Add +extern_c void +SpectrumDiscreteAdd(ConstHandle2Spectrum This, ConstHandle2ConstDiscrete discrete); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDiscrete +SpectrumDiscreteGetConst(ConstHandle2ConstSpectrum This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Discrete +SpectrumDiscreteGet(ConstHandle2Spectrum This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +SpectrumDiscreteSet( + ConstHandle2Spectrum This, + const size_t index_, + ConstHandle2ConstDiscrete discrete +); + +// +++ Has, by type +extern_c int +SpectrumDiscreteHasByType( + ConstHandle2ConstSpectrum This, + const XMLName type +); + +// --- Get, by type, const +extern_c Handle2ConstDiscrete +SpectrumDiscreteGetByTypeConst( + ConstHandle2ConstSpectrum This, + const XMLName type +); + +// +++ Get, by type, non-const +extern_c Handle2Discrete +SpectrumDiscreteGetByType( + ConstHandle2Spectrum This, + const XMLName type +); + +// +++ Set, by type +extern_c void +SpectrumDiscreteSetByType( + ConstHandle2Spectrum This, + const XMLName type, + ConstHandle2ConstDiscrete discrete +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp new file mode 100644 index 000000000..d588177e0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp @@ -0,0 +1,396 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Spin.hpp" +#include "Spin.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SpinClass; +using CPP = multigroup::Spin; + +static const std::string CLASSNAME = "Spin"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; + static auto fraction = [](auto &obj) { return &obj.fraction; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; +using CPPFraction = unknownNamespace::Fraction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSpin +SpinDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Spin +SpinDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSpin +SpinCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Fraction *const fraction, const size_t fractionSize +) { + ConstHandle2Spin handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t FractionN = 0; FractionN < fractionSize; ++FractionN) + SpinFractionAdd(handle, fraction[FractionN]); + return handle; +} + +// Create, general +Handle2Spin +SpinCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Fraction *const fraction, const size_t fractionSize +) { + ConstHandle2Spin handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value, + detail::tocpp(documentation), + detail::tocpp(uncertainty), + std::vector{} + ); + for (size_t FractionN = 0; FractionN < fractionSize; ++FractionN) + SpinFractionAdd(handle, fraction[FractionN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SpinAssign(ConstHandle2Spin This, ConstHandle2ConstSpin from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SpinDelete(ConstHandle2ConstSpin This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SpinRead(ConstHandle2Spin This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SpinWrite(ConstHandle2ConstSpin This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SpinPrint(ConstHandle2ConstSpin This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SpinPrintXML(ConstHandle2ConstSpin This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SpinPrintJSON(ConstHandle2ConstSpin This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +SpinLabelHas(ConstHandle2ConstSpin This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +SpinLabelGet(ConstHandle2ConstSpin This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +SpinLabelSet(ConstHandle2Spin This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +SpinUnitHas(ConstHandle2ConstSpin This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +SpinUnitGet(ConstHandle2ConstSpin This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +SpinUnitSet(ConstHandle2Spin This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +SpinValueHas(ConstHandle2ConstSpin This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +SpinValueGet(ConstHandle2ConstSpin This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +SpinValueSet(ConstHandle2Spin This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +SpinDocumentationHas(ConstHandle2ConstSpin This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +SpinDocumentationGetConst(ConstHandle2ConstSpin This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +SpinDocumentationGet(ConstHandle2Spin This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +SpinDocumentationSet(ConstHandle2Spin This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +SpinUncertaintyHas(ConstHandle2ConstSpin This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +SpinUncertaintyGetConst(ConstHandle2ConstSpin This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +SpinUncertaintyGet(ConstHandle2Spin This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +SpinUncertaintySet(ConstHandle2Spin This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + +// ----------------------------------------------------------------------------- +// Child: fraction +// ----------------------------------------------------------------------------- + +// Has +int +SpinFractionHas(ConstHandle2ConstSpin This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FractionHas", This, extract::fraction); +} + +// Clear +void +SpinFractionClear(ConstHandle2Spin This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"FractionClear", This, extract::fraction); +} + +// Size +size_t +SpinFractionSize(ConstHandle2ConstSpin This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"FractionSize", This, extract::fraction); +} + +// Add +void +SpinFractionAdd(ConstHandle2Spin This, ConstHandle2ConstFraction fraction) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"FractionAdd", This, extract::fraction, fraction); +} + +// Get, by index \in [0,size), const +Handle2ConstFraction +SpinFractionGetConst(ConstHandle2ConstSpin This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"FractionGetConst", This, extract::fraction, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Fraction +SpinFractionGet(ConstHandle2Spin This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"FractionGet", This, extract::fraction, index_); +} + +// Set, by index \in [0,size) +void +SpinFractionSet( + ConstHandle2Spin This, + const size_t index_, + ConstHandle2ConstFraction fraction +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"FractionSet", This, extract::fraction, index_, fraction); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h new file mode 100644 index 000000000..c74649288 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h @@ -0,0 +1,283 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Spin is the basic handle type in this file. Example: +// // Create a default Spin object: +// Spin handle = SpinDefault(); +// Functions involving Spin are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_SPIN +#define C_INTERFACE_TRY_V2_0_POPS_SPIN + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" +#include "v2.0/unknownNamespace/Fraction.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SpinClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Spin +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SpinClass *Spin; + +// --- Const-aware handles. +typedef const struct SpinClass *const ConstHandle2ConstSpin; +typedef struct SpinClass *const ConstHandle2Spin; +typedef const struct SpinClass * Handle2ConstSpin; +typedef struct SpinClass * Handle2Spin; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSpin +SpinDefaultConst(); + +// +++ Create, default +extern_c Handle2Spin +SpinDefault(); + +// --- Create, general, const +extern_c Handle2ConstSpin +SpinCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Fraction *const fraction, const size_t fractionSize +); + +// +++ Create, general +extern_c Handle2Spin +SpinCreate( + const XMLName label, + const XMLName unit, + const XMLName value, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty, + ConstHandle2Fraction *const fraction, const size_t fractionSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SpinAssign(ConstHandle2Spin This, ConstHandle2ConstSpin from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SpinDelete(ConstHandle2ConstSpin This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SpinRead(ConstHandle2Spin This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SpinWrite(ConstHandle2ConstSpin This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SpinPrint(ConstHandle2ConstSpin This); + +// +++ Print to standard output, as XML +extern_c int +SpinPrintXML(ConstHandle2ConstSpin This); + +// +++ Print to standard output, as JSON +extern_c int +SpinPrintJSON(ConstHandle2ConstSpin This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinLabelHas(ConstHandle2ConstSpin This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SpinLabelGet(ConstHandle2ConstSpin This); + +// +++ Set +extern_c void +SpinLabelSet(ConstHandle2Spin This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinUnitHas(ConstHandle2ConstSpin This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SpinUnitGet(ConstHandle2ConstSpin This); + +// +++ Set +extern_c void +SpinUnitSet(ConstHandle2Spin This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinValueHas(ConstHandle2ConstSpin This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SpinValueGet(ConstHandle2ConstSpin This); + +// +++ Set +extern_c void +SpinValueSet(ConstHandle2Spin This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinDocumentationHas(ConstHandle2ConstSpin This); + +// --- Get, const +extern_c Handle2ConstDocumentation +SpinDocumentationGetConst(ConstHandle2ConstSpin This); + +// +++ Get, non-const +extern_c Handle2Documentation +SpinDocumentationGet(ConstHandle2Spin This); + +// +++ Set +extern_c void +SpinDocumentationSet(ConstHandle2Spin This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinUncertaintyHas(ConstHandle2ConstSpin This); + +// --- Get, const +extern_c Handle2ConstUncertainty +SpinUncertaintyGetConst(ConstHandle2ConstSpin This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +SpinUncertaintyGet(ConstHandle2Spin This); + +// +++ Set +extern_c void +SpinUncertaintySet(ConstHandle2Spin This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Child: fraction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinFractionHas(ConstHandle2ConstSpin This); + +// +++ Clear +extern_c void +SpinFractionClear(ConstHandle2Spin This); + +// +++ Size +extern_c size_t +SpinFractionSize(ConstHandle2ConstSpin This); + +// +++ Add +extern_c void +SpinFractionAdd(ConstHandle2Spin This, ConstHandle2ConstFraction fraction); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstFraction +SpinFractionGetConst(ConstHandle2ConstSpin This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Fraction +SpinFractionGet(ConstHandle2Spin This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +SpinFractionSet( + ConstHandle2Spin This, + const size_t index_, + ConstHandle2ConstFraction fraction +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp new file mode 100644 index 000000000..93fdca36e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Standard.hpp" +#include "Standard.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = StandardClass; +using CPP = multigroup::Standard; + +static const std::string CLASSNAME = "Standard"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstStandard +StandardDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Standard +StandardDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstStandard +StandardCreateConst( + ConstHandle2ConstDouble Double +) { + ConstHandle2Standard handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2Standard +StandardCreate( + ConstHandle2ConstDouble Double +) { + ConstHandle2Standard handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +StandardAssign(ConstHandle2Standard This, ConstHandle2ConstStandard from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +StandardDelete(ConstHandle2ConstStandard This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +StandardRead(ConstHandle2Standard This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +StandardWrite(ConstHandle2ConstStandard This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +StandardPrint(ConstHandle2ConstStandard This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +StandardPrintXML(ConstHandle2ConstStandard This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +StandardPrintJSON(ConstHandle2ConstStandard This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +StandardDoubleHas(ConstHandle2ConstStandard This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +StandardDoubleGetConst(ConstHandle2ConstStandard This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +StandardDoubleGet(ConstHandle2Standard This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +StandardDoubleSet(ConstHandle2Standard This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h new file mode 100644 index 000000000..abd426fd3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Standard is the basic handle type in this file. Example: +// // Create a default Standard object: +// Standard handle = StandardDefault(); +// Functions involving Standard are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_STANDARD +#define C_INTERFACE_TRY_V2_0_POPS_STANDARD + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct StandardClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Standard +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct StandardClass *Standard; + +// --- Const-aware handles. +typedef const struct StandardClass *const ConstHandle2ConstStandard; +typedef struct StandardClass *const ConstHandle2Standard; +typedef const struct StandardClass * Handle2ConstStandard; +typedef struct StandardClass * Handle2Standard; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstStandard +StandardDefaultConst(); + +// +++ Create, default +extern_c Handle2Standard +StandardDefault(); + +// --- Create, general, const +extern_c Handle2ConstStandard +StandardCreateConst( + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2Standard +StandardCreate( + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +StandardAssign(ConstHandle2Standard This, ConstHandle2ConstStandard from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +StandardDelete(ConstHandle2ConstStandard This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +StandardRead(ConstHandle2Standard This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +StandardWrite(ConstHandle2ConstStandard This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +StandardPrint(ConstHandle2ConstStandard This); + +// +++ Print to standard output, as XML +extern_c int +StandardPrintXML(ConstHandle2ConstStandard This); + +// +++ Print to standard output, as JSON +extern_c int +StandardPrintJSON(ConstHandle2ConstStandard This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StandardDoubleHas(ConstHandle2ConstStandard This); + +// --- Get, const +extern_c Handle2ConstDouble +StandardDoubleGetConst(ConstHandle2ConstStandard This); + +// +++ Get, non-const +extern_c Handle2Double +StandardDoubleGet(ConstHandle2Standard This); + +// +++ Set +extern_c void +StandardDoubleSet(ConstHandle2Standard This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.cpp new file mode 100644 index 000000000..c66ed0bac --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.cpp @@ -0,0 +1,303 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Uncertainty.hpp" +#include "Uncertainty.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UncertaintyClass; +using CPP = multigroup::Uncertainty; + +static const std::string CLASSNAME = "Uncertainty"; + +namespace extract { + static auto standard = [](auto &obj) { return &obj.standard; }; + static auto logNormal = [](auto &obj) { return &obj.logNormal; }; + static auto confidenceIntervals = [](auto &obj) { return &obj.confidenceIntervals; }; + static auto pdf = [](auto &obj) { return &obj.pdf; }; +} + +using CPPStandard = pops::Standard; +using CPPLogNormal = pops::LogNormal; +using CPPConfidenceIntervals = pops::ConfidenceIntervals; +using CPPPdf = pops::Pdf; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUncertainty +UncertaintyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Uncertainty +UncertaintyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUncertainty +UncertaintyCreateConst( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstPdf pdf +) { + ConstHandle2Uncertainty handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(standard), + detail::tocpp(logNormal), + detail::tocpp(confidenceIntervals), + detail::tocpp(pdf) + ); + return handle; +} + +// Create, general +Handle2Uncertainty +UncertaintyCreate( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstPdf pdf +) { + ConstHandle2Uncertainty handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(standard), + detail::tocpp(logNormal), + detail::tocpp(confidenceIntervals), + detail::tocpp(pdf) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UncertaintyAssign(ConstHandle2Uncertainty This, ConstHandle2ConstUncertainty from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UncertaintyDelete(ConstHandle2ConstUncertainty This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UncertaintyRead(ConstHandle2Uncertainty This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UncertaintyWrite(ConstHandle2ConstUncertainty This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UncertaintyPrint(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UncertaintyPrintXML(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UncertaintyPrintJSON(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: standard +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyStandardHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StandardHas", This, extract::standard); +} + +// Get, const +Handle2ConstStandard +UncertaintyStandardGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StandardGetConst", This, extract::standard); +} + +// Get, non-const +Handle2Standard +UncertaintyStandardGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StandardGet", This, extract::standard); +} + +// Set +void +UncertaintyStandardSet(ConstHandle2Uncertainty This, ConstHandle2ConstStandard standard) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StandardSet", This, extract::standard, standard); +} + + +// ----------------------------------------------------------------------------- +// Child: logNormal +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyLogNormalHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LogNormalHas", This, extract::logNormal); +} + +// Get, const +Handle2ConstLogNormal +UncertaintyLogNormalGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LogNormalGetConst", This, extract::logNormal); +} + +// Get, non-const +Handle2LogNormal +UncertaintyLogNormalGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LogNormalGet", This, extract::logNormal); +} + +// Set +void +UncertaintyLogNormalSet(ConstHandle2Uncertainty This, ConstHandle2ConstLogNormal logNormal) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LogNormalSet", This, extract::logNormal, logNormal); +} + + +// ----------------------------------------------------------------------------- +// Child: confidenceIntervals +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyConfidenceIntervalsHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsHas", This, extract::confidenceIntervals); +} + +// Get, const +Handle2ConstConfidenceIntervals +UncertaintyConfidenceIntervalsGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsGetConst", This, extract::confidenceIntervals); +} + +// Get, non-const +Handle2ConfidenceIntervals +UncertaintyConfidenceIntervalsGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsGet", This, extract::confidenceIntervals); +} + +// Set +void +UncertaintyConfidenceIntervalsSet(ConstHandle2Uncertainty This, ConstHandle2ConstConfidenceIntervals confidenceIntervals) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsSet", This, extract::confidenceIntervals, confidenceIntervals); +} + + +// ----------------------------------------------------------------------------- +// Child: pdf +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyPdfHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PdfHas", This, extract::pdf); +} + +// Get, const +Handle2ConstPdf +UncertaintyPdfGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PdfGetConst", This, extract::pdf); +} + +// Get, non-const +Handle2Pdf +UncertaintyPdfGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PdfGet", This, extract::pdf); +} + +// Set +void +UncertaintyPdfSet(ConstHandle2Uncertainty This, ConstHandle2ConstPdf pdf) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PdfSet", This, extract::pdf, pdf); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.h new file mode 100644 index 000000000..b2a25412d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.h @@ -0,0 +1,231 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Uncertainty is the basic handle type in this file. Example: +// // Create a default Uncertainty object: +// Uncertainty handle = UncertaintyDefault(); +// Functions involving Uncertainty are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_UNCERTAINTY +#define C_INTERFACE_TRY_V2_0_POPS_UNCERTAINTY + +#include "GNDStk.h" +#include "v2.0/pops/Standard.h" +#include "v2.0/pops/LogNormal.h" +#include "v2.0/pops/ConfidenceIntervals.h" +#include "v2.0/pops/Pdf.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UncertaintyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Uncertainty +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UncertaintyClass *Uncertainty; + +// --- Const-aware handles. +typedef const struct UncertaintyClass *const ConstHandle2ConstUncertainty; +typedef struct UncertaintyClass *const ConstHandle2Uncertainty; +typedef const struct UncertaintyClass * Handle2ConstUncertainty; +typedef struct UncertaintyClass * Handle2Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUncertainty +UncertaintyDefaultConst(); + +// +++ Create, default +extern_c Handle2Uncertainty +UncertaintyDefault(); + +// --- Create, general, const +extern_c Handle2ConstUncertainty +UncertaintyCreateConst( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstPdf pdf +); + +// +++ Create, general +extern_c Handle2Uncertainty +UncertaintyCreate( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstPdf pdf +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UncertaintyAssign(ConstHandle2Uncertainty This, ConstHandle2ConstUncertainty from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UncertaintyDelete(ConstHandle2ConstUncertainty This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UncertaintyRead(ConstHandle2Uncertainty This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UncertaintyWrite(ConstHandle2ConstUncertainty This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UncertaintyPrint(ConstHandle2ConstUncertainty This); + +// +++ Print to standard output, as XML +extern_c int +UncertaintyPrintXML(ConstHandle2ConstUncertainty This); + +// +++ Print to standard output, as JSON +extern_c int +UncertaintyPrintJSON(ConstHandle2ConstUncertainty This); + + +// ----------------------------------------------------------------------------- +// Child: standard +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyStandardHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstStandard +UncertaintyStandardGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2Standard +UncertaintyStandardGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyStandardSet(ConstHandle2Uncertainty This, ConstHandle2ConstStandard standard); + + +// ----------------------------------------------------------------------------- +// Child: logNormal +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyLogNormalHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstLogNormal +UncertaintyLogNormalGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2LogNormal +UncertaintyLogNormalGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyLogNormalSet(ConstHandle2Uncertainty This, ConstHandle2ConstLogNormal logNormal); + + +// ----------------------------------------------------------------------------- +// Child: confidenceIntervals +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyConfidenceIntervalsHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstConfidenceIntervals +UncertaintyConfidenceIntervalsGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2ConfidenceIntervals +UncertaintyConfidenceIntervalsGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyConfidenceIntervalsSet(ConstHandle2Uncertainty This, ConstHandle2ConstConfidenceIntervals confidenceIntervals); + + +// ----------------------------------------------------------------------------- +// Child: pdf +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyPdfHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstPdf +UncertaintyPdfGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2Pdf +UncertaintyPdfGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyPdfSet(ConstHandle2Uncertainty This, ConstHandle2ConstPdf pdf); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.cpp new file mode 100644 index 000000000..b073f1731 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Unorthodox.hpp" +#include "Unorthodox.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UnorthodoxClass; +using CPP = multigroup::Unorthodox; + +static const std::string CLASSNAME = "Unorthodox"; + +namespace extract { + static auto id = [](auto &obj) { return &obj.id; }; + static auto charge = [](auto &obj) { return &obj.charge; }; + static auto mass = [](auto &obj) { return &obj.mass; }; +} + +using CPPCharge = pops::Charge; +using CPPMass = pops::Mass; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUnorthodox +UnorthodoxDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Unorthodox +UnorthodoxDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUnorthodox +UnorthodoxCreateConst( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstMass mass +) { + ConstHandle2Unorthodox handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + id, + detail::tocpp(charge), + detail::tocpp(mass) + ); + return handle; +} + +// Create, general +Handle2Unorthodox +UnorthodoxCreate( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstMass mass +) { + ConstHandle2Unorthodox handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + id, + detail::tocpp(charge), + detail::tocpp(mass) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UnorthodoxAssign(ConstHandle2Unorthodox This, ConstHandle2ConstUnorthodox from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UnorthodoxDelete(ConstHandle2ConstUnorthodox This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UnorthodoxRead(ConstHandle2Unorthodox This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UnorthodoxWrite(ConstHandle2ConstUnorthodox This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UnorthodoxPrint(ConstHandle2ConstUnorthodox This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UnorthodoxPrintXML(ConstHandle2ConstUnorthodox This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UnorthodoxPrintJSON(ConstHandle2ConstUnorthodox This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// Has +int +UnorthodoxIdHas(ConstHandle2ConstUnorthodox This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IdHas", This, extract::id); +} + +// Get +// Returns by value +XMLName +UnorthodoxIdGet(ConstHandle2ConstUnorthodox This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IdGet", This, extract::id); +} + +// Set +void +UnorthodoxIdSet(ConstHandle2Unorthodox This, const XMLName id) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IdSet", This, extract::id, id); +} + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// Has +int +UnorthodoxChargeHas(ConstHandle2ConstUnorthodox This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChargeHas", This, extract::charge); +} + +// Get, const +Handle2ConstCharge +UnorthodoxChargeGetConst(ConstHandle2ConstUnorthodox This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGetConst", This, extract::charge); +} + +// Get, non-const +Handle2Charge +UnorthodoxChargeGet(ConstHandle2Unorthodox This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChargeGet", This, extract::charge); +} + +// Set +void +UnorthodoxChargeSet(ConstHandle2Unorthodox This, ConstHandle2ConstCharge charge) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChargeSet", This, extract::charge, charge); +} + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// Has +int +UnorthodoxMassHas(ConstHandle2ConstUnorthodox This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MassHas", This, extract::mass); +} + +// Get, const +Handle2ConstMass +UnorthodoxMassGetConst(ConstHandle2ConstUnorthodox This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGetConst", This, extract::mass); +} + +// Get, non-const +Handle2Mass +UnorthodoxMassGet(ConstHandle2Unorthodox This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGet", This, extract::mass); +} + +// Set +void +UnorthodoxMassSet(ConstHandle2Unorthodox This, ConstHandle2ConstMass mass) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MassSet", This, extract::mass, mass); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.h new file mode 100644 index 000000000..344d1d477 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Unorthodox is the basic handle type in this file. Example: +// // Create a default Unorthodox object: +// Unorthodox handle = UnorthodoxDefault(); +// Functions involving Unorthodox are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_UNORTHODOX +#define C_INTERFACE_TRY_V2_0_POPS_UNORTHODOX + +#include "GNDStk.h" +#include "v2.0/pops/Charge.h" +#include "v2.0/pops/Mass.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UnorthodoxClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Unorthodox +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UnorthodoxClass *Unorthodox; + +// --- Const-aware handles. +typedef const struct UnorthodoxClass *const ConstHandle2ConstUnorthodox; +typedef struct UnorthodoxClass *const ConstHandle2Unorthodox; +typedef const struct UnorthodoxClass * Handle2ConstUnorthodox; +typedef struct UnorthodoxClass * Handle2Unorthodox; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUnorthodox +UnorthodoxDefaultConst(); + +// +++ Create, default +extern_c Handle2Unorthodox +UnorthodoxDefault(); + +// --- Create, general, const +extern_c Handle2ConstUnorthodox +UnorthodoxCreateConst( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstMass mass +); + +// +++ Create, general +extern_c Handle2Unorthodox +UnorthodoxCreate( + const XMLName id, + ConstHandle2ConstCharge charge, + ConstHandle2ConstMass mass +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UnorthodoxAssign(ConstHandle2Unorthodox This, ConstHandle2ConstUnorthodox from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UnorthodoxDelete(ConstHandle2ConstUnorthodox This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UnorthodoxRead(ConstHandle2Unorthodox This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UnorthodoxWrite(ConstHandle2ConstUnorthodox This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UnorthodoxPrint(ConstHandle2ConstUnorthodox This); + +// +++ Print to standard output, as XML +extern_c int +UnorthodoxPrintXML(ConstHandle2ConstUnorthodox This); + +// +++ Print to standard output, as JSON +extern_c int +UnorthodoxPrintJSON(ConstHandle2ConstUnorthodox This); + + +// ----------------------------------------------------------------------------- +// Metadatum: id +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnorthodoxIdHas(ConstHandle2ConstUnorthodox This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +UnorthodoxIdGet(ConstHandle2ConstUnorthodox This); + +// +++ Set +extern_c void +UnorthodoxIdSet(ConstHandle2Unorthodox This, const XMLName id); + + +// ----------------------------------------------------------------------------- +// Child: charge +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnorthodoxChargeHas(ConstHandle2ConstUnorthodox This); + +// --- Get, const +extern_c Handle2ConstCharge +UnorthodoxChargeGetConst(ConstHandle2ConstUnorthodox This); + +// +++ Get, non-const +extern_c Handle2Charge +UnorthodoxChargeGet(ConstHandle2Unorthodox This); + +// +++ Set +extern_c void +UnorthodoxChargeSet(ConstHandle2Unorthodox This, ConstHandle2ConstCharge charge); + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnorthodoxMassHas(ConstHandle2ConstUnorthodox This); + +// --- Get, const +extern_c Handle2ConstMass +UnorthodoxMassGetConst(ConstHandle2ConstUnorthodox This); + +// +++ Get, non-const +extern_c Handle2Mass +UnorthodoxMassGet(ConstHandle2Unorthodox This); + +// +++ Set +extern_c void +UnorthodoxMassSet(ConstHandle2Unorthodox This, ConstHandle2ConstMass mass); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.cpp new file mode 100644 index 000000000..74be030a0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/pops/Unorthodoxes.hpp" +#include "Unorthodoxes.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UnorthodoxesClass; +using CPP = multigroup::Unorthodoxes; + +static const std::string CLASSNAME = "Unorthodoxes"; + +namespace extract { + static auto unorthodox = [](auto &obj) { return &obj.unorthodox; }; +} + +using CPPNuclide = pops::Nuclide; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUnorthodoxes +UnorthodoxesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Unorthodoxes +UnorthodoxesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUnorthodoxes +UnorthodoxesCreateConst( + ConstHandle2Nuclide *const unorthodox, const size_t unorthodoxSize +) { + ConstHandle2Unorthodoxes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t NuclideN = 0; NuclideN < unorthodoxSize; ++NuclideN) + UnorthodoxesNuclideAdd(handle, unorthodox[NuclideN]); + return handle; +} + +// Create, general +Handle2Unorthodoxes +UnorthodoxesCreate( + ConstHandle2Nuclide *const unorthodox, const size_t unorthodoxSize +) { + ConstHandle2Unorthodoxes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t NuclideN = 0; NuclideN < unorthodoxSize; ++NuclideN) + UnorthodoxesNuclideAdd(handle, unorthodox[NuclideN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UnorthodoxesAssign(ConstHandle2Unorthodoxes This, ConstHandle2ConstUnorthodoxes from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UnorthodoxesDelete(ConstHandle2ConstUnorthodoxes This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UnorthodoxesRead(ConstHandle2Unorthodoxes This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UnorthodoxesWrite(ConstHandle2ConstUnorthodoxes This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UnorthodoxesPrint(ConstHandle2ConstUnorthodoxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UnorthodoxesPrintXML(ConstHandle2ConstUnorthodoxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UnorthodoxesPrintJSON(ConstHandle2ConstUnorthodoxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: unorthodox +// ----------------------------------------------------------------------------- + +// Has +int +UnorthodoxesNuclideHas(ConstHandle2ConstUnorthodoxes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NuclideHas", This, extract::unorthodox); +} + +// Clear +void +UnorthodoxesNuclideClear(ConstHandle2Unorthodoxes This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"NuclideClear", This, extract::unorthodox); +} + +// Size +size_t +UnorthodoxesNuclideSize(ConstHandle2ConstUnorthodoxes This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"NuclideSize", This, extract::unorthodox); +} + +// Add +void +UnorthodoxesNuclideAdd(ConstHandle2Unorthodoxes This, ConstHandle2ConstNuclide unorthodox) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"NuclideAdd", This, extract::unorthodox, unorthodox); +} + +// Get, by index \in [0,size), const +Handle2ConstNuclide +UnorthodoxesNuclideGetConst(ConstHandle2ConstUnorthodoxes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"NuclideGetConst", This, extract::unorthodox, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Nuclide +UnorthodoxesNuclideGet(ConstHandle2Unorthodoxes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"NuclideGet", This, extract::unorthodox, index_); +} + +// Set, by index \in [0,size) +void +UnorthodoxesNuclideSet( + ConstHandle2Unorthodoxes This, + const size_t index_, + ConstHandle2ConstNuclide unorthodox +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"NuclideSet", This, extract::unorthodox, index_, unorthodox); +} + +// Has, by id +int +UnorthodoxesNuclideHasById( + ConstHandle2ConstUnorthodoxes This, + const XMLName id +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"NuclideHasById", + This, extract::unorthodox, meta::id, id); +} + +// Get, by id, const +Handle2ConstNuclide +UnorthodoxesNuclideGetByIdConst( + ConstHandle2ConstUnorthodoxes This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"NuclideGetByIdConst", + This, extract::unorthodox, meta::id, id); +} + +// Get, by id, non-const +Handle2Nuclide +UnorthodoxesNuclideGetById( + ConstHandle2Unorthodoxes This, + const XMLName id +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"NuclideGetById", + This, extract::unorthodox, meta::id, id); +} + +// Set, by id +void +UnorthodoxesNuclideSetById( + ConstHandle2Unorthodoxes This, + const XMLName id, + ConstHandle2ConstNuclide unorthodox +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"NuclideSetById", + This, extract::unorthodox, meta::id, id, unorthodox); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.h new file mode 100644 index 000000000..7bf00260e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Unorthodoxes is the basic handle type in this file. Example: +// // Create a default Unorthodoxes object: +// Unorthodoxes handle = UnorthodoxesDefault(); +// Functions involving Unorthodoxes are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_POPS_UNORTHODOXES +#define C_INTERFACE_TRY_V2_0_POPS_UNORTHODOXES + +#include "GNDStk.h" +#include "v2.0/pops/Nuclide.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UnorthodoxesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Unorthodoxes +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UnorthodoxesClass *Unorthodoxes; + +// --- Const-aware handles. +typedef const struct UnorthodoxesClass *const ConstHandle2ConstUnorthodoxes; +typedef struct UnorthodoxesClass *const ConstHandle2Unorthodoxes; +typedef const struct UnorthodoxesClass * Handle2ConstUnorthodoxes; +typedef struct UnorthodoxesClass * Handle2Unorthodoxes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUnorthodoxes +UnorthodoxesDefaultConst(); + +// +++ Create, default +extern_c Handle2Unorthodoxes +UnorthodoxesDefault(); + +// --- Create, general, const +extern_c Handle2ConstUnorthodoxes +UnorthodoxesCreateConst( + ConstHandle2Nuclide *const unorthodox, const size_t unorthodoxSize +); + +// +++ Create, general +extern_c Handle2Unorthodoxes +UnorthodoxesCreate( + ConstHandle2Nuclide *const unorthodox, const size_t unorthodoxSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UnorthodoxesAssign(ConstHandle2Unorthodoxes This, ConstHandle2ConstUnorthodoxes from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UnorthodoxesDelete(ConstHandle2ConstUnorthodoxes This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UnorthodoxesRead(ConstHandle2Unorthodoxes This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UnorthodoxesWrite(ConstHandle2ConstUnorthodoxes This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UnorthodoxesPrint(ConstHandle2ConstUnorthodoxes This); + +// +++ Print to standard output, as XML +extern_c int +UnorthodoxesPrintXML(ConstHandle2ConstUnorthodoxes This); + +// +++ Print to standard output, as JSON +extern_c int +UnorthodoxesPrintJSON(ConstHandle2ConstUnorthodoxes This); + + +// ----------------------------------------------------------------------------- +// Child: unorthodox +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnorthodoxesNuclideHas(ConstHandle2ConstUnorthodoxes This); + +// +++ Clear +extern_c void +UnorthodoxesNuclideClear(ConstHandle2Unorthodoxes This); + +// +++ Size +extern_c size_t +UnorthodoxesNuclideSize(ConstHandle2ConstUnorthodoxes This); + +// +++ Add +extern_c void +UnorthodoxesNuclideAdd(ConstHandle2Unorthodoxes This, ConstHandle2ConstNuclide unorthodox); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstNuclide +UnorthodoxesNuclideGetConst(ConstHandle2ConstUnorthodoxes This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Nuclide +UnorthodoxesNuclideGet(ConstHandle2Unorthodoxes This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +UnorthodoxesNuclideSet( + ConstHandle2Unorthodoxes This, + const size_t index_, + ConstHandle2ConstNuclide unorthodox +); + +// +++ Has, by id +extern_c int +UnorthodoxesNuclideHasById( + ConstHandle2ConstUnorthodoxes This, + const XMLName id +); + +// --- Get, by id, const +extern_c Handle2ConstNuclide +UnorthodoxesNuclideGetByIdConst( + ConstHandle2ConstUnorthodoxes This, + const XMLName id +); + +// +++ Get, by id, non-const +extern_c Handle2Nuclide +UnorthodoxesNuclideGetById( + ConstHandle2Unorthodoxes This, + const XMLName id +); + +// +++ Set, by id +extern_c void +UnorthodoxesNuclideSetById( + ConstHandle2Unorthodoxes This, + const XMLName id, + ConstHandle2ConstNuclide unorthodox +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp new file mode 100644 index 000000000..1ac99153e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/processed/AngularEnergyMC.hpp" +#include "AngularEnergyMC.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AngularEnergyMCClass; +using CPP = multigroup::AngularEnergyMC; + +static const std::string CLASSNAME = "AngularEnergyMC"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto angular = [](auto &obj) { return &obj.angular; }; + static auto angularEnergy = [](auto &obj) { return &obj.angularEnergy; }; +} + +using CPPAngular = unknownNamespace::Angular; +using CPPAngularEnergy = transport::AngularEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAngularEnergyMC +AngularEnergyMCDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AngularEnergyMC +AngularEnergyMCDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAngularEnergyMC +AngularEnergyMCCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstAngular angular, + ConstHandle2ConstAngularEnergy angularEnergy +) { + ConstHandle2AngularEnergyMC handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(angular), + detail::tocpp(angularEnergy) + ); + return handle; +} + +// Create, general +Handle2AngularEnergyMC +AngularEnergyMCCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstAngular angular, + ConstHandle2ConstAngularEnergy angularEnergy +) { + ConstHandle2AngularEnergyMC handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(angular), + detail::tocpp(angularEnergy) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AngularEnergyMCAssign(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngularEnergyMC from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AngularEnergyMCDelete(ConstHandle2ConstAngularEnergyMC This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AngularEnergyMCRead(ConstHandle2AngularEnergyMC This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AngularEnergyMCWrite(ConstHandle2ConstAngularEnergyMC This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AngularEnergyMCPrint(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AngularEnergyMCPrintXML(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AngularEnergyMCPrintJSON(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AngularEnergyMCLabelHas(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AngularEnergyMCLabelGet(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AngularEnergyMCLabelSet(ConstHandle2AngularEnergyMC This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +AngularEnergyMCProductFrameHas(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +AngularEnergyMCProductFrameGet(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +AngularEnergyMCProductFrameSet(ConstHandle2AngularEnergyMC This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: angular +// ----------------------------------------------------------------------------- + +// Has +int +AngularEnergyMCAngularHas(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AngularHas", This, extract::angular); +} + +// Get, const +Handle2ConstAngular +AngularEnergyMCAngularGetConst(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AngularGetConst", This, extract::angular); +} + +// Get, non-const +Handle2Angular +AngularEnergyMCAngularGet(ConstHandle2AngularEnergyMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AngularGet", This, extract::angular); +} + +// Set +void +AngularEnergyMCAngularSet(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngular angular) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AngularSet", This, extract::angular, angular); +} + + +// ----------------------------------------------------------------------------- +// Child: angularEnergy +// ----------------------------------------------------------------------------- + +// Has +int +AngularEnergyMCAngularEnergyHas(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AngularEnergyHas", This, extract::angularEnergy); +} + +// Get, const +Handle2ConstAngularEnergy +AngularEnergyMCAngularEnergyGetConst(ConstHandle2ConstAngularEnergyMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AngularEnergyGetConst", This, extract::angularEnergy); +} + +// Get, non-const +Handle2AngularEnergy +AngularEnergyMCAngularEnergyGet(ConstHandle2AngularEnergyMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AngularEnergyGet", This, extract::angularEnergy); +} + +// Set +void +AngularEnergyMCAngularEnergySet(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngularEnergy angularEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AngularEnergySet", This, extract::angularEnergy, angularEnergy); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h new file mode 100644 index 000000000..7ce511c9d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AngularEnergyMC is the basic handle type in this file. Example: +// // Create a default AngularEnergyMC object: +// AngularEnergyMC handle = AngularEnergyMCDefault(); +// Functions involving AngularEnergyMC are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_ANGULARENERGYMC +#define C_INTERFACE_TRY_V2_0_PROCESSED_ANGULARENERGYMC + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Angular.h" +#include "v2.0/transport/AngularEnergy.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AngularEnergyMCClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AngularEnergyMC +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AngularEnergyMCClass *AngularEnergyMC; + +// --- Const-aware handles. +typedef const struct AngularEnergyMCClass *const ConstHandle2ConstAngularEnergyMC; +typedef struct AngularEnergyMCClass *const ConstHandle2AngularEnergyMC; +typedef const struct AngularEnergyMCClass * Handle2ConstAngularEnergyMC; +typedef struct AngularEnergyMCClass * Handle2AngularEnergyMC; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAngularEnergyMC +AngularEnergyMCDefaultConst(); + +// +++ Create, default +extern_c Handle2AngularEnergyMC +AngularEnergyMCDefault(); + +// --- Create, general, const +extern_c Handle2ConstAngularEnergyMC +AngularEnergyMCCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstAngular angular, + ConstHandle2ConstAngularEnergy angularEnergy +); + +// +++ Create, general +extern_c Handle2AngularEnergyMC +AngularEnergyMCCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstAngular angular, + ConstHandle2ConstAngularEnergy angularEnergy +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AngularEnergyMCAssign(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngularEnergyMC from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AngularEnergyMCDelete(ConstHandle2ConstAngularEnergyMC This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AngularEnergyMCRead(ConstHandle2AngularEnergyMC This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AngularEnergyMCWrite(ConstHandle2ConstAngularEnergyMC This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AngularEnergyMCPrint(ConstHandle2ConstAngularEnergyMC This); + +// +++ Print to standard output, as XML +extern_c int +AngularEnergyMCPrintXML(ConstHandle2ConstAngularEnergyMC This); + +// +++ Print to standard output, as JSON +extern_c int +AngularEnergyMCPrintJSON(ConstHandle2ConstAngularEnergyMC This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularEnergyMCLabelHas(ConstHandle2ConstAngularEnergyMC This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AngularEnergyMCLabelGet(ConstHandle2ConstAngularEnergyMC This); + +// +++ Set +extern_c void +AngularEnergyMCLabelSet(ConstHandle2AngularEnergyMC This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularEnergyMCProductFrameHas(ConstHandle2ConstAngularEnergyMC This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AngularEnergyMCProductFrameGet(ConstHandle2ConstAngularEnergyMC This); + +// +++ Set +extern_c void +AngularEnergyMCProductFrameSet(ConstHandle2AngularEnergyMC This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: angular +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularEnergyMCAngularHas(ConstHandle2ConstAngularEnergyMC This); + +// --- Get, const +extern_c Handle2ConstAngular +AngularEnergyMCAngularGetConst(ConstHandle2ConstAngularEnergyMC This); + +// +++ Get, non-const +extern_c Handle2Angular +AngularEnergyMCAngularGet(ConstHandle2AngularEnergyMC This); + +// +++ Set +extern_c void +AngularEnergyMCAngularSet(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngular angular); + + +// ----------------------------------------------------------------------------- +// Child: angularEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularEnergyMCAngularEnergyHas(ConstHandle2ConstAngularEnergyMC This); + +// --- Get, const +extern_c Handle2ConstAngularEnergy +AngularEnergyMCAngularEnergyGetConst(ConstHandle2ConstAngularEnergyMC This); + +// +++ Get, non-const +extern_c Handle2AngularEnergy +AngularEnergyMCAngularEnergyGet(ConstHandle2AngularEnergyMC This); + +// +++ Set +extern_c void +AngularEnergyMCAngularEnergySet(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngularEnergy angularEnergy); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp new file mode 100644 index 000000000..5a385a994 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/processed/AvailableEnergy.hpp" +#include "AvailableEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AvailableEnergyClass; +using CPP = multigroup::AvailableEnergy; + +static const std::string CLASSNAME = "AvailableEnergy"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto gridded1d = [](auto &obj) { return &obj.gridded1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPGridded1d = unknownNamespace::Gridded1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAvailableEnergy +AvailableEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AvailableEnergy +AvailableEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAvailableEnergy +AvailableEnergyCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d +) { + ConstHandle2AvailableEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(gridded1d) + ); + return handle; +} + +// Create, general +Handle2AvailableEnergy +AvailableEnergyCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d +) { + ConstHandle2AvailableEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(gridded1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AvailableEnergyAssign(ConstHandle2AvailableEnergy This, ConstHandle2ConstAvailableEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AvailableEnergyDelete(ConstHandle2ConstAvailableEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AvailableEnergyRead(ConstHandle2AvailableEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AvailableEnergyWrite(ConstHandle2ConstAvailableEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AvailableEnergyPrint(ConstHandle2ConstAvailableEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AvailableEnergyPrintXML(ConstHandle2ConstAvailableEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AvailableEnergyPrintJSON(ConstHandle2ConstAvailableEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +AvailableEnergyXYs1dHas(ConstHandle2ConstAvailableEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +AvailableEnergyXYs1dGetConst(ConstHandle2ConstAvailableEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +AvailableEnergyXYs1dGet(ConstHandle2AvailableEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +AvailableEnergyXYs1dSet(ConstHandle2AvailableEnergy This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// Has +int +AvailableEnergyGridded1dHas(ConstHandle2ConstAvailableEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded1dHas", This, extract::gridded1d); +} + +// Get, const +Handle2ConstGridded1d +AvailableEnergyGridded1dGetConst(ConstHandle2ConstAvailableEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGetConst", This, extract::gridded1d); +} + +// Get, non-const +Handle2Gridded1d +AvailableEnergyGridded1dGet(ConstHandle2AvailableEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGet", This, extract::gridded1d); +} + +// Set +void +AvailableEnergyGridded1dSet(ConstHandle2AvailableEnergy This, ConstHandle2ConstGridded1d gridded1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded1dSet", This, extract::gridded1d, gridded1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h new file mode 100644 index 000000000..c5e2d3285 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AvailableEnergy is the basic handle type in this file. Example: +// // Create a default AvailableEnergy object: +// AvailableEnergy handle = AvailableEnergyDefault(); +// Functions involving AvailableEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEENERGY +#define C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Gridded1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AvailableEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AvailableEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AvailableEnergyClass *AvailableEnergy; + +// --- Const-aware handles. +typedef const struct AvailableEnergyClass *const ConstHandle2ConstAvailableEnergy; +typedef struct AvailableEnergyClass *const ConstHandle2AvailableEnergy; +typedef const struct AvailableEnergyClass * Handle2ConstAvailableEnergy; +typedef struct AvailableEnergyClass * Handle2AvailableEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAvailableEnergy +AvailableEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2AvailableEnergy +AvailableEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstAvailableEnergy +AvailableEnergyCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d +); + +// +++ Create, general +extern_c Handle2AvailableEnergy +AvailableEnergyCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AvailableEnergyAssign(ConstHandle2AvailableEnergy This, ConstHandle2ConstAvailableEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AvailableEnergyDelete(ConstHandle2ConstAvailableEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AvailableEnergyRead(ConstHandle2AvailableEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AvailableEnergyWrite(ConstHandle2ConstAvailableEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AvailableEnergyPrint(ConstHandle2ConstAvailableEnergy This); + +// +++ Print to standard output, as XML +extern_c int +AvailableEnergyPrintXML(ConstHandle2ConstAvailableEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +AvailableEnergyPrintJSON(ConstHandle2ConstAvailableEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AvailableEnergyXYs1dHas(ConstHandle2ConstAvailableEnergy This); + +// --- Get, const +extern_c Handle2ConstXYs1d +AvailableEnergyXYs1dGetConst(ConstHandle2ConstAvailableEnergy This); + +// +++ Get, non-const +extern_c Handle2XYs1d +AvailableEnergyXYs1dGet(ConstHandle2AvailableEnergy This); + +// +++ Set +extern_c void +AvailableEnergyXYs1dSet(ConstHandle2AvailableEnergy This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AvailableEnergyGridded1dHas(ConstHandle2ConstAvailableEnergy This); + +// --- Get, const +extern_c Handle2ConstGridded1d +AvailableEnergyGridded1dGetConst(ConstHandle2ConstAvailableEnergy This); + +// +++ Get, non-const +extern_c Handle2Gridded1d +AvailableEnergyGridded1dGet(ConstHandle2AvailableEnergy This); + +// +++ Set +extern_c void +AvailableEnergyGridded1dSet(ConstHandle2AvailableEnergy This, ConstHandle2ConstGridded1d gridded1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp new file mode 100644 index 000000000..6d8f498b9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/processed/AvailableMomentum.hpp" +#include "AvailableMomentum.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AvailableMomentumClass; +using CPP = multigroup::AvailableMomentum; + +static const std::string CLASSNAME = "AvailableMomentum"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto gridded1d = [](auto &obj) { return &obj.gridded1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPGridded1d = unknownNamespace::Gridded1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAvailableMomentum +AvailableMomentumDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AvailableMomentum +AvailableMomentumDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAvailableMomentum +AvailableMomentumCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d +) { + ConstHandle2AvailableMomentum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(gridded1d) + ); + return handle; +} + +// Create, general +Handle2AvailableMomentum +AvailableMomentumCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d +) { + ConstHandle2AvailableMomentum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(gridded1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AvailableMomentumAssign(ConstHandle2AvailableMomentum This, ConstHandle2ConstAvailableMomentum from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AvailableMomentumDelete(ConstHandle2ConstAvailableMomentum This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AvailableMomentumRead(ConstHandle2AvailableMomentum This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AvailableMomentumWrite(ConstHandle2ConstAvailableMomentum This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AvailableMomentumPrint(ConstHandle2ConstAvailableMomentum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AvailableMomentumPrintXML(ConstHandle2ConstAvailableMomentum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AvailableMomentumPrintJSON(ConstHandle2ConstAvailableMomentum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +AvailableMomentumXYs1dHas(ConstHandle2ConstAvailableMomentum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +AvailableMomentumXYs1dGetConst(ConstHandle2ConstAvailableMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +AvailableMomentumXYs1dGet(ConstHandle2AvailableMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +AvailableMomentumXYs1dSet(ConstHandle2AvailableMomentum This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// Has +int +AvailableMomentumGridded1dHas(ConstHandle2ConstAvailableMomentum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded1dHas", This, extract::gridded1d); +} + +// Get, const +Handle2ConstGridded1d +AvailableMomentumGridded1dGetConst(ConstHandle2ConstAvailableMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGetConst", This, extract::gridded1d); +} + +// Get, non-const +Handle2Gridded1d +AvailableMomentumGridded1dGet(ConstHandle2AvailableMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGet", This, extract::gridded1d); +} + +// Set +void +AvailableMomentumGridded1dSet(ConstHandle2AvailableMomentum This, ConstHandle2ConstGridded1d gridded1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded1dSet", This, extract::gridded1d, gridded1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h new file mode 100644 index 000000000..89fb8072f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AvailableMomentum is the basic handle type in this file. Example: +// // Create a default AvailableMomentum object: +// AvailableMomentum handle = AvailableMomentumDefault(); +// Functions involving AvailableMomentum are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM +#define C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Gridded1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AvailableMomentumClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AvailableMomentum +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AvailableMomentumClass *AvailableMomentum; + +// --- Const-aware handles. +typedef const struct AvailableMomentumClass *const ConstHandle2ConstAvailableMomentum; +typedef struct AvailableMomentumClass *const ConstHandle2AvailableMomentum; +typedef const struct AvailableMomentumClass * Handle2ConstAvailableMomentum; +typedef struct AvailableMomentumClass * Handle2AvailableMomentum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAvailableMomentum +AvailableMomentumDefaultConst(); + +// +++ Create, default +extern_c Handle2AvailableMomentum +AvailableMomentumDefault(); + +// --- Create, general, const +extern_c Handle2ConstAvailableMomentum +AvailableMomentumCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d +); + +// +++ Create, general +extern_c Handle2AvailableMomentum +AvailableMomentumCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AvailableMomentumAssign(ConstHandle2AvailableMomentum This, ConstHandle2ConstAvailableMomentum from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AvailableMomentumDelete(ConstHandle2ConstAvailableMomentum This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AvailableMomentumRead(ConstHandle2AvailableMomentum This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AvailableMomentumWrite(ConstHandle2ConstAvailableMomentum This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AvailableMomentumPrint(ConstHandle2ConstAvailableMomentum This); + +// +++ Print to standard output, as XML +extern_c int +AvailableMomentumPrintXML(ConstHandle2ConstAvailableMomentum This); + +// +++ Print to standard output, as JSON +extern_c int +AvailableMomentumPrintJSON(ConstHandle2ConstAvailableMomentum This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AvailableMomentumXYs1dHas(ConstHandle2ConstAvailableMomentum This); + +// --- Get, const +extern_c Handle2ConstXYs1d +AvailableMomentumXYs1dGetConst(ConstHandle2ConstAvailableMomentum This); + +// +++ Get, non-const +extern_c Handle2XYs1d +AvailableMomentumXYs1dGet(ConstHandle2AvailableMomentum This); + +// +++ Set +extern_c void +AvailableMomentumXYs1dSet(ConstHandle2AvailableMomentum This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AvailableMomentumGridded1dHas(ConstHandle2ConstAvailableMomentum This); + +// --- Get, const +extern_c Handle2ConstGridded1d +AvailableMomentumGridded1dGetConst(ConstHandle2ConstAvailableMomentum This); + +// +++ Get, non-const +extern_c Handle2Gridded1d +AvailableMomentumGridded1dGet(ConstHandle2AvailableMomentum This); + +// +++ Set +extern_c void +AvailableMomentumGridded1dSet(ConstHandle2AvailableMomentum This, ConstHandle2ConstGridded1d gridded1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp new file mode 100644 index 000000000..461c86f66 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/processed/AverageProductEnergy.hpp" +#include "AverageProductEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AverageProductEnergyClass; +using CPP = multigroup::AverageProductEnergy; + +static const std::string CLASSNAME = "AverageProductEnergy"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto gridded1d = [](auto &obj) { return &obj.gridded1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPGridded1d = unknownNamespace::Gridded1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAverageProductEnergy +AverageProductEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AverageProductEnergy +AverageProductEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAverageProductEnergy +AverageProductEnergyCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2AverageProductEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(gridded1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2AverageProductEnergy +AverageProductEnergyCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2AverageProductEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(gridded1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AverageProductEnergyAssign(ConstHandle2AverageProductEnergy This, ConstHandle2ConstAverageProductEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AverageProductEnergyDelete(ConstHandle2ConstAverageProductEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AverageProductEnergyRead(ConstHandle2AverageProductEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AverageProductEnergyWrite(ConstHandle2ConstAverageProductEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AverageProductEnergyPrint(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AverageProductEnergyPrintXML(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AverageProductEnergyPrintJSON(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductEnergyXYs1dHas(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +AverageProductEnergyXYs1dGetConst(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +AverageProductEnergyXYs1dGet(ConstHandle2AverageProductEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +AverageProductEnergyXYs1dSet(ConstHandle2AverageProductEnergy This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductEnergyGridded1dHas(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded1dHas", This, extract::gridded1d); +} + +// Get, const +Handle2ConstGridded1d +AverageProductEnergyGridded1dGetConst(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGetConst", This, extract::gridded1d); +} + +// Get, non-const +Handle2Gridded1d +AverageProductEnergyGridded1dGet(ConstHandle2AverageProductEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGet", This, extract::gridded1d); +} + +// Set +void +AverageProductEnergyGridded1dSet(ConstHandle2AverageProductEnergy This, ConstHandle2ConstGridded1d gridded1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded1dSet", This, extract::gridded1d, gridded1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductEnergyRegions1dHas(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +AverageProductEnergyRegions1dGetConst(ConstHandle2ConstAverageProductEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +AverageProductEnergyRegions1dGet(ConstHandle2AverageProductEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +AverageProductEnergyRegions1dSet(ConstHandle2AverageProductEnergy This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h new file mode 100644 index 000000000..0f831e54f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AverageProductEnergy is the basic handle type in this file. Example: +// // Create a default AverageProductEnergy object: +// AverageProductEnergy handle = AverageProductEnergyDefault(); +// Functions involving AverageProductEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY +#define C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Gridded1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AverageProductEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AverageProductEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AverageProductEnergyClass *AverageProductEnergy; + +// --- Const-aware handles. +typedef const struct AverageProductEnergyClass *const ConstHandle2ConstAverageProductEnergy; +typedef struct AverageProductEnergyClass *const ConstHandle2AverageProductEnergy; +typedef const struct AverageProductEnergyClass * Handle2ConstAverageProductEnergy; +typedef struct AverageProductEnergyClass * Handle2AverageProductEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAverageProductEnergy +AverageProductEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2AverageProductEnergy +AverageProductEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstAverageProductEnergy +AverageProductEnergyCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2AverageProductEnergy +AverageProductEnergyCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AverageProductEnergyAssign(ConstHandle2AverageProductEnergy This, ConstHandle2ConstAverageProductEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AverageProductEnergyDelete(ConstHandle2ConstAverageProductEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AverageProductEnergyRead(ConstHandle2AverageProductEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AverageProductEnergyWrite(ConstHandle2ConstAverageProductEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AverageProductEnergyPrint(ConstHandle2ConstAverageProductEnergy This); + +// +++ Print to standard output, as XML +extern_c int +AverageProductEnergyPrintXML(ConstHandle2ConstAverageProductEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +AverageProductEnergyPrintJSON(ConstHandle2ConstAverageProductEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductEnergyXYs1dHas(ConstHandle2ConstAverageProductEnergy This); + +// --- Get, const +extern_c Handle2ConstXYs1d +AverageProductEnergyXYs1dGetConst(ConstHandle2ConstAverageProductEnergy This); + +// +++ Get, non-const +extern_c Handle2XYs1d +AverageProductEnergyXYs1dGet(ConstHandle2AverageProductEnergy This); + +// +++ Set +extern_c void +AverageProductEnergyXYs1dSet(ConstHandle2AverageProductEnergy This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductEnergyGridded1dHas(ConstHandle2ConstAverageProductEnergy This); + +// --- Get, const +extern_c Handle2ConstGridded1d +AverageProductEnergyGridded1dGetConst(ConstHandle2ConstAverageProductEnergy This); + +// +++ Get, non-const +extern_c Handle2Gridded1d +AverageProductEnergyGridded1dGet(ConstHandle2AverageProductEnergy This); + +// +++ Set +extern_c void +AverageProductEnergyGridded1dSet(ConstHandle2AverageProductEnergy This, ConstHandle2ConstGridded1d gridded1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductEnergyRegions1dHas(ConstHandle2ConstAverageProductEnergy This); + +// --- Get, const +extern_c Handle2ConstRegions1d +AverageProductEnergyRegions1dGetConst(ConstHandle2ConstAverageProductEnergy This); + +// +++ Get, non-const +extern_c Handle2Regions1d +AverageProductEnergyRegions1dGet(ConstHandle2AverageProductEnergy This); + +// +++ Set +extern_c void +AverageProductEnergyRegions1dSet(ConstHandle2AverageProductEnergy This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp new file mode 100644 index 000000000..1d54f5867 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/processed/AverageProductMomentum.hpp" +#include "AverageProductMomentum.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AverageProductMomentumClass; +using CPP = multigroup::AverageProductMomentum; + +static const std::string CLASSNAME = "AverageProductMomentum"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto gridded1d = [](auto &obj) { return &obj.gridded1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPGridded1d = unknownNamespace::Gridded1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAverageProductMomentum +AverageProductMomentumDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AverageProductMomentum +AverageProductMomentumDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAverageProductMomentum +AverageProductMomentumCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2AverageProductMomentum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(gridded1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2AverageProductMomentum +AverageProductMomentumCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2AverageProductMomentum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(gridded1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AverageProductMomentumAssign(ConstHandle2AverageProductMomentum This, ConstHandle2ConstAverageProductMomentum from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AverageProductMomentumDelete(ConstHandle2ConstAverageProductMomentum This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AverageProductMomentumRead(ConstHandle2AverageProductMomentum This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AverageProductMomentumWrite(ConstHandle2ConstAverageProductMomentum This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AverageProductMomentumPrint(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AverageProductMomentumPrintXML(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AverageProductMomentumPrintJSON(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductMomentumXYs1dHas(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +AverageProductMomentumXYs1dGetConst(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +AverageProductMomentumXYs1dGet(ConstHandle2AverageProductMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +AverageProductMomentumXYs1dSet(ConstHandle2AverageProductMomentum This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductMomentumGridded1dHas(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded1dHas", This, extract::gridded1d); +} + +// Get, const +Handle2ConstGridded1d +AverageProductMomentumGridded1dGetConst(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGetConst", This, extract::gridded1d); +} + +// Get, non-const +Handle2Gridded1d +AverageProductMomentumGridded1dGet(ConstHandle2AverageProductMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGet", This, extract::gridded1d); +} + +// Set +void +AverageProductMomentumGridded1dSet(ConstHandle2AverageProductMomentum This, ConstHandle2ConstGridded1d gridded1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded1dSet", This, extract::gridded1d, gridded1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductMomentumRegions1dHas(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +AverageProductMomentumRegions1dGetConst(ConstHandle2ConstAverageProductMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +AverageProductMomentumRegions1dGet(ConstHandle2AverageProductMomentum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +AverageProductMomentumRegions1dSet(ConstHandle2AverageProductMomentum This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h new file mode 100644 index 000000000..c9d09a2df --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AverageProductMomentum is the basic handle type in this file. Example: +// // Create a default AverageProductMomentum object: +// AverageProductMomentum handle = AverageProductMomentumDefault(); +// Functions involving AverageProductMomentum are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM +#define C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Gridded1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AverageProductMomentumClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AverageProductMomentum +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AverageProductMomentumClass *AverageProductMomentum; + +// --- Const-aware handles. +typedef const struct AverageProductMomentumClass *const ConstHandle2ConstAverageProductMomentum; +typedef struct AverageProductMomentumClass *const ConstHandle2AverageProductMomentum; +typedef const struct AverageProductMomentumClass * Handle2ConstAverageProductMomentum; +typedef struct AverageProductMomentumClass * Handle2AverageProductMomentum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAverageProductMomentum +AverageProductMomentumDefaultConst(); + +// +++ Create, default +extern_c Handle2AverageProductMomentum +AverageProductMomentumDefault(); + +// --- Create, general, const +extern_c Handle2ConstAverageProductMomentum +AverageProductMomentumCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2AverageProductMomentum +AverageProductMomentumCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstGridded1d gridded1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AverageProductMomentumAssign(ConstHandle2AverageProductMomentum This, ConstHandle2ConstAverageProductMomentum from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AverageProductMomentumDelete(ConstHandle2ConstAverageProductMomentum This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AverageProductMomentumRead(ConstHandle2AverageProductMomentum This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AverageProductMomentumWrite(ConstHandle2ConstAverageProductMomentum This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AverageProductMomentumPrint(ConstHandle2ConstAverageProductMomentum This); + +// +++ Print to standard output, as XML +extern_c int +AverageProductMomentumPrintXML(ConstHandle2ConstAverageProductMomentum This); + +// +++ Print to standard output, as JSON +extern_c int +AverageProductMomentumPrintJSON(ConstHandle2ConstAverageProductMomentum This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductMomentumXYs1dHas(ConstHandle2ConstAverageProductMomentum This); + +// --- Get, const +extern_c Handle2ConstXYs1d +AverageProductMomentumXYs1dGetConst(ConstHandle2ConstAverageProductMomentum This); + +// +++ Get, non-const +extern_c Handle2XYs1d +AverageProductMomentumXYs1dGet(ConstHandle2AverageProductMomentum This); + +// +++ Set +extern_c void +AverageProductMomentumXYs1dSet(ConstHandle2AverageProductMomentum This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductMomentumGridded1dHas(ConstHandle2ConstAverageProductMomentum This); + +// --- Get, const +extern_c Handle2ConstGridded1d +AverageProductMomentumGridded1dGetConst(ConstHandle2ConstAverageProductMomentum This); + +// +++ Get, non-const +extern_c Handle2Gridded1d +AverageProductMomentumGridded1dGet(ConstHandle2AverageProductMomentum This); + +// +++ Set +extern_c void +AverageProductMomentumGridded1dSet(ConstHandle2AverageProductMomentum This, ConstHandle2ConstGridded1d gridded1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductMomentumRegions1dHas(ConstHandle2ConstAverageProductMomentum This); + +// --- Get, const +extern_c Handle2ConstRegions1d +AverageProductMomentumRegions1dGetConst(ConstHandle2ConstAverageProductMomentum This); + +// +++ Get, non-const +extern_c Handle2Regions1d +AverageProductMomentumRegions1dGet(ConstHandle2AverageProductMomentum This); + +// +++ Set +extern_c void +AverageProductMomentumRegions1dSet(ConstHandle2AverageProductMomentum This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp new file mode 100644 index 000000000..0a70f0719 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/processed/EnergyAngularMC.hpp" +#include "EnergyAngularMC.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EnergyAngularMCClass; +using CPP = multigroup::EnergyAngularMC; + +static const std::string CLASSNAME = "EnergyAngularMC"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto energy = [](auto &obj) { return &obj.energy; }; + static auto energyAngular = [](auto &obj) { return &obj.energyAngular; }; +} + +using CPPEnergy = ambiguousNamespace::Energy; +using CPPEnergyAngular = transport::EnergyAngular; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEnergyAngularMC +EnergyAngularMCDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EnergyAngularMC +EnergyAngularMCDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEnergyAngularMC +EnergyAngularMCCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstEnergyAngular energyAngular +) { + ConstHandle2EnergyAngularMC handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(energy), + detail::tocpp(energyAngular) + ); + return handle; +} + +// Create, general +Handle2EnergyAngularMC +EnergyAngularMCCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstEnergyAngular energyAngular +) { + ConstHandle2EnergyAngularMC handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(energy), + detail::tocpp(energyAngular) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EnergyAngularMCAssign(ConstHandle2EnergyAngularMC This, ConstHandle2ConstEnergyAngularMC from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EnergyAngularMCDelete(ConstHandle2ConstEnergyAngularMC This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EnergyAngularMCRead(ConstHandle2EnergyAngularMC This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EnergyAngularMCWrite(ConstHandle2ConstEnergyAngularMC This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EnergyAngularMCPrint(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EnergyAngularMCPrintXML(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EnergyAngularMCPrintJSON(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EnergyAngularMCLabelHas(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +EnergyAngularMCLabelGet(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EnergyAngularMCLabelSet(ConstHandle2EnergyAngularMC This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +EnergyAngularMCProductFrameHas(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +EnergyAngularMCProductFrameGet(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +EnergyAngularMCProductFrameSet(ConstHandle2EnergyAngularMC This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// Has +int +EnergyAngularMCEnergyHas(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EnergyHas", This, extract::energy); +} + +// Get, const +Handle2ConstEnergy +EnergyAngularMCEnergyGetConst(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EnergyGetConst", This, extract::energy); +} + +// Get, non-const +Handle2Energy +EnergyAngularMCEnergyGet(ConstHandle2EnergyAngularMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EnergyGet", This, extract::energy); +} + +// Set +void +EnergyAngularMCEnergySet(ConstHandle2EnergyAngularMC This, ConstHandle2ConstEnergy energy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EnergySet", This, extract::energy, energy); +} + + +// ----------------------------------------------------------------------------- +// Child: energyAngular +// ----------------------------------------------------------------------------- + +// Has +int +EnergyAngularMCEnergyAngularHas(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EnergyAngularHas", This, extract::energyAngular); +} + +// Get, const +Handle2ConstEnergyAngular +EnergyAngularMCEnergyAngularGetConst(ConstHandle2ConstEnergyAngularMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EnergyAngularGetConst", This, extract::energyAngular); +} + +// Get, non-const +Handle2EnergyAngular +EnergyAngularMCEnergyAngularGet(ConstHandle2EnergyAngularMC This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EnergyAngularGet", This, extract::energyAngular); +} + +// Set +void +EnergyAngularMCEnergyAngularSet(ConstHandle2EnergyAngularMC This, ConstHandle2ConstEnergyAngular energyAngular) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EnergyAngularSet", This, extract::energyAngular, energyAngular); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h b/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h new file mode 100644 index 000000000..dedc8f5ee --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EnergyAngularMC is the basic handle type in this file. Example: +// // Create a default EnergyAngularMC object: +// EnergyAngularMC handle = EnergyAngularMCDefault(); +// Functions involving EnergyAngularMC are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_ENERGYANGULARMC +#define C_INTERFACE_TRY_V2_0_PROCESSED_ENERGYANGULARMC + +#include "GNDStk.h" +#include "v2.0/ambiguousNamespace/Energy.h" +#include "v2.0/transport/EnergyAngular.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EnergyAngularMCClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EnergyAngularMC +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EnergyAngularMCClass *EnergyAngularMC; + +// --- Const-aware handles. +typedef const struct EnergyAngularMCClass *const ConstHandle2ConstEnergyAngularMC; +typedef struct EnergyAngularMCClass *const ConstHandle2EnergyAngularMC; +typedef const struct EnergyAngularMCClass * Handle2ConstEnergyAngularMC; +typedef struct EnergyAngularMCClass * Handle2EnergyAngularMC; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEnergyAngularMC +EnergyAngularMCDefaultConst(); + +// +++ Create, default +extern_c Handle2EnergyAngularMC +EnergyAngularMCDefault(); + +// --- Create, general, const +extern_c Handle2ConstEnergyAngularMC +EnergyAngularMCCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstEnergyAngular energyAngular +); + +// +++ Create, general +extern_c Handle2EnergyAngularMC +EnergyAngularMCCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstEnergy energy, + ConstHandle2ConstEnergyAngular energyAngular +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EnergyAngularMCAssign(ConstHandle2EnergyAngularMC This, ConstHandle2ConstEnergyAngularMC from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EnergyAngularMCDelete(ConstHandle2ConstEnergyAngularMC This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EnergyAngularMCRead(ConstHandle2EnergyAngularMC This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EnergyAngularMCWrite(ConstHandle2ConstEnergyAngularMC This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EnergyAngularMCPrint(ConstHandle2ConstEnergyAngularMC This); + +// +++ Print to standard output, as XML +extern_c int +EnergyAngularMCPrintXML(ConstHandle2ConstEnergyAngularMC This); + +// +++ Print to standard output, as JSON +extern_c int +EnergyAngularMCPrintJSON(ConstHandle2ConstEnergyAngularMC This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyAngularMCLabelHas(ConstHandle2ConstEnergyAngularMC This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyAngularMCLabelGet(ConstHandle2ConstEnergyAngularMC This); + +// +++ Set +extern_c void +EnergyAngularMCLabelSet(ConstHandle2EnergyAngularMC This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyAngularMCProductFrameHas(ConstHandle2ConstEnergyAngularMC This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyAngularMCProductFrameGet(ConstHandle2ConstEnergyAngularMC This); + +// +++ Set +extern_c void +EnergyAngularMCProductFrameSet(ConstHandle2EnergyAngularMC This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyAngularMCEnergyHas(ConstHandle2ConstEnergyAngularMC This); + +// --- Get, const +extern_c Handle2ConstEnergy +EnergyAngularMCEnergyGetConst(ConstHandle2ConstEnergyAngularMC This); + +// +++ Get, non-const +extern_c Handle2Energy +EnergyAngularMCEnergyGet(ConstHandle2EnergyAngularMC This); + +// +++ Set +extern_c void +EnergyAngularMCEnergySet(ConstHandle2EnergyAngularMC This, ConstHandle2ConstEnergy energy); + + +// ----------------------------------------------------------------------------- +// Child: energyAngular +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyAngularMCEnergyAngularHas(ConstHandle2ConstEnergyAngularMC This); + +// --- Get, const +extern_c Handle2ConstEnergyAngular +EnergyAngularMCEnergyAngularGetConst(ConstHandle2ConstEnergyAngularMC This); + +// +++ Get, non-const +extern_c Handle2EnergyAngular +EnergyAngularMCEnergyAngularGet(ConstHandle2EnergyAngularMC This); + +// +++ Set +extern_c void +EnergyAngularMCEnergyAngularSet(ConstHandle2EnergyAngularMC This, ConstHandle2ConstEnergyAngular energyAngular); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp new file mode 100644 index 000000000..57b1f3331 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp @@ -0,0 +1,244 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/processed/MultiGroup3d.hpp" +#include "MultiGroup3d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MultiGroup3dClass; +using CPP = multigroup::MultiGroup3d; + +static const std::string CLASSNAME = "MultiGroup3d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto gridded3d = [](auto &obj) { return &obj.gridded3d; }; +} + +using CPPGridded3d = unknownNamespace::Gridded3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMultiGroup3d +MultiGroup3dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MultiGroup3d +MultiGroup3dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMultiGroup3d +MultiGroup3dCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstGridded3d gridded3d +) { + ConstHandle2MultiGroup3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(gridded3d) + ); + return handle; +} + +// Create, general +Handle2MultiGroup3d +MultiGroup3dCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstGridded3d gridded3d +) { + ConstHandle2MultiGroup3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(gridded3d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MultiGroup3dAssign(ConstHandle2MultiGroup3d This, ConstHandle2ConstMultiGroup3d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MultiGroup3dDelete(ConstHandle2ConstMultiGroup3d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MultiGroup3dRead(ConstHandle2MultiGroup3d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MultiGroup3dWrite(ConstHandle2ConstMultiGroup3d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MultiGroup3dPrint(ConstHandle2ConstMultiGroup3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MultiGroup3dPrintXML(ConstHandle2ConstMultiGroup3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MultiGroup3dPrintJSON(ConstHandle2ConstMultiGroup3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MultiGroup3dLabelHas(ConstHandle2ConstMultiGroup3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MultiGroup3dLabelGet(ConstHandle2ConstMultiGroup3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MultiGroup3dLabelSet(ConstHandle2MultiGroup3d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +MultiGroup3dProductFrameHas(ConstHandle2ConstMultiGroup3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +MultiGroup3dProductFrameGet(ConstHandle2ConstMultiGroup3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +MultiGroup3dProductFrameSet(ConstHandle2MultiGroup3d This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded3d +// ----------------------------------------------------------------------------- + +// Has +int +MultiGroup3dGridded3dHas(ConstHandle2ConstMultiGroup3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded3dHas", This, extract::gridded3d); +} + +// Get, const +Handle2ConstGridded3d +MultiGroup3dGridded3dGetConst(ConstHandle2ConstMultiGroup3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded3dGetConst", This, extract::gridded3d); +} + +// Get, non-const +Handle2Gridded3d +MultiGroup3dGridded3dGet(ConstHandle2MultiGroup3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded3dGet", This, extract::gridded3d); +} + +// Set +void +MultiGroup3dGridded3dSet(ConstHandle2MultiGroup3d This, ConstHandle2ConstGridded3d gridded3d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded3dSet", This, extract::gridded3d, gridded3d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h b/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h new file mode 100644 index 000000000..5c93a4a47 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h @@ -0,0 +1,199 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MultiGroup3d is the basic handle type in this file. Example: +// // Create a default MultiGroup3d object: +// MultiGroup3d handle = MultiGroup3dDefault(); +// Functions involving MultiGroup3d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_MULTIGROUP3D +#define C_INTERFACE_TRY_V2_0_PROCESSED_MULTIGROUP3D + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Gridded3d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MultiGroup3dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MultiGroup3d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MultiGroup3dClass *MultiGroup3d; + +// --- Const-aware handles. +typedef const struct MultiGroup3dClass *const ConstHandle2ConstMultiGroup3d; +typedef struct MultiGroup3dClass *const ConstHandle2MultiGroup3d; +typedef const struct MultiGroup3dClass * Handle2ConstMultiGroup3d; +typedef struct MultiGroup3dClass * Handle2MultiGroup3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMultiGroup3d +MultiGroup3dDefaultConst(); + +// +++ Create, default +extern_c Handle2MultiGroup3d +MultiGroup3dDefault(); + +// --- Create, general, const +extern_c Handle2ConstMultiGroup3d +MultiGroup3dCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstGridded3d gridded3d +); + +// +++ Create, general +extern_c Handle2MultiGroup3d +MultiGroup3dCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstGridded3d gridded3d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MultiGroup3dAssign(ConstHandle2MultiGroup3d This, ConstHandle2ConstMultiGroup3d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MultiGroup3dDelete(ConstHandle2ConstMultiGroup3d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MultiGroup3dRead(ConstHandle2MultiGroup3d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MultiGroup3dWrite(ConstHandle2ConstMultiGroup3d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MultiGroup3dPrint(ConstHandle2ConstMultiGroup3d This); + +// +++ Print to standard output, as XML +extern_c int +MultiGroup3dPrintXML(ConstHandle2ConstMultiGroup3d This); + +// +++ Print to standard output, as JSON +extern_c int +MultiGroup3dPrintJSON(ConstHandle2ConstMultiGroup3d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiGroup3dLabelHas(ConstHandle2ConstMultiGroup3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MultiGroup3dLabelGet(ConstHandle2ConstMultiGroup3d This); + +// +++ Set +extern_c void +MultiGroup3dLabelSet(ConstHandle2MultiGroup3d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiGroup3dProductFrameHas(ConstHandle2ConstMultiGroup3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MultiGroup3dProductFrameGet(ConstHandle2ConstMultiGroup3d This); + +// +++ Set +extern_c void +MultiGroup3dProductFrameSet(ConstHandle2MultiGroup3d This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: gridded3d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiGroup3dGridded3dHas(ConstHandle2ConstMultiGroup3d This); + +// --- Get, const +extern_c Handle2ConstGridded3d +MultiGroup3dGridded3dGetConst(ConstHandle2ConstMultiGroup3d This); + +// +++ Get, non-const +extern_c Handle2Gridded3d +MultiGroup3dGridded3dGet(ConstHandle2MultiGroup3d This); + +// +++ Set +extern_c void +MultiGroup3dGridded3dSet(ConstHandle2MultiGroup3d This, ConstHandle2ConstGridded3d gridded3d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp new file mode 100644 index 000000000..4b93c43e4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp @@ -0,0 +1,443 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/BreitWigner.hpp" +#include "BreitWigner.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BreitWignerClass; +using CPP = multigroup::BreitWigner; + +static const std::string CLASSNAME = "BreitWigner"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto approximation = [](auto &obj) { return &obj.approximation; }; + static auto calculateChannelRadius = [](auto &obj) { return &obj.calculateChannelRadius; }; + static auto useForSelfShieldingOnly = [](auto &obj) { return &obj.useForSelfShieldingOnly; }; + static auto PoPs = [](auto &obj) { return &obj.PoPs; }; + static auto scatteringRadius = [](auto &obj) { return &obj.scatteringRadius; }; + static auto hardSphereRadius = [](auto &obj) { return &obj.hardSphereRadius; }; + static auto resonanceParameters = [](auto &obj) { return &obj.resonanceParameters; }; +} + +using CPPPoPs = unknownNamespace::PoPs; +using CPPScatteringRadius = resonances::ScatteringRadius; +using CPPHardSphereRadius = resonances::HardSphereRadius; +using CPPResonanceParameters = resonances::ResonanceParameters; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBreitWigner +BreitWignerDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2BreitWigner +BreitWignerDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBreitWigner +BreitWignerCreateConst( + const XMLName label, + const XMLName approximation, + const bool calculateChannelRadius, + const bool useForSelfShieldingOnly, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstResonanceParameters resonanceParameters +) { + ConstHandle2BreitWigner handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + approximation, + calculateChannelRadius, + useForSelfShieldingOnly, + detail::tocpp(PoPs), + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius), + detail::tocpp(resonanceParameters) + ); + return handle; +} + +// Create, general +Handle2BreitWigner +BreitWignerCreate( + const XMLName label, + const XMLName approximation, + const bool calculateChannelRadius, + const bool useForSelfShieldingOnly, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstResonanceParameters resonanceParameters +) { + ConstHandle2BreitWigner handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + approximation, + calculateChannelRadius, + useForSelfShieldingOnly, + detail::tocpp(PoPs), + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius), + detail::tocpp(resonanceParameters) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BreitWignerAssign(ConstHandle2BreitWigner This, ConstHandle2ConstBreitWigner from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BreitWignerDelete(ConstHandle2ConstBreitWigner This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BreitWignerRead(ConstHandle2BreitWigner This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BreitWignerWrite(ConstHandle2ConstBreitWigner This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BreitWignerPrint(ConstHandle2ConstBreitWigner This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BreitWignerPrintXML(ConstHandle2ConstBreitWigner This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BreitWignerPrintJSON(ConstHandle2ConstBreitWigner This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +BreitWignerLabelHas(ConstHandle2ConstBreitWigner This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +BreitWignerLabelGet(ConstHandle2ConstBreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +BreitWignerLabelSet(ConstHandle2BreitWigner This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: approximation +// ----------------------------------------------------------------------------- + +// Has +int +BreitWignerApproximationHas(ConstHandle2ConstBreitWigner This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ApproximationHas", This, extract::approximation); +} + +// Get +// Returns by value +XMLName +BreitWignerApproximationGet(ConstHandle2ConstBreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ApproximationGet", This, extract::approximation); +} + +// Set +void +BreitWignerApproximationSet(ConstHandle2BreitWigner This, const XMLName approximation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ApproximationSet", This, extract::approximation, approximation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: calculateChannelRadius +// ----------------------------------------------------------------------------- + +// Has +int +BreitWignerCalculateChannelRadiusHas(ConstHandle2ConstBreitWigner This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CalculateChannelRadiusHas", This, extract::calculateChannelRadius); +} + +// Get +// Returns by value +bool +BreitWignerCalculateChannelRadiusGet(ConstHandle2ConstBreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CalculateChannelRadiusGet", This, extract::calculateChannelRadius); +} + +// Set +void +BreitWignerCalculateChannelRadiusSet(ConstHandle2BreitWigner This, const bool calculateChannelRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CalculateChannelRadiusSet", This, extract::calculateChannelRadius, calculateChannelRadius); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: useForSelfShieldingOnly +// ----------------------------------------------------------------------------- + +// Has +int +BreitWignerUseForSelfShieldingOnlyHas(ConstHandle2ConstBreitWigner This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlyHas", This, extract::useForSelfShieldingOnly); +} + +// Get +// Returns by value +bool +BreitWignerUseForSelfShieldingOnlyGet(ConstHandle2ConstBreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlyGet", This, extract::useForSelfShieldingOnly); +} + +// Set +void +BreitWignerUseForSelfShieldingOnlySet(ConstHandle2BreitWigner This, const bool useForSelfShieldingOnly) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlySet", This, extract::useForSelfShieldingOnly, useForSelfShieldingOnly); +} + + +// ----------------------------------------------------------------------------- +// Child: PoPs +// ----------------------------------------------------------------------------- + +// Has +int +BreitWignerPoPsHas(ConstHandle2ConstBreitWigner This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PoPsHas", This, extract::PoPs); +} + +// Get, const +Handle2ConstPoPs +BreitWignerPoPsGetConst(ConstHandle2ConstBreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PoPsGetConst", This, extract::PoPs); +} + +// Get, non-const +Handle2PoPs +BreitWignerPoPsGet(ConstHandle2BreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PoPsGet", This, extract::PoPs); +} + +// Set +void +BreitWignerPoPsSet(ConstHandle2BreitWigner This, ConstHandle2ConstPoPs PoPs) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PoPsSet", This, extract::PoPs, PoPs); +} + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// Has +int +BreitWignerScatteringRadiusHas(ConstHandle2ConstBreitWigner This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ScatteringRadiusHas", This, extract::scatteringRadius); +} + +// Get, const +Handle2ConstScatteringRadius +BreitWignerScatteringRadiusGetConst(ConstHandle2ConstBreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGetConst", This, extract::scatteringRadius); +} + +// Get, non-const +Handle2ScatteringRadius +BreitWignerScatteringRadiusGet(ConstHandle2BreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGet", This, extract::scatteringRadius); +} + +// Set +void +BreitWignerScatteringRadiusSet(ConstHandle2BreitWigner This, ConstHandle2ConstScatteringRadius scatteringRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ScatteringRadiusSet", This, extract::scatteringRadius, scatteringRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// Has +int +BreitWignerHardSphereRadiusHas(ConstHandle2ConstBreitWigner This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HardSphereRadiusHas", This, extract::hardSphereRadius); +} + +// Get, const +Handle2ConstHardSphereRadius +BreitWignerHardSphereRadiusGetConst(ConstHandle2ConstBreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGetConst", This, extract::hardSphereRadius); +} + +// Get, non-const +Handle2HardSphereRadius +BreitWignerHardSphereRadiusGet(ConstHandle2BreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGet", This, extract::hardSphereRadius); +} + +// Set +void +BreitWignerHardSphereRadiusSet(ConstHandle2BreitWigner This, ConstHandle2ConstHardSphereRadius hardSphereRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HardSphereRadiusSet", This, extract::hardSphereRadius, hardSphereRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: resonanceParameters +// ----------------------------------------------------------------------------- + +// Has +int +BreitWignerResonanceParametersHas(ConstHandle2ConstBreitWigner This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonanceParametersHas", This, extract::resonanceParameters); +} + +// Get, const +Handle2ConstResonanceParameters +BreitWignerResonanceParametersGetConst(ConstHandle2ConstBreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceParametersGetConst", This, extract::resonanceParameters); +} + +// Get, non-const +Handle2ResonanceParameters +BreitWignerResonanceParametersGet(ConstHandle2BreitWigner This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceParametersGet", This, extract::resonanceParameters); +} + +// Set +void +BreitWignerResonanceParametersSet(ConstHandle2BreitWigner This, ConstHandle2ConstResonanceParameters resonanceParameters) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResonanceParametersSet", This, extract::resonanceParameters, resonanceParameters); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h new file mode 100644 index 000000000..27f37e40f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h @@ -0,0 +1,311 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// BreitWigner is the basic handle type in this file. Example: +// // Create a default BreitWigner object: +// BreitWigner handle = BreitWignerDefault(); +// Functions involving BreitWigner are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_BREITWIGNER +#define C_INTERFACE_TRY_V2_0_RESONANCES_BREITWIGNER + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/PoPs.h" +#include "v2.0/resonances/ScatteringRadius.h" +#include "v2.0/resonances/HardSphereRadius.h" +#include "v2.0/resonances/ResonanceParameters.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BreitWignerClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ BreitWigner +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BreitWignerClass *BreitWigner; + +// --- Const-aware handles. +typedef const struct BreitWignerClass *const ConstHandle2ConstBreitWigner; +typedef struct BreitWignerClass *const ConstHandle2BreitWigner; +typedef const struct BreitWignerClass * Handle2ConstBreitWigner; +typedef struct BreitWignerClass * Handle2BreitWigner; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBreitWigner +BreitWignerDefaultConst(); + +// +++ Create, default +extern_c Handle2BreitWigner +BreitWignerDefault(); + +// --- Create, general, const +extern_c Handle2ConstBreitWigner +BreitWignerCreateConst( + const XMLName label, + const XMLName approximation, + const bool calculateChannelRadius, + const bool useForSelfShieldingOnly, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstResonanceParameters resonanceParameters +); + +// +++ Create, general +extern_c Handle2BreitWigner +BreitWignerCreate( + const XMLName label, + const XMLName approximation, + const bool calculateChannelRadius, + const bool useForSelfShieldingOnly, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstResonanceParameters resonanceParameters +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BreitWignerAssign(ConstHandle2BreitWigner This, ConstHandle2ConstBreitWigner from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BreitWignerDelete(ConstHandle2ConstBreitWigner This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BreitWignerRead(ConstHandle2BreitWigner This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BreitWignerWrite(ConstHandle2ConstBreitWigner This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BreitWignerPrint(ConstHandle2ConstBreitWigner This); + +// +++ Print to standard output, as XML +extern_c int +BreitWignerPrintXML(ConstHandle2ConstBreitWigner This); + +// +++ Print to standard output, as JSON +extern_c int +BreitWignerPrintJSON(ConstHandle2ConstBreitWigner This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BreitWignerLabelHas(ConstHandle2ConstBreitWigner This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BreitWignerLabelGet(ConstHandle2ConstBreitWigner This); + +// +++ Set +extern_c void +BreitWignerLabelSet(ConstHandle2BreitWigner This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: approximation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BreitWignerApproximationHas(ConstHandle2ConstBreitWigner This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BreitWignerApproximationGet(ConstHandle2ConstBreitWigner This); + +// +++ Set +extern_c void +BreitWignerApproximationSet(ConstHandle2BreitWigner This, const XMLName approximation); + + +// ----------------------------------------------------------------------------- +// Metadatum: calculateChannelRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BreitWignerCalculateChannelRadiusHas(ConstHandle2ConstBreitWigner This); + +// +++ Get +// +++ Returns by value +extern_c bool +BreitWignerCalculateChannelRadiusGet(ConstHandle2ConstBreitWigner This); + +// +++ Set +extern_c void +BreitWignerCalculateChannelRadiusSet(ConstHandle2BreitWigner This, const bool calculateChannelRadius); + + +// ----------------------------------------------------------------------------- +// Metadatum: useForSelfShieldingOnly +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BreitWignerUseForSelfShieldingOnlyHas(ConstHandle2ConstBreitWigner This); + +// +++ Get +// +++ Returns by value +extern_c bool +BreitWignerUseForSelfShieldingOnlyGet(ConstHandle2ConstBreitWigner This); + +// +++ Set +extern_c void +BreitWignerUseForSelfShieldingOnlySet(ConstHandle2BreitWigner This, const bool useForSelfShieldingOnly); + + +// ----------------------------------------------------------------------------- +// Child: PoPs +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BreitWignerPoPsHas(ConstHandle2ConstBreitWigner This); + +// --- Get, const +extern_c Handle2ConstPoPs +BreitWignerPoPsGetConst(ConstHandle2ConstBreitWigner This); + +// +++ Get, non-const +extern_c Handle2PoPs +BreitWignerPoPsGet(ConstHandle2BreitWigner This); + +// +++ Set +extern_c void +BreitWignerPoPsSet(ConstHandle2BreitWigner This, ConstHandle2ConstPoPs PoPs); + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BreitWignerScatteringRadiusHas(ConstHandle2ConstBreitWigner This); + +// --- Get, const +extern_c Handle2ConstScatteringRadius +BreitWignerScatteringRadiusGetConst(ConstHandle2ConstBreitWigner This); + +// +++ Get, non-const +extern_c Handle2ScatteringRadius +BreitWignerScatteringRadiusGet(ConstHandle2BreitWigner This); + +// +++ Set +extern_c void +BreitWignerScatteringRadiusSet(ConstHandle2BreitWigner This, ConstHandle2ConstScatteringRadius scatteringRadius); + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BreitWignerHardSphereRadiusHas(ConstHandle2ConstBreitWigner This); + +// --- Get, const +extern_c Handle2ConstHardSphereRadius +BreitWignerHardSphereRadiusGetConst(ConstHandle2ConstBreitWigner This); + +// +++ Get, non-const +extern_c Handle2HardSphereRadius +BreitWignerHardSphereRadiusGet(ConstHandle2BreitWigner This); + +// +++ Set +extern_c void +BreitWignerHardSphereRadiusSet(ConstHandle2BreitWigner This, ConstHandle2ConstHardSphereRadius hardSphereRadius); + + +// ----------------------------------------------------------------------------- +// Child: resonanceParameters +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BreitWignerResonanceParametersHas(ConstHandle2ConstBreitWigner This); + +// --- Get, const +extern_c Handle2ConstResonanceParameters +BreitWignerResonanceParametersGetConst(ConstHandle2ConstBreitWigner This); + +// +++ Get, non-const +extern_c Handle2ResonanceParameters +BreitWignerResonanceParametersGet(ConstHandle2BreitWigner This); + +// +++ Set +extern_c void +BreitWignerResonanceParametersSet(ConstHandle2BreitWigner This, ConstHandle2ConstResonanceParameters resonanceParameters); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.cpp new file mode 100644 index 000000000..d4f799a15 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.cpp @@ -0,0 +1,470 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Channel.hpp" +#include "Channel.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ChannelClass; +using CPP = multigroup::Channel; + +static const std::string CLASSNAME = "Channel"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto resonanceReaction = [](auto &obj) { return &obj.resonanceReaction; }; + static auto L = [](auto &obj) { return &obj.L; }; + static auto channelSpin = [](auto &obj) { return &obj.channelSpin; }; + static auto boundaryConditionValue = [](auto &obj) { return &obj.boundaryConditionValue; }; + static auto columnIndex = [](auto &obj) { return &obj.columnIndex; }; + static auto externalRMatrix = [](auto &obj) { return &obj.externalRMatrix; }; + static auto scatteringRadius = [](auto &obj) { return &obj.scatteringRadius; }; + static auto hardSphereRadius = [](auto &obj) { return &obj.hardSphereRadius; }; +} + +using CPPExternalRMatrix = resonances::ExternalRMatrix; +using CPPScatteringRadius = resonances::ScatteringRadius; +using CPPHardSphereRadius = resonances::HardSphereRadius; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstChannel +ChannelDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Channel +ChannelDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstChannel +ChannelCreateConst( + const XMLName label, + const char *const resonanceReaction, + const Integer32 L, + const Fraction32 channelSpin, + const Float64 boundaryConditionValue, + const Integer32 columnIndex, + ConstHandle2ConstExternalRMatrix externalRMatrix, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius +) { + ConstHandle2Channel handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + resonanceReaction, + L, + channelSpin, + boundaryConditionValue, + columnIndex, + detail::tocpp(externalRMatrix), + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius) + ); + return handle; +} + +// Create, general +Handle2Channel +ChannelCreate( + const XMLName label, + const char *const resonanceReaction, + const Integer32 L, + const Fraction32 channelSpin, + const Float64 boundaryConditionValue, + const Integer32 columnIndex, + ConstHandle2ConstExternalRMatrix externalRMatrix, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius +) { + ConstHandle2Channel handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + resonanceReaction, + L, + channelSpin, + boundaryConditionValue, + columnIndex, + detail::tocpp(externalRMatrix), + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ChannelAssign(ConstHandle2Channel This, ConstHandle2ConstChannel from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ChannelDelete(ConstHandle2ConstChannel This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ChannelRead(ConstHandle2Channel This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ChannelWrite(ConstHandle2ConstChannel This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ChannelPrint(ConstHandle2ConstChannel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ChannelPrintXML(ConstHandle2ConstChannel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ChannelPrintJSON(ConstHandle2ConstChannel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ChannelLabelHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ChannelLabelGet(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ChannelLabelSet(ConstHandle2Channel This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: resonanceReaction +// ----------------------------------------------------------------------------- + +// Has +int +ChannelResonanceReactionHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonanceReactionHas", This, extract::resonanceReaction); +} + +// Get +// Returns by value +const char * +ChannelResonanceReactionGet(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceReactionGet", This, extract::resonanceReaction); +} + +// Set +void +ChannelResonanceReactionSet(ConstHandle2Channel This, const char *const resonanceReaction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResonanceReactionSet", This, extract::resonanceReaction, resonanceReaction); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: L +// ----------------------------------------------------------------------------- + +// Has +int +ChannelLHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LHas", This, extract::L); +} + +// Get +// Returns by value +Integer32 +ChannelLGet(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LGet", This, extract::L); +} + +// Set +void +ChannelLSet(ConstHandle2Channel This, const Integer32 L) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LSet", This, extract::L, L); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: channelSpin +// ----------------------------------------------------------------------------- + +// Has +int +ChannelChannelSpinHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChannelSpinHas", This, extract::channelSpin); +} + +// Get +// Returns by value +Fraction32 +ChannelChannelSpinGet(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChannelSpinGet", This, extract::channelSpin); +} + +// Set +void +ChannelChannelSpinSet(ConstHandle2Channel This, const Fraction32 channelSpin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChannelSpinSet", This, extract::channelSpin, channelSpin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: boundaryConditionValue +// ----------------------------------------------------------------------------- + +// Has +int +ChannelBoundaryConditionValueHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueHas", This, extract::boundaryConditionValue); +} + +// Get +// Returns by value +Float64 +ChannelBoundaryConditionValueGet(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueGet", This, extract::boundaryConditionValue); +} + +// Set +void +ChannelBoundaryConditionValueSet(ConstHandle2Channel This, const Float64 boundaryConditionValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueSet", This, extract::boundaryConditionValue, boundaryConditionValue); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: columnIndex +// ----------------------------------------------------------------------------- + +// Has +int +ChannelColumnIndexHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ColumnIndexHas", This, extract::columnIndex); +} + +// Get +// Returns by value +Integer32 +ChannelColumnIndexGet(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnIndexGet", This, extract::columnIndex); +} + +// Set +void +ChannelColumnIndexSet(ConstHandle2Channel This, const Integer32 columnIndex) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ColumnIndexSet", This, extract::columnIndex, columnIndex); +} + + +// ----------------------------------------------------------------------------- +// Child: externalRMatrix +// ----------------------------------------------------------------------------- + +// Has +int +ChannelExternalRMatrixHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ExternalRMatrixHas", This, extract::externalRMatrix); +} + +// Get, const +Handle2ConstExternalRMatrix +ChannelExternalRMatrixGetConst(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExternalRMatrixGetConst", This, extract::externalRMatrix); +} + +// Get, non-const +Handle2ExternalRMatrix +ChannelExternalRMatrixGet(ConstHandle2Channel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExternalRMatrixGet", This, extract::externalRMatrix); +} + +// Set +void +ChannelExternalRMatrixSet(ConstHandle2Channel This, ConstHandle2ConstExternalRMatrix externalRMatrix) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ExternalRMatrixSet", This, extract::externalRMatrix, externalRMatrix); +} + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// Has +int +ChannelScatteringRadiusHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ScatteringRadiusHas", This, extract::scatteringRadius); +} + +// Get, const +Handle2ConstScatteringRadius +ChannelScatteringRadiusGetConst(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGetConst", This, extract::scatteringRadius); +} + +// Get, non-const +Handle2ScatteringRadius +ChannelScatteringRadiusGet(ConstHandle2Channel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGet", This, extract::scatteringRadius); +} + +// Set +void +ChannelScatteringRadiusSet(ConstHandle2Channel This, ConstHandle2ConstScatteringRadius scatteringRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ScatteringRadiusSet", This, extract::scatteringRadius, scatteringRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// Has +int +ChannelHardSphereRadiusHas(ConstHandle2ConstChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HardSphereRadiusHas", This, extract::hardSphereRadius); +} + +// Get, const +Handle2ConstHardSphereRadius +ChannelHardSphereRadiusGetConst(ConstHandle2ConstChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGetConst", This, extract::hardSphereRadius); +} + +// Get, non-const +Handle2HardSphereRadius +ChannelHardSphereRadiusGet(ConstHandle2Channel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGet", This, extract::hardSphereRadius); +} + +// Set +void +ChannelHardSphereRadiusSet(ConstHandle2Channel This, ConstHandle2ConstHardSphereRadius hardSphereRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HardSphereRadiusSet", This, extract::hardSphereRadius, hardSphereRadius); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.h new file mode 100644 index 000000000..093febe8b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.h @@ -0,0 +1,327 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Channel is the basic handle type in this file. Example: +// // Create a default Channel object: +// Channel handle = ChannelDefault(); +// Functions involving Channel are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_CHANNEL +#define C_INTERFACE_TRY_V2_0_RESONANCES_CHANNEL + +#include "GNDStk.h" +#include "v2.0/resonances/ExternalRMatrix.h" +#include "v2.0/resonances/ScatteringRadius.h" +#include "v2.0/resonances/HardSphereRadius.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ChannelClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Channel +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ChannelClass *Channel; + +// --- Const-aware handles. +typedef const struct ChannelClass *const ConstHandle2ConstChannel; +typedef struct ChannelClass *const ConstHandle2Channel; +typedef const struct ChannelClass * Handle2ConstChannel; +typedef struct ChannelClass * Handle2Channel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstChannel +ChannelDefaultConst(); + +// +++ Create, default +extern_c Handle2Channel +ChannelDefault(); + +// --- Create, general, const +extern_c Handle2ConstChannel +ChannelCreateConst( + const XMLName label, + const char *const resonanceReaction, + const Integer32 L, + const Fraction32 channelSpin, + const Float64 boundaryConditionValue, + const Integer32 columnIndex, + ConstHandle2ConstExternalRMatrix externalRMatrix, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius +); + +// +++ Create, general +extern_c Handle2Channel +ChannelCreate( + const XMLName label, + const char *const resonanceReaction, + const Integer32 L, + const Fraction32 channelSpin, + const Float64 boundaryConditionValue, + const Integer32 columnIndex, + ConstHandle2ConstExternalRMatrix externalRMatrix, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ChannelAssign(ConstHandle2Channel This, ConstHandle2ConstChannel from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ChannelDelete(ConstHandle2ConstChannel This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ChannelRead(ConstHandle2Channel This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ChannelWrite(ConstHandle2ConstChannel This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ChannelPrint(ConstHandle2ConstChannel This); + +// +++ Print to standard output, as XML +extern_c int +ChannelPrintXML(ConstHandle2ConstChannel This); + +// +++ Print to standard output, as JSON +extern_c int +ChannelPrintJSON(ConstHandle2ConstChannel This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelLabelHas(ConstHandle2ConstChannel This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ChannelLabelGet(ConstHandle2ConstChannel This); + +// +++ Set +extern_c void +ChannelLabelSet(ConstHandle2Channel This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: resonanceReaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelResonanceReactionHas(ConstHandle2ConstChannel This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ChannelResonanceReactionGet(ConstHandle2ConstChannel This); + +// +++ Set +extern_c void +ChannelResonanceReactionSet(ConstHandle2Channel This, const char *const resonanceReaction); + + +// ----------------------------------------------------------------------------- +// Metadatum: L +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelLHas(ConstHandle2ConstChannel This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ChannelLGet(ConstHandle2ConstChannel This); + +// +++ Set +extern_c void +ChannelLSet(ConstHandle2Channel This, const Integer32 L); + + +// ----------------------------------------------------------------------------- +// Metadatum: channelSpin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelChannelSpinHas(ConstHandle2ConstChannel This); + +// +++ Get +// +++ Returns by value +extern_c Fraction32 +ChannelChannelSpinGet(ConstHandle2ConstChannel This); + +// +++ Set +extern_c void +ChannelChannelSpinSet(ConstHandle2Channel This, const Fraction32 channelSpin); + + +// ----------------------------------------------------------------------------- +// Metadatum: boundaryConditionValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelBoundaryConditionValueHas(ConstHandle2ConstChannel This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +ChannelBoundaryConditionValueGet(ConstHandle2ConstChannel This); + +// +++ Set +extern_c void +ChannelBoundaryConditionValueSet(ConstHandle2Channel This, const Float64 boundaryConditionValue); + + +// ----------------------------------------------------------------------------- +// Metadatum: columnIndex +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelColumnIndexHas(ConstHandle2ConstChannel This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ChannelColumnIndexGet(ConstHandle2ConstChannel This); + +// +++ Set +extern_c void +ChannelColumnIndexSet(ConstHandle2Channel This, const Integer32 columnIndex); + + +// ----------------------------------------------------------------------------- +// Child: externalRMatrix +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelExternalRMatrixHas(ConstHandle2ConstChannel This); + +// --- Get, const +extern_c Handle2ConstExternalRMatrix +ChannelExternalRMatrixGetConst(ConstHandle2ConstChannel This); + +// +++ Get, non-const +extern_c Handle2ExternalRMatrix +ChannelExternalRMatrixGet(ConstHandle2Channel This); + +// +++ Set +extern_c void +ChannelExternalRMatrixSet(ConstHandle2Channel This, ConstHandle2ConstExternalRMatrix externalRMatrix); + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelScatteringRadiusHas(ConstHandle2ConstChannel This); + +// --- Get, const +extern_c Handle2ConstScatteringRadius +ChannelScatteringRadiusGetConst(ConstHandle2ConstChannel This); + +// +++ Get, non-const +extern_c Handle2ScatteringRadius +ChannelScatteringRadiusGet(ConstHandle2Channel This); + +// +++ Set +extern_c void +ChannelScatteringRadiusSet(ConstHandle2Channel This, ConstHandle2ConstScatteringRadius scatteringRadius); + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelHardSphereRadiusHas(ConstHandle2ConstChannel This); + +// --- Get, const +extern_c Handle2ConstHardSphereRadius +ChannelHardSphereRadiusGetConst(ConstHandle2ConstChannel This); + +// +++ Get, non-const +extern_c Handle2HardSphereRadius +ChannelHardSphereRadiusGet(ConstHandle2Channel This); + +// +++ Set +extern_c void +ChannelHardSphereRadiusSet(ConstHandle2Channel This, ConstHandle2ConstHardSphereRadius hardSphereRadius); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.cpp new file mode 100644 index 000000000..4e4876b4b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.cpp @@ -0,0 +1,475 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Channels.hpp" +#include "Channels.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ChannelsClass; +using CPP = multigroup::Channels; + +static const std::string CLASSNAME = "Channels"; + +namespace extract { + static auto channel = [](auto &obj) { return &obj.channel; }; +} + +using CPPChannel = resonances::Channel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstChannels +ChannelsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Channels +ChannelsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstChannels +ChannelsCreateConst( + ConstHandle2Channel *const channel, const size_t channelSize +) { + ConstHandle2Channels handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ChannelN = 0; ChannelN < channelSize; ++ChannelN) + ChannelsChannelAdd(handle, channel[ChannelN]); + return handle; +} + +// Create, general +Handle2Channels +ChannelsCreate( + ConstHandle2Channel *const channel, const size_t channelSize +) { + ConstHandle2Channels handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ChannelN = 0; ChannelN < channelSize; ++ChannelN) + ChannelsChannelAdd(handle, channel[ChannelN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ChannelsAssign(ConstHandle2Channels This, ConstHandle2ConstChannels from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ChannelsDelete(ConstHandle2ConstChannels This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ChannelsRead(ConstHandle2Channels This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ChannelsWrite(ConstHandle2ConstChannels This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ChannelsPrint(ConstHandle2ConstChannels This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ChannelsPrintXML(ConstHandle2ConstChannels This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ChannelsPrintJSON(ConstHandle2ConstChannels This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: channel +// ----------------------------------------------------------------------------- + +// Has +int +ChannelsChannelHas(ConstHandle2ConstChannels This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChannelHas", This, extract::channel); +} + +// Clear +void +ChannelsChannelClear(ConstHandle2Channels This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ChannelClear", This, extract::channel); +} + +// Size +size_t +ChannelsChannelSize(ConstHandle2ConstChannels This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ChannelSize", This, extract::channel); +} + +// Add +void +ChannelsChannelAdd(ConstHandle2Channels This, ConstHandle2ConstChannel channel) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ChannelAdd", This, extract::channel, channel); +} + +// Get, by index \in [0,size), const +Handle2ConstChannel +ChannelsChannelGetConst(ConstHandle2ConstChannels This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ChannelGetConst", This, extract::channel, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Channel +ChannelsChannelGet(ConstHandle2Channels This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ChannelGet", This, extract::channel, index_); +} + +// Set, by index \in [0,size) +void +ChannelsChannelSet( + ConstHandle2Channels This, + const size_t index_, + ConstHandle2ConstChannel channel +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ChannelSet", This, extract::channel, index_, channel); +} + +// Has, by label +int +ChannelsChannelHasByLabel( + ConstHandle2ConstChannels This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChannelHasByLabel", + This, extract::channel, meta::label, label); +} + +// Get, by label, const +Handle2ConstChannel +ChannelsChannelGetByLabelConst( + ConstHandle2ConstChannels This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByLabelConst", + This, extract::channel, meta::label, label); +} + +// Get, by label, non-const +Handle2Channel +ChannelsChannelGetByLabel( + ConstHandle2Channels This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByLabel", + This, extract::channel, meta::label, label); +} + +// Set, by label +void +ChannelsChannelSetByLabel( + ConstHandle2Channels This, + const XMLName label, + ConstHandle2ConstChannel channel +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChannelSetByLabel", + This, extract::channel, meta::label, label, channel); +} + +// Has, by resonanceReaction +int +ChannelsChannelHasByResonanceReaction( + ConstHandle2ConstChannels This, + const char *const resonanceReaction +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChannelHasByResonanceReaction", + This, extract::channel, meta::resonanceReaction, resonanceReaction); +} + +// Get, by resonanceReaction, const +Handle2ConstChannel +ChannelsChannelGetByResonanceReactionConst( + ConstHandle2ConstChannels This, + const char *const resonanceReaction +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByResonanceReactionConst", + This, extract::channel, meta::resonanceReaction, resonanceReaction); +} + +// Get, by resonanceReaction, non-const +Handle2Channel +ChannelsChannelGetByResonanceReaction( + ConstHandle2Channels This, + const char *const resonanceReaction +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByResonanceReaction", + This, extract::channel, meta::resonanceReaction, resonanceReaction); +} + +// Set, by resonanceReaction +void +ChannelsChannelSetByResonanceReaction( + ConstHandle2Channels This, + const char *const resonanceReaction, + ConstHandle2ConstChannel channel +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChannelSetByResonanceReaction", + This, extract::channel, meta::resonanceReaction, resonanceReaction, channel); +} + +// Has, by L +int +ChannelsChannelHasByL( + ConstHandle2ConstChannels This, + const Integer32 L +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChannelHasByL", + This, extract::channel, meta::L, L); +} + +// Get, by L, const +Handle2ConstChannel +ChannelsChannelGetByLConst( + ConstHandle2ConstChannels This, + const Integer32 L +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByLConst", + This, extract::channel, meta::L, L); +} + +// Get, by L, non-const +Handle2Channel +ChannelsChannelGetByL( + ConstHandle2Channels This, + const Integer32 L +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByL", + This, extract::channel, meta::L, L); +} + +// Set, by L +void +ChannelsChannelSetByL( + ConstHandle2Channels This, + const Integer32 L, + ConstHandle2ConstChannel channel +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChannelSetByL", + This, extract::channel, meta::L, L, channel); +} + +// Has, by channelSpin +int +ChannelsChannelHasByChannelSpin( + ConstHandle2ConstChannels This, + const Fraction32 channelSpin +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChannelHasByChannelSpin", + This, extract::channel, meta::channelSpin, channelSpin); +} + +// Get, by channelSpin, const +Handle2ConstChannel +ChannelsChannelGetByChannelSpinConst( + ConstHandle2ConstChannels This, + const Fraction32 channelSpin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByChannelSpinConst", + This, extract::channel, meta::channelSpin, channelSpin); +} + +// Get, by channelSpin, non-const +Handle2Channel +ChannelsChannelGetByChannelSpin( + ConstHandle2Channels This, + const Fraction32 channelSpin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByChannelSpin", + This, extract::channel, meta::channelSpin, channelSpin); +} + +// Set, by channelSpin +void +ChannelsChannelSetByChannelSpin( + ConstHandle2Channels This, + const Fraction32 channelSpin, + ConstHandle2ConstChannel channel +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChannelSetByChannelSpin", + This, extract::channel, meta::channelSpin, channelSpin, channel); +} + +// Has, by boundaryConditionValue +int +ChannelsChannelHasByBoundaryConditionValue( + ConstHandle2ConstChannels This, + const Float64 boundaryConditionValue +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChannelHasByBoundaryConditionValue", + This, extract::channel, meta::boundaryConditionValue, boundaryConditionValue); +} + +// Get, by boundaryConditionValue, const +Handle2ConstChannel +ChannelsChannelGetByBoundaryConditionValueConst( + ConstHandle2ConstChannels This, + const Float64 boundaryConditionValue +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByBoundaryConditionValueConst", + This, extract::channel, meta::boundaryConditionValue, boundaryConditionValue); +} + +// Get, by boundaryConditionValue, non-const +Handle2Channel +ChannelsChannelGetByBoundaryConditionValue( + ConstHandle2Channels This, + const Float64 boundaryConditionValue +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByBoundaryConditionValue", + This, extract::channel, meta::boundaryConditionValue, boundaryConditionValue); +} + +// Set, by boundaryConditionValue +void +ChannelsChannelSetByBoundaryConditionValue( + ConstHandle2Channels This, + const Float64 boundaryConditionValue, + ConstHandle2ConstChannel channel +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChannelSetByBoundaryConditionValue", + This, extract::channel, meta::boundaryConditionValue, boundaryConditionValue, channel); +} + +// Has, by columnIndex +int +ChannelsChannelHasByColumnIndex( + ConstHandle2ConstChannels This, + const Integer32 columnIndex +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChannelHasByColumnIndex", + This, extract::channel, meta::columnIndex, columnIndex); +} + +// Get, by columnIndex, const +Handle2ConstChannel +ChannelsChannelGetByColumnIndexConst( + ConstHandle2ConstChannels This, + const Integer32 columnIndex +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByColumnIndexConst", + This, extract::channel, meta::columnIndex, columnIndex); +} + +// Get, by columnIndex, non-const +Handle2Channel +ChannelsChannelGetByColumnIndex( + ConstHandle2Channels This, + const Integer32 columnIndex +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChannelGetByColumnIndex", + This, extract::channel, meta::columnIndex, columnIndex); +} + +// Set, by columnIndex +void +ChannelsChannelSetByColumnIndex( + ConstHandle2Channels This, + const Integer32 columnIndex, + ConstHandle2ConstChannel channel +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChannelSetByColumnIndex", + This, extract::channel, meta::columnIndex, columnIndex, channel); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.h new file mode 100644 index 000000000..b62a91cf1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.h @@ -0,0 +1,349 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Channels is the basic handle type in this file. Example: +// // Create a default Channels object: +// Channels handle = ChannelsDefault(); +// Functions involving Channels are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_CHANNELS +#define C_INTERFACE_TRY_V2_0_RESONANCES_CHANNELS + +#include "GNDStk.h" +#include "v2.0/resonances/Channel.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ChannelsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Channels +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ChannelsClass *Channels; + +// --- Const-aware handles. +typedef const struct ChannelsClass *const ConstHandle2ConstChannels; +typedef struct ChannelsClass *const ConstHandle2Channels; +typedef const struct ChannelsClass * Handle2ConstChannels; +typedef struct ChannelsClass * Handle2Channels; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstChannels +ChannelsDefaultConst(); + +// +++ Create, default +extern_c Handle2Channels +ChannelsDefault(); + +// --- Create, general, const +extern_c Handle2ConstChannels +ChannelsCreateConst( + ConstHandle2Channel *const channel, const size_t channelSize +); + +// +++ Create, general +extern_c Handle2Channels +ChannelsCreate( + ConstHandle2Channel *const channel, const size_t channelSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ChannelsAssign(ConstHandle2Channels This, ConstHandle2ConstChannels from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ChannelsDelete(ConstHandle2ConstChannels This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ChannelsRead(ConstHandle2Channels This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ChannelsWrite(ConstHandle2ConstChannels This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ChannelsPrint(ConstHandle2ConstChannels This); + +// +++ Print to standard output, as XML +extern_c int +ChannelsPrintXML(ConstHandle2ConstChannels This); + +// +++ Print to standard output, as JSON +extern_c int +ChannelsPrintJSON(ConstHandle2ConstChannels This); + + +// ----------------------------------------------------------------------------- +// Child: channel +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChannelsChannelHas(ConstHandle2ConstChannels This); + +// +++ Clear +extern_c void +ChannelsChannelClear(ConstHandle2Channels This); + +// +++ Size +extern_c size_t +ChannelsChannelSize(ConstHandle2ConstChannels This); + +// +++ Add +extern_c void +ChannelsChannelAdd(ConstHandle2Channels This, ConstHandle2ConstChannel channel); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstChannel +ChannelsChannelGetConst(ConstHandle2ConstChannels This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Channel +ChannelsChannelGet(ConstHandle2Channels This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ChannelsChannelSet( + ConstHandle2Channels This, + const size_t index_, + ConstHandle2ConstChannel channel +); + +// +++ Has, by label +extern_c int +ChannelsChannelHasByLabel( + ConstHandle2ConstChannels This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstChannel +ChannelsChannelGetByLabelConst( + ConstHandle2ConstChannels This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Channel +ChannelsChannelGetByLabel( + ConstHandle2Channels This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ChannelsChannelSetByLabel( + ConstHandle2Channels This, + const XMLName label, + ConstHandle2ConstChannel channel +); + +// +++ Has, by resonanceReaction +extern_c int +ChannelsChannelHasByResonanceReaction( + ConstHandle2ConstChannels This, + const char *const resonanceReaction +); + +// --- Get, by resonanceReaction, const +extern_c Handle2ConstChannel +ChannelsChannelGetByResonanceReactionConst( + ConstHandle2ConstChannels This, + const char *const resonanceReaction +); + +// +++ Get, by resonanceReaction, non-const +extern_c Handle2Channel +ChannelsChannelGetByResonanceReaction( + ConstHandle2Channels This, + const char *const resonanceReaction +); + +// +++ Set, by resonanceReaction +extern_c void +ChannelsChannelSetByResonanceReaction( + ConstHandle2Channels This, + const char *const resonanceReaction, + ConstHandle2ConstChannel channel +); + +// +++ Has, by L +extern_c int +ChannelsChannelHasByL( + ConstHandle2ConstChannels This, + const Integer32 L +); + +// --- Get, by L, const +extern_c Handle2ConstChannel +ChannelsChannelGetByLConst( + ConstHandle2ConstChannels This, + const Integer32 L +); + +// +++ Get, by L, non-const +extern_c Handle2Channel +ChannelsChannelGetByL( + ConstHandle2Channels This, + const Integer32 L +); + +// +++ Set, by L +extern_c void +ChannelsChannelSetByL( + ConstHandle2Channels This, + const Integer32 L, + ConstHandle2ConstChannel channel +); + +// +++ Has, by channelSpin +extern_c int +ChannelsChannelHasByChannelSpin( + ConstHandle2ConstChannels This, + const Fraction32 channelSpin +); + +// --- Get, by channelSpin, const +extern_c Handle2ConstChannel +ChannelsChannelGetByChannelSpinConst( + ConstHandle2ConstChannels This, + const Fraction32 channelSpin +); + +// +++ Get, by channelSpin, non-const +extern_c Handle2Channel +ChannelsChannelGetByChannelSpin( + ConstHandle2Channels This, + const Fraction32 channelSpin +); + +// +++ Set, by channelSpin +extern_c void +ChannelsChannelSetByChannelSpin( + ConstHandle2Channels This, + const Fraction32 channelSpin, + ConstHandle2ConstChannel channel +); + +// +++ Has, by boundaryConditionValue +extern_c int +ChannelsChannelHasByBoundaryConditionValue( + ConstHandle2ConstChannels This, + const Float64 boundaryConditionValue +); + +// --- Get, by boundaryConditionValue, const +extern_c Handle2ConstChannel +ChannelsChannelGetByBoundaryConditionValueConst( + ConstHandle2ConstChannels This, + const Float64 boundaryConditionValue +); + +// +++ Get, by boundaryConditionValue, non-const +extern_c Handle2Channel +ChannelsChannelGetByBoundaryConditionValue( + ConstHandle2Channels This, + const Float64 boundaryConditionValue +); + +// +++ Set, by boundaryConditionValue +extern_c void +ChannelsChannelSetByBoundaryConditionValue( + ConstHandle2Channels This, + const Float64 boundaryConditionValue, + ConstHandle2ConstChannel channel +); + +// +++ Has, by columnIndex +extern_c int +ChannelsChannelHasByColumnIndex( + ConstHandle2ConstChannels This, + const Integer32 columnIndex +); + +// --- Get, by columnIndex, const +extern_c Handle2ConstChannel +ChannelsChannelGetByColumnIndexConst( + ConstHandle2ConstChannels This, + const Integer32 columnIndex +); + +// +++ Get, by columnIndex, non-const +extern_c Handle2Channel +ChannelsChannelGetByColumnIndex( + ConstHandle2Channels This, + const Integer32 columnIndex +); + +// +++ Set, by columnIndex +extern_c void +ChannelsChannelSetByColumnIndex( + ConstHandle2Channels This, + const Integer32 columnIndex, + ConstHandle2ConstChannel channel +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.cpp new file mode 100644 index 000000000..d1e329863 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.cpp @@ -0,0 +1,273 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/EnergyInterval.hpp" +#include "EnergyInterval.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EnergyIntervalClass; +using CPP = multigroup::EnergyInterval; + +static const std::string CLASSNAME = "EnergyInterval"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto domainUnit = [](auto &obj) { return &obj.domainUnit; }; +} + +using CPPRMatrix = resonances::RMatrix; +using CPPBreitWigner = resonances::BreitWigner; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEnergyInterval +EnergyIntervalDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EnergyInterval +EnergyIntervalDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEnergyInterval +EnergyIntervalCreateConst( + const Integer32 index, + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +) { + ConstHandle2EnergyInterval handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + domainMin, + domainMax, + domainUnit + ); + return handle; +} + +// Create, general +Handle2EnergyInterval +EnergyIntervalCreate( + const Integer32 index, + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +) { + ConstHandle2EnergyInterval handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + domainMin, + domainMax, + domainUnit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EnergyIntervalAssign(ConstHandle2EnergyInterval This, ConstHandle2ConstEnergyInterval from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EnergyIntervalDelete(ConstHandle2ConstEnergyInterval This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EnergyIntervalRead(ConstHandle2EnergyInterval This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EnergyIntervalWrite(ConstHandle2ConstEnergyInterval This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EnergyIntervalPrint(ConstHandle2ConstEnergyInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EnergyIntervalPrintXML(ConstHandle2ConstEnergyInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EnergyIntervalPrintJSON(ConstHandle2ConstEnergyInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +EnergyIntervalIndexHas(ConstHandle2ConstEnergyInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +Integer32 +EnergyIntervalIndexGet(ConstHandle2ConstEnergyInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +EnergyIntervalIndexSet(ConstHandle2EnergyInterval This, const Integer32 index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +EnergyIntervalDomainMinHas(ConstHandle2ConstEnergyInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +EnergyIntervalDomainMinGet(ConstHandle2ConstEnergyInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +EnergyIntervalDomainMinSet(ConstHandle2EnergyInterval This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +EnergyIntervalDomainMaxHas(ConstHandle2ConstEnergyInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +EnergyIntervalDomainMaxGet(ConstHandle2ConstEnergyInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +EnergyIntervalDomainMaxSet(ConstHandle2EnergyInterval This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// Has +int +EnergyIntervalDomainUnitHas(ConstHandle2ConstEnergyInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainUnitHas", This, extract::domainUnit); +} + +// Get +// Returns by value +XMLName +EnergyIntervalDomainUnitGet(ConstHandle2ConstEnergyInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainUnitGet", This, extract::domainUnit); +} + +// Set +void +EnergyIntervalDomainUnitSet(ConstHandle2EnergyInterval This, const XMLName domainUnit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainUnitSet", This, extract::domainUnit, domainUnit); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.h new file mode 100644 index 000000000..f662856b2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.h @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EnergyInterval is the basic handle type in this file. Example: +// // Create a default EnergyInterval object: +// EnergyInterval handle = EnergyIntervalDefault(); +// Functions involving EnergyInterval are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_ENERGYINTERVAL +#define C_INTERFACE_TRY_V2_0_RESONANCES_ENERGYINTERVAL + +#include "GNDStk.h" +#include "v2.0/resonances/RMatrix.h" +#include "v2.0/resonances/BreitWigner.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EnergyIntervalClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EnergyInterval +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EnergyIntervalClass *EnergyInterval; + +// --- Const-aware handles. +typedef const struct EnergyIntervalClass *const ConstHandle2ConstEnergyInterval; +typedef struct EnergyIntervalClass *const ConstHandle2EnergyInterval; +typedef const struct EnergyIntervalClass * Handle2ConstEnergyInterval; +typedef struct EnergyIntervalClass * Handle2EnergyInterval; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEnergyInterval +EnergyIntervalDefaultConst(); + +// +++ Create, default +extern_c Handle2EnergyInterval +EnergyIntervalDefault(); + +// --- Create, general, const +extern_c Handle2ConstEnergyInterval +EnergyIntervalCreateConst( + const Integer32 index, + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +); + +// +++ Create, general +extern_c Handle2EnergyInterval +EnergyIntervalCreate( + const Integer32 index, + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EnergyIntervalAssign(ConstHandle2EnergyInterval This, ConstHandle2ConstEnergyInterval from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EnergyIntervalDelete(ConstHandle2ConstEnergyInterval This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EnergyIntervalRead(ConstHandle2EnergyInterval This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EnergyIntervalWrite(ConstHandle2ConstEnergyInterval This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EnergyIntervalPrint(ConstHandle2ConstEnergyInterval This); + +// +++ Print to standard output, as XML +extern_c int +EnergyIntervalPrintXML(ConstHandle2ConstEnergyInterval This); + +// +++ Print to standard output, as JSON +extern_c int +EnergyIntervalPrintJSON(ConstHandle2ConstEnergyInterval This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyIntervalIndexHas(ConstHandle2ConstEnergyInterval This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +EnergyIntervalIndexGet(ConstHandle2ConstEnergyInterval This); + +// +++ Set +extern_c void +EnergyIntervalIndexSet(ConstHandle2EnergyInterval This, const Integer32 index); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyIntervalDomainMinHas(ConstHandle2ConstEnergyInterval This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +EnergyIntervalDomainMinGet(ConstHandle2ConstEnergyInterval This); + +// +++ Set +extern_c void +EnergyIntervalDomainMinSet(ConstHandle2EnergyInterval This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyIntervalDomainMaxHas(ConstHandle2ConstEnergyInterval This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +EnergyIntervalDomainMaxGet(ConstHandle2ConstEnergyInterval This); + +// +++ Set +extern_c void +EnergyIntervalDomainMaxSet(ConstHandle2EnergyInterval This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyIntervalDomainUnitHas(ConstHandle2ConstEnergyInterval This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyIntervalDomainUnitGet(ConstHandle2ConstEnergyInterval This); + +// +++ Set +extern_c void +EnergyIntervalDomainUnitSet(ConstHandle2EnergyInterval This, const XMLName domainUnit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.cpp new file mode 100644 index 000000000..d6bbc42d3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.cpp @@ -0,0 +1,420 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/EnergyIntervals.hpp" +#include "EnergyIntervals.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EnergyIntervalsClass; +using CPP = multigroup::EnergyIntervals; + +static const std::string CLASSNAME = "EnergyIntervals"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto energyInterval = [](auto &obj) { return &obj.energyInterval; }; +} + +using CPPEnergyInterval = resonances::EnergyInterval; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEnergyIntervals +EnergyIntervalsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EnergyIntervals +EnergyIntervalsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEnergyIntervals +EnergyIntervalsCreateConst( + const XMLName label, + ConstHandle2EnergyInterval *const energyInterval, const size_t energyIntervalSize +) { + ConstHandle2EnergyIntervals handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + std::vector{} + ); + for (size_t EnergyIntervalN = 0; EnergyIntervalN < energyIntervalSize; ++EnergyIntervalN) + EnergyIntervalsEnergyIntervalAdd(handle, energyInterval[EnergyIntervalN]); + return handle; +} + +// Create, general +Handle2EnergyIntervals +EnergyIntervalsCreate( + const XMLName label, + ConstHandle2EnergyInterval *const energyInterval, const size_t energyIntervalSize +) { + ConstHandle2EnergyIntervals handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + std::vector{} + ); + for (size_t EnergyIntervalN = 0; EnergyIntervalN < energyIntervalSize; ++EnergyIntervalN) + EnergyIntervalsEnergyIntervalAdd(handle, energyInterval[EnergyIntervalN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EnergyIntervalsAssign(ConstHandle2EnergyIntervals This, ConstHandle2ConstEnergyIntervals from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EnergyIntervalsDelete(ConstHandle2ConstEnergyIntervals This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EnergyIntervalsRead(ConstHandle2EnergyIntervals This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EnergyIntervalsWrite(ConstHandle2ConstEnergyIntervals This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EnergyIntervalsPrint(ConstHandle2ConstEnergyIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EnergyIntervalsPrintXML(ConstHandle2ConstEnergyIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EnergyIntervalsPrintJSON(ConstHandle2ConstEnergyIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EnergyIntervalsLabelHas(ConstHandle2ConstEnergyIntervals This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +EnergyIntervalsLabelGet(ConstHandle2ConstEnergyIntervals This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EnergyIntervalsLabelSet(ConstHandle2EnergyIntervals This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: energyInterval +// ----------------------------------------------------------------------------- + +// Has +int +EnergyIntervalsEnergyIntervalHas(ConstHandle2ConstEnergyIntervals This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EnergyIntervalHas", This, extract::energyInterval); +} + +// Clear +void +EnergyIntervalsEnergyIntervalClear(ConstHandle2EnergyIntervals This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"EnergyIntervalClear", This, extract::energyInterval); +} + +// Size +size_t +EnergyIntervalsEnergyIntervalSize(ConstHandle2ConstEnergyIntervals This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"EnergyIntervalSize", This, extract::energyInterval); +} + +// Add +void +EnergyIntervalsEnergyIntervalAdd(ConstHandle2EnergyIntervals This, ConstHandle2ConstEnergyInterval energyInterval) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"EnergyIntervalAdd", This, extract::energyInterval, energyInterval); +} + +// Get, by index \in [0,size), const +Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetConst(ConstHandle2ConstEnergyIntervals This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"EnergyIntervalGetConst", This, extract::energyInterval, index_); +} + +// Get, by index \in [0,size), non-const +Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGet(ConstHandle2EnergyIntervals This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"EnergyIntervalGet", This, extract::energyInterval, index_); +} + +// Set, by index \in [0,size) +void +EnergyIntervalsEnergyIntervalSet( + ConstHandle2EnergyIntervals This, + const size_t index_, + ConstHandle2ConstEnergyInterval energyInterval +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"EnergyIntervalSet", This, extract::energyInterval, index_, energyInterval); +} + +// Has, by index +int +EnergyIntervalsEnergyIntervalHasByIndex( + ConstHandle2ConstEnergyIntervals This, + const Integer32 index +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalHasByIndex", + This, extract::energyInterval, meta::index, index); +} + +// Get, by index, const +Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetByIndexConst( + ConstHandle2ConstEnergyIntervals This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalGetByIndexConst", + This, extract::energyInterval, meta::index, index); +} + +// Get, by index, non-const +Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGetByIndex( + ConstHandle2EnergyIntervals This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalGetByIndex", + This, extract::energyInterval, meta::index, index); +} + +// Set, by index +void +EnergyIntervalsEnergyIntervalSetByIndex( + ConstHandle2EnergyIntervals This, + const Integer32 index, + ConstHandle2ConstEnergyInterval energyInterval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalSetByIndex", + This, extract::energyInterval, meta::index, index, energyInterval); +} + +// Has, by domainMin +int +EnergyIntervalsEnergyIntervalHasByDomainMin( + ConstHandle2ConstEnergyIntervals This, + const Float64 domainMin +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalHasByDomainMin", + This, extract::energyInterval, meta::domainMin, domainMin); +} + +// Get, by domainMin, const +Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainMinConst( + ConstHandle2ConstEnergyIntervals This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalGetByDomainMinConst", + This, extract::energyInterval, meta::domainMin, domainMin); +} + +// Get, by domainMin, non-const +Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainMin( + ConstHandle2EnergyIntervals This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalGetByDomainMin", + This, extract::energyInterval, meta::domainMin, domainMin); +} + +// Set, by domainMin +void +EnergyIntervalsEnergyIntervalSetByDomainMin( + ConstHandle2EnergyIntervals This, + const Float64 domainMin, + ConstHandle2ConstEnergyInterval energyInterval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalSetByDomainMin", + This, extract::energyInterval, meta::domainMin, domainMin, energyInterval); +} + +// Has, by domainMax +int +EnergyIntervalsEnergyIntervalHasByDomainMax( + ConstHandle2ConstEnergyIntervals This, + const Float64 domainMax +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalHasByDomainMax", + This, extract::energyInterval, meta::domainMax, domainMax); +} + +// Get, by domainMax, const +Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainMaxConst( + ConstHandle2ConstEnergyIntervals This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalGetByDomainMaxConst", + This, extract::energyInterval, meta::domainMax, domainMax); +} + +// Get, by domainMax, non-const +Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainMax( + ConstHandle2EnergyIntervals This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalGetByDomainMax", + This, extract::energyInterval, meta::domainMax, domainMax); +} + +// Set, by domainMax +void +EnergyIntervalsEnergyIntervalSetByDomainMax( + ConstHandle2EnergyIntervals This, + const Float64 domainMax, + ConstHandle2ConstEnergyInterval energyInterval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalSetByDomainMax", + This, extract::energyInterval, meta::domainMax, domainMax, energyInterval); +} + +// Has, by domainUnit +int +EnergyIntervalsEnergyIntervalHasByDomainUnit( + ConstHandle2ConstEnergyIntervals This, + const XMLName domainUnit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalHasByDomainUnit", + This, extract::energyInterval, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, const +Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainUnitConst( + ConstHandle2ConstEnergyIntervals This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalGetByDomainUnitConst", + This, extract::energyInterval, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, non-const +Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainUnit( + ConstHandle2EnergyIntervals This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalGetByDomainUnit", + This, extract::energyInterval, meta::domainUnit, domainUnit); +} + +// Set, by domainUnit +void +EnergyIntervalsEnergyIntervalSetByDomainUnit( + ConstHandle2EnergyIntervals This, + const XMLName domainUnit, + ConstHandle2ConstEnergyInterval energyInterval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EnergyIntervalSetByDomainUnit", + This, extract::energyInterval, meta::domainUnit, domainUnit, energyInterval); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.h new file mode 100644 index 000000000..26e399f4c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.h @@ -0,0 +1,311 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EnergyIntervals is the basic handle type in this file. Example: +// // Create a default EnergyIntervals object: +// EnergyIntervals handle = EnergyIntervalsDefault(); +// Functions involving EnergyIntervals are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_ENERGYINTERVALS +#define C_INTERFACE_TRY_V2_0_RESONANCES_ENERGYINTERVALS + +#include "GNDStk.h" +#include "v2.0/resonances/EnergyInterval.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EnergyIntervalsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EnergyIntervals +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EnergyIntervalsClass *EnergyIntervals; + +// --- Const-aware handles. +typedef const struct EnergyIntervalsClass *const ConstHandle2ConstEnergyIntervals; +typedef struct EnergyIntervalsClass *const ConstHandle2EnergyIntervals; +typedef const struct EnergyIntervalsClass * Handle2ConstEnergyIntervals; +typedef struct EnergyIntervalsClass * Handle2EnergyIntervals; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEnergyIntervals +EnergyIntervalsDefaultConst(); + +// +++ Create, default +extern_c Handle2EnergyIntervals +EnergyIntervalsDefault(); + +// --- Create, general, const +extern_c Handle2ConstEnergyIntervals +EnergyIntervalsCreateConst( + const XMLName label, + ConstHandle2EnergyInterval *const energyInterval, const size_t energyIntervalSize +); + +// +++ Create, general +extern_c Handle2EnergyIntervals +EnergyIntervalsCreate( + const XMLName label, + ConstHandle2EnergyInterval *const energyInterval, const size_t energyIntervalSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EnergyIntervalsAssign(ConstHandle2EnergyIntervals This, ConstHandle2ConstEnergyIntervals from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EnergyIntervalsDelete(ConstHandle2ConstEnergyIntervals This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EnergyIntervalsRead(ConstHandle2EnergyIntervals This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EnergyIntervalsWrite(ConstHandle2ConstEnergyIntervals This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EnergyIntervalsPrint(ConstHandle2ConstEnergyIntervals This); + +// +++ Print to standard output, as XML +extern_c int +EnergyIntervalsPrintXML(ConstHandle2ConstEnergyIntervals This); + +// +++ Print to standard output, as JSON +extern_c int +EnergyIntervalsPrintJSON(ConstHandle2ConstEnergyIntervals This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyIntervalsLabelHas(ConstHandle2ConstEnergyIntervals This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyIntervalsLabelGet(ConstHandle2ConstEnergyIntervals This); + +// +++ Set +extern_c void +EnergyIntervalsLabelSet(ConstHandle2EnergyIntervals This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: energyInterval +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyIntervalsEnergyIntervalHas(ConstHandle2ConstEnergyIntervals This); + +// +++ Clear +extern_c void +EnergyIntervalsEnergyIntervalClear(ConstHandle2EnergyIntervals This); + +// +++ Size +extern_c size_t +EnergyIntervalsEnergyIntervalSize(ConstHandle2ConstEnergyIntervals This); + +// +++ Add +extern_c void +EnergyIntervalsEnergyIntervalAdd(ConstHandle2EnergyIntervals This, ConstHandle2ConstEnergyInterval energyInterval); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetConst(ConstHandle2ConstEnergyIntervals This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGet(ConstHandle2EnergyIntervals This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +EnergyIntervalsEnergyIntervalSet( + ConstHandle2EnergyIntervals This, + const size_t index_, + ConstHandle2ConstEnergyInterval energyInterval +); + +// +++ Has, by index +extern_c int +EnergyIntervalsEnergyIntervalHasByIndex( + ConstHandle2ConstEnergyIntervals This, + const Integer32 index +); + +// --- Get, by index, const +extern_c Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetByIndexConst( + ConstHandle2ConstEnergyIntervals This, + const Integer32 index +); + +// +++ Get, by index, non-const +extern_c Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGetByIndex( + ConstHandle2EnergyIntervals This, + const Integer32 index +); + +// +++ Set, by index +extern_c void +EnergyIntervalsEnergyIntervalSetByIndex( + ConstHandle2EnergyIntervals This, + const Integer32 index, + ConstHandle2ConstEnergyInterval energyInterval +); + +// +++ Has, by domainMin +extern_c int +EnergyIntervalsEnergyIntervalHasByDomainMin( + ConstHandle2ConstEnergyIntervals This, + const Float64 domainMin +); + +// --- Get, by domainMin, const +extern_c Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainMinConst( + ConstHandle2ConstEnergyIntervals This, + const Float64 domainMin +); + +// +++ Get, by domainMin, non-const +extern_c Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainMin( + ConstHandle2EnergyIntervals This, + const Float64 domainMin +); + +// +++ Set, by domainMin +extern_c void +EnergyIntervalsEnergyIntervalSetByDomainMin( + ConstHandle2EnergyIntervals This, + const Float64 domainMin, + ConstHandle2ConstEnergyInterval energyInterval +); + +// +++ Has, by domainMax +extern_c int +EnergyIntervalsEnergyIntervalHasByDomainMax( + ConstHandle2ConstEnergyIntervals This, + const Float64 domainMax +); + +// --- Get, by domainMax, const +extern_c Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainMaxConst( + ConstHandle2ConstEnergyIntervals This, + const Float64 domainMax +); + +// +++ Get, by domainMax, non-const +extern_c Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainMax( + ConstHandle2EnergyIntervals This, + const Float64 domainMax +); + +// +++ Set, by domainMax +extern_c void +EnergyIntervalsEnergyIntervalSetByDomainMax( + ConstHandle2EnergyIntervals This, + const Float64 domainMax, + ConstHandle2ConstEnergyInterval energyInterval +); + +// +++ Has, by domainUnit +extern_c int +EnergyIntervalsEnergyIntervalHasByDomainUnit( + ConstHandle2ConstEnergyIntervals This, + const XMLName domainUnit +); + +// --- Get, by domainUnit, const +extern_c Handle2ConstEnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainUnitConst( + ConstHandle2ConstEnergyIntervals This, + const XMLName domainUnit +); + +// +++ Get, by domainUnit, non-const +extern_c Handle2EnergyInterval +EnergyIntervalsEnergyIntervalGetByDomainUnit( + ConstHandle2EnergyIntervals This, + const XMLName domainUnit +); + +// +++ Set, by domainUnit +extern_c void +EnergyIntervalsEnergyIntervalSetByDomainUnit( + ConstHandle2EnergyIntervals This, + const XMLName domainUnit, + ConstHandle2ConstEnergyInterval energyInterval +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp new file mode 100644 index 000000000..62ae584f8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp @@ -0,0 +1,240 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/ExternalRMatrix.hpp" +#include "ExternalRMatrix.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ExternalRMatrixClass; +using CPP = multigroup::ExternalRMatrix; + +static const std::string CLASSNAME = "ExternalRMatrix"; + +namespace extract { + static auto type = [](auto &obj) { return &obj.type; }; + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = unknownNamespace::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstExternalRMatrix +ExternalRMatrixDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ExternalRMatrix +ExternalRMatrixDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstExternalRMatrix +ExternalRMatrixCreateConst( + const XMLName type, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2ExternalRMatrix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + type, + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + ExternalRMatrixDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Create, general +Handle2ExternalRMatrix +ExternalRMatrixCreate( + const XMLName type, + ConstHandle2Double *const Double, const size_t DoubleSize +) { + ConstHandle2ExternalRMatrix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + type, + std::vector{} + ); + for (size_t DoubleN = 0; DoubleN < DoubleSize; ++DoubleN) + ExternalRMatrixDoubleAdd(handle, Double[DoubleN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ExternalRMatrixAssign(ConstHandle2ExternalRMatrix This, ConstHandle2ConstExternalRMatrix from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ExternalRMatrixDelete(ConstHandle2ConstExternalRMatrix This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ExternalRMatrixRead(ConstHandle2ExternalRMatrix This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ExternalRMatrixWrite(ConstHandle2ConstExternalRMatrix This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ExternalRMatrixPrint(ConstHandle2ConstExternalRMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ExternalRMatrixPrintXML(ConstHandle2ConstExternalRMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ExternalRMatrixPrintJSON(ConstHandle2ConstExternalRMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// Has +int +ExternalRMatrixTypeHas(ConstHandle2ConstExternalRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TypeHas", This, extract::type); +} + +// Get +// Returns by value +XMLName +ExternalRMatrixTypeGet(ConstHandle2ConstExternalRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TypeGet", This, extract::type); +} + +// Set +void +ExternalRMatrixTypeSet(ConstHandle2ExternalRMatrix This, const XMLName type) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TypeSet", This, extract::type, type); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +ExternalRMatrixDoubleHas(ConstHandle2ConstExternalRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Clear +void +ExternalRMatrixDoubleClear(ConstHandle2ExternalRMatrix This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DoubleClear", This, extract::Double); +} + +// Size +size_t +ExternalRMatrixDoubleSize(ConstHandle2ConstExternalRMatrix This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DoubleSize", This, extract::Double); +} + +// Add +void +ExternalRMatrixDoubleAdd(ConstHandle2ExternalRMatrix This, ConstHandle2ConstDouble Double) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DoubleAdd", This, extract::Double, Double); +} + +// Get, by index \in [0,size), const +Handle2ConstDouble +ExternalRMatrixDoubleGetConst(ConstHandle2ConstExternalRMatrix This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Double +ExternalRMatrixDoubleGet(ConstHandle2ExternalRMatrix This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double, index_); +} + +// Set, by index \in [0,size) +void +ExternalRMatrixDoubleSet( + ConstHandle2ExternalRMatrix This, + const size_t index_, + ConstHandle2ConstDouble Double +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h new file mode 100644 index 000000000..aacb049af --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ExternalRMatrix is the basic handle type in this file. Example: +// // Create a default ExternalRMatrix object: +// ExternalRMatrix handle = ExternalRMatrixDefault(); +// Functions involving ExternalRMatrix are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_EXTERNALRMATRIX +#define C_INTERFACE_TRY_V2_0_RESONANCES_EXTERNALRMATRIX + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ExternalRMatrixClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ExternalRMatrix +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ExternalRMatrixClass *ExternalRMatrix; + +// --- Const-aware handles. +typedef const struct ExternalRMatrixClass *const ConstHandle2ConstExternalRMatrix; +typedef struct ExternalRMatrixClass *const ConstHandle2ExternalRMatrix; +typedef const struct ExternalRMatrixClass * Handle2ConstExternalRMatrix; +typedef struct ExternalRMatrixClass * Handle2ExternalRMatrix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstExternalRMatrix +ExternalRMatrixDefaultConst(); + +// +++ Create, default +extern_c Handle2ExternalRMatrix +ExternalRMatrixDefault(); + +// --- Create, general, const +extern_c Handle2ConstExternalRMatrix +ExternalRMatrixCreateConst( + const XMLName type, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Create, general +extern_c Handle2ExternalRMatrix +ExternalRMatrixCreate( + const XMLName type, + ConstHandle2Double *const Double, const size_t DoubleSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ExternalRMatrixAssign(ConstHandle2ExternalRMatrix This, ConstHandle2ConstExternalRMatrix from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ExternalRMatrixDelete(ConstHandle2ConstExternalRMatrix This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ExternalRMatrixRead(ConstHandle2ExternalRMatrix This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ExternalRMatrixWrite(ConstHandle2ConstExternalRMatrix This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ExternalRMatrixPrint(ConstHandle2ConstExternalRMatrix This); + +// +++ Print to standard output, as XML +extern_c int +ExternalRMatrixPrintXML(ConstHandle2ConstExternalRMatrix This); + +// +++ Print to standard output, as JSON +extern_c int +ExternalRMatrixPrintJSON(ConstHandle2ConstExternalRMatrix This); + + +// ----------------------------------------------------------------------------- +// Metadatum: type +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExternalRMatrixTypeHas(ConstHandle2ConstExternalRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ExternalRMatrixTypeGet(ConstHandle2ConstExternalRMatrix This); + +// +++ Set +extern_c void +ExternalRMatrixTypeSet(ConstHandle2ExternalRMatrix This, const XMLName type); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ExternalRMatrixDoubleHas(ConstHandle2ConstExternalRMatrix This); + +// +++ Clear +extern_c void +ExternalRMatrixDoubleClear(ConstHandle2ExternalRMatrix This); + +// +++ Size +extern_c size_t +ExternalRMatrixDoubleSize(ConstHandle2ConstExternalRMatrix This); + +// +++ Add +extern_c void +ExternalRMatrixDoubleAdd(ConstHandle2ExternalRMatrix This, ConstHandle2ConstDouble Double); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDouble +ExternalRMatrixDoubleGetConst(ConstHandle2ConstExternalRMatrix This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Double +ExternalRMatrixDoubleGet(ConstHandle2ExternalRMatrix This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ExternalRMatrixDoubleSet( + ConstHandle2ExternalRMatrix This, + const size_t index_, + ConstHandle2ConstDouble Double +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp new file mode 100644 index 000000000..b18798521 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/HardSphereRadius.hpp" +#include "HardSphereRadius.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = HardSphereRadiusClass; +using CPP = multigroup::HardSphereRadius; + +static const std::string CLASSNAME = "HardSphereRadius"; + +namespace extract { + static auto constant1d = [](auto &obj) { return &obj.constant1d; }; +} + +using CPPConstant1d = unknownNamespace::Constant1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstHardSphereRadius +HardSphereRadiusDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2HardSphereRadius +HardSphereRadiusDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstHardSphereRadius +HardSphereRadiusCreateConst( + ConstHandle2ConstConstant1d constant1d +) { + ConstHandle2HardSphereRadius handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(constant1d) + ); + return handle; +} + +// Create, general +Handle2HardSphereRadius +HardSphereRadiusCreate( + ConstHandle2ConstConstant1d constant1d +) { + ConstHandle2HardSphereRadius handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(constant1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +HardSphereRadiusAssign(ConstHandle2HardSphereRadius This, ConstHandle2ConstHardSphereRadius from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +HardSphereRadiusDelete(ConstHandle2ConstHardSphereRadius This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +HardSphereRadiusRead(ConstHandle2HardSphereRadius This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +HardSphereRadiusWrite(ConstHandle2ConstHardSphereRadius This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +HardSphereRadiusPrint(ConstHandle2ConstHardSphereRadius This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +HardSphereRadiusPrintXML(ConstHandle2ConstHardSphereRadius This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +HardSphereRadiusPrintJSON(ConstHandle2ConstHardSphereRadius This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: constant1d +// ----------------------------------------------------------------------------- + +// Has +int +HardSphereRadiusConstant1dHas(ConstHandle2ConstHardSphereRadius This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Constant1dHas", This, extract::constant1d); +} + +// Get, const +Handle2ConstConstant1d +HardSphereRadiusConstant1dGetConst(ConstHandle2ConstHardSphereRadius This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Constant1dGetConst", This, extract::constant1d); +} + +// Get, non-const +Handle2Constant1d +HardSphereRadiusConstant1dGet(ConstHandle2HardSphereRadius This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Constant1dGet", This, extract::constant1d); +} + +// Set +void +HardSphereRadiusConstant1dSet(ConstHandle2HardSphereRadius This, ConstHandle2ConstConstant1d constant1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Constant1dSet", This, extract::constant1d, constant1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h new file mode 100644 index 000000000..e3c141b05 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// HardSphereRadius is the basic handle type in this file. Example: +// // Create a default HardSphereRadius object: +// HardSphereRadius handle = HardSphereRadiusDefault(); +// Functions involving HardSphereRadius are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_HARDSPHERERADIUS +#define C_INTERFACE_TRY_V2_0_RESONANCES_HARDSPHERERADIUS + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Constant1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct HardSphereRadiusClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ HardSphereRadius +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct HardSphereRadiusClass *HardSphereRadius; + +// --- Const-aware handles. +typedef const struct HardSphereRadiusClass *const ConstHandle2ConstHardSphereRadius; +typedef struct HardSphereRadiusClass *const ConstHandle2HardSphereRadius; +typedef const struct HardSphereRadiusClass * Handle2ConstHardSphereRadius; +typedef struct HardSphereRadiusClass * Handle2HardSphereRadius; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstHardSphereRadius +HardSphereRadiusDefaultConst(); + +// +++ Create, default +extern_c Handle2HardSphereRadius +HardSphereRadiusDefault(); + +// --- Create, general, const +extern_c Handle2ConstHardSphereRadius +HardSphereRadiusCreateConst( + ConstHandle2ConstConstant1d constant1d +); + +// +++ Create, general +extern_c Handle2HardSphereRadius +HardSphereRadiusCreate( + ConstHandle2ConstConstant1d constant1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +HardSphereRadiusAssign(ConstHandle2HardSphereRadius This, ConstHandle2ConstHardSphereRadius from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +HardSphereRadiusDelete(ConstHandle2ConstHardSphereRadius This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +HardSphereRadiusRead(ConstHandle2HardSphereRadius This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +HardSphereRadiusWrite(ConstHandle2ConstHardSphereRadius This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +HardSphereRadiusPrint(ConstHandle2ConstHardSphereRadius This); + +// +++ Print to standard output, as XML +extern_c int +HardSphereRadiusPrintXML(ConstHandle2ConstHardSphereRadius This); + +// +++ Print to standard output, as JSON +extern_c int +HardSphereRadiusPrintJSON(ConstHandle2ConstHardSphereRadius This); + + +// ----------------------------------------------------------------------------- +// Child: constant1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HardSphereRadiusConstant1dHas(ConstHandle2ConstHardSphereRadius This); + +// --- Get, const +extern_c Handle2ConstConstant1d +HardSphereRadiusConstant1dGetConst(ConstHandle2ConstHardSphereRadius This); + +// +++ Get, non-const +extern_c Handle2Constant1d +HardSphereRadiusConstant1dGet(ConstHandle2HardSphereRadius This); + +// +++ Set +extern_c void +HardSphereRadiusConstant1dSet(ConstHandle2HardSphereRadius This, ConstHandle2ConstConstant1d constant1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/J.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/J.cpp new file mode 100644 index 000000000..954575deb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/J.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/J.hpp" +#include "J.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = JClass; +using CPP = multigroup::J; + +static const std::string CLASSNAME = "J"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto levelSpacing = [](auto &obj) { return &obj.levelSpacing; }; + static auto widths = [](auto &obj) { return &obj.widths; }; +} + +using CPPLevelSpacing = resonances::LevelSpacing; +using CPPWidths = resonances::Widths; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstJ +JDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2J +JDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstJ +JCreateConst( + const XMLName label, + const Fraction32 value, + ConstHandle2ConstLevelSpacing levelSpacing, + ConstHandle2ConstWidths widths +) { + ConstHandle2J handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + value, + detail::tocpp(levelSpacing), + detail::tocpp(widths) + ); + return handle; +} + +// Create, general +Handle2J +JCreate( + const XMLName label, + const Fraction32 value, + ConstHandle2ConstLevelSpacing levelSpacing, + ConstHandle2ConstWidths widths +) { + ConstHandle2J handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + value, + detail::tocpp(levelSpacing), + detail::tocpp(widths) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +JAssign(ConstHandle2J This, ConstHandle2ConstJ from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +JDelete(ConstHandle2ConstJ This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +JRead(ConstHandle2J This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +JWrite(ConstHandle2ConstJ This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +JPrint(ConstHandle2ConstJ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +JPrintXML(ConstHandle2ConstJ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +JPrintJSON(ConstHandle2ConstJ This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +JLabelHas(ConstHandle2ConstJ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +JLabelGet(ConstHandle2ConstJ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +JLabelSet(ConstHandle2J This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +JValueHas(ConstHandle2ConstJ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Fraction32 +JValueGet(ConstHandle2ConstJ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +JValueSet(ConstHandle2J This, const Fraction32 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: levelSpacing +// ----------------------------------------------------------------------------- + +// Has +int +JLevelSpacingHas(ConstHandle2ConstJ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LevelSpacingHas", This, extract::levelSpacing); +} + +// Get, const +Handle2ConstLevelSpacing +JLevelSpacingGetConst(ConstHandle2ConstJ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LevelSpacingGetConst", This, extract::levelSpacing); +} + +// Get, non-const +Handle2LevelSpacing +JLevelSpacingGet(ConstHandle2J This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LevelSpacingGet", This, extract::levelSpacing); +} + +// Set +void +JLevelSpacingSet(ConstHandle2J This, ConstHandle2ConstLevelSpacing levelSpacing) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LevelSpacingSet", This, extract::levelSpacing, levelSpacing); +} + + +// ----------------------------------------------------------------------------- +// Child: widths +// ----------------------------------------------------------------------------- + +// Has +int +JWidthsHas(ConstHandle2ConstJ This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"WidthsHas", This, extract::widths); +} + +// Get, const +Handle2ConstWidths +JWidthsGetConst(ConstHandle2ConstJ This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WidthsGetConst", This, extract::widths); +} + +// Get, non-const +Handle2Widths +JWidthsGet(ConstHandle2J This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WidthsGet", This, extract::widths); +} + +// Set +void +JWidthsSet(ConstHandle2J This, ConstHandle2ConstWidths widths) +{ + detail::setField + (CLASSNAME, CLASSNAME+"WidthsSet", This, extract::widths, widths); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/J.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/J.h new file mode 100644 index 000000000..a63e92822 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/J.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// J is the basic handle type in this file. Example: +// // Create a default J object: +// J handle = JDefault(); +// Functions involving J are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_J +#define C_INTERFACE_TRY_V2_0_RESONANCES_J + +#include "GNDStk.h" +#include "v2.0/resonances/LevelSpacing.h" +#include "v2.0/resonances/Widths.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct JClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ J +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct JClass *J; + +// --- Const-aware handles. +typedef const struct JClass *const ConstHandle2ConstJ; +typedef struct JClass *const ConstHandle2J; +typedef const struct JClass * Handle2ConstJ; +typedef struct JClass * Handle2J; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstJ +JDefaultConst(); + +// +++ Create, default +extern_c Handle2J +JDefault(); + +// --- Create, general, const +extern_c Handle2ConstJ +JCreateConst( + const XMLName label, + const Fraction32 value, + ConstHandle2ConstLevelSpacing levelSpacing, + ConstHandle2ConstWidths widths +); + +// +++ Create, general +extern_c Handle2J +JCreate( + const XMLName label, + const Fraction32 value, + ConstHandle2ConstLevelSpacing levelSpacing, + ConstHandle2ConstWidths widths +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +JAssign(ConstHandle2J This, ConstHandle2ConstJ from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +JDelete(ConstHandle2ConstJ This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +JRead(ConstHandle2J This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +JWrite(ConstHandle2ConstJ This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +JPrint(ConstHandle2ConstJ This); + +// +++ Print to standard output, as XML +extern_c int +JPrintXML(ConstHandle2ConstJ This); + +// +++ Print to standard output, as JSON +extern_c int +JPrintJSON(ConstHandle2ConstJ This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +JLabelHas(ConstHandle2ConstJ This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +JLabelGet(ConstHandle2ConstJ This); + +// +++ Set +extern_c void +JLabelSet(ConstHandle2J This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +JValueHas(ConstHandle2ConstJ This); + +// +++ Get +// +++ Returns by value +extern_c Fraction32 +JValueGet(ConstHandle2ConstJ This); + +// +++ Set +extern_c void +JValueSet(ConstHandle2J This, const Fraction32 value); + + +// ----------------------------------------------------------------------------- +// Child: levelSpacing +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +JLevelSpacingHas(ConstHandle2ConstJ This); + +// --- Get, const +extern_c Handle2ConstLevelSpacing +JLevelSpacingGetConst(ConstHandle2ConstJ This); + +// +++ Get, non-const +extern_c Handle2LevelSpacing +JLevelSpacingGet(ConstHandle2J This); + +// +++ Set +extern_c void +JLevelSpacingSet(ConstHandle2J This, ConstHandle2ConstLevelSpacing levelSpacing); + + +// ----------------------------------------------------------------------------- +// Child: widths +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +JWidthsHas(ConstHandle2ConstJ This); + +// --- Get, const +extern_c Handle2ConstWidths +JWidthsGetConst(ConstHandle2ConstJ This); + +// +++ Get, non-const +extern_c Handle2Widths +JWidthsGet(ConstHandle2J This); + +// +++ Set +extern_c void +JWidthsSet(ConstHandle2J This, ConstHandle2ConstWidths widths); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.cpp new file mode 100644 index 000000000..c11c085d0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Js.hpp" +#include "Js.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = JsClass; +using CPP = multigroup::Js; + +static const std::string CLASSNAME = "Js"; + +namespace extract { + static auto J = [](auto &obj) { return &obj.J; }; +} + +using CPPJ = resonances::J; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstJs +JsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Js +JsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstJs +JsCreateConst( + ConstHandle2J *const J, const size_t JSize +) { + ConstHandle2Js handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t JN = 0; JN < JSize; ++JN) + JsJAdd(handle, J[JN]); + return handle; +} + +// Create, general +Handle2Js +JsCreate( + ConstHandle2J *const J, const size_t JSize +) { + ConstHandle2Js handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t JN = 0; JN < JSize; ++JN) + JsJAdd(handle, J[JN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +JsAssign(ConstHandle2Js This, ConstHandle2ConstJs from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +JsDelete(ConstHandle2ConstJs This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +JsRead(ConstHandle2Js This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +JsWrite(ConstHandle2ConstJs This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +JsPrint(ConstHandle2ConstJs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +JsPrintXML(ConstHandle2ConstJs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +JsPrintJSON(ConstHandle2ConstJs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: J +// ----------------------------------------------------------------------------- + +// Has +int +JsJHas(ConstHandle2ConstJs This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"JHas", This, extract::J); +} + +// Clear +void +JsJClear(ConstHandle2Js This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"JClear", This, extract::J); +} + +// Size +size_t +JsJSize(ConstHandle2ConstJs This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"JSize", This, extract::J); +} + +// Add +void +JsJAdd(ConstHandle2Js This, ConstHandle2ConstJ J) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"JAdd", This, extract::J, J); +} + +// Get, by index \in [0,size), const +Handle2ConstJ +JsJGetConst(ConstHandle2ConstJs This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"JGetConst", This, extract::J, index_); +} + +// Get, by index \in [0,size), non-const +Handle2J +JsJGet(ConstHandle2Js This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"JGet", This, extract::J, index_); +} + +// Set, by index \in [0,size) +void +JsJSet( + ConstHandle2Js This, + const size_t index_, + ConstHandle2ConstJ J +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"JSet", This, extract::J, index_, J); +} + +// Has, by label +int +JsJHasByLabel( + ConstHandle2ConstJs This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"JHasByLabel", + This, extract::J, meta::label, label); +} + +// Get, by label, const +Handle2ConstJ +JsJGetByLabelConst( + ConstHandle2ConstJs This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"JGetByLabelConst", + This, extract::J, meta::label, label); +} + +// Get, by label, non-const +Handle2J +JsJGetByLabel( + ConstHandle2Js This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"JGetByLabel", + This, extract::J, meta::label, label); +} + +// Set, by label +void +JsJSetByLabel( + ConstHandle2Js This, + const XMLName label, + ConstHandle2ConstJ J +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"JSetByLabel", + This, extract::J, meta::label, label, J); +} + +// Has, by value +int +JsJHasByValue( + ConstHandle2ConstJs This, + const Fraction32 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"JHasByValue", + This, extract::J, meta::value, value); +} + +// Get, by value, const +Handle2ConstJ +JsJGetByValueConst( + ConstHandle2ConstJs This, + const Fraction32 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"JGetByValueConst", + This, extract::J, meta::value, value); +} + +// Get, by value, non-const +Handle2J +JsJGetByValue( + ConstHandle2Js This, + const Fraction32 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"JGetByValue", + This, extract::J, meta::value, value); +} + +// Set, by value +void +JsJSetByValue( + ConstHandle2Js This, + const Fraction32 value, + ConstHandle2ConstJ J +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"JSetByValue", + This, extract::J, meta::value, value, J); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.h new file mode 100644 index 000000000..755e8cf09 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Js is the basic handle type in this file. Example: +// // Create a default Js object: +// Js handle = JsDefault(); +// Functions involving Js are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_JS +#define C_INTERFACE_TRY_V2_0_RESONANCES_JS + +#include "GNDStk.h" +#include "v2.0/resonances/J.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct JsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Js +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct JsClass *Js; + +// --- Const-aware handles. +typedef const struct JsClass *const ConstHandle2ConstJs; +typedef struct JsClass *const ConstHandle2Js; +typedef const struct JsClass * Handle2ConstJs; +typedef struct JsClass * Handle2Js; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstJs +JsDefaultConst(); + +// +++ Create, default +extern_c Handle2Js +JsDefault(); + +// --- Create, general, const +extern_c Handle2ConstJs +JsCreateConst( + ConstHandle2J *const J, const size_t JSize +); + +// +++ Create, general +extern_c Handle2Js +JsCreate( + ConstHandle2J *const J, const size_t JSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +JsAssign(ConstHandle2Js This, ConstHandle2ConstJs from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +JsDelete(ConstHandle2ConstJs This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +JsRead(ConstHandle2Js This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +JsWrite(ConstHandle2ConstJs This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +JsPrint(ConstHandle2ConstJs This); + +// +++ Print to standard output, as XML +extern_c int +JsPrintXML(ConstHandle2ConstJs This); + +// +++ Print to standard output, as JSON +extern_c int +JsPrintJSON(ConstHandle2ConstJs This); + + +// ----------------------------------------------------------------------------- +// Child: J +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +JsJHas(ConstHandle2ConstJs This); + +// +++ Clear +extern_c void +JsJClear(ConstHandle2Js This); + +// +++ Size +extern_c size_t +JsJSize(ConstHandle2ConstJs This); + +// +++ Add +extern_c void +JsJAdd(ConstHandle2Js This, ConstHandle2ConstJ J); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstJ +JsJGetConst(ConstHandle2ConstJs This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2J +JsJGet(ConstHandle2Js This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +JsJSet( + ConstHandle2Js This, + const size_t index_, + ConstHandle2ConstJ J +); + +// +++ Has, by label +extern_c int +JsJHasByLabel( + ConstHandle2ConstJs This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstJ +JsJGetByLabelConst( + ConstHandle2ConstJs This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2J +JsJGetByLabel( + ConstHandle2Js This, + const XMLName label +); + +// +++ Set, by label +extern_c void +JsJSetByLabel( + ConstHandle2Js This, + const XMLName label, + ConstHandle2ConstJ J +); + +// +++ Has, by value +extern_c int +JsJHasByValue( + ConstHandle2ConstJs This, + const Fraction32 value +); + +// --- Get, by value, const +extern_c Handle2ConstJ +JsJGetByValueConst( + ConstHandle2ConstJs This, + const Fraction32 value +); + +// +++ Get, by value, non-const +extern_c Handle2J +JsJGetByValue( + ConstHandle2Js This, + const Fraction32 value +); + +// +++ Set, by value +extern_c void +JsJSetByValue( + ConstHandle2Js This, + const Fraction32 value, + ConstHandle2ConstJ J +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/L.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/L.cpp new file mode 100644 index 000000000..6c3f5ece2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/L.cpp @@ -0,0 +1,244 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/L.hpp" +#include "L.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LClass; +using CPP = multigroup::L; + +static const std::string CLASSNAME = "L"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto Js = [](auto &obj) { return &obj.Js; }; +} + +using CPPJs = resonances::Js; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstL +LDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2L +LDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstL +LCreateConst( + const XMLName label, + const Integer32 value, + ConstHandle2ConstJs Js +) { + ConstHandle2L handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + value, + detail::tocpp(Js) + ); + return handle; +} + +// Create, general +Handle2L +LCreate( + const XMLName label, + const Integer32 value, + ConstHandle2ConstJs Js +) { + ConstHandle2L handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + value, + detail::tocpp(Js) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LAssign(ConstHandle2L This, ConstHandle2ConstL from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LDelete(ConstHandle2ConstL This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LRead(ConstHandle2L This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LWrite(ConstHandle2ConstL This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LPrint(ConstHandle2ConstL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LPrintXML(ConstHandle2ConstL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LPrintJSON(ConstHandle2ConstL This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +LLabelHas(ConstHandle2ConstL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +LLabelGet(ConstHandle2ConstL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +LLabelSet(ConstHandle2L This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +LValueHas(ConstHandle2ConstL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Integer32 +LValueGet(ConstHandle2ConstL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +LValueSet(ConstHandle2L This, const Integer32 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: Js +// ----------------------------------------------------------------------------- + +// Has +int +LJsHas(ConstHandle2ConstL This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"JsHas", This, extract::Js); +} + +// Get, const +Handle2ConstJs +LJsGetConst(ConstHandle2ConstL This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"JsGetConst", This, extract::Js); +} + +// Get, non-const +Handle2Js +LJsGet(ConstHandle2L This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"JsGet", This, extract::Js); +} + +// Set +void +LJsSet(ConstHandle2L This, ConstHandle2ConstJs Js) +{ + detail::setField + (CLASSNAME, CLASSNAME+"JsSet", This, extract::Js, Js); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/L.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/L.h new file mode 100644 index 000000000..c70082ff9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/L.h @@ -0,0 +1,199 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// L is the basic handle type in this file. Example: +// // Create a default L object: +// L handle = LDefault(); +// Functions involving L are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_L +#define C_INTERFACE_TRY_V2_0_RESONANCES_L + +#include "GNDStk.h" +#include "v2.0/resonances/Js.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ L +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LClass *L; + +// --- Const-aware handles. +typedef const struct LClass *const ConstHandle2ConstL; +typedef struct LClass *const ConstHandle2L; +typedef const struct LClass * Handle2ConstL; +typedef struct LClass * Handle2L; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstL +LDefaultConst(); + +// +++ Create, default +extern_c Handle2L +LDefault(); + +// --- Create, general, const +extern_c Handle2ConstL +LCreateConst( + const XMLName label, + const Integer32 value, + ConstHandle2ConstJs Js +); + +// +++ Create, general +extern_c Handle2L +LCreate( + const XMLName label, + const Integer32 value, + ConstHandle2ConstJs Js +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LAssign(ConstHandle2L This, ConstHandle2ConstL from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LDelete(ConstHandle2ConstL This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LRead(ConstHandle2L This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LWrite(ConstHandle2ConstL This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LPrint(ConstHandle2ConstL This); + +// +++ Print to standard output, as XML +extern_c int +LPrintXML(ConstHandle2ConstL This); + +// +++ Print to standard output, as JSON +extern_c int +LPrintJSON(ConstHandle2ConstL This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LLabelHas(ConstHandle2ConstL This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +LLabelGet(ConstHandle2ConstL This); + +// +++ Set +extern_c void +LLabelSet(ConstHandle2L This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LValueHas(ConstHandle2ConstL This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +LValueGet(ConstHandle2ConstL This); + +// +++ Set +extern_c void +LValueSet(ConstHandle2L This, const Integer32 value); + + +// ----------------------------------------------------------------------------- +// Child: Js +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LJsHas(ConstHandle2ConstL This); + +// --- Get, const +extern_c Handle2ConstJs +LJsGetConst(ConstHandle2ConstL This); + +// +++ Get, non-const +extern_c Handle2Js +LJsGet(ConstHandle2L This); + +// +++ Set +extern_c void +LJsSet(ConstHandle2L This, ConstHandle2ConstJs Js); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp new file mode 100644 index 000000000..0810cc957 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/LevelSpacing.hpp" +#include "LevelSpacing.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LevelSpacingClass; +using CPP = multigroup::LevelSpacing; + +static const std::string CLASSNAME = "LevelSpacing"; + +namespace extract { + static auto constant1d = [](auto &obj) { return &obj.constant1d; }; + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPConstant1d = unknownNamespace::Constant1d; +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLevelSpacing +LevelSpacingDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2LevelSpacing +LevelSpacingDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLevelSpacing +LevelSpacingCreateConst( + ConstHandle2ConstConstant1d constant1d, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2LevelSpacing handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(constant1d), + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2LevelSpacing +LevelSpacingCreate( + ConstHandle2ConstConstant1d constant1d, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2LevelSpacing handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(constant1d), + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LevelSpacingAssign(ConstHandle2LevelSpacing This, ConstHandle2ConstLevelSpacing from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LevelSpacingDelete(ConstHandle2ConstLevelSpacing This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LevelSpacingRead(ConstHandle2LevelSpacing This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LevelSpacingWrite(ConstHandle2ConstLevelSpacing This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LevelSpacingPrint(ConstHandle2ConstLevelSpacing This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LevelSpacingPrintXML(ConstHandle2ConstLevelSpacing This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LevelSpacingPrintJSON(ConstHandle2ConstLevelSpacing This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: constant1d +// ----------------------------------------------------------------------------- + +// Has +int +LevelSpacingConstant1dHas(ConstHandle2ConstLevelSpacing This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Constant1dHas", This, extract::constant1d); +} + +// Get, const +Handle2ConstConstant1d +LevelSpacingConstant1dGetConst(ConstHandle2ConstLevelSpacing This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Constant1dGetConst", This, extract::constant1d); +} + +// Get, non-const +Handle2Constant1d +LevelSpacingConstant1dGet(ConstHandle2LevelSpacing This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Constant1dGet", This, extract::constant1d); +} + +// Set +void +LevelSpacingConstant1dSet(ConstHandle2LevelSpacing This, ConstHandle2ConstConstant1d constant1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Constant1dSet", This, extract::constant1d, constant1d); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +LevelSpacingXYs1dHas(ConstHandle2ConstLevelSpacing This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +LevelSpacingXYs1dGetConst(ConstHandle2ConstLevelSpacing This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +LevelSpacingXYs1dGet(ConstHandle2LevelSpacing This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +LevelSpacingXYs1dSet(ConstHandle2LevelSpacing This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +LevelSpacingRegions1dHas(ConstHandle2ConstLevelSpacing This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +LevelSpacingRegions1dGetConst(ConstHandle2ConstLevelSpacing This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +LevelSpacingRegions1dGet(ConstHandle2LevelSpacing This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +LevelSpacingRegions1dSet(ConstHandle2LevelSpacing This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h new file mode 100644 index 000000000..cb40a402f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// LevelSpacing is the basic handle type in this file. Example: +// // Create a default LevelSpacing object: +// LevelSpacing handle = LevelSpacingDefault(); +// Functions involving LevelSpacing are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_LEVELSPACING +#define C_INTERFACE_TRY_V2_0_RESONANCES_LEVELSPACING + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Constant1d.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LevelSpacingClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ LevelSpacing +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LevelSpacingClass *LevelSpacing; + +// --- Const-aware handles. +typedef const struct LevelSpacingClass *const ConstHandle2ConstLevelSpacing; +typedef struct LevelSpacingClass *const ConstHandle2LevelSpacing; +typedef const struct LevelSpacingClass * Handle2ConstLevelSpacing; +typedef struct LevelSpacingClass * Handle2LevelSpacing; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLevelSpacing +LevelSpacingDefaultConst(); + +// +++ Create, default +extern_c Handle2LevelSpacing +LevelSpacingDefault(); + +// --- Create, general, const +extern_c Handle2ConstLevelSpacing +LevelSpacingCreateConst( + ConstHandle2ConstConstant1d constant1d, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2LevelSpacing +LevelSpacingCreate( + ConstHandle2ConstConstant1d constant1d, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LevelSpacingAssign(ConstHandle2LevelSpacing This, ConstHandle2ConstLevelSpacing from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LevelSpacingDelete(ConstHandle2ConstLevelSpacing This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LevelSpacingRead(ConstHandle2LevelSpacing This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LevelSpacingWrite(ConstHandle2ConstLevelSpacing This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LevelSpacingPrint(ConstHandle2ConstLevelSpacing This); + +// +++ Print to standard output, as XML +extern_c int +LevelSpacingPrintXML(ConstHandle2ConstLevelSpacing This); + +// +++ Print to standard output, as JSON +extern_c int +LevelSpacingPrintJSON(ConstHandle2ConstLevelSpacing This); + + +// ----------------------------------------------------------------------------- +// Child: constant1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LevelSpacingConstant1dHas(ConstHandle2ConstLevelSpacing This); + +// --- Get, const +extern_c Handle2ConstConstant1d +LevelSpacingConstant1dGetConst(ConstHandle2ConstLevelSpacing This); + +// +++ Get, non-const +extern_c Handle2Constant1d +LevelSpacingConstant1dGet(ConstHandle2LevelSpacing This); + +// +++ Set +extern_c void +LevelSpacingConstant1dSet(ConstHandle2LevelSpacing This, ConstHandle2ConstConstant1d constant1d); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LevelSpacingXYs1dHas(ConstHandle2ConstLevelSpacing This); + +// --- Get, const +extern_c Handle2ConstXYs1d +LevelSpacingXYs1dGetConst(ConstHandle2ConstLevelSpacing This); + +// +++ Get, non-const +extern_c Handle2XYs1d +LevelSpacingXYs1dGet(ConstHandle2LevelSpacing This); + +// +++ Set +extern_c void +LevelSpacingXYs1dSet(ConstHandle2LevelSpacing This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LevelSpacingRegions1dHas(ConstHandle2ConstLevelSpacing This); + +// --- Get, const +extern_c Handle2ConstRegions1d +LevelSpacingRegions1dGetConst(ConstHandle2ConstLevelSpacing This); + +// +++ Get, non-const +extern_c Handle2Regions1d +LevelSpacingRegions1dGet(ConstHandle2LevelSpacing This); + +// +++ Set +extern_c void +LevelSpacingRegions1dSet(ConstHandle2LevelSpacing This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.cpp new file mode 100644 index 000000000..b032a4e59 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Ls.hpp" +#include "Ls.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LsClass; +using CPP = multigroup::Ls; + +static const std::string CLASSNAME = "Ls"; + +namespace extract { + static auto L = [](auto &obj) { return &obj.L; }; +} + +using CPPL = resonances::L; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLs +LsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Ls +LsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLs +LsCreateConst( + ConstHandle2L *const L, const size_t LSize +) { + ConstHandle2Ls handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t LN = 0; LN < LSize; ++LN) + LsLAdd(handle, L[LN]); + return handle; +} + +// Create, general +Handle2Ls +LsCreate( + ConstHandle2L *const L, const size_t LSize +) { + ConstHandle2Ls handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t LN = 0; LN < LSize; ++LN) + LsLAdd(handle, L[LN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LsAssign(ConstHandle2Ls This, ConstHandle2ConstLs from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LsDelete(ConstHandle2ConstLs This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LsRead(ConstHandle2Ls This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LsWrite(ConstHandle2ConstLs This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LsPrint(ConstHandle2ConstLs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LsPrintXML(ConstHandle2ConstLs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LsPrintJSON(ConstHandle2ConstLs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: L +// ----------------------------------------------------------------------------- + +// Has +int +LsLHas(ConstHandle2ConstLs This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LHas", This, extract::L); +} + +// Clear +void +LsLClear(ConstHandle2Ls This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"LClear", This, extract::L); +} + +// Size +size_t +LsLSize(ConstHandle2ConstLs This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"LSize", This, extract::L); +} + +// Add +void +LsLAdd(ConstHandle2Ls This, ConstHandle2ConstL L) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"LAdd", This, extract::L, L); +} + +// Get, by index \in [0,size), const +Handle2ConstL +LsLGetConst(ConstHandle2ConstLs This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"LGetConst", This, extract::L, index_); +} + +// Get, by index \in [0,size), non-const +Handle2L +LsLGet(ConstHandle2Ls This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"LGet", This, extract::L, index_); +} + +// Set, by index \in [0,size) +void +LsLSet( + ConstHandle2Ls This, + const size_t index_, + ConstHandle2ConstL L +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"LSet", This, extract::L, index_, L); +} + +// Has, by label +int +LsLHasByLabel( + ConstHandle2ConstLs This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"LHasByLabel", + This, extract::L, meta::label, label); +} + +// Get, by label, const +Handle2ConstL +LsLGetByLabelConst( + ConstHandle2ConstLs This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LGetByLabelConst", + This, extract::L, meta::label, label); +} + +// Get, by label, non-const +Handle2L +LsLGetByLabel( + ConstHandle2Ls This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LGetByLabel", + This, extract::L, meta::label, label); +} + +// Set, by label +void +LsLSetByLabel( + ConstHandle2Ls This, + const XMLName label, + ConstHandle2ConstL L +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"LSetByLabel", + This, extract::L, meta::label, label, L); +} + +// Has, by value +int +LsLHasByValue( + ConstHandle2ConstLs This, + const Integer32 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"LHasByValue", + This, extract::L, meta::value, value); +} + +// Get, by value, const +Handle2ConstL +LsLGetByValueConst( + ConstHandle2ConstLs This, + const Integer32 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LGetByValueConst", + This, extract::L, meta::value, value); +} + +// Get, by value, non-const +Handle2L +LsLGetByValue( + ConstHandle2Ls This, + const Integer32 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"LGetByValue", + This, extract::L, meta::value, value); +} + +// Set, by value +void +LsLSetByValue( + ConstHandle2Ls This, + const Integer32 value, + ConstHandle2ConstL L +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"LSetByValue", + This, extract::L, meta::value, value, L); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.h new file mode 100644 index 000000000..480260d55 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Ls is the basic handle type in this file. Example: +// // Create a default Ls object: +// Ls handle = LsDefault(); +// Functions involving Ls are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_LS +#define C_INTERFACE_TRY_V2_0_RESONANCES_LS + +#include "GNDStk.h" +#include "v2.0/resonances/L.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Ls +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LsClass *Ls; + +// --- Const-aware handles. +typedef const struct LsClass *const ConstHandle2ConstLs; +typedef struct LsClass *const ConstHandle2Ls; +typedef const struct LsClass * Handle2ConstLs; +typedef struct LsClass * Handle2Ls; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLs +LsDefaultConst(); + +// +++ Create, default +extern_c Handle2Ls +LsDefault(); + +// --- Create, general, const +extern_c Handle2ConstLs +LsCreateConst( + ConstHandle2L *const L, const size_t LSize +); + +// +++ Create, general +extern_c Handle2Ls +LsCreate( + ConstHandle2L *const L, const size_t LSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LsAssign(ConstHandle2Ls This, ConstHandle2ConstLs from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LsDelete(ConstHandle2ConstLs This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LsRead(ConstHandle2Ls This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LsWrite(ConstHandle2ConstLs This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LsPrint(ConstHandle2ConstLs This); + +// +++ Print to standard output, as XML +extern_c int +LsPrintXML(ConstHandle2ConstLs This); + +// +++ Print to standard output, as JSON +extern_c int +LsPrintJSON(ConstHandle2ConstLs This); + + +// ----------------------------------------------------------------------------- +// Child: L +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LsLHas(ConstHandle2ConstLs This); + +// +++ Clear +extern_c void +LsLClear(ConstHandle2Ls This); + +// +++ Size +extern_c size_t +LsLSize(ConstHandle2ConstLs This); + +// +++ Add +extern_c void +LsLAdd(ConstHandle2Ls This, ConstHandle2ConstL L); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstL +LsLGetConst(ConstHandle2ConstLs This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2L +LsLGet(ConstHandle2Ls This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +LsLSet( + ConstHandle2Ls This, + const size_t index_, + ConstHandle2ConstL L +); + +// +++ Has, by label +extern_c int +LsLHasByLabel( + ConstHandle2ConstLs This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstL +LsLGetByLabelConst( + ConstHandle2ConstLs This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2L +LsLGetByLabel( + ConstHandle2Ls This, + const XMLName label +); + +// +++ Set, by label +extern_c void +LsLSetByLabel( + ConstHandle2Ls This, + const XMLName label, + ConstHandle2ConstL L +); + +// +++ Has, by value +extern_c int +LsLHasByValue( + ConstHandle2ConstLs This, + const Integer32 value +); + +// --- Get, by value, const +extern_c Handle2ConstL +LsLGetByValueConst( + ConstHandle2ConstLs This, + const Integer32 value +); + +// +++ Get, by value, non-const +extern_c Handle2L +LsLGetByValue( + ConstHandle2Ls This, + const Integer32 value +); + +// +++ Set, by value +extern_c void +LsLSetByValue( + ConstHandle2Ls This, + const Integer32 value, + ConstHandle2ConstL L +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp new file mode 100644 index 000000000..f3ac74819 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp @@ -0,0 +1,540 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/RMatrix.hpp" +#include "RMatrix.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RMatrixClass; +using CPP = multigroup::RMatrix; + +static const std::string CLASSNAME = "RMatrix"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto approximation = [](auto &obj) { return &obj.approximation; }; + static auto boundaryCondition = [](auto &obj) { return &obj.boundaryCondition; }; + static auto boundaryConditionValue = [](auto &obj) { return &obj.boundaryConditionValue; }; + static auto calculateChannelRadius = [](auto &obj) { return &obj.calculateChannelRadius; }; + static auto calculatePenetrability = [](auto &obj) { return &obj.calculatePenetrability; }; + static auto useForSelfShieldingOnly = [](auto &obj) { return &obj.useForSelfShieldingOnly; }; + static auto supportsAngularReconstruction = [](auto &obj) { return &obj.supportsAngularReconstruction; }; + static auto PoPs = [](auto &obj) { return &obj.PoPs; }; + static auto resonanceReactions = [](auto &obj) { return &obj.resonanceReactions; }; + static auto spinGroups = [](auto &obj) { return &obj.spinGroups; }; +} + +using CPPPoPs = unknownNamespace::PoPs; +using CPPResonanceReactions = resonances::ResonanceReactions; +using CPPSpinGroups = resonances::SpinGroups; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRMatrix +RMatrixDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2RMatrix +RMatrixDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRMatrix +RMatrixCreateConst( + const XMLName label, + const XMLName approximation, + const enums::BoundaryCondition boundaryCondition, + const Float64 boundaryConditionValue, + const bool calculateChannelRadius, + const bool calculatePenetrability, + const bool useForSelfShieldingOnly, + const bool supportsAngularReconstruction, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstResonanceReactions resonanceReactions, + ConstHandle2ConstSpinGroups spinGroups +) { + ConstHandle2RMatrix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + approximation, + boundaryCondition, + boundaryConditionValue, + calculateChannelRadius, + calculatePenetrability, + useForSelfShieldingOnly, + supportsAngularReconstruction, + detail::tocpp(PoPs), + detail::tocpp(resonanceReactions), + detail::tocpp(spinGroups) + ); + return handle; +} + +// Create, general +Handle2RMatrix +RMatrixCreate( + const XMLName label, + const XMLName approximation, + const enums::BoundaryCondition boundaryCondition, + const Float64 boundaryConditionValue, + const bool calculateChannelRadius, + const bool calculatePenetrability, + const bool useForSelfShieldingOnly, + const bool supportsAngularReconstruction, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstResonanceReactions resonanceReactions, + ConstHandle2ConstSpinGroups spinGroups +) { + ConstHandle2RMatrix handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + approximation, + boundaryCondition, + boundaryConditionValue, + calculateChannelRadius, + calculatePenetrability, + useForSelfShieldingOnly, + supportsAngularReconstruction, + detail::tocpp(PoPs), + detail::tocpp(resonanceReactions), + detail::tocpp(spinGroups) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RMatrixAssign(ConstHandle2RMatrix This, ConstHandle2ConstRMatrix from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RMatrixDelete(ConstHandle2ConstRMatrix This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RMatrixRead(ConstHandle2RMatrix This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RMatrixWrite(ConstHandle2ConstRMatrix This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RMatrixPrint(ConstHandle2ConstRMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RMatrixPrintXML(ConstHandle2ConstRMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RMatrixPrintJSON(ConstHandle2ConstRMatrix This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixLabelHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +RMatrixLabelGet(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +RMatrixLabelSet(ConstHandle2RMatrix This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: approximation +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixApproximationHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ApproximationHas", This, extract::approximation); +} + +// Get +// Returns by value +XMLName +RMatrixApproximationGet(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ApproximationGet", This, extract::approximation); +} + +// Set +void +RMatrixApproximationSet(ConstHandle2RMatrix This, const XMLName approximation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ApproximationSet", This, extract::approximation, approximation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: boundaryCondition +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixBoundaryConditionHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BoundaryConditionHas", This, extract::boundaryCondition); +} + +// Get +// Returns by value +enums::BoundaryCondition +RMatrixBoundaryConditionGet(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BoundaryConditionGet", This, extract::boundaryCondition); +} + +// Set +void +RMatrixBoundaryConditionSet(ConstHandle2RMatrix This, const enums::BoundaryCondition boundaryCondition) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BoundaryConditionSet", This, extract::boundaryCondition, boundaryCondition); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: boundaryConditionValue +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixBoundaryConditionValueHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueHas", This, extract::boundaryConditionValue); +} + +// Get +// Returns by value +Float64 +RMatrixBoundaryConditionValueGet(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueGet", This, extract::boundaryConditionValue); +} + +// Set +void +RMatrixBoundaryConditionValueSet(ConstHandle2RMatrix This, const Float64 boundaryConditionValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueSet", This, extract::boundaryConditionValue, boundaryConditionValue); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: calculateChannelRadius +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixCalculateChannelRadiusHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CalculateChannelRadiusHas", This, extract::calculateChannelRadius); +} + +// Get +// Returns by value +bool +RMatrixCalculateChannelRadiusGet(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CalculateChannelRadiusGet", This, extract::calculateChannelRadius); +} + +// Set +void +RMatrixCalculateChannelRadiusSet(ConstHandle2RMatrix This, const bool calculateChannelRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CalculateChannelRadiusSet", This, extract::calculateChannelRadius, calculateChannelRadius); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: calculatePenetrability +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixCalculatePenetrabilityHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CalculatePenetrabilityHas", This, extract::calculatePenetrability); +} + +// Get +// Returns by value +bool +RMatrixCalculatePenetrabilityGet(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CalculatePenetrabilityGet", This, extract::calculatePenetrability); +} + +// Set +void +RMatrixCalculatePenetrabilitySet(ConstHandle2RMatrix This, const bool calculatePenetrability) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CalculatePenetrabilitySet", This, extract::calculatePenetrability, calculatePenetrability); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: useForSelfShieldingOnly +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixUseForSelfShieldingOnlyHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlyHas", This, extract::useForSelfShieldingOnly); +} + +// Get +// Returns by value +bool +RMatrixUseForSelfShieldingOnlyGet(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlyGet", This, extract::useForSelfShieldingOnly); +} + +// Set +void +RMatrixUseForSelfShieldingOnlySet(ConstHandle2RMatrix This, const bool useForSelfShieldingOnly) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlySet", This, extract::useForSelfShieldingOnly, useForSelfShieldingOnly); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: supportsAngularReconstruction +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixSupportsAngularReconstructionHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SupportsAngularReconstructionHas", This, extract::supportsAngularReconstruction); +} + +// Get +// Returns by value +bool +RMatrixSupportsAngularReconstructionGet(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SupportsAngularReconstructionGet", This, extract::supportsAngularReconstruction); +} + +// Set +void +RMatrixSupportsAngularReconstructionSet(ConstHandle2RMatrix This, const bool supportsAngularReconstruction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SupportsAngularReconstructionSet", This, extract::supportsAngularReconstruction, supportsAngularReconstruction); +} + + +// ----------------------------------------------------------------------------- +// Child: PoPs +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixPoPsHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PoPsHas", This, extract::PoPs); +} + +// Get, const +Handle2ConstPoPs +RMatrixPoPsGetConst(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PoPsGetConst", This, extract::PoPs); +} + +// Get, non-const +Handle2PoPs +RMatrixPoPsGet(ConstHandle2RMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PoPsGet", This, extract::PoPs); +} + +// Set +void +RMatrixPoPsSet(ConstHandle2RMatrix This, ConstHandle2ConstPoPs PoPs) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PoPsSet", This, extract::PoPs, PoPs); +} + + +// ----------------------------------------------------------------------------- +// Child: resonanceReactions +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixResonanceReactionsHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonanceReactionsHas", This, extract::resonanceReactions); +} + +// Get, const +Handle2ConstResonanceReactions +RMatrixResonanceReactionsGetConst(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceReactionsGetConst", This, extract::resonanceReactions); +} + +// Get, non-const +Handle2ResonanceReactions +RMatrixResonanceReactionsGet(ConstHandle2RMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceReactionsGet", This, extract::resonanceReactions); +} + +// Set +void +RMatrixResonanceReactionsSet(ConstHandle2RMatrix This, ConstHandle2ConstResonanceReactions resonanceReactions) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResonanceReactionsSet", This, extract::resonanceReactions, resonanceReactions); +} + + +// ----------------------------------------------------------------------------- +// Child: spinGroups +// ----------------------------------------------------------------------------- + +// Has +int +RMatrixSpinGroupsHas(ConstHandle2ConstRMatrix This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpinGroupsHas", This, extract::spinGroups); +} + +// Get, const +Handle2ConstSpinGroups +RMatrixSpinGroupsGetConst(ConstHandle2ConstRMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGroupsGetConst", This, extract::spinGroups); +} + +// Get, non-const +Handle2SpinGroups +RMatrixSpinGroupsGet(ConstHandle2RMatrix This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGroupsGet", This, extract::spinGroups); +} + +// Set +void +RMatrixSpinGroupsSet(ConstHandle2RMatrix This, ConstHandle2ConstSpinGroups spinGroups) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SpinGroupsSet", This, extract::spinGroups, spinGroups); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h new file mode 100644 index 000000000..5940ed25d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h @@ -0,0 +1,367 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// RMatrix is the basic handle type in this file. Example: +// // Create a default RMatrix object: +// RMatrix handle = RMatrixDefault(); +// Functions involving RMatrix are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RMATRIX +#define C_INTERFACE_TRY_V2_0_RESONANCES_RMATRIX + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/PoPs.h" +#include "v2.0/resonances/ResonanceReactions.h" +#include "v2.0/resonances/SpinGroups.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RMatrixClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ RMatrix +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RMatrixClass *RMatrix; + +// --- Const-aware handles. +typedef const struct RMatrixClass *const ConstHandle2ConstRMatrix; +typedef struct RMatrixClass *const ConstHandle2RMatrix; +typedef const struct RMatrixClass * Handle2ConstRMatrix; +typedef struct RMatrixClass * Handle2RMatrix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRMatrix +RMatrixDefaultConst(); + +// +++ Create, default +extern_c Handle2RMatrix +RMatrixDefault(); + +// --- Create, general, const +extern_c Handle2ConstRMatrix +RMatrixCreateConst( + const XMLName label, + const XMLName approximation, + const enums::BoundaryCondition boundaryCondition, + const Float64 boundaryConditionValue, + const bool calculateChannelRadius, + const bool calculatePenetrability, + const bool useForSelfShieldingOnly, + const bool supportsAngularReconstruction, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstResonanceReactions resonanceReactions, + ConstHandle2ConstSpinGroups spinGroups +); + +// +++ Create, general +extern_c Handle2RMatrix +RMatrixCreate( + const XMLName label, + const XMLName approximation, + const enums::BoundaryCondition boundaryCondition, + const Float64 boundaryConditionValue, + const bool calculateChannelRadius, + const bool calculatePenetrability, + const bool useForSelfShieldingOnly, + const bool supportsAngularReconstruction, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstResonanceReactions resonanceReactions, + ConstHandle2ConstSpinGroups spinGroups +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RMatrixAssign(ConstHandle2RMatrix This, ConstHandle2ConstRMatrix from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RMatrixDelete(ConstHandle2ConstRMatrix This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RMatrixRead(ConstHandle2RMatrix This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RMatrixWrite(ConstHandle2ConstRMatrix This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RMatrixPrint(ConstHandle2ConstRMatrix This); + +// +++ Print to standard output, as XML +extern_c int +RMatrixPrintXML(ConstHandle2ConstRMatrix This); + +// +++ Print to standard output, as JSON +extern_c int +RMatrixPrintJSON(ConstHandle2ConstRMatrix This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixLabelHas(ConstHandle2ConstRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +RMatrixLabelGet(ConstHandle2ConstRMatrix This); + +// +++ Set +extern_c void +RMatrixLabelSet(ConstHandle2RMatrix This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: approximation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixApproximationHas(ConstHandle2ConstRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +RMatrixApproximationGet(ConstHandle2ConstRMatrix This); + +// +++ Set +extern_c void +RMatrixApproximationSet(ConstHandle2RMatrix This, const XMLName approximation); + + +// ----------------------------------------------------------------------------- +// Metadatum: boundaryCondition +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixBoundaryConditionHas(ConstHandle2ConstRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c enums::BoundaryCondition +RMatrixBoundaryConditionGet(ConstHandle2ConstRMatrix This); + +// +++ Set +extern_c void +RMatrixBoundaryConditionSet(ConstHandle2RMatrix This, const enums::BoundaryCondition boundaryCondition); + + +// ----------------------------------------------------------------------------- +// Metadatum: boundaryConditionValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixBoundaryConditionValueHas(ConstHandle2ConstRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +RMatrixBoundaryConditionValueGet(ConstHandle2ConstRMatrix This); + +// +++ Set +extern_c void +RMatrixBoundaryConditionValueSet(ConstHandle2RMatrix This, const Float64 boundaryConditionValue); + + +// ----------------------------------------------------------------------------- +// Metadatum: calculateChannelRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixCalculateChannelRadiusHas(ConstHandle2ConstRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c bool +RMatrixCalculateChannelRadiusGet(ConstHandle2ConstRMatrix This); + +// +++ Set +extern_c void +RMatrixCalculateChannelRadiusSet(ConstHandle2RMatrix This, const bool calculateChannelRadius); + + +// ----------------------------------------------------------------------------- +// Metadatum: calculatePenetrability +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixCalculatePenetrabilityHas(ConstHandle2ConstRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c bool +RMatrixCalculatePenetrabilityGet(ConstHandle2ConstRMatrix This); + +// +++ Set +extern_c void +RMatrixCalculatePenetrabilitySet(ConstHandle2RMatrix This, const bool calculatePenetrability); + + +// ----------------------------------------------------------------------------- +// Metadatum: useForSelfShieldingOnly +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixUseForSelfShieldingOnlyHas(ConstHandle2ConstRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c bool +RMatrixUseForSelfShieldingOnlyGet(ConstHandle2ConstRMatrix This); + +// +++ Set +extern_c void +RMatrixUseForSelfShieldingOnlySet(ConstHandle2RMatrix This, const bool useForSelfShieldingOnly); + + +// ----------------------------------------------------------------------------- +// Metadatum: supportsAngularReconstruction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixSupportsAngularReconstructionHas(ConstHandle2ConstRMatrix This); + +// +++ Get +// +++ Returns by value +extern_c bool +RMatrixSupportsAngularReconstructionGet(ConstHandle2ConstRMatrix This); + +// +++ Set +extern_c void +RMatrixSupportsAngularReconstructionSet(ConstHandle2RMatrix This, const bool supportsAngularReconstruction); + + +// ----------------------------------------------------------------------------- +// Child: PoPs +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixPoPsHas(ConstHandle2ConstRMatrix This); + +// --- Get, const +extern_c Handle2ConstPoPs +RMatrixPoPsGetConst(ConstHandle2ConstRMatrix This); + +// +++ Get, non-const +extern_c Handle2PoPs +RMatrixPoPsGet(ConstHandle2RMatrix This); + +// +++ Set +extern_c void +RMatrixPoPsSet(ConstHandle2RMatrix This, ConstHandle2ConstPoPs PoPs); + + +// ----------------------------------------------------------------------------- +// Child: resonanceReactions +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixResonanceReactionsHas(ConstHandle2ConstRMatrix This); + +// --- Get, const +extern_c Handle2ConstResonanceReactions +RMatrixResonanceReactionsGetConst(ConstHandle2ConstRMatrix This); + +// +++ Get, non-const +extern_c Handle2ResonanceReactions +RMatrixResonanceReactionsGet(ConstHandle2RMatrix This); + +// +++ Set +extern_c void +RMatrixResonanceReactionsSet(ConstHandle2RMatrix This, ConstHandle2ConstResonanceReactions resonanceReactions); + + +// ----------------------------------------------------------------------------- +// Child: spinGroups +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RMatrixSpinGroupsHas(ConstHandle2ConstRMatrix This); + +// --- Get, const +extern_c Handle2ConstSpinGroups +RMatrixSpinGroupsGetConst(ConstHandle2ConstRMatrix This); + +// +++ Get, non-const +extern_c Handle2SpinGroups +RMatrixSpinGroupsGet(ConstHandle2RMatrix This); + +// +++ Set +extern_c void +RMatrixSpinGroupsSet(ConstHandle2RMatrix This, ConstHandle2ConstSpinGroups spinGroups); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.cpp new file mode 100644 index 000000000..97defd0a7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.cpp @@ -0,0 +1,239 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Resolved.hpp" +#include "Resolved.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ResolvedClass; +using CPP = multigroup::Resolved; + +static const std::string CLASSNAME = "Resolved"; + +namespace extract { + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto domainUnit = [](auto &obj) { return &obj.domainUnit; }; +} + +using CPPRMatrix = resonances::RMatrix; +using CPPBreitWigner = resonances::BreitWigner; +using CPPEnergyIntervals = resonances::EnergyIntervals; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstResolved +ResolvedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Resolved +ResolvedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstResolved +ResolvedCreateConst( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +) { + ConstHandle2Resolved handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + domainMin, + domainMax, + domainUnit + ); + return handle; +} + +// Create, general +Handle2Resolved +ResolvedCreate( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +) { + ConstHandle2Resolved handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + domainMin, + domainMax, + domainUnit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ResolvedAssign(ConstHandle2Resolved This, ConstHandle2ConstResolved from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ResolvedDelete(ConstHandle2ConstResolved This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ResolvedRead(ConstHandle2Resolved This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ResolvedWrite(ConstHandle2ConstResolved This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ResolvedPrint(ConstHandle2ConstResolved This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ResolvedPrintXML(ConstHandle2ConstResolved This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ResolvedPrintJSON(ConstHandle2ConstResolved This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +ResolvedDomainMinHas(ConstHandle2ConstResolved This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +ResolvedDomainMinGet(ConstHandle2ConstResolved This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +ResolvedDomainMinSet(ConstHandle2Resolved This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +ResolvedDomainMaxHas(ConstHandle2ConstResolved This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +ResolvedDomainMaxGet(ConstHandle2ConstResolved This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +ResolvedDomainMaxSet(ConstHandle2Resolved This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// Has +int +ResolvedDomainUnitHas(ConstHandle2ConstResolved This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainUnitHas", This, extract::domainUnit); +} + +// Get +// Returns by value +XMLName +ResolvedDomainUnitGet(ConstHandle2ConstResolved This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainUnitGet", This, extract::domainUnit); +} + +// Set +void +ResolvedDomainUnitSet(ConstHandle2Resolved This, const XMLName domainUnit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainUnitSet", This, extract::domainUnit, domainUnit); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.h new file mode 100644 index 000000000..56cbf8d10 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.h @@ -0,0 +1,198 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Resolved is the basic handle type in this file. Example: +// // Create a default Resolved object: +// Resolved handle = ResolvedDefault(); +// Functions involving Resolved are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESOLVED +#define C_INTERFACE_TRY_V2_0_RESONANCES_RESOLVED + +#include "GNDStk.h" +#include "v2.0/resonances/RMatrix.h" +#include "v2.0/resonances/BreitWigner.h" +#include "v2.0/resonances/EnergyIntervals.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ResolvedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Resolved +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ResolvedClass *Resolved; + +// --- Const-aware handles. +typedef const struct ResolvedClass *const ConstHandle2ConstResolved; +typedef struct ResolvedClass *const ConstHandle2Resolved; +typedef const struct ResolvedClass * Handle2ConstResolved; +typedef struct ResolvedClass * Handle2Resolved; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstResolved +ResolvedDefaultConst(); + +// +++ Create, default +extern_c Handle2Resolved +ResolvedDefault(); + +// --- Create, general, const +extern_c Handle2ConstResolved +ResolvedCreateConst( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +); + +// +++ Create, general +extern_c Handle2Resolved +ResolvedCreate( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ResolvedAssign(ConstHandle2Resolved This, ConstHandle2ConstResolved from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ResolvedDelete(ConstHandle2ConstResolved This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ResolvedRead(ConstHandle2Resolved This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ResolvedWrite(ConstHandle2ConstResolved This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ResolvedPrint(ConstHandle2ConstResolved This); + +// +++ Print to standard output, as XML +extern_c int +ResolvedPrintXML(ConstHandle2ConstResolved This); + +// +++ Print to standard output, as JSON +extern_c int +ResolvedPrintJSON(ConstHandle2ConstResolved This); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResolvedDomainMinHas(ConstHandle2ConstResolved This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +ResolvedDomainMinGet(ConstHandle2ConstResolved This); + +// +++ Set +extern_c void +ResolvedDomainMinSet(ConstHandle2Resolved This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResolvedDomainMaxHas(ConstHandle2ConstResolved This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +ResolvedDomainMaxGet(ConstHandle2ConstResolved This); + +// +++ Set +extern_c void +ResolvedDomainMaxSet(ConstHandle2Resolved This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResolvedDomainUnitHas(ConstHandle2ConstResolved This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ResolvedDomainUnitGet(ConstHandle2ConstResolved This); + +// +++ Set +extern_c void +ResolvedDomainUnitSet(ConstHandle2Resolved This, const XMLName domainUnit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp new file mode 100644 index 000000000..8a10085e8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/ResonanceParameters.hpp" +#include "ResonanceParameters.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ResonanceParametersClass; +using CPP = multigroup::ResonanceParameters; + +static const std::string CLASSNAME = "ResonanceParameters"; + +namespace extract { + static auto table = [](auto &obj) { return &obj.table; }; +} + +using CPPTable = unknownNamespace::Table; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstResonanceParameters +ResonanceParametersDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ResonanceParameters +ResonanceParametersDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstResonanceParameters +ResonanceParametersCreateConst( + ConstHandle2ConstTable table +) { + ConstHandle2ResonanceParameters handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(table) + ); + return handle; +} + +// Create, general +Handle2ResonanceParameters +ResonanceParametersCreate( + ConstHandle2ConstTable table +) { + ConstHandle2ResonanceParameters handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(table) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ResonanceParametersAssign(ConstHandle2ResonanceParameters This, ConstHandle2ConstResonanceParameters from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ResonanceParametersDelete(ConstHandle2ConstResonanceParameters This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ResonanceParametersRead(ConstHandle2ResonanceParameters This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ResonanceParametersWrite(ConstHandle2ConstResonanceParameters This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ResonanceParametersPrint(ConstHandle2ConstResonanceParameters This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ResonanceParametersPrintXML(ConstHandle2ConstResonanceParameters This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ResonanceParametersPrintJSON(ConstHandle2ConstResonanceParameters This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: table +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceParametersTableHas(ConstHandle2ConstResonanceParameters This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TableHas", This, extract::table); +} + +// Get, const +Handle2ConstTable +ResonanceParametersTableGetConst(ConstHandle2ConstResonanceParameters This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TableGetConst", This, extract::table); +} + +// Get, non-const +Handle2Table +ResonanceParametersTableGet(ConstHandle2ResonanceParameters This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TableGet", This, extract::table); +} + +// Set +void +ResonanceParametersTableSet(ConstHandle2ResonanceParameters This, ConstHandle2ConstTable table) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TableSet", This, extract::table, table); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h new file mode 100644 index 000000000..21b145ac2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ResonanceParameters is the basic handle type in this file. Example: +// // Create a default ResonanceParameters object: +// ResonanceParameters handle = ResonanceParametersDefault(); +// Functions involving ResonanceParameters are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEPARAMETERS +#define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEPARAMETERS + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Table.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ResonanceParametersClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ResonanceParameters +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ResonanceParametersClass *ResonanceParameters; + +// --- Const-aware handles. +typedef const struct ResonanceParametersClass *const ConstHandle2ConstResonanceParameters; +typedef struct ResonanceParametersClass *const ConstHandle2ResonanceParameters; +typedef const struct ResonanceParametersClass * Handle2ConstResonanceParameters; +typedef struct ResonanceParametersClass * Handle2ResonanceParameters; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstResonanceParameters +ResonanceParametersDefaultConst(); + +// +++ Create, default +extern_c Handle2ResonanceParameters +ResonanceParametersDefault(); + +// --- Create, general, const +extern_c Handle2ConstResonanceParameters +ResonanceParametersCreateConst( + ConstHandle2ConstTable table +); + +// +++ Create, general +extern_c Handle2ResonanceParameters +ResonanceParametersCreate( + ConstHandle2ConstTable table +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ResonanceParametersAssign(ConstHandle2ResonanceParameters This, ConstHandle2ConstResonanceParameters from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ResonanceParametersDelete(ConstHandle2ConstResonanceParameters This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ResonanceParametersRead(ConstHandle2ResonanceParameters This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ResonanceParametersWrite(ConstHandle2ConstResonanceParameters This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ResonanceParametersPrint(ConstHandle2ConstResonanceParameters This); + +// +++ Print to standard output, as XML +extern_c int +ResonanceParametersPrintXML(ConstHandle2ConstResonanceParameters This); + +// +++ Print to standard output, as JSON +extern_c int +ResonanceParametersPrintJSON(ConstHandle2ConstResonanceParameters This); + + +// ----------------------------------------------------------------------------- +// Child: table +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceParametersTableHas(ConstHandle2ConstResonanceParameters This); + +// --- Get, const +extern_c Handle2ConstTable +ResonanceParametersTableGetConst(ConstHandle2ConstResonanceParameters This); + +// +++ Get, non-const +extern_c Handle2Table +ResonanceParametersTableGet(ConstHandle2ResonanceParameters This); + +// +++ Set +extern_c void +ResonanceParametersTableSet(ConstHandle2ResonanceParameters This, ConstHandle2ConstTable table); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp new file mode 100644 index 000000000..863a321d9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp @@ -0,0 +1,443 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/ResonanceReaction.hpp" +#include "ResonanceReaction.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ResonanceReactionClass; +using CPP = multigroup::ResonanceReaction; + +static const std::string CLASSNAME = "ResonanceReaction"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto ejectile = [](auto &obj) { return &obj.ejectile; }; + static auto boundaryConditionValue = [](auto &obj) { return &obj.boundaryConditionValue; }; + static auto eliminated = [](auto &obj) { return &obj.eliminated; }; + static auto Q = [](auto &obj) { return &obj.Q; }; + static auto scatteringRadius = [](auto &obj) { return &obj.scatteringRadius; }; + static auto hardSphereRadius = [](auto &obj) { return &obj.hardSphereRadius; }; + static auto link = [](auto &obj) { return &obj.link; }; +} + +using CPPQ = ambiguousNamespace::Q; +using CPPScatteringRadius = resonances::ScatteringRadius; +using CPPHardSphereRadius = resonances::HardSphereRadius; +using CPPLink = unknownNamespace::Link; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstResonanceReaction +ResonanceReactionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ResonanceReaction +ResonanceReactionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstResonanceReaction +ResonanceReactionCreateConst( + const XMLName label, + const XMLName ejectile, + const Float64 boundaryConditionValue, + const bool eliminated, + ConstHandle2ConstQ Q, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstLink link +) { + ConstHandle2ResonanceReaction handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + ejectile, + boundaryConditionValue, + eliminated, + detail::tocpp(Q), + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius), + detail::tocpp(link) + ); + return handle; +} + +// Create, general +Handle2ResonanceReaction +ResonanceReactionCreate( + const XMLName label, + const XMLName ejectile, + const Float64 boundaryConditionValue, + const bool eliminated, + ConstHandle2ConstQ Q, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstLink link +) { + ConstHandle2ResonanceReaction handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + ejectile, + boundaryConditionValue, + eliminated, + detail::tocpp(Q), + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius), + detail::tocpp(link) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ResonanceReactionAssign(ConstHandle2ResonanceReaction This, ConstHandle2ConstResonanceReaction from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ResonanceReactionDelete(ConstHandle2ConstResonanceReaction This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ResonanceReactionRead(ConstHandle2ResonanceReaction This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ResonanceReactionWrite(ConstHandle2ConstResonanceReaction This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ResonanceReactionPrint(ConstHandle2ConstResonanceReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ResonanceReactionPrintXML(ConstHandle2ConstResonanceReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ResonanceReactionPrintJSON(ConstHandle2ConstResonanceReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionLabelHas(ConstHandle2ConstResonanceReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ResonanceReactionLabelGet(ConstHandle2ConstResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ResonanceReactionLabelSet(ConstHandle2ResonanceReaction This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ejectile +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionEjectileHas(ConstHandle2ConstResonanceReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EjectileHas", This, extract::ejectile); +} + +// Get +// Returns by value +XMLName +ResonanceReactionEjectileGet(ConstHandle2ConstResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EjectileGet", This, extract::ejectile); +} + +// Set +void +ResonanceReactionEjectileSet(ConstHandle2ResonanceReaction This, const XMLName ejectile) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EjectileSet", This, extract::ejectile, ejectile); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: boundaryConditionValue +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionBoundaryConditionValueHas(ConstHandle2ConstResonanceReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueHas", This, extract::boundaryConditionValue); +} + +// Get +// Returns by value +Float64 +ResonanceReactionBoundaryConditionValueGet(ConstHandle2ConstResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueGet", This, extract::boundaryConditionValue); +} + +// Set +void +ResonanceReactionBoundaryConditionValueSet(ConstHandle2ResonanceReaction This, const Float64 boundaryConditionValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BoundaryConditionValueSet", This, extract::boundaryConditionValue, boundaryConditionValue); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: eliminated +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionEliminatedHas(ConstHandle2ConstResonanceReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EliminatedHas", This, extract::eliminated); +} + +// Get +// Returns by value +bool +ResonanceReactionEliminatedGet(ConstHandle2ConstResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EliminatedGet", This, extract::eliminated); +} + +// Set +void +ResonanceReactionEliminatedSet(ConstHandle2ResonanceReaction This, const bool eliminated) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EliminatedSet", This, extract::eliminated, eliminated); +} + + +// ----------------------------------------------------------------------------- +// Child: Q +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionQHas(ConstHandle2ConstResonanceReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"QHas", This, extract::Q); +} + +// Get, const +Handle2ConstQ +ResonanceReactionQGetConst(ConstHandle2ConstResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"QGetConst", This, extract::Q); +} + +// Get, non-const +Handle2Q +ResonanceReactionQGet(ConstHandle2ResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"QGet", This, extract::Q); +} + +// Set +void +ResonanceReactionQSet(ConstHandle2ResonanceReaction This, ConstHandle2ConstQ Q) +{ + detail::setField + (CLASSNAME, CLASSNAME+"QSet", This, extract::Q, Q); +} + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionScatteringRadiusHas(ConstHandle2ConstResonanceReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ScatteringRadiusHas", This, extract::scatteringRadius); +} + +// Get, const +Handle2ConstScatteringRadius +ResonanceReactionScatteringRadiusGetConst(ConstHandle2ConstResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGetConst", This, extract::scatteringRadius); +} + +// Get, non-const +Handle2ScatteringRadius +ResonanceReactionScatteringRadiusGet(ConstHandle2ResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGet", This, extract::scatteringRadius); +} + +// Set +void +ResonanceReactionScatteringRadiusSet(ConstHandle2ResonanceReaction This, ConstHandle2ConstScatteringRadius scatteringRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ScatteringRadiusSet", This, extract::scatteringRadius, scatteringRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionHardSphereRadiusHas(ConstHandle2ConstResonanceReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HardSphereRadiusHas", This, extract::hardSphereRadius); +} + +// Get, const +Handle2ConstHardSphereRadius +ResonanceReactionHardSphereRadiusGetConst(ConstHandle2ConstResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGetConst", This, extract::hardSphereRadius); +} + +// Get, non-const +Handle2HardSphereRadius +ResonanceReactionHardSphereRadiusGet(ConstHandle2ResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGet", This, extract::hardSphereRadius); +} + +// Set +void +ResonanceReactionHardSphereRadiusSet(ConstHandle2ResonanceReaction This, ConstHandle2ConstHardSphereRadius hardSphereRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HardSphereRadiusSet", This, extract::hardSphereRadius, hardSphereRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: link +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionLinkHas(ConstHandle2ConstResonanceReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LinkHas", This, extract::link); +} + +// Get, const +Handle2ConstLink +ResonanceReactionLinkGetConst(ConstHandle2ConstResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LinkGetConst", This, extract::link); +} + +// Get, non-const +Handle2Link +ResonanceReactionLinkGet(ConstHandle2ResonanceReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LinkGet", This, extract::link); +} + +// Set +void +ResonanceReactionLinkSet(ConstHandle2ResonanceReaction This, ConstHandle2ConstLink link) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LinkSet", This, extract::link, link); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h new file mode 100644 index 000000000..d56799a4c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h @@ -0,0 +1,311 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ResonanceReaction is the basic handle type in this file. Example: +// // Create a default ResonanceReaction object: +// ResonanceReaction handle = ResonanceReactionDefault(); +// Functions involving ResonanceReaction are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTION +#define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTION + +#include "GNDStk.h" +#include "v2.0/ambiguousNamespace/Q.h" +#include "v2.0/resonances/ScatteringRadius.h" +#include "v2.0/resonances/HardSphereRadius.h" +#include "v2.0/unknownNamespace/Link.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ResonanceReactionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ResonanceReaction +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ResonanceReactionClass *ResonanceReaction; + +// --- Const-aware handles. +typedef const struct ResonanceReactionClass *const ConstHandle2ConstResonanceReaction; +typedef struct ResonanceReactionClass *const ConstHandle2ResonanceReaction; +typedef const struct ResonanceReactionClass * Handle2ConstResonanceReaction; +typedef struct ResonanceReactionClass * Handle2ResonanceReaction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstResonanceReaction +ResonanceReactionDefaultConst(); + +// +++ Create, default +extern_c Handle2ResonanceReaction +ResonanceReactionDefault(); + +// --- Create, general, const +extern_c Handle2ConstResonanceReaction +ResonanceReactionCreateConst( + const XMLName label, + const XMLName ejectile, + const Float64 boundaryConditionValue, + const bool eliminated, + ConstHandle2ConstQ Q, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstLink link +); + +// +++ Create, general +extern_c Handle2ResonanceReaction +ResonanceReactionCreate( + const XMLName label, + const XMLName ejectile, + const Float64 boundaryConditionValue, + const bool eliminated, + ConstHandle2ConstQ Q, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstLink link +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ResonanceReactionAssign(ConstHandle2ResonanceReaction This, ConstHandle2ConstResonanceReaction from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ResonanceReactionDelete(ConstHandle2ConstResonanceReaction This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ResonanceReactionRead(ConstHandle2ResonanceReaction This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ResonanceReactionWrite(ConstHandle2ConstResonanceReaction This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ResonanceReactionPrint(ConstHandle2ConstResonanceReaction This); + +// +++ Print to standard output, as XML +extern_c int +ResonanceReactionPrintXML(ConstHandle2ConstResonanceReaction This); + +// +++ Print to standard output, as JSON +extern_c int +ResonanceReactionPrintJSON(ConstHandle2ConstResonanceReaction This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionLabelHas(ConstHandle2ConstResonanceReaction This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ResonanceReactionLabelGet(ConstHandle2ConstResonanceReaction This); + +// +++ Set +extern_c void +ResonanceReactionLabelSet(ConstHandle2ResonanceReaction This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: ejectile +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionEjectileHas(ConstHandle2ConstResonanceReaction This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ResonanceReactionEjectileGet(ConstHandle2ConstResonanceReaction This); + +// +++ Set +extern_c void +ResonanceReactionEjectileSet(ConstHandle2ResonanceReaction This, const XMLName ejectile); + + +// ----------------------------------------------------------------------------- +// Metadatum: boundaryConditionValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionBoundaryConditionValueHas(ConstHandle2ConstResonanceReaction This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +ResonanceReactionBoundaryConditionValueGet(ConstHandle2ConstResonanceReaction This); + +// +++ Set +extern_c void +ResonanceReactionBoundaryConditionValueSet(ConstHandle2ResonanceReaction This, const Float64 boundaryConditionValue); + + +// ----------------------------------------------------------------------------- +// Metadatum: eliminated +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionEliminatedHas(ConstHandle2ConstResonanceReaction This); + +// +++ Get +// +++ Returns by value +extern_c bool +ResonanceReactionEliminatedGet(ConstHandle2ConstResonanceReaction This); + +// +++ Set +extern_c void +ResonanceReactionEliminatedSet(ConstHandle2ResonanceReaction This, const bool eliminated); + + +// ----------------------------------------------------------------------------- +// Child: Q +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionQHas(ConstHandle2ConstResonanceReaction This); + +// --- Get, const +extern_c Handle2ConstQ +ResonanceReactionQGetConst(ConstHandle2ConstResonanceReaction This); + +// +++ Get, non-const +extern_c Handle2Q +ResonanceReactionQGet(ConstHandle2ResonanceReaction This); + +// +++ Set +extern_c void +ResonanceReactionQSet(ConstHandle2ResonanceReaction This, ConstHandle2ConstQ Q); + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionScatteringRadiusHas(ConstHandle2ConstResonanceReaction This); + +// --- Get, const +extern_c Handle2ConstScatteringRadius +ResonanceReactionScatteringRadiusGetConst(ConstHandle2ConstResonanceReaction This); + +// +++ Get, non-const +extern_c Handle2ScatteringRadius +ResonanceReactionScatteringRadiusGet(ConstHandle2ResonanceReaction This); + +// +++ Set +extern_c void +ResonanceReactionScatteringRadiusSet(ConstHandle2ResonanceReaction This, ConstHandle2ConstScatteringRadius scatteringRadius); + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionHardSphereRadiusHas(ConstHandle2ConstResonanceReaction This); + +// --- Get, const +extern_c Handle2ConstHardSphereRadius +ResonanceReactionHardSphereRadiusGetConst(ConstHandle2ConstResonanceReaction This); + +// +++ Get, non-const +extern_c Handle2HardSphereRadius +ResonanceReactionHardSphereRadiusGet(ConstHandle2ResonanceReaction This); + +// +++ Set +extern_c void +ResonanceReactionHardSphereRadiusSet(ConstHandle2ResonanceReaction This, ConstHandle2ConstHardSphereRadius hardSphereRadius); + + +// ----------------------------------------------------------------------------- +// Child: link +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionLinkHas(ConstHandle2ConstResonanceReaction This); + +// --- Get, const +extern_c Handle2ConstLink +ResonanceReactionLinkGetConst(ConstHandle2ConstResonanceReaction This); + +// +++ Get, non-const +extern_c Handle2Link +ResonanceReactionLinkGet(ConstHandle2ResonanceReaction This); + +// +++ Set +extern_c void +ResonanceReactionLinkSet(ConstHandle2ResonanceReaction This, ConstHandle2ConstLink link); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.cpp new file mode 100644 index 000000000..12cd23882 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/ResonanceReactions.hpp" +#include "ResonanceReactions.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ResonanceReactionsClass; +using CPP = multigroup::ResonanceReactions; + +static const std::string CLASSNAME = "ResonanceReactions"; + +namespace extract { + static auto resonanceReaction = [](auto &obj) { return &obj.resonanceReaction; }; +} + +using CPPResonanceReaction = resonances::ResonanceReaction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstResonanceReactions +ResonanceReactionsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ResonanceReactions +ResonanceReactionsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstResonanceReactions +ResonanceReactionsCreateConst( + ConstHandle2ResonanceReaction *const resonanceReaction, const size_t resonanceReactionSize +) { + ConstHandle2ResonanceReactions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ResonanceReactionN = 0; ResonanceReactionN < resonanceReactionSize; ++ResonanceReactionN) + ResonanceReactionsResonanceReactionAdd(handle, resonanceReaction[ResonanceReactionN]); + return handle; +} + +// Create, general +Handle2ResonanceReactions +ResonanceReactionsCreate( + ConstHandle2ResonanceReaction *const resonanceReaction, const size_t resonanceReactionSize +) { + ConstHandle2ResonanceReactions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ResonanceReactionN = 0; ResonanceReactionN < resonanceReactionSize; ++ResonanceReactionN) + ResonanceReactionsResonanceReactionAdd(handle, resonanceReaction[ResonanceReactionN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ResonanceReactionsAssign(ConstHandle2ResonanceReactions This, ConstHandle2ConstResonanceReactions from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ResonanceReactionsDelete(ConstHandle2ConstResonanceReactions This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ResonanceReactionsRead(ConstHandle2ResonanceReactions This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ResonanceReactionsWrite(ConstHandle2ConstResonanceReactions This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ResonanceReactionsPrint(ConstHandle2ConstResonanceReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ResonanceReactionsPrintXML(ConstHandle2ConstResonanceReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ResonanceReactionsPrintJSON(ConstHandle2ConstResonanceReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: resonanceReaction +// ----------------------------------------------------------------------------- + +// Has +int +ResonanceReactionsResonanceReactionHas(ConstHandle2ConstResonanceReactions This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonanceReactionHas", This, extract::resonanceReaction); +} + +// Clear +void +ResonanceReactionsResonanceReactionClear(ConstHandle2ResonanceReactions This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ResonanceReactionClear", This, extract::resonanceReaction); +} + +// Size +size_t +ResonanceReactionsResonanceReactionSize(ConstHandle2ConstResonanceReactions This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ResonanceReactionSize", This, extract::resonanceReaction); +} + +// Add +void +ResonanceReactionsResonanceReactionAdd(ConstHandle2ResonanceReactions This, ConstHandle2ConstResonanceReaction resonanceReaction) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ResonanceReactionAdd", This, extract::resonanceReaction, resonanceReaction); +} + +// Get, by index \in [0,size), const +Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetConst(ConstHandle2ConstResonanceReactions This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ResonanceReactionGetConst", This, extract::resonanceReaction, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGet(ConstHandle2ResonanceReactions This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ResonanceReactionGet", This, extract::resonanceReaction, index_); +} + +// Set, by index \in [0,size) +void +ResonanceReactionsResonanceReactionSet( + ConstHandle2ResonanceReactions This, + const size_t index_, + ConstHandle2ConstResonanceReaction resonanceReaction +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ResonanceReactionSet", This, extract::resonanceReaction, index_, resonanceReaction); +} + +// Has, by label +int +ResonanceReactionsResonanceReactionHasByLabel( + ConstHandle2ConstResonanceReactions This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionHasByLabel", + This, extract::resonanceReaction, meta::label, label); +} + +// Get, by label, const +Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetByLabelConst( + ConstHandle2ConstResonanceReactions This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionGetByLabelConst", + This, extract::resonanceReaction, meta::label, label); +} + +// Get, by label, non-const +Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGetByLabel( + ConstHandle2ResonanceReactions This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionGetByLabel", + This, extract::resonanceReaction, meta::label, label); +} + +// Set, by label +void +ResonanceReactionsResonanceReactionSetByLabel( + ConstHandle2ResonanceReactions This, + const XMLName label, + ConstHandle2ConstResonanceReaction resonanceReaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionSetByLabel", + This, extract::resonanceReaction, meta::label, label, resonanceReaction); +} + +// Has, by ejectile +int +ResonanceReactionsResonanceReactionHasByEjectile( + ConstHandle2ConstResonanceReactions This, + const XMLName ejectile +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionHasByEjectile", + This, extract::resonanceReaction, meta::ejectile, ejectile); +} + +// Get, by ejectile, const +Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetByEjectileConst( + ConstHandle2ConstResonanceReactions This, + const XMLName ejectile +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionGetByEjectileConst", + This, extract::resonanceReaction, meta::ejectile, ejectile); +} + +// Get, by ejectile, non-const +Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGetByEjectile( + ConstHandle2ResonanceReactions This, + const XMLName ejectile +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionGetByEjectile", + This, extract::resonanceReaction, meta::ejectile, ejectile); +} + +// Set, by ejectile +void +ResonanceReactionsResonanceReactionSetByEjectile( + ConstHandle2ResonanceReactions This, + const XMLName ejectile, + ConstHandle2ConstResonanceReaction resonanceReaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionSetByEjectile", + This, extract::resonanceReaction, meta::ejectile, ejectile, resonanceReaction); +} + +// Has, by boundaryConditionValue +int +ResonanceReactionsResonanceReactionHasByBoundaryConditionValue( + ConstHandle2ConstResonanceReactions This, + const Float64 boundaryConditionValue +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionHasByBoundaryConditionValue", + This, extract::resonanceReaction, meta::boundaryConditionValue, boundaryConditionValue); +} + +// Get, by boundaryConditionValue, const +Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetByBoundaryConditionValueConst( + ConstHandle2ConstResonanceReactions This, + const Float64 boundaryConditionValue +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionGetByBoundaryConditionValueConst", + This, extract::resonanceReaction, meta::boundaryConditionValue, boundaryConditionValue); +} + +// Get, by boundaryConditionValue, non-const +Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGetByBoundaryConditionValue( + ConstHandle2ResonanceReactions This, + const Float64 boundaryConditionValue +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionGetByBoundaryConditionValue", + This, extract::resonanceReaction, meta::boundaryConditionValue, boundaryConditionValue); +} + +// Set, by boundaryConditionValue +void +ResonanceReactionsResonanceReactionSetByBoundaryConditionValue( + ConstHandle2ResonanceReactions This, + const Float64 boundaryConditionValue, + ConstHandle2ConstResonanceReaction resonanceReaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionSetByBoundaryConditionValue", + This, extract::resonanceReaction, meta::boundaryConditionValue, boundaryConditionValue, resonanceReaction); +} + +// Has, by eliminated +int +ResonanceReactionsResonanceReactionHasByEliminated( + ConstHandle2ConstResonanceReactions This, + const bool eliminated +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionHasByEliminated", + This, extract::resonanceReaction, meta::eliminated, eliminated); +} + +// Get, by eliminated, const +Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetByEliminatedConst( + ConstHandle2ConstResonanceReactions This, + const bool eliminated +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionGetByEliminatedConst", + This, extract::resonanceReaction, meta::eliminated, eliminated); +} + +// Get, by eliminated, non-const +Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGetByEliminated( + ConstHandle2ResonanceReactions This, + const bool eliminated +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionGetByEliminated", + This, extract::resonanceReaction, meta::eliminated, eliminated); +} + +// Set, by eliminated +void +ResonanceReactionsResonanceReactionSetByEliminated( + ConstHandle2ResonanceReactions This, + const bool eliminated, + ConstHandle2ConstResonanceReaction resonanceReaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ResonanceReactionSetByEliminated", + This, extract::resonanceReaction, meta::eliminated, eliminated, resonanceReaction); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.h new file mode 100644 index 000000000..1df902f60 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ResonanceReactions is the basic handle type in this file. Example: +// // Create a default ResonanceReactions object: +// ResonanceReactions handle = ResonanceReactionsDefault(); +// Functions involving ResonanceReactions are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTIONS +#define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTIONS + +#include "GNDStk.h" +#include "v2.0/resonances/ResonanceReaction.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ResonanceReactionsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ResonanceReactions +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ResonanceReactionsClass *ResonanceReactions; + +// --- Const-aware handles. +typedef const struct ResonanceReactionsClass *const ConstHandle2ConstResonanceReactions; +typedef struct ResonanceReactionsClass *const ConstHandle2ResonanceReactions; +typedef const struct ResonanceReactionsClass * Handle2ConstResonanceReactions; +typedef struct ResonanceReactionsClass * Handle2ResonanceReactions; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstResonanceReactions +ResonanceReactionsDefaultConst(); + +// +++ Create, default +extern_c Handle2ResonanceReactions +ResonanceReactionsDefault(); + +// --- Create, general, const +extern_c Handle2ConstResonanceReactions +ResonanceReactionsCreateConst( + ConstHandle2ResonanceReaction *const resonanceReaction, const size_t resonanceReactionSize +); + +// +++ Create, general +extern_c Handle2ResonanceReactions +ResonanceReactionsCreate( + ConstHandle2ResonanceReaction *const resonanceReaction, const size_t resonanceReactionSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ResonanceReactionsAssign(ConstHandle2ResonanceReactions This, ConstHandle2ConstResonanceReactions from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ResonanceReactionsDelete(ConstHandle2ConstResonanceReactions This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ResonanceReactionsRead(ConstHandle2ResonanceReactions This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ResonanceReactionsWrite(ConstHandle2ConstResonanceReactions This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ResonanceReactionsPrint(ConstHandle2ConstResonanceReactions This); + +// +++ Print to standard output, as XML +extern_c int +ResonanceReactionsPrintXML(ConstHandle2ConstResonanceReactions This); + +// +++ Print to standard output, as JSON +extern_c int +ResonanceReactionsPrintJSON(ConstHandle2ConstResonanceReactions This); + + +// ----------------------------------------------------------------------------- +// Child: resonanceReaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonanceReactionsResonanceReactionHas(ConstHandle2ConstResonanceReactions This); + +// +++ Clear +extern_c void +ResonanceReactionsResonanceReactionClear(ConstHandle2ResonanceReactions This); + +// +++ Size +extern_c size_t +ResonanceReactionsResonanceReactionSize(ConstHandle2ConstResonanceReactions This); + +// +++ Add +extern_c void +ResonanceReactionsResonanceReactionAdd(ConstHandle2ResonanceReactions This, ConstHandle2ConstResonanceReaction resonanceReaction); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetConst(ConstHandle2ConstResonanceReactions This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGet(ConstHandle2ResonanceReactions This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ResonanceReactionsResonanceReactionSet( + ConstHandle2ResonanceReactions This, + const size_t index_, + ConstHandle2ConstResonanceReaction resonanceReaction +); + +// +++ Has, by label +extern_c int +ResonanceReactionsResonanceReactionHasByLabel( + ConstHandle2ConstResonanceReactions This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetByLabelConst( + ConstHandle2ConstResonanceReactions This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGetByLabel( + ConstHandle2ResonanceReactions This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ResonanceReactionsResonanceReactionSetByLabel( + ConstHandle2ResonanceReactions This, + const XMLName label, + ConstHandle2ConstResonanceReaction resonanceReaction +); + +// +++ Has, by ejectile +extern_c int +ResonanceReactionsResonanceReactionHasByEjectile( + ConstHandle2ConstResonanceReactions This, + const XMLName ejectile +); + +// --- Get, by ejectile, const +extern_c Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetByEjectileConst( + ConstHandle2ConstResonanceReactions This, + const XMLName ejectile +); + +// +++ Get, by ejectile, non-const +extern_c Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGetByEjectile( + ConstHandle2ResonanceReactions This, + const XMLName ejectile +); + +// +++ Set, by ejectile +extern_c void +ResonanceReactionsResonanceReactionSetByEjectile( + ConstHandle2ResonanceReactions This, + const XMLName ejectile, + ConstHandle2ConstResonanceReaction resonanceReaction +); + +// +++ Has, by boundaryConditionValue +extern_c int +ResonanceReactionsResonanceReactionHasByBoundaryConditionValue( + ConstHandle2ConstResonanceReactions This, + const Float64 boundaryConditionValue +); + +// --- Get, by boundaryConditionValue, const +extern_c Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetByBoundaryConditionValueConst( + ConstHandle2ConstResonanceReactions This, + const Float64 boundaryConditionValue +); + +// +++ Get, by boundaryConditionValue, non-const +extern_c Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGetByBoundaryConditionValue( + ConstHandle2ResonanceReactions This, + const Float64 boundaryConditionValue +); + +// +++ Set, by boundaryConditionValue +extern_c void +ResonanceReactionsResonanceReactionSetByBoundaryConditionValue( + ConstHandle2ResonanceReactions This, + const Float64 boundaryConditionValue, + ConstHandle2ConstResonanceReaction resonanceReaction +); + +// +++ Has, by eliminated +extern_c int +ResonanceReactionsResonanceReactionHasByEliminated( + ConstHandle2ConstResonanceReactions This, + const bool eliminated +); + +// --- Get, by eliminated, const +extern_c Handle2ConstResonanceReaction +ResonanceReactionsResonanceReactionGetByEliminatedConst( + ConstHandle2ConstResonanceReactions This, + const bool eliminated +); + +// +++ Get, by eliminated, non-const +extern_c Handle2ResonanceReaction +ResonanceReactionsResonanceReactionGetByEliminated( + ConstHandle2ResonanceReactions This, + const bool eliminated +); + +// +++ Set, by eliminated +extern_c void +ResonanceReactionsResonanceReactionSetByEliminated( + ConstHandle2ResonanceReactions This, + const bool eliminated, + ConstHandle2ConstResonanceReaction resonanceReaction +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.cpp new file mode 100644 index 000000000..aed12a62b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.cpp @@ -0,0 +1,670 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Resonances.hpp" +#include "Resonances.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ResonancesClass; +using CPP = multigroup::Resonances; + +static const std::string CLASSNAME = "Resonances"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; + static auto scatteringRadius = [](auto &obj) { return &obj.scatteringRadius; }; + static auto hardSphereRadius = [](auto &obj) { return &obj.hardSphereRadius; }; + static auto resolved = [](auto &obj) { return &obj.resolved; }; + static auto unresolved = [](auto &obj) { return &obj.unresolved; }; +} + +using CPPScatteringRadius = resonances::ScatteringRadius; +using CPPHardSphereRadius = resonances::HardSphereRadius; +using CPPResolved = resonances::Resolved; +using CPPUnresolved = resonances::Unresolved; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstResonances +ResonancesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Resonances +ResonancesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstResonances +ResonancesCreateConst( + const XMLName href, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2Resolved *const resolved, const size_t resolvedSize, + ConstHandle2Unresolved *const unresolved, const size_t unresolvedSize +) { + ConstHandle2Resonances handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href, + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius), + std::vector{}, + std::vector{} + ); + for (size_t ResolvedN = 0; ResolvedN < resolvedSize; ++ResolvedN) + ResonancesResolvedAdd(handle, resolved[ResolvedN]); + for (size_t UnresolvedN = 0; UnresolvedN < unresolvedSize; ++UnresolvedN) + ResonancesUnresolvedAdd(handle, unresolved[UnresolvedN]); + return handle; +} + +// Create, general +Handle2Resonances +ResonancesCreate( + const XMLName href, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2Resolved *const resolved, const size_t resolvedSize, + ConstHandle2Unresolved *const unresolved, const size_t unresolvedSize +) { + ConstHandle2Resonances handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href, + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius), + std::vector{}, + std::vector{} + ); + for (size_t ResolvedN = 0; ResolvedN < resolvedSize; ++ResolvedN) + ResonancesResolvedAdd(handle, resolved[ResolvedN]); + for (size_t UnresolvedN = 0; UnresolvedN < unresolvedSize; ++UnresolvedN) + ResonancesUnresolvedAdd(handle, unresolved[UnresolvedN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ResonancesAssign(ConstHandle2Resonances This, ConstHandle2ConstResonances from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ResonancesDelete(ConstHandle2ConstResonances This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ResonancesRead(ConstHandle2Resonances This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ResonancesWrite(ConstHandle2ConstResonances This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ResonancesPrint(ConstHandle2ConstResonances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ResonancesPrintXML(ConstHandle2ConstResonances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ResonancesPrintJSON(ConstHandle2ConstResonances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesHrefHas(ConstHandle2ConstResonances This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +XMLName +ResonancesHrefGet(ConstHandle2ConstResonances This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ResonancesHrefSet(ConstHandle2Resonances This, const XMLName href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesScatteringRadiusHas(ConstHandle2ConstResonances This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ScatteringRadiusHas", This, extract::scatteringRadius); +} + +// Get, const +Handle2ConstScatteringRadius +ResonancesScatteringRadiusGetConst(ConstHandle2ConstResonances This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGetConst", This, extract::scatteringRadius); +} + +// Get, non-const +Handle2ScatteringRadius +ResonancesScatteringRadiusGet(ConstHandle2Resonances This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGet", This, extract::scatteringRadius); +} + +// Set +void +ResonancesScatteringRadiusSet(ConstHandle2Resonances This, ConstHandle2ConstScatteringRadius scatteringRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ScatteringRadiusSet", This, extract::scatteringRadius, scatteringRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesHardSphereRadiusHas(ConstHandle2ConstResonances This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HardSphereRadiusHas", This, extract::hardSphereRadius); +} + +// Get, const +Handle2ConstHardSphereRadius +ResonancesHardSphereRadiusGetConst(ConstHandle2ConstResonances This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGetConst", This, extract::hardSphereRadius); +} + +// Get, non-const +Handle2HardSphereRadius +ResonancesHardSphereRadiusGet(ConstHandle2Resonances This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGet", This, extract::hardSphereRadius); +} + +// Set +void +ResonancesHardSphereRadiusSet(ConstHandle2Resonances This, ConstHandle2ConstHardSphereRadius hardSphereRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HardSphereRadiusSet", This, extract::hardSphereRadius, hardSphereRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: resolved +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesResolvedHas(ConstHandle2ConstResonances This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResolvedHas", This, extract::resolved); +} + +// Clear +void +ResonancesResolvedClear(ConstHandle2Resonances This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ResolvedClear", This, extract::resolved); +} + +// Size +size_t +ResonancesResolvedSize(ConstHandle2ConstResonances This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ResolvedSize", This, extract::resolved); +} + +// Add +void +ResonancesResolvedAdd(ConstHandle2Resonances This, ConstHandle2ConstResolved resolved) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ResolvedAdd", This, extract::resolved, resolved); +} + +// Get, by index \in [0,size), const +Handle2ConstResolved +ResonancesResolvedGetConst(ConstHandle2ConstResonances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ResolvedGetConst", This, extract::resolved, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Resolved +ResonancesResolvedGet(ConstHandle2Resonances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ResolvedGet", This, extract::resolved, index_); +} + +// Set, by index \in [0,size) +void +ResonancesResolvedSet( + ConstHandle2Resonances This, + const size_t index_, + ConstHandle2ConstResolved resolved +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ResolvedSet", This, extract::resolved, index_, resolved); +} + +// Has, by domainMin +int +ResonancesResolvedHasByDomainMin( + ConstHandle2ConstResonances This, + const Float64 domainMin +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedHasByDomainMin", + This, extract::resolved, meta::domainMin, domainMin); +} + +// Get, by domainMin, const +Handle2ConstResolved +ResonancesResolvedGetByDomainMinConst( + ConstHandle2ConstResonances This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedGetByDomainMinConst", + This, extract::resolved, meta::domainMin, domainMin); +} + +// Get, by domainMin, non-const +Handle2Resolved +ResonancesResolvedGetByDomainMin( + ConstHandle2Resonances This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedGetByDomainMin", + This, extract::resolved, meta::domainMin, domainMin); +} + +// Set, by domainMin +void +ResonancesResolvedSetByDomainMin( + ConstHandle2Resonances This, + const Float64 domainMin, + ConstHandle2ConstResolved resolved +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedSetByDomainMin", + This, extract::resolved, meta::domainMin, domainMin, resolved); +} + +// Has, by domainMax +int +ResonancesResolvedHasByDomainMax( + ConstHandle2ConstResonances This, + const Float64 domainMax +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedHasByDomainMax", + This, extract::resolved, meta::domainMax, domainMax); +} + +// Get, by domainMax, const +Handle2ConstResolved +ResonancesResolvedGetByDomainMaxConst( + ConstHandle2ConstResonances This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedGetByDomainMaxConst", + This, extract::resolved, meta::domainMax, domainMax); +} + +// Get, by domainMax, non-const +Handle2Resolved +ResonancesResolvedGetByDomainMax( + ConstHandle2Resonances This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedGetByDomainMax", + This, extract::resolved, meta::domainMax, domainMax); +} + +// Set, by domainMax +void +ResonancesResolvedSetByDomainMax( + ConstHandle2Resonances This, + const Float64 domainMax, + ConstHandle2ConstResolved resolved +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedSetByDomainMax", + This, extract::resolved, meta::domainMax, domainMax, resolved); +} + +// Has, by domainUnit +int +ResonancesResolvedHasByDomainUnit( + ConstHandle2ConstResonances This, + const XMLName domainUnit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedHasByDomainUnit", + This, extract::resolved, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, const +Handle2ConstResolved +ResonancesResolvedGetByDomainUnitConst( + ConstHandle2ConstResonances This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedGetByDomainUnitConst", + This, extract::resolved, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, non-const +Handle2Resolved +ResonancesResolvedGetByDomainUnit( + ConstHandle2Resonances This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedGetByDomainUnit", + This, extract::resolved, meta::domainUnit, domainUnit); +} + +// Set, by domainUnit +void +ResonancesResolvedSetByDomainUnit( + ConstHandle2Resonances This, + const XMLName domainUnit, + ConstHandle2ConstResolved resolved +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ResolvedSetByDomainUnit", + This, extract::resolved, meta::domainUnit, domainUnit, resolved); +} + + +// ----------------------------------------------------------------------------- +// Child: unresolved +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesUnresolvedHas(ConstHandle2ConstResonances This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnresolvedHas", This, extract::unresolved); +} + +// Clear +void +ResonancesUnresolvedClear(ConstHandle2Resonances This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"UnresolvedClear", This, extract::unresolved); +} + +// Size +size_t +ResonancesUnresolvedSize(ConstHandle2ConstResonances This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"UnresolvedSize", This, extract::unresolved); +} + +// Add +void +ResonancesUnresolvedAdd(ConstHandle2Resonances This, ConstHandle2ConstUnresolved unresolved) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"UnresolvedAdd", This, extract::unresolved, unresolved); +} + +// Get, by index \in [0,size), const +Handle2ConstUnresolved +ResonancesUnresolvedGetConst(ConstHandle2ConstResonances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"UnresolvedGetConst", This, extract::unresolved, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Unresolved +ResonancesUnresolvedGet(ConstHandle2Resonances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"UnresolvedGet", This, extract::unresolved, index_); +} + +// Set, by index \in [0,size) +void +ResonancesUnresolvedSet( + ConstHandle2Resonances This, + const size_t index_, + ConstHandle2ConstUnresolved unresolved +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"UnresolvedSet", This, extract::unresolved, index_, unresolved); +} + +// Has, by domainMin +int +ResonancesUnresolvedHasByDomainMin( + ConstHandle2ConstResonances This, + const Float64 domainMin +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedHasByDomainMin", + This, extract::unresolved, meta::domainMin, domainMin); +} + +// Get, by domainMin, const +Handle2ConstUnresolved +ResonancesUnresolvedGetByDomainMinConst( + ConstHandle2ConstResonances This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedGetByDomainMinConst", + This, extract::unresolved, meta::domainMin, domainMin); +} + +// Get, by domainMin, non-const +Handle2Unresolved +ResonancesUnresolvedGetByDomainMin( + ConstHandle2Resonances This, + const Float64 domainMin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedGetByDomainMin", + This, extract::unresolved, meta::domainMin, domainMin); +} + +// Set, by domainMin +void +ResonancesUnresolvedSetByDomainMin( + ConstHandle2Resonances This, + const Float64 domainMin, + ConstHandle2ConstUnresolved unresolved +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedSetByDomainMin", + This, extract::unresolved, meta::domainMin, domainMin, unresolved); +} + +// Has, by domainMax +int +ResonancesUnresolvedHasByDomainMax( + ConstHandle2ConstResonances This, + const Float64 domainMax +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedHasByDomainMax", + This, extract::unresolved, meta::domainMax, domainMax); +} + +// Get, by domainMax, const +Handle2ConstUnresolved +ResonancesUnresolvedGetByDomainMaxConst( + ConstHandle2ConstResonances This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedGetByDomainMaxConst", + This, extract::unresolved, meta::domainMax, domainMax); +} + +// Get, by domainMax, non-const +Handle2Unresolved +ResonancesUnresolvedGetByDomainMax( + ConstHandle2Resonances This, + const Float64 domainMax +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedGetByDomainMax", + This, extract::unresolved, meta::domainMax, domainMax); +} + +// Set, by domainMax +void +ResonancesUnresolvedSetByDomainMax( + ConstHandle2Resonances This, + const Float64 domainMax, + ConstHandle2ConstUnresolved unresolved +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedSetByDomainMax", + This, extract::unresolved, meta::domainMax, domainMax, unresolved); +} + +// Has, by domainUnit +int +ResonancesUnresolvedHasByDomainUnit( + ConstHandle2ConstResonances This, + const XMLName domainUnit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedHasByDomainUnit", + This, extract::unresolved, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, const +Handle2ConstUnresolved +ResonancesUnresolvedGetByDomainUnitConst( + ConstHandle2ConstResonances This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedGetByDomainUnitConst", + This, extract::unresolved, meta::domainUnit, domainUnit); +} + +// Get, by domainUnit, non-const +Handle2Unresolved +ResonancesUnresolvedGetByDomainUnit( + ConstHandle2Resonances This, + const XMLName domainUnit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedGetByDomainUnit", + This, extract::unresolved, meta::domainUnit, domainUnit); +} + +// Set, by domainUnit +void +ResonancesUnresolvedSetByDomainUnit( + ConstHandle2Resonances This, + const XMLName domainUnit, + ConstHandle2ConstUnresolved unresolved +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"UnresolvedSetByDomainUnit", + This, extract::unresolved, meta::domainUnit, domainUnit, unresolved); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.h new file mode 100644 index 000000000..87f7ea40a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.h @@ -0,0 +1,457 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Resonances is the basic handle type in this file. Example: +// // Create a default Resonances object: +// Resonances handle = ResonancesDefault(); +// Functions involving Resonances are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCES +#define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCES + +#include "GNDStk.h" +#include "v2.0/resonances/ScatteringRadius.h" +#include "v2.0/resonances/HardSphereRadius.h" +#include "v2.0/resonances/Resolved.h" +#include "v2.0/resonances/Unresolved.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ResonancesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Resonances +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ResonancesClass *Resonances; + +// --- Const-aware handles. +typedef const struct ResonancesClass *const ConstHandle2ConstResonances; +typedef struct ResonancesClass *const ConstHandle2Resonances; +typedef const struct ResonancesClass * Handle2ConstResonances; +typedef struct ResonancesClass * Handle2Resonances; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstResonances +ResonancesDefaultConst(); + +// +++ Create, default +extern_c Handle2Resonances +ResonancesDefault(); + +// --- Create, general, const +extern_c Handle2ConstResonances +ResonancesCreateConst( + const XMLName href, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2Resolved *const resolved, const size_t resolvedSize, + ConstHandle2Unresolved *const unresolved, const size_t unresolvedSize +); + +// +++ Create, general +extern_c Handle2Resonances +ResonancesCreate( + const XMLName href, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2Resolved *const resolved, const size_t resolvedSize, + ConstHandle2Unresolved *const unresolved, const size_t unresolvedSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ResonancesAssign(ConstHandle2Resonances This, ConstHandle2ConstResonances from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ResonancesDelete(ConstHandle2ConstResonances This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ResonancesRead(ConstHandle2Resonances This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ResonancesWrite(ConstHandle2ConstResonances This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ResonancesPrint(ConstHandle2ConstResonances This); + +// +++ Print to standard output, as XML +extern_c int +ResonancesPrintXML(ConstHandle2ConstResonances This); + +// +++ Print to standard output, as JSON +extern_c int +ResonancesPrintJSON(ConstHandle2ConstResonances This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesHrefHas(ConstHandle2ConstResonances This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ResonancesHrefGet(ConstHandle2ConstResonances This); + +// +++ Set +extern_c void +ResonancesHrefSet(ConstHandle2Resonances This, const XMLName href); + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesScatteringRadiusHas(ConstHandle2ConstResonances This); + +// --- Get, const +extern_c Handle2ConstScatteringRadius +ResonancesScatteringRadiusGetConst(ConstHandle2ConstResonances This); + +// +++ Get, non-const +extern_c Handle2ScatteringRadius +ResonancesScatteringRadiusGet(ConstHandle2Resonances This); + +// +++ Set +extern_c void +ResonancesScatteringRadiusSet(ConstHandle2Resonances This, ConstHandle2ConstScatteringRadius scatteringRadius); + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesHardSphereRadiusHas(ConstHandle2ConstResonances This); + +// --- Get, const +extern_c Handle2ConstHardSphereRadius +ResonancesHardSphereRadiusGetConst(ConstHandle2ConstResonances This); + +// +++ Get, non-const +extern_c Handle2HardSphereRadius +ResonancesHardSphereRadiusGet(ConstHandle2Resonances This); + +// +++ Set +extern_c void +ResonancesHardSphereRadiusSet(ConstHandle2Resonances This, ConstHandle2ConstHardSphereRadius hardSphereRadius); + + +// ----------------------------------------------------------------------------- +// Child: resolved +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesResolvedHas(ConstHandle2ConstResonances This); + +// +++ Clear +extern_c void +ResonancesResolvedClear(ConstHandle2Resonances This); + +// +++ Size +extern_c size_t +ResonancesResolvedSize(ConstHandle2ConstResonances This); + +// +++ Add +extern_c void +ResonancesResolvedAdd(ConstHandle2Resonances This, ConstHandle2ConstResolved resolved); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstResolved +ResonancesResolvedGetConst(ConstHandle2ConstResonances This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Resolved +ResonancesResolvedGet(ConstHandle2Resonances This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ResonancesResolvedSet( + ConstHandle2Resonances This, + const size_t index_, + ConstHandle2ConstResolved resolved +); + +// +++ Has, by domainMin +extern_c int +ResonancesResolvedHasByDomainMin( + ConstHandle2ConstResonances This, + const Float64 domainMin +); + +// --- Get, by domainMin, const +extern_c Handle2ConstResolved +ResonancesResolvedGetByDomainMinConst( + ConstHandle2ConstResonances This, + const Float64 domainMin +); + +// +++ Get, by domainMin, non-const +extern_c Handle2Resolved +ResonancesResolvedGetByDomainMin( + ConstHandle2Resonances This, + const Float64 domainMin +); + +// +++ Set, by domainMin +extern_c void +ResonancesResolvedSetByDomainMin( + ConstHandle2Resonances This, + const Float64 domainMin, + ConstHandle2ConstResolved resolved +); + +// +++ Has, by domainMax +extern_c int +ResonancesResolvedHasByDomainMax( + ConstHandle2ConstResonances This, + const Float64 domainMax +); + +// --- Get, by domainMax, const +extern_c Handle2ConstResolved +ResonancesResolvedGetByDomainMaxConst( + ConstHandle2ConstResonances This, + const Float64 domainMax +); + +// +++ Get, by domainMax, non-const +extern_c Handle2Resolved +ResonancesResolvedGetByDomainMax( + ConstHandle2Resonances This, + const Float64 domainMax +); + +// +++ Set, by domainMax +extern_c void +ResonancesResolvedSetByDomainMax( + ConstHandle2Resonances This, + const Float64 domainMax, + ConstHandle2ConstResolved resolved +); + +// +++ Has, by domainUnit +extern_c int +ResonancesResolvedHasByDomainUnit( + ConstHandle2ConstResonances This, + const XMLName domainUnit +); + +// --- Get, by domainUnit, const +extern_c Handle2ConstResolved +ResonancesResolvedGetByDomainUnitConst( + ConstHandle2ConstResonances This, + const XMLName domainUnit +); + +// +++ Get, by domainUnit, non-const +extern_c Handle2Resolved +ResonancesResolvedGetByDomainUnit( + ConstHandle2Resonances This, + const XMLName domainUnit +); + +// +++ Set, by domainUnit +extern_c void +ResonancesResolvedSetByDomainUnit( + ConstHandle2Resonances This, + const XMLName domainUnit, + ConstHandle2ConstResolved resolved +); + + +// ----------------------------------------------------------------------------- +// Child: unresolved +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesUnresolvedHas(ConstHandle2ConstResonances This); + +// +++ Clear +extern_c void +ResonancesUnresolvedClear(ConstHandle2Resonances This); + +// +++ Size +extern_c size_t +ResonancesUnresolvedSize(ConstHandle2ConstResonances This); + +// +++ Add +extern_c void +ResonancesUnresolvedAdd(ConstHandle2Resonances This, ConstHandle2ConstUnresolved unresolved); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstUnresolved +ResonancesUnresolvedGetConst(ConstHandle2ConstResonances This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Unresolved +ResonancesUnresolvedGet(ConstHandle2Resonances This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ResonancesUnresolvedSet( + ConstHandle2Resonances This, + const size_t index_, + ConstHandle2ConstUnresolved unresolved +); + +// +++ Has, by domainMin +extern_c int +ResonancesUnresolvedHasByDomainMin( + ConstHandle2ConstResonances This, + const Float64 domainMin +); + +// --- Get, by domainMin, const +extern_c Handle2ConstUnresolved +ResonancesUnresolvedGetByDomainMinConst( + ConstHandle2ConstResonances This, + const Float64 domainMin +); + +// +++ Get, by domainMin, non-const +extern_c Handle2Unresolved +ResonancesUnresolvedGetByDomainMin( + ConstHandle2Resonances This, + const Float64 domainMin +); + +// +++ Set, by domainMin +extern_c void +ResonancesUnresolvedSetByDomainMin( + ConstHandle2Resonances This, + const Float64 domainMin, + ConstHandle2ConstUnresolved unresolved +); + +// +++ Has, by domainMax +extern_c int +ResonancesUnresolvedHasByDomainMax( + ConstHandle2ConstResonances This, + const Float64 domainMax +); + +// --- Get, by domainMax, const +extern_c Handle2ConstUnresolved +ResonancesUnresolvedGetByDomainMaxConst( + ConstHandle2ConstResonances This, + const Float64 domainMax +); + +// +++ Get, by domainMax, non-const +extern_c Handle2Unresolved +ResonancesUnresolvedGetByDomainMax( + ConstHandle2Resonances This, + const Float64 domainMax +); + +// +++ Set, by domainMax +extern_c void +ResonancesUnresolvedSetByDomainMax( + ConstHandle2Resonances This, + const Float64 domainMax, + ConstHandle2ConstUnresolved unresolved +); + +// +++ Has, by domainUnit +extern_c int +ResonancesUnresolvedHasByDomainUnit( + ConstHandle2ConstResonances This, + const XMLName domainUnit +); + +// --- Get, by domainUnit, const +extern_c Handle2ConstUnresolved +ResonancesUnresolvedGetByDomainUnitConst( + ConstHandle2ConstResonances This, + const XMLName domainUnit +); + +// +++ Get, by domainUnit, non-const +extern_c Handle2Unresolved +ResonancesUnresolvedGetByDomainUnit( + ConstHandle2Resonances This, + const XMLName domainUnit +); + +// +++ Set, by domainUnit +extern_c void +ResonancesUnresolvedSetByDomainUnit( + ConstHandle2Resonances This, + const XMLName domainUnit, + ConstHandle2ConstUnresolved unresolved +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp new file mode 100644 index 000000000..24b920c3c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/ScatteringRadius.hpp" +#include "ScatteringRadius.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ScatteringRadiusClass; +using CPP = multigroup::ScatteringRadius; + +static const std::string CLASSNAME = "ScatteringRadius"; + +namespace extract { +} + +using CPPConstant1d = unknownNamespace::Constant1d; +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstScatteringRadius +ScatteringRadiusDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ScatteringRadius +ScatteringRadiusDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstScatteringRadius +ScatteringRadiusCreateConst( +) { + ConstHandle2ScatteringRadius handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2ScatteringRadius +ScatteringRadiusCreate( +) { + ConstHandle2ScatteringRadius handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ScatteringRadiusAssign(ConstHandle2ScatteringRadius This, ConstHandle2ConstScatteringRadius from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ScatteringRadiusDelete(ConstHandle2ConstScatteringRadius This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ScatteringRadiusRead(ConstHandle2ScatteringRadius This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ScatteringRadiusWrite(ConstHandle2ConstScatteringRadius This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ScatteringRadiusPrint(ConstHandle2ConstScatteringRadius This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ScatteringRadiusPrintXML(ConstHandle2ConstScatteringRadius This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ScatteringRadiusPrintJSON(ConstHandle2ConstScatteringRadius This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h new file mode 100644 index 000000000..5353b4adf --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h @@ -0,0 +1,138 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ScatteringRadius is the basic handle type in this file. Example: +// // Create a default ScatteringRadius object: +// ScatteringRadius handle = ScatteringRadiusDefault(); +// Functions involving ScatteringRadius are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_SCATTERINGRADIUS +#define C_INTERFACE_TRY_V2_0_RESONANCES_SCATTERINGRADIUS + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Constant1d.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ScatteringRadiusClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ScatteringRadius +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ScatteringRadiusClass *ScatteringRadius; + +// --- Const-aware handles. +typedef const struct ScatteringRadiusClass *const ConstHandle2ConstScatteringRadius; +typedef struct ScatteringRadiusClass *const ConstHandle2ScatteringRadius; +typedef const struct ScatteringRadiusClass * Handle2ConstScatteringRadius; +typedef struct ScatteringRadiusClass * Handle2ScatteringRadius; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstScatteringRadius +ScatteringRadiusDefaultConst(); + +// +++ Create, default +extern_c Handle2ScatteringRadius +ScatteringRadiusDefault(); + +// --- Create, general, const +extern_c Handle2ConstScatteringRadius +ScatteringRadiusCreateConst( +); + +// +++ Create, general +extern_c Handle2ScatteringRadius +ScatteringRadiusCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ScatteringRadiusAssign(ConstHandle2ScatteringRadius This, ConstHandle2ConstScatteringRadius from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ScatteringRadiusDelete(ConstHandle2ConstScatteringRadius This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ScatteringRadiusRead(ConstHandle2ScatteringRadius This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ScatteringRadiusWrite(ConstHandle2ConstScatteringRadius This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ScatteringRadiusPrint(ConstHandle2ConstScatteringRadius This); + +// +++ Print to standard output, as XML +extern_c int +ScatteringRadiusPrintXML(ConstHandle2ConstScatteringRadius This); + +// +++ Print to standard output, as JSON +extern_c int +ScatteringRadiusPrintJSON(ConstHandle2ConstScatteringRadius This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.cpp new file mode 100644 index 000000000..f6e7ba26f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/SpinGroup.hpp" +#include "SpinGroup.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SpinGroupClass; +using CPP = multigroup::SpinGroup; + +static const std::string CLASSNAME = "SpinGroup"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto spin = [](auto &obj) { return &obj.spin; }; + static auto parity = [](auto &obj) { return &obj.parity; }; + static auto channels = [](auto &obj) { return &obj.channels; }; + static auto resonanceParameters = [](auto &obj) { return &obj.resonanceParameters; }; +} + +using CPPChannels = resonances::Channels; +using CPPResonanceParameters = resonances::ResonanceParameters; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSpinGroup +SpinGroupDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2SpinGroup +SpinGroupDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSpinGroup +SpinGroupCreateConst( + const XMLName label, + const Fraction32 spin, + const Integer32 parity, + ConstHandle2ConstChannels channels, + ConstHandle2ConstResonanceParameters resonanceParameters +) { + ConstHandle2SpinGroup handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + spin, + parity, + detail::tocpp(channels), + detail::tocpp(resonanceParameters) + ); + return handle; +} + +// Create, general +Handle2SpinGroup +SpinGroupCreate( + const XMLName label, + const Fraction32 spin, + const Integer32 parity, + ConstHandle2ConstChannels channels, + ConstHandle2ConstResonanceParameters resonanceParameters +) { + ConstHandle2SpinGroup handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + spin, + parity, + detail::tocpp(channels), + detail::tocpp(resonanceParameters) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SpinGroupAssign(ConstHandle2SpinGroup This, ConstHandle2ConstSpinGroup from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SpinGroupDelete(ConstHandle2ConstSpinGroup This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SpinGroupRead(ConstHandle2SpinGroup This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SpinGroupWrite(ConstHandle2ConstSpinGroup This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SpinGroupPrint(ConstHandle2ConstSpinGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SpinGroupPrintXML(ConstHandle2ConstSpinGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SpinGroupPrintJSON(ConstHandle2ConstSpinGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +SpinGroupLabelHas(ConstHandle2ConstSpinGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +SpinGroupLabelGet(ConstHandle2ConstSpinGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +SpinGroupLabelSet(ConstHandle2SpinGroup This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: spin +// ----------------------------------------------------------------------------- + +// Has +int +SpinGroupSpinHas(ConstHandle2ConstSpinGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpinHas", This, extract::spin); +} + +// Get +// Returns by value +Fraction32 +SpinGroupSpinGet(ConstHandle2ConstSpinGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SpinGet", This, extract::spin); +} + +// Set +void +SpinGroupSpinSet(ConstHandle2SpinGroup This, const Fraction32 spin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SpinSet", This, extract::spin, spin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: parity +// ----------------------------------------------------------------------------- + +// Has +int +SpinGroupParityHas(ConstHandle2ConstSpinGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ParityHas", This, extract::parity); +} + +// Get +// Returns by value +Integer32 +SpinGroupParityGet(ConstHandle2ConstSpinGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ParityGet", This, extract::parity); +} + +// Set +void +SpinGroupParitySet(ConstHandle2SpinGroup This, const Integer32 parity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ParitySet", This, extract::parity, parity); +} + + +// ----------------------------------------------------------------------------- +// Child: channels +// ----------------------------------------------------------------------------- + +// Has +int +SpinGroupChannelsHas(ConstHandle2ConstSpinGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChannelsHas", This, extract::channels); +} + +// Get, const +Handle2ConstChannels +SpinGroupChannelsGetConst(ConstHandle2ConstSpinGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChannelsGetConst", This, extract::channels); +} + +// Get, non-const +Handle2Channels +SpinGroupChannelsGet(ConstHandle2SpinGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChannelsGet", This, extract::channels); +} + +// Set +void +SpinGroupChannelsSet(ConstHandle2SpinGroup This, ConstHandle2ConstChannels channels) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChannelsSet", This, extract::channels, channels); +} + + +// ----------------------------------------------------------------------------- +// Child: resonanceParameters +// ----------------------------------------------------------------------------- + +// Has +int +SpinGroupResonanceParametersHas(ConstHandle2ConstSpinGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonanceParametersHas", This, extract::resonanceParameters); +} + +// Get, const +Handle2ConstResonanceParameters +SpinGroupResonanceParametersGetConst(ConstHandle2ConstSpinGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceParametersGetConst", This, extract::resonanceParameters); +} + +// Get, non-const +Handle2ResonanceParameters +SpinGroupResonanceParametersGet(ConstHandle2SpinGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceParametersGet", This, extract::resonanceParameters); +} + +// Set +void +SpinGroupResonanceParametersSet(ConstHandle2SpinGroup This, ConstHandle2ConstResonanceParameters resonanceParameters) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResonanceParametersSet", This, extract::resonanceParameters, resonanceParameters); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.h new file mode 100644 index 000000000..c2481c6f9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// SpinGroup is the basic handle type in this file. Example: +// // Create a default SpinGroup object: +// SpinGroup handle = SpinGroupDefault(); +// Functions involving SpinGroup are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_SPINGROUP +#define C_INTERFACE_TRY_V2_0_RESONANCES_SPINGROUP + +#include "GNDStk.h" +#include "v2.0/resonances/Channels.h" +#include "v2.0/resonances/ResonanceParameters.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SpinGroupClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ SpinGroup +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SpinGroupClass *SpinGroup; + +// --- Const-aware handles. +typedef const struct SpinGroupClass *const ConstHandle2ConstSpinGroup; +typedef struct SpinGroupClass *const ConstHandle2SpinGroup; +typedef const struct SpinGroupClass * Handle2ConstSpinGroup; +typedef struct SpinGroupClass * Handle2SpinGroup; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSpinGroup +SpinGroupDefaultConst(); + +// +++ Create, default +extern_c Handle2SpinGroup +SpinGroupDefault(); + +// --- Create, general, const +extern_c Handle2ConstSpinGroup +SpinGroupCreateConst( + const XMLName label, + const Fraction32 spin, + const Integer32 parity, + ConstHandle2ConstChannels channels, + ConstHandle2ConstResonanceParameters resonanceParameters +); + +// +++ Create, general +extern_c Handle2SpinGroup +SpinGroupCreate( + const XMLName label, + const Fraction32 spin, + const Integer32 parity, + ConstHandle2ConstChannels channels, + ConstHandle2ConstResonanceParameters resonanceParameters +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SpinGroupAssign(ConstHandle2SpinGroup This, ConstHandle2ConstSpinGroup from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SpinGroupDelete(ConstHandle2ConstSpinGroup This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SpinGroupRead(ConstHandle2SpinGroup This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SpinGroupWrite(ConstHandle2ConstSpinGroup This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SpinGroupPrint(ConstHandle2ConstSpinGroup This); + +// +++ Print to standard output, as XML +extern_c int +SpinGroupPrintXML(ConstHandle2ConstSpinGroup This); + +// +++ Print to standard output, as JSON +extern_c int +SpinGroupPrintJSON(ConstHandle2ConstSpinGroup This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinGroupLabelHas(ConstHandle2ConstSpinGroup This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SpinGroupLabelGet(ConstHandle2ConstSpinGroup This); + +// +++ Set +extern_c void +SpinGroupLabelSet(ConstHandle2SpinGroup This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: spin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinGroupSpinHas(ConstHandle2ConstSpinGroup This); + +// +++ Get +// +++ Returns by value +extern_c Fraction32 +SpinGroupSpinGet(ConstHandle2ConstSpinGroup This); + +// +++ Set +extern_c void +SpinGroupSpinSet(ConstHandle2SpinGroup This, const Fraction32 spin); + + +// ----------------------------------------------------------------------------- +// Metadatum: parity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinGroupParityHas(ConstHandle2ConstSpinGroup This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +SpinGroupParityGet(ConstHandle2ConstSpinGroup This); + +// +++ Set +extern_c void +SpinGroupParitySet(ConstHandle2SpinGroup This, const Integer32 parity); + + +// ----------------------------------------------------------------------------- +// Child: channels +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinGroupChannelsHas(ConstHandle2ConstSpinGroup This); + +// --- Get, const +extern_c Handle2ConstChannels +SpinGroupChannelsGetConst(ConstHandle2ConstSpinGroup This); + +// +++ Get, non-const +extern_c Handle2Channels +SpinGroupChannelsGet(ConstHandle2SpinGroup This); + +// +++ Set +extern_c void +SpinGroupChannelsSet(ConstHandle2SpinGroup This, ConstHandle2ConstChannels channels); + + +// ----------------------------------------------------------------------------- +// Child: resonanceParameters +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinGroupResonanceParametersHas(ConstHandle2ConstSpinGroup This); + +// --- Get, const +extern_c Handle2ConstResonanceParameters +SpinGroupResonanceParametersGetConst(ConstHandle2ConstSpinGroup This); + +// +++ Get, non-const +extern_c Handle2ResonanceParameters +SpinGroupResonanceParametersGet(ConstHandle2SpinGroup This); + +// +++ Set +extern_c void +SpinGroupResonanceParametersSet(ConstHandle2SpinGroup This, ConstHandle2ConstResonanceParameters resonanceParameters); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.cpp new file mode 100644 index 000000000..c8ccf9224 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/SpinGroups.hpp" +#include "SpinGroups.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SpinGroupsClass; +using CPP = multigroup::SpinGroups; + +static const std::string CLASSNAME = "SpinGroups"; + +namespace extract { + static auto spinGroup = [](auto &obj) { return &obj.spinGroup; }; +} + +using CPPSpinGroup = resonances::SpinGroup; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSpinGroups +SpinGroupsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2SpinGroups +SpinGroupsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSpinGroups +SpinGroupsCreateConst( + ConstHandle2SpinGroup *const spinGroup, const size_t spinGroupSize +) { + ConstHandle2SpinGroups handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t SpinGroupN = 0; SpinGroupN < spinGroupSize; ++SpinGroupN) + SpinGroupsSpinGroupAdd(handle, spinGroup[SpinGroupN]); + return handle; +} + +// Create, general +Handle2SpinGroups +SpinGroupsCreate( + ConstHandle2SpinGroup *const spinGroup, const size_t spinGroupSize +) { + ConstHandle2SpinGroups handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t SpinGroupN = 0; SpinGroupN < spinGroupSize; ++SpinGroupN) + SpinGroupsSpinGroupAdd(handle, spinGroup[SpinGroupN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SpinGroupsAssign(ConstHandle2SpinGroups This, ConstHandle2ConstSpinGroups from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SpinGroupsDelete(ConstHandle2ConstSpinGroups This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SpinGroupsRead(ConstHandle2SpinGroups This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SpinGroupsWrite(ConstHandle2ConstSpinGroups This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SpinGroupsPrint(ConstHandle2ConstSpinGroups This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SpinGroupsPrintXML(ConstHandle2ConstSpinGroups This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SpinGroupsPrintJSON(ConstHandle2ConstSpinGroups This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: spinGroup +// ----------------------------------------------------------------------------- + +// Has +int +SpinGroupsSpinGroupHas(ConstHandle2ConstSpinGroups This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SpinGroupHas", This, extract::spinGroup); +} + +// Clear +void +SpinGroupsSpinGroupClear(ConstHandle2SpinGroups This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"SpinGroupClear", This, extract::spinGroup); +} + +// Size +size_t +SpinGroupsSpinGroupSize(ConstHandle2ConstSpinGroups This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"SpinGroupSize", This, extract::spinGroup); +} + +// Add +void +SpinGroupsSpinGroupAdd(ConstHandle2SpinGroups This, ConstHandle2ConstSpinGroup spinGroup) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"SpinGroupAdd", This, extract::spinGroup, spinGroup); +} + +// Get, by index \in [0,size), const +Handle2ConstSpinGroup +SpinGroupsSpinGroupGetConst(ConstHandle2ConstSpinGroups This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SpinGroupGetConst", This, extract::spinGroup, index_); +} + +// Get, by index \in [0,size), non-const +Handle2SpinGroup +SpinGroupsSpinGroupGet(ConstHandle2SpinGroups This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SpinGroupGet", This, extract::spinGroup, index_); +} + +// Set, by index \in [0,size) +void +SpinGroupsSpinGroupSet( + ConstHandle2SpinGroups This, + const size_t index_, + ConstHandle2ConstSpinGroup spinGroup +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"SpinGroupSet", This, extract::spinGroup, index_, spinGroup); +} + +// Has, by label +int +SpinGroupsSpinGroupHasByLabel( + ConstHandle2ConstSpinGroups This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupHasByLabel", + This, extract::spinGroup, meta::label, label); +} + +// Get, by label, const +Handle2ConstSpinGroup +SpinGroupsSpinGroupGetByLabelConst( + ConstHandle2ConstSpinGroups This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupGetByLabelConst", + This, extract::spinGroup, meta::label, label); +} + +// Get, by label, non-const +Handle2SpinGroup +SpinGroupsSpinGroupGetByLabel( + ConstHandle2SpinGroups This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupGetByLabel", + This, extract::spinGroup, meta::label, label); +} + +// Set, by label +void +SpinGroupsSpinGroupSetByLabel( + ConstHandle2SpinGroups This, + const XMLName label, + ConstHandle2ConstSpinGroup spinGroup +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupSetByLabel", + This, extract::spinGroup, meta::label, label, spinGroup); +} + +// Has, by spin +int +SpinGroupsSpinGroupHasBySpin( + ConstHandle2ConstSpinGroups This, + const Fraction32 spin +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupHasBySpin", + This, extract::spinGroup, meta::spin, spin); +} + +// Get, by spin, const +Handle2ConstSpinGroup +SpinGroupsSpinGroupGetBySpinConst( + ConstHandle2ConstSpinGroups This, + const Fraction32 spin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupGetBySpinConst", + This, extract::spinGroup, meta::spin, spin); +} + +// Get, by spin, non-const +Handle2SpinGroup +SpinGroupsSpinGroupGetBySpin( + ConstHandle2SpinGroups This, + const Fraction32 spin +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupGetBySpin", + This, extract::spinGroup, meta::spin, spin); +} + +// Set, by spin +void +SpinGroupsSpinGroupSetBySpin( + ConstHandle2SpinGroups This, + const Fraction32 spin, + ConstHandle2ConstSpinGroup spinGroup +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupSetBySpin", + This, extract::spinGroup, meta::spin, spin, spinGroup); +} + +// Has, by parity +int +SpinGroupsSpinGroupHasByParity( + ConstHandle2ConstSpinGroups This, + const Integer32 parity +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupHasByParity", + This, extract::spinGroup, meta::parity, parity); +} + +// Get, by parity, const +Handle2ConstSpinGroup +SpinGroupsSpinGroupGetByParityConst( + ConstHandle2ConstSpinGroups This, + const Integer32 parity +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupGetByParityConst", + This, extract::spinGroup, meta::parity, parity); +} + +// Get, by parity, non-const +Handle2SpinGroup +SpinGroupsSpinGroupGetByParity( + ConstHandle2SpinGroups This, + const Integer32 parity +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupGetByParity", + This, extract::spinGroup, meta::parity, parity); +} + +// Set, by parity +void +SpinGroupsSpinGroupSetByParity( + ConstHandle2SpinGroups This, + const Integer32 parity, + ConstHandle2ConstSpinGroup spinGroup +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SpinGroupSetByParity", + This, extract::spinGroup, meta::parity, parity, spinGroup); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.h new file mode 100644 index 000000000..2ed4aca7d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// SpinGroups is the basic handle type in this file. Example: +// // Create a default SpinGroups object: +// SpinGroups handle = SpinGroupsDefault(); +// Functions involving SpinGroups are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_SPINGROUPS +#define C_INTERFACE_TRY_V2_0_RESONANCES_SPINGROUPS + +#include "GNDStk.h" +#include "v2.0/resonances/SpinGroup.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SpinGroupsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ SpinGroups +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SpinGroupsClass *SpinGroups; + +// --- Const-aware handles. +typedef const struct SpinGroupsClass *const ConstHandle2ConstSpinGroups; +typedef struct SpinGroupsClass *const ConstHandle2SpinGroups; +typedef const struct SpinGroupsClass * Handle2ConstSpinGroups; +typedef struct SpinGroupsClass * Handle2SpinGroups; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSpinGroups +SpinGroupsDefaultConst(); + +// +++ Create, default +extern_c Handle2SpinGroups +SpinGroupsDefault(); + +// --- Create, general, const +extern_c Handle2ConstSpinGroups +SpinGroupsCreateConst( + ConstHandle2SpinGroup *const spinGroup, const size_t spinGroupSize +); + +// +++ Create, general +extern_c Handle2SpinGroups +SpinGroupsCreate( + ConstHandle2SpinGroup *const spinGroup, const size_t spinGroupSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SpinGroupsAssign(ConstHandle2SpinGroups This, ConstHandle2ConstSpinGroups from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SpinGroupsDelete(ConstHandle2ConstSpinGroups This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SpinGroupsRead(ConstHandle2SpinGroups This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SpinGroupsWrite(ConstHandle2ConstSpinGroups This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SpinGroupsPrint(ConstHandle2ConstSpinGroups This); + +// +++ Print to standard output, as XML +extern_c int +SpinGroupsPrintXML(ConstHandle2ConstSpinGroups This); + +// +++ Print to standard output, as JSON +extern_c int +SpinGroupsPrintJSON(ConstHandle2ConstSpinGroups This); + + +// ----------------------------------------------------------------------------- +// Child: spinGroup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SpinGroupsSpinGroupHas(ConstHandle2ConstSpinGroups This); + +// +++ Clear +extern_c void +SpinGroupsSpinGroupClear(ConstHandle2SpinGroups This); + +// +++ Size +extern_c size_t +SpinGroupsSpinGroupSize(ConstHandle2ConstSpinGroups This); + +// +++ Add +extern_c void +SpinGroupsSpinGroupAdd(ConstHandle2SpinGroups This, ConstHandle2ConstSpinGroup spinGroup); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstSpinGroup +SpinGroupsSpinGroupGetConst(ConstHandle2ConstSpinGroups This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2SpinGroup +SpinGroupsSpinGroupGet(ConstHandle2SpinGroups This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +SpinGroupsSpinGroupSet( + ConstHandle2SpinGroups This, + const size_t index_, + ConstHandle2ConstSpinGroup spinGroup +); + +// +++ Has, by label +extern_c int +SpinGroupsSpinGroupHasByLabel( + ConstHandle2ConstSpinGroups This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstSpinGroup +SpinGroupsSpinGroupGetByLabelConst( + ConstHandle2ConstSpinGroups This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2SpinGroup +SpinGroupsSpinGroupGetByLabel( + ConstHandle2SpinGroups This, + const XMLName label +); + +// +++ Set, by label +extern_c void +SpinGroupsSpinGroupSetByLabel( + ConstHandle2SpinGroups This, + const XMLName label, + ConstHandle2ConstSpinGroup spinGroup +); + +// +++ Has, by spin +extern_c int +SpinGroupsSpinGroupHasBySpin( + ConstHandle2ConstSpinGroups This, + const Fraction32 spin +); + +// --- Get, by spin, const +extern_c Handle2ConstSpinGroup +SpinGroupsSpinGroupGetBySpinConst( + ConstHandle2ConstSpinGroups This, + const Fraction32 spin +); + +// +++ Get, by spin, non-const +extern_c Handle2SpinGroup +SpinGroupsSpinGroupGetBySpin( + ConstHandle2SpinGroups This, + const Fraction32 spin +); + +// +++ Set, by spin +extern_c void +SpinGroupsSpinGroupSetBySpin( + ConstHandle2SpinGroups This, + const Fraction32 spin, + ConstHandle2ConstSpinGroup spinGroup +); + +// +++ Has, by parity +extern_c int +SpinGroupsSpinGroupHasByParity( + ConstHandle2ConstSpinGroups This, + const Integer32 parity +); + +// --- Get, by parity, const +extern_c Handle2ConstSpinGroup +SpinGroupsSpinGroupGetByParityConst( + ConstHandle2ConstSpinGroups This, + const Integer32 parity +); + +// +++ Get, by parity, non-const +extern_c Handle2SpinGroup +SpinGroupsSpinGroupGetByParity( + ConstHandle2SpinGroups This, + const Integer32 parity +); + +// +++ Set, by parity +extern_c void +SpinGroupsSpinGroupSetByParity( + ConstHandle2SpinGroups This, + const Integer32 parity, + ConstHandle2ConstSpinGroup spinGroup +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp new file mode 100644 index 000000000..9f188c733 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp @@ -0,0 +1,451 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/TabulatedWidths.hpp" +#include "TabulatedWidths.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TabulatedWidthsClass; +using CPP = multigroup::TabulatedWidths; + +static const std::string CLASSNAME = "TabulatedWidths"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto approximation = [](auto &obj) { return &obj.approximation; }; + static auto useForSelfShieldingOnly = [](auto &obj) { return &obj.useForSelfShieldingOnly; }; + static auto PoPs = [](auto &obj) { return &obj.PoPs; }; + static auto scatteringRadius = [](auto &obj) { return &obj.scatteringRadius; }; + static auto hardSphereRadius = [](auto &obj) { return &obj.hardSphereRadius; }; + static auto resonanceReactions = [](auto &obj) { return &obj.resonanceReactions; }; + static auto Ls = [](auto &obj) { return &obj.Ls; }; +} + +using CPPPoPs = unknownNamespace::PoPs; +using CPPScatteringRadius = resonances::ScatteringRadius; +using CPPHardSphereRadius = resonances::HardSphereRadius; +using CPPResonanceReactions = resonances::ResonanceReactions; +using CPPLs = resonances::Ls; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTabulatedWidths +TabulatedWidthsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2TabulatedWidths +TabulatedWidthsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTabulatedWidths +TabulatedWidthsCreateConst( + const XMLName label, + const XMLName approximation, + const bool useForSelfShieldingOnly, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstResonanceReactions resonanceReactions, + ConstHandle2ConstLs Ls +) { + ConstHandle2TabulatedWidths handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + approximation, + useForSelfShieldingOnly, + detail::tocpp(PoPs), + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius), + detail::tocpp(resonanceReactions), + detail::tocpp(Ls) + ); + return handle; +} + +// Create, general +Handle2TabulatedWidths +TabulatedWidthsCreate( + const XMLName label, + const XMLName approximation, + const bool useForSelfShieldingOnly, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstResonanceReactions resonanceReactions, + ConstHandle2ConstLs Ls +) { + ConstHandle2TabulatedWidths handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + approximation, + useForSelfShieldingOnly, + detail::tocpp(PoPs), + detail::tocpp(scatteringRadius), + detail::tocpp(hardSphereRadius), + detail::tocpp(resonanceReactions), + detail::tocpp(Ls) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TabulatedWidthsAssign(ConstHandle2TabulatedWidths This, ConstHandle2ConstTabulatedWidths from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TabulatedWidthsDelete(ConstHandle2ConstTabulatedWidths This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TabulatedWidthsRead(ConstHandle2TabulatedWidths This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TabulatedWidthsWrite(ConstHandle2ConstTabulatedWidths This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TabulatedWidthsPrint(ConstHandle2ConstTabulatedWidths This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TabulatedWidthsPrintXML(ConstHandle2ConstTabulatedWidths This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TabulatedWidthsPrintJSON(ConstHandle2ConstTabulatedWidths This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +TabulatedWidthsLabelHas(ConstHandle2ConstTabulatedWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +TabulatedWidthsLabelGet(ConstHandle2ConstTabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +TabulatedWidthsLabelSet(ConstHandle2TabulatedWidths This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: approximation +// ----------------------------------------------------------------------------- + +// Has +int +TabulatedWidthsApproximationHas(ConstHandle2ConstTabulatedWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ApproximationHas", This, extract::approximation); +} + +// Get +// Returns by value +XMLName +TabulatedWidthsApproximationGet(ConstHandle2ConstTabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ApproximationGet", This, extract::approximation); +} + +// Set +void +TabulatedWidthsApproximationSet(ConstHandle2TabulatedWidths This, const XMLName approximation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ApproximationSet", This, extract::approximation, approximation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: useForSelfShieldingOnly +// ----------------------------------------------------------------------------- + +// Has +int +TabulatedWidthsUseForSelfShieldingOnlyHas(ConstHandle2ConstTabulatedWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlyHas", This, extract::useForSelfShieldingOnly); +} + +// Get +// Returns by value +bool +TabulatedWidthsUseForSelfShieldingOnlyGet(ConstHandle2ConstTabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlyGet", This, extract::useForSelfShieldingOnly); +} + +// Set +void +TabulatedWidthsUseForSelfShieldingOnlySet(ConstHandle2TabulatedWidths This, const bool useForSelfShieldingOnly) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UseForSelfShieldingOnlySet", This, extract::useForSelfShieldingOnly, useForSelfShieldingOnly); +} + + +// ----------------------------------------------------------------------------- +// Child: PoPs +// ----------------------------------------------------------------------------- + +// Has +int +TabulatedWidthsPoPsHas(ConstHandle2ConstTabulatedWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PoPsHas", This, extract::PoPs); +} + +// Get, const +Handle2ConstPoPs +TabulatedWidthsPoPsGetConst(ConstHandle2ConstTabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PoPsGetConst", This, extract::PoPs); +} + +// Get, non-const +Handle2PoPs +TabulatedWidthsPoPsGet(ConstHandle2TabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PoPsGet", This, extract::PoPs); +} + +// Set +void +TabulatedWidthsPoPsSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstPoPs PoPs) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PoPsSet", This, extract::PoPs, PoPs); +} + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// Has +int +TabulatedWidthsScatteringRadiusHas(ConstHandle2ConstTabulatedWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ScatteringRadiusHas", This, extract::scatteringRadius); +} + +// Get, const +Handle2ConstScatteringRadius +TabulatedWidthsScatteringRadiusGetConst(ConstHandle2ConstTabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGetConst", This, extract::scatteringRadius); +} + +// Get, non-const +Handle2ScatteringRadius +TabulatedWidthsScatteringRadiusGet(ConstHandle2TabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringRadiusGet", This, extract::scatteringRadius); +} + +// Set +void +TabulatedWidthsScatteringRadiusSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstScatteringRadius scatteringRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ScatteringRadiusSet", This, extract::scatteringRadius, scatteringRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// Has +int +TabulatedWidthsHardSphereRadiusHas(ConstHandle2ConstTabulatedWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HardSphereRadiusHas", This, extract::hardSphereRadius); +} + +// Get, const +Handle2ConstHardSphereRadius +TabulatedWidthsHardSphereRadiusGetConst(ConstHandle2ConstTabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGetConst", This, extract::hardSphereRadius); +} + +// Get, non-const +Handle2HardSphereRadius +TabulatedWidthsHardSphereRadiusGet(ConstHandle2TabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HardSphereRadiusGet", This, extract::hardSphereRadius); +} + +// Set +void +TabulatedWidthsHardSphereRadiusSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstHardSphereRadius hardSphereRadius) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HardSphereRadiusSet", This, extract::hardSphereRadius, hardSphereRadius); +} + + +// ----------------------------------------------------------------------------- +// Child: resonanceReactions +// ----------------------------------------------------------------------------- + +// Has +int +TabulatedWidthsResonanceReactionsHas(ConstHandle2ConstTabulatedWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonanceReactionsHas", This, extract::resonanceReactions); +} + +// Get, const +Handle2ConstResonanceReactions +TabulatedWidthsResonanceReactionsGetConst(ConstHandle2ConstTabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceReactionsGetConst", This, extract::resonanceReactions); +} + +// Get, non-const +Handle2ResonanceReactions +TabulatedWidthsResonanceReactionsGet(ConstHandle2TabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceReactionsGet", This, extract::resonanceReactions); +} + +// Set +void +TabulatedWidthsResonanceReactionsSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstResonanceReactions resonanceReactions) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResonanceReactionsSet", This, extract::resonanceReactions, resonanceReactions); +} + + +// ----------------------------------------------------------------------------- +// Child: Ls +// ----------------------------------------------------------------------------- + +// Has +int +TabulatedWidthsLsHas(ConstHandle2ConstTabulatedWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LsHas", This, extract::Ls); +} + +// Get, const +Handle2ConstLs +TabulatedWidthsLsGetConst(ConstHandle2ConstTabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LsGetConst", This, extract::Ls); +} + +// Get, non-const +Handle2Ls +TabulatedWidthsLsGet(ConstHandle2TabulatedWidths This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LsGet", This, extract::Ls); +} + +// Set +void +TabulatedWidthsLsSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstLs Ls) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LsSet", This, extract::Ls, Ls); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h new file mode 100644 index 000000000..d0adaa6d9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h @@ -0,0 +1,315 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// TabulatedWidths is the basic handle type in this file. Example: +// // Create a default TabulatedWidths object: +// TabulatedWidths handle = TabulatedWidthsDefault(); +// Functions involving TabulatedWidths are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_TABULATEDWIDTHS +#define C_INTERFACE_TRY_V2_0_RESONANCES_TABULATEDWIDTHS + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/PoPs.h" +#include "v2.0/resonances/ScatteringRadius.h" +#include "v2.0/resonances/HardSphereRadius.h" +#include "v2.0/resonances/ResonanceReactions.h" +#include "v2.0/resonances/Ls.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TabulatedWidthsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ TabulatedWidths +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TabulatedWidthsClass *TabulatedWidths; + +// --- Const-aware handles. +typedef const struct TabulatedWidthsClass *const ConstHandle2ConstTabulatedWidths; +typedef struct TabulatedWidthsClass *const ConstHandle2TabulatedWidths; +typedef const struct TabulatedWidthsClass * Handle2ConstTabulatedWidths; +typedef struct TabulatedWidthsClass * Handle2TabulatedWidths; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTabulatedWidths +TabulatedWidthsDefaultConst(); + +// +++ Create, default +extern_c Handle2TabulatedWidths +TabulatedWidthsDefault(); + +// --- Create, general, const +extern_c Handle2ConstTabulatedWidths +TabulatedWidthsCreateConst( + const XMLName label, + const XMLName approximation, + const bool useForSelfShieldingOnly, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstResonanceReactions resonanceReactions, + ConstHandle2ConstLs Ls +); + +// +++ Create, general +extern_c Handle2TabulatedWidths +TabulatedWidthsCreate( + const XMLName label, + const XMLName approximation, + const bool useForSelfShieldingOnly, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstScatteringRadius scatteringRadius, + ConstHandle2ConstHardSphereRadius hardSphereRadius, + ConstHandle2ConstResonanceReactions resonanceReactions, + ConstHandle2ConstLs Ls +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TabulatedWidthsAssign(ConstHandle2TabulatedWidths This, ConstHandle2ConstTabulatedWidths from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TabulatedWidthsDelete(ConstHandle2ConstTabulatedWidths This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TabulatedWidthsRead(ConstHandle2TabulatedWidths This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TabulatedWidthsWrite(ConstHandle2ConstTabulatedWidths This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TabulatedWidthsPrint(ConstHandle2ConstTabulatedWidths This); + +// +++ Print to standard output, as XML +extern_c int +TabulatedWidthsPrintXML(ConstHandle2ConstTabulatedWidths This); + +// +++ Print to standard output, as JSON +extern_c int +TabulatedWidthsPrintJSON(ConstHandle2ConstTabulatedWidths This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TabulatedWidthsLabelHas(ConstHandle2ConstTabulatedWidths This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TabulatedWidthsLabelGet(ConstHandle2ConstTabulatedWidths This); + +// +++ Set +extern_c void +TabulatedWidthsLabelSet(ConstHandle2TabulatedWidths This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: approximation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TabulatedWidthsApproximationHas(ConstHandle2ConstTabulatedWidths This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TabulatedWidthsApproximationGet(ConstHandle2ConstTabulatedWidths This); + +// +++ Set +extern_c void +TabulatedWidthsApproximationSet(ConstHandle2TabulatedWidths This, const XMLName approximation); + + +// ----------------------------------------------------------------------------- +// Metadatum: useForSelfShieldingOnly +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TabulatedWidthsUseForSelfShieldingOnlyHas(ConstHandle2ConstTabulatedWidths This); + +// +++ Get +// +++ Returns by value +extern_c bool +TabulatedWidthsUseForSelfShieldingOnlyGet(ConstHandle2ConstTabulatedWidths This); + +// +++ Set +extern_c void +TabulatedWidthsUseForSelfShieldingOnlySet(ConstHandle2TabulatedWidths This, const bool useForSelfShieldingOnly); + + +// ----------------------------------------------------------------------------- +// Child: PoPs +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TabulatedWidthsPoPsHas(ConstHandle2ConstTabulatedWidths This); + +// --- Get, const +extern_c Handle2ConstPoPs +TabulatedWidthsPoPsGetConst(ConstHandle2ConstTabulatedWidths This); + +// +++ Get, non-const +extern_c Handle2PoPs +TabulatedWidthsPoPsGet(ConstHandle2TabulatedWidths This); + +// +++ Set +extern_c void +TabulatedWidthsPoPsSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstPoPs PoPs); + + +// ----------------------------------------------------------------------------- +// Child: scatteringRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TabulatedWidthsScatteringRadiusHas(ConstHandle2ConstTabulatedWidths This); + +// --- Get, const +extern_c Handle2ConstScatteringRadius +TabulatedWidthsScatteringRadiusGetConst(ConstHandle2ConstTabulatedWidths This); + +// +++ Get, non-const +extern_c Handle2ScatteringRadius +TabulatedWidthsScatteringRadiusGet(ConstHandle2TabulatedWidths This); + +// +++ Set +extern_c void +TabulatedWidthsScatteringRadiusSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstScatteringRadius scatteringRadius); + + +// ----------------------------------------------------------------------------- +// Child: hardSphereRadius +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TabulatedWidthsHardSphereRadiusHas(ConstHandle2ConstTabulatedWidths This); + +// --- Get, const +extern_c Handle2ConstHardSphereRadius +TabulatedWidthsHardSphereRadiusGetConst(ConstHandle2ConstTabulatedWidths This); + +// +++ Get, non-const +extern_c Handle2HardSphereRadius +TabulatedWidthsHardSphereRadiusGet(ConstHandle2TabulatedWidths This); + +// +++ Set +extern_c void +TabulatedWidthsHardSphereRadiusSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstHardSphereRadius hardSphereRadius); + + +// ----------------------------------------------------------------------------- +// Child: resonanceReactions +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TabulatedWidthsResonanceReactionsHas(ConstHandle2ConstTabulatedWidths This); + +// --- Get, const +extern_c Handle2ConstResonanceReactions +TabulatedWidthsResonanceReactionsGetConst(ConstHandle2ConstTabulatedWidths This); + +// +++ Get, non-const +extern_c Handle2ResonanceReactions +TabulatedWidthsResonanceReactionsGet(ConstHandle2TabulatedWidths This); + +// +++ Set +extern_c void +TabulatedWidthsResonanceReactionsSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstResonanceReactions resonanceReactions); + + +// ----------------------------------------------------------------------------- +// Child: Ls +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TabulatedWidthsLsHas(ConstHandle2ConstTabulatedWidths This); + +// --- Get, const +extern_c Handle2ConstLs +TabulatedWidthsLsGetConst(ConstHandle2ConstTabulatedWidths This); + +// +++ Get, non-const +extern_c Handle2Ls +TabulatedWidthsLsGet(ConstHandle2TabulatedWidths This); + +// +++ Set +extern_c void +TabulatedWidthsLsSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstLs Ls); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.cpp new file mode 100644 index 000000000..90dd829ab --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.cpp @@ -0,0 +1,237 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Unresolved.hpp" +#include "Unresolved.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UnresolvedClass; +using CPP = multigroup::Unresolved; + +static const std::string CLASSNAME = "Unresolved"; + +namespace extract { + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto domainUnit = [](auto &obj) { return &obj.domainUnit; }; +} + +using CPPTabulatedWidths = resonances::TabulatedWidths; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUnresolved +UnresolvedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Unresolved +UnresolvedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUnresolved +UnresolvedCreateConst( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +) { + ConstHandle2Unresolved handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + domainMin, + domainMax, + domainUnit + ); + return handle; +} + +// Create, general +Handle2Unresolved +UnresolvedCreate( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +) { + ConstHandle2Unresolved handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + domainMin, + domainMax, + domainUnit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UnresolvedAssign(ConstHandle2Unresolved This, ConstHandle2ConstUnresolved from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UnresolvedDelete(ConstHandle2ConstUnresolved This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UnresolvedRead(ConstHandle2Unresolved This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UnresolvedWrite(ConstHandle2ConstUnresolved This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UnresolvedPrint(ConstHandle2ConstUnresolved This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UnresolvedPrintXML(ConstHandle2ConstUnresolved This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UnresolvedPrintJSON(ConstHandle2ConstUnresolved This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +UnresolvedDomainMinHas(ConstHandle2ConstUnresolved This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +UnresolvedDomainMinGet(ConstHandle2ConstUnresolved This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +UnresolvedDomainMinSet(ConstHandle2Unresolved This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +UnresolvedDomainMaxHas(ConstHandle2ConstUnresolved This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +UnresolvedDomainMaxGet(ConstHandle2ConstUnresolved This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +UnresolvedDomainMaxSet(ConstHandle2Unresolved This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// Has +int +UnresolvedDomainUnitHas(ConstHandle2ConstUnresolved This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainUnitHas", This, extract::domainUnit); +} + +// Get +// Returns by value +XMLName +UnresolvedDomainUnitGet(ConstHandle2ConstUnresolved This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainUnitGet", This, extract::domainUnit); +} + +// Set +void +UnresolvedDomainUnitSet(ConstHandle2Unresolved This, const XMLName domainUnit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainUnitSet", This, extract::domainUnit, domainUnit); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.h new file mode 100644 index 000000000..d4c2e0a84 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.h @@ -0,0 +1,196 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Unresolved is the basic handle type in this file. Example: +// // Create a default Unresolved object: +// Unresolved handle = UnresolvedDefault(); +// Functions involving Unresolved are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_UNRESOLVED +#define C_INTERFACE_TRY_V2_0_RESONANCES_UNRESOLVED + +#include "GNDStk.h" +#include "v2.0/resonances/TabulatedWidths.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UnresolvedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Unresolved +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UnresolvedClass *Unresolved; + +// --- Const-aware handles. +typedef const struct UnresolvedClass *const ConstHandle2ConstUnresolved; +typedef struct UnresolvedClass *const ConstHandle2Unresolved; +typedef const struct UnresolvedClass * Handle2ConstUnresolved; +typedef struct UnresolvedClass * Handle2Unresolved; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUnresolved +UnresolvedDefaultConst(); + +// +++ Create, default +extern_c Handle2Unresolved +UnresolvedDefault(); + +// --- Create, general, const +extern_c Handle2ConstUnresolved +UnresolvedCreateConst( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +); + +// +++ Create, general +extern_c Handle2Unresolved +UnresolvedCreate( + const Float64 domainMin, + const Float64 domainMax, + const XMLName domainUnit, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UnresolvedAssign(ConstHandle2Unresolved This, ConstHandle2ConstUnresolved from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UnresolvedDelete(ConstHandle2ConstUnresolved This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UnresolvedRead(ConstHandle2Unresolved This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UnresolvedWrite(ConstHandle2ConstUnresolved This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UnresolvedPrint(ConstHandle2ConstUnresolved This); + +// +++ Print to standard output, as XML +extern_c int +UnresolvedPrintXML(ConstHandle2ConstUnresolved This); + +// +++ Print to standard output, as JSON +extern_c int +UnresolvedPrintJSON(ConstHandle2ConstUnresolved This); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnresolvedDomainMinHas(ConstHandle2ConstUnresolved This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +UnresolvedDomainMinGet(ConstHandle2ConstUnresolved This); + +// +++ Set +extern_c void +UnresolvedDomainMinSet(ConstHandle2Unresolved This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnresolvedDomainMaxHas(ConstHandle2ConstUnresolved This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +UnresolvedDomainMaxGet(ConstHandle2ConstUnresolved This); + +// +++ Set +extern_c void +UnresolvedDomainMaxSet(ConstHandle2Unresolved This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainUnit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnresolvedDomainUnitHas(ConstHandle2ConstUnresolved This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +UnresolvedDomainUnitGet(ConstHandle2ConstUnresolved This); + +// +++ Set +extern_c void +UnresolvedDomainUnitSet(ConstHandle2Unresolved This, const XMLName domainUnit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp new file mode 100644 index 000000000..2cab3a618 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp @@ -0,0 +1,330 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Width.hpp" +#include "Width.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = WidthClass; +using CPP = multigroup::Width; + +static const std::string CLASSNAME = "Width"; + +namespace extract { + static auto resonanceReaction = [](auto &obj) { return &obj.resonanceReaction; }; + static auto degreesOfFreedom = [](auto &obj) { return &obj.degreesOfFreedom; }; + static auto constant1d = [](auto &obj) { return &obj.constant1d; }; + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPConstant1d = unknownNamespace::Constant1d; +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstWidth +WidthDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Width +WidthDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstWidth +WidthCreateConst( + const char *const resonanceReaction, + const Float64 degreesOfFreedom, + ConstHandle2ConstConstant1d constant1d, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2Width handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + resonanceReaction, + degreesOfFreedom, + detail::tocpp(constant1d), + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2Width +WidthCreate( + const char *const resonanceReaction, + const Float64 degreesOfFreedom, + ConstHandle2ConstConstant1d constant1d, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2Width handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + resonanceReaction, + degreesOfFreedom, + detail::tocpp(constant1d), + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +WidthAssign(ConstHandle2Width This, ConstHandle2ConstWidth from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +WidthDelete(ConstHandle2ConstWidth This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +WidthRead(ConstHandle2Width This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +WidthWrite(ConstHandle2ConstWidth This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +WidthPrint(ConstHandle2ConstWidth This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +WidthPrintXML(ConstHandle2ConstWidth This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +WidthPrintJSON(ConstHandle2ConstWidth This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: resonanceReaction +// ----------------------------------------------------------------------------- + +// Has +int +WidthResonanceReactionHas(ConstHandle2ConstWidth This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonanceReactionHas", This, extract::resonanceReaction); +} + +// Get +// Returns by value +const char * +WidthResonanceReactionGet(ConstHandle2ConstWidth This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonanceReactionGet", This, extract::resonanceReaction); +} + +// Set +void +WidthResonanceReactionSet(ConstHandle2Width This, const char *const resonanceReaction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResonanceReactionSet", This, extract::resonanceReaction, resonanceReaction); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: degreesOfFreedom +// ----------------------------------------------------------------------------- + +// Has +int +WidthDegreesOfFreedomHas(ConstHandle2ConstWidth This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DegreesOfFreedomHas", This, extract::degreesOfFreedom); +} + +// Get +// Returns by value +Float64 +WidthDegreesOfFreedomGet(ConstHandle2ConstWidth This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DegreesOfFreedomGet", This, extract::degreesOfFreedom); +} + +// Set +void +WidthDegreesOfFreedomSet(ConstHandle2Width This, const Float64 degreesOfFreedom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DegreesOfFreedomSet", This, extract::degreesOfFreedom, degreesOfFreedom); +} + + +// ----------------------------------------------------------------------------- +// Child: constant1d +// ----------------------------------------------------------------------------- + +// Has +int +WidthConstant1dHas(ConstHandle2ConstWidth This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Constant1dHas", This, extract::constant1d); +} + +// Get, const +Handle2ConstConstant1d +WidthConstant1dGetConst(ConstHandle2ConstWidth This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Constant1dGetConst", This, extract::constant1d); +} + +// Get, non-const +Handle2Constant1d +WidthConstant1dGet(ConstHandle2Width This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Constant1dGet", This, extract::constant1d); +} + +// Set +void +WidthConstant1dSet(ConstHandle2Width This, ConstHandle2ConstConstant1d constant1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Constant1dSet", This, extract::constant1d, constant1d); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +WidthXYs1dHas(ConstHandle2ConstWidth This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +WidthXYs1dGetConst(ConstHandle2ConstWidth This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +WidthXYs1dGet(ConstHandle2Width This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +WidthXYs1dSet(ConstHandle2Width This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +WidthRegions1dHas(ConstHandle2ConstWidth This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +WidthRegions1dGetConst(ConstHandle2ConstWidth This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +WidthRegions1dGet(ConstHandle2Width This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +WidthRegions1dSet(ConstHandle2Width This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h new file mode 100644 index 000000000..1780f893f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h @@ -0,0 +1,247 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Width is the basic handle type in this file. Example: +// // Create a default Width object: +// Width handle = WidthDefault(); +// Functions involving Width are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_WIDTH +#define C_INTERFACE_TRY_V2_0_RESONANCES_WIDTH + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Constant1d.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct WidthClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Width +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct WidthClass *Width; + +// --- Const-aware handles. +typedef const struct WidthClass *const ConstHandle2ConstWidth; +typedef struct WidthClass *const ConstHandle2Width; +typedef const struct WidthClass * Handle2ConstWidth; +typedef struct WidthClass * Handle2Width; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstWidth +WidthDefaultConst(); + +// +++ Create, default +extern_c Handle2Width +WidthDefault(); + +// --- Create, general, const +extern_c Handle2ConstWidth +WidthCreateConst( + const char *const resonanceReaction, + const Float64 degreesOfFreedom, + ConstHandle2ConstConstant1d constant1d, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2Width +WidthCreate( + const char *const resonanceReaction, + const Float64 degreesOfFreedom, + ConstHandle2ConstConstant1d constant1d, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +WidthAssign(ConstHandle2Width This, ConstHandle2ConstWidth from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +WidthDelete(ConstHandle2ConstWidth This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +WidthRead(ConstHandle2Width This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +WidthWrite(ConstHandle2ConstWidth This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +WidthPrint(ConstHandle2ConstWidth This); + +// +++ Print to standard output, as XML +extern_c int +WidthPrintXML(ConstHandle2ConstWidth This); + +// +++ Print to standard output, as JSON +extern_c int +WidthPrintJSON(ConstHandle2ConstWidth This); + + +// ----------------------------------------------------------------------------- +// Metadatum: resonanceReaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WidthResonanceReactionHas(ConstHandle2ConstWidth This); + +// +++ Get +// +++ Returns by value +extern_c const char * +WidthResonanceReactionGet(ConstHandle2ConstWidth This); + +// +++ Set +extern_c void +WidthResonanceReactionSet(ConstHandle2Width This, const char *const resonanceReaction); + + +// ----------------------------------------------------------------------------- +// Metadatum: degreesOfFreedom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WidthDegreesOfFreedomHas(ConstHandle2ConstWidth This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +WidthDegreesOfFreedomGet(ConstHandle2ConstWidth This); + +// +++ Set +extern_c void +WidthDegreesOfFreedomSet(ConstHandle2Width This, const Float64 degreesOfFreedom); + + +// ----------------------------------------------------------------------------- +// Child: constant1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WidthConstant1dHas(ConstHandle2ConstWidth This); + +// --- Get, const +extern_c Handle2ConstConstant1d +WidthConstant1dGetConst(ConstHandle2ConstWidth This); + +// +++ Get, non-const +extern_c Handle2Constant1d +WidthConstant1dGet(ConstHandle2Width This); + +// +++ Set +extern_c void +WidthConstant1dSet(ConstHandle2Width This, ConstHandle2ConstConstant1d constant1d); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WidthXYs1dHas(ConstHandle2ConstWidth This); + +// --- Get, const +extern_c Handle2ConstXYs1d +WidthXYs1dGetConst(ConstHandle2ConstWidth This); + +// +++ Get, non-const +extern_c Handle2XYs1d +WidthXYs1dGet(ConstHandle2Width This); + +// +++ Set +extern_c void +WidthXYs1dSet(ConstHandle2Width This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WidthRegions1dHas(ConstHandle2ConstWidth This); + +// --- Get, const +extern_c Handle2ConstRegions1d +WidthRegions1dGetConst(ConstHandle2ConstWidth This); + +// +++ Get, non-const +extern_c Handle2Regions1d +WidthRegions1dGet(ConstHandle2Width This); + +// +++ Set +extern_c void +WidthRegions1dSet(ConstHandle2Width This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.cpp new file mode 100644 index 000000000..6bb9922fc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/resonances/Widths.hpp" +#include "Widths.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = WidthsClass; +using CPP = multigroup::Widths; + +static const std::string CLASSNAME = "Widths"; + +namespace extract { + static auto width = [](auto &obj) { return &obj.width; }; +} + +using CPPWidth = resonances::Width; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstWidths +WidthsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Widths +WidthsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstWidths +WidthsCreateConst( + ConstHandle2Width *const width, const size_t widthSize +) { + ConstHandle2Widths handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t WidthN = 0; WidthN < widthSize; ++WidthN) + WidthsWidthAdd(handle, width[WidthN]); + return handle; +} + +// Create, general +Handle2Widths +WidthsCreate( + ConstHandle2Width *const width, const size_t widthSize +) { + ConstHandle2Widths handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t WidthN = 0; WidthN < widthSize; ++WidthN) + WidthsWidthAdd(handle, width[WidthN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +WidthsAssign(ConstHandle2Widths This, ConstHandle2ConstWidths from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +WidthsDelete(ConstHandle2ConstWidths This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +WidthsRead(ConstHandle2Widths This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +WidthsWrite(ConstHandle2ConstWidths This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +WidthsPrint(ConstHandle2ConstWidths This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +WidthsPrintXML(ConstHandle2ConstWidths This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +WidthsPrintJSON(ConstHandle2ConstWidths This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: width +// ----------------------------------------------------------------------------- + +// Has +int +WidthsWidthHas(ConstHandle2ConstWidths This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"WidthHas", This, extract::width); +} + +// Clear +void +WidthsWidthClear(ConstHandle2Widths This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"WidthClear", This, extract::width); +} + +// Size +size_t +WidthsWidthSize(ConstHandle2ConstWidths This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"WidthSize", This, extract::width); +} + +// Add +void +WidthsWidthAdd(ConstHandle2Widths This, ConstHandle2ConstWidth width) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"WidthAdd", This, extract::width, width); +} + +// Get, by index \in [0,size), const +Handle2ConstWidth +WidthsWidthGetConst(ConstHandle2ConstWidths This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"WidthGetConst", This, extract::width, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Width +WidthsWidthGet(ConstHandle2Widths This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"WidthGet", This, extract::width, index_); +} + +// Set, by index \in [0,size) +void +WidthsWidthSet( + ConstHandle2Widths This, + const size_t index_, + ConstHandle2ConstWidth width +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"WidthSet", This, extract::width, index_, width); +} + +// Has, by resonanceReaction +int +WidthsWidthHasByResonanceReaction( + ConstHandle2ConstWidths This, + const char *const resonanceReaction +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"WidthHasByResonanceReaction", + This, extract::width, meta::resonanceReaction, resonanceReaction); +} + +// Get, by resonanceReaction, const +Handle2ConstWidth +WidthsWidthGetByResonanceReactionConst( + ConstHandle2ConstWidths This, + const char *const resonanceReaction +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"WidthGetByResonanceReactionConst", + This, extract::width, meta::resonanceReaction, resonanceReaction); +} + +// Get, by resonanceReaction, non-const +Handle2Width +WidthsWidthGetByResonanceReaction( + ConstHandle2Widths This, + const char *const resonanceReaction +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"WidthGetByResonanceReaction", + This, extract::width, meta::resonanceReaction, resonanceReaction); +} + +// Set, by resonanceReaction +void +WidthsWidthSetByResonanceReaction( + ConstHandle2Widths This, + const char *const resonanceReaction, + ConstHandle2ConstWidth width +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"WidthSetByResonanceReaction", + This, extract::width, meta::resonanceReaction, resonanceReaction, width); +} + +// Has, by degreesOfFreedom +int +WidthsWidthHasByDegreesOfFreedom( + ConstHandle2ConstWidths This, + const Float64 degreesOfFreedom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"WidthHasByDegreesOfFreedom", + This, extract::width, meta::degreesOfFreedom, degreesOfFreedom); +} + +// Get, by degreesOfFreedom, const +Handle2ConstWidth +WidthsWidthGetByDegreesOfFreedomConst( + ConstHandle2ConstWidths This, + const Float64 degreesOfFreedom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"WidthGetByDegreesOfFreedomConst", + This, extract::width, meta::degreesOfFreedom, degreesOfFreedom); +} + +// Get, by degreesOfFreedom, non-const +Handle2Width +WidthsWidthGetByDegreesOfFreedom( + ConstHandle2Widths This, + const Float64 degreesOfFreedom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"WidthGetByDegreesOfFreedom", + This, extract::width, meta::degreesOfFreedom, degreesOfFreedom); +} + +// Set, by degreesOfFreedom +void +WidthsWidthSetByDegreesOfFreedom( + ConstHandle2Widths This, + const Float64 degreesOfFreedom, + ConstHandle2ConstWidth width +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"WidthSetByDegreesOfFreedom", + This, extract::width, meta::degreesOfFreedom, degreesOfFreedom, width); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.h new file mode 100644 index 000000000..1004745ff --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Widths is the basic handle type in this file. Example: +// // Create a default Widths object: +// Widths handle = WidthsDefault(); +// Functions involving Widths are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_WIDTHS +#define C_INTERFACE_TRY_V2_0_RESONANCES_WIDTHS + +#include "GNDStk.h" +#include "v2.0/resonances/Width.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct WidthsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Widths +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct WidthsClass *Widths; + +// --- Const-aware handles. +typedef const struct WidthsClass *const ConstHandle2ConstWidths; +typedef struct WidthsClass *const ConstHandle2Widths; +typedef const struct WidthsClass * Handle2ConstWidths; +typedef struct WidthsClass * Handle2Widths; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstWidths +WidthsDefaultConst(); + +// +++ Create, default +extern_c Handle2Widths +WidthsDefault(); + +// --- Create, general, const +extern_c Handle2ConstWidths +WidthsCreateConst( + ConstHandle2Width *const width, const size_t widthSize +); + +// +++ Create, general +extern_c Handle2Widths +WidthsCreate( + ConstHandle2Width *const width, const size_t widthSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +WidthsAssign(ConstHandle2Widths This, ConstHandle2ConstWidths from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +WidthsDelete(ConstHandle2ConstWidths This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +WidthsRead(ConstHandle2Widths This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +WidthsWrite(ConstHandle2ConstWidths This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +WidthsPrint(ConstHandle2ConstWidths This); + +// +++ Print to standard output, as XML +extern_c int +WidthsPrintXML(ConstHandle2ConstWidths This); + +// +++ Print to standard output, as JSON +extern_c int +WidthsPrintJSON(ConstHandle2ConstWidths This); + + +// ----------------------------------------------------------------------------- +// Child: width +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WidthsWidthHas(ConstHandle2ConstWidths This); + +// +++ Clear +extern_c void +WidthsWidthClear(ConstHandle2Widths This); + +// +++ Size +extern_c size_t +WidthsWidthSize(ConstHandle2ConstWidths This); + +// +++ Add +extern_c void +WidthsWidthAdd(ConstHandle2Widths This, ConstHandle2ConstWidth width); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstWidth +WidthsWidthGetConst(ConstHandle2ConstWidths This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Width +WidthsWidthGet(ConstHandle2Widths This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +WidthsWidthSet( + ConstHandle2Widths This, + const size_t index_, + ConstHandle2ConstWidth width +); + +// +++ Has, by resonanceReaction +extern_c int +WidthsWidthHasByResonanceReaction( + ConstHandle2ConstWidths This, + const char *const resonanceReaction +); + +// --- Get, by resonanceReaction, const +extern_c Handle2ConstWidth +WidthsWidthGetByResonanceReactionConst( + ConstHandle2ConstWidths This, + const char *const resonanceReaction +); + +// +++ Get, by resonanceReaction, non-const +extern_c Handle2Width +WidthsWidthGetByResonanceReaction( + ConstHandle2Widths This, + const char *const resonanceReaction +); + +// +++ Set, by resonanceReaction +extern_c void +WidthsWidthSetByResonanceReaction( + ConstHandle2Widths This, + const char *const resonanceReaction, + ConstHandle2ConstWidth width +); + +// +++ Has, by degreesOfFreedom +extern_c int +WidthsWidthHasByDegreesOfFreedom( + ConstHandle2ConstWidths This, + const Float64 degreesOfFreedom +); + +// --- Get, by degreesOfFreedom, const +extern_c Handle2ConstWidth +WidthsWidthGetByDegreesOfFreedomConst( + ConstHandle2ConstWidths This, + const Float64 degreesOfFreedom +); + +// +++ Get, by degreesOfFreedom, non-const +extern_c Handle2Width +WidthsWidthGetByDegreesOfFreedom( + ConstHandle2Widths This, + const Float64 degreesOfFreedom +); + +// +++ Set, by degreesOfFreedom +extern_c void +WidthsWidthSetByDegreesOfFreedom( + ConstHandle2Widths This, + const Float64 degreesOfFreedom, + ConstHandle2ConstWidth width +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.cpp new file mode 100644 index 000000000..339eb81fe --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/AngularDistributionReconstructed.hpp" +#include "AngularDistributionReconstructed.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AngularDistributionReconstructedClass; +using CPP = multigroup::AngularDistributionReconstructed; + +static const std::string CLASSNAME = "AngularDistributionReconstructed"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto temperature = [](auto &obj) { return &obj.temperature; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPTemperature = styles::Temperature; +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAngularDistributionReconstructed +AngularDistributionReconstructedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AngularDistributionReconstructed +AngularDistributionReconstructedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAngularDistributionReconstructed +AngularDistributionReconstructedCreateConst( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2AngularDistributionReconstructed handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + label, + derivedFrom, + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2AngularDistributionReconstructed +AngularDistributionReconstructedCreate( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2AngularDistributionReconstructed handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + label, + derivedFrom, + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AngularDistributionReconstructedAssign(ConstHandle2AngularDistributionReconstructed This, ConstHandle2ConstAngularDistributionReconstructed from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AngularDistributionReconstructedDelete(ConstHandle2ConstAngularDistributionReconstructed This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AngularDistributionReconstructedRead(ConstHandle2AngularDistributionReconstructed This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AngularDistributionReconstructedWrite(ConstHandle2ConstAngularDistributionReconstructed This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AngularDistributionReconstructedPrint(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AngularDistributionReconstructedPrintXML(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AngularDistributionReconstructedPrintJSON(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +AngularDistributionReconstructedDateHas(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +AngularDistributionReconstructedDateGet(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +AngularDistributionReconstructedDateSet(ConstHandle2AngularDistributionReconstructed This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AngularDistributionReconstructedLabelHas(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AngularDistributionReconstructedLabelGet(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AngularDistributionReconstructedLabelSet(ConstHandle2AngularDistributionReconstructed This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +AngularDistributionReconstructedDerivedFromHas(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +AngularDistributionReconstructedDerivedFromGet(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +AngularDistributionReconstructedDerivedFromSet(ConstHandle2AngularDistributionReconstructed This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// Has +int +AngularDistributionReconstructedTemperatureHas(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TemperatureHas", This, extract::temperature); +} + +// Get, const +Handle2ConstTemperature +AngularDistributionReconstructedTemperatureGetConst(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGetConst", This, extract::temperature); +} + +// Get, non-const +Handle2Temperature +AngularDistributionReconstructedTemperatureGet(ConstHandle2AngularDistributionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGet", This, extract::temperature); +} + +// Set +void +AngularDistributionReconstructedTemperatureSet(ConstHandle2AngularDistributionReconstructed This, ConstHandle2ConstTemperature temperature) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TemperatureSet", This, extract::temperature, temperature); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +AngularDistributionReconstructedDocumentationHas(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +AngularDistributionReconstructedDocumentationGetConst(ConstHandle2ConstAngularDistributionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +AngularDistributionReconstructedDocumentationGet(ConstHandle2AngularDistributionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +AngularDistributionReconstructedDocumentationSet(ConstHandle2AngularDistributionReconstructed This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.h b/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.h new file mode 100644 index 000000000..2e52704c3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AngularDistributionReconstructed is the basic handle type in this file. Example: +// // Create a default AngularDistributionReconstructed object: +// AngularDistributionReconstructed handle = AngularDistributionReconstructedDefault(); +// Functions involving AngularDistributionReconstructed are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED +#define C_INTERFACE_TRY_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED + +#include "GNDStk.h" +#include "v2.0/styles/Temperature.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AngularDistributionReconstructedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AngularDistributionReconstructed +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AngularDistributionReconstructedClass *AngularDistributionReconstructed; + +// --- Const-aware handles. +typedef const struct AngularDistributionReconstructedClass *const ConstHandle2ConstAngularDistributionReconstructed; +typedef struct AngularDistributionReconstructedClass *const ConstHandle2AngularDistributionReconstructed; +typedef const struct AngularDistributionReconstructedClass * Handle2ConstAngularDistributionReconstructed; +typedef struct AngularDistributionReconstructedClass * Handle2AngularDistributionReconstructed; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAngularDistributionReconstructed +AngularDistributionReconstructedDefaultConst(); + +// +++ Create, default +extern_c Handle2AngularDistributionReconstructed +AngularDistributionReconstructedDefault(); + +// --- Create, general, const +extern_c Handle2ConstAngularDistributionReconstructed +AngularDistributionReconstructedCreateConst( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2AngularDistributionReconstructed +AngularDistributionReconstructedCreate( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AngularDistributionReconstructedAssign(ConstHandle2AngularDistributionReconstructed This, ConstHandle2ConstAngularDistributionReconstructed from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AngularDistributionReconstructedDelete(ConstHandle2ConstAngularDistributionReconstructed This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AngularDistributionReconstructedRead(ConstHandle2AngularDistributionReconstructed This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AngularDistributionReconstructedWrite(ConstHandle2ConstAngularDistributionReconstructed This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AngularDistributionReconstructedPrint(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Print to standard output, as XML +extern_c int +AngularDistributionReconstructedPrintXML(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Print to standard output, as JSON +extern_c int +AngularDistributionReconstructedPrintJSON(ConstHandle2ConstAngularDistributionReconstructed This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularDistributionReconstructedDateHas(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AngularDistributionReconstructedDateGet(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Set +extern_c void +AngularDistributionReconstructedDateSet(ConstHandle2AngularDistributionReconstructed This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularDistributionReconstructedLabelHas(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AngularDistributionReconstructedLabelGet(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Set +extern_c void +AngularDistributionReconstructedLabelSet(ConstHandle2AngularDistributionReconstructed This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularDistributionReconstructedDerivedFromHas(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AngularDistributionReconstructedDerivedFromGet(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Set +extern_c void +AngularDistributionReconstructedDerivedFromSet(ConstHandle2AngularDistributionReconstructed This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularDistributionReconstructedTemperatureHas(ConstHandle2ConstAngularDistributionReconstructed This); + +// --- Get, const +extern_c Handle2ConstTemperature +AngularDistributionReconstructedTemperatureGetConst(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Get, non-const +extern_c Handle2Temperature +AngularDistributionReconstructedTemperatureGet(ConstHandle2AngularDistributionReconstructed This); + +// +++ Set +extern_c void +AngularDistributionReconstructedTemperatureSet(ConstHandle2AngularDistributionReconstructed This, ConstHandle2ConstTemperature temperature); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularDistributionReconstructedDocumentationHas(ConstHandle2ConstAngularDistributionReconstructed This); + +// --- Get, const +extern_c Handle2ConstDocumentation +AngularDistributionReconstructedDocumentationGetConst(ConstHandle2ConstAngularDistributionReconstructed This); + +// +++ Get, non-const +extern_c Handle2Documentation +AngularDistributionReconstructedDocumentationGet(ConstHandle2AngularDistributionReconstructed This); + +// +++ Set +extern_c void +AngularDistributionReconstructedDocumentationSet(ConstHandle2AngularDistributionReconstructed This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.cpp new file mode 100644 index 000000000..b07c908b5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/AverageProductData.hpp" +#include "AverageProductData.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AverageProductDataClass; +using CPP = multigroup::AverageProductData; + +static const std::string CLASSNAME = "AverageProductData"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto temperature = [](auto &obj) { return &obj.temperature; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPTemperature = styles::Temperature; +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAverageProductData +AverageProductDataDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AverageProductData +AverageProductDataDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAverageProductData +AverageProductDataCreateConst( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2AverageProductData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + label, + derivedFrom, + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2AverageProductData +AverageProductDataCreate( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2AverageProductData handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + label, + derivedFrom, + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AverageProductDataAssign(ConstHandle2AverageProductData This, ConstHandle2ConstAverageProductData from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AverageProductDataDelete(ConstHandle2ConstAverageProductData This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AverageProductDataRead(ConstHandle2AverageProductData This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AverageProductDataWrite(ConstHandle2ConstAverageProductData This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AverageProductDataPrint(ConstHandle2ConstAverageProductData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AverageProductDataPrintXML(ConstHandle2ConstAverageProductData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AverageProductDataPrintJSON(ConstHandle2ConstAverageProductData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductDataDateHas(ConstHandle2ConstAverageProductData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +AverageProductDataDateGet(ConstHandle2ConstAverageProductData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +AverageProductDataDateSet(ConstHandle2AverageProductData This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductDataLabelHas(ConstHandle2ConstAverageProductData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AverageProductDataLabelGet(ConstHandle2ConstAverageProductData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AverageProductDataLabelSet(ConstHandle2AverageProductData This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductDataDerivedFromHas(ConstHandle2ConstAverageProductData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +AverageProductDataDerivedFromGet(ConstHandle2ConstAverageProductData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +AverageProductDataDerivedFromSet(ConstHandle2AverageProductData This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductDataTemperatureHas(ConstHandle2ConstAverageProductData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TemperatureHas", This, extract::temperature); +} + +// Get, const +Handle2ConstTemperature +AverageProductDataTemperatureGetConst(ConstHandle2ConstAverageProductData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGetConst", This, extract::temperature); +} + +// Get, non-const +Handle2Temperature +AverageProductDataTemperatureGet(ConstHandle2AverageProductData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGet", This, extract::temperature); +} + +// Set +void +AverageProductDataTemperatureSet(ConstHandle2AverageProductData This, ConstHandle2ConstTemperature temperature) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TemperatureSet", This, extract::temperature, temperature); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +AverageProductDataDocumentationHas(ConstHandle2ConstAverageProductData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +AverageProductDataDocumentationGetConst(ConstHandle2ConstAverageProductData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +AverageProductDataDocumentationGet(ConstHandle2AverageProductData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +AverageProductDataDocumentationSet(ConstHandle2AverageProductData This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.h b/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.h new file mode 100644 index 000000000..01226dc72 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AverageProductData is the basic handle type in this file. Example: +// // Create a default AverageProductData object: +// AverageProductData handle = AverageProductDataDefault(); +// Functions involving AverageProductData are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_AVERAGEPRODUCTDATA +#define C_INTERFACE_TRY_V2_0_STYLES_AVERAGEPRODUCTDATA + +#include "GNDStk.h" +#include "v2.0/styles/Temperature.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AverageProductDataClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AverageProductData +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AverageProductDataClass *AverageProductData; + +// --- Const-aware handles. +typedef const struct AverageProductDataClass *const ConstHandle2ConstAverageProductData; +typedef struct AverageProductDataClass *const ConstHandle2AverageProductData; +typedef const struct AverageProductDataClass * Handle2ConstAverageProductData; +typedef struct AverageProductDataClass * Handle2AverageProductData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAverageProductData +AverageProductDataDefaultConst(); + +// +++ Create, default +extern_c Handle2AverageProductData +AverageProductDataDefault(); + +// --- Create, general, const +extern_c Handle2ConstAverageProductData +AverageProductDataCreateConst( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2AverageProductData +AverageProductDataCreate( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AverageProductDataAssign(ConstHandle2AverageProductData This, ConstHandle2ConstAverageProductData from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AverageProductDataDelete(ConstHandle2ConstAverageProductData This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AverageProductDataRead(ConstHandle2AverageProductData This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AverageProductDataWrite(ConstHandle2ConstAverageProductData This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AverageProductDataPrint(ConstHandle2ConstAverageProductData This); + +// +++ Print to standard output, as XML +extern_c int +AverageProductDataPrintXML(ConstHandle2ConstAverageProductData This); + +// +++ Print to standard output, as JSON +extern_c int +AverageProductDataPrintJSON(ConstHandle2ConstAverageProductData This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductDataDateHas(ConstHandle2ConstAverageProductData This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AverageProductDataDateGet(ConstHandle2ConstAverageProductData This); + +// +++ Set +extern_c void +AverageProductDataDateSet(ConstHandle2AverageProductData This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductDataLabelHas(ConstHandle2ConstAverageProductData This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AverageProductDataLabelGet(ConstHandle2ConstAverageProductData This); + +// +++ Set +extern_c void +AverageProductDataLabelSet(ConstHandle2AverageProductData This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductDataDerivedFromHas(ConstHandle2ConstAverageProductData This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AverageProductDataDerivedFromGet(ConstHandle2ConstAverageProductData This); + +// +++ Set +extern_c void +AverageProductDataDerivedFromSet(ConstHandle2AverageProductData This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductDataTemperatureHas(ConstHandle2ConstAverageProductData This); + +// --- Get, const +extern_c Handle2ConstTemperature +AverageProductDataTemperatureGetConst(ConstHandle2ConstAverageProductData This); + +// +++ Get, non-const +extern_c Handle2Temperature +AverageProductDataTemperatureGet(ConstHandle2AverageProductData This); + +// +++ Set +extern_c void +AverageProductDataTemperatureSet(ConstHandle2AverageProductData This, ConstHandle2ConstTemperature temperature); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AverageProductDataDocumentationHas(ConstHandle2ConstAverageProductData This); + +// --- Get, const +extern_c Handle2ConstDocumentation +AverageProductDataDocumentationGetConst(ConstHandle2ConstAverageProductData This); + +// +++ Get, non-const +extern_c Handle2Documentation +AverageProductDataDocumentationGet(ConstHandle2AverageProductData This); + +// +++ Set +extern_c void +AverageProductDataDocumentationSet(ConstHandle2AverageProductData This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.cpp new file mode 100644 index 000000000..883673e05 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Bondarenko.hpp" +#include "Bondarenko.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BondarenkoClass; +using CPP = multigroup::Bondarenko; + +static const std::string CLASSNAME = "Bondarenko"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto sigmaZeros = [](auto &obj) { return &obj.sigmaZeros; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPSigmaZeros = styles::SigmaZeros; +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBondarenko +BondarenkoDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Bondarenko +BondarenkoDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBondarenko +BondarenkoCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstSigmaZeros sigmaZeros, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Bondarenko handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + detail::tocpp(sigmaZeros), + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2Bondarenko +BondarenkoCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstSigmaZeros sigmaZeros, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Bondarenko handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + detail::tocpp(sigmaZeros), + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BondarenkoAssign(ConstHandle2Bondarenko This, ConstHandle2ConstBondarenko from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BondarenkoDelete(ConstHandle2ConstBondarenko This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BondarenkoRead(ConstHandle2Bondarenko This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BondarenkoWrite(ConstHandle2ConstBondarenko This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BondarenkoPrint(ConstHandle2ConstBondarenko This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BondarenkoPrintXML(ConstHandle2ConstBondarenko This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BondarenkoPrintJSON(ConstHandle2ConstBondarenko This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +BondarenkoDateHas(ConstHandle2ConstBondarenko This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +BondarenkoDateGet(ConstHandle2ConstBondarenko This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +BondarenkoDateSet(ConstHandle2Bondarenko This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +BondarenkoDerivedFromHas(ConstHandle2ConstBondarenko This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +BondarenkoDerivedFromGet(ConstHandle2ConstBondarenko This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +BondarenkoDerivedFromSet(ConstHandle2Bondarenko This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +BondarenkoLabelHas(ConstHandle2ConstBondarenko This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +BondarenkoLabelGet(ConstHandle2ConstBondarenko This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +BondarenkoLabelSet(ConstHandle2Bondarenko This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: sigmaZeros +// ----------------------------------------------------------------------------- + +// Has +int +BondarenkoSigmaZerosHas(ConstHandle2ConstBondarenko This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SigmaZerosHas", This, extract::sigmaZeros); +} + +// Get, const +Handle2ConstSigmaZeros +BondarenkoSigmaZerosGetConst(ConstHandle2ConstBondarenko This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SigmaZerosGetConst", This, extract::sigmaZeros); +} + +// Get, non-const +Handle2SigmaZeros +BondarenkoSigmaZerosGet(ConstHandle2Bondarenko This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SigmaZerosGet", This, extract::sigmaZeros); +} + +// Set +void +BondarenkoSigmaZerosSet(ConstHandle2Bondarenko This, ConstHandle2ConstSigmaZeros sigmaZeros) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SigmaZerosSet", This, extract::sigmaZeros, sigmaZeros); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +BondarenkoDocumentationHas(ConstHandle2ConstBondarenko This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +BondarenkoDocumentationGetConst(ConstHandle2ConstBondarenko This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +BondarenkoDocumentationGet(ConstHandle2Bondarenko This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +BondarenkoDocumentationSet(ConstHandle2Bondarenko This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.h new file mode 100644 index 000000000..e61786b85 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Bondarenko is the basic handle type in this file. Example: +// // Create a default Bondarenko object: +// Bondarenko handle = BondarenkoDefault(); +// Functions involving Bondarenko are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_BONDARENKO +#define C_INTERFACE_TRY_V2_0_STYLES_BONDARENKO + +#include "GNDStk.h" +#include "v2.0/styles/SigmaZeros.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BondarenkoClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Bondarenko +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BondarenkoClass *Bondarenko; + +// --- Const-aware handles. +typedef const struct BondarenkoClass *const ConstHandle2ConstBondarenko; +typedef struct BondarenkoClass *const ConstHandle2Bondarenko; +typedef const struct BondarenkoClass * Handle2ConstBondarenko; +typedef struct BondarenkoClass * Handle2Bondarenko; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBondarenko +BondarenkoDefaultConst(); + +// +++ Create, default +extern_c Handle2Bondarenko +BondarenkoDefault(); + +// --- Create, general, const +extern_c Handle2ConstBondarenko +BondarenkoCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstSigmaZeros sigmaZeros, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2Bondarenko +BondarenkoCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstSigmaZeros sigmaZeros, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BondarenkoAssign(ConstHandle2Bondarenko This, ConstHandle2ConstBondarenko from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BondarenkoDelete(ConstHandle2ConstBondarenko This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BondarenkoRead(ConstHandle2Bondarenko This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BondarenkoWrite(ConstHandle2ConstBondarenko This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BondarenkoPrint(ConstHandle2ConstBondarenko This); + +// +++ Print to standard output, as XML +extern_c int +BondarenkoPrintXML(ConstHandle2ConstBondarenko This); + +// +++ Print to standard output, as JSON +extern_c int +BondarenkoPrintJSON(ConstHandle2ConstBondarenko This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BondarenkoDateHas(ConstHandle2ConstBondarenko This); + +// +++ Get +// +++ Returns by value +extern_c const char * +BondarenkoDateGet(ConstHandle2ConstBondarenko This); + +// +++ Set +extern_c void +BondarenkoDateSet(ConstHandle2Bondarenko This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BondarenkoDerivedFromHas(ConstHandle2ConstBondarenko This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BondarenkoDerivedFromGet(ConstHandle2ConstBondarenko This); + +// +++ Set +extern_c void +BondarenkoDerivedFromSet(ConstHandle2Bondarenko This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BondarenkoLabelHas(ConstHandle2ConstBondarenko This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BondarenkoLabelGet(ConstHandle2ConstBondarenko This); + +// +++ Set +extern_c void +BondarenkoLabelSet(ConstHandle2Bondarenko This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: sigmaZeros +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BondarenkoSigmaZerosHas(ConstHandle2ConstBondarenko This); + +// --- Get, const +extern_c Handle2ConstSigmaZeros +BondarenkoSigmaZerosGetConst(ConstHandle2ConstBondarenko This); + +// +++ Get, non-const +extern_c Handle2SigmaZeros +BondarenkoSigmaZerosGet(ConstHandle2Bondarenko This); + +// +++ Set +extern_c void +BondarenkoSigmaZerosSet(ConstHandle2Bondarenko This, ConstHandle2ConstSigmaZeros sigmaZeros); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BondarenkoDocumentationHas(ConstHandle2ConstBondarenko This); + +// --- Get, const +extern_c Handle2ConstDocumentation +BondarenkoDocumentationGetConst(ConstHandle2ConstBondarenko This); + +// +++ Get, non-const +extern_c Handle2Documentation +BondarenkoDocumentationGet(ConstHandle2Bondarenko This); + +// +++ Set +extern_c void +BondarenkoDocumentationSet(ConstHandle2Bondarenko This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp new file mode 100644 index 000000000..fc8733d7d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp @@ -0,0 +1,314 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "CoulombPlusNuclearElasticMuCutoff.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CoulombPlusNuclearElasticMuCutoffClass; +using CPP = multigroup::CoulombPlusNuclearElasticMuCutoff; + +static const std::string CLASSNAME = "CoulombPlusNuclearElasticMuCutoff"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto muCutoff = [](auto &obj) { return &obj.muCutoff; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCoulombPlusNuclearElasticMuCutoff +CoulombPlusNuclearElasticMuCutoffDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CoulombPlusNuclearElasticMuCutoff +CoulombPlusNuclearElasticMuCutoffDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCoulombPlusNuclearElasticMuCutoff +CoulombPlusNuclearElasticMuCutoffCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Float64 muCutoff, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2CoulombPlusNuclearElasticMuCutoff handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + muCutoff, + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2CoulombPlusNuclearElasticMuCutoff +CoulombPlusNuclearElasticMuCutoffCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Float64 muCutoff, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2CoulombPlusNuclearElasticMuCutoff handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + muCutoff, + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CoulombPlusNuclearElasticMuCutoffAssign(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CoulombPlusNuclearElasticMuCutoffDelete(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CoulombPlusNuclearElasticMuCutoffRead(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CoulombPlusNuclearElasticMuCutoffWrite(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CoulombPlusNuclearElasticMuCutoffPrint(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CoulombPlusNuclearElasticMuCutoffPrintXML(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CoulombPlusNuclearElasticMuCutoffPrintJSON(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticMuCutoffDateHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +CoulombPlusNuclearElasticMuCutoffDateGet(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +CoulombPlusNuclearElasticMuCutoffDateSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticMuCutoffDerivedFromHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +CoulombPlusNuclearElasticMuCutoffDerivedFromGet(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +CoulombPlusNuclearElasticMuCutoffDerivedFromSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticMuCutoffLabelHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CoulombPlusNuclearElasticMuCutoffLabelGet(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CoulombPlusNuclearElasticMuCutoffLabelSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: muCutoff +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticMuCutoffMuCutoffHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MuCutoffHas", This, extract::muCutoff); +} + +// Get +// Returns by value +Float64 +CoulombPlusNuclearElasticMuCutoffMuCutoffGet(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MuCutoffGet", This, extract::muCutoff); +} + +// Set +void +CoulombPlusNuclearElasticMuCutoffMuCutoffSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const Float64 muCutoff) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MuCutoffSet", This, extract::muCutoff, muCutoff); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +CoulombPlusNuclearElasticMuCutoffDocumentationHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +CoulombPlusNuclearElasticMuCutoffDocumentationGetConst(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +CoulombPlusNuclearElasticMuCutoffDocumentationGet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +CoulombPlusNuclearElasticMuCutoffDocumentationSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h b/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h new file mode 100644 index 000000000..ba1580b23 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h @@ -0,0 +1,239 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CoulombPlusNuclearElasticMuCutoff is the basic handle type in this file. Example: +// // Create a default CoulombPlusNuclearElasticMuCutoff object: +// CoulombPlusNuclearElasticMuCutoff handle = CoulombPlusNuclearElasticMuCutoffDefault(); +// Functions involving CoulombPlusNuclearElasticMuCutoff are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF +#define C_INTERFACE_TRY_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CoulombPlusNuclearElasticMuCutoffClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CoulombPlusNuclearElasticMuCutoff +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CoulombPlusNuclearElasticMuCutoffClass *CoulombPlusNuclearElasticMuCutoff; + +// --- Const-aware handles. +typedef const struct CoulombPlusNuclearElasticMuCutoffClass *const ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff; +typedef struct CoulombPlusNuclearElasticMuCutoffClass *const ConstHandle2CoulombPlusNuclearElasticMuCutoff; +typedef const struct CoulombPlusNuclearElasticMuCutoffClass * Handle2ConstCoulombPlusNuclearElasticMuCutoff; +typedef struct CoulombPlusNuclearElasticMuCutoffClass * Handle2CoulombPlusNuclearElasticMuCutoff; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCoulombPlusNuclearElasticMuCutoff +CoulombPlusNuclearElasticMuCutoffDefaultConst(); + +// +++ Create, default +extern_c Handle2CoulombPlusNuclearElasticMuCutoff +CoulombPlusNuclearElasticMuCutoffDefault(); + +// --- Create, general, const +extern_c Handle2ConstCoulombPlusNuclearElasticMuCutoff +CoulombPlusNuclearElasticMuCutoffCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Float64 muCutoff, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2CoulombPlusNuclearElasticMuCutoff +CoulombPlusNuclearElasticMuCutoffCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Float64 muCutoff, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CoulombPlusNuclearElasticMuCutoffAssign(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CoulombPlusNuclearElasticMuCutoffDelete(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CoulombPlusNuclearElasticMuCutoffRead(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CoulombPlusNuclearElasticMuCutoffWrite(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CoulombPlusNuclearElasticMuCutoffPrint(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Print to standard output, as XML +extern_c int +CoulombPlusNuclearElasticMuCutoffPrintXML(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Print to standard output, as JSON +extern_c int +CoulombPlusNuclearElasticMuCutoffPrintJSON(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticMuCutoffDateHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Get +// +++ Returns by value +extern_c const char * +CoulombPlusNuclearElasticMuCutoffDateGet(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticMuCutoffDateSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticMuCutoffDerivedFromHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CoulombPlusNuclearElasticMuCutoffDerivedFromGet(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticMuCutoffDerivedFromSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticMuCutoffLabelHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CoulombPlusNuclearElasticMuCutoffLabelGet(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticMuCutoffLabelSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: muCutoff +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticMuCutoffMuCutoffHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +CoulombPlusNuclearElasticMuCutoffMuCutoffGet(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticMuCutoffMuCutoffSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, const Float64 muCutoff); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoulombPlusNuclearElasticMuCutoffDocumentationHas(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// --- Get, const +extern_c Handle2ConstDocumentation +CoulombPlusNuclearElasticMuCutoffDocumentationGetConst(ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff This); + +// +++ Get, non-const +extern_c Handle2Documentation +CoulombPlusNuclearElasticMuCutoffDocumentationGet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This); + +// +++ Set +extern_c void +CoulombPlusNuclearElasticMuCutoffDocumentationSet(ConstHandle2CoulombPlusNuclearElasticMuCutoff This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.cpp new file mode 100644 index 000000000..82264cb53 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/CrossSectionReconstructed.hpp" +#include "CrossSectionReconstructed.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CrossSectionReconstructedClass; +using CPP = multigroup::CrossSectionReconstructed; + +static const std::string CLASSNAME = "CrossSectionReconstructed"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto temperature = [](auto &obj) { return &obj.temperature; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPTemperature = styles::Temperature; +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCrossSectionReconstructed +CrossSectionReconstructedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CrossSectionReconstructed +CrossSectionReconstructedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCrossSectionReconstructed +CrossSectionReconstructedCreateConst( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2CrossSectionReconstructed handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + label, + derivedFrom, + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2CrossSectionReconstructed +CrossSectionReconstructedCreate( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2CrossSectionReconstructed handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + label, + derivedFrom, + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CrossSectionReconstructedAssign(ConstHandle2CrossSectionReconstructed This, ConstHandle2ConstCrossSectionReconstructed from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CrossSectionReconstructedDelete(ConstHandle2ConstCrossSectionReconstructed This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CrossSectionReconstructedRead(ConstHandle2CrossSectionReconstructed This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CrossSectionReconstructedWrite(ConstHandle2ConstCrossSectionReconstructed This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CrossSectionReconstructedPrint(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CrossSectionReconstructedPrintXML(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CrossSectionReconstructedPrintJSON(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionReconstructedDateHas(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +CrossSectionReconstructedDateGet(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +CrossSectionReconstructedDateSet(ConstHandle2CrossSectionReconstructed This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionReconstructedLabelHas(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CrossSectionReconstructedLabelGet(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CrossSectionReconstructedLabelSet(ConstHandle2CrossSectionReconstructed This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionReconstructedDerivedFromHas(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +CrossSectionReconstructedDerivedFromGet(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +CrossSectionReconstructedDerivedFromSet(ConstHandle2CrossSectionReconstructed This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionReconstructedTemperatureHas(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TemperatureHas", This, extract::temperature); +} + +// Get, const +Handle2ConstTemperature +CrossSectionReconstructedTemperatureGetConst(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGetConst", This, extract::temperature); +} + +// Get, non-const +Handle2Temperature +CrossSectionReconstructedTemperatureGet(ConstHandle2CrossSectionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGet", This, extract::temperature); +} + +// Set +void +CrossSectionReconstructedTemperatureSet(ConstHandle2CrossSectionReconstructed This, ConstHandle2ConstTemperature temperature) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TemperatureSet", This, extract::temperature, temperature); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionReconstructedDocumentationHas(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +CrossSectionReconstructedDocumentationGetConst(ConstHandle2ConstCrossSectionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +CrossSectionReconstructedDocumentationGet(ConstHandle2CrossSectionReconstructed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +CrossSectionReconstructedDocumentationSet(ConstHandle2CrossSectionReconstructed This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.h b/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.h new file mode 100644 index 000000000..8cc184d20 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CrossSectionReconstructed is the basic handle type in this file. Example: +// // Create a default CrossSectionReconstructed object: +// CrossSectionReconstructed handle = CrossSectionReconstructedDefault(); +// Functions involving CrossSectionReconstructed are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_CROSSSECTIONRECONSTRUCTED +#define C_INTERFACE_TRY_V2_0_STYLES_CROSSSECTIONRECONSTRUCTED + +#include "GNDStk.h" +#include "v2.0/styles/Temperature.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CrossSectionReconstructedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CrossSectionReconstructed +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CrossSectionReconstructedClass *CrossSectionReconstructed; + +// --- Const-aware handles. +typedef const struct CrossSectionReconstructedClass *const ConstHandle2ConstCrossSectionReconstructed; +typedef struct CrossSectionReconstructedClass *const ConstHandle2CrossSectionReconstructed; +typedef const struct CrossSectionReconstructedClass * Handle2ConstCrossSectionReconstructed; +typedef struct CrossSectionReconstructedClass * Handle2CrossSectionReconstructed; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCrossSectionReconstructed +CrossSectionReconstructedDefaultConst(); + +// +++ Create, default +extern_c Handle2CrossSectionReconstructed +CrossSectionReconstructedDefault(); + +// --- Create, general, const +extern_c Handle2ConstCrossSectionReconstructed +CrossSectionReconstructedCreateConst( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2CrossSectionReconstructed +CrossSectionReconstructedCreate( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CrossSectionReconstructedAssign(ConstHandle2CrossSectionReconstructed This, ConstHandle2ConstCrossSectionReconstructed from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CrossSectionReconstructedDelete(ConstHandle2ConstCrossSectionReconstructed This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CrossSectionReconstructedRead(ConstHandle2CrossSectionReconstructed This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CrossSectionReconstructedWrite(ConstHandle2ConstCrossSectionReconstructed This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CrossSectionReconstructedPrint(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Print to standard output, as XML +extern_c int +CrossSectionReconstructedPrintXML(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Print to standard output, as JSON +extern_c int +CrossSectionReconstructedPrintJSON(ConstHandle2ConstCrossSectionReconstructed This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionReconstructedDateHas(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Get +// +++ Returns by value +extern_c const char * +CrossSectionReconstructedDateGet(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Set +extern_c void +CrossSectionReconstructedDateSet(ConstHandle2CrossSectionReconstructed This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionReconstructedLabelHas(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CrossSectionReconstructedLabelGet(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Set +extern_c void +CrossSectionReconstructedLabelSet(ConstHandle2CrossSectionReconstructed This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionReconstructedDerivedFromHas(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CrossSectionReconstructedDerivedFromGet(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Set +extern_c void +CrossSectionReconstructedDerivedFromSet(ConstHandle2CrossSectionReconstructed This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionReconstructedTemperatureHas(ConstHandle2ConstCrossSectionReconstructed This); + +// --- Get, const +extern_c Handle2ConstTemperature +CrossSectionReconstructedTemperatureGetConst(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Get, non-const +extern_c Handle2Temperature +CrossSectionReconstructedTemperatureGet(ConstHandle2CrossSectionReconstructed This); + +// +++ Set +extern_c void +CrossSectionReconstructedTemperatureSet(ConstHandle2CrossSectionReconstructed This, ConstHandle2ConstTemperature temperature); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionReconstructedDocumentationHas(ConstHandle2ConstCrossSectionReconstructed This); + +// --- Get, const +extern_c Handle2ConstDocumentation +CrossSectionReconstructedDocumentationGetConst(ConstHandle2ConstCrossSectionReconstructed This); + +// +++ Get, non-const +extern_c Handle2Documentation +CrossSectionReconstructedDocumentationGet(ConstHandle2CrossSectionReconstructed This); + +// +++ Set +extern_c void +CrossSectionReconstructedDocumentationSet(ConstHandle2CrossSectionReconstructed This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.cpp new file mode 100644 index 000000000..fc4db2379 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.cpp @@ -0,0 +1,314 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/EqualProbableBins.hpp" +#include "EqualProbableBins.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EqualProbableBinsClass; +using CPP = multigroup::EqualProbableBins; + +static const std::string CLASSNAME = "EqualProbableBins"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto numberOfBins = [](auto &obj) { return &obj.numberOfBins; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEqualProbableBins +EqualProbableBinsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EqualProbableBins +EqualProbableBinsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEqualProbableBins +EqualProbableBinsCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 numberOfBins, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2EqualProbableBins handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + numberOfBins, + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2EqualProbableBins +EqualProbableBinsCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 numberOfBins, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2EqualProbableBins handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + numberOfBins, + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EqualProbableBinsAssign(ConstHandle2EqualProbableBins This, ConstHandle2ConstEqualProbableBins from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EqualProbableBinsDelete(ConstHandle2ConstEqualProbableBins This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EqualProbableBinsRead(ConstHandle2EqualProbableBins This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EqualProbableBinsWrite(ConstHandle2ConstEqualProbableBins This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EqualProbableBinsPrint(ConstHandle2ConstEqualProbableBins This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EqualProbableBinsPrintXML(ConstHandle2ConstEqualProbableBins This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EqualProbableBinsPrintJSON(ConstHandle2ConstEqualProbableBins This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +EqualProbableBinsDateHas(ConstHandle2ConstEqualProbableBins This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +EqualProbableBinsDateGet(ConstHandle2ConstEqualProbableBins This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +EqualProbableBinsDateSet(ConstHandle2EqualProbableBins This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +EqualProbableBinsDerivedFromHas(ConstHandle2ConstEqualProbableBins This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +EqualProbableBinsDerivedFromGet(ConstHandle2ConstEqualProbableBins This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +EqualProbableBinsDerivedFromSet(ConstHandle2EqualProbableBins This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EqualProbableBinsLabelHas(ConstHandle2ConstEqualProbableBins This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +EqualProbableBinsLabelGet(ConstHandle2ConstEqualProbableBins This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EqualProbableBinsLabelSet(ConstHandle2EqualProbableBins This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: numberOfBins +// ----------------------------------------------------------------------------- + +// Has +int +EqualProbableBinsNumberOfBinsHas(ConstHandle2ConstEqualProbableBins This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NumberOfBinsHas", This, extract::numberOfBins); +} + +// Get +// Returns by value +Integer32 +EqualProbableBinsNumberOfBinsGet(ConstHandle2ConstEqualProbableBins This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NumberOfBinsGet", This, extract::numberOfBins); +} + +// Set +void +EqualProbableBinsNumberOfBinsSet(ConstHandle2EqualProbableBins This, const Integer32 numberOfBins) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NumberOfBinsSet", This, extract::numberOfBins, numberOfBins); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +EqualProbableBinsDocumentationHas(ConstHandle2ConstEqualProbableBins This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +EqualProbableBinsDocumentationGetConst(ConstHandle2ConstEqualProbableBins This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +EqualProbableBinsDocumentationGet(ConstHandle2EqualProbableBins This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +EqualProbableBinsDocumentationSet(ConstHandle2EqualProbableBins This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.h b/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.h new file mode 100644 index 000000000..91ef4e88d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.h @@ -0,0 +1,239 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EqualProbableBins is the basic handle type in this file. Example: +// // Create a default EqualProbableBins object: +// EqualProbableBins handle = EqualProbableBinsDefault(); +// Functions involving EqualProbableBins are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_EQUALPROBABLEBINS +#define C_INTERFACE_TRY_V2_0_STYLES_EQUALPROBABLEBINS + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EqualProbableBinsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EqualProbableBins +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EqualProbableBinsClass *EqualProbableBins; + +// --- Const-aware handles. +typedef const struct EqualProbableBinsClass *const ConstHandle2ConstEqualProbableBins; +typedef struct EqualProbableBinsClass *const ConstHandle2EqualProbableBins; +typedef const struct EqualProbableBinsClass * Handle2ConstEqualProbableBins; +typedef struct EqualProbableBinsClass * Handle2EqualProbableBins; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEqualProbableBins +EqualProbableBinsDefaultConst(); + +// +++ Create, default +extern_c Handle2EqualProbableBins +EqualProbableBinsDefault(); + +// --- Create, general, const +extern_c Handle2ConstEqualProbableBins +EqualProbableBinsCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 numberOfBins, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2EqualProbableBins +EqualProbableBinsCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 numberOfBins, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EqualProbableBinsAssign(ConstHandle2EqualProbableBins This, ConstHandle2ConstEqualProbableBins from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EqualProbableBinsDelete(ConstHandle2ConstEqualProbableBins This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EqualProbableBinsRead(ConstHandle2EqualProbableBins This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EqualProbableBinsWrite(ConstHandle2ConstEqualProbableBins This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EqualProbableBinsPrint(ConstHandle2ConstEqualProbableBins This); + +// +++ Print to standard output, as XML +extern_c int +EqualProbableBinsPrintXML(ConstHandle2ConstEqualProbableBins This); + +// +++ Print to standard output, as JSON +extern_c int +EqualProbableBinsPrintJSON(ConstHandle2ConstEqualProbableBins This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EqualProbableBinsDateHas(ConstHandle2ConstEqualProbableBins This); + +// +++ Get +// +++ Returns by value +extern_c const char * +EqualProbableBinsDateGet(ConstHandle2ConstEqualProbableBins This); + +// +++ Set +extern_c void +EqualProbableBinsDateSet(ConstHandle2EqualProbableBins This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EqualProbableBinsDerivedFromHas(ConstHandle2ConstEqualProbableBins This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EqualProbableBinsDerivedFromGet(ConstHandle2ConstEqualProbableBins This); + +// +++ Set +extern_c void +EqualProbableBinsDerivedFromSet(ConstHandle2EqualProbableBins This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EqualProbableBinsLabelHas(ConstHandle2ConstEqualProbableBins This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EqualProbableBinsLabelGet(ConstHandle2ConstEqualProbableBins This); + +// +++ Set +extern_c void +EqualProbableBinsLabelSet(ConstHandle2EqualProbableBins This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: numberOfBins +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EqualProbableBinsNumberOfBinsHas(ConstHandle2ConstEqualProbableBins This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +EqualProbableBinsNumberOfBinsGet(ConstHandle2ConstEqualProbableBins This); + +// +++ Set +extern_c void +EqualProbableBinsNumberOfBinsSet(ConstHandle2EqualProbableBins This, const Integer32 numberOfBins); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EqualProbableBinsDocumentationHas(ConstHandle2ConstEqualProbableBins This); + +// --- Get, const +extern_c Handle2ConstDocumentation +EqualProbableBinsDocumentationGetConst(ConstHandle2ConstEqualProbableBins This); + +// +++ Get, non-const +extern_c Handle2Documentation +EqualProbableBinsDocumentationGet(ConstHandle2EqualProbableBins This); + +// +++ Set +extern_c void +EqualProbableBinsDocumentationSet(ConstHandle2EqualProbableBins This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.cpp new file mode 100644 index 000000000..6af26e2d0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.cpp @@ -0,0 +1,435 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Evaluated.hpp" +#include "Evaluated.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EvaluatedClass; +using CPP = multigroup::Evaluated; + +static const std::string CLASSNAME = "Evaluated"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto library = [](auto &obj) { return &obj.library; }; + static auto version = [](auto &obj) { return &obj.version; }; + static auto projectileEnergyDomain = [](auto &obj) { return &obj.projectileEnergyDomain; }; + static auto temperature = [](auto &obj) { return &obj.temperature; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPProjectileEnergyDomain = styles::ProjectileEnergyDomain; +using CPPTemperature = styles::Temperature; +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEvaluated +EvaluatedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Evaluated +EvaluatedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEvaluated +EvaluatedCreateConst( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + const XMLName library, + const XMLName version, + ConstHandle2ConstProjectileEnergyDomain projectileEnergyDomain, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Evaluated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + label, + derivedFrom, + library, + version, + detail::tocpp(projectileEnergyDomain), + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2Evaluated +EvaluatedCreate( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + const XMLName library, + const XMLName version, + ConstHandle2ConstProjectileEnergyDomain projectileEnergyDomain, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Evaluated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + label, + derivedFrom, + library, + version, + detail::tocpp(projectileEnergyDomain), + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EvaluatedAssign(ConstHandle2Evaluated This, ConstHandle2ConstEvaluated from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EvaluatedDelete(ConstHandle2ConstEvaluated This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EvaluatedRead(ConstHandle2Evaluated This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EvaluatedWrite(ConstHandle2ConstEvaluated This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EvaluatedPrint(ConstHandle2ConstEvaluated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EvaluatedPrintXML(ConstHandle2ConstEvaluated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EvaluatedPrintJSON(ConstHandle2ConstEvaluated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedDateHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +EvaluatedDateGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +EvaluatedDateSet(ConstHandle2Evaluated This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedLabelHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +EvaluatedLabelGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EvaluatedLabelSet(ConstHandle2Evaluated This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedDerivedFromHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +EvaluatedDerivedFromGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +EvaluatedDerivedFromSet(ConstHandle2Evaluated This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: library +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedLibraryHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LibraryHas", This, extract::library); +} + +// Get +// Returns by value +XMLName +EvaluatedLibraryGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LibraryGet", This, extract::library); +} + +// Set +void +EvaluatedLibrarySet(ConstHandle2Evaluated This, const XMLName library) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LibrarySet", This, extract::library, library); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedVersionHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"VersionHas", This, extract::version); +} + +// Get +// Returns by value +XMLName +EvaluatedVersionGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"VersionGet", This, extract::version); +} + +// Set +void +EvaluatedVersionSet(ConstHandle2Evaluated This, const XMLName version) +{ + detail::setField + (CLASSNAME, CLASSNAME+"VersionSet", This, extract::version, version); +} + + +// ----------------------------------------------------------------------------- +// Child: projectileEnergyDomain +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedProjectileEnergyDomainHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileEnergyDomainHas", This, extract::projectileEnergyDomain); +} + +// Get, const +Handle2ConstProjectileEnergyDomain +EvaluatedProjectileEnergyDomainGetConst(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileEnergyDomainGetConst", This, extract::projectileEnergyDomain); +} + +// Get, non-const +Handle2ProjectileEnergyDomain +EvaluatedProjectileEnergyDomainGet(ConstHandle2Evaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileEnergyDomainGet", This, extract::projectileEnergyDomain); +} + +// Set +void +EvaluatedProjectileEnergyDomainSet(ConstHandle2Evaluated This, ConstHandle2ConstProjectileEnergyDomain projectileEnergyDomain) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProjectileEnergyDomainSet", This, extract::projectileEnergyDomain, projectileEnergyDomain); +} + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedTemperatureHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TemperatureHas", This, extract::temperature); +} + +// Get, const +Handle2ConstTemperature +EvaluatedTemperatureGetConst(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGetConst", This, extract::temperature); +} + +// Get, non-const +Handle2Temperature +EvaluatedTemperatureGet(ConstHandle2Evaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGet", This, extract::temperature); +} + +// Set +void +EvaluatedTemperatureSet(ConstHandle2Evaluated This, ConstHandle2ConstTemperature temperature) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TemperatureSet", This, extract::temperature, temperature); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedDocumentationHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +EvaluatedDocumentationGetConst(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +EvaluatedDocumentationGet(ConstHandle2Evaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +EvaluatedDocumentationSet(ConstHandle2Evaluated This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.h new file mode 100644 index 000000000..c42989064 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.h @@ -0,0 +1,307 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Evaluated is the basic handle type in this file. Example: +// // Create a default Evaluated object: +// Evaluated handle = EvaluatedDefault(); +// Functions involving Evaluated are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_EVALUATED +#define C_INTERFACE_TRY_V2_0_STYLES_EVALUATED + +#include "GNDStk.h" +#include "v2.0/styles/ProjectileEnergyDomain.h" +#include "v2.0/styles/Temperature.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EvaluatedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Evaluated +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EvaluatedClass *Evaluated; + +// --- Const-aware handles. +typedef const struct EvaluatedClass *const ConstHandle2ConstEvaluated; +typedef struct EvaluatedClass *const ConstHandle2Evaluated; +typedef const struct EvaluatedClass * Handle2ConstEvaluated; +typedef struct EvaluatedClass * Handle2Evaluated; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEvaluated +EvaluatedDefaultConst(); + +// +++ Create, default +extern_c Handle2Evaluated +EvaluatedDefault(); + +// --- Create, general, const +extern_c Handle2ConstEvaluated +EvaluatedCreateConst( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + const XMLName library, + const XMLName version, + ConstHandle2ConstProjectileEnergyDomain projectileEnergyDomain, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2Evaluated +EvaluatedCreate( + const char *const date, + const XMLName label, + const XMLName derivedFrom, + const XMLName library, + const XMLName version, + ConstHandle2ConstProjectileEnergyDomain projectileEnergyDomain, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EvaluatedAssign(ConstHandle2Evaluated This, ConstHandle2ConstEvaluated from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EvaluatedDelete(ConstHandle2ConstEvaluated This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EvaluatedRead(ConstHandle2Evaluated This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EvaluatedWrite(ConstHandle2ConstEvaluated This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EvaluatedPrint(ConstHandle2ConstEvaluated This); + +// +++ Print to standard output, as XML +extern_c int +EvaluatedPrintXML(ConstHandle2ConstEvaluated This); + +// +++ Print to standard output, as JSON +extern_c int +EvaluatedPrintJSON(ConstHandle2ConstEvaluated This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedDateHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c const char * +EvaluatedDateGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedDateSet(ConstHandle2Evaluated This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedLabelHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EvaluatedLabelGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedLabelSet(ConstHandle2Evaluated This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedDerivedFromHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EvaluatedDerivedFromGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedDerivedFromSet(ConstHandle2Evaluated This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: library +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedLibraryHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EvaluatedLibraryGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedLibrarySet(ConstHandle2Evaluated This, const XMLName library); + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedVersionHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EvaluatedVersionGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedVersionSet(ConstHandle2Evaluated This, const XMLName version); + + +// ----------------------------------------------------------------------------- +// Child: projectileEnergyDomain +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedProjectileEnergyDomainHas(ConstHandle2ConstEvaluated This); + +// --- Get, const +extern_c Handle2ConstProjectileEnergyDomain +EvaluatedProjectileEnergyDomainGetConst(ConstHandle2ConstEvaluated This); + +// +++ Get, non-const +extern_c Handle2ProjectileEnergyDomain +EvaluatedProjectileEnergyDomainGet(ConstHandle2Evaluated This); + +// +++ Set +extern_c void +EvaluatedProjectileEnergyDomainSet(ConstHandle2Evaluated This, ConstHandle2ConstProjectileEnergyDomain projectileEnergyDomain); + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedTemperatureHas(ConstHandle2ConstEvaluated This); + +// --- Get, const +extern_c Handle2ConstTemperature +EvaluatedTemperatureGetConst(ConstHandle2ConstEvaluated This); + +// +++ Get, non-const +extern_c Handle2Temperature +EvaluatedTemperatureGet(ConstHandle2Evaluated This); + +// +++ Set +extern_c void +EvaluatedTemperatureSet(ConstHandle2Evaluated This, ConstHandle2ConstTemperature temperature); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedDocumentationHas(ConstHandle2ConstEvaluated This); + +// --- Get, const +extern_c Handle2ConstDocumentation +EvaluatedDocumentationGetConst(ConstHandle2ConstEvaluated This); + +// +++ Get, non-const +extern_c Handle2Documentation +EvaluatedDocumentationGet(ConstHandle2Evaluated This); + +// +++ Set +extern_c void +EvaluatedDocumentationSet(ConstHandle2Evaluated This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp new file mode 100644 index 000000000..70adcfdd5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp @@ -0,0 +1,209 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Flux.hpp" +#include "Flux.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FluxClass; +using CPP = multigroup::Flux; + +static const std::string CLASSNAME = "Flux"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; +} + +using CPPXYs2d = unknownNamespace::XYs2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFlux +FluxDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Flux +FluxDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFlux +FluxCreateConst( + const XMLName label, + ConstHandle2ConstXYs2d XYs2d +) { + ConstHandle2Flux handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(XYs2d) + ); + return handle; +} + +// Create, general +Handle2Flux +FluxCreate( + const XMLName label, + ConstHandle2ConstXYs2d XYs2d +) { + ConstHandle2Flux handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(XYs2d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FluxAssign(ConstHandle2Flux This, ConstHandle2ConstFlux from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FluxDelete(ConstHandle2ConstFlux This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FluxRead(ConstHandle2Flux This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FluxWrite(ConstHandle2ConstFlux This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FluxPrint(ConstHandle2ConstFlux This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FluxPrintXML(ConstHandle2ConstFlux This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FluxPrintJSON(ConstHandle2ConstFlux This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +FluxLabelHas(ConstHandle2ConstFlux This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +FluxLabelGet(ConstHandle2ConstFlux This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +FluxLabelSet(ConstHandle2Flux This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// Has +int +FluxXYs2dHas(ConstHandle2ConstFlux This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs2dHas", This, extract::XYs2d); +} + +// Get, const +Handle2ConstXYs2d +FluxXYs2dGetConst(ConstHandle2ConstFlux This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGetConst", This, extract::XYs2d); +} + +// Get, non-const +Handle2XYs2d +FluxXYs2dGet(ConstHandle2Flux This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGet", This, extract::XYs2d); +} + +// Set +void +FluxXYs2dSet(ConstHandle2Flux This, ConstHandle2ConstXYs2d XYs2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs2dSet", This, extract::XYs2d, XYs2d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h new file mode 100644 index 000000000..863a44ff9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h @@ -0,0 +1,179 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Flux is the basic handle type in this file. Example: +// // Create a default Flux object: +// Flux handle = FluxDefault(); +// Functions involving Flux are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_FLUX +#define C_INTERFACE_TRY_V2_0_STYLES_FLUX + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FluxClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Flux +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FluxClass *Flux; + +// --- Const-aware handles. +typedef const struct FluxClass *const ConstHandle2ConstFlux; +typedef struct FluxClass *const ConstHandle2Flux; +typedef const struct FluxClass * Handle2ConstFlux; +typedef struct FluxClass * Handle2Flux; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFlux +FluxDefaultConst(); + +// +++ Create, default +extern_c Handle2Flux +FluxDefault(); + +// --- Create, general, const +extern_c Handle2ConstFlux +FluxCreateConst( + const XMLName label, + ConstHandle2ConstXYs2d XYs2d +); + +// +++ Create, general +extern_c Handle2Flux +FluxCreate( + const XMLName label, + ConstHandle2ConstXYs2d XYs2d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FluxAssign(ConstHandle2Flux This, ConstHandle2ConstFlux from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FluxDelete(ConstHandle2ConstFlux This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FluxRead(ConstHandle2Flux This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FluxWrite(ConstHandle2ConstFlux This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FluxPrint(ConstHandle2ConstFlux This); + +// +++ Print to standard output, as XML +extern_c int +FluxPrintXML(ConstHandle2ConstFlux This); + +// +++ Print to standard output, as JSON +extern_c int +FluxPrintJSON(ConstHandle2ConstFlux This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FluxLabelHas(ConstHandle2ConstFlux This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +FluxLabelGet(ConstHandle2ConstFlux This); + +// +++ Set +extern_c void +FluxLabelSet(ConstHandle2Flux This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FluxXYs2dHas(ConstHandle2ConstFlux This); + +// --- Get, const +extern_c Handle2ConstXYs2d +FluxXYs2dGetConst(ConstHandle2ConstFlux This); + +// +++ Get, non-const +extern_c Handle2XYs2d +FluxXYs2dGet(ConstHandle2Flux This); + +// +++ Set +extern_c void +FluxXYs2dSet(ConstHandle2Flux This, ConstHandle2ConstXYs2d XYs2d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp new file mode 100644 index 000000000..edc0c8f6c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/GriddedCrossSection.hpp" +#include "GriddedCrossSection.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = GriddedCrossSectionClass; +using CPP = multigroup::GriddedCrossSection; + +static const std::string CLASSNAME = "GriddedCrossSection"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto grid = [](auto &obj) { return &obj.grid; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPGrid = unknownNamespace::Grid; +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGriddedCrossSection +GriddedCrossSectionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2GriddedCrossSection +GriddedCrossSectionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGriddedCrossSection +GriddedCrossSectionCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstGrid grid, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2GriddedCrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + detail::tocpp(grid), + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2GriddedCrossSection +GriddedCrossSectionCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstGrid grid, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2GriddedCrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + detail::tocpp(grid), + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +GriddedCrossSectionAssign(ConstHandle2GriddedCrossSection This, ConstHandle2ConstGriddedCrossSection from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +GriddedCrossSectionDelete(ConstHandle2ConstGriddedCrossSection This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +GriddedCrossSectionRead(ConstHandle2GriddedCrossSection This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +GriddedCrossSectionWrite(ConstHandle2ConstGriddedCrossSection This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +GriddedCrossSectionPrint(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +GriddedCrossSectionPrintXML(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +GriddedCrossSectionPrintJSON(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +GriddedCrossSectionDateHas(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +GriddedCrossSectionDateGet(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +GriddedCrossSectionDateSet(ConstHandle2GriddedCrossSection This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +GriddedCrossSectionDerivedFromHas(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +GriddedCrossSectionDerivedFromGet(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +GriddedCrossSectionDerivedFromSet(ConstHandle2GriddedCrossSection This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +GriddedCrossSectionLabelHas(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +GriddedCrossSectionLabelGet(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +GriddedCrossSectionLabelSet(ConstHandle2GriddedCrossSection This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: grid +// ----------------------------------------------------------------------------- + +// Has +int +GriddedCrossSectionGridHas(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GridHas", This, extract::grid); +} + +// Get, const +Handle2ConstGrid +GriddedCrossSectionGridGetConst(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GridGetConst", This, extract::grid); +} + +// Get, non-const +Handle2Grid +GriddedCrossSectionGridGet(ConstHandle2GriddedCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GridGet", This, extract::grid); +} + +// Set +void +GriddedCrossSectionGridSet(ConstHandle2GriddedCrossSection This, ConstHandle2ConstGrid grid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"GridSet", This, extract::grid, grid); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +GriddedCrossSectionDocumentationHas(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +GriddedCrossSectionDocumentationGetConst(ConstHandle2ConstGriddedCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +GriddedCrossSectionDocumentationGet(ConstHandle2GriddedCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +GriddedCrossSectionDocumentationSet(ConstHandle2GriddedCrossSection This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h b/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h new file mode 100644 index 000000000..95f110246 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// GriddedCrossSection is the basic handle type in this file. Example: +// // Create a default GriddedCrossSection object: +// GriddedCrossSection handle = GriddedCrossSectionDefault(); +// Functions involving GriddedCrossSection are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_GRIDDEDCROSSSECTION +#define C_INTERFACE_TRY_V2_0_STYLES_GRIDDEDCROSSSECTION + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Grid.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct GriddedCrossSectionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ GriddedCrossSection +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct GriddedCrossSectionClass *GriddedCrossSection; + +// --- Const-aware handles. +typedef const struct GriddedCrossSectionClass *const ConstHandle2ConstGriddedCrossSection; +typedef struct GriddedCrossSectionClass *const ConstHandle2GriddedCrossSection; +typedef const struct GriddedCrossSectionClass * Handle2ConstGriddedCrossSection; +typedef struct GriddedCrossSectionClass * Handle2GriddedCrossSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGriddedCrossSection +GriddedCrossSectionDefaultConst(); + +// +++ Create, default +extern_c Handle2GriddedCrossSection +GriddedCrossSectionDefault(); + +// --- Create, general, const +extern_c Handle2ConstGriddedCrossSection +GriddedCrossSectionCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstGrid grid, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2GriddedCrossSection +GriddedCrossSectionCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstGrid grid, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +GriddedCrossSectionAssign(ConstHandle2GriddedCrossSection This, ConstHandle2ConstGriddedCrossSection from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +GriddedCrossSectionDelete(ConstHandle2ConstGriddedCrossSection This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +GriddedCrossSectionRead(ConstHandle2GriddedCrossSection This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +GriddedCrossSectionWrite(ConstHandle2ConstGriddedCrossSection This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +GriddedCrossSectionPrint(ConstHandle2ConstGriddedCrossSection This); + +// +++ Print to standard output, as XML +extern_c int +GriddedCrossSectionPrintXML(ConstHandle2ConstGriddedCrossSection This); + +// +++ Print to standard output, as JSON +extern_c int +GriddedCrossSectionPrintJSON(ConstHandle2ConstGriddedCrossSection This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GriddedCrossSectionDateHas(ConstHandle2ConstGriddedCrossSection This); + +// +++ Get +// +++ Returns by value +extern_c const char * +GriddedCrossSectionDateGet(ConstHandle2ConstGriddedCrossSection This); + +// +++ Set +extern_c void +GriddedCrossSectionDateSet(ConstHandle2GriddedCrossSection This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GriddedCrossSectionDerivedFromHas(ConstHandle2ConstGriddedCrossSection This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +GriddedCrossSectionDerivedFromGet(ConstHandle2ConstGriddedCrossSection This); + +// +++ Set +extern_c void +GriddedCrossSectionDerivedFromSet(ConstHandle2GriddedCrossSection This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GriddedCrossSectionLabelHas(ConstHandle2ConstGriddedCrossSection This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +GriddedCrossSectionLabelGet(ConstHandle2ConstGriddedCrossSection This); + +// +++ Set +extern_c void +GriddedCrossSectionLabelSet(ConstHandle2GriddedCrossSection This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: grid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GriddedCrossSectionGridHas(ConstHandle2ConstGriddedCrossSection This); + +// --- Get, const +extern_c Handle2ConstGrid +GriddedCrossSectionGridGetConst(ConstHandle2ConstGriddedCrossSection This); + +// +++ Get, non-const +extern_c Handle2Grid +GriddedCrossSectionGridGet(ConstHandle2GriddedCrossSection This); + +// +++ Set +extern_c void +GriddedCrossSectionGridSet(ConstHandle2GriddedCrossSection This, ConstHandle2ConstGrid grid); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GriddedCrossSectionDocumentationHas(ConstHandle2ConstGriddedCrossSection This); + +// --- Get, const +extern_c Handle2ConstDocumentation +GriddedCrossSectionDocumentationGetConst(ConstHandle2ConstGriddedCrossSection This); + +// +++ Get, non-const +extern_c Handle2Documentation +GriddedCrossSectionDocumentationGet(ConstHandle2GriddedCrossSection This); + +// +++ Set +extern_c void +GriddedCrossSectionDocumentationSet(ConstHandle2GriddedCrossSection This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.cpp new file mode 100644 index 000000000..b5c292cd8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Heated.hpp" +#include "Heated.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = HeatedClass; +using CPP = multigroup::Heated; + +static const std::string CLASSNAME = "Heated"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto temperature = [](auto &obj) { return &obj.temperature; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPTemperature = styles::Temperature; +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstHeated +HeatedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Heated +HeatedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstHeated +HeatedCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Heated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2Heated +HeatedCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Heated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + detail::tocpp(temperature), + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +HeatedAssign(ConstHandle2Heated This, ConstHandle2ConstHeated from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +HeatedDelete(ConstHandle2ConstHeated This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +HeatedRead(ConstHandle2Heated This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +HeatedWrite(ConstHandle2ConstHeated This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +HeatedPrint(ConstHandle2ConstHeated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +HeatedPrintXML(ConstHandle2ConstHeated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +HeatedPrintJSON(ConstHandle2ConstHeated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +HeatedDateHas(ConstHandle2ConstHeated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +HeatedDateGet(ConstHandle2ConstHeated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +HeatedDateSet(ConstHandle2Heated This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +HeatedDerivedFromHas(ConstHandle2ConstHeated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +HeatedDerivedFromGet(ConstHandle2ConstHeated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +HeatedDerivedFromSet(ConstHandle2Heated This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +HeatedLabelHas(ConstHandle2ConstHeated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +HeatedLabelGet(ConstHandle2ConstHeated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +HeatedLabelSet(ConstHandle2Heated This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// Has +int +HeatedTemperatureHas(ConstHandle2ConstHeated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TemperatureHas", This, extract::temperature); +} + +// Get, const +Handle2ConstTemperature +HeatedTemperatureGetConst(ConstHandle2ConstHeated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGetConst", This, extract::temperature); +} + +// Get, non-const +Handle2Temperature +HeatedTemperatureGet(ConstHandle2Heated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TemperatureGet", This, extract::temperature); +} + +// Set +void +HeatedTemperatureSet(ConstHandle2Heated This, ConstHandle2ConstTemperature temperature) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TemperatureSet", This, extract::temperature, temperature); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +HeatedDocumentationHas(ConstHandle2ConstHeated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +HeatedDocumentationGetConst(ConstHandle2ConstHeated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +HeatedDocumentationGet(ConstHandle2Heated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +HeatedDocumentationSet(ConstHandle2Heated This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.h new file mode 100644 index 000000000..79ee93b24 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Heated is the basic handle type in this file. Example: +// // Create a default Heated object: +// Heated handle = HeatedDefault(); +// Functions involving Heated are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_HEATED +#define C_INTERFACE_TRY_V2_0_STYLES_HEATED + +#include "GNDStk.h" +#include "v2.0/styles/Temperature.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct HeatedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Heated +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct HeatedClass *Heated; + +// --- Const-aware handles. +typedef const struct HeatedClass *const ConstHandle2ConstHeated; +typedef struct HeatedClass *const ConstHandle2Heated; +typedef const struct HeatedClass * Handle2ConstHeated; +typedef struct HeatedClass * Handle2Heated; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstHeated +HeatedDefaultConst(); + +// +++ Create, default +extern_c Handle2Heated +HeatedDefault(); + +// --- Create, general, const +extern_c Handle2ConstHeated +HeatedCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2Heated +HeatedCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstTemperature temperature, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +HeatedAssign(ConstHandle2Heated This, ConstHandle2ConstHeated from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +HeatedDelete(ConstHandle2ConstHeated This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +HeatedRead(ConstHandle2Heated This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +HeatedWrite(ConstHandle2ConstHeated This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +HeatedPrint(ConstHandle2ConstHeated This); + +// +++ Print to standard output, as XML +extern_c int +HeatedPrintXML(ConstHandle2ConstHeated This); + +// +++ Print to standard output, as JSON +extern_c int +HeatedPrintJSON(ConstHandle2ConstHeated This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedDateHas(ConstHandle2ConstHeated This); + +// +++ Get +// +++ Returns by value +extern_c const char * +HeatedDateGet(ConstHandle2ConstHeated This); + +// +++ Set +extern_c void +HeatedDateSet(ConstHandle2Heated This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedDerivedFromHas(ConstHandle2ConstHeated This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +HeatedDerivedFromGet(ConstHandle2ConstHeated This); + +// +++ Set +extern_c void +HeatedDerivedFromSet(ConstHandle2Heated This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedLabelHas(ConstHandle2ConstHeated This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +HeatedLabelGet(ConstHandle2ConstHeated This); + +// +++ Set +extern_c void +HeatedLabelSet(ConstHandle2Heated This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: temperature +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedTemperatureHas(ConstHandle2ConstHeated This); + +// --- Get, const +extern_c Handle2ConstTemperature +HeatedTemperatureGetConst(ConstHandle2ConstHeated This); + +// +++ Get, non-const +extern_c Handle2Temperature +HeatedTemperatureGet(ConstHandle2Heated This); + +// +++ Set +extern_c void +HeatedTemperatureSet(ConstHandle2Heated This, ConstHandle2ConstTemperature temperature); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedDocumentationHas(ConstHandle2ConstHeated This); + +// --- Get, const +extern_c Handle2ConstDocumentation +HeatedDocumentationGetConst(ConstHandle2ConstHeated This); + +// +++ Get, non-const +extern_c Handle2Documentation +HeatedDocumentationGet(ConstHandle2Heated This); + +// +++ Set +extern_c void +HeatedDocumentationSet(ConstHandle2Heated This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.cpp new file mode 100644 index 000000000..3f891bf2c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.cpp @@ -0,0 +1,408 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/HeatedMultiGroup.hpp" +#include "HeatedMultiGroup.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = HeatedMultiGroupClass; +using CPP = multigroup::HeatedMultiGroup; + +static const std::string CLASSNAME = "HeatedMultiGroup"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto transportables = [](auto &obj) { return &obj.transportables; }; + static auto flux = [](auto &obj) { return &obj.flux; }; + static auto inverseSpeed = [](auto &obj) { return &obj.inverseSpeed; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPTransportables = styles::Transportables; +using CPPFlux = styles::Flux; +using CPPInverseSpeed = styles::InverseSpeed; +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstHeatedMultiGroup +HeatedMultiGroupDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2HeatedMultiGroup +HeatedMultiGroupDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstHeatedMultiGroup +HeatedMultiGroupCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstTransportables transportables, + ConstHandle2ConstFlux flux, + ConstHandle2ConstInverseSpeed inverseSpeed, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2HeatedMultiGroup handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + detail::tocpp(transportables), + detail::tocpp(flux), + detail::tocpp(inverseSpeed), + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2HeatedMultiGroup +HeatedMultiGroupCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstTransportables transportables, + ConstHandle2ConstFlux flux, + ConstHandle2ConstInverseSpeed inverseSpeed, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2HeatedMultiGroup handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + detail::tocpp(transportables), + detail::tocpp(flux), + detail::tocpp(inverseSpeed), + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +HeatedMultiGroupAssign(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstHeatedMultiGroup from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +HeatedMultiGroupDelete(ConstHandle2ConstHeatedMultiGroup This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +HeatedMultiGroupRead(ConstHandle2HeatedMultiGroup This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +HeatedMultiGroupWrite(ConstHandle2ConstHeatedMultiGroup This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +HeatedMultiGroupPrint(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +HeatedMultiGroupPrintXML(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +HeatedMultiGroupPrintJSON(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +HeatedMultiGroupDateHas(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +HeatedMultiGroupDateGet(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +HeatedMultiGroupDateSet(ConstHandle2HeatedMultiGroup This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +HeatedMultiGroupDerivedFromHas(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +HeatedMultiGroupDerivedFromGet(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +HeatedMultiGroupDerivedFromSet(ConstHandle2HeatedMultiGroup This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +HeatedMultiGroupLabelHas(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +HeatedMultiGroupLabelGet(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +HeatedMultiGroupLabelSet(ConstHandle2HeatedMultiGroup This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: transportables +// ----------------------------------------------------------------------------- + +// Has +int +HeatedMultiGroupTransportablesHas(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TransportablesHas", This, extract::transportables); +} + +// Get, const +Handle2ConstTransportables +HeatedMultiGroupTransportablesGetConst(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TransportablesGetConst", This, extract::transportables); +} + +// Get, non-const +Handle2Transportables +HeatedMultiGroupTransportablesGet(ConstHandle2HeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TransportablesGet", This, extract::transportables); +} + +// Set +void +HeatedMultiGroupTransportablesSet(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstTransportables transportables) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TransportablesSet", This, extract::transportables, transportables); +} + + +// ----------------------------------------------------------------------------- +// Child: flux +// ----------------------------------------------------------------------------- + +// Has +int +HeatedMultiGroupFluxHas(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FluxHas", This, extract::flux); +} + +// Get, const +Handle2ConstFlux +HeatedMultiGroupFluxGetConst(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FluxGetConst", This, extract::flux); +} + +// Get, non-const +Handle2Flux +HeatedMultiGroupFluxGet(ConstHandle2HeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FluxGet", This, extract::flux); +} + +// Set +void +HeatedMultiGroupFluxSet(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstFlux flux) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FluxSet", This, extract::flux, flux); +} + + +// ----------------------------------------------------------------------------- +// Child: inverseSpeed +// ----------------------------------------------------------------------------- + +// Has +int +HeatedMultiGroupInverseSpeedHas(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InverseSpeedHas", This, extract::inverseSpeed); +} + +// Get, const +Handle2ConstInverseSpeed +HeatedMultiGroupInverseSpeedGetConst(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InverseSpeedGetConst", This, extract::inverseSpeed); +} + +// Get, non-const +Handle2InverseSpeed +HeatedMultiGroupInverseSpeedGet(ConstHandle2HeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InverseSpeedGet", This, extract::inverseSpeed); +} + +// Set +void +HeatedMultiGroupInverseSpeedSet(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstInverseSpeed inverseSpeed) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InverseSpeedSet", This, extract::inverseSpeed, inverseSpeed); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +HeatedMultiGroupDocumentationHas(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +HeatedMultiGroupDocumentationGetConst(ConstHandle2ConstHeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +HeatedMultiGroupDocumentationGet(ConstHandle2HeatedMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +HeatedMultiGroupDocumentationSet(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.h b/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.h new file mode 100644 index 000000000..f3db700c2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// HeatedMultiGroup is the basic handle type in this file. Example: +// // Create a default HeatedMultiGroup object: +// HeatedMultiGroup handle = HeatedMultiGroupDefault(); +// Functions involving HeatedMultiGroup are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_HEATEDMULTIGROUP +#define C_INTERFACE_TRY_V2_0_STYLES_HEATEDMULTIGROUP + +#include "GNDStk.h" +#include "v2.0/styles/Transportables.h" +#include "v2.0/styles/Flux.h" +#include "v2.0/styles/InverseSpeed.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct HeatedMultiGroupClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ HeatedMultiGroup +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct HeatedMultiGroupClass *HeatedMultiGroup; + +// --- Const-aware handles. +typedef const struct HeatedMultiGroupClass *const ConstHandle2ConstHeatedMultiGroup; +typedef struct HeatedMultiGroupClass *const ConstHandle2HeatedMultiGroup; +typedef const struct HeatedMultiGroupClass * Handle2ConstHeatedMultiGroup; +typedef struct HeatedMultiGroupClass * Handle2HeatedMultiGroup; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstHeatedMultiGroup +HeatedMultiGroupDefaultConst(); + +// +++ Create, default +extern_c Handle2HeatedMultiGroup +HeatedMultiGroupDefault(); + +// --- Create, general, const +extern_c Handle2ConstHeatedMultiGroup +HeatedMultiGroupCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstTransportables transportables, + ConstHandle2ConstFlux flux, + ConstHandle2ConstInverseSpeed inverseSpeed, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2HeatedMultiGroup +HeatedMultiGroupCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstTransportables transportables, + ConstHandle2ConstFlux flux, + ConstHandle2ConstInverseSpeed inverseSpeed, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +HeatedMultiGroupAssign(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstHeatedMultiGroup from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +HeatedMultiGroupDelete(ConstHandle2ConstHeatedMultiGroup This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +HeatedMultiGroupRead(ConstHandle2HeatedMultiGroup This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +HeatedMultiGroupWrite(ConstHandle2ConstHeatedMultiGroup This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +HeatedMultiGroupPrint(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Print to standard output, as XML +extern_c int +HeatedMultiGroupPrintXML(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Print to standard output, as JSON +extern_c int +HeatedMultiGroupPrintJSON(ConstHandle2ConstHeatedMultiGroup This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedMultiGroupDateHas(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Get +// +++ Returns by value +extern_c const char * +HeatedMultiGroupDateGet(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Set +extern_c void +HeatedMultiGroupDateSet(ConstHandle2HeatedMultiGroup This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedMultiGroupDerivedFromHas(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +HeatedMultiGroupDerivedFromGet(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Set +extern_c void +HeatedMultiGroupDerivedFromSet(ConstHandle2HeatedMultiGroup This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedMultiGroupLabelHas(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +HeatedMultiGroupLabelGet(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Set +extern_c void +HeatedMultiGroupLabelSet(ConstHandle2HeatedMultiGroup This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: transportables +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedMultiGroupTransportablesHas(ConstHandle2ConstHeatedMultiGroup This); + +// --- Get, const +extern_c Handle2ConstTransportables +HeatedMultiGroupTransportablesGetConst(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Get, non-const +extern_c Handle2Transportables +HeatedMultiGroupTransportablesGet(ConstHandle2HeatedMultiGroup This); + +// +++ Set +extern_c void +HeatedMultiGroupTransportablesSet(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstTransportables transportables); + + +// ----------------------------------------------------------------------------- +// Child: flux +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedMultiGroupFluxHas(ConstHandle2ConstHeatedMultiGroup This); + +// --- Get, const +extern_c Handle2ConstFlux +HeatedMultiGroupFluxGetConst(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Get, non-const +extern_c Handle2Flux +HeatedMultiGroupFluxGet(ConstHandle2HeatedMultiGroup This); + +// +++ Set +extern_c void +HeatedMultiGroupFluxSet(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstFlux flux); + + +// ----------------------------------------------------------------------------- +// Child: inverseSpeed +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedMultiGroupInverseSpeedHas(ConstHandle2ConstHeatedMultiGroup This); + +// --- Get, const +extern_c Handle2ConstInverseSpeed +HeatedMultiGroupInverseSpeedGetConst(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Get, non-const +extern_c Handle2InverseSpeed +HeatedMultiGroupInverseSpeedGet(ConstHandle2HeatedMultiGroup This); + +// +++ Set +extern_c void +HeatedMultiGroupInverseSpeedSet(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstInverseSpeed inverseSpeed); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +HeatedMultiGroupDocumentationHas(ConstHandle2ConstHeatedMultiGroup This); + +// --- Get, const +extern_c Handle2ConstDocumentation +HeatedMultiGroupDocumentationGetConst(ConstHandle2ConstHeatedMultiGroup This); + +// +++ Get, non-const +extern_c Handle2Documentation +HeatedMultiGroupDocumentationGet(ConstHandle2HeatedMultiGroup This); + +// +++ Set +extern_c void +HeatedMultiGroupDocumentationSet(ConstHandle2HeatedMultiGroup This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp new file mode 100644 index 000000000..b094d4917 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp @@ -0,0 +1,209 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/InverseSpeed.hpp" +#include "InverseSpeed.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = InverseSpeedClass; +using CPP = multigroup::InverseSpeed; + +static const std::string CLASSNAME = "InverseSpeed"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto gridded1d = [](auto &obj) { return &obj.gridded1d; }; +} + +using CPPGridded1d = unknownNamespace::Gridded1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInverseSpeed +InverseSpeedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2InverseSpeed +InverseSpeedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInverseSpeed +InverseSpeedCreateConst( + const XMLName label, + ConstHandle2ConstGridded1d gridded1d +) { + ConstHandle2InverseSpeed handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(gridded1d) + ); + return handle; +} + +// Create, general +Handle2InverseSpeed +InverseSpeedCreate( + const XMLName label, + ConstHandle2ConstGridded1d gridded1d +) { + ConstHandle2InverseSpeed handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(gridded1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +InverseSpeedAssign(ConstHandle2InverseSpeed This, ConstHandle2ConstInverseSpeed from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +InverseSpeedDelete(ConstHandle2ConstInverseSpeed This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +InverseSpeedRead(ConstHandle2InverseSpeed This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +InverseSpeedWrite(ConstHandle2ConstInverseSpeed This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +InverseSpeedPrint(ConstHandle2ConstInverseSpeed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +InverseSpeedPrintXML(ConstHandle2ConstInverseSpeed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +InverseSpeedPrintJSON(ConstHandle2ConstInverseSpeed This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +InverseSpeedLabelHas(ConstHandle2ConstInverseSpeed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +InverseSpeedLabelGet(ConstHandle2ConstInverseSpeed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +InverseSpeedLabelSet(ConstHandle2InverseSpeed This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// Has +int +InverseSpeedGridded1dHas(ConstHandle2ConstInverseSpeed This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded1dHas", This, extract::gridded1d); +} + +// Get, const +Handle2ConstGridded1d +InverseSpeedGridded1dGetConst(ConstHandle2ConstInverseSpeed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGetConst", This, extract::gridded1d); +} + +// Get, non-const +Handle2Gridded1d +InverseSpeedGridded1dGet(ConstHandle2InverseSpeed This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded1dGet", This, extract::gridded1d); +} + +// Set +void +InverseSpeedGridded1dSet(ConstHandle2InverseSpeed This, ConstHandle2ConstGridded1d gridded1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded1dSet", This, extract::gridded1d, gridded1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h b/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h new file mode 100644 index 000000000..3dcc1baaf --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h @@ -0,0 +1,179 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// InverseSpeed is the basic handle type in this file. Example: +// // Create a default InverseSpeed object: +// InverseSpeed handle = InverseSpeedDefault(); +// Functions involving InverseSpeed are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_INVERSESPEED +#define C_INTERFACE_TRY_V2_0_STYLES_INVERSESPEED + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Gridded1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct InverseSpeedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ InverseSpeed +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct InverseSpeedClass *InverseSpeed; + +// --- Const-aware handles. +typedef const struct InverseSpeedClass *const ConstHandle2ConstInverseSpeed; +typedef struct InverseSpeedClass *const ConstHandle2InverseSpeed; +typedef const struct InverseSpeedClass * Handle2ConstInverseSpeed; +typedef struct InverseSpeedClass * Handle2InverseSpeed; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInverseSpeed +InverseSpeedDefaultConst(); + +// +++ Create, default +extern_c Handle2InverseSpeed +InverseSpeedDefault(); + +// --- Create, general, const +extern_c Handle2ConstInverseSpeed +InverseSpeedCreateConst( + const XMLName label, + ConstHandle2ConstGridded1d gridded1d +); + +// +++ Create, general +extern_c Handle2InverseSpeed +InverseSpeedCreate( + const XMLName label, + ConstHandle2ConstGridded1d gridded1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +InverseSpeedAssign(ConstHandle2InverseSpeed This, ConstHandle2ConstInverseSpeed from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +InverseSpeedDelete(ConstHandle2ConstInverseSpeed This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +InverseSpeedRead(ConstHandle2InverseSpeed This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +InverseSpeedWrite(ConstHandle2ConstInverseSpeed This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +InverseSpeedPrint(ConstHandle2ConstInverseSpeed This); + +// +++ Print to standard output, as XML +extern_c int +InverseSpeedPrintXML(ConstHandle2ConstInverseSpeed This); + +// +++ Print to standard output, as JSON +extern_c int +InverseSpeedPrintJSON(ConstHandle2ConstInverseSpeed This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InverseSpeedLabelHas(ConstHandle2ConstInverseSpeed This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +InverseSpeedLabelGet(ConstHandle2ConstInverseSpeed This); + +// +++ Set +extern_c void +InverseSpeedLabelSet(ConstHandle2InverseSpeed This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: gridded1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +InverseSpeedGridded1dHas(ConstHandle2ConstInverseSpeed This); + +// --- Get, const +extern_c Handle2ConstGridded1d +InverseSpeedGridded1dGetConst(ConstHandle2ConstInverseSpeed This); + +// +++ Get, non-const +extern_c Handle2Gridded1d +InverseSpeedGridded1dGet(ConstHandle2InverseSpeed This); + +// +++ Set +extern_c void +InverseSpeedGridded1dSet(ConstHandle2InverseSpeed This, ConstHandle2ConstGridded1d gridded1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.cpp new file mode 100644 index 000000000..d77aac9fc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/MonteCarlo_cdf.hpp" +#include "MonteCarlo_cdf.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MonteCarlo_cdfClass; +using CPP = multigroup::MonteCarlo_cdf; + +static const std::string CLASSNAME = "MonteCarlo_cdf"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMonteCarlo_cdf +MonteCarlo_cdfDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MonteCarlo_cdf +MonteCarlo_cdfDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMonteCarlo_cdf +MonteCarlo_cdfCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2MonteCarlo_cdf handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2MonteCarlo_cdf +MonteCarlo_cdfCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2MonteCarlo_cdf handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MonteCarlo_cdfAssign(ConstHandle2MonteCarlo_cdf This, ConstHandle2ConstMonteCarlo_cdf from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MonteCarlo_cdfDelete(ConstHandle2ConstMonteCarlo_cdf This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MonteCarlo_cdfRead(ConstHandle2MonteCarlo_cdf This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MonteCarlo_cdfWrite(ConstHandle2ConstMonteCarlo_cdf This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MonteCarlo_cdfPrint(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MonteCarlo_cdfPrintXML(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MonteCarlo_cdfPrintJSON(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +MonteCarlo_cdfDateHas(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +MonteCarlo_cdfDateGet(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +MonteCarlo_cdfDateSet(ConstHandle2MonteCarlo_cdf This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +MonteCarlo_cdfDerivedFromHas(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +MonteCarlo_cdfDerivedFromGet(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +MonteCarlo_cdfDerivedFromSet(ConstHandle2MonteCarlo_cdf This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MonteCarlo_cdfLabelHas(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MonteCarlo_cdfLabelGet(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MonteCarlo_cdfLabelSet(ConstHandle2MonteCarlo_cdf This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +MonteCarlo_cdfDocumentationHas(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +MonteCarlo_cdfDocumentationGetConst(ConstHandle2ConstMonteCarlo_cdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +MonteCarlo_cdfDocumentationGet(ConstHandle2MonteCarlo_cdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +MonteCarlo_cdfDocumentationSet(ConstHandle2MonteCarlo_cdf This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.h b/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.h new file mode 100644 index 000000000..47c8b98ac --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MonteCarlo_cdf is the basic handle type in this file. Example: +// // Create a default MonteCarlo_cdf object: +// MonteCarlo_cdf handle = MonteCarlo_cdfDefault(); +// Functions involving MonteCarlo_cdf are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_MONTECARLO_CDF +#define C_INTERFACE_TRY_V2_0_STYLES_MONTECARLO_CDF + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MonteCarlo_cdfClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MonteCarlo_cdf +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MonteCarlo_cdfClass *MonteCarlo_cdf; + +// --- Const-aware handles. +typedef const struct MonteCarlo_cdfClass *const ConstHandle2ConstMonteCarlo_cdf; +typedef struct MonteCarlo_cdfClass *const ConstHandle2MonteCarlo_cdf; +typedef const struct MonteCarlo_cdfClass * Handle2ConstMonteCarlo_cdf; +typedef struct MonteCarlo_cdfClass * Handle2MonteCarlo_cdf; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMonteCarlo_cdf +MonteCarlo_cdfDefaultConst(); + +// +++ Create, default +extern_c Handle2MonteCarlo_cdf +MonteCarlo_cdfDefault(); + +// --- Create, general, const +extern_c Handle2ConstMonteCarlo_cdf +MonteCarlo_cdfCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2MonteCarlo_cdf +MonteCarlo_cdfCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MonteCarlo_cdfAssign(ConstHandle2MonteCarlo_cdf This, ConstHandle2ConstMonteCarlo_cdf from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MonteCarlo_cdfDelete(ConstHandle2ConstMonteCarlo_cdf This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MonteCarlo_cdfRead(ConstHandle2MonteCarlo_cdf This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MonteCarlo_cdfWrite(ConstHandle2ConstMonteCarlo_cdf This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MonteCarlo_cdfPrint(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Print to standard output, as XML +extern_c int +MonteCarlo_cdfPrintXML(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Print to standard output, as JSON +extern_c int +MonteCarlo_cdfPrintJSON(ConstHandle2ConstMonteCarlo_cdf This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MonteCarlo_cdfDateHas(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Get +// +++ Returns by value +extern_c const char * +MonteCarlo_cdfDateGet(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Set +extern_c void +MonteCarlo_cdfDateSet(ConstHandle2MonteCarlo_cdf This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MonteCarlo_cdfDerivedFromHas(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MonteCarlo_cdfDerivedFromGet(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Set +extern_c void +MonteCarlo_cdfDerivedFromSet(ConstHandle2MonteCarlo_cdf This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MonteCarlo_cdfLabelHas(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MonteCarlo_cdfLabelGet(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Set +extern_c void +MonteCarlo_cdfLabelSet(ConstHandle2MonteCarlo_cdf This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MonteCarlo_cdfDocumentationHas(ConstHandle2ConstMonteCarlo_cdf This); + +// --- Get, const +extern_c Handle2ConstDocumentation +MonteCarlo_cdfDocumentationGetConst(ConstHandle2ConstMonteCarlo_cdf This); + +// +++ Get, non-const +extern_c Handle2Documentation +MonteCarlo_cdfDocumentationGet(ConstHandle2MonteCarlo_cdf This); + +// +++ Set +extern_c void +MonteCarlo_cdfDocumentationSet(ConstHandle2MonteCarlo_cdf This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.cpp new file mode 100644 index 000000000..a28545723 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.cpp @@ -0,0 +1,314 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/MultiBand.hpp" +#include "MultiBand.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MultiBandClass; +using CPP = multigroup::MultiBand; + +static const std::string CLASSNAME = "MultiBand"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto numberOfBands = [](auto &obj) { return &obj.numberOfBands; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMultiBand +MultiBandDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MultiBand +MultiBandDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMultiBand +MultiBandCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 numberOfBands, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2MultiBand handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + numberOfBands, + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2MultiBand +MultiBandCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 numberOfBands, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2MultiBand handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + numberOfBands, + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MultiBandAssign(ConstHandle2MultiBand This, ConstHandle2ConstMultiBand from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MultiBandDelete(ConstHandle2ConstMultiBand This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MultiBandRead(ConstHandle2MultiBand This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MultiBandWrite(ConstHandle2ConstMultiBand This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MultiBandPrint(ConstHandle2ConstMultiBand This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MultiBandPrintXML(ConstHandle2ConstMultiBand This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MultiBandPrintJSON(ConstHandle2ConstMultiBand This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +MultiBandDateHas(ConstHandle2ConstMultiBand This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +MultiBandDateGet(ConstHandle2ConstMultiBand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +MultiBandDateSet(ConstHandle2MultiBand This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +MultiBandDerivedFromHas(ConstHandle2ConstMultiBand This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +MultiBandDerivedFromGet(ConstHandle2ConstMultiBand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +MultiBandDerivedFromSet(ConstHandle2MultiBand This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MultiBandLabelHas(ConstHandle2ConstMultiBand This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MultiBandLabelGet(ConstHandle2ConstMultiBand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MultiBandLabelSet(ConstHandle2MultiBand This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: numberOfBands +// ----------------------------------------------------------------------------- + +// Has +int +MultiBandNumberOfBandsHas(ConstHandle2ConstMultiBand This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NumberOfBandsHas", This, extract::numberOfBands); +} + +// Get +// Returns by value +Integer32 +MultiBandNumberOfBandsGet(ConstHandle2ConstMultiBand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NumberOfBandsGet", This, extract::numberOfBands); +} + +// Set +void +MultiBandNumberOfBandsSet(ConstHandle2MultiBand This, const Integer32 numberOfBands) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NumberOfBandsSet", This, extract::numberOfBands, numberOfBands); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +MultiBandDocumentationHas(ConstHandle2ConstMultiBand This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +MultiBandDocumentationGetConst(ConstHandle2ConstMultiBand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +MultiBandDocumentationGet(ConstHandle2MultiBand This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +MultiBandDocumentationSet(ConstHandle2MultiBand This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.h b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.h new file mode 100644 index 000000000..95bc36f46 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.h @@ -0,0 +1,239 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MultiBand is the basic handle type in this file. Example: +// // Create a default MultiBand object: +// MultiBand handle = MultiBandDefault(); +// Functions involving MultiBand are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_MULTIBAND +#define C_INTERFACE_TRY_V2_0_STYLES_MULTIBAND + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MultiBandClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MultiBand +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MultiBandClass *MultiBand; + +// --- Const-aware handles. +typedef const struct MultiBandClass *const ConstHandle2ConstMultiBand; +typedef struct MultiBandClass *const ConstHandle2MultiBand; +typedef const struct MultiBandClass * Handle2ConstMultiBand; +typedef struct MultiBandClass * Handle2MultiBand; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMultiBand +MultiBandDefaultConst(); + +// +++ Create, default +extern_c Handle2MultiBand +MultiBandDefault(); + +// --- Create, general, const +extern_c Handle2ConstMultiBand +MultiBandCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 numberOfBands, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2MultiBand +MultiBandCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 numberOfBands, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MultiBandAssign(ConstHandle2MultiBand This, ConstHandle2ConstMultiBand from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MultiBandDelete(ConstHandle2ConstMultiBand This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MultiBandRead(ConstHandle2MultiBand This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MultiBandWrite(ConstHandle2ConstMultiBand This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MultiBandPrint(ConstHandle2ConstMultiBand This); + +// +++ Print to standard output, as XML +extern_c int +MultiBandPrintXML(ConstHandle2ConstMultiBand This); + +// +++ Print to standard output, as JSON +extern_c int +MultiBandPrintJSON(ConstHandle2ConstMultiBand This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiBandDateHas(ConstHandle2ConstMultiBand This); + +// +++ Get +// +++ Returns by value +extern_c const char * +MultiBandDateGet(ConstHandle2ConstMultiBand This); + +// +++ Set +extern_c void +MultiBandDateSet(ConstHandle2MultiBand This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiBandDerivedFromHas(ConstHandle2ConstMultiBand This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MultiBandDerivedFromGet(ConstHandle2ConstMultiBand This); + +// +++ Set +extern_c void +MultiBandDerivedFromSet(ConstHandle2MultiBand This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiBandLabelHas(ConstHandle2ConstMultiBand This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MultiBandLabelGet(ConstHandle2ConstMultiBand This); + +// +++ Set +extern_c void +MultiBandLabelSet(ConstHandle2MultiBand This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: numberOfBands +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiBandNumberOfBandsHas(ConstHandle2ConstMultiBand This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +MultiBandNumberOfBandsGet(ConstHandle2ConstMultiBand This); + +// +++ Set +extern_c void +MultiBandNumberOfBandsSet(ConstHandle2MultiBand This, const Integer32 numberOfBands); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiBandDocumentationHas(ConstHandle2ConstMultiBand This); + +// --- Get, const +extern_c Handle2ConstDocumentation +MultiBandDocumentationGetConst(ConstHandle2ConstMultiBand This); + +// +++ Get, non-const +extern_c Handle2Documentation +MultiBandDocumentationGet(ConstHandle2MultiBand This); + +// +++ Set +extern_c void +MultiBandDocumentationSet(ConstHandle2MultiBand This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp new file mode 100644 index 000000000..fa7ead953 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp @@ -0,0 +1,209 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/MultiGroup.hpp" +#include "MultiGroup.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MultiGroupClass; +using CPP = multigroup::MultiGroup; + +static const std::string CLASSNAME = "MultiGroup"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto grid = [](auto &obj) { return &obj.grid; }; +} + +using CPPGrid = unknownNamespace::Grid; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMultiGroup +MultiGroupDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MultiGroup +MultiGroupDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMultiGroup +MultiGroupCreateConst( + const XMLName label, + ConstHandle2ConstGrid grid +) { + ConstHandle2MultiGroup handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(grid) + ); + return handle; +} + +// Create, general +Handle2MultiGroup +MultiGroupCreate( + const XMLName label, + ConstHandle2ConstGrid grid +) { + ConstHandle2MultiGroup handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(grid) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MultiGroupAssign(ConstHandle2MultiGroup This, ConstHandle2ConstMultiGroup from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MultiGroupDelete(ConstHandle2ConstMultiGroup This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MultiGroupRead(ConstHandle2MultiGroup This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MultiGroupWrite(ConstHandle2ConstMultiGroup This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MultiGroupPrint(ConstHandle2ConstMultiGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MultiGroupPrintXML(ConstHandle2ConstMultiGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MultiGroupPrintJSON(ConstHandle2ConstMultiGroup This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MultiGroupLabelHas(ConstHandle2ConstMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MultiGroupLabelGet(ConstHandle2ConstMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MultiGroupLabelSet(ConstHandle2MultiGroup This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: grid +// ----------------------------------------------------------------------------- + +// Has +int +MultiGroupGridHas(ConstHandle2ConstMultiGroup This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GridHas", This, extract::grid); +} + +// Get, const +Handle2ConstGrid +MultiGroupGridGetConst(ConstHandle2ConstMultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GridGetConst", This, extract::grid); +} + +// Get, non-const +Handle2Grid +MultiGroupGridGet(ConstHandle2MultiGroup This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GridGet", This, extract::grid); +} + +// Set +void +MultiGroupGridSet(ConstHandle2MultiGroup This, ConstHandle2ConstGrid grid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"GridSet", This, extract::grid, grid); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h new file mode 100644 index 000000000..982ed100c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h @@ -0,0 +1,179 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MultiGroup is the basic handle type in this file. Example: +// // Create a default MultiGroup object: +// MultiGroup handle = MultiGroupDefault(); +// Functions involving MultiGroup are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_MULTIGROUP +#define C_INTERFACE_TRY_V2_0_STYLES_MULTIGROUP + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Grid.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MultiGroupClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MultiGroup +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MultiGroupClass *MultiGroup; + +// --- Const-aware handles. +typedef const struct MultiGroupClass *const ConstHandle2ConstMultiGroup; +typedef struct MultiGroupClass *const ConstHandle2MultiGroup; +typedef const struct MultiGroupClass * Handle2ConstMultiGroup; +typedef struct MultiGroupClass * Handle2MultiGroup; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMultiGroup +MultiGroupDefaultConst(); + +// +++ Create, default +extern_c Handle2MultiGroup +MultiGroupDefault(); + +// --- Create, general, const +extern_c Handle2ConstMultiGroup +MultiGroupCreateConst( + const XMLName label, + ConstHandle2ConstGrid grid +); + +// +++ Create, general +extern_c Handle2MultiGroup +MultiGroupCreate( + const XMLName label, + ConstHandle2ConstGrid grid +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MultiGroupAssign(ConstHandle2MultiGroup This, ConstHandle2ConstMultiGroup from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MultiGroupDelete(ConstHandle2ConstMultiGroup This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MultiGroupRead(ConstHandle2MultiGroup This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MultiGroupWrite(ConstHandle2ConstMultiGroup This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MultiGroupPrint(ConstHandle2ConstMultiGroup This); + +// +++ Print to standard output, as XML +extern_c int +MultiGroupPrintXML(ConstHandle2ConstMultiGroup This); + +// +++ Print to standard output, as JSON +extern_c int +MultiGroupPrintJSON(ConstHandle2ConstMultiGroup This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiGroupLabelHas(ConstHandle2ConstMultiGroup This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MultiGroupLabelGet(ConstHandle2ConstMultiGroup This); + +// +++ Set +extern_c void +MultiGroupLabelSet(ConstHandle2MultiGroup This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: grid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiGroupGridHas(ConstHandle2ConstMultiGroup This); + +// --- Get, const +extern_c Handle2ConstGrid +MultiGroupGridGetConst(ConstHandle2ConstMultiGroup This); + +// +++ Get, non-const +extern_c Handle2Grid +MultiGroupGridGet(ConstHandle2MultiGroup This); + +// +++ Set +extern_c void +MultiGroupGridSet(ConstHandle2MultiGroup This, ConstHandle2ConstGrid grid); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.cpp new file mode 100644 index 000000000..d012e5749 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.cpp @@ -0,0 +1,270 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/ProjectileEnergyDomain.hpp" +#include "ProjectileEnergyDomain.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProjectileEnergyDomainClass; +using CPP = multigroup::ProjectileEnergyDomain; + +static const std::string CLASSNAME = "ProjectileEnergyDomain"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto max = [](auto &obj) { return &obj.max; }; + static auto min = [](auto &obj) { return &obj.min; }; + static auto unit = [](auto &obj) { return &obj.unit; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProjectileEnergyDomain +ProjectileEnergyDomainDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ProjectileEnergyDomain +ProjectileEnergyDomainDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProjectileEnergyDomain +ProjectileEnergyDomainCreateConst( + const XMLName label, + const Float64 max, + const Float64 min, + const XMLName unit +) { + ConstHandle2ProjectileEnergyDomain handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + max, + min, + unit + ); + return handle; +} + +// Create, general +Handle2ProjectileEnergyDomain +ProjectileEnergyDomainCreate( + const XMLName label, + const Float64 max, + const Float64 min, + const XMLName unit +) { + ConstHandle2ProjectileEnergyDomain handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + max, + min, + unit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProjectileEnergyDomainAssign(ConstHandle2ProjectileEnergyDomain This, ConstHandle2ConstProjectileEnergyDomain from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProjectileEnergyDomainDelete(ConstHandle2ConstProjectileEnergyDomain This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProjectileEnergyDomainRead(ConstHandle2ProjectileEnergyDomain This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProjectileEnergyDomainWrite(ConstHandle2ConstProjectileEnergyDomain This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProjectileEnergyDomainPrint(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProjectileEnergyDomainPrintXML(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProjectileEnergyDomainPrintJSON(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ProjectileEnergyDomainLabelHas(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ProjectileEnergyDomainLabelGet(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ProjectileEnergyDomainLabelSet(ConstHandle2ProjectileEnergyDomain This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: max +// ----------------------------------------------------------------------------- + +// Has +int +ProjectileEnergyDomainMaxHas(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MaxHas", This, extract::max); +} + +// Get +// Returns by value +Float64 +ProjectileEnergyDomainMaxGet(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MaxGet", This, extract::max); +} + +// Set +void +ProjectileEnergyDomainMaxSet(ConstHandle2ProjectileEnergyDomain This, const Float64 max) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MaxSet", This, extract::max, max); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: min +// ----------------------------------------------------------------------------- + +// Has +int +ProjectileEnergyDomainMinHas(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MinHas", This, extract::min); +} + +// Get +// Returns by value +Float64 +ProjectileEnergyDomainMinGet(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MinGet", This, extract::min); +} + +// Set +void +ProjectileEnergyDomainMinSet(ConstHandle2ProjectileEnergyDomain This, const Float64 min) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MinSet", This, extract::min, min); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +ProjectileEnergyDomainUnitHas(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +ProjectileEnergyDomainUnitGet(ConstHandle2ConstProjectileEnergyDomain This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +ProjectileEnergyDomainUnitSet(ConstHandle2ProjectileEnergyDomain This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.h b/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.h new file mode 100644 index 000000000..5b770e564 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.h @@ -0,0 +1,215 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ProjectileEnergyDomain is the basic handle type in this file. Example: +// // Create a default ProjectileEnergyDomain object: +// ProjectileEnergyDomain handle = ProjectileEnergyDomainDefault(); +// Functions involving ProjectileEnergyDomain are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_PROJECTILEENERGYDOMAIN +#define C_INTERFACE_TRY_V2_0_STYLES_PROJECTILEENERGYDOMAIN + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProjectileEnergyDomainClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ProjectileEnergyDomain +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProjectileEnergyDomainClass *ProjectileEnergyDomain; + +// --- Const-aware handles. +typedef const struct ProjectileEnergyDomainClass *const ConstHandle2ConstProjectileEnergyDomain; +typedef struct ProjectileEnergyDomainClass *const ConstHandle2ProjectileEnergyDomain; +typedef const struct ProjectileEnergyDomainClass * Handle2ConstProjectileEnergyDomain; +typedef struct ProjectileEnergyDomainClass * Handle2ProjectileEnergyDomain; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProjectileEnergyDomain +ProjectileEnergyDomainDefaultConst(); + +// +++ Create, default +extern_c Handle2ProjectileEnergyDomain +ProjectileEnergyDomainDefault(); + +// --- Create, general, const +extern_c Handle2ConstProjectileEnergyDomain +ProjectileEnergyDomainCreateConst( + const XMLName label, + const Float64 max, + const Float64 min, + const XMLName unit +); + +// +++ Create, general +extern_c Handle2ProjectileEnergyDomain +ProjectileEnergyDomainCreate( + const XMLName label, + const Float64 max, + const Float64 min, + const XMLName unit +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProjectileEnergyDomainAssign(ConstHandle2ProjectileEnergyDomain This, ConstHandle2ConstProjectileEnergyDomain from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProjectileEnergyDomainDelete(ConstHandle2ConstProjectileEnergyDomain This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProjectileEnergyDomainRead(ConstHandle2ProjectileEnergyDomain This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProjectileEnergyDomainWrite(ConstHandle2ConstProjectileEnergyDomain This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProjectileEnergyDomainPrint(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Print to standard output, as XML +extern_c int +ProjectileEnergyDomainPrintXML(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Print to standard output, as JSON +extern_c int +ProjectileEnergyDomainPrintJSON(ConstHandle2ConstProjectileEnergyDomain This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProjectileEnergyDomainLabelHas(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProjectileEnergyDomainLabelGet(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Set +extern_c void +ProjectileEnergyDomainLabelSet(ConstHandle2ProjectileEnergyDomain This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: max +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProjectileEnergyDomainMaxHas(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +ProjectileEnergyDomainMaxGet(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Set +extern_c void +ProjectileEnergyDomainMaxSet(ConstHandle2ProjectileEnergyDomain This, const Float64 max); + + +// ----------------------------------------------------------------------------- +// Metadatum: min +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProjectileEnergyDomainMinHas(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +ProjectileEnergyDomainMinGet(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Set +extern_c void +ProjectileEnergyDomainMinSet(ConstHandle2ProjectileEnergyDomain This, const Float64 min); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProjectileEnergyDomainUnitHas(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProjectileEnergyDomainUnitGet(ConstHandle2ConstProjectileEnergyDomain This); + +// +++ Set +extern_c void +ProjectileEnergyDomainUnitSet(ConstHandle2ProjectileEnergyDomain This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.cpp new file mode 100644 index 000000000..e2e885abc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Realization.hpp" +#include "Realization.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RealizationClass; +using CPP = multigroup::Realization; + +static const std::string CLASSNAME = "Realization"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRealization +RealizationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Realization +RealizationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRealization +RealizationCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Realization handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2Realization +RealizationCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Realization handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RealizationAssign(ConstHandle2Realization This, ConstHandle2ConstRealization from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RealizationDelete(ConstHandle2ConstRealization This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RealizationRead(ConstHandle2Realization This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RealizationWrite(ConstHandle2ConstRealization This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RealizationPrint(ConstHandle2ConstRealization This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RealizationPrintXML(ConstHandle2ConstRealization This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RealizationPrintJSON(ConstHandle2ConstRealization This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +RealizationDateHas(ConstHandle2ConstRealization This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +RealizationDateGet(ConstHandle2ConstRealization This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +RealizationDateSet(ConstHandle2Realization This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +RealizationDerivedFromHas(ConstHandle2ConstRealization This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +RealizationDerivedFromGet(ConstHandle2ConstRealization This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +RealizationDerivedFromSet(ConstHandle2Realization This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +RealizationLabelHas(ConstHandle2ConstRealization This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +RealizationLabelGet(ConstHandle2ConstRealization This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +RealizationLabelSet(ConstHandle2Realization This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +RealizationDocumentationHas(ConstHandle2ConstRealization This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +RealizationDocumentationGetConst(ConstHandle2ConstRealization This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +RealizationDocumentationGet(ConstHandle2Realization This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +RealizationDocumentationSet(ConstHandle2Realization This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.h new file mode 100644 index 000000000..511a091fb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Realization is the basic handle type in this file. Example: +// // Create a default Realization object: +// Realization handle = RealizationDefault(); +// Functions involving Realization are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_REALIZATION +#define C_INTERFACE_TRY_V2_0_STYLES_REALIZATION + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RealizationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Realization +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RealizationClass *Realization; + +// --- Const-aware handles. +typedef const struct RealizationClass *const ConstHandle2ConstRealization; +typedef struct RealizationClass *const ConstHandle2Realization; +typedef const struct RealizationClass * Handle2ConstRealization; +typedef struct RealizationClass * Handle2Realization; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRealization +RealizationDefaultConst(); + +// +++ Create, default +extern_c Handle2Realization +RealizationDefault(); + +// --- Create, general, const +extern_c Handle2ConstRealization +RealizationCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2Realization +RealizationCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RealizationAssign(ConstHandle2Realization This, ConstHandle2ConstRealization from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RealizationDelete(ConstHandle2ConstRealization This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RealizationRead(ConstHandle2Realization This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RealizationWrite(ConstHandle2ConstRealization This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RealizationPrint(ConstHandle2ConstRealization This); + +// +++ Print to standard output, as XML +extern_c int +RealizationPrintXML(ConstHandle2ConstRealization This); + +// +++ Print to standard output, as JSON +extern_c int +RealizationPrintJSON(ConstHandle2ConstRealization This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RealizationDateHas(ConstHandle2ConstRealization This); + +// +++ Get +// +++ Returns by value +extern_c const char * +RealizationDateGet(ConstHandle2ConstRealization This); + +// +++ Set +extern_c void +RealizationDateSet(ConstHandle2Realization This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RealizationDerivedFromHas(ConstHandle2ConstRealization This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +RealizationDerivedFromGet(ConstHandle2ConstRealization This); + +// +++ Set +extern_c void +RealizationDerivedFromSet(ConstHandle2Realization This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RealizationLabelHas(ConstHandle2ConstRealization This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +RealizationLabelGet(ConstHandle2ConstRealization This); + +// +++ Set +extern_c void +RealizationLabelSet(ConstHandle2Realization This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RealizationDocumentationHas(ConstHandle2ConstRealization This); + +// --- Get, const +extern_c Handle2ConstDocumentation +RealizationDocumentationGetConst(ConstHandle2ConstRealization This); + +// +++ Get, non-const +extern_c Handle2Documentation +RealizationDocumentationGet(ConstHandle2Realization This); + +// +++ Set +extern_c void +RealizationDocumentationSet(ConstHandle2Realization This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp new file mode 100644 index 000000000..52501b08b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp @@ -0,0 +1,209 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/SigmaZeros.hpp" +#include "SigmaZeros.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SigmaZerosClass; +using CPP = multigroup::SigmaZeros; + +static const std::string CLASSNAME = "SigmaZeros"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPValues = unknownNamespace::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSigmaZeros +SigmaZerosDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2SigmaZeros +SigmaZerosDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSigmaZeros +SigmaZerosCreateConst( + const XMLName label, + ConstHandle2ConstValues values +) { + ConstHandle2SigmaZeros handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2SigmaZeros +SigmaZerosCreate( + const XMLName label, + ConstHandle2ConstValues values +) { + ConstHandle2SigmaZeros handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SigmaZerosAssign(ConstHandle2SigmaZeros This, ConstHandle2ConstSigmaZeros from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SigmaZerosDelete(ConstHandle2ConstSigmaZeros This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SigmaZerosRead(ConstHandle2SigmaZeros This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SigmaZerosWrite(ConstHandle2ConstSigmaZeros This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SigmaZerosPrint(ConstHandle2ConstSigmaZeros This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SigmaZerosPrintXML(ConstHandle2ConstSigmaZeros This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SigmaZerosPrintJSON(ConstHandle2ConstSigmaZeros This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +SigmaZerosLabelHas(ConstHandle2ConstSigmaZeros This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +SigmaZerosLabelGet(ConstHandle2ConstSigmaZeros This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +SigmaZerosLabelSet(ConstHandle2SigmaZeros This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +SigmaZerosValuesHas(ConstHandle2ConstSigmaZeros This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +SigmaZerosValuesGetConst(ConstHandle2ConstSigmaZeros This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +SigmaZerosValuesGet(ConstHandle2SigmaZeros This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +SigmaZerosValuesSet(ConstHandle2SigmaZeros This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h b/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h new file mode 100644 index 000000000..95d545a57 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h @@ -0,0 +1,179 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// SigmaZeros is the basic handle type in this file. Example: +// // Create a default SigmaZeros object: +// SigmaZeros handle = SigmaZerosDefault(); +// Functions involving SigmaZeros are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_SIGMAZEROS +#define C_INTERFACE_TRY_V2_0_STYLES_SIGMAZEROS + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SigmaZerosClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ SigmaZeros +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SigmaZerosClass *SigmaZeros; + +// --- Const-aware handles. +typedef const struct SigmaZerosClass *const ConstHandle2ConstSigmaZeros; +typedef struct SigmaZerosClass *const ConstHandle2SigmaZeros; +typedef const struct SigmaZerosClass * Handle2ConstSigmaZeros; +typedef struct SigmaZerosClass * Handle2SigmaZeros; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSigmaZeros +SigmaZerosDefaultConst(); + +// +++ Create, default +extern_c Handle2SigmaZeros +SigmaZerosDefault(); + +// --- Create, general, const +extern_c Handle2ConstSigmaZeros +SigmaZerosCreateConst( + const XMLName label, + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2SigmaZeros +SigmaZerosCreate( + const XMLName label, + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SigmaZerosAssign(ConstHandle2SigmaZeros This, ConstHandle2ConstSigmaZeros from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SigmaZerosDelete(ConstHandle2ConstSigmaZeros This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SigmaZerosRead(ConstHandle2SigmaZeros This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SigmaZerosWrite(ConstHandle2ConstSigmaZeros This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SigmaZerosPrint(ConstHandle2ConstSigmaZeros This); + +// +++ Print to standard output, as XML +extern_c int +SigmaZerosPrintXML(ConstHandle2ConstSigmaZeros This); + +// +++ Print to standard output, as JSON +extern_c int +SigmaZerosPrintJSON(ConstHandle2ConstSigmaZeros This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SigmaZerosLabelHas(ConstHandle2ConstSigmaZeros This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SigmaZerosLabelGet(ConstHandle2ConstSigmaZeros This); + +// +++ Set +extern_c void +SigmaZerosLabelSet(ConstHandle2SigmaZeros This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SigmaZerosValuesHas(ConstHandle2ConstSigmaZeros This); + +// --- Get, const +extern_c Handle2ConstValues +SigmaZerosValuesGetConst(ConstHandle2ConstSigmaZeros This); + +// +++ Get, non-const +extern_c Handle2Values +SigmaZerosValuesGet(ConstHandle2SigmaZeros This); + +// +++ Set +extern_c void +SigmaZerosValuesSet(ConstHandle2SigmaZeros This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.cpp new file mode 100644 index 000000000..addfde1ec --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.cpp @@ -0,0 +1,314 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/SnElasticUpScatter.hpp" +#include "SnElasticUpScatter.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SnElasticUpScatterClass; +using CPP = multigroup::SnElasticUpScatter; + +static const std::string CLASSNAME = "SnElasticUpScatter"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto upperCalculatedGroup = [](auto &obj) { return &obj.upperCalculatedGroup; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSnElasticUpScatter +SnElasticUpScatterDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2SnElasticUpScatter +SnElasticUpScatterDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSnElasticUpScatter +SnElasticUpScatterCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 upperCalculatedGroup, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2SnElasticUpScatter handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + upperCalculatedGroup, + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2SnElasticUpScatter +SnElasticUpScatterCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 upperCalculatedGroup, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2SnElasticUpScatter handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + upperCalculatedGroup, + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SnElasticUpScatterAssign(ConstHandle2SnElasticUpScatter This, ConstHandle2ConstSnElasticUpScatter from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SnElasticUpScatterDelete(ConstHandle2ConstSnElasticUpScatter This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SnElasticUpScatterRead(ConstHandle2SnElasticUpScatter This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SnElasticUpScatterWrite(ConstHandle2ConstSnElasticUpScatter This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SnElasticUpScatterPrint(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SnElasticUpScatterPrintXML(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SnElasticUpScatterPrintJSON(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +SnElasticUpScatterDateHas(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +SnElasticUpScatterDateGet(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +SnElasticUpScatterDateSet(ConstHandle2SnElasticUpScatter This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +SnElasticUpScatterDerivedFromHas(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +SnElasticUpScatterDerivedFromGet(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +SnElasticUpScatterDerivedFromSet(ConstHandle2SnElasticUpScatter This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +SnElasticUpScatterLabelHas(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +SnElasticUpScatterLabelGet(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +SnElasticUpScatterLabelSet(ConstHandle2SnElasticUpScatter This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: upperCalculatedGroup +// ----------------------------------------------------------------------------- + +// Has +int +SnElasticUpScatterUpperCalculatedGroupHas(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UpperCalculatedGroupHas", This, extract::upperCalculatedGroup); +} + +// Get +// Returns by value +Integer32 +SnElasticUpScatterUpperCalculatedGroupGet(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UpperCalculatedGroupGet", This, extract::upperCalculatedGroup); +} + +// Set +void +SnElasticUpScatterUpperCalculatedGroupSet(ConstHandle2SnElasticUpScatter This, const Integer32 upperCalculatedGroup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UpperCalculatedGroupSet", This, extract::upperCalculatedGroup, upperCalculatedGroup); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +SnElasticUpScatterDocumentationHas(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +SnElasticUpScatterDocumentationGetConst(ConstHandle2ConstSnElasticUpScatter This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +SnElasticUpScatterDocumentationGet(ConstHandle2SnElasticUpScatter This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +SnElasticUpScatterDocumentationSet(ConstHandle2SnElasticUpScatter This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.h b/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.h new file mode 100644 index 000000000..16cad9b33 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.h @@ -0,0 +1,239 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// SnElasticUpScatter is the basic handle type in this file. Example: +// // Create a default SnElasticUpScatter object: +// SnElasticUpScatter handle = SnElasticUpScatterDefault(); +// Functions involving SnElasticUpScatter are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_SNELASTICUPSCATTER +#define C_INTERFACE_TRY_V2_0_STYLES_SNELASTICUPSCATTER + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SnElasticUpScatterClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ SnElasticUpScatter +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SnElasticUpScatterClass *SnElasticUpScatter; + +// --- Const-aware handles. +typedef const struct SnElasticUpScatterClass *const ConstHandle2ConstSnElasticUpScatter; +typedef struct SnElasticUpScatterClass *const ConstHandle2SnElasticUpScatter; +typedef const struct SnElasticUpScatterClass * Handle2ConstSnElasticUpScatter; +typedef struct SnElasticUpScatterClass * Handle2SnElasticUpScatter; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSnElasticUpScatter +SnElasticUpScatterDefaultConst(); + +// +++ Create, default +extern_c Handle2SnElasticUpScatter +SnElasticUpScatterDefault(); + +// --- Create, general, const +extern_c Handle2ConstSnElasticUpScatter +SnElasticUpScatterCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 upperCalculatedGroup, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2SnElasticUpScatter +SnElasticUpScatterCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + const Integer32 upperCalculatedGroup, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SnElasticUpScatterAssign(ConstHandle2SnElasticUpScatter This, ConstHandle2ConstSnElasticUpScatter from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SnElasticUpScatterDelete(ConstHandle2ConstSnElasticUpScatter This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SnElasticUpScatterRead(ConstHandle2SnElasticUpScatter This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SnElasticUpScatterWrite(ConstHandle2ConstSnElasticUpScatter This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SnElasticUpScatterPrint(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Print to standard output, as XML +extern_c int +SnElasticUpScatterPrintXML(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Print to standard output, as JSON +extern_c int +SnElasticUpScatterPrintJSON(ConstHandle2ConstSnElasticUpScatter This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SnElasticUpScatterDateHas(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Get +// +++ Returns by value +extern_c const char * +SnElasticUpScatterDateGet(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Set +extern_c void +SnElasticUpScatterDateSet(ConstHandle2SnElasticUpScatter This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SnElasticUpScatterDerivedFromHas(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SnElasticUpScatterDerivedFromGet(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Set +extern_c void +SnElasticUpScatterDerivedFromSet(ConstHandle2SnElasticUpScatter This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SnElasticUpScatterLabelHas(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +SnElasticUpScatterLabelGet(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Set +extern_c void +SnElasticUpScatterLabelSet(ConstHandle2SnElasticUpScatter This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: upperCalculatedGroup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SnElasticUpScatterUpperCalculatedGroupHas(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +SnElasticUpScatterUpperCalculatedGroupGet(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Set +extern_c void +SnElasticUpScatterUpperCalculatedGroupSet(ConstHandle2SnElasticUpScatter This, const Integer32 upperCalculatedGroup); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SnElasticUpScatterDocumentationHas(ConstHandle2ConstSnElasticUpScatter This); + +// --- Get, const +extern_c Handle2ConstDocumentation +SnElasticUpScatterDocumentationGetConst(ConstHandle2ConstSnElasticUpScatter This); + +// +++ Get, non-const +extern_c Handle2Documentation +SnElasticUpScatterDocumentationGet(ConstHandle2SnElasticUpScatter This); + +// +++ Set +extern_c void +SnElasticUpScatterDocumentationSet(ConstHandle2SnElasticUpScatter This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.cpp new file mode 100644 index 000000000..e71ee7815 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.cpp @@ -0,0 +1,2610 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Styles.hpp" +#include "Styles.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = StylesClass; +using CPP = multigroup::Styles; + +static const std::string CLASSNAME = "Styles"; + +namespace extract { + static auto evaluated = [](auto &obj) { return &obj.evaluated; }; + static auto crossSectionReconstructed = [](auto &obj) { return &obj.crossSectionReconstructed; }; + static auto angularDistributionReconstructed = [](auto &obj) { return &obj.angularDistributionReconstructed; }; + static auto CoulombPlusNuclearElasticMuCutoff = [](auto &obj) { return &obj.CoulombPlusNuclearElasticMuCutoff; }; + static auto heated = [](auto &obj) { return &obj.heated; }; + static auto averageProductData = [](auto &obj) { return &obj.averageProductData; }; + static auto MonteCarlo_cdf = [](auto &obj) { return &obj.MonteCarlo_cdf; }; + static auto griddedCrossSection = [](auto &obj) { return &obj.griddedCrossSection; }; + static auto URR_probabilityTables = [](auto &obj) { return &obj.URR_probabilityTables; }; + static auto heatedMultiGroup = [](auto &obj) { return &obj.heatedMultiGroup; }; + static auto SnElasticUpScatter = [](auto &obj) { return &obj.SnElasticUpScatter; }; +} + +using CPPEvaluated = styles::Evaluated; +using CPPCrossSectionReconstructed = styles::CrossSectionReconstructed; +using CPPAngularDistributionReconstructed = styles::AngularDistributionReconstructed; +using CPPCoulombPlusNuclearElasticMuCutoff = styles::CoulombPlusNuclearElasticMuCutoff; +using CPPHeated = styles::Heated; +using CPPAverageProductData = styles::AverageProductData; +using CPPMonteCarlo_cdf = styles::MonteCarlo_cdf; +using CPPGriddedCrossSection = styles::GriddedCrossSection; +using CPPURR_probabilityTables = styles::URR_probabilityTables; +using CPPHeatedMultiGroup = styles::HeatedMultiGroup; +using CPPSnElasticUpScatter = styles::SnElasticUpScatter; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstStyles +StylesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Styles +StylesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstStyles +StylesCreateConst( + ConstHandle2Evaluated *const evaluated, const size_t evaluatedSize, + ConstHandle2CrossSectionReconstructed *const crossSectionReconstructed, const size_t crossSectionReconstructedSize, + ConstHandle2AngularDistributionReconstructed *const angularDistributionReconstructed, const size_t angularDistributionReconstructedSize, + ConstHandle2CoulombPlusNuclearElasticMuCutoff *const CoulombPlusNuclearElasticMuCutoff, const size_t CoulombPlusNuclearElasticMuCutoffSize, + ConstHandle2Heated *const heated, const size_t heatedSize, + ConstHandle2AverageProductData *const averageProductData, const size_t averageProductDataSize, + ConstHandle2MonteCarlo_cdf *const MonteCarlo_cdf, const size_t MonteCarlo_cdfSize, + ConstHandle2GriddedCrossSection *const griddedCrossSection, const size_t griddedCrossSectionSize, + ConstHandle2URR_probabilityTables *const URR_probabilityTables, const size_t URR_probabilityTablesSize, + ConstHandle2HeatedMultiGroup *const heatedMultiGroup, const size_t heatedMultiGroupSize, + ConstHandle2SnElasticUpScatter *const SnElasticUpScatter, const size_t SnElasticUpScatterSize +) { + ConstHandle2Styles handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{} + ); + for (size_t EvaluatedN = 0; EvaluatedN < evaluatedSize; ++EvaluatedN) + StylesEvaluatedAdd(handle, evaluated[EvaluatedN]); + for (size_t CrossSectionReconstructedN = 0; CrossSectionReconstructedN < crossSectionReconstructedSize; ++CrossSectionReconstructedN) + StylesCrossSectionReconstructedAdd(handle, crossSectionReconstructed[CrossSectionReconstructedN]); + for (size_t AngularDistributionReconstructedN = 0; AngularDistributionReconstructedN < angularDistributionReconstructedSize; ++AngularDistributionReconstructedN) + StylesAngularDistributionReconstructedAdd(handle, angularDistributionReconstructed[AngularDistributionReconstructedN]); + for (size_t CoulombPlusNuclearElasticMuCutoffN = 0; CoulombPlusNuclearElasticMuCutoffN < CoulombPlusNuclearElasticMuCutoffSize; ++CoulombPlusNuclearElasticMuCutoffN) + StylesCoulombPlusNuclearElasticMuCutoffAdd(handle, CoulombPlusNuclearElasticMuCutoff[CoulombPlusNuclearElasticMuCutoffN]); + for (size_t HeatedN = 0; HeatedN < heatedSize; ++HeatedN) + StylesHeatedAdd(handle, heated[HeatedN]); + for (size_t AverageProductDataN = 0; AverageProductDataN < averageProductDataSize; ++AverageProductDataN) + StylesAverageProductDataAdd(handle, averageProductData[AverageProductDataN]); + for (size_t MonteCarlo_cdfN = 0; MonteCarlo_cdfN < MonteCarlo_cdfSize; ++MonteCarlo_cdfN) + StylesMonteCarlo_cdfAdd(handle, MonteCarlo_cdf[MonteCarlo_cdfN]); + for (size_t GriddedCrossSectionN = 0; GriddedCrossSectionN < griddedCrossSectionSize; ++GriddedCrossSectionN) + StylesGriddedCrossSectionAdd(handle, griddedCrossSection[GriddedCrossSectionN]); + for (size_t URR_probabilityTablesN = 0; URR_probabilityTablesN < URR_probabilityTablesSize; ++URR_probabilityTablesN) + StylesURR_probabilityTablesAdd(handle, URR_probabilityTables[URR_probabilityTablesN]); + for (size_t HeatedMultiGroupN = 0; HeatedMultiGroupN < heatedMultiGroupSize; ++HeatedMultiGroupN) + StylesHeatedMultiGroupAdd(handle, heatedMultiGroup[HeatedMultiGroupN]); + for (size_t SnElasticUpScatterN = 0; SnElasticUpScatterN < SnElasticUpScatterSize; ++SnElasticUpScatterN) + StylesSnElasticUpScatterAdd(handle, SnElasticUpScatter[SnElasticUpScatterN]); + return handle; +} + +// Create, general +Handle2Styles +StylesCreate( + ConstHandle2Evaluated *const evaluated, const size_t evaluatedSize, + ConstHandle2CrossSectionReconstructed *const crossSectionReconstructed, const size_t crossSectionReconstructedSize, + ConstHandle2AngularDistributionReconstructed *const angularDistributionReconstructed, const size_t angularDistributionReconstructedSize, + ConstHandle2CoulombPlusNuclearElasticMuCutoff *const CoulombPlusNuclearElasticMuCutoff, const size_t CoulombPlusNuclearElasticMuCutoffSize, + ConstHandle2Heated *const heated, const size_t heatedSize, + ConstHandle2AverageProductData *const averageProductData, const size_t averageProductDataSize, + ConstHandle2MonteCarlo_cdf *const MonteCarlo_cdf, const size_t MonteCarlo_cdfSize, + ConstHandle2GriddedCrossSection *const griddedCrossSection, const size_t griddedCrossSectionSize, + ConstHandle2URR_probabilityTables *const URR_probabilityTables, const size_t URR_probabilityTablesSize, + ConstHandle2HeatedMultiGroup *const heatedMultiGroup, const size_t heatedMultiGroupSize, + ConstHandle2SnElasticUpScatter *const SnElasticUpScatter, const size_t SnElasticUpScatterSize +) { + ConstHandle2Styles handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{}, + std::vector{} + ); + for (size_t EvaluatedN = 0; EvaluatedN < evaluatedSize; ++EvaluatedN) + StylesEvaluatedAdd(handle, evaluated[EvaluatedN]); + for (size_t CrossSectionReconstructedN = 0; CrossSectionReconstructedN < crossSectionReconstructedSize; ++CrossSectionReconstructedN) + StylesCrossSectionReconstructedAdd(handle, crossSectionReconstructed[CrossSectionReconstructedN]); + for (size_t AngularDistributionReconstructedN = 0; AngularDistributionReconstructedN < angularDistributionReconstructedSize; ++AngularDistributionReconstructedN) + StylesAngularDistributionReconstructedAdd(handle, angularDistributionReconstructed[AngularDistributionReconstructedN]); + for (size_t CoulombPlusNuclearElasticMuCutoffN = 0; CoulombPlusNuclearElasticMuCutoffN < CoulombPlusNuclearElasticMuCutoffSize; ++CoulombPlusNuclearElasticMuCutoffN) + StylesCoulombPlusNuclearElasticMuCutoffAdd(handle, CoulombPlusNuclearElasticMuCutoff[CoulombPlusNuclearElasticMuCutoffN]); + for (size_t HeatedN = 0; HeatedN < heatedSize; ++HeatedN) + StylesHeatedAdd(handle, heated[HeatedN]); + for (size_t AverageProductDataN = 0; AverageProductDataN < averageProductDataSize; ++AverageProductDataN) + StylesAverageProductDataAdd(handle, averageProductData[AverageProductDataN]); + for (size_t MonteCarlo_cdfN = 0; MonteCarlo_cdfN < MonteCarlo_cdfSize; ++MonteCarlo_cdfN) + StylesMonteCarlo_cdfAdd(handle, MonteCarlo_cdf[MonteCarlo_cdfN]); + for (size_t GriddedCrossSectionN = 0; GriddedCrossSectionN < griddedCrossSectionSize; ++GriddedCrossSectionN) + StylesGriddedCrossSectionAdd(handle, griddedCrossSection[GriddedCrossSectionN]); + for (size_t URR_probabilityTablesN = 0; URR_probabilityTablesN < URR_probabilityTablesSize; ++URR_probabilityTablesN) + StylesURR_probabilityTablesAdd(handle, URR_probabilityTables[URR_probabilityTablesN]); + for (size_t HeatedMultiGroupN = 0; HeatedMultiGroupN < heatedMultiGroupSize; ++HeatedMultiGroupN) + StylesHeatedMultiGroupAdd(handle, heatedMultiGroup[HeatedMultiGroupN]); + for (size_t SnElasticUpScatterN = 0; SnElasticUpScatterN < SnElasticUpScatterSize; ++SnElasticUpScatterN) + StylesSnElasticUpScatterAdd(handle, SnElasticUpScatter[SnElasticUpScatterN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +StylesAssign(ConstHandle2Styles This, ConstHandle2ConstStyles from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +StylesDelete(ConstHandle2ConstStyles This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +StylesRead(ConstHandle2Styles This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +StylesWrite(ConstHandle2ConstStyles This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +StylesPrint(ConstHandle2ConstStyles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +StylesPrintXML(ConstHandle2ConstStyles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +StylesPrintJSON(ConstHandle2ConstStyles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: evaluated +// ----------------------------------------------------------------------------- + +// Has +int +StylesEvaluatedHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaluatedHas", This, extract::evaluated); +} + +// Clear +void +StylesEvaluatedClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"EvaluatedClear", This, extract::evaluated); +} + +// Size +size_t +StylesEvaluatedSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"EvaluatedSize", This, extract::evaluated); +} + +// Add +void +StylesEvaluatedAdd(ConstHandle2Styles This, ConstHandle2ConstEvaluated evaluated) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"EvaluatedAdd", This, extract::evaluated, evaluated); +} + +// Get, by index \in [0,size), const +Handle2ConstEvaluated +StylesEvaluatedGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"EvaluatedGetConst", This, extract::evaluated, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Evaluated +StylesEvaluatedGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"EvaluatedGet", This, extract::evaluated, index_); +} + +// Set, by index \in [0,size) +void +StylesEvaluatedSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstEvaluated evaluated +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"EvaluatedSet", This, extract::evaluated, index_, evaluated); +} + +// Has, by date +int +StylesEvaluatedHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedHasByDate", + This, extract::evaluated, meta::date, date); +} + +// Get, by date, const +Handle2ConstEvaluated +StylesEvaluatedGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByDateConst", + This, extract::evaluated, meta::date, date); +} + +// Get, by date, non-const +Handle2Evaluated +StylesEvaluatedGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByDate", + This, extract::evaluated, meta::date, date); +} + +// Set, by date +void +StylesEvaluatedSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstEvaluated evaluated +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedSetByDate", + This, extract::evaluated, meta::date, date, evaluated); +} + +// Has, by label +int +StylesEvaluatedHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedHasByLabel", + This, extract::evaluated, meta::label, label); +} + +// Get, by label, const +Handle2ConstEvaluated +StylesEvaluatedGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByLabelConst", + This, extract::evaluated, meta::label, label); +} + +// Get, by label, non-const +Handle2Evaluated +StylesEvaluatedGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByLabel", + This, extract::evaluated, meta::label, label); +} + +// Set, by label +void +StylesEvaluatedSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstEvaluated evaluated +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedSetByLabel", + This, extract::evaluated, meta::label, label, evaluated); +} + +// Has, by derivedFrom +int +StylesEvaluatedHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedHasByDerivedFrom", + This, extract::evaluated, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstEvaluated +StylesEvaluatedGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByDerivedFromConst", + This, extract::evaluated, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2Evaluated +StylesEvaluatedGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByDerivedFrom", + This, extract::evaluated, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesEvaluatedSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstEvaluated evaluated +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedSetByDerivedFrom", + This, extract::evaluated, meta::derivedFrom, derivedFrom, evaluated); +} + +// Has, by library +int +StylesEvaluatedHasByLibrary( + ConstHandle2ConstStyles This, + const XMLName library +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedHasByLibrary", + This, extract::evaluated, meta::library, library); +} + +// Get, by library, const +Handle2ConstEvaluated +StylesEvaluatedGetByLibraryConst( + ConstHandle2ConstStyles This, + const XMLName library +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByLibraryConst", + This, extract::evaluated, meta::library, library); +} + +// Get, by library, non-const +Handle2Evaluated +StylesEvaluatedGetByLibrary( + ConstHandle2Styles This, + const XMLName library +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByLibrary", + This, extract::evaluated, meta::library, library); +} + +// Set, by library +void +StylesEvaluatedSetByLibrary( + ConstHandle2Styles This, + const XMLName library, + ConstHandle2ConstEvaluated evaluated +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedSetByLibrary", + This, extract::evaluated, meta::library, library, evaluated); +} + +// Has, by version +int +StylesEvaluatedHasByVersion( + ConstHandle2ConstStyles This, + const XMLName version +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedHasByVersion", + This, extract::evaluated, meta::version, version); +} + +// Get, by version, const +Handle2ConstEvaluated +StylesEvaluatedGetByVersionConst( + ConstHandle2ConstStyles This, + const XMLName version +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByVersionConst", + This, extract::evaluated, meta::version, version); +} + +// Get, by version, non-const +Handle2Evaluated +StylesEvaluatedGetByVersion( + ConstHandle2Styles This, + const XMLName version +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedGetByVersion", + This, extract::evaluated, meta::version, version); +} + +// Set, by version +void +StylesEvaluatedSetByVersion( + ConstHandle2Styles This, + const XMLName version, + ConstHandle2ConstEvaluated evaluated +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"EvaluatedSetByVersion", + This, extract::evaluated, meta::version, version, evaluated); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSectionReconstructed +// ----------------------------------------------------------------------------- + +// Has +int +StylesCrossSectionReconstructedHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedHas", This, extract::crossSectionReconstructed); +} + +// Clear +void +StylesCrossSectionReconstructedClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedClear", This, extract::crossSectionReconstructed); +} + +// Size +size_t +StylesCrossSectionReconstructedSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedSize", This, extract::crossSectionReconstructed); +} + +// Add +void +StylesCrossSectionReconstructedAdd(ConstHandle2Styles This, ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedAdd", This, extract::crossSectionReconstructed, crossSectionReconstructed); +} + +// Get, by index \in [0,size), const +Handle2ConstCrossSectionReconstructed +StylesCrossSectionReconstructedGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedGetConst", This, extract::crossSectionReconstructed, index_); +} + +// Get, by index \in [0,size), non-const +Handle2CrossSectionReconstructed +StylesCrossSectionReconstructedGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedGet", This, extract::crossSectionReconstructed, index_); +} + +// Set, by index \in [0,size) +void +StylesCrossSectionReconstructedSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedSet", This, extract::crossSectionReconstructed, index_, crossSectionReconstructed); +} + +// Has, by date +int +StylesCrossSectionReconstructedHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedHasByDate", + This, extract::crossSectionReconstructed, meta::date, date); +} + +// Get, by date, const +Handle2ConstCrossSectionReconstructed +StylesCrossSectionReconstructedGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedGetByDateConst", + This, extract::crossSectionReconstructed, meta::date, date); +} + +// Get, by date, non-const +Handle2CrossSectionReconstructed +StylesCrossSectionReconstructedGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedGetByDate", + This, extract::crossSectionReconstructed, meta::date, date); +} + +// Set, by date +void +StylesCrossSectionReconstructedSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedSetByDate", + This, extract::crossSectionReconstructed, meta::date, date, crossSectionReconstructed); +} + +// Has, by label +int +StylesCrossSectionReconstructedHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedHasByLabel", + This, extract::crossSectionReconstructed, meta::label, label); +} + +// Get, by label, const +Handle2ConstCrossSectionReconstructed +StylesCrossSectionReconstructedGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedGetByLabelConst", + This, extract::crossSectionReconstructed, meta::label, label); +} + +// Get, by label, non-const +Handle2CrossSectionReconstructed +StylesCrossSectionReconstructedGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedGetByLabel", + This, extract::crossSectionReconstructed, meta::label, label); +} + +// Set, by label +void +StylesCrossSectionReconstructedSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedSetByLabel", + This, extract::crossSectionReconstructed, meta::label, label, crossSectionReconstructed); +} + +// Has, by derivedFrom +int +StylesCrossSectionReconstructedHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedHasByDerivedFrom", + This, extract::crossSectionReconstructed, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstCrossSectionReconstructed +StylesCrossSectionReconstructedGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedGetByDerivedFromConst", + This, extract::crossSectionReconstructed, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2CrossSectionReconstructed +StylesCrossSectionReconstructedGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedGetByDerivedFrom", + This, extract::crossSectionReconstructed, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesCrossSectionReconstructedSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionReconstructedSetByDerivedFrom", + This, extract::crossSectionReconstructed, meta::derivedFrom, derivedFrom, crossSectionReconstructed); +} + + +// ----------------------------------------------------------------------------- +// Child: angularDistributionReconstructed +// ----------------------------------------------------------------------------- + +// Has +int +StylesAngularDistributionReconstructedHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedHas", This, extract::angularDistributionReconstructed); +} + +// Clear +void +StylesAngularDistributionReconstructedClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedClear", This, extract::angularDistributionReconstructed); +} + +// Size +size_t +StylesAngularDistributionReconstructedSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedSize", This, extract::angularDistributionReconstructed); +} + +// Add +void +StylesAngularDistributionReconstructedAdd(ConstHandle2Styles This, ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedAdd", This, extract::angularDistributionReconstructed, angularDistributionReconstructed); +} + +// Get, by index \in [0,size), const +Handle2ConstAngularDistributionReconstructed +StylesAngularDistributionReconstructedGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedGetConst", This, extract::angularDistributionReconstructed, index_); +} + +// Get, by index \in [0,size), non-const +Handle2AngularDistributionReconstructed +StylesAngularDistributionReconstructedGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedGet", This, extract::angularDistributionReconstructed, index_); +} + +// Set, by index \in [0,size) +void +StylesAngularDistributionReconstructedSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedSet", This, extract::angularDistributionReconstructed, index_, angularDistributionReconstructed); +} + +// Has, by date +int +StylesAngularDistributionReconstructedHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedHasByDate", + This, extract::angularDistributionReconstructed, meta::date, date); +} + +// Get, by date, const +Handle2ConstAngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedGetByDateConst", + This, extract::angularDistributionReconstructed, meta::date, date); +} + +// Get, by date, non-const +Handle2AngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedGetByDate", + This, extract::angularDistributionReconstructed, meta::date, date); +} + +// Set, by date +void +StylesAngularDistributionReconstructedSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedSetByDate", + This, extract::angularDistributionReconstructed, meta::date, date, angularDistributionReconstructed); +} + +// Has, by label +int +StylesAngularDistributionReconstructedHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedHasByLabel", + This, extract::angularDistributionReconstructed, meta::label, label); +} + +// Get, by label, const +Handle2ConstAngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedGetByLabelConst", + This, extract::angularDistributionReconstructed, meta::label, label); +} + +// Get, by label, non-const +Handle2AngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedGetByLabel", + This, extract::angularDistributionReconstructed, meta::label, label); +} + +// Set, by label +void +StylesAngularDistributionReconstructedSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedSetByLabel", + This, extract::angularDistributionReconstructed, meta::label, label, angularDistributionReconstructed); +} + +// Has, by derivedFrom +int +StylesAngularDistributionReconstructedHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedHasByDerivedFrom", + This, extract::angularDistributionReconstructed, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstAngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedGetByDerivedFromConst", + This, extract::angularDistributionReconstructed, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2AngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedGetByDerivedFrom", + This, extract::angularDistributionReconstructed, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesAngularDistributionReconstructedSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AngularDistributionReconstructedSetByDerivedFrom", + This, extract::angularDistributionReconstructed, meta::derivedFrom, derivedFrom, angularDistributionReconstructed); +} + + +// ----------------------------------------------------------------------------- +// Child: CoulombPlusNuclearElasticMuCutoff +// ----------------------------------------------------------------------------- + +// Has +int +StylesCoulombPlusNuclearElasticMuCutoffHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffHas", This, extract::CoulombPlusNuclearElasticMuCutoff); +} + +// Clear +void +StylesCoulombPlusNuclearElasticMuCutoffClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffClear", This, extract::CoulombPlusNuclearElasticMuCutoff); +} + +// Size +size_t +StylesCoulombPlusNuclearElasticMuCutoffSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffSize", This, extract::CoulombPlusNuclearElasticMuCutoff); +} + +// Add +void +StylesCoulombPlusNuclearElasticMuCutoffAdd(ConstHandle2Styles This, ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffAdd", This, extract::CoulombPlusNuclearElasticMuCutoff, CoulombPlusNuclearElasticMuCutoff); +} + +// Get, by index \in [0,size), const +Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetConst", This, extract::CoulombPlusNuclearElasticMuCutoff, index_); +} + +// Get, by index \in [0,size), non-const +Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGet", This, extract::CoulombPlusNuclearElasticMuCutoff, index_); +} + +// Set, by index \in [0,size) +void +StylesCoulombPlusNuclearElasticMuCutoffSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffSet", This, extract::CoulombPlusNuclearElasticMuCutoff, index_, CoulombPlusNuclearElasticMuCutoff); +} + +// Has, by date +int +StylesCoulombPlusNuclearElasticMuCutoffHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffHasByDate", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::date, date); +} + +// Get, by date, const +Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetByDateConst", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::date, date); +} + +// Get, by date, non-const +Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetByDate", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::date, date); +} + +// Set, by date +void +StylesCoulombPlusNuclearElasticMuCutoffSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffSetByDate", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::date, date, CoulombPlusNuclearElasticMuCutoff); +} + +// Has, by derivedFrom +int +StylesCoulombPlusNuclearElasticMuCutoffHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffHasByDerivedFrom", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetByDerivedFromConst", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetByDerivedFrom", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesCoulombPlusNuclearElasticMuCutoffSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffSetByDerivedFrom", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::derivedFrom, derivedFrom, CoulombPlusNuclearElasticMuCutoff); +} + +// Has, by label +int +StylesCoulombPlusNuclearElasticMuCutoffHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffHasByLabel", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::label, label); +} + +// Get, by label, const +Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetByLabelConst", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::label, label); +} + +// Get, by label, non-const +Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetByLabel", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::label, label); +} + +// Set, by label +void +StylesCoulombPlusNuclearElasticMuCutoffSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffSetByLabel", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::label, label, CoulombPlusNuclearElasticMuCutoff); +} + +// Has, by muCutoff +int +StylesCoulombPlusNuclearElasticMuCutoffHasByMuCutoff( + ConstHandle2ConstStyles This, + const Float64 muCutoff +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffHasByMuCutoff", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::muCutoff, muCutoff); +} + +// Get, by muCutoff, const +Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByMuCutoffConst( + ConstHandle2ConstStyles This, + const Float64 muCutoff +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetByMuCutoffConst", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::muCutoff, muCutoff); +} + +// Get, by muCutoff, non-const +Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByMuCutoff( + ConstHandle2Styles This, + const Float64 muCutoff +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffGetByMuCutoff", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::muCutoff, muCutoff); +} + +// Set, by muCutoff +void +StylesCoulombPlusNuclearElasticMuCutoffSetByMuCutoff( + ConstHandle2Styles This, + const Float64 muCutoff, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticMuCutoffSetByMuCutoff", + This, extract::CoulombPlusNuclearElasticMuCutoff, meta::muCutoff, muCutoff, CoulombPlusNuclearElasticMuCutoff); +} + + +// ----------------------------------------------------------------------------- +// Child: heated +// ----------------------------------------------------------------------------- + +// Has +int +StylesHeatedHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HeatedHas", This, extract::heated); +} + +// Clear +void +StylesHeatedClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"HeatedClear", This, extract::heated); +} + +// Size +size_t +StylesHeatedSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"HeatedSize", This, extract::heated); +} + +// Add +void +StylesHeatedAdd(ConstHandle2Styles This, ConstHandle2ConstHeated heated) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"HeatedAdd", This, extract::heated, heated); +} + +// Get, by index \in [0,size), const +Handle2ConstHeated +StylesHeatedGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"HeatedGetConst", This, extract::heated, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Heated +StylesHeatedGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"HeatedGet", This, extract::heated, index_); +} + +// Set, by index \in [0,size) +void +StylesHeatedSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstHeated heated +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"HeatedSet", This, extract::heated, index_, heated); +} + +// Has, by date +int +StylesHeatedHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"HeatedHasByDate", + This, extract::heated, meta::date, date); +} + +// Get, by date, const +Handle2ConstHeated +StylesHeatedGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedGetByDateConst", + This, extract::heated, meta::date, date); +} + +// Get, by date, non-const +Handle2Heated +StylesHeatedGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedGetByDate", + This, extract::heated, meta::date, date); +} + +// Set, by date +void +StylesHeatedSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstHeated heated +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"HeatedSetByDate", + This, extract::heated, meta::date, date, heated); +} + +// Has, by derivedFrom +int +StylesHeatedHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"HeatedHasByDerivedFrom", + This, extract::heated, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstHeated +StylesHeatedGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedGetByDerivedFromConst", + This, extract::heated, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2Heated +StylesHeatedGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedGetByDerivedFrom", + This, extract::heated, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesHeatedSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstHeated heated +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"HeatedSetByDerivedFrom", + This, extract::heated, meta::derivedFrom, derivedFrom, heated); +} + +// Has, by label +int +StylesHeatedHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"HeatedHasByLabel", + This, extract::heated, meta::label, label); +} + +// Get, by label, const +Handle2ConstHeated +StylesHeatedGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedGetByLabelConst", + This, extract::heated, meta::label, label); +} + +// Get, by label, non-const +Handle2Heated +StylesHeatedGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedGetByLabel", + This, extract::heated, meta::label, label); +} + +// Set, by label +void +StylesHeatedSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstHeated heated +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"HeatedSetByLabel", + This, extract::heated, meta::label, label, heated); +} + + +// ----------------------------------------------------------------------------- +// Child: averageProductData +// ----------------------------------------------------------------------------- + +// Has +int +StylesAverageProductDataHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AverageProductDataHas", This, extract::averageProductData); +} + +// Clear +void +StylesAverageProductDataClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AverageProductDataClear", This, extract::averageProductData); +} + +// Size +size_t +StylesAverageProductDataSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AverageProductDataSize", This, extract::averageProductData); +} + +// Add +void +StylesAverageProductDataAdd(ConstHandle2Styles This, ConstHandle2ConstAverageProductData averageProductData) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AverageProductDataAdd", This, extract::averageProductData, averageProductData); +} + +// Get, by index \in [0,size), const +Handle2ConstAverageProductData +StylesAverageProductDataGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AverageProductDataGetConst", This, extract::averageProductData, index_); +} + +// Get, by index \in [0,size), non-const +Handle2AverageProductData +StylesAverageProductDataGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AverageProductDataGet", This, extract::averageProductData, index_); +} + +// Set, by index \in [0,size) +void +StylesAverageProductDataSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstAverageProductData averageProductData +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AverageProductDataSet", This, extract::averageProductData, index_, averageProductData); +} + +// Has, by date +int +StylesAverageProductDataHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataHasByDate", + This, extract::averageProductData, meta::date, date); +} + +// Get, by date, const +Handle2ConstAverageProductData +StylesAverageProductDataGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataGetByDateConst", + This, extract::averageProductData, meta::date, date); +} + +// Get, by date, non-const +Handle2AverageProductData +StylesAverageProductDataGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataGetByDate", + This, extract::averageProductData, meta::date, date); +} + +// Set, by date +void +StylesAverageProductDataSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstAverageProductData averageProductData +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataSetByDate", + This, extract::averageProductData, meta::date, date, averageProductData); +} + +// Has, by label +int +StylesAverageProductDataHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataHasByLabel", + This, extract::averageProductData, meta::label, label); +} + +// Get, by label, const +Handle2ConstAverageProductData +StylesAverageProductDataGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataGetByLabelConst", + This, extract::averageProductData, meta::label, label); +} + +// Get, by label, non-const +Handle2AverageProductData +StylesAverageProductDataGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataGetByLabel", + This, extract::averageProductData, meta::label, label); +} + +// Set, by label +void +StylesAverageProductDataSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstAverageProductData averageProductData +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataSetByLabel", + This, extract::averageProductData, meta::label, label, averageProductData); +} + +// Has, by derivedFrom +int +StylesAverageProductDataHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataHasByDerivedFrom", + This, extract::averageProductData, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstAverageProductData +StylesAverageProductDataGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataGetByDerivedFromConst", + This, extract::averageProductData, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2AverageProductData +StylesAverageProductDataGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataGetByDerivedFrom", + This, extract::averageProductData, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesAverageProductDataSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstAverageProductData averageProductData +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AverageProductDataSetByDerivedFrom", + This, extract::averageProductData, meta::derivedFrom, derivedFrom, averageProductData); +} + + +// ----------------------------------------------------------------------------- +// Child: MonteCarlo_cdf +// ----------------------------------------------------------------------------- + +// Has +int +StylesMonteCarlo_cdfHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfHas", This, extract::MonteCarlo_cdf); +} + +// Clear +void +StylesMonteCarlo_cdfClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfClear", This, extract::MonteCarlo_cdf); +} + +// Size +size_t +StylesMonteCarlo_cdfSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfSize", This, extract::MonteCarlo_cdf); +} + +// Add +void +StylesMonteCarlo_cdfAdd(ConstHandle2Styles This, ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfAdd", This, extract::MonteCarlo_cdf, MonteCarlo_cdf); +} + +// Get, by index \in [0,size), const +Handle2ConstMonteCarlo_cdf +StylesMonteCarlo_cdfGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfGetConst", This, extract::MonteCarlo_cdf, index_); +} + +// Get, by index \in [0,size), non-const +Handle2MonteCarlo_cdf +StylesMonteCarlo_cdfGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfGet", This, extract::MonteCarlo_cdf, index_); +} + +// Set, by index \in [0,size) +void +StylesMonteCarlo_cdfSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfSet", This, extract::MonteCarlo_cdf, index_, MonteCarlo_cdf); +} + +// Has, by date +int +StylesMonteCarlo_cdfHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfHasByDate", + This, extract::MonteCarlo_cdf, meta::date, date); +} + +// Get, by date, const +Handle2ConstMonteCarlo_cdf +StylesMonteCarlo_cdfGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfGetByDateConst", + This, extract::MonteCarlo_cdf, meta::date, date); +} + +// Get, by date, non-const +Handle2MonteCarlo_cdf +StylesMonteCarlo_cdfGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfGetByDate", + This, extract::MonteCarlo_cdf, meta::date, date); +} + +// Set, by date +void +StylesMonteCarlo_cdfSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfSetByDate", + This, extract::MonteCarlo_cdf, meta::date, date, MonteCarlo_cdf); +} + +// Has, by derivedFrom +int +StylesMonteCarlo_cdfHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfHasByDerivedFrom", + This, extract::MonteCarlo_cdf, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstMonteCarlo_cdf +StylesMonteCarlo_cdfGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfGetByDerivedFromConst", + This, extract::MonteCarlo_cdf, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2MonteCarlo_cdf +StylesMonteCarlo_cdfGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfGetByDerivedFrom", + This, extract::MonteCarlo_cdf, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesMonteCarlo_cdfSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfSetByDerivedFrom", + This, extract::MonteCarlo_cdf, meta::derivedFrom, derivedFrom, MonteCarlo_cdf); +} + +// Has, by label +int +StylesMonteCarlo_cdfHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfHasByLabel", + This, extract::MonteCarlo_cdf, meta::label, label); +} + +// Get, by label, const +Handle2ConstMonteCarlo_cdf +StylesMonteCarlo_cdfGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfGetByLabelConst", + This, extract::MonteCarlo_cdf, meta::label, label); +} + +// Get, by label, non-const +Handle2MonteCarlo_cdf +StylesMonteCarlo_cdfGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfGetByLabel", + This, extract::MonteCarlo_cdf, meta::label, label); +} + +// Set, by label +void +StylesMonteCarlo_cdfSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"MonteCarlo_cdfSetByLabel", + This, extract::MonteCarlo_cdf, meta::label, label, MonteCarlo_cdf); +} + + +// ----------------------------------------------------------------------------- +// Child: griddedCrossSection +// ----------------------------------------------------------------------------- + +// Has +int +StylesGriddedCrossSectionHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GriddedCrossSectionHas", This, extract::griddedCrossSection); +} + +// Clear +void +StylesGriddedCrossSectionClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"GriddedCrossSectionClear", This, extract::griddedCrossSection); +} + +// Size +size_t +StylesGriddedCrossSectionSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"GriddedCrossSectionSize", This, extract::griddedCrossSection); +} + +// Add +void +StylesGriddedCrossSectionAdd(ConstHandle2Styles This, ConstHandle2ConstGriddedCrossSection griddedCrossSection) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"GriddedCrossSectionAdd", This, extract::griddedCrossSection, griddedCrossSection); +} + +// Get, by index \in [0,size), const +Handle2ConstGriddedCrossSection +StylesGriddedCrossSectionGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"GriddedCrossSectionGetConst", This, extract::griddedCrossSection, index_); +} + +// Get, by index \in [0,size), non-const +Handle2GriddedCrossSection +StylesGriddedCrossSectionGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"GriddedCrossSectionGet", This, extract::griddedCrossSection, index_); +} + +// Set, by index \in [0,size) +void +StylesGriddedCrossSectionSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstGriddedCrossSection griddedCrossSection +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"GriddedCrossSectionSet", This, extract::griddedCrossSection, index_, griddedCrossSection); +} + +// Has, by date +int +StylesGriddedCrossSectionHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionHasByDate", + This, extract::griddedCrossSection, meta::date, date); +} + +// Get, by date, const +Handle2ConstGriddedCrossSection +StylesGriddedCrossSectionGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionGetByDateConst", + This, extract::griddedCrossSection, meta::date, date); +} + +// Get, by date, non-const +Handle2GriddedCrossSection +StylesGriddedCrossSectionGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionGetByDate", + This, extract::griddedCrossSection, meta::date, date); +} + +// Set, by date +void +StylesGriddedCrossSectionSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstGriddedCrossSection griddedCrossSection +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionSetByDate", + This, extract::griddedCrossSection, meta::date, date, griddedCrossSection); +} + +// Has, by derivedFrom +int +StylesGriddedCrossSectionHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionHasByDerivedFrom", + This, extract::griddedCrossSection, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstGriddedCrossSection +StylesGriddedCrossSectionGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionGetByDerivedFromConst", + This, extract::griddedCrossSection, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2GriddedCrossSection +StylesGriddedCrossSectionGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionGetByDerivedFrom", + This, extract::griddedCrossSection, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesGriddedCrossSectionSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstGriddedCrossSection griddedCrossSection +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionSetByDerivedFrom", + This, extract::griddedCrossSection, meta::derivedFrom, derivedFrom, griddedCrossSection); +} + +// Has, by label +int +StylesGriddedCrossSectionHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionHasByLabel", + This, extract::griddedCrossSection, meta::label, label); +} + +// Get, by label, const +Handle2ConstGriddedCrossSection +StylesGriddedCrossSectionGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionGetByLabelConst", + This, extract::griddedCrossSection, meta::label, label); +} + +// Get, by label, non-const +Handle2GriddedCrossSection +StylesGriddedCrossSectionGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionGetByLabel", + This, extract::griddedCrossSection, meta::label, label); +} + +// Set, by label +void +StylesGriddedCrossSectionSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstGriddedCrossSection griddedCrossSection +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GriddedCrossSectionSetByLabel", + This, extract::griddedCrossSection, meta::label, label, griddedCrossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: URR_probabilityTables +// ----------------------------------------------------------------------------- + +// Has +int +StylesURR_probabilityTablesHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"URR_probabilityTablesHas", This, extract::URR_probabilityTables); +} + +// Clear +void +StylesURR_probabilityTablesClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"URR_probabilityTablesClear", This, extract::URR_probabilityTables); +} + +// Size +size_t +StylesURR_probabilityTablesSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"URR_probabilityTablesSize", This, extract::URR_probabilityTables); +} + +// Add +void +StylesURR_probabilityTablesAdd(ConstHandle2Styles This, ConstHandle2ConstURR_probabilityTables URR_probabilityTables) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"URR_probabilityTablesAdd", This, extract::URR_probabilityTables, URR_probabilityTables); +} + +// Get, by index \in [0,size), const +Handle2ConstURR_probabilityTables +StylesURR_probabilityTablesGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"URR_probabilityTablesGetConst", This, extract::URR_probabilityTables, index_); +} + +// Get, by index \in [0,size), non-const +Handle2URR_probabilityTables +StylesURR_probabilityTablesGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"URR_probabilityTablesGet", This, extract::URR_probabilityTables, index_); +} + +// Set, by index \in [0,size) +void +StylesURR_probabilityTablesSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstURR_probabilityTables URR_probabilityTables +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"URR_probabilityTablesSet", This, extract::URR_probabilityTables, index_, URR_probabilityTables); +} + +// Has, by date +int +StylesURR_probabilityTablesHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesHasByDate", + This, extract::URR_probabilityTables, meta::date, date); +} + +// Get, by date, const +Handle2ConstURR_probabilityTables +StylesURR_probabilityTablesGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesGetByDateConst", + This, extract::URR_probabilityTables, meta::date, date); +} + +// Get, by date, non-const +Handle2URR_probabilityTables +StylesURR_probabilityTablesGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesGetByDate", + This, extract::URR_probabilityTables, meta::date, date); +} + +// Set, by date +void +StylesURR_probabilityTablesSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstURR_probabilityTables URR_probabilityTables +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesSetByDate", + This, extract::URR_probabilityTables, meta::date, date, URR_probabilityTables); +} + +// Has, by derivedFrom +int +StylesURR_probabilityTablesHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesHasByDerivedFrom", + This, extract::URR_probabilityTables, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstURR_probabilityTables +StylesURR_probabilityTablesGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesGetByDerivedFromConst", + This, extract::URR_probabilityTables, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2URR_probabilityTables +StylesURR_probabilityTablesGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesGetByDerivedFrom", + This, extract::URR_probabilityTables, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesURR_probabilityTablesSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstURR_probabilityTables URR_probabilityTables +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesSetByDerivedFrom", + This, extract::URR_probabilityTables, meta::derivedFrom, derivedFrom, URR_probabilityTables); +} + +// Has, by label +int +StylesURR_probabilityTablesHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesHasByLabel", + This, extract::URR_probabilityTables, meta::label, label); +} + +// Get, by label, const +Handle2ConstURR_probabilityTables +StylesURR_probabilityTablesGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesGetByLabelConst", + This, extract::URR_probabilityTables, meta::label, label); +} + +// Get, by label, non-const +Handle2URR_probabilityTables +StylesURR_probabilityTablesGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesGetByLabel", + This, extract::URR_probabilityTables, meta::label, label); +} + +// Set, by label +void +StylesURR_probabilityTablesSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstURR_probabilityTables URR_probabilityTables +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"URR_probabilityTablesSetByLabel", + This, extract::URR_probabilityTables, meta::label, label, URR_probabilityTables); +} + + +// ----------------------------------------------------------------------------- +// Child: heatedMultiGroup +// ----------------------------------------------------------------------------- + +// Has +int +StylesHeatedMultiGroupHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HeatedMultiGroupHas", This, extract::heatedMultiGroup); +} + +// Clear +void +StylesHeatedMultiGroupClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"HeatedMultiGroupClear", This, extract::heatedMultiGroup); +} + +// Size +size_t +StylesHeatedMultiGroupSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"HeatedMultiGroupSize", This, extract::heatedMultiGroup); +} + +// Add +void +StylesHeatedMultiGroupAdd(ConstHandle2Styles This, ConstHandle2ConstHeatedMultiGroup heatedMultiGroup) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"HeatedMultiGroupAdd", This, extract::heatedMultiGroup, heatedMultiGroup); +} + +// Get, by index \in [0,size), const +Handle2ConstHeatedMultiGroup +StylesHeatedMultiGroupGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"HeatedMultiGroupGetConst", This, extract::heatedMultiGroup, index_); +} + +// Get, by index \in [0,size), non-const +Handle2HeatedMultiGroup +StylesHeatedMultiGroupGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"HeatedMultiGroupGet", This, extract::heatedMultiGroup, index_); +} + +// Set, by index \in [0,size) +void +StylesHeatedMultiGroupSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstHeatedMultiGroup heatedMultiGroup +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"HeatedMultiGroupSet", This, extract::heatedMultiGroup, index_, heatedMultiGroup); +} + +// Has, by date +int +StylesHeatedMultiGroupHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupHasByDate", + This, extract::heatedMultiGroup, meta::date, date); +} + +// Get, by date, const +Handle2ConstHeatedMultiGroup +StylesHeatedMultiGroupGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupGetByDateConst", + This, extract::heatedMultiGroup, meta::date, date); +} + +// Get, by date, non-const +Handle2HeatedMultiGroup +StylesHeatedMultiGroupGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupGetByDate", + This, extract::heatedMultiGroup, meta::date, date); +} + +// Set, by date +void +StylesHeatedMultiGroupSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstHeatedMultiGroup heatedMultiGroup +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupSetByDate", + This, extract::heatedMultiGroup, meta::date, date, heatedMultiGroup); +} + +// Has, by derivedFrom +int +StylesHeatedMultiGroupHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupHasByDerivedFrom", + This, extract::heatedMultiGroup, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstHeatedMultiGroup +StylesHeatedMultiGroupGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupGetByDerivedFromConst", + This, extract::heatedMultiGroup, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2HeatedMultiGroup +StylesHeatedMultiGroupGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupGetByDerivedFrom", + This, extract::heatedMultiGroup, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesHeatedMultiGroupSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstHeatedMultiGroup heatedMultiGroup +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupSetByDerivedFrom", + This, extract::heatedMultiGroup, meta::derivedFrom, derivedFrom, heatedMultiGroup); +} + +// Has, by label +int +StylesHeatedMultiGroupHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupHasByLabel", + This, extract::heatedMultiGroup, meta::label, label); +} + +// Get, by label, const +Handle2ConstHeatedMultiGroup +StylesHeatedMultiGroupGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupGetByLabelConst", + This, extract::heatedMultiGroup, meta::label, label); +} + +// Get, by label, non-const +Handle2HeatedMultiGroup +StylesHeatedMultiGroupGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupGetByLabel", + This, extract::heatedMultiGroup, meta::label, label); +} + +// Set, by label +void +StylesHeatedMultiGroupSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstHeatedMultiGroup heatedMultiGroup +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"HeatedMultiGroupSetByLabel", + This, extract::heatedMultiGroup, meta::label, label, heatedMultiGroup); +} + + +// ----------------------------------------------------------------------------- +// Child: SnElasticUpScatter +// ----------------------------------------------------------------------------- + +// Has +int +StylesSnElasticUpScatterHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SnElasticUpScatterHas", This, extract::SnElasticUpScatter); +} + +// Clear +void +StylesSnElasticUpScatterClear(ConstHandle2Styles This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"SnElasticUpScatterClear", This, extract::SnElasticUpScatter); +} + +// Size +size_t +StylesSnElasticUpScatterSize(ConstHandle2ConstStyles This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"SnElasticUpScatterSize", This, extract::SnElasticUpScatter); +} + +// Add +void +StylesSnElasticUpScatterAdd(ConstHandle2Styles This, ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"SnElasticUpScatterAdd", This, extract::SnElasticUpScatter, SnElasticUpScatter); +} + +// Get, by index \in [0,size), const +Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetConst(ConstHandle2ConstStyles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetConst", This, extract::SnElasticUpScatter, index_); +} + +// Get, by index \in [0,size), non-const +Handle2SnElasticUpScatter +StylesSnElasticUpScatterGet(ConstHandle2Styles This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGet", This, extract::SnElasticUpScatter, index_); +} + +// Set, by index \in [0,size) +void +StylesSnElasticUpScatterSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"SnElasticUpScatterSet", This, extract::SnElasticUpScatter, index_, SnElasticUpScatter); +} + +// Has, by date +int +StylesSnElasticUpScatterHasByDate( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterHasByDate", + This, extract::SnElasticUpScatter, meta::date, date); +} + +// Get, by date, const +Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetByDateConst", + This, extract::SnElasticUpScatter, meta::date, date); +} + +// Get, by date, non-const +Handle2SnElasticUpScatter +StylesSnElasticUpScatterGetByDate( + ConstHandle2Styles This, + const char *const date +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetByDate", + This, extract::SnElasticUpScatter, meta::date, date); +} + +// Set, by date +void +StylesSnElasticUpScatterSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterSetByDate", + This, extract::SnElasticUpScatter, meta::date, date, SnElasticUpScatter); +} + +// Has, by derivedFrom +int +StylesSnElasticUpScatterHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterHasByDerivedFrom", + This, extract::SnElasticUpScatter, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, const +Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetByDerivedFromConst", + This, extract::SnElasticUpScatter, meta::derivedFrom, derivedFrom); +} + +// Get, by derivedFrom, non-const +Handle2SnElasticUpScatter +StylesSnElasticUpScatterGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetByDerivedFrom", + This, extract::SnElasticUpScatter, meta::derivedFrom, derivedFrom); +} + +// Set, by derivedFrom +void +StylesSnElasticUpScatterSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterSetByDerivedFrom", + This, extract::SnElasticUpScatter, meta::derivedFrom, derivedFrom, SnElasticUpScatter); +} + +// Has, by label +int +StylesSnElasticUpScatterHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterHasByLabel", + This, extract::SnElasticUpScatter, meta::label, label); +} + +// Get, by label, const +Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetByLabelConst", + This, extract::SnElasticUpScatter, meta::label, label); +} + +// Get, by label, non-const +Handle2SnElasticUpScatter +StylesSnElasticUpScatterGetByLabel( + ConstHandle2Styles This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetByLabel", + This, extract::SnElasticUpScatter, meta::label, label); +} + +// Set, by label +void +StylesSnElasticUpScatterSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterSetByLabel", + This, extract::SnElasticUpScatter, meta::label, label, SnElasticUpScatter); +} + +// Has, by upperCalculatedGroup +int +StylesSnElasticUpScatterHasByUpperCalculatedGroup( + ConstHandle2ConstStyles This, + const Integer32 upperCalculatedGroup +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterHasByUpperCalculatedGroup", + This, extract::SnElasticUpScatter, meta::upperCalculatedGroup, upperCalculatedGroup); +} + +// Get, by upperCalculatedGroup, const +Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetByUpperCalculatedGroupConst( + ConstHandle2ConstStyles This, + const Integer32 upperCalculatedGroup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetByUpperCalculatedGroupConst", + This, extract::SnElasticUpScatter, meta::upperCalculatedGroup, upperCalculatedGroup); +} + +// Get, by upperCalculatedGroup, non-const +Handle2SnElasticUpScatter +StylesSnElasticUpScatterGetByUpperCalculatedGroup( + ConstHandle2Styles This, + const Integer32 upperCalculatedGroup +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterGetByUpperCalculatedGroup", + This, extract::SnElasticUpScatter, meta::upperCalculatedGroup, upperCalculatedGroup); +} + +// Set, by upperCalculatedGroup +void +StylesSnElasticUpScatterSetByUpperCalculatedGroup( + ConstHandle2Styles This, + const Integer32 upperCalculatedGroup, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"SnElasticUpScatterSetByUpperCalculatedGroup", + This, extract::SnElasticUpScatter, meta::upperCalculatedGroup, upperCalculatedGroup, SnElasticUpScatter); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.h new file mode 100644 index 000000000..257b5c379 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.h @@ -0,0 +1,1648 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Styles is the basic handle type in this file. Example: +// // Create a default Styles object: +// Styles handle = StylesDefault(); +// Functions involving Styles are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_STYLES +#define C_INTERFACE_TRY_V2_0_STYLES_STYLES + +#include "GNDStk.h" +#include "v2.0/styles/Evaluated.h" +#include "v2.0/styles/CrossSectionReconstructed.h" +#include "v2.0/styles/AngularDistributionReconstructed.h" +#include "v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h" +#include "v2.0/styles/Heated.h" +#include "v2.0/styles/AverageProductData.h" +#include "v2.0/styles/MonteCarlo_cdf.h" +#include "v2.0/styles/GriddedCrossSection.h" +#include "v2.0/styles/URR_probabilityTables.h" +#include "v2.0/styles/HeatedMultiGroup.h" +#include "v2.0/styles/SnElasticUpScatter.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct StylesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Styles +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct StylesClass *Styles; + +// --- Const-aware handles. +typedef const struct StylesClass *const ConstHandle2ConstStyles; +typedef struct StylesClass *const ConstHandle2Styles; +typedef const struct StylesClass * Handle2ConstStyles; +typedef struct StylesClass * Handle2Styles; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstStyles +StylesDefaultConst(); + +// +++ Create, default +extern_c Handle2Styles +StylesDefault(); + +// --- Create, general, const +extern_c Handle2ConstStyles +StylesCreateConst( + ConstHandle2Evaluated *const evaluated, const size_t evaluatedSize, + ConstHandle2CrossSectionReconstructed *const crossSectionReconstructed, const size_t crossSectionReconstructedSize, + ConstHandle2AngularDistributionReconstructed *const angularDistributionReconstructed, const size_t angularDistributionReconstructedSize, + ConstHandle2CoulombPlusNuclearElasticMuCutoff *const CoulombPlusNuclearElasticMuCutoff, const size_t CoulombPlusNuclearElasticMuCutoffSize, + ConstHandle2Heated *const heated, const size_t heatedSize, + ConstHandle2AverageProductData *const averageProductData, const size_t averageProductDataSize, + ConstHandle2MonteCarlo_cdf *const MonteCarlo_cdf, const size_t MonteCarlo_cdfSize, + ConstHandle2GriddedCrossSection *const griddedCrossSection, const size_t griddedCrossSectionSize, + ConstHandle2URR_probabilityTables *const URR_probabilityTables, const size_t URR_probabilityTablesSize, + ConstHandle2HeatedMultiGroup *const heatedMultiGroup, const size_t heatedMultiGroupSize, + ConstHandle2SnElasticUpScatter *const SnElasticUpScatter, const size_t SnElasticUpScatterSize +); + +// +++ Create, general +extern_c Handle2Styles +StylesCreate( + ConstHandle2Evaluated *const evaluated, const size_t evaluatedSize, + ConstHandle2CrossSectionReconstructed *const crossSectionReconstructed, const size_t crossSectionReconstructedSize, + ConstHandle2AngularDistributionReconstructed *const angularDistributionReconstructed, const size_t angularDistributionReconstructedSize, + ConstHandle2CoulombPlusNuclearElasticMuCutoff *const CoulombPlusNuclearElasticMuCutoff, const size_t CoulombPlusNuclearElasticMuCutoffSize, + ConstHandle2Heated *const heated, const size_t heatedSize, + ConstHandle2AverageProductData *const averageProductData, const size_t averageProductDataSize, + ConstHandle2MonteCarlo_cdf *const MonteCarlo_cdf, const size_t MonteCarlo_cdfSize, + ConstHandle2GriddedCrossSection *const griddedCrossSection, const size_t griddedCrossSectionSize, + ConstHandle2URR_probabilityTables *const URR_probabilityTables, const size_t URR_probabilityTablesSize, + ConstHandle2HeatedMultiGroup *const heatedMultiGroup, const size_t heatedMultiGroupSize, + ConstHandle2SnElasticUpScatter *const SnElasticUpScatter, const size_t SnElasticUpScatterSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +StylesAssign(ConstHandle2Styles This, ConstHandle2ConstStyles from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +StylesDelete(ConstHandle2ConstStyles This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +StylesRead(ConstHandle2Styles This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +StylesWrite(ConstHandle2ConstStyles This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +StylesPrint(ConstHandle2ConstStyles This); + +// +++ Print to standard output, as XML +extern_c int +StylesPrintXML(ConstHandle2ConstStyles This); + +// +++ Print to standard output, as JSON +extern_c int +StylesPrintJSON(ConstHandle2ConstStyles This); + + +// ----------------------------------------------------------------------------- +// Child: evaluated +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesEvaluatedHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesEvaluatedClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesEvaluatedSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesEvaluatedAdd(ConstHandle2Styles This, ConstHandle2ConstEvaluated evaluated); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstEvaluated +StylesEvaluatedGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Evaluated +StylesEvaluatedGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesEvaluatedSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstEvaluated evaluated +); + +// +++ Has, by date +extern_c int +StylesEvaluatedHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstEvaluated +StylesEvaluatedGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2Evaluated +StylesEvaluatedGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesEvaluatedSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstEvaluated evaluated +); + +// +++ Has, by label +extern_c int +StylesEvaluatedHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstEvaluated +StylesEvaluatedGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Evaluated +StylesEvaluatedGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesEvaluatedSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstEvaluated evaluated +); + +// +++ Has, by derivedFrom +extern_c int +StylesEvaluatedHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstEvaluated +StylesEvaluatedGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2Evaluated +StylesEvaluatedGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesEvaluatedSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstEvaluated evaluated +); + +// +++ Has, by library +extern_c int +StylesEvaluatedHasByLibrary( + ConstHandle2ConstStyles This, + const XMLName library +); + +// --- Get, by library, const +extern_c Handle2ConstEvaluated +StylesEvaluatedGetByLibraryConst( + ConstHandle2ConstStyles This, + const XMLName library +); + +// +++ Get, by library, non-const +extern_c Handle2Evaluated +StylesEvaluatedGetByLibrary( + ConstHandle2Styles This, + const XMLName library +); + +// +++ Set, by library +extern_c void +StylesEvaluatedSetByLibrary( + ConstHandle2Styles This, + const XMLName library, + ConstHandle2ConstEvaluated evaluated +); + +// +++ Has, by version +extern_c int +StylesEvaluatedHasByVersion( + ConstHandle2ConstStyles This, + const XMLName version +); + +// --- Get, by version, const +extern_c Handle2ConstEvaluated +StylesEvaluatedGetByVersionConst( + ConstHandle2ConstStyles This, + const XMLName version +); + +// +++ Get, by version, non-const +extern_c Handle2Evaluated +StylesEvaluatedGetByVersion( + ConstHandle2Styles This, + const XMLName version +); + +// +++ Set, by version +extern_c void +StylesEvaluatedSetByVersion( + ConstHandle2Styles This, + const XMLName version, + ConstHandle2ConstEvaluated evaluated +); + + +// ----------------------------------------------------------------------------- +// Child: crossSectionReconstructed +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesCrossSectionReconstructedHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesCrossSectionReconstructedClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesCrossSectionReconstructedSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesCrossSectionReconstructedAdd(ConstHandle2Styles This, ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstCrossSectionReconstructed +StylesCrossSectionReconstructedGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2CrossSectionReconstructed +StylesCrossSectionReconstructedGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesCrossSectionReconstructedSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed +); + +// +++ Has, by date +extern_c int +StylesCrossSectionReconstructedHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstCrossSectionReconstructed +StylesCrossSectionReconstructedGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2CrossSectionReconstructed +StylesCrossSectionReconstructedGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesCrossSectionReconstructedSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed +); + +// +++ Has, by label +extern_c int +StylesCrossSectionReconstructedHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstCrossSectionReconstructed +StylesCrossSectionReconstructedGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2CrossSectionReconstructed +StylesCrossSectionReconstructedGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesCrossSectionReconstructedSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed +); + +// +++ Has, by derivedFrom +extern_c int +StylesCrossSectionReconstructedHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstCrossSectionReconstructed +StylesCrossSectionReconstructedGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2CrossSectionReconstructed +StylesCrossSectionReconstructedGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesCrossSectionReconstructedSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstCrossSectionReconstructed crossSectionReconstructed +); + + +// ----------------------------------------------------------------------------- +// Child: angularDistributionReconstructed +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesAngularDistributionReconstructedHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesAngularDistributionReconstructedClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesAngularDistributionReconstructedSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesAngularDistributionReconstructedAdd(ConstHandle2Styles This, ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAngularDistributionReconstructed +StylesAngularDistributionReconstructedGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2AngularDistributionReconstructed +StylesAngularDistributionReconstructedGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesAngularDistributionReconstructedSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed +); + +// +++ Has, by date +extern_c int +StylesAngularDistributionReconstructedHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstAngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2AngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesAngularDistributionReconstructedSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed +); + +// +++ Has, by label +extern_c int +StylesAngularDistributionReconstructedHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstAngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2AngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesAngularDistributionReconstructedSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed +); + +// +++ Has, by derivedFrom +extern_c int +StylesAngularDistributionReconstructedHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstAngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2AngularDistributionReconstructed +StylesAngularDistributionReconstructedGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesAngularDistributionReconstructedSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstAngularDistributionReconstructed angularDistributionReconstructed +); + + +// ----------------------------------------------------------------------------- +// Child: CoulombPlusNuclearElasticMuCutoff +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesCoulombPlusNuclearElasticMuCutoffHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesCoulombPlusNuclearElasticMuCutoffClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesCoulombPlusNuclearElasticMuCutoffSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesCoulombPlusNuclearElasticMuCutoffAdd(ConstHandle2Styles This, ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesCoulombPlusNuclearElasticMuCutoffSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +); + +// +++ Has, by date +extern_c int +StylesCoulombPlusNuclearElasticMuCutoffHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesCoulombPlusNuclearElasticMuCutoffSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +); + +// +++ Has, by derivedFrom +extern_c int +StylesCoulombPlusNuclearElasticMuCutoffHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesCoulombPlusNuclearElasticMuCutoffSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +); + +// +++ Has, by label +extern_c int +StylesCoulombPlusNuclearElasticMuCutoffHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesCoulombPlusNuclearElasticMuCutoffSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +); + +// +++ Has, by muCutoff +extern_c int +StylesCoulombPlusNuclearElasticMuCutoffHasByMuCutoff( + ConstHandle2ConstStyles This, + const Float64 muCutoff +); + +// --- Get, by muCutoff, const +extern_c Handle2ConstCoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByMuCutoffConst( + ConstHandle2ConstStyles This, + const Float64 muCutoff +); + +// +++ Get, by muCutoff, non-const +extern_c Handle2CoulombPlusNuclearElasticMuCutoff +StylesCoulombPlusNuclearElasticMuCutoffGetByMuCutoff( + ConstHandle2Styles This, + const Float64 muCutoff +); + +// +++ Set, by muCutoff +extern_c void +StylesCoulombPlusNuclearElasticMuCutoffSetByMuCutoff( + ConstHandle2Styles This, + const Float64 muCutoff, + ConstHandle2ConstCoulombPlusNuclearElasticMuCutoff CoulombPlusNuclearElasticMuCutoff +); + + +// ----------------------------------------------------------------------------- +// Child: heated +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesHeatedHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesHeatedClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesHeatedSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesHeatedAdd(ConstHandle2Styles This, ConstHandle2ConstHeated heated); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstHeated +StylesHeatedGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Heated +StylesHeatedGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesHeatedSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstHeated heated +); + +// +++ Has, by date +extern_c int +StylesHeatedHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstHeated +StylesHeatedGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2Heated +StylesHeatedGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesHeatedSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstHeated heated +); + +// +++ Has, by derivedFrom +extern_c int +StylesHeatedHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstHeated +StylesHeatedGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2Heated +StylesHeatedGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesHeatedSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstHeated heated +); + +// +++ Has, by label +extern_c int +StylesHeatedHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstHeated +StylesHeatedGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Heated +StylesHeatedGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesHeatedSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstHeated heated +); + + +// ----------------------------------------------------------------------------- +// Child: averageProductData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesAverageProductDataHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesAverageProductDataClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesAverageProductDataSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesAverageProductDataAdd(ConstHandle2Styles This, ConstHandle2ConstAverageProductData averageProductData); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAverageProductData +StylesAverageProductDataGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2AverageProductData +StylesAverageProductDataGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesAverageProductDataSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstAverageProductData averageProductData +); + +// +++ Has, by date +extern_c int +StylesAverageProductDataHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstAverageProductData +StylesAverageProductDataGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2AverageProductData +StylesAverageProductDataGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesAverageProductDataSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstAverageProductData averageProductData +); + +// +++ Has, by label +extern_c int +StylesAverageProductDataHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstAverageProductData +StylesAverageProductDataGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2AverageProductData +StylesAverageProductDataGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesAverageProductDataSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstAverageProductData averageProductData +); + +// +++ Has, by derivedFrom +extern_c int +StylesAverageProductDataHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstAverageProductData +StylesAverageProductDataGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2AverageProductData +StylesAverageProductDataGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesAverageProductDataSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstAverageProductData averageProductData +); + + +// ----------------------------------------------------------------------------- +// Child: MonteCarlo_cdf +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesMonteCarlo_cdfHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesMonteCarlo_cdfClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesMonteCarlo_cdfSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesMonteCarlo_cdfAdd(ConstHandle2Styles This, ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstMonteCarlo_cdf +StylesMonteCarlo_cdfGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2MonteCarlo_cdf +StylesMonteCarlo_cdfGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesMonteCarlo_cdfSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf +); + +// +++ Has, by date +extern_c int +StylesMonteCarlo_cdfHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstMonteCarlo_cdf +StylesMonteCarlo_cdfGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2MonteCarlo_cdf +StylesMonteCarlo_cdfGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesMonteCarlo_cdfSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf +); + +// +++ Has, by derivedFrom +extern_c int +StylesMonteCarlo_cdfHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstMonteCarlo_cdf +StylesMonteCarlo_cdfGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2MonteCarlo_cdf +StylesMonteCarlo_cdfGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesMonteCarlo_cdfSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf +); + +// +++ Has, by label +extern_c int +StylesMonteCarlo_cdfHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstMonteCarlo_cdf +StylesMonteCarlo_cdfGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2MonteCarlo_cdf +StylesMonteCarlo_cdfGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesMonteCarlo_cdfSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstMonteCarlo_cdf MonteCarlo_cdf +); + + +// ----------------------------------------------------------------------------- +// Child: griddedCrossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesGriddedCrossSectionHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesGriddedCrossSectionClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesGriddedCrossSectionSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesGriddedCrossSectionAdd(ConstHandle2Styles This, ConstHandle2ConstGriddedCrossSection griddedCrossSection); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstGriddedCrossSection +StylesGriddedCrossSectionGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2GriddedCrossSection +StylesGriddedCrossSectionGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesGriddedCrossSectionSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstGriddedCrossSection griddedCrossSection +); + +// +++ Has, by date +extern_c int +StylesGriddedCrossSectionHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstGriddedCrossSection +StylesGriddedCrossSectionGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2GriddedCrossSection +StylesGriddedCrossSectionGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesGriddedCrossSectionSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstGriddedCrossSection griddedCrossSection +); + +// +++ Has, by derivedFrom +extern_c int +StylesGriddedCrossSectionHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstGriddedCrossSection +StylesGriddedCrossSectionGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2GriddedCrossSection +StylesGriddedCrossSectionGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesGriddedCrossSectionSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstGriddedCrossSection griddedCrossSection +); + +// +++ Has, by label +extern_c int +StylesGriddedCrossSectionHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstGriddedCrossSection +StylesGriddedCrossSectionGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2GriddedCrossSection +StylesGriddedCrossSectionGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesGriddedCrossSectionSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstGriddedCrossSection griddedCrossSection +); + + +// ----------------------------------------------------------------------------- +// Child: URR_probabilityTables +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesURR_probabilityTablesHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesURR_probabilityTablesClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesURR_probabilityTablesSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesURR_probabilityTablesAdd(ConstHandle2Styles This, ConstHandle2ConstURR_probabilityTables URR_probabilityTables); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstURR_probabilityTables +StylesURR_probabilityTablesGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2URR_probabilityTables +StylesURR_probabilityTablesGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesURR_probabilityTablesSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstURR_probabilityTables URR_probabilityTables +); + +// +++ Has, by date +extern_c int +StylesURR_probabilityTablesHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstURR_probabilityTables +StylesURR_probabilityTablesGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2URR_probabilityTables +StylesURR_probabilityTablesGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesURR_probabilityTablesSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstURR_probabilityTables URR_probabilityTables +); + +// +++ Has, by derivedFrom +extern_c int +StylesURR_probabilityTablesHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstURR_probabilityTables +StylesURR_probabilityTablesGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2URR_probabilityTables +StylesURR_probabilityTablesGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesURR_probabilityTablesSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstURR_probabilityTables URR_probabilityTables +); + +// +++ Has, by label +extern_c int +StylesURR_probabilityTablesHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstURR_probabilityTables +StylesURR_probabilityTablesGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2URR_probabilityTables +StylesURR_probabilityTablesGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesURR_probabilityTablesSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstURR_probabilityTables URR_probabilityTables +); + + +// ----------------------------------------------------------------------------- +// Child: heatedMultiGroup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesHeatedMultiGroupHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesHeatedMultiGroupClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesHeatedMultiGroupSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesHeatedMultiGroupAdd(ConstHandle2Styles This, ConstHandle2ConstHeatedMultiGroup heatedMultiGroup); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstHeatedMultiGroup +StylesHeatedMultiGroupGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2HeatedMultiGroup +StylesHeatedMultiGroupGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesHeatedMultiGroupSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstHeatedMultiGroup heatedMultiGroup +); + +// +++ Has, by date +extern_c int +StylesHeatedMultiGroupHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstHeatedMultiGroup +StylesHeatedMultiGroupGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2HeatedMultiGroup +StylesHeatedMultiGroupGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesHeatedMultiGroupSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstHeatedMultiGroup heatedMultiGroup +); + +// +++ Has, by derivedFrom +extern_c int +StylesHeatedMultiGroupHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstHeatedMultiGroup +StylesHeatedMultiGroupGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2HeatedMultiGroup +StylesHeatedMultiGroupGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesHeatedMultiGroupSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstHeatedMultiGroup heatedMultiGroup +); + +// +++ Has, by label +extern_c int +StylesHeatedMultiGroupHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstHeatedMultiGroup +StylesHeatedMultiGroupGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2HeatedMultiGroup +StylesHeatedMultiGroupGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesHeatedMultiGroupSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstHeatedMultiGroup heatedMultiGroup +); + + +// ----------------------------------------------------------------------------- +// Child: SnElasticUpScatter +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesSnElasticUpScatterHas(ConstHandle2ConstStyles This); + +// +++ Clear +extern_c void +StylesSnElasticUpScatterClear(ConstHandle2Styles This); + +// +++ Size +extern_c size_t +StylesSnElasticUpScatterSize(ConstHandle2ConstStyles This); + +// +++ Add +extern_c void +StylesSnElasticUpScatterAdd(ConstHandle2Styles This, ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetConst(ConstHandle2ConstStyles This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2SnElasticUpScatter +StylesSnElasticUpScatterGet(ConstHandle2Styles This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +StylesSnElasticUpScatterSet( + ConstHandle2Styles This, + const size_t index_, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +); + +// +++ Has, by date +extern_c int +StylesSnElasticUpScatterHasByDate( + ConstHandle2ConstStyles This, + const char *const date +); + +// --- Get, by date, const +extern_c Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetByDateConst( + ConstHandle2ConstStyles This, + const char *const date +); + +// +++ Get, by date, non-const +extern_c Handle2SnElasticUpScatter +StylesSnElasticUpScatterGetByDate( + ConstHandle2Styles This, + const char *const date +); + +// +++ Set, by date +extern_c void +StylesSnElasticUpScatterSetByDate( + ConstHandle2Styles This, + const char *const date, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +); + +// +++ Has, by derivedFrom +extern_c int +StylesSnElasticUpScatterHasByDerivedFrom( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// --- Get, by derivedFrom, const +extern_c Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetByDerivedFromConst( + ConstHandle2ConstStyles This, + const XMLName derivedFrom +); + +// +++ Get, by derivedFrom, non-const +extern_c Handle2SnElasticUpScatter +StylesSnElasticUpScatterGetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom +); + +// +++ Set, by derivedFrom +extern_c void +StylesSnElasticUpScatterSetByDerivedFrom( + ConstHandle2Styles This, + const XMLName derivedFrom, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +); + +// +++ Has, by label +extern_c int +StylesSnElasticUpScatterHasByLabel( + ConstHandle2ConstStyles This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetByLabelConst( + ConstHandle2ConstStyles This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2SnElasticUpScatter +StylesSnElasticUpScatterGetByLabel( + ConstHandle2Styles This, + const XMLName label +); + +// +++ Set, by label +extern_c void +StylesSnElasticUpScatterSetByLabel( + ConstHandle2Styles This, + const XMLName label, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +); + +// +++ Has, by upperCalculatedGroup +extern_c int +StylesSnElasticUpScatterHasByUpperCalculatedGroup( + ConstHandle2ConstStyles This, + const Integer32 upperCalculatedGroup +); + +// --- Get, by upperCalculatedGroup, const +extern_c Handle2ConstSnElasticUpScatter +StylesSnElasticUpScatterGetByUpperCalculatedGroupConst( + ConstHandle2ConstStyles This, + const Integer32 upperCalculatedGroup +); + +// +++ Get, by upperCalculatedGroup, non-const +extern_c Handle2SnElasticUpScatter +StylesSnElasticUpScatterGetByUpperCalculatedGroup( + ConstHandle2Styles This, + const Integer32 upperCalculatedGroup +); + +// +++ Set, by upperCalculatedGroup +extern_c void +StylesSnElasticUpScatterSetByUpperCalculatedGroup( + ConstHandle2Styles This, + const Integer32 upperCalculatedGroup, + ConstHandle2ConstSnElasticUpScatter SnElasticUpScatter +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp new file mode 100644 index 000000000..7a05673ef --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Temperature.hpp" +#include "Temperature.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TemperatureClass; +using CPP = multigroup::Temperature; + +static const std::string CLASSNAME = "Temperature"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPDocumentation = documentation::Documentation; +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTemperature +TemperatureDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Temperature +TemperatureDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTemperature +TemperatureCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2Temperature handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + value, + unit, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2Temperature +TemperatureCreate( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2Temperature handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + value, + unit, + detail::tocpp(documentation), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TemperatureAssign(ConstHandle2Temperature This, ConstHandle2ConstTemperature from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TemperatureDelete(ConstHandle2ConstTemperature This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TemperatureRead(ConstHandle2Temperature This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TemperatureWrite(ConstHandle2ConstTemperature This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TemperaturePrint(ConstHandle2ConstTemperature This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TemperaturePrintXML(ConstHandle2ConstTemperature This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TemperaturePrintJSON(ConstHandle2ConstTemperature This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureLabelHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +TemperatureLabelGet(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +TemperatureLabelSet(ConstHandle2Temperature This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureValueHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +TemperatureValueGet(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +TemperatureValueSet(ConstHandle2Temperature This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureUnitHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +TemperatureUnitGet(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +TemperatureUnitSet(ConstHandle2Temperature This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureDocumentationHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +TemperatureDocumentationGetConst(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +TemperatureDocumentationGet(ConstHandle2Temperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +TemperatureDocumentationSet(ConstHandle2Temperature This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +TemperatureUncertaintyHas(ConstHandle2ConstTemperature This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +TemperatureUncertaintyGetConst(ConstHandle2ConstTemperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +TemperatureUncertaintyGet(ConstHandle2Temperature This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +TemperatureUncertaintySet(ConstHandle2Temperature This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h new file mode 100644 index 000000000..d57315719 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Temperature is the basic handle type in this file. Example: +// // Create a default Temperature object: +// Temperature handle = TemperatureDefault(); +// Functions involving Temperature are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_TEMPERATURE +#define C_INTERFACE_TRY_V2_0_STYLES_TEMPERATURE + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TemperatureClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Temperature +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TemperatureClass *Temperature; + +// --- Const-aware handles. +typedef const struct TemperatureClass *const ConstHandle2ConstTemperature; +typedef struct TemperatureClass *const ConstHandle2Temperature; +typedef const struct TemperatureClass * Handle2ConstTemperature; +typedef struct TemperatureClass * Handle2Temperature; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTemperature +TemperatureDefaultConst(); + +// +++ Create, default +extern_c Handle2Temperature +TemperatureDefault(); + +// --- Create, general, const +extern_c Handle2ConstTemperature +TemperatureCreateConst( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2Temperature +TemperatureCreate( + const XMLName label, + const Float64 value, + const XMLName unit, + ConstHandle2ConstDocumentation documentation, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TemperatureAssign(ConstHandle2Temperature This, ConstHandle2ConstTemperature from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TemperatureDelete(ConstHandle2ConstTemperature This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TemperatureRead(ConstHandle2Temperature This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TemperatureWrite(ConstHandle2ConstTemperature This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TemperaturePrint(ConstHandle2ConstTemperature This); + +// +++ Print to standard output, as XML +extern_c int +TemperaturePrintXML(ConstHandle2ConstTemperature This); + +// +++ Print to standard output, as JSON +extern_c int +TemperaturePrintJSON(ConstHandle2ConstTemperature This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureLabelHas(ConstHandle2ConstTemperature This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TemperatureLabelGet(ConstHandle2ConstTemperature This); + +// +++ Set +extern_c void +TemperatureLabelSet(ConstHandle2Temperature This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureValueHas(ConstHandle2ConstTemperature This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +TemperatureValueGet(ConstHandle2ConstTemperature This); + +// +++ Set +extern_c void +TemperatureValueSet(ConstHandle2Temperature This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureUnitHas(ConstHandle2ConstTemperature This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TemperatureUnitGet(ConstHandle2ConstTemperature This); + +// +++ Set +extern_c void +TemperatureUnitSet(ConstHandle2Temperature This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureDocumentationHas(ConstHandle2ConstTemperature This); + +// --- Get, const +extern_c Handle2ConstDocumentation +TemperatureDocumentationGetConst(ConstHandle2ConstTemperature This); + +// +++ Get, non-const +extern_c Handle2Documentation +TemperatureDocumentationGet(ConstHandle2Temperature This); + +// +++ Set +extern_c void +TemperatureDocumentationSet(ConstHandle2Temperature This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TemperatureUncertaintyHas(ConstHandle2ConstTemperature This); + +// --- Get, const +extern_c Handle2ConstUncertainty +TemperatureUncertaintyGetConst(ConstHandle2ConstTemperature This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +TemperatureUncertaintyGet(ConstHandle2Temperature This); + +// +++ Set +extern_c void +TemperatureUncertaintySet(ConstHandle2Temperature This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.cpp new file mode 100644 index 000000000..d173e18aa --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.cpp @@ -0,0 +1,244 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Transportable.hpp" +#include "Transportable.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TransportableClass; +using CPP = multigroup::Transportable; + +static const std::string CLASSNAME = "Transportable"; + +namespace extract { + static auto conserve = [](auto &obj) { return &obj.conserve; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto multiGroup = [](auto &obj) { return &obj.multiGroup; }; +} + +using CPPMultiGroup = styles::MultiGroup; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTransportable +TransportableDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Transportable +TransportableDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTransportable +TransportableCreateConst( + const XMLName conserve, + const XMLName label, + ConstHandle2ConstMultiGroup multiGroup +) { + ConstHandle2Transportable handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + conserve, + label, + detail::tocpp(multiGroup) + ); + return handle; +} + +// Create, general +Handle2Transportable +TransportableCreate( + const XMLName conserve, + const XMLName label, + ConstHandle2ConstMultiGroup multiGroup +) { + ConstHandle2Transportable handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + conserve, + label, + detail::tocpp(multiGroup) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TransportableAssign(ConstHandle2Transportable This, ConstHandle2ConstTransportable from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TransportableDelete(ConstHandle2ConstTransportable This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TransportableRead(ConstHandle2Transportable This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TransportableWrite(ConstHandle2ConstTransportable This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TransportablePrint(ConstHandle2ConstTransportable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TransportablePrintXML(ConstHandle2ConstTransportable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TransportablePrintJSON(ConstHandle2ConstTransportable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: conserve +// ----------------------------------------------------------------------------- + +// Has +int +TransportableConserveHas(ConstHandle2ConstTransportable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConserveHas", This, extract::conserve); +} + +// Get +// Returns by value +XMLName +TransportableConserveGet(ConstHandle2ConstTransportable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConserveGet", This, extract::conserve); +} + +// Set +void +TransportableConserveSet(ConstHandle2Transportable This, const XMLName conserve) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConserveSet", This, extract::conserve, conserve); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +TransportableLabelHas(ConstHandle2ConstTransportable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +TransportableLabelGet(ConstHandle2ConstTransportable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +TransportableLabelSet(ConstHandle2Transportable This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: multiGroup +// ----------------------------------------------------------------------------- + +// Has +int +TransportableMultiGroupHas(ConstHandle2ConstTransportable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MultiGroupHas", This, extract::multiGroup); +} + +// Get, const +Handle2ConstMultiGroup +TransportableMultiGroupGetConst(ConstHandle2ConstTransportable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MultiGroupGetConst", This, extract::multiGroup); +} + +// Get, non-const +Handle2MultiGroup +TransportableMultiGroupGet(ConstHandle2Transportable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MultiGroupGet", This, extract::multiGroup); +} + +// Set +void +TransportableMultiGroupSet(ConstHandle2Transportable This, ConstHandle2ConstMultiGroup multiGroup) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MultiGroupSet", This, extract::multiGroup, multiGroup); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.h new file mode 100644 index 000000000..9d55d0094 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.h @@ -0,0 +1,199 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Transportable is the basic handle type in this file. Example: +// // Create a default Transportable object: +// Transportable handle = TransportableDefault(); +// Functions involving Transportable are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_TRANSPORTABLE +#define C_INTERFACE_TRY_V2_0_STYLES_TRANSPORTABLE + +#include "GNDStk.h" +#include "v2.0/styles/MultiGroup.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TransportableClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Transportable +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TransportableClass *Transportable; + +// --- Const-aware handles. +typedef const struct TransportableClass *const ConstHandle2ConstTransportable; +typedef struct TransportableClass *const ConstHandle2Transportable; +typedef const struct TransportableClass * Handle2ConstTransportable; +typedef struct TransportableClass * Handle2Transportable; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTransportable +TransportableDefaultConst(); + +// +++ Create, default +extern_c Handle2Transportable +TransportableDefault(); + +// --- Create, general, const +extern_c Handle2ConstTransportable +TransportableCreateConst( + const XMLName conserve, + const XMLName label, + ConstHandle2ConstMultiGroup multiGroup +); + +// +++ Create, general +extern_c Handle2Transportable +TransportableCreate( + const XMLName conserve, + const XMLName label, + ConstHandle2ConstMultiGroup multiGroup +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TransportableAssign(ConstHandle2Transportable This, ConstHandle2ConstTransportable from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TransportableDelete(ConstHandle2ConstTransportable This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TransportableRead(ConstHandle2Transportable This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TransportableWrite(ConstHandle2ConstTransportable This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TransportablePrint(ConstHandle2ConstTransportable This); + +// +++ Print to standard output, as XML +extern_c int +TransportablePrintXML(ConstHandle2ConstTransportable This); + +// +++ Print to standard output, as JSON +extern_c int +TransportablePrintJSON(ConstHandle2ConstTransportable This); + + +// ----------------------------------------------------------------------------- +// Metadatum: conserve +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TransportableConserveHas(ConstHandle2ConstTransportable This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TransportableConserveGet(ConstHandle2ConstTransportable This); + +// +++ Set +extern_c void +TransportableConserveSet(ConstHandle2Transportable This, const XMLName conserve); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TransportableLabelHas(ConstHandle2ConstTransportable This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TransportableLabelGet(ConstHandle2ConstTransportable This); + +// +++ Set +extern_c void +TransportableLabelSet(ConstHandle2Transportable This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: multiGroup +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TransportableMultiGroupHas(ConstHandle2ConstTransportable This); + +// --- Get, const +extern_c Handle2ConstMultiGroup +TransportableMultiGroupGetConst(ConstHandle2ConstTransportable This); + +// +++ Get, non-const +extern_c Handle2MultiGroup +TransportableMultiGroupGet(ConstHandle2Transportable This); + +// +++ Set +extern_c void +TransportableMultiGroupSet(ConstHandle2Transportable This, ConstHandle2ConstMultiGroup multiGroup); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.cpp new file mode 100644 index 000000000..3aa4699df --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.cpp @@ -0,0 +1,330 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/Transportables.hpp" +#include "Transportables.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TransportablesClass; +using CPP = multigroup::Transportables; + +static const std::string CLASSNAME = "Transportables"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto transportable = [](auto &obj) { return &obj.transportable; }; +} + +using CPPTransportable = styles::Transportable; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTransportables +TransportablesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Transportables +TransportablesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTransportables +TransportablesCreateConst( + const XMLName label, + ConstHandle2Transportable *const transportable, const size_t transportableSize +) { + ConstHandle2Transportables handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + std::vector{} + ); + for (size_t TransportableN = 0; TransportableN < transportableSize; ++TransportableN) + TransportablesTransportableAdd(handle, transportable[TransportableN]); + return handle; +} + +// Create, general +Handle2Transportables +TransportablesCreate( + const XMLName label, + ConstHandle2Transportable *const transportable, const size_t transportableSize +) { + ConstHandle2Transportables handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + std::vector{} + ); + for (size_t TransportableN = 0; TransportableN < transportableSize; ++TransportableN) + TransportablesTransportableAdd(handle, transportable[TransportableN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TransportablesAssign(ConstHandle2Transportables This, ConstHandle2ConstTransportables from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TransportablesDelete(ConstHandle2ConstTransportables This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TransportablesRead(ConstHandle2Transportables This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TransportablesWrite(ConstHandle2ConstTransportables This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TransportablesPrint(ConstHandle2ConstTransportables This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TransportablesPrintXML(ConstHandle2ConstTransportables This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TransportablesPrintJSON(ConstHandle2ConstTransportables This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +TransportablesLabelHas(ConstHandle2ConstTransportables This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +TransportablesLabelGet(ConstHandle2ConstTransportables This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +TransportablesLabelSet(ConstHandle2Transportables This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: transportable +// ----------------------------------------------------------------------------- + +// Has +int +TransportablesTransportableHas(ConstHandle2ConstTransportables This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TransportableHas", This, extract::transportable); +} + +// Clear +void +TransportablesTransportableClear(ConstHandle2Transportables This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"TransportableClear", This, extract::transportable); +} + +// Size +size_t +TransportablesTransportableSize(ConstHandle2ConstTransportables This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"TransportableSize", This, extract::transportable); +} + +// Add +void +TransportablesTransportableAdd(ConstHandle2Transportables This, ConstHandle2ConstTransportable transportable) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"TransportableAdd", This, extract::transportable, transportable); +} + +// Get, by index \in [0,size), const +Handle2ConstTransportable +TransportablesTransportableGetConst(ConstHandle2ConstTransportables This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"TransportableGetConst", This, extract::transportable, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Transportable +TransportablesTransportableGet(ConstHandle2Transportables This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"TransportableGet", This, extract::transportable, index_); +} + +// Set, by index \in [0,size) +void +TransportablesTransportableSet( + ConstHandle2Transportables This, + const size_t index_, + ConstHandle2ConstTransportable transportable +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"TransportableSet", This, extract::transportable, index_, transportable); +} + +// Has, by conserve +int +TransportablesTransportableHasByConserve( + ConstHandle2ConstTransportables This, + const XMLName conserve +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TransportableHasByConserve", + This, extract::transportable, meta::conserve, conserve); +} + +// Get, by conserve, const +Handle2ConstTransportable +TransportablesTransportableGetByConserveConst( + ConstHandle2ConstTransportables This, + const XMLName conserve +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TransportableGetByConserveConst", + This, extract::transportable, meta::conserve, conserve); +} + +// Get, by conserve, non-const +Handle2Transportable +TransportablesTransportableGetByConserve( + ConstHandle2Transportables This, + const XMLName conserve +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TransportableGetByConserve", + This, extract::transportable, meta::conserve, conserve); +} + +// Set, by conserve +void +TransportablesTransportableSetByConserve( + ConstHandle2Transportables This, + const XMLName conserve, + ConstHandle2ConstTransportable transportable +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TransportableSetByConserve", + This, extract::transportable, meta::conserve, conserve, transportable); +} + +// Has, by label +int +TransportablesTransportableHasByLabel( + ConstHandle2ConstTransportables This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"TransportableHasByLabel", + This, extract::transportable, meta::label, label); +} + +// Get, by label, const +Handle2ConstTransportable +TransportablesTransportableGetByLabelConst( + ConstHandle2ConstTransportables This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TransportableGetByLabelConst", + This, extract::transportable, meta::label, label); +} + +// Get, by label, non-const +Handle2Transportable +TransportablesTransportableGetByLabel( + ConstHandle2Transportables This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"TransportableGetByLabel", + This, extract::transportable, meta::label, label); +} + +// Set, by label +void +TransportablesTransportableSetByLabel( + ConstHandle2Transportables This, + const XMLName label, + ConstHandle2ConstTransportable transportable +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"TransportableSetByLabel", + This, extract::transportable, meta::label, label, transportable); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.h new file mode 100644 index 000000000..d56d66736 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.h @@ -0,0 +1,253 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Transportables is the basic handle type in this file. Example: +// // Create a default Transportables object: +// Transportables handle = TransportablesDefault(); +// Functions involving Transportables are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_TRANSPORTABLES +#define C_INTERFACE_TRY_V2_0_STYLES_TRANSPORTABLES + +#include "GNDStk.h" +#include "v2.0/styles/Transportable.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TransportablesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Transportables +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TransportablesClass *Transportables; + +// --- Const-aware handles. +typedef const struct TransportablesClass *const ConstHandle2ConstTransportables; +typedef struct TransportablesClass *const ConstHandle2Transportables; +typedef const struct TransportablesClass * Handle2ConstTransportables; +typedef struct TransportablesClass * Handle2Transportables; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTransportables +TransportablesDefaultConst(); + +// +++ Create, default +extern_c Handle2Transportables +TransportablesDefault(); + +// --- Create, general, const +extern_c Handle2ConstTransportables +TransportablesCreateConst( + const XMLName label, + ConstHandle2Transportable *const transportable, const size_t transportableSize +); + +// +++ Create, general +extern_c Handle2Transportables +TransportablesCreate( + const XMLName label, + ConstHandle2Transportable *const transportable, const size_t transportableSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TransportablesAssign(ConstHandle2Transportables This, ConstHandle2ConstTransportables from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TransportablesDelete(ConstHandle2ConstTransportables This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TransportablesRead(ConstHandle2Transportables This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TransportablesWrite(ConstHandle2ConstTransportables This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TransportablesPrint(ConstHandle2ConstTransportables This); + +// +++ Print to standard output, as XML +extern_c int +TransportablesPrintXML(ConstHandle2ConstTransportables This); + +// +++ Print to standard output, as JSON +extern_c int +TransportablesPrintJSON(ConstHandle2ConstTransportables This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TransportablesLabelHas(ConstHandle2ConstTransportables This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TransportablesLabelGet(ConstHandle2ConstTransportables This); + +// +++ Set +extern_c void +TransportablesLabelSet(ConstHandle2Transportables This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: transportable +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TransportablesTransportableHas(ConstHandle2ConstTransportables This); + +// +++ Clear +extern_c void +TransportablesTransportableClear(ConstHandle2Transportables This); + +// +++ Size +extern_c size_t +TransportablesTransportableSize(ConstHandle2ConstTransportables This); + +// +++ Add +extern_c void +TransportablesTransportableAdd(ConstHandle2Transportables This, ConstHandle2ConstTransportable transportable); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstTransportable +TransportablesTransportableGetConst(ConstHandle2ConstTransportables This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Transportable +TransportablesTransportableGet(ConstHandle2Transportables This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +TransportablesTransportableSet( + ConstHandle2Transportables This, + const size_t index_, + ConstHandle2ConstTransportable transportable +); + +// +++ Has, by conserve +extern_c int +TransportablesTransportableHasByConserve( + ConstHandle2ConstTransportables This, + const XMLName conserve +); + +// --- Get, by conserve, const +extern_c Handle2ConstTransportable +TransportablesTransportableGetByConserveConst( + ConstHandle2ConstTransportables This, + const XMLName conserve +); + +// +++ Get, by conserve, non-const +extern_c Handle2Transportable +TransportablesTransportableGetByConserve( + ConstHandle2Transportables This, + const XMLName conserve +); + +// +++ Set, by conserve +extern_c void +TransportablesTransportableSetByConserve( + ConstHandle2Transportables This, + const XMLName conserve, + ConstHandle2ConstTransportable transportable +); + +// +++ Has, by label +extern_c int +TransportablesTransportableHasByLabel( + ConstHandle2ConstTransportables This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstTransportable +TransportablesTransportableGetByLabelConst( + ConstHandle2ConstTransportables This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Transportable +TransportablesTransportableGetByLabel( + ConstHandle2Transportables This, + const XMLName label +); + +// +++ Set, by label +extern_c void +TransportablesTransportableSetByLabel( + ConstHandle2Transportables This, + const XMLName label, + ConstHandle2ConstTransportable transportable +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.cpp new file mode 100644 index 000000000..9d16bd34f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/styles/URR_probabilityTables.hpp" +#include "URR_probabilityTables.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = URR_probabilityTablesClass; +using CPP = multigroup::URR_probabilityTables; + +static const std::string CLASSNAME = "URR_probabilityTables"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; + static auto derivedFrom = [](auto &obj) { return &obj.derivedFrom; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPDocumentation = documentation::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstURR_probabilityTables +URR_probabilityTablesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2URR_probabilityTables +URR_probabilityTablesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstURR_probabilityTables +URR_probabilityTablesCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2URR_probabilityTables handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + date, + derivedFrom, + label, + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2URR_probabilityTables +URR_probabilityTablesCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2URR_probabilityTables handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + date, + derivedFrom, + label, + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +URR_probabilityTablesAssign(ConstHandle2URR_probabilityTables This, ConstHandle2ConstURR_probabilityTables from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +URR_probabilityTablesDelete(ConstHandle2ConstURR_probabilityTables This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +URR_probabilityTablesRead(ConstHandle2URR_probabilityTables This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +URR_probabilityTablesWrite(ConstHandle2ConstURR_probabilityTables This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +URR_probabilityTablesPrint(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +URR_probabilityTablesPrintXML(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +URR_probabilityTablesPrintJSON(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +URR_probabilityTablesDateHas(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +URR_probabilityTablesDateGet(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +URR_probabilityTablesDateSet(ConstHandle2URR_probabilityTables This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// Has +int +URR_probabilityTablesDerivedFromHas(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DerivedFromHas", This, extract::derivedFrom); +} + +// Get +// Returns by value +XMLName +URR_probabilityTablesDerivedFromGet(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DerivedFromGet", This, extract::derivedFrom); +} + +// Set +void +URR_probabilityTablesDerivedFromSet(ConstHandle2URR_probabilityTables This, const XMLName derivedFrom) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DerivedFromSet", This, extract::derivedFrom, derivedFrom); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +URR_probabilityTablesLabelHas(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +URR_probabilityTablesLabelGet(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +URR_probabilityTablesLabelSet(ConstHandle2URR_probabilityTables This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +URR_probabilityTablesDocumentationHas(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +URR_probabilityTablesDocumentationGetConst(ConstHandle2ConstURR_probabilityTables This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +URR_probabilityTablesDocumentationGet(ConstHandle2URR_probabilityTables This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +URR_probabilityTablesDocumentationSet(ConstHandle2URR_probabilityTables This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.h b/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.h new file mode 100644 index 000000000..003044c13 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// URR_probabilityTables is the basic handle type in this file. Example: +// // Create a default URR_probabilityTables object: +// URR_probabilityTables handle = URR_probabilityTablesDefault(); +// Functions involving URR_probabilityTables are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_STYLES_URR_PROBABILITYTABLES +#define C_INTERFACE_TRY_V2_0_STYLES_URR_PROBABILITYTABLES + +#include "GNDStk.h" +#include "v2.0/documentation/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct URR_probabilityTablesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ URR_probabilityTables +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct URR_probabilityTablesClass *URR_probabilityTables; + +// --- Const-aware handles. +typedef const struct URR_probabilityTablesClass *const ConstHandle2ConstURR_probabilityTables; +typedef struct URR_probabilityTablesClass *const ConstHandle2URR_probabilityTables; +typedef const struct URR_probabilityTablesClass * Handle2ConstURR_probabilityTables; +typedef struct URR_probabilityTablesClass * Handle2URR_probabilityTables; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstURR_probabilityTables +URR_probabilityTablesDefaultConst(); + +// +++ Create, default +extern_c Handle2URR_probabilityTables +URR_probabilityTablesDefault(); + +// --- Create, general, const +extern_c Handle2ConstURR_probabilityTables +URR_probabilityTablesCreateConst( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2URR_probabilityTables +URR_probabilityTablesCreate( + const char *const date, + const XMLName derivedFrom, + const XMLName label, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +URR_probabilityTablesAssign(ConstHandle2URR_probabilityTables This, ConstHandle2ConstURR_probabilityTables from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +URR_probabilityTablesDelete(ConstHandle2ConstURR_probabilityTables This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +URR_probabilityTablesRead(ConstHandle2URR_probabilityTables This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +URR_probabilityTablesWrite(ConstHandle2ConstURR_probabilityTables This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +URR_probabilityTablesPrint(ConstHandle2ConstURR_probabilityTables This); + +// +++ Print to standard output, as XML +extern_c int +URR_probabilityTablesPrintXML(ConstHandle2ConstURR_probabilityTables This); + +// +++ Print to standard output, as JSON +extern_c int +URR_probabilityTablesPrintJSON(ConstHandle2ConstURR_probabilityTables This); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +URR_probabilityTablesDateHas(ConstHandle2ConstURR_probabilityTables This); + +// +++ Get +// +++ Returns by value +extern_c const char * +URR_probabilityTablesDateGet(ConstHandle2ConstURR_probabilityTables This); + +// +++ Set +extern_c void +URR_probabilityTablesDateSet(ConstHandle2URR_probabilityTables This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: derivedFrom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +URR_probabilityTablesDerivedFromHas(ConstHandle2ConstURR_probabilityTables This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +URR_probabilityTablesDerivedFromGet(ConstHandle2ConstURR_probabilityTables This); + +// +++ Set +extern_c void +URR_probabilityTablesDerivedFromSet(ConstHandle2URR_probabilityTables This, const XMLName derivedFrom); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +URR_probabilityTablesLabelHas(ConstHandle2ConstURR_probabilityTables This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +URR_probabilityTablesLabelGet(ConstHandle2ConstURR_probabilityTables This); + +// +++ Set +extern_c void +URR_probabilityTablesLabelSet(ConstHandle2URR_probabilityTables This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +URR_probabilityTablesDocumentationHas(ConstHandle2ConstURR_probabilityTables This); + +// --- Get, const +extern_c Handle2ConstDocumentation +URR_probabilityTablesDocumentationGetConst(ConstHandle2ConstURR_probabilityTables This); + +// +++ Get, non-const +extern_c Handle2Documentation +URR_probabilityTablesDocumentationGet(ConstHandle2URR_probabilityTables This); + +// +++ Set +extern_c void +URR_probabilityTablesDocumentationSet(ConstHandle2URR_probabilityTables This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp new file mode 100644 index 000000000..11959f92f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/A.hpp" +#include "A.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AClass; +using CPP = multigroup::A; + +static const std::string CLASSNAME = "A"; + +namespace extract { +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstA +ADefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2A +ADefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstA +ACreateConst( +) { + ConstHandle2A handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2A +ACreate( +) { + ConstHandle2A handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AAssign(ConstHandle2A This, ConstHandle2ConstA from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ADelete(ConstHandle2ConstA This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ARead(ConstHandle2A This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AWrite(ConstHandle2ConstA This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +APrint(ConstHandle2ConstA This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +APrintXML(ConstHandle2ConstA This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +APrintJSON(ConstHandle2ConstA This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/A.h b/standards/gnds-2.0/try/c/src/v2.0/transport/A.h new file mode 100644 index 000000000..20a6de80c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/A.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// A is the basic handle type in this file. Example: +// // Create a default A object: +// A handle = ADefault(); +// Functions involving A are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_A +#define C_INTERFACE_TRY_V2_0_TRANSPORT_A + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ A +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AClass *A; + +// --- Const-aware handles. +typedef const struct AClass *const ConstHandle2ConstA; +typedef struct AClass *const ConstHandle2A; +typedef const struct AClass * Handle2ConstA; +typedef struct AClass * Handle2A; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstA +ADefaultConst(); + +// +++ Create, default +extern_c Handle2A +ADefault(); + +// --- Create, general, const +extern_c Handle2ConstA +ACreateConst( +); + +// +++ Create, general +extern_c Handle2A +ACreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AAssign(ConstHandle2A This, ConstHandle2ConstA from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ADelete(ConstHandle2ConstA This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ARead(ConstHandle2A This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AWrite(ConstHandle2ConstA This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +APrint(ConstHandle2ConstA This); + +// +++ Print to standard output, as XML +extern_c int +APrintXML(ConstHandle2ConstA This); + +// +++ Print to standard output, as JSON +extern_c int +APrintJSON(ConstHandle2ConstA This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Add.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Add.cpp new file mode 100644 index 000000000..a4fd9c966 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Add.cpp @@ -0,0 +1,165 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Add.hpp" +#include "Add.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AddClass; +using CPP = multigroup::Add; + +static const std::string CLASSNAME = "Add"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAdd +AddDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Add +AddDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAdd +AddCreateConst( + const char *const href +) { + ConstHandle2Add handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href + ); + return handle; +} + +// Create, general +Handle2Add +AddCreate( + const char *const href +) { + ConstHandle2Add handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AddAssign(ConstHandle2Add This, ConstHandle2ConstAdd from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AddDelete(ConstHandle2ConstAdd This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AddRead(ConstHandle2Add This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AddWrite(ConstHandle2ConstAdd This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AddPrint(ConstHandle2ConstAdd This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AddPrintXML(ConstHandle2ConstAdd This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AddPrintJSON(ConstHandle2ConstAdd This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +AddHrefHas(ConstHandle2ConstAdd This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +AddHrefGet(ConstHandle2ConstAdd This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +AddHrefSet(ConstHandle2Add This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Add.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Add.h new file mode 100644 index 000000000..33c0b646d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Add.h @@ -0,0 +1,155 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Add is the basic handle type in this file. Example: +// // Create a default Add object: +// Add handle = AddDefault(); +// Functions involving Add are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ADD +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ADD + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AddClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Add +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AddClass *Add; + +// --- Const-aware handles. +typedef const struct AddClass *const ConstHandle2ConstAdd; +typedef struct AddClass *const ConstHandle2Add; +typedef const struct AddClass * Handle2ConstAdd; +typedef struct AddClass * Handle2Add; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAdd +AddDefaultConst(); + +// +++ Create, default +extern_c Handle2Add +AddDefault(); + +// --- Create, general, const +extern_c Handle2ConstAdd +AddCreateConst( + const char *const href +); + +// +++ Create, general +extern_c Handle2Add +AddCreate( + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AddAssign(ConstHandle2Add This, ConstHandle2ConstAdd from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AddDelete(ConstHandle2ConstAdd This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AddRead(ConstHandle2Add This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AddWrite(ConstHandle2ConstAdd This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AddPrint(ConstHandle2ConstAdd This); + +// +++ Print to standard output, as XML +extern_c int +AddPrintXML(ConstHandle2ConstAdd This); + +// +++ Print to standard output, as JSON +extern_c int +AddPrintJSON(ConstHandle2ConstAdd This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AddHrefHas(ConstHandle2ConstAdd This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AddHrefGet(ConstHandle2ConstAdd This); + +// +++ Set +extern_c void +AddHrefSet(ConstHandle2Add This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp new file mode 100644 index 000000000..6e56f262e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp @@ -0,0 +1,244 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/AngularEnergy.hpp" +#include "AngularEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AngularEnergyClass; +using CPP = multigroup::AngularEnergy; + +static const std::string CLASSNAME = "AngularEnergy"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto XYs3d = [](auto &obj) { return &obj.XYs3d; }; +} + +using CPPXYs3d = unknownNamespace::XYs3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAngularEnergy +AngularEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AngularEnergy +AngularEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAngularEnergy +AngularEnergyCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs3d XYs3d +) { + ConstHandle2AngularEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(XYs3d) + ); + return handle; +} + +// Create, general +Handle2AngularEnergy +AngularEnergyCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs3d XYs3d +) { + ConstHandle2AngularEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(XYs3d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AngularEnergyAssign(ConstHandle2AngularEnergy This, ConstHandle2ConstAngularEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AngularEnergyDelete(ConstHandle2ConstAngularEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AngularEnergyRead(ConstHandle2AngularEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AngularEnergyWrite(ConstHandle2ConstAngularEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AngularEnergyPrint(ConstHandle2ConstAngularEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AngularEnergyPrintXML(ConstHandle2ConstAngularEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AngularEnergyPrintJSON(ConstHandle2ConstAngularEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AngularEnergyLabelHas(ConstHandle2ConstAngularEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AngularEnergyLabelGet(ConstHandle2ConstAngularEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AngularEnergyLabelSet(ConstHandle2AngularEnergy This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +AngularEnergyProductFrameHas(ConstHandle2ConstAngularEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +AngularEnergyProductFrameGet(ConstHandle2ConstAngularEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +AngularEnergyProductFrameSet(ConstHandle2AngularEnergy This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs3d +// ----------------------------------------------------------------------------- + +// Has +int +AngularEnergyXYs3dHas(ConstHandle2ConstAngularEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs3dHas", This, extract::XYs3d); +} + +// Get, const +Handle2ConstXYs3d +AngularEnergyXYs3dGetConst(ConstHandle2ConstAngularEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs3dGetConst", This, extract::XYs3d); +} + +// Get, non-const +Handle2XYs3d +AngularEnergyXYs3dGet(ConstHandle2AngularEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs3dGet", This, extract::XYs3d); +} + +// Set +void +AngularEnergyXYs3dSet(ConstHandle2AngularEnergy This, ConstHandle2ConstXYs3d XYs3d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs3dSet", This, extract::XYs3d, XYs3d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h new file mode 100644 index 000000000..9e2d1a125 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h @@ -0,0 +1,199 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AngularEnergy is the basic handle type in this file. Example: +// // Create a default AngularEnergy object: +// AngularEnergy handle = AngularEnergyDefault(); +// Functions involving AngularEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARENERGY +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs3d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AngularEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AngularEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AngularEnergyClass *AngularEnergy; + +// --- Const-aware handles. +typedef const struct AngularEnergyClass *const ConstHandle2ConstAngularEnergy; +typedef struct AngularEnergyClass *const ConstHandle2AngularEnergy; +typedef const struct AngularEnergyClass * Handle2ConstAngularEnergy; +typedef struct AngularEnergyClass * Handle2AngularEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAngularEnergy +AngularEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2AngularEnergy +AngularEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstAngularEnergy +AngularEnergyCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs3d XYs3d +); + +// +++ Create, general +extern_c Handle2AngularEnergy +AngularEnergyCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs3d XYs3d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AngularEnergyAssign(ConstHandle2AngularEnergy This, ConstHandle2ConstAngularEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AngularEnergyDelete(ConstHandle2ConstAngularEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AngularEnergyRead(ConstHandle2AngularEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AngularEnergyWrite(ConstHandle2ConstAngularEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AngularEnergyPrint(ConstHandle2ConstAngularEnergy This); + +// +++ Print to standard output, as XML +extern_c int +AngularEnergyPrintXML(ConstHandle2ConstAngularEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +AngularEnergyPrintJSON(ConstHandle2ConstAngularEnergy This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularEnergyLabelHas(ConstHandle2ConstAngularEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AngularEnergyLabelGet(ConstHandle2ConstAngularEnergy This); + +// +++ Set +extern_c void +AngularEnergyLabelSet(ConstHandle2AngularEnergy This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularEnergyProductFrameHas(ConstHandle2ConstAngularEnergy This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AngularEnergyProductFrameGet(ConstHandle2ConstAngularEnergy This); + +// +++ Set +extern_c void +AngularEnergyProductFrameSet(ConstHandle2AngularEnergy This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: XYs3d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularEnergyXYs3dHas(ConstHandle2ConstAngularEnergy This); + +// --- Get, const +extern_c Handle2ConstXYs3d +AngularEnergyXYs3dGetConst(ConstHandle2ConstAngularEnergy This); + +// +++ Get, non-const +extern_c Handle2XYs3d +AngularEnergyXYs3dGet(ConstHandle2AngularEnergy This); + +// +++ Set +extern_c void +AngularEnergyXYs3dSet(ConstHandle2AngularEnergy This, ConstHandle2ConstXYs3d XYs3d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp new file mode 100644 index 000000000..713b3f0c5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp @@ -0,0 +1,373 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/AngularTwoBody.hpp" +#include "AngularTwoBody.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AngularTwoBodyClass; +using CPP = multigroup::AngularTwoBody; + +static const std::string CLASSNAME = "AngularTwoBody"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; + static auto regions2d = [](auto &obj) { return &obj.regions2d; }; + static auto isotropic2d = [](auto &obj) { return &obj.isotropic2d; }; + static auto recoil = [](auto &obj) { return &obj.recoil; }; +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; +using CPPIsotropic2d = transport::Isotropic2d; +using CPPRecoil = transport::Recoil; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAngularTwoBody +AngularTwoBodyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2AngularTwoBody +AngularTwoBodyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAngularTwoBody +AngularTwoBodyCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d, + ConstHandle2ConstIsotropic2d isotropic2d, + ConstHandle2ConstRecoil recoil +) { + ConstHandle2AngularTwoBody handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(XYs2d), + detail::tocpp(regions2d), + detail::tocpp(isotropic2d), + detail::tocpp(recoil) + ); + return handle; +} + +// Create, general +Handle2AngularTwoBody +AngularTwoBodyCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d, + ConstHandle2ConstIsotropic2d isotropic2d, + ConstHandle2ConstRecoil recoil +) { + ConstHandle2AngularTwoBody handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(XYs2d), + detail::tocpp(regions2d), + detail::tocpp(isotropic2d), + detail::tocpp(recoil) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AngularTwoBodyAssign(ConstHandle2AngularTwoBody This, ConstHandle2ConstAngularTwoBody from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AngularTwoBodyDelete(ConstHandle2ConstAngularTwoBody This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AngularTwoBodyRead(ConstHandle2AngularTwoBody This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AngularTwoBodyWrite(ConstHandle2ConstAngularTwoBody This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AngularTwoBodyPrint(ConstHandle2ConstAngularTwoBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AngularTwoBodyPrintXML(ConstHandle2ConstAngularTwoBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AngularTwoBodyPrintJSON(ConstHandle2ConstAngularTwoBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AngularTwoBodyLabelHas(ConstHandle2ConstAngularTwoBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AngularTwoBodyLabelGet(ConstHandle2ConstAngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AngularTwoBodyLabelSet(ConstHandle2AngularTwoBody This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +AngularTwoBodyProductFrameHas(ConstHandle2ConstAngularTwoBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +AngularTwoBodyProductFrameGet(ConstHandle2ConstAngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +AngularTwoBodyProductFrameSet(ConstHandle2AngularTwoBody This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// Has +int +AngularTwoBodyXYs2dHas(ConstHandle2ConstAngularTwoBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs2dHas", This, extract::XYs2d); +} + +// Get, const +Handle2ConstXYs2d +AngularTwoBodyXYs2dGetConst(ConstHandle2ConstAngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGetConst", This, extract::XYs2d); +} + +// Get, non-const +Handle2XYs2d +AngularTwoBodyXYs2dGet(ConstHandle2AngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGet", This, extract::XYs2d); +} + +// Set +void +AngularTwoBodyXYs2dSet(ConstHandle2AngularTwoBody This, ConstHandle2ConstXYs2d XYs2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs2dSet", This, extract::XYs2d, XYs2d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// Has +int +AngularTwoBodyRegions2dHas(ConstHandle2ConstAngularTwoBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions2dHas", This, extract::regions2d); +} + +// Get, const +Handle2ConstRegions2d +AngularTwoBodyRegions2dGetConst(ConstHandle2ConstAngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGetConst", This, extract::regions2d); +} + +// Get, non-const +Handle2Regions2d +AngularTwoBodyRegions2dGet(ConstHandle2AngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGet", This, extract::regions2d); +} + +// Set +void +AngularTwoBodyRegions2dSet(ConstHandle2AngularTwoBody This, ConstHandle2ConstRegions2d regions2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions2dSet", This, extract::regions2d, regions2d); +} + + +// ----------------------------------------------------------------------------- +// Child: isotropic2d +// ----------------------------------------------------------------------------- + +// Has +int +AngularTwoBodyIsotropic2dHas(ConstHandle2ConstAngularTwoBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Isotropic2dHas", This, extract::isotropic2d); +} + +// Get, const +Handle2ConstIsotropic2d +AngularTwoBodyIsotropic2dGetConst(ConstHandle2ConstAngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Isotropic2dGetConst", This, extract::isotropic2d); +} + +// Get, non-const +Handle2Isotropic2d +AngularTwoBodyIsotropic2dGet(ConstHandle2AngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Isotropic2dGet", This, extract::isotropic2d); +} + +// Set +void +AngularTwoBodyIsotropic2dSet(ConstHandle2AngularTwoBody This, ConstHandle2ConstIsotropic2d isotropic2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Isotropic2dSet", This, extract::isotropic2d, isotropic2d); +} + + +// ----------------------------------------------------------------------------- +// Child: recoil +// ----------------------------------------------------------------------------- + +// Has +int +AngularTwoBodyRecoilHas(ConstHandle2ConstAngularTwoBody This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RecoilHas", This, extract::recoil); +} + +// Get, const +Handle2ConstRecoil +AngularTwoBodyRecoilGetConst(ConstHandle2ConstAngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RecoilGetConst", This, extract::recoil); +} + +// Get, non-const +Handle2Recoil +AngularTwoBodyRecoilGet(ConstHandle2AngularTwoBody This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RecoilGet", This, extract::recoil); +} + +// Set +void +AngularTwoBodyRecoilSet(ConstHandle2AngularTwoBody This, ConstHandle2ConstRecoil recoil) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RecoilSet", This, extract::recoil, recoil); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h new file mode 100644 index 000000000..7d1868d1d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h @@ -0,0 +1,271 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// AngularTwoBody is the basic handle type in this file. Example: +// // Create a default AngularTwoBody object: +// AngularTwoBody handle = AngularTwoBodyDefault(); +// Functions involving AngularTwoBody are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARTWOBODY +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARTWOBODY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/transport/Isotropic2d.h" +#include "v2.0/transport/Recoil.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AngularTwoBodyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ AngularTwoBody +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AngularTwoBodyClass *AngularTwoBody; + +// --- Const-aware handles. +typedef const struct AngularTwoBodyClass *const ConstHandle2ConstAngularTwoBody; +typedef struct AngularTwoBodyClass *const ConstHandle2AngularTwoBody; +typedef const struct AngularTwoBodyClass * Handle2ConstAngularTwoBody; +typedef struct AngularTwoBodyClass * Handle2AngularTwoBody; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAngularTwoBody +AngularTwoBodyDefaultConst(); + +// +++ Create, default +extern_c Handle2AngularTwoBody +AngularTwoBodyDefault(); + +// --- Create, general, const +extern_c Handle2ConstAngularTwoBody +AngularTwoBodyCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d, + ConstHandle2ConstIsotropic2d isotropic2d, + ConstHandle2ConstRecoil recoil +); + +// +++ Create, general +extern_c Handle2AngularTwoBody +AngularTwoBodyCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d, + ConstHandle2ConstIsotropic2d isotropic2d, + ConstHandle2ConstRecoil recoil +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AngularTwoBodyAssign(ConstHandle2AngularTwoBody This, ConstHandle2ConstAngularTwoBody from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AngularTwoBodyDelete(ConstHandle2ConstAngularTwoBody This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AngularTwoBodyRead(ConstHandle2AngularTwoBody This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AngularTwoBodyWrite(ConstHandle2ConstAngularTwoBody This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AngularTwoBodyPrint(ConstHandle2ConstAngularTwoBody This); + +// +++ Print to standard output, as XML +extern_c int +AngularTwoBodyPrintXML(ConstHandle2ConstAngularTwoBody This); + +// +++ Print to standard output, as JSON +extern_c int +AngularTwoBodyPrintJSON(ConstHandle2ConstAngularTwoBody This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularTwoBodyLabelHas(ConstHandle2ConstAngularTwoBody This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AngularTwoBodyLabelGet(ConstHandle2ConstAngularTwoBody This); + +// +++ Set +extern_c void +AngularTwoBodyLabelSet(ConstHandle2AngularTwoBody This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularTwoBodyProductFrameHas(ConstHandle2ConstAngularTwoBody This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AngularTwoBodyProductFrameGet(ConstHandle2ConstAngularTwoBody This); + +// +++ Set +extern_c void +AngularTwoBodyProductFrameSet(ConstHandle2AngularTwoBody This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularTwoBodyXYs2dHas(ConstHandle2ConstAngularTwoBody This); + +// --- Get, const +extern_c Handle2ConstXYs2d +AngularTwoBodyXYs2dGetConst(ConstHandle2ConstAngularTwoBody This); + +// +++ Get, non-const +extern_c Handle2XYs2d +AngularTwoBodyXYs2dGet(ConstHandle2AngularTwoBody This); + +// +++ Set +extern_c void +AngularTwoBodyXYs2dSet(ConstHandle2AngularTwoBody This, ConstHandle2ConstXYs2d XYs2d); + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularTwoBodyRegions2dHas(ConstHandle2ConstAngularTwoBody This); + +// --- Get, const +extern_c Handle2ConstRegions2d +AngularTwoBodyRegions2dGetConst(ConstHandle2ConstAngularTwoBody This); + +// +++ Get, non-const +extern_c Handle2Regions2d +AngularTwoBodyRegions2dGet(ConstHandle2AngularTwoBody This); + +// +++ Set +extern_c void +AngularTwoBodyRegions2dSet(ConstHandle2AngularTwoBody This, ConstHandle2ConstRegions2d regions2d); + + +// ----------------------------------------------------------------------------- +// Child: isotropic2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularTwoBodyIsotropic2dHas(ConstHandle2ConstAngularTwoBody This); + +// --- Get, const +extern_c Handle2ConstIsotropic2d +AngularTwoBodyIsotropic2dGetConst(ConstHandle2ConstAngularTwoBody This); + +// +++ Get, non-const +extern_c Handle2Isotropic2d +AngularTwoBodyIsotropic2dGet(ConstHandle2AngularTwoBody This); + +// +++ Set +extern_c void +AngularTwoBodyIsotropic2dSet(ConstHandle2AngularTwoBody This, ConstHandle2ConstIsotropic2d isotropic2d); + + +// ----------------------------------------------------------------------------- +// Child: recoil +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AngularTwoBodyRecoilHas(ConstHandle2ConstAngularTwoBody This); + +// --- Get, const +extern_c Handle2ConstRecoil +AngularTwoBodyRecoilGetConst(ConstHandle2ConstAngularTwoBody This); + +// +++ Get, non-const +extern_c Handle2Recoil +AngularTwoBodyRecoilGet(ConstHandle2AngularTwoBody This); + +// +++ Set +extern_c void +AngularTwoBodyRecoilSet(ConstHandle2AngularTwoBody This, ConstHandle2ConstRecoil recoil); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp new file mode 100644 index 000000000..60ba489c3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Angular_uncorrelated.hpp" +#include "Angular_uncorrelated.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Angular_uncorrelatedClass; +using CPP = multigroup::Angular_uncorrelated; + +static const std::string CLASSNAME = "Angular_uncorrelated"; + +namespace extract { + static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; + static auto isotropic2d = [](auto &obj) { return &obj.isotropic2d; }; + static auto forward = [](auto &obj) { return &obj.forward; }; +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPIsotropic2d = transport::Isotropic2d; +using CPPForward = transport::Forward; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAngular_uncorrelated +Angular_uncorrelatedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Angular_uncorrelated +Angular_uncorrelatedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAngular_uncorrelated +Angular_uncorrelatedCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstIsotropic2d isotropic2d, + ConstHandle2ConstForward forward +) { + ConstHandle2Angular_uncorrelated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs2d), + detail::tocpp(isotropic2d), + detail::tocpp(forward) + ); + return handle; +} + +// Create, general +Handle2Angular_uncorrelated +Angular_uncorrelatedCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstIsotropic2d isotropic2d, + ConstHandle2ConstForward forward +) { + ConstHandle2Angular_uncorrelated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs2d), + detail::tocpp(isotropic2d), + detail::tocpp(forward) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Angular_uncorrelatedAssign(ConstHandle2Angular_uncorrelated This, ConstHandle2ConstAngular_uncorrelated from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Angular_uncorrelatedDelete(ConstHandle2ConstAngular_uncorrelated This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Angular_uncorrelatedRead(ConstHandle2Angular_uncorrelated This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Angular_uncorrelatedWrite(ConstHandle2ConstAngular_uncorrelated This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Angular_uncorrelatedPrint(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Angular_uncorrelatedPrintXML(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Angular_uncorrelatedPrintJSON(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// Has +int +Angular_uncorrelatedXYs2dHas(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs2dHas", This, extract::XYs2d); +} + +// Get, const +Handle2ConstXYs2d +Angular_uncorrelatedXYs2dGetConst(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGetConst", This, extract::XYs2d); +} + +// Get, non-const +Handle2XYs2d +Angular_uncorrelatedXYs2dGet(ConstHandle2Angular_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGet", This, extract::XYs2d); +} + +// Set +void +Angular_uncorrelatedXYs2dSet(ConstHandle2Angular_uncorrelated This, ConstHandle2ConstXYs2d XYs2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs2dSet", This, extract::XYs2d, XYs2d); +} + + +// ----------------------------------------------------------------------------- +// Child: isotropic2d +// ----------------------------------------------------------------------------- + +// Has +int +Angular_uncorrelatedIsotropic2dHas(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Isotropic2dHas", This, extract::isotropic2d); +} + +// Get, const +Handle2ConstIsotropic2d +Angular_uncorrelatedIsotropic2dGetConst(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Isotropic2dGetConst", This, extract::isotropic2d); +} + +// Get, non-const +Handle2Isotropic2d +Angular_uncorrelatedIsotropic2dGet(ConstHandle2Angular_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Isotropic2dGet", This, extract::isotropic2d); +} + +// Set +void +Angular_uncorrelatedIsotropic2dSet(ConstHandle2Angular_uncorrelated This, ConstHandle2ConstIsotropic2d isotropic2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Isotropic2dSet", This, extract::isotropic2d, isotropic2d); +} + + +// ----------------------------------------------------------------------------- +// Child: forward +// ----------------------------------------------------------------------------- + +// Has +int +Angular_uncorrelatedForwardHas(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ForwardHas", This, extract::forward); +} + +// Get, const +Handle2ConstForward +Angular_uncorrelatedForwardGetConst(ConstHandle2ConstAngular_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ForwardGetConst", This, extract::forward); +} + +// Get, non-const +Handle2Forward +Angular_uncorrelatedForwardGet(ConstHandle2Angular_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ForwardGet", This, extract::forward); +} + +// Set +void +Angular_uncorrelatedForwardSet(ConstHandle2Angular_uncorrelated This, ConstHandle2ConstForward forward) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ForwardSet", This, extract::forward, forward); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h new file mode 100644 index 000000000..c60e849a2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Angular_uncorrelated is the basic handle type in this file. Example: +// // Create a default Angular_uncorrelated object: +// Angular_uncorrelated handle = Angular_uncorrelatedDefault(); +// Functions involving Angular_uncorrelated are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/transport/Isotropic2d.h" +#include "v2.0/transport/Forward.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Angular_uncorrelatedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Angular_uncorrelated +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Angular_uncorrelatedClass *Angular_uncorrelated; + +// --- Const-aware handles. +typedef const struct Angular_uncorrelatedClass *const ConstHandle2ConstAngular_uncorrelated; +typedef struct Angular_uncorrelatedClass *const ConstHandle2Angular_uncorrelated; +typedef const struct Angular_uncorrelatedClass * Handle2ConstAngular_uncorrelated; +typedef struct Angular_uncorrelatedClass * Handle2Angular_uncorrelated; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAngular_uncorrelated +Angular_uncorrelatedDefaultConst(); + +// +++ Create, default +extern_c Handle2Angular_uncorrelated +Angular_uncorrelatedDefault(); + +// --- Create, general, const +extern_c Handle2ConstAngular_uncorrelated +Angular_uncorrelatedCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstIsotropic2d isotropic2d, + ConstHandle2ConstForward forward +); + +// +++ Create, general +extern_c Handle2Angular_uncorrelated +Angular_uncorrelatedCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstIsotropic2d isotropic2d, + ConstHandle2ConstForward forward +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Angular_uncorrelatedAssign(ConstHandle2Angular_uncorrelated This, ConstHandle2ConstAngular_uncorrelated from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Angular_uncorrelatedDelete(ConstHandle2ConstAngular_uncorrelated This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Angular_uncorrelatedRead(ConstHandle2Angular_uncorrelated This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Angular_uncorrelatedWrite(ConstHandle2ConstAngular_uncorrelated This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Angular_uncorrelatedPrint(ConstHandle2ConstAngular_uncorrelated This); + +// +++ Print to standard output, as XML +extern_c int +Angular_uncorrelatedPrintXML(ConstHandle2ConstAngular_uncorrelated This); + +// +++ Print to standard output, as JSON +extern_c int +Angular_uncorrelatedPrintJSON(ConstHandle2ConstAngular_uncorrelated This); + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Angular_uncorrelatedXYs2dHas(ConstHandle2ConstAngular_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstXYs2d +Angular_uncorrelatedXYs2dGetConst(ConstHandle2ConstAngular_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2XYs2d +Angular_uncorrelatedXYs2dGet(ConstHandle2Angular_uncorrelated This); + +// +++ Set +extern_c void +Angular_uncorrelatedXYs2dSet(ConstHandle2Angular_uncorrelated This, ConstHandle2ConstXYs2d XYs2d); + + +// ----------------------------------------------------------------------------- +// Child: isotropic2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Angular_uncorrelatedIsotropic2dHas(ConstHandle2ConstAngular_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstIsotropic2d +Angular_uncorrelatedIsotropic2dGetConst(ConstHandle2ConstAngular_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2Isotropic2d +Angular_uncorrelatedIsotropic2dGet(ConstHandle2Angular_uncorrelated This); + +// +++ Set +extern_c void +Angular_uncorrelatedIsotropic2dSet(ConstHandle2Angular_uncorrelated This, ConstHandle2ConstIsotropic2d isotropic2d); + + +// ----------------------------------------------------------------------------- +// Child: forward +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Angular_uncorrelatedForwardHas(ConstHandle2ConstAngular_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstForward +Angular_uncorrelatedForwardGetConst(ConstHandle2ConstAngular_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2Forward +Angular_uncorrelatedForwardGet(ConstHandle2Angular_uncorrelated This); + +// +++ Set +extern_c void +Angular_uncorrelatedForwardSet(ConstHandle2Angular_uncorrelated This, ConstHandle2ConstForward forward); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Background.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Background.cpp new file mode 100644 index 000000000..331a2fbe6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Background.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Background.hpp" +#include "Background.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BackgroundClass; +using CPP = multigroup::Background; + +static const std::string CLASSNAME = "Background"; + +namespace extract { + static auto resolvedRegion = [](auto &obj) { return &obj.resolvedRegion; }; + static auto unresolvedRegion = [](auto &obj) { return &obj.unresolvedRegion; }; + static auto fastRegion = [](auto &obj) { return &obj.fastRegion; }; +} + +using CPPResolvedRegion = transport::ResolvedRegion; +using CPPUnresolvedRegion = transport::UnresolvedRegion; +using CPPFastRegion = transport::FastRegion; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBackground +BackgroundDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Background +BackgroundDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBackground +BackgroundCreateConst( + ConstHandle2ConstResolvedRegion resolvedRegion, + ConstHandle2ConstUnresolvedRegion unresolvedRegion, + ConstHandle2ConstFastRegion fastRegion +) { + ConstHandle2Background handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(resolvedRegion), + detail::tocpp(unresolvedRegion), + detail::tocpp(fastRegion) + ); + return handle; +} + +// Create, general +Handle2Background +BackgroundCreate( + ConstHandle2ConstResolvedRegion resolvedRegion, + ConstHandle2ConstUnresolvedRegion unresolvedRegion, + ConstHandle2ConstFastRegion fastRegion +) { + ConstHandle2Background handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(resolvedRegion), + detail::tocpp(unresolvedRegion), + detail::tocpp(fastRegion) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BackgroundAssign(ConstHandle2Background This, ConstHandle2ConstBackground from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BackgroundDelete(ConstHandle2ConstBackground This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BackgroundRead(ConstHandle2Background This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BackgroundWrite(ConstHandle2ConstBackground This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BackgroundPrint(ConstHandle2ConstBackground This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BackgroundPrintXML(ConstHandle2ConstBackground This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BackgroundPrintJSON(ConstHandle2ConstBackground This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: resolvedRegion +// ----------------------------------------------------------------------------- + +// Has +int +BackgroundResolvedRegionHas(ConstHandle2ConstBackground This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResolvedRegionHas", This, extract::resolvedRegion); +} + +// Get, const +Handle2ConstResolvedRegion +BackgroundResolvedRegionGetConst(ConstHandle2ConstBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResolvedRegionGetConst", This, extract::resolvedRegion); +} + +// Get, non-const +Handle2ResolvedRegion +BackgroundResolvedRegionGet(ConstHandle2Background This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResolvedRegionGet", This, extract::resolvedRegion); +} + +// Set +void +BackgroundResolvedRegionSet(ConstHandle2Background This, ConstHandle2ConstResolvedRegion resolvedRegion) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResolvedRegionSet", This, extract::resolvedRegion, resolvedRegion); +} + + +// ----------------------------------------------------------------------------- +// Child: unresolvedRegion +// ----------------------------------------------------------------------------- + +// Has +int +BackgroundUnresolvedRegionHas(ConstHandle2ConstBackground This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnresolvedRegionHas", This, extract::unresolvedRegion); +} + +// Get, const +Handle2ConstUnresolvedRegion +BackgroundUnresolvedRegionGetConst(ConstHandle2ConstBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnresolvedRegionGetConst", This, extract::unresolvedRegion); +} + +// Get, non-const +Handle2UnresolvedRegion +BackgroundUnresolvedRegionGet(ConstHandle2Background This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnresolvedRegionGet", This, extract::unresolvedRegion); +} + +// Set +void +BackgroundUnresolvedRegionSet(ConstHandle2Background This, ConstHandle2ConstUnresolvedRegion unresolvedRegion) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnresolvedRegionSet", This, extract::unresolvedRegion, unresolvedRegion); +} + + +// ----------------------------------------------------------------------------- +// Child: fastRegion +// ----------------------------------------------------------------------------- + +// Has +int +BackgroundFastRegionHas(ConstHandle2ConstBackground This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FastRegionHas", This, extract::fastRegion); +} + +// Get, const +Handle2ConstFastRegion +BackgroundFastRegionGetConst(ConstHandle2ConstBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FastRegionGetConst", This, extract::fastRegion); +} + +// Get, non-const +Handle2FastRegion +BackgroundFastRegionGet(ConstHandle2Background This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FastRegionGet", This, extract::fastRegion); +} + +// Set +void +BackgroundFastRegionSet(ConstHandle2Background This, ConstHandle2ConstFastRegion fastRegion) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FastRegionSet", This, extract::fastRegion, fastRegion); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Background.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Background.h new file mode 100644 index 000000000..abbfaed6b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Background.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Background is the basic handle type in this file. Example: +// // Create a default Background object: +// Background handle = BackgroundDefault(); +// Functions involving Background are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_BACKGROUND +#define C_INTERFACE_TRY_V2_0_TRANSPORT_BACKGROUND + +#include "GNDStk.h" +#include "v2.0/transport/ResolvedRegion.h" +#include "v2.0/transport/UnresolvedRegion.h" +#include "v2.0/transport/FastRegion.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BackgroundClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Background +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BackgroundClass *Background; + +// --- Const-aware handles. +typedef const struct BackgroundClass *const ConstHandle2ConstBackground; +typedef struct BackgroundClass *const ConstHandle2Background; +typedef const struct BackgroundClass * Handle2ConstBackground; +typedef struct BackgroundClass * Handle2Background; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBackground +BackgroundDefaultConst(); + +// +++ Create, default +extern_c Handle2Background +BackgroundDefault(); + +// --- Create, general, const +extern_c Handle2ConstBackground +BackgroundCreateConst( + ConstHandle2ConstResolvedRegion resolvedRegion, + ConstHandle2ConstUnresolvedRegion unresolvedRegion, + ConstHandle2ConstFastRegion fastRegion +); + +// +++ Create, general +extern_c Handle2Background +BackgroundCreate( + ConstHandle2ConstResolvedRegion resolvedRegion, + ConstHandle2ConstUnresolvedRegion unresolvedRegion, + ConstHandle2ConstFastRegion fastRegion +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BackgroundAssign(ConstHandle2Background This, ConstHandle2ConstBackground from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BackgroundDelete(ConstHandle2ConstBackground This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BackgroundRead(ConstHandle2Background This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BackgroundWrite(ConstHandle2ConstBackground This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BackgroundPrint(ConstHandle2ConstBackground This); + +// +++ Print to standard output, as XML +extern_c int +BackgroundPrintXML(ConstHandle2ConstBackground This); + +// +++ Print to standard output, as JSON +extern_c int +BackgroundPrintJSON(ConstHandle2ConstBackground This); + + +// ----------------------------------------------------------------------------- +// Child: resolvedRegion +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BackgroundResolvedRegionHas(ConstHandle2ConstBackground This); + +// --- Get, const +extern_c Handle2ConstResolvedRegion +BackgroundResolvedRegionGetConst(ConstHandle2ConstBackground This); + +// +++ Get, non-const +extern_c Handle2ResolvedRegion +BackgroundResolvedRegionGet(ConstHandle2Background This); + +// +++ Set +extern_c void +BackgroundResolvedRegionSet(ConstHandle2Background This, ConstHandle2ConstResolvedRegion resolvedRegion); + + +// ----------------------------------------------------------------------------- +// Child: unresolvedRegion +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BackgroundUnresolvedRegionHas(ConstHandle2ConstBackground This); + +// --- Get, const +extern_c Handle2ConstUnresolvedRegion +BackgroundUnresolvedRegionGetConst(ConstHandle2ConstBackground This); + +// +++ Get, non-const +extern_c Handle2UnresolvedRegion +BackgroundUnresolvedRegionGet(ConstHandle2Background This); + +// +++ Set +extern_c void +BackgroundUnresolvedRegionSet(ConstHandle2Background This, ConstHandle2ConstUnresolvedRegion unresolvedRegion); + + +// ----------------------------------------------------------------------------- +// Child: fastRegion +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BackgroundFastRegionHas(ConstHandle2ConstBackground This); + +// --- Get, const +extern_c Handle2ConstFastRegion +BackgroundFastRegionGetConst(ConstHandle2ConstBackground This); + +// +++ Get, non-const +extern_c Handle2FastRegion +BackgroundFastRegionGet(ConstHandle2Background This); + +// +++ Set +extern_c void +BackgroundFastRegionSet(ConstHandle2Background This, ConstHandle2ConstFastRegion fastRegion); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.cpp new file mode 100644 index 000000000..6ce0bd808 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.cpp @@ -0,0 +1,165 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Branching1d.hpp" +#include "Branching1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Branching1dClass; +using CPP = multigroup::Branching1d; + +static const std::string CLASSNAME = "Branching1d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBranching1d +Branching1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Branching1d +Branching1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBranching1d +Branching1dCreateConst( + const XMLName label +) { + ConstHandle2Branching1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label + ); + return handle; +} + +// Create, general +Handle2Branching1d +Branching1dCreate( + const XMLName label +) { + ConstHandle2Branching1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Branching1dAssign(ConstHandle2Branching1d This, ConstHandle2ConstBranching1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Branching1dDelete(ConstHandle2ConstBranching1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Branching1dRead(ConstHandle2Branching1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Branching1dWrite(ConstHandle2ConstBranching1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Branching1dPrint(ConstHandle2ConstBranching1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Branching1dPrintXML(ConstHandle2ConstBranching1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Branching1dPrintJSON(ConstHandle2ConstBranching1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Branching1dLabelHas(ConstHandle2ConstBranching1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Branching1dLabelGet(ConstHandle2ConstBranching1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Branching1dLabelSet(ConstHandle2Branching1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.h new file mode 100644 index 000000000..a98df36c5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.h @@ -0,0 +1,155 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Branching1d is the basic handle type in this file. Example: +// // Create a default Branching1d object: +// Branching1d handle = Branching1dDefault(); +// Functions involving Branching1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_BRANCHING1D +#define C_INTERFACE_TRY_V2_0_TRANSPORT_BRANCHING1D + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Branching1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Branching1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Branching1dClass *Branching1d; + +// --- Const-aware handles. +typedef const struct Branching1dClass *const ConstHandle2ConstBranching1d; +typedef struct Branching1dClass *const ConstHandle2Branching1d; +typedef const struct Branching1dClass * Handle2ConstBranching1d; +typedef struct Branching1dClass * Handle2Branching1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBranching1d +Branching1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Branching1d +Branching1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstBranching1d +Branching1dCreateConst( + const XMLName label +); + +// +++ Create, general +extern_c Handle2Branching1d +Branching1dCreate( + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Branching1dAssign(ConstHandle2Branching1d This, ConstHandle2ConstBranching1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Branching1dDelete(ConstHandle2ConstBranching1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Branching1dRead(ConstHandle2Branching1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Branching1dWrite(ConstHandle2ConstBranching1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Branching1dPrint(ConstHandle2ConstBranching1d This); + +// +++ Print to standard output, as XML +extern_c int +Branching1dPrintXML(ConstHandle2ConstBranching1d This); + +// +++ Print to standard output, as JSON +extern_c int +Branching1dPrintJSON(ConstHandle2ConstBranching1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Branching1dLabelHas(ConstHandle2ConstBranching1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Branching1dLabelGet(ConstHandle2ConstBranching1d This); + +// +++ Set +extern_c void +Branching1dLabelSet(ConstHandle2Branching1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.cpp new file mode 100644 index 000000000..afc3fa6af --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Branching3d.hpp" +#include "Branching3d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Branching3dClass; +using CPP = multigroup::Branching3d; + +static const std::string CLASSNAME = "Branching3d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBranching3d +Branching3dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Branching3d +Branching3dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBranching3d +Branching3dCreateConst( + const XMLName label, + const XMLName productFrame +) { + ConstHandle2Branching3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame + ); + return handle; +} + +// Create, general +Handle2Branching3d +Branching3dCreate( + const XMLName label, + const XMLName productFrame +) { + ConstHandle2Branching3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Branching3dAssign(ConstHandle2Branching3d This, ConstHandle2ConstBranching3d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Branching3dDelete(ConstHandle2ConstBranching3d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Branching3dRead(ConstHandle2Branching3d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Branching3dWrite(ConstHandle2ConstBranching3d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Branching3dPrint(ConstHandle2ConstBranching3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Branching3dPrintXML(ConstHandle2ConstBranching3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Branching3dPrintJSON(ConstHandle2ConstBranching3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Branching3dLabelHas(ConstHandle2ConstBranching3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Branching3dLabelGet(ConstHandle2ConstBranching3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Branching3dLabelSet(ConstHandle2Branching3d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +Branching3dProductFrameHas(ConstHandle2ConstBranching3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +Branching3dProductFrameGet(ConstHandle2ConstBranching3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +Branching3dProductFrameSet(ConstHandle2Branching3d This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.h new file mode 100644 index 000000000..49304c398 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Branching3d is the basic handle type in this file. Example: +// // Create a default Branching3d object: +// Branching3d handle = Branching3dDefault(); +// Functions involving Branching3d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_BRANCHING3D +#define C_INTERFACE_TRY_V2_0_TRANSPORT_BRANCHING3D + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Branching3dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Branching3d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Branching3dClass *Branching3d; + +// --- Const-aware handles. +typedef const struct Branching3dClass *const ConstHandle2ConstBranching3d; +typedef struct Branching3dClass *const ConstHandle2Branching3d; +typedef const struct Branching3dClass * Handle2ConstBranching3d; +typedef struct Branching3dClass * Handle2Branching3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBranching3d +Branching3dDefaultConst(); + +// +++ Create, default +extern_c Handle2Branching3d +Branching3dDefault(); + +// --- Create, general, const +extern_c Handle2ConstBranching3d +Branching3dCreateConst( + const XMLName label, + const XMLName productFrame +); + +// +++ Create, general +extern_c Handle2Branching3d +Branching3dCreate( + const XMLName label, + const XMLName productFrame +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Branching3dAssign(ConstHandle2Branching3d This, ConstHandle2ConstBranching3d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Branching3dDelete(ConstHandle2ConstBranching3d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Branching3dRead(ConstHandle2Branching3d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Branching3dWrite(ConstHandle2ConstBranching3d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Branching3dPrint(ConstHandle2ConstBranching3d This); + +// +++ Print to standard output, as XML +extern_c int +Branching3dPrintXML(ConstHandle2ConstBranching3d This); + +// +++ Print to standard output, as JSON +extern_c int +Branching3dPrintJSON(ConstHandle2ConstBranching3d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Branching3dLabelHas(ConstHandle2ConstBranching3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Branching3dLabelGet(ConstHandle2ConstBranching3d This); + +// +++ Set +extern_c void +Branching3dLabelSet(ConstHandle2Branching3d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Branching3dProductFrameHas(ConstHandle2ConstBranching3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Branching3dProductFrameGet(ConstHandle2ConstBranching3d This); + +// +++ Set +extern_c void +Branching3dProductFrameSet(ConstHandle2Branching3d This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.cpp new file mode 100644 index 000000000..38b206743 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/CoherentPhoton.hpp" +#include "CoherentPhoton.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CoherentPhotonClass; +using CPP = multigroup::CoherentPhoton; + +static const std::string CLASSNAME = "CoherentPhoton"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCoherentPhoton +CoherentPhotonDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CoherentPhoton +CoherentPhotonDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCoherentPhoton +CoherentPhotonCreateConst() +{ + ConstHandle2CoherentPhoton handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2CoherentPhoton +CoherentPhotonCreate() +{ + ConstHandle2CoherentPhoton handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CoherentPhotonAssign(ConstHandle2CoherentPhoton This, ConstHandle2ConstCoherentPhoton from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CoherentPhotonDelete(ConstHandle2ConstCoherentPhoton This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CoherentPhotonRead(ConstHandle2CoherentPhoton This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CoherentPhotonWrite(ConstHandle2ConstCoherentPhoton This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CoherentPhotonPrint(ConstHandle2ConstCoherentPhoton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CoherentPhotonPrintXML(ConstHandle2ConstCoherentPhoton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CoherentPhotonPrintJSON(ConstHandle2ConstCoherentPhoton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.h b/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.h new file mode 100644 index 000000000..7158a5ad7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CoherentPhoton is the basic handle type in this file. Example: +// // Create a default CoherentPhoton object: +// CoherentPhoton handle = CoherentPhotonDefault(); +// Functions involving CoherentPhoton are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_COHERENTPHOTON +#define C_INTERFACE_TRY_V2_0_TRANSPORT_COHERENTPHOTON + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CoherentPhotonClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CoherentPhoton +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CoherentPhotonClass *CoherentPhoton; + +// --- Const-aware handles. +typedef const struct CoherentPhotonClass *const ConstHandle2ConstCoherentPhoton; +typedef struct CoherentPhotonClass *const ConstHandle2CoherentPhoton; +typedef const struct CoherentPhotonClass * Handle2ConstCoherentPhoton; +typedef struct CoherentPhotonClass * Handle2CoherentPhoton; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCoherentPhoton +CoherentPhotonDefaultConst(); + +// +++ Create, default +extern_c Handle2CoherentPhoton +CoherentPhotonDefault(); + +// --- Create, general, const +extern_c Handle2ConstCoherentPhoton +CoherentPhotonCreateConst(); + +// +++ Create, general +extern_c Handle2CoherentPhoton +CoherentPhotonCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CoherentPhotonAssign(ConstHandle2CoherentPhoton This, ConstHandle2ConstCoherentPhoton from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CoherentPhotonDelete(ConstHandle2ConstCoherentPhoton This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CoherentPhotonRead(ConstHandle2CoherentPhoton This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CoherentPhotonWrite(ConstHandle2ConstCoherentPhoton This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CoherentPhotonPrint(ConstHandle2ConstCoherentPhoton This); + +// +++ Print to standard output, as XML +extern_c int +CoherentPhotonPrintXML(ConstHandle2ConstCoherentPhoton This); + +// +++ Print to standard output, as JSON +extern_c int +CoherentPhotonPrintJSON(ConstHandle2ConstCoherentPhoton This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp new file mode 100644 index 000000000..1f60a4865 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/CrossSection.hpp" +#include "CrossSection.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CrossSectionClass; +using CPP = multigroup::CrossSection; + +static const std::string CLASSNAME = "CrossSection"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; +using CPPResonancesWithBackground = transport::ResonancesWithBackground; +using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; +using CPPThermalNeutronScatteringLaw1d = tsl::ThermalNeutronScatteringLaw1d; +using CPPReference = transport::Reference; +using CPPGridded1d = unknownNamespace::Gridded1d; +using CPPYs1d = unknownNamespace::Ys1d; +using CPPURR_probabilityTables1d = transport::URR_probabilityTables1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCrossSection +CrossSectionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CrossSection +CrossSectionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCrossSection +CrossSectionCreateConst( + const XMLName label, +) { + ConstHandle2CrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label + ); + return handle; +} + +// Create, general +Handle2CrossSection +CrossSectionCreate( + const XMLName label, +) { + ConstHandle2CrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CrossSectionAssign(ConstHandle2CrossSection This, ConstHandle2ConstCrossSection from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CrossSectionDelete(ConstHandle2ConstCrossSection This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CrossSectionRead(ConstHandle2CrossSection This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CrossSectionWrite(ConstHandle2ConstCrossSection This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CrossSectionPrint(ConstHandle2ConstCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CrossSectionPrintXML(ConstHandle2ConstCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CrossSectionPrintJSON(ConstHandle2ConstCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionLabelHas(ConstHandle2ConstCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CrossSectionLabelGet(ConstHandle2ConstCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CrossSectionLabelSet(ConstHandle2CrossSection This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h new file mode 100644 index 000000000..310d73be6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h @@ -0,0 +1,164 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CrossSection is the basic handle type in this file. Example: +// // Create a default CrossSection object: +// CrossSection handle = CrossSectionDefault(); +// Functions involving CrossSection are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTION + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/transport/ResonancesWithBackground.h" +#include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw1d.h" +#include "v2.0/transport/Reference.h" +#include "v2.0/unknownNamespace/Gridded1d.h" +#include "v2.0/unknownNamespace/Ys1d.h" +#include "v2.0/transport/URR_probabilityTables1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CrossSectionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CrossSection +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CrossSectionClass *CrossSection; + +// --- Const-aware handles. +typedef const struct CrossSectionClass *const ConstHandle2ConstCrossSection; +typedef struct CrossSectionClass *const ConstHandle2CrossSection; +typedef const struct CrossSectionClass * Handle2ConstCrossSection; +typedef struct CrossSectionClass * Handle2CrossSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCrossSection +CrossSectionDefaultConst(); + +// +++ Create, default +extern_c Handle2CrossSection +CrossSectionDefault(); + +// --- Create, general, const +extern_c Handle2ConstCrossSection +CrossSectionCreateConst( + const XMLName label, +); + +// +++ Create, general +extern_c Handle2CrossSection +CrossSectionCreate( + const XMLName label, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CrossSectionAssign(ConstHandle2CrossSection This, ConstHandle2ConstCrossSection from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CrossSectionDelete(ConstHandle2ConstCrossSection This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CrossSectionRead(ConstHandle2CrossSection This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CrossSectionWrite(ConstHandle2ConstCrossSection This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CrossSectionPrint(ConstHandle2ConstCrossSection This); + +// +++ Print to standard output, as XML +extern_c int +CrossSectionPrintXML(ConstHandle2ConstCrossSection This); + +// +++ Print to standard output, as JSON +extern_c int +CrossSectionPrintJSON(ConstHandle2ConstCrossSection This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionLabelHas(ConstHandle2ConstCrossSection This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CrossSectionLabelGet(ConstHandle2ConstCrossSection This); + +// +++ Set +extern_c void +CrossSectionLabelSet(ConstHandle2CrossSection This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp new file mode 100644 index 000000000..ba05d34b5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp @@ -0,0 +1,330 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/CrossSectionSum.hpp" +#include "CrossSectionSum.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CrossSectionSumClass; +using CPP = multigroup::CrossSectionSum; + +static const std::string CLASSNAME = "CrossSectionSum"; + +namespace extract { + static auto ENDF_MT = [](auto &obj) { return &obj.ENDF_MT; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto Q = [](auto &obj) { return &obj.Q; }; + static auto crossSection = [](auto &obj) { return &obj.crossSection; }; + static auto summands = [](auto &obj) { return &obj.summands; }; +} + +using CPPQ = ambiguousNamespace::Q; +using CPPCrossSection = transport::CrossSection; +using CPPSummands = transport::Summands; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCrossSectionSum +CrossSectionSumDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CrossSectionSum +CrossSectionSumDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCrossSectionSum +CrossSectionSumCreateConst( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstQ Q, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstSummands summands +) { + ConstHandle2CrossSectionSum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MT, + label, + detail::tocpp(Q), + detail::tocpp(crossSection), + detail::tocpp(summands) + ); + return handle; +} + +// Create, general +Handle2CrossSectionSum +CrossSectionSumCreate( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstQ Q, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstSummands summands +) { + ConstHandle2CrossSectionSum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MT, + label, + detail::tocpp(Q), + detail::tocpp(crossSection), + detail::tocpp(summands) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CrossSectionSumAssign(ConstHandle2CrossSectionSum This, ConstHandle2ConstCrossSectionSum from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CrossSectionSumDelete(ConstHandle2ConstCrossSectionSum This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CrossSectionSumRead(ConstHandle2CrossSectionSum This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CrossSectionSumWrite(ConstHandle2ConstCrossSectionSum This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CrossSectionSumPrint(ConstHandle2ConstCrossSectionSum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CrossSectionSumPrintXML(ConstHandle2ConstCrossSectionSum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CrossSectionSumPrintJSON(ConstHandle2ConstCrossSectionSum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionSumENDFMTHas(ConstHandle2ConstCrossSectionSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMTHas", This, extract::ENDF_MT); +} + +// Get +// Returns by value +Integer32 +CrossSectionSumENDFMTGet(ConstHandle2ConstCrossSectionSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMTGet", This, extract::ENDF_MT); +} + +// Set +void +CrossSectionSumENDFMTSet(ConstHandle2CrossSectionSum This, const Integer32 ENDF_MT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMTSet", This, extract::ENDF_MT, ENDF_MT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionSumLabelHas(ConstHandle2ConstCrossSectionSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CrossSectionSumLabelGet(ConstHandle2ConstCrossSectionSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CrossSectionSumLabelSet(ConstHandle2CrossSectionSum This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: Q +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionSumQHas(ConstHandle2ConstCrossSectionSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"QHas", This, extract::Q); +} + +// Get, const +Handle2ConstQ +CrossSectionSumQGetConst(ConstHandle2ConstCrossSectionSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"QGetConst", This, extract::Q); +} + +// Get, non-const +Handle2Q +CrossSectionSumQGet(ConstHandle2CrossSectionSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"QGet", This, extract::Q); +} + +// Set +void +CrossSectionSumQSet(ConstHandle2CrossSectionSum This, ConstHandle2ConstQ Q) +{ + detail::setField + (CLASSNAME, CLASSNAME+"QSet", This, extract::Q, Q); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionSumCrossSectionHas(ConstHandle2ConstCrossSectionSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionHas", This, extract::crossSection); +} + +// Get, const +Handle2ConstCrossSection +CrossSectionSumCrossSectionGetConst(ConstHandle2ConstCrossSectionSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGetConst", This, extract::crossSection); +} + +// Get, non-const +Handle2CrossSection +CrossSectionSumCrossSectionGet(ConstHandle2CrossSectionSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGet", This, extract::crossSection); +} + +// Set +void +CrossSectionSumCrossSectionSet(ConstHandle2CrossSectionSum This, ConstHandle2ConstCrossSection crossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossSectionSet", This, extract::crossSection, crossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: summands +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionSumSummandsHas(ConstHandle2ConstCrossSectionSum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SummandsHas", This, extract::summands); +} + +// Get, const +Handle2ConstSummands +CrossSectionSumSummandsGetConst(ConstHandle2ConstCrossSectionSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SummandsGetConst", This, extract::summands); +} + +// Get, non-const +Handle2Summands +CrossSectionSumSummandsGet(ConstHandle2CrossSectionSum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SummandsGet", This, extract::summands); +} + +// Set +void +CrossSectionSumSummandsSet(ConstHandle2CrossSectionSum This, ConstHandle2ConstSummands summands) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SummandsSet", This, extract::summands, summands); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h new file mode 100644 index 000000000..bd84c645f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h @@ -0,0 +1,247 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CrossSectionSum is the basic handle type in this file. Example: +// // Create a default CrossSectionSum object: +// CrossSectionSum handle = CrossSectionSumDefault(); +// Functions involving CrossSectionSum are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUM +#define C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUM + +#include "GNDStk.h" +#include "v2.0/ambiguousNamespace/Q.h" +#include "v2.0/transport/CrossSection.h" +#include "v2.0/transport/Summands.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CrossSectionSumClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CrossSectionSum +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CrossSectionSumClass *CrossSectionSum; + +// --- Const-aware handles. +typedef const struct CrossSectionSumClass *const ConstHandle2ConstCrossSectionSum; +typedef struct CrossSectionSumClass *const ConstHandle2CrossSectionSum; +typedef const struct CrossSectionSumClass * Handle2ConstCrossSectionSum; +typedef struct CrossSectionSumClass * Handle2CrossSectionSum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCrossSectionSum +CrossSectionSumDefaultConst(); + +// +++ Create, default +extern_c Handle2CrossSectionSum +CrossSectionSumDefault(); + +// --- Create, general, const +extern_c Handle2ConstCrossSectionSum +CrossSectionSumCreateConst( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstQ Q, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstSummands summands +); + +// +++ Create, general +extern_c Handle2CrossSectionSum +CrossSectionSumCreate( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstQ Q, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstSummands summands +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CrossSectionSumAssign(ConstHandle2CrossSectionSum This, ConstHandle2ConstCrossSectionSum from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CrossSectionSumDelete(ConstHandle2ConstCrossSectionSum This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CrossSectionSumRead(ConstHandle2CrossSectionSum This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CrossSectionSumWrite(ConstHandle2ConstCrossSectionSum This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CrossSectionSumPrint(ConstHandle2ConstCrossSectionSum This); + +// +++ Print to standard output, as XML +extern_c int +CrossSectionSumPrintXML(ConstHandle2ConstCrossSectionSum This); + +// +++ Print to standard output, as JSON +extern_c int +CrossSectionSumPrintJSON(ConstHandle2ConstCrossSectionSum This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionSumENDFMTHas(ConstHandle2ConstCrossSectionSum This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +CrossSectionSumENDFMTGet(ConstHandle2ConstCrossSectionSum This); + +// +++ Set +extern_c void +CrossSectionSumENDFMTSet(ConstHandle2CrossSectionSum This, const Integer32 ENDF_MT); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionSumLabelHas(ConstHandle2ConstCrossSectionSum This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CrossSectionSumLabelGet(ConstHandle2ConstCrossSectionSum This); + +// +++ Set +extern_c void +CrossSectionSumLabelSet(ConstHandle2CrossSectionSum This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: Q +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionSumQHas(ConstHandle2ConstCrossSectionSum This); + +// --- Get, const +extern_c Handle2ConstQ +CrossSectionSumQGetConst(ConstHandle2ConstCrossSectionSum This); + +// +++ Get, non-const +extern_c Handle2Q +CrossSectionSumQGet(ConstHandle2CrossSectionSum This); + +// +++ Set +extern_c void +CrossSectionSumQSet(ConstHandle2CrossSectionSum This, ConstHandle2ConstQ Q); + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionSumCrossSectionHas(ConstHandle2ConstCrossSectionSum This); + +// --- Get, const +extern_c Handle2ConstCrossSection +CrossSectionSumCrossSectionGetConst(ConstHandle2ConstCrossSectionSum This); + +// +++ Get, non-const +extern_c Handle2CrossSection +CrossSectionSumCrossSectionGet(ConstHandle2CrossSectionSum This); + +// +++ Set +extern_c void +CrossSectionSumCrossSectionSet(ConstHandle2CrossSectionSum This, ConstHandle2ConstCrossSection crossSection); + + +// ----------------------------------------------------------------------------- +// Child: summands +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionSumSummandsHas(ConstHandle2ConstCrossSectionSum This); + +// --- Get, const +extern_c Handle2ConstSummands +CrossSectionSumSummandsGetConst(ConstHandle2ConstCrossSectionSum This); + +// +++ Get, non-const +extern_c Handle2Summands +CrossSectionSumSummandsGet(ConstHandle2CrossSectionSum This); + +// +++ Set +extern_c void +CrossSectionSumSummandsSet(ConstHandle2CrossSectionSum This, ConstHandle2ConstSummands summands); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.cpp new file mode 100644 index 000000000..2496efd95 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/CrossSectionSums.hpp" +#include "CrossSectionSums.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CrossSectionSumsClass; +using CPP = multigroup::CrossSectionSums; + +static const std::string CLASSNAME = "CrossSectionSums"; + +namespace extract { + static auto crossSectionSum = [](auto &obj) { return &obj.crossSectionSum; }; +} + +using CPPCrossSectionSum = transport::CrossSectionSum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCrossSectionSums +CrossSectionSumsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CrossSectionSums +CrossSectionSumsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCrossSectionSums +CrossSectionSumsCreateConst( + ConstHandle2CrossSectionSum *const crossSectionSum, const size_t crossSectionSumSize +) { + ConstHandle2CrossSectionSums handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t CrossSectionSumN = 0; CrossSectionSumN < crossSectionSumSize; ++CrossSectionSumN) + CrossSectionSumsCrossSectionSumAdd(handle, crossSectionSum[CrossSectionSumN]); + return handle; +} + +// Create, general +Handle2CrossSectionSums +CrossSectionSumsCreate( + ConstHandle2CrossSectionSum *const crossSectionSum, const size_t crossSectionSumSize +) { + ConstHandle2CrossSectionSums handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t CrossSectionSumN = 0; CrossSectionSumN < crossSectionSumSize; ++CrossSectionSumN) + CrossSectionSumsCrossSectionSumAdd(handle, crossSectionSum[CrossSectionSumN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CrossSectionSumsAssign(ConstHandle2CrossSectionSums This, ConstHandle2ConstCrossSectionSums from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CrossSectionSumsDelete(ConstHandle2ConstCrossSectionSums This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CrossSectionSumsRead(ConstHandle2CrossSectionSums This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CrossSectionSumsWrite(ConstHandle2ConstCrossSectionSums This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CrossSectionSumsPrint(ConstHandle2ConstCrossSectionSums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CrossSectionSumsPrintXML(ConstHandle2ConstCrossSectionSums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CrossSectionSumsPrintJSON(ConstHandle2ConstCrossSectionSums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSectionSum +// ----------------------------------------------------------------------------- + +// Has +int +CrossSectionSumsCrossSectionSumHas(ConstHandle2ConstCrossSectionSums This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionSumHas", This, extract::crossSectionSum); +} + +// Clear +void +CrossSectionSumsCrossSectionSumClear(ConstHandle2CrossSectionSums This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"CrossSectionSumClear", This, extract::crossSectionSum); +} + +// Size +size_t +CrossSectionSumsCrossSectionSumSize(ConstHandle2ConstCrossSectionSums This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"CrossSectionSumSize", This, extract::crossSectionSum); +} + +// Add +void +CrossSectionSumsCrossSectionSumAdd(ConstHandle2CrossSectionSums This, ConstHandle2ConstCrossSectionSum crossSectionSum) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"CrossSectionSumAdd", This, extract::crossSectionSum, crossSectionSum); +} + +// Get, by index \in [0,size), const +Handle2ConstCrossSectionSum +CrossSectionSumsCrossSectionSumGetConst(ConstHandle2ConstCrossSectionSums This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CrossSectionSumGetConst", This, extract::crossSectionSum, index_); +} + +// Get, by index \in [0,size), non-const +Handle2CrossSectionSum +CrossSectionSumsCrossSectionSumGet(ConstHandle2CrossSectionSums This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CrossSectionSumGet", This, extract::crossSectionSum, index_); +} + +// Set, by index \in [0,size) +void +CrossSectionSumsCrossSectionSumSet( + ConstHandle2CrossSectionSums This, + const size_t index_, + ConstHandle2ConstCrossSectionSum crossSectionSum +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"CrossSectionSumSet", This, extract::crossSectionSum, index_, crossSectionSum); +} + +// Has, by ENDF_MT +int +CrossSectionSumsCrossSectionSumHasByENDFMT( + ConstHandle2ConstCrossSectionSums This, + const Integer32 ENDF_MT +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionSumHasByENDFMT", + This, extract::crossSectionSum, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, const +Handle2ConstCrossSectionSum +CrossSectionSumsCrossSectionSumGetByENDFMTConst( + ConstHandle2ConstCrossSectionSums This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionSumGetByENDFMTConst", + This, extract::crossSectionSum, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, non-const +Handle2CrossSectionSum +CrossSectionSumsCrossSectionSumGetByENDFMT( + ConstHandle2CrossSectionSums This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionSumGetByENDFMT", + This, extract::crossSectionSum, meta::ENDF_MT, ENDF_MT); +} + +// Set, by ENDF_MT +void +CrossSectionSumsCrossSectionSumSetByENDFMT( + ConstHandle2CrossSectionSums This, + const Integer32 ENDF_MT, + ConstHandle2ConstCrossSectionSum crossSectionSum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionSumSetByENDFMT", + This, extract::crossSectionSum, meta::ENDF_MT, ENDF_MT, crossSectionSum); +} + +// Has, by label +int +CrossSectionSumsCrossSectionSumHasByLabel( + ConstHandle2ConstCrossSectionSums This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionSumHasByLabel", + This, extract::crossSectionSum, meta::label, label); +} + +// Get, by label, const +Handle2ConstCrossSectionSum +CrossSectionSumsCrossSectionSumGetByLabelConst( + ConstHandle2ConstCrossSectionSums This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionSumGetByLabelConst", + This, extract::crossSectionSum, meta::label, label); +} + +// Get, by label, non-const +Handle2CrossSectionSum +CrossSectionSumsCrossSectionSumGetByLabel( + ConstHandle2CrossSectionSums This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionSumGetByLabel", + This, extract::crossSectionSum, meta::label, label); +} + +// Set, by label +void +CrossSectionSumsCrossSectionSumSetByLabel( + ConstHandle2CrossSectionSums This, + const XMLName label, + ConstHandle2ConstCrossSectionSum crossSectionSum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CrossSectionSumSetByLabel", + This, extract::crossSectionSum, meta::label, label, crossSectionSum); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.h b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.h new file mode 100644 index 000000000..9df990113 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CrossSectionSums is the basic handle type in this file. Example: +// // Create a default CrossSectionSums object: +// CrossSectionSums handle = CrossSectionSumsDefault(); +// Functions involving CrossSectionSums are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUMS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUMS + +#include "GNDStk.h" +#include "v2.0/transport/CrossSectionSum.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CrossSectionSumsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CrossSectionSums +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CrossSectionSumsClass *CrossSectionSums; + +// --- Const-aware handles. +typedef const struct CrossSectionSumsClass *const ConstHandle2ConstCrossSectionSums; +typedef struct CrossSectionSumsClass *const ConstHandle2CrossSectionSums; +typedef const struct CrossSectionSumsClass * Handle2ConstCrossSectionSums; +typedef struct CrossSectionSumsClass * Handle2CrossSectionSums; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCrossSectionSums +CrossSectionSumsDefaultConst(); + +// +++ Create, default +extern_c Handle2CrossSectionSums +CrossSectionSumsDefault(); + +// --- Create, general, const +extern_c Handle2ConstCrossSectionSums +CrossSectionSumsCreateConst( + ConstHandle2CrossSectionSum *const crossSectionSum, const size_t crossSectionSumSize +); + +// +++ Create, general +extern_c Handle2CrossSectionSums +CrossSectionSumsCreate( + ConstHandle2CrossSectionSum *const crossSectionSum, const size_t crossSectionSumSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CrossSectionSumsAssign(ConstHandle2CrossSectionSums This, ConstHandle2ConstCrossSectionSums from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CrossSectionSumsDelete(ConstHandle2ConstCrossSectionSums This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CrossSectionSumsRead(ConstHandle2CrossSectionSums This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CrossSectionSumsWrite(ConstHandle2ConstCrossSectionSums This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CrossSectionSumsPrint(ConstHandle2ConstCrossSectionSums This); + +// +++ Print to standard output, as XML +extern_c int +CrossSectionSumsPrintXML(ConstHandle2ConstCrossSectionSums This); + +// +++ Print to standard output, as JSON +extern_c int +CrossSectionSumsPrintJSON(ConstHandle2ConstCrossSectionSums This); + + +// ----------------------------------------------------------------------------- +// Child: crossSectionSum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CrossSectionSumsCrossSectionSumHas(ConstHandle2ConstCrossSectionSums This); + +// +++ Clear +extern_c void +CrossSectionSumsCrossSectionSumClear(ConstHandle2CrossSectionSums This); + +// +++ Size +extern_c size_t +CrossSectionSumsCrossSectionSumSize(ConstHandle2ConstCrossSectionSums This); + +// +++ Add +extern_c void +CrossSectionSumsCrossSectionSumAdd(ConstHandle2CrossSectionSums This, ConstHandle2ConstCrossSectionSum crossSectionSum); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstCrossSectionSum +CrossSectionSumsCrossSectionSumGetConst(ConstHandle2ConstCrossSectionSums This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2CrossSectionSum +CrossSectionSumsCrossSectionSumGet(ConstHandle2CrossSectionSums This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +CrossSectionSumsCrossSectionSumSet( + ConstHandle2CrossSectionSums This, + const size_t index_, + ConstHandle2ConstCrossSectionSum crossSectionSum +); + +// +++ Has, by ENDF_MT +extern_c int +CrossSectionSumsCrossSectionSumHasByENDFMT( + ConstHandle2ConstCrossSectionSums This, + const Integer32 ENDF_MT +); + +// --- Get, by ENDF_MT, const +extern_c Handle2ConstCrossSectionSum +CrossSectionSumsCrossSectionSumGetByENDFMTConst( + ConstHandle2ConstCrossSectionSums This, + const Integer32 ENDF_MT +); + +// +++ Get, by ENDF_MT, non-const +extern_c Handle2CrossSectionSum +CrossSectionSumsCrossSectionSumGetByENDFMT( + ConstHandle2CrossSectionSums This, + const Integer32 ENDF_MT +); + +// +++ Set, by ENDF_MT +extern_c void +CrossSectionSumsCrossSectionSumSetByENDFMT( + ConstHandle2CrossSectionSums This, + const Integer32 ENDF_MT, + ConstHandle2ConstCrossSectionSum crossSectionSum +); + +// +++ Has, by label +extern_c int +CrossSectionSumsCrossSectionSumHasByLabel( + ConstHandle2ConstCrossSectionSums This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstCrossSectionSum +CrossSectionSumsCrossSectionSumGetByLabelConst( + ConstHandle2ConstCrossSectionSums This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2CrossSectionSum +CrossSectionSumsCrossSectionSumGetByLabel( + ConstHandle2CrossSectionSums This, + const XMLName label +); + +// +++ Set, by label +extern_c void +CrossSectionSumsCrossSectionSumSetByLabel( + ConstHandle2CrossSectionSums This, + const XMLName label, + ConstHandle2ConstCrossSectionSum crossSectionSum +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp new file mode 100644 index 000000000..c3f28f6d4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/DiscreteGamma.hpp" +#include "DiscreteGamma.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DiscreteGammaClass; +using CPP = multigroup::DiscreteGamma; + +static const std::string CLASSNAME = "DiscreteGamma"; + +namespace extract { + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto axes = [](auto &obj) { return &obj.axes; }; +} + +using CPPAxes = unknownNamespace::Axes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDiscreteGamma +DiscreteGammaDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DiscreteGamma +DiscreteGammaDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDiscreteGamma +DiscreteGammaCreateConst( + const Float64 domainMax, + const Float64 domainMin, + const Float64 value, + ConstHandle2ConstAxes axes +) { + ConstHandle2DiscreteGamma handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + domainMax, + domainMin, + value, + detail::tocpp(axes) + ); + return handle; +} + +// Create, general +Handle2DiscreteGamma +DiscreteGammaCreate( + const Float64 domainMax, + const Float64 domainMin, + const Float64 value, + ConstHandle2ConstAxes axes +) { + ConstHandle2DiscreteGamma handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + domainMax, + domainMin, + value, + detail::tocpp(axes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DiscreteGammaAssign(ConstHandle2DiscreteGamma This, ConstHandle2ConstDiscreteGamma from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DiscreteGammaDelete(ConstHandle2ConstDiscreteGamma This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DiscreteGammaRead(ConstHandle2DiscreteGamma This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DiscreteGammaWrite(ConstHandle2ConstDiscreteGamma This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DiscreteGammaPrint(ConstHandle2ConstDiscreteGamma This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DiscreteGammaPrintXML(ConstHandle2ConstDiscreteGamma This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DiscreteGammaPrintJSON(ConstHandle2ConstDiscreteGamma This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteGammaDomainMaxHas(ConstHandle2ConstDiscreteGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +DiscreteGammaDomainMaxGet(ConstHandle2ConstDiscreteGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +DiscreteGammaDomainMaxSet(ConstHandle2DiscreteGamma This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteGammaDomainMinHas(ConstHandle2ConstDiscreteGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +DiscreteGammaDomainMinGet(ConstHandle2ConstDiscreteGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +DiscreteGammaDomainMinSet(ConstHandle2DiscreteGamma This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteGammaValueHas(ConstHandle2ConstDiscreteGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +DiscreteGammaValueGet(ConstHandle2ConstDiscreteGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +DiscreteGammaValueSet(ConstHandle2DiscreteGamma This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +DiscreteGammaAxesHas(ConstHandle2ConstDiscreteGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +DiscreteGammaAxesGetConst(ConstHandle2ConstDiscreteGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +DiscreteGammaAxesGet(ConstHandle2DiscreteGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +DiscreteGammaAxesSet(ConstHandle2DiscreteGamma This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h b/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h new file mode 100644 index 000000000..48b47c691 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DiscreteGamma is the basic handle type in this file. Example: +// // Create a default DiscreteGamma object: +// DiscreteGamma handle = DiscreteGammaDefault(); +// Functions involving DiscreteGamma are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_DISCRETEGAMMA +#define C_INTERFACE_TRY_V2_0_TRANSPORT_DISCRETEGAMMA + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Axes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DiscreteGammaClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DiscreteGamma +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DiscreteGammaClass *DiscreteGamma; + +// --- Const-aware handles. +typedef const struct DiscreteGammaClass *const ConstHandle2ConstDiscreteGamma; +typedef struct DiscreteGammaClass *const ConstHandle2DiscreteGamma; +typedef const struct DiscreteGammaClass * Handle2ConstDiscreteGamma; +typedef struct DiscreteGammaClass * Handle2DiscreteGamma; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDiscreteGamma +DiscreteGammaDefaultConst(); + +// +++ Create, default +extern_c Handle2DiscreteGamma +DiscreteGammaDefault(); + +// --- Create, general, const +extern_c Handle2ConstDiscreteGamma +DiscreteGammaCreateConst( + const Float64 domainMax, + const Float64 domainMin, + const Float64 value, + ConstHandle2ConstAxes axes +); + +// +++ Create, general +extern_c Handle2DiscreteGamma +DiscreteGammaCreate( + const Float64 domainMax, + const Float64 domainMin, + const Float64 value, + ConstHandle2ConstAxes axes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DiscreteGammaAssign(ConstHandle2DiscreteGamma This, ConstHandle2ConstDiscreteGamma from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DiscreteGammaDelete(ConstHandle2ConstDiscreteGamma This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DiscreteGammaRead(ConstHandle2DiscreteGamma This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DiscreteGammaWrite(ConstHandle2ConstDiscreteGamma This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DiscreteGammaPrint(ConstHandle2ConstDiscreteGamma This); + +// +++ Print to standard output, as XML +extern_c int +DiscreteGammaPrintXML(ConstHandle2ConstDiscreteGamma This); + +// +++ Print to standard output, as JSON +extern_c int +DiscreteGammaPrintJSON(ConstHandle2ConstDiscreteGamma This); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteGammaDomainMaxHas(ConstHandle2ConstDiscreteGamma This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +DiscreteGammaDomainMaxGet(ConstHandle2ConstDiscreteGamma This); + +// +++ Set +extern_c void +DiscreteGammaDomainMaxSet(ConstHandle2DiscreteGamma This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteGammaDomainMinHas(ConstHandle2ConstDiscreteGamma This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +DiscreteGammaDomainMinGet(ConstHandle2ConstDiscreteGamma This); + +// +++ Set +extern_c void +DiscreteGammaDomainMinSet(ConstHandle2DiscreteGamma This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteGammaValueHas(ConstHandle2ConstDiscreteGamma This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +DiscreteGammaValueGet(ConstHandle2ConstDiscreteGamma This); + +// +++ Set +extern_c void +DiscreteGammaValueSet(ConstHandle2DiscreteGamma This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DiscreteGammaAxesHas(ConstHandle2ConstDiscreteGamma This); + +// --- Get, const +extern_c Handle2ConstAxes +DiscreteGammaAxesGetConst(ConstHandle2ConstDiscreteGamma This); + +// +++ Get, non-const +extern_c Handle2Axes +DiscreteGammaAxesGet(ConstHandle2DiscreteGamma This); + +// +++ Set +extern_c void +DiscreteGammaAxesSet(ConstHandle2DiscreteGamma This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.cpp new file mode 100644 index 000000000..d25049a50 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.cpp @@ -0,0 +1,146 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Distribution.hpp" +#include "Distribution.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DistributionClass; +using CPP = multigroup::Distribution; + +static const std::string CLASSNAME = "Distribution"; + +namespace extract { +} + +using CPPAngularTwoBody = transport::AngularTwoBody; +using CPPUncorrelated = transport::Uncorrelated; +using CPPAngularEnergy = transport::AngularEnergy; +using CPPEnergyAngular = transport::EnergyAngular; +using CPPKalbachMann = transport::KalbachMann; +using CPPReference = transport::Reference; +using CPPBranching3d = transport::Branching3d; +using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; +using CPPThermalNeutronScatteringLaw = tsl::ThermalNeutronScatteringLaw; +using CPPCoherentPhotonScattering = atomic::CoherentPhotonScattering; +using CPPIncoherentPhotonScattering = atomic::IncoherentPhotonScattering; +using CPPUnspecified = transport::Unspecified; +using CPPMultiGroup3d = transport::MultiGroup3d; +using CPPAngularEnergyMC = processed::AngularEnergyMC; +using CPPEnergyAngularMC = processed::EnergyAngularMC; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDistribution +DistributionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Distribution +DistributionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDistribution +DistributionCreateConst( +) { + ConstHandle2Distribution handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Distribution +DistributionCreate( +) { + ConstHandle2Distribution handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DistributionAssign(ConstHandle2Distribution This, ConstHandle2ConstDistribution from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DistributionDelete(ConstHandle2ConstDistribution This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DistributionRead(ConstHandle2Distribution This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DistributionWrite(ConstHandle2ConstDistribution This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DistributionPrint(ConstHandle2ConstDistribution This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DistributionPrintXML(ConstHandle2ConstDistribution This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DistributionPrintJSON(ConstHandle2ConstDistribution This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.h new file mode 100644 index 000000000..8e0d42d00 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.h @@ -0,0 +1,150 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Distribution is the basic handle type in this file. Example: +// // Create a default Distribution object: +// Distribution handle = DistributionDefault(); +// Functions involving Distribution are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_DISTRIBUTION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_DISTRIBUTION + +#include "GNDStk.h" +#include "v2.0/transport/AngularTwoBody.h" +#include "v2.0/transport/Uncorrelated.h" +#include "v2.0/transport/AngularEnergy.h" +#include "v2.0/transport/EnergyAngular.h" +#include "v2.0/transport/KalbachMann.h" +#include "v2.0/transport/Reference.h" +#include "v2.0/transport/Branching3d.h" +#include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw.h" +#include "v2.0/atomic/CoherentPhotonScattering.h" +#include "v2.0/atomic/IncoherentPhotonScattering.h" +#include "v2.0/transport/Unspecified.h" +#include "v2.0/transport/MultiGroup3d.h" +#include "v2.0/processed/AngularEnergyMC.h" +#include "v2.0/processed/EnergyAngularMC.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DistributionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Distribution +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DistributionClass *Distribution; + +// --- Const-aware handles. +typedef const struct DistributionClass *const ConstHandle2ConstDistribution; +typedef struct DistributionClass *const ConstHandle2Distribution; +typedef const struct DistributionClass * Handle2ConstDistribution; +typedef struct DistributionClass * Handle2Distribution; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDistribution +DistributionDefaultConst(); + +// +++ Create, default +extern_c Handle2Distribution +DistributionDefault(); + +// --- Create, general, const +extern_c Handle2ConstDistribution +DistributionCreateConst( +); + +// +++ Create, general +extern_c Handle2Distribution +DistributionCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DistributionAssign(ConstHandle2Distribution This, ConstHandle2ConstDistribution from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DistributionDelete(ConstHandle2ConstDistribution This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DistributionRead(ConstHandle2Distribution This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DistributionWrite(ConstHandle2ConstDistribution This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DistributionPrint(ConstHandle2ConstDistribution This); + +// +++ Print to standard output, as XML +extern_c int +DistributionPrintXML(ConstHandle2ConstDistribution This); + +// +++ Print to standard output, as JSON +extern_c int +DistributionPrintJSON(ConstHandle2ConstDistribution This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp new file mode 100644 index 000000000..a7b45c25e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp @@ -0,0 +1,518 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/DoubleDifferentialCrossSection.hpp" +#include "DoubleDifferentialCrossSection.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DoubleDifferentialCrossSectionClass; +using CPP = multigroup::DoubleDifferentialCrossSection; + +static const std::string CLASSNAME = "DoubleDifferentialCrossSection"; + +namespace extract { + static auto regions3d = [](auto &obj) { return &obj.regions3d; }; + static auto XYs3d = [](auto &obj) { return &obj.XYs3d; }; + static auto CoulombPlusNuclearElastic = [](auto &obj) { return &obj.CoulombPlusNuclearElastic; }; + static auto reference = [](auto &obj) { return &obj.reference; }; + static auto coherentPhotonScattering = [](auto &obj) { return &obj.coherentPhotonScattering; }; + static auto incoherentPhotonScattering = [](auto &obj) { return &obj.incoherentPhotonScattering; }; + static auto thermalNeutronScatteringLaw_coherentElastic = [](auto &obj) { return &obj.thermalNeutronScatteringLaw_coherentElastic; }; + static auto thermalNeutronScatteringLaw_incoherentElastic = [](auto &obj) { return &obj.thermalNeutronScatteringLaw_incoherentElastic; }; + static auto thermalNeutronScatteringLaw_incoherentInelastic = [](auto &obj) { return &obj.thermalNeutronScatteringLaw_incoherentInelastic; }; +} + +using CPPRegions3d = unknownNamespace::Regions3d; +using CPPXYs3d = unknownNamespace::XYs3d; +using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; +using CPPReference = transport::Reference; +using CPPCoherentPhotonScattering = atomic::CoherentPhotonScattering; +using CPPIncoherentPhotonScattering = atomic::IncoherentPhotonScattering; +using CPPThermalNeutronScatteringLaw_coherentElastic = tsl::ThermalNeutronScatteringLaw_coherentElastic; +using CPPThermalNeutronScatteringLaw_incoherentElastic = tsl::ThermalNeutronScatteringLaw_incoherentElastic; +using CPPThermalNeutronScatteringLaw_incoherentInelastic = tsl::ThermalNeutronScatteringLaw_incoherentInelastic; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDoubleDifferentialCrossSection +DoubleDifferentialCrossSectionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DoubleDifferentialCrossSection +DoubleDifferentialCrossSectionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDoubleDifferentialCrossSection +DoubleDifferentialCrossSectionCreateConst( + ConstHandle2ConstRegions3d regions3d, + ConstHandle2ConstXYs3d XYs3d, + ConstHandle2ConstCoulombPlusNuclearElastic CoulombPlusNuclearElastic, + ConstHandle2ConstReference reference, + ConstHandle2ConstCoherentPhotonScattering coherentPhotonScattering, + ConstHandle2ConstIncoherentPhotonScattering incoherentPhotonScattering, + ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic thermalNeutronScatteringLaw_coherentElastic, + ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic thermalNeutronScatteringLaw_incoherentElastic, + ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic thermalNeutronScatteringLaw_incoherentInelastic +) { + ConstHandle2DoubleDifferentialCrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(regions3d), + detail::tocpp(XYs3d), + detail::tocpp(CoulombPlusNuclearElastic), + detail::tocpp(reference), + detail::tocpp(coherentPhotonScattering), + detail::tocpp(incoherentPhotonScattering), + detail::tocpp(thermalNeutronScatteringLaw_coherentElastic), + detail::tocpp(thermalNeutronScatteringLaw_incoherentElastic), + detail::tocpp(thermalNeutronScatteringLaw_incoherentInelastic) + ); + return handle; +} + +// Create, general +Handle2DoubleDifferentialCrossSection +DoubleDifferentialCrossSectionCreate( + ConstHandle2ConstRegions3d regions3d, + ConstHandle2ConstXYs3d XYs3d, + ConstHandle2ConstCoulombPlusNuclearElastic CoulombPlusNuclearElastic, + ConstHandle2ConstReference reference, + ConstHandle2ConstCoherentPhotonScattering coherentPhotonScattering, + ConstHandle2ConstIncoherentPhotonScattering incoherentPhotonScattering, + ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic thermalNeutronScatteringLaw_coherentElastic, + ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic thermalNeutronScatteringLaw_incoherentElastic, + ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic thermalNeutronScatteringLaw_incoherentInelastic +) { + ConstHandle2DoubleDifferentialCrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(regions3d), + detail::tocpp(XYs3d), + detail::tocpp(CoulombPlusNuclearElastic), + detail::tocpp(reference), + detail::tocpp(coherentPhotonScattering), + detail::tocpp(incoherentPhotonScattering), + detail::tocpp(thermalNeutronScatteringLaw_coherentElastic), + detail::tocpp(thermalNeutronScatteringLaw_incoherentElastic), + detail::tocpp(thermalNeutronScatteringLaw_incoherentInelastic) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DoubleDifferentialCrossSectionAssign(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstDoubleDifferentialCrossSection from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DoubleDifferentialCrossSectionDelete(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DoubleDifferentialCrossSectionRead(ConstHandle2DoubleDifferentialCrossSection This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DoubleDifferentialCrossSectionWrite(ConstHandle2ConstDoubleDifferentialCrossSection This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DoubleDifferentialCrossSectionPrint(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DoubleDifferentialCrossSectionPrintXML(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DoubleDifferentialCrossSectionPrintJSON(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: regions3d +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionRegions3dHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions3dHas", This, extract::regions3d); +} + +// Get, const +Handle2ConstRegions3d +DoubleDifferentialCrossSectionRegions3dGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions3dGetConst", This, extract::regions3d); +} + +// Get, non-const +Handle2Regions3d +DoubleDifferentialCrossSectionRegions3dGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions3dGet", This, extract::regions3d); +} + +// Set +void +DoubleDifferentialCrossSectionRegions3dSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstRegions3d regions3d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions3dSet", This, extract::regions3d, regions3d); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs3d +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionXYs3dHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs3dHas", This, extract::XYs3d); +} + +// Get, const +Handle2ConstXYs3d +DoubleDifferentialCrossSectionXYs3dGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs3dGetConst", This, extract::XYs3d); +} + +// Get, non-const +Handle2XYs3d +DoubleDifferentialCrossSectionXYs3dGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs3dGet", This, extract::XYs3d); +} + +// Set +void +DoubleDifferentialCrossSectionXYs3dSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstXYs3d XYs3d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs3dSet", This, extract::XYs3d, XYs3d); +} + + +// ----------------------------------------------------------------------------- +// Child: CoulombPlusNuclearElastic +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionCoulombPlusNuclearElasticHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticHas", This, extract::CoulombPlusNuclearElastic); +} + +// Get, const +Handle2ConstCoulombPlusNuclearElastic +DoubleDifferentialCrossSectionCoulombPlusNuclearElasticGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticGetConst", This, extract::CoulombPlusNuclearElastic); +} + +// Get, non-const +Handle2CoulombPlusNuclearElastic +DoubleDifferentialCrossSectionCoulombPlusNuclearElasticGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticGet", This, extract::CoulombPlusNuclearElastic); +} + +// Set +void +DoubleDifferentialCrossSectionCoulombPlusNuclearElasticSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstCoulombPlusNuclearElastic CoulombPlusNuclearElastic) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CoulombPlusNuclearElasticSet", This, extract::CoulombPlusNuclearElastic, CoulombPlusNuclearElastic); +} + + +// ----------------------------------------------------------------------------- +// Child: reference +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionReferenceHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ReferenceHas", This, extract::reference); +} + +// Get, const +Handle2ConstReference +DoubleDifferentialCrossSectionReferenceGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ReferenceGetConst", This, extract::reference); +} + +// Get, non-const +Handle2Reference +DoubleDifferentialCrossSectionReferenceGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ReferenceGet", This, extract::reference); +} + +// Set +void +DoubleDifferentialCrossSectionReferenceSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstReference reference) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ReferenceSet", This, extract::reference, reference); +} + + +// ----------------------------------------------------------------------------- +// Child: coherentPhotonScattering +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionCoherentPhotonScatteringHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CoherentPhotonScatteringHas", This, extract::coherentPhotonScattering); +} + +// Get, const +Handle2ConstCoherentPhotonScattering +DoubleDifferentialCrossSectionCoherentPhotonScatteringGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CoherentPhotonScatteringGetConst", This, extract::coherentPhotonScattering); +} + +// Get, non-const +Handle2CoherentPhotonScattering +DoubleDifferentialCrossSectionCoherentPhotonScatteringGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CoherentPhotonScatteringGet", This, extract::coherentPhotonScattering); +} + +// Set +void +DoubleDifferentialCrossSectionCoherentPhotonScatteringSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstCoherentPhotonScattering coherentPhotonScattering) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CoherentPhotonScatteringSet", This, extract::coherentPhotonScattering, coherentPhotonScattering); +} + + +// ----------------------------------------------------------------------------- +// Child: incoherentPhotonScattering +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionIncoherentPhotonScatteringHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IncoherentPhotonScatteringHas", This, extract::incoherentPhotonScattering); +} + +// Get, const +Handle2ConstIncoherentPhotonScattering +DoubleDifferentialCrossSectionIncoherentPhotonScatteringGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IncoherentPhotonScatteringGetConst", This, extract::incoherentPhotonScattering); +} + +// Get, non-const +Handle2IncoherentPhotonScattering +DoubleDifferentialCrossSectionIncoherentPhotonScatteringGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IncoherentPhotonScatteringGet", This, extract::incoherentPhotonScattering); +} + +// Set +void +DoubleDifferentialCrossSectionIncoherentPhotonScatteringSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstIncoherentPhotonScattering incoherentPhotonScattering) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IncoherentPhotonScatteringSet", This, extract::incoherentPhotonScattering, incoherentPhotonScattering); +} + + +// ----------------------------------------------------------------------------- +// Child: thermalNeutronScatteringLaw_coherentElastic +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_coherentElasticHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_coherentElasticHas", This, extract::thermalNeutronScatteringLaw_coherentElastic); +} + +// Get, const +Handle2ConstThermalNeutronScatteringLaw_coherentElastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_coherentElasticGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_coherentElasticGetConst", This, extract::thermalNeutronScatteringLaw_coherentElastic); +} + +// Get, non-const +Handle2ThermalNeutronScatteringLaw_coherentElastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_coherentElasticGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_coherentElasticGet", This, extract::thermalNeutronScatteringLaw_coherentElastic); +} + +// Set +void +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_coherentElasticSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic thermalNeutronScatteringLaw_coherentElastic) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_coherentElasticSet", This, extract::thermalNeutronScatteringLaw_coherentElastic, thermalNeutronScatteringLaw_coherentElastic); +} + + +// ----------------------------------------------------------------------------- +// Child: thermalNeutronScatteringLaw_incoherentElastic +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentElasticHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_incoherentElasticHas", This, extract::thermalNeutronScatteringLaw_incoherentElastic); +} + +// Get, const +Handle2ConstThermalNeutronScatteringLaw_incoherentElastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentElasticGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_incoherentElasticGetConst", This, extract::thermalNeutronScatteringLaw_incoherentElastic); +} + +// Get, non-const +Handle2ThermalNeutronScatteringLaw_incoherentElastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentElasticGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_incoherentElasticGet", This, extract::thermalNeutronScatteringLaw_incoherentElastic); +} + +// Set +void +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentElasticSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic thermalNeutronScatteringLaw_incoherentElastic) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_incoherentElasticSet", This, extract::thermalNeutronScatteringLaw_incoherentElastic, thermalNeutronScatteringLaw_incoherentElastic); +} + + +// ----------------------------------------------------------------------------- +// Child: thermalNeutronScatteringLaw_incoherentInelastic +// ----------------------------------------------------------------------------- + +// Has +int +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentInelasticHas(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_incoherentInelasticHas", This, extract::thermalNeutronScatteringLaw_incoherentInelastic); +} + +// Get, const +Handle2ConstThermalNeutronScatteringLaw_incoherentInelastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentInelasticGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_incoherentInelasticGetConst", This, extract::thermalNeutronScatteringLaw_incoherentInelastic); +} + +// Get, non-const +Handle2ThermalNeutronScatteringLaw_incoherentInelastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentInelasticGet(ConstHandle2DoubleDifferentialCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_incoherentInelasticGet", This, extract::thermalNeutronScatteringLaw_incoherentInelastic); +} + +// Set +void +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentInelasticSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic thermalNeutronScatteringLaw_incoherentInelastic) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ThermalNeutronScatteringLaw_incoherentInelasticSet", This, extract::thermalNeutronScatteringLaw_incoherentInelastic, thermalNeutronScatteringLaw_incoherentInelastic); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h b/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h new file mode 100644 index 000000000..887c70fa5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h @@ -0,0 +1,351 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DoubleDifferentialCrossSection is the basic handle type in this file. Example: +// // Create a default DoubleDifferentialCrossSection object: +// DoubleDifferentialCrossSection handle = DoubleDifferentialCrossSectionDefault(); +// Functions involving DoubleDifferentialCrossSection are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Regions3d.h" +#include "v2.0/unknownNamespace/XYs3d.h" +#include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" +#include "v2.0/transport/Reference.h" +#include "v2.0/atomic/CoherentPhotonScattering.h" +#include "v2.0/atomic/IncoherentPhotonScattering.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DoubleDifferentialCrossSectionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DoubleDifferentialCrossSection +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DoubleDifferentialCrossSectionClass *DoubleDifferentialCrossSection; + +// --- Const-aware handles. +typedef const struct DoubleDifferentialCrossSectionClass *const ConstHandle2ConstDoubleDifferentialCrossSection; +typedef struct DoubleDifferentialCrossSectionClass *const ConstHandle2DoubleDifferentialCrossSection; +typedef const struct DoubleDifferentialCrossSectionClass * Handle2ConstDoubleDifferentialCrossSection; +typedef struct DoubleDifferentialCrossSectionClass * Handle2DoubleDifferentialCrossSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDoubleDifferentialCrossSection +DoubleDifferentialCrossSectionDefaultConst(); + +// +++ Create, default +extern_c Handle2DoubleDifferentialCrossSection +DoubleDifferentialCrossSectionDefault(); + +// --- Create, general, const +extern_c Handle2ConstDoubleDifferentialCrossSection +DoubleDifferentialCrossSectionCreateConst( + ConstHandle2ConstRegions3d regions3d, + ConstHandle2ConstXYs3d XYs3d, + ConstHandle2ConstCoulombPlusNuclearElastic CoulombPlusNuclearElastic, + ConstHandle2ConstReference reference, + ConstHandle2ConstCoherentPhotonScattering coherentPhotonScattering, + ConstHandle2ConstIncoherentPhotonScattering incoherentPhotonScattering, + ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic thermalNeutronScatteringLaw_coherentElastic, + ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic thermalNeutronScatteringLaw_incoherentElastic, + ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic thermalNeutronScatteringLaw_incoherentInelastic +); + +// +++ Create, general +extern_c Handle2DoubleDifferentialCrossSection +DoubleDifferentialCrossSectionCreate( + ConstHandle2ConstRegions3d regions3d, + ConstHandle2ConstXYs3d XYs3d, + ConstHandle2ConstCoulombPlusNuclearElastic CoulombPlusNuclearElastic, + ConstHandle2ConstReference reference, + ConstHandle2ConstCoherentPhotonScattering coherentPhotonScattering, + ConstHandle2ConstIncoherentPhotonScattering incoherentPhotonScattering, + ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic thermalNeutronScatteringLaw_coherentElastic, + ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic thermalNeutronScatteringLaw_incoherentElastic, + ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic thermalNeutronScatteringLaw_incoherentInelastic +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DoubleDifferentialCrossSectionAssign(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstDoubleDifferentialCrossSection from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DoubleDifferentialCrossSectionDelete(ConstHandle2ConstDoubleDifferentialCrossSection This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DoubleDifferentialCrossSectionRead(ConstHandle2DoubleDifferentialCrossSection This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DoubleDifferentialCrossSectionWrite(ConstHandle2ConstDoubleDifferentialCrossSection This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DoubleDifferentialCrossSectionPrint(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Print to standard output, as XML +extern_c int +DoubleDifferentialCrossSectionPrintXML(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Print to standard output, as JSON +extern_c int +DoubleDifferentialCrossSectionPrintJSON(ConstHandle2ConstDoubleDifferentialCrossSection This); + + +// ----------------------------------------------------------------------------- +// Child: regions3d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionRegions3dHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstRegions3d +DoubleDifferentialCrossSectionRegions3dGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2Regions3d +DoubleDifferentialCrossSectionRegions3dGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionRegions3dSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstRegions3d regions3d); + + +// ----------------------------------------------------------------------------- +// Child: XYs3d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionXYs3dHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstXYs3d +DoubleDifferentialCrossSectionXYs3dGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2XYs3d +DoubleDifferentialCrossSectionXYs3dGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionXYs3dSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstXYs3d XYs3d); + + +// ----------------------------------------------------------------------------- +// Child: CoulombPlusNuclearElastic +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionCoulombPlusNuclearElasticHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstCoulombPlusNuclearElastic +DoubleDifferentialCrossSectionCoulombPlusNuclearElasticGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2CoulombPlusNuclearElastic +DoubleDifferentialCrossSectionCoulombPlusNuclearElasticGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionCoulombPlusNuclearElasticSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstCoulombPlusNuclearElastic CoulombPlusNuclearElastic); + + +// ----------------------------------------------------------------------------- +// Child: reference +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionReferenceHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstReference +DoubleDifferentialCrossSectionReferenceGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2Reference +DoubleDifferentialCrossSectionReferenceGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionReferenceSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstReference reference); + + +// ----------------------------------------------------------------------------- +// Child: coherentPhotonScattering +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionCoherentPhotonScatteringHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstCoherentPhotonScattering +DoubleDifferentialCrossSectionCoherentPhotonScatteringGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2CoherentPhotonScattering +DoubleDifferentialCrossSectionCoherentPhotonScatteringGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionCoherentPhotonScatteringSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstCoherentPhotonScattering coherentPhotonScattering); + + +// ----------------------------------------------------------------------------- +// Child: incoherentPhotonScattering +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionIncoherentPhotonScatteringHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstIncoherentPhotonScattering +DoubleDifferentialCrossSectionIncoherentPhotonScatteringGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2IncoherentPhotonScattering +DoubleDifferentialCrossSectionIncoherentPhotonScatteringGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionIncoherentPhotonScatteringSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstIncoherentPhotonScattering incoherentPhotonScattering); + + +// ----------------------------------------------------------------------------- +// Child: thermalNeutronScatteringLaw_coherentElastic +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_coherentElasticHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstThermalNeutronScatteringLaw_coherentElastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_coherentElasticGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2ThermalNeutronScatteringLaw_coherentElastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_coherentElasticGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_coherentElasticSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic thermalNeutronScatteringLaw_coherentElastic); + + +// ----------------------------------------------------------------------------- +// Child: thermalNeutronScatteringLaw_incoherentElastic +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentElasticHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstThermalNeutronScatteringLaw_incoherentElastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentElasticGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2ThermalNeutronScatteringLaw_incoherentElastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentElasticGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentElasticSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic thermalNeutronScatteringLaw_incoherentElastic); + + +// ----------------------------------------------------------------------------- +// Child: thermalNeutronScatteringLaw_incoherentInelastic +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentInelasticHas(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// --- Get, const +extern_c Handle2ConstThermalNeutronScatteringLaw_incoherentInelastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentInelasticGetConst(ConstHandle2ConstDoubleDifferentialCrossSection This); + +// +++ Get, non-const +extern_c Handle2ThermalNeutronScatteringLaw_incoherentInelastic +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentInelasticGet(ConstHandle2DoubleDifferentialCrossSection This); + +// +++ Set +extern_c void +DoubleDifferentialCrossSectionThermalNeutronScatteringLaw_incoherentInelasticSet(ConstHandle2DoubleDifferentialCrossSection This, ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic thermalNeutronScatteringLaw_incoherentInelastic); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp new file mode 100644 index 000000000..39288ae75 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp @@ -0,0 +1,244 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/EnergyAngular.hpp" +#include "EnergyAngular.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EnergyAngularClass; +using CPP = multigroup::EnergyAngular; + +static const std::string CLASSNAME = "EnergyAngular"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto XYs3d = [](auto &obj) { return &obj.XYs3d; }; +} + +using CPPXYs3d = unknownNamespace::XYs3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEnergyAngular +EnergyAngularDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EnergyAngular +EnergyAngularDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEnergyAngular +EnergyAngularCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs3d XYs3d +) { + ConstHandle2EnergyAngular handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(XYs3d) + ); + return handle; +} + +// Create, general +Handle2EnergyAngular +EnergyAngularCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs3d XYs3d +) { + ConstHandle2EnergyAngular handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(XYs3d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EnergyAngularAssign(ConstHandle2EnergyAngular This, ConstHandle2ConstEnergyAngular from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EnergyAngularDelete(ConstHandle2ConstEnergyAngular This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EnergyAngularRead(ConstHandle2EnergyAngular This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EnergyAngularWrite(ConstHandle2ConstEnergyAngular This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EnergyAngularPrint(ConstHandle2ConstEnergyAngular This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EnergyAngularPrintXML(ConstHandle2ConstEnergyAngular This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EnergyAngularPrintJSON(ConstHandle2ConstEnergyAngular This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EnergyAngularLabelHas(ConstHandle2ConstEnergyAngular This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +EnergyAngularLabelGet(ConstHandle2ConstEnergyAngular This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EnergyAngularLabelSet(ConstHandle2EnergyAngular This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +EnergyAngularProductFrameHas(ConstHandle2ConstEnergyAngular This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +EnergyAngularProductFrameGet(ConstHandle2ConstEnergyAngular This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +EnergyAngularProductFrameSet(ConstHandle2EnergyAngular This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs3d +// ----------------------------------------------------------------------------- + +// Has +int +EnergyAngularXYs3dHas(ConstHandle2ConstEnergyAngular This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs3dHas", This, extract::XYs3d); +} + +// Get, const +Handle2ConstXYs3d +EnergyAngularXYs3dGetConst(ConstHandle2ConstEnergyAngular This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs3dGetConst", This, extract::XYs3d); +} + +// Get, non-const +Handle2XYs3d +EnergyAngularXYs3dGet(ConstHandle2EnergyAngular This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs3dGet", This, extract::XYs3d); +} + +// Set +void +EnergyAngularXYs3dSet(ConstHandle2EnergyAngular This, ConstHandle2ConstXYs3d XYs3d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs3dSet", This, extract::XYs3d, XYs3d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h b/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h new file mode 100644 index 000000000..e7e4d8b62 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h @@ -0,0 +1,199 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EnergyAngular is the basic handle type in this file. Example: +// // Create a default EnergyAngular object: +// EnergyAngular handle = EnergyAngularDefault(); +// Functions involving EnergyAngular are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGYANGULAR +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGYANGULAR + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs3d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EnergyAngularClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EnergyAngular +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EnergyAngularClass *EnergyAngular; + +// --- Const-aware handles. +typedef const struct EnergyAngularClass *const ConstHandle2ConstEnergyAngular; +typedef struct EnergyAngularClass *const ConstHandle2EnergyAngular; +typedef const struct EnergyAngularClass * Handle2ConstEnergyAngular; +typedef struct EnergyAngularClass * Handle2EnergyAngular; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEnergyAngular +EnergyAngularDefaultConst(); + +// +++ Create, default +extern_c Handle2EnergyAngular +EnergyAngularDefault(); + +// --- Create, general, const +extern_c Handle2ConstEnergyAngular +EnergyAngularCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs3d XYs3d +); + +// +++ Create, general +extern_c Handle2EnergyAngular +EnergyAngularCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstXYs3d XYs3d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EnergyAngularAssign(ConstHandle2EnergyAngular This, ConstHandle2ConstEnergyAngular from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EnergyAngularDelete(ConstHandle2ConstEnergyAngular This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EnergyAngularRead(ConstHandle2EnergyAngular This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EnergyAngularWrite(ConstHandle2ConstEnergyAngular This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EnergyAngularPrint(ConstHandle2ConstEnergyAngular This); + +// +++ Print to standard output, as XML +extern_c int +EnergyAngularPrintXML(ConstHandle2ConstEnergyAngular This); + +// +++ Print to standard output, as JSON +extern_c int +EnergyAngularPrintJSON(ConstHandle2ConstEnergyAngular This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyAngularLabelHas(ConstHandle2ConstEnergyAngular This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyAngularLabelGet(ConstHandle2ConstEnergyAngular This); + +// +++ Set +extern_c void +EnergyAngularLabelSet(ConstHandle2EnergyAngular This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyAngularProductFrameHas(ConstHandle2ConstEnergyAngular This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +EnergyAngularProductFrameGet(ConstHandle2ConstEnergyAngular This); + +// +++ Set +extern_c void +EnergyAngularProductFrameSet(ConstHandle2EnergyAngular This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: XYs3d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EnergyAngularXYs3dHas(ConstHandle2ConstEnergyAngular This); + +// --- Get, const +extern_c Handle2ConstXYs3d +EnergyAngularXYs3dGetConst(ConstHandle2ConstEnergyAngular This); + +// +++ Get, non-const +extern_c Handle2XYs3d +EnergyAngularXYs3dGet(ConstHandle2EnergyAngular This); + +// +++ Set +extern_c void +EnergyAngularXYs3dSet(ConstHandle2EnergyAngular This, ConstHandle2ConstXYs3d XYs3d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp new file mode 100644 index 000000000..327e179ee --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp @@ -0,0 +1,604 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Energy_uncorrelated.hpp" +#include "Energy_uncorrelated.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Energy_uncorrelatedClass; +using CPP = multigroup::Energy_uncorrelated; + +static const std::string CLASSNAME = "Energy_uncorrelated"; + +namespace extract { + static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; + static auto regions2d = [](auto &obj) { return &obj.regions2d; }; + static auto generalEvaporation = [](auto &obj) { return &obj.generalEvaporation; }; + static auto discreteGamma = [](auto &obj) { return &obj.discreteGamma; }; + static auto primaryGamma = [](auto &obj) { return &obj.primaryGamma; }; + static auto NBodyPhaseSpace = [](auto &obj) { return &obj.NBodyPhaseSpace; }; + static auto evaporation = [](auto &obj) { return &obj.evaporation; }; + static auto weightedFunctionals = [](auto &obj) { return &obj.weightedFunctionals; }; + static auto simpleMaxwellianFission = [](auto &obj) { return &obj.simpleMaxwellianFission; }; + static auto Watt = [](auto &obj) { return &obj.Watt; }; + static auto MadlandNix = [](auto &obj) { return &obj.MadlandNix; }; +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; +using CPPGeneralEvaporation = transport::GeneralEvaporation; +using CPPDiscreteGamma = transport::DiscreteGamma; +using CPPPrimaryGamma = transport::PrimaryGamma; +using CPPNBodyPhaseSpace = transport::NBodyPhaseSpace; +using CPPEvaporation = transport::Evaporation; +using CPPWeightedFunctionals = transport::WeightedFunctionals; +using CPPSimpleMaxwellianFission = fissionTransport::SimpleMaxwellianFission; +using CPPWatt = fissionTransport::Watt; +using CPPMadlandNix = fissionTransport::MadlandNix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEnergy_uncorrelated +Energy_uncorrelatedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Energy_uncorrelated +Energy_uncorrelatedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEnergy_uncorrelated +Energy_uncorrelatedCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d, + ConstHandle2ConstGeneralEvaporation generalEvaporation, + ConstHandle2ConstDiscreteGamma discreteGamma, + ConstHandle2ConstPrimaryGamma primaryGamma, + ConstHandle2ConstNBodyPhaseSpace NBodyPhaseSpace, + ConstHandle2ConstEvaporation evaporation, + ConstHandle2ConstWeightedFunctionals weightedFunctionals, + ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission, + ConstHandle2ConstWatt Watt, + ConstHandle2ConstMadlandNix MadlandNix +) { + ConstHandle2Energy_uncorrelated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs2d), + detail::tocpp(regions2d), + detail::tocpp(generalEvaporation), + detail::tocpp(discreteGamma), + detail::tocpp(primaryGamma), + detail::tocpp(NBodyPhaseSpace), + detail::tocpp(evaporation), + detail::tocpp(weightedFunctionals), + detail::tocpp(simpleMaxwellianFission), + detail::tocpp(Watt), + detail::tocpp(MadlandNix) + ); + return handle; +} + +// Create, general +Handle2Energy_uncorrelated +Energy_uncorrelatedCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d, + ConstHandle2ConstGeneralEvaporation generalEvaporation, + ConstHandle2ConstDiscreteGamma discreteGamma, + ConstHandle2ConstPrimaryGamma primaryGamma, + ConstHandle2ConstNBodyPhaseSpace NBodyPhaseSpace, + ConstHandle2ConstEvaporation evaporation, + ConstHandle2ConstWeightedFunctionals weightedFunctionals, + ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission, + ConstHandle2ConstWatt Watt, + ConstHandle2ConstMadlandNix MadlandNix +) { + ConstHandle2Energy_uncorrelated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs2d), + detail::tocpp(regions2d), + detail::tocpp(generalEvaporation), + detail::tocpp(discreteGamma), + detail::tocpp(primaryGamma), + detail::tocpp(NBodyPhaseSpace), + detail::tocpp(evaporation), + detail::tocpp(weightedFunctionals), + detail::tocpp(simpleMaxwellianFission), + detail::tocpp(Watt), + detail::tocpp(MadlandNix) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Energy_uncorrelatedAssign(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstEnergy_uncorrelated from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Energy_uncorrelatedDelete(ConstHandle2ConstEnergy_uncorrelated This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Energy_uncorrelatedRead(ConstHandle2Energy_uncorrelated This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Energy_uncorrelatedWrite(ConstHandle2ConstEnergy_uncorrelated This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Energy_uncorrelatedPrint(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Energy_uncorrelatedPrintXML(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Energy_uncorrelatedPrintJSON(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedXYs2dHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs2dHas", This, extract::XYs2d); +} + +// Get, const +Handle2ConstXYs2d +Energy_uncorrelatedXYs2dGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGetConst", This, extract::XYs2d); +} + +// Get, non-const +Handle2XYs2d +Energy_uncorrelatedXYs2dGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGet", This, extract::XYs2d); +} + +// Set +void +Energy_uncorrelatedXYs2dSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstXYs2d XYs2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs2dSet", This, extract::XYs2d, XYs2d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedRegions2dHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions2dHas", This, extract::regions2d); +} + +// Get, const +Handle2ConstRegions2d +Energy_uncorrelatedRegions2dGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGetConst", This, extract::regions2d); +} + +// Get, non-const +Handle2Regions2d +Energy_uncorrelatedRegions2dGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions2dGet", This, extract::regions2d); +} + +// Set +void +Energy_uncorrelatedRegions2dSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstRegions2d regions2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions2dSet", This, extract::regions2d, regions2d); +} + + +// ----------------------------------------------------------------------------- +// Child: generalEvaporation +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedGeneralEvaporationHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GeneralEvaporationHas", This, extract::generalEvaporation); +} + +// Get, const +Handle2ConstGeneralEvaporation +Energy_uncorrelatedGeneralEvaporationGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GeneralEvaporationGetConst", This, extract::generalEvaporation); +} + +// Get, non-const +Handle2GeneralEvaporation +Energy_uncorrelatedGeneralEvaporationGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GeneralEvaporationGet", This, extract::generalEvaporation); +} + +// Set +void +Energy_uncorrelatedGeneralEvaporationSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstGeneralEvaporation generalEvaporation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"GeneralEvaporationSet", This, extract::generalEvaporation, generalEvaporation); +} + + +// ----------------------------------------------------------------------------- +// Child: discreteGamma +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedDiscreteGammaHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DiscreteGammaHas", This, extract::discreteGamma); +} + +// Get, const +Handle2ConstDiscreteGamma +Energy_uncorrelatedDiscreteGammaGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DiscreteGammaGetConst", This, extract::discreteGamma); +} + +// Get, non-const +Handle2DiscreteGamma +Energy_uncorrelatedDiscreteGammaGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DiscreteGammaGet", This, extract::discreteGamma); +} + +// Set +void +Energy_uncorrelatedDiscreteGammaSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstDiscreteGamma discreteGamma) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DiscreteGammaSet", This, extract::discreteGamma, discreteGamma); +} + + +// ----------------------------------------------------------------------------- +// Child: primaryGamma +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedPrimaryGammaHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PrimaryGammaHas", This, extract::primaryGamma); +} + +// Get, const +Handle2ConstPrimaryGamma +Energy_uncorrelatedPrimaryGammaGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PrimaryGammaGetConst", This, extract::primaryGamma); +} + +// Get, non-const +Handle2PrimaryGamma +Energy_uncorrelatedPrimaryGammaGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PrimaryGammaGet", This, extract::primaryGamma); +} + +// Set +void +Energy_uncorrelatedPrimaryGammaSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstPrimaryGamma primaryGamma) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PrimaryGammaSet", This, extract::primaryGamma, primaryGamma); +} + + +// ----------------------------------------------------------------------------- +// Child: NBodyPhaseSpace +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedNBodyPhaseSpaceHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NBodyPhaseSpaceHas", This, extract::NBodyPhaseSpace); +} + +// Get, const +Handle2ConstNBodyPhaseSpace +Energy_uncorrelatedNBodyPhaseSpaceGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NBodyPhaseSpaceGetConst", This, extract::NBodyPhaseSpace); +} + +// Get, non-const +Handle2NBodyPhaseSpace +Energy_uncorrelatedNBodyPhaseSpaceGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NBodyPhaseSpaceGet", This, extract::NBodyPhaseSpace); +} + +// Set +void +Energy_uncorrelatedNBodyPhaseSpaceSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstNBodyPhaseSpace NBodyPhaseSpace) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NBodyPhaseSpaceSet", This, extract::NBodyPhaseSpace, NBodyPhaseSpace); +} + + +// ----------------------------------------------------------------------------- +// Child: evaporation +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedEvaporationHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaporationHas", This, extract::evaporation); +} + +// Get, const +Handle2ConstEvaporation +Energy_uncorrelatedEvaporationGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaporationGetConst", This, extract::evaporation); +} + +// Get, non-const +Handle2Evaporation +Energy_uncorrelatedEvaporationGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaporationGet", This, extract::evaporation); +} + +// Set +void +Energy_uncorrelatedEvaporationSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstEvaporation evaporation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EvaporationSet", This, extract::evaporation, evaporation); +} + + +// ----------------------------------------------------------------------------- +// Child: weightedFunctionals +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedWeightedFunctionalsHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"WeightedFunctionalsHas", This, extract::weightedFunctionals); +} + +// Get, const +Handle2ConstWeightedFunctionals +Energy_uncorrelatedWeightedFunctionalsGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WeightedFunctionalsGetConst", This, extract::weightedFunctionals); +} + +// Get, non-const +Handle2WeightedFunctionals +Energy_uncorrelatedWeightedFunctionalsGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WeightedFunctionalsGet", This, extract::weightedFunctionals); +} + +// Set +void +Energy_uncorrelatedWeightedFunctionalsSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstWeightedFunctionals weightedFunctionals) +{ + detail::setField + (CLASSNAME, CLASSNAME+"WeightedFunctionalsSet", This, extract::weightedFunctionals, weightedFunctionals); +} + + +// ----------------------------------------------------------------------------- +// Child: simpleMaxwellianFission +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedSimpleMaxwellianFissionHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SimpleMaxwellianFissionHas", This, extract::simpleMaxwellianFission); +} + +// Get, const +Handle2ConstSimpleMaxwellianFission +Energy_uncorrelatedSimpleMaxwellianFissionGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SimpleMaxwellianFissionGetConst", This, extract::simpleMaxwellianFission); +} + +// Get, non-const +Handle2SimpleMaxwellianFission +Energy_uncorrelatedSimpleMaxwellianFissionGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SimpleMaxwellianFissionGet", This, extract::simpleMaxwellianFission); +} + +// Set +void +Energy_uncorrelatedSimpleMaxwellianFissionSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SimpleMaxwellianFissionSet", This, extract::simpleMaxwellianFission, simpleMaxwellianFission); +} + + +// ----------------------------------------------------------------------------- +// Child: Watt +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedWattHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"WattHas", This, extract::Watt); +} + +// Get, const +Handle2ConstWatt +Energy_uncorrelatedWattGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WattGetConst", This, extract::Watt); +} + +// Get, non-const +Handle2Watt +Energy_uncorrelatedWattGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WattGet", This, extract::Watt); +} + +// Set +void +Energy_uncorrelatedWattSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstWatt Watt) +{ + detail::setField + (CLASSNAME, CLASSNAME+"WattSet", This, extract::Watt, Watt); +} + + +// ----------------------------------------------------------------------------- +// Child: MadlandNix +// ----------------------------------------------------------------------------- + +// Has +int +Energy_uncorrelatedMadlandNixHas(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MadlandNixHas", This, extract::MadlandNix); +} + +// Get, const +Handle2ConstMadlandNix +Energy_uncorrelatedMadlandNixGetConst(ConstHandle2ConstEnergy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MadlandNixGetConst", This, extract::MadlandNix); +} + +// Get, non-const +Handle2MadlandNix +Energy_uncorrelatedMadlandNixGet(ConstHandle2Energy_uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MadlandNixGet", This, extract::MadlandNix); +} + +// Set +void +Energy_uncorrelatedMadlandNixSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstMadlandNix MadlandNix) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MadlandNixSet", This, extract::MadlandNix, MadlandNix); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h new file mode 100644 index 000000000..9f24f7095 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h @@ -0,0 +1,399 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Energy_uncorrelated is the basic handle type in this file. Example: +// // Create a default Energy_uncorrelated object: +// Energy_uncorrelated handle = Energy_uncorrelatedDefault(); +// Functions involving Energy_uncorrelated are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/transport/GeneralEvaporation.h" +#include "v2.0/transport/DiscreteGamma.h" +#include "v2.0/transport/PrimaryGamma.h" +#include "v2.0/transport/NBodyPhaseSpace.h" +#include "v2.0/transport/Evaporation.h" +#include "v2.0/transport/WeightedFunctionals.h" +#include "v2.0/fissionTransport/SimpleMaxwellianFission.h" +#include "v2.0/fissionTransport/Watt.h" +#include "v2.0/fissionTransport/MadlandNix.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Energy_uncorrelatedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Energy_uncorrelated +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Energy_uncorrelatedClass *Energy_uncorrelated; + +// --- Const-aware handles. +typedef const struct Energy_uncorrelatedClass *const ConstHandle2ConstEnergy_uncorrelated; +typedef struct Energy_uncorrelatedClass *const ConstHandle2Energy_uncorrelated; +typedef const struct Energy_uncorrelatedClass * Handle2ConstEnergy_uncorrelated; +typedef struct Energy_uncorrelatedClass * Handle2Energy_uncorrelated; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEnergy_uncorrelated +Energy_uncorrelatedDefaultConst(); + +// +++ Create, default +extern_c Handle2Energy_uncorrelated +Energy_uncorrelatedDefault(); + +// --- Create, general, const +extern_c Handle2ConstEnergy_uncorrelated +Energy_uncorrelatedCreateConst( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d, + ConstHandle2ConstGeneralEvaporation generalEvaporation, + ConstHandle2ConstDiscreteGamma discreteGamma, + ConstHandle2ConstPrimaryGamma primaryGamma, + ConstHandle2ConstNBodyPhaseSpace NBodyPhaseSpace, + ConstHandle2ConstEvaporation evaporation, + ConstHandle2ConstWeightedFunctionals weightedFunctionals, + ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission, + ConstHandle2ConstWatt Watt, + ConstHandle2ConstMadlandNix MadlandNix +); + +// +++ Create, general +extern_c Handle2Energy_uncorrelated +Energy_uncorrelatedCreate( + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstRegions2d regions2d, + ConstHandle2ConstGeneralEvaporation generalEvaporation, + ConstHandle2ConstDiscreteGamma discreteGamma, + ConstHandle2ConstPrimaryGamma primaryGamma, + ConstHandle2ConstNBodyPhaseSpace NBodyPhaseSpace, + ConstHandle2ConstEvaporation evaporation, + ConstHandle2ConstWeightedFunctionals weightedFunctionals, + ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission, + ConstHandle2ConstWatt Watt, + ConstHandle2ConstMadlandNix MadlandNix +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Energy_uncorrelatedAssign(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstEnergy_uncorrelated from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Energy_uncorrelatedDelete(ConstHandle2ConstEnergy_uncorrelated This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Energy_uncorrelatedRead(ConstHandle2Energy_uncorrelated This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Energy_uncorrelatedWrite(ConstHandle2ConstEnergy_uncorrelated This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Energy_uncorrelatedPrint(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Print to standard output, as XML +extern_c int +Energy_uncorrelatedPrintXML(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Print to standard output, as JSON +extern_c int +Energy_uncorrelatedPrintJSON(ConstHandle2ConstEnergy_uncorrelated This); + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedXYs2dHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstXYs2d +Energy_uncorrelatedXYs2dGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2XYs2d +Energy_uncorrelatedXYs2dGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedXYs2dSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstXYs2d XYs2d); + + +// ----------------------------------------------------------------------------- +// Child: regions2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedRegions2dHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstRegions2d +Energy_uncorrelatedRegions2dGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2Regions2d +Energy_uncorrelatedRegions2dGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedRegions2dSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstRegions2d regions2d); + + +// ----------------------------------------------------------------------------- +// Child: generalEvaporation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedGeneralEvaporationHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstGeneralEvaporation +Energy_uncorrelatedGeneralEvaporationGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2GeneralEvaporation +Energy_uncorrelatedGeneralEvaporationGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedGeneralEvaporationSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstGeneralEvaporation generalEvaporation); + + +// ----------------------------------------------------------------------------- +// Child: discreteGamma +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedDiscreteGammaHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstDiscreteGamma +Energy_uncorrelatedDiscreteGammaGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2DiscreteGamma +Energy_uncorrelatedDiscreteGammaGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedDiscreteGammaSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstDiscreteGamma discreteGamma); + + +// ----------------------------------------------------------------------------- +// Child: primaryGamma +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedPrimaryGammaHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstPrimaryGamma +Energy_uncorrelatedPrimaryGammaGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2PrimaryGamma +Energy_uncorrelatedPrimaryGammaGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedPrimaryGammaSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstPrimaryGamma primaryGamma); + + +// ----------------------------------------------------------------------------- +// Child: NBodyPhaseSpace +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedNBodyPhaseSpaceHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstNBodyPhaseSpace +Energy_uncorrelatedNBodyPhaseSpaceGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2NBodyPhaseSpace +Energy_uncorrelatedNBodyPhaseSpaceGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedNBodyPhaseSpaceSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstNBodyPhaseSpace NBodyPhaseSpace); + + +// ----------------------------------------------------------------------------- +// Child: evaporation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedEvaporationHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstEvaporation +Energy_uncorrelatedEvaporationGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2Evaporation +Energy_uncorrelatedEvaporationGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedEvaporationSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstEvaporation evaporation); + + +// ----------------------------------------------------------------------------- +// Child: weightedFunctionals +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedWeightedFunctionalsHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstWeightedFunctionals +Energy_uncorrelatedWeightedFunctionalsGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2WeightedFunctionals +Energy_uncorrelatedWeightedFunctionalsGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedWeightedFunctionalsSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstWeightedFunctionals weightedFunctionals); + + +// ----------------------------------------------------------------------------- +// Child: simpleMaxwellianFission +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedSimpleMaxwellianFissionHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstSimpleMaxwellianFission +Energy_uncorrelatedSimpleMaxwellianFissionGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2SimpleMaxwellianFission +Energy_uncorrelatedSimpleMaxwellianFissionGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedSimpleMaxwellianFissionSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission); + + +// ----------------------------------------------------------------------------- +// Child: Watt +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedWattHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstWatt +Energy_uncorrelatedWattGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2Watt +Energy_uncorrelatedWattGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedWattSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstWatt Watt); + + +// ----------------------------------------------------------------------------- +// Child: MadlandNix +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Energy_uncorrelatedMadlandNixHas(ConstHandle2ConstEnergy_uncorrelated This); + +// --- Get, const +extern_c Handle2ConstMadlandNix +Energy_uncorrelatedMadlandNixGetConst(ConstHandle2ConstEnergy_uncorrelated This); + +// +++ Get, non-const +extern_c Handle2MadlandNix +Energy_uncorrelatedMadlandNixGet(ConstHandle2Energy_uncorrelated This); + +// +++ Set +extern_c void +Energy_uncorrelatedMadlandNixSet(ConstHandle2Energy_uncorrelated This, ConstHandle2ConstMadlandNix MadlandNix); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.cpp new file mode 100644 index 000000000..7f4c3da8d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Evaporation.hpp" +#include "Evaporation.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = EvaporationClass; +using CPP = multigroup::Evaporation; + +static const std::string CLASSNAME = "Evaporation"; + +namespace extract { + static auto U = [](auto &obj) { return &obj.U; }; + static auto theta = [](auto &obj) { return &obj.theta; }; +} + +using CPPU = transport::U; +using CPPTheta = transport::Theta; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEvaporation +EvaporationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Evaporation +EvaporationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEvaporation +EvaporationCreateConst( + ConstHandle2ConstU U, + ConstHandle2ConstTheta theta +) { + ConstHandle2Evaporation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(U), + detail::tocpp(theta) + ); + return handle; +} + +// Create, general +Handle2Evaporation +EvaporationCreate( + ConstHandle2ConstU U, + ConstHandle2ConstTheta theta +) { + ConstHandle2Evaporation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(U), + detail::tocpp(theta) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EvaporationAssign(ConstHandle2Evaporation This, ConstHandle2ConstEvaporation from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EvaporationDelete(ConstHandle2ConstEvaporation This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EvaporationRead(ConstHandle2Evaporation This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EvaporationWrite(ConstHandle2ConstEvaporation This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EvaporationPrint(ConstHandle2ConstEvaporation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EvaporationPrintXML(ConstHandle2ConstEvaporation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EvaporationPrintJSON(ConstHandle2ConstEvaporation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: U +// ----------------------------------------------------------------------------- + +// Has +int +EvaporationUHas(ConstHandle2ConstEvaporation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UHas", This, extract::U); +} + +// Get, const +Handle2ConstU +EvaporationUGetConst(ConstHandle2ConstEvaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UGetConst", This, extract::U); +} + +// Get, non-const +Handle2U +EvaporationUGet(ConstHandle2Evaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UGet", This, extract::U); +} + +// Set +void +EvaporationUSet(ConstHandle2Evaporation This, ConstHandle2ConstU U) +{ + detail::setField + (CLASSNAME, CLASSNAME+"USet", This, extract::U, U); +} + + +// ----------------------------------------------------------------------------- +// Child: theta +// ----------------------------------------------------------------------------- + +// Has +int +EvaporationThetaHas(ConstHandle2ConstEvaporation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ThetaHas", This, extract::theta); +} + +// Get, const +Handle2ConstTheta +EvaporationThetaGetConst(ConstHandle2ConstEvaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThetaGetConst", This, extract::theta); +} + +// Get, non-const +Handle2Theta +EvaporationThetaGet(ConstHandle2Evaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThetaGet", This, extract::theta); +} + +// Set +void +EvaporationThetaSet(ConstHandle2Evaporation This, ConstHandle2ConstTheta theta) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ThetaSet", This, extract::theta, theta); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.h new file mode 100644 index 000000000..a048fc5d4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Evaporation is the basic handle type in this file. Example: +// // Create a default Evaporation object: +// Evaporation handle = EvaporationDefault(); +// Functions involving Evaporation are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_EVAPORATION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_EVAPORATION + +#include "GNDStk.h" +#include "v2.0/transport/U.h" +#include "v2.0/transport/Theta.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EvaporationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Evaporation +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EvaporationClass *Evaporation; + +// --- Const-aware handles. +typedef const struct EvaporationClass *const ConstHandle2ConstEvaporation; +typedef struct EvaporationClass *const ConstHandle2Evaporation; +typedef const struct EvaporationClass * Handle2ConstEvaporation; +typedef struct EvaporationClass * Handle2Evaporation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEvaporation +EvaporationDefaultConst(); + +// +++ Create, default +extern_c Handle2Evaporation +EvaporationDefault(); + +// --- Create, general, const +extern_c Handle2ConstEvaporation +EvaporationCreateConst( + ConstHandle2ConstU U, + ConstHandle2ConstTheta theta +); + +// +++ Create, general +extern_c Handle2Evaporation +EvaporationCreate( + ConstHandle2ConstU U, + ConstHandle2ConstTheta theta +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EvaporationAssign(ConstHandle2Evaporation This, ConstHandle2ConstEvaporation from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EvaporationDelete(ConstHandle2ConstEvaporation This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EvaporationRead(ConstHandle2Evaporation This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EvaporationWrite(ConstHandle2ConstEvaporation This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EvaporationPrint(ConstHandle2ConstEvaporation This); + +// +++ Print to standard output, as XML +extern_c int +EvaporationPrintXML(ConstHandle2ConstEvaporation This); + +// +++ Print to standard output, as JSON +extern_c int +EvaporationPrintJSON(ConstHandle2ConstEvaporation This); + + +// ----------------------------------------------------------------------------- +// Child: U +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaporationUHas(ConstHandle2ConstEvaporation This); + +// --- Get, const +extern_c Handle2ConstU +EvaporationUGetConst(ConstHandle2ConstEvaporation This); + +// +++ Get, non-const +extern_c Handle2U +EvaporationUGet(ConstHandle2Evaporation This); + +// +++ Set +extern_c void +EvaporationUSet(ConstHandle2Evaporation This, ConstHandle2ConstU U); + + +// ----------------------------------------------------------------------------- +// Child: theta +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaporationThetaHas(ConstHandle2ConstEvaporation This); + +// --- Get, const +extern_c Handle2ConstTheta +EvaporationThetaGetConst(ConstHandle2ConstEvaporation This); + +// +++ Get, non-const +extern_c Handle2Theta +EvaporationThetaGet(ConstHandle2Evaporation This); + +// +++ Set +extern_c void +EvaporationThetaSet(ConstHandle2Evaporation This, ConstHandle2ConstTheta theta); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp new file mode 100644 index 000000000..a95a2c13b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/F.hpp" +#include "F.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FClass; +using CPP = multigroup::F; + +static const std::string CLASSNAME = "F"; + +namespace extract { +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstF +FDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2F +FDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstF +FCreateConst( +) { + ConstHandle2F handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2F +FCreate( +) { + ConstHandle2F handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FAssign(ConstHandle2F This, ConstHandle2ConstF from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FDelete(ConstHandle2ConstF This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FRead(ConstHandle2F This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FWrite(ConstHandle2ConstF This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FPrint(ConstHandle2ConstF This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FPrintXML(ConstHandle2ConstF This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FPrintJSON(ConstHandle2ConstF This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/F.h b/standards/gnds-2.0/try/c/src/v2.0/transport/F.h new file mode 100644 index 000000000..eb39b3ebd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/F.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// F is the basic handle type in this file. Example: +// // Create a default F object: +// F handle = FDefault(); +// Functions involving F are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_F +#define C_INTERFACE_TRY_V2_0_TRANSPORT_F + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ F +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FClass *F; + +// --- Const-aware handles. +typedef const struct FClass *const ConstHandle2ConstF; +typedef struct FClass *const ConstHandle2F; +typedef const struct FClass * Handle2ConstF; +typedef struct FClass * Handle2F; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstF +FDefaultConst(); + +// +++ Create, default +extern_c Handle2F +FDefault(); + +// --- Create, general, const +extern_c Handle2ConstF +FCreateConst( +); + +// +++ Create, general +extern_c Handle2F +FCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FAssign(ConstHandle2F This, ConstHandle2ConstF from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FDelete(ConstHandle2ConstF This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FRead(ConstHandle2F This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FWrite(ConstHandle2ConstF This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FPrint(ConstHandle2ConstF This); + +// +++ Print to standard output, as XML +extern_c int +FPrintXML(ConstHandle2ConstF This); + +// +++ Print to standard output, as JSON +extern_c int +FPrintJSON(ConstHandle2ConstF This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp new file mode 100644 index 000000000..4086eece3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/FastRegion.hpp" +#include "FastRegion.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FastRegionClass; +using CPP = multigroup::FastRegion; + +static const std::string CLASSNAME = "FastRegion"; + +namespace extract { +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFastRegion +FastRegionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2FastRegion +FastRegionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFastRegion +FastRegionCreateConst( +) { + ConstHandle2FastRegion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2FastRegion +FastRegionCreate( +) { + ConstHandle2FastRegion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FastRegionAssign(ConstHandle2FastRegion This, ConstHandle2ConstFastRegion from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FastRegionDelete(ConstHandle2ConstFastRegion This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FastRegionRead(ConstHandle2FastRegion This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FastRegionWrite(ConstHandle2ConstFastRegion This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FastRegionPrint(ConstHandle2ConstFastRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FastRegionPrintXML(ConstHandle2ConstFastRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FastRegionPrintJSON(ConstHandle2ConstFastRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h b/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h new file mode 100644 index 000000000..70e74cfae --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// FastRegion is the basic handle type in this file. Example: +// // Create a default FastRegion object: +// FastRegion handle = FastRegionDefault(); +// Functions involving FastRegion are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_FASTREGION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_FASTREGION + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FastRegionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ FastRegion +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FastRegionClass *FastRegion; + +// --- Const-aware handles. +typedef const struct FastRegionClass *const ConstHandle2ConstFastRegion; +typedef struct FastRegionClass *const ConstHandle2FastRegion; +typedef const struct FastRegionClass * Handle2ConstFastRegion; +typedef struct FastRegionClass * Handle2FastRegion; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFastRegion +FastRegionDefaultConst(); + +// +++ Create, default +extern_c Handle2FastRegion +FastRegionDefault(); + +// --- Create, general, const +extern_c Handle2ConstFastRegion +FastRegionCreateConst( +); + +// +++ Create, general +extern_c Handle2FastRegion +FastRegionCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FastRegionAssign(ConstHandle2FastRegion This, ConstHandle2ConstFastRegion from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FastRegionDelete(ConstHandle2ConstFastRegion This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FastRegionRead(ConstHandle2FastRegion This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FastRegionWrite(ConstHandle2ConstFastRegion This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FastRegionPrint(ConstHandle2ConstFastRegion This); + +// +++ Print to standard output, as XML +extern_c int +FastRegionPrintXML(ConstHandle2ConstFastRegion This); + +// +++ Print to standard output, as JSON +extern_c int +FastRegionPrintJSON(ConstHandle2ConstFastRegion This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.cpp new file mode 100644 index 000000000..b04a7372b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Forward.hpp" +#include "Forward.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ForwardClass; +using CPP = multigroup::Forward; + +static const std::string CLASSNAME = "Forward"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstForward +ForwardDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Forward +ForwardDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstForward +ForwardCreateConst() +{ + ConstHandle2Forward handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Forward +ForwardCreate() +{ + ConstHandle2Forward handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ForwardAssign(ConstHandle2Forward This, ConstHandle2ConstForward from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ForwardDelete(ConstHandle2ConstForward This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ForwardRead(ConstHandle2Forward This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ForwardWrite(ConstHandle2ConstForward This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ForwardPrint(ConstHandle2ConstForward This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ForwardPrintXML(ConstHandle2ConstForward This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ForwardPrintJSON(ConstHandle2ConstForward This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.h new file mode 100644 index 000000000..81cd3d9c8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Forward is the basic handle type in this file. Example: +// // Create a default Forward object: +// Forward handle = ForwardDefault(); +// Functions involving Forward are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_FORWARD +#define C_INTERFACE_TRY_V2_0_TRANSPORT_FORWARD + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ForwardClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Forward +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ForwardClass *Forward; + +// --- Const-aware handles. +typedef const struct ForwardClass *const ConstHandle2ConstForward; +typedef struct ForwardClass *const ConstHandle2Forward; +typedef const struct ForwardClass * Handle2ConstForward; +typedef struct ForwardClass * Handle2Forward; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstForward +ForwardDefaultConst(); + +// +++ Create, default +extern_c Handle2Forward +ForwardDefault(); + +// --- Create, general, const +extern_c Handle2ConstForward +ForwardCreateConst(); + +// +++ Create, general +extern_c Handle2Forward +ForwardCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ForwardAssign(ConstHandle2Forward This, ConstHandle2ConstForward from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ForwardDelete(ConstHandle2ConstForward This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ForwardRead(ConstHandle2Forward This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ForwardWrite(ConstHandle2ConstForward This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ForwardPrint(ConstHandle2ConstForward This); + +// +++ Print to standard output, as XML +extern_c int +ForwardPrintXML(ConstHandle2ConstForward This); + +// +++ Print to standard output, as JSON +extern_c int +ForwardPrintJSON(ConstHandle2ConstForward This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp new file mode 100644 index 000000000..c55c14482 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/G.hpp" +#include "G.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = GClass; +using CPP = multigroup::G; + +static const std::string CLASSNAME = "G"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstG +GDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2G +GDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstG +GCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2G handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2G +GCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2G handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +GAssign(ConstHandle2G This, ConstHandle2ConstG from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +GDelete(ConstHandle2ConstG This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +GRead(ConstHandle2G This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +GWrite(ConstHandle2ConstG This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +GPrint(ConstHandle2ConstG This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +GPrintXML(ConstHandle2ConstG This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +GPrintJSON(ConstHandle2ConstG This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +GXYs1dHas(ConstHandle2ConstG This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +GXYs1dGetConst(ConstHandle2ConstG This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +GXYs1dGet(ConstHandle2G This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +GXYs1dSet(ConstHandle2G This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +GRegions1dHas(ConstHandle2ConstG This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +GRegions1dGetConst(ConstHandle2ConstG This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +GRegions1dGet(ConstHandle2G This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +GRegions1dSet(ConstHandle2G This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/G.h b/standards/gnds-2.0/try/c/src/v2.0/transport/G.h new file mode 100644 index 000000000..f9217eccd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/G.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// G is the basic handle type in this file. Example: +// // Create a default G object: +// G handle = GDefault(); +// Functions involving G are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_G +#define C_INTERFACE_TRY_V2_0_TRANSPORT_G + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct GClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ G +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct GClass *G; + +// --- Const-aware handles. +typedef const struct GClass *const ConstHandle2ConstG; +typedef struct GClass *const ConstHandle2G; +typedef const struct GClass * Handle2ConstG; +typedef struct GClass * Handle2G; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstG +GDefaultConst(); + +// +++ Create, default +extern_c Handle2G +GDefault(); + +// --- Create, general, const +extern_c Handle2ConstG +GCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2G +GCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +GAssign(ConstHandle2G This, ConstHandle2ConstG from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +GDelete(ConstHandle2ConstG This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +GRead(ConstHandle2G This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +GWrite(ConstHandle2ConstG This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +GPrint(ConstHandle2ConstG This); + +// +++ Print to standard output, as XML +extern_c int +GPrintXML(ConstHandle2ConstG This); + +// +++ Print to standard output, as JSON +extern_c int +GPrintJSON(ConstHandle2ConstG This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GXYs1dHas(ConstHandle2ConstG This); + +// --- Get, const +extern_c Handle2ConstXYs1d +GXYs1dGetConst(ConstHandle2ConstG This); + +// +++ Get, non-const +extern_c Handle2XYs1d +GXYs1dGet(ConstHandle2G This); + +// +++ Set +extern_c void +GXYs1dSet(ConstHandle2G This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GRegions1dHas(ConstHandle2ConstG This); + +// --- Get, const +extern_c Handle2ConstRegions1d +GRegions1dGetConst(ConstHandle2ConstG This); + +// +++ Get, non-const +extern_c Handle2Regions1d +GRegions1dGet(ConstHandle2G This); + +// +++ Set +extern_c void +GRegions1dSet(ConstHandle2G This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.cpp new file mode 100644 index 000000000..2c78f7a44 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.cpp @@ -0,0 +1,260 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/GeneralEvaporation.hpp" +#include "GeneralEvaporation.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = GeneralEvaporationClass; +using CPP = multigroup::GeneralEvaporation; + +static const std::string CLASSNAME = "GeneralEvaporation"; + +namespace extract { + static auto U = [](auto &obj) { return &obj.U; }; + static auto g = [](auto &obj) { return &obj.g; }; + static auto theta = [](auto &obj) { return &obj.theta; }; +} + +using CPPU = transport::U; +using CPPG = transport::G; +using CPPTheta = transport::Theta; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGeneralEvaporation +GeneralEvaporationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2GeneralEvaporation +GeneralEvaporationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGeneralEvaporation +GeneralEvaporationCreateConst( + ConstHandle2ConstU U, + ConstHandle2ConstG g, + ConstHandle2ConstTheta theta +) { + ConstHandle2GeneralEvaporation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(U), + detail::tocpp(g), + detail::tocpp(theta) + ); + return handle; +} + +// Create, general +Handle2GeneralEvaporation +GeneralEvaporationCreate( + ConstHandle2ConstU U, + ConstHandle2ConstG g, + ConstHandle2ConstTheta theta +) { + ConstHandle2GeneralEvaporation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(U), + detail::tocpp(g), + detail::tocpp(theta) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +GeneralEvaporationAssign(ConstHandle2GeneralEvaporation This, ConstHandle2ConstGeneralEvaporation from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +GeneralEvaporationDelete(ConstHandle2ConstGeneralEvaporation This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +GeneralEvaporationRead(ConstHandle2GeneralEvaporation This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +GeneralEvaporationWrite(ConstHandle2ConstGeneralEvaporation This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +GeneralEvaporationPrint(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +GeneralEvaporationPrintXML(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +GeneralEvaporationPrintJSON(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: U +// ----------------------------------------------------------------------------- + +// Has +int +GeneralEvaporationUHas(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UHas", This, extract::U); +} + +// Get, const +Handle2ConstU +GeneralEvaporationUGetConst(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UGetConst", This, extract::U); +} + +// Get, non-const +Handle2U +GeneralEvaporationUGet(ConstHandle2GeneralEvaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UGet", This, extract::U); +} + +// Set +void +GeneralEvaporationUSet(ConstHandle2GeneralEvaporation This, ConstHandle2ConstU U) +{ + detail::setField + (CLASSNAME, CLASSNAME+"USet", This, extract::U, U); +} + + +// ----------------------------------------------------------------------------- +// Child: g +// ----------------------------------------------------------------------------- + +// Has +int +GeneralEvaporationGHas(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GHas", This, extract::g); +} + +// Get, const +Handle2ConstG +GeneralEvaporationGGetConst(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GGetConst", This, extract::g); +} + +// Get, non-const +Handle2G +GeneralEvaporationGGet(ConstHandle2GeneralEvaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GGet", This, extract::g); +} + +// Set +void +GeneralEvaporationGSet(ConstHandle2GeneralEvaporation This, ConstHandle2ConstG g) +{ + detail::setField + (CLASSNAME, CLASSNAME+"GSet", This, extract::g, g); +} + + +// ----------------------------------------------------------------------------- +// Child: theta +// ----------------------------------------------------------------------------- + +// Has +int +GeneralEvaporationThetaHas(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ThetaHas", This, extract::theta); +} + +// Get, const +Handle2ConstTheta +GeneralEvaporationThetaGetConst(ConstHandle2ConstGeneralEvaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThetaGetConst", This, extract::theta); +} + +// Get, non-const +Handle2Theta +GeneralEvaporationThetaGet(ConstHandle2GeneralEvaporation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ThetaGet", This, extract::theta); +} + +// Set +void +GeneralEvaporationThetaSet(ConstHandle2GeneralEvaporation This, ConstHandle2ConstTheta theta) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ThetaSet", This, extract::theta, theta); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.h b/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.h new file mode 100644 index 000000000..7b812961f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.h @@ -0,0 +1,207 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// GeneralEvaporation is the basic handle type in this file. Example: +// // Create a default GeneralEvaporation object: +// GeneralEvaporation handle = GeneralEvaporationDefault(); +// Functions involving GeneralEvaporation are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_GENERALEVAPORATION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_GENERALEVAPORATION + +#include "GNDStk.h" +#include "v2.0/transport/U.h" +#include "v2.0/transport/G.h" +#include "v2.0/transport/Theta.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct GeneralEvaporationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ GeneralEvaporation +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct GeneralEvaporationClass *GeneralEvaporation; + +// --- Const-aware handles. +typedef const struct GeneralEvaporationClass *const ConstHandle2ConstGeneralEvaporation; +typedef struct GeneralEvaporationClass *const ConstHandle2GeneralEvaporation; +typedef const struct GeneralEvaporationClass * Handle2ConstGeneralEvaporation; +typedef struct GeneralEvaporationClass * Handle2GeneralEvaporation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGeneralEvaporation +GeneralEvaporationDefaultConst(); + +// +++ Create, default +extern_c Handle2GeneralEvaporation +GeneralEvaporationDefault(); + +// --- Create, general, const +extern_c Handle2ConstGeneralEvaporation +GeneralEvaporationCreateConst( + ConstHandle2ConstU U, + ConstHandle2ConstG g, + ConstHandle2ConstTheta theta +); + +// +++ Create, general +extern_c Handle2GeneralEvaporation +GeneralEvaporationCreate( + ConstHandle2ConstU U, + ConstHandle2ConstG g, + ConstHandle2ConstTheta theta +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +GeneralEvaporationAssign(ConstHandle2GeneralEvaporation This, ConstHandle2ConstGeneralEvaporation from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +GeneralEvaporationDelete(ConstHandle2ConstGeneralEvaporation This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +GeneralEvaporationRead(ConstHandle2GeneralEvaporation This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +GeneralEvaporationWrite(ConstHandle2ConstGeneralEvaporation This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +GeneralEvaporationPrint(ConstHandle2ConstGeneralEvaporation This); + +// +++ Print to standard output, as XML +extern_c int +GeneralEvaporationPrintXML(ConstHandle2ConstGeneralEvaporation This); + +// +++ Print to standard output, as JSON +extern_c int +GeneralEvaporationPrintJSON(ConstHandle2ConstGeneralEvaporation This); + + +// ----------------------------------------------------------------------------- +// Child: U +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GeneralEvaporationUHas(ConstHandle2ConstGeneralEvaporation This); + +// --- Get, const +extern_c Handle2ConstU +GeneralEvaporationUGetConst(ConstHandle2ConstGeneralEvaporation This); + +// +++ Get, non-const +extern_c Handle2U +GeneralEvaporationUGet(ConstHandle2GeneralEvaporation This); + +// +++ Set +extern_c void +GeneralEvaporationUSet(ConstHandle2GeneralEvaporation This, ConstHandle2ConstU U); + + +// ----------------------------------------------------------------------------- +// Child: g +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GeneralEvaporationGHas(ConstHandle2ConstGeneralEvaporation This); + +// --- Get, const +extern_c Handle2ConstG +GeneralEvaporationGGetConst(ConstHandle2ConstGeneralEvaporation This); + +// +++ Get, non-const +extern_c Handle2G +GeneralEvaporationGGet(ConstHandle2GeneralEvaporation This); + +// +++ Set +extern_c void +GeneralEvaporationGSet(ConstHandle2GeneralEvaporation This, ConstHandle2ConstG g); + + +// ----------------------------------------------------------------------------- +// Child: theta +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GeneralEvaporationThetaHas(ConstHandle2ConstGeneralEvaporation This); + +// --- Get, const +extern_c Handle2ConstTheta +GeneralEvaporationThetaGetConst(ConstHandle2ConstGeneralEvaporation This); + +// +++ Get, non-const +extern_c Handle2Theta +GeneralEvaporationThetaGet(ConstHandle2GeneralEvaporation This); + +// +++ Set +extern_c void +GeneralEvaporationThetaSet(ConstHandle2GeneralEvaporation This, ConstHandle2ConstTheta theta); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.cpp new file mode 100644 index 000000000..76e9b889a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/IncoherentPhoton.hpp" +#include "IncoherentPhoton.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IncoherentPhotonClass; +using CPP = multigroup::IncoherentPhoton; + +static const std::string CLASSNAME = "IncoherentPhoton"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIncoherentPhoton +IncoherentPhotonDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2IncoherentPhoton +IncoherentPhotonDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIncoherentPhoton +IncoherentPhotonCreateConst() +{ + ConstHandle2IncoherentPhoton handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2IncoherentPhoton +IncoherentPhotonCreate() +{ + ConstHandle2IncoherentPhoton handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IncoherentPhotonAssign(ConstHandle2IncoherentPhoton This, ConstHandle2ConstIncoherentPhoton from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IncoherentPhotonDelete(ConstHandle2ConstIncoherentPhoton This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IncoherentPhotonRead(ConstHandle2IncoherentPhoton This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IncoherentPhotonWrite(ConstHandle2ConstIncoherentPhoton This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IncoherentPhotonPrint(ConstHandle2ConstIncoherentPhoton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IncoherentPhotonPrintXML(ConstHandle2ConstIncoherentPhoton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IncoherentPhotonPrintJSON(ConstHandle2ConstIncoherentPhoton This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.h b/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.h new file mode 100644 index 000000000..6e0500725 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// IncoherentPhoton is the basic handle type in this file. Example: +// // Create a default IncoherentPhoton object: +// IncoherentPhoton handle = IncoherentPhotonDefault(); +// Functions involving IncoherentPhoton are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_INCOHERENTPHOTON +#define C_INTERFACE_TRY_V2_0_TRANSPORT_INCOHERENTPHOTON + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IncoherentPhotonClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ IncoherentPhoton +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IncoherentPhotonClass *IncoherentPhoton; + +// --- Const-aware handles. +typedef const struct IncoherentPhotonClass *const ConstHandle2ConstIncoherentPhoton; +typedef struct IncoherentPhotonClass *const ConstHandle2IncoherentPhoton; +typedef const struct IncoherentPhotonClass * Handle2ConstIncoherentPhoton; +typedef struct IncoherentPhotonClass * Handle2IncoherentPhoton; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIncoherentPhoton +IncoherentPhotonDefaultConst(); + +// +++ Create, default +extern_c Handle2IncoherentPhoton +IncoherentPhotonDefault(); + +// --- Create, general, const +extern_c Handle2ConstIncoherentPhoton +IncoherentPhotonCreateConst(); + +// +++ Create, general +extern_c Handle2IncoherentPhoton +IncoherentPhotonCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IncoherentPhotonAssign(ConstHandle2IncoherentPhoton This, ConstHandle2ConstIncoherentPhoton from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IncoherentPhotonDelete(ConstHandle2ConstIncoherentPhoton This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IncoherentPhotonRead(ConstHandle2IncoherentPhoton This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IncoherentPhotonWrite(ConstHandle2ConstIncoherentPhoton This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IncoherentPhotonPrint(ConstHandle2ConstIncoherentPhoton This); + +// +++ Print to standard output, as XML +extern_c int +IncoherentPhotonPrintXML(ConstHandle2ConstIncoherentPhoton This); + +// +++ Print to standard output, as JSON +extern_c int +IncoherentPhotonPrintJSON(ConstHandle2ConstIncoherentPhoton This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.cpp new file mode 100644 index 000000000..8a27e5e3e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/IncompleteReactions.hpp" +#include "IncompleteReactions.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IncompleteReactionsClass; +using CPP = multigroup::IncompleteReactions; + +static const std::string CLASSNAME = "IncompleteReactions"; + +namespace extract { + static auto reaction = [](auto &obj) { return &obj.reaction; }; +} + +using CPPReaction = transport::Reaction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIncompleteReactions +IncompleteReactionsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2IncompleteReactions +IncompleteReactionsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIncompleteReactions +IncompleteReactionsCreateConst( + ConstHandle2ConstReaction reaction +) { + ConstHandle2IncompleteReactions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(reaction) + ); + return handle; +} + +// Create, general +Handle2IncompleteReactions +IncompleteReactionsCreate( + ConstHandle2ConstReaction reaction +) { + ConstHandle2IncompleteReactions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(reaction) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IncompleteReactionsAssign(ConstHandle2IncompleteReactions This, ConstHandle2ConstIncompleteReactions from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IncompleteReactionsDelete(ConstHandle2ConstIncompleteReactions This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IncompleteReactionsRead(ConstHandle2IncompleteReactions This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IncompleteReactionsWrite(ConstHandle2ConstIncompleteReactions This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IncompleteReactionsPrint(ConstHandle2ConstIncompleteReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IncompleteReactionsPrintXML(ConstHandle2ConstIncompleteReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IncompleteReactionsPrintJSON(ConstHandle2ConstIncompleteReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: reaction +// ----------------------------------------------------------------------------- + +// Has +int +IncompleteReactionsReactionHas(ConstHandle2ConstIncompleteReactions This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ReactionHas", This, extract::reaction); +} + +// Get, const +Handle2ConstReaction +IncompleteReactionsReactionGetConst(ConstHandle2ConstIncompleteReactions This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ReactionGetConst", This, extract::reaction); +} + +// Get, non-const +Handle2Reaction +IncompleteReactionsReactionGet(ConstHandle2IncompleteReactions This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ReactionGet", This, extract::reaction); +} + +// Set +void +IncompleteReactionsReactionSet(ConstHandle2IncompleteReactions This, ConstHandle2ConstReaction reaction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ReactionSet", This, extract::reaction, reaction); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.h b/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.h new file mode 100644 index 000000000..62659e2f0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// IncompleteReactions is the basic handle type in this file. Example: +// // Create a default IncompleteReactions object: +// IncompleteReactions handle = IncompleteReactionsDefault(); +// Functions involving IncompleteReactions are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_INCOMPLETEREACTIONS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_INCOMPLETEREACTIONS + +#include "GNDStk.h" +#include "v2.0/transport/Reaction.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IncompleteReactionsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ IncompleteReactions +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IncompleteReactionsClass *IncompleteReactions; + +// --- Const-aware handles. +typedef const struct IncompleteReactionsClass *const ConstHandle2ConstIncompleteReactions; +typedef struct IncompleteReactionsClass *const ConstHandle2IncompleteReactions; +typedef const struct IncompleteReactionsClass * Handle2ConstIncompleteReactions; +typedef struct IncompleteReactionsClass * Handle2IncompleteReactions; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIncompleteReactions +IncompleteReactionsDefaultConst(); + +// +++ Create, default +extern_c Handle2IncompleteReactions +IncompleteReactionsDefault(); + +// --- Create, general, const +extern_c Handle2ConstIncompleteReactions +IncompleteReactionsCreateConst( + ConstHandle2ConstReaction reaction +); + +// +++ Create, general +extern_c Handle2IncompleteReactions +IncompleteReactionsCreate( + ConstHandle2ConstReaction reaction +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IncompleteReactionsAssign(ConstHandle2IncompleteReactions This, ConstHandle2ConstIncompleteReactions from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IncompleteReactionsDelete(ConstHandle2ConstIncompleteReactions This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IncompleteReactionsRead(ConstHandle2IncompleteReactions This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IncompleteReactionsWrite(ConstHandle2ConstIncompleteReactions This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IncompleteReactionsPrint(ConstHandle2ConstIncompleteReactions This); + +// +++ Print to standard output, as XML +extern_c int +IncompleteReactionsPrintXML(ConstHandle2ConstIncompleteReactions This); + +// +++ Print to standard output, as JSON +extern_c int +IncompleteReactionsPrintJSON(ConstHandle2ConstIncompleteReactions This); + + +// ----------------------------------------------------------------------------- +// Child: reaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IncompleteReactionsReactionHas(ConstHandle2ConstIncompleteReactions This); + +// --- Get, const +extern_c Handle2ConstReaction +IncompleteReactionsReactionGetConst(ConstHandle2ConstIncompleteReactions This); + +// +++ Get, non-const +extern_c Handle2Reaction +IncompleteReactionsReactionGet(ConstHandle2IncompleteReactions This); + +// +++ Set +extern_c void +IncompleteReactionsReactionSet(ConstHandle2IncompleteReactions This, ConstHandle2ConstReaction reaction); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.cpp new file mode 100644 index 000000000..ddf3c1bf5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Isotropic2d.hpp" +#include "Isotropic2d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Isotropic2dClass; +using CPP = multigroup::Isotropic2d; + +static const std::string CLASSNAME = "Isotropic2d"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstIsotropic2d +Isotropic2dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Isotropic2d +Isotropic2dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstIsotropic2d +Isotropic2dCreateConst() +{ + ConstHandle2Isotropic2d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Isotropic2d +Isotropic2dCreate() +{ + ConstHandle2Isotropic2d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Isotropic2dAssign(ConstHandle2Isotropic2d This, ConstHandle2ConstIsotropic2d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Isotropic2dDelete(ConstHandle2ConstIsotropic2d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Isotropic2dRead(ConstHandle2Isotropic2d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Isotropic2dWrite(ConstHandle2ConstIsotropic2d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Isotropic2dPrint(ConstHandle2ConstIsotropic2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Isotropic2dPrintXML(ConstHandle2ConstIsotropic2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Isotropic2dPrintJSON(ConstHandle2ConstIsotropic2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.h new file mode 100644 index 000000000..b0ecd5a5b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Isotropic2d is the basic handle type in this file. Example: +// // Create a default Isotropic2d object: +// Isotropic2d handle = Isotropic2dDefault(); +// Functions involving Isotropic2d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ISOTROPIC2D +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ISOTROPIC2D + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Isotropic2dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Isotropic2d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Isotropic2dClass *Isotropic2d; + +// --- Const-aware handles. +typedef const struct Isotropic2dClass *const ConstHandle2ConstIsotropic2d; +typedef struct Isotropic2dClass *const ConstHandle2Isotropic2d; +typedef const struct Isotropic2dClass * Handle2ConstIsotropic2d; +typedef struct Isotropic2dClass * Handle2Isotropic2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstIsotropic2d +Isotropic2dDefaultConst(); + +// +++ Create, default +extern_c Handle2Isotropic2d +Isotropic2dDefault(); + +// --- Create, general, const +extern_c Handle2ConstIsotropic2d +Isotropic2dCreateConst(); + +// +++ Create, general +extern_c Handle2Isotropic2d +Isotropic2dCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Isotropic2dAssign(ConstHandle2Isotropic2d This, ConstHandle2ConstIsotropic2d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Isotropic2dDelete(ConstHandle2ConstIsotropic2d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Isotropic2dRead(ConstHandle2Isotropic2d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Isotropic2dWrite(ConstHandle2ConstIsotropic2d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Isotropic2dPrint(ConstHandle2ConstIsotropic2d This); + +// +++ Print to standard output, as XML +extern_c int +Isotropic2dPrintXML(ConstHandle2ConstIsotropic2d This); + +// +++ Print to standard output, as JSON +extern_c int +Isotropic2dPrintJSON(ConstHandle2ConstIsotropic2d This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.cpp new file mode 100644 index 000000000..bb8e9fda9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.cpp @@ -0,0 +1,330 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/KalbachMann.hpp" +#include "KalbachMann.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = KalbachMannClass; +using CPP = multigroup::KalbachMann; + +static const std::string CLASSNAME = "KalbachMann"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto f = [](auto &obj) { return &obj.f; }; + static auto r = [](auto &obj) { return &obj.r; }; + static auto a = [](auto &obj) { return &obj.a; }; +} + +using CPPF = transport::F; +using CPPR = transport::R; +using CPPA = transport::A; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstKalbachMann +KalbachMannDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2KalbachMann +KalbachMannDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstKalbachMann +KalbachMannCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstF f, + ConstHandle2ConstR r, + ConstHandle2ConstA a +) { + ConstHandle2KalbachMann handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(f), + detail::tocpp(r), + detail::tocpp(a) + ); + return handle; +} + +// Create, general +Handle2KalbachMann +KalbachMannCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstF f, + ConstHandle2ConstR r, + ConstHandle2ConstA a +) { + ConstHandle2KalbachMann handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(f), + detail::tocpp(r), + detail::tocpp(a) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +KalbachMannAssign(ConstHandle2KalbachMann This, ConstHandle2ConstKalbachMann from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +KalbachMannDelete(ConstHandle2ConstKalbachMann This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +KalbachMannRead(ConstHandle2KalbachMann This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +KalbachMannWrite(ConstHandle2ConstKalbachMann This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +KalbachMannPrint(ConstHandle2ConstKalbachMann This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +KalbachMannPrintXML(ConstHandle2ConstKalbachMann This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +KalbachMannPrintJSON(ConstHandle2ConstKalbachMann This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +KalbachMannLabelHas(ConstHandle2ConstKalbachMann This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +KalbachMannLabelGet(ConstHandle2ConstKalbachMann This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +KalbachMannLabelSet(ConstHandle2KalbachMann This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +KalbachMannProductFrameHas(ConstHandle2ConstKalbachMann This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +KalbachMannProductFrameGet(ConstHandle2ConstKalbachMann This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +KalbachMannProductFrameSet(ConstHandle2KalbachMann This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: f +// ----------------------------------------------------------------------------- + +// Has +int +KalbachMannFHas(ConstHandle2ConstKalbachMann This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FHas", This, extract::f); +} + +// Get, const +Handle2ConstF +KalbachMannFGetConst(ConstHandle2ConstKalbachMann This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FGetConst", This, extract::f); +} + +// Get, non-const +Handle2F +KalbachMannFGet(ConstHandle2KalbachMann This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FGet", This, extract::f); +} + +// Set +void +KalbachMannFSet(ConstHandle2KalbachMann This, ConstHandle2ConstF f) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FSet", This, extract::f, f); +} + + +// ----------------------------------------------------------------------------- +// Child: r +// ----------------------------------------------------------------------------- + +// Has +int +KalbachMannRHas(ConstHandle2ConstKalbachMann This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RHas", This, extract::r); +} + +// Get, const +Handle2ConstR +KalbachMannRGetConst(ConstHandle2ConstKalbachMann This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RGetConst", This, extract::r); +} + +// Get, non-const +Handle2R +KalbachMannRGet(ConstHandle2KalbachMann This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RGet", This, extract::r); +} + +// Set +void +KalbachMannRSet(ConstHandle2KalbachMann This, ConstHandle2ConstR r) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RSet", This, extract::r, r); +} + + +// ----------------------------------------------------------------------------- +// Child: a +// ----------------------------------------------------------------------------- + +// Has +int +KalbachMannAHas(ConstHandle2ConstKalbachMann This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AHas", This, extract::a); +} + +// Get, const +Handle2ConstA +KalbachMannAGetConst(ConstHandle2ConstKalbachMann This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AGetConst", This, extract::a); +} + +// Get, non-const +Handle2A +KalbachMannAGet(ConstHandle2KalbachMann This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AGet", This, extract::a); +} + +// Set +void +KalbachMannASet(ConstHandle2KalbachMann This, ConstHandle2ConstA a) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ASet", This, extract::a, a); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.h b/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.h new file mode 100644 index 000000000..9f6430eb3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.h @@ -0,0 +1,247 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// KalbachMann is the basic handle type in this file. Example: +// // Create a default KalbachMann object: +// KalbachMann handle = KalbachMannDefault(); +// Functions involving KalbachMann are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_KALBACHMANN +#define C_INTERFACE_TRY_V2_0_TRANSPORT_KALBACHMANN + +#include "GNDStk.h" +#include "v2.0/transport/F.h" +#include "v2.0/transport/R.h" +#include "v2.0/transport/A.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct KalbachMannClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ KalbachMann +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct KalbachMannClass *KalbachMann; + +// --- Const-aware handles. +typedef const struct KalbachMannClass *const ConstHandle2ConstKalbachMann; +typedef struct KalbachMannClass *const ConstHandle2KalbachMann; +typedef const struct KalbachMannClass * Handle2ConstKalbachMann; +typedef struct KalbachMannClass * Handle2KalbachMann; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstKalbachMann +KalbachMannDefaultConst(); + +// +++ Create, default +extern_c Handle2KalbachMann +KalbachMannDefault(); + +// --- Create, general, const +extern_c Handle2ConstKalbachMann +KalbachMannCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstF f, + ConstHandle2ConstR r, + ConstHandle2ConstA a +); + +// +++ Create, general +extern_c Handle2KalbachMann +KalbachMannCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstF f, + ConstHandle2ConstR r, + ConstHandle2ConstA a +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +KalbachMannAssign(ConstHandle2KalbachMann This, ConstHandle2ConstKalbachMann from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +KalbachMannDelete(ConstHandle2ConstKalbachMann This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +KalbachMannRead(ConstHandle2KalbachMann This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +KalbachMannWrite(ConstHandle2ConstKalbachMann This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +KalbachMannPrint(ConstHandle2ConstKalbachMann This); + +// +++ Print to standard output, as XML +extern_c int +KalbachMannPrintXML(ConstHandle2ConstKalbachMann This); + +// +++ Print to standard output, as JSON +extern_c int +KalbachMannPrintJSON(ConstHandle2ConstKalbachMann This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KalbachMannLabelHas(ConstHandle2ConstKalbachMann This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +KalbachMannLabelGet(ConstHandle2ConstKalbachMann This); + +// +++ Set +extern_c void +KalbachMannLabelSet(ConstHandle2KalbachMann This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KalbachMannProductFrameHas(ConstHandle2ConstKalbachMann This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +KalbachMannProductFrameGet(ConstHandle2ConstKalbachMann This); + +// +++ Set +extern_c void +KalbachMannProductFrameSet(ConstHandle2KalbachMann This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: f +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KalbachMannFHas(ConstHandle2ConstKalbachMann This); + +// --- Get, const +extern_c Handle2ConstF +KalbachMannFGetConst(ConstHandle2ConstKalbachMann This); + +// +++ Get, non-const +extern_c Handle2F +KalbachMannFGet(ConstHandle2KalbachMann This); + +// +++ Set +extern_c void +KalbachMannFSet(ConstHandle2KalbachMann This, ConstHandle2ConstF f); + + +// ----------------------------------------------------------------------------- +// Child: r +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KalbachMannRHas(ConstHandle2ConstKalbachMann This); + +// --- Get, const +extern_c Handle2ConstR +KalbachMannRGetConst(ConstHandle2ConstKalbachMann This); + +// +++ Get, non-const +extern_c Handle2R +KalbachMannRGet(ConstHandle2KalbachMann This); + +// +++ Set +extern_c void +KalbachMannRSet(ConstHandle2KalbachMann This, ConstHandle2ConstR r); + + +// ----------------------------------------------------------------------------- +// Child: a +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +KalbachMannAHas(ConstHandle2ConstKalbachMann This); + +// --- Get, const +extern_c Handle2ConstA +KalbachMannAGetConst(ConstHandle2ConstKalbachMann This); + +// +++ Get, non-const +extern_c Handle2A +KalbachMannAGet(ConstHandle2KalbachMann This); + +// +++ Set +extern_c void +KalbachMannASet(ConstHandle2KalbachMann This, ConstHandle2ConstA a); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp new file mode 100644 index 000000000..4e9e95d2f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp @@ -0,0 +1,244 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/MultiGroup3d.hpp" +#include "MultiGroup3d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MultiGroup3dClass; +using CPP = multigroup::MultiGroup3d; + +static const std::string CLASSNAME = "MultiGroup3d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto gridded3d = [](auto &obj) { return &obj.gridded3d; }; +} + +using CPPGridded3d = unknownNamespace::Gridded3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMultiGroup3d +MultiGroup3dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MultiGroup3d +MultiGroup3dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMultiGroup3d +MultiGroup3dCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstGridded3d gridded3d +) { + ConstHandle2MultiGroup3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(gridded3d) + ); + return handle; +} + +// Create, general +Handle2MultiGroup3d +MultiGroup3dCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstGridded3d gridded3d +) { + ConstHandle2MultiGroup3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(gridded3d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MultiGroup3dAssign(ConstHandle2MultiGroup3d This, ConstHandle2ConstMultiGroup3d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MultiGroup3dDelete(ConstHandle2ConstMultiGroup3d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MultiGroup3dRead(ConstHandle2MultiGroup3d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MultiGroup3dWrite(ConstHandle2ConstMultiGroup3d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MultiGroup3dPrint(ConstHandle2ConstMultiGroup3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MultiGroup3dPrintXML(ConstHandle2ConstMultiGroup3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MultiGroup3dPrintJSON(ConstHandle2ConstMultiGroup3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MultiGroup3dLabelHas(ConstHandle2ConstMultiGroup3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MultiGroup3dLabelGet(ConstHandle2ConstMultiGroup3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MultiGroup3dLabelSet(ConstHandle2MultiGroup3d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +MultiGroup3dProductFrameHas(ConstHandle2ConstMultiGroup3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +MultiGroup3dProductFrameGet(ConstHandle2ConstMultiGroup3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +MultiGroup3dProductFrameSet(ConstHandle2MultiGroup3d This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded3d +// ----------------------------------------------------------------------------- + +// Has +int +MultiGroup3dGridded3dHas(ConstHandle2ConstMultiGroup3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded3dHas", This, extract::gridded3d); +} + +// Get, const +Handle2ConstGridded3d +MultiGroup3dGridded3dGetConst(ConstHandle2ConstMultiGroup3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded3dGetConst", This, extract::gridded3d); +} + +// Get, non-const +Handle2Gridded3d +MultiGroup3dGridded3dGet(ConstHandle2MultiGroup3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded3dGet", This, extract::gridded3d); +} + +// Set +void +MultiGroup3dGridded3dSet(ConstHandle2MultiGroup3d This, ConstHandle2ConstGridded3d gridded3d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded3dSet", This, extract::gridded3d, gridded3d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h new file mode 100644 index 000000000..658df5dc1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h @@ -0,0 +1,199 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MultiGroup3d is the basic handle type in this file. Example: +// // Create a default MultiGroup3d object: +// MultiGroup3d handle = MultiGroup3dDefault(); +// Functions involving MultiGroup3d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIGROUP3D +#define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIGROUP3D + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Gridded3d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MultiGroup3dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MultiGroup3d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MultiGroup3dClass *MultiGroup3d; + +// --- Const-aware handles. +typedef const struct MultiGroup3dClass *const ConstHandle2ConstMultiGroup3d; +typedef struct MultiGroup3dClass *const ConstHandle2MultiGroup3d; +typedef const struct MultiGroup3dClass * Handle2ConstMultiGroup3d; +typedef struct MultiGroup3dClass * Handle2MultiGroup3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMultiGroup3d +MultiGroup3dDefaultConst(); + +// +++ Create, default +extern_c Handle2MultiGroup3d +MultiGroup3dDefault(); + +// --- Create, general, const +extern_c Handle2ConstMultiGroup3d +MultiGroup3dCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstGridded3d gridded3d +); + +// +++ Create, general +extern_c Handle2MultiGroup3d +MultiGroup3dCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstGridded3d gridded3d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MultiGroup3dAssign(ConstHandle2MultiGroup3d This, ConstHandle2ConstMultiGroup3d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MultiGroup3dDelete(ConstHandle2ConstMultiGroup3d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MultiGroup3dRead(ConstHandle2MultiGroup3d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MultiGroup3dWrite(ConstHandle2ConstMultiGroup3d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MultiGroup3dPrint(ConstHandle2ConstMultiGroup3d This); + +// +++ Print to standard output, as XML +extern_c int +MultiGroup3dPrintXML(ConstHandle2ConstMultiGroup3d This); + +// +++ Print to standard output, as JSON +extern_c int +MultiGroup3dPrintJSON(ConstHandle2ConstMultiGroup3d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiGroup3dLabelHas(ConstHandle2ConstMultiGroup3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MultiGroup3dLabelGet(ConstHandle2ConstMultiGroup3d This); + +// +++ Set +extern_c void +MultiGroup3dLabelSet(ConstHandle2MultiGroup3d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiGroup3dProductFrameHas(ConstHandle2ConstMultiGroup3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MultiGroup3dProductFrameGet(ConstHandle2ConstMultiGroup3d This); + +// +++ Set +extern_c void +MultiGroup3dProductFrameSet(ConstHandle2MultiGroup3d This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: gridded3d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiGroup3dGridded3dHas(ConstHandle2ConstMultiGroup3d This); + +// --- Get, const +extern_c Handle2ConstGridded3d +MultiGroup3dGridded3dGetConst(ConstHandle2ConstMultiGroup3d This); + +// +++ Get, non-const +extern_c Handle2Gridded3d +MultiGroup3dGridded3dGet(ConstHandle2MultiGroup3d This); + +// +++ Set +extern_c void +MultiGroup3dGridded3dSet(ConstHandle2MultiGroup3d This, ConstHandle2ConstGridded3d gridded3d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp new file mode 100644 index 000000000..d523a7155 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp @@ -0,0 +1,138 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Multiplicity.hpp" +#include "Multiplicity.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MultiplicityClass; +using CPP = multigroup::Multiplicity; + +static const std::string CLASSNAME = "Multiplicity"; + +namespace extract { +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPConstant1d = unknownNamespace::Constant1d; +using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPBranching1d = transport::Branching1d; +using CPPReference = transport::Reference; +using CPPGridded1d = unknownNamespace::Gridded1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMultiplicity +MultiplicityDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Multiplicity +MultiplicityDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMultiplicity +MultiplicityCreateConst( +) { + ConstHandle2Multiplicity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Multiplicity +MultiplicityCreate( +) { + ConstHandle2Multiplicity handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MultiplicityAssign(ConstHandle2Multiplicity This, ConstHandle2ConstMultiplicity from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MultiplicityDelete(ConstHandle2ConstMultiplicity This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MultiplicityRead(ConstHandle2Multiplicity This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MultiplicityWrite(ConstHandle2ConstMultiplicity This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MultiplicityPrint(ConstHandle2ConstMultiplicity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MultiplicityPrintXML(ConstHandle2ConstMultiplicity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MultiplicityPrintJSON(ConstHandle2ConstMultiplicity This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h new file mode 100644 index 000000000..c9a22daaf --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h @@ -0,0 +1,142 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Multiplicity is the basic handle type in this file. Example: +// // Create a default Multiplicity object: +// Multiplicity handle = MultiplicityDefault(); +// Functions involving Multiplicity are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITY +#define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Constant1d.h" +#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/transport/Branching1d.h" +#include "v2.0/transport/Reference.h" +#include "v2.0/unknownNamespace/Gridded1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MultiplicityClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Multiplicity +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MultiplicityClass *Multiplicity; + +// --- Const-aware handles. +typedef const struct MultiplicityClass *const ConstHandle2ConstMultiplicity; +typedef struct MultiplicityClass *const ConstHandle2Multiplicity; +typedef const struct MultiplicityClass * Handle2ConstMultiplicity; +typedef struct MultiplicityClass * Handle2Multiplicity; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMultiplicity +MultiplicityDefaultConst(); + +// +++ Create, default +extern_c Handle2Multiplicity +MultiplicityDefault(); + +// --- Create, general, const +extern_c Handle2ConstMultiplicity +MultiplicityCreateConst( +); + +// +++ Create, general +extern_c Handle2Multiplicity +MultiplicityCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MultiplicityAssign(ConstHandle2Multiplicity This, ConstHandle2ConstMultiplicity from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MultiplicityDelete(ConstHandle2ConstMultiplicity This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MultiplicityRead(ConstHandle2Multiplicity This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MultiplicityWrite(ConstHandle2ConstMultiplicity This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MultiplicityPrint(ConstHandle2ConstMultiplicity This); + +// +++ Print to standard output, as XML +extern_c int +MultiplicityPrintXML(ConstHandle2ConstMultiplicity This); + +// +++ Print to standard output, as JSON +extern_c int +MultiplicityPrintJSON(ConstHandle2ConstMultiplicity This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.cpp new file mode 100644 index 000000000..bdba301c7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/MultiplicitySum.hpp" +#include "MultiplicitySum.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MultiplicitySumClass; +using CPP = multigroup::MultiplicitySum; + +static const std::string CLASSNAME = "MultiplicitySum"; + +namespace extract { + static auto ENDF_MT = [](auto &obj) { return &obj.ENDF_MT; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto multiplicity = [](auto &obj) { return &obj.multiplicity; }; + static auto summands = [](auto &obj) { return &obj.summands; }; +} + +using CPPMultiplicity = transport::Multiplicity; +using CPPSummands = transport::Summands; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMultiplicitySum +MultiplicitySumDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MultiplicitySum +MultiplicitySumDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMultiplicitySum +MultiplicitySumCreateConst( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstMultiplicity multiplicity, + ConstHandle2ConstSummands summands +) { + ConstHandle2MultiplicitySum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MT, + label, + detail::tocpp(multiplicity), + detail::tocpp(summands) + ); + return handle; +} + +// Create, general +Handle2MultiplicitySum +MultiplicitySumCreate( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstMultiplicity multiplicity, + ConstHandle2ConstSummands summands +) { + ConstHandle2MultiplicitySum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MT, + label, + detail::tocpp(multiplicity), + detail::tocpp(summands) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MultiplicitySumAssign(ConstHandle2MultiplicitySum This, ConstHandle2ConstMultiplicitySum from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MultiplicitySumDelete(ConstHandle2ConstMultiplicitySum This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MultiplicitySumRead(ConstHandle2MultiplicitySum This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MultiplicitySumWrite(ConstHandle2ConstMultiplicitySum This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MultiplicitySumPrint(ConstHandle2ConstMultiplicitySum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MultiplicitySumPrintXML(ConstHandle2ConstMultiplicitySum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MultiplicitySumPrintJSON(ConstHandle2ConstMultiplicitySum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// Has +int +MultiplicitySumENDFMTHas(ConstHandle2ConstMultiplicitySum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMTHas", This, extract::ENDF_MT); +} + +// Get +// Returns by value +Integer32 +MultiplicitySumENDFMTGet(ConstHandle2ConstMultiplicitySum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMTGet", This, extract::ENDF_MT); +} + +// Set +void +MultiplicitySumENDFMTSet(ConstHandle2MultiplicitySum This, const Integer32 ENDF_MT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMTSet", This, extract::ENDF_MT, ENDF_MT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +MultiplicitySumLabelHas(ConstHandle2ConstMultiplicitySum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +MultiplicitySumLabelGet(ConstHandle2ConstMultiplicitySum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +MultiplicitySumLabelSet(ConstHandle2MultiplicitySum This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: multiplicity +// ----------------------------------------------------------------------------- + +// Has +int +MultiplicitySumMultiplicityHas(ConstHandle2ConstMultiplicitySum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MultiplicityHas", This, extract::multiplicity); +} + +// Get, const +Handle2ConstMultiplicity +MultiplicitySumMultiplicityGetConst(ConstHandle2ConstMultiplicitySum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MultiplicityGetConst", This, extract::multiplicity); +} + +// Get, non-const +Handle2Multiplicity +MultiplicitySumMultiplicityGet(ConstHandle2MultiplicitySum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MultiplicityGet", This, extract::multiplicity); +} + +// Set +void +MultiplicitySumMultiplicitySet(ConstHandle2MultiplicitySum This, ConstHandle2ConstMultiplicity multiplicity) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MultiplicitySet", This, extract::multiplicity, multiplicity); +} + + +// ----------------------------------------------------------------------------- +// Child: summands +// ----------------------------------------------------------------------------- + +// Has +int +MultiplicitySumSummandsHas(ConstHandle2ConstMultiplicitySum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SummandsHas", This, extract::summands); +} + +// Get, const +Handle2ConstSummands +MultiplicitySumSummandsGetConst(ConstHandle2ConstMultiplicitySum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SummandsGetConst", This, extract::summands); +} + +// Get, non-const +Handle2Summands +MultiplicitySumSummandsGet(ConstHandle2MultiplicitySum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SummandsGet", This, extract::summands); +} + +// Set +void +MultiplicitySumSummandsSet(ConstHandle2MultiplicitySum This, ConstHandle2ConstSummands summands) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SummandsSet", This, extract::summands, summands); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.h b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.h new file mode 100644 index 000000000..ec48f1a12 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MultiplicitySum is the basic handle type in this file. Example: +// // Create a default MultiplicitySum object: +// MultiplicitySum handle = MultiplicitySumDefault(); +// Functions involving MultiplicitySum are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITYSUM +#define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITYSUM + +#include "GNDStk.h" +#include "v2.0/transport/Multiplicity.h" +#include "v2.0/transport/Summands.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MultiplicitySumClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MultiplicitySum +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MultiplicitySumClass *MultiplicitySum; + +// --- Const-aware handles. +typedef const struct MultiplicitySumClass *const ConstHandle2ConstMultiplicitySum; +typedef struct MultiplicitySumClass *const ConstHandle2MultiplicitySum; +typedef const struct MultiplicitySumClass * Handle2ConstMultiplicitySum; +typedef struct MultiplicitySumClass * Handle2MultiplicitySum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMultiplicitySum +MultiplicitySumDefaultConst(); + +// +++ Create, default +extern_c Handle2MultiplicitySum +MultiplicitySumDefault(); + +// --- Create, general, const +extern_c Handle2ConstMultiplicitySum +MultiplicitySumCreateConst( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstMultiplicity multiplicity, + ConstHandle2ConstSummands summands +); + +// +++ Create, general +extern_c Handle2MultiplicitySum +MultiplicitySumCreate( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstMultiplicity multiplicity, + ConstHandle2ConstSummands summands +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MultiplicitySumAssign(ConstHandle2MultiplicitySum This, ConstHandle2ConstMultiplicitySum from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MultiplicitySumDelete(ConstHandle2ConstMultiplicitySum This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MultiplicitySumRead(ConstHandle2MultiplicitySum This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MultiplicitySumWrite(ConstHandle2ConstMultiplicitySum This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MultiplicitySumPrint(ConstHandle2ConstMultiplicitySum This); + +// +++ Print to standard output, as XML +extern_c int +MultiplicitySumPrintXML(ConstHandle2ConstMultiplicitySum This); + +// +++ Print to standard output, as JSON +extern_c int +MultiplicitySumPrintJSON(ConstHandle2ConstMultiplicitySum This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiplicitySumENDFMTHas(ConstHandle2ConstMultiplicitySum This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +MultiplicitySumENDFMTGet(ConstHandle2ConstMultiplicitySum This); + +// +++ Set +extern_c void +MultiplicitySumENDFMTSet(ConstHandle2MultiplicitySum This, const Integer32 ENDF_MT); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiplicitySumLabelHas(ConstHandle2ConstMultiplicitySum This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MultiplicitySumLabelGet(ConstHandle2ConstMultiplicitySum This); + +// +++ Set +extern_c void +MultiplicitySumLabelSet(ConstHandle2MultiplicitySum This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: multiplicity +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiplicitySumMultiplicityHas(ConstHandle2ConstMultiplicitySum This); + +// --- Get, const +extern_c Handle2ConstMultiplicity +MultiplicitySumMultiplicityGetConst(ConstHandle2ConstMultiplicitySum This); + +// +++ Get, non-const +extern_c Handle2Multiplicity +MultiplicitySumMultiplicityGet(ConstHandle2MultiplicitySum This); + +// +++ Set +extern_c void +MultiplicitySumMultiplicitySet(ConstHandle2MultiplicitySum This, ConstHandle2ConstMultiplicity multiplicity); + + +// ----------------------------------------------------------------------------- +// Child: summands +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiplicitySumSummandsHas(ConstHandle2ConstMultiplicitySum This); + +// --- Get, const +extern_c Handle2ConstSummands +MultiplicitySumSummandsGetConst(ConstHandle2ConstMultiplicitySum This); + +// +++ Get, non-const +extern_c Handle2Summands +MultiplicitySumSummandsGet(ConstHandle2MultiplicitySum This); + +// +++ Set +extern_c void +MultiplicitySumSummandsSet(ConstHandle2MultiplicitySum This, ConstHandle2ConstSummands summands); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.cpp new file mode 100644 index 000000000..dff4e3388 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/MultiplicitySums.hpp" +#include "MultiplicitySums.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MultiplicitySumsClass; +using CPP = multigroup::MultiplicitySums; + +static const std::string CLASSNAME = "MultiplicitySums"; + +namespace extract { + static auto multiplicitySum = [](auto &obj) { return &obj.multiplicitySum; }; +} + +using CPPMultiplicitySum = transport::MultiplicitySum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMultiplicitySums +MultiplicitySumsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2MultiplicitySums +MultiplicitySumsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMultiplicitySums +MultiplicitySumsCreateConst( + ConstHandle2MultiplicitySum *const multiplicitySum, const size_t multiplicitySumSize +) { + ConstHandle2MultiplicitySums handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t MultiplicitySumN = 0; MultiplicitySumN < multiplicitySumSize; ++MultiplicitySumN) + MultiplicitySumsMultiplicitySumAdd(handle, multiplicitySum[MultiplicitySumN]); + return handle; +} + +// Create, general +Handle2MultiplicitySums +MultiplicitySumsCreate( + ConstHandle2MultiplicitySum *const multiplicitySum, const size_t multiplicitySumSize +) { + ConstHandle2MultiplicitySums handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t MultiplicitySumN = 0; MultiplicitySumN < multiplicitySumSize; ++MultiplicitySumN) + MultiplicitySumsMultiplicitySumAdd(handle, multiplicitySum[MultiplicitySumN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MultiplicitySumsAssign(ConstHandle2MultiplicitySums This, ConstHandle2ConstMultiplicitySums from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MultiplicitySumsDelete(ConstHandle2ConstMultiplicitySums This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MultiplicitySumsRead(ConstHandle2MultiplicitySums This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MultiplicitySumsWrite(ConstHandle2ConstMultiplicitySums This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MultiplicitySumsPrint(ConstHandle2ConstMultiplicitySums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MultiplicitySumsPrintXML(ConstHandle2ConstMultiplicitySums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MultiplicitySumsPrintJSON(ConstHandle2ConstMultiplicitySums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: multiplicitySum +// ----------------------------------------------------------------------------- + +// Has +int +MultiplicitySumsMultiplicitySumHas(ConstHandle2ConstMultiplicitySums This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MultiplicitySumHas", This, extract::multiplicitySum); +} + +// Clear +void +MultiplicitySumsMultiplicitySumClear(ConstHandle2MultiplicitySums This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"MultiplicitySumClear", This, extract::multiplicitySum); +} + +// Size +size_t +MultiplicitySumsMultiplicitySumSize(ConstHandle2ConstMultiplicitySums This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"MultiplicitySumSize", This, extract::multiplicitySum); +} + +// Add +void +MultiplicitySumsMultiplicitySumAdd(ConstHandle2MultiplicitySums This, ConstHandle2ConstMultiplicitySum multiplicitySum) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"MultiplicitySumAdd", This, extract::multiplicitySum, multiplicitySum); +} + +// Get, by index \in [0,size), const +Handle2ConstMultiplicitySum +MultiplicitySumsMultiplicitySumGetConst(ConstHandle2ConstMultiplicitySums This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"MultiplicitySumGetConst", This, extract::multiplicitySum, index_); +} + +// Get, by index \in [0,size), non-const +Handle2MultiplicitySum +MultiplicitySumsMultiplicitySumGet(ConstHandle2MultiplicitySums This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"MultiplicitySumGet", This, extract::multiplicitySum, index_); +} + +// Set, by index \in [0,size) +void +MultiplicitySumsMultiplicitySumSet( + ConstHandle2MultiplicitySums This, + const size_t index_, + ConstHandle2ConstMultiplicitySum multiplicitySum +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"MultiplicitySumSet", This, extract::multiplicitySum, index_, multiplicitySum); +} + +// Has, by ENDF_MT +int +MultiplicitySumsMultiplicitySumHasByENDFMT( + ConstHandle2ConstMultiplicitySums This, + const Integer32 ENDF_MT +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"MultiplicitySumHasByENDFMT", + This, extract::multiplicitySum, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, const +Handle2ConstMultiplicitySum +MultiplicitySumsMultiplicitySumGetByENDFMTConst( + ConstHandle2ConstMultiplicitySums This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MultiplicitySumGetByENDFMTConst", + This, extract::multiplicitySum, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, non-const +Handle2MultiplicitySum +MultiplicitySumsMultiplicitySumGetByENDFMT( + ConstHandle2MultiplicitySums This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MultiplicitySumGetByENDFMT", + This, extract::multiplicitySum, meta::ENDF_MT, ENDF_MT); +} + +// Set, by ENDF_MT +void +MultiplicitySumsMultiplicitySumSetByENDFMT( + ConstHandle2MultiplicitySums This, + const Integer32 ENDF_MT, + ConstHandle2ConstMultiplicitySum multiplicitySum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"MultiplicitySumSetByENDFMT", + This, extract::multiplicitySum, meta::ENDF_MT, ENDF_MT, multiplicitySum); +} + +// Has, by label +int +MultiplicitySumsMultiplicitySumHasByLabel( + ConstHandle2ConstMultiplicitySums This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"MultiplicitySumHasByLabel", + This, extract::multiplicitySum, meta::label, label); +} + +// Get, by label, const +Handle2ConstMultiplicitySum +MultiplicitySumsMultiplicitySumGetByLabelConst( + ConstHandle2ConstMultiplicitySums This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MultiplicitySumGetByLabelConst", + This, extract::multiplicitySum, meta::label, label); +} + +// Get, by label, non-const +Handle2MultiplicitySum +MultiplicitySumsMultiplicitySumGetByLabel( + ConstHandle2MultiplicitySums This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"MultiplicitySumGetByLabel", + This, extract::multiplicitySum, meta::label, label); +} + +// Set, by label +void +MultiplicitySumsMultiplicitySumSetByLabel( + ConstHandle2MultiplicitySums This, + const XMLName label, + ConstHandle2ConstMultiplicitySum multiplicitySum +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"MultiplicitySumSetByLabel", + This, extract::multiplicitySum, meta::label, label, multiplicitySum); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.h b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.h new file mode 100644 index 000000000..090c377e6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// MultiplicitySums is the basic handle type in this file. Example: +// // Create a default MultiplicitySums object: +// MultiplicitySums handle = MultiplicitySumsDefault(); +// Functions involving MultiplicitySums are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITYSUMS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITYSUMS + +#include "GNDStk.h" +#include "v2.0/transport/MultiplicitySum.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MultiplicitySumsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ MultiplicitySums +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MultiplicitySumsClass *MultiplicitySums; + +// --- Const-aware handles. +typedef const struct MultiplicitySumsClass *const ConstHandle2ConstMultiplicitySums; +typedef struct MultiplicitySumsClass *const ConstHandle2MultiplicitySums; +typedef const struct MultiplicitySumsClass * Handle2ConstMultiplicitySums; +typedef struct MultiplicitySumsClass * Handle2MultiplicitySums; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMultiplicitySums +MultiplicitySumsDefaultConst(); + +// +++ Create, default +extern_c Handle2MultiplicitySums +MultiplicitySumsDefault(); + +// --- Create, general, const +extern_c Handle2ConstMultiplicitySums +MultiplicitySumsCreateConst( + ConstHandle2MultiplicitySum *const multiplicitySum, const size_t multiplicitySumSize +); + +// +++ Create, general +extern_c Handle2MultiplicitySums +MultiplicitySumsCreate( + ConstHandle2MultiplicitySum *const multiplicitySum, const size_t multiplicitySumSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MultiplicitySumsAssign(ConstHandle2MultiplicitySums This, ConstHandle2ConstMultiplicitySums from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MultiplicitySumsDelete(ConstHandle2ConstMultiplicitySums This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MultiplicitySumsRead(ConstHandle2MultiplicitySums This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MultiplicitySumsWrite(ConstHandle2ConstMultiplicitySums This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MultiplicitySumsPrint(ConstHandle2ConstMultiplicitySums This); + +// +++ Print to standard output, as XML +extern_c int +MultiplicitySumsPrintXML(ConstHandle2ConstMultiplicitySums This); + +// +++ Print to standard output, as JSON +extern_c int +MultiplicitySumsPrintJSON(ConstHandle2ConstMultiplicitySums This); + + +// ----------------------------------------------------------------------------- +// Child: multiplicitySum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MultiplicitySumsMultiplicitySumHas(ConstHandle2ConstMultiplicitySums This); + +// +++ Clear +extern_c void +MultiplicitySumsMultiplicitySumClear(ConstHandle2MultiplicitySums This); + +// +++ Size +extern_c size_t +MultiplicitySumsMultiplicitySumSize(ConstHandle2ConstMultiplicitySums This); + +// +++ Add +extern_c void +MultiplicitySumsMultiplicitySumAdd(ConstHandle2MultiplicitySums This, ConstHandle2ConstMultiplicitySum multiplicitySum); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstMultiplicitySum +MultiplicitySumsMultiplicitySumGetConst(ConstHandle2ConstMultiplicitySums This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2MultiplicitySum +MultiplicitySumsMultiplicitySumGet(ConstHandle2MultiplicitySums This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +MultiplicitySumsMultiplicitySumSet( + ConstHandle2MultiplicitySums This, + const size_t index_, + ConstHandle2ConstMultiplicitySum multiplicitySum +); + +// +++ Has, by ENDF_MT +extern_c int +MultiplicitySumsMultiplicitySumHasByENDFMT( + ConstHandle2ConstMultiplicitySums This, + const Integer32 ENDF_MT +); + +// --- Get, by ENDF_MT, const +extern_c Handle2ConstMultiplicitySum +MultiplicitySumsMultiplicitySumGetByENDFMTConst( + ConstHandle2ConstMultiplicitySums This, + const Integer32 ENDF_MT +); + +// +++ Get, by ENDF_MT, non-const +extern_c Handle2MultiplicitySum +MultiplicitySumsMultiplicitySumGetByENDFMT( + ConstHandle2MultiplicitySums This, + const Integer32 ENDF_MT +); + +// +++ Set, by ENDF_MT +extern_c void +MultiplicitySumsMultiplicitySumSetByENDFMT( + ConstHandle2MultiplicitySums This, + const Integer32 ENDF_MT, + ConstHandle2ConstMultiplicitySum multiplicitySum +); + +// +++ Has, by label +extern_c int +MultiplicitySumsMultiplicitySumHasByLabel( + ConstHandle2ConstMultiplicitySums This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstMultiplicitySum +MultiplicitySumsMultiplicitySumGetByLabelConst( + ConstHandle2ConstMultiplicitySums This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2MultiplicitySum +MultiplicitySumsMultiplicitySumGetByLabel( + ConstHandle2MultiplicitySums This, + const XMLName label +); + +// +++ Set, by label +extern_c void +MultiplicitySumsMultiplicitySumSetByLabel( + ConstHandle2MultiplicitySums This, + const XMLName label, + ConstHandle2ConstMultiplicitySum multiplicitySum +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp new file mode 100644 index 000000000..bfd7779d8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp @@ -0,0 +1,209 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/NBodyPhaseSpace.hpp" +#include "NBodyPhaseSpace.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = NBodyPhaseSpaceClass; +using CPP = multigroup::NBodyPhaseSpace; + +static const std::string CLASSNAME = "NBodyPhaseSpace"; + +namespace extract { + static auto numberOfProducts = [](auto &obj) { return &obj.numberOfProducts; }; + static auto mass = [](auto &obj) { return &obj.mass; }; +} + +using CPPMass = ambiguousNamespace::Mass; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstNBodyPhaseSpace +NBodyPhaseSpaceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2NBodyPhaseSpace +NBodyPhaseSpaceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstNBodyPhaseSpace +NBodyPhaseSpaceCreateConst( + const Integer32 numberOfProducts, + ConstHandle2ConstMass mass +) { + ConstHandle2NBodyPhaseSpace handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + numberOfProducts, + detail::tocpp(mass) + ); + return handle; +} + +// Create, general +Handle2NBodyPhaseSpace +NBodyPhaseSpaceCreate( + const Integer32 numberOfProducts, + ConstHandle2ConstMass mass +) { + ConstHandle2NBodyPhaseSpace handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + numberOfProducts, + detail::tocpp(mass) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +NBodyPhaseSpaceAssign(ConstHandle2NBodyPhaseSpace This, ConstHandle2ConstNBodyPhaseSpace from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +NBodyPhaseSpaceDelete(ConstHandle2ConstNBodyPhaseSpace This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +NBodyPhaseSpaceRead(ConstHandle2NBodyPhaseSpace This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +NBodyPhaseSpaceWrite(ConstHandle2ConstNBodyPhaseSpace This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +NBodyPhaseSpacePrint(ConstHandle2ConstNBodyPhaseSpace This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +NBodyPhaseSpacePrintXML(ConstHandle2ConstNBodyPhaseSpace This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +NBodyPhaseSpacePrintJSON(ConstHandle2ConstNBodyPhaseSpace This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: numberOfProducts +// ----------------------------------------------------------------------------- + +// Has +int +NBodyPhaseSpaceNumberOfProductsHas(ConstHandle2ConstNBodyPhaseSpace This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NumberOfProductsHas", This, extract::numberOfProducts); +} + +// Get +// Returns by value +Integer32 +NBodyPhaseSpaceNumberOfProductsGet(ConstHandle2ConstNBodyPhaseSpace This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NumberOfProductsGet", This, extract::numberOfProducts); +} + +// Set +void +NBodyPhaseSpaceNumberOfProductsSet(ConstHandle2NBodyPhaseSpace This, const Integer32 numberOfProducts) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NumberOfProductsSet", This, extract::numberOfProducts, numberOfProducts); +} + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// Has +int +NBodyPhaseSpaceMassHas(ConstHandle2ConstNBodyPhaseSpace This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MassHas", This, extract::mass); +} + +// Get, const +Handle2ConstMass +NBodyPhaseSpaceMassGetConst(ConstHandle2ConstNBodyPhaseSpace This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGetConst", This, extract::mass); +} + +// Get, non-const +Handle2Mass +NBodyPhaseSpaceMassGet(ConstHandle2NBodyPhaseSpace This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGet", This, extract::mass); +} + +// Set +void +NBodyPhaseSpaceMassSet(ConstHandle2NBodyPhaseSpace This, ConstHandle2ConstMass mass) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MassSet", This, extract::mass, mass); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h b/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h new file mode 100644 index 000000000..b3dcf7ede --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h @@ -0,0 +1,179 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// NBodyPhaseSpace is the basic handle type in this file. Example: +// // Create a default NBodyPhaseSpace object: +// NBodyPhaseSpace handle = NBodyPhaseSpaceDefault(); +// Functions involving NBodyPhaseSpace are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_NBODYPHASESPACE +#define C_INTERFACE_TRY_V2_0_TRANSPORT_NBODYPHASESPACE + +#include "GNDStk.h" +#include "v2.0/ambiguousNamespace/Mass.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct NBodyPhaseSpaceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ NBodyPhaseSpace +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct NBodyPhaseSpaceClass *NBodyPhaseSpace; + +// --- Const-aware handles. +typedef const struct NBodyPhaseSpaceClass *const ConstHandle2ConstNBodyPhaseSpace; +typedef struct NBodyPhaseSpaceClass *const ConstHandle2NBodyPhaseSpace; +typedef const struct NBodyPhaseSpaceClass * Handle2ConstNBodyPhaseSpace; +typedef struct NBodyPhaseSpaceClass * Handle2NBodyPhaseSpace; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstNBodyPhaseSpace +NBodyPhaseSpaceDefaultConst(); + +// +++ Create, default +extern_c Handle2NBodyPhaseSpace +NBodyPhaseSpaceDefault(); + +// --- Create, general, const +extern_c Handle2ConstNBodyPhaseSpace +NBodyPhaseSpaceCreateConst( + const Integer32 numberOfProducts, + ConstHandle2ConstMass mass +); + +// +++ Create, general +extern_c Handle2NBodyPhaseSpace +NBodyPhaseSpaceCreate( + const Integer32 numberOfProducts, + ConstHandle2ConstMass mass +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +NBodyPhaseSpaceAssign(ConstHandle2NBodyPhaseSpace This, ConstHandle2ConstNBodyPhaseSpace from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +NBodyPhaseSpaceDelete(ConstHandle2ConstNBodyPhaseSpace This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +NBodyPhaseSpaceRead(ConstHandle2NBodyPhaseSpace This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +NBodyPhaseSpaceWrite(ConstHandle2ConstNBodyPhaseSpace This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +NBodyPhaseSpacePrint(ConstHandle2ConstNBodyPhaseSpace This); + +// +++ Print to standard output, as XML +extern_c int +NBodyPhaseSpacePrintXML(ConstHandle2ConstNBodyPhaseSpace This); + +// +++ Print to standard output, as JSON +extern_c int +NBodyPhaseSpacePrintJSON(ConstHandle2ConstNBodyPhaseSpace This); + + +// ----------------------------------------------------------------------------- +// Metadatum: numberOfProducts +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NBodyPhaseSpaceNumberOfProductsHas(ConstHandle2ConstNBodyPhaseSpace This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +NBodyPhaseSpaceNumberOfProductsGet(ConstHandle2ConstNBodyPhaseSpace This); + +// +++ Set +extern_c void +NBodyPhaseSpaceNumberOfProductsSet(ConstHandle2NBodyPhaseSpace This, const Integer32 numberOfProducts); + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +NBodyPhaseSpaceMassHas(ConstHandle2ConstNBodyPhaseSpace This); + +// --- Get, const +extern_c Handle2ConstMass +NBodyPhaseSpaceMassGetConst(ConstHandle2ConstNBodyPhaseSpace This); + +// +++ Get, non-const +extern_c Handle2Mass +NBodyPhaseSpaceMassGet(ConstHandle2NBodyPhaseSpace This); + +// +++ Set +extern_c void +NBodyPhaseSpaceMassSet(ConstHandle2NBodyPhaseSpace This, ConstHandle2ConstMass mass); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.cpp new file mode 100644 index 000000000..86714652c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/OrphanProduct.hpp" +#include "OrphanProduct.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = OrphanProductClass; +using CPP = multigroup::OrphanProduct; + +static const std::string CLASSNAME = "OrphanProduct"; + +namespace extract { + static auto ENDF_MT = [](auto &obj) { return &obj.ENDF_MT; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto crossSection = [](auto &obj) { return &obj.crossSection; }; + static auto outputChannel = [](auto &obj) { return &obj.outputChannel; }; +} + +using CPPCrossSection = transport::CrossSection; +using CPPOutputChannel = transport::OutputChannel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstOrphanProduct +OrphanProductDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2OrphanProduct +OrphanProductDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstOrphanProduct +OrphanProductCreateConst( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2OrphanProduct handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MT, + label, + detail::tocpp(crossSection), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Create, general +Handle2OrphanProduct +OrphanProductCreate( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2OrphanProduct handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MT, + label, + detail::tocpp(crossSection), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +OrphanProductAssign(ConstHandle2OrphanProduct This, ConstHandle2ConstOrphanProduct from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +OrphanProductDelete(ConstHandle2ConstOrphanProduct This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +OrphanProductRead(ConstHandle2OrphanProduct This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +OrphanProductWrite(ConstHandle2ConstOrphanProduct This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +OrphanProductPrint(ConstHandle2ConstOrphanProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +OrphanProductPrintXML(ConstHandle2ConstOrphanProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +OrphanProductPrintJSON(ConstHandle2ConstOrphanProduct This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// Has +int +OrphanProductENDFMTHas(ConstHandle2ConstOrphanProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMTHas", This, extract::ENDF_MT); +} + +// Get +// Returns by value +Integer32 +OrphanProductENDFMTGet(ConstHandle2ConstOrphanProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMTGet", This, extract::ENDF_MT); +} + +// Set +void +OrphanProductENDFMTSet(ConstHandle2OrphanProduct This, const Integer32 ENDF_MT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMTSet", This, extract::ENDF_MT, ENDF_MT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +OrphanProductLabelHas(ConstHandle2ConstOrphanProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +OrphanProductLabelGet(ConstHandle2ConstOrphanProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +OrphanProductLabelSet(ConstHandle2OrphanProduct This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// Has +int +OrphanProductCrossSectionHas(ConstHandle2ConstOrphanProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionHas", This, extract::crossSection); +} + +// Get, const +Handle2ConstCrossSection +OrphanProductCrossSectionGetConst(ConstHandle2ConstOrphanProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGetConst", This, extract::crossSection); +} + +// Get, non-const +Handle2CrossSection +OrphanProductCrossSectionGet(ConstHandle2OrphanProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGet", This, extract::crossSection); +} + +// Set +void +OrphanProductCrossSectionSet(ConstHandle2OrphanProduct This, ConstHandle2ConstCrossSection crossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossSectionSet", This, extract::crossSection, crossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// Has +int +OrphanProductOutputChannelHas(ConstHandle2ConstOrphanProduct This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OutputChannelHas", This, extract::outputChannel); +} + +// Get, const +Handle2ConstOutputChannel +OrphanProductOutputChannelGetConst(ConstHandle2ConstOrphanProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGetConst", This, extract::outputChannel); +} + +// Get, non-const +Handle2OutputChannel +OrphanProductOutputChannelGet(ConstHandle2OrphanProduct This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGet", This, extract::outputChannel); +} + +// Set +void +OrphanProductOutputChannelSet(ConstHandle2OrphanProduct This, ConstHandle2ConstOutputChannel outputChannel) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OutputChannelSet", This, extract::outputChannel, outputChannel); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.h b/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.h new file mode 100644 index 000000000..507d98350 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// OrphanProduct is the basic handle type in this file. Example: +// // Create a default OrphanProduct object: +// OrphanProduct handle = OrphanProductDefault(); +// Functions involving OrphanProduct are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ORPHANPRODUCT +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ORPHANPRODUCT + +#include "GNDStk.h" +#include "v2.0/transport/CrossSection.h" +#include "v2.0/transport/OutputChannel.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct OrphanProductClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ OrphanProduct +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct OrphanProductClass *OrphanProduct; + +// --- Const-aware handles. +typedef const struct OrphanProductClass *const ConstHandle2ConstOrphanProduct; +typedef struct OrphanProductClass *const ConstHandle2OrphanProduct; +typedef const struct OrphanProductClass * Handle2ConstOrphanProduct; +typedef struct OrphanProductClass * Handle2OrphanProduct; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstOrphanProduct +OrphanProductDefaultConst(); + +// +++ Create, default +extern_c Handle2OrphanProduct +OrphanProductDefault(); + +// --- Create, general, const +extern_c Handle2ConstOrphanProduct +OrphanProductCreateConst( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Create, general +extern_c Handle2OrphanProduct +OrphanProductCreate( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +OrphanProductAssign(ConstHandle2OrphanProduct This, ConstHandle2ConstOrphanProduct from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +OrphanProductDelete(ConstHandle2ConstOrphanProduct This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +OrphanProductRead(ConstHandle2OrphanProduct This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +OrphanProductWrite(ConstHandle2ConstOrphanProduct This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +OrphanProductPrint(ConstHandle2ConstOrphanProduct This); + +// +++ Print to standard output, as XML +extern_c int +OrphanProductPrintXML(ConstHandle2ConstOrphanProduct This); + +// +++ Print to standard output, as JSON +extern_c int +OrphanProductPrintJSON(ConstHandle2ConstOrphanProduct This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OrphanProductENDFMTHas(ConstHandle2ConstOrphanProduct This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +OrphanProductENDFMTGet(ConstHandle2ConstOrphanProduct This); + +// +++ Set +extern_c void +OrphanProductENDFMTSet(ConstHandle2OrphanProduct This, const Integer32 ENDF_MT); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OrphanProductLabelHas(ConstHandle2ConstOrphanProduct This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +OrphanProductLabelGet(ConstHandle2ConstOrphanProduct This); + +// +++ Set +extern_c void +OrphanProductLabelSet(ConstHandle2OrphanProduct This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OrphanProductCrossSectionHas(ConstHandle2ConstOrphanProduct This); + +// --- Get, const +extern_c Handle2ConstCrossSection +OrphanProductCrossSectionGetConst(ConstHandle2ConstOrphanProduct This); + +// +++ Get, non-const +extern_c Handle2CrossSection +OrphanProductCrossSectionGet(ConstHandle2OrphanProduct This); + +// +++ Set +extern_c void +OrphanProductCrossSectionSet(ConstHandle2OrphanProduct This, ConstHandle2ConstCrossSection crossSection); + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OrphanProductOutputChannelHas(ConstHandle2ConstOrphanProduct This); + +// --- Get, const +extern_c Handle2ConstOutputChannel +OrphanProductOutputChannelGetConst(ConstHandle2ConstOrphanProduct This); + +// +++ Get, non-const +extern_c Handle2OutputChannel +OrphanProductOutputChannelGet(ConstHandle2OrphanProduct This); + +// +++ Set +extern_c void +OrphanProductOutputChannelSet(ConstHandle2OrphanProduct This, ConstHandle2ConstOutputChannel outputChannel); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.cpp new file mode 100644 index 000000000..375eb0df3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/OrphanProducts.hpp" +#include "OrphanProducts.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = OrphanProductsClass; +using CPP = multigroup::OrphanProducts; + +static const std::string CLASSNAME = "OrphanProducts"; + +namespace extract { + static auto orphanProduct = [](auto &obj) { return &obj.orphanProduct; }; +} + +using CPPOrphanProduct = transport::OrphanProduct; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstOrphanProducts +OrphanProductsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2OrphanProducts +OrphanProductsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstOrphanProducts +OrphanProductsCreateConst( + ConstHandle2OrphanProduct *const orphanProduct, const size_t orphanProductSize +) { + ConstHandle2OrphanProducts handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t OrphanProductN = 0; OrphanProductN < orphanProductSize; ++OrphanProductN) + OrphanProductsOrphanProductAdd(handle, orphanProduct[OrphanProductN]); + return handle; +} + +// Create, general +Handle2OrphanProducts +OrphanProductsCreate( + ConstHandle2OrphanProduct *const orphanProduct, const size_t orphanProductSize +) { + ConstHandle2OrphanProducts handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t OrphanProductN = 0; OrphanProductN < orphanProductSize; ++OrphanProductN) + OrphanProductsOrphanProductAdd(handle, orphanProduct[OrphanProductN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +OrphanProductsAssign(ConstHandle2OrphanProducts This, ConstHandle2ConstOrphanProducts from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +OrphanProductsDelete(ConstHandle2ConstOrphanProducts This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +OrphanProductsRead(ConstHandle2OrphanProducts This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +OrphanProductsWrite(ConstHandle2ConstOrphanProducts This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +OrphanProductsPrint(ConstHandle2ConstOrphanProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +OrphanProductsPrintXML(ConstHandle2ConstOrphanProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +OrphanProductsPrintJSON(ConstHandle2ConstOrphanProducts This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: orphanProduct +// ----------------------------------------------------------------------------- + +// Has +int +OrphanProductsOrphanProductHas(ConstHandle2ConstOrphanProducts This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OrphanProductHas", This, extract::orphanProduct); +} + +// Clear +void +OrphanProductsOrphanProductClear(ConstHandle2OrphanProducts This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"OrphanProductClear", This, extract::orphanProduct); +} + +// Size +size_t +OrphanProductsOrphanProductSize(ConstHandle2ConstOrphanProducts This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"OrphanProductSize", This, extract::orphanProduct); +} + +// Add +void +OrphanProductsOrphanProductAdd(ConstHandle2OrphanProducts This, ConstHandle2ConstOrphanProduct orphanProduct) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"OrphanProductAdd", This, extract::orphanProduct, orphanProduct); +} + +// Get, by index \in [0,size), const +Handle2ConstOrphanProduct +OrphanProductsOrphanProductGetConst(ConstHandle2ConstOrphanProducts This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"OrphanProductGetConst", This, extract::orphanProduct, index_); +} + +// Get, by index \in [0,size), non-const +Handle2OrphanProduct +OrphanProductsOrphanProductGet(ConstHandle2OrphanProducts This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"OrphanProductGet", This, extract::orphanProduct, index_); +} + +// Set, by index \in [0,size) +void +OrphanProductsOrphanProductSet( + ConstHandle2OrphanProducts This, + const size_t index_, + ConstHandle2ConstOrphanProduct orphanProduct +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"OrphanProductSet", This, extract::orphanProduct, index_, orphanProduct); +} + +// Has, by ENDF_MT +int +OrphanProductsOrphanProductHasByENDFMT( + ConstHandle2ConstOrphanProducts This, + const Integer32 ENDF_MT +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"OrphanProductHasByENDFMT", + This, extract::orphanProduct, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, const +Handle2ConstOrphanProduct +OrphanProductsOrphanProductGetByENDFMTConst( + ConstHandle2ConstOrphanProducts This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OrphanProductGetByENDFMTConst", + This, extract::orphanProduct, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, non-const +Handle2OrphanProduct +OrphanProductsOrphanProductGetByENDFMT( + ConstHandle2OrphanProducts This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OrphanProductGetByENDFMT", + This, extract::orphanProduct, meta::ENDF_MT, ENDF_MT); +} + +// Set, by ENDF_MT +void +OrphanProductsOrphanProductSetByENDFMT( + ConstHandle2OrphanProducts This, + const Integer32 ENDF_MT, + ConstHandle2ConstOrphanProduct orphanProduct +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"OrphanProductSetByENDFMT", + This, extract::orphanProduct, meta::ENDF_MT, ENDF_MT, orphanProduct); +} + +// Has, by label +int +OrphanProductsOrphanProductHasByLabel( + ConstHandle2ConstOrphanProducts This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"OrphanProductHasByLabel", + This, extract::orphanProduct, meta::label, label); +} + +// Get, by label, const +Handle2ConstOrphanProduct +OrphanProductsOrphanProductGetByLabelConst( + ConstHandle2ConstOrphanProducts This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OrphanProductGetByLabelConst", + This, extract::orphanProduct, meta::label, label); +} + +// Get, by label, non-const +Handle2OrphanProduct +OrphanProductsOrphanProductGetByLabel( + ConstHandle2OrphanProducts This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"OrphanProductGetByLabel", + This, extract::orphanProduct, meta::label, label); +} + +// Set, by label +void +OrphanProductsOrphanProductSetByLabel( + ConstHandle2OrphanProducts This, + const XMLName label, + ConstHandle2ConstOrphanProduct orphanProduct +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"OrphanProductSetByLabel", + This, extract::orphanProduct, meta::label, label, orphanProduct); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.h b/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.h new file mode 100644 index 000000000..0c1f4f2e0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// OrphanProducts is the basic handle type in this file. Example: +// // Create a default OrphanProducts object: +// OrphanProducts handle = OrphanProductsDefault(); +// Functions involving OrphanProducts are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ORPHANPRODUCTS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_ORPHANPRODUCTS + +#include "GNDStk.h" +#include "v2.0/transport/OrphanProduct.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct OrphanProductsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ OrphanProducts +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct OrphanProductsClass *OrphanProducts; + +// --- Const-aware handles. +typedef const struct OrphanProductsClass *const ConstHandle2ConstOrphanProducts; +typedef struct OrphanProductsClass *const ConstHandle2OrphanProducts; +typedef const struct OrphanProductsClass * Handle2ConstOrphanProducts; +typedef struct OrphanProductsClass * Handle2OrphanProducts; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstOrphanProducts +OrphanProductsDefaultConst(); + +// +++ Create, default +extern_c Handle2OrphanProducts +OrphanProductsDefault(); + +// --- Create, general, const +extern_c Handle2ConstOrphanProducts +OrphanProductsCreateConst( + ConstHandle2OrphanProduct *const orphanProduct, const size_t orphanProductSize +); + +// +++ Create, general +extern_c Handle2OrphanProducts +OrphanProductsCreate( + ConstHandle2OrphanProduct *const orphanProduct, const size_t orphanProductSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +OrphanProductsAssign(ConstHandle2OrphanProducts This, ConstHandle2ConstOrphanProducts from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +OrphanProductsDelete(ConstHandle2ConstOrphanProducts This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +OrphanProductsRead(ConstHandle2OrphanProducts This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +OrphanProductsWrite(ConstHandle2ConstOrphanProducts This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +OrphanProductsPrint(ConstHandle2ConstOrphanProducts This); + +// +++ Print to standard output, as XML +extern_c int +OrphanProductsPrintXML(ConstHandle2ConstOrphanProducts This); + +// +++ Print to standard output, as JSON +extern_c int +OrphanProductsPrintJSON(ConstHandle2ConstOrphanProducts This); + + +// ----------------------------------------------------------------------------- +// Child: orphanProduct +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OrphanProductsOrphanProductHas(ConstHandle2ConstOrphanProducts This); + +// +++ Clear +extern_c void +OrphanProductsOrphanProductClear(ConstHandle2OrphanProducts This); + +// +++ Size +extern_c size_t +OrphanProductsOrphanProductSize(ConstHandle2ConstOrphanProducts This); + +// +++ Add +extern_c void +OrphanProductsOrphanProductAdd(ConstHandle2OrphanProducts This, ConstHandle2ConstOrphanProduct orphanProduct); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstOrphanProduct +OrphanProductsOrphanProductGetConst(ConstHandle2ConstOrphanProducts This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2OrphanProduct +OrphanProductsOrphanProductGet(ConstHandle2OrphanProducts This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +OrphanProductsOrphanProductSet( + ConstHandle2OrphanProducts This, + const size_t index_, + ConstHandle2ConstOrphanProduct orphanProduct +); + +// +++ Has, by ENDF_MT +extern_c int +OrphanProductsOrphanProductHasByENDFMT( + ConstHandle2ConstOrphanProducts This, + const Integer32 ENDF_MT +); + +// --- Get, by ENDF_MT, const +extern_c Handle2ConstOrphanProduct +OrphanProductsOrphanProductGetByENDFMTConst( + ConstHandle2ConstOrphanProducts This, + const Integer32 ENDF_MT +); + +// +++ Get, by ENDF_MT, non-const +extern_c Handle2OrphanProduct +OrphanProductsOrphanProductGetByENDFMT( + ConstHandle2OrphanProducts This, + const Integer32 ENDF_MT +); + +// +++ Set, by ENDF_MT +extern_c void +OrphanProductsOrphanProductSetByENDFMT( + ConstHandle2OrphanProducts This, + const Integer32 ENDF_MT, + ConstHandle2ConstOrphanProduct orphanProduct +); + +// +++ Has, by label +extern_c int +OrphanProductsOrphanProductHasByLabel( + ConstHandle2ConstOrphanProducts This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstOrphanProduct +OrphanProductsOrphanProductGetByLabelConst( + ConstHandle2ConstOrphanProducts This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2OrphanProduct +OrphanProductsOrphanProductGetByLabel( + ConstHandle2OrphanProducts This, + const XMLName label +); + +// +++ Set, by label +extern_c void +OrphanProductsOrphanProductSetByLabel( + ConstHandle2OrphanProducts This, + const XMLName label, + ConstHandle2ConstOrphanProduct orphanProduct +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp new file mode 100644 index 000000000..a50d064d5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp @@ -0,0 +1,330 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/OutputChannel.hpp" +#include "OutputChannel.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = OutputChannelClass; +using CPP = multigroup::OutputChannel; + +static const std::string CLASSNAME = "OutputChannel"; + +namespace extract { + static auto genre = [](auto &obj) { return &obj.genre; }; + static auto process = [](auto &obj) { return &obj.process; }; + static auto Q = [](auto &obj) { return &obj.Q; }; + static auto products = [](auto &obj) { return &obj.products; }; + static auto fissionFragmentData = [](auto &obj) { return &obj.fissionFragmentData; }; +} + +using CPPQ = ambiguousNamespace::Q; +using CPPProducts = ambiguousNamespace::Products; +using CPPFissionFragmentData = fissionFragmentData::FissionFragmentData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstOutputChannel +OutputChannelDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2OutputChannel +OutputChannelDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstOutputChannel +OutputChannelCreateConst( + const XMLName genre, + const XMLName process, + ConstHandle2ConstQ Q, + ConstHandle2ConstProducts products, + ConstHandle2ConstFissionFragmentData fissionFragmentData +) { + ConstHandle2OutputChannel handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + genre, + process, + detail::tocpp(Q), + detail::tocpp(products), + detail::tocpp(fissionFragmentData) + ); + return handle; +} + +// Create, general +Handle2OutputChannel +OutputChannelCreate( + const XMLName genre, + const XMLName process, + ConstHandle2ConstQ Q, + ConstHandle2ConstProducts products, + ConstHandle2ConstFissionFragmentData fissionFragmentData +) { + ConstHandle2OutputChannel handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + genre, + process, + detail::tocpp(Q), + detail::tocpp(products), + detail::tocpp(fissionFragmentData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +OutputChannelAssign(ConstHandle2OutputChannel This, ConstHandle2ConstOutputChannel from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +OutputChannelDelete(ConstHandle2ConstOutputChannel This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +OutputChannelRead(ConstHandle2OutputChannel This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +OutputChannelWrite(ConstHandle2ConstOutputChannel This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +OutputChannelPrint(ConstHandle2ConstOutputChannel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +OutputChannelPrintXML(ConstHandle2ConstOutputChannel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +OutputChannelPrintJSON(ConstHandle2ConstOutputChannel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: genre +// ----------------------------------------------------------------------------- + +// Has +int +OutputChannelGenreHas(ConstHandle2ConstOutputChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GenreHas", This, extract::genre); +} + +// Get +// Returns by value +XMLName +OutputChannelGenreGet(ConstHandle2ConstOutputChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GenreGet", This, extract::genre); +} + +// Set +void +OutputChannelGenreSet(ConstHandle2OutputChannel This, const XMLName genre) +{ + detail::setField + (CLASSNAME, CLASSNAME+"GenreSet", This, extract::genre, genre); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: process +// ----------------------------------------------------------------------------- + +// Has +int +OutputChannelProcessHas(ConstHandle2ConstOutputChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProcessHas", This, extract::process); +} + +// Get +// Returns by value +XMLName +OutputChannelProcessGet(ConstHandle2ConstOutputChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProcessGet", This, extract::process); +} + +// Set +void +OutputChannelProcessSet(ConstHandle2OutputChannel This, const XMLName process) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProcessSet", This, extract::process, process); +} + + +// ----------------------------------------------------------------------------- +// Child: Q +// ----------------------------------------------------------------------------- + +// Has +int +OutputChannelQHas(ConstHandle2ConstOutputChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"QHas", This, extract::Q); +} + +// Get, const +Handle2ConstQ +OutputChannelQGetConst(ConstHandle2ConstOutputChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"QGetConst", This, extract::Q); +} + +// Get, non-const +Handle2Q +OutputChannelQGet(ConstHandle2OutputChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"QGet", This, extract::Q); +} + +// Set +void +OutputChannelQSet(ConstHandle2OutputChannel This, ConstHandle2ConstQ Q) +{ + detail::setField + (CLASSNAME, CLASSNAME+"QSet", This, extract::Q, Q); +} + + +// ----------------------------------------------------------------------------- +// Child: products +// ----------------------------------------------------------------------------- + +// Has +int +OutputChannelProductsHas(ConstHandle2ConstOutputChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductsHas", This, extract::products); +} + +// Get, const +Handle2ConstProducts +OutputChannelProductsGetConst(ConstHandle2ConstOutputChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductsGetConst", This, extract::products); +} + +// Get, non-const +Handle2Products +OutputChannelProductsGet(ConstHandle2OutputChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductsGet", This, extract::products); +} + +// Set +void +OutputChannelProductsSet(ConstHandle2OutputChannel This, ConstHandle2ConstProducts products) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductsSet", This, extract::products, products); +} + + +// ----------------------------------------------------------------------------- +// Child: fissionFragmentData +// ----------------------------------------------------------------------------- + +// Has +int +OutputChannelFissionFragmentDataHas(ConstHandle2ConstOutputChannel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionFragmentDataHas", This, extract::fissionFragmentData); +} + +// Get, const +Handle2ConstFissionFragmentData +OutputChannelFissionFragmentDataGetConst(ConstHandle2ConstOutputChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionFragmentDataGetConst", This, extract::fissionFragmentData); +} + +// Get, non-const +Handle2FissionFragmentData +OutputChannelFissionFragmentDataGet(ConstHandle2OutputChannel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionFragmentDataGet", This, extract::fissionFragmentData); +} + +// Set +void +OutputChannelFissionFragmentDataSet(ConstHandle2OutputChannel This, ConstHandle2ConstFissionFragmentData fissionFragmentData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FissionFragmentDataSet", This, extract::fissionFragmentData, fissionFragmentData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h b/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h new file mode 100644 index 000000000..64e8b4d05 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h @@ -0,0 +1,247 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// OutputChannel is the basic handle type in this file. Example: +// // Create a default OutputChannel object: +// OutputChannel handle = OutputChannelDefault(); +// Functions involving OutputChannel are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_OUTPUTCHANNEL +#define C_INTERFACE_TRY_V2_0_TRANSPORT_OUTPUTCHANNEL + +#include "GNDStk.h" +#include "v2.0/ambiguousNamespace/Q.h" +#include "v2.0/ambiguousNamespace/Products.h" +#include "v2.0/fissionFragmentData/FissionFragmentData.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct OutputChannelClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ OutputChannel +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct OutputChannelClass *OutputChannel; + +// --- Const-aware handles. +typedef const struct OutputChannelClass *const ConstHandle2ConstOutputChannel; +typedef struct OutputChannelClass *const ConstHandle2OutputChannel; +typedef const struct OutputChannelClass * Handle2ConstOutputChannel; +typedef struct OutputChannelClass * Handle2OutputChannel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstOutputChannel +OutputChannelDefaultConst(); + +// +++ Create, default +extern_c Handle2OutputChannel +OutputChannelDefault(); + +// --- Create, general, const +extern_c Handle2ConstOutputChannel +OutputChannelCreateConst( + const XMLName genre, + const XMLName process, + ConstHandle2ConstQ Q, + ConstHandle2ConstProducts products, + ConstHandle2ConstFissionFragmentData fissionFragmentData +); + +// +++ Create, general +extern_c Handle2OutputChannel +OutputChannelCreate( + const XMLName genre, + const XMLName process, + ConstHandle2ConstQ Q, + ConstHandle2ConstProducts products, + ConstHandle2ConstFissionFragmentData fissionFragmentData +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +OutputChannelAssign(ConstHandle2OutputChannel This, ConstHandle2ConstOutputChannel from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +OutputChannelDelete(ConstHandle2ConstOutputChannel This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +OutputChannelRead(ConstHandle2OutputChannel This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +OutputChannelWrite(ConstHandle2ConstOutputChannel This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +OutputChannelPrint(ConstHandle2ConstOutputChannel This); + +// +++ Print to standard output, as XML +extern_c int +OutputChannelPrintXML(ConstHandle2ConstOutputChannel This); + +// +++ Print to standard output, as JSON +extern_c int +OutputChannelPrintJSON(ConstHandle2ConstOutputChannel This); + + +// ----------------------------------------------------------------------------- +// Metadatum: genre +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputChannelGenreHas(ConstHandle2ConstOutputChannel This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +OutputChannelGenreGet(ConstHandle2ConstOutputChannel This); + +// +++ Set +extern_c void +OutputChannelGenreSet(ConstHandle2OutputChannel This, const XMLName genre); + + +// ----------------------------------------------------------------------------- +// Metadatum: process +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputChannelProcessHas(ConstHandle2ConstOutputChannel This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +OutputChannelProcessGet(ConstHandle2ConstOutputChannel This); + +// +++ Set +extern_c void +OutputChannelProcessSet(ConstHandle2OutputChannel This, const XMLName process); + + +// ----------------------------------------------------------------------------- +// Child: Q +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputChannelQHas(ConstHandle2ConstOutputChannel This); + +// --- Get, const +extern_c Handle2ConstQ +OutputChannelQGetConst(ConstHandle2ConstOutputChannel This); + +// +++ Get, non-const +extern_c Handle2Q +OutputChannelQGet(ConstHandle2OutputChannel This); + +// +++ Set +extern_c void +OutputChannelQSet(ConstHandle2OutputChannel This, ConstHandle2ConstQ Q); + + +// ----------------------------------------------------------------------------- +// Child: products +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputChannelProductsHas(ConstHandle2ConstOutputChannel This); + +// --- Get, const +extern_c Handle2ConstProducts +OutputChannelProductsGetConst(ConstHandle2ConstOutputChannel This); + +// +++ Get, non-const +extern_c Handle2Products +OutputChannelProductsGet(ConstHandle2OutputChannel This); + +// +++ Set +extern_c void +OutputChannelProductsSet(ConstHandle2OutputChannel This, ConstHandle2ConstProducts products); + + +// ----------------------------------------------------------------------------- +// Child: fissionFragmentData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +OutputChannelFissionFragmentDataHas(ConstHandle2ConstOutputChannel This); + +// --- Get, const +extern_c Handle2ConstFissionFragmentData +OutputChannelFissionFragmentDataGetConst(ConstHandle2ConstOutputChannel This); + +// +++ Get, non-const +extern_c Handle2FissionFragmentData +OutputChannelFissionFragmentDataGet(ConstHandle2OutputChannel This); + +// +++ Set +extern_c void +OutputChannelFissionFragmentDataSet(ConstHandle2OutputChannel This, ConstHandle2ConstFissionFragmentData fissionFragmentData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp new file mode 100644 index 000000000..751e8c699 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/PhotonEmissionProbabilities.hpp" +#include "PhotonEmissionProbabilities.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PhotonEmissionProbabilitiesClass; +using CPP = multigroup::PhotonEmissionProbabilities; + +static const std::string CLASSNAME = "PhotonEmissionProbabilities"; + +namespace extract { + static auto shell = [](auto &obj) { return &obj.shell; }; +} + +using CPPShell = pops::Shell; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPhotonEmissionProbabilities +PhotonEmissionProbabilitiesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PhotonEmissionProbabilities +PhotonEmissionProbabilitiesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPhotonEmissionProbabilities +PhotonEmissionProbabilitiesCreateConst( + ConstHandle2ConstShell shell +) { + ConstHandle2PhotonEmissionProbabilities handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(shell) + ); + return handle; +} + +// Create, general +Handle2PhotonEmissionProbabilities +PhotonEmissionProbabilitiesCreate( + ConstHandle2ConstShell shell +) { + ConstHandle2PhotonEmissionProbabilities handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(shell) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PhotonEmissionProbabilitiesAssign(ConstHandle2PhotonEmissionProbabilities This, ConstHandle2ConstPhotonEmissionProbabilities from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PhotonEmissionProbabilitiesDelete(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PhotonEmissionProbabilitiesRead(ConstHandle2PhotonEmissionProbabilities This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PhotonEmissionProbabilitiesWrite(ConstHandle2ConstPhotonEmissionProbabilities This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PhotonEmissionProbabilitiesPrint(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PhotonEmissionProbabilitiesPrintXML(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PhotonEmissionProbabilitiesPrintJSON(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: shell +// ----------------------------------------------------------------------------- + +// Has +int +PhotonEmissionProbabilitiesShellHas(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ShellHas", This, extract::shell); +} + +// Get, const +Handle2ConstShell +PhotonEmissionProbabilitiesShellGetConst(ConstHandle2ConstPhotonEmissionProbabilities This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ShellGetConst", This, extract::shell); +} + +// Get, non-const +Handle2Shell +PhotonEmissionProbabilitiesShellGet(ConstHandle2PhotonEmissionProbabilities This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ShellGet", This, extract::shell); +} + +// Set +void +PhotonEmissionProbabilitiesShellSet(ConstHandle2PhotonEmissionProbabilities This, ConstHandle2ConstShell shell) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ShellSet", This, extract::shell, shell); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.h b/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.h new file mode 100644 index 000000000..c3c82b05a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PhotonEmissionProbabilities is the basic handle type in this file. Example: +// // Create a default PhotonEmissionProbabilities object: +// PhotonEmissionProbabilities handle = PhotonEmissionProbabilitiesDefault(); +// Functions involving PhotonEmissionProbabilities are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES +#define C_INTERFACE_TRY_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES + +#include "GNDStk.h" +#include "v2.0/pops/Shell.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PhotonEmissionProbabilitiesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PhotonEmissionProbabilities +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PhotonEmissionProbabilitiesClass *PhotonEmissionProbabilities; + +// --- Const-aware handles. +typedef const struct PhotonEmissionProbabilitiesClass *const ConstHandle2ConstPhotonEmissionProbabilities; +typedef struct PhotonEmissionProbabilitiesClass *const ConstHandle2PhotonEmissionProbabilities; +typedef const struct PhotonEmissionProbabilitiesClass * Handle2ConstPhotonEmissionProbabilities; +typedef struct PhotonEmissionProbabilitiesClass * Handle2PhotonEmissionProbabilities; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPhotonEmissionProbabilities +PhotonEmissionProbabilitiesDefaultConst(); + +// +++ Create, default +extern_c Handle2PhotonEmissionProbabilities +PhotonEmissionProbabilitiesDefault(); + +// --- Create, general, const +extern_c Handle2ConstPhotonEmissionProbabilities +PhotonEmissionProbabilitiesCreateConst( + ConstHandle2ConstShell shell +); + +// +++ Create, general +extern_c Handle2PhotonEmissionProbabilities +PhotonEmissionProbabilitiesCreate( + ConstHandle2ConstShell shell +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PhotonEmissionProbabilitiesAssign(ConstHandle2PhotonEmissionProbabilities This, ConstHandle2ConstPhotonEmissionProbabilities from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PhotonEmissionProbabilitiesDelete(ConstHandle2ConstPhotonEmissionProbabilities This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PhotonEmissionProbabilitiesRead(ConstHandle2PhotonEmissionProbabilities This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PhotonEmissionProbabilitiesWrite(ConstHandle2ConstPhotonEmissionProbabilities This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PhotonEmissionProbabilitiesPrint(ConstHandle2ConstPhotonEmissionProbabilities This); + +// +++ Print to standard output, as XML +extern_c int +PhotonEmissionProbabilitiesPrintXML(ConstHandle2ConstPhotonEmissionProbabilities This); + +// +++ Print to standard output, as JSON +extern_c int +PhotonEmissionProbabilitiesPrintJSON(ConstHandle2ConstPhotonEmissionProbabilities This); + + +// ----------------------------------------------------------------------------- +// Child: shell +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PhotonEmissionProbabilitiesShellHas(ConstHandle2ConstPhotonEmissionProbabilities This); + +// --- Get, const +extern_c Handle2ConstShell +PhotonEmissionProbabilitiesShellGetConst(ConstHandle2ConstPhotonEmissionProbabilities This); + +// +++ Get, non-const +extern_c Handle2Shell +PhotonEmissionProbabilitiesShellGet(ConstHandle2PhotonEmissionProbabilities This); + +// +++ Set +extern_c void +PhotonEmissionProbabilitiesShellSet(ConstHandle2PhotonEmissionProbabilities This, ConstHandle2ConstShell shell); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp new file mode 100644 index 000000000..1380e40d5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp @@ -0,0 +1,314 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/PrimaryGamma.hpp" +#include "PrimaryGamma.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PrimaryGammaClass; +using CPP = multigroup::PrimaryGamma; + +static const std::string CLASSNAME = "PrimaryGamma"; + +namespace extract { + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto finalState = [](auto &obj) { return &obj.finalState; }; + static auto axes = [](auto &obj) { return &obj.axes; }; +} + +using CPPAxes = unknownNamespace::Axes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPrimaryGamma +PrimaryGammaDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PrimaryGamma +PrimaryGammaDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPrimaryGamma +PrimaryGammaCreateConst( + const Float64 domainMax, + const Float64 domainMin, + const Float64 value, + const XMLName finalState, + ConstHandle2ConstAxes axes +) { + ConstHandle2PrimaryGamma handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + domainMax, + domainMin, + value, + finalState, + detail::tocpp(axes) + ); + return handle; +} + +// Create, general +Handle2PrimaryGamma +PrimaryGammaCreate( + const Float64 domainMax, + const Float64 domainMin, + const Float64 value, + const XMLName finalState, + ConstHandle2ConstAxes axes +) { + ConstHandle2PrimaryGamma handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + domainMax, + domainMin, + value, + finalState, + detail::tocpp(axes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PrimaryGammaAssign(ConstHandle2PrimaryGamma This, ConstHandle2ConstPrimaryGamma from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PrimaryGammaDelete(ConstHandle2ConstPrimaryGamma This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PrimaryGammaRead(ConstHandle2PrimaryGamma This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PrimaryGammaWrite(ConstHandle2ConstPrimaryGamma This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PrimaryGammaPrint(ConstHandle2ConstPrimaryGamma This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PrimaryGammaPrintXML(ConstHandle2ConstPrimaryGamma This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PrimaryGammaPrintJSON(ConstHandle2ConstPrimaryGamma This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +PrimaryGammaDomainMaxHas(ConstHandle2ConstPrimaryGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +PrimaryGammaDomainMaxGet(ConstHandle2ConstPrimaryGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +PrimaryGammaDomainMaxSet(ConstHandle2PrimaryGamma This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +PrimaryGammaDomainMinHas(ConstHandle2ConstPrimaryGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +PrimaryGammaDomainMinGet(ConstHandle2ConstPrimaryGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +PrimaryGammaDomainMinSet(ConstHandle2PrimaryGamma This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +PrimaryGammaValueHas(ConstHandle2ConstPrimaryGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +PrimaryGammaValueGet(ConstHandle2ConstPrimaryGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +PrimaryGammaValueSet(ConstHandle2PrimaryGamma This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: finalState +// ----------------------------------------------------------------------------- + +// Has +int +PrimaryGammaFinalStateHas(ConstHandle2ConstPrimaryGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FinalStateHas", This, extract::finalState); +} + +// Get +// Returns by value +XMLName +PrimaryGammaFinalStateGet(ConstHandle2ConstPrimaryGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FinalStateGet", This, extract::finalState); +} + +// Set +void +PrimaryGammaFinalStateSet(ConstHandle2PrimaryGamma This, const XMLName finalState) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FinalStateSet", This, extract::finalState, finalState); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +PrimaryGammaAxesHas(ConstHandle2ConstPrimaryGamma This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +PrimaryGammaAxesGetConst(ConstHandle2ConstPrimaryGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +PrimaryGammaAxesGet(ConstHandle2PrimaryGamma This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +PrimaryGammaAxesSet(ConstHandle2PrimaryGamma This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h b/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h new file mode 100644 index 000000000..8907dcc86 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h @@ -0,0 +1,239 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PrimaryGamma is the basic handle type in this file. Example: +// // Create a default PrimaryGamma object: +// PrimaryGamma handle = PrimaryGammaDefault(); +// Functions involving PrimaryGamma are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_PRIMARYGAMMA +#define C_INTERFACE_TRY_V2_0_TRANSPORT_PRIMARYGAMMA + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Axes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PrimaryGammaClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PrimaryGamma +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PrimaryGammaClass *PrimaryGamma; + +// --- Const-aware handles. +typedef const struct PrimaryGammaClass *const ConstHandle2ConstPrimaryGamma; +typedef struct PrimaryGammaClass *const ConstHandle2PrimaryGamma; +typedef const struct PrimaryGammaClass * Handle2ConstPrimaryGamma; +typedef struct PrimaryGammaClass * Handle2PrimaryGamma; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPrimaryGamma +PrimaryGammaDefaultConst(); + +// +++ Create, default +extern_c Handle2PrimaryGamma +PrimaryGammaDefault(); + +// --- Create, general, const +extern_c Handle2ConstPrimaryGamma +PrimaryGammaCreateConst( + const Float64 domainMax, + const Float64 domainMin, + const Float64 value, + const XMLName finalState, + ConstHandle2ConstAxes axes +); + +// +++ Create, general +extern_c Handle2PrimaryGamma +PrimaryGammaCreate( + const Float64 domainMax, + const Float64 domainMin, + const Float64 value, + const XMLName finalState, + ConstHandle2ConstAxes axes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PrimaryGammaAssign(ConstHandle2PrimaryGamma This, ConstHandle2ConstPrimaryGamma from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PrimaryGammaDelete(ConstHandle2ConstPrimaryGamma This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PrimaryGammaRead(ConstHandle2PrimaryGamma This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PrimaryGammaWrite(ConstHandle2ConstPrimaryGamma This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PrimaryGammaPrint(ConstHandle2ConstPrimaryGamma This); + +// +++ Print to standard output, as XML +extern_c int +PrimaryGammaPrintXML(ConstHandle2ConstPrimaryGamma This); + +// +++ Print to standard output, as JSON +extern_c int +PrimaryGammaPrintJSON(ConstHandle2ConstPrimaryGamma This); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PrimaryGammaDomainMaxHas(ConstHandle2ConstPrimaryGamma This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +PrimaryGammaDomainMaxGet(ConstHandle2ConstPrimaryGamma This); + +// +++ Set +extern_c void +PrimaryGammaDomainMaxSet(ConstHandle2PrimaryGamma This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PrimaryGammaDomainMinHas(ConstHandle2ConstPrimaryGamma This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +PrimaryGammaDomainMinGet(ConstHandle2ConstPrimaryGamma This); + +// +++ Set +extern_c void +PrimaryGammaDomainMinSet(ConstHandle2PrimaryGamma This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PrimaryGammaValueHas(ConstHandle2ConstPrimaryGamma This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +PrimaryGammaValueGet(ConstHandle2ConstPrimaryGamma This); + +// +++ Set +extern_c void +PrimaryGammaValueSet(ConstHandle2PrimaryGamma This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Metadatum: finalState +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PrimaryGammaFinalStateHas(ConstHandle2ConstPrimaryGamma This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +PrimaryGammaFinalStateGet(ConstHandle2ConstPrimaryGamma This); + +// +++ Set +extern_c void +PrimaryGammaFinalStateSet(ConstHandle2PrimaryGamma This, const XMLName finalState); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PrimaryGammaAxesHas(ConstHandle2ConstPrimaryGamma This); + +// --- Get, const +extern_c Handle2ConstAxes +PrimaryGammaAxesGetConst(ConstHandle2ConstPrimaryGamma This); + +// +++ Get, non-const +extern_c Handle2Axes +PrimaryGammaAxesGet(ConstHandle2PrimaryGamma This); + +// +++ Set +extern_c void +PrimaryGammaAxesSet(ConstHandle2PrimaryGamma This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Production.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Production.cpp new file mode 100644 index 000000000..3f9a48336 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Production.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Production.hpp" +#include "Production.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProductionClass; +using CPP = multigroup::Production; + +static const std::string CLASSNAME = "Production"; + +namespace extract { + static auto ENDF_MT = [](auto &obj) { return &obj.ENDF_MT; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto crossSection = [](auto &obj) { return &obj.crossSection; }; + static auto outputChannel = [](auto &obj) { return &obj.outputChannel; }; +} + +using CPPCrossSection = transport::CrossSection; +using CPPOutputChannel = transport::OutputChannel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProduction +ProductionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Production +ProductionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProduction +ProductionCreateConst( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2Production handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MT, + label, + detail::tocpp(crossSection), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Create, general +Handle2Production +ProductionCreate( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2Production handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MT, + label, + detail::tocpp(crossSection), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProductionAssign(ConstHandle2Production This, ConstHandle2ConstProduction from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProductionDelete(ConstHandle2ConstProduction This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProductionRead(ConstHandle2Production This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProductionWrite(ConstHandle2ConstProduction This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProductionPrint(ConstHandle2ConstProduction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProductionPrintXML(ConstHandle2ConstProduction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProductionPrintJSON(ConstHandle2ConstProduction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// Has +int +ProductionENDFMTHas(ConstHandle2ConstProduction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMTHas", This, extract::ENDF_MT); +} + +// Get +// Returns by value +Integer32 +ProductionENDFMTGet(ConstHandle2ConstProduction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMTGet", This, extract::ENDF_MT); +} + +// Set +void +ProductionENDFMTSet(ConstHandle2Production This, const Integer32 ENDF_MT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMTSet", This, extract::ENDF_MT, ENDF_MT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ProductionLabelHas(ConstHandle2ConstProduction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ProductionLabelGet(ConstHandle2ConstProduction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ProductionLabelSet(ConstHandle2Production This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// Has +int +ProductionCrossSectionHas(ConstHandle2ConstProduction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionHas", This, extract::crossSection); +} + +// Get, const +Handle2ConstCrossSection +ProductionCrossSectionGetConst(ConstHandle2ConstProduction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGetConst", This, extract::crossSection); +} + +// Get, non-const +Handle2CrossSection +ProductionCrossSectionGet(ConstHandle2Production This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGet", This, extract::crossSection); +} + +// Set +void +ProductionCrossSectionSet(ConstHandle2Production This, ConstHandle2ConstCrossSection crossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossSectionSet", This, extract::crossSection, crossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// Has +int +ProductionOutputChannelHas(ConstHandle2ConstProduction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OutputChannelHas", This, extract::outputChannel); +} + +// Get, const +Handle2ConstOutputChannel +ProductionOutputChannelGetConst(ConstHandle2ConstProduction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGetConst", This, extract::outputChannel); +} + +// Get, non-const +Handle2OutputChannel +ProductionOutputChannelGet(ConstHandle2Production This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGet", This, extract::outputChannel); +} + +// Set +void +ProductionOutputChannelSet(ConstHandle2Production This, ConstHandle2ConstOutputChannel outputChannel) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OutputChannelSet", This, extract::outputChannel, outputChannel); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Production.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Production.h new file mode 100644 index 000000000..ed61dbd1f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Production.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Production is the basic handle type in this file. Example: +// // Create a default Production object: +// Production handle = ProductionDefault(); +// Functions involving Production are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_PRODUCTION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_PRODUCTION + +#include "GNDStk.h" +#include "v2.0/transport/CrossSection.h" +#include "v2.0/transport/OutputChannel.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProductionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Production +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProductionClass *Production; + +// --- Const-aware handles. +typedef const struct ProductionClass *const ConstHandle2ConstProduction; +typedef struct ProductionClass *const ConstHandle2Production; +typedef const struct ProductionClass * Handle2ConstProduction; +typedef struct ProductionClass * Handle2Production; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProduction +ProductionDefaultConst(); + +// +++ Create, default +extern_c Handle2Production +ProductionDefault(); + +// --- Create, general, const +extern_c Handle2ConstProduction +ProductionCreateConst( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Create, general +extern_c Handle2Production +ProductionCreate( + const Integer32 ENDF_MT, + const XMLName label, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProductionAssign(ConstHandle2Production This, ConstHandle2ConstProduction from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProductionDelete(ConstHandle2ConstProduction This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProductionRead(ConstHandle2Production This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProductionWrite(ConstHandle2ConstProduction This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProductionPrint(ConstHandle2ConstProduction This); + +// +++ Print to standard output, as XML +extern_c int +ProductionPrintXML(ConstHandle2ConstProduction This); + +// +++ Print to standard output, as JSON +extern_c int +ProductionPrintJSON(ConstHandle2ConstProduction This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductionENDFMTHas(ConstHandle2ConstProduction This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ProductionENDFMTGet(ConstHandle2ConstProduction This); + +// +++ Set +extern_c void +ProductionENDFMTSet(ConstHandle2Production This, const Integer32 ENDF_MT); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductionLabelHas(ConstHandle2ConstProduction This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ProductionLabelGet(ConstHandle2ConstProduction This); + +// +++ Set +extern_c void +ProductionLabelSet(ConstHandle2Production This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductionCrossSectionHas(ConstHandle2ConstProduction This); + +// --- Get, const +extern_c Handle2ConstCrossSection +ProductionCrossSectionGetConst(ConstHandle2ConstProduction This); + +// +++ Get, non-const +extern_c Handle2CrossSection +ProductionCrossSectionGet(ConstHandle2Production This); + +// +++ Set +extern_c void +ProductionCrossSectionSet(ConstHandle2Production This, ConstHandle2ConstCrossSection crossSection); + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductionOutputChannelHas(ConstHandle2ConstProduction This); + +// --- Get, const +extern_c Handle2ConstOutputChannel +ProductionOutputChannelGetConst(ConstHandle2ConstProduction This); + +// +++ Get, non-const +extern_c Handle2OutputChannel +ProductionOutputChannelGet(ConstHandle2Production This); + +// +++ Set +extern_c void +ProductionOutputChannelSet(ConstHandle2Production This, ConstHandle2ConstOutputChannel outputChannel); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.cpp new file mode 100644 index 000000000..02bfc9356 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Productions.hpp" +#include "Productions.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ProductionsClass; +using CPP = multigroup::Productions; + +static const std::string CLASSNAME = "Productions"; + +namespace extract { + static auto production = [](auto &obj) { return &obj.production; }; +} + +using CPPProduction = transport::Production; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstProductions +ProductionsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Productions +ProductionsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstProductions +ProductionsCreateConst( + ConstHandle2ConstProduction production +) { + ConstHandle2Productions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(production) + ); + return handle; +} + +// Create, general +Handle2Productions +ProductionsCreate( + ConstHandle2ConstProduction production +) { + ConstHandle2Productions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(production) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ProductionsAssign(ConstHandle2Productions This, ConstHandle2ConstProductions from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ProductionsDelete(ConstHandle2ConstProductions This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ProductionsRead(ConstHandle2Productions This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ProductionsWrite(ConstHandle2ConstProductions This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ProductionsPrint(ConstHandle2ConstProductions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ProductionsPrintXML(ConstHandle2ConstProductions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ProductionsPrintJSON(ConstHandle2ConstProductions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: production +// ----------------------------------------------------------------------------- + +// Has +int +ProductionsProductionHas(ConstHandle2ConstProductions This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductionHas", This, extract::production); +} + +// Get, const +Handle2ConstProduction +ProductionsProductionGetConst(ConstHandle2ConstProductions This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductionGetConst", This, extract::production); +} + +// Get, non-const +Handle2Production +ProductionsProductionGet(ConstHandle2Productions This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductionGet", This, extract::production); +} + +// Set +void +ProductionsProductionSet(ConstHandle2Productions This, ConstHandle2ConstProduction production) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductionSet", This, extract::production, production); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.h new file mode 100644 index 000000000..4893b4e23 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Productions is the basic handle type in this file. Example: +// // Create a default Productions object: +// Productions handle = ProductionsDefault(); +// Functions involving Productions are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_PRODUCTIONS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_PRODUCTIONS + +#include "GNDStk.h" +#include "v2.0/transport/Production.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ProductionsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Productions +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ProductionsClass *Productions; + +// --- Const-aware handles. +typedef const struct ProductionsClass *const ConstHandle2ConstProductions; +typedef struct ProductionsClass *const ConstHandle2Productions; +typedef const struct ProductionsClass * Handle2ConstProductions; +typedef struct ProductionsClass * Handle2Productions; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstProductions +ProductionsDefaultConst(); + +// +++ Create, default +extern_c Handle2Productions +ProductionsDefault(); + +// --- Create, general, const +extern_c Handle2ConstProductions +ProductionsCreateConst( + ConstHandle2ConstProduction production +); + +// +++ Create, general +extern_c Handle2Productions +ProductionsCreate( + ConstHandle2ConstProduction production +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ProductionsAssign(ConstHandle2Productions This, ConstHandle2ConstProductions from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ProductionsDelete(ConstHandle2ConstProductions This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ProductionsRead(ConstHandle2Productions This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ProductionsWrite(ConstHandle2ConstProductions This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ProductionsPrint(ConstHandle2ConstProductions This); + +// +++ Print to standard output, as XML +extern_c int +ProductionsPrintXML(ConstHandle2ConstProductions This); + +// +++ Print to standard output, as JSON +extern_c int +ProductionsPrintJSON(ConstHandle2ConstProductions This); + + +// ----------------------------------------------------------------------------- +// Child: production +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ProductionsProductionHas(ConstHandle2ConstProductions This); + +// --- Get, const +extern_c Handle2ConstProduction +ProductionsProductionGetConst(ConstHandle2ConstProductions This); + +// +++ Get, non-const +extern_c Handle2Production +ProductionsProductionGet(ConstHandle2Productions This); + +// +++ Set +extern_c void +ProductionsProductionSet(ConstHandle2Productions This, ConstHandle2ConstProduction production); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp new file mode 100644 index 000000000..3ede49f86 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/R.hpp" +#include "R.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RClass; +using CPP = multigroup::R; + +static const std::string CLASSNAME = "R"; + +namespace extract { +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstR +RDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2R +RDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstR +RCreateConst( +) { + ConstHandle2R handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2R +RCreate( +) { + ConstHandle2R handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RAssign(ConstHandle2R This, ConstHandle2ConstR from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RDelete(ConstHandle2ConstR This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RRead(ConstHandle2R This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RWrite(ConstHandle2ConstR This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RPrint(ConstHandle2ConstR This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RPrintXML(ConstHandle2ConstR This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RPrintJSON(ConstHandle2ConstR This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/R.h b/standards/gnds-2.0/try/c/src/v2.0/transport/R.h new file mode 100644 index 000000000..30fef9cc0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/R.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// R is the basic handle type in this file. Example: +// // Create a default R object: +// R handle = RDefault(); +// Functions involving R are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_R +#define C_INTERFACE_TRY_V2_0_TRANSPORT_R + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ R +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RClass *R; + +// --- Const-aware handles. +typedef const struct RClass *const ConstHandle2ConstR; +typedef struct RClass *const ConstHandle2R; +typedef const struct RClass * Handle2ConstR; +typedef struct RClass * Handle2R; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstR +RDefaultConst(); + +// +++ Create, default +extern_c Handle2R +RDefault(); + +// --- Create, general, const +extern_c Handle2ConstR +RCreateConst( +); + +// +++ Create, general +extern_c Handle2R +RCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RAssign(ConstHandle2R This, ConstHandle2ConstR from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RDelete(ConstHandle2ConstR This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RRead(ConstHandle2R This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RWrite(ConstHandle2ConstR This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RPrint(ConstHandle2ConstR This); + +// +++ Print to standard output, as XML +extern_c int +RPrintXML(ConstHandle2ConstR This); + +// +++ Print to standard output, as JSON +extern_c int +RPrintJSON(ConstHandle2ConstR This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.cpp new file mode 100644 index 000000000..941948bd3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.cpp @@ -0,0 +1,365 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Reaction.hpp" +#include "Reaction.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ReactionClass; +using CPP = multigroup::Reaction; + +static const std::string CLASSNAME = "Reaction"; + +namespace extract { + static auto ENDF_MT = [](auto &obj) { return &obj.ENDF_MT; }; + static auto fissionGenre = [](auto &obj) { return &obj.fissionGenre; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto doubleDifferentialCrossSection = [](auto &obj) { return &obj.doubleDifferentialCrossSection; }; + static auto crossSection = [](auto &obj) { return &obj.crossSection; }; + static auto outputChannel = [](auto &obj) { return &obj.outputChannel; }; +} + +using CPPDoubleDifferentialCrossSection = transport::DoubleDifferentialCrossSection; +using CPPCrossSection = transport::CrossSection; +using CPPOutputChannel = transport::OutputChannel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstReaction +ReactionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Reaction +ReactionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstReaction +ReactionCreateConst( + const Integer32 ENDF_MT, + const XMLName fissionGenre, + const XMLName label, + ConstHandle2ConstDoubleDifferentialCrossSection doubleDifferentialCrossSection, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2Reaction handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + ENDF_MT, + fissionGenre, + label, + detail::tocpp(doubleDifferentialCrossSection), + detail::tocpp(crossSection), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Create, general +Handle2Reaction +ReactionCreate( + const Integer32 ENDF_MT, + const XMLName fissionGenre, + const XMLName label, + ConstHandle2ConstDoubleDifferentialCrossSection doubleDifferentialCrossSection, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +) { + ConstHandle2Reaction handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + ENDF_MT, + fissionGenre, + label, + detail::tocpp(doubleDifferentialCrossSection), + detail::tocpp(crossSection), + detail::tocpp(outputChannel) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ReactionAssign(ConstHandle2Reaction This, ConstHandle2ConstReaction from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ReactionDelete(ConstHandle2ConstReaction This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ReactionRead(ConstHandle2Reaction This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ReactionWrite(ConstHandle2ConstReaction This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ReactionPrint(ConstHandle2ConstReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ReactionPrintXML(ConstHandle2ConstReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ReactionPrintJSON(ConstHandle2ConstReaction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// Has +int +ReactionENDFMTHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ENDFMTHas", This, extract::ENDF_MT); +} + +// Get +// Returns by value +Integer32 +ReactionENDFMTGet(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ENDFMTGet", This, extract::ENDF_MT); +} + +// Set +void +ReactionENDFMTSet(ConstHandle2Reaction This, const Integer32 ENDF_MT) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ENDFMTSet", This, extract::ENDF_MT, ENDF_MT); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: fissionGenre +// ----------------------------------------------------------------------------- + +// Has +int +ReactionFissionGenreHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionGenreHas", This, extract::fissionGenre); +} + +// Get +// Returns by value +XMLName +ReactionFissionGenreGet(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionGenreGet", This, extract::fissionGenre); +} + +// Set +void +ReactionFissionGenreSet(ConstHandle2Reaction This, const XMLName fissionGenre) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FissionGenreSet", This, extract::fissionGenre, fissionGenre); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ReactionLabelHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ReactionLabelGet(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ReactionLabelSet(ConstHandle2Reaction This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: doubleDifferentialCrossSection +// ----------------------------------------------------------------------------- + +// Has +int +ReactionDoubleDifferentialCrossSectionHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleDifferentialCrossSectionHas", This, extract::doubleDifferentialCrossSection); +} + +// Get, const +Handle2ConstDoubleDifferentialCrossSection +ReactionDoubleDifferentialCrossSectionGetConst(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleDifferentialCrossSectionGetConst", This, extract::doubleDifferentialCrossSection); +} + +// Get, non-const +Handle2DoubleDifferentialCrossSection +ReactionDoubleDifferentialCrossSectionGet(ConstHandle2Reaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleDifferentialCrossSectionGet", This, extract::doubleDifferentialCrossSection); +} + +// Set +void +ReactionDoubleDifferentialCrossSectionSet(ConstHandle2Reaction This, ConstHandle2ConstDoubleDifferentialCrossSection doubleDifferentialCrossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleDifferentialCrossSectionSet", This, extract::doubleDifferentialCrossSection, doubleDifferentialCrossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// Has +int +ReactionCrossSectionHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionHas", This, extract::crossSection); +} + +// Get, const +Handle2ConstCrossSection +ReactionCrossSectionGetConst(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGetConst", This, extract::crossSection); +} + +// Get, non-const +Handle2CrossSection +ReactionCrossSectionGet(ConstHandle2Reaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionGet", This, extract::crossSection); +} + +// Set +void +ReactionCrossSectionSet(ConstHandle2Reaction This, ConstHandle2ConstCrossSection crossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossSectionSet", This, extract::crossSection, crossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// Has +int +ReactionOutputChannelHas(ConstHandle2ConstReaction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OutputChannelHas", This, extract::outputChannel); +} + +// Get, const +Handle2ConstOutputChannel +ReactionOutputChannelGetConst(ConstHandle2ConstReaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGetConst", This, extract::outputChannel); +} + +// Get, non-const +Handle2OutputChannel +ReactionOutputChannelGet(ConstHandle2Reaction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OutputChannelGet", This, extract::outputChannel); +} + +// Set +void +ReactionOutputChannelSet(ConstHandle2Reaction This, ConstHandle2ConstOutputChannel outputChannel) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OutputChannelSet", This, extract::outputChannel, outputChannel); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.h new file mode 100644 index 000000000..a6d7c2708 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.h @@ -0,0 +1,267 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Reaction is the basic handle type in this file. Example: +// // Create a default Reaction object: +// Reaction handle = ReactionDefault(); +// Functions involving Reaction are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_REACTION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_REACTION + +#include "GNDStk.h" +#include "v2.0/transport/DoubleDifferentialCrossSection.h" +#include "v2.0/transport/CrossSection.h" +#include "v2.0/transport/OutputChannel.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ReactionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Reaction +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ReactionClass *Reaction; + +// --- Const-aware handles. +typedef const struct ReactionClass *const ConstHandle2ConstReaction; +typedef struct ReactionClass *const ConstHandle2Reaction; +typedef const struct ReactionClass * Handle2ConstReaction; +typedef struct ReactionClass * Handle2Reaction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstReaction +ReactionDefaultConst(); + +// +++ Create, default +extern_c Handle2Reaction +ReactionDefault(); + +// --- Create, general, const +extern_c Handle2ConstReaction +ReactionCreateConst( + const Integer32 ENDF_MT, + const XMLName fissionGenre, + const XMLName label, + ConstHandle2ConstDoubleDifferentialCrossSection doubleDifferentialCrossSection, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Create, general +extern_c Handle2Reaction +ReactionCreate( + const Integer32 ENDF_MT, + const XMLName fissionGenre, + const XMLName label, + ConstHandle2ConstDoubleDifferentialCrossSection doubleDifferentialCrossSection, + ConstHandle2ConstCrossSection crossSection, + ConstHandle2ConstOutputChannel outputChannel +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ReactionAssign(ConstHandle2Reaction This, ConstHandle2ConstReaction from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ReactionDelete(ConstHandle2ConstReaction This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ReactionRead(ConstHandle2Reaction This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ReactionWrite(ConstHandle2ConstReaction This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ReactionPrint(ConstHandle2ConstReaction This); + +// +++ Print to standard output, as XML +extern_c int +ReactionPrintXML(ConstHandle2ConstReaction This); + +// +++ Print to standard output, as JSON +extern_c int +ReactionPrintJSON(ConstHandle2ConstReaction This); + + +// ----------------------------------------------------------------------------- +// Metadatum: ENDF_MT +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionENDFMTHas(ConstHandle2ConstReaction This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ReactionENDFMTGet(ConstHandle2ConstReaction This); + +// +++ Set +extern_c void +ReactionENDFMTSet(ConstHandle2Reaction This, const Integer32 ENDF_MT); + + +// ----------------------------------------------------------------------------- +// Metadatum: fissionGenre +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionFissionGenreHas(ConstHandle2ConstReaction This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ReactionFissionGenreGet(ConstHandle2ConstReaction This); + +// +++ Set +extern_c void +ReactionFissionGenreSet(ConstHandle2Reaction This, const XMLName fissionGenre); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionLabelHas(ConstHandle2ConstReaction This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ReactionLabelGet(ConstHandle2ConstReaction This); + +// +++ Set +extern_c void +ReactionLabelSet(ConstHandle2Reaction This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: doubleDifferentialCrossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionDoubleDifferentialCrossSectionHas(ConstHandle2ConstReaction This); + +// --- Get, const +extern_c Handle2ConstDoubleDifferentialCrossSection +ReactionDoubleDifferentialCrossSectionGetConst(ConstHandle2ConstReaction This); + +// +++ Get, non-const +extern_c Handle2DoubleDifferentialCrossSection +ReactionDoubleDifferentialCrossSectionGet(ConstHandle2Reaction This); + +// +++ Set +extern_c void +ReactionDoubleDifferentialCrossSectionSet(ConstHandle2Reaction This, ConstHandle2ConstDoubleDifferentialCrossSection doubleDifferentialCrossSection); + + +// ----------------------------------------------------------------------------- +// Child: crossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionCrossSectionHas(ConstHandle2ConstReaction This); + +// --- Get, const +extern_c Handle2ConstCrossSection +ReactionCrossSectionGetConst(ConstHandle2ConstReaction This); + +// +++ Get, non-const +extern_c Handle2CrossSection +ReactionCrossSectionGet(ConstHandle2Reaction This); + +// +++ Set +extern_c void +ReactionCrossSectionSet(ConstHandle2Reaction This, ConstHandle2ConstCrossSection crossSection); + + +// ----------------------------------------------------------------------------- +// Child: outputChannel +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionOutputChannelHas(ConstHandle2ConstReaction This); + +// --- Get, const +extern_c Handle2ConstOutputChannel +ReactionOutputChannelGetConst(ConstHandle2ConstReaction This); + +// +++ Get, non-const +extern_c Handle2OutputChannel +ReactionOutputChannelGet(ConstHandle2Reaction This); + +// +++ Set +extern_c void +ReactionOutputChannelSet(ConstHandle2Reaction This, ConstHandle2ConstOutputChannel outputChannel); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp new file mode 100644 index 000000000..23e378bfb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp @@ -0,0 +1,814 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/ReactionSuite.hpp" +#include "ReactionSuite.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ReactionSuiteClass; +using CPP = multigroup::ReactionSuite; + +static const std::string CLASSNAME = "ReactionSuite"; + +namespace extract { + static auto evaluation = [](auto &obj) { return &obj.evaluation; }; + static auto format = [](auto &obj) { return &obj.format; }; + static auto projectile = [](auto &obj) { return &obj.projectile; }; + static auto projectileFrame = [](auto &obj) { return &obj.projectileFrame; }; + static auto target = [](auto &obj) { return &obj.target; }; + static auto interaction = [](auto &obj) { return &obj.interaction; }; + static auto externalFiles = [](auto &obj) { return &obj.externalFiles; }; + static auto styles = [](auto &obj) { return &obj.styles; }; + static auto PoPs = [](auto &obj) { return &obj.PoPs; }; + static auto resonances = [](auto &obj) { return &obj.resonances; }; + static auto reactions = [](auto &obj) { return &obj.reactions; }; + static auto orphanProducts = [](auto &obj) { return &obj.orphanProducts; }; + static auto sums = [](auto &obj) { return &obj.sums; }; + static auto fissionComponents = [](auto &obj) { return &obj.fissionComponents; }; + static auto productions = [](auto &obj) { return &obj.productions; }; + static auto incompleteReactions = [](auto &obj) { return &obj.incompleteReactions; }; + static auto applicationData = [](auto &obj) { return &obj.applicationData; }; +} + +using CPPExternalFiles = common::ExternalFiles; +using CPPStyles = styles::Styles; +using CPPPoPs = unknownNamespace::PoPs; +using CPPResonances = resonances::Resonances; +using CPPReactions = transport::Reactions; +using CPPOrphanProducts = transport::OrphanProducts; +using CPPSums = transport::Sums; +using CPPFissionComponents = fissionTransport::FissionComponents; +using CPPProductions = transport::Productions; +using CPPIncompleteReactions = transport::IncompleteReactions; +using CPPApplicationData = appData::ApplicationData; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstReactionSuite +ReactionSuiteDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ReactionSuite +ReactionSuiteDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstReactionSuite +ReactionSuiteCreateConst( + const XMLName evaluation, + const XMLName format, + const XMLName projectile, + const enums::Frame projectileFrame, + const XMLName target, + const enums::Interaction interaction, + ConstHandle2ConstExternalFiles externalFiles, + ConstHandle2ConstStyles styles, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstResonances resonances, + ConstHandle2ConstReactions reactions, + ConstHandle2ConstOrphanProducts orphanProducts, + ConstHandle2ConstSums sums, + ConstHandle2ConstFissionComponents fissionComponents, + ConstHandle2ConstProductions productions, + ConstHandle2ConstIncompleteReactions incompleteReactions, + ConstHandle2ConstApplicationData applicationData +) { + ConstHandle2ReactionSuite handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + evaluation, + format, + projectile, + projectileFrame, + target, + interaction, + detail::tocpp(externalFiles), + detail::tocpp(styles), + detail::tocpp(PoPs), + detail::tocpp(resonances), + detail::tocpp(reactions), + detail::tocpp(orphanProducts), + detail::tocpp(sums), + detail::tocpp(fissionComponents), + detail::tocpp(productions), + detail::tocpp(incompleteReactions), + detail::tocpp(applicationData) + ); + return handle; +} + +// Create, general +Handle2ReactionSuite +ReactionSuiteCreate( + const XMLName evaluation, + const XMLName format, + const XMLName projectile, + const enums::Frame projectileFrame, + const XMLName target, + const enums::Interaction interaction, + ConstHandle2ConstExternalFiles externalFiles, + ConstHandle2ConstStyles styles, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstResonances resonances, + ConstHandle2ConstReactions reactions, + ConstHandle2ConstOrphanProducts orphanProducts, + ConstHandle2ConstSums sums, + ConstHandle2ConstFissionComponents fissionComponents, + ConstHandle2ConstProductions productions, + ConstHandle2ConstIncompleteReactions incompleteReactions, + ConstHandle2ConstApplicationData applicationData +) { + ConstHandle2ReactionSuite handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + evaluation, + format, + projectile, + projectileFrame, + target, + interaction, + detail::tocpp(externalFiles), + detail::tocpp(styles), + detail::tocpp(PoPs), + detail::tocpp(resonances), + detail::tocpp(reactions), + detail::tocpp(orphanProducts), + detail::tocpp(sums), + detail::tocpp(fissionComponents), + detail::tocpp(productions), + detail::tocpp(incompleteReactions), + detail::tocpp(applicationData) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ReactionSuiteAssign(ConstHandle2ReactionSuite This, ConstHandle2ConstReactionSuite from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ReactionSuiteDelete(ConstHandle2ConstReactionSuite This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ReactionSuiteRead(ConstHandle2ReactionSuite This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ReactionSuiteWrite(ConstHandle2ConstReactionSuite This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ReactionSuitePrint(ConstHandle2ConstReactionSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ReactionSuitePrintXML(ConstHandle2ConstReactionSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ReactionSuitePrintJSON(ConstHandle2ConstReactionSuite This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteEvaluationHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaluationHas", This, extract::evaluation); +} + +// Get +// Returns by value +XMLName +ReactionSuiteEvaluationGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaluationGet", This, extract::evaluation); +} + +// Set +void +ReactionSuiteEvaluationSet(ConstHandle2ReactionSuite This, const XMLName evaluation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EvaluationSet", This, extract::evaluation, evaluation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteFormatHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FormatHas", This, extract::format); +} + +// Get +// Returns by value +XMLName +ReactionSuiteFormatGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FormatGet", This, extract::format); +} + +// Set +void +ReactionSuiteFormatSet(ConstHandle2ReactionSuite This, const XMLName format) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FormatSet", This, extract::format, format); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteProjectileHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileHas", This, extract::projectile); +} + +// Get +// Returns by value +XMLName +ReactionSuiteProjectileGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileGet", This, extract::projectile); +} + +// Set +void +ReactionSuiteProjectileSet(ConstHandle2ReactionSuite This, const XMLName projectile) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProjectileSet", This, extract::projectile, projectile); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: projectileFrame +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteProjectileFrameHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProjectileFrameHas", This, extract::projectileFrame); +} + +// Get +// Returns by value +enums::Frame +ReactionSuiteProjectileFrameGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProjectileFrameGet", This, extract::projectileFrame); +} + +// Set +void +ReactionSuiteProjectileFrameSet(ConstHandle2ReactionSuite This, const enums::Frame projectileFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProjectileFrameSet", This, extract::projectileFrame, projectileFrame); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteTargetHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TargetHas", This, extract::target); +} + +// Get +// Returns by value +XMLName +ReactionSuiteTargetGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TargetGet", This, extract::target); +} + +// Set +void +ReactionSuiteTargetSet(ConstHandle2ReactionSuite This, const XMLName target) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TargetSet", This, extract::target, target); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteInteractionHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InteractionHas", This, extract::interaction); +} + +// Get +// Returns by value +enums::Interaction +ReactionSuiteInteractionGet(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InteractionGet", This, extract::interaction); +} + +// Set +void +ReactionSuiteInteractionSet(ConstHandle2ReactionSuite This, const enums::Interaction interaction) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InteractionSet", This, extract::interaction, interaction); +} + + +// ----------------------------------------------------------------------------- +// Child: externalFiles +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteExternalFilesHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ExternalFilesHas", This, extract::externalFiles); +} + +// Get, const +Handle2ConstExternalFiles +ReactionSuiteExternalFilesGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExternalFilesGetConst", This, extract::externalFiles); +} + +// Get, non-const +Handle2ExternalFiles +ReactionSuiteExternalFilesGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ExternalFilesGet", This, extract::externalFiles); +} + +// Set +void +ReactionSuiteExternalFilesSet(ConstHandle2ReactionSuite This, ConstHandle2ConstExternalFiles externalFiles) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ExternalFilesSet", This, extract::externalFiles, externalFiles); +} + + +// ----------------------------------------------------------------------------- +// Child: styles +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteStylesHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StylesHas", This, extract::styles); +} + +// Get, const +Handle2ConstStyles +ReactionSuiteStylesGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StylesGetConst", This, extract::styles); +} + +// Get, non-const +Handle2Styles +ReactionSuiteStylesGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StylesGet", This, extract::styles); +} + +// Set +void +ReactionSuiteStylesSet(ConstHandle2ReactionSuite This, ConstHandle2ConstStyles styles) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StylesSet", This, extract::styles, styles); +} + + +// ----------------------------------------------------------------------------- +// Child: PoPs +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuitePoPsHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PoPsHas", This, extract::PoPs); +} + +// Get, const +Handle2ConstPoPs +ReactionSuitePoPsGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PoPsGetConst", This, extract::PoPs); +} + +// Get, non-const +Handle2PoPs +ReactionSuitePoPsGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PoPsGet", This, extract::PoPs); +} + +// Set +void +ReactionSuitePoPsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstPoPs PoPs) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PoPsSet", This, extract::PoPs, PoPs); +} + + +// ----------------------------------------------------------------------------- +// Child: resonances +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteResonancesHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonancesHas", This, extract::resonances); +} + +// Get, const +Handle2ConstResonances +ReactionSuiteResonancesGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonancesGetConst", This, extract::resonances); +} + +// Get, non-const +Handle2Resonances +ReactionSuiteResonancesGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonancesGet", This, extract::resonances); +} + +// Set +void +ReactionSuiteResonancesSet(ConstHandle2ReactionSuite This, ConstHandle2ConstResonances resonances) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResonancesSet", This, extract::resonances, resonances); +} + + +// ----------------------------------------------------------------------------- +// Child: reactions +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteReactionsHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ReactionsHas", This, extract::reactions); +} + +// Get, const +Handle2ConstReactions +ReactionSuiteReactionsGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ReactionsGetConst", This, extract::reactions); +} + +// Get, non-const +Handle2Reactions +ReactionSuiteReactionsGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ReactionsGet", This, extract::reactions); +} + +// Set +void +ReactionSuiteReactionsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstReactions reactions) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ReactionsSet", This, extract::reactions, reactions); +} + + +// ----------------------------------------------------------------------------- +// Child: orphanProducts +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteOrphanProductsHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OrphanProductsHas", This, extract::orphanProducts); +} + +// Get, const +Handle2ConstOrphanProducts +ReactionSuiteOrphanProductsGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OrphanProductsGetConst", This, extract::orphanProducts); +} + +// Get, non-const +Handle2OrphanProducts +ReactionSuiteOrphanProductsGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OrphanProductsGet", This, extract::orphanProducts); +} + +// Set +void +ReactionSuiteOrphanProductsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstOrphanProducts orphanProducts) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OrphanProductsSet", This, extract::orphanProducts, orphanProducts); +} + + +// ----------------------------------------------------------------------------- +// Child: sums +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteSumsHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SumsHas", This, extract::sums); +} + +// Get, const +Handle2ConstSums +ReactionSuiteSumsGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SumsGetConst", This, extract::sums); +} + +// Get, non-const +Handle2Sums +ReactionSuiteSumsGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SumsGet", This, extract::sums); +} + +// Set +void +ReactionSuiteSumsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstSums sums) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SumsSet", This, extract::sums, sums); +} + + +// ----------------------------------------------------------------------------- +// Child: fissionComponents +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteFissionComponentsHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FissionComponentsHas", This, extract::fissionComponents); +} + +// Get, const +Handle2ConstFissionComponents +ReactionSuiteFissionComponentsGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionComponentsGetConst", This, extract::fissionComponents); +} + +// Get, non-const +Handle2FissionComponents +ReactionSuiteFissionComponentsGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FissionComponentsGet", This, extract::fissionComponents); +} + +// Set +void +ReactionSuiteFissionComponentsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstFissionComponents fissionComponents) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FissionComponentsSet", This, extract::fissionComponents, fissionComponents); +} + + +// ----------------------------------------------------------------------------- +// Child: productions +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteProductionsHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductionsHas", This, extract::productions); +} + +// Get, const +Handle2ConstProductions +ReactionSuiteProductionsGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductionsGetConst", This, extract::productions); +} + +// Get, non-const +Handle2Productions +ReactionSuiteProductionsGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductionsGet", This, extract::productions); +} + +// Set +void +ReactionSuiteProductionsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstProductions productions) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductionsSet", This, extract::productions, productions); +} + + +// ----------------------------------------------------------------------------- +// Child: incompleteReactions +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteIncompleteReactionsHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IncompleteReactionsHas", This, extract::incompleteReactions); +} + +// Get, const +Handle2ConstIncompleteReactions +ReactionSuiteIncompleteReactionsGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IncompleteReactionsGetConst", This, extract::incompleteReactions); +} + +// Get, non-const +Handle2IncompleteReactions +ReactionSuiteIncompleteReactionsGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IncompleteReactionsGet", This, extract::incompleteReactions); +} + +// Set +void +ReactionSuiteIncompleteReactionsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstIncompleteReactions incompleteReactions) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IncompleteReactionsSet", This, extract::incompleteReactions, incompleteReactions); +} + + +// ----------------------------------------------------------------------------- +// Child: applicationData +// ----------------------------------------------------------------------------- + +// Has +int +ReactionSuiteApplicationDataHas(ConstHandle2ConstReactionSuite This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ApplicationDataHas", This, extract::applicationData); +} + +// Get, const +Handle2ConstApplicationData +ReactionSuiteApplicationDataGetConst(ConstHandle2ConstReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ApplicationDataGetConst", This, extract::applicationData); +} + +// Get, non-const +Handle2ApplicationData +ReactionSuiteApplicationDataGet(ConstHandle2ReactionSuite This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ApplicationDataGet", This, extract::applicationData); +} + +// Set +void +ReactionSuiteApplicationDataSet(ConstHandle2ReactionSuite This, ConstHandle2ConstApplicationData applicationData) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ApplicationDataSet", This, extract::applicationData, applicationData); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h b/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h new file mode 100644 index 000000000..69b8e97dc --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h @@ -0,0 +1,519 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ReactionSuite is the basic handle type in this file. Example: +// // Create a default ReactionSuite object: +// ReactionSuite handle = ReactionSuiteDefault(); +// Functions involving ReactionSuite are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_REACTIONSUITE +#define C_INTERFACE_TRY_V2_0_TRANSPORT_REACTIONSUITE + +#include "GNDStk.h" +#include "v2.0/common/ExternalFiles.h" +#include "v2.0/styles/Styles.h" +#include "v2.0/unknownNamespace/PoPs.h" +#include "v2.0/resonances/Resonances.h" +#include "v2.0/transport/Reactions.h" +#include "v2.0/transport/OrphanProducts.h" +#include "v2.0/transport/Sums.h" +#include "v2.0/fissionTransport/FissionComponents.h" +#include "v2.0/transport/Productions.h" +#include "v2.0/transport/IncompleteReactions.h" +#include "v2.0/appData/ApplicationData.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ReactionSuiteClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ReactionSuite +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ReactionSuiteClass *ReactionSuite; + +// --- Const-aware handles. +typedef const struct ReactionSuiteClass *const ConstHandle2ConstReactionSuite; +typedef struct ReactionSuiteClass *const ConstHandle2ReactionSuite; +typedef const struct ReactionSuiteClass * Handle2ConstReactionSuite; +typedef struct ReactionSuiteClass * Handle2ReactionSuite; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstReactionSuite +ReactionSuiteDefaultConst(); + +// +++ Create, default +extern_c Handle2ReactionSuite +ReactionSuiteDefault(); + +// --- Create, general, const +extern_c Handle2ConstReactionSuite +ReactionSuiteCreateConst( + const XMLName evaluation, + const XMLName format, + const XMLName projectile, + const enums::Frame projectileFrame, + const XMLName target, + const enums::Interaction interaction, + ConstHandle2ConstExternalFiles externalFiles, + ConstHandle2ConstStyles styles, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstResonances resonances, + ConstHandle2ConstReactions reactions, + ConstHandle2ConstOrphanProducts orphanProducts, + ConstHandle2ConstSums sums, + ConstHandle2ConstFissionComponents fissionComponents, + ConstHandle2ConstProductions productions, + ConstHandle2ConstIncompleteReactions incompleteReactions, + ConstHandle2ConstApplicationData applicationData +); + +// +++ Create, general +extern_c Handle2ReactionSuite +ReactionSuiteCreate( + const XMLName evaluation, + const XMLName format, + const XMLName projectile, + const enums::Frame projectileFrame, + const XMLName target, + const enums::Interaction interaction, + ConstHandle2ConstExternalFiles externalFiles, + ConstHandle2ConstStyles styles, + ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstResonances resonances, + ConstHandle2ConstReactions reactions, + ConstHandle2ConstOrphanProducts orphanProducts, + ConstHandle2ConstSums sums, + ConstHandle2ConstFissionComponents fissionComponents, + ConstHandle2ConstProductions productions, + ConstHandle2ConstIncompleteReactions incompleteReactions, + ConstHandle2ConstApplicationData applicationData +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ReactionSuiteAssign(ConstHandle2ReactionSuite This, ConstHandle2ConstReactionSuite from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ReactionSuiteDelete(ConstHandle2ConstReactionSuite This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ReactionSuiteRead(ConstHandle2ReactionSuite This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ReactionSuiteWrite(ConstHandle2ConstReactionSuite This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ReactionSuitePrint(ConstHandle2ConstReactionSuite This); + +// +++ Print to standard output, as XML +extern_c int +ReactionSuitePrintXML(ConstHandle2ConstReactionSuite This); + +// +++ Print to standard output, as JSON +extern_c int +ReactionSuitePrintJSON(ConstHandle2ConstReactionSuite This); + + +// ----------------------------------------------------------------------------- +// Metadatum: evaluation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteEvaluationHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ReactionSuiteEvaluationGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteEvaluationSet(ConstHandle2ReactionSuite This, const XMLName evaluation); + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteFormatHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ReactionSuiteFormatGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteFormatSet(ConstHandle2ReactionSuite This, const XMLName format); + + +// ----------------------------------------------------------------------------- +// Metadatum: projectile +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteProjectileHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ReactionSuiteProjectileGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteProjectileSet(ConstHandle2ReactionSuite This, const XMLName projectile); + + +// ----------------------------------------------------------------------------- +// Metadatum: projectileFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteProjectileFrameHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +ReactionSuiteProjectileFrameGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteProjectileFrameSet(ConstHandle2ReactionSuite This, const enums::Frame projectileFrame); + + +// ----------------------------------------------------------------------------- +// Metadatum: target +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteTargetHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ReactionSuiteTargetGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteTargetSet(ConstHandle2ReactionSuite This, const XMLName target); + + +// ----------------------------------------------------------------------------- +// Metadatum: interaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteInteractionHas(ConstHandle2ConstReactionSuite This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interaction +ReactionSuiteInteractionGet(ConstHandle2ConstReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteInteractionSet(ConstHandle2ReactionSuite This, const enums::Interaction interaction); + + +// ----------------------------------------------------------------------------- +// Child: externalFiles +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteExternalFilesHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstExternalFiles +ReactionSuiteExternalFilesGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2ExternalFiles +ReactionSuiteExternalFilesGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteExternalFilesSet(ConstHandle2ReactionSuite This, ConstHandle2ConstExternalFiles externalFiles); + + +// ----------------------------------------------------------------------------- +// Child: styles +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteStylesHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstStyles +ReactionSuiteStylesGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2Styles +ReactionSuiteStylesGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteStylesSet(ConstHandle2ReactionSuite This, ConstHandle2ConstStyles styles); + + +// ----------------------------------------------------------------------------- +// Child: PoPs +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuitePoPsHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstPoPs +ReactionSuitePoPsGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2PoPs +ReactionSuitePoPsGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuitePoPsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstPoPs PoPs); + + +// ----------------------------------------------------------------------------- +// Child: resonances +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteResonancesHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstResonances +ReactionSuiteResonancesGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2Resonances +ReactionSuiteResonancesGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteResonancesSet(ConstHandle2ReactionSuite This, ConstHandle2ConstResonances resonances); + + +// ----------------------------------------------------------------------------- +// Child: reactions +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteReactionsHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstReactions +ReactionSuiteReactionsGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2Reactions +ReactionSuiteReactionsGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteReactionsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstReactions reactions); + + +// ----------------------------------------------------------------------------- +// Child: orphanProducts +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteOrphanProductsHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstOrphanProducts +ReactionSuiteOrphanProductsGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2OrphanProducts +ReactionSuiteOrphanProductsGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteOrphanProductsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstOrphanProducts orphanProducts); + + +// ----------------------------------------------------------------------------- +// Child: sums +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteSumsHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstSums +ReactionSuiteSumsGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2Sums +ReactionSuiteSumsGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteSumsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstSums sums); + + +// ----------------------------------------------------------------------------- +// Child: fissionComponents +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteFissionComponentsHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstFissionComponents +ReactionSuiteFissionComponentsGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2FissionComponents +ReactionSuiteFissionComponentsGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteFissionComponentsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstFissionComponents fissionComponents); + + +// ----------------------------------------------------------------------------- +// Child: productions +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteProductionsHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstProductions +ReactionSuiteProductionsGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2Productions +ReactionSuiteProductionsGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteProductionsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstProductions productions); + + +// ----------------------------------------------------------------------------- +// Child: incompleteReactions +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteIncompleteReactionsHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstIncompleteReactions +ReactionSuiteIncompleteReactionsGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2IncompleteReactions +ReactionSuiteIncompleteReactionsGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteIncompleteReactionsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstIncompleteReactions incompleteReactions); + + +// ----------------------------------------------------------------------------- +// Child: applicationData +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionSuiteApplicationDataHas(ConstHandle2ConstReactionSuite This); + +// --- Get, const +extern_c Handle2ConstApplicationData +ReactionSuiteApplicationDataGetConst(ConstHandle2ConstReactionSuite This); + +// +++ Get, non-const +extern_c Handle2ApplicationData +ReactionSuiteApplicationDataGet(ConstHandle2ReactionSuite This); + +// +++ Set +extern_c void +ReactionSuiteApplicationDataSet(ConstHandle2ReactionSuite This, ConstHandle2ConstApplicationData applicationData); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.cpp new file mode 100644 index 000000000..d0b258c4b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Reactions.hpp" +#include "Reactions.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ReactionsClass; +using CPP = multigroup::Reactions; + +static const std::string CLASSNAME = "Reactions"; + +namespace extract { + static auto reaction = [](auto &obj) { return &obj.reaction; }; +} + +using CPPReaction = transport::Reaction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstReactions +ReactionsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Reactions +ReactionsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstReactions +ReactionsCreateConst( + ConstHandle2Reaction *const reaction, const size_t reactionSize +) { + ConstHandle2Reactions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ReactionN = 0; ReactionN < reactionSize; ++ReactionN) + ReactionsReactionAdd(handle, reaction[ReactionN]); + return handle; +} + +// Create, general +Handle2Reactions +ReactionsCreate( + ConstHandle2Reaction *const reaction, const size_t reactionSize +) { + ConstHandle2Reactions handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ReactionN = 0; ReactionN < reactionSize; ++ReactionN) + ReactionsReactionAdd(handle, reaction[ReactionN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ReactionsAssign(ConstHandle2Reactions This, ConstHandle2ConstReactions from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ReactionsDelete(ConstHandle2ConstReactions This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ReactionsRead(ConstHandle2Reactions This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ReactionsWrite(ConstHandle2ConstReactions This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ReactionsPrint(ConstHandle2ConstReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ReactionsPrintXML(ConstHandle2ConstReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ReactionsPrintJSON(ConstHandle2ConstReactions This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: reaction +// ----------------------------------------------------------------------------- + +// Has +int +ReactionsReactionHas(ConstHandle2ConstReactions This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ReactionHas", This, extract::reaction); +} + +// Clear +void +ReactionsReactionClear(ConstHandle2Reactions This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ReactionClear", This, extract::reaction); +} + +// Size +size_t +ReactionsReactionSize(ConstHandle2ConstReactions This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ReactionSize", This, extract::reaction); +} + +// Add +void +ReactionsReactionAdd(ConstHandle2Reactions This, ConstHandle2ConstReaction reaction) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ReactionAdd", This, extract::reaction, reaction); +} + +// Get, by index \in [0,size), const +Handle2ConstReaction +ReactionsReactionGetConst(ConstHandle2ConstReactions This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ReactionGetConst", This, extract::reaction, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Reaction +ReactionsReactionGet(ConstHandle2Reactions This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ReactionGet", This, extract::reaction, index_); +} + +// Set, by index \in [0,size) +void +ReactionsReactionSet( + ConstHandle2Reactions This, + const size_t index_, + ConstHandle2ConstReaction reaction +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ReactionSet", This, extract::reaction, index_, reaction); +} + +// Has, by ENDF_MT +int +ReactionsReactionHasByENDFMT( + ConstHandle2ConstReactions This, + const Integer32 ENDF_MT +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ReactionHasByENDFMT", + This, extract::reaction, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, const +Handle2ConstReaction +ReactionsReactionGetByENDFMTConst( + ConstHandle2ConstReactions This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByENDFMTConst", + This, extract::reaction, meta::ENDF_MT, ENDF_MT); +} + +// Get, by ENDF_MT, non-const +Handle2Reaction +ReactionsReactionGetByENDFMT( + ConstHandle2Reactions This, + const Integer32 ENDF_MT +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByENDFMT", + This, extract::reaction, meta::ENDF_MT, ENDF_MT); +} + +// Set, by ENDF_MT +void +ReactionsReactionSetByENDFMT( + ConstHandle2Reactions This, + const Integer32 ENDF_MT, + ConstHandle2ConstReaction reaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ReactionSetByENDFMT", + This, extract::reaction, meta::ENDF_MT, ENDF_MT, reaction); +} + +// Has, by fissionGenre +int +ReactionsReactionHasByFissionGenre( + ConstHandle2ConstReactions This, + const XMLName fissionGenre +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ReactionHasByFissionGenre", + This, extract::reaction, meta::fissionGenre, fissionGenre); +} + +// Get, by fissionGenre, const +Handle2ConstReaction +ReactionsReactionGetByFissionGenreConst( + ConstHandle2ConstReactions This, + const XMLName fissionGenre +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByFissionGenreConst", + This, extract::reaction, meta::fissionGenre, fissionGenre); +} + +// Get, by fissionGenre, non-const +Handle2Reaction +ReactionsReactionGetByFissionGenre( + ConstHandle2Reactions This, + const XMLName fissionGenre +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByFissionGenre", + This, extract::reaction, meta::fissionGenre, fissionGenre); +} + +// Set, by fissionGenre +void +ReactionsReactionSetByFissionGenre( + ConstHandle2Reactions This, + const XMLName fissionGenre, + ConstHandle2ConstReaction reaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ReactionSetByFissionGenre", + This, extract::reaction, meta::fissionGenre, fissionGenre, reaction); +} + +// Has, by label +int +ReactionsReactionHasByLabel( + ConstHandle2ConstReactions This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ReactionHasByLabel", + This, extract::reaction, meta::label, label); +} + +// Get, by label, const +Handle2ConstReaction +ReactionsReactionGetByLabelConst( + ConstHandle2ConstReactions This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByLabelConst", + This, extract::reaction, meta::label, label); +} + +// Get, by label, non-const +Handle2Reaction +ReactionsReactionGetByLabel( + ConstHandle2Reactions This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ReactionGetByLabel", + This, extract::reaction, meta::label, label); +} + +// Set, by label +void +ReactionsReactionSetByLabel( + ConstHandle2Reactions This, + const XMLName label, + ConstHandle2ConstReaction reaction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ReactionSetByLabel", + This, extract::reaction, meta::label, label, reaction); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.h new file mode 100644 index 000000000..6ddf9db0a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Reactions is the basic handle type in this file. Example: +// // Create a default Reactions object: +// Reactions handle = ReactionsDefault(); +// Functions involving Reactions are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_REACTIONS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_REACTIONS + +#include "GNDStk.h" +#include "v2.0/transport/Reaction.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ReactionsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Reactions +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ReactionsClass *Reactions; + +// --- Const-aware handles. +typedef const struct ReactionsClass *const ConstHandle2ConstReactions; +typedef struct ReactionsClass *const ConstHandle2Reactions; +typedef const struct ReactionsClass * Handle2ConstReactions; +typedef struct ReactionsClass * Handle2Reactions; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstReactions +ReactionsDefaultConst(); + +// +++ Create, default +extern_c Handle2Reactions +ReactionsDefault(); + +// --- Create, general, const +extern_c Handle2ConstReactions +ReactionsCreateConst( + ConstHandle2Reaction *const reaction, const size_t reactionSize +); + +// +++ Create, general +extern_c Handle2Reactions +ReactionsCreate( + ConstHandle2Reaction *const reaction, const size_t reactionSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ReactionsAssign(ConstHandle2Reactions This, ConstHandle2ConstReactions from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ReactionsDelete(ConstHandle2ConstReactions This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ReactionsRead(ConstHandle2Reactions This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ReactionsWrite(ConstHandle2ConstReactions This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ReactionsPrint(ConstHandle2ConstReactions This); + +// +++ Print to standard output, as XML +extern_c int +ReactionsPrintXML(ConstHandle2ConstReactions This); + +// +++ Print to standard output, as JSON +extern_c int +ReactionsPrintJSON(ConstHandle2ConstReactions This); + + +// ----------------------------------------------------------------------------- +// Child: reaction +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReactionsReactionHas(ConstHandle2ConstReactions This); + +// +++ Clear +extern_c void +ReactionsReactionClear(ConstHandle2Reactions This); + +// +++ Size +extern_c size_t +ReactionsReactionSize(ConstHandle2ConstReactions This); + +// +++ Add +extern_c void +ReactionsReactionAdd(ConstHandle2Reactions This, ConstHandle2ConstReaction reaction); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstReaction +ReactionsReactionGetConst(ConstHandle2ConstReactions This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Reaction +ReactionsReactionGet(ConstHandle2Reactions This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ReactionsReactionSet( + ConstHandle2Reactions This, + const size_t index_, + ConstHandle2ConstReaction reaction +); + +// +++ Has, by ENDF_MT +extern_c int +ReactionsReactionHasByENDFMT( + ConstHandle2ConstReactions This, + const Integer32 ENDF_MT +); + +// --- Get, by ENDF_MT, const +extern_c Handle2ConstReaction +ReactionsReactionGetByENDFMTConst( + ConstHandle2ConstReactions This, + const Integer32 ENDF_MT +); + +// +++ Get, by ENDF_MT, non-const +extern_c Handle2Reaction +ReactionsReactionGetByENDFMT( + ConstHandle2Reactions This, + const Integer32 ENDF_MT +); + +// +++ Set, by ENDF_MT +extern_c void +ReactionsReactionSetByENDFMT( + ConstHandle2Reactions This, + const Integer32 ENDF_MT, + ConstHandle2ConstReaction reaction +); + +// +++ Has, by fissionGenre +extern_c int +ReactionsReactionHasByFissionGenre( + ConstHandle2ConstReactions This, + const XMLName fissionGenre +); + +// --- Get, by fissionGenre, const +extern_c Handle2ConstReaction +ReactionsReactionGetByFissionGenreConst( + ConstHandle2ConstReactions This, + const XMLName fissionGenre +); + +// +++ Get, by fissionGenre, non-const +extern_c Handle2Reaction +ReactionsReactionGetByFissionGenre( + ConstHandle2Reactions This, + const XMLName fissionGenre +); + +// +++ Set, by fissionGenre +extern_c void +ReactionsReactionSetByFissionGenre( + ConstHandle2Reactions This, + const XMLName fissionGenre, + ConstHandle2ConstReaction reaction +); + +// +++ Has, by label +extern_c int +ReactionsReactionHasByLabel( + ConstHandle2ConstReactions This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstReaction +ReactionsReactionGetByLabelConst( + ConstHandle2ConstReactions This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Reaction +ReactionsReactionGetByLabel( + ConstHandle2Reactions This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ReactionsReactionSetByLabel( + ConstHandle2Reactions This, + const XMLName label, + ConstHandle2ConstReaction reaction +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.cpp new file mode 100644 index 000000000..9994ffa77 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.cpp @@ -0,0 +1,165 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Recoil.hpp" +#include "Recoil.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = RecoilClass; +using CPP = multigroup::Recoil; + +static const std::string CLASSNAME = "Recoil"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRecoil +RecoilDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Recoil +RecoilDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRecoil +RecoilCreateConst( + const char *const href +) { + ConstHandle2Recoil handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href + ); + return handle; +} + +// Create, general +Handle2Recoil +RecoilCreate( + const char *const href +) { + ConstHandle2Recoil handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +RecoilAssign(ConstHandle2Recoil This, ConstHandle2ConstRecoil from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +RecoilDelete(ConstHandle2ConstRecoil This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +RecoilRead(ConstHandle2Recoil This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +RecoilWrite(ConstHandle2ConstRecoil This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +RecoilPrint(ConstHandle2ConstRecoil This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +RecoilPrintXML(ConstHandle2ConstRecoil This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +RecoilPrintJSON(ConstHandle2ConstRecoil This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +RecoilHrefHas(ConstHandle2ConstRecoil This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +RecoilHrefGet(ConstHandle2ConstRecoil This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +RecoilHrefSet(ConstHandle2Recoil This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.h new file mode 100644 index 000000000..d76fc17e5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.h @@ -0,0 +1,155 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Recoil is the basic handle type in this file. Example: +// // Create a default Recoil object: +// Recoil handle = RecoilDefault(); +// Functions involving Recoil are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_RECOIL +#define C_INTERFACE_TRY_V2_0_TRANSPORT_RECOIL + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct RecoilClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Recoil +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct RecoilClass *Recoil; + +// --- Const-aware handles. +typedef const struct RecoilClass *const ConstHandle2ConstRecoil; +typedef struct RecoilClass *const ConstHandle2Recoil; +typedef const struct RecoilClass * Handle2ConstRecoil; +typedef struct RecoilClass * Handle2Recoil; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRecoil +RecoilDefaultConst(); + +// +++ Create, default +extern_c Handle2Recoil +RecoilDefault(); + +// --- Create, general, const +extern_c Handle2ConstRecoil +RecoilCreateConst( + const char *const href +); + +// +++ Create, general +extern_c Handle2Recoil +RecoilCreate( + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +RecoilAssign(ConstHandle2Recoil This, ConstHandle2ConstRecoil from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +RecoilDelete(ConstHandle2ConstRecoil This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +RecoilRead(ConstHandle2Recoil This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +RecoilWrite(ConstHandle2ConstRecoil This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +RecoilPrint(ConstHandle2ConstRecoil This); + +// +++ Print to standard output, as XML +extern_c int +RecoilPrintXML(ConstHandle2ConstRecoil This); + +// +++ Print to standard output, as JSON +extern_c int +RecoilPrintJSON(ConstHandle2ConstRecoil This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +RecoilHrefHas(ConstHandle2ConstRecoil This); + +// +++ Get +// +++ Returns by value +extern_c const char * +RecoilHrefGet(ConstHandle2ConstRecoil This); + +// +++ Set +extern_c void +RecoilHrefSet(ConstHandle2Recoil This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.cpp new file mode 100644 index 000000000..257be5af6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Reference.hpp" +#include "Reference.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ReferenceClass; +using CPP = multigroup::Reference; + +static const std::string CLASSNAME = "Reference"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; + static auto label = [](auto &obj) { return &obj.label; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstReference +ReferenceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Reference +ReferenceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstReference +ReferenceCreateConst( + const char *const href, + const XMLName label +) { + ConstHandle2Reference handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href, + label + ); + return handle; +} + +// Create, general +Handle2Reference +ReferenceCreate( + const char *const href, + const XMLName label +) { + ConstHandle2Reference handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href, + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ReferenceAssign(ConstHandle2Reference This, ConstHandle2ConstReference from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ReferenceDelete(ConstHandle2ConstReference This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ReferenceRead(ConstHandle2Reference This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ReferenceWrite(ConstHandle2ConstReference This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ReferencePrint(ConstHandle2ConstReference This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ReferencePrintXML(ConstHandle2ConstReference This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ReferencePrintJSON(ConstHandle2ConstReference This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ReferenceHrefHas(ConstHandle2ConstReference This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +ReferenceHrefGet(ConstHandle2ConstReference This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ReferenceHrefSet(ConstHandle2Reference This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ReferenceLabelHas(ConstHandle2ConstReference This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ReferenceLabelGet(ConstHandle2ConstReference This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ReferenceLabelSet(ConstHandle2Reference This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.h new file mode 100644 index 000000000..3b8f88dd9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Reference is the basic handle type in this file. Example: +// // Create a default Reference object: +// Reference handle = ReferenceDefault(); +// Functions involving Reference are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_REFERENCE +#define C_INTERFACE_TRY_V2_0_TRANSPORT_REFERENCE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ReferenceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Reference +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ReferenceClass *Reference; + +// --- Const-aware handles. +typedef const struct ReferenceClass *const ConstHandle2ConstReference; +typedef struct ReferenceClass *const ConstHandle2Reference; +typedef const struct ReferenceClass * Handle2ConstReference; +typedef struct ReferenceClass * Handle2Reference; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstReference +ReferenceDefaultConst(); + +// +++ Create, default +extern_c Handle2Reference +ReferenceDefault(); + +// --- Create, general, const +extern_c Handle2ConstReference +ReferenceCreateConst( + const char *const href, + const XMLName label +); + +// +++ Create, general +extern_c Handle2Reference +ReferenceCreate( + const char *const href, + const XMLName label +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ReferenceAssign(ConstHandle2Reference This, ConstHandle2ConstReference from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ReferenceDelete(ConstHandle2ConstReference This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ReferenceRead(ConstHandle2Reference This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ReferenceWrite(ConstHandle2ConstReference This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ReferencePrint(ConstHandle2ConstReference This); + +// +++ Print to standard output, as XML +extern_c int +ReferencePrintXML(ConstHandle2ConstReference This); + +// +++ Print to standard output, as JSON +extern_c int +ReferencePrintJSON(ConstHandle2ConstReference This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReferenceHrefHas(ConstHandle2ConstReference This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ReferenceHrefGet(ConstHandle2ConstReference This); + +// +++ Set +extern_c void +ReferenceHrefSet(ConstHandle2Reference This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ReferenceLabelHas(ConstHandle2ConstReference This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ReferenceLabelGet(ConstHandle2ConstReference This); + +// +++ Set +extern_c void +ReferenceLabelSet(ConstHandle2Reference This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp new file mode 100644 index 000000000..41eddca40 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/ResolvedRegion.hpp" +#include "ResolvedRegion.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ResolvedRegionClass; +using CPP = multigroup::ResolvedRegion; + +static const std::string CLASSNAME = "ResolvedRegion"; + +namespace extract { +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstResolvedRegion +ResolvedRegionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ResolvedRegion +ResolvedRegionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstResolvedRegion +ResolvedRegionCreateConst( +) { + ConstHandle2ResolvedRegion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2ResolvedRegion +ResolvedRegionCreate( +) { + ConstHandle2ResolvedRegion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ResolvedRegionAssign(ConstHandle2ResolvedRegion This, ConstHandle2ConstResolvedRegion from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ResolvedRegionDelete(ConstHandle2ConstResolvedRegion This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ResolvedRegionRead(ConstHandle2ResolvedRegion This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ResolvedRegionWrite(ConstHandle2ConstResolvedRegion This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ResolvedRegionPrint(ConstHandle2ConstResolvedRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ResolvedRegionPrintXML(ConstHandle2ConstResolvedRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ResolvedRegionPrintJSON(ConstHandle2ConstResolvedRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h b/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h new file mode 100644 index 000000000..b6336761b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ResolvedRegion is the basic handle type in this file. Example: +// // Create a default ResolvedRegion object: +// ResolvedRegion handle = ResolvedRegionDefault(); +// Functions involving ResolvedRegion are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_RESOLVEDREGION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_RESOLVEDREGION + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ResolvedRegionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ResolvedRegion +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ResolvedRegionClass *ResolvedRegion; + +// --- Const-aware handles. +typedef const struct ResolvedRegionClass *const ConstHandle2ConstResolvedRegion; +typedef struct ResolvedRegionClass *const ConstHandle2ResolvedRegion; +typedef const struct ResolvedRegionClass * Handle2ConstResolvedRegion; +typedef struct ResolvedRegionClass * Handle2ResolvedRegion; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstResolvedRegion +ResolvedRegionDefaultConst(); + +// +++ Create, default +extern_c Handle2ResolvedRegion +ResolvedRegionDefault(); + +// --- Create, general, const +extern_c Handle2ConstResolvedRegion +ResolvedRegionCreateConst( +); + +// +++ Create, general +extern_c Handle2ResolvedRegion +ResolvedRegionCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ResolvedRegionAssign(ConstHandle2ResolvedRegion This, ConstHandle2ConstResolvedRegion from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ResolvedRegionDelete(ConstHandle2ConstResolvedRegion This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ResolvedRegionRead(ConstHandle2ResolvedRegion This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ResolvedRegionWrite(ConstHandle2ConstResolvedRegion This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ResolvedRegionPrint(ConstHandle2ConstResolvedRegion This); + +// +++ Print to standard output, as XML +extern_c int +ResolvedRegionPrintXML(ConstHandle2ConstResolvedRegion This); + +// +++ Print to standard output, as JSON +extern_c int +ResolvedRegionPrintJSON(ConstHandle2ConstResolvedRegion This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.cpp new file mode 100644 index 000000000..f1d315916 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/ResonancesLink.hpp" +#include "ResonancesLink.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ResonancesLinkClass; +using CPP = multigroup::ResonancesLink; + +static const std::string CLASSNAME = "ResonancesLink"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstResonancesLink +ResonancesLinkDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ResonancesLink +ResonancesLinkDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstResonancesLink +ResonancesLinkCreateConst( + const XMLName label, + const char *const href +) { + ConstHandle2ResonancesLink handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + href + ); + return handle; +} + +// Create, general +Handle2ResonancesLink +ResonancesLinkCreate( + const XMLName label, + const char *const href +) { + ConstHandle2ResonancesLink handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ResonancesLinkAssign(ConstHandle2ResonancesLink This, ConstHandle2ConstResonancesLink from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ResonancesLinkDelete(ConstHandle2ConstResonancesLink This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ResonancesLinkRead(ConstHandle2ResonancesLink This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ResonancesLinkWrite(ConstHandle2ConstResonancesLink This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ResonancesLinkPrint(ConstHandle2ConstResonancesLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ResonancesLinkPrintXML(ConstHandle2ConstResonancesLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ResonancesLinkPrintJSON(ConstHandle2ConstResonancesLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesLinkLabelHas(ConstHandle2ConstResonancesLink This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ResonancesLinkLabelGet(ConstHandle2ConstResonancesLink This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ResonancesLinkLabelSet(ConstHandle2ResonancesLink This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesLinkHrefHas(ConstHandle2ConstResonancesLink This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +ResonancesLinkHrefGet(ConstHandle2ConstResonancesLink This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ResonancesLinkHrefSet(ConstHandle2ResonancesLink This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.h b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.h new file mode 100644 index 000000000..1ab615f8c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ResonancesLink is the basic handle type in this file. Example: +// // Create a default ResonancesLink object: +// ResonancesLink handle = ResonancesLinkDefault(); +// Functions involving ResonancesLink are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_RESONANCESLINK +#define C_INTERFACE_TRY_V2_0_TRANSPORT_RESONANCESLINK + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ResonancesLinkClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ResonancesLink +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ResonancesLinkClass *ResonancesLink; + +// --- Const-aware handles. +typedef const struct ResonancesLinkClass *const ConstHandle2ConstResonancesLink; +typedef struct ResonancesLinkClass *const ConstHandle2ResonancesLink; +typedef const struct ResonancesLinkClass * Handle2ConstResonancesLink; +typedef struct ResonancesLinkClass * Handle2ResonancesLink; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstResonancesLink +ResonancesLinkDefaultConst(); + +// +++ Create, default +extern_c Handle2ResonancesLink +ResonancesLinkDefault(); + +// --- Create, general, const +extern_c Handle2ConstResonancesLink +ResonancesLinkCreateConst( + const XMLName label, + const char *const href +); + +// +++ Create, general +extern_c Handle2ResonancesLink +ResonancesLinkCreate( + const XMLName label, + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ResonancesLinkAssign(ConstHandle2ResonancesLink This, ConstHandle2ConstResonancesLink from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ResonancesLinkDelete(ConstHandle2ConstResonancesLink This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ResonancesLinkRead(ConstHandle2ResonancesLink This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ResonancesLinkWrite(ConstHandle2ConstResonancesLink This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ResonancesLinkPrint(ConstHandle2ConstResonancesLink This); + +// +++ Print to standard output, as XML +extern_c int +ResonancesLinkPrintXML(ConstHandle2ConstResonancesLink This); + +// +++ Print to standard output, as JSON +extern_c int +ResonancesLinkPrintJSON(ConstHandle2ConstResonancesLink This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesLinkLabelHas(ConstHandle2ConstResonancesLink This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ResonancesLinkLabelGet(ConstHandle2ConstResonancesLink This); + +// +++ Set +extern_c void +ResonancesLinkLabelSet(ConstHandle2ResonancesLink This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesLinkHrefHas(ConstHandle2ConstResonancesLink This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ResonancesLinkHrefGet(ConstHandle2ConstResonancesLink This); + +// +++ Set +extern_c void +ResonancesLinkHrefSet(ConstHandle2ResonancesLink This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp new file mode 100644 index 000000000..5d5ae8843 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/ResonancesWithBackground.hpp" +#include "ResonancesWithBackground.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ResonancesWithBackgroundClass; +using CPP = multigroup::ResonancesWithBackground; + +static const std::string CLASSNAME = "ResonancesWithBackground"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto resonances = [](auto &obj) { return &obj.resonances; }; + static auto background = [](auto &obj) { return &obj.background; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; +} + +using CPPResonancesLink = transport::ResonancesLink; +using CPPBackground = transport::Background; +using CPPUncertainty = pops::Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstResonancesWithBackground +ResonancesWithBackgroundDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ResonancesWithBackground +ResonancesWithBackgroundDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstResonancesWithBackground +ResonancesWithBackgroundCreateConst( + const XMLName label, + ConstHandle2ConstResonancesLink resonances, + ConstHandle2ConstBackground background, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2ResonancesWithBackground handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(resonances), + detail::tocpp(background), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Create, general +Handle2ResonancesWithBackground +ResonancesWithBackgroundCreate( + const XMLName label, + ConstHandle2ConstResonancesLink resonances, + ConstHandle2ConstBackground background, + ConstHandle2ConstUncertainty uncertainty +) { + ConstHandle2ResonancesWithBackground handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(resonances), + detail::tocpp(background), + detail::tocpp(uncertainty) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ResonancesWithBackgroundAssign(ConstHandle2ResonancesWithBackground This, ConstHandle2ConstResonancesWithBackground from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ResonancesWithBackgroundDelete(ConstHandle2ConstResonancesWithBackground This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ResonancesWithBackgroundRead(ConstHandle2ResonancesWithBackground This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ResonancesWithBackgroundWrite(ConstHandle2ConstResonancesWithBackground This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ResonancesWithBackgroundPrint(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ResonancesWithBackgroundPrintXML(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ResonancesWithBackgroundPrintJSON(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesWithBackgroundLabelHas(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ResonancesWithBackgroundLabelGet(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ResonancesWithBackgroundLabelSet(ConstHandle2ResonancesWithBackground This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: resonances +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesWithBackgroundResonancesLinkHas(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ResonancesLinkHas", This, extract::resonances); +} + +// Get, const +Handle2ConstResonancesLink +ResonancesWithBackgroundResonancesLinkGetConst(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonancesLinkGetConst", This, extract::resonances); +} + +// Get, non-const +Handle2ResonancesLink +ResonancesWithBackgroundResonancesLinkGet(ConstHandle2ResonancesWithBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ResonancesLinkGet", This, extract::resonances); +} + +// Set +void +ResonancesWithBackgroundResonancesLinkSet(ConstHandle2ResonancesWithBackground This, ConstHandle2ConstResonancesLink resonances) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ResonancesLinkSet", This, extract::resonances, resonances); +} + + +// ----------------------------------------------------------------------------- +// Child: background +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesWithBackgroundBackgroundHas(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BackgroundHas", This, extract::background); +} + +// Get, const +Handle2ConstBackground +ResonancesWithBackgroundBackgroundGetConst(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BackgroundGetConst", This, extract::background); +} + +// Get, non-const +Handle2Background +ResonancesWithBackgroundBackgroundGet(ConstHandle2ResonancesWithBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BackgroundGet", This, extract::background); +} + +// Set +void +ResonancesWithBackgroundBackgroundSet(ConstHandle2ResonancesWithBackground This, ConstHandle2ConstBackground background) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BackgroundSet", This, extract::background, background); +} + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +ResonancesWithBackgroundUncertaintyHas(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +ResonancesWithBackgroundUncertaintyGetConst(ConstHandle2ConstResonancesWithBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +ResonancesWithBackgroundUncertaintyGet(ConstHandle2ResonancesWithBackground This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +ResonancesWithBackgroundUncertaintySet(ConstHandle2ResonancesWithBackground This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h new file mode 100644 index 000000000..f9a9a504d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h @@ -0,0 +1,227 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ResonancesWithBackground is the basic handle type in this file. Example: +// // Create a default ResonancesWithBackground object: +// ResonancesWithBackground handle = ResonancesWithBackgroundDefault(); +// Functions involving ResonancesWithBackground are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND +#define C_INTERFACE_TRY_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND + +#include "GNDStk.h" +#include "v2.0/transport/ResonancesLink.h" +#include "v2.0/transport/Background.h" +#include "v2.0/pops/Uncertainty.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ResonancesWithBackgroundClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ResonancesWithBackground +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ResonancesWithBackgroundClass *ResonancesWithBackground; + +// --- Const-aware handles. +typedef const struct ResonancesWithBackgroundClass *const ConstHandle2ConstResonancesWithBackground; +typedef struct ResonancesWithBackgroundClass *const ConstHandle2ResonancesWithBackground; +typedef const struct ResonancesWithBackgroundClass * Handle2ConstResonancesWithBackground; +typedef struct ResonancesWithBackgroundClass * Handle2ResonancesWithBackground; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstResonancesWithBackground +ResonancesWithBackgroundDefaultConst(); + +// +++ Create, default +extern_c Handle2ResonancesWithBackground +ResonancesWithBackgroundDefault(); + +// --- Create, general, const +extern_c Handle2ConstResonancesWithBackground +ResonancesWithBackgroundCreateConst( + const XMLName label, + ConstHandle2ConstResonancesLink resonances, + ConstHandle2ConstBackground background, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Create, general +extern_c Handle2ResonancesWithBackground +ResonancesWithBackgroundCreate( + const XMLName label, + ConstHandle2ConstResonancesLink resonances, + ConstHandle2ConstBackground background, + ConstHandle2ConstUncertainty uncertainty +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ResonancesWithBackgroundAssign(ConstHandle2ResonancesWithBackground This, ConstHandle2ConstResonancesWithBackground from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ResonancesWithBackgroundDelete(ConstHandle2ConstResonancesWithBackground This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ResonancesWithBackgroundRead(ConstHandle2ResonancesWithBackground This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ResonancesWithBackgroundWrite(ConstHandle2ConstResonancesWithBackground This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ResonancesWithBackgroundPrint(ConstHandle2ConstResonancesWithBackground This); + +// +++ Print to standard output, as XML +extern_c int +ResonancesWithBackgroundPrintXML(ConstHandle2ConstResonancesWithBackground This); + +// +++ Print to standard output, as JSON +extern_c int +ResonancesWithBackgroundPrintJSON(ConstHandle2ConstResonancesWithBackground This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesWithBackgroundLabelHas(ConstHandle2ConstResonancesWithBackground This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ResonancesWithBackgroundLabelGet(ConstHandle2ConstResonancesWithBackground This); + +// +++ Set +extern_c void +ResonancesWithBackgroundLabelSet(ConstHandle2ResonancesWithBackground This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: resonances +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesWithBackgroundResonancesLinkHas(ConstHandle2ConstResonancesWithBackground This); + +// --- Get, const +extern_c Handle2ConstResonancesLink +ResonancesWithBackgroundResonancesLinkGetConst(ConstHandle2ConstResonancesWithBackground This); + +// +++ Get, non-const +extern_c Handle2ResonancesLink +ResonancesWithBackgroundResonancesLinkGet(ConstHandle2ResonancesWithBackground This); + +// +++ Set +extern_c void +ResonancesWithBackgroundResonancesLinkSet(ConstHandle2ResonancesWithBackground This, ConstHandle2ConstResonancesLink resonances); + + +// ----------------------------------------------------------------------------- +// Child: background +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesWithBackgroundBackgroundHas(ConstHandle2ConstResonancesWithBackground This); + +// --- Get, const +extern_c Handle2ConstBackground +ResonancesWithBackgroundBackgroundGetConst(ConstHandle2ConstResonancesWithBackground This); + +// +++ Get, non-const +extern_c Handle2Background +ResonancesWithBackgroundBackgroundGet(ConstHandle2ResonancesWithBackground This); + +// +++ Set +extern_c void +ResonancesWithBackgroundBackgroundSet(ConstHandle2ResonancesWithBackground This, ConstHandle2ConstBackground background); + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ResonancesWithBackgroundUncertaintyHas(ConstHandle2ConstResonancesWithBackground This); + +// --- Get, const +extern_c Handle2ConstUncertainty +ResonancesWithBackgroundUncertaintyGetConst(ConstHandle2ConstResonancesWithBackground This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +ResonancesWithBackgroundUncertaintyGet(ConstHandle2ResonancesWithBackground This); + +// +++ Set +extern_c void +ResonancesWithBackgroundUncertaintySet(ConstHandle2ResonancesWithBackground This, ConstHandle2ConstUncertainty uncertainty); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.cpp new file mode 100644 index 000000000..07e8787da --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Summands.hpp" +#include "Summands.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SummandsClass; +using CPP = multigroup::Summands; + +static const std::string CLASSNAME = "Summands"; + +namespace extract { + static auto add = [](auto &obj) { return &obj.add; }; +} + +using CPPAdd = transport::Add; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSummands +SummandsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Summands +SummandsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSummands +SummandsCreateConst( + ConstHandle2Add *const add, const size_t addSize +) { + ConstHandle2Summands handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t AddN = 0; AddN < addSize; ++AddN) + SummandsAddAdd(handle, add[AddN]); + return handle; +} + +// Create, general +Handle2Summands +SummandsCreate( + ConstHandle2Add *const add, const size_t addSize +) { + ConstHandle2Summands handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t AddN = 0; AddN < addSize; ++AddN) + SummandsAddAdd(handle, add[AddN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SummandsAssign(ConstHandle2Summands This, ConstHandle2ConstSummands from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SummandsDelete(ConstHandle2ConstSummands This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SummandsRead(ConstHandle2Summands This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SummandsWrite(ConstHandle2ConstSummands This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SummandsPrint(ConstHandle2ConstSummands This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SummandsPrintXML(ConstHandle2ConstSummands This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SummandsPrintJSON(ConstHandle2ConstSummands This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: add +// ----------------------------------------------------------------------------- + +// Has +int +SummandsAddHas(ConstHandle2ConstSummands This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AddHas", This, extract::add); +} + +// Clear +void +SummandsAddClear(ConstHandle2Summands This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AddClear", This, extract::add); +} + +// Size +size_t +SummandsAddSize(ConstHandle2ConstSummands This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AddSize", This, extract::add); +} + +// Add +void +SummandsAddAdd(ConstHandle2Summands This, ConstHandle2ConstAdd add) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AddAdd", This, extract::add, add); +} + +// Get, by index \in [0,size), const +Handle2ConstAdd +SummandsAddGetConst(ConstHandle2ConstSummands This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AddGetConst", This, extract::add, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Add +SummandsAddGet(ConstHandle2Summands This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AddGet", This, extract::add, index_); +} + +// Set, by index \in [0,size) +void +SummandsAddSet( + ConstHandle2Summands This, + const size_t index_, + ConstHandle2ConstAdd add +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AddSet", This, extract::add, index_, add); +} + +// Has, by href +int +SummandsAddHasByHref( + ConstHandle2ConstSummands This, + const char *const href +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AddHasByHref", + This, extract::add, meta::href, href); +} + +// Get, by href, const +Handle2ConstAdd +SummandsAddGetByHrefConst( + ConstHandle2ConstSummands This, + const char *const href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AddGetByHrefConst", + This, extract::add, meta::href, href); +} + +// Get, by href, non-const +Handle2Add +SummandsAddGetByHref( + ConstHandle2Summands This, + const char *const href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AddGetByHref", + This, extract::add, meta::href, href); +} + +// Set, by href +void +SummandsAddSetByHref( + ConstHandle2Summands This, + const char *const href, + ConstHandle2ConstAdd add +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AddSetByHref", + This, extract::add, meta::href, href, add); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.h new file mode 100644 index 000000000..e6624f0d4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Summands is the basic handle type in this file. Example: +// // Create a default Summands object: +// Summands handle = SummandsDefault(); +// Functions involving Summands are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_SUMMANDS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_SUMMANDS + +#include "GNDStk.h" +#include "v2.0/transport/Add.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SummandsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Summands +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SummandsClass *Summands; + +// --- Const-aware handles. +typedef const struct SummandsClass *const ConstHandle2ConstSummands; +typedef struct SummandsClass *const ConstHandle2Summands; +typedef const struct SummandsClass * Handle2ConstSummands; +typedef struct SummandsClass * Handle2Summands; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSummands +SummandsDefaultConst(); + +// +++ Create, default +extern_c Handle2Summands +SummandsDefault(); + +// --- Create, general, const +extern_c Handle2ConstSummands +SummandsCreateConst( + ConstHandle2Add *const add, const size_t addSize +); + +// +++ Create, general +extern_c Handle2Summands +SummandsCreate( + ConstHandle2Add *const add, const size_t addSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SummandsAssign(ConstHandle2Summands This, ConstHandle2ConstSummands from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SummandsDelete(ConstHandle2ConstSummands This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SummandsRead(ConstHandle2Summands This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SummandsWrite(ConstHandle2ConstSummands This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SummandsPrint(ConstHandle2ConstSummands This); + +// +++ Print to standard output, as XML +extern_c int +SummandsPrintXML(ConstHandle2ConstSummands This); + +// +++ Print to standard output, as JSON +extern_c int +SummandsPrintJSON(ConstHandle2ConstSummands This); + + +// ----------------------------------------------------------------------------- +// Child: add +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SummandsAddHas(ConstHandle2ConstSummands This); + +// +++ Clear +extern_c void +SummandsAddClear(ConstHandle2Summands This); + +// +++ Size +extern_c size_t +SummandsAddSize(ConstHandle2ConstSummands This); + +// +++ Add +extern_c void +SummandsAddAdd(ConstHandle2Summands This, ConstHandle2ConstAdd add); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAdd +SummandsAddGetConst(ConstHandle2ConstSummands This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Add +SummandsAddGet(ConstHandle2Summands This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +SummandsAddSet( + ConstHandle2Summands This, + const size_t index_, + ConstHandle2ConstAdd add +); + +// +++ Has, by href +extern_c int +SummandsAddHasByHref( + ConstHandle2ConstSummands This, + const char *const href +); + +// --- Get, by href, const +extern_c Handle2ConstAdd +SummandsAddGetByHrefConst( + ConstHandle2ConstSummands This, + const char *const href +); + +// +++ Get, by href, non-const +extern_c Handle2Add +SummandsAddGetByHref( + ConstHandle2Summands This, + const char *const href +); + +// +++ Set, by href +extern_c void +SummandsAddSetByHref( + ConstHandle2Summands This, + const char *const href, + ConstHandle2ConstAdd add +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.cpp new file mode 100644 index 000000000..807ed634c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Sums.hpp" +#include "Sums.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SumsClass; +using CPP = multigroup::Sums; + +static const std::string CLASSNAME = "Sums"; + +namespace extract { + static auto crossSectionSums = [](auto &obj) { return &obj.crossSectionSums; }; + static auto multiplicitySums = [](auto &obj) { return &obj.multiplicitySums; }; +} + +using CPPCrossSectionSums = transport::CrossSectionSums; +using CPPMultiplicitySums = transport::MultiplicitySums; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSums +SumsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Sums +SumsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSums +SumsCreateConst( + ConstHandle2ConstCrossSectionSums crossSectionSums, + ConstHandle2ConstMultiplicitySums multiplicitySums +) { + ConstHandle2Sums handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(crossSectionSums), + detail::tocpp(multiplicitySums) + ); + return handle; +} + +// Create, general +Handle2Sums +SumsCreate( + ConstHandle2ConstCrossSectionSums crossSectionSums, + ConstHandle2ConstMultiplicitySums multiplicitySums +) { + ConstHandle2Sums handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(crossSectionSums), + detail::tocpp(multiplicitySums) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SumsAssign(ConstHandle2Sums This, ConstHandle2ConstSums from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SumsDelete(ConstHandle2ConstSums This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SumsRead(ConstHandle2Sums This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SumsWrite(ConstHandle2ConstSums This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SumsPrint(ConstHandle2ConstSums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SumsPrintXML(ConstHandle2ConstSums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SumsPrintJSON(ConstHandle2ConstSums This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: crossSectionSums +// ----------------------------------------------------------------------------- + +// Has +int +SumsCrossSectionSumsHas(ConstHandle2ConstSums This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CrossSectionSumsHas", This, extract::crossSectionSums); +} + +// Get, const +Handle2ConstCrossSectionSums +SumsCrossSectionSumsGetConst(ConstHandle2ConstSums This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionSumsGetConst", This, extract::crossSectionSums); +} + +// Get, non-const +Handle2CrossSectionSums +SumsCrossSectionSumsGet(ConstHandle2Sums This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CrossSectionSumsGet", This, extract::crossSectionSums); +} + +// Set +void +SumsCrossSectionSumsSet(ConstHandle2Sums This, ConstHandle2ConstCrossSectionSums crossSectionSums) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CrossSectionSumsSet", This, extract::crossSectionSums, crossSectionSums); +} + + +// ----------------------------------------------------------------------------- +// Child: multiplicitySums +// ----------------------------------------------------------------------------- + +// Has +int +SumsMultiplicitySumsHas(ConstHandle2ConstSums This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MultiplicitySumsHas", This, extract::multiplicitySums); +} + +// Get, const +Handle2ConstMultiplicitySums +SumsMultiplicitySumsGetConst(ConstHandle2ConstSums This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MultiplicitySumsGetConst", This, extract::multiplicitySums); +} + +// Get, non-const +Handle2MultiplicitySums +SumsMultiplicitySumsGet(ConstHandle2Sums This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MultiplicitySumsGet", This, extract::multiplicitySums); +} + +// Set +void +SumsMultiplicitySumsSet(ConstHandle2Sums This, ConstHandle2ConstMultiplicitySums multiplicitySums) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MultiplicitySumsSet", This, extract::multiplicitySums, multiplicitySums); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.h new file mode 100644 index 000000000..5891dafc9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Sums is the basic handle type in this file. Example: +// // Create a default Sums object: +// Sums handle = SumsDefault(); +// Functions involving Sums are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_SUMS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_SUMS + +#include "GNDStk.h" +#include "v2.0/transport/CrossSectionSums.h" +#include "v2.0/transport/MultiplicitySums.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SumsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Sums +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SumsClass *Sums; + +// --- Const-aware handles. +typedef const struct SumsClass *const ConstHandle2ConstSums; +typedef struct SumsClass *const ConstHandle2Sums; +typedef const struct SumsClass * Handle2ConstSums; +typedef struct SumsClass * Handle2Sums; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSums +SumsDefaultConst(); + +// +++ Create, default +extern_c Handle2Sums +SumsDefault(); + +// --- Create, general, const +extern_c Handle2ConstSums +SumsCreateConst( + ConstHandle2ConstCrossSectionSums crossSectionSums, + ConstHandle2ConstMultiplicitySums multiplicitySums +); + +// +++ Create, general +extern_c Handle2Sums +SumsCreate( + ConstHandle2ConstCrossSectionSums crossSectionSums, + ConstHandle2ConstMultiplicitySums multiplicitySums +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SumsAssign(ConstHandle2Sums This, ConstHandle2ConstSums from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SumsDelete(ConstHandle2ConstSums This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SumsRead(ConstHandle2Sums This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SumsWrite(ConstHandle2ConstSums This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SumsPrint(ConstHandle2ConstSums This); + +// +++ Print to standard output, as XML +extern_c int +SumsPrintXML(ConstHandle2ConstSums This); + +// +++ Print to standard output, as JSON +extern_c int +SumsPrintJSON(ConstHandle2ConstSums This); + + +// ----------------------------------------------------------------------------- +// Child: crossSectionSums +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SumsCrossSectionSumsHas(ConstHandle2ConstSums This); + +// --- Get, const +extern_c Handle2ConstCrossSectionSums +SumsCrossSectionSumsGetConst(ConstHandle2ConstSums This); + +// +++ Get, non-const +extern_c Handle2CrossSectionSums +SumsCrossSectionSumsGet(ConstHandle2Sums This); + +// +++ Set +extern_c void +SumsCrossSectionSumsSet(ConstHandle2Sums This, ConstHandle2ConstCrossSectionSums crossSectionSums); + + +// ----------------------------------------------------------------------------- +// Child: multiplicitySums +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SumsMultiplicitySumsHas(ConstHandle2ConstSums This); + +// --- Get, const +extern_c Handle2ConstMultiplicitySums +SumsMultiplicitySumsGetConst(ConstHandle2ConstSums This); + +// +++ Get, non-const +extern_c Handle2MultiplicitySums +SumsMultiplicitySumsGet(ConstHandle2Sums This); + +// +++ Set +extern_c void +SumsMultiplicitySumsSet(ConstHandle2Sums This, ConstHandle2ConstMultiplicitySums multiplicitySums); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp new file mode 100644 index 000000000..9af58e13e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Theta.hpp" +#include "Theta.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ThetaClass; +using CPP = multigroup::Theta; + +static const std::string CLASSNAME = "Theta"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTheta +ThetaDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Theta +ThetaDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTheta +ThetaCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2Theta handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2Theta +ThetaCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2Theta handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ThetaAssign(ConstHandle2Theta This, ConstHandle2ConstTheta from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ThetaDelete(ConstHandle2ConstTheta This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ThetaRead(ConstHandle2Theta This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ThetaWrite(ConstHandle2ConstTheta This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ThetaPrint(ConstHandle2ConstTheta This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ThetaPrintXML(ConstHandle2ConstTheta This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ThetaPrintJSON(ConstHandle2ConstTheta This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +ThetaXYs1dHas(ConstHandle2ConstTheta This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +ThetaXYs1dGetConst(ConstHandle2ConstTheta This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +ThetaXYs1dGet(ConstHandle2Theta This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +ThetaXYs1dSet(ConstHandle2Theta This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +ThetaRegions1dHas(ConstHandle2ConstTheta This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +ThetaRegions1dGetConst(ConstHandle2ConstTheta This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +ThetaRegions1dGet(ConstHandle2Theta This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +ThetaRegions1dSet(ConstHandle2Theta This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h new file mode 100644 index 000000000..7ef5afece --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Theta is the basic handle type in this file. Example: +// // Create a default Theta object: +// Theta handle = ThetaDefault(); +// Functions involving Theta are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_THETA +#define C_INTERFACE_TRY_V2_0_TRANSPORT_THETA + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ThetaClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Theta +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ThetaClass *Theta; + +// --- Const-aware handles. +typedef const struct ThetaClass *const ConstHandle2ConstTheta; +typedef struct ThetaClass *const ConstHandle2Theta; +typedef const struct ThetaClass * Handle2ConstTheta; +typedef struct ThetaClass * Handle2Theta; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTheta +ThetaDefaultConst(); + +// +++ Create, default +extern_c Handle2Theta +ThetaDefault(); + +// --- Create, general, const +extern_c Handle2ConstTheta +ThetaCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2Theta +ThetaCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ThetaAssign(ConstHandle2Theta This, ConstHandle2ConstTheta from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ThetaDelete(ConstHandle2ConstTheta This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ThetaRead(ConstHandle2Theta This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ThetaWrite(ConstHandle2ConstTheta This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ThetaPrint(ConstHandle2ConstTheta This); + +// +++ Print to standard output, as XML +extern_c int +ThetaPrintXML(ConstHandle2ConstTheta This); + +// +++ Print to standard output, as JSON +extern_c int +ThetaPrintJSON(ConstHandle2ConstTheta This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThetaXYs1dHas(ConstHandle2ConstTheta This); + +// --- Get, const +extern_c Handle2ConstXYs1d +ThetaXYs1dGetConst(ConstHandle2ConstTheta This); + +// +++ Get, non-const +extern_c Handle2XYs1d +ThetaXYs1dGet(ConstHandle2Theta This); + +// +++ Set +extern_c void +ThetaXYs1dSet(ConstHandle2Theta This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThetaRegions1dHas(ConstHandle2ConstTheta This); + +// --- Get, const +extern_c Handle2ConstRegions1d +ThetaRegions1dGetConst(ConstHandle2ConstTheta This); + +// +++ Get, non-const +extern_c Handle2Regions1d +ThetaRegions1dGet(ConstHandle2Theta This); + +// +++ Set +extern_c void +ThetaRegions1dSet(ConstHandle2Theta This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/U.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/U.cpp new file mode 100644 index 000000000..d8136ffb1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/U.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/U.hpp" +#include "U.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UClass; +using CPP = multigroup::U; + +static const std::string CLASSNAME = "U"; + +namespace extract { + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstU +UDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2U +UDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstU +UCreateConst( + const XMLName unit, + const Float64 value +) { + ConstHandle2U handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + unit, + value + ); + return handle; +} + +// Create, general +Handle2U +UCreate( + const XMLName unit, + const Float64 value +) { + ConstHandle2U handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UAssign(ConstHandle2U This, ConstHandle2ConstU from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UDelete(ConstHandle2ConstU This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +URead(ConstHandle2U This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UWrite(ConstHandle2ConstU This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UPrint(ConstHandle2ConstU This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UPrintXML(ConstHandle2ConstU This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UPrintJSON(ConstHandle2ConstU This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +UUnitHas(ConstHandle2ConstU This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +UUnitGet(ConstHandle2ConstU This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +UUnitSet(ConstHandle2U This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +UValueHas(ConstHandle2ConstU This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +UValueGet(ConstHandle2ConstU This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +UValueSet(ConstHandle2U This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/U.h b/standards/gnds-2.0/try/c/src/v2.0/transport/U.h new file mode 100644 index 000000000..1335041c8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/U.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// U is the basic handle type in this file. Example: +// // Create a default U object: +// U handle = UDefault(); +// Functions involving U are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_U +#define C_INTERFACE_TRY_V2_0_TRANSPORT_U + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ U +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UClass *U; + +// --- Const-aware handles. +typedef const struct UClass *const ConstHandle2ConstU; +typedef struct UClass *const ConstHandle2U; +typedef const struct UClass * Handle2ConstU; +typedef struct UClass * Handle2U; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstU +UDefaultConst(); + +// +++ Create, default +extern_c Handle2U +UDefault(); + +// --- Create, general, const +extern_c Handle2ConstU +UCreateConst( + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2U +UCreate( + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UAssign(ConstHandle2U This, ConstHandle2ConstU from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UDelete(ConstHandle2ConstU This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +URead(ConstHandle2U This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UWrite(ConstHandle2ConstU This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UPrint(ConstHandle2ConstU This); + +// +++ Print to standard output, as XML +extern_c int +UPrintXML(ConstHandle2ConstU This); + +// +++ Print to standard output, as JSON +extern_c int +UPrintJSON(ConstHandle2ConstU This); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UUnitHas(ConstHandle2ConstU This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +UUnitGet(ConstHandle2ConstU This); + +// +++ Set +extern_c void +UUnitSet(ConstHandle2U This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UValueHas(ConstHandle2ConstU This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +UValueGet(ConstHandle2ConstU This); + +// +++ Set +extern_c void +UValueSet(ConstHandle2U This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp new file mode 100644 index 000000000..870204ea2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp @@ -0,0 +1,168 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/URR_probabilityTables1d.hpp" +#include "URR_probabilityTables1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = URR_probabilityTables1dClass; +using CPP = multigroup::URR_probabilityTables1d; + +static const std::string CLASSNAME = "URR_probabilityTables1d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; +} + +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPRegions2d = unknownNamespace::Regions2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstURR_probabilityTables1d +URR_probabilityTables1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2URR_probabilityTables1d +URR_probabilityTables1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstURR_probabilityTables1d +URR_probabilityTables1dCreateConst( + const XMLName label, +) { + ConstHandle2URR_probabilityTables1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label + ); + return handle; +} + +// Create, general +Handle2URR_probabilityTables1d +URR_probabilityTables1dCreate( + const XMLName label, +) { + ConstHandle2URR_probabilityTables1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +URR_probabilityTables1dAssign(ConstHandle2URR_probabilityTables1d This, ConstHandle2ConstURR_probabilityTables1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +URR_probabilityTables1dDelete(ConstHandle2ConstURR_probabilityTables1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +URR_probabilityTables1dRead(ConstHandle2URR_probabilityTables1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +URR_probabilityTables1dWrite(ConstHandle2ConstURR_probabilityTables1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +URR_probabilityTables1dPrint(ConstHandle2ConstURR_probabilityTables1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +URR_probabilityTables1dPrintXML(ConstHandle2ConstURR_probabilityTables1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +URR_probabilityTables1dPrintJSON(ConstHandle2ConstURR_probabilityTables1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +URR_probabilityTables1dLabelHas(ConstHandle2ConstURR_probabilityTables1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +URR_probabilityTables1dLabelGet(ConstHandle2ConstURR_probabilityTables1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +URR_probabilityTables1dLabelSet(ConstHandle2URR_probabilityTables1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h b/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h new file mode 100644 index 000000000..fdbe3e2ab --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h @@ -0,0 +1,157 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// URR_probabilityTables1d is the basic handle type in this file. Example: +// // Create a default URR_probabilityTables1d object: +// URR_probabilityTables1d handle = URR_probabilityTables1dDefault(); +// Functions involving URR_probabilityTables1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D +#define C_INTERFACE_TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/unknownNamespace/Regions2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct URR_probabilityTables1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ URR_probabilityTables1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct URR_probabilityTables1dClass *URR_probabilityTables1d; + +// --- Const-aware handles. +typedef const struct URR_probabilityTables1dClass *const ConstHandle2ConstURR_probabilityTables1d; +typedef struct URR_probabilityTables1dClass *const ConstHandle2URR_probabilityTables1d; +typedef const struct URR_probabilityTables1dClass * Handle2ConstURR_probabilityTables1d; +typedef struct URR_probabilityTables1dClass * Handle2URR_probabilityTables1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstURR_probabilityTables1d +URR_probabilityTables1dDefaultConst(); + +// +++ Create, default +extern_c Handle2URR_probabilityTables1d +URR_probabilityTables1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstURR_probabilityTables1d +URR_probabilityTables1dCreateConst( + const XMLName label, +); + +// +++ Create, general +extern_c Handle2URR_probabilityTables1d +URR_probabilityTables1dCreate( + const XMLName label, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +URR_probabilityTables1dAssign(ConstHandle2URR_probabilityTables1d This, ConstHandle2ConstURR_probabilityTables1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +URR_probabilityTables1dDelete(ConstHandle2ConstURR_probabilityTables1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +URR_probabilityTables1dRead(ConstHandle2URR_probabilityTables1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +URR_probabilityTables1dWrite(ConstHandle2ConstURR_probabilityTables1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +URR_probabilityTables1dPrint(ConstHandle2ConstURR_probabilityTables1d This); + +// +++ Print to standard output, as XML +extern_c int +URR_probabilityTables1dPrintXML(ConstHandle2ConstURR_probabilityTables1d This); + +// +++ Print to standard output, as JSON +extern_c int +URR_probabilityTables1dPrintJSON(ConstHandle2ConstURR_probabilityTables1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +URR_probabilityTables1dLabelHas(ConstHandle2ConstURR_probabilityTables1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +URR_probabilityTables1dLabelGet(ConstHandle2ConstURR_probabilityTables1d This); + +// +++ Set +extern_c void +URR_probabilityTables1dLabelSet(ConstHandle2URR_probabilityTables1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.cpp new file mode 100644 index 000000000..42238050a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Uncorrelated.hpp" +#include "Uncorrelated.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UncorrelatedClass; +using CPP = multigroup::Uncorrelated; + +static const std::string CLASSNAME = "Uncorrelated"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto angular = [](auto &obj) { return &obj.angular; }; + static auto energy = [](auto &obj) { return &obj.energy; }; +} + +using CPPAngular_uncorrelated = transport::Angular_uncorrelated; +using CPPEnergy_uncorrelated = transport::Energy_uncorrelated; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUncorrelated +UncorrelatedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Uncorrelated +UncorrelatedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUncorrelated +UncorrelatedCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstAngular_uncorrelated angular, + ConstHandle2ConstEnergy_uncorrelated energy +) { + ConstHandle2Uncorrelated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame, + detail::tocpp(angular), + detail::tocpp(energy) + ); + return handle; +} + +// Create, general +Handle2Uncorrelated +UncorrelatedCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstAngular_uncorrelated angular, + ConstHandle2ConstEnergy_uncorrelated energy +) { + ConstHandle2Uncorrelated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame, + detail::tocpp(angular), + detail::tocpp(energy) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UncorrelatedAssign(ConstHandle2Uncorrelated This, ConstHandle2ConstUncorrelated from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UncorrelatedDelete(ConstHandle2ConstUncorrelated This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UncorrelatedRead(ConstHandle2Uncorrelated This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UncorrelatedWrite(ConstHandle2ConstUncorrelated This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UncorrelatedPrint(ConstHandle2ConstUncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UncorrelatedPrintXML(ConstHandle2ConstUncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UncorrelatedPrintJSON(ConstHandle2ConstUncorrelated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +UncorrelatedLabelHas(ConstHandle2ConstUncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +UncorrelatedLabelGet(ConstHandle2ConstUncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +UncorrelatedLabelSet(ConstHandle2Uncorrelated This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +UncorrelatedProductFrameHas(ConstHandle2ConstUncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +UncorrelatedProductFrameGet(ConstHandle2ConstUncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +UncorrelatedProductFrameSet(ConstHandle2Uncorrelated This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: angular +// ----------------------------------------------------------------------------- + +// Has +int +UncorrelatedAngular_uncorrelatedHas(ConstHandle2ConstUncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Angular_uncorrelatedHas", This, extract::angular); +} + +// Get, const +Handle2ConstAngular_uncorrelated +UncorrelatedAngular_uncorrelatedGetConst(ConstHandle2ConstUncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Angular_uncorrelatedGetConst", This, extract::angular); +} + +// Get, non-const +Handle2Angular_uncorrelated +UncorrelatedAngular_uncorrelatedGet(ConstHandle2Uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Angular_uncorrelatedGet", This, extract::angular); +} + +// Set +void +UncorrelatedAngular_uncorrelatedSet(ConstHandle2Uncorrelated This, ConstHandle2ConstAngular_uncorrelated angular) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Angular_uncorrelatedSet", This, extract::angular, angular); +} + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// Has +int +UncorrelatedEnergy_uncorrelatedHas(ConstHandle2ConstUncorrelated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Energy_uncorrelatedHas", This, extract::energy); +} + +// Get, const +Handle2ConstEnergy_uncorrelated +UncorrelatedEnergy_uncorrelatedGetConst(ConstHandle2ConstUncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Energy_uncorrelatedGetConst", This, extract::energy); +} + +// Get, non-const +Handle2Energy_uncorrelated +UncorrelatedEnergy_uncorrelatedGet(ConstHandle2Uncorrelated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Energy_uncorrelatedGet", This, extract::energy); +} + +// Set +void +UncorrelatedEnergy_uncorrelatedSet(ConstHandle2Uncorrelated This, ConstHandle2ConstEnergy_uncorrelated energy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Energy_uncorrelatedSet", This, extract::energy, energy); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.h new file mode 100644 index 000000000..d1c4d29e1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Uncorrelated is the basic handle type in this file. Example: +// // Create a default Uncorrelated object: +// Uncorrelated handle = UncorrelatedDefault(); +// Functions involving Uncorrelated are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_UNCORRELATED +#define C_INTERFACE_TRY_V2_0_TRANSPORT_UNCORRELATED + +#include "GNDStk.h" +#include "v2.0/transport/Angular_uncorrelated.h" +#include "v2.0/transport/Energy_uncorrelated.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UncorrelatedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Uncorrelated +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UncorrelatedClass *Uncorrelated; + +// --- Const-aware handles. +typedef const struct UncorrelatedClass *const ConstHandle2ConstUncorrelated; +typedef struct UncorrelatedClass *const ConstHandle2Uncorrelated; +typedef const struct UncorrelatedClass * Handle2ConstUncorrelated; +typedef struct UncorrelatedClass * Handle2Uncorrelated; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUncorrelated +UncorrelatedDefaultConst(); + +// +++ Create, default +extern_c Handle2Uncorrelated +UncorrelatedDefault(); + +// --- Create, general, const +extern_c Handle2ConstUncorrelated +UncorrelatedCreateConst( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstAngular_uncorrelated angular, + ConstHandle2ConstEnergy_uncorrelated energy +); + +// +++ Create, general +extern_c Handle2Uncorrelated +UncorrelatedCreate( + const XMLName label, + const XMLName productFrame, + ConstHandle2ConstAngular_uncorrelated angular, + ConstHandle2ConstEnergy_uncorrelated energy +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UncorrelatedAssign(ConstHandle2Uncorrelated This, ConstHandle2ConstUncorrelated from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UncorrelatedDelete(ConstHandle2ConstUncorrelated This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UncorrelatedRead(ConstHandle2Uncorrelated This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UncorrelatedWrite(ConstHandle2ConstUncorrelated This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UncorrelatedPrint(ConstHandle2ConstUncorrelated This); + +// +++ Print to standard output, as XML +extern_c int +UncorrelatedPrintXML(ConstHandle2ConstUncorrelated This); + +// +++ Print to standard output, as JSON +extern_c int +UncorrelatedPrintJSON(ConstHandle2ConstUncorrelated This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncorrelatedLabelHas(ConstHandle2ConstUncorrelated This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +UncorrelatedLabelGet(ConstHandle2ConstUncorrelated This); + +// +++ Set +extern_c void +UncorrelatedLabelSet(ConstHandle2Uncorrelated This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncorrelatedProductFrameHas(ConstHandle2ConstUncorrelated This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +UncorrelatedProductFrameGet(ConstHandle2ConstUncorrelated This); + +// +++ Set +extern_c void +UncorrelatedProductFrameSet(ConstHandle2Uncorrelated This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Child: angular +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncorrelatedAngular_uncorrelatedHas(ConstHandle2ConstUncorrelated This); + +// --- Get, const +extern_c Handle2ConstAngular_uncorrelated +UncorrelatedAngular_uncorrelatedGetConst(ConstHandle2ConstUncorrelated This); + +// +++ Get, non-const +extern_c Handle2Angular_uncorrelated +UncorrelatedAngular_uncorrelatedGet(ConstHandle2Uncorrelated This); + +// +++ Set +extern_c void +UncorrelatedAngular_uncorrelatedSet(ConstHandle2Uncorrelated This, ConstHandle2ConstAngular_uncorrelated angular); + + +// ----------------------------------------------------------------------------- +// Child: energy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncorrelatedEnergy_uncorrelatedHas(ConstHandle2ConstUncorrelated This); + +// --- Get, const +extern_c Handle2ConstEnergy_uncorrelated +UncorrelatedEnergy_uncorrelatedGetConst(ConstHandle2ConstUncorrelated This); + +// +++ Get, non-const +extern_c Handle2Energy_uncorrelated +UncorrelatedEnergy_uncorrelatedGet(ConstHandle2Uncorrelated This); + +// +++ Set +extern_c void +UncorrelatedEnergy_uncorrelatedSet(ConstHandle2Uncorrelated This, ConstHandle2ConstEnergy_uncorrelated energy); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp new file mode 100644 index 000000000..893e7e374 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/UnresolvedRegion.hpp" +#include "UnresolvedRegion.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UnresolvedRegionClass; +using CPP = multigroup::UnresolvedRegion; + +static const std::string CLASSNAME = "UnresolvedRegion"; + +namespace extract { +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPRegions1d = unknownNamespace::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUnresolvedRegion +UnresolvedRegionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2UnresolvedRegion +UnresolvedRegionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUnresolvedRegion +UnresolvedRegionCreateConst( +) { + ConstHandle2UnresolvedRegion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2UnresolvedRegion +UnresolvedRegionCreate( +) { + ConstHandle2UnresolvedRegion handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UnresolvedRegionAssign(ConstHandle2UnresolvedRegion This, ConstHandle2ConstUnresolvedRegion from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UnresolvedRegionDelete(ConstHandle2ConstUnresolvedRegion This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UnresolvedRegionRead(ConstHandle2UnresolvedRegion This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UnresolvedRegionWrite(ConstHandle2ConstUnresolvedRegion This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UnresolvedRegionPrint(ConstHandle2ConstUnresolvedRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UnresolvedRegionPrintXML(ConstHandle2ConstUnresolvedRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UnresolvedRegionPrintJSON(ConstHandle2ConstUnresolvedRegion This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h b/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h new file mode 100644 index 000000000..30df06cca --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// UnresolvedRegion is the basic handle type in this file. Example: +// // Create a default UnresolvedRegion object: +// UnresolvedRegion handle = UnresolvedRegionDefault(); +// Functions involving UnresolvedRegion are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_UNRESOLVEDREGION +#define C_INTERFACE_TRY_V2_0_TRANSPORT_UNRESOLVEDREGION + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UnresolvedRegionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ UnresolvedRegion +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UnresolvedRegionClass *UnresolvedRegion; + +// --- Const-aware handles. +typedef const struct UnresolvedRegionClass *const ConstHandle2ConstUnresolvedRegion; +typedef struct UnresolvedRegionClass *const ConstHandle2UnresolvedRegion; +typedef const struct UnresolvedRegionClass * Handle2ConstUnresolvedRegion; +typedef struct UnresolvedRegionClass * Handle2UnresolvedRegion; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUnresolvedRegion +UnresolvedRegionDefaultConst(); + +// +++ Create, default +extern_c Handle2UnresolvedRegion +UnresolvedRegionDefault(); + +// --- Create, general, const +extern_c Handle2ConstUnresolvedRegion +UnresolvedRegionCreateConst( +); + +// +++ Create, general +extern_c Handle2UnresolvedRegion +UnresolvedRegionCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UnresolvedRegionAssign(ConstHandle2UnresolvedRegion This, ConstHandle2ConstUnresolvedRegion from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UnresolvedRegionDelete(ConstHandle2ConstUnresolvedRegion This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UnresolvedRegionRead(ConstHandle2UnresolvedRegion This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UnresolvedRegionWrite(ConstHandle2ConstUnresolvedRegion This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UnresolvedRegionPrint(ConstHandle2ConstUnresolvedRegion This); + +// +++ Print to standard output, as XML +extern_c int +UnresolvedRegionPrintXML(ConstHandle2ConstUnresolvedRegion This); + +// +++ Print to standard output, as JSON +extern_c int +UnresolvedRegionPrintJSON(ConstHandle2ConstUnresolvedRegion This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.cpp new file mode 100644 index 000000000..63d9c4903 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Unspecified.hpp" +#include "Unspecified.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UnspecifiedClass; +using CPP = multigroup::Unspecified; + +static const std::string CLASSNAME = "Unspecified"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUnspecified +UnspecifiedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Unspecified +UnspecifiedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUnspecified +UnspecifiedCreateConst( + const XMLName label, + const XMLName productFrame +) { + ConstHandle2Unspecified handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + productFrame + ); + return handle; +} + +// Create, general +Handle2Unspecified +UnspecifiedCreate( + const XMLName label, + const XMLName productFrame +) { + ConstHandle2Unspecified handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + productFrame + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UnspecifiedAssign(ConstHandle2Unspecified This, ConstHandle2ConstUnspecified from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UnspecifiedDelete(ConstHandle2ConstUnspecified This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UnspecifiedRead(ConstHandle2Unspecified This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UnspecifiedWrite(ConstHandle2ConstUnspecified This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UnspecifiedPrint(ConstHandle2ConstUnspecified This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UnspecifiedPrintXML(ConstHandle2ConstUnspecified This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UnspecifiedPrintJSON(ConstHandle2ConstUnspecified This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +UnspecifiedLabelHas(ConstHandle2ConstUnspecified This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +UnspecifiedLabelGet(ConstHandle2ConstUnspecified This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +UnspecifiedLabelSet(ConstHandle2Unspecified This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +UnspecifiedProductFrameHas(ConstHandle2ConstUnspecified This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +XMLName +UnspecifiedProductFrameGet(ConstHandle2ConstUnspecified This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +UnspecifiedProductFrameSet(ConstHandle2Unspecified This, const XMLName productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.h new file mode 100644 index 000000000..d83a8d9a0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Unspecified is the basic handle type in this file. Example: +// // Create a default Unspecified object: +// Unspecified handle = UnspecifiedDefault(); +// Functions involving Unspecified are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_UNSPECIFIED +#define C_INTERFACE_TRY_V2_0_TRANSPORT_UNSPECIFIED + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UnspecifiedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Unspecified +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UnspecifiedClass *Unspecified; + +// --- Const-aware handles. +typedef const struct UnspecifiedClass *const ConstHandle2ConstUnspecified; +typedef struct UnspecifiedClass *const ConstHandle2Unspecified; +typedef const struct UnspecifiedClass * Handle2ConstUnspecified; +typedef struct UnspecifiedClass * Handle2Unspecified; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUnspecified +UnspecifiedDefaultConst(); + +// +++ Create, default +extern_c Handle2Unspecified +UnspecifiedDefault(); + +// --- Create, general, const +extern_c Handle2ConstUnspecified +UnspecifiedCreateConst( + const XMLName label, + const XMLName productFrame +); + +// +++ Create, general +extern_c Handle2Unspecified +UnspecifiedCreate( + const XMLName label, + const XMLName productFrame +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UnspecifiedAssign(ConstHandle2Unspecified This, ConstHandle2ConstUnspecified from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UnspecifiedDelete(ConstHandle2ConstUnspecified This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UnspecifiedRead(ConstHandle2Unspecified This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UnspecifiedWrite(ConstHandle2ConstUnspecified This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UnspecifiedPrint(ConstHandle2ConstUnspecified This); + +// +++ Print to standard output, as XML +extern_c int +UnspecifiedPrintXML(ConstHandle2ConstUnspecified This); + +// +++ Print to standard output, as JSON +extern_c int +UnspecifiedPrintJSON(ConstHandle2ConstUnspecified This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnspecifiedLabelHas(ConstHandle2ConstUnspecified This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +UnspecifiedLabelGet(ConstHandle2ConstUnspecified This); + +// +++ Set +extern_c void +UnspecifiedLabelSet(ConstHandle2Unspecified This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UnspecifiedProductFrameHas(ConstHandle2ConstUnspecified This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +UnspecifiedProductFrameGet(ConstHandle2ConstUnspecified This); + +// +++ Set +extern_c void +UnspecifiedProductFrameSet(ConstHandle2Unspecified This, const XMLName productFrame); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp new file mode 100644 index 000000000..5f363019f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp @@ -0,0 +1,432 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/Weighted.hpp" +#include "Weighted.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = WeightedClass; +using CPP = multigroup::Weighted; + +static const std::string CLASSNAME = "Weighted"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; + static auto evaporation = [](auto &obj) { return &obj.evaporation; }; + static auto generalEvaporation = [](auto &obj) { return &obj.generalEvaporation; }; + static auto simpleMaxwellianFission = [](auto &obj) { return &obj.simpleMaxwellianFission; }; + static auto Watt = [](auto &obj) { return &obj.Watt; }; + static auto MadlandNix = [](auto &obj) { return &obj.MadlandNix; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; +using CPPXYs2d = unknownNamespace::XYs2d; +using CPPEvaporation = transport::Evaporation; +using CPPGeneralEvaporation = transport::GeneralEvaporation; +using CPPSimpleMaxwellianFission = fissionTransport::SimpleMaxwellianFission; +using CPPWatt = fissionTransport::Watt; +using CPPMadlandNix = fissionTransport::MadlandNix; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstWeighted +WeightedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Weighted +WeightedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstWeighted +WeightedCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstEvaporation evaporation, + ConstHandle2ConstGeneralEvaporation generalEvaporation, + ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission, + ConstHandle2ConstWatt Watt, + ConstHandle2ConstMadlandNix MadlandNix +) { + ConstHandle2Weighted handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(XYs2d), + detail::tocpp(evaporation), + detail::tocpp(generalEvaporation), + detail::tocpp(simpleMaxwellianFission), + detail::tocpp(Watt), + detail::tocpp(MadlandNix) + ); + return handle; +} + +// Create, general +Handle2Weighted +WeightedCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstEvaporation evaporation, + ConstHandle2ConstGeneralEvaporation generalEvaporation, + ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission, + ConstHandle2ConstWatt Watt, + ConstHandle2ConstMadlandNix MadlandNix +) { + ConstHandle2Weighted handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(XYs2d), + detail::tocpp(evaporation), + detail::tocpp(generalEvaporation), + detail::tocpp(simpleMaxwellianFission), + detail::tocpp(Watt), + detail::tocpp(MadlandNix) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +WeightedAssign(ConstHandle2Weighted This, ConstHandle2ConstWeighted from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +WeightedDelete(ConstHandle2ConstWeighted This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +WeightedRead(ConstHandle2Weighted This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +WeightedWrite(ConstHandle2ConstWeighted This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +WeightedPrint(ConstHandle2ConstWeighted This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +WeightedPrintXML(ConstHandle2ConstWeighted This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +WeightedPrintJSON(ConstHandle2ConstWeighted This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +WeightedXYs1dHas(ConstHandle2ConstWeighted This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +WeightedXYs1dGetConst(ConstHandle2ConstWeighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +WeightedXYs1dGet(ConstHandle2Weighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +WeightedXYs1dSet(ConstHandle2Weighted This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// Has +int +WeightedXYs2dHas(ConstHandle2ConstWeighted This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs2dHas", This, extract::XYs2d); +} + +// Get, const +Handle2ConstXYs2d +WeightedXYs2dGetConst(ConstHandle2ConstWeighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGetConst", This, extract::XYs2d); +} + +// Get, non-const +Handle2XYs2d +WeightedXYs2dGet(ConstHandle2Weighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs2dGet", This, extract::XYs2d); +} + +// Set +void +WeightedXYs2dSet(ConstHandle2Weighted This, ConstHandle2ConstXYs2d XYs2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs2dSet", This, extract::XYs2d, XYs2d); +} + + +// ----------------------------------------------------------------------------- +// Child: evaporation +// ----------------------------------------------------------------------------- + +// Has +int +WeightedEvaporationHas(ConstHandle2ConstWeighted This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaporationHas", This, extract::evaporation); +} + +// Get, const +Handle2ConstEvaporation +WeightedEvaporationGetConst(ConstHandle2ConstWeighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaporationGetConst", This, extract::evaporation); +} + +// Get, non-const +Handle2Evaporation +WeightedEvaporationGet(ConstHandle2Weighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaporationGet", This, extract::evaporation); +} + +// Set +void +WeightedEvaporationSet(ConstHandle2Weighted This, ConstHandle2ConstEvaporation evaporation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EvaporationSet", This, extract::evaporation, evaporation); +} + + +// ----------------------------------------------------------------------------- +// Child: generalEvaporation +// ----------------------------------------------------------------------------- + +// Has +int +WeightedGeneralEvaporationHas(ConstHandle2ConstWeighted This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GeneralEvaporationHas", This, extract::generalEvaporation); +} + +// Get, const +Handle2ConstGeneralEvaporation +WeightedGeneralEvaporationGetConst(ConstHandle2ConstWeighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GeneralEvaporationGetConst", This, extract::generalEvaporation); +} + +// Get, non-const +Handle2GeneralEvaporation +WeightedGeneralEvaporationGet(ConstHandle2Weighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"GeneralEvaporationGet", This, extract::generalEvaporation); +} + +// Set +void +WeightedGeneralEvaporationSet(ConstHandle2Weighted This, ConstHandle2ConstGeneralEvaporation generalEvaporation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"GeneralEvaporationSet", This, extract::generalEvaporation, generalEvaporation); +} + + +// ----------------------------------------------------------------------------- +// Child: simpleMaxwellianFission +// ----------------------------------------------------------------------------- + +// Has +int +WeightedSimpleMaxwellianFissionHas(ConstHandle2ConstWeighted This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SimpleMaxwellianFissionHas", This, extract::simpleMaxwellianFission); +} + +// Get, const +Handle2ConstSimpleMaxwellianFission +WeightedSimpleMaxwellianFissionGetConst(ConstHandle2ConstWeighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SimpleMaxwellianFissionGetConst", This, extract::simpleMaxwellianFission); +} + +// Get, non-const +Handle2SimpleMaxwellianFission +WeightedSimpleMaxwellianFissionGet(ConstHandle2Weighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SimpleMaxwellianFissionGet", This, extract::simpleMaxwellianFission); +} + +// Set +void +WeightedSimpleMaxwellianFissionSet(ConstHandle2Weighted This, ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SimpleMaxwellianFissionSet", This, extract::simpleMaxwellianFission, simpleMaxwellianFission); +} + + +// ----------------------------------------------------------------------------- +// Child: Watt +// ----------------------------------------------------------------------------- + +// Has +int +WeightedWattHas(ConstHandle2ConstWeighted This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"WattHas", This, extract::Watt); +} + +// Get, const +Handle2ConstWatt +WeightedWattGetConst(ConstHandle2ConstWeighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WattGetConst", This, extract::Watt); +} + +// Get, non-const +Handle2Watt +WeightedWattGet(ConstHandle2Weighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WattGet", This, extract::Watt); +} + +// Set +void +WeightedWattSet(ConstHandle2Weighted This, ConstHandle2ConstWatt Watt) +{ + detail::setField + (CLASSNAME, CLASSNAME+"WattSet", This, extract::Watt, Watt); +} + + +// ----------------------------------------------------------------------------- +// Child: MadlandNix +// ----------------------------------------------------------------------------- + +// Has +int +WeightedMadlandNixHas(ConstHandle2ConstWeighted This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MadlandNixHas", This, extract::MadlandNix); +} + +// Get, const +Handle2ConstMadlandNix +WeightedMadlandNixGetConst(ConstHandle2ConstWeighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MadlandNixGetConst", This, extract::MadlandNix); +} + +// Get, non-const +Handle2MadlandNix +WeightedMadlandNixGet(ConstHandle2Weighted This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MadlandNixGet", This, extract::MadlandNix); +} + +// Set +void +WeightedMadlandNixSet(ConstHandle2Weighted This, ConstHandle2ConstMadlandNix MadlandNix) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MadlandNixSet", This, extract::MadlandNix, MadlandNix); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h new file mode 100644 index 000000000..c2fc65a5a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h @@ -0,0 +1,303 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Weighted is the basic handle type in this file. Example: +// // Create a default Weighted object: +// Weighted handle = WeightedDefault(); +// Functions involving Weighted are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTED +#define C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTED + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/transport/Evaporation.h" +#include "v2.0/transport/GeneralEvaporation.h" +#include "v2.0/fissionTransport/SimpleMaxwellianFission.h" +#include "v2.0/fissionTransport/Watt.h" +#include "v2.0/fissionTransport/MadlandNix.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct WeightedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Weighted +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct WeightedClass *Weighted; + +// --- Const-aware handles. +typedef const struct WeightedClass *const ConstHandle2ConstWeighted; +typedef struct WeightedClass *const ConstHandle2Weighted; +typedef const struct WeightedClass * Handle2ConstWeighted; +typedef struct WeightedClass * Handle2Weighted; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstWeighted +WeightedDefaultConst(); + +// +++ Create, default +extern_c Handle2Weighted +WeightedDefault(); + +// --- Create, general, const +extern_c Handle2ConstWeighted +WeightedCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstEvaporation evaporation, + ConstHandle2ConstGeneralEvaporation generalEvaporation, + ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission, + ConstHandle2ConstWatt Watt, + ConstHandle2ConstMadlandNix MadlandNix +); + +// +++ Create, general +extern_c Handle2Weighted +WeightedCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstXYs2d XYs2d, + ConstHandle2ConstEvaporation evaporation, + ConstHandle2ConstGeneralEvaporation generalEvaporation, + ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission, + ConstHandle2ConstWatt Watt, + ConstHandle2ConstMadlandNix MadlandNix +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +WeightedAssign(ConstHandle2Weighted This, ConstHandle2ConstWeighted from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +WeightedDelete(ConstHandle2ConstWeighted This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +WeightedRead(ConstHandle2Weighted This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +WeightedWrite(ConstHandle2ConstWeighted This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +WeightedPrint(ConstHandle2ConstWeighted This); + +// +++ Print to standard output, as XML +extern_c int +WeightedPrintXML(ConstHandle2ConstWeighted This); + +// +++ Print to standard output, as JSON +extern_c int +WeightedPrintJSON(ConstHandle2ConstWeighted This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WeightedXYs1dHas(ConstHandle2ConstWeighted This); + +// --- Get, const +extern_c Handle2ConstXYs1d +WeightedXYs1dGetConst(ConstHandle2ConstWeighted This); + +// +++ Get, non-const +extern_c Handle2XYs1d +WeightedXYs1dGet(ConstHandle2Weighted This); + +// +++ Set +extern_c void +WeightedXYs1dSet(ConstHandle2Weighted This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: XYs2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WeightedXYs2dHas(ConstHandle2ConstWeighted This); + +// --- Get, const +extern_c Handle2ConstXYs2d +WeightedXYs2dGetConst(ConstHandle2ConstWeighted This); + +// +++ Get, non-const +extern_c Handle2XYs2d +WeightedXYs2dGet(ConstHandle2Weighted This); + +// +++ Set +extern_c void +WeightedXYs2dSet(ConstHandle2Weighted This, ConstHandle2ConstXYs2d XYs2d); + + +// ----------------------------------------------------------------------------- +// Child: evaporation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WeightedEvaporationHas(ConstHandle2ConstWeighted This); + +// --- Get, const +extern_c Handle2ConstEvaporation +WeightedEvaporationGetConst(ConstHandle2ConstWeighted This); + +// +++ Get, non-const +extern_c Handle2Evaporation +WeightedEvaporationGet(ConstHandle2Weighted This); + +// +++ Set +extern_c void +WeightedEvaporationSet(ConstHandle2Weighted This, ConstHandle2ConstEvaporation evaporation); + + +// ----------------------------------------------------------------------------- +// Child: generalEvaporation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WeightedGeneralEvaporationHas(ConstHandle2ConstWeighted This); + +// --- Get, const +extern_c Handle2ConstGeneralEvaporation +WeightedGeneralEvaporationGetConst(ConstHandle2ConstWeighted This); + +// +++ Get, non-const +extern_c Handle2GeneralEvaporation +WeightedGeneralEvaporationGet(ConstHandle2Weighted This); + +// +++ Set +extern_c void +WeightedGeneralEvaporationSet(ConstHandle2Weighted This, ConstHandle2ConstGeneralEvaporation generalEvaporation); + + +// ----------------------------------------------------------------------------- +// Child: simpleMaxwellianFission +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WeightedSimpleMaxwellianFissionHas(ConstHandle2ConstWeighted This); + +// --- Get, const +extern_c Handle2ConstSimpleMaxwellianFission +WeightedSimpleMaxwellianFissionGetConst(ConstHandle2ConstWeighted This); + +// +++ Get, non-const +extern_c Handle2SimpleMaxwellianFission +WeightedSimpleMaxwellianFissionGet(ConstHandle2Weighted This); + +// +++ Set +extern_c void +WeightedSimpleMaxwellianFissionSet(ConstHandle2Weighted This, ConstHandle2ConstSimpleMaxwellianFission simpleMaxwellianFission); + + +// ----------------------------------------------------------------------------- +// Child: Watt +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WeightedWattHas(ConstHandle2ConstWeighted This); + +// --- Get, const +extern_c Handle2ConstWatt +WeightedWattGetConst(ConstHandle2ConstWeighted This); + +// +++ Get, non-const +extern_c Handle2Watt +WeightedWattGet(ConstHandle2Weighted This); + +// +++ Set +extern_c void +WeightedWattSet(ConstHandle2Weighted This, ConstHandle2ConstWatt Watt); + + +// ----------------------------------------------------------------------------- +// Child: MadlandNix +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WeightedMadlandNixHas(ConstHandle2ConstWeighted This); + +// --- Get, const +extern_c Handle2ConstMadlandNix +WeightedMadlandNixGetConst(ConstHandle2ConstWeighted This); + +// +++ Get, non-const +extern_c Handle2MadlandNix +WeightedMadlandNixGet(ConstHandle2Weighted This); + +// +++ Set +extern_c void +WeightedMadlandNixSet(ConstHandle2Weighted This, ConstHandle2ConstMadlandNix MadlandNix); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.cpp new file mode 100644 index 000000000..96f86018a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/transport/WeightedFunctionals.hpp" +#include "WeightedFunctionals.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = WeightedFunctionalsClass; +using CPP = multigroup::WeightedFunctionals; + +static const std::string CLASSNAME = "WeightedFunctionals"; + +namespace extract { + static auto weighted = [](auto &obj) { return &obj.weighted; }; +} + +using CPPWeighted = transport::Weighted; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstWeightedFunctionals +WeightedFunctionalsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2WeightedFunctionals +WeightedFunctionalsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstWeightedFunctionals +WeightedFunctionalsCreateConst( + ConstHandle2ConstWeighted weighted +) { + ConstHandle2WeightedFunctionals handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(weighted) + ); + return handle; +} + +// Create, general +Handle2WeightedFunctionals +WeightedFunctionalsCreate( + ConstHandle2ConstWeighted weighted +) { + ConstHandle2WeightedFunctionals handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(weighted) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +WeightedFunctionalsAssign(ConstHandle2WeightedFunctionals This, ConstHandle2ConstWeightedFunctionals from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +WeightedFunctionalsDelete(ConstHandle2ConstWeightedFunctionals This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +WeightedFunctionalsRead(ConstHandle2WeightedFunctionals This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +WeightedFunctionalsWrite(ConstHandle2ConstWeightedFunctionals This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +WeightedFunctionalsPrint(ConstHandle2ConstWeightedFunctionals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +WeightedFunctionalsPrintXML(ConstHandle2ConstWeightedFunctionals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +WeightedFunctionalsPrintJSON(ConstHandle2ConstWeightedFunctionals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: weighted +// ----------------------------------------------------------------------------- + +// Has +int +WeightedFunctionalsWeightedHas(ConstHandle2ConstWeightedFunctionals This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"WeightedHas", This, extract::weighted); +} + +// Get, const +Handle2ConstWeighted +WeightedFunctionalsWeightedGetConst(ConstHandle2ConstWeightedFunctionals This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WeightedGetConst", This, extract::weighted); +} + +// Get, non-const +Handle2Weighted +WeightedFunctionalsWeightedGet(ConstHandle2WeightedFunctionals This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"WeightedGet", This, extract::weighted); +} + +// Set +void +WeightedFunctionalsWeightedSet(ConstHandle2WeightedFunctionals This, ConstHandle2ConstWeighted weighted) +{ + detail::setField + (CLASSNAME, CLASSNAME+"WeightedSet", This, extract::weighted, weighted); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.h b/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.h new file mode 100644 index 000000000..b73e25d49 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// WeightedFunctionals is the basic handle type in this file. Example: +// // Create a default WeightedFunctionals object: +// WeightedFunctionals handle = WeightedFunctionalsDefault(); +// Functions involving WeightedFunctionals are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS +#define C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS + +#include "GNDStk.h" +#include "v2.0/transport/Weighted.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct WeightedFunctionalsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ WeightedFunctionals +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct WeightedFunctionalsClass *WeightedFunctionals; + +// --- Const-aware handles. +typedef const struct WeightedFunctionalsClass *const ConstHandle2ConstWeightedFunctionals; +typedef struct WeightedFunctionalsClass *const ConstHandle2WeightedFunctionals; +typedef const struct WeightedFunctionalsClass * Handle2ConstWeightedFunctionals; +typedef struct WeightedFunctionalsClass * Handle2WeightedFunctionals; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstWeightedFunctionals +WeightedFunctionalsDefaultConst(); + +// +++ Create, default +extern_c Handle2WeightedFunctionals +WeightedFunctionalsDefault(); + +// --- Create, general, const +extern_c Handle2ConstWeightedFunctionals +WeightedFunctionalsCreateConst( + ConstHandle2ConstWeighted weighted +); + +// +++ Create, general +extern_c Handle2WeightedFunctionals +WeightedFunctionalsCreate( + ConstHandle2ConstWeighted weighted +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +WeightedFunctionalsAssign(ConstHandle2WeightedFunctionals This, ConstHandle2ConstWeightedFunctionals from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +WeightedFunctionalsDelete(ConstHandle2ConstWeightedFunctionals This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +WeightedFunctionalsRead(ConstHandle2WeightedFunctionals This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +WeightedFunctionalsWrite(ConstHandle2ConstWeightedFunctionals This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +WeightedFunctionalsPrint(ConstHandle2ConstWeightedFunctionals This); + +// +++ Print to standard output, as XML +extern_c int +WeightedFunctionalsPrintXML(ConstHandle2ConstWeightedFunctionals This); + +// +++ Print to standard output, as JSON +extern_c int +WeightedFunctionalsPrintJSON(ConstHandle2ConstWeightedFunctionals This); + + +// ----------------------------------------------------------------------------- +// Child: weighted +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +WeightedFunctionalsWeightedHas(ConstHandle2ConstWeightedFunctionals This); + +// --- Get, const +extern_c Handle2ConstWeighted +WeightedFunctionalsWeightedGetConst(ConstHandle2ConstWeightedFunctionals This); + +// +++ Get, non-const +extern_c Handle2Weighted +WeightedFunctionalsWeightedGet(ConstHandle2WeightedFunctionals This); + +// +++ Set +extern_c void +WeightedFunctionalsWeightedSet(ConstHandle2WeightedFunctionals This, ConstHandle2ConstWeighted weighted); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.cpp new file mode 100644 index 000000000..aa5fab3a2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/BoundAtomCrossSection.hpp" +#include "BoundAtomCrossSection.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BoundAtomCrossSectionClass; +using CPP = multigroup::BoundAtomCrossSection; + +static const std::string CLASSNAME = "BoundAtomCrossSection"; + +namespace extract { + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBoundAtomCrossSection +BoundAtomCrossSectionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2BoundAtomCrossSection +BoundAtomCrossSectionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBoundAtomCrossSection +BoundAtomCrossSectionCreateConst( + const XMLName unit, + const Float64 value +) { + ConstHandle2BoundAtomCrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + unit, + value + ); + return handle; +} + +// Create, general +Handle2BoundAtomCrossSection +BoundAtomCrossSectionCreate( + const XMLName unit, + const Float64 value +) { + ConstHandle2BoundAtomCrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BoundAtomCrossSectionAssign(ConstHandle2BoundAtomCrossSection This, ConstHandle2ConstBoundAtomCrossSection from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BoundAtomCrossSectionDelete(ConstHandle2ConstBoundAtomCrossSection This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BoundAtomCrossSectionRead(ConstHandle2BoundAtomCrossSection This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BoundAtomCrossSectionWrite(ConstHandle2ConstBoundAtomCrossSection This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BoundAtomCrossSectionPrint(ConstHandle2ConstBoundAtomCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BoundAtomCrossSectionPrintXML(ConstHandle2ConstBoundAtomCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BoundAtomCrossSectionPrintJSON(ConstHandle2ConstBoundAtomCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +BoundAtomCrossSectionUnitHas(ConstHandle2ConstBoundAtomCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +BoundAtomCrossSectionUnitGet(ConstHandle2ConstBoundAtomCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +BoundAtomCrossSectionUnitSet(ConstHandle2BoundAtomCrossSection This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +BoundAtomCrossSectionValueHas(ConstHandle2ConstBoundAtomCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +BoundAtomCrossSectionValueGet(ConstHandle2ConstBoundAtomCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +BoundAtomCrossSectionValueSet(ConstHandle2BoundAtomCrossSection This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.h new file mode 100644 index 000000000..c8fd2b308 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// BoundAtomCrossSection is the basic handle type in this file. Example: +// // Create a default BoundAtomCrossSection object: +// BoundAtomCrossSection handle = BoundAtomCrossSectionDefault(); +// Functions involving BoundAtomCrossSection are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_BOUNDATOMCROSSSECTION +#define C_INTERFACE_TRY_V2_0_TSL_BOUNDATOMCROSSSECTION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BoundAtomCrossSectionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ BoundAtomCrossSection +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BoundAtomCrossSectionClass *BoundAtomCrossSection; + +// --- Const-aware handles. +typedef const struct BoundAtomCrossSectionClass *const ConstHandle2ConstBoundAtomCrossSection; +typedef struct BoundAtomCrossSectionClass *const ConstHandle2BoundAtomCrossSection; +typedef const struct BoundAtomCrossSectionClass * Handle2ConstBoundAtomCrossSection; +typedef struct BoundAtomCrossSectionClass * Handle2BoundAtomCrossSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBoundAtomCrossSection +BoundAtomCrossSectionDefaultConst(); + +// +++ Create, default +extern_c Handle2BoundAtomCrossSection +BoundAtomCrossSectionDefault(); + +// --- Create, general, const +extern_c Handle2ConstBoundAtomCrossSection +BoundAtomCrossSectionCreateConst( + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2BoundAtomCrossSection +BoundAtomCrossSectionCreate( + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BoundAtomCrossSectionAssign(ConstHandle2BoundAtomCrossSection This, ConstHandle2ConstBoundAtomCrossSection from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BoundAtomCrossSectionDelete(ConstHandle2ConstBoundAtomCrossSection This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BoundAtomCrossSectionRead(ConstHandle2BoundAtomCrossSection This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BoundAtomCrossSectionWrite(ConstHandle2ConstBoundAtomCrossSection This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BoundAtomCrossSectionPrint(ConstHandle2ConstBoundAtomCrossSection This); + +// +++ Print to standard output, as XML +extern_c int +BoundAtomCrossSectionPrintXML(ConstHandle2ConstBoundAtomCrossSection This); + +// +++ Print to standard output, as JSON +extern_c int +BoundAtomCrossSectionPrintJSON(ConstHandle2ConstBoundAtomCrossSection This); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BoundAtomCrossSectionUnitHas(ConstHandle2ConstBoundAtomCrossSection This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BoundAtomCrossSectionUnitGet(ConstHandle2ConstBoundAtomCrossSection This); + +// +++ Set +extern_c void +BoundAtomCrossSectionUnitSet(ConstHandle2BoundAtomCrossSection This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BoundAtomCrossSectionValueHas(ConstHandle2ConstBoundAtomCrossSection This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +BoundAtomCrossSectionValueGet(ConstHandle2ConstBoundAtomCrossSection This); + +// +++ Set +extern_c void +BoundAtomCrossSectionValueSet(ConstHandle2BoundAtomCrossSection This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.cpp new file mode 100644 index 000000000..9077fa91e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/BraggEdge.hpp" +#include "BraggEdge.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BraggEdgeClass; +using CPP = multigroup::BraggEdge; + +static const std::string CLASSNAME = "BraggEdge"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto BraggEnergy = [](auto &obj) { return &obj.BraggEnergy; }; + static auto structureFactor = [](auto &obj) { return &obj.structureFactor; }; +} + +using CPPBraggEnergy = tsl::BraggEnergy; +using CPPStructureFactor = tsl::StructureFactor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBraggEdge +BraggEdgeDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2BraggEdge +BraggEdgeDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBraggEdge +BraggEdgeCreateConst( + const XMLName label, + ConstHandle2ConstBraggEnergy BraggEnergy, + ConstHandle2ConstStructureFactor structureFactor +) { + ConstHandle2BraggEdge handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(BraggEnergy), + detail::tocpp(structureFactor) + ); + return handle; +} + +// Create, general +Handle2BraggEdge +BraggEdgeCreate( + const XMLName label, + ConstHandle2ConstBraggEnergy BraggEnergy, + ConstHandle2ConstStructureFactor structureFactor +) { + ConstHandle2BraggEdge handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(BraggEnergy), + detail::tocpp(structureFactor) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BraggEdgeAssign(ConstHandle2BraggEdge This, ConstHandle2ConstBraggEdge from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BraggEdgeDelete(ConstHandle2ConstBraggEdge This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BraggEdgeRead(ConstHandle2BraggEdge This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BraggEdgeWrite(ConstHandle2ConstBraggEdge This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BraggEdgePrint(ConstHandle2ConstBraggEdge This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BraggEdgePrintXML(ConstHandle2ConstBraggEdge This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BraggEdgePrintJSON(ConstHandle2ConstBraggEdge This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +BraggEdgeLabelHas(ConstHandle2ConstBraggEdge This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +BraggEdgeLabelGet(ConstHandle2ConstBraggEdge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +BraggEdgeLabelSet(ConstHandle2BraggEdge This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: BraggEnergy +// ----------------------------------------------------------------------------- + +// Has +int +BraggEdgeBraggEnergyHas(ConstHandle2ConstBraggEdge This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BraggEnergyHas", This, extract::BraggEnergy); +} + +// Get, const +Handle2ConstBraggEnergy +BraggEdgeBraggEnergyGetConst(ConstHandle2ConstBraggEdge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BraggEnergyGetConst", This, extract::BraggEnergy); +} + +// Get, non-const +Handle2BraggEnergy +BraggEdgeBraggEnergyGet(ConstHandle2BraggEdge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BraggEnergyGet", This, extract::BraggEnergy); +} + +// Set +void +BraggEdgeBraggEnergySet(ConstHandle2BraggEdge This, ConstHandle2ConstBraggEnergy BraggEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BraggEnergySet", This, extract::BraggEnergy, BraggEnergy); +} + + +// ----------------------------------------------------------------------------- +// Child: structureFactor +// ----------------------------------------------------------------------------- + +// Has +int +BraggEdgeStructureFactorHas(ConstHandle2ConstBraggEdge This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StructureFactorHas", This, extract::structureFactor); +} + +// Get, const +Handle2ConstStructureFactor +BraggEdgeStructureFactorGetConst(ConstHandle2ConstBraggEdge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StructureFactorGetConst", This, extract::structureFactor); +} + +// Get, non-const +Handle2StructureFactor +BraggEdgeStructureFactorGet(ConstHandle2BraggEdge This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StructureFactorGet", This, extract::structureFactor); +} + +// Set +void +BraggEdgeStructureFactorSet(ConstHandle2BraggEdge This, ConstHandle2ConstStructureFactor structureFactor) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StructureFactorSet", This, extract::structureFactor, structureFactor); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.h new file mode 100644 index 000000000..97df04df6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// BraggEdge is the basic handle type in this file. Example: +// // Create a default BraggEdge object: +// BraggEdge handle = BraggEdgeDefault(); +// Functions involving BraggEdge are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_BRAGGEDGE +#define C_INTERFACE_TRY_V2_0_TSL_BRAGGEDGE + +#include "GNDStk.h" +#include "v2.0/tsl/BraggEnergy.h" +#include "v2.0/tsl/StructureFactor.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BraggEdgeClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ BraggEdge +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BraggEdgeClass *BraggEdge; + +// --- Const-aware handles. +typedef const struct BraggEdgeClass *const ConstHandle2ConstBraggEdge; +typedef struct BraggEdgeClass *const ConstHandle2BraggEdge; +typedef const struct BraggEdgeClass * Handle2ConstBraggEdge; +typedef struct BraggEdgeClass * Handle2BraggEdge; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBraggEdge +BraggEdgeDefaultConst(); + +// +++ Create, default +extern_c Handle2BraggEdge +BraggEdgeDefault(); + +// --- Create, general, const +extern_c Handle2ConstBraggEdge +BraggEdgeCreateConst( + const XMLName label, + ConstHandle2ConstBraggEnergy BraggEnergy, + ConstHandle2ConstStructureFactor structureFactor +); + +// +++ Create, general +extern_c Handle2BraggEdge +BraggEdgeCreate( + const XMLName label, + ConstHandle2ConstBraggEnergy BraggEnergy, + ConstHandle2ConstStructureFactor structureFactor +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BraggEdgeAssign(ConstHandle2BraggEdge This, ConstHandle2ConstBraggEdge from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BraggEdgeDelete(ConstHandle2ConstBraggEdge This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BraggEdgeRead(ConstHandle2BraggEdge This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BraggEdgeWrite(ConstHandle2ConstBraggEdge This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BraggEdgePrint(ConstHandle2ConstBraggEdge This); + +// +++ Print to standard output, as XML +extern_c int +BraggEdgePrintXML(ConstHandle2ConstBraggEdge This); + +// +++ Print to standard output, as JSON +extern_c int +BraggEdgePrintJSON(ConstHandle2ConstBraggEdge This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BraggEdgeLabelHas(ConstHandle2ConstBraggEdge This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +BraggEdgeLabelGet(ConstHandle2ConstBraggEdge This); + +// +++ Set +extern_c void +BraggEdgeLabelSet(ConstHandle2BraggEdge This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: BraggEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BraggEdgeBraggEnergyHas(ConstHandle2ConstBraggEdge This); + +// --- Get, const +extern_c Handle2ConstBraggEnergy +BraggEdgeBraggEnergyGetConst(ConstHandle2ConstBraggEdge This); + +// +++ Get, non-const +extern_c Handle2BraggEnergy +BraggEdgeBraggEnergyGet(ConstHandle2BraggEdge This); + +// +++ Set +extern_c void +BraggEdgeBraggEnergySet(ConstHandle2BraggEdge This, ConstHandle2ConstBraggEnergy BraggEnergy); + + +// ----------------------------------------------------------------------------- +// Child: structureFactor +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BraggEdgeStructureFactorHas(ConstHandle2ConstBraggEdge This); + +// --- Get, const +extern_c Handle2ConstStructureFactor +BraggEdgeStructureFactorGetConst(ConstHandle2ConstBraggEdge This); + +// +++ Get, non-const +extern_c Handle2StructureFactor +BraggEdgeStructureFactorGet(ConstHandle2BraggEdge This); + +// +++ Set +extern_c void +BraggEdgeStructureFactorSet(ConstHandle2BraggEdge This, ConstHandle2ConstStructureFactor structureFactor); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.cpp new file mode 100644 index 000000000..fb78bbe23 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/BraggEdges.hpp" +#include "BraggEdges.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BraggEdgesClass; +using CPP = multigroup::BraggEdges; + +static const std::string CLASSNAME = "BraggEdges"; + +namespace extract { + static auto BraggEdge = [](auto &obj) { return &obj.BraggEdge; }; +} + +using CPPBraggEdge = tsl::BraggEdge; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBraggEdges +BraggEdgesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2BraggEdges +BraggEdgesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBraggEdges +BraggEdgesCreateConst( + ConstHandle2BraggEdge *const BraggEdge, const size_t BraggEdgeSize +) { + ConstHandle2BraggEdges handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t BraggEdgeN = 0; BraggEdgeN < BraggEdgeSize; ++BraggEdgeN) + BraggEdgesBraggEdgeAdd(handle, BraggEdge[BraggEdgeN]); + return handle; +} + +// Create, general +Handle2BraggEdges +BraggEdgesCreate( + ConstHandle2BraggEdge *const BraggEdge, const size_t BraggEdgeSize +) { + ConstHandle2BraggEdges handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t BraggEdgeN = 0; BraggEdgeN < BraggEdgeSize; ++BraggEdgeN) + BraggEdgesBraggEdgeAdd(handle, BraggEdge[BraggEdgeN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BraggEdgesAssign(ConstHandle2BraggEdges This, ConstHandle2ConstBraggEdges from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BraggEdgesDelete(ConstHandle2ConstBraggEdges This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BraggEdgesRead(ConstHandle2BraggEdges This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BraggEdgesWrite(ConstHandle2ConstBraggEdges This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BraggEdgesPrint(ConstHandle2ConstBraggEdges This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BraggEdgesPrintXML(ConstHandle2ConstBraggEdges This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BraggEdgesPrintJSON(ConstHandle2ConstBraggEdges This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: BraggEdge +// ----------------------------------------------------------------------------- + +// Has +int +BraggEdgesBraggEdgeHas(ConstHandle2ConstBraggEdges This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BraggEdgeHas", This, extract::BraggEdge); +} + +// Clear +void +BraggEdgesBraggEdgeClear(ConstHandle2BraggEdges This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"BraggEdgeClear", This, extract::BraggEdge); +} + +// Size +size_t +BraggEdgesBraggEdgeSize(ConstHandle2ConstBraggEdges This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"BraggEdgeSize", This, extract::BraggEdge); +} + +// Add +void +BraggEdgesBraggEdgeAdd(ConstHandle2BraggEdges This, ConstHandle2ConstBraggEdge BraggEdge) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"BraggEdgeAdd", This, extract::BraggEdge, BraggEdge); +} + +// Get, by index \in [0,size), const +Handle2ConstBraggEdge +BraggEdgesBraggEdgeGetConst(ConstHandle2ConstBraggEdges This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"BraggEdgeGetConst", This, extract::BraggEdge, index_); +} + +// Get, by index \in [0,size), non-const +Handle2BraggEdge +BraggEdgesBraggEdgeGet(ConstHandle2BraggEdges This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"BraggEdgeGet", This, extract::BraggEdge, index_); +} + +// Set, by index \in [0,size) +void +BraggEdgesBraggEdgeSet( + ConstHandle2BraggEdges This, + const size_t index_, + ConstHandle2ConstBraggEdge BraggEdge +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"BraggEdgeSet", This, extract::BraggEdge, index_, BraggEdge); +} + +// Has, by label +int +BraggEdgesBraggEdgeHasByLabel( + ConstHandle2ConstBraggEdges This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"BraggEdgeHasByLabel", + This, extract::BraggEdge, meta::label, label); +} + +// Get, by label, const +Handle2ConstBraggEdge +BraggEdgesBraggEdgeGetByLabelConst( + ConstHandle2ConstBraggEdges This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BraggEdgeGetByLabelConst", + This, extract::BraggEdge, meta::label, label); +} + +// Get, by label, non-const +Handle2BraggEdge +BraggEdgesBraggEdgeGetByLabel( + ConstHandle2BraggEdges This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"BraggEdgeGetByLabel", + This, extract::BraggEdge, meta::label, label); +} + +// Set, by label +void +BraggEdgesBraggEdgeSetByLabel( + ConstHandle2BraggEdges This, + const XMLName label, + ConstHandle2ConstBraggEdge BraggEdge +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"BraggEdgeSetByLabel", + This, extract::BraggEdge, meta::label, label, BraggEdge); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.h new file mode 100644 index 000000000..99bcb7164 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// BraggEdges is the basic handle type in this file. Example: +// // Create a default BraggEdges object: +// BraggEdges handle = BraggEdgesDefault(); +// Functions involving BraggEdges are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_BRAGGEDGES +#define C_INTERFACE_TRY_V2_0_TSL_BRAGGEDGES + +#include "GNDStk.h" +#include "v2.0/tsl/BraggEdge.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BraggEdgesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ BraggEdges +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BraggEdgesClass *BraggEdges; + +// --- Const-aware handles. +typedef const struct BraggEdgesClass *const ConstHandle2ConstBraggEdges; +typedef struct BraggEdgesClass *const ConstHandle2BraggEdges; +typedef const struct BraggEdgesClass * Handle2ConstBraggEdges; +typedef struct BraggEdgesClass * Handle2BraggEdges; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBraggEdges +BraggEdgesDefaultConst(); + +// +++ Create, default +extern_c Handle2BraggEdges +BraggEdgesDefault(); + +// --- Create, general, const +extern_c Handle2ConstBraggEdges +BraggEdgesCreateConst( + ConstHandle2BraggEdge *const BraggEdge, const size_t BraggEdgeSize +); + +// +++ Create, general +extern_c Handle2BraggEdges +BraggEdgesCreate( + ConstHandle2BraggEdge *const BraggEdge, const size_t BraggEdgeSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BraggEdgesAssign(ConstHandle2BraggEdges This, ConstHandle2ConstBraggEdges from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BraggEdgesDelete(ConstHandle2ConstBraggEdges This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BraggEdgesRead(ConstHandle2BraggEdges This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BraggEdgesWrite(ConstHandle2ConstBraggEdges This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BraggEdgesPrint(ConstHandle2ConstBraggEdges This); + +// +++ Print to standard output, as XML +extern_c int +BraggEdgesPrintXML(ConstHandle2ConstBraggEdges This); + +// +++ Print to standard output, as JSON +extern_c int +BraggEdgesPrintJSON(ConstHandle2ConstBraggEdges This); + + +// ----------------------------------------------------------------------------- +// Child: BraggEdge +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BraggEdgesBraggEdgeHas(ConstHandle2ConstBraggEdges This); + +// +++ Clear +extern_c void +BraggEdgesBraggEdgeClear(ConstHandle2BraggEdges This); + +// +++ Size +extern_c size_t +BraggEdgesBraggEdgeSize(ConstHandle2ConstBraggEdges This); + +// +++ Add +extern_c void +BraggEdgesBraggEdgeAdd(ConstHandle2BraggEdges This, ConstHandle2ConstBraggEdge BraggEdge); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstBraggEdge +BraggEdgesBraggEdgeGetConst(ConstHandle2ConstBraggEdges This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2BraggEdge +BraggEdgesBraggEdgeGet(ConstHandle2BraggEdges This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +BraggEdgesBraggEdgeSet( + ConstHandle2BraggEdges This, + const size_t index_, + ConstHandle2ConstBraggEdge BraggEdge +); + +// +++ Has, by label +extern_c int +BraggEdgesBraggEdgeHasByLabel( + ConstHandle2ConstBraggEdges This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstBraggEdge +BraggEdgesBraggEdgeGetByLabelConst( + ConstHandle2ConstBraggEdges This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2BraggEdge +BraggEdgesBraggEdgeGetByLabel( + ConstHandle2BraggEdges This, + const XMLName label +); + +// +++ Set, by label +extern_c void +BraggEdgesBraggEdgeSetByLabel( + ConstHandle2BraggEdges This, + const XMLName label, + ConstHandle2ConstBraggEdge BraggEdge +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp new file mode 100644 index 000000000..548cf7f06 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/BraggEnergy.hpp" +#include "BraggEnergy.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = BraggEnergyClass; +using CPP = multigroup::BraggEnergy; + +static const std::string CLASSNAME = "BraggEnergy"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBraggEnergy +BraggEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2BraggEnergy +BraggEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBraggEnergy +BraggEnergyCreateConst( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2BraggEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Create, general +Handle2BraggEnergy +BraggEnergyCreate( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2BraggEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BraggEnergyAssign(ConstHandle2BraggEnergy This, ConstHandle2ConstBraggEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BraggEnergyDelete(ConstHandle2ConstBraggEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BraggEnergyRead(ConstHandle2BraggEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BraggEnergyWrite(ConstHandle2ConstBraggEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BraggEnergyPrint(ConstHandle2ConstBraggEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BraggEnergyPrintXML(ConstHandle2ConstBraggEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BraggEnergyPrintJSON(ConstHandle2ConstBraggEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +BraggEnergyXYs1dHas(ConstHandle2ConstBraggEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +BraggEnergyXYs1dGetConst(ConstHandle2ConstBraggEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +BraggEnergyXYs1dGet(ConstHandle2BraggEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +BraggEnergyXYs1dSet(ConstHandle2BraggEnergy This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h new file mode 100644 index 000000000..40d89adc0 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// BraggEnergy is the basic handle type in this file. Example: +// // Create a default BraggEnergy object: +// BraggEnergy handle = BraggEnergyDefault(); +// Functions involving BraggEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_BRAGGENERGY +#define C_INTERFACE_TRY_V2_0_TSL_BRAGGENERGY + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BraggEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ BraggEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BraggEnergyClass *BraggEnergy; + +// --- Const-aware handles. +typedef const struct BraggEnergyClass *const ConstHandle2ConstBraggEnergy; +typedef struct BraggEnergyClass *const ConstHandle2BraggEnergy; +typedef const struct BraggEnergyClass * Handle2ConstBraggEnergy; +typedef struct BraggEnergyClass * Handle2BraggEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBraggEnergy +BraggEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2BraggEnergy +BraggEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstBraggEnergy +BraggEnergyCreateConst( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Create, general +extern_c Handle2BraggEnergy +BraggEnergyCreate( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BraggEnergyAssign(ConstHandle2BraggEnergy This, ConstHandle2ConstBraggEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BraggEnergyDelete(ConstHandle2ConstBraggEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BraggEnergyRead(ConstHandle2BraggEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BraggEnergyWrite(ConstHandle2ConstBraggEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BraggEnergyPrint(ConstHandle2ConstBraggEnergy This); + +// +++ Print to standard output, as XML +extern_c int +BraggEnergyPrintXML(ConstHandle2ConstBraggEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +BraggEnergyPrintJSON(ConstHandle2ConstBraggEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BraggEnergyXYs1dHas(ConstHandle2ConstBraggEnergy This); + +// --- Get, const +extern_c Handle2ConstXYs1d +BraggEnergyXYs1dGetConst(ConstHandle2ConstBraggEnergy This); + +// +++ Get, non-const +extern_c Handle2XYs1d +BraggEnergyXYs1dGet(ConstHandle2BraggEnergy This); + +// +++ Set +extern_c void +BraggEnergyXYs1dSet(ConstHandle2BraggEnergy This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp new file mode 100644 index 000000000..d77db2937 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/CoherentAtomCrossSection.hpp" +#include "CoherentAtomCrossSection.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CoherentAtomCrossSectionClass; +using CPP = multigroup::CoherentAtomCrossSection; + +static const std::string CLASSNAME = "CoherentAtomCrossSection"; + +namespace extract { + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCoherentAtomCrossSection +CoherentAtomCrossSectionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2CoherentAtomCrossSection +CoherentAtomCrossSectionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCoherentAtomCrossSection +CoherentAtomCrossSectionCreateConst( + const XMLName unit, + const Float64 value +) { + ConstHandle2CoherentAtomCrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + unit, + value + ); + return handle; +} + +// Create, general +Handle2CoherentAtomCrossSection +CoherentAtomCrossSectionCreate( + const XMLName unit, + const Float64 value +) { + ConstHandle2CoherentAtomCrossSection handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CoherentAtomCrossSectionAssign(ConstHandle2CoherentAtomCrossSection This, ConstHandle2ConstCoherentAtomCrossSection from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CoherentAtomCrossSectionDelete(ConstHandle2ConstCoherentAtomCrossSection This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CoherentAtomCrossSectionRead(ConstHandle2CoherentAtomCrossSection This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CoherentAtomCrossSectionWrite(ConstHandle2ConstCoherentAtomCrossSection This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CoherentAtomCrossSectionPrint(ConstHandle2ConstCoherentAtomCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CoherentAtomCrossSectionPrintXML(ConstHandle2ConstCoherentAtomCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CoherentAtomCrossSectionPrintJSON(ConstHandle2ConstCoherentAtomCrossSection This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +CoherentAtomCrossSectionUnitHas(ConstHandle2ConstCoherentAtomCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +CoherentAtomCrossSectionUnitGet(ConstHandle2ConstCoherentAtomCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +CoherentAtomCrossSectionUnitSet(ConstHandle2CoherentAtomCrossSection This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +CoherentAtomCrossSectionValueHas(ConstHandle2ConstCoherentAtomCrossSection This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +CoherentAtomCrossSectionValueGet(ConstHandle2ConstCoherentAtomCrossSection This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +CoherentAtomCrossSectionValueSet(ConstHandle2CoherentAtomCrossSection This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.h new file mode 100644 index 000000000..bef7372ee --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// CoherentAtomCrossSection is the basic handle type in this file. Example: +// // Create a default CoherentAtomCrossSection object: +// CoherentAtomCrossSection handle = CoherentAtomCrossSectionDefault(); +// Functions involving CoherentAtomCrossSection are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_COHERENTATOMCROSSSECTION +#define C_INTERFACE_TRY_V2_0_TSL_COHERENTATOMCROSSSECTION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CoherentAtomCrossSectionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ CoherentAtomCrossSection +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CoherentAtomCrossSectionClass *CoherentAtomCrossSection; + +// --- Const-aware handles. +typedef const struct CoherentAtomCrossSectionClass *const ConstHandle2ConstCoherentAtomCrossSection; +typedef struct CoherentAtomCrossSectionClass *const ConstHandle2CoherentAtomCrossSection; +typedef const struct CoherentAtomCrossSectionClass * Handle2ConstCoherentAtomCrossSection; +typedef struct CoherentAtomCrossSectionClass * Handle2CoherentAtomCrossSection; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCoherentAtomCrossSection +CoherentAtomCrossSectionDefaultConst(); + +// +++ Create, default +extern_c Handle2CoherentAtomCrossSection +CoherentAtomCrossSectionDefault(); + +// --- Create, general, const +extern_c Handle2ConstCoherentAtomCrossSection +CoherentAtomCrossSectionCreateConst( + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2CoherentAtomCrossSection +CoherentAtomCrossSectionCreate( + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CoherentAtomCrossSectionAssign(ConstHandle2CoherentAtomCrossSection This, ConstHandle2ConstCoherentAtomCrossSection from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CoherentAtomCrossSectionDelete(ConstHandle2ConstCoherentAtomCrossSection This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CoherentAtomCrossSectionRead(ConstHandle2CoherentAtomCrossSection This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CoherentAtomCrossSectionWrite(ConstHandle2ConstCoherentAtomCrossSection This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CoherentAtomCrossSectionPrint(ConstHandle2ConstCoherentAtomCrossSection This); + +// +++ Print to standard output, as XML +extern_c int +CoherentAtomCrossSectionPrintXML(ConstHandle2ConstCoherentAtomCrossSection This); + +// +++ Print to standard output, as JSON +extern_c int +CoherentAtomCrossSectionPrintJSON(ConstHandle2ConstCoherentAtomCrossSection This); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentAtomCrossSectionUnitHas(ConstHandle2ConstCoherentAtomCrossSection This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CoherentAtomCrossSectionUnitGet(ConstHandle2ConstCoherentAtomCrossSection This); + +// +++ Set +extern_c void +CoherentAtomCrossSectionUnitSet(ConstHandle2CoherentAtomCrossSection This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CoherentAtomCrossSectionValueHas(ConstHandle2ConstCoherentAtomCrossSection This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +CoherentAtomCrossSectionValueGet(ConstHandle2ConstCoherentAtomCrossSection This); + +// +++ Set +extern_c void +CoherentAtomCrossSectionValueSet(ConstHandle2CoherentAtomCrossSection This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp new file mode 100644 index 000000000..7512cce7b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/DebyeWallerIntegral.hpp" +#include "DebyeWallerIntegral.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DebyeWallerIntegralClass; +using CPP = multigroup::DebyeWallerIntegral; + +static const std::string CLASSNAME = "DebyeWallerIntegral"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDebyeWallerIntegral +DebyeWallerIntegralDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DebyeWallerIntegral +DebyeWallerIntegralDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDebyeWallerIntegral +DebyeWallerIntegralCreateConst( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2DebyeWallerIntegral handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Create, general +Handle2DebyeWallerIntegral +DebyeWallerIntegralCreate( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2DebyeWallerIntegral handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DebyeWallerIntegralAssign(ConstHandle2DebyeWallerIntegral This, ConstHandle2ConstDebyeWallerIntegral from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DebyeWallerIntegralDelete(ConstHandle2ConstDebyeWallerIntegral This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DebyeWallerIntegralRead(ConstHandle2DebyeWallerIntegral This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DebyeWallerIntegralWrite(ConstHandle2ConstDebyeWallerIntegral This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DebyeWallerIntegralPrint(ConstHandle2ConstDebyeWallerIntegral This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DebyeWallerIntegralPrintXML(ConstHandle2ConstDebyeWallerIntegral This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DebyeWallerIntegralPrintJSON(ConstHandle2ConstDebyeWallerIntegral This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +DebyeWallerIntegralXYs1dHas(ConstHandle2ConstDebyeWallerIntegral This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +DebyeWallerIntegralXYs1dGetConst(ConstHandle2ConstDebyeWallerIntegral This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +DebyeWallerIntegralXYs1dGet(ConstHandle2DebyeWallerIntegral This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +DebyeWallerIntegralXYs1dSet(ConstHandle2DebyeWallerIntegral This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h new file mode 100644 index 000000000..87ef96ebb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DebyeWallerIntegral is the basic handle type in this file. Example: +// // Create a default DebyeWallerIntegral object: +// DebyeWallerIntegral handle = DebyeWallerIntegralDefault(); +// Functions involving DebyeWallerIntegral are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_DEBYEWALLERINTEGRAL +#define C_INTERFACE_TRY_V2_0_TSL_DEBYEWALLERINTEGRAL + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DebyeWallerIntegralClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DebyeWallerIntegral +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DebyeWallerIntegralClass *DebyeWallerIntegral; + +// --- Const-aware handles. +typedef const struct DebyeWallerIntegralClass *const ConstHandle2ConstDebyeWallerIntegral; +typedef struct DebyeWallerIntegralClass *const ConstHandle2DebyeWallerIntegral; +typedef const struct DebyeWallerIntegralClass * Handle2ConstDebyeWallerIntegral; +typedef struct DebyeWallerIntegralClass * Handle2DebyeWallerIntegral; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDebyeWallerIntegral +DebyeWallerIntegralDefaultConst(); + +// +++ Create, default +extern_c Handle2DebyeWallerIntegral +DebyeWallerIntegralDefault(); + +// --- Create, general, const +extern_c Handle2ConstDebyeWallerIntegral +DebyeWallerIntegralCreateConst( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Create, general +extern_c Handle2DebyeWallerIntegral +DebyeWallerIntegralCreate( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DebyeWallerIntegralAssign(ConstHandle2DebyeWallerIntegral This, ConstHandle2ConstDebyeWallerIntegral from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DebyeWallerIntegralDelete(ConstHandle2ConstDebyeWallerIntegral This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DebyeWallerIntegralRead(ConstHandle2DebyeWallerIntegral This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DebyeWallerIntegralWrite(ConstHandle2ConstDebyeWallerIntegral This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DebyeWallerIntegralPrint(ConstHandle2ConstDebyeWallerIntegral This); + +// +++ Print to standard output, as XML +extern_c int +DebyeWallerIntegralPrintXML(ConstHandle2ConstDebyeWallerIntegral This); + +// +++ Print to standard output, as JSON +extern_c int +DebyeWallerIntegralPrintJSON(ConstHandle2ConstDebyeWallerIntegral This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DebyeWallerIntegralXYs1dHas(ConstHandle2ConstDebyeWallerIntegral This); + +// --- Get, const +extern_c Handle2ConstXYs1d +DebyeWallerIntegralXYs1dGetConst(ConstHandle2ConstDebyeWallerIntegral This); + +// +++ Get, non-const +extern_c Handle2XYs1d +DebyeWallerIntegralXYs1dGet(ConstHandle2DebyeWallerIntegral This); + +// +++ Set +extern_c void +DebyeWallerIntegralXYs1dSet(ConstHandle2DebyeWallerIntegral This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp new file mode 100644 index 000000000..f65f8c04f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/DistinctScatteringKernel.hpp" +#include "DistinctScatteringKernel.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DistinctScatteringKernelClass; +using CPP = multigroup::DistinctScatteringKernel; + +static const std::string CLASSNAME = "DistinctScatteringKernel"; + +namespace extract { + static auto gridded3d = [](auto &obj) { return &obj.gridded3d; }; +} + +using CPPGridded3d = unknownNamespace::Gridded3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDistinctScatteringKernel +DistinctScatteringKernelDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2DistinctScatteringKernel +DistinctScatteringKernelDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDistinctScatteringKernel +DistinctScatteringKernelCreateConst( + ConstHandle2ConstGridded3d gridded3d +) { + ConstHandle2DistinctScatteringKernel handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(gridded3d) + ); + return handle; +} + +// Create, general +Handle2DistinctScatteringKernel +DistinctScatteringKernelCreate( + ConstHandle2ConstGridded3d gridded3d +) { + ConstHandle2DistinctScatteringKernel handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(gridded3d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DistinctScatteringKernelAssign(ConstHandle2DistinctScatteringKernel This, ConstHandle2ConstDistinctScatteringKernel from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DistinctScatteringKernelDelete(ConstHandle2ConstDistinctScatteringKernel This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DistinctScatteringKernelRead(ConstHandle2DistinctScatteringKernel This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DistinctScatteringKernelWrite(ConstHandle2ConstDistinctScatteringKernel This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DistinctScatteringKernelPrint(ConstHandle2ConstDistinctScatteringKernel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DistinctScatteringKernelPrintXML(ConstHandle2ConstDistinctScatteringKernel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DistinctScatteringKernelPrintJSON(ConstHandle2ConstDistinctScatteringKernel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded3d +// ----------------------------------------------------------------------------- + +// Has +int +DistinctScatteringKernelGridded3dHas(ConstHandle2ConstDistinctScatteringKernel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded3dHas", This, extract::gridded3d); +} + +// Get, const +Handle2ConstGridded3d +DistinctScatteringKernelGridded3dGetConst(ConstHandle2ConstDistinctScatteringKernel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded3dGetConst", This, extract::gridded3d); +} + +// Get, non-const +Handle2Gridded3d +DistinctScatteringKernelGridded3dGet(ConstHandle2DistinctScatteringKernel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded3dGet", This, extract::gridded3d); +} + +// Set +void +DistinctScatteringKernelGridded3dSet(ConstHandle2DistinctScatteringKernel This, ConstHandle2ConstGridded3d gridded3d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded3dSet", This, extract::gridded3d, gridded3d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h new file mode 100644 index 000000000..e29441a1c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// DistinctScatteringKernel is the basic handle type in this file. Example: +// // Create a default DistinctScatteringKernel object: +// DistinctScatteringKernel handle = DistinctScatteringKernelDefault(); +// Functions involving DistinctScatteringKernel are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL +#define C_INTERFACE_TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Gridded3d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DistinctScatteringKernelClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ DistinctScatteringKernel +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DistinctScatteringKernelClass *DistinctScatteringKernel; + +// --- Const-aware handles. +typedef const struct DistinctScatteringKernelClass *const ConstHandle2ConstDistinctScatteringKernel; +typedef struct DistinctScatteringKernelClass *const ConstHandle2DistinctScatteringKernel; +typedef const struct DistinctScatteringKernelClass * Handle2ConstDistinctScatteringKernel; +typedef struct DistinctScatteringKernelClass * Handle2DistinctScatteringKernel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDistinctScatteringKernel +DistinctScatteringKernelDefaultConst(); + +// +++ Create, default +extern_c Handle2DistinctScatteringKernel +DistinctScatteringKernelDefault(); + +// --- Create, general, const +extern_c Handle2ConstDistinctScatteringKernel +DistinctScatteringKernelCreateConst( + ConstHandle2ConstGridded3d gridded3d +); + +// +++ Create, general +extern_c Handle2DistinctScatteringKernel +DistinctScatteringKernelCreate( + ConstHandle2ConstGridded3d gridded3d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DistinctScatteringKernelAssign(ConstHandle2DistinctScatteringKernel This, ConstHandle2ConstDistinctScatteringKernel from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DistinctScatteringKernelDelete(ConstHandle2ConstDistinctScatteringKernel This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DistinctScatteringKernelRead(ConstHandle2DistinctScatteringKernel This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DistinctScatteringKernelWrite(ConstHandle2ConstDistinctScatteringKernel This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DistinctScatteringKernelPrint(ConstHandle2ConstDistinctScatteringKernel This); + +// +++ Print to standard output, as XML +extern_c int +DistinctScatteringKernelPrintXML(ConstHandle2ConstDistinctScatteringKernel This); + +// +++ Print to standard output, as JSON +extern_c int +DistinctScatteringKernelPrintJSON(ConstHandle2ConstDistinctScatteringKernel This); + + +// ----------------------------------------------------------------------------- +// Child: gridded3d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DistinctScatteringKernelGridded3dHas(ConstHandle2ConstDistinctScatteringKernel This); + +// --- Get, const +extern_c Handle2ConstGridded3d +DistinctScatteringKernelGridded3dGetConst(ConstHandle2ConstDistinctScatteringKernel This); + +// +++ Get, non-const +extern_c Handle2Gridded3d +DistinctScatteringKernelGridded3dGet(ConstHandle2DistinctScatteringKernel This); + +// +++ Set +extern_c void +DistinctScatteringKernelGridded3dSet(ConstHandle2DistinctScatteringKernel This, ConstHandle2ConstGridded3d gridded3d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.cpp new file mode 100644 index 000000000..4e41f8fe1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/E_critical.hpp" +#include "E_critical.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = E_criticalClass; +using CPP = multigroup::E_critical; + +static const std::string CLASSNAME = "E_critical"; + +namespace extract { + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstE_critical +E_criticalDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2E_critical +E_criticalDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstE_critical +E_criticalCreateConst( + const XMLName unit, + const Float64 value +) { + ConstHandle2E_critical handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + unit, + value + ); + return handle; +} + +// Create, general +Handle2E_critical +E_criticalCreate( + const XMLName unit, + const Float64 value +) { + ConstHandle2E_critical handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +E_criticalAssign(ConstHandle2E_critical This, ConstHandle2ConstE_critical from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +E_criticalDelete(ConstHandle2ConstE_critical This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +E_criticalRead(ConstHandle2E_critical This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +E_criticalWrite(ConstHandle2ConstE_critical This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +E_criticalPrint(ConstHandle2ConstE_critical This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +E_criticalPrintXML(ConstHandle2ConstE_critical This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +E_criticalPrintJSON(ConstHandle2ConstE_critical This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +E_criticalUnitHas(ConstHandle2ConstE_critical This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +E_criticalUnitGet(ConstHandle2ConstE_critical This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +E_criticalUnitSet(ConstHandle2E_critical This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +E_criticalValueHas(ConstHandle2ConstE_critical This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +E_criticalValueGet(ConstHandle2ConstE_critical This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +E_criticalValueSet(ConstHandle2E_critical This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.h new file mode 100644 index 000000000..5806d0d86 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// E_critical is the basic handle type in this file. Example: +// // Create a default E_critical object: +// E_critical handle = E_criticalDefault(); +// Functions involving E_critical are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_E_CRITICAL +#define C_INTERFACE_TRY_V2_0_TSL_E_CRITICAL + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct E_criticalClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ E_critical +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct E_criticalClass *E_critical; + +// --- Const-aware handles. +typedef const struct E_criticalClass *const ConstHandle2ConstE_critical; +typedef struct E_criticalClass *const ConstHandle2E_critical; +typedef const struct E_criticalClass * Handle2ConstE_critical; +typedef struct E_criticalClass * Handle2E_critical; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstE_critical +E_criticalDefaultConst(); + +// +++ Create, default +extern_c Handle2E_critical +E_criticalDefault(); + +// --- Create, general, const +extern_c Handle2ConstE_critical +E_criticalCreateConst( + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2E_critical +E_criticalCreate( + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +E_criticalAssign(ConstHandle2E_critical This, ConstHandle2ConstE_critical from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +E_criticalDelete(ConstHandle2ConstE_critical This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +E_criticalRead(ConstHandle2E_critical This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +E_criticalWrite(ConstHandle2ConstE_critical This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +E_criticalPrint(ConstHandle2ConstE_critical This); + +// +++ Print to standard output, as XML +extern_c int +E_criticalPrintXML(ConstHandle2ConstE_critical This); + +// +++ Print to standard output, as JSON +extern_c int +E_criticalPrintJSON(ConstHandle2ConstE_critical This); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +E_criticalUnitHas(ConstHandle2ConstE_critical This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +E_criticalUnitGet(ConstHandle2ConstE_critical This); + +// +++ Set +extern_c void +E_criticalUnitSet(ConstHandle2E_critical This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +E_criticalValueHas(ConstHandle2ConstE_critical This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +E_criticalValueGet(ConstHandle2ConstE_critical This); + +// +++ Set +extern_c void +E_criticalValueSet(ConstHandle2E_critical This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.cpp new file mode 100644 index 000000000..c21dff16c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/E_max.hpp" +#include "E_max.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = E_maxClass; +using CPP = multigroup::E_max; + +static const std::string CLASSNAME = "E_max"; + +namespace extract { + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstE_max +E_maxDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2E_max +E_maxDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstE_max +E_maxCreateConst( + const XMLName unit, + const Float64 value +) { + ConstHandle2E_max handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + unit, + value + ); + return handle; +} + +// Create, general +Handle2E_max +E_maxCreate( + const XMLName unit, + const Float64 value +) { + ConstHandle2E_max handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +E_maxAssign(ConstHandle2E_max This, ConstHandle2ConstE_max from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +E_maxDelete(ConstHandle2ConstE_max This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +E_maxRead(ConstHandle2E_max This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +E_maxWrite(ConstHandle2ConstE_max This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +E_maxPrint(ConstHandle2ConstE_max This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +E_maxPrintXML(ConstHandle2ConstE_max This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +E_maxPrintJSON(ConstHandle2ConstE_max This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +E_maxUnitHas(ConstHandle2ConstE_max This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +E_maxUnitGet(ConstHandle2ConstE_max This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +E_maxUnitSet(ConstHandle2E_max This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +E_maxValueHas(ConstHandle2ConstE_max This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +E_maxValueGet(ConstHandle2ConstE_max This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +E_maxValueSet(ConstHandle2E_max This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.h new file mode 100644 index 000000000..c60ad5cf1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// E_max is the basic handle type in this file. Example: +// // Create a default E_max object: +// E_max handle = E_maxDefault(); +// Functions involving E_max are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_E_MAX +#define C_INTERFACE_TRY_V2_0_TSL_E_MAX + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct E_maxClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ E_max +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct E_maxClass *E_max; + +// --- Const-aware handles. +typedef const struct E_maxClass *const ConstHandle2ConstE_max; +typedef struct E_maxClass *const ConstHandle2E_max; +typedef const struct E_maxClass * Handle2ConstE_max; +typedef struct E_maxClass * Handle2E_max; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstE_max +E_maxDefaultConst(); + +// +++ Create, default +extern_c Handle2E_max +E_maxDefault(); + +// --- Create, general, const +extern_c Handle2ConstE_max +E_maxCreateConst( + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2E_max +E_maxCreate( + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +E_maxAssign(ConstHandle2E_max This, ConstHandle2ConstE_max from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +E_maxDelete(ConstHandle2ConstE_max This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +E_maxRead(ConstHandle2E_max This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +E_maxWrite(ConstHandle2ConstE_max This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +E_maxPrint(ConstHandle2ConstE_max This); + +// +++ Print to standard output, as XML +extern_c int +E_maxPrintXML(ConstHandle2ConstE_max This); + +// +++ Print to standard output, as JSON +extern_c int +E_maxPrintJSON(ConstHandle2ConstE_max This); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +E_maxUnitHas(ConstHandle2ConstE_max This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +E_maxUnitGet(ConstHandle2ConstE_max This); + +// +++ Set +extern_c void +E_maxUnitSet(ConstHandle2E_max This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +E_maxValueHas(ConstHandle2ConstE_max This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +E_maxValueGet(ConstHandle2ConstE_max This); + +// +++ Set +extern_c void +E_maxValueSet(ConstHandle2E_max This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.cpp new file mode 100644 index 000000000..04f03f205 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/FreeGasApproximation.hpp" +#include "FreeGasApproximation.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FreeGasApproximationClass; +using CPP = multigroup::FreeGasApproximation; + +static const std::string CLASSNAME = "FreeGasApproximation"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFreeGasApproximation +FreeGasApproximationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2FreeGasApproximation +FreeGasApproximationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFreeGasApproximation +FreeGasApproximationCreateConst() +{ + ConstHandle2FreeGasApproximation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2FreeGasApproximation +FreeGasApproximationCreate() +{ + ConstHandle2FreeGasApproximation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FreeGasApproximationAssign(ConstHandle2FreeGasApproximation This, ConstHandle2ConstFreeGasApproximation from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FreeGasApproximationDelete(ConstHandle2ConstFreeGasApproximation This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FreeGasApproximationRead(ConstHandle2FreeGasApproximation This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FreeGasApproximationWrite(ConstHandle2ConstFreeGasApproximation This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FreeGasApproximationPrint(ConstHandle2ConstFreeGasApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FreeGasApproximationPrintXML(ConstHandle2ConstFreeGasApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FreeGasApproximationPrintJSON(ConstHandle2ConstFreeGasApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.h new file mode 100644 index 000000000..f485dcfdd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// FreeGasApproximation is the basic handle type in this file. Example: +// // Create a default FreeGasApproximation object: +// FreeGasApproximation handle = FreeGasApproximationDefault(); +// Functions involving FreeGasApproximation are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_FREEGASAPPROXIMATION +#define C_INTERFACE_TRY_V2_0_TSL_FREEGASAPPROXIMATION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FreeGasApproximationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ FreeGasApproximation +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FreeGasApproximationClass *FreeGasApproximation; + +// --- Const-aware handles. +typedef const struct FreeGasApproximationClass *const ConstHandle2ConstFreeGasApproximation; +typedef struct FreeGasApproximationClass *const ConstHandle2FreeGasApproximation; +typedef const struct FreeGasApproximationClass * Handle2ConstFreeGasApproximation; +typedef struct FreeGasApproximationClass * Handle2FreeGasApproximation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFreeGasApproximation +FreeGasApproximationDefaultConst(); + +// +++ Create, default +extern_c Handle2FreeGasApproximation +FreeGasApproximationDefault(); + +// --- Create, general, const +extern_c Handle2ConstFreeGasApproximation +FreeGasApproximationCreateConst(); + +// +++ Create, general +extern_c Handle2FreeGasApproximation +FreeGasApproximationCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FreeGasApproximationAssign(ConstHandle2FreeGasApproximation This, ConstHandle2ConstFreeGasApproximation from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FreeGasApproximationDelete(ConstHandle2ConstFreeGasApproximation This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FreeGasApproximationRead(ConstHandle2FreeGasApproximation This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FreeGasApproximationWrite(ConstHandle2ConstFreeGasApproximation This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FreeGasApproximationPrint(ConstHandle2ConstFreeGasApproximation This); + +// +++ Print to standard output, as XML +extern_c int +FreeGasApproximationPrintXML(ConstHandle2ConstFreeGasApproximation This); + +// +++ Print to standard output, as JSON +extern_c int +FreeGasApproximationPrintJSON(ConstHandle2ConstFreeGasApproximation This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.cpp new file mode 100644 index 000000000..055856724 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/GaussianApproximation.hpp" +#include "GaussianApproximation.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = GaussianApproximationClass; +using CPP = multigroup::GaussianApproximation; + +static const std::string CLASSNAME = "GaussianApproximation"; + +namespace extract { + static auto phononSpectrum = [](auto &obj) { return &obj.phononSpectrum; }; +} + +using CPPPhononSpectrum = tsl::PhononSpectrum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGaussianApproximation +GaussianApproximationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2GaussianApproximation +GaussianApproximationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGaussianApproximation +GaussianApproximationCreateConst( + ConstHandle2ConstPhononSpectrum phononSpectrum +) { + ConstHandle2GaussianApproximation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(phononSpectrum) + ); + return handle; +} + +// Create, general +Handle2GaussianApproximation +GaussianApproximationCreate( + ConstHandle2ConstPhononSpectrum phononSpectrum +) { + ConstHandle2GaussianApproximation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(phononSpectrum) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +GaussianApproximationAssign(ConstHandle2GaussianApproximation This, ConstHandle2ConstGaussianApproximation from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +GaussianApproximationDelete(ConstHandle2ConstGaussianApproximation This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +GaussianApproximationRead(ConstHandle2GaussianApproximation This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +GaussianApproximationWrite(ConstHandle2ConstGaussianApproximation This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +GaussianApproximationPrint(ConstHandle2ConstGaussianApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +GaussianApproximationPrintXML(ConstHandle2ConstGaussianApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +GaussianApproximationPrintJSON(ConstHandle2ConstGaussianApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: phononSpectrum +// ----------------------------------------------------------------------------- + +// Has +int +GaussianApproximationPhononSpectrumHas(ConstHandle2ConstGaussianApproximation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PhononSpectrumHas", This, extract::phononSpectrum); +} + +// Get, const +Handle2ConstPhononSpectrum +GaussianApproximationPhononSpectrumGetConst(ConstHandle2ConstGaussianApproximation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PhononSpectrumGetConst", This, extract::phononSpectrum); +} + +// Get, non-const +Handle2PhononSpectrum +GaussianApproximationPhononSpectrumGet(ConstHandle2GaussianApproximation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PhononSpectrumGet", This, extract::phononSpectrum); +} + +// Set +void +GaussianApproximationPhononSpectrumSet(ConstHandle2GaussianApproximation This, ConstHandle2ConstPhononSpectrum phononSpectrum) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PhononSpectrumSet", This, extract::phononSpectrum, phononSpectrum); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.h new file mode 100644 index 000000000..26939c815 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// GaussianApproximation is the basic handle type in this file. Example: +// // Create a default GaussianApproximation object: +// GaussianApproximation handle = GaussianApproximationDefault(); +// Functions involving GaussianApproximation are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_GAUSSIANAPPROXIMATION +#define C_INTERFACE_TRY_V2_0_TSL_GAUSSIANAPPROXIMATION + +#include "GNDStk.h" +#include "v2.0/tsl/PhononSpectrum.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct GaussianApproximationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ GaussianApproximation +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct GaussianApproximationClass *GaussianApproximation; + +// --- Const-aware handles. +typedef const struct GaussianApproximationClass *const ConstHandle2ConstGaussianApproximation; +typedef struct GaussianApproximationClass *const ConstHandle2GaussianApproximation; +typedef const struct GaussianApproximationClass * Handle2ConstGaussianApproximation; +typedef struct GaussianApproximationClass * Handle2GaussianApproximation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGaussianApproximation +GaussianApproximationDefaultConst(); + +// +++ Create, default +extern_c Handle2GaussianApproximation +GaussianApproximationDefault(); + +// --- Create, general, const +extern_c Handle2ConstGaussianApproximation +GaussianApproximationCreateConst( + ConstHandle2ConstPhononSpectrum phononSpectrum +); + +// +++ Create, general +extern_c Handle2GaussianApproximation +GaussianApproximationCreate( + ConstHandle2ConstPhononSpectrum phononSpectrum +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +GaussianApproximationAssign(ConstHandle2GaussianApproximation This, ConstHandle2ConstGaussianApproximation from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +GaussianApproximationDelete(ConstHandle2ConstGaussianApproximation This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +GaussianApproximationRead(ConstHandle2GaussianApproximation This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +GaussianApproximationWrite(ConstHandle2ConstGaussianApproximation This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +GaussianApproximationPrint(ConstHandle2ConstGaussianApproximation This); + +// +++ Print to standard output, as XML +extern_c int +GaussianApproximationPrintXML(ConstHandle2ConstGaussianApproximation This); + +// +++ Print to standard output, as JSON +extern_c int +GaussianApproximationPrintJSON(ConstHandle2ConstGaussianApproximation This); + + +// ----------------------------------------------------------------------------- +// Child: phononSpectrum +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GaussianApproximationPhononSpectrumHas(ConstHandle2ConstGaussianApproximation This); + +// --- Get, const +extern_c Handle2ConstPhononSpectrum +GaussianApproximationPhononSpectrumGetConst(ConstHandle2ConstGaussianApproximation This); + +// +++ Get, non-const +extern_c Handle2PhononSpectrum +GaussianApproximationPhononSpectrumGet(ConstHandle2GaussianApproximation This); + +// +++ Set +extern_c void +GaussianApproximationPhononSpectrumSet(ConstHandle2GaussianApproximation This, ConstHandle2ConstPhononSpectrum phononSpectrum); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp new file mode 100644 index 000000000..d14f2dd8e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/PhononSpectrum.hpp" +#include "PhononSpectrum.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PhononSpectrumClass; +using CPP = multigroup::PhononSpectrum; + +static const std::string CLASSNAME = "PhononSpectrum"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPhononSpectrum +PhononSpectrumDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PhononSpectrum +PhononSpectrumDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPhononSpectrum +PhononSpectrumCreateConst( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2PhononSpectrum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Create, general +Handle2PhononSpectrum +PhononSpectrumCreate( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2PhononSpectrum handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PhononSpectrumAssign(ConstHandle2PhononSpectrum This, ConstHandle2ConstPhononSpectrum from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PhononSpectrumDelete(ConstHandle2ConstPhononSpectrum This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PhononSpectrumRead(ConstHandle2PhononSpectrum This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PhononSpectrumWrite(ConstHandle2ConstPhononSpectrum This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PhononSpectrumPrint(ConstHandle2ConstPhononSpectrum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PhononSpectrumPrintXML(ConstHandle2ConstPhononSpectrum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PhononSpectrumPrintJSON(ConstHandle2ConstPhononSpectrum This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +PhononSpectrumXYs1dHas(ConstHandle2ConstPhononSpectrum This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +PhononSpectrumXYs1dGetConst(ConstHandle2ConstPhononSpectrum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +PhononSpectrumXYs1dGet(ConstHandle2PhononSpectrum This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +PhononSpectrumXYs1dSet(ConstHandle2PhononSpectrum This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h new file mode 100644 index 000000000..8fefd94ba --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PhononSpectrum is the basic handle type in this file. Example: +// // Create a default PhononSpectrum object: +// PhononSpectrum handle = PhononSpectrumDefault(); +// Functions involving PhononSpectrum are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_PHONONSPECTRUM +#define C_INTERFACE_TRY_V2_0_TSL_PHONONSPECTRUM + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PhononSpectrumClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PhononSpectrum +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PhononSpectrumClass *PhononSpectrum; + +// --- Const-aware handles. +typedef const struct PhononSpectrumClass *const ConstHandle2ConstPhononSpectrum; +typedef struct PhononSpectrumClass *const ConstHandle2PhononSpectrum; +typedef const struct PhononSpectrumClass * Handle2ConstPhononSpectrum; +typedef struct PhononSpectrumClass * Handle2PhononSpectrum; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPhononSpectrum +PhononSpectrumDefaultConst(); + +// +++ Create, default +extern_c Handle2PhononSpectrum +PhononSpectrumDefault(); + +// --- Create, general, const +extern_c Handle2ConstPhononSpectrum +PhononSpectrumCreateConst( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Create, general +extern_c Handle2PhononSpectrum +PhononSpectrumCreate( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PhononSpectrumAssign(ConstHandle2PhononSpectrum This, ConstHandle2ConstPhononSpectrum from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PhononSpectrumDelete(ConstHandle2ConstPhononSpectrum This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PhononSpectrumRead(ConstHandle2PhononSpectrum This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PhononSpectrumWrite(ConstHandle2ConstPhononSpectrum This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PhononSpectrumPrint(ConstHandle2ConstPhononSpectrum This); + +// +++ Print to standard output, as XML +extern_c int +PhononSpectrumPrintXML(ConstHandle2ConstPhononSpectrum This); + +// +++ Print to standard output, as JSON +extern_c int +PhononSpectrumPrintJSON(ConstHandle2ConstPhononSpectrum This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PhononSpectrumXYs1dHas(ConstHandle2ConstPhononSpectrum This); + +// --- Get, const +extern_c Handle2ConstXYs1d +PhononSpectrumXYs1dGetConst(ConstHandle2ConstPhononSpectrum This); + +// +++ Get, non-const +extern_c Handle2XYs1d +PhononSpectrumXYs1dGet(ConstHandle2PhononSpectrum This); + +// +++ Set +extern_c void +PhononSpectrumXYs1dSet(ConstHandle2PhononSpectrum This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.cpp new file mode 100644 index 000000000..1dade862f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/SCTApproximation.hpp" +#include "SCTApproximation.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SCTApproximationClass; +using CPP = multigroup::SCTApproximation; + +static const std::string CLASSNAME = "SCTApproximation"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSCTApproximation +SCTApproximationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2SCTApproximation +SCTApproximationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSCTApproximation +SCTApproximationCreateConst() +{ + ConstHandle2SCTApproximation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2SCTApproximation +SCTApproximationCreate() +{ + ConstHandle2SCTApproximation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SCTApproximationAssign(ConstHandle2SCTApproximation This, ConstHandle2ConstSCTApproximation from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SCTApproximationDelete(ConstHandle2ConstSCTApproximation This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SCTApproximationRead(ConstHandle2SCTApproximation This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SCTApproximationWrite(ConstHandle2ConstSCTApproximation This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SCTApproximationPrint(ConstHandle2ConstSCTApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SCTApproximationPrintXML(ConstHandle2ConstSCTApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SCTApproximationPrintJSON(ConstHandle2ConstSCTApproximation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.h new file mode 100644 index 000000000..d20f8dff9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.h @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// SCTApproximation is the basic handle type in this file. Example: +// // Create a default SCTApproximation object: +// SCTApproximation handle = SCTApproximationDefault(); +// Functions involving SCTApproximation are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_SCTAPPROXIMATION +#define C_INTERFACE_TRY_V2_0_TSL_SCTAPPROXIMATION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SCTApproximationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ SCTApproximation +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SCTApproximationClass *SCTApproximation; + +// --- Const-aware handles. +typedef const struct SCTApproximationClass *const ConstHandle2ConstSCTApproximation; +typedef struct SCTApproximationClass *const ConstHandle2SCTApproximation; +typedef const struct SCTApproximationClass * Handle2ConstSCTApproximation; +typedef struct SCTApproximationClass * Handle2SCTApproximation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSCTApproximation +SCTApproximationDefaultConst(); + +// +++ Create, default +extern_c Handle2SCTApproximation +SCTApproximationDefault(); + +// --- Create, general, const +extern_c Handle2ConstSCTApproximation +SCTApproximationCreateConst(); + +// +++ Create, general +extern_c Handle2SCTApproximation +SCTApproximationCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SCTApproximationAssign(ConstHandle2SCTApproximation This, ConstHandle2ConstSCTApproximation from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SCTApproximationDelete(ConstHandle2ConstSCTApproximation This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SCTApproximationRead(ConstHandle2SCTApproximation This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SCTApproximationWrite(ConstHandle2ConstSCTApproximation This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SCTApproximationPrint(ConstHandle2ConstSCTApproximation This); + +// +++ Print to standard output, as XML +extern_c int +SCTApproximationPrintXML(ConstHandle2ConstSCTApproximation This); + +// +++ Print to standard output, as JSON +extern_c int +SCTApproximationPrintJSON(ConstHandle2ConstSCTApproximation This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp new file mode 100644 index 000000000..1a7b41ae9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/S_table.hpp" +#include "S_table.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = S_tableClass; +using CPP = multigroup::S_table; + +static const std::string CLASSNAME = "S_table"; + +namespace extract { + static auto gridded2d = [](auto &obj) { return &obj.gridded2d; }; +} + +using CPPGridded2d = unknownNamespace::Gridded2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstS_table +S_tableDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2S_table +S_tableDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstS_table +S_tableCreateConst( + ConstHandle2ConstGridded2d gridded2d +) { + ConstHandle2S_table handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(gridded2d) + ); + return handle; +} + +// Create, general +Handle2S_table +S_tableCreate( + ConstHandle2ConstGridded2d gridded2d +) { + ConstHandle2S_table handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(gridded2d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +S_tableAssign(ConstHandle2S_table This, ConstHandle2ConstS_table from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +S_tableDelete(ConstHandle2ConstS_table This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +S_tableRead(ConstHandle2S_table This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +S_tableWrite(ConstHandle2ConstS_table This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +S_tablePrint(ConstHandle2ConstS_table This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +S_tablePrintXML(ConstHandle2ConstS_table This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +S_tablePrintJSON(ConstHandle2ConstS_table This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: gridded2d +// ----------------------------------------------------------------------------- + +// Has +int +S_tableGridded2dHas(ConstHandle2ConstS_table This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Gridded2dHas", This, extract::gridded2d); +} + +// Get, const +Handle2ConstGridded2d +S_tableGridded2dGetConst(ConstHandle2ConstS_table This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded2dGetConst", This, extract::gridded2d); +} + +// Get, non-const +Handle2Gridded2d +S_tableGridded2dGet(ConstHandle2S_table This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Gridded2dGet", This, extract::gridded2d); +} + +// Set +void +S_tableGridded2dSet(ConstHandle2S_table This, ConstHandle2ConstGridded2d gridded2d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Gridded2dSet", This, extract::gridded2d, gridded2d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h new file mode 100644 index 000000000..a8f25b161 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// S_table is the basic handle type in this file. Example: +// // Create a default S_table object: +// S_table handle = S_tableDefault(); +// Functions involving S_table are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_S_TABLE +#define C_INTERFACE_TRY_V2_0_TSL_S_TABLE + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Gridded2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct S_tableClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ S_table +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct S_tableClass *S_table; + +// --- Const-aware handles. +typedef const struct S_tableClass *const ConstHandle2ConstS_table; +typedef struct S_tableClass *const ConstHandle2S_table; +typedef const struct S_tableClass * Handle2ConstS_table; +typedef struct S_tableClass * Handle2S_table; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstS_table +S_tableDefaultConst(); + +// +++ Create, default +extern_c Handle2S_table +S_tableDefault(); + +// --- Create, general, const +extern_c Handle2ConstS_table +S_tableCreateConst( + ConstHandle2ConstGridded2d gridded2d +); + +// +++ Create, general +extern_c Handle2S_table +S_tableCreate( + ConstHandle2ConstGridded2d gridded2d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +S_tableAssign(ConstHandle2S_table This, ConstHandle2ConstS_table from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +S_tableDelete(ConstHandle2ConstS_table This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +S_tableRead(ConstHandle2S_table This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +S_tableWrite(ConstHandle2ConstS_table This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +S_tablePrint(ConstHandle2ConstS_table This); + +// +++ Print to standard output, as XML +extern_c int +S_tablePrintXML(ConstHandle2ConstS_table This); + +// +++ Print to standard output, as JSON +extern_c int +S_tablePrintJSON(ConstHandle2ConstS_table This); + + +// ----------------------------------------------------------------------------- +// Child: gridded2d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +S_tableGridded2dHas(ConstHandle2ConstS_table This); + +// --- Get, const +extern_c Handle2ConstGridded2d +S_tableGridded2dGetConst(ConstHandle2ConstS_table This); + +// +++ Get, non-const +extern_c Handle2Gridded2d +S_tableGridded2dGet(ConstHandle2S_table This); + +// +++ Set +extern_c void +S_tableGridded2dSet(ConstHandle2S_table This, ConstHandle2ConstGridded2d gridded2d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp new file mode 100644 index 000000000..15f55ff7c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp @@ -0,0 +1,580 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/ScatteringAtom.hpp" +#include "ScatteringAtom.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ScatteringAtomClass; +using CPP = multigroup::ScatteringAtom; + +static const std::string CLASSNAME = "ScatteringAtom"; + +namespace extract { + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto primaryScatterer = [](auto &obj) { return &obj.primaryScatterer; }; + static auto numberPerMolecule = [](auto &obj) { return &obj.numberPerMolecule; }; + static auto mass = [](auto &obj) { return &obj.mass; }; + static auto e_critical = [](auto &obj) { return &obj.e_critical; }; + static auto e_max = [](auto &obj) { return &obj.e_max; }; + static auto boundAtomCrossSection = [](auto &obj) { return &obj.boundAtomCrossSection; }; + static auto coherentAtomCrossSection = [](auto &obj) { return &obj.coherentAtomCrossSection; }; + static auto distinctScatteringKernel = [](auto &obj) { return &obj.distinctScatteringKernel; }; + static auto selfScatteringKernel = [](auto &obj) { return &obj.selfScatteringKernel; }; + static auto T_effective = [](auto &obj) { return &obj.T_effective; }; +} + +using CPPMass = ambiguousNamespace::Mass; +using CPPE_critical = tsl::E_critical; +using CPPE_max = tsl::E_max; +using CPPBoundAtomCrossSection = tsl::BoundAtomCrossSection; +using CPPCoherentAtomCrossSection = tsl::CoherentAtomCrossSection; +using CPPDistinctScatteringKernel = tsl::DistinctScatteringKernel; +using CPPSelfScatteringKernel = tsl::SelfScatteringKernel; +using CPPT_effective = tsl::T_effective; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstScatteringAtom +ScatteringAtomDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ScatteringAtom +ScatteringAtomDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstScatteringAtom +ScatteringAtomCreateConst( + const XMLName pid, + const bool primaryScatterer, + const Integer32 numberPerMolecule, + ConstHandle2ConstMass mass, + ConstHandle2ConstE_critical e_critical, + ConstHandle2ConstE_max e_max, + ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection, + ConstHandle2ConstCoherentAtomCrossSection coherentAtomCrossSection, + ConstHandle2ConstDistinctScatteringKernel distinctScatteringKernel, + ConstHandle2ConstSelfScatteringKernel selfScatteringKernel, + ConstHandle2ConstT_effective T_effective +) { + ConstHandle2ScatteringAtom handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + pid, + primaryScatterer, + numberPerMolecule, + detail::tocpp(mass), + detail::tocpp(e_critical), + detail::tocpp(e_max), + detail::tocpp(boundAtomCrossSection), + detail::tocpp(coherentAtomCrossSection), + detail::tocpp(distinctScatteringKernel), + detail::tocpp(selfScatteringKernel), + detail::tocpp(T_effective) + ); + return handle; +} + +// Create, general +Handle2ScatteringAtom +ScatteringAtomCreate( + const XMLName pid, + const bool primaryScatterer, + const Integer32 numberPerMolecule, + ConstHandle2ConstMass mass, + ConstHandle2ConstE_critical e_critical, + ConstHandle2ConstE_max e_max, + ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection, + ConstHandle2ConstCoherentAtomCrossSection coherentAtomCrossSection, + ConstHandle2ConstDistinctScatteringKernel distinctScatteringKernel, + ConstHandle2ConstSelfScatteringKernel selfScatteringKernel, + ConstHandle2ConstT_effective T_effective +) { + ConstHandle2ScatteringAtom handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + pid, + primaryScatterer, + numberPerMolecule, + detail::tocpp(mass), + detail::tocpp(e_critical), + detail::tocpp(e_max), + detail::tocpp(boundAtomCrossSection), + detail::tocpp(coherentAtomCrossSection), + detail::tocpp(distinctScatteringKernel), + detail::tocpp(selfScatteringKernel), + detail::tocpp(T_effective) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ScatteringAtomAssign(ConstHandle2ScatteringAtom This, ConstHandle2ConstScatteringAtom from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ScatteringAtomDelete(ConstHandle2ConstScatteringAtom This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ScatteringAtomRead(ConstHandle2ScatteringAtom This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ScatteringAtomWrite(ConstHandle2ConstScatteringAtom This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ScatteringAtomPrint(ConstHandle2ConstScatteringAtom This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ScatteringAtomPrintXML(ConstHandle2ConstScatteringAtom This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ScatteringAtomPrintJSON(ConstHandle2ConstScatteringAtom This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomPidHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +ScatteringAtomPidGet(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +ScatteringAtomPidSet(ConstHandle2ScatteringAtom This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: primaryScatterer +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomPrimaryScattererHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PrimaryScattererHas", This, extract::primaryScatterer); +} + +// Get +// Returns by value +bool +ScatteringAtomPrimaryScattererGet(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PrimaryScattererGet", This, extract::primaryScatterer); +} + +// Set +void +ScatteringAtomPrimaryScattererSet(ConstHandle2ScatteringAtom This, const bool primaryScatterer) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PrimaryScattererSet", This, extract::primaryScatterer, primaryScatterer); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: numberPerMolecule +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomNumberPerMoleculeHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NumberPerMoleculeHas", This, extract::numberPerMolecule); +} + +// Get +// Returns by value +Integer32 +ScatteringAtomNumberPerMoleculeGet(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NumberPerMoleculeGet", This, extract::numberPerMolecule); +} + +// Set +void +ScatteringAtomNumberPerMoleculeSet(ConstHandle2ScatteringAtom This, const Integer32 numberPerMolecule) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NumberPerMoleculeSet", This, extract::numberPerMolecule, numberPerMolecule); +} + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomMassHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"MassHas", This, extract::mass); +} + +// Get, const +Handle2ConstMass +ScatteringAtomMassGetConst(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGetConst", This, extract::mass); +} + +// Get, non-const +Handle2Mass +ScatteringAtomMassGet(ConstHandle2ScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"MassGet", This, extract::mass); +} + +// Set +void +ScatteringAtomMassSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstMass mass) +{ + detail::setField + (CLASSNAME, CLASSNAME+"MassSet", This, extract::mass, mass); +} + + +// ----------------------------------------------------------------------------- +// Child: e_critical +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomE_criticalHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"E_criticalHas", This, extract::e_critical); +} + +// Get, const +Handle2ConstE_critical +ScatteringAtomE_criticalGetConst(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"E_criticalGetConst", This, extract::e_critical); +} + +// Get, non-const +Handle2E_critical +ScatteringAtomE_criticalGet(ConstHandle2ScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"E_criticalGet", This, extract::e_critical); +} + +// Set +void +ScatteringAtomE_criticalSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstE_critical e_critical) +{ + detail::setField + (CLASSNAME, CLASSNAME+"E_criticalSet", This, extract::e_critical, e_critical); +} + + +// ----------------------------------------------------------------------------- +// Child: e_max +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomE_maxHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"E_maxHas", This, extract::e_max); +} + +// Get, const +Handle2ConstE_max +ScatteringAtomE_maxGetConst(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"E_maxGetConst", This, extract::e_max); +} + +// Get, non-const +Handle2E_max +ScatteringAtomE_maxGet(ConstHandle2ScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"E_maxGet", This, extract::e_max); +} + +// Set +void +ScatteringAtomE_maxSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstE_max e_max) +{ + detail::setField + (CLASSNAME, CLASSNAME+"E_maxSet", This, extract::e_max, e_max); +} + + +// ----------------------------------------------------------------------------- +// Child: boundAtomCrossSection +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomBoundAtomCrossSectionHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BoundAtomCrossSectionHas", This, extract::boundAtomCrossSection); +} + +// Get, const +Handle2ConstBoundAtomCrossSection +ScatteringAtomBoundAtomCrossSectionGetConst(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BoundAtomCrossSectionGetConst", This, extract::boundAtomCrossSection); +} + +// Get, non-const +Handle2BoundAtomCrossSection +ScatteringAtomBoundAtomCrossSectionGet(ConstHandle2ScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BoundAtomCrossSectionGet", This, extract::boundAtomCrossSection); +} + +// Set +void +ScatteringAtomBoundAtomCrossSectionSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BoundAtomCrossSectionSet", This, extract::boundAtomCrossSection, boundAtomCrossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: coherentAtomCrossSection +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomCoherentAtomCrossSectionHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CoherentAtomCrossSectionHas", This, extract::coherentAtomCrossSection); +} + +// Get, const +Handle2ConstCoherentAtomCrossSection +ScatteringAtomCoherentAtomCrossSectionGetConst(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CoherentAtomCrossSectionGetConst", This, extract::coherentAtomCrossSection); +} + +// Get, non-const +Handle2CoherentAtomCrossSection +ScatteringAtomCoherentAtomCrossSectionGet(ConstHandle2ScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CoherentAtomCrossSectionGet", This, extract::coherentAtomCrossSection); +} + +// Set +void +ScatteringAtomCoherentAtomCrossSectionSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstCoherentAtomCrossSection coherentAtomCrossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CoherentAtomCrossSectionSet", This, extract::coherentAtomCrossSection, coherentAtomCrossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: distinctScatteringKernel +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomDistinctScatteringKernelHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DistinctScatteringKernelHas", This, extract::distinctScatteringKernel); +} + +// Get, const +Handle2ConstDistinctScatteringKernel +ScatteringAtomDistinctScatteringKernelGetConst(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DistinctScatteringKernelGetConst", This, extract::distinctScatteringKernel); +} + +// Get, non-const +Handle2DistinctScatteringKernel +ScatteringAtomDistinctScatteringKernelGet(ConstHandle2ScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DistinctScatteringKernelGet", This, extract::distinctScatteringKernel); +} + +// Set +void +ScatteringAtomDistinctScatteringKernelSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstDistinctScatteringKernel distinctScatteringKernel) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DistinctScatteringKernelSet", This, extract::distinctScatteringKernel, distinctScatteringKernel); +} + + +// ----------------------------------------------------------------------------- +// Child: selfScatteringKernel +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomSelfScatteringKernelHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SelfScatteringKernelHas", This, extract::selfScatteringKernel); +} + +// Get, const +Handle2ConstSelfScatteringKernel +ScatteringAtomSelfScatteringKernelGetConst(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SelfScatteringKernelGetConst", This, extract::selfScatteringKernel); +} + +// Get, non-const +Handle2SelfScatteringKernel +ScatteringAtomSelfScatteringKernelGet(ConstHandle2ScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SelfScatteringKernelGet", This, extract::selfScatteringKernel); +} + +// Set +void +ScatteringAtomSelfScatteringKernelSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstSelfScatteringKernel selfScatteringKernel) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SelfScatteringKernelSet", This, extract::selfScatteringKernel, selfScatteringKernel); +} + + +// ----------------------------------------------------------------------------- +// Child: T_effective +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomT_effectiveHas(ConstHandle2ConstScatteringAtom This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"T_effectiveHas", This, extract::T_effective); +} + +// Get, const +Handle2ConstT_effective +ScatteringAtomT_effectiveGetConst(ConstHandle2ConstScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"T_effectiveGetConst", This, extract::T_effective); +} + +// Get, non-const +Handle2T_effective +ScatteringAtomT_effectiveGet(ConstHandle2ScatteringAtom This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"T_effectiveGet", This, extract::T_effective); +} + +// Set +void +ScatteringAtomT_effectiveSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstT_effective T_effective) +{ + detail::setField + (CLASSNAME, CLASSNAME+"T_effectiveSet", This, extract::T_effective, T_effective); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h new file mode 100644 index 000000000..1cba6252a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h @@ -0,0 +1,387 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ScatteringAtom is the basic handle type in this file. Example: +// // Create a default ScatteringAtom object: +// ScatteringAtom handle = ScatteringAtomDefault(); +// Functions involving ScatteringAtom are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOM +#define C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOM + +#include "GNDStk.h" +#include "v2.0/ambiguousNamespace/Mass.h" +#include "v2.0/tsl/E_critical.h" +#include "v2.0/tsl/E_max.h" +#include "v2.0/tsl/BoundAtomCrossSection.h" +#include "v2.0/tsl/CoherentAtomCrossSection.h" +#include "v2.0/tsl/DistinctScatteringKernel.h" +#include "v2.0/tsl/SelfScatteringKernel.h" +#include "v2.0/tsl/T_effective.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ScatteringAtomClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ScatteringAtom +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ScatteringAtomClass *ScatteringAtom; + +// --- Const-aware handles. +typedef const struct ScatteringAtomClass *const ConstHandle2ConstScatteringAtom; +typedef struct ScatteringAtomClass *const ConstHandle2ScatteringAtom; +typedef const struct ScatteringAtomClass * Handle2ConstScatteringAtom; +typedef struct ScatteringAtomClass * Handle2ScatteringAtom; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstScatteringAtom +ScatteringAtomDefaultConst(); + +// +++ Create, default +extern_c Handle2ScatteringAtom +ScatteringAtomDefault(); + +// --- Create, general, const +extern_c Handle2ConstScatteringAtom +ScatteringAtomCreateConst( + const XMLName pid, + const bool primaryScatterer, + const Integer32 numberPerMolecule, + ConstHandle2ConstMass mass, + ConstHandle2ConstE_critical e_critical, + ConstHandle2ConstE_max e_max, + ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection, + ConstHandle2ConstCoherentAtomCrossSection coherentAtomCrossSection, + ConstHandle2ConstDistinctScatteringKernel distinctScatteringKernel, + ConstHandle2ConstSelfScatteringKernel selfScatteringKernel, + ConstHandle2ConstT_effective T_effective +); + +// +++ Create, general +extern_c Handle2ScatteringAtom +ScatteringAtomCreate( + const XMLName pid, + const bool primaryScatterer, + const Integer32 numberPerMolecule, + ConstHandle2ConstMass mass, + ConstHandle2ConstE_critical e_critical, + ConstHandle2ConstE_max e_max, + ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection, + ConstHandle2ConstCoherentAtomCrossSection coherentAtomCrossSection, + ConstHandle2ConstDistinctScatteringKernel distinctScatteringKernel, + ConstHandle2ConstSelfScatteringKernel selfScatteringKernel, + ConstHandle2ConstT_effective T_effective +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ScatteringAtomAssign(ConstHandle2ScatteringAtom This, ConstHandle2ConstScatteringAtom from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ScatteringAtomDelete(ConstHandle2ConstScatteringAtom This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ScatteringAtomRead(ConstHandle2ScatteringAtom This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ScatteringAtomWrite(ConstHandle2ConstScatteringAtom This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ScatteringAtomPrint(ConstHandle2ConstScatteringAtom This); + +// +++ Print to standard output, as XML +extern_c int +ScatteringAtomPrintXML(ConstHandle2ConstScatteringAtom This); + +// +++ Print to standard output, as JSON +extern_c int +ScatteringAtomPrintJSON(ConstHandle2ConstScatteringAtom This); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomPidHas(ConstHandle2ConstScatteringAtom This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ScatteringAtomPidGet(ConstHandle2ConstScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomPidSet(ConstHandle2ScatteringAtom This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Metadatum: primaryScatterer +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomPrimaryScattererHas(ConstHandle2ConstScatteringAtom This); + +// +++ Get +// +++ Returns by value +extern_c bool +ScatteringAtomPrimaryScattererGet(ConstHandle2ConstScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomPrimaryScattererSet(ConstHandle2ScatteringAtom This, const bool primaryScatterer); + + +// ----------------------------------------------------------------------------- +// Metadatum: numberPerMolecule +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomNumberPerMoleculeHas(ConstHandle2ConstScatteringAtom This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ScatteringAtomNumberPerMoleculeGet(ConstHandle2ConstScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomNumberPerMoleculeSet(ConstHandle2ScatteringAtom This, const Integer32 numberPerMolecule); + + +// ----------------------------------------------------------------------------- +// Child: mass +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomMassHas(ConstHandle2ConstScatteringAtom This); + +// --- Get, const +extern_c Handle2ConstMass +ScatteringAtomMassGetConst(ConstHandle2ConstScatteringAtom This); + +// +++ Get, non-const +extern_c Handle2Mass +ScatteringAtomMassGet(ConstHandle2ScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomMassSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstMass mass); + + +// ----------------------------------------------------------------------------- +// Child: e_critical +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomE_criticalHas(ConstHandle2ConstScatteringAtom This); + +// --- Get, const +extern_c Handle2ConstE_critical +ScatteringAtomE_criticalGetConst(ConstHandle2ConstScatteringAtom This); + +// +++ Get, non-const +extern_c Handle2E_critical +ScatteringAtomE_criticalGet(ConstHandle2ScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomE_criticalSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstE_critical e_critical); + + +// ----------------------------------------------------------------------------- +// Child: e_max +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomE_maxHas(ConstHandle2ConstScatteringAtom This); + +// --- Get, const +extern_c Handle2ConstE_max +ScatteringAtomE_maxGetConst(ConstHandle2ConstScatteringAtom This); + +// +++ Get, non-const +extern_c Handle2E_max +ScatteringAtomE_maxGet(ConstHandle2ScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomE_maxSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstE_max e_max); + + +// ----------------------------------------------------------------------------- +// Child: boundAtomCrossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomBoundAtomCrossSectionHas(ConstHandle2ConstScatteringAtom This); + +// --- Get, const +extern_c Handle2ConstBoundAtomCrossSection +ScatteringAtomBoundAtomCrossSectionGetConst(ConstHandle2ConstScatteringAtom This); + +// +++ Get, non-const +extern_c Handle2BoundAtomCrossSection +ScatteringAtomBoundAtomCrossSectionGet(ConstHandle2ScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomBoundAtomCrossSectionSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection); + + +// ----------------------------------------------------------------------------- +// Child: coherentAtomCrossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomCoherentAtomCrossSectionHas(ConstHandle2ConstScatteringAtom This); + +// --- Get, const +extern_c Handle2ConstCoherentAtomCrossSection +ScatteringAtomCoherentAtomCrossSectionGetConst(ConstHandle2ConstScatteringAtom This); + +// +++ Get, non-const +extern_c Handle2CoherentAtomCrossSection +ScatteringAtomCoherentAtomCrossSectionGet(ConstHandle2ScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomCoherentAtomCrossSectionSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstCoherentAtomCrossSection coherentAtomCrossSection); + + +// ----------------------------------------------------------------------------- +// Child: distinctScatteringKernel +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomDistinctScatteringKernelHas(ConstHandle2ConstScatteringAtom This); + +// --- Get, const +extern_c Handle2ConstDistinctScatteringKernel +ScatteringAtomDistinctScatteringKernelGetConst(ConstHandle2ConstScatteringAtom This); + +// +++ Get, non-const +extern_c Handle2DistinctScatteringKernel +ScatteringAtomDistinctScatteringKernelGet(ConstHandle2ScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomDistinctScatteringKernelSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstDistinctScatteringKernel distinctScatteringKernel); + + +// ----------------------------------------------------------------------------- +// Child: selfScatteringKernel +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomSelfScatteringKernelHas(ConstHandle2ConstScatteringAtom This); + +// --- Get, const +extern_c Handle2ConstSelfScatteringKernel +ScatteringAtomSelfScatteringKernelGetConst(ConstHandle2ConstScatteringAtom This); + +// +++ Get, non-const +extern_c Handle2SelfScatteringKernel +ScatteringAtomSelfScatteringKernelGet(ConstHandle2ScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomSelfScatteringKernelSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstSelfScatteringKernel selfScatteringKernel); + + +// ----------------------------------------------------------------------------- +// Child: T_effective +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomT_effectiveHas(ConstHandle2ConstScatteringAtom This); + +// --- Get, const +extern_c Handle2ConstT_effective +ScatteringAtomT_effectiveGetConst(ConstHandle2ConstScatteringAtom This); + +// +++ Get, non-const +extern_c Handle2T_effective +ScatteringAtomT_effectiveGet(ConstHandle2ScatteringAtom This); + +// +++ Set +extern_c void +ScatteringAtomT_effectiveSet(ConstHandle2ScatteringAtom This, ConstHandle2ConstT_effective T_effective); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.cpp new file mode 100644 index 000000000..6fd109b84 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/ScatteringAtoms.hpp" +#include "ScatteringAtoms.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ScatteringAtomsClass; +using CPP = multigroup::ScatteringAtoms; + +static const std::string CLASSNAME = "ScatteringAtoms"; + +namespace extract { + static auto scatteringAtom = [](auto &obj) { return &obj.scatteringAtom; }; +} + +using CPPScatteringAtom = tsl::ScatteringAtom; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstScatteringAtoms +ScatteringAtomsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ScatteringAtoms +ScatteringAtomsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstScatteringAtoms +ScatteringAtomsCreateConst( + ConstHandle2ScatteringAtom *const scatteringAtom, const size_t scatteringAtomSize +) { + ConstHandle2ScatteringAtoms handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ScatteringAtomN = 0; ScatteringAtomN < scatteringAtomSize; ++ScatteringAtomN) + ScatteringAtomsScatteringAtomAdd(handle, scatteringAtom[ScatteringAtomN]); + return handle; +} + +// Create, general +Handle2ScatteringAtoms +ScatteringAtomsCreate( + ConstHandle2ScatteringAtom *const scatteringAtom, const size_t scatteringAtomSize +) { + ConstHandle2ScatteringAtoms handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ScatteringAtomN = 0; ScatteringAtomN < scatteringAtomSize; ++ScatteringAtomN) + ScatteringAtomsScatteringAtomAdd(handle, scatteringAtom[ScatteringAtomN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ScatteringAtomsAssign(ConstHandle2ScatteringAtoms This, ConstHandle2ConstScatteringAtoms from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ScatteringAtomsDelete(ConstHandle2ConstScatteringAtoms This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ScatteringAtomsRead(ConstHandle2ScatteringAtoms This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ScatteringAtomsWrite(ConstHandle2ConstScatteringAtoms This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ScatteringAtomsPrint(ConstHandle2ConstScatteringAtoms This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ScatteringAtomsPrintXML(ConstHandle2ConstScatteringAtoms This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ScatteringAtomsPrintJSON(ConstHandle2ConstScatteringAtoms This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: scatteringAtom +// ----------------------------------------------------------------------------- + +// Has +int +ScatteringAtomsScatteringAtomHas(ConstHandle2ConstScatteringAtoms This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ScatteringAtomHas", This, extract::scatteringAtom); +} + +// Clear +void +ScatteringAtomsScatteringAtomClear(ConstHandle2ScatteringAtoms This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ScatteringAtomClear", This, extract::scatteringAtom); +} + +// Size +size_t +ScatteringAtomsScatteringAtomSize(ConstHandle2ConstScatteringAtoms This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ScatteringAtomSize", This, extract::scatteringAtom); +} + +// Add +void +ScatteringAtomsScatteringAtomAdd(ConstHandle2ScatteringAtoms This, ConstHandle2ConstScatteringAtom scatteringAtom) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ScatteringAtomAdd", This, extract::scatteringAtom, scatteringAtom); +} + +// Get, by index \in [0,size), const +Handle2ConstScatteringAtom +ScatteringAtomsScatteringAtomGetConst(ConstHandle2ConstScatteringAtoms This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ScatteringAtomGetConst", This, extract::scatteringAtom, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ScatteringAtom +ScatteringAtomsScatteringAtomGet(ConstHandle2ScatteringAtoms This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ScatteringAtomGet", This, extract::scatteringAtom, index_); +} + +// Set, by index \in [0,size) +void +ScatteringAtomsScatteringAtomSet( + ConstHandle2ScatteringAtoms This, + const size_t index_, + ConstHandle2ConstScatteringAtom scatteringAtom +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ScatteringAtomSet", This, extract::scatteringAtom, index_, scatteringAtom); +} + +// Has, by pid +int +ScatteringAtomsScatteringAtomHasByPid( + ConstHandle2ConstScatteringAtoms This, + const XMLName pid +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomHasByPid", + This, extract::scatteringAtom, meta::pid, pid); +} + +// Get, by pid, const +Handle2ConstScatteringAtom +ScatteringAtomsScatteringAtomGetByPidConst( + ConstHandle2ConstScatteringAtoms This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomGetByPidConst", + This, extract::scatteringAtom, meta::pid, pid); +} + +// Get, by pid, non-const +Handle2ScatteringAtom +ScatteringAtomsScatteringAtomGetByPid( + ConstHandle2ScatteringAtoms This, + const XMLName pid +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomGetByPid", + This, extract::scatteringAtom, meta::pid, pid); +} + +// Set, by pid +void +ScatteringAtomsScatteringAtomSetByPid( + ConstHandle2ScatteringAtoms This, + const XMLName pid, + ConstHandle2ConstScatteringAtom scatteringAtom +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomSetByPid", + This, extract::scatteringAtom, meta::pid, pid, scatteringAtom); +} + +// Has, by primaryScatterer +int +ScatteringAtomsScatteringAtomHasByPrimaryScatterer( + ConstHandle2ConstScatteringAtoms This, + const bool primaryScatterer +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomHasByPrimaryScatterer", + This, extract::scatteringAtom, meta::primaryScatterer, primaryScatterer); +} + +// Get, by primaryScatterer, const +Handle2ConstScatteringAtom +ScatteringAtomsScatteringAtomGetByPrimaryScattererConst( + ConstHandle2ConstScatteringAtoms This, + const bool primaryScatterer +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomGetByPrimaryScattererConst", + This, extract::scatteringAtom, meta::primaryScatterer, primaryScatterer); +} + +// Get, by primaryScatterer, non-const +Handle2ScatteringAtom +ScatteringAtomsScatteringAtomGetByPrimaryScatterer( + ConstHandle2ScatteringAtoms This, + const bool primaryScatterer +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomGetByPrimaryScatterer", + This, extract::scatteringAtom, meta::primaryScatterer, primaryScatterer); +} + +// Set, by primaryScatterer +void +ScatteringAtomsScatteringAtomSetByPrimaryScatterer( + ConstHandle2ScatteringAtoms This, + const bool primaryScatterer, + ConstHandle2ConstScatteringAtom scatteringAtom +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomSetByPrimaryScatterer", + This, extract::scatteringAtom, meta::primaryScatterer, primaryScatterer, scatteringAtom); +} + +// Has, by numberPerMolecule +int +ScatteringAtomsScatteringAtomHasByNumberPerMolecule( + ConstHandle2ConstScatteringAtoms This, + const Integer32 numberPerMolecule +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomHasByNumberPerMolecule", + This, extract::scatteringAtom, meta::numberPerMolecule, numberPerMolecule); +} + +// Get, by numberPerMolecule, const +Handle2ConstScatteringAtom +ScatteringAtomsScatteringAtomGetByNumberPerMoleculeConst( + ConstHandle2ConstScatteringAtoms This, + const Integer32 numberPerMolecule +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomGetByNumberPerMoleculeConst", + This, extract::scatteringAtom, meta::numberPerMolecule, numberPerMolecule); +} + +// Get, by numberPerMolecule, non-const +Handle2ScatteringAtom +ScatteringAtomsScatteringAtomGetByNumberPerMolecule( + ConstHandle2ScatteringAtoms This, + const Integer32 numberPerMolecule +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomGetByNumberPerMolecule", + This, extract::scatteringAtom, meta::numberPerMolecule, numberPerMolecule); +} + +// Set, by numberPerMolecule +void +ScatteringAtomsScatteringAtomSetByNumberPerMolecule( + ConstHandle2ScatteringAtoms This, + const Integer32 numberPerMolecule, + ConstHandle2ConstScatteringAtom scatteringAtom +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ScatteringAtomSetByNumberPerMolecule", + This, extract::scatteringAtom, meta::numberPerMolecule, numberPerMolecule, scatteringAtom); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.h new file mode 100644 index 000000000..515ba8284 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ScatteringAtoms is the basic handle type in this file. Example: +// // Create a default ScatteringAtoms object: +// ScatteringAtoms handle = ScatteringAtomsDefault(); +// Functions involving ScatteringAtoms are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOMS +#define C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOMS + +#include "GNDStk.h" +#include "v2.0/tsl/ScatteringAtom.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ScatteringAtomsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ScatteringAtoms +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ScatteringAtomsClass *ScatteringAtoms; + +// --- Const-aware handles. +typedef const struct ScatteringAtomsClass *const ConstHandle2ConstScatteringAtoms; +typedef struct ScatteringAtomsClass *const ConstHandle2ScatteringAtoms; +typedef const struct ScatteringAtomsClass * Handle2ConstScatteringAtoms; +typedef struct ScatteringAtomsClass * Handle2ScatteringAtoms; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstScatteringAtoms +ScatteringAtomsDefaultConst(); + +// +++ Create, default +extern_c Handle2ScatteringAtoms +ScatteringAtomsDefault(); + +// --- Create, general, const +extern_c Handle2ConstScatteringAtoms +ScatteringAtomsCreateConst( + ConstHandle2ScatteringAtom *const scatteringAtom, const size_t scatteringAtomSize +); + +// +++ Create, general +extern_c Handle2ScatteringAtoms +ScatteringAtomsCreate( + ConstHandle2ScatteringAtom *const scatteringAtom, const size_t scatteringAtomSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ScatteringAtomsAssign(ConstHandle2ScatteringAtoms This, ConstHandle2ConstScatteringAtoms from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ScatteringAtomsDelete(ConstHandle2ConstScatteringAtoms This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ScatteringAtomsRead(ConstHandle2ScatteringAtoms This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ScatteringAtomsWrite(ConstHandle2ConstScatteringAtoms This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ScatteringAtomsPrint(ConstHandle2ConstScatteringAtoms This); + +// +++ Print to standard output, as XML +extern_c int +ScatteringAtomsPrintXML(ConstHandle2ConstScatteringAtoms This); + +// +++ Print to standard output, as JSON +extern_c int +ScatteringAtomsPrintJSON(ConstHandle2ConstScatteringAtoms This); + + +// ----------------------------------------------------------------------------- +// Child: scatteringAtom +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ScatteringAtomsScatteringAtomHas(ConstHandle2ConstScatteringAtoms This); + +// +++ Clear +extern_c void +ScatteringAtomsScatteringAtomClear(ConstHandle2ScatteringAtoms This); + +// +++ Size +extern_c size_t +ScatteringAtomsScatteringAtomSize(ConstHandle2ConstScatteringAtoms This); + +// +++ Add +extern_c void +ScatteringAtomsScatteringAtomAdd(ConstHandle2ScatteringAtoms This, ConstHandle2ConstScatteringAtom scatteringAtom); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstScatteringAtom +ScatteringAtomsScatteringAtomGetConst(ConstHandle2ConstScatteringAtoms This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ScatteringAtom +ScatteringAtomsScatteringAtomGet(ConstHandle2ScatteringAtoms This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ScatteringAtomsScatteringAtomSet( + ConstHandle2ScatteringAtoms This, + const size_t index_, + ConstHandle2ConstScatteringAtom scatteringAtom +); + +// +++ Has, by pid +extern_c int +ScatteringAtomsScatteringAtomHasByPid( + ConstHandle2ConstScatteringAtoms This, + const XMLName pid +); + +// --- Get, by pid, const +extern_c Handle2ConstScatteringAtom +ScatteringAtomsScatteringAtomGetByPidConst( + ConstHandle2ConstScatteringAtoms This, + const XMLName pid +); + +// +++ Get, by pid, non-const +extern_c Handle2ScatteringAtom +ScatteringAtomsScatteringAtomGetByPid( + ConstHandle2ScatteringAtoms This, + const XMLName pid +); + +// +++ Set, by pid +extern_c void +ScatteringAtomsScatteringAtomSetByPid( + ConstHandle2ScatteringAtoms This, + const XMLName pid, + ConstHandle2ConstScatteringAtom scatteringAtom +); + +// +++ Has, by primaryScatterer +extern_c int +ScatteringAtomsScatteringAtomHasByPrimaryScatterer( + ConstHandle2ConstScatteringAtoms This, + const bool primaryScatterer +); + +// --- Get, by primaryScatterer, const +extern_c Handle2ConstScatteringAtom +ScatteringAtomsScatteringAtomGetByPrimaryScattererConst( + ConstHandle2ConstScatteringAtoms This, + const bool primaryScatterer +); + +// +++ Get, by primaryScatterer, non-const +extern_c Handle2ScatteringAtom +ScatteringAtomsScatteringAtomGetByPrimaryScatterer( + ConstHandle2ScatteringAtoms This, + const bool primaryScatterer +); + +// +++ Set, by primaryScatterer +extern_c void +ScatteringAtomsScatteringAtomSetByPrimaryScatterer( + ConstHandle2ScatteringAtoms This, + const bool primaryScatterer, + ConstHandle2ConstScatteringAtom scatteringAtom +); + +// +++ Has, by numberPerMolecule +extern_c int +ScatteringAtomsScatteringAtomHasByNumberPerMolecule( + ConstHandle2ConstScatteringAtoms This, + const Integer32 numberPerMolecule +); + +// --- Get, by numberPerMolecule, const +extern_c Handle2ConstScatteringAtom +ScatteringAtomsScatteringAtomGetByNumberPerMoleculeConst( + ConstHandle2ConstScatteringAtoms This, + const Integer32 numberPerMolecule +); + +// +++ Get, by numberPerMolecule, non-const +extern_c Handle2ScatteringAtom +ScatteringAtomsScatteringAtomGetByNumberPerMolecule( + ConstHandle2ScatteringAtoms This, + const Integer32 numberPerMolecule +); + +// +++ Set, by numberPerMolecule +extern_c void +ScatteringAtomsScatteringAtomSetByNumberPerMolecule( + ConstHandle2ScatteringAtoms This, + const Integer32 numberPerMolecule, + ConstHandle2ConstScatteringAtom scatteringAtom +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp new file mode 100644 index 000000000..0bf5e7c62 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp @@ -0,0 +1,170 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/SelfScatteringKernel.hpp" +#include "SelfScatteringKernel.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = SelfScatteringKernelClass; +using CPP = multigroup::SelfScatteringKernel; + +static const std::string CLASSNAME = "SelfScatteringKernel"; + +namespace extract { + static auto symmetric = [](auto &obj) { return &obj.symmetric; }; +} + +using CPPGridded3d = unknownNamespace::Gridded3d; +using CPPGaussianApproximation = tsl::GaussianApproximation; +using CPPSCTApproximation = tsl::SCTApproximation; +using CPPFreeGasApproximation = tsl::FreeGasApproximation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstSelfScatteringKernel +SelfScatteringKernelDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2SelfScatteringKernel +SelfScatteringKernelDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstSelfScatteringKernel +SelfScatteringKernelCreateConst( + const bool symmetric, +) { + ConstHandle2SelfScatteringKernel handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + symmetric + ); + return handle; +} + +// Create, general +Handle2SelfScatteringKernel +SelfScatteringKernelCreate( + const bool symmetric, +) { + ConstHandle2SelfScatteringKernel handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + symmetric + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +SelfScatteringKernelAssign(ConstHandle2SelfScatteringKernel This, ConstHandle2ConstSelfScatteringKernel from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +SelfScatteringKernelDelete(ConstHandle2ConstSelfScatteringKernel This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +SelfScatteringKernelRead(ConstHandle2SelfScatteringKernel This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +SelfScatteringKernelWrite(ConstHandle2ConstSelfScatteringKernel This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +SelfScatteringKernelPrint(ConstHandle2ConstSelfScatteringKernel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +SelfScatteringKernelPrintXML(ConstHandle2ConstSelfScatteringKernel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +SelfScatteringKernelPrintJSON(ConstHandle2ConstSelfScatteringKernel This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: symmetric +// ----------------------------------------------------------------------------- + +// Has +int +SelfScatteringKernelSymmetricHas(ConstHandle2ConstSelfScatteringKernel This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SymmetricHas", This, extract::symmetric); +} + +// Get +// Returns by value +bool +SelfScatteringKernelSymmetricGet(ConstHandle2ConstSelfScatteringKernel This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SymmetricGet", This, extract::symmetric); +} + +// Set +void +SelfScatteringKernelSymmetricSet(ConstHandle2SelfScatteringKernel This, const bool symmetric) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SymmetricSet", This, extract::symmetric, symmetric); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h new file mode 100644 index 000000000..7e235eabd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// SelfScatteringKernel is the basic handle type in this file. Example: +// // Create a default SelfScatteringKernel object: +// SelfScatteringKernel handle = SelfScatteringKernelDefault(); +// Functions involving SelfScatteringKernel are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_SELFSCATTERINGKERNEL +#define C_INTERFACE_TRY_V2_0_TSL_SELFSCATTERINGKERNEL + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Gridded3d.h" +#include "v2.0/tsl/GaussianApproximation.h" +#include "v2.0/tsl/SCTApproximation.h" +#include "v2.0/tsl/FreeGasApproximation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct SelfScatteringKernelClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ SelfScatteringKernel +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct SelfScatteringKernelClass *SelfScatteringKernel; + +// --- Const-aware handles. +typedef const struct SelfScatteringKernelClass *const ConstHandle2ConstSelfScatteringKernel; +typedef struct SelfScatteringKernelClass *const ConstHandle2SelfScatteringKernel; +typedef const struct SelfScatteringKernelClass * Handle2ConstSelfScatteringKernel; +typedef struct SelfScatteringKernelClass * Handle2SelfScatteringKernel; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstSelfScatteringKernel +SelfScatteringKernelDefaultConst(); + +// +++ Create, default +extern_c Handle2SelfScatteringKernel +SelfScatteringKernelDefault(); + +// --- Create, general, const +extern_c Handle2ConstSelfScatteringKernel +SelfScatteringKernelCreateConst( + const bool symmetric, +); + +// +++ Create, general +extern_c Handle2SelfScatteringKernel +SelfScatteringKernelCreate( + const bool symmetric, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +SelfScatteringKernelAssign(ConstHandle2SelfScatteringKernel This, ConstHandle2ConstSelfScatteringKernel from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +SelfScatteringKernelDelete(ConstHandle2ConstSelfScatteringKernel This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +SelfScatteringKernelRead(ConstHandle2SelfScatteringKernel This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +SelfScatteringKernelWrite(ConstHandle2ConstSelfScatteringKernel This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +SelfScatteringKernelPrint(ConstHandle2ConstSelfScatteringKernel This); + +// +++ Print to standard output, as XML +extern_c int +SelfScatteringKernelPrintXML(ConstHandle2ConstSelfScatteringKernel This); + +// +++ Print to standard output, as JSON +extern_c int +SelfScatteringKernelPrintJSON(ConstHandle2ConstSelfScatteringKernel This); + + +// ----------------------------------------------------------------------------- +// Metadatum: symmetric +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +SelfScatteringKernelSymmetricHas(ConstHandle2ConstSelfScatteringKernel This); + +// +++ Get +// +++ Returns by value +extern_c bool +SelfScatteringKernelSymmetricGet(ConstHandle2ConstSelfScatteringKernel This); + +// +++ Set +extern_c void +SelfScatteringKernelSymmetricSet(ConstHandle2SelfScatteringKernel This, const bool symmetric); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp new file mode 100644 index 000000000..19a598db2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/StructureFactor.hpp" +#include "StructureFactor.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = StructureFactorClass; +using CPP = multigroup::StructureFactor; + +static const std::string CLASSNAME = "StructureFactor"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstStructureFactor +StructureFactorDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2StructureFactor +StructureFactorDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstStructureFactor +StructureFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2StructureFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Create, general +Handle2StructureFactor +StructureFactorCreate( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2StructureFactor handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +StructureFactorAssign(ConstHandle2StructureFactor This, ConstHandle2ConstStructureFactor from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +StructureFactorDelete(ConstHandle2ConstStructureFactor This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +StructureFactorRead(ConstHandle2StructureFactor This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +StructureFactorWrite(ConstHandle2ConstStructureFactor This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +StructureFactorPrint(ConstHandle2ConstStructureFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +StructureFactorPrintXML(ConstHandle2ConstStructureFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +StructureFactorPrintJSON(ConstHandle2ConstStructureFactor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +StructureFactorXYs1dHas(ConstHandle2ConstStructureFactor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +StructureFactorXYs1dGetConst(ConstHandle2ConstStructureFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +StructureFactorXYs1dGet(ConstHandle2StructureFactor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +StructureFactorXYs1dSet(ConstHandle2StructureFactor This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h new file mode 100644 index 000000000..55fbfe067 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// StructureFactor is the basic handle type in this file. Example: +// // Create a default StructureFactor object: +// StructureFactor handle = StructureFactorDefault(); +// Functions involving StructureFactor are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_STRUCTUREFACTOR +#define C_INTERFACE_TRY_V2_0_TSL_STRUCTUREFACTOR + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct StructureFactorClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ StructureFactor +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct StructureFactorClass *StructureFactor; + +// --- Const-aware handles. +typedef const struct StructureFactorClass *const ConstHandle2ConstStructureFactor; +typedef struct StructureFactorClass *const ConstHandle2StructureFactor; +typedef const struct StructureFactorClass * Handle2ConstStructureFactor; +typedef struct StructureFactorClass * Handle2StructureFactor; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstStructureFactor +StructureFactorDefaultConst(); + +// +++ Create, default +extern_c Handle2StructureFactor +StructureFactorDefault(); + +// --- Create, general, const +extern_c Handle2ConstStructureFactor +StructureFactorCreateConst( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Create, general +extern_c Handle2StructureFactor +StructureFactorCreate( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +StructureFactorAssign(ConstHandle2StructureFactor This, ConstHandle2ConstStructureFactor from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +StructureFactorDelete(ConstHandle2ConstStructureFactor This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +StructureFactorRead(ConstHandle2StructureFactor This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +StructureFactorWrite(ConstHandle2ConstStructureFactor This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +StructureFactorPrint(ConstHandle2ConstStructureFactor This); + +// +++ Print to standard output, as XML +extern_c int +StructureFactorPrintXML(ConstHandle2ConstStructureFactor This); + +// +++ Print to standard output, as JSON +extern_c int +StructureFactorPrintJSON(ConstHandle2ConstStructureFactor This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StructureFactorXYs1dHas(ConstHandle2ConstStructureFactor This); + +// --- Get, const +extern_c Handle2ConstXYs1d +StructureFactorXYs1dGetConst(ConstHandle2ConstStructureFactor This); + +// +++ Get, non-const +extern_c Handle2XYs1d +StructureFactorXYs1dGet(ConstHandle2StructureFactor This); + +// +++ Set +extern_c void +StructureFactorXYs1dSet(ConstHandle2StructureFactor This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp new file mode 100644 index 000000000..d27740cf9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/T_effective.hpp" +#include "T_effective.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = T_effectiveClass; +using CPP = multigroup::T_effective; + +static const std::string CLASSNAME = "T_effective"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; +} + +using CPPXYs1d = unknownNamespace::XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstT_effective +T_effectiveDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2T_effective +T_effectiveDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstT_effective +T_effectiveCreateConst( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2T_effective handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Create, general +Handle2T_effective +T_effectiveCreate( + ConstHandle2ConstXYs1d XYs1d +) { + ConstHandle2T_effective handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +T_effectiveAssign(ConstHandle2T_effective This, ConstHandle2ConstT_effective from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +T_effectiveDelete(ConstHandle2ConstT_effective This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +T_effectiveRead(ConstHandle2T_effective This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +T_effectiveWrite(ConstHandle2ConstT_effective This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +T_effectivePrint(ConstHandle2ConstT_effective This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +T_effectivePrintXML(ConstHandle2ConstT_effective This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +T_effectivePrintJSON(ConstHandle2ConstT_effective This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +T_effectiveXYs1dHas(ConstHandle2ConstT_effective This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +T_effectiveXYs1dGetConst(ConstHandle2ConstT_effective This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +T_effectiveXYs1dGet(ConstHandle2T_effective This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +T_effectiveXYs1dSet(ConstHandle2T_effective This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h new file mode 100644 index 000000000..494605db2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// T_effective is the basic handle type in this file. Example: +// // Create a default T_effective object: +// T_effective handle = T_effectiveDefault(); +// Functions involving T_effective are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_T_EFFECTIVE +#define C_INTERFACE_TRY_V2_0_TSL_T_EFFECTIVE + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/XYs1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct T_effectiveClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ T_effective +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct T_effectiveClass *T_effective; + +// --- Const-aware handles. +typedef const struct T_effectiveClass *const ConstHandle2ConstT_effective; +typedef struct T_effectiveClass *const ConstHandle2T_effective; +typedef const struct T_effectiveClass * Handle2ConstT_effective; +typedef struct T_effectiveClass * Handle2T_effective; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstT_effective +T_effectiveDefaultConst(); + +// +++ Create, default +extern_c Handle2T_effective +T_effectiveDefault(); + +// --- Create, general, const +extern_c Handle2ConstT_effective +T_effectiveCreateConst( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Create, general +extern_c Handle2T_effective +T_effectiveCreate( + ConstHandle2ConstXYs1d XYs1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +T_effectiveAssign(ConstHandle2T_effective This, ConstHandle2ConstT_effective from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +T_effectiveDelete(ConstHandle2ConstT_effective This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +T_effectiveRead(ConstHandle2T_effective This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +T_effectiveWrite(ConstHandle2ConstT_effective This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +T_effectivePrint(ConstHandle2ConstT_effective This); + +// +++ Print to standard output, as XML +extern_c int +T_effectivePrintXML(ConstHandle2ConstT_effective This); + +// +++ Print to standard output, as JSON +extern_c int +T_effectivePrintJSON(ConstHandle2ConstT_effective This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +T_effectiveXYs1dHas(ConstHandle2ConstT_effective This); + +// --- Get, const +extern_c Handle2ConstXYs1d +T_effectiveXYs1dGetConst(ConstHandle2ConstT_effective This); + +// +++ Get, non-const +extern_c Handle2XYs1d +T_effectiveXYs1dGet(ConstHandle2T_effective This); + +// +++ Set +extern_c void +T_effectiveXYs1dSet(ConstHandle2T_effective This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp new file mode 100644 index 000000000..ab0bea235 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "ThermalNeutronScatteringLaw.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ThermalNeutronScatteringLawClass; +using CPP = multigroup::ThermalNeutronScatteringLaw; + +static const std::string CLASSNAME = "ThermalNeutronScatteringLaw"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstThermalNeutronScatteringLaw +ThermalNeutronScatteringLawDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ThermalNeutronScatteringLaw +ThermalNeutronScatteringLawDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstThermalNeutronScatteringLaw +ThermalNeutronScatteringLawCreateConst( + const XMLName label, + const XMLName href +) { + ConstHandle2ThermalNeutronScatteringLaw handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + href + ); + return handle; +} + +// Create, general +Handle2ThermalNeutronScatteringLaw +ThermalNeutronScatteringLawCreate( + const XMLName label, + const XMLName href +) { + ConstHandle2ThermalNeutronScatteringLaw handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ThermalNeutronScatteringLawAssign(ConstHandle2ThermalNeutronScatteringLaw This, ConstHandle2ConstThermalNeutronScatteringLaw from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ThermalNeutronScatteringLawDelete(ConstHandle2ConstThermalNeutronScatteringLaw This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ThermalNeutronScatteringLawRead(ConstHandle2ThermalNeutronScatteringLaw This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ThermalNeutronScatteringLawWrite(ConstHandle2ConstThermalNeutronScatteringLaw This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ThermalNeutronScatteringLawPrint(ConstHandle2ConstThermalNeutronScatteringLaw This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ThermalNeutronScatteringLawPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ThermalNeutronScatteringLawPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLawLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLawLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ThermalNeutronScatteringLawLabelSet(ConstHandle2ThermalNeutronScatteringLaw This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLawHrefHas(ConstHandle2ConstThermalNeutronScatteringLaw This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLawHrefGet(ConstHandle2ConstThermalNeutronScatteringLaw This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ThermalNeutronScatteringLawHrefSet(ConstHandle2ThermalNeutronScatteringLaw This, const XMLName href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h new file mode 100644 index 000000000..8fc339109 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ThermalNeutronScatteringLaw is the basic handle type in this file. Example: +// // Create a default ThermalNeutronScatteringLaw object: +// ThermalNeutronScatteringLaw handle = ThermalNeutronScatteringLawDefault(); +// Functions involving ThermalNeutronScatteringLaw are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW +#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ThermalNeutronScatteringLawClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ThermalNeutronScatteringLaw +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ThermalNeutronScatteringLawClass *ThermalNeutronScatteringLaw; + +// --- Const-aware handles. +typedef const struct ThermalNeutronScatteringLawClass *const ConstHandle2ConstThermalNeutronScatteringLaw; +typedef struct ThermalNeutronScatteringLawClass *const ConstHandle2ThermalNeutronScatteringLaw; +typedef const struct ThermalNeutronScatteringLawClass * Handle2ConstThermalNeutronScatteringLaw; +typedef struct ThermalNeutronScatteringLawClass * Handle2ThermalNeutronScatteringLaw; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstThermalNeutronScatteringLaw +ThermalNeutronScatteringLawDefaultConst(); + +// +++ Create, default +extern_c Handle2ThermalNeutronScatteringLaw +ThermalNeutronScatteringLawDefault(); + +// --- Create, general, const +extern_c Handle2ConstThermalNeutronScatteringLaw +ThermalNeutronScatteringLawCreateConst( + const XMLName label, + const XMLName href +); + +// +++ Create, general +extern_c Handle2ThermalNeutronScatteringLaw +ThermalNeutronScatteringLawCreate( + const XMLName label, + const XMLName href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ThermalNeutronScatteringLawAssign(ConstHandle2ThermalNeutronScatteringLaw This, ConstHandle2ConstThermalNeutronScatteringLaw from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ThermalNeutronScatteringLawDelete(ConstHandle2ConstThermalNeutronScatteringLaw This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ThermalNeutronScatteringLawRead(ConstHandle2ThermalNeutronScatteringLaw This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ThermalNeutronScatteringLawWrite(ConstHandle2ConstThermalNeutronScatteringLaw This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ThermalNeutronScatteringLawPrint(ConstHandle2ConstThermalNeutronScatteringLaw This); + +// +++ Print to standard output, as XML +extern_c int +ThermalNeutronScatteringLawPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw This); + +// +++ Print to standard output, as JSON +extern_c int +ThermalNeutronScatteringLawPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLawLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLawLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLawLabelSet(ConstHandle2ThermalNeutronScatteringLaw This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLawHrefHas(ConstHandle2ConstThermalNeutronScatteringLaw This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLawHrefGet(ConstHandle2ConstThermalNeutronScatteringLaw This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLawHrefSet(ConstHandle2ThermalNeutronScatteringLaw This, const XMLName href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp new file mode 100644 index 000000000..ac051ea4a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "ThermalNeutronScatteringLaw1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ThermalNeutronScatteringLaw1dClass; +using CPP = multigroup::ThermalNeutronScatteringLaw1d; + +static const std::string CLASSNAME = "ThermalNeutronScatteringLaw1d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstThermalNeutronScatteringLaw1d +ThermalNeutronScatteringLaw1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ThermalNeutronScatteringLaw1d +ThermalNeutronScatteringLaw1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstThermalNeutronScatteringLaw1d +ThermalNeutronScatteringLaw1dCreateConst( + const XMLName label, + const XMLName href +) { + ConstHandle2ThermalNeutronScatteringLaw1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + href + ); + return handle; +} + +// Create, general +Handle2ThermalNeutronScatteringLaw1d +ThermalNeutronScatteringLaw1dCreate( + const XMLName label, + const XMLName href +) { + ConstHandle2ThermalNeutronScatteringLaw1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ThermalNeutronScatteringLaw1dAssign(ConstHandle2ThermalNeutronScatteringLaw1d This, ConstHandle2ConstThermalNeutronScatteringLaw1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ThermalNeutronScatteringLaw1dDelete(ConstHandle2ConstThermalNeutronScatteringLaw1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ThermalNeutronScatteringLaw1dRead(ConstHandle2ThermalNeutronScatteringLaw1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ThermalNeutronScatteringLaw1dWrite(ConstHandle2ConstThermalNeutronScatteringLaw1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ThermalNeutronScatteringLaw1dPrint(ConstHandle2ConstThermalNeutronScatteringLaw1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ThermalNeutronScatteringLaw1dPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ThermalNeutronScatteringLaw1dPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw1dLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw1dLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ThermalNeutronScatteringLaw1dLabelSet(ConstHandle2ThermalNeutronScatteringLaw1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw1dHrefHas(ConstHandle2ConstThermalNeutronScatteringLaw1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw1dHrefGet(ConstHandle2ConstThermalNeutronScatteringLaw1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ThermalNeutronScatteringLaw1dHrefSet(ConstHandle2ThermalNeutronScatteringLaw1d This, const XMLName href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h new file mode 100644 index 000000000..80c5f7957 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ThermalNeutronScatteringLaw1d is the basic handle type in this file. Example: +// // Create a default ThermalNeutronScatteringLaw1d object: +// ThermalNeutronScatteringLaw1d handle = ThermalNeutronScatteringLaw1dDefault(); +// Functions involving ThermalNeutronScatteringLaw1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW1D +#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW1D + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ThermalNeutronScatteringLaw1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ThermalNeutronScatteringLaw1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ThermalNeutronScatteringLaw1dClass *ThermalNeutronScatteringLaw1d; + +// --- Const-aware handles. +typedef const struct ThermalNeutronScatteringLaw1dClass *const ConstHandle2ConstThermalNeutronScatteringLaw1d; +typedef struct ThermalNeutronScatteringLaw1dClass *const ConstHandle2ThermalNeutronScatteringLaw1d; +typedef const struct ThermalNeutronScatteringLaw1dClass * Handle2ConstThermalNeutronScatteringLaw1d; +typedef struct ThermalNeutronScatteringLaw1dClass * Handle2ThermalNeutronScatteringLaw1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstThermalNeutronScatteringLaw1d +ThermalNeutronScatteringLaw1dDefaultConst(); + +// +++ Create, default +extern_c Handle2ThermalNeutronScatteringLaw1d +ThermalNeutronScatteringLaw1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstThermalNeutronScatteringLaw1d +ThermalNeutronScatteringLaw1dCreateConst( + const XMLName label, + const XMLName href +); + +// +++ Create, general +extern_c Handle2ThermalNeutronScatteringLaw1d +ThermalNeutronScatteringLaw1dCreate( + const XMLName label, + const XMLName href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ThermalNeutronScatteringLaw1dAssign(ConstHandle2ThermalNeutronScatteringLaw1d This, ConstHandle2ConstThermalNeutronScatteringLaw1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ThermalNeutronScatteringLaw1dDelete(ConstHandle2ConstThermalNeutronScatteringLaw1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ThermalNeutronScatteringLaw1dRead(ConstHandle2ThermalNeutronScatteringLaw1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ThermalNeutronScatteringLaw1dWrite(ConstHandle2ConstThermalNeutronScatteringLaw1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ThermalNeutronScatteringLaw1dPrint(ConstHandle2ConstThermalNeutronScatteringLaw1d This); + +// +++ Print to standard output, as XML +extern_c int +ThermalNeutronScatteringLaw1dPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw1d This); + +// +++ Print to standard output, as JSON +extern_c int +ThermalNeutronScatteringLaw1dPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw1dLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw1dLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw1d This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw1dLabelSet(ConstHandle2ThermalNeutronScatteringLaw1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw1dHrefHas(ConstHandle2ConstThermalNeutronScatteringLaw1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw1dHrefGet(ConstHandle2ConstThermalNeutronScatteringLaw1d This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw1dHrefSet(ConstHandle2ThermalNeutronScatteringLaw1d This, const XMLName href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp new file mode 100644 index 000000000..d4ac19a21 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp @@ -0,0 +1,238 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "ThermalNeutronScatteringLaw_coherentElastic.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ThermalNeutronScatteringLaw_coherentElasticClass; +using CPP = multigroup::ThermalNeutronScatteringLaw_coherentElastic; + +static const std::string CLASSNAME = "ThermalNeutronScatteringLaw_coherentElastic"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; +} + +using CPPS_table = tsl::S_table; +using CPPBraggEdges = tsl::BraggEdges; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstThermalNeutronScatteringLaw_coherentElastic +ThermalNeutronScatteringLaw_coherentElasticDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ThermalNeutronScatteringLaw_coherentElastic +ThermalNeutronScatteringLaw_coherentElasticDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstThermalNeutronScatteringLaw_coherentElastic +ThermalNeutronScatteringLaw_coherentElasticCreateConst( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, +) { + ConstHandle2ThermalNeutronScatteringLaw_coherentElastic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + pid, + productFrame + ); + return handle; +} + +// Create, general +Handle2ThermalNeutronScatteringLaw_coherentElastic +ThermalNeutronScatteringLaw_coherentElasticCreate( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, +) { + ConstHandle2ThermalNeutronScatteringLaw_coherentElastic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + pid, + productFrame + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ThermalNeutronScatteringLaw_coherentElasticAssign(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ThermalNeutronScatteringLaw_coherentElasticDelete(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ThermalNeutronScatteringLaw_coherentElasticRead(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ThermalNeutronScatteringLaw_coherentElasticWrite(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ThermalNeutronScatteringLaw_coherentElasticPrint(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ThermalNeutronScatteringLaw_coherentElasticPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ThermalNeutronScatteringLaw_coherentElasticPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_coherentElasticLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw_coherentElasticLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ThermalNeutronScatteringLaw_coherentElasticLabelSet(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_coherentElasticPidHas(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw_coherentElasticPidGet(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +ThermalNeutronScatteringLaw_coherentElasticPidSet(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_coherentElasticProductFrameHas(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +enums::Frame +ThermalNeutronScatteringLaw_coherentElasticProductFrameGet(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +ThermalNeutronScatteringLaw_coherentElasticProductFrameSet(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, const enums::Frame productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h new file mode 100644 index 000000000..6568e4046 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h @@ -0,0 +1,197 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ThermalNeutronScatteringLaw_coherentElastic is the basic handle type in this file. Example: +// // Create a default ThermalNeutronScatteringLaw_coherentElastic object: +// ThermalNeutronScatteringLaw_coherentElastic handle = ThermalNeutronScatteringLaw_coherentElasticDefault(); +// Functions involving ThermalNeutronScatteringLaw_coherentElastic are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_COHERENTELASTIC +#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_COHERENTELASTIC + +#include "GNDStk.h" +#include "v2.0/tsl/S_table.h" +#include "v2.0/tsl/BraggEdges.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ThermalNeutronScatteringLaw_coherentElasticClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ThermalNeutronScatteringLaw_coherentElastic +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ThermalNeutronScatteringLaw_coherentElasticClass *ThermalNeutronScatteringLaw_coherentElastic; + +// --- Const-aware handles. +typedef const struct ThermalNeutronScatteringLaw_coherentElasticClass *const ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic; +typedef struct ThermalNeutronScatteringLaw_coherentElasticClass *const ConstHandle2ThermalNeutronScatteringLaw_coherentElastic; +typedef const struct ThermalNeutronScatteringLaw_coherentElasticClass * Handle2ConstThermalNeutronScatteringLaw_coherentElastic; +typedef struct ThermalNeutronScatteringLaw_coherentElasticClass * Handle2ThermalNeutronScatteringLaw_coherentElastic; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstThermalNeutronScatteringLaw_coherentElastic +ThermalNeutronScatteringLaw_coherentElasticDefaultConst(); + +// +++ Create, default +extern_c Handle2ThermalNeutronScatteringLaw_coherentElastic +ThermalNeutronScatteringLaw_coherentElasticDefault(); + +// --- Create, general, const +extern_c Handle2ConstThermalNeutronScatteringLaw_coherentElastic +ThermalNeutronScatteringLaw_coherentElasticCreateConst( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, +); + +// +++ Create, general +extern_c Handle2ThermalNeutronScatteringLaw_coherentElastic +ThermalNeutronScatteringLaw_coherentElasticCreate( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ThermalNeutronScatteringLaw_coherentElasticAssign(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ThermalNeutronScatteringLaw_coherentElasticDelete(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ThermalNeutronScatteringLaw_coherentElasticRead(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ThermalNeutronScatteringLaw_coherentElasticWrite(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ThermalNeutronScatteringLaw_coherentElasticPrint(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + +// +++ Print to standard output, as XML +extern_c int +ThermalNeutronScatteringLaw_coherentElasticPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + +// +++ Print to standard output, as JSON +extern_c int +ThermalNeutronScatteringLaw_coherentElasticPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_coherentElasticLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw_coherentElasticLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_coherentElasticLabelSet(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_coherentElasticPidHas(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw_coherentElasticPidGet(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_coherentElasticPidSet(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_coherentElasticProductFrameHas(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +ThermalNeutronScatteringLaw_coherentElasticProductFrameGet(ConstHandle2ConstThermalNeutronScatteringLaw_coherentElastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_coherentElasticProductFrameSet(ConstHandle2ThermalNeutronScatteringLaw_coherentElastic This, const enums::Frame productFrame); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp new file mode 100644 index 000000000..c912769b1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "ThermalNeutronScatteringLaw_incoherentElastic.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ThermalNeutronScatteringLaw_incoherentElasticClass; +using CPP = multigroup::ThermalNeutronScatteringLaw_incoherentElastic; + +static const std::string CLASSNAME = "ThermalNeutronScatteringLaw_incoherentElastic"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto boundAtomCrossSection = [](auto &obj) { return &obj.boundAtomCrossSection; }; + static auto DebyeWallerIntegral = [](auto &obj) { return &obj.DebyeWallerIntegral; }; +} + +using CPPBoundAtomCrossSection = tsl::BoundAtomCrossSection; +using CPPDebyeWallerIntegral = tsl::DebyeWallerIntegral; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstThermalNeutronScatteringLaw_incoherentElastic +ThermalNeutronScatteringLaw_incoherentElasticDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ThermalNeutronScatteringLaw_incoherentElastic +ThermalNeutronScatteringLaw_incoherentElasticDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstThermalNeutronScatteringLaw_incoherentElastic +ThermalNeutronScatteringLaw_incoherentElasticCreateConst( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection, + ConstHandle2ConstDebyeWallerIntegral DebyeWallerIntegral +) { + ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + pid, + productFrame, + detail::tocpp(boundAtomCrossSection), + detail::tocpp(DebyeWallerIntegral) + ); + return handle; +} + +// Create, general +Handle2ThermalNeutronScatteringLaw_incoherentElastic +ThermalNeutronScatteringLaw_incoherentElasticCreate( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection, + ConstHandle2ConstDebyeWallerIntegral DebyeWallerIntegral +) { + ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + pid, + productFrame, + detail::tocpp(boundAtomCrossSection), + detail::tocpp(DebyeWallerIntegral) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ThermalNeutronScatteringLaw_incoherentElasticAssign(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ThermalNeutronScatteringLaw_incoherentElasticDelete(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ThermalNeutronScatteringLaw_incoherentElasticRead(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ThermalNeutronScatteringLaw_incoherentElasticWrite(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ThermalNeutronScatteringLaw_incoherentElasticPrint(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ThermalNeutronScatteringLaw_incoherentElasticPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ThermalNeutronScatteringLaw_incoherentElasticPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentElasticLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw_incoherentElasticLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentElasticLabelSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentElasticPidHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw_incoherentElasticPidGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentElasticPidSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentElasticProductFrameHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +enums::Frame +ThermalNeutronScatteringLaw_incoherentElasticProductFrameGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentElasticProductFrameSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, const enums::Frame productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Child: boundAtomCrossSection +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentElasticBoundAtomCrossSectionHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BoundAtomCrossSectionHas", This, extract::boundAtomCrossSection); +} + +// Get, const +Handle2ConstBoundAtomCrossSection +ThermalNeutronScatteringLaw_incoherentElasticBoundAtomCrossSectionGetConst(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BoundAtomCrossSectionGetConst", This, extract::boundAtomCrossSection); +} + +// Get, non-const +Handle2BoundAtomCrossSection +ThermalNeutronScatteringLaw_incoherentElasticBoundAtomCrossSectionGet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BoundAtomCrossSectionGet", This, extract::boundAtomCrossSection); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentElasticBoundAtomCrossSectionSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BoundAtomCrossSectionSet", This, extract::boundAtomCrossSection, boundAtomCrossSection); +} + + +// ----------------------------------------------------------------------------- +// Child: DebyeWallerIntegral +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentElasticDebyeWallerIntegralHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DebyeWallerIntegralHas", This, extract::DebyeWallerIntegral); +} + +// Get, const +Handle2ConstDebyeWallerIntegral +ThermalNeutronScatteringLaw_incoherentElasticDebyeWallerIntegralGetConst(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DebyeWallerIntegralGetConst", This, extract::DebyeWallerIntegral); +} + +// Get, non-const +Handle2DebyeWallerIntegral +ThermalNeutronScatteringLaw_incoherentElasticDebyeWallerIntegralGet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DebyeWallerIntegralGet", This, extract::DebyeWallerIntegral); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentElasticDebyeWallerIntegralSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, ConstHandle2ConstDebyeWallerIntegral DebyeWallerIntegral) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DebyeWallerIntegralSet", This, extract::DebyeWallerIntegral, DebyeWallerIntegral); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h new file mode 100644 index 000000000..89c32807a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ThermalNeutronScatteringLaw_incoherentElastic is the basic handle type in this file. Example: +// // Create a default ThermalNeutronScatteringLaw_incoherentElastic object: +// ThermalNeutronScatteringLaw_incoherentElastic handle = ThermalNeutronScatteringLaw_incoherentElasticDefault(); +// Functions involving ThermalNeutronScatteringLaw_incoherentElastic are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTELASTIC +#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTELASTIC + +#include "GNDStk.h" +#include "v2.0/tsl/BoundAtomCrossSection.h" +#include "v2.0/tsl/DebyeWallerIntegral.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ThermalNeutronScatteringLaw_incoherentElasticClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ThermalNeutronScatteringLaw_incoherentElastic +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ThermalNeutronScatteringLaw_incoherentElasticClass *ThermalNeutronScatteringLaw_incoherentElastic; + +// --- Const-aware handles. +typedef const struct ThermalNeutronScatteringLaw_incoherentElasticClass *const ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic; +typedef struct ThermalNeutronScatteringLaw_incoherentElasticClass *const ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic; +typedef const struct ThermalNeutronScatteringLaw_incoherentElasticClass * Handle2ConstThermalNeutronScatteringLaw_incoherentElastic; +typedef struct ThermalNeutronScatteringLaw_incoherentElasticClass * Handle2ThermalNeutronScatteringLaw_incoherentElastic; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstThermalNeutronScatteringLaw_incoherentElastic +ThermalNeutronScatteringLaw_incoherentElasticDefaultConst(); + +// +++ Create, default +extern_c Handle2ThermalNeutronScatteringLaw_incoherentElastic +ThermalNeutronScatteringLaw_incoherentElasticDefault(); + +// --- Create, general, const +extern_c Handle2ConstThermalNeutronScatteringLaw_incoherentElastic +ThermalNeutronScatteringLaw_incoherentElasticCreateConst( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection, + ConstHandle2ConstDebyeWallerIntegral DebyeWallerIntegral +); + +// +++ Create, general +extern_c Handle2ThermalNeutronScatteringLaw_incoherentElastic +ThermalNeutronScatteringLaw_incoherentElasticCreate( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection, + ConstHandle2ConstDebyeWallerIntegral DebyeWallerIntegral +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ThermalNeutronScatteringLaw_incoherentElasticAssign(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ThermalNeutronScatteringLaw_incoherentElasticDelete(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticRead(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticWrite(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticPrint(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Print to standard output, as XML +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Print to standard output, as JSON +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw_incoherentElasticLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentElasticLabelSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticPidHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw_incoherentElasticPidGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentElasticPidSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticProductFrameHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +ThermalNeutronScatteringLaw_incoherentElasticProductFrameGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentElasticProductFrameSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, const enums::Frame productFrame); + + +// ----------------------------------------------------------------------------- +// Child: boundAtomCrossSection +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticBoundAtomCrossSectionHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// --- Get, const +extern_c Handle2ConstBoundAtomCrossSection +ThermalNeutronScatteringLaw_incoherentElasticBoundAtomCrossSectionGetConst(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Get, non-const +extern_c Handle2BoundAtomCrossSection +ThermalNeutronScatteringLaw_incoherentElasticBoundAtomCrossSectionGet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentElasticBoundAtomCrossSectionSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, ConstHandle2ConstBoundAtomCrossSection boundAtomCrossSection); + + +// ----------------------------------------------------------------------------- +// Child: DebyeWallerIntegral +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentElasticDebyeWallerIntegralHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// --- Get, const +extern_c Handle2ConstDebyeWallerIntegral +ThermalNeutronScatteringLaw_incoherentElasticDebyeWallerIntegralGetConst(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Get, non-const +extern_c Handle2DebyeWallerIntegral +ThermalNeutronScatteringLaw_incoherentElasticDebyeWallerIntegralGet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentElasticDebyeWallerIntegralSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentElastic This, ConstHandle2ConstDebyeWallerIntegral DebyeWallerIntegral); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp new file mode 100644 index 000000000..b1ec34609 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp @@ -0,0 +1,384 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "ThermalNeutronScatteringLaw_incoherentInelastic.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ThermalNeutronScatteringLaw_incoherentInelasticClass; +using CPP = multigroup::ThermalNeutronScatteringLaw_incoherentInelastic; + +static const std::string CLASSNAME = "ThermalNeutronScatteringLaw_incoherentInelastic"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto pid = [](auto &obj) { return &obj.pid; }; + static auto productFrame = [](auto &obj) { return &obj.productFrame; }; + static auto calculatedAtThermal = [](auto &obj) { return &obj.calculatedAtThermal; }; + static auto incoherentApproximation = [](auto &obj) { return &obj.incoherentApproximation; }; + static auto primaryScatterer = [](auto &obj) { return &obj.primaryScatterer; }; + static auto scatteringAtoms = [](auto &obj) { return &obj.scatteringAtoms; }; +} + +using CPPScatteringAtoms = tsl::ScatteringAtoms; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstThermalNeutronScatteringLaw_incoherentInelastic +ThermalNeutronScatteringLaw_incoherentInelasticDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ThermalNeutronScatteringLaw_incoherentInelastic +ThermalNeutronScatteringLaw_incoherentInelasticDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstThermalNeutronScatteringLaw_incoherentInelastic +ThermalNeutronScatteringLaw_incoherentInelasticCreateConst( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + const bool calculatedAtThermal, + const bool incoherentApproximation, + const XMLName primaryScatterer, + ConstHandle2ConstScatteringAtoms scatteringAtoms +) { + ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + pid, + productFrame, + calculatedAtThermal, + incoherentApproximation, + primaryScatterer, + detail::tocpp(scatteringAtoms) + ); + return handle; +} + +// Create, general +Handle2ThermalNeutronScatteringLaw_incoherentInelastic +ThermalNeutronScatteringLaw_incoherentInelasticCreate( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + const bool calculatedAtThermal, + const bool incoherentApproximation, + const XMLName primaryScatterer, + ConstHandle2ConstScatteringAtoms scatteringAtoms +) { + ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + pid, + productFrame, + calculatedAtThermal, + incoherentApproximation, + primaryScatterer, + detail::tocpp(scatteringAtoms) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ThermalNeutronScatteringLaw_incoherentInelasticAssign(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ThermalNeutronScatteringLaw_incoherentInelasticDelete(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ThermalNeutronScatteringLaw_incoherentInelasticRead(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ThermalNeutronScatteringLaw_incoherentInelasticWrite(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ThermalNeutronScatteringLaw_incoherentInelasticPrint(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ThermalNeutronScatteringLaw_incoherentInelasticPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ThermalNeutronScatteringLaw_incoherentInelasticPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentInelasticLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw_incoherentInelasticLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentInelasticLabelSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentInelasticPidHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PidHas", This, extract::pid); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw_incoherentInelasticPidGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PidGet", This, extract::pid); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentInelasticPidSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const XMLName pid) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PidSet", This, extract::pid, pid); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentInelasticProductFrameHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ProductFrameHas", This, extract::productFrame); +} + +// Get +// Returns by value +enums::Frame +ThermalNeutronScatteringLaw_incoherentInelasticProductFrameGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ProductFrameGet", This, extract::productFrame); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentInelasticProductFrameSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const enums::Frame productFrame) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ProductFrameSet", This, extract::productFrame, productFrame); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: calculatedAtThermal +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentInelasticCalculatedAtThermalHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CalculatedAtThermalHas", This, extract::calculatedAtThermal); +} + +// Get +// Returns by value +bool +ThermalNeutronScatteringLaw_incoherentInelasticCalculatedAtThermalGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CalculatedAtThermalGet", This, extract::calculatedAtThermal); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentInelasticCalculatedAtThermalSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const bool calculatedAtThermal) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CalculatedAtThermalSet", This, extract::calculatedAtThermal, calculatedAtThermal); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: incoherentApproximation +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentInelasticIncoherentApproximationHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IncoherentApproximationHas", This, extract::incoherentApproximation); +} + +// Get +// Returns by value +bool +ThermalNeutronScatteringLaw_incoherentInelasticIncoherentApproximationGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IncoherentApproximationGet", This, extract::incoherentApproximation); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentInelasticIncoherentApproximationSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const bool incoherentApproximation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IncoherentApproximationSet", This, extract::incoherentApproximation, incoherentApproximation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: primaryScatterer +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentInelasticPrimaryScattererHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PrimaryScattererHas", This, extract::primaryScatterer); +} + +// Get +// Returns by value +XMLName +ThermalNeutronScatteringLaw_incoherentInelasticPrimaryScattererGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PrimaryScattererGet", This, extract::primaryScatterer); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentInelasticPrimaryScattererSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const XMLName primaryScatterer) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PrimaryScattererSet", This, extract::primaryScatterer, primaryScatterer); +} + + +// ----------------------------------------------------------------------------- +// Child: scatteringAtoms +// ----------------------------------------------------------------------------- + +// Has +int +ThermalNeutronScatteringLaw_incoherentInelasticScatteringAtomsHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ScatteringAtomsHas", This, extract::scatteringAtoms); +} + +// Get, const +Handle2ConstScatteringAtoms +ThermalNeutronScatteringLaw_incoherentInelasticScatteringAtomsGetConst(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringAtomsGetConst", This, extract::scatteringAtoms); +} + +// Get, non-const +Handle2ScatteringAtoms +ThermalNeutronScatteringLaw_incoherentInelasticScatteringAtomsGet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ScatteringAtomsGet", This, extract::scatteringAtoms); +} + +// Set +void +ThermalNeutronScatteringLaw_incoherentInelasticScatteringAtomsSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, ConstHandle2ConstScatteringAtoms scatteringAtoms) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ScatteringAtomsSet", This, extract::scatteringAtoms, scatteringAtoms); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h new file mode 100644 index 000000000..b71f1a02e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ThermalNeutronScatteringLaw_incoherentInelastic is the basic handle type in this file. Example: +// // Create a default ThermalNeutronScatteringLaw_incoherentInelastic object: +// ThermalNeutronScatteringLaw_incoherentInelastic handle = ThermalNeutronScatteringLaw_incoherentInelasticDefault(); +// Functions involving ThermalNeutronScatteringLaw_incoherentInelastic are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTINELASTIC +#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTINELASTIC + +#include "GNDStk.h" +#include "v2.0/tsl/ScatteringAtoms.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ThermalNeutronScatteringLaw_incoherentInelasticClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ThermalNeutronScatteringLaw_incoherentInelastic +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ThermalNeutronScatteringLaw_incoherentInelasticClass *ThermalNeutronScatteringLaw_incoherentInelastic; + +// --- Const-aware handles. +typedef const struct ThermalNeutronScatteringLaw_incoherentInelasticClass *const ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic; +typedef struct ThermalNeutronScatteringLaw_incoherentInelasticClass *const ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic; +typedef const struct ThermalNeutronScatteringLaw_incoherentInelasticClass * Handle2ConstThermalNeutronScatteringLaw_incoherentInelastic; +typedef struct ThermalNeutronScatteringLaw_incoherentInelasticClass * Handle2ThermalNeutronScatteringLaw_incoherentInelastic; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstThermalNeutronScatteringLaw_incoherentInelastic +ThermalNeutronScatteringLaw_incoherentInelasticDefaultConst(); + +// +++ Create, default +extern_c Handle2ThermalNeutronScatteringLaw_incoherentInelastic +ThermalNeutronScatteringLaw_incoherentInelasticDefault(); + +// --- Create, general, const +extern_c Handle2ConstThermalNeutronScatteringLaw_incoherentInelastic +ThermalNeutronScatteringLaw_incoherentInelasticCreateConst( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + const bool calculatedAtThermal, + const bool incoherentApproximation, + const XMLName primaryScatterer, + ConstHandle2ConstScatteringAtoms scatteringAtoms +); + +// +++ Create, general +extern_c Handle2ThermalNeutronScatteringLaw_incoherentInelastic +ThermalNeutronScatteringLaw_incoherentInelasticCreate( + const XMLName label, + const XMLName pid, + const enums::Frame productFrame, + const bool calculatedAtThermal, + const bool incoherentApproximation, + const XMLName primaryScatterer, + ConstHandle2ConstScatteringAtoms scatteringAtoms +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticAssign(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticDelete(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticRead(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticWrite(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticPrint(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Print to standard output, as XML +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticPrintXML(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Print to standard output, as JSON +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticPrintJSON(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticLabelHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw_incoherentInelasticLabelGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticLabelSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: pid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticPidHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw_incoherentInelasticPidGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticPidSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const XMLName pid); + + +// ----------------------------------------------------------------------------- +// Metadatum: productFrame +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticProductFrameHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Get +// +++ Returns by value +extern_c enums::Frame +ThermalNeutronScatteringLaw_incoherentInelasticProductFrameGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticProductFrameSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const enums::Frame productFrame); + + +// ----------------------------------------------------------------------------- +// Metadatum: calculatedAtThermal +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticCalculatedAtThermalHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Get +// +++ Returns by value +extern_c bool +ThermalNeutronScatteringLaw_incoherentInelasticCalculatedAtThermalGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticCalculatedAtThermalSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const bool calculatedAtThermal); + + +// ----------------------------------------------------------------------------- +// Metadatum: incoherentApproximation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticIncoherentApproximationHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Get +// +++ Returns by value +extern_c bool +ThermalNeutronScatteringLaw_incoherentInelasticIncoherentApproximationGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticIncoherentApproximationSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const bool incoherentApproximation); + + +// ----------------------------------------------------------------------------- +// Metadatum: primaryScatterer +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticPrimaryScattererHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ThermalNeutronScatteringLaw_incoherentInelasticPrimaryScattererGet(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticPrimaryScattererSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, const XMLName primaryScatterer); + + +// ----------------------------------------------------------------------------- +// Child: scatteringAtoms +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ThermalNeutronScatteringLaw_incoherentInelasticScatteringAtomsHas(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// --- Get, const +extern_c Handle2ConstScatteringAtoms +ThermalNeutronScatteringLaw_incoherentInelasticScatteringAtomsGetConst(ConstHandle2ConstThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Get, non-const +extern_c Handle2ScatteringAtoms +ThermalNeutronScatteringLaw_incoherentInelasticScatteringAtomsGet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This); + +// +++ Set +extern_c void +ThermalNeutronScatteringLaw_incoherentInelasticScatteringAtomsSet(ConstHandle2ThermalNeutronScatteringLaw_incoherentInelastic This, ConstHandle2ConstScatteringAtoms scatteringAtoms); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/appData.python.cpp new file mode 100644 index 000000000..615e6ba0c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/appData.python.cpp @@ -0,0 +1,37 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// appData declarations +namespace python_appData { + void wrapConversion(python::module &); + void wrapENDFconversionFlags(python::module &); + void wrapInstitution(python::module &); + void wrapApplicationData(python::module &); +} // namespace python_appData + +// appData wrapper +void wrapAppData(python::module &module) +{ + // create the appData submodule + python::module submodule = module.def_submodule( + "appData", + "try v2.0 appData" + ); + + // wrap appData components + python_appData::wrapConversion(submodule); + python_appData::wrapENDFconversionFlags(submodule); + python_appData::wrapInstitution(submodule); + python_appData::wrapApplicationData(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData/ApplicationData.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/appData/ApplicationData.python.cpp new file mode 100644 index 000000000..ea861e828 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/appData/ApplicationData.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/appData/ApplicationData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_appData { + +// ApplicationData wrapper +void wrapApplicationData(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = appData::ApplicationData; + + // create the component + python::class_ component( + module, + "ApplicationData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("institution") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "institution", + [](const Component &self) { return self.institution(); }, + Component::documentation("institution").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_appData +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData/Conversion.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/appData/Conversion.python.cpp new file mode 100644 index 000000000..4d4a19adf --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/appData/Conversion.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/appData/Conversion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_appData { + +// Conversion wrapper +void wrapConversion(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = appData::Conversion; + + // create the component + python::class_ component( + module, + "Conversion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("flags") = std::nullopt, + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "flags", + [](const Component &self) { return self.flags(); }, + Component::documentation("flags").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_appData +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData/ENDFconversionFlags.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/appData/ENDFconversionFlags.python.cpp new file mode 100644 index 000000000..165749309 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/appData/ENDFconversionFlags.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/appData/ENDFconversionFlags.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_appData { + +// ENDFconversionFlags wrapper +void wrapENDFconversionFlags(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = appData::ENDFconversionFlags; + + // create the component + python::class_ component( + module, + "ENDFconversionFlags", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("conversion") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "conversion", + [](const Component &self) { return self.conversion(); }, + Component::documentation("conversion").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_appData +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData/Institution.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/appData/Institution.python.cpp new file mode 100644 index 000000000..16f92d2f6 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/appData/Institution.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/appData/Institution.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_appData { + +// Institution wrapper +void wrapInstitution(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = appData::Institution; + + // create the component + python::class_ component( + module, + "Institution", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("endfconversion_flags") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "endfconversion_flags", + [](const Component &self) { return self.ENDFconversionFlags(); }, + Component::documentation("endfconversion_flags").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_appData +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic.python.cpp new file mode 100644 index 000000000..8beeb3c1d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic.python.cpp @@ -0,0 +1,41 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// atomic declarations +namespace python_atomic { + void wrapFormFactor(python::module &); + void wrapRealAnomalousFactor(python::module &); + void wrapImaginaryAnomalousFactor(python::module &); + void wrapCoherentPhotonScattering(python::module &); + void wrapScatteringFactor(python::module &); + void wrapIncoherentPhotonScattering(python::module &); +} // namespace python_atomic + +// atomic wrapper +void wrapAtomic(python::module &module) +{ + // create the atomic submodule + python::module submodule = module.def_submodule( + "atomic", + "try v2.0 atomic" + ); + + // wrap atomic components + python_atomic::wrapFormFactor(submodule); + python_atomic::wrapRealAnomalousFactor(submodule); + python_atomic::wrapImaginaryAnomalousFactor(submodule); + python_atomic::wrapCoherentPhotonScattering(submodule); + python_atomic::wrapScatteringFactor(submodule); + python_atomic::wrapIncoherentPhotonScattering(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp new file mode 100644 index 000000000..fc4abe044 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// CoherentPhotonScattering wrapper +void wrapCoherentPhotonScattering(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = atomic::CoherentPhotonScattering; + + // create the component + python::class_ component( + module, + "CoherentPhotonScattering", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const enums::Frame &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("pid") = std::nullopt, + python::arg("product_frame"), + python::arg("form_factor") = std::nullopt, + python::arg("real_anomalous_factor") = std::nullopt, + python::arg("imaginary_anomalous_factor") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "form_factor", + [](const Component &self) { return self.formFactor(); }, + Component::documentation("form_factor").data() + ) + .def_property_readonly( + "real_anomalous_factor", + [](const Component &self) { return self.realAnomalousFactor(); }, + Component::documentation("real_anomalous_factor").data() + ) + .def_property_readonly( + "imaginary_anomalous_factor", + [](const Component &self) { return self.imaginaryAnomalousFactor(); }, + Component::documentation("imaginary_anomalous_factor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp new file mode 100644 index 000000000..1a82894e7 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/atomic/FormFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// FormFactor wrapper +void wrapFormFactor(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = atomic::FormFactor; + + // create the component + python::class_ component( + module, + "FormFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp new file mode 100644 index 000000000..dd02d9279 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/atomic/ImaginaryAnomalousFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// ImaginaryAnomalousFactor wrapper +void wrapImaginaryAnomalousFactor(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = atomic::ImaginaryAnomalousFactor; + + // create the component + python::class_ component( + module, + "ImaginaryAnomalousFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp new file mode 100644 index 000000000..89ef39301 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// IncoherentPhotonScattering wrapper +void wrapIncoherentPhotonScattering(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = atomic::IncoherentPhotonScattering; + + // create the component + python::class_ component( + module, + "IncoherentPhotonScattering", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const enums::Frame &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("pid") = std::nullopt, + python::arg("product_frame"), + python::arg("scattering_factor") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "scattering_factor", + [](const Component &self) { return self.scatteringFactor(); }, + Component::documentation("scattering_factor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp new file mode 100644 index 000000000..4b131841d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/atomic/RealAnomalousFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// RealAnomalousFactor wrapper +void wrapRealAnomalousFactor(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = atomic::RealAnomalousFactor; + + // create the component + python::class_ component( + module, + "RealAnomalousFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp new file mode 100644 index 000000000..e3068e781 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/atomic/ScatteringFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_atomic { + +// ScatteringFactor wrapper +void wrapScatteringFactor(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = atomic::ScatteringFactor; + + // create the component + python::class_ component( + module, + "ScatteringFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_atomic +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp new file mode 100644 index 000000000..b5902dd6b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp @@ -0,0 +1,47 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// common declarations +namespace python_common { + void wrapExternalFile(python::module &); + void wrapExternalFiles(python::module &); + void wrapQ(python::module &); + void wrapProduct(python::module &); + void wrapProducts(python::module &); + void wrapMass(python::module &); + void wrapEnergy(python::module &); + void wrapProbability(python::module &); + void wrapTemperature(python::module &); +} // namespace python_common + +// common wrapper +void wrapCommon(python::module &module) +{ + // create the common submodule + python::module submodule = module.def_submodule( + "common", + "try v2.0 common" + ); + + // wrap common components + python_common::wrapExternalFile(submodule); + python_common::wrapExternalFiles(submodule); + python_common::wrapQ(submodule); + python_common::wrapProduct(submodule); + python_common::wrapProducts(submodule); + python_common::wrapMass(submodule); + python_common::wrapEnergy(submodule); + python_common::wrapProbability(submodule); + python_common::wrapTemperature(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp new file mode 100644 index 000000000..5ed587288 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/Energy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Energy wrapper +void wrapEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::Energy; + + // create the component + python::class_ component( + module, + "Energy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::vector & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFile.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFile.python.cpp new file mode 100644 index 000000000..a1986a5f2 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFile.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/ExternalFile.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// ExternalFile wrapper +void wrapExternalFile(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::ExternalFile; + + // create the component + python::class_ component( + module, + "ExternalFile", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("label"), + python::arg("path"), + python::arg("checksum") = std::nullopt, + python::arg("algorithm") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "path", + [](const Component &self) { return self.path(); }, + Component::documentation("path").data() + ) + .def_property_readonly( + "checksum", + [](const Component &self) { return self.checksum(); }, + Component::documentation("checksum").data() + ) + .def_property_readonly( + "algorithm", + [](const Component &self) { return self.algorithm(); }, + Component::documentation("algorithm").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFiles.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFiles.python.cpp new file mode 100644 index 000000000..679701925 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFiles.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/ExternalFiles.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// ExternalFiles wrapper +void wrapExternalFiles(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::ExternalFiles; + + // create the component + python::class_ component( + module, + "ExternalFiles", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("external_file"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "external_file", + [](const Component &self) { return self.externalFile(); }, + Component::documentation("external_file").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp new file mode 100644 index 000000000..689789a5f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/Mass.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Mass wrapper +void wrapMass(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::Mass; + + // create the component + python::class_ component( + module, + "Mass", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::vector & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp new file mode 100644 index 000000000..04175912d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/Probability.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Probability wrapper +void wrapProbability(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::Probability; + + // create the component + python::class_ component( + module, + "Probability", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("double") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Product.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Product.python.cpp new file mode 100644 index 000000000..cbb1f46dd --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Product.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/Product.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Product wrapper +void wrapProduct(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::Product; + + // create the component + python::class_ component( + module, + "Product", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const transport::Multiplicity &, + const transport::Distribution &, + const std::optional & + >(), + python::arg("label"), + python::arg("pid"), + python::arg("multiplicity"), + python::arg("distribution"), + python::arg("output_channel") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "multiplicity", + [](const Component &self) { return self.multiplicity(); }, + Component::documentation("multiplicity").data() + ) + .def_property_readonly( + "distribution", + [](const Component &self) { return self.distribution(); }, + Component::documentation("distribution").data() + ) + .def_property_readonly( + "output_channel", + [](const Component &self) { return self.outputChannel(); }, + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Products.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Products.python.cpp new file mode 100644 index 000000000..36f141072 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Products.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/Products.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Products wrapper +void wrapProducts(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::Products; + + // create the component + python::class_ component( + module, + "Products", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("product") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "product", + [](const Component &self) { return self.product(); }, + Component::documentation("product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp new file mode 100644 index 000000000..9b2689888 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp @@ -0,0 +1,123 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/Q.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Q wrapper +void wrapQ(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::Q; + using _t = std::variant< + unknownNamespace::Constant1d, + unknownNamespace::XYs1d, + unknownNamespace::Regions1d, + unknownNamespace::Polynomial1d, + unknownNamespace::Gridded1d + >; + + // create the component + python::class_ component( + module, + "Q", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("_constant1d_xys1dregions1dpolynomial1dgridded1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "constant1d", + [](const Component &self) { return self.constant1d(); }, + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + .def_property_readonly( + "gridded1d", + [](const Component &self) { return self.gridded1d(); }, + Component::documentation("gridded1d").data() + ) + .def_property_readonly( + "_constant1d_xys1dregions1dpolynomial1dgridded1d", + [](const Component &self) { return self._constant1dXYs1dregions1dpolynomial1dgridded1d(); }, + Component::documentation("_constant1d_xys1dregions1dpolynomial1dgridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp new file mode 100644 index 000000000..b6494d168 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/common/Temperature.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_common { + +// Temperature wrapper +void wrapTemperature(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = common::Temperature; + + // create the component + python::class_ component( + module, + "Temperature", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_common +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance.python.cpp new file mode 100644 index 000000000..0e2b3814d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance.python.cpp @@ -0,0 +1,73 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// covariance declarations +namespace python_covariance { + void wrapSlice(python::module &); + void wrapSlices(python::module &); + void wrapRowData(python::module &); + void wrapColumnData(python::module &); + void wrapCovariance(python::module &); + void wrapRowSensitivity(python::module &); + void wrapColumnSensitivity(python::module &); + void wrapSandwichProduct(python::module &); + void wrapCovarianceMatrix(python::module &); + void wrapSummand(python::module &); + void wrapSum(python::module &); + void wrapShortRangeSelfScalingVariance(python::module &); + void wrapMixed(python::module &); + void wrapCovarianceSection(python::module &); + void wrapCovarianceSections(python::module &); + void wrapAverageParameterCovariance(python::module &); + void wrapParameterLink(python::module &); + void wrapParameters(python::module &); + void wrapParameterCovarianceMatrix(python::module &); + void wrapParameterCovariance(python::module &); + void wrapParameterCovariances(python::module &); + void wrapCovarianceSuite(python::module &); +} // namespace python_covariance + +// covariance wrapper +void wrapCovariance(python::module &module) +{ + // create the covariance submodule + python::module submodule = module.def_submodule( + "covariance", + "try v2.0 covariance" + ); + + // wrap covariance components + python_covariance::wrapSlice(submodule); + python_covariance::wrapSlices(submodule); + python_covariance::wrapRowData(submodule); + python_covariance::wrapColumnData(submodule); + python_covariance::wrapCovariance(submodule); + python_covariance::wrapRowSensitivity(submodule); + python_covariance::wrapColumnSensitivity(submodule); + python_covariance::wrapSandwichProduct(submodule); + python_covariance::wrapCovarianceMatrix(submodule); + python_covariance::wrapSummand(submodule); + python_covariance::wrapSum(submodule); + python_covariance::wrapShortRangeSelfScalingVariance(submodule); + python_covariance::wrapMixed(submodule); + python_covariance::wrapCovarianceSection(submodule); + python_covariance::wrapCovarianceSections(submodule); + python_covariance::wrapAverageParameterCovariance(submodule); + python_covariance::wrapParameterLink(submodule); + python_covariance::wrapParameters(submodule); + python_covariance::wrapParameterCovarianceMatrix(submodule); + python_covariance::wrapParameterCovariance(submodule); + python_covariance::wrapParameterCovariances(submodule); + python_covariance::wrapCovarianceSuite(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp new file mode 100644 index 000000000..da1b9565c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp @@ -0,0 +1,92 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/AverageParameterCovariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// AverageParameterCovariance wrapper +void wrapAverageParameterCovariance(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::AverageParameterCovariance; + using _t = std::variant< + covariance::CovarianceMatrix + >; + + // create the component + python::class_ component( + module, + "AverageParameterCovariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("cross_term") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("column_data") = std::nullopt, + python::arg("row_data") = std::nullopt, + python::arg("_covariance_matrix"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "cross_term", + [](const Component &self) { return self.crossTerm(); }, + Component::documentation("cross_term").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "column_data", + [](const Component &self) { return self.columnData(); }, + Component::documentation("column_data").data() + ) + .def_property_readonly( + "row_data", + [](const Component &self) { return self.rowData(); }, + Component::documentation("row_data").data() + ) + .def_property_readonly( + "covariance_matrix", + [](const Component &self) { return self.covarianceMatrix(); }, + Component::documentation("covariance_matrix").data() + ) + .def_property_readonly( + "_covariance_matrix", + [](const Component &self) { return self._covarianceMatrix(); }, + Component::documentation("_covariance_matrix").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnData.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnData.python.cpp new file mode 100644 index 000000000..16ca9afdb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnData.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/ColumnData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ColumnData wrapper +void wrapColumnData(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::ColumnData; + + // create the component + python::class_ component( + module, + "ColumnData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mfmt") = std::nullopt, + python::arg("href") = std::nullopt, + python::arg("dimension") = std::nullopt, + python::arg("slices") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mfmt", + [](const Component &self) { return self.ENDF_MFMT(); }, + Component::documentation("endf_mfmt").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "dimension", + [](const Component &self) { return self.dimension(); }, + Component::documentation("dimension").data() + ) + .def_property_readonly( + "slices", + [](const Component &self) { return self.slices(); }, + Component::documentation("slices").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp new file mode 100644 index 000000000..7f7a39283 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/ColumnSensitivity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ColumnSensitivity wrapper +void wrapColumnSensitivity(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::ColumnSensitivity; + + // create the component + python::class_ component( + module, + "ColumnSensitivity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Array & + >(), + python::arg("array"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "array", + [](const Component &self) { return self.array(); }, + Component::documentation("array").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp new file mode 100644 index 000000000..da9de1a75 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/Covariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Covariance wrapper +void wrapCovariance(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::Covariance; + + // create the component + python::class_ component( + module, + "Covariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Array & + >(), + python::arg("array"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "array", + [](const Component &self) { return self.array(); }, + Component::documentation("array").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp new file mode 100644 index 000000000..21998be54 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/CovarianceMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// CovarianceMatrix wrapper +void wrapCovarianceMatrix(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::CovarianceMatrix; + using _t = std::variant< + unknownNamespace::Gridded2d, + covariance::SandwichProduct + >; + + // create the component + python::class_ component( + module, + "CovarianceMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame") = std::nullopt, + python::arg("type"), + python::arg("_gridded2dsandwich_product"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "type", + [](const Component &self) { return self.type(); }, + Component::documentation("type").data() + ) + .def_property_readonly( + "gridded2d", + [](const Component &self) { return self.gridded2d(); }, + Component::documentation("gridded2d").data() + ) + .def_property_readonly( + "sandwich_product", + [](const Component &self) { return self.sandwichProduct(); }, + Component::documentation("sandwich_product").data() + ) + .def_property_readonly( + "_gridded2dsandwich_product", + [](const Component &self) { return self._gridded2dsandwichProduct(); }, + Component::documentation("_gridded2dsandwich_product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSection.python.cpp new file mode 100644 index 000000000..3b8e8b9cb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSection.python.cpp @@ -0,0 +1,104 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/CovarianceSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// CovarianceSection wrapper +void wrapCovarianceSection(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::CovarianceSection; + using _t = std::variant< + covariance::CovarianceMatrix, + covariance::Sum, + covariance::Mixed + >; + + // create the component + python::class_ component( + module, + "CovarianceSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const covariance::RowData &, + const std::optional &, + const _t & + >(), + python::arg("cross_term") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("row_data"), + python::arg("column_data") = std::nullopt, + python::arg("_covariance_matrixsummixed"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "cross_term", + [](const Component &self) { return self.crossTerm().value(); }, + Component::documentation("cross_term").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "row_data", + [](const Component &self) { return self.rowData(); }, + Component::documentation("row_data").data() + ) + .def_property_readonly( + "column_data", + [](const Component &self) { return self.columnData(); }, + Component::documentation("column_data").data() + ) + .def_property_readonly( + "covariance_matrix", + [](const Component &self) { return self.covarianceMatrix(); }, + Component::documentation("covariance_matrix").data() + ) + .def_property_readonly( + "sum", + [](const Component &self) { return self.sum(); }, + Component::documentation("sum").data() + ) + .def_property_readonly( + "mixed", + [](const Component &self) { return self.mixed(); }, + Component::documentation("mixed").data() + ) + .def_property_readonly( + "_covariance_matrixsummixed", + [](const Component &self) { return self._covarianceMatrixsummixed(); }, + Component::documentation("_covariance_matrixsummixed").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSections.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSections.python.cpp new file mode 100644 index 000000000..2674d3c9e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSections.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/CovarianceSections.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// CovarianceSections wrapper +void wrapCovarianceSections(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::CovarianceSections; + + // create the component + python::class_ component( + module, + "CovarianceSections", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("covariance_section") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "covariance_section", + [](const Component &self) { return self.covarianceSection(); }, + Component::documentation("covariance_section").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSuite.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSuite.python.cpp new file mode 100644 index 000000000..0cf08b557 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSuite.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/CovarianceSuite.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// CovarianceSuite wrapper +void wrapCovarianceSuite(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::CovarianceSuite; + + // create the component + python::class_ component( + module, + "CovarianceSuite", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const enums::Interaction &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("evaluation") = std::nullopt, + python::arg("projectile") = std::nullopt, + python::arg("target") = std::nullopt, + python::arg("interaction"), + python::arg("version") = std::nullopt, + python::arg("external_files") = std::nullopt, + python::arg("styles") = std::nullopt, + python::arg("covariance_sections") = std::nullopt, + python::arg("parameter_covariances") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "evaluation", + [](const Component &self) { return self.evaluation(); }, + Component::documentation("evaluation").data() + ) + .def_property_readonly( + "projectile", + [](const Component &self) { return self.projectile(); }, + Component::documentation("projectile").data() + ) + .def_property_readonly( + "target", + [](const Component &self) { return self.target(); }, + Component::documentation("target").data() + ) + .def_property_readonly( + "interaction", + [](const Component &self) { return self.interaction(); }, + Component::documentation("interaction").data() + ) + .def_property_readonly( + "version", + [](const Component &self) { return self.version(); }, + Component::documentation("version").data() + ) + .def_property_readonly( + "external_files", + [](const Component &self) { return self.externalFiles(); }, + Component::documentation("external_files").data() + ) + .def_property_readonly( + "styles", + [](const Component &self) { return self.styles(); }, + Component::documentation("styles").data() + ) + .def_property_readonly( + "covariance_sections", + [](const Component &self) { return self.covarianceSections(); }, + Component::documentation("covariance_sections").data() + ) + .def_property_readonly( + "parameter_covariances", + [](const Component &self) { return self.parameterCovariances(); }, + Component::documentation("parameter_covariances").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Mixed.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/Mixed.python.cpp new file mode 100644 index 000000000..8476db00c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/Mixed.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/Mixed.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Mixed wrapper +void wrapMixed(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::Mixed; + + // create the component + python::class_ component( + module, + "Mixed", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional> &, + const std::optional> &, + const std::optional> & + >(), + python::arg("label"), + python::arg("covariance_matrix") = std::nullopt, + python::arg("short_range_self_scaling_variance") = std::nullopt, + python::arg("sum") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "covariance_matrix", + [](const Component &self) { return self.covarianceMatrix(); }, + Component::documentation("covariance_matrix").data() + ) + .def_property_readonly( + "short_range_self_scaling_variance", + [](const Component &self) { return self.shortRangeSelfScalingVariance(); }, + Component::documentation("short_range_self_scaling_variance").data() + ) + .def_property_readonly( + "sum", + [](const Component &self) { return self.sum(); }, + Component::documentation("sum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariance.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariance.python.cpp new file mode 100644 index 000000000..6386137aa --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariance.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/ParameterCovariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ParameterCovariance wrapper +void wrapParameterCovariance(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::ParameterCovariance; + + // create the component + python::class_ component( + module, + "ParameterCovariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const covariance::RowData &, + const std::vector & + >(), + python::arg("label") = std::nullopt, + python::arg("row_data"), + python::arg("parameter_covariance_matrix"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "row_data", + [](const Component &self) { return self.rowData(); }, + Component::documentation("row_data").data() + ) + .def_property_readonly( + "parameter_covariance_matrix", + [](const Component &self) { return self.parameterCovarianceMatrix(); }, + Component::documentation("parameter_covariance_matrix").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp new file mode 100644 index 000000000..44eca571f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/ParameterCovarianceMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ParameterCovarianceMatrix wrapper +void wrapParameterCovarianceMatrix(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::ParameterCovarianceMatrix; + + // create the component + python::class_ component( + module, + "ParameterCovarianceMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const covariance::Parameters &, + const unknownNamespace::Array & + >(), + python::arg("label"), + python::arg("type") = std::nullopt, + python::arg("parameters"), + python::arg("array"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "type", + [](const Component &self) { return self.type(); }, + Component::documentation("type").data() + ) + .def_property_readonly( + "parameters", + [](const Component &self) { return self.parameters(); }, + Component::documentation("parameters").data() + ) + .def_property_readonly( + "array", + [](const Component &self) { return self.array(); }, + Component::documentation("array").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariances.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariances.python.cpp new file mode 100644 index 000000000..df5efef3f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariances.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/ParameterCovariances.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ParameterCovariances wrapper +void wrapParameterCovariances(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::ParameterCovariances; + + // create the component + python::class_ component( + module, + "ParameterCovariances", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> &, + const std::optional> & + >(), + python::arg("average_parameter_covariance") = std::nullopt, + python::arg("parameter_covariance") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "average_parameter_covariance", + [](const Component &self) { return self.averageParameterCovariance(); }, + Component::documentation("average_parameter_covariance").data() + ) + .def_property_readonly( + "parameter_covariance", + [](const Component &self) { return self.parameterCovariance(); }, + Component::documentation("parameter_covariance").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterLink.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterLink.python.cpp new file mode 100644 index 000000000..b931cd1d9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterLink.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/ParameterLink.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ParameterLink wrapper +void wrapParameterLink(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::ParameterLink; + + // create the component + python::class_ component( + module, + "ParameterLink", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("matrix_start_index") = std::nullopt, + python::arg("n_parameters") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "matrix_start_index", + [](const Component &self) { return self.matrixStartIndex().value(); }, + Component::documentation("matrix_start_index").data() + ) + .def_property_readonly( + "n_parameters", + [](const Component &self) { return self.nParameters().value(); }, + Component::documentation("n_parameters").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Parameters.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/Parameters.python.cpp new file mode 100644 index 000000000..3585e0024 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/Parameters.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/Parameters.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Parameters wrapper +void wrapParameters(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::Parameters; + + // create the component + python::class_ component( + module, + "Parameters", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("parameter_link") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "parameter_link", + [](const Component &self) { return self.parameterLink(); }, + Component::documentation("parameter_link").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/RowData.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/RowData.python.cpp new file mode 100644 index 000000000..187174b51 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/RowData.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/RowData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// RowData wrapper +void wrapRowData(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::RowData; + + // create the component + python::class_ component( + module, + "RowData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mfmt") = std::nullopt, + python::arg("href") = std::nullopt, + python::arg("dimension") = std::nullopt, + python::arg("slices") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mfmt", + [](const Component &self) { return self.ENDF_MFMT(); }, + Component::documentation("endf_mfmt").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "dimension", + [](const Component &self) { return self.dimension(); }, + Component::documentation("dimension").data() + ) + .def_property_readonly( + "slices", + [](const Component &self) { return self.slices(); }, + Component::documentation("slices").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp new file mode 100644 index 000000000..ce3726435 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/RowSensitivity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// RowSensitivity wrapper +void wrapRowSensitivity(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::RowSensitivity; + + // create the component + python::class_ component( + module, + "RowSensitivity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Array & + >(), + python::arg("array"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "array", + [](const Component &self) { return self.array(); }, + Component::documentation("array").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp new file mode 100644 index 000000000..ad6a7861e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/SandwichProduct.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// SandwichProduct wrapper +void wrapSandwichProduct(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::SandwichProduct; + + // create the component + python::class_ component( + module, + "SandwichProduct", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Axes &, + const covariance::Covariance &, + const covariance::RowSensitivity &, + const std::optional & + >(), + python::arg("axes"), + python::arg("covariance"), + python::arg("row_sensitivity"), + python::arg("column_sensitivity") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "covariance", + [](const Component &self) { return self.covariance(); }, + Component::documentation("covariance").data() + ) + .def_property_readonly( + "row_sensitivity", + [](const Component &self) { return self.rowSensitivity(); }, + Component::documentation("row_sensitivity").data() + ) + .def_property_readonly( + "column_sensitivity", + [](const Component &self) { return self.columnSensitivity(); }, + Component::documentation("column_sensitivity").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp new file mode 100644 index 000000000..69e1936bf --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// ShortRangeSelfScalingVariance wrapper +void wrapShortRangeSelfScalingVariance(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::ShortRangeSelfScalingVariance; + + // create the component + python::class_ component( + module, + "ShortRangeSelfScalingVariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("dependence_on_processed_group_width") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("type") = std::nullopt, + python::arg("gridded2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "dependence_on_processed_group_width", + [](const Component &self) { return self.dependenceOnProcessedGroupWidth(); }, + Component::documentation("dependence_on_processed_group_width").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "type", + [](const Component &self) { return self.type(); }, + Component::documentation("type").data() + ) + .def_property_readonly( + "gridded2d", + [](const Component &self) { return self.gridded2d(); }, + Component::documentation("gridded2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Slice.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/Slice.python.cpp new file mode 100644 index 000000000..99178453e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/Slice.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/Slice.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Slice wrapper +void wrapSlice(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::Slice; + + // create the component + python::class_ component( + module, + "Slice", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const Integer32 & + >(), + python::arg("domain_min") = std::nullopt, + python::arg("domain_max") = std::nullopt, + python::arg("domain_value") = std::nullopt, + python::arg("domain_unit") = std::nullopt, + python::arg("dimension"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_value", + [](const Component &self) { return self.domainValue(); }, + Component::documentation("domain_value").data() + ) + .def_property_readonly( + "domain_unit", + [](const Component &self) { return self.domainUnit(); }, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "dimension", + [](const Component &self) { return self.dimension(); }, + Component::documentation("dimension").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Slices.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/Slices.python.cpp new file mode 100644 index 000000000..7b844d6aa --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/Slices.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/Slices.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Slices wrapper +void wrapSlices(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::Slices; + + // create the component + python::class_ component( + module, + "Slices", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("slice"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "slice", + [](const Component &self) { return self.slice(); }, + Component::documentation("slice").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Sum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/Sum.python.cpp new file mode 100644 index 000000000..e61089264 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/Sum.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/Sum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Sum wrapper +void wrapSum(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::Sum; + + // create the component + python::class_ component( + module, + "Sum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const XMLName &, + const std::optional &, + const std::optional> & + >(), + python::arg("domain_min"), + python::arg("domain_max"), + python::arg("domain_unit"), + python::arg("label") = std::nullopt, + python::arg("summand") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_unit", + [](const Component &self) { return self.domainUnit(); }, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "summand", + [](const Component &self) { return self.summand(); }, + Component::documentation("summand").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Summand.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/Summand.python.cpp new file mode 100644 index 000000000..d6e5189b2 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/Summand.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/covariance/Summand.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_covariance { + +// Summand wrapper +void wrapSummand(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = covariance::Summand; + + // create the component + python::class_ component( + module, + "Summand", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mfmt") = std::nullopt, + python::arg("coefficient") = std::nullopt, + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mfmt", + [](const Component &self) { return self.ENDF_MFMT(); }, + Component::documentation("endf_mfmt").data() + ) + .def_property_readonly( + "coefficient", + [](const Component &self) { return self.coefficient(); }, + Component::documentation("coefficient").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_covariance +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport.python.cpp new file mode 100644 index 000000000..64a04f6ed --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport.python.cpp @@ -0,0 +1,43 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// cpTransport declarations +namespace python_cpTransport { + void wrapRutherfordScattering(python::module &); + void wrapNuclearTerm(python::module &); + void wrapRealInterferenceTerm(python::module &); + void wrapImaginaryInterferenceTerm(python::module &); + void wrapNuclearAmplitudeExpansion(python::module &); + void wrapNuclearPlusInterference(python::module &); + void wrapCoulombPlusNuclearElastic(python::module &); +} // namespace python_cpTransport + +// cpTransport wrapper +void wrapCpTransport(python::module &module) +{ + // create the cpTransport submodule + python::module submodule = module.def_submodule( + "cpTransport", + "try v2.0 cpTransport" + ); + + // wrap cpTransport components + python_cpTransport::wrapRutherfordScattering(submodule); + python_cpTransport::wrapNuclearTerm(submodule); + python_cpTransport::wrapRealInterferenceTerm(submodule); + python_cpTransport::wrapImaginaryInterferenceTerm(submodule); + python_cpTransport::wrapNuclearAmplitudeExpansion(submodule); + python_cpTransport::wrapNuclearPlusInterference(submodule); + python_cpTransport::wrapCoulombPlusNuclearElastic(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp new file mode 100644 index 000000000..a6302d6ec --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// CoulombPlusNuclearElastic wrapper +void wrapCoulombPlusNuclearElastic(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = cpTransport::CoulombPlusNuclearElastic; + + // create the component + python::class_ component( + module, + "CoulombPlusNuclearElastic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const XMLName &, + const enums::Frame &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("identical_particles") = std::nullopt, + python::arg("label"), + python::arg("pid"), + python::arg("product_frame"), + python::arg("rutherford_scattering") = std::nullopt, + python::arg("nuclear_amplitude_expansion") = std::nullopt, + python::arg("nuclear_plus_interference") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "identical_particles", + [](const Component &self) { return self.identicalParticles().value(); }, + Component::documentation("identical_particles").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "rutherford_scattering", + [](const Component &self) { return self.RutherfordScattering(); }, + Component::documentation("rutherford_scattering").data() + ) + .def_property_readonly( + "nuclear_amplitude_expansion", + [](const Component &self) { return self.nuclearAmplitudeExpansion(); }, + Component::documentation("nuclear_amplitude_expansion").data() + ) + .def_property_readonly( + "nuclear_plus_interference", + [](const Component &self) { return self.nuclearPlusInterference(); }, + Component::documentation("nuclear_plus_interference").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp new file mode 100644 index 000000000..a759b8a7c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// ImaginaryInterferenceTerm wrapper +void wrapImaginaryInterferenceTerm(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = cpTransport::ImaginaryInterferenceTerm; + + // create the component + python::class_ component( + module, + "ImaginaryInterferenceTerm", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("regions2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp new file mode 100644 index 000000000..8e4492286 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// NuclearAmplitudeExpansion wrapper +void wrapNuclearAmplitudeExpansion(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = cpTransport::NuclearAmplitudeExpansion; + + // create the component + python::class_ component( + module, + "NuclearAmplitudeExpansion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const cpTransport::NuclearTerm &, + const cpTransport::RealInterferenceTerm &, + const cpTransport::ImaginaryInterferenceTerm & + >(), + python::arg("nuclear_term"), + python::arg("real_interference_term"), + python::arg("imaginary_interference_term"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "nuclear_term", + [](const Component &self) { return self.nuclearTerm(); }, + Component::documentation("nuclear_term").data() + ) + .def_property_readonly( + "real_interference_term", + [](const Component &self) { return self.realInterferenceTerm(); }, + Component::documentation("real_interference_term").data() + ) + .def_property_readonly( + "imaginary_interference_term", + [](const Component &self) { return self.imaginaryInterferenceTerm(); }, + Component::documentation("imaginary_interference_term").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp new file mode 100644 index 000000000..d13f0d440 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/cpTransport/NuclearPlusInterference.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// NuclearPlusInterference wrapper +void wrapNuclearPlusInterference(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = cpTransport::NuclearPlusInterference; + + // create the component + python::class_ component( + module, + "NuclearPlusInterference", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const transport::CrossSection &, + const transport::Distribution & + >(), + python::arg("mu_cutoff"), + python::arg("cross_section"), + python::arg("distribution"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "mu_cutoff", + [](const Component &self) { return self.muCutoff(); }, + Component::documentation("mu_cutoff").data() + ) + .def_property_readonly( + "cross_section", + [](const Component &self) { return self.crossSection(); }, + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "distribution", + [](const Component &self) { return self.distribution(); }, + Component::documentation("distribution").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp new file mode 100644 index 000000000..7b1e2225b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/cpTransport/NuclearTerm.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// NuclearTerm wrapper +void wrapNuclearTerm(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = cpTransport::NuclearTerm; + + // create the component + python::class_ component( + module, + "NuclearTerm", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("regions2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp new file mode 100644 index 000000000..3c782133a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/cpTransport/RealInterferenceTerm.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// RealInterferenceTerm wrapper +void wrapRealInterferenceTerm(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = cpTransport::RealInterferenceTerm; + + // create the component + python::class_ component( + module, + "RealInterferenceTerm", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("regions2d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp new file mode 100644 index 000000000..0ab78b656 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/cpTransport/RutherfordScattering.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_cpTransport { + +// RutherfordScattering wrapper +void wrapRutherfordScattering(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = cpTransport::RutherfordScattering; + + // create the component + python::class_ component( + module, + "RutherfordScattering", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_cpTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation.python.cpp new file mode 100644 index 000000000..aaf72d270 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation.python.cpp @@ -0,0 +1,107 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// documentation declarations +namespace python_documentation { + void wrapAffiliation(python::module &); + void wrapAffiliations(python::module &); + void wrapNote(python::module &); + void wrapAuthor(python::module &); + void wrapAuthors(python::module &); + void wrapContributors(python::module &); + void wrapCollaboration(python::module &); + void wrapCollaborations(python::module &); + void wrapDate(python::module &); + void wrapDates(python::module &); + void wrapCopyright(python::module &); + void wrapAcknowledgement(python::module &); + void wrapAcknowledgements(python::module &); + void wrapKeyword(python::module &); + void wrapKeywords(python::module &); + void wrapRelatedItem(python::module &); + void wrapRelatedItems(python::module &); + void wrapTitle(python::module &); + void wrapAbstract(python::module &); + void wrapBody(python::module &); + void wrapExecutionArguments(python::module &); + void wrapCodeRepo(python::module &); + void wrapInputDeck(python::module &); + void wrapInputDecks(python::module &); + void wrapOutputDeck(python::module &); + void wrapOutputDecks(python::module &); + void wrapComputerCode(python::module &); + void wrapComputerCodes(python::module &); + void wrapCovarianceScript(python::module &); + void wrapCorrectionScript(python::module &); + void wrapExforDataSet(python::module &); + void wrapExforDataSets(python::module &); + void wrapExperimentalDataSets(python::module &); + void wrapBibitem(python::module &); + void wrapBibliography(python::module &); + void wrapEndfCompatible(python::module &); + void wrapDocumentation(python::module &); + void wrapContributor(python::module &); + void wrapVersion(python::module &); +} // namespace python_documentation + +// documentation wrapper +void wrapDocumentation(python::module &module) +{ + // create the documentation submodule + python::module submodule = module.def_submodule( + "documentation", + "try v2.0 documentation" + ); + + // wrap documentation components + python_documentation::wrapAffiliation(submodule); + python_documentation::wrapAffiliations(submodule); + python_documentation::wrapNote(submodule); + python_documentation::wrapAuthor(submodule); + python_documentation::wrapAuthors(submodule); + python_documentation::wrapContributors(submodule); + python_documentation::wrapCollaboration(submodule); + python_documentation::wrapCollaborations(submodule); + python_documentation::wrapDate(submodule); + python_documentation::wrapDates(submodule); + python_documentation::wrapCopyright(submodule); + python_documentation::wrapAcknowledgement(submodule); + python_documentation::wrapAcknowledgements(submodule); + python_documentation::wrapKeyword(submodule); + python_documentation::wrapKeywords(submodule); + python_documentation::wrapRelatedItem(submodule); + python_documentation::wrapRelatedItems(submodule); + python_documentation::wrapTitle(submodule); + python_documentation::wrapAbstract(submodule); + python_documentation::wrapBody(submodule); + python_documentation::wrapExecutionArguments(submodule); + python_documentation::wrapCodeRepo(submodule); + python_documentation::wrapInputDeck(submodule); + python_documentation::wrapInputDecks(submodule); + python_documentation::wrapOutputDeck(submodule); + python_documentation::wrapOutputDecks(submodule); + python_documentation::wrapComputerCode(submodule); + python_documentation::wrapComputerCodes(submodule); + python_documentation::wrapCovarianceScript(submodule); + python_documentation::wrapCorrectionScript(submodule); + python_documentation::wrapExforDataSet(submodule); + python_documentation::wrapExforDataSets(submodule); + python_documentation::wrapExperimentalDataSets(submodule); + python_documentation::wrapBibitem(submodule); + python_documentation::wrapBibliography(submodule); + python_documentation::wrapEndfCompatible(submodule); + python_documentation::wrapDocumentation(submodule); + python_documentation::wrapContributor(submodule); + python_documentation::wrapVersion(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Abstract.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Abstract.python.cpp new file mode 100644 index 000000000..50c3dbf6f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Abstract.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Abstract.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Abstract wrapper +void wrapAbstract(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Abstract; + + // create the component + python::class_ component( + module, + "Abstract", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgement.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgement.python.cpp new file mode 100644 index 000000000..58361de1b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgement.python.cpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Acknowledgement.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Acknowledgement wrapper +void wrapAcknowledgement(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Acknowledgement; + + // create the component + python::class_ component( + module, + "Acknowledgement", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const XMLName & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("label"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgements.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgements.python.cpp new file mode 100644 index 000000000..204e7020a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgements.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Acknowledgements.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Acknowledgements wrapper +void wrapAcknowledgements(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Acknowledgements; + + // create the component + python::class_ component( + module, + "Acknowledgements", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("acknowledgement"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "acknowledgement", + [](const Component &self) { return self.acknowledgement(); }, + Component::documentation("acknowledgement").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliation.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliation.python.cpp new file mode 100644 index 000000000..8097a9666 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliation.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Affiliation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Affiliation wrapper +void wrapAffiliation(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Affiliation; + + // create the component + python::class_ component( + module, + "Affiliation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const UTF8Text &, + const std::optional & + >(), + python::arg("name"), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliations.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliations.python.cpp new file mode 100644 index 000000000..f2395e190 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliations.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Affiliations.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Affiliations wrapper +void wrapAffiliations(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Affiliations; + + // create the component + python::class_ component( + module, + "Affiliations", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("affiliation"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "affiliation", + [](const Component &self) { return self.affiliation(); }, + Component::documentation("affiliation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Author.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Author.python.cpp new file mode 100644 index 000000000..b25ae98f9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Author.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Author.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Author wrapper +void wrapAuthor(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Author; + + // create the component + python::class_ component( + module, + "Author", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const UTF8Text &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("name"), + python::arg("orcid") = std::nullopt, + python::arg("email") = std::nullopt, + python::arg("affiliations") = std::nullopt, + python::arg("note") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "orcid", + [](const Component &self) { return self.orcid(); }, + Component::documentation("orcid").data() + ) + .def_property_readonly( + "email", + [](const Component &self) { return self.email(); }, + Component::documentation("email").data() + ) + .def_property_readonly( + "affiliations", + [](const Component &self) { return self.affiliations(); }, + Component::documentation("affiliations").data() + ) + .def_property_readonly( + "note", + [](const Component &self) { return self.note(); }, + Component::documentation("note").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Authors.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Authors.python.cpp new file mode 100644 index 000000000..859046a9a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Authors.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Authors.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Authors wrapper +void wrapAuthors(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Authors; + + // create the component + python::class_ component( + module, + "Authors", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("author"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "author", + [](const Component &self) { return self.author(); }, + Component::documentation("author").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibitem.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibitem.python.cpp new file mode 100644 index 000000000..ec9d76cb6 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibitem.python.cpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Bibitem.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Bibitem wrapper +void wrapBibitem(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Bibitem; + + // create the component + python::class_ component( + module, + "Bibitem", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const XMLName & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("xref"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "xref", + [](const Component &self) { return self.xref(); }, + Component::documentation("xref").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibliography.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibliography.python.cpp new file mode 100644 index 000000000..e017e20cf --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibliography.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Bibliography.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Bibliography wrapper +void wrapBibliography(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Bibliography; + + // create the component + python::class_ component( + module, + "Bibliography", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("bibitem"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "bibitem", + [](const Component &self) { return self.bibitem(); }, + Component::documentation("bibitem").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Body.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Body.python.cpp new file mode 100644 index 000000000..51bd6169d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Body.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Body.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Body wrapper +void wrapBody(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Body; + + // create the component + python::class_ component( + module, + "Body", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/CodeRepo.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/CodeRepo.python.cpp new file mode 100644 index 000000000..71ed7f0d8 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/CodeRepo.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/CodeRepo.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// CodeRepo wrapper +void wrapCodeRepo(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::CodeRepo; + + // create the component + python::class_ component( + module, + "CodeRepo", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const XMLName &, + const XMLName & + >(), + python::arg("label") = std::nullopt, + python::arg("revision_system"), + python::arg("href"), + python::arg("revision_id"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "revision_system", + [](const Component &self) { return self.revisionSystem(); }, + Component::documentation("revision_system").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "revision_id", + [](const Component &self) { return self.revisionID(); }, + Component::documentation("revision_id").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaboration.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaboration.python.cpp new file mode 100644 index 000000000..2962efdae --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaboration.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Collaboration.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Collaboration wrapper +void wrapCollaboration(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Collaboration; + + // create the component + python::class_ component( + module, + "Collaboration", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const UTF8Text &, + const std::optional & + >(), + python::arg("name"), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaborations.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaborations.python.cpp new file mode 100644 index 000000000..3f7a821dc --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaborations.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Collaborations.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Collaborations wrapper +void wrapCollaborations(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Collaborations; + + // create the component + python::class_ component( + module, + "Collaborations", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("collaboration"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "collaboration", + [](const Component &self) { return self.collaboration(); }, + Component::documentation("collaboration").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCode.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCode.python.cpp new file mode 100644 index 000000000..1c91daa30 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCode.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/ComputerCode.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ComputerCode wrapper +void wrapComputerCode(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::ComputerCode; + + // create the component + python::class_ component( + module, + "ComputerCode", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const UTF8Text &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("name"), + python::arg("version"), + python::arg("execution_arguments") = std::nullopt, + python::arg("code_repo") = std::nullopt, + python::arg("note") = std::nullopt, + python::arg("input_decks") = std::nullopt, + python::arg("output_decks") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "version", + [](const Component &self) { return self.version(); }, + Component::documentation("version").data() + ) + .def_property_readonly( + "execution_arguments", + [](const Component &self) { return self.executionArguments(); }, + Component::documentation("execution_arguments").data() + ) + .def_property_readonly( + "code_repo", + [](const Component &self) { return self.codeRepo(); }, + Component::documentation("code_repo").data() + ) + .def_property_readonly( + "note", + [](const Component &self) { return self.note(); }, + Component::documentation("note").data() + ) + .def_property_readonly( + "input_decks", + [](const Component &self) { return self.inputDecks(); }, + Component::documentation("input_decks").data() + ) + .def_property_readonly( + "output_decks", + [](const Component &self) { return self.outputDecks(); }, + Component::documentation("output_decks").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCodes.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCodes.python.cpp new file mode 100644 index 000000000..0db6b70ac --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCodes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/ComputerCodes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ComputerCodes wrapper +void wrapComputerCodes(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::ComputerCodes; + + // create the component + python::class_ component( + module, + "ComputerCodes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("computer_code"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "computer_code", + [](const Component &self) { return self.computerCode(); }, + Component::documentation("computer_code").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributor.python.cpp new file mode 100644 index 000000000..914d4b21e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributor.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Contributor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Contributor wrapper +void wrapContributor(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Contributor; + + // create the component + python::class_ component( + module, + "Contributor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const UTF8Text &, + const enums::ContributorType &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("name"), + python::arg("contributor_type"), + python::arg("orcid") = std::nullopt, + python::arg("email") = std::nullopt, + python::arg("affiliations") = std::nullopt, + python::arg("note") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "contributor_type", + [](const Component &self) { return self.contributorType(); }, + Component::documentation("contributor_type").data() + ) + .def_property_readonly( + "orcid", + [](const Component &self) { return self.orcid(); }, + Component::documentation("orcid").data() + ) + .def_property_readonly( + "email", + [](const Component &self) { return self.email(); }, + Component::documentation("email").data() + ) + .def_property_readonly( + "affiliations", + [](const Component &self) { return self.affiliations(); }, + Component::documentation("affiliations").data() + ) + .def_property_readonly( + "note", + [](const Component &self) { return self.note(); }, + Component::documentation("note").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributors.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributors.python.cpp new file mode 100644 index 000000000..bd51ea7bb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributors.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Contributors.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Contributors wrapper +void wrapContributors(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Contributors; + + // create the component + python::class_ component( + module, + "Contributors", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("contributor"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "contributor", + [](const Component &self) { return self.contributor(); }, + Component::documentation("contributor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Copyright.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Copyright.python.cpp new file mode 100644 index 000000000..6609b8b6d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Copyright.python.cpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Copyright.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Copyright wrapper +void wrapCopyright(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Copyright; + + // create the component + python::class_ component( + module, + "Copyright", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/CorrectionScript.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/CorrectionScript.python.cpp new file mode 100644 index 000000000..b63e9670b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/CorrectionScript.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/CorrectionScript.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// CorrectionScript wrapper +void wrapCorrectionScript(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::CorrectionScript; + + // create the component + python::class_ component( + module, + "CorrectionScript", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/CovarianceScript.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/CovarianceScript.python.cpp new file mode 100644 index 000000000..7396e4f2b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/CovarianceScript.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/CovarianceScript.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// CovarianceScript wrapper +void wrapCovarianceScript(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::CovarianceScript; + + // create the component + python::class_ component( + module, + "CovarianceScript", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Date.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Date.python.cpp new file mode 100644 index 000000000..356b4feff --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Date.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Date.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Date wrapper +void wrapDate(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Date; + + // create the component + python::class_ component( + module, + "Date", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const enums::DateType &, + const std::string & + >(), + python::arg("date_type"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date_type", + [](const Component &self) { return self.dateType(); }, + Component::documentation("date_type").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Dates.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Dates.python.cpp new file mode 100644 index 000000000..d1ea69bb0 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Dates.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Dates.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Dates wrapper +void wrapDates(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Dates; + + // create the component + python::class_ component( + module, + "Dates", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("date"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Documentation.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Documentation.python.cpp new file mode 100644 index 000000000..6867c3fb4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Documentation.python.cpp @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Documentation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Documentation wrapper +void wrapDocumentation(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Documentation; + + // create the component + python::class_ component( + module, + "Documentation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const documentation::Authors &, + const std::optional &, + const std::optional &, + const documentation::Dates &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const documentation::Title &, + const std::optional &, + const documentation::Body &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("doi") = std::nullopt, + python::arg("publication_date") = std::nullopt, + python::arg("version") = std::nullopt, + python::arg("authors"), + python::arg("contributors") = std::nullopt, + python::arg("collaborations") = std::nullopt, + python::arg("dates"), + python::arg("copyright") = std::nullopt, + python::arg("acknowledgements") = std::nullopt, + python::arg("keywords") = std::nullopt, + python::arg("related_items") = std::nullopt, + python::arg("title"), + python::arg("abstract") = std::nullopt, + python::arg("body"), + python::arg("computer_codes") = std::nullopt, + python::arg("experimental_data_sets") = std::nullopt, + python::arg("bibliography") = std::nullopt, + python::arg("endf_compatible") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "doi", + [](const Component &self) { return self.doi(); }, + Component::documentation("doi").data() + ) + .def_property_readonly( + "publication_date", + [](const Component &self) { return self.publicationDate(); }, + Component::documentation("publication_date").data() + ) + .def_property_readonly( + "version", + [](const Component &self) { return self.version(); }, + Component::documentation("version").data() + ) + .def_property_readonly( + "authors", + [](const Component &self) { return self.authors(); }, + Component::documentation("authors").data() + ) + .def_property_readonly( + "contributors", + [](const Component &self) { return self.contributors(); }, + Component::documentation("contributors").data() + ) + .def_property_readonly( + "collaborations", + [](const Component &self) { return self.collaborations(); }, + Component::documentation("collaborations").data() + ) + .def_property_readonly( + "dates", + [](const Component &self) { return self.dates(); }, + Component::documentation("dates").data() + ) + .def_property_readonly( + "copyright", + [](const Component &self) { return self.copyright(); }, + Component::documentation("copyright").data() + ) + .def_property_readonly( + "acknowledgements", + [](const Component &self) { return self.acknowledgements(); }, + Component::documentation("acknowledgements").data() + ) + .def_property_readonly( + "keywords", + [](const Component &self) { return self.keywords(); }, + Component::documentation("keywords").data() + ) + .def_property_readonly( + "related_items", + [](const Component &self) { return self.relatedItems(); }, + Component::documentation("related_items").data() + ) + .def_property_readonly( + "title", + [](const Component &self) { return self.title(); }, + Component::documentation("title").data() + ) + .def_property_readonly( + "abstract", + [](const Component &self) { return self.abstract(); }, + Component::documentation("abstract").data() + ) + .def_property_readonly( + "body", + [](const Component &self) { return self.body(); }, + Component::documentation("body").data() + ) + .def_property_readonly( + "computer_codes", + [](const Component &self) { return self.computerCodes(); }, + Component::documentation("computer_codes").data() + ) + .def_property_readonly( + "experimental_data_sets", + [](const Component &self) { return self.experimentalDataSets(); }, + Component::documentation("experimental_data_sets").data() + ) + .def_property_readonly( + "bibliography", + [](const Component &self) { return self.bibliography(); }, + Component::documentation("bibliography").data() + ) + .def_property_readonly( + "endf_compatible", + [](const Component &self) { return self.endfCompatible(); }, + Component::documentation("endf_compatible").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/EndfCompatible.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/EndfCompatible.python.cpp new file mode 100644 index 000000000..19cd12cb1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/EndfCompatible.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/EndfCompatible.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// EndfCompatible wrapper +void wrapEndfCompatible(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::EndfCompatible; + + // create the component + python::class_ component( + module, + "EndfCompatible", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExecutionArguments.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/ExecutionArguments.python.cpp new file mode 100644 index 000000000..f680562c2 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/ExecutionArguments.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/ExecutionArguments.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ExecutionArguments wrapper +void wrapExecutionArguments(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::ExecutionArguments; + + // create the component + python::class_ component( + module, + "ExecutionArguments", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSet.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSet.python.cpp new file mode 100644 index 000000000..ffe4c2bdc --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSet.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/ExforDataSet.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ExforDataSet wrapper +void wrapExforDataSet(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::ExforDataSet; + + // create the component + python::class_ component( + module, + "ExforDataSet", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::string &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("subentry"), + python::arg("retrieval_date"), + python::arg("covariance_script") = std::nullopt, + python::arg("correction_script") = std::nullopt, + python::arg("note") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "subentry", + [](const Component &self) { return self.subentry(); }, + Component::documentation("subentry").data() + ) + .def_property_readonly( + "retrieval_date", + [](const Component &self) { return self.retrievalDate(); }, + Component::documentation("retrieval_date").data() + ) + .def_property_readonly( + "covariance_script", + [](const Component &self) { return self.covarianceScript(); }, + Component::documentation("covariance_script").data() + ) + .def_property_readonly( + "correction_script", + [](const Component &self) { return self.correctionScript(); }, + Component::documentation("correction_script").data() + ) + .def_property_readonly( + "note", + [](const Component &self) { return self.note(); }, + Component::documentation("note").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSets.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSets.python.cpp new file mode 100644 index 000000000..6139e8792 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSets.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/ExforDataSets.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ExforDataSets wrapper +void wrapExforDataSets(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::ExforDataSets; + + // create the component + python::class_ component( + module, + "ExforDataSets", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("exfor_data_set"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "exfor_data_set", + [](const Component &self) { return self.exforDataSet(); }, + Component::documentation("exfor_data_set").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp new file mode 100644 index 000000000..a9e75f54b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/ExperimentalDataSets.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// ExperimentalDataSets wrapper +void wrapExperimentalDataSets(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::ExperimentalDataSets; + + // create the component + python::class_ component( + module, + "ExperimentalDataSets", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const documentation::ExforDataSets & + >(), + python::arg("exfor_data_sets"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "exfor_data_sets", + [](const Component &self) { return self.exforDataSets(); }, + Component::documentation("exfor_data_sets").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDeck.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDeck.python.cpp new file mode 100644 index 000000000..4e10d87b9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDeck.python.cpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/InputDeck.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// InputDeck wrapper +void wrapInputDeck(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::InputDeck; + + // create the component + python::class_ component( + module, + "InputDeck", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("filename") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "filename", + [](const Component &self) { return self.filename(); }, + Component::documentation("filename").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDecks.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDecks.python.cpp new file mode 100644 index 000000000..6f790d825 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDecks.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/InputDecks.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// InputDecks wrapper +void wrapInputDecks(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::InputDecks; + + // create the component + python::class_ component( + module, + "InputDecks", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("input_deck"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "input_deck", + [](const Component &self) { return self.inputDeck(); }, + Component::documentation("input_deck").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Keyword.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Keyword.python.cpp new file mode 100644 index 000000000..09e15759a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Keyword.python.cpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Keyword.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Keyword wrapper +void wrapKeyword(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Keyword; + + // create the component + python::class_ component( + module, + "Keyword", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const XMLName & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("type"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "type", + [](const Component &self) { return self.type(); }, + Component::documentation("type").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Keywords.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Keywords.python.cpp new file mode 100644 index 000000000..da5fcb124 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Keywords.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Keywords.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Keywords wrapper +void wrapKeywords(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Keywords; + + // create the component + python::class_ component( + module, + "Keywords", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("keyword"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "keyword", + [](const Component &self) { return self.keyword(); }, + Component::documentation("keyword").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Note.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Note.python.cpp new file mode 100644 index 000000000..6450659b7 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Note.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Note.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Note wrapper +void wrapNote(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Note; + + // create the component + python::class_ component( + module, + "Note", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDeck.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDeck.python.cpp new file mode 100644 index 000000000..b30f3b807 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDeck.python.cpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/OutputDeck.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// OutputDeck wrapper +void wrapOutputDeck(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::OutputDeck; + + // create the component + python::class_ component( + module, + "OutputDeck", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("filename") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "filename", + [](const Component &self) { return self.filename(); }, + Component::documentation("filename").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDecks.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDecks.python.cpp new file mode 100644 index 000000000..0835bdc0a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDecks.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/OutputDecks.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// OutputDecks wrapper +void wrapOutputDecks(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::OutputDecks; + + // create the component + python::class_ component( + module, + "OutputDecks", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("output_deck"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "output_deck", + [](const Component &self) { return self.outputDeck(); }, + Component::documentation("output_deck").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItem.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItem.python.cpp new file mode 100644 index 000000000..b5424ba24 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItem.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/RelatedItem.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// RelatedItem wrapper +void wrapRelatedItem(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::RelatedItem; + + // create the component + python::class_ component( + module, + "RelatedItem", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const UTF8Text &, + const std::optional &, + const std::optional & + >(), + python::arg("name"), + python::arg("href") = std::nullopt, + python::arg("relation_type") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "relation_type", + [](const Component &self) { return self.relationType(); }, + Component::documentation("relation_type").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItems.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItems.python.cpp new file mode 100644 index 000000000..2bda4b54c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItems.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/RelatedItems.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// RelatedItems wrapper +void wrapRelatedItems(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::RelatedItems; + + // create the component + python::class_ component( + module, + "RelatedItems", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("related_item"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "related_item", + [](const Component &self) { return self.relatedItem(); }, + Component::documentation("related_item").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Title.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Title.python.cpp new file mode 100644 index 000000000..45bf722d8 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Title.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Title.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Title wrapper +void wrapTitle(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Title; + + // create the component + python::class_ component( + module, + "Title", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Version.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/documentation/Version.python.cpp new file mode 100644 index 000000000..473d43dee --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/documentation/Version.python.cpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/documentation/Version.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_documentation { + +// Version wrapper +void wrapVersion(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = documentation::Version; + + // create the component + python::class_ component( + module, + "Version", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("encoding") = std::nullopt, + python::arg("markup") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "encoding", + [](const Component &self) { return self.encoding().value(); }, + Component::documentation("encoding").data() + ) + .def_property_readonly( + "markup", + [](const Component &self) { return self.markup().value(); }, + Component::documentation("markup").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_documentation +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData.python.cpp new file mode 100644 index 000000000..97a69626e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData.python.cpp @@ -0,0 +1,37 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// fissionFragmentData declarations +namespace python_fissionFragmentData { + void wrapRate(python::module &); + void wrapDelayedNeutron(python::module &); + void wrapDelayedNeutrons(python::module &); + void wrapFissionFragmentData(python::module &); +} // namespace python_fissionFragmentData + +// fissionFragmentData wrapper +void wrapFissionFragmentData(python::module &module) +{ + // create the fissionFragmentData submodule + python::module submodule = module.def_submodule( + "fissionFragmentData", + "try v2.0 fissionFragmentData" + ); + + // wrap fissionFragmentData components + python_fissionFragmentData::wrapRate(submodule); + python_fissionFragmentData::wrapDelayedNeutron(submodule); + python_fissionFragmentData::wrapDelayedNeutrons(submodule); + python_fissionFragmentData::wrapFissionFragmentData(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp new file mode 100644 index 000000000..a766de424 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionFragmentData/DelayedNeutron.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionFragmentData { + +// DelayedNeutron wrapper +void wrapDelayedNeutron(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionFragmentData::DelayedNeutron; + + // create the component + python::class_ component( + module, + "DelayedNeutron", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const fissionFragmentData::Rate &, + const ambiguousNamespace::Product & + >(), + python::arg("label"), + python::arg("rate"), + python::arg("product"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "rate", + [](const Component &self) { return self.rate(); }, + Component::documentation("rate").data() + ) + .def_property_readonly( + "product", + [](const Component &self) { return self.product(); }, + Component::documentation("product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionFragmentData +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp new file mode 100644 index 000000000..8e79926f5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionFragmentData { + +// DelayedNeutrons wrapper +void wrapDelayedNeutrons(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionFragmentData::DelayedNeutrons; + + // create the component + python::class_ component( + module, + "DelayedNeutrons", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("delayed_neutron"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "delayed_neutron", + [](const Component &self) { return self.delayedNeutron(); }, + Component::documentation("delayed_neutron").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionFragmentData +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp new file mode 100644 index 000000000..0193c000e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionFragmentData { + +// FissionFragmentData wrapper +void wrapFissionFragmentData(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionFragmentData::FissionFragmentData; + + // create the component + python::class_ component( + module, + "FissionFragmentData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("delayed_neutrons") = std::nullopt, + python::arg("fission_energy_released") = std::nullopt, + python::arg("product_yields") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "delayed_neutrons", + [](const Component &self) { return self.delayedNeutrons(); }, + Component::documentation("delayed_neutrons").data() + ) + .def_property_readonly( + "fission_energy_released", + [](const Component &self) { return self.fissionEnergyReleased(); }, + Component::documentation("fission_energy_released").data() + ) + .def_property_readonly( + "product_yields", + [](const Component &self) { return self.productYields(); }, + Component::documentation("product_yields").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionFragmentData +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp new file mode 100644 index 000000000..e823ae0c3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionFragmentData/Rate.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionFragmentData { + +// Rate wrapper +void wrapRate(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionFragmentData::Rate; + + // create the component + python::class_ component( + module, + "Rate", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionFragmentData +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp new file mode 100644 index 000000000..d7c7d6535 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp @@ -0,0 +1,69 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// fissionTransport declarations +namespace python_fissionTransport { + void wrapDelayedBetaEnergy(python::module &); + void wrapDelayedGammaEnergy(python::module &); + void wrapDelayedNeutronKE(python::module &); + void wrapNeutrinoEnergy(python::module &); + void wrapNonNeutrinoEnergy(python::module &); + void wrapPromptGammaEnergy(python::module &); + void wrapPromptNeutronKE(python::module &); + void wrapPromptProductKE(python::module &); + void wrapTotalEnergy(python::module &); + void wrapFissionEnergyReleased(python::module &); + void wrapSimpleMaxwellianFission(python::module &); + void wrapA(python::module &); + void wrapB(python::module &); + void wrapWatt(python::module &); + void wrapEFH(python::module &); + void wrapEFL(python::module &); + void wrapT_M(python::module &); + void wrapMadlandNix(python::module &); + void wrapFissionComponent(python::module &); + void wrapFissionComponents(python::module &); +} // namespace python_fissionTransport + +// fissionTransport wrapper +void wrapFissionTransport(python::module &module) +{ + // create the fissionTransport submodule + python::module submodule = module.def_submodule( + "fissionTransport", + "try v2.0 fissionTransport" + ); + + // wrap fissionTransport components + python_fissionTransport::wrapDelayedBetaEnergy(submodule); + python_fissionTransport::wrapDelayedGammaEnergy(submodule); + python_fissionTransport::wrapDelayedNeutronKE(submodule); + python_fissionTransport::wrapNeutrinoEnergy(submodule); + python_fissionTransport::wrapNonNeutrinoEnergy(submodule); + python_fissionTransport::wrapPromptGammaEnergy(submodule); + python_fissionTransport::wrapPromptNeutronKE(submodule); + python_fissionTransport::wrapPromptProductKE(submodule); + python_fissionTransport::wrapTotalEnergy(submodule); + python_fissionTransport::wrapFissionEnergyReleased(submodule); + python_fissionTransport::wrapSimpleMaxwellianFission(submodule); + python_fissionTransport::wrapA(submodule); + python_fissionTransport::wrapB(submodule); + python_fissionTransport::wrapWatt(submodule); + python_fissionTransport::wrapEFH(submodule); + python_fissionTransport::wrapEFL(submodule); + python_fissionTransport::wrapT_M(submodule); + python_fissionTransport::wrapMadlandNix(submodule); + python_fissionTransport::wrapFissionComponent(submodule); + python_fissionTransport::wrapFissionComponents(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/A.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/A.python.cpp new file mode 100644 index 000000000..c6d21b190 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/A.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/A.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// A wrapper +void wrapA(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::A; + + // create the component + python::class_ component( + module, + "A", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/B.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/B.python.cpp new file mode 100644 index 000000000..0c8c1b223 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/B.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/B.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// B wrapper +void wrapB(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::B; + + // create the component + python::class_ component( + module, + "B", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp new file mode 100644 index 000000000..a6781b37f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/DelayedBetaEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// DelayedBetaEnergy wrapper +void wrapDelayedBetaEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::DelayedBetaEnergy; + + // create the component + python::class_ component( + module, + "DelayedBetaEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp new file mode 100644 index 000000000..650b6a03d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/DelayedGammaEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// DelayedGammaEnergy wrapper +void wrapDelayedGammaEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::DelayedGammaEnergy; + + // create the component + python::class_ component( + module, + "DelayedGammaEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp new file mode 100644 index 000000000..631af59fc --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/DelayedNeutronKE.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// DelayedNeutronKE wrapper +void wrapDelayedNeutronKE(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::DelayedNeutronKE; + + // create the component + python::class_ component( + module, + "DelayedNeutronKE", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFH.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFH.python.cpp new file mode 100644 index 000000000..36310c546 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFH.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/EFH.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// EFH wrapper +void wrapEFH(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::EFH; + + // create the component + python::class_ component( + module, + "EFH", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFL.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFL.python.cpp new file mode 100644 index 000000000..7f1650d8f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFL.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/EFL.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// EFL wrapper +void wrapEFL(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::EFL; + + // create the component + python::class_ component( + module, + "EFL", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponent.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponent.python.cpp new file mode 100644 index 000000000..f60817fca --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponent.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/FissionComponent.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// FissionComponent wrapper +void wrapFissionComponent(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::FissionComponent; + + // create the component + python::class_ component( + module, + "FissionComponent", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mt") = std::nullopt, + python::arg("fission_genre"), + python::arg("label"), + python::arg("cross_section") = std::nullopt, + python::arg("output_channel") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + [](const Component &self) { return self.ENDF_MT(); }, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "fission_genre", + [](const Component &self) { return self.fissionGenre(); }, + Component::documentation("fission_genre").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "cross_section", + [](const Component &self) { return self.crossSection(); }, + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "output_channel", + [](const Component &self) { return self.outputChannel(); }, + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponents.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponents.python.cpp new file mode 100644 index 000000000..2e0d47186 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponents.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/FissionComponents.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// FissionComponents wrapper +void wrapFissionComponents(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::FissionComponents; + + // create the component + python::class_ component( + module, + "FissionComponents", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("fission_component") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "fission_component", + [](const Component &self) { return self.fissionComponent(); }, + Component::documentation("fission_component").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp new file mode 100644 index 000000000..4625c1860 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp @@ -0,0 +1,119 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/FissionEnergyReleased.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// FissionEnergyReleased wrapper +void wrapFissionEnergyReleased(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::FissionEnergyReleased; + + // create the component + python::class_ component( + module, + "FissionEnergyReleased", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("delayed_beta_energy") = std::nullopt, + python::arg("delayed_gamma_energy") = std::nullopt, + python::arg("delayed_neutron_ke") = std::nullopt, + python::arg("neutrino_energy") = std::nullopt, + python::arg("non_neutrino_energy") = std::nullopt, + python::arg("prompt_gamma_energy") = std::nullopt, + python::arg("prompt_neutron_ke") = std::nullopt, + python::arg("prompt_product_ke") = std::nullopt, + python::arg("total_energy") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "delayed_beta_energy", + [](const Component &self) { return self.delayedBetaEnergy(); }, + Component::documentation("delayed_beta_energy").data() + ) + .def_property_readonly( + "delayed_gamma_energy", + [](const Component &self) { return self.delayedGammaEnergy(); }, + Component::documentation("delayed_gamma_energy").data() + ) + .def_property_readonly( + "delayed_neutron_ke", + [](const Component &self) { return self.delayedNeutronKE(); }, + Component::documentation("delayed_neutron_ke").data() + ) + .def_property_readonly( + "neutrino_energy", + [](const Component &self) { return self.neutrinoEnergy(); }, + Component::documentation("neutrino_energy").data() + ) + .def_property_readonly( + "non_neutrino_energy", + [](const Component &self) { return self.nonNeutrinoEnergy(); }, + Component::documentation("non_neutrino_energy").data() + ) + .def_property_readonly( + "prompt_gamma_energy", + [](const Component &self) { return self.promptGammaEnergy(); }, + Component::documentation("prompt_gamma_energy").data() + ) + .def_property_readonly( + "prompt_neutron_ke", + [](const Component &self) { return self.promptNeutronKE(); }, + Component::documentation("prompt_neutron_ke").data() + ) + .def_property_readonly( + "prompt_product_ke", + [](const Component &self) { return self.promptProductKE(); }, + Component::documentation("prompt_product_ke").data() + ) + .def_property_readonly( + "total_energy", + [](const Component &self) { return self.totalEnergy(); }, + Component::documentation("total_energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/MadlandNix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/MadlandNix.python.cpp new file mode 100644 index 000000000..3eaef2070 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/MadlandNix.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/MadlandNix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// MadlandNix wrapper +void wrapMadlandNix(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::MadlandNix; + + // create the component + python::class_ component( + module, + "MadlandNix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const fissionTransport::EFH &, + const fissionTransport::EFL &, + const fissionTransport::T_M & + >(), + python::arg("efh"), + python::arg("efl"), + python::arg("t_m"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "efh", + [](const Component &self) { return self.EFH(); }, + Component::documentation("efh").data() + ) + .def_property_readonly( + "efl", + [](const Component &self) { return self.EFL(); }, + Component::documentation("efl").data() + ) + .def_property_readonly( + "t_m", + [](const Component &self) { return self.T_M(); }, + Component::documentation("t_m").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp new file mode 100644 index 000000000..f6d9196a7 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/NeutrinoEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// NeutrinoEnergy wrapper +void wrapNeutrinoEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::NeutrinoEnergy; + + // create the component + python::class_ component( + module, + "NeutrinoEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp new file mode 100644 index 000000000..ee729053c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// NonNeutrinoEnergy wrapper +void wrapNonNeutrinoEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::NonNeutrinoEnergy; + + // create the component + python::class_ component( + module, + "NonNeutrinoEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp new file mode 100644 index 000000000..f29602930 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/PromptGammaEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// PromptGammaEnergy wrapper +void wrapPromptGammaEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::PromptGammaEnergy; + + // create the component + python::class_ component( + module, + "PromptGammaEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp new file mode 100644 index 000000000..5b9ec278b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/PromptNeutronKE.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// PromptNeutronKE wrapper +void wrapPromptNeutronKE(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::PromptNeutronKE; + + // create the component + python::class_ component( + module, + "PromptNeutronKE", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp new file mode 100644 index 000000000..2a5dc4ae8 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/PromptProductKE.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// PromptProductKE wrapper +void wrapPromptProductKE(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::PromptProductKE; + + // create the component + python::class_ component( + module, + "PromptProductKE", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp new file mode 100644 index 000000000..ff1bc5b99 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// SimpleMaxwellianFission wrapper +void wrapSimpleMaxwellianFission(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::SimpleMaxwellianFission; + + // create the component + python::class_ component( + module, + "SimpleMaxwellianFission", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("u") = std::nullopt, + python::arg("theta") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "u", + [](const Component &self) { return self.U(); }, + Component::documentation("u").data() + ) + .def_property_readonly( + "theta", + [](const Component &self) { return self.theta(); }, + Component::documentation("theta").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp new file mode 100644 index 000000000..7c0df00d0 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/T_M.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// T_M wrapper +void wrapT_M(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::T_M; + + // create the component + python::class_ component( + module, + "T_M", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp new file mode 100644 index 000000000..5bdecd3ba --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/TotalEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// TotalEnergy wrapper +void wrapTotalEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::TotalEnergy; + + // create the component + python::class_ component( + module, + "TotalEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("polynomial1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/Watt.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/Watt.python.cpp new file mode 100644 index 000000000..ba60af390 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/Watt.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fissionTransport/Watt.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fissionTransport { + +// Watt wrapper +void wrapWatt(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fissionTransport::Watt; + + // create the component + python::class_ component( + module, + "Watt", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const transport::U &, + const fissionTransport::A &, + const fissionTransport::B & + >(), + python::arg("u"), + python::arg("a"), + python::arg("b"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "u", + [](const Component &self) { return self.U(); }, + Component::documentation("u").data() + ) + .def_property_readonly( + "a", + [](const Component &self) { return self.a(); }, + Component::documentation("a").data() + ) + .def_property_readonly( + "b", + [](const Component &self) { return self.b(); }, + Component::documentation("b").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fissionTransport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy.python.cpp new file mode 100644 index 000000000..8cbd0665e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// fpy declarations +namespace python_fpy { + void wrapNuclides(python::module &); + void wrapTime(python::module &); + void wrapYields(python::module &); + void wrapEnergy(python::module &); + void wrapIncidentEnergy(python::module &); + void wrapIncidentEnergies(python::module &); + void wrapElapsedTime(python::module &); + void wrapElapsedTimes(python::module &); + void wrapProductYield(python::module &); + void wrapProductYields(python::module &); +} // namespace python_fpy + +// fpy wrapper +void wrapFpy(python::module &module) +{ + // create the fpy submodule + python::module submodule = module.def_submodule( + "fpy", + "try v2.0 fpy" + ); + + // wrap fpy components + python_fpy::wrapNuclides(submodule); + python_fpy::wrapTime(submodule); + python_fpy::wrapYields(submodule); + python_fpy::wrapEnergy(submodule); + python_fpy::wrapIncidentEnergy(submodule); + python_fpy::wrapIncidentEnergies(submodule); + python_fpy::wrapElapsedTime(submodule); + python_fpy::wrapElapsedTimes(submodule); + python_fpy::wrapProductYield(submodule); + python_fpy::wrapProductYields(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTime.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTime.python.cpp new file mode 100644 index 000000000..748b4ff2a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTime.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/ElapsedTime.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// ElapsedTime wrapper +void wrapElapsedTime(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::ElapsedTime; + using _t = std::variant< + fpy::Yields, + fpy::IncidentEnergies + >; + + // create the component + python::class_ component( + module, + "ElapsedTime", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const fpy::Time &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("time"), + python::arg("_yieldsincident_energies"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "time", + [](const Component &self) { return self.time(); }, + Component::documentation("time").data() + ) + .def_property_readonly( + "yields", + [](const Component &self) { return self.yields(); }, + Component::documentation("yields").data() + ) + .def_property_readonly( + "incident_energies", + [](const Component &self) { return self.incidentEnergies(); }, + Component::documentation("incident_energies").data() + ) + .def_property_readonly( + "_yieldsincident_energies", + [](const Component &self) { return self._yieldsincidentEnergies(); }, + Component::documentation("_yieldsincident_energies").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTimes.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTimes.python.cpp new file mode 100644 index 000000000..7a69f529e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTimes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/ElapsedTimes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// ElapsedTimes wrapper +void wrapElapsedTimes(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::ElapsedTimes; + + // create the component + python::class_ component( + module, + "ElapsedTimes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("elapsed_time"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "elapsed_time", + [](const Component &self) { return self.elapsedTime(); }, + Component::documentation("elapsed_time").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp new file mode 100644 index 000000000..e43234800 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/Energy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// Energy wrapper +void wrapEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::Energy; + + // create the component + python::class_ component( + module, + "Energy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergies.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergies.python.cpp new file mode 100644 index 000000000..6dd2ad992 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergies.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/IncidentEnergies.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// IncidentEnergies wrapper +void wrapIncidentEnergies(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::IncidentEnergies; + + // create the component + python::class_ component( + module, + "IncidentEnergies", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("incident_energy"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "incident_energy", + [](const Component &self) { return self.incidentEnergy(); }, + Component::documentation("incident_energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergy.python.cpp new file mode 100644 index 000000000..4a49912fa --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergy.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/IncidentEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// IncidentEnergy wrapper +void wrapIncidentEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::IncidentEnergy; + + // create the component + python::class_ component( + module, + "IncidentEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const fpy::Energy &, + const fpy::Yields & + >(), + python::arg("label"), + python::arg("energy"), + python::arg("yields"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "energy", + [](const Component &self) { return self.energy(); }, + Component::documentation("energy").data() + ) + .def_property_readonly( + "yields", + [](const Component &self) { return self.yields(); }, + Component::documentation("yields").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Nuclides.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Nuclides.python.cpp new file mode 100644 index 000000000..357dc16af --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Nuclides.python.cpp @@ -0,0 +1,92 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/Nuclides.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// Nuclides wrapper +void wrapNuclides(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::Nuclides; + + // create the component + python::class_ component( + module, + "Nuclides", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYield.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYield.python.cpp new file mode 100644 index 000000000..62649ac2b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYield.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/ProductYield.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// ProductYield wrapper +void wrapProductYield(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::ProductYield; + + // create the component + python::class_ component( + module, + "ProductYield", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const fpy::ElapsedTimes & + >(), + python::arg("label"), + python::arg("nuclides") = std::nullopt, + python::arg("elapsed_times"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "nuclides", + [](const Component &self) { return self.nuclides(); }, + Component::documentation("nuclides").data() + ) + .def_property_readonly( + "elapsed_times", + [](const Component &self) { return self.elapsedTimes(); }, + Component::documentation("elapsed_times").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYields.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYields.python.cpp new file mode 100644 index 000000000..c47b52555 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYields.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/ProductYields.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// ProductYields wrapper +void wrapProductYields(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::ProductYields; + + // create the component + python::class_ component( + module, + "ProductYields", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("product_yield"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "product_yield", + [](const Component &self) { return self.productYield(); }, + Component::documentation("product_yield").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp new file mode 100644 index 000000000..a0912b746 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/Time.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// Time wrapper +void wrapTime(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::Time; + using _t = std::variant< + unknownNamespace::Double, + unknownNamespace::String + >; + + // create the component + python::class_ component( + module, + "Time", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_doublestring"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + .def_property_readonly( + "string", + [](const Component &self) { return self.string(); }, + Component::documentation("string").data() + ) + .def_property_readonly( + "_doublestring", + [](const Component &self) { return self._Doublestring(); }, + Component::documentation("_doublestring").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp new file mode 100644 index 000000000..aab0bb9d1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/fpy/Yields.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_fpy { + +// Yields wrapper +void wrapYields(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = fpy::Yields; + + // create the component + python::class_ component( + module, + "Yields", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const fpy::Nuclides &, + const unknownNamespace::Values &, + const std::optional & + >(), + python::arg("nuclides"), + python::arg("values"), + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "nuclides", + [](const Component &self) { return self.nuclides(); }, + Component::documentation("nuclides").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_fpy +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/map.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/map.python.cpp new file mode 100644 index 000000000..40e0bd00f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/map.python.cpp @@ -0,0 +1,37 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// map declarations +namespace python_map { + void wrapImport(python::module &); + void wrapProtare(python::module &); + void wrapTNSL(python::module &); + void wrapMap(python::module &); +} // namespace python_map + +// map wrapper +void wrapMap(python::module &module) +{ + // create the map submodule + python::module submodule = module.def_submodule( + "map", + "try v2.0 map" + ); + + // wrap map components + python_map::wrapImport(submodule); + python_map::wrapProtare(submodule); + python_map::wrapTNSL(submodule); + python_map::wrapMap(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/map/Import.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/map/Import.python.cpp new file mode 100644 index 000000000..1d6f9de25 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/map/Import.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/map/Import.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_map { + +// Import wrapper +void wrapImport(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = map::Import; + + // create the component + python::class_ component( + module, + "Import", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const checksum &, + const std::optional & + >(), + python::arg("path"), + python::arg("checksum"), + python::arg("algorithm") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "path", + [](const Component &self) { return self.path(); }, + Component::documentation("path").data() + ) + .def_property_readonly( + "checksum", + [](const Component &self) { return self.checksum(); }, + Component::documentation("checksum").data() + ) + .def_property_readonly( + "algorithm", + [](const Component &self) { return self.algorithm(); }, + Component::documentation("algorithm").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_map +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/map/Map.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/map/Map.python.cpp new file mode 100644 index 000000000..a59e7cb15 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/map/Map.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/map/Map.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_map { + +// Map wrapper +void wrapMap(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = map::Map; + + // create the component + python::class_ component( + module, + "Map", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const checksum &, + const algorithm &, + const std::optional> &, + const std::optional> &, + const std::optional> & + >(), + python::arg("library"), + python::arg("format"), + python::arg("checksum"), + python::arg("algorithm"), + python::arg("import") = std::nullopt, + python::arg("protare") = std::nullopt, + python::arg("tnsl") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "library", + [](const Component &self) { return self.library(); }, + Component::documentation("library").data() + ) + .def_property_readonly( + "format", + [](const Component &self) { return self.format(); }, + Component::documentation("format").data() + ) + .def_property_readonly( + "checksum", + [](const Component &self) { return self.checksum(); }, + Component::documentation("checksum").data() + ) + .def_property_readonly( + "algorithm", + [](const Component &self) { return self.algorithm(); }, + Component::documentation("algorithm").data() + ) + .def_property_readonly( + "import", + [](const Component &self) { return self.import(); }, + Component::documentation("import").data() + ) + .def_property_readonly( + "protare", + [](const Component &self) { return self.protare(); }, + Component::documentation("protare").data() + ) + .def_property_readonly( + "tnsl", + [](const Component &self) { return self.TNSL(); }, + Component::documentation("tnsl").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_map +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/map/Protare.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/map/Protare.python.cpp new file mode 100644 index 000000000..0b9f20254 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/map/Protare.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/map/Protare.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_map { + +// Protare wrapper +void wrapProtare(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = map::Protare; + + // create the component + python::class_ component( + module, + "Protare", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const XMLName &, + const XMLName &, + const XMLName &, + const checksum &, + const std::optional & + >(), + python::arg("projectile"), + python::arg("target"), + python::arg("evaluation"), + python::arg("path"), + python::arg("interaction"), + python::arg("checksum"), + python::arg("algorithm") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "projectile", + [](const Component &self) { return self.projectile(); }, + Component::documentation("projectile").data() + ) + .def_property_readonly( + "target", + [](const Component &self) { return self.target(); }, + Component::documentation("target").data() + ) + .def_property_readonly( + "evaluation", + [](const Component &self) { return self.evaluation(); }, + Component::documentation("evaluation").data() + ) + .def_property_readonly( + "path", + [](const Component &self) { return self.path(); }, + Component::documentation("path").data() + ) + .def_property_readonly( + "interaction", + [](const Component &self) { return self.interaction(); }, + Component::documentation("interaction").data() + ) + .def_property_readonly( + "checksum", + [](const Component &self) { return self.checksum(); }, + Component::documentation("checksum").data() + ) + .def_property_readonly( + "algorithm", + [](const Component &self) { return self.algorithm(); }, + Component::documentation("algorithm").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_map +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/map/TNSL.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/map/TNSL.python.cpp new file mode 100644 index 000000000..b3b23ccba --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/map/TNSL.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/map/TNSL.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_map { + +// TNSL wrapper +void wrapTNSL(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = map::TNSL; + + // create the component + python::class_ component( + module, + "TNSL", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const XMLName &, + const XMLName &, + const std::optional &, + const checksum &, + const std::optional &, + const XMLName &, + const XMLName & + >(), + python::arg("projectile"), + python::arg("target"), + python::arg("evaluation"), + python::arg("path"), + python::arg("interaction") = std::nullopt, + python::arg("checksum"), + python::arg("algorithm") = std::nullopt, + python::arg("standard_target"), + python::arg("standard_evaluation"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "projectile", + [](const Component &self) { return self.projectile(); }, + Component::documentation("projectile").data() + ) + .def_property_readonly( + "target", + [](const Component &self) { return self.target(); }, + Component::documentation("target").data() + ) + .def_property_readonly( + "evaluation", + [](const Component &self) { return self.evaluation(); }, + Component::documentation("evaluation").data() + ) + .def_property_readonly( + "path", + [](const Component &self) { return self.path(); }, + Component::documentation("path").data() + ) + .def_property_readonly( + "interaction", + [](const Component &self) { return self.interaction(); }, + Component::documentation("interaction").data() + ) + .def_property_readonly( + "checksum", + [](const Component &self) { return self.checksum(); }, + Component::documentation("checksum").data() + ) + .def_property_readonly( + "algorithm", + [](const Component &self) { return self.algorithm(); }, + Component::documentation("algorithm").data() + ) + .def_property_readonly( + "standard_target", + [](const Component &self) { return self.standardTarget(); }, + Component::documentation("standard_target").data() + ) + .def_property_readonly( + "standard_evaluation", + [](const Component &self) { return self.standardEvaluation(); }, + Component::documentation("standard_evaluation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_map +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp new file mode 100644 index 000000000..8d2c7aa6e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp @@ -0,0 +1,143 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// pops declarations +namespace python_pops { + void wrapStandard(python::module &); + void wrapLogNormal(python::module &); + void wrapInterval(python::module &); + void wrapConfidenceIntervals(python::module &); + void wrapPdf(python::module &); + void wrapUncertainty(python::module &); + void wrapAlias(python::module &); + void wrapMetaStable(python::module &); + void wrapAliases(python::module &); + void wrapCharge(python::module &); + void wrapHalflife(python::module &); + void wrapMass(python::module &); + void wrapSpin(python::module &); + void wrapParity(python::module &); + void wrapProbability(python::module &); + void wrapShell(python::module &); + void wrapInternalConversionCoefficients(python::module &); + void wrapPhotonEmissionProbabilities(python::module &); + void wrapQ(python::module &); + void wrapProduct(python::module &); + void wrapProducts(python::module &); + void wrapDecay(python::module &); + void wrapDecayPath(python::module &); + void wrapContinuum(python::module &); + void wrapDiscreteEnergy(python::module &); + void wrapIntensity(python::module &); + void wrapInternalPairFormationCoefficient(python::module &); + void wrapPositronEmissionIntensity(python::module &); + void wrapDiscrete(python::module &); + void wrapSpectrum(python::module &); + void wrapSpectra(python::module &); + void wrapDecayMode(python::module &); + void wrapDecayModes(python::module &); + void wrapAverageEnergy(python::module &); + void wrapAverageEnergies(python::module &); + void wrapDecayData(python::module &); + void wrapGaugeBoson(python::module &); + void wrapGaugeBosons(python::module &); + void wrapLepton(python::module &); + void wrapLeptons(python::module &); + void wrapBaryon(python::module &); + void wrapBaryons(python::module &); + void wrapBindingEnergy(python::module &); + void wrapConfiguration(python::module &); + void wrapConfigurations(python::module &); + void wrapAtomic(python::module &); + void wrapEnergy(python::module &); + void wrapNucleus(python::module &); + void wrapNuclide(python::module &); + void wrapNuclides(python::module &); + void wrapIsotope(python::module &); + void wrapIsotopes(python::module &); + void wrapChemicalElement(python::module &); + void wrapChemicalElements(python::module &); + void wrapUnorthodoxes(python::module &); + void wrapPoPs_database(python::module &); + void wrapUnorthodox(python::module &); +} // namespace python_pops + +// pops wrapper +void wrapPops(python::module &module) +{ + // create the pops submodule + python::module submodule = module.def_submodule( + "pops", + "try v2.0 pops" + ); + + // wrap pops components + python_pops::wrapStandard(submodule); + python_pops::wrapLogNormal(submodule); + python_pops::wrapInterval(submodule); + python_pops::wrapConfidenceIntervals(submodule); + python_pops::wrapPdf(submodule); + python_pops::wrapUncertainty(submodule); + python_pops::wrapAlias(submodule); + python_pops::wrapMetaStable(submodule); + python_pops::wrapAliases(submodule); + python_pops::wrapCharge(submodule); + python_pops::wrapHalflife(submodule); + python_pops::wrapMass(submodule); + python_pops::wrapSpin(submodule); + python_pops::wrapParity(submodule); + python_pops::wrapProbability(submodule); + python_pops::wrapShell(submodule); + python_pops::wrapInternalConversionCoefficients(submodule); + python_pops::wrapPhotonEmissionProbabilities(submodule); + python_pops::wrapQ(submodule); + python_pops::wrapProduct(submodule); + python_pops::wrapProducts(submodule); + python_pops::wrapDecay(submodule); + python_pops::wrapDecayPath(submodule); + python_pops::wrapContinuum(submodule); + python_pops::wrapDiscreteEnergy(submodule); + python_pops::wrapIntensity(submodule); + python_pops::wrapInternalPairFormationCoefficient(submodule); + python_pops::wrapPositronEmissionIntensity(submodule); + python_pops::wrapDiscrete(submodule); + python_pops::wrapSpectrum(submodule); + python_pops::wrapSpectra(submodule); + python_pops::wrapDecayMode(submodule); + python_pops::wrapDecayModes(submodule); + python_pops::wrapAverageEnergy(submodule); + python_pops::wrapAverageEnergies(submodule); + python_pops::wrapDecayData(submodule); + python_pops::wrapGaugeBoson(submodule); + python_pops::wrapGaugeBosons(submodule); + python_pops::wrapLepton(submodule); + python_pops::wrapLeptons(submodule); + python_pops::wrapBaryon(submodule); + python_pops::wrapBaryons(submodule); + python_pops::wrapBindingEnergy(submodule); + python_pops::wrapConfiguration(submodule); + python_pops::wrapConfigurations(submodule); + python_pops::wrapAtomic(submodule); + python_pops::wrapEnergy(submodule); + python_pops::wrapNucleus(submodule); + python_pops::wrapNuclide(submodule); + python_pops::wrapNuclides(submodule); + python_pops::wrapIsotope(submodule); + python_pops::wrapIsotopes(submodule); + python_pops::wrapChemicalElement(submodule); + python_pops::wrapChemicalElements(submodule); + python_pops::wrapUnorthodoxes(submodule); + python_pops::wrapPoPs_database(submodule); + python_pops::wrapUnorthodox(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Alias.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Alias.python.cpp new file mode 100644 index 000000000..2d9c0be3b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Alias.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Alias.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Alias wrapper +void wrapAlias(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Alias; + + // create the component + python::class_ component( + module, + "Alias", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("id"), + python::arg("pid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + [](const Component &self) { return self.id(); }, + Component::documentation("id").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Aliases.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Aliases.python.cpp new file mode 100644 index 000000000..6e391e905 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Aliases.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Aliases.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Aliases wrapper +void wrapAliases(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Aliases; + + // create the component + python::class_ component( + module, + "Aliases", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> &, + const std::optional> & + >(), + python::arg("alias") = std::nullopt, + python::arg("meta_stable") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "alias", + [](const Component &self) { return self.alias(); }, + Component::documentation("alias").data() + ) + .def_property_readonly( + "meta_stable", + [](const Component &self) { return self.metaStable(); }, + Component::documentation("meta_stable").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Atomic.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Atomic.python.cpp new file mode 100644 index 000000000..c3822dc05 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Atomic.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Atomic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Atomic wrapper +void wrapAtomic(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Atomic; + + // create the component + python::class_ component( + module, + "Atomic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("configurations") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "configurations", + [](const Component &self) { return self.configurations(); }, + Component::documentation("configurations").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergies.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergies.python.cpp new file mode 100644 index 000000000..ec8481e5a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergies.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/AverageEnergies.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// AverageEnergies wrapper +void wrapAverageEnergies(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::AverageEnergies; + + // create the component + python::class_ component( + module, + "AverageEnergies", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("average_energy"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "average_energy", + [](const Component &self) { return self.averageEnergy(); }, + Component::documentation("average_energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergy.python.cpp new file mode 100644 index 000000000..a3dab22df --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergy.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/AverageEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// AverageEnergy wrapper +void wrapAverageEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::AverageEnergy; + + // create the component + python::class_ component( + module, + "AverageEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("label"), + python::arg("value"), + python::arg("unit"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Baryon.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Baryon.python.cpp new file mode 100644 index 000000000..b689f2a3b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Baryon.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Baryon.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Baryon wrapper +void wrapBaryon(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Baryon; + + // create the component + python::class_ component( + module, + "Baryon", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("halflife") = std::nullopt, + python::arg("mass") = std::nullopt, + python::arg("spin") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("decay_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + [](const Component &self) { return self.id(); }, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + [](const Component &self) { return self.charge(); }, + Component::documentation("charge").data() + ) + .def_property_readonly( + "halflife", + [](const Component &self) { return self.halflife(); }, + Component::documentation("halflife").data() + ) + .def_property_readonly( + "mass", + [](const Component &self) { return self.mass(); }, + Component::documentation("mass").data() + ) + .def_property_readonly( + "spin", + [](const Component &self) { return self.spin(); }, + Component::documentation("spin").data() + ) + .def_property_readonly( + "parity", + [](const Component &self) { return self.parity(); }, + Component::documentation("parity").data() + ) + .def_property_readonly( + "decay_data", + [](const Component &self) { return self.decayData(); }, + Component::documentation("decay_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Baryons.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Baryons.python.cpp new file mode 100644 index 000000000..78bb46c61 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Baryons.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Baryons.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Baryons wrapper +void wrapBaryons(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Baryons; + + // create the component + python::class_ component( + module, + "Baryons", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("baryon") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "baryon", + [](const Component &self) { return self.baryon(); }, + Component::documentation("baryon").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp new file mode 100644 index 000000000..40413e435 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/BindingEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// BindingEnergy wrapper +void wrapBindingEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::BindingEnergy; + + // create the component + python::class_ component( + module, + "BindingEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional> & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("double") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp new file mode 100644 index 000000000..5c9f8a8d3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Charge.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Charge wrapper +void wrapCharge(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Charge; + using _t = std::variant< + unknownNamespace::Integer, + unknownNamespace::Fraction + >; + + // create the component + python::class_ component( + module, + "Charge", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("_integerfraction"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "integer", + [](const Component &self) { return self.integer(); }, + Component::documentation("integer").data() + ) + .def_property_readonly( + "fraction", + [](const Component &self) { return self.fraction(); }, + Component::documentation("fraction").data() + ) + .def_property_readonly( + "_integerfraction", + [](const Component &self) { return self._integerfraction(); }, + Component::documentation("_integerfraction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElement.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElement.python.cpp new file mode 100644 index 000000000..644da5b31 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElement.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/ChemicalElement.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// ChemicalElement wrapper +void wrapChemicalElement(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::ChemicalElement; + + // create the component + python::class_ component( + module, + "ChemicalElement", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Integer32 &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("symbol"), + python::arg("z"), + python::arg("name") = std::nullopt, + python::arg("atomic") = std::nullopt, + python::arg("isotopes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "symbol", + [](const Component &self) { return self.symbol(); }, + Component::documentation("symbol").data() + ) + .def_property_readonly( + "z", + [](const Component &self) { return self.Z(); }, + Component::documentation("z").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "atomic", + [](const Component &self) { return self.atomic(); }, + Component::documentation("atomic").data() + ) + .def_property_readonly( + "isotopes", + [](const Component &self) { return self.isotopes(); }, + Component::documentation("isotopes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElements.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElements.python.cpp new file mode 100644 index 000000000..6fcdfe4d5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElements.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/ChemicalElements.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// ChemicalElements wrapper +void wrapChemicalElements(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::ChemicalElements; + + // create the component + python::class_ component( + module, + "ChemicalElements", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("chemical_element") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "chemical_element", + [](const Component &self) { return self.chemicalElement(); }, + Component::documentation("chemical_element").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/ConfidenceIntervals.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/ConfidenceIntervals.python.cpp new file mode 100644 index 000000000..32510ed19 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/ConfidenceIntervals.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/ConfidenceIntervals.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// ConfidenceIntervals wrapper +void wrapConfidenceIntervals(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::ConfidenceIntervals; + + // create the component + python::class_ component( + module, + "ConfidenceIntervals", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("interval"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "interval", + [](const Component &self) { return self.interval(); }, + Component::documentation("interval").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Configuration.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Configuration.python.cpp new file mode 100644 index 000000000..54bc2e601 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Configuration.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Configuration.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Configuration wrapper +void wrapConfiguration(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Configuration; + + // create the component + python::class_ component( + module, + "Configuration", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const Float64 &, + const pops::BindingEnergy &, + const std::optional & + >(), + python::arg("subshell"), + python::arg("electron_number"), + python::arg("binding_energy"), + python::arg("decay_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "subshell", + [](const Component &self) { return self.subshell(); }, + Component::documentation("subshell").data() + ) + .def_property_readonly( + "electron_number", + [](const Component &self) { return self.electronNumber(); }, + Component::documentation("electron_number").data() + ) + .def_property_readonly( + "binding_energy", + [](const Component &self) { return self.bindingEnergy(); }, + Component::documentation("binding_energy").data() + ) + .def_property_readonly( + "decay_data", + [](const Component &self) { return self.decayData(); }, + Component::documentation("decay_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Configurations.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Configurations.python.cpp new file mode 100644 index 000000000..dee40fc1a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Configurations.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Configurations.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Configurations wrapper +void wrapConfigurations(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Configurations; + + // create the component + python::class_ component( + module, + "Configurations", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("configuration"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "configuration", + [](const Component &self) { return self.configuration(); }, + Component::documentation("configuration").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp new file mode 100644 index 000000000..52aba3981 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Continuum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Continuum wrapper +void wrapContinuum(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Continuum; + + // create the component + python::class_ component( + module, + "Continuum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Decay.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Decay.python.cpp new file mode 100644 index 000000000..411cb7dd3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Decay.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Decay.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Decay wrapper +void wrapDecay(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Decay; + + // create the component + python::class_ component( + module, + "Decay", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("index"), + python::arg("mode") = std::nullopt, + python::arg("complete") = std::nullopt, + python::arg("products") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + [](const Component &self) { return self.index(); }, + Component::documentation("index").data() + ) + .def_property_readonly( + "mode", + [](const Component &self) { return self.mode(); }, + Component::documentation("mode").data() + ) + .def_property_readonly( + "complete", + [](const Component &self) { return self.complete().value(); }, + Component::documentation("complete").data() + ) + .def_property_readonly( + "products", + [](const Component &self) { return self.products(); }, + Component::documentation("products").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayData.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/DecayData.python.cpp new file mode 100644 index 000000000..b04305ad7 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/DecayData.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/DecayData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DecayData wrapper +void wrapDecayData(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::DecayData; + + // create the component + python::class_ component( + module, + "DecayData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("decay_modes") = std::nullopt, + python::arg("average_energies") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "decay_modes", + [](const Component &self) { return self.decayModes(); }, + Component::documentation("decay_modes").data() + ) + .def_property_readonly( + "average_energies", + [](const Component &self) { return self.averageEnergies(); }, + Component::documentation("average_energies").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayMode.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/DecayMode.python.cpp new file mode 100644 index 000000000..59db2de41 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/DecayMode.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/DecayMode.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DecayMode wrapper +void wrapDecayMode(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::DecayMode; + + // create the component + python::class_ component( + module, + "DecayMode", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const enums::DecayType &, + const pops::Probability &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label"), + python::arg("mode"), + python::arg("probability"), + python::arg("internal_conversion_coefficients") = std::nullopt, + python::arg("photon_emission_probabilities") = std::nullopt, + python::arg("q") = std::nullopt, + python::arg("decay_path") = std::nullopt, + python::arg("spectra") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "mode", + [](const Component &self) { return self.mode(); }, + Component::documentation("mode").data() + ) + .def_property_readonly( + "probability", + [](const Component &self) { return self.probability(); }, + Component::documentation("probability").data() + ) + .def_property_readonly( + "internal_conversion_coefficients", + [](const Component &self) { return self.internalConversionCoefficients(); }, + Component::documentation("internal_conversion_coefficients").data() + ) + .def_property_readonly( + "photon_emission_probabilities", + [](const Component &self) { return self.photonEmissionProbabilities(); }, + Component::documentation("photon_emission_probabilities").data() + ) + .def_property_readonly( + "q", + [](const Component &self) { return self.Q(); }, + Component::documentation("q").data() + ) + .def_property_readonly( + "decay_path", + [](const Component &self) { return self.decayPath(); }, + Component::documentation("decay_path").data() + ) + .def_property_readonly( + "spectra", + [](const Component &self) { return self.spectra(); }, + Component::documentation("spectra").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayModes.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/DecayModes.python.cpp new file mode 100644 index 000000000..000c12287 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/DecayModes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/DecayModes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DecayModes wrapper +void wrapDecayModes(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::DecayModes; + + // create the component + python::class_ component( + module, + "DecayModes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("decay_mode"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "decay_mode", + [](const Component &self) { return self.decayMode(); }, + Component::documentation("decay_mode").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayPath.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/DecayPath.python.cpp new file mode 100644 index 000000000..1a21f577a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/DecayPath.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/DecayPath.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DecayPath wrapper +void wrapDecayPath(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::DecayPath; + + // create the component + python::class_ component( + module, + "DecayPath", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("decay"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "decay", + [](const Component &self) { return self.decay(); }, + Component::documentation("decay").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Discrete.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Discrete.python.cpp new file mode 100644 index 000000000..c81537efd --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Discrete.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Discrete.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Discrete wrapper +void wrapDiscrete(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Discrete; + + // create the component + python::class_ component( + module, + "Discrete", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const pops::DiscreteEnergy &, + const pops::Intensity &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("type") = std::nullopt, + python::arg("energy"), + python::arg("intensity"), + python::arg("internal_conversion_coefficients") = std::nullopt, + python::arg("internal_pair_formation_coefficient") = std::nullopt, + python::arg("photon_emission_probabilities") = std::nullopt, + python::arg("positron_emission_intensity") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "type", + [](const Component &self) { return self.type(); }, + Component::documentation("type").data() + ) + .def_property_readonly( + "energy", + [](const Component &self) { return self.energy(); }, + Component::documentation("energy").data() + ) + .def_property_readonly( + "intensity", + [](const Component &self) { return self.intensity(); }, + Component::documentation("intensity").data() + ) + .def_property_readonly( + "internal_conversion_coefficients", + [](const Component &self) { return self.internalConversionCoefficients(); }, + Component::documentation("internal_conversion_coefficients").data() + ) + .def_property_readonly( + "internal_pair_formation_coefficient", + [](const Component &self) { return self.internalPairFormationCoefficient(); }, + Component::documentation("internal_pair_formation_coefficient").data() + ) + .def_property_readonly( + "photon_emission_probabilities", + [](const Component &self) { return self.photonEmissionProbabilities(); }, + Component::documentation("photon_emission_probabilities").data() + ) + .def_property_readonly( + "positron_emission_intensity", + [](const Component &self) { return self.positronEmissionIntensity(); }, + Component::documentation("positron_emission_intensity").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DiscreteEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/DiscreteEnergy.python.cpp new file mode 100644 index 000000000..f71efcd1c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/DiscreteEnergy.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/DiscreteEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// DiscreteEnergy wrapper +void wrapDiscreteEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::DiscreteEnergy; + + // create the component + python::class_ component( + module, + "DiscreteEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const Float64 &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("value"), + python::arg("unit"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp new file mode 100644 index 000000000..3bc23aafd --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Energy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Energy wrapper +void wrapEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Energy; + + // create the component + python::class_ component( + module, + "Energy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional> & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("double") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBoson.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBoson.python.cpp new file mode 100644 index 000000000..f07bdbac0 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBoson.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/GaugeBoson.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// GaugeBoson wrapper +void wrapGaugeBoson(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::GaugeBoson; + + // create the component + python::class_ component( + module, + "GaugeBoson", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("halflife") = std::nullopt, + python::arg("mass") = std::nullopt, + python::arg("spin") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("decay_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + [](const Component &self) { return self.id(); }, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + [](const Component &self) { return self.charge(); }, + Component::documentation("charge").data() + ) + .def_property_readonly( + "halflife", + [](const Component &self) { return self.halflife(); }, + Component::documentation("halflife").data() + ) + .def_property_readonly( + "mass", + [](const Component &self) { return self.mass(); }, + Component::documentation("mass").data() + ) + .def_property_readonly( + "spin", + [](const Component &self) { return self.spin(); }, + Component::documentation("spin").data() + ) + .def_property_readonly( + "parity", + [](const Component &self) { return self.parity(); }, + Component::documentation("parity").data() + ) + .def_property_readonly( + "decay_data", + [](const Component &self) { return self.decayData(); }, + Component::documentation("decay_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBosons.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBosons.python.cpp new file mode 100644 index 000000000..9faf06efa --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBosons.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/GaugeBosons.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// GaugeBosons wrapper +void wrapGaugeBosons(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::GaugeBosons; + + // create the component + python::class_ component( + module, + "GaugeBosons", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("gauge_boson") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "gauge_boson", + [](const Component &self) { return self.gaugeBoson(); }, + Component::documentation("gauge_boson").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp new file mode 100644 index 000000000..cbef31653 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Halflife.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Halflife wrapper +void wrapHalflife(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Halflife; + using _t = std::variant< + unknownNamespace::String, + unknownNamespace::Double + >; + + // create the component + python::class_ component( + module, + "Halflife", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("_string_double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "string", + [](const Component &self) { return self.string(); }, + Component::documentation("string").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + .def_property_readonly( + "_string_double", + [](const Component &self) { return self._stringDouble(); }, + Component::documentation("_string_double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Intensity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Intensity.python.cpp new file mode 100644 index 000000000..bbbb644b1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Intensity.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Intensity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Intensity wrapper +void wrapIntensity(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Intensity; + + // create the component + python::class_ component( + module, + "Intensity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp new file mode 100644 index 000000000..0c3f5ebd1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/InternalConversionCoefficients.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// InternalConversionCoefficients wrapper +void wrapInternalConversionCoefficients(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::InternalConversionCoefficients; + + // create the component + python::class_ component( + module, + "InternalConversionCoefficients", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("shell"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "shell", + [](const Component &self) { return self.shell(); }, + Component::documentation("shell").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp new file mode 100644 index 000000000..511417e7e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/InternalPairFormationCoefficient.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// InternalPairFormationCoefficient wrapper +void wrapInternalPairFormationCoefficient(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::InternalPairFormationCoefficient; + + // create the component + python::class_ component( + module, + "InternalPairFormationCoefficient", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const Float64 &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("value"), + python::arg("unit"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Interval.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Interval.python.cpp new file mode 100644 index 000000000..33e9e1cae --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Interval.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Interval.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Interval wrapper +void wrapInterval(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Interval; + + // create the component + python::class_ component( + module, + "Interval", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const Float64 & + >(), + python::arg("confidence"), + python::arg("lower"), + python::arg("upper"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "confidence", + [](const Component &self) { return self.confidence(); }, + Component::documentation("confidence").data() + ) + .def_property_readonly( + "lower", + [](const Component &self) { return self.lower(); }, + Component::documentation("lower").data() + ) + .def_property_readonly( + "upper", + [](const Component &self) { return self.upper(); }, + Component::documentation("upper").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Isotope.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Isotope.python.cpp new file mode 100644 index 000000000..6af22b4e0 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Isotope.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Isotope.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Isotope wrapper +void wrapIsotope(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Isotope; + + // create the component + python::class_ component( + module, + "Isotope", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const XMLName &, + const std::optional & + >(), + python::arg("a"), + python::arg("symbol"), + python::arg("nuclides") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "a", + [](const Component &self) { return self.A(); }, + Component::documentation("a").data() + ) + .def_property_readonly( + "symbol", + [](const Component &self) { return self.symbol(); }, + Component::documentation("symbol").data() + ) + .def_property_readonly( + "nuclides", + [](const Component &self) { return self.nuclides(); }, + Component::documentation("nuclides").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Isotopes.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Isotopes.python.cpp new file mode 100644 index 000000000..6cde20fc9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Isotopes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Isotopes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Isotopes wrapper +void wrapIsotopes(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Isotopes; + + // create the component + python::class_ component( + module, + "Isotopes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("isotope"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "isotope", + [](const Component &self) { return self.isotope(); }, + Component::documentation("isotope").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Lepton.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Lepton.python.cpp new file mode 100644 index 000000000..f8f378999 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Lepton.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Lepton.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Lepton wrapper +void wrapLepton(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Lepton; + + // create the component + python::class_ component( + module, + "Lepton", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("generation") = std::nullopt, + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("halflife") = std::nullopt, + python::arg("mass") = std::nullopt, + python::arg("spin") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("decay_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "generation", + [](const Component &self) { return self.generation(); }, + Component::documentation("generation").data() + ) + .def_property_readonly( + "id", + [](const Component &self) { return self.id(); }, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + [](const Component &self) { return self.charge(); }, + Component::documentation("charge").data() + ) + .def_property_readonly( + "halflife", + [](const Component &self) { return self.halflife(); }, + Component::documentation("halflife").data() + ) + .def_property_readonly( + "mass", + [](const Component &self) { return self.mass(); }, + Component::documentation("mass").data() + ) + .def_property_readonly( + "spin", + [](const Component &self) { return self.spin(); }, + Component::documentation("spin").data() + ) + .def_property_readonly( + "parity", + [](const Component &self) { return self.parity(); }, + Component::documentation("parity").data() + ) + .def_property_readonly( + "decay_data", + [](const Component &self) { return self.decayData(); }, + Component::documentation("decay_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Leptons.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Leptons.python.cpp new file mode 100644 index 000000000..847e28ef4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Leptons.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Leptons.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Leptons wrapper +void wrapLeptons(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Leptons; + + // create the component + python::class_ component( + module, + "Leptons", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("lepton"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "lepton", + [](const Component &self) { return self.lepton(); }, + Component::documentation("lepton").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp new file mode 100644 index 000000000..863193a50 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/LogNormal.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// LogNormal wrapper +void wrapLogNormal(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::LogNormal; + + // create the component + python::class_ component( + module, + "LogNormal", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp new file mode 100644 index 000000000..dc43f1367 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Mass.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Mass wrapper +void wrapMass(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Mass; + + // create the component + python::class_ component( + module, + "Mass", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("double") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/MetaStable.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/MetaStable.python.cpp new file mode 100644 index 000000000..e40ec79ea --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/MetaStable.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/MetaStable.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// MetaStable wrapper +void wrapMetaStable(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::MetaStable; + + // create the component + python::class_ component( + module, + "MetaStable", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Integer32 &, + const XMLName & + >(), + python::arg("id"), + python::arg("meta_stable_index"), + python::arg("pid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + [](const Component &self) { return self.id(); }, + Component::documentation("id").data() + ) + .def_property_readonly( + "meta_stable_index", + [](const Component &self) { return self.metaStableIndex(); }, + Component::documentation("meta_stable_index").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Nucleus.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Nucleus.python.cpp new file mode 100644 index 000000000..03a345471 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Nucleus.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Nucleus.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Nucleus wrapper +void wrapNucleus(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Nucleus; + + // create the component + python::class_ component( + module, + "Nucleus", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Integer32 &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("index"), + python::arg("charge") = std::nullopt, + python::arg("energy") = std::nullopt, + python::arg("halflife") = std::nullopt, + python::arg("spin") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("decay_data") = std::nullopt, + python::arg("fission_fragment_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + [](const Component &self) { return self.id(); }, + Component::documentation("id").data() + ) + .def_property_readonly( + "index", + [](const Component &self) { return self.index(); }, + Component::documentation("index").data() + ) + .def_property_readonly( + "charge", + [](const Component &self) { return self.charge(); }, + Component::documentation("charge").data() + ) + .def_property_readonly( + "energy", + [](const Component &self) { return self.energy(); }, + Component::documentation("energy").data() + ) + .def_property_readonly( + "halflife", + [](const Component &self) { return self.halflife(); }, + Component::documentation("halflife").data() + ) + .def_property_readonly( + "spin", + [](const Component &self) { return self.spin(); }, + Component::documentation("spin").data() + ) + .def_property_readonly( + "parity", + [](const Component &self) { return self.parity(); }, + Component::documentation("parity").data() + ) + .def_property_readonly( + "decay_data", + [](const Component &self) { return self.decayData(); }, + Component::documentation("decay_data").data() + ) + .def_property_readonly( + "fission_fragment_data", + [](const Component &self) { return self.fissionFragmentData(); }, + Component::documentation("fission_fragment_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclide.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclide.python.cpp new file mode 100644 index 000000000..2eaffed4c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclide.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Nuclide.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Nuclide wrapper +void wrapNuclide(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Nuclide; + + // create the component + python::class_ component( + module, + "Nuclide", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("mass") = std::nullopt, + python::arg("spin") = std::nullopt, + python::arg("parity") = std::nullopt, + python::arg("nucleus") = std::nullopt, + python::arg("decay_data") = std::nullopt, + python::arg("fission_fragment_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + [](const Component &self) { return self.id(); }, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + [](const Component &self) { return self.charge(); }, + Component::documentation("charge").data() + ) + .def_property_readonly( + "mass", + [](const Component &self) { return self.mass(); }, + Component::documentation("mass").data() + ) + .def_property_readonly( + "spin", + [](const Component &self) { return self.spin(); }, + Component::documentation("spin").data() + ) + .def_property_readonly( + "parity", + [](const Component &self) { return self.parity(); }, + Component::documentation("parity").data() + ) + .def_property_readonly( + "nucleus", + [](const Component &self) { return self.nucleus(); }, + Component::documentation("nucleus").data() + ) + .def_property_readonly( + "decay_data", + [](const Component &self) { return self.decayData(); }, + Component::documentation("decay_data").data() + ) + .def_property_readonly( + "fission_fragment_data", + [](const Component &self) { return self.fissionFragmentData(); }, + Component::documentation("fission_fragment_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclides.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclides.python.cpp new file mode 100644 index 000000000..f64c1334b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclides.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Nuclides.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Nuclides wrapper +void wrapNuclides(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Nuclides; + + // create the component + python::class_ component( + module, + "Nuclides", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("nuclide"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "nuclide", + [](const Component &self) { return self.nuclide(); }, + Component::documentation("nuclide").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp new file mode 100644 index 000000000..83832635d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Parity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Parity wrapper +void wrapParity(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Parity; + + // create the component + python::class_ component( + module, + "Parity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional> & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("integer") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "integer", + [](const Component &self) { return self.integer(); }, + Component::documentation("integer").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp new file mode 100644 index 000000000..107fe5d24 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Pdf.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Pdf wrapper +void wrapPdf(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Pdf; + + // create the component + python::class_ component( + module, + "Pdf", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp new file mode 100644 index 000000000..1a1cd8757 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// PhotonEmissionProbabilities wrapper +void wrapPhotonEmissionProbabilities(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::PhotonEmissionProbabilities; + + // create the component + python::class_ component( + module, + "PhotonEmissionProbabilities", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("shell"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "shell", + [](const Component &self) { return self.shell(); }, + Component::documentation("shell").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/PoPs_database.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/PoPs_database.python.cpp new file mode 100644 index 000000000..39bcf0b87 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/PoPs_database.python.cpp @@ -0,0 +1,126 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/PoPs_database.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// PoPs_database wrapper +void wrapPoPs_database(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::PoPs_database; + + // create the component + python::class_ component( + module, + "PoPs_database", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("name"), + python::arg("version"), + python::arg("format"), + python::arg("styles") = std::nullopt, + python::arg("documentation") = std::nullopt, + python::arg("aliases") = std::nullopt, + python::arg("gauge_bosons") = std::nullopt, + python::arg("leptons") = std::nullopt, + python::arg("baryons") = std::nullopt, + python::arg("chemical_elements") = std::nullopt, + python::arg("unorthodoxes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "version", + [](const Component &self) { return self.version(); }, + Component::documentation("version").data() + ) + .def_property_readonly( + "format", + [](const Component &self) { return self.format(); }, + Component::documentation("format").data() + ) + .def_property_readonly( + "styles", + [](const Component &self) { return self.styles(); }, + Component::documentation("styles").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "aliases", + [](const Component &self) { return self.aliases(); }, + Component::documentation("aliases").data() + ) + .def_property_readonly( + "gauge_bosons", + [](const Component &self) { return self.gaugeBosons(); }, + Component::documentation("gauge_bosons").data() + ) + .def_property_readonly( + "leptons", + [](const Component &self) { return self.leptons(); }, + Component::documentation("leptons").data() + ) + .def_property_readonly( + "baryons", + [](const Component &self) { return self.baryons(); }, + Component::documentation("baryons").data() + ) + .def_property_readonly( + "chemical_elements", + [](const Component &self) { return self.chemicalElements(); }, + Component::documentation("chemical_elements").data() + ) + .def_property_readonly( + "unorthodoxes", + [](const Component &self) { return self.unorthodoxes(); }, + Component::documentation("unorthodoxes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp new file mode 100644 index 000000000..35d942ace --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/PositronEmissionIntensity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// PositronEmissionIntensity wrapper +void wrapPositronEmissionIntensity(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::PositronEmissionIntensity; + + // create the component + python::class_ component( + module, + "PositronEmissionIntensity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const std::optional & + >(), + python::arg("value"), + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp new file mode 100644 index 000000000..b7ce1febb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Probability.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Probability wrapper +void wrapProbability(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Probability; + + // create the component + python::class_ component( + module, + "Probability", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Product.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Product.python.cpp new file mode 100644 index 000000000..0f04b3ca0 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Product.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Product.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Product wrapper +void wrapProduct(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Product; + + // create the component + python::class_ component( + module, + "Product", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("label"), + python::arg("pid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Products.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Products.python.cpp new file mode 100644 index 000000000..ccc2481ad --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Products.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Products.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Products wrapper +void wrapProducts(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Products; + + // create the component + python::class_ component( + module, + "Products", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("product"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "product", + [](const Component &self) { return self.product(); }, + Component::documentation("product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp new file mode 100644 index 000000000..fb3917960 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Q.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Q wrapper +void wrapQ(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Q; + + // create the component + python::class_ component( + module, + "Q", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::vector & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp new file mode 100644 index 000000000..adbe003bb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Shell.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Shell wrapper +void wrapShell(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Shell; + + // create the component + python::class_ component( + module, + "Shell", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 &, + const std::optional & + >(), + python::arg("label"), + python::arg("value"), + python::arg("unit") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit().value(); }, + Component::documentation("unit").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Spectra.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Spectra.python.cpp new file mode 100644 index 000000000..451d45b1d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Spectra.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Spectra.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Spectra wrapper +void wrapSpectra(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Spectra; + + // create the component + python::class_ component( + module, + "Spectra", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("spectrum"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "spectrum", + [](const Component &self) { return self.spectrum(); }, + Component::documentation("spectrum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Spectrum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Spectrum.python.cpp new file mode 100644 index 000000000..28f32e241 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Spectrum.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Spectrum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Spectrum wrapper +void wrapSpectrum(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Spectrum; + + // create the component + python::class_ component( + module, + "Spectrum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional> & + >(), + python::arg("label"), + python::arg("pid"), + python::arg("continuum") = std::nullopt, + python::arg("discrete") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "continuum", + [](const Component &self) { return self.continuum(); }, + Component::documentation("continuum").data() + ) + .def_property_readonly( + "discrete", + [](const Component &self) { return self.discrete(); }, + Component::documentation("discrete").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp new file mode 100644 index 000000000..9647696eb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Spin.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Spin wrapper +void wrapSpin(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Spin; + + // create the component + python::class_ component( + module, + "Spin", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional> & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + python::arg("fraction") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + .def_property_readonly( + "fraction", + [](const Component &self) { return self.fraction(); }, + Component::documentation("fraction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp new file mode 100644 index 000000000..8bc11c6d4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Standard.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Standard wrapper +void wrapStandard(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Standard; + + // create the component + python::class_ component( + module, + "Standard", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Uncertainty.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Uncertainty.python.cpp new file mode 100644 index 000000000..683c57d88 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Uncertainty.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Uncertainty.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Uncertainty wrapper +void wrapUncertainty(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Uncertainty; + + // create the component + python::class_ component( + module, + "Uncertainty", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("standard") = std::nullopt, + python::arg("log_normal") = std::nullopt, + python::arg("confidence_intervals") = std::nullopt, + python::arg("pdf") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "standard", + [](const Component &self) { return self.standard(); }, + Component::documentation("standard").data() + ) + .def_property_readonly( + "log_normal", + [](const Component &self) { return self.logNormal(); }, + Component::documentation("log_normal").data() + ) + .def_property_readonly( + "confidence_intervals", + [](const Component &self) { return self.confidenceIntervals(); }, + Component::documentation("confidence_intervals").data() + ) + .def_property_readonly( + "pdf", + [](const Component &self) { return self.pdf(); }, + Component::documentation("pdf").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodox.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodox.python.cpp new file mode 100644 index 000000000..f2d77cf9a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodox.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Unorthodox.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Unorthodox wrapper +void wrapUnorthodox(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Unorthodox; + + // create the component + python::class_ component( + module, + "Unorthodox", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("id"), + python::arg("charge") = std::nullopt, + python::arg("mass") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "id", + [](const Component &self) { return self.id(); }, + Component::documentation("id").data() + ) + .def_property_readonly( + "charge", + [](const Component &self) { return self.charge(); }, + Component::documentation("charge").data() + ) + .def_property_readonly( + "mass", + [](const Component &self) { return self.mass(); }, + Component::documentation("mass").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodoxes.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodoxes.python.cpp new file mode 100644 index 000000000..c853dd431 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodoxes.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/pops/Unorthodoxes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_pops { + +// Unorthodoxes wrapper +void wrapUnorthodoxes(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = pops::Unorthodoxes; + + // create the component + python::class_ component( + module, + "Unorthodoxes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("unorthodox"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unorthodox", + [](const Component &self) { return self.unorthodox(); }, + Component::documentation("unorthodox").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_pops +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed.python.cpp new file mode 100644 index 000000000..cdd04f149 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/processed.python.cpp @@ -0,0 +1,43 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// processed declarations +namespace python_processed { + void wrapAngularEnergyMC(python::module &); + void wrapEnergyAngularMC(python::module &); + void wrapMultiGroup3d(python::module &); + void wrapAverageProductEnergy(python::module &); + void wrapAverageProductMomentum(python::module &); + void wrapAvailableMomentum(python::module &); + void wrapAvailableEnergy(python::module &); +} // namespace python_processed + +// processed wrapper +void wrapProcessed(python::module &module) +{ + // create the processed submodule + python::module submodule = module.def_submodule( + "processed", + "try v2.0 processed" + ); + + // wrap processed components + python_processed::wrapAngularEnergyMC(submodule); + python_processed::wrapEnergyAngularMC(submodule); + python_processed::wrapMultiGroup3d(submodule); + python_processed::wrapAverageProductEnergy(submodule); + python_processed::wrapAverageProductMomentum(submodule); + python_processed::wrapAvailableMomentum(submodule); + python_processed::wrapAvailableEnergy(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp new file mode 100644 index 000000000..d22a9b5f5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/processed/AngularEnergyMC.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AngularEnergyMC wrapper +void wrapAngularEnergyMC(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = processed::AngularEnergyMC; + + // create the component + python::class_ component( + module, + "AngularEnergyMC", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const unknownNamespace::Angular &, + const transport::AngularEnergy & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("angular"), + python::arg("angular_energy"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "angular", + [](const Component &self) { return self.angular(); }, + Component::documentation("angular").data() + ) + .def_property_readonly( + "angular_energy", + [](const Component &self) { return self.angularEnergy(); }, + Component::documentation("angular_energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp new file mode 100644 index 000000000..6086edb91 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/processed/AvailableEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AvailableEnergy wrapper +void wrapAvailableEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = processed::AvailableEnergy; + + // create the component + python::class_ component( + module, + "AvailableEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("gridded1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "gridded1d", + [](const Component &self) { return self.gridded1d(); }, + Component::documentation("gridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp new file mode 100644 index 000000000..53ec22c34 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/processed/AvailableMomentum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AvailableMomentum wrapper +void wrapAvailableMomentum(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = processed::AvailableMomentum; + + // create the component + python::class_ component( + module, + "AvailableMomentum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("gridded1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "gridded1d", + [](const Component &self) { return self.gridded1d(); }, + Component::documentation("gridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp new file mode 100644 index 000000000..f9189de0d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/processed/AverageProductEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AverageProductEnergy wrapper +void wrapAverageProductEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = processed::AverageProductEnergy; + + // create the component + python::class_ component( + module, + "AverageProductEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::XYs1d &, + const std::optional &, + const std::optional & + >(), + python::arg("xys1d"), + python::arg("gridded1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "gridded1d", + [](const Component &self) { return self.gridded1d(); }, + Component::documentation("gridded1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp new file mode 100644 index 000000000..323a64d26 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/processed/AverageProductMomentum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// AverageProductMomentum wrapper +void wrapAverageProductMomentum(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = processed::AverageProductMomentum; + + // create the component + python::class_ component( + module, + "AverageProductMomentum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("gridded1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "gridded1d", + [](const Component &self) { return self.gridded1d(); }, + Component::documentation("gridded1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp new file mode 100644 index 000000000..9f20505aa --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/processed/EnergyAngularMC.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// EnergyAngularMC wrapper +void wrapEnergyAngularMC(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = processed::EnergyAngularMC; + + // create the component + python::class_ component( + module, + "EnergyAngularMC", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const ambiguousNamespace::Energy &, + const transport::EnergyAngular & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("energy"), + python::arg("energy_angular"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "energy", + [](const Component &self) { return self.energy(); }, + Component::documentation("energy").data() + ) + .def_property_readonly( + "energy_angular", + [](const Component &self) { return self.energyAngular(); }, + Component::documentation("energy_angular").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp new file mode 100644 index 000000000..05567acc5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/processed/MultiGroup3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_processed { + +// MultiGroup3d wrapper +void wrapMultiGroup3d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = processed::MultiGroup3d; + + // create the component + python::class_ component( + module, + "MultiGroup3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const unknownNamespace::Gridded3d & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("gridded3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "gridded3d", + [](const Component &self) { return self.gridded3d(); }, + Component::documentation("gridded3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_processed +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances.python.cpp new file mode 100644 index 000000000..a287eb004 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances.python.cpp @@ -0,0 +1,79 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// resonances declarations +namespace python_resonances { + void wrapScatteringRadius(python::module &); + void wrapHardSphereRadius(python::module &); + void wrapResonanceReaction(python::module &); + void wrapResonanceReactions(python::module &); + void wrapExternalRMatrix(python::module &); + void wrapChannel(python::module &); + void wrapChannels(python::module &); + void wrapResonanceParameters(python::module &); + void wrapSpinGroup(python::module &); + void wrapSpinGroups(python::module &); + void wrapRMatrix(python::module &); + void wrapBreitWigner(python::module &); + void wrapEnergyInterval(python::module &); + void wrapEnergyIntervals(python::module &); + void wrapResolved(python::module &); + void wrapLevelSpacing(python::module &); + void wrapWidth(python::module &); + void wrapWidths(python::module &); + void wrapJ(python::module &); + void wrapJs(python::module &); + void wrapL(python::module &); + void wrapLs(python::module &); + void wrapTabulatedWidths(python::module &); + void wrapUnresolved(python::module &); + void wrapResonances(python::module &); +} // namespace python_resonances + +// resonances wrapper +void wrapResonances(python::module &module) +{ + // create the resonances submodule + python::module submodule = module.def_submodule( + "resonances", + "try v2.0 resonances" + ); + + // wrap resonances components + python_resonances::wrapScatteringRadius(submodule); + python_resonances::wrapHardSphereRadius(submodule); + python_resonances::wrapResonanceReaction(submodule); + python_resonances::wrapResonanceReactions(submodule); + python_resonances::wrapExternalRMatrix(submodule); + python_resonances::wrapChannel(submodule); + python_resonances::wrapChannels(submodule); + python_resonances::wrapResonanceParameters(submodule); + python_resonances::wrapSpinGroup(submodule); + python_resonances::wrapSpinGroups(submodule); + python_resonances::wrapRMatrix(submodule); + python_resonances::wrapBreitWigner(submodule); + python_resonances::wrapEnergyInterval(submodule); + python_resonances::wrapEnergyIntervals(submodule); + python_resonances::wrapResolved(submodule); + python_resonances::wrapLevelSpacing(submodule); + python_resonances::wrapWidth(submodule); + python_resonances::wrapWidths(submodule); + python_resonances::wrapJ(submodule); + python_resonances::wrapJs(submodule); + python_resonances::wrapL(submodule); + python_resonances::wrapLs(submodule); + python_resonances::wrapTabulatedWidths(submodule); + python_resonances::wrapUnresolved(submodule); + python_resonances::wrapResonances(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp new file mode 100644 index 000000000..d90b27df9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/BreitWigner.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// BreitWigner wrapper +void wrapBreitWigner(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::BreitWigner; + + // create the component + python::class_ component( + module, + "BreitWigner", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label"), + python::arg("approximation"), + python::arg("calculate_channel_radius") = std::nullopt, + python::arg("use_for_self_shielding_only") = std::nullopt, + python::arg("po_ps") = std::nullopt, + python::arg("scattering_radius") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("resonance_parameters") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "approximation", + [](const Component &self) { return self.approximation(); }, + Component::documentation("approximation").data() + ) + .def_property_readonly( + "calculate_channel_radius", + [](const Component &self) { return self.calculateChannelRadius().value(); }, + Component::documentation("calculate_channel_radius").data() + ) + .def_property_readonly( + "use_for_self_shielding_only", + [](const Component &self) { return self.useForSelfShieldingOnly().value(); }, + Component::documentation("use_for_self_shielding_only").data() + ) + .def_property_readonly( + "po_ps", + [](const Component &self) { return self.PoPs(); }, + Component::documentation("po_ps").data() + ) + .def_property_readonly( + "scattering_radius", + [](const Component &self) { return self.scatteringRadius(); }, + Component::documentation("scattering_radius").data() + ) + .def_property_readonly( + "hard_sphere_radius", + [](const Component &self) { return self.hardSphereRadius(); }, + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "resonance_parameters", + [](const Component &self) { return self.resonanceParameters(); }, + Component::documentation("resonance_parameters").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Channel.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Channel.python.cpp new file mode 100644 index 000000000..3c64ce863 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Channel.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Channel.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Channel wrapper +void wrapChannel(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Channel; + + // create the component + python::class_ component( + module, + "Channel", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::string &, + const Integer32 &, + const Fraction32 &, + const std::optional &, + const Integer32 &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label"), + python::arg("resonance_reaction"), + python::arg("l"), + python::arg("channel_spin"), + python::arg("boundary_condition_value") = std::nullopt, + python::arg("column_index"), + python::arg("external_rmatrix") = std::nullopt, + python::arg("scattering_radius") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "resonance_reaction", + [](const Component &self) { return self.resonanceReaction(); }, + Component::documentation("resonance_reaction").data() + ) + .def_property_readonly( + "l", + [](const Component &self) { return self.L(); }, + Component::documentation("l").data() + ) + .def_property_readonly( + "channel_spin", + [](const Component &self) { return self.channelSpin(); }, + Component::documentation("channel_spin").data() + ) + .def_property_readonly( + "boundary_condition_value", + [](const Component &self) { return self.boundaryConditionValue(); }, + Component::documentation("boundary_condition_value").data() + ) + .def_property_readonly( + "column_index", + [](const Component &self) { return self.columnIndex(); }, + Component::documentation("column_index").data() + ) + .def_property_readonly( + "external_rmatrix", + [](const Component &self) { return self.externalRMatrix(); }, + Component::documentation("external_rmatrix").data() + ) + .def_property_readonly( + "scattering_radius", + [](const Component &self) { return self.scatteringRadius(); }, + Component::documentation("scattering_radius").data() + ) + .def_property_readonly( + "hard_sphere_radius", + [](const Component &self) { return self.hardSphereRadius(); }, + Component::documentation("hard_sphere_radius").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Channels.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Channels.python.cpp new file mode 100644 index 000000000..ad23db3a5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Channels.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Channels.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Channels wrapper +void wrapChannels(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Channels; + + // create the component + python::class_ component( + module, + "Channels", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("channel"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "channel", + [](const Component &self) { return self.channel(); }, + Component::documentation("channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyInterval.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyInterval.python.cpp new file mode 100644 index 000000000..2d0f9c455 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyInterval.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/EnergyInterval.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// EnergyInterval wrapper +void wrapEnergyInterval(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::EnergyInterval; + using _t = std::variant< + resonances::RMatrix, + resonances::BreitWigner + >; + + // create the component + python::class_ component( + module, + "EnergyInterval", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const Float64 &, + const Float64 &, + const XMLName &, + const _t & + >(), + python::arg("index"), + python::arg("domain_min"), + python::arg("domain_max"), + python::arg("domain_unit"), + python::arg("_rmatrix_breit_wigner"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + [](const Component &self) { return self.index(); }, + Component::documentation("index").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_unit", + [](const Component &self) { return self.domainUnit(); }, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "rmatrix", + [](const Component &self) { return self.RMatrix(); }, + Component::documentation("rmatrix").data() + ) + .def_property_readonly( + "breit_wigner", + [](const Component &self) { return self.BreitWigner(); }, + Component::documentation("breit_wigner").data() + ) + .def_property_readonly( + "_rmatrix_breit_wigner", + [](const Component &self) { return self._RMatrixBreitWigner(); }, + Component::documentation("_rmatrix_breit_wigner").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyIntervals.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyIntervals.python.cpp new file mode 100644 index 000000000..7ff690341 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyIntervals.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/EnergyIntervals.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// EnergyIntervals wrapper +void wrapEnergyIntervals(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::EnergyIntervals; + + // create the component + python::class_ component( + module, + "EnergyIntervals", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::vector & + >(), + python::arg("label"), + python::arg("energy_interval"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "energy_interval", + [](const Component &self) { return self.energyInterval(); }, + Component::documentation("energy_interval").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp new file mode 100644 index 000000000..758ea064d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/ExternalRMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ExternalRMatrix wrapper +void wrapExternalRMatrix(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::ExternalRMatrix; + + // create the component + python::class_ component( + module, + "ExternalRMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::vector & + >(), + python::arg("type") = std::nullopt, + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "type", + [](const Component &self) { return self.type().value(); }, + Component::documentation("type").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp new file mode 100644 index 000000000..ca08f2b6e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// HardSphereRadius wrapper +void wrapHardSphereRadius(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::HardSphereRadius; + + // create the component + python::class_ component( + module, + "HardSphereRadius", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Constant1d & + >(), + python::arg("constant1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "constant1d", + [](const Component &self) { return self.constant1d(); }, + Component::documentation("constant1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/J.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/J.python.cpp new file mode 100644 index 000000000..84d2eb674 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/J.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/J.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// J wrapper +void wrapJ(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::J; + + // create the component + python::class_ component( + module, + "J", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Fraction32 &, + const resonances::LevelSpacing &, + const resonances::Widths & + >(), + python::arg("label"), + python::arg("value"), + python::arg("level_spacing"), + python::arg("widths"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "level_spacing", + [](const Component &self) { return self.levelSpacing(); }, + Component::documentation("level_spacing").data() + ) + .def_property_readonly( + "widths", + [](const Component &self) { return self.widths(); }, + Component::documentation("widths").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Js.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Js.python.cpp new file mode 100644 index 000000000..7e0147444 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Js.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Js.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Js wrapper +void wrapJs(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Js; + + // create the component + python::class_ component( + module, + "Js", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("j"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "j", + [](const Component &self) { return self.J(); }, + Component::documentation("j").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/L.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/L.python.cpp new file mode 100644 index 000000000..a565ca96d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/L.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/L.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// L wrapper +void wrapL(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::L; + + // create the component + python::class_ component( + module, + "L", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Integer32 &, + const resonances::Js & + >(), + python::arg("label"), + python::arg("value"), + python::arg("js"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "js", + [](const Component &self) { return self.Js(); }, + Component::documentation("js").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp new file mode 100644 index 000000000..e3fd04807 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/LevelSpacing.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// LevelSpacing wrapper +void wrapLevelSpacing(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::LevelSpacing; + + // create the component + python::class_ component( + module, + "LevelSpacing", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("constant1d") = std::nullopt, + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "constant1d", + [](const Component &self) { return self.constant1d(); }, + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Ls.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Ls.python.cpp new file mode 100644 index 000000000..3ad23797e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Ls.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Ls.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Ls wrapper +void wrapLs(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Ls; + + // create the component + python::class_ component( + module, + "Ls", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("l"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "l", + [](const Component &self) { return self.L(); }, + Component::documentation("l").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp new file mode 100644 index 000000000..591b6d3f5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp @@ -0,0 +1,126 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/RMatrix.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// RMatrix wrapper +void wrapRMatrix(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::RMatrix; + + // create the component + python::class_ component( + module, + "RMatrix", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const resonances::ResonanceReactions &, + const resonances::SpinGroups & + >(), + python::arg("label"), + python::arg("approximation"), + python::arg("boundary_condition") = std::nullopt, + python::arg("boundary_condition_value") = std::nullopt, + python::arg("calculate_channel_radius") = std::nullopt, + python::arg("calculate_penetrability") = std::nullopt, + python::arg("use_for_self_shielding_only") = std::nullopt, + python::arg("supports_angular_reconstruction") = std::nullopt, + python::arg("po_ps") = std::nullopt, + python::arg("resonance_reactions"), + python::arg("spin_groups"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "approximation", + [](const Component &self) { return self.approximation(); }, + Component::documentation("approximation").data() + ) + .def_property_readonly( + "boundary_condition", + [](const Component &self) { return self.boundaryCondition().value(); }, + Component::documentation("boundary_condition").data() + ) + .def_property_readonly( + "boundary_condition_value", + [](const Component &self) { return self.boundaryConditionValue(); }, + Component::documentation("boundary_condition_value").data() + ) + .def_property_readonly( + "calculate_channel_radius", + [](const Component &self) { return self.calculateChannelRadius().value(); }, + Component::documentation("calculate_channel_radius").data() + ) + .def_property_readonly( + "calculate_penetrability", + [](const Component &self) { return self.calculatePenetrability().value(); }, + Component::documentation("calculate_penetrability").data() + ) + .def_property_readonly( + "use_for_self_shielding_only", + [](const Component &self) { return self.useForSelfShieldingOnly().value(); }, + Component::documentation("use_for_self_shielding_only").data() + ) + .def_property_readonly( + "supports_angular_reconstruction", + [](const Component &self) { return self.supportsAngularReconstruction().value(); }, + Component::documentation("supports_angular_reconstruction").data() + ) + .def_property_readonly( + "po_ps", + [](const Component &self) { return self.PoPs(); }, + Component::documentation("po_ps").data() + ) + .def_property_readonly( + "resonance_reactions", + [](const Component &self) { return self.resonanceReactions(); }, + Component::documentation("resonance_reactions").data() + ) + .def_property_readonly( + "spin_groups", + [](const Component &self) { return self.spinGroups(); }, + Component::documentation("spin_groups").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Resolved.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Resolved.python.cpp new file mode 100644 index 000000000..b4f8ec777 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Resolved.python.cpp @@ -0,0 +1,97 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Resolved.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Resolved wrapper +void wrapResolved(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Resolved; + using _t = std::variant< + resonances::RMatrix, + resonances::BreitWigner, + resonances::EnergyIntervals + >; + + // create the component + python::class_ component( + module, + "Resolved", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const XMLName &, + const _t & + >(), + python::arg("domain_min"), + python::arg("domain_max"), + python::arg("domain_unit"), + python::arg("_rmatrix_breit_wignerenergy_intervals"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_unit", + [](const Component &self) { return self.domainUnit(); }, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "rmatrix", + [](const Component &self) { return self.RMatrix(); }, + Component::documentation("rmatrix").data() + ) + .def_property_readonly( + "breit_wigner", + [](const Component &self) { return self.BreitWigner(); }, + Component::documentation("breit_wigner").data() + ) + .def_property_readonly( + "energy_intervals", + [](const Component &self) { return self.energyIntervals(); }, + Component::documentation("energy_intervals").data() + ) + .def_property_readonly( + "_rmatrix_breit_wignerenergy_intervals", + [](const Component &self) { return self._RMatrixBreitWignerenergyIntervals(); }, + Component::documentation("_rmatrix_breit_wignerenergy_intervals").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp new file mode 100644 index 000000000..e9382de23 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/ResonanceParameters.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ResonanceParameters wrapper +void wrapResonanceParameters(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::ResonanceParameters; + + // create the component + python::class_ component( + module, + "ResonanceParameters", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Table & + >(), + python::arg("table"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "table", + [](const Component &self) { return self.table(); }, + Component::documentation("table").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp new file mode 100644 index 000000000..79e6fa1d9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/ResonanceReaction.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ResonanceReaction wrapper +void wrapResonanceReaction(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::ResonanceReaction; + + // create the component + python::class_ component( + module, + "ResonanceReaction", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const unknownNamespace::Link & + >(), + python::arg("label"), + python::arg("ejectile"), + python::arg("boundary_condition_value") = std::nullopt, + python::arg("eliminated") = std::nullopt, + python::arg("q") = std::nullopt, + python::arg("scattering_radius") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("link"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "ejectile", + [](const Component &self) { return self.ejectile(); }, + Component::documentation("ejectile").data() + ) + .def_property_readonly( + "boundary_condition_value", + [](const Component &self) { return self.boundaryConditionValue(); }, + Component::documentation("boundary_condition_value").data() + ) + .def_property_readonly( + "eliminated", + [](const Component &self) { return self.eliminated().value(); }, + Component::documentation("eliminated").data() + ) + .def_property_readonly( + "q", + [](const Component &self) { return self.Q(); }, + Component::documentation("q").data() + ) + .def_property_readonly( + "scattering_radius", + [](const Component &self) { return self.scatteringRadius(); }, + Component::documentation("scattering_radius").data() + ) + .def_property_readonly( + "hard_sphere_radius", + [](const Component &self) { return self.hardSphereRadius(); }, + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "link", + [](const Component &self) { return self.link(); }, + Component::documentation("link").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReactions.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReactions.python.cpp new file mode 100644 index 000000000..018d04714 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReactions.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/ResonanceReactions.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ResonanceReactions wrapper +void wrapResonanceReactions(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::ResonanceReactions; + + // create the component + python::class_ component( + module, + "ResonanceReactions", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("resonance_reaction"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "resonance_reaction", + [](const Component &self) { return self.resonanceReaction(); }, + Component::documentation("resonance_reaction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Resonances.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Resonances.python.cpp new file mode 100644 index 000000000..274a0d4be --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Resonances.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Resonances.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Resonances wrapper +void wrapResonances(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Resonances; + + // create the component + python::class_ component( + module, + "Resonances", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const resonances::ScatteringRadius &, + const std::optional &, + const std::optional> &, + const std::optional> & + >(), + python::arg("href") = std::nullopt, + python::arg("scattering_radius"), + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("resolved") = std::nullopt, + python::arg("unresolved") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "scattering_radius", + [](const Component &self) { return self.scatteringRadius(); }, + Component::documentation("scattering_radius").data() + ) + .def_property_readonly( + "hard_sphere_radius", + [](const Component &self) { return self.hardSphereRadius(); }, + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "resolved", + [](const Component &self) { return self.resolved(); }, + Component::documentation("resolved").data() + ) + .def_property_readonly( + "unresolved", + [](const Component &self) { return self.unresolved(); }, + Component::documentation("unresolved").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp new file mode 100644 index 000000000..ef4367952 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp @@ -0,0 +1,76 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// ScatteringRadius wrapper +void wrapScatteringRadius(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::ScatteringRadius; + using _t = std::variant< + unknownNamespace::Constant1d, + unknownNamespace::XYs1d, + unknownNamespace::Regions1d + >; + + // create the component + python::class_ component( + module, + "ScatteringRadius", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_constant1d_xys1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "constant1d", + [](const Component &self) { return self.constant1d(); }, + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_constant1d_xys1dregions1d", + [](const Component &self) { return self._constant1dXYs1dregions1d(); }, + Component::documentation("_constant1d_xys1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroup.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroup.python.cpp new file mode 100644 index 000000000..e0e6a25e4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroup.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/SpinGroup.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// SpinGroup wrapper +void wrapSpinGroup(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::SpinGroup; + + // create the component + python::class_ component( + module, + "SpinGroup", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Fraction32 &, + const std::optional &, + const resonances::Channels &, + const resonances::ResonanceParameters & + >(), + python::arg("label"), + python::arg("spin"), + python::arg("parity") = std::nullopt, + python::arg("channels"), + python::arg("resonance_parameters"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "spin", + [](const Component &self) { return self.spin(); }, + Component::documentation("spin").data() + ) + .def_property_readonly( + "parity", + [](const Component &self) { return self.parity().value(); }, + Component::documentation("parity").data() + ) + .def_property_readonly( + "channels", + [](const Component &self) { return self.channels(); }, + Component::documentation("channels").data() + ) + .def_property_readonly( + "resonance_parameters", + [](const Component &self) { return self.resonanceParameters(); }, + Component::documentation("resonance_parameters").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroups.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroups.python.cpp new file mode 100644 index 000000000..1f86b32b4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroups.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/SpinGroups.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// SpinGroups wrapper +void wrapSpinGroups(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::SpinGroups; + + // create the component + python::class_ component( + module, + "SpinGroups", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("spin_group"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "spin_group", + [](const Component &self) { return self.spinGroup(); }, + Component::documentation("spin_group").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp new file mode 100644 index 000000000..4f5dd7e89 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/TabulatedWidths.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// TabulatedWidths wrapper +void wrapTabulatedWidths(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::TabulatedWidths; + + // create the component + python::class_ component( + module, + "TabulatedWidths", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const resonances::ResonanceReactions &, + const resonances::Ls & + >(), + python::arg("label"), + python::arg("approximation"), + python::arg("use_for_self_shielding_only") = std::nullopt, + python::arg("po_ps") = std::nullopt, + python::arg("scattering_radius") = std::nullopt, + python::arg("hard_sphere_radius") = std::nullopt, + python::arg("resonance_reactions"), + python::arg("ls"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "approximation", + [](const Component &self) { return self.approximation(); }, + Component::documentation("approximation").data() + ) + .def_property_readonly( + "use_for_self_shielding_only", + [](const Component &self) { return self.useForSelfShieldingOnly().value(); }, + Component::documentation("use_for_self_shielding_only").data() + ) + .def_property_readonly( + "po_ps", + [](const Component &self) { return self.PoPs(); }, + Component::documentation("po_ps").data() + ) + .def_property_readonly( + "scattering_radius", + [](const Component &self) { return self.scatteringRadius(); }, + Component::documentation("scattering_radius").data() + ) + .def_property_readonly( + "hard_sphere_radius", + [](const Component &self) { return self.hardSphereRadius(); }, + Component::documentation("hard_sphere_radius").data() + ) + .def_property_readonly( + "resonance_reactions", + [](const Component &self) { return self.resonanceReactions(); }, + Component::documentation("resonance_reactions").data() + ) + .def_property_readonly( + "ls", + [](const Component &self) { return self.Ls(); }, + Component::documentation("ls").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Unresolved.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Unresolved.python.cpp new file mode 100644 index 000000000..be036b4e9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Unresolved.python.cpp @@ -0,0 +1,85 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Unresolved.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Unresolved wrapper +void wrapUnresolved(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Unresolved; + using _t = std::variant< + resonances::TabulatedWidths + >; + + // create the component + python::class_ component( + module, + "Unresolved", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const XMLName &, + const _t & + >(), + python::arg("domain_min"), + python::arg("domain_max"), + python::arg("domain_unit"), + python::arg("_tabulated_widths"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_unit", + [](const Component &self) { return self.domainUnit(); }, + Component::documentation("domain_unit").data() + ) + .def_property_readonly( + "tabulated_widths", + [](const Component &self) { return self.tabulatedWidths(); }, + Component::documentation("tabulated_widths").data() + ) + .def_property_readonly( + "_tabulated_widths", + [](const Component &self) { return self._tabulatedWidths(); }, + Component::documentation("_tabulated_widths").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp new file mode 100644 index 000000000..cdf328748 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Width.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Width wrapper +void wrapWidth(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Width; + + // create the component + python::class_ component( + module, + "Width", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const Float64 &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("resonance_reaction"), + python::arg("degrees_of_freedom"), + python::arg("constant1d") = std::nullopt, + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "resonance_reaction", + [](const Component &self) { return self.resonanceReaction(); }, + Component::documentation("resonance_reaction").data() + ) + .def_property_readonly( + "degrees_of_freedom", + [](const Component &self) { return self.degreesOfFreedom(); }, + Component::documentation("degrees_of_freedom").data() + ) + .def_property_readonly( + "constant1d", + [](const Component &self) { return self.constant1d(); }, + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Widths.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Widths.python.cpp new file mode 100644 index 000000000..ace6b3c4a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Widths.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/resonances/Widths.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_resonances { + +// Widths wrapper +void wrapWidths(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = resonances::Widths; + + // create the component + python::class_ component( + module, + "Widths", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("width"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "width", + [](const Component &self) { return self.width(); }, + Component::documentation("width").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_resonances +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles.python.cpp new file mode 100644 index 000000000..3c576c2f9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// styles declarations +namespace python_styles { + void wrapProjectileEnergyDomain(python::module &); + void wrapTemperature(python::module &); + void wrapEvaluated(python::module &); + void wrapCrossSectionReconstructed(python::module &); + void wrapAngularDistributionReconstructed(python::module &); + void wrapCoulombPlusNuclearElasticMuCutoff(python::module &); + void wrapHeated(python::module &); + void wrapAverageProductData(python::module &); + void wrapMonteCarlo_cdf(python::module &); + void wrapGriddedCrossSection(python::module &); + void wrapURR_probabilityTables(python::module &); + void wrapMultiGroup(python::module &); + void wrapTransportable(python::module &); + void wrapTransportables(python::module &); + void wrapFlux(python::module &); + void wrapInverseSpeed(python::module &); + void wrapHeatedMultiGroup(python::module &); + void wrapSnElasticUpScatter(python::module &); + void wrapStyles(python::module &); + void wrapSigmaZeros(python::module &); + void wrapBondarenko(python::module &); + void wrapMultiBand(python::module &); + void wrapEqualProbableBins(python::module &); + void wrapRealization(python::module &); +} // namespace python_styles + +// styles wrapper +void wrapStyles(python::module &module) +{ + // create the styles submodule + python::module submodule = module.def_submodule( + "styles", + "try v2.0 styles" + ); + + // wrap styles components + python_styles::wrapProjectileEnergyDomain(submodule); + python_styles::wrapTemperature(submodule); + python_styles::wrapEvaluated(submodule); + python_styles::wrapCrossSectionReconstructed(submodule); + python_styles::wrapAngularDistributionReconstructed(submodule); + python_styles::wrapCoulombPlusNuclearElasticMuCutoff(submodule); + python_styles::wrapHeated(submodule); + python_styles::wrapAverageProductData(submodule); + python_styles::wrapMonteCarlo_cdf(submodule); + python_styles::wrapGriddedCrossSection(submodule); + python_styles::wrapURR_probabilityTables(submodule); + python_styles::wrapMultiGroup(submodule); + python_styles::wrapTransportable(submodule); + python_styles::wrapTransportables(submodule); + python_styles::wrapFlux(submodule); + python_styles::wrapInverseSpeed(submodule); + python_styles::wrapHeatedMultiGroup(submodule); + python_styles::wrapSnElasticUpScatter(submodule); + python_styles::wrapStyles(submodule); + python_styles::wrapSigmaZeros(submodule); + python_styles::wrapBondarenko(submodule); + python_styles::wrapMultiBand(submodule); + python_styles::wrapEqualProbableBins(submodule); + python_styles::wrapRealization(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp new file mode 100644 index 000000000..5f7574cc1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/AngularDistributionReconstructed.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// AngularDistributionReconstructed wrapper +void wrapAngularDistributionReconstructed(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::AngularDistributionReconstructed; + + // create the component + python::class_ component( + module, + "AngularDistributionReconstructed", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("date"), + python::arg("label"), + python::arg("derived_from") = std::nullopt, + python::arg("temperature") = std::nullopt, + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "temperature", + [](const Component &self) { return self.temperature(); }, + Component::documentation("temperature").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/AverageProductData.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/AverageProductData.python.cpp new file mode 100644 index 000000000..2e74cedfb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/AverageProductData.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/AverageProductData.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// AverageProductData wrapper +void wrapAverageProductData(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::AverageProductData; + + // create the component + python::class_ component( + module, + "AverageProductData", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const std::optional &, + const styles::Temperature &, + const std::optional & + >(), + python::arg("date"), + python::arg("label"), + python::arg("derived_from") = std::nullopt, + python::arg("temperature"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "temperature", + [](const Component &self) { return self.temperature(); }, + Component::documentation("temperature").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Bondarenko.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Bondarenko.python.cpp new file mode 100644 index 000000000..8fa20ce16 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Bondarenko.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Bondarenko.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Bondarenko wrapper +void wrapBondarenko(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Bondarenko; + + // create the component + python::class_ component( + module, + "Bondarenko", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const styles::SigmaZeros &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("sigma_zeros"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "sigma_zeros", + [](const Component &self) { return self.sigmaZeros(); }, + Component::documentation("sigma_zeros").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp new file mode 100644 index 000000000..eb685bbc9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// CoulombPlusNuclearElasticMuCutoff wrapper +void wrapCoulombPlusNuclearElasticMuCutoff(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::CoulombPlusNuclearElasticMuCutoff; + + // create the component + python::class_ component( + module, + "CoulombPlusNuclearElasticMuCutoff", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const Float64 &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("mu_cutoff"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "mu_cutoff", + [](const Component &self) { return self.muCutoff(); }, + Component::documentation("mu_cutoff").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp new file mode 100644 index 000000000..4e00c4db3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/CrossSectionReconstructed.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// CrossSectionReconstructed wrapper +void wrapCrossSectionReconstructed(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::CrossSectionReconstructed; + + // create the component + python::class_ component( + module, + "CrossSectionReconstructed", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("date"), + python::arg("label"), + python::arg("derived_from") = std::nullopt, + python::arg("temperature") = std::nullopt, + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "temperature", + [](const Component &self) { return self.temperature(); }, + Component::documentation("temperature").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/EqualProbableBins.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/EqualProbableBins.python.cpp new file mode 100644 index 000000000..83279f163 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/EqualProbableBins.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/EqualProbableBins.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// EqualProbableBins wrapper +void wrapEqualProbableBins(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::EqualProbableBins; + + // create the component + python::class_ component( + module, + "EqualProbableBins", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const Integer32 &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("number_of_bins"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "number_of_bins", + [](const Component &self) { return self.numberOfBins(); }, + Component::documentation("number_of_bins").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Evaluated.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Evaluated.python.cpp new file mode 100644 index 000000000..6ca20c5b9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Evaluated.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Evaluated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Evaluated wrapper +void wrapEvaluated(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Evaluated; + + // create the component + python::class_ component( + module, + "Evaluated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const std::optional &, + const XMLName &, + const XMLName &, + const styles::ProjectileEnergyDomain &, + const styles::Temperature &, + const documentation::Documentation & + >(), + python::arg("date"), + python::arg("label"), + python::arg("derived_from") = std::nullopt, + python::arg("library"), + python::arg("version"), + python::arg("projectile_energy_domain"), + python::arg("temperature"), + python::arg("documentation"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "library", + [](const Component &self) { return self.library(); }, + Component::documentation("library").data() + ) + .def_property_readonly( + "version", + [](const Component &self) { return self.version(); }, + Component::documentation("version").data() + ) + .def_property_readonly( + "projectile_energy_domain", + [](const Component &self) { return self.projectileEnergyDomain(); }, + Component::documentation("projectile_energy_domain").data() + ) + .def_property_readonly( + "temperature", + [](const Component &self) { return self.temperature(); }, + Component::documentation("temperature").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp new file mode 100644 index 000000000..2d7e5b66d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Flux.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Flux wrapper +void wrapFlux(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Flux; + + // create the component + python::class_ component( + module, + "Flux", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const unknownNamespace::XYs2d & + >(), + python::arg("label"), + python::arg("xys2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp new file mode 100644 index 000000000..5b65f4958 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/GriddedCrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// GriddedCrossSection wrapper +void wrapGriddedCrossSection(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::GriddedCrossSection; + + // create the component + python::class_ component( + module, + "GriddedCrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const unknownNamespace::Grid &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("grid"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "grid", + [](const Component &self) { return self.grid(); }, + Component::documentation("grid").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Heated.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Heated.python.cpp new file mode 100644 index 000000000..09c2058b0 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Heated.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Heated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Heated wrapper +void wrapHeated(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Heated; + + // create the component + python::class_ component( + module, + "Heated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const styles::Temperature &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("temperature"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "temperature", + [](const Component &self) { return self.temperature(); }, + Component::documentation("temperature").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/HeatedMultiGroup.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/HeatedMultiGroup.python.cpp new file mode 100644 index 000000000..616cfac2e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/HeatedMultiGroup.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/HeatedMultiGroup.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// HeatedMultiGroup wrapper +void wrapHeatedMultiGroup(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::HeatedMultiGroup; + + // create the component + python::class_ component( + module, + "HeatedMultiGroup", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const styles::Transportables &, + const styles::Flux &, + const styles::InverseSpeed &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("transportables"), + python::arg("flux"), + python::arg("inverse_speed"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "transportables", + [](const Component &self) { return self.transportables(); }, + Component::documentation("transportables").data() + ) + .def_property_readonly( + "flux", + [](const Component &self) { return self.flux(); }, + Component::documentation("flux").data() + ) + .def_property_readonly( + "inverse_speed", + [](const Component &self) { return self.inverseSpeed(); }, + Component::documentation("inverse_speed").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp new file mode 100644 index 000000000..82d0a2355 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/InverseSpeed.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// InverseSpeed wrapper +void wrapInverseSpeed(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::InverseSpeed; + + // create the component + python::class_ component( + module, + "InverseSpeed", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const unknownNamespace::Gridded1d & + >(), + python::arg("label") = std::nullopt, + python::arg("gridded1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "gridded1d", + [](const Component &self) { return self.gridded1d(); }, + Component::documentation("gridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp new file mode 100644 index 000000000..af71c70d3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/MonteCarlo_cdf.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// MonteCarlo_cdf wrapper +void wrapMonteCarlo_cdf(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::MonteCarlo_cdf; + + // create the component + python::class_ component( + module, + "MonteCarlo_cdf", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/MultiBand.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/MultiBand.python.cpp new file mode 100644 index 000000000..2e8ad1ab5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/MultiBand.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/MultiBand.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// MultiBand wrapper +void wrapMultiBand(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::MultiBand; + + // create the component + python::class_ component( + module, + "MultiBand", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const Integer32 &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("number_of_bands"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "number_of_bands", + [](const Component &self) { return self.numberOfBands(); }, + Component::documentation("number_of_bands").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp new file mode 100644 index 000000000..d7941cabb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/MultiGroup.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// MultiGroup wrapper +void wrapMultiGroup(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::MultiGroup; + + // create the component + python::class_ component( + module, + "MultiGroup", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const unknownNamespace::Grid & + >(), + python::arg("label"), + python::arg("grid"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "grid", + [](const Component &self) { return self.grid(); }, + Component::documentation("grid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp new file mode 100644 index 000000000..dcfde9e8b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/ProjectileEnergyDomain.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// ProjectileEnergyDomain wrapper +void wrapProjectileEnergyDomain(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::ProjectileEnergyDomain; + + // create the component + python::class_ component( + module, + "ProjectileEnergyDomain", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const Float64 &, + const Float64 &, + const XMLName & + >(), + python::arg("label") = std::nullopt, + python::arg("max"), + python::arg("min"), + python::arg("unit"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "max", + [](const Component &self) { return self.max(); }, + Component::documentation("max").data() + ) + .def_property_readonly( + "min", + [](const Component &self) { return self.min(); }, + Component::documentation("min").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Realization.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Realization.python.cpp new file mode 100644 index 000000000..a7d42a065 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Realization.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Realization.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Realization wrapper +void wrapRealization(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Realization; + + // create the component + python::class_ component( + module, + "Realization", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp new file mode 100644 index 000000000..90b106f22 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/SigmaZeros.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// SigmaZeros wrapper +void wrapSigmaZeros(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::SigmaZeros; + + // create the component + python::class_ component( + module, + "SigmaZeros", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const unknownNamespace::Values & + >(), + python::arg("label") = std::nullopt, + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/SnElasticUpScatter.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/SnElasticUpScatter.python.cpp new file mode 100644 index 000000000..cde1671a5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/SnElasticUpScatter.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/SnElasticUpScatter.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// SnElasticUpScatter wrapper +void wrapSnElasticUpScatter(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::SnElasticUpScatter; + + // create the component + python::class_ component( + module, + "SnElasticUpScatter", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("upper_calculated_group") = std::nullopt, + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "upper_calculated_group", + [](const Component &self) { return self.upperCalculatedGroup(); }, + Component::documentation("upper_calculated_group").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Styles.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Styles.python.cpp new file mode 100644 index 000000000..cfc6e9ef4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Styles.python.cpp @@ -0,0 +1,126 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Styles.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Styles wrapper +void wrapStyles(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Styles; + + // create the component + python::class_ component( + module, + "Styles", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> &, + const std::optional> & + >(), + python::arg("evaluated") = std::nullopt, + python::arg("cross_section_reconstructed") = std::nullopt, + python::arg("angular_distribution_reconstructed") = std::nullopt, + python::arg("coulomb_plus_nuclear_elastic_mu_cutoff") = std::nullopt, + python::arg("heated") = std::nullopt, + python::arg("average_product_data") = std::nullopt, + python::arg("monte_carlo_cdf") = std::nullopt, + python::arg("gridded_cross_section") = std::nullopt, + python::arg("urr_probability_tables") = std::nullopt, + python::arg("heated_multi_group") = std::nullopt, + python::arg("sn_elastic_up_scatter") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "evaluated", + [](const Component &self) { return self.evaluated(); }, + Component::documentation("evaluated").data() + ) + .def_property_readonly( + "cross_section_reconstructed", + [](const Component &self) { return self.crossSectionReconstructed(); }, + Component::documentation("cross_section_reconstructed").data() + ) + .def_property_readonly( + "angular_distribution_reconstructed", + [](const Component &self) { return self.angularDistributionReconstructed(); }, + Component::documentation("angular_distribution_reconstructed").data() + ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic_mu_cutoff", + [](const Component &self) { return self.CoulombPlusNuclearElasticMuCutoff(); }, + Component::documentation("coulomb_plus_nuclear_elastic_mu_cutoff").data() + ) + .def_property_readonly( + "heated", + [](const Component &self) { return self.heated(); }, + Component::documentation("heated").data() + ) + .def_property_readonly( + "average_product_data", + [](const Component &self) { return self.averageProductData(); }, + Component::documentation("average_product_data").data() + ) + .def_property_readonly( + "monte_carlo_cdf", + [](const Component &self) { return self.MonteCarlo_cdf(); }, + Component::documentation("monte_carlo_cdf").data() + ) + .def_property_readonly( + "gridded_cross_section", + [](const Component &self) { return self.griddedCrossSection(); }, + Component::documentation("gridded_cross_section").data() + ) + .def_property_readonly( + "urr_probability_tables", + [](const Component &self) { return self.URR_probabilityTables(); }, + Component::documentation("urr_probability_tables").data() + ) + .def_property_readonly( + "heated_multi_group", + [](const Component &self) { return self.heatedMultiGroup(); }, + Component::documentation("heated_multi_group").data() + ) + .def_property_readonly( + "sn_elastic_up_scatter", + [](const Component &self) { return self.SnElasticUpScatter(); }, + Component::documentation("sn_elastic_up_scatter").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp new file mode 100644 index 000000000..97d9793bf --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Temperature.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Temperature wrapper +void wrapTemperature(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Temperature; + + // create the component + python::class_ component( + module, + "Temperature", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const Float64 &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("value"), + python::arg("unit"), + python::arg("documentation") = std::nullopt, + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Transportable.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Transportable.python.cpp new file mode 100644 index 000000000..f4af1c35e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Transportable.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Transportable.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Transportable wrapper +void wrapTransportable(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Transportable; + + // create the component + python::class_ component( + module, + "Transportable", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const styles::MultiGroup & + >(), + python::arg("conserve") = std::nullopt, + python::arg("label"), + python::arg("multi_group"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "conserve", + [](const Component &self) { return self.conserve().value(); }, + Component::documentation("conserve").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "multi_group", + [](const Component &self) { return self.multiGroup(); }, + Component::documentation("multi_group").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Transportables.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Transportables.python.cpp new file mode 100644 index 000000000..5d235afc9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Transportables.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/Transportables.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// Transportables wrapper +void wrapTransportables(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::Transportables; + + // create the component + python::class_ component( + module, + "Transportables", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::vector & + >(), + python::arg("label") = std::nullopt, + python::arg("transportable"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "transportable", + [](const Component &self) { return self.transportable(); }, + Component::documentation("transportable").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/URR_probabilityTables.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/URR_probabilityTables.python.cpp new file mode 100644 index 000000000..08edb8679 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/URR_probabilityTables.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/styles/URR_probabilityTables.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_styles { + +// URR_probabilityTables wrapper +void wrapURR_probabilityTables(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = styles::URR_probabilityTables; + + // create the component + python::class_ component( + module, + "URR_probabilityTables", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const XMLName &, + const XMLName &, + const std::optional & + >(), + python::arg("date"), + python::arg("derived_from"), + python::arg("label"), + python::arg("documentation") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "derived_from", + [](const Component &self) { return self.derivedFrom(); }, + Component::documentation("derived_from").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_styles +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp new file mode 100644 index 000000000..3c1df2e7d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp @@ -0,0 +1,145 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// transport declarations +namespace python_transport { + void wrapResonancesLink(python::module &); + void wrapResolvedRegion(python::module &); + void wrapUnresolvedRegion(python::module &); + void wrapFastRegion(python::module &); + void wrapBackground(python::module &); + void wrapResonancesWithBackground(python::module &); + void wrapReference(python::module &); + void wrapURR_probabilityTables1d(python::module &); + void wrapCrossSection(python::module &); + void wrapIsotropic2d(python::module &); + void wrapRecoil(python::module &); + void wrapAngularTwoBody(python::module &); + void wrapForward(python::module &); + void wrapAngular_uncorrelated(python::module &); + void wrapU(python::module &); + void wrapG(python::module &); + void wrapTheta(python::module &); + void wrapGeneralEvaporation(python::module &); + void wrapDiscreteGamma(python::module &); + void wrapPrimaryGamma(python::module &); + void wrapNBodyPhaseSpace(python::module &); + void wrapEvaporation(python::module &); + void wrapWeighted(python::module &); + void wrapWeightedFunctionals(python::module &); + void wrapEnergy_uncorrelated(python::module &); + void wrapUncorrelated(python::module &); + void wrapAngularEnergy(python::module &); + void wrapEnergyAngular(python::module &); + void wrapF(python::module &); + void wrapR(python::module &); + void wrapA(python::module &); + void wrapKalbachMann(python::module &); + void wrapBranching3d(python::module &); + void wrapUnspecified(python::module &); + void wrapMultiGroup3d(python::module &); + void wrapDistribution(python::module &); + void wrapOutputChannel(python::module &); + void wrapDoubleDifferentialCrossSection(python::module &); + void wrapReaction(python::module &); + void wrapReactions(python::module &); + void wrapOrphanProduct(python::module &); + void wrapOrphanProducts(python::module &); + void wrapAdd(python::module &); + void wrapSummands(python::module &); + void wrapCrossSectionSum(python::module &); + void wrapCrossSectionSums(python::module &); + void wrapBranching1d(python::module &); + void wrapMultiplicity(python::module &); + void wrapMultiplicitySum(python::module &); + void wrapMultiplicitySums(python::module &); + void wrapSums(python::module &); + void wrapProduction(python::module &); + void wrapProductions(python::module &); + void wrapIncompleteReactions(python::module &); + void wrapReactionSuite(python::module &); + void wrapCoherentPhoton(python::module &); + void wrapIncoherentPhoton(python::module &); + void wrapPhotonEmissionProbabilities(python::module &); +} // namespace python_transport + +// transport wrapper +void wrapTransport(python::module &module) +{ + // create the transport submodule + python::module submodule = module.def_submodule( + "transport", + "try v2.0 transport" + ); + + // wrap transport components + python_transport::wrapResonancesLink(submodule); + python_transport::wrapResolvedRegion(submodule); + python_transport::wrapUnresolvedRegion(submodule); + python_transport::wrapFastRegion(submodule); + python_transport::wrapBackground(submodule); + python_transport::wrapResonancesWithBackground(submodule); + python_transport::wrapReference(submodule); + python_transport::wrapURR_probabilityTables1d(submodule); + python_transport::wrapCrossSection(submodule); + python_transport::wrapIsotropic2d(submodule); + python_transport::wrapRecoil(submodule); + python_transport::wrapAngularTwoBody(submodule); + python_transport::wrapForward(submodule); + python_transport::wrapAngular_uncorrelated(submodule); + python_transport::wrapU(submodule); + python_transport::wrapG(submodule); + python_transport::wrapTheta(submodule); + python_transport::wrapGeneralEvaporation(submodule); + python_transport::wrapDiscreteGamma(submodule); + python_transport::wrapPrimaryGamma(submodule); + python_transport::wrapNBodyPhaseSpace(submodule); + python_transport::wrapEvaporation(submodule); + python_transport::wrapWeighted(submodule); + python_transport::wrapWeightedFunctionals(submodule); + python_transport::wrapEnergy_uncorrelated(submodule); + python_transport::wrapUncorrelated(submodule); + python_transport::wrapAngularEnergy(submodule); + python_transport::wrapEnergyAngular(submodule); + python_transport::wrapF(submodule); + python_transport::wrapR(submodule); + python_transport::wrapA(submodule); + python_transport::wrapKalbachMann(submodule); + python_transport::wrapBranching3d(submodule); + python_transport::wrapUnspecified(submodule); + python_transport::wrapMultiGroup3d(submodule); + python_transport::wrapDistribution(submodule); + python_transport::wrapOutputChannel(submodule); + python_transport::wrapDoubleDifferentialCrossSection(submodule); + python_transport::wrapReaction(submodule); + python_transport::wrapReactions(submodule); + python_transport::wrapOrphanProduct(submodule); + python_transport::wrapOrphanProducts(submodule); + python_transport::wrapAdd(submodule); + python_transport::wrapSummands(submodule); + python_transport::wrapCrossSectionSum(submodule); + python_transport::wrapCrossSectionSums(submodule); + python_transport::wrapBranching1d(submodule); + python_transport::wrapMultiplicity(submodule); + python_transport::wrapMultiplicitySum(submodule); + python_transport::wrapMultiplicitySums(submodule); + python_transport::wrapSums(submodule); + python_transport::wrapProduction(submodule); + python_transport::wrapProductions(submodule); + python_transport::wrapIncompleteReactions(submodule); + python_transport::wrapReactionSuite(submodule); + python_transport::wrapCoherentPhoton(submodule); + python_transport::wrapIncoherentPhoton(submodule); + python_transport::wrapPhotonEmissionProbabilities(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp new file mode 100644 index 000000000..fdafadee9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/A.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// A wrapper +void wrapA(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::A; + using _t = std::variant< + unknownNamespace::XYs2d, + unknownNamespace::Regions2d + >; + + // create the component + python::class_ component( + module, + "A", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys2dregions2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "_xys2dregions2d", + [](const Component &self) { return self._XYs2dregions2d(); }, + Component::documentation("_xys2dregions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Add.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Add.python.cpp new file mode 100644 index 000000000..15dc612a3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Add.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Add.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Add wrapper +void wrapAdd(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Add; + + // create the component + python::class_ component( + module, + "Add", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp new file mode 100644 index 000000000..94fb7ceba --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/AngularEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// AngularEnergy wrapper +void wrapAngularEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::AngularEnergy; + + // create the component + python::class_ component( + module, + "AngularEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const unknownNamespace::XYs3d & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("xys3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "xys3d", + [](const Component &self) { return self.XYs3d(); }, + Component::documentation("xys3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp new file mode 100644 index 000000000..f3357e51c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/AngularTwoBody.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// AngularTwoBody wrapper +void wrapAngularTwoBody(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::AngularTwoBody; + + // create the component + python::class_ component( + module, + "AngularTwoBody", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + python::arg("xys2d") = std::nullopt, + python::arg("regions2d") = std::nullopt, + python::arg("isotropic2d") = std::nullopt, + python::arg("recoil") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "isotropic2d", + [](const Component &self) { return self.isotropic2d(); }, + Component::documentation("isotropic2d").data() + ) + .def_property_readonly( + "recoil", + [](const Component &self) { return self.recoil(); }, + Component::documentation("recoil").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp new file mode 100644 index 000000000..e08db4aed --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Angular_uncorrelated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Angular_uncorrelated wrapper +void wrapAngular_uncorrelated(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Angular_uncorrelated; + + // create the component + python::class_ component( + module, + "Angular_uncorrelated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("isotropic2d") = std::nullopt, + python::arg("forward") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "isotropic2d", + [](const Component &self) { return self.isotropic2d(); }, + Component::documentation("isotropic2d").data() + ) + .def_property_readonly( + "forward", + [](const Component &self) { return self.forward(); }, + Component::documentation("forward").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Background.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Background.python.cpp new file mode 100644 index 000000000..2cc89bd31 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Background.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Background.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Background wrapper +void wrapBackground(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Background; + + // create the component + python::class_ component( + module, + "Background", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("resolved_region") = std::nullopt, + python::arg("unresolved_region") = std::nullopt, + python::arg("fast_region") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "resolved_region", + [](const Component &self) { return self.resolvedRegion(); }, + Component::documentation("resolved_region").data() + ) + .def_property_readonly( + "unresolved_region", + [](const Component &self) { return self.unresolvedRegion(); }, + Component::documentation("unresolved_region").data() + ) + .def_property_readonly( + "fast_region", + [](const Component &self) { return self.fastRegion(); }, + Component::documentation("fast_region").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Branching1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Branching1d.python.cpp new file mode 100644 index 000000000..ea54296cd --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Branching1d.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Branching1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Branching1d wrapper +void wrapBranching1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Branching1d; + + // create the component + python::class_ component( + module, + "Branching1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName & + >(), + python::arg("label"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Branching3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Branching3d.python.cpp new file mode 100644 index 000000000..fa7e2bb4e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Branching3d.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Branching3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Branching3d wrapper +void wrapBranching3d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Branching3d; + + // create the component + python::class_ component( + module, + "Branching3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("label"), + python::arg("product_frame"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CoherentPhoton.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/CoherentPhoton.python.cpp new file mode 100644 index 000000000..41a636963 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/CoherentPhoton.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/CoherentPhoton.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// CoherentPhoton wrapper +void wrapCoherentPhoton(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::CoherentPhoton; + + // create the component + python::class_ component( + module, + "CoherentPhoton", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp new file mode 100644 index 000000000..481a0f0c9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp @@ -0,0 +1,119 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/CrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// CrossSection wrapper +void wrapCrossSection(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::CrossSection; + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Regions1d, + transport::ResonancesWithBackground, + cpTransport::CoulombPlusNuclearElastic, + tsl::ThermalNeutronScatteringLaw1d, + transport::Reference, + unknownNamespace::Gridded1d, + unknownNamespace::Ys1d, + transport::URR_probabilityTables1d + >; + + // create the component + python::class_ component( + module, + "CrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const _t & + >(), + python::arg("label") = std::nullopt, + python::arg("_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "resonances_with_background", + [](const Component &self) { return self.resonancesWithBackground(); }, + Component::documentation("resonances_with_background").data() + ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic", + [](const Component &self) { return self.CoulombPlusNuclearElastic(); }, + Component::documentation("coulomb_plus_nuclear_elastic").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law1d", + [](const Component &self) { return self.thermalNeutronScatteringLaw1d(); }, + Component::documentation("thermal_neutron_scattering_law1d").data() + ) + .def_property_readonly( + "reference", + [](const Component &self) { return self.reference(); }, + Component::documentation("reference").data() + ) + .def_property_readonly( + "gridded1d", + [](const Component &self) { return self.gridded1d(); }, + Component::documentation("gridded1d").data() + ) + .def_property_readonly( + "ys1d", + [](const Component &self) { return self.Ys1d(); }, + Component::documentation("ys1d").data() + ) + .def_property_readonly( + "urr_probability_tables1d", + [](const Component &self) { return self.URR_probabilityTables1d(); }, + Component::documentation("urr_probability_tables1d").data() + ) + .def_property_readonly( + "_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d", + [](const Component &self) { return self._XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(); }, + Component::documentation("_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp new file mode 100644 index 000000000..ed8358e1d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/CrossSectionSum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// CrossSectionSum wrapper +void wrapCrossSectionSum(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::CrossSectionSum; + + // create the component + python::class_ component( + module, + "CrossSectionSum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const ambiguousNamespace::Q &, + const transport::CrossSection &, + const transport::Summands & + >(), + python::arg("endf_mt") = std::nullopt, + python::arg("label"), + python::arg("q"), + python::arg("cross_section"), + python::arg("summands"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + [](const Component &self) { return self.ENDF_MT(); }, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "q", + [](const Component &self) { return self.Q(); }, + Component::documentation("q").data() + ) + .def_property_readonly( + "cross_section", + [](const Component &self) { return self.crossSection(); }, + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "summands", + [](const Component &self) { return self.summands(); }, + Component::documentation("summands").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSums.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSums.python.cpp new file mode 100644 index 000000000..632e66def --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSums.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/CrossSectionSums.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// CrossSectionSums wrapper +void wrapCrossSectionSums(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::CrossSectionSums; + + // create the component + python::class_ component( + module, + "CrossSectionSums", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("cross_section_sum") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "cross_section_sum", + [](const Component &self) { return self.crossSectionSum(); }, + Component::documentation("cross_section_sum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp new file mode 100644 index 000000000..c86a33954 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/DiscreteGamma.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// DiscreteGamma wrapper +void wrapDiscreteGamma(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::DiscreteGamma; + + // create the component + python::class_ component( + module, + "DiscreteGamma", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("domain_max") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("axes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Distribution.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Distribution.python.cpp new file mode 100644 index 000000000..1ce74d166 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Distribution.python.cpp @@ -0,0 +1,148 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Distribution.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Distribution wrapper +void wrapDistribution(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Distribution; + using _t = std::variant< + transport::AngularTwoBody, + transport::Uncorrelated, + transport::AngularEnergy, + transport::EnergyAngular, + transport::KalbachMann, + transport::Reference, + transport::Branching3d, + cpTransport::CoulombPlusNuclearElastic, + tsl::ThermalNeutronScatteringLaw, + atomic::CoherentPhotonScattering, + atomic::IncoherentPhotonScattering, + transport::Unspecified, + transport::MultiGroup3d, + processed::AngularEnergyMC, + processed::EnergyAngularMC + >; + + // create the component + python::class_ component( + module, + "Distribution", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "angular_two_body", + [](const Component &self) { return self.angularTwoBody(); }, + Component::documentation("angular_two_body").data() + ) + .def_property_readonly( + "uncorrelated", + [](const Component &self) { return self.uncorrelated(); }, + Component::documentation("uncorrelated").data() + ) + .def_property_readonly( + "angular_energy", + [](const Component &self) { return self.angularEnergy(); }, + Component::documentation("angular_energy").data() + ) + .def_property_readonly( + "energy_angular", + [](const Component &self) { return self.energyAngular(); }, + Component::documentation("energy_angular").data() + ) + .def_property_readonly( + "kalbach_mann", + [](const Component &self) { return self.KalbachMann(); }, + Component::documentation("kalbach_mann").data() + ) + .def_property_readonly( + "reference", + [](const Component &self) { return self.reference(); }, + Component::documentation("reference").data() + ) + .def_property_readonly( + "branching3d", + [](const Component &self) { return self.branching3d(); }, + Component::documentation("branching3d").data() + ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic", + [](const Component &self) { return self.CoulombPlusNuclearElastic(); }, + Component::documentation("coulomb_plus_nuclear_elastic").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law", + [](const Component &self) { return self.thermalNeutronScatteringLaw(); }, + Component::documentation("thermal_neutron_scattering_law").data() + ) + .def_property_readonly( + "coherent_photon_scattering", + [](const Component &self) { return self.coherentPhotonScattering(); }, + Component::documentation("coherent_photon_scattering").data() + ) + .def_property_readonly( + "incoherent_photon_scattering", + [](const Component &self) { return self.incoherentPhotonScattering(); }, + Component::documentation("incoherent_photon_scattering").data() + ) + .def_property_readonly( + "unspecified", + [](const Component &self) { return self.unspecified(); }, + Component::documentation("unspecified").data() + ) + .def_property_readonly( + "multi_group3d", + [](const Component &self) { return self.multiGroup3d(); }, + Component::documentation("multi_group3d").data() + ) + .def_property_readonly( + "angular_energy_mc", + [](const Component &self) { return self.angularEnergyMC(); }, + Component::documentation("angular_energy_mc").data() + ) + .def_property_readonly( + "energy_angular_mc", + [](const Component &self) { return self.energyAngularMC(); }, + Component::documentation("energy_angular_mc").data() + ) + .def_property_readonly( + "_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc", + [](const Component &self) { return self._angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC(); }, + Component::documentation("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp new file mode 100644 index 000000000..2471fa7a2 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/DoubleDifferentialCrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// DoubleDifferentialCrossSection wrapper +void wrapDoubleDifferentialCrossSection(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::DoubleDifferentialCrossSection; + + // create the component + python::class_ component( + module, + "DoubleDifferentialCrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("regions3d") = std::nullopt, + python::arg("xys3d") = std::nullopt, + python::arg("coulomb_plus_nuclear_elastic") = std::nullopt, + python::arg("reference") = std::nullopt, + python::arg("coherent_photon_scattering") = std::nullopt, + python::arg("incoherent_photon_scattering") = std::nullopt, + python::arg("thermal_neutron_scattering_law_coherent_elastic") = std::nullopt, + python::arg("thermal_neutron_scattering_law_incoherent_elastic") = std::nullopt, + python::arg("thermal_neutron_scattering_law_incoherent_inelastic") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "regions3d", + [](const Component &self) { return self.regions3d(); }, + Component::documentation("regions3d").data() + ) + .def_property_readonly( + "xys3d", + [](const Component &self) { return self.XYs3d(); }, + Component::documentation("xys3d").data() + ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic", + [](const Component &self) { return self.CoulombPlusNuclearElastic(); }, + Component::documentation("coulomb_plus_nuclear_elastic").data() + ) + .def_property_readonly( + "reference", + [](const Component &self) { return self.reference(); }, + Component::documentation("reference").data() + ) + .def_property_readonly( + "coherent_photon_scattering", + [](const Component &self) { return self.coherentPhotonScattering(); }, + Component::documentation("coherent_photon_scattering").data() + ) + .def_property_readonly( + "incoherent_photon_scattering", + [](const Component &self) { return self.incoherentPhotonScattering(); }, + Component::documentation("incoherent_photon_scattering").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law_coherent_elastic", + [](const Component &self) { return self.thermalNeutronScatteringLaw_coherentElastic(); }, + Component::documentation("thermal_neutron_scattering_law_coherent_elastic").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law_incoherent_elastic", + [](const Component &self) { return self.thermalNeutronScatteringLaw_incoherentElastic(); }, + Component::documentation("thermal_neutron_scattering_law_incoherent_elastic").data() + ) + .def_property_readonly( + "thermal_neutron_scattering_law_incoherent_inelastic", + [](const Component &self) { return self.thermalNeutronScatteringLaw_incoherentInelastic(); }, + Component::documentation("thermal_neutron_scattering_law_incoherent_inelastic").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp new file mode 100644 index 000000000..2743e3db7 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/EnergyAngular.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// EnergyAngular wrapper +void wrapEnergyAngular(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::EnergyAngular; + + // create the component + python::class_ component( + module, + "EnergyAngular", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const unknownNamespace::XYs3d & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + python::arg("xys3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "xys3d", + [](const Component &self) { return self.XYs3d(); }, + Component::documentation("xys3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp new file mode 100644 index 000000000..ac3f66613 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp @@ -0,0 +1,126 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Energy_uncorrelated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Energy_uncorrelated wrapper +void wrapEnergy_uncorrelated(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Energy_uncorrelated; + + // create the component + python::class_ component( + module, + "Energy_uncorrelated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("xys2d") = std::nullopt, + python::arg("regions2d") = std::nullopt, + python::arg("general_evaporation") = std::nullopt, + python::arg("discrete_gamma") = std::nullopt, + python::arg("primary_gamma") = std::nullopt, + python::arg("nbody_phase_space") = std::nullopt, + python::arg("evaporation") = std::nullopt, + python::arg("weighted_functionals") = std::nullopt, + python::arg("simple_maxwellian_fission") = std::nullopt, + python::arg("watt") = std::nullopt, + python::arg("madland_nix") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "general_evaporation", + [](const Component &self) { return self.generalEvaporation(); }, + Component::documentation("general_evaporation").data() + ) + .def_property_readonly( + "discrete_gamma", + [](const Component &self) { return self.discreteGamma(); }, + Component::documentation("discrete_gamma").data() + ) + .def_property_readonly( + "primary_gamma", + [](const Component &self) { return self.primaryGamma(); }, + Component::documentation("primary_gamma").data() + ) + .def_property_readonly( + "nbody_phase_space", + [](const Component &self) { return self.NBodyPhaseSpace(); }, + Component::documentation("nbody_phase_space").data() + ) + .def_property_readonly( + "evaporation", + [](const Component &self) { return self.evaporation(); }, + Component::documentation("evaporation").data() + ) + .def_property_readonly( + "weighted_functionals", + [](const Component &self) { return self.weightedFunctionals(); }, + Component::documentation("weighted_functionals").data() + ) + .def_property_readonly( + "simple_maxwellian_fission", + [](const Component &self) { return self.simpleMaxwellianFission(); }, + Component::documentation("simple_maxwellian_fission").data() + ) + .def_property_readonly( + "watt", + [](const Component &self) { return self.Watt(); }, + Component::documentation("watt").data() + ) + .def_property_readonly( + "madland_nix", + [](const Component &self) { return self.MadlandNix(); }, + Component::documentation("madland_nix").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Evaporation.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Evaporation.python.cpp new file mode 100644 index 000000000..3587f35ff --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Evaporation.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Evaporation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Evaporation wrapper +void wrapEvaporation(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Evaporation; + + // create the component + python::class_ component( + module, + "Evaporation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("u") = std::nullopt, + python::arg("theta") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "u", + [](const Component &self) { return self.U(); }, + Component::documentation("u").data() + ) + .def_property_readonly( + "theta", + [](const Component &self) { return self.theta(); }, + Component::documentation("theta").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp new file mode 100644 index 000000000..41ddaf827 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/F.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// F wrapper +void wrapF(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::F; + using _t = std::variant< + unknownNamespace::XYs2d, + unknownNamespace::Regions2d + >; + + // create the component + python::class_ component( + module, + "F", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys2dregions2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "_xys2dregions2d", + [](const Component &self) { return self._XYs2dregions2d(); }, + Component::documentation("_xys2dregions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp new file mode 100644 index 000000000..5fae41996 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/FastRegion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// FastRegion wrapper +void wrapFastRegion(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::FastRegion; + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Regions1d + >; + + // create the component + python::class_ component( + module, + "FastRegion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dregions1d", + [](const Component &self) { return self._XYs1dregions1d(); }, + Component::documentation("_xys1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Forward.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Forward.python.cpp new file mode 100644 index 000000000..f3eb44375 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Forward.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Forward.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Forward wrapper +void wrapForward(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Forward; + + // create the component + python::class_ component( + module, + "Forward", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp new file mode 100644 index 000000000..43a3fa576 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/G.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// G wrapper +void wrapG(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::G; + + // create the component + python::class_ component( + module, + "G", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/GeneralEvaporation.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/GeneralEvaporation.python.cpp new file mode 100644 index 000000000..daf205cd2 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/GeneralEvaporation.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/GeneralEvaporation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// GeneralEvaporation wrapper +void wrapGeneralEvaporation(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::GeneralEvaporation; + + // create the component + python::class_ component( + module, + "GeneralEvaporation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("u") = std::nullopt, + python::arg("g") = std::nullopt, + python::arg("theta") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "u", + [](const Component &self) { return self.U(); }, + Component::documentation("u").data() + ) + .def_property_readonly( + "g", + [](const Component &self) { return self.g(); }, + Component::documentation("g").data() + ) + .def_property_readonly( + "theta", + [](const Component &self) { return self.theta(); }, + Component::documentation("theta").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/IncoherentPhoton.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/IncoherentPhoton.python.cpp new file mode 100644 index 000000000..066cc2d5b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/IncoherentPhoton.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/IncoherentPhoton.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// IncoherentPhoton wrapper +void wrapIncoherentPhoton(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::IncoherentPhoton; + + // create the component + python::class_ component( + module, + "IncoherentPhoton", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/IncompleteReactions.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/IncompleteReactions.python.cpp new file mode 100644 index 000000000..0c5f50ca4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/IncompleteReactions.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/IncompleteReactions.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// IncompleteReactions wrapper +void wrapIncompleteReactions(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::IncompleteReactions; + + // create the component + python::class_ component( + module, + "IncompleteReactions", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("reaction") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "reaction", + [](const Component &self) { return self.reaction(); }, + Component::documentation("reaction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Isotropic2d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Isotropic2d.python.cpp new file mode 100644 index 000000000..215851384 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Isotropic2d.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Isotropic2d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Isotropic2d wrapper +void wrapIsotropic2d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Isotropic2d; + + // create the component + python::class_ component( + module, + "Isotropic2d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/KalbachMann.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/KalbachMann.python.cpp new file mode 100644 index 000000000..470a4e4ee --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/KalbachMann.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/KalbachMann.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// KalbachMann wrapper +void wrapKalbachMann(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::KalbachMann; + + // create the component + python::class_ component( + module, + "KalbachMann", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const transport::F &, + const transport::R &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + python::arg("f"), + python::arg("r"), + python::arg("a") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "f", + [](const Component &self) { return self.f(); }, + Component::documentation("f").data() + ) + .def_property_readonly( + "r", + [](const Component &self) { return self.r(); }, + Component::documentation("r").data() + ) + .def_property_readonly( + "a", + [](const Component &self) { return self.a(); }, + Component::documentation("a").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp new file mode 100644 index 000000000..fa659f806 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/MultiGroup3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// MultiGroup3d wrapper +void wrapMultiGroup3d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::MultiGroup3d; + + // create the component + python::class_ component( + module, + "MultiGroup3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const unknownNamespace::Gridded3d & + >(), + python::arg("label"), + python::arg("product_frame"), + python::arg("gridded3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "gridded3d", + [](const Component &self) { return self.gridded3d(); }, + Component::documentation("gridded3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp new file mode 100644 index 000000000..32d95cc14 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp @@ -0,0 +1,100 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Multiplicity.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Multiplicity wrapper +void wrapMultiplicity(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Multiplicity; + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Constant1d, + unknownNamespace::Polynomial1d, + transport::Branching1d, + transport::Reference, + unknownNamespace::Gridded1d, + unknownNamespace::Regions1d + >; + + // create the component + python::class_ component( + module, + "Multiplicity", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "constant1d", + [](const Component &self) { return self.constant1d(); }, + Component::documentation("constant1d").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + .def_property_readonly( + "branching1d", + [](const Component &self) { return self.branching1d(); }, + Component::documentation("branching1d").data() + ) + .def_property_readonly( + "reference", + [](const Component &self) { return self.reference(); }, + Component::documentation("reference").data() + ) + .def_property_readonly( + "gridded1d", + [](const Component &self) { return self.gridded1d(); }, + Component::documentation("gridded1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d", + [](const Component &self) { return self._XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d(); }, + Component::documentation("_xys1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySum.python.cpp new file mode 100644 index 000000000..56ed817f8 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySum.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/MultiplicitySum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// MultiplicitySum wrapper +void wrapMultiplicitySum(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::MultiplicitySum; + + // create the component + python::class_ component( + module, + "MultiplicitySum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const transport::Multiplicity &, + const transport::Summands & + >(), + python::arg("endf_mt") = std::nullopt, + python::arg("label"), + python::arg("multiplicity"), + python::arg("summands"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + [](const Component &self) { return self.ENDF_MT(); }, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "multiplicity", + [](const Component &self) { return self.multiplicity(); }, + Component::documentation("multiplicity").data() + ) + .def_property_readonly( + "summands", + [](const Component &self) { return self.summands(); }, + Component::documentation("summands").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySums.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySums.python.cpp new file mode 100644 index 000000000..002c735e3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySums.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/MultiplicitySums.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// MultiplicitySums wrapper +void wrapMultiplicitySums(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::MultiplicitySums; + + // create the component + python::class_ component( + module, + "MultiplicitySums", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("multiplicity_sum") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "multiplicity_sum", + [](const Component &self) { return self.multiplicitySum(); }, + Component::documentation("multiplicity_sum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp new file mode 100644 index 000000000..8170e3d56 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/NBodyPhaseSpace.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// NBodyPhaseSpace wrapper +void wrapNBodyPhaseSpace(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::NBodyPhaseSpace; + + // create the component + python::class_ component( + module, + "NBodyPhaseSpace", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("number_of_products") = std::nullopt, + python::arg("mass") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "number_of_products", + [](const Component &self) { return self.numberOfProducts(); }, + Component::documentation("number_of_products").data() + ) + .def_property_readonly( + "mass", + [](const Component &self) { return self.mass(); }, + Component::documentation("mass").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProduct.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProduct.python.cpp new file mode 100644 index 000000000..2ece5e5a9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProduct.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/OrphanProduct.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// OrphanProduct wrapper +void wrapOrphanProduct(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::OrphanProduct; + + // create the component + python::class_ component( + module, + "OrphanProduct", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const XMLName &, + const transport::CrossSection &, + const transport::OutputChannel & + >(), + python::arg("endf_mt"), + python::arg("label"), + python::arg("cross_section"), + python::arg("output_channel"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + [](const Component &self) { return self.ENDF_MT(); }, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "cross_section", + [](const Component &self) { return self.crossSection(); }, + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "output_channel", + [](const Component &self) { return self.outputChannel(); }, + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProducts.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProducts.python.cpp new file mode 100644 index 000000000..cb5934924 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProducts.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/OrphanProducts.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// OrphanProducts wrapper +void wrapOrphanProducts(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::OrphanProducts; + + // create the component + python::class_ component( + module, + "OrphanProducts", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("orphan_product"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "orphan_product", + [](const Component &self) { return self.orphanProduct(); }, + Component::documentation("orphan_product").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp new file mode 100644 index 000000000..0ea29a5b1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/OutputChannel.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// OutputChannel wrapper +void wrapOutputChannel(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::OutputChannel; + + // create the component + python::class_ component( + module, + "OutputChannel", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("genre") = std::nullopt, + python::arg("process") = std::nullopt, + python::arg("q") = std::nullopt, + python::arg("products") = std::nullopt, + python::arg("fission_fragment_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "genre", + [](const Component &self) { return self.genre(); }, + Component::documentation("genre").data() + ) + .def_property_readonly( + "process", + [](const Component &self) { return self.process(); }, + Component::documentation("process").data() + ) + .def_property_readonly( + "q", + [](const Component &self) { return self.Q(); }, + Component::documentation("q").data() + ) + .def_property_readonly( + "products", + [](const Component &self) { return self.products(); }, + Component::documentation("products").data() + ) + .def_property_readonly( + "fission_fragment_data", + [](const Component &self) { return self.fissionFragmentData(); }, + Component::documentation("fission_fragment_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp new file mode 100644 index 000000000..e8d9cd19b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/PhotonEmissionProbabilities.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// PhotonEmissionProbabilities wrapper +void wrapPhotonEmissionProbabilities(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::PhotonEmissionProbabilities; + + // create the component + python::class_ component( + module, + "PhotonEmissionProbabilities", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("shell") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "shell", + [](const Component &self) { return self.shell(); }, + Component::documentation("shell").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp new file mode 100644 index 000000000..bda6dacde --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/PrimaryGamma.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// PrimaryGamma wrapper +void wrapPrimaryGamma(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::PrimaryGamma; + + // create the component + python::class_ component( + module, + "PrimaryGamma", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("domain_max") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("value") = std::nullopt, + python::arg("final_state") = std::nullopt, + python::arg("axes") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "final_state", + [](const Component &self) { return self.finalState(); }, + Component::documentation("final_state").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Production.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Production.python.cpp new file mode 100644 index 000000000..56d06612d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Production.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Production.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Production wrapper +void wrapProduction(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Production; + + // create the component + python::class_ component( + module, + "Production", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("endf_mt") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("cross_section") = std::nullopt, + python::arg("output_channel") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + [](const Component &self) { return self.ENDF_MT(); }, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "cross_section", + [](const Component &self) { return self.crossSection(); }, + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "output_channel", + [](const Component &self) { return self.outputChannel(); }, + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Productions.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Productions.python.cpp new file mode 100644 index 000000000..6341a5bcc --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Productions.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Productions.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Productions wrapper +void wrapProductions(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Productions; + + // create the component + python::class_ component( + module, + "Productions", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("production") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "production", + [](const Component &self) { return self.production(); }, + Component::documentation("production").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp new file mode 100644 index 000000000..ff82dcbfb --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/R.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// R wrapper +void wrapR(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::R; + using _t = std::variant< + unknownNamespace::XYs2d, + unknownNamespace::Regions2d + >; + + // create the component + python::class_ component( + module, + "R", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys2dregions2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "_xys2dregions2d", + [](const Component &self) { return self._XYs2dregions2d(); }, + Component::documentation("_xys2dregions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Reaction.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Reaction.python.cpp new file mode 100644 index 000000000..75aebe2bf --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Reaction.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Reaction.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Reaction wrapper +void wrapReaction(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Reaction; + + // create the component + python::class_ component( + module, + "Reaction", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const std::optional &, + const XMLName &, + const std::optional &, + const transport::CrossSection &, + const transport::OutputChannel & + >(), + python::arg("endf_mt"), + python::arg("fission_genre") = std::nullopt, + python::arg("label"), + python::arg("double_differential_cross_section") = std::nullopt, + python::arg("cross_section"), + python::arg("output_channel"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "endf_mt", + [](const Component &self) { return self.ENDF_MT(); }, + Component::documentation("endf_mt").data() + ) + .def_property_readonly( + "fission_genre", + [](const Component &self) { return self.fissionGenre(); }, + Component::documentation("fission_genre").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "double_differential_cross_section", + [](const Component &self) { return self.doubleDifferentialCrossSection(); }, + Component::documentation("double_differential_cross_section").data() + ) + .def_property_readonly( + "cross_section", + [](const Component &self) { return self.crossSection(); }, + Component::documentation("cross_section").data() + ) + .def_property_readonly( + "output_channel", + [](const Component &self) { return self.outputChannel(); }, + Component::documentation("output_channel").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp new file mode 100644 index 000000000..4ce950222 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp @@ -0,0 +1,168 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/ReactionSuite.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// ReactionSuite wrapper +void wrapReactionSuite(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::ReactionSuite; + + // create the component + python::class_ component( + module, + "ReactionSuite", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const XMLName &, + const enums::Frame &, + const XMLName &, + const enums::Interaction &, + const std::optional &, + const styles::Styles &, + const unknownNamespace::PoPs &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("evaluation"), + python::arg("format"), + python::arg("projectile"), + python::arg("projectile_frame"), + python::arg("target"), + python::arg("interaction"), + python::arg("external_files") = std::nullopt, + python::arg("styles"), + python::arg("po_ps"), + python::arg("resonances") = std::nullopt, + python::arg("reactions") = std::nullopt, + python::arg("orphan_products") = std::nullopt, + python::arg("sums") = std::nullopt, + python::arg("fission_components") = std::nullopt, + python::arg("productions") = std::nullopt, + python::arg("incomplete_reactions") = std::nullopt, + python::arg("application_data") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "evaluation", + [](const Component &self) { return self.evaluation(); }, + Component::documentation("evaluation").data() + ) + .def_property_readonly( + "format", + [](const Component &self) { return self.format(); }, + Component::documentation("format").data() + ) + .def_property_readonly( + "projectile", + [](const Component &self) { return self.projectile(); }, + Component::documentation("projectile").data() + ) + .def_property_readonly( + "projectile_frame", + [](const Component &self) { return self.projectileFrame(); }, + Component::documentation("projectile_frame").data() + ) + .def_property_readonly( + "target", + [](const Component &self) { return self.target(); }, + Component::documentation("target").data() + ) + .def_property_readonly( + "interaction", + [](const Component &self) { return self.interaction(); }, + Component::documentation("interaction").data() + ) + .def_property_readonly( + "external_files", + [](const Component &self) { return self.externalFiles(); }, + Component::documentation("external_files").data() + ) + .def_property_readonly( + "styles", + [](const Component &self) { return self.styles(); }, + Component::documentation("styles").data() + ) + .def_property_readonly( + "po_ps", + [](const Component &self) { return self.PoPs(); }, + Component::documentation("po_ps").data() + ) + .def_property_readonly( + "resonances", + [](const Component &self) { return self.resonances(); }, + Component::documentation("resonances").data() + ) + .def_property_readonly( + "reactions", + [](const Component &self) { return self.reactions(); }, + Component::documentation("reactions").data() + ) + .def_property_readonly( + "orphan_products", + [](const Component &self) { return self.orphanProducts(); }, + Component::documentation("orphan_products").data() + ) + .def_property_readonly( + "sums", + [](const Component &self) { return self.sums(); }, + Component::documentation("sums").data() + ) + .def_property_readonly( + "fission_components", + [](const Component &self) { return self.fissionComponents(); }, + Component::documentation("fission_components").data() + ) + .def_property_readonly( + "productions", + [](const Component &self) { return self.productions(); }, + Component::documentation("productions").data() + ) + .def_property_readonly( + "incomplete_reactions", + [](const Component &self) { return self.incompleteReactions(); }, + Component::documentation("incomplete_reactions").data() + ) + .def_property_readonly( + "application_data", + [](const Component &self) { return self.applicationData(); }, + Component::documentation("application_data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Reactions.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Reactions.python.cpp new file mode 100644 index 000000000..9f25da619 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Reactions.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Reactions.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Reactions wrapper +void wrapReactions(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Reactions; + + // create the component + python::class_ component( + module, + "Reactions", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("reaction"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "reaction", + [](const Component &self) { return self.reaction(); }, + Component::documentation("reaction").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Recoil.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Recoil.python.cpp new file mode 100644 index 000000000..d403b4245 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Recoil.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Recoil.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Recoil wrapper +void wrapRecoil(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Recoil; + + // create the component + python::class_ component( + module, + "Recoil", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string & + >(), + python::arg("href"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Reference.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Reference.python.cpp new file mode 100644 index 000000000..4de519ac1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Reference.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Reference.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Reference wrapper +void wrapReference(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Reference; + + // create the component + python::class_ component( + module, + "Reference", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("href") = std::nullopt, + python::arg("label") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp new file mode 100644 index 000000000..801ee3556 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/ResolvedRegion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// ResolvedRegion wrapper +void wrapResolvedRegion(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::ResolvedRegion; + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Regions1d + >; + + // create the component + python::class_ component( + module, + "ResolvedRegion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dregions1d", + [](const Component &self) { return self._XYs1dregions1d(); }, + Component::documentation("_xys1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesLink.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesLink.python.cpp new file mode 100644 index 000000000..dd4179d9e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesLink.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/ResonancesLink.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// ResonancesLink wrapper +void wrapResonancesLink(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::ResonancesLink; + + // create the component + python::class_ component( + module, + "ResonancesLink", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::string & + >(), + python::arg("label") = std::nullopt, + python::arg("href"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp new file mode 100644 index 000000000..7ae5c309d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/ResonancesWithBackground.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// ResonancesWithBackground wrapper +void wrapResonancesWithBackground(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::ResonancesWithBackground; + + // create the component + python::class_ component( + module, + "ResonancesWithBackground", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const transport::ResonancesLink &, + const transport::Background &, + const std::optional & + >(), + python::arg("label"), + python::arg("resonances"), + python::arg("background"), + python::arg("uncertainty") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "resonances", + [](const Component &self) { return self.resonances(); }, + Component::documentation("resonances").data() + ) + .def_property_readonly( + "background", + [](const Component &self) { return self.background(); }, + Component::documentation("background").data() + ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Summands.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Summands.python.cpp new file mode 100644 index 000000000..258faa2fc --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Summands.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Summands.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Summands wrapper +void wrapSummands(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Summands; + + // create the component + python::class_ component( + module, + "Summands", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional> & + >(), + python::arg("add") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "add", + [](const Component &self) { return self.add(); }, + Component::documentation("add").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Sums.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Sums.python.cpp new file mode 100644 index 000000000..b97103768 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Sums.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Sums.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Sums wrapper +void wrapSums(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Sums; + + // create the component + python::class_ component( + module, + "Sums", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const transport::CrossSectionSums &, + const std::optional & + >(), + python::arg("cross_section_sums"), + python::arg("multiplicity_sums") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "cross_section_sums", + [](const Component &self) { return self.crossSectionSums(); }, + Component::documentation("cross_section_sums").data() + ) + .def_property_readonly( + "multiplicity_sums", + [](const Component &self) { return self.multiplicitySums(); }, + Component::documentation("multiplicity_sums").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp new file mode 100644 index 000000000..a73d51ac4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Theta.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Theta wrapper +void wrapTheta(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Theta; + + // create the component + python::class_ component( + module, + "Theta", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/U.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/U.python.cpp new file mode 100644 index 000000000..e97429be3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/U.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/U.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// U wrapper +void wrapU(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::U; + + // create the component + python::class_ component( + module, + "U", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp new file mode 100644 index 000000000..831ffa551 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/URR_probabilityTables1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// URR_probabilityTables1d wrapper +void wrapURR_probabilityTables1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::URR_probabilityTables1d; + using _t = std::variant< + unknownNamespace::XYs2d, + unknownNamespace::Regions2d + >; + + // create the component + python::class_ component( + module, + "URR_probabilityTables1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const _t & + >(), + python::arg("label"), + python::arg("_xys2dregions2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "regions2d", + [](const Component &self) { return self.regions2d(); }, + Component::documentation("regions2d").data() + ) + .def_property_readonly( + "_xys2dregions2d", + [](const Component &self) { return self._XYs2dregions2d(); }, + Component::documentation("_xys2dregions2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Uncorrelated.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Uncorrelated.python.cpp new file mode 100644 index 000000000..da4dec173 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Uncorrelated.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Uncorrelated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Uncorrelated wrapper +void wrapUncorrelated(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Uncorrelated; + + // create the component + python::class_ component( + module, + "Uncorrelated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName &, + const transport::Angular_uncorrelated &, + const transport::Energy_uncorrelated & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + python::arg("angular"), + python::arg("energy"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "angular", + [](const Component &self) { return self.angular(); }, + Component::documentation("angular").data() + ) + .def_property_readonly( + "energy", + [](const Component &self) { return self.energy(); }, + Component::documentation("energy").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp new file mode 100644 index 000000000..c2fd27399 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/UnresolvedRegion.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// UnresolvedRegion wrapper +void wrapUnresolvedRegion(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::UnresolvedRegion; + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Regions1d + >; + + // create the component + python::class_ component( + module, + "UnresolvedRegion", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const _t & + >(), + python::arg("_xys1dregions1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + .def_property_readonly( + "_xys1dregions1d", + [](const Component &self) { return self._XYs1dregions1d(); }, + Component::documentation("_xys1dregions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Unspecified.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Unspecified.python.cpp new file mode 100644 index 000000000..0669abf0c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Unspecified.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Unspecified.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Unspecified wrapper +void wrapUnspecified(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Unspecified; + + // create the component + python::class_ component( + module, + "Unspecified", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const XMLName & + >(), + python::arg("label") = std::nullopt, + python::arg("product_frame"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp new file mode 100644 index 000000000..ede54a9d0 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/Weighted.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// Weighted wrapper +void wrapWeighted(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::Weighted; + + // create the component + python::class_ component( + module, + "Weighted", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::XYs1d &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("xys1d"), + python::arg("xys2d") = std::nullopt, + python::arg("evaporation") = std::nullopt, + python::arg("general_evaporation") = std::nullopt, + python::arg("simple_maxwellian_fission") = std::nullopt, + python::arg("watt") = std::nullopt, + python::arg("madland_nix") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "evaporation", + [](const Component &self) { return self.evaporation(); }, + Component::documentation("evaporation").data() + ) + .def_property_readonly( + "general_evaporation", + [](const Component &self) { return self.generalEvaporation(); }, + Component::documentation("general_evaporation").data() + ) + .def_property_readonly( + "simple_maxwellian_fission", + [](const Component &self) { return self.simpleMaxwellianFission(); }, + Component::documentation("simple_maxwellian_fission").data() + ) + .def_property_readonly( + "watt", + [](const Component &self) { return self.Watt(); }, + Component::documentation("watt").data() + ) + .def_property_readonly( + "madland_nix", + [](const Component &self) { return self.MadlandNix(); }, + Component::documentation("madland_nix").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/WeightedFunctionals.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/WeightedFunctionals.python.cpp new file mode 100644 index 000000000..8c8cace57 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/WeightedFunctionals.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/transport/WeightedFunctionals.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_transport { + +// WeightedFunctionals wrapper +void wrapWeightedFunctionals(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = transport::WeightedFunctionals; + + // create the component + python::class_ component( + module, + "WeightedFunctionals", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const transport::Weighted & + >(), + python::arg("weighted"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "weighted", + [](const Component &self) { return self.weighted(); }, + Component::documentation("weighted").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_transport +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp new file mode 100644 index 000000000..81dd04437 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// tsl declarations +namespace python_tsl { + void wrapThermalNeutronScatteringLaw1d(python::module &); + void wrapThermalNeutronScatteringLaw(python::module &); + void wrapS_table(python::module &); + void wrapBraggEnergy(python::module &); + void wrapStructureFactor(python::module &); + void wrapBraggEdge(python::module &); + void wrapBraggEdges(python::module &); + void wrapThermalNeutronScatteringLaw_coherentElastic(python::module &); + void wrapBoundAtomCrossSection(python::module &); + void wrapDebyeWallerIntegral(python::module &); + void wrapThermalNeutronScatteringLaw_incoherentElastic(python::module &); + void wrapE_critical(python::module &); + void wrapE_max(python::module &); + void wrapCoherentAtomCrossSection(python::module &); + void wrapDistinctScatteringKernel(python::module &); + void wrapPhononSpectrum(python::module &); + void wrapGaussianApproximation(python::module &); + void wrapSCTApproximation(python::module &); + void wrapFreeGasApproximation(python::module &); + void wrapSelfScatteringKernel(python::module &); + void wrapT_effective(python::module &); + void wrapScatteringAtom(python::module &); + void wrapScatteringAtoms(python::module &); + void wrapThermalNeutronScatteringLaw_incoherentInelastic(python::module &); +} // namespace python_tsl + +// tsl wrapper +void wrapTsl(python::module &module) +{ + // create the tsl submodule + python::module submodule = module.def_submodule( + "tsl", + "try v2.0 tsl" + ); + + // wrap tsl components + python_tsl::wrapThermalNeutronScatteringLaw1d(submodule); + python_tsl::wrapThermalNeutronScatteringLaw(submodule); + python_tsl::wrapS_table(submodule); + python_tsl::wrapBraggEnergy(submodule); + python_tsl::wrapStructureFactor(submodule); + python_tsl::wrapBraggEdge(submodule); + python_tsl::wrapBraggEdges(submodule); + python_tsl::wrapThermalNeutronScatteringLaw_coherentElastic(submodule); + python_tsl::wrapBoundAtomCrossSection(submodule); + python_tsl::wrapDebyeWallerIntegral(submodule); + python_tsl::wrapThermalNeutronScatteringLaw_incoherentElastic(submodule); + python_tsl::wrapE_critical(submodule); + python_tsl::wrapE_max(submodule); + python_tsl::wrapCoherentAtomCrossSection(submodule); + python_tsl::wrapDistinctScatteringKernel(submodule); + python_tsl::wrapPhononSpectrum(submodule); + python_tsl::wrapGaussianApproximation(submodule); + python_tsl::wrapSCTApproximation(submodule); + python_tsl::wrapFreeGasApproximation(submodule); + python_tsl::wrapSelfScatteringKernel(submodule); + python_tsl::wrapT_effective(submodule); + python_tsl::wrapScatteringAtom(submodule); + python_tsl::wrapScatteringAtoms(submodule); + python_tsl::wrapThermalNeutronScatteringLaw_incoherentInelastic(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp new file mode 100644 index 000000000..22978f138 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// BoundAtomCrossSection wrapper +void wrapBoundAtomCrossSection(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::BoundAtomCrossSection; + + // create the component + python::class_ component( + module, + "BoundAtomCrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdge.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdge.python.cpp new file mode 100644 index 000000000..0cb7a6a95 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdge.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/BraggEdge.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// BraggEdge wrapper +void wrapBraggEdge(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::BraggEdge; + + // create the component + python::class_ component( + module, + "BraggEdge", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const tsl::BraggEnergy &, + const tsl::StructureFactor & + >(), + python::arg("label"), + python::arg("bragg_energy"), + python::arg("structure_factor"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "bragg_energy", + [](const Component &self) { return self.BraggEnergy(); }, + Component::documentation("bragg_energy").data() + ) + .def_property_readonly( + "structure_factor", + [](const Component &self) { return self.structureFactor(); }, + Component::documentation("structure_factor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdges.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdges.python.cpp new file mode 100644 index 000000000..53c57897e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdges.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/BraggEdges.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// BraggEdges wrapper +void wrapBraggEdges(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::BraggEdges; + + // create the component + python::class_ component( + module, + "BraggEdges", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("bragg_edge"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "bragg_edge", + [](const Component &self) { return self.BraggEdge(); }, + Component::documentation("bragg_edge").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp new file mode 100644 index 000000000..9027564b1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/BraggEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// BraggEnergy wrapper +void wrapBraggEnergy(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::BraggEnergy; + + // create the component + python::class_ component( + module, + "BraggEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp new file mode 100644 index 000000000..dd230b17f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// CoherentAtomCrossSection wrapper +void wrapCoherentAtomCrossSection(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::CoherentAtomCrossSection; + + // create the component + python::class_ component( + module, + "CoherentAtomCrossSection", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp new file mode 100644 index 000000000..40c3634e6 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/DebyeWallerIntegral.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// DebyeWallerIntegral wrapper +void wrapDebyeWallerIntegral(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::DebyeWallerIntegral; + + // create the component + python::class_ component( + module, + "DebyeWallerIntegral", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp new file mode 100644 index 000000000..d90869fe8 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// DistinctScatteringKernel wrapper +void wrapDistinctScatteringKernel(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::DistinctScatteringKernel; + + // create the component + python::class_ component( + module, + "DistinctScatteringKernel", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("gridded3d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "gridded3d", + [](const Component &self) { return self.gridded3d(); }, + Component::documentation("gridded3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/E_critical.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/E_critical.python.cpp new file mode 100644 index 000000000..c167dfe76 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/E_critical.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/E_critical.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// E_critical wrapper +void wrapE_critical(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::E_critical; + + // create the component + python::class_ component( + module, + "E_critical", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/E_max.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/E_max.python.cpp new file mode 100644 index 000000000..11b6c4371 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/E_max.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/E_max.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// E_max wrapper +void wrapE_max(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::E_max; + + // create the component + python::class_ component( + module, + "E_max", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("unit") = std::nullopt, + python::arg("value") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/FreeGasApproximation.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/FreeGasApproximation.python.cpp new file mode 100644 index 000000000..d16edd845 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/FreeGasApproximation.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/FreeGasApproximation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// FreeGasApproximation wrapper +void wrapFreeGasApproximation(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::FreeGasApproximation; + + // create the component + python::class_ component( + module, + "FreeGasApproximation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/GaussianApproximation.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/GaussianApproximation.python.cpp new file mode 100644 index 000000000..17167166b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/GaussianApproximation.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/GaussianApproximation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// GaussianApproximation wrapper +void wrapGaussianApproximation(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::GaussianApproximation; + + // create the component + python::class_ component( + module, + "GaussianApproximation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("phonon_spectrum") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "phonon_spectrum", + [](const Component &self) { return self.phononSpectrum(); }, + Component::documentation("phonon_spectrum").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp new file mode 100644 index 000000000..0a012d72a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/PhononSpectrum.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// PhononSpectrum wrapper +void wrapPhononSpectrum(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::PhononSpectrum; + + // create the component + python::class_ component( + module, + "PhononSpectrum", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/SCTApproximation.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/SCTApproximation.python.cpp new file mode 100644 index 000000000..c54158066 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/SCTApproximation.python.cpp @@ -0,0 +1,49 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/SCTApproximation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// SCTApproximation wrapper +void wrapSCTApproximation(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::SCTApproximation; + + // create the component + python::class_ component( + module, + "SCTApproximation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp new file mode 100644 index 000000000..d6d29e830 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/S_table.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// S_table wrapper +void wrapS_table(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::S_table; + + // create the component + python::class_ component( + module, + "S_table", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::Gridded2d & + >(), + python::arg("gridded2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "gridded2d", + [](const Component &self) { return self.gridded2d(); }, + Component::documentation("gridded2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp new file mode 100644 index 000000000..7ccb4b881 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp @@ -0,0 +1,126 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/ScatteringAtom.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ScatteringAtom wrapper +void wrapScatteringAtom(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::ScatteringAtom; + + // create the component + python::class_ component( + module, + "ScatteringAtom", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const bool &, + const Integer32 &, + const ambiguousNamespace::Mass &, + const std::optional &, + const tsl::E_max &, + const tsl::BoundAtomCrossSection &, + const std::optional &, + const std::optional &, + const tsl::SelfScatteringKernel &, + const std::optional & + >(), + python::arg("pid"), + python::arg("primary_scatterer"), + python::arg("number_per_molecule"), + python::arg("mass"), + python::arg("e_critical") = std::nullopt, + python::arg("e_max"), + python::arg("bound_atom_cross_section"), + python::arg("coherent_atom_cross_section") = std::nullopt, + python::arg("distinct_scattering_kernel") = std::nullopt, + python::arg("self_scattering_kernel"), + python::arg("t_effective") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "primary_scatterer", + [](const Component &self) { return self.primaryScatterer(); }, + Component::documentation("primary_scatterer").data() + ) + .def_property_readonly( + "number_per_molecule", + [](const Component &self) { return self.numberPerMolecule(); }, + Component::documentation("number_per_molecule").data() + ) + .def_property_readonly( + "mass", + [](const Component &self) { return self.mass(); }, + Component::documentation("mass").data() + ) + .def_property_readonly( + "e_critical", + [](const Component &self) { return self.e_critical(); }, + Component::documentation("e_critical").data() + ) + .def_property_readonly( + "e_max", + [](const Component &self) { return self.e_max(); }, + Component::documentation("e_max").data() + ) + .def_property_readonly( + "bound_atom_cross_section", + [](const Component &self) { return self.boundAtomCrossSection(); }, + Component::documentation("bound_atom_cross_section").data() + ) + .def_property_readonly( + "coherent_atom_cross_section", + [](const Component &self) { return self.coherentAtomCrossSection(); }, + Component::documentation("coherent_atom_cross_section").data() + ) + .def_property_readonly( + "distinct_scattering_kernel", + [](const Component &self) { return self.distinctScatteringKernel(); }, + Component::documentation("distinct_scattering_kernel").data() + ) + .def_property_readonly( + "self_scattering_kernel", + [](const Component &self) { return self.selfScatteringKernel(); }, + Component::documentation("self_scattering_kernel").data() + ) + .def_property_readonly( + "t_effective", + [](const Component &self) { return self.T_effective(); }, + Component::documentation("t_effective").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtoms.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtoms.python.cpp new file mode 100644 index 000000000..bc6e975ac --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtoms.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/ScatteringAtoms.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ScatteringAtoms wrapper +void wrapScatteringAtoms(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::ScatteringAtoms; + + // create the component + python::class_ component( + module, + "ScatteringAtoms", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("scattering_atom"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "scattering_atom", + [](const Component &self) { return self.scatteringAtom(); }, + Component::documentation("scattering_atom").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp new file mode 100644 index 000000000..933bcd049 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp @@ -0,0 +1,89 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/SelfScatteringKernel.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// SelfScatteringKernel wrapper +void wrapSelfScatteringKernel(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::SelfScatteringKernel; + using _t = std::variant< + unknownNamespace::Gridded3d, + tsl::GaussianApproximation, + tsl::SCTApproximation, + tsl::FreeGasApproximation + >; + + // create the component + python::class_ component( + module, + "SelfScatteringKernel", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const _t & + >(), + python::arg("symmetric") = std::nullopt, + python::arg("_gridded3d_gaussian_approximation_sctapproximationfree_gas_approximation"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "symmetric", + [](const Component &self) { return self.symmetric(); }, + Component::documentation("symmetric").data() + ) + .def_property_readonly( + "gridded3d", + [](const Component &self) { return self.gridded3d(); }, + Component::documentation("gridded3d").data() + ) + .def_property_readonly( + "gaussian_approximation", + [](const Component &self) { return self.GaussianApproximation(); }, + Component::documentation("gaussian_approximation").data() + ) + .def_property_readonly( + "sctapproximation", + [](const Component &self) { return self.SCTApproximation(); }, + Component::documentation("sctapproximation").data() + ) + .def_property_readonly( + "free_gas_approximation", + [](const Component &self) { return self.freeGasApproximation(); }, + Component::documentation("free_gas_approximation").data() + ) + .def_property_readonly( + "_gridded3d_gaussian_approximation_sctapproximationfree_gas_approximation", + [](const Component &self) { return self._gridded3dGaussianApproximationSCTApproximationfreeGasApproximation(); }, + Component::documentation("_gridded3d_gaussian_approximation_sctapproximationfree_gas_approximation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp new file mode 100644 index 000000000..bef84aba2 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/StructureFactor.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// StructureFactor wrapper +void wrapStructureFactor(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::StructureFactor; + + // create the component + python::class_ component( + module, + "StructureFactor", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp new file mode 100644 index 000000000..86387c1b5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/T_effective.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// T_effective wrapper +void wrapT_effective(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::T_effective; + + // create the component + python::class_ component( + module, + "T_effective", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const unknownNamespace::XYs1d & + >(), + python::arg("xys1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp new file mode 100644 index 000000000..6e6cdff95 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw wrapper +void wrapThermalNeutronScatteringLaw(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("label"), + python::arg("href"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp new file mode 100644 index 000000000..98f773b42 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw1d wrapper +void wrapThermalNeutronScatteringLaw1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw1d; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName & + >(), + python::arg("label"), + python::arg("href"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp new file mode 100644 index 000000000..4e57ea904 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw_coherentElastic wrapper +void wrapThermalNeutronScatteringLaw_coherentElastic(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw_coherentElastic; + using _t = std::variant< + tsl::S_table, + tsl::BraggEdges + >; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw_coherentElastic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("label"), + python::arg("pid") = std::nullopt, + python::arg("product_frame") = std::nullopt, + python::arg("_s_table_bragg_edges"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid().value(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame().value(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "s_table", + [](const Component &self) { return self.S_table(); }, + Component::documentation("s_table").data() + ) + .def_property_readonly( + "bragg_edges", + [](const Component &self) { return self.BraggEdges(); }, + Component::documentation("bragg_edges").data() + ) + .def_property_readonly( + "_s_table_bragg_edges", + [](const Component &self) { return self._S_tableBraggEdges(); }, + Component::documentation("_s_table_bragg_edges").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp new file mode 100644 index 000000000..fea8e538c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw_incoherentElastic wrapper +void wrapThermalNeutronScatteringLaw_incoherentElastic(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw_incoherentElastic; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw_incoherentElastic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const XMLName &, + const enums::Frame &, + const tsl::BoundAtomCrossSection &, + const tsl::DebyeWallerIntegral & + >(), + python::arg("label"), + python::arg("pid"), + python::arg("product_frame"), + python::arg("bound_atom_cross_section"), + python::arg("debye_waller_integral"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "bound_atom_cross_section", + [](const Component &self) { return self.boundAtomCrossSection(); }, + Component::documentation("bound_atom_cross_section").data() + ) + .def_property_readonly( + "debye_waller_integral", + [](const Component &self) { return self.DebyeWallerIntegral(); }, + Component::documentation("debye_waller_integral").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp new file mode 100644 index 000000000..49334151e --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// ThermalNeutronScatteringLaw_incoherentInelastic wrapper +void wrapThermalNeutronScatteringLaw_incoherentInelastic(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::ThermalNeutronScatteringLaw_incoherentInelastic; + + // create the component + python::class_ component( + module, + "ThermalNeutronScatteringLaw_incoherentInelastic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const XMLName &, + const tsl::ScatteringAtoms & + >(), + python::arg("label"), + python::arg("pid") = std::nullopt, + python::arg("product_frame") = std::nullopt, + python::arg("calculated_at_thermal") = std::nullopt, + python::arg("incoherent_approximation") = std::nullopt, + python::arg("primary_scatterer"), + python::arg("scattering_atoms"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "pid", + [](const Component &self) { return self.pid().value(); }, + Component::documentation("pid").data() + ) + .def_property_readonly( + "product_frame", + [](const Component &self) { return self.productFrame().value(); }, + Component::documentation("product_frame").data() + ) + .def_property_readonly( + "calculated_at_thermal", + [](const Component &self) { return self.calculatedAtThermal().value(); }, + Component::documentation("calculated_at_thermal").data() + ) + .def_property_readonly( + "incoherent_approximation", + [](const Component &self) { return self.incoherentApproximation().value(); }, + Component::documentation("incoherent_approximation").data() + ) + .def_property_readonly( + "primary_scatterer", + [](const Component &self) { return self.primaryScatterer(); }, + Component::documentation("primary_scatterer").data() + ) + .def_property_readonly( + "scattering_atoms", + [](const Component &self) { return self.scatteringAtoms(); }, + Component::documentation("scattering_atoms").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/src/try/v2.0.hpp b/standards/gnds-2.0/try/src/try/v2.0.hpp new file mode 100644 index 000000000..967b12ea7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0.hpp @@ -0,0 +1,344 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0 +#define TRY_V2_0 + +#include "try/v2.0/appData/ApplicationData.hpp" +#include "try/v2.0/appData/Institution.hpp" +#include "try/v2.0/appData/ENDFconversionFlags.hpp" +#include "try/v2.0/appData/Conversion.hpp" + +#include "try/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "try/v2.0/atomic/ImaginaryAnomalousFactor.hpp" +#include "try/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "try/v2.0/atomic/RealAnomalousFactor.hpp" +#include "try/v2.0/atomic/ScatteringFactor.hpp" +#include "try/v2.0/atomic/FormFactor.hpp" + +#include "try/v2.0/covariance/CovarianceSuite.hpp" +#include "try/v2.0/covariance/CovarianceSections.hpp" +#include "try/v2.0/covariance/CovarianceMatrix.hpp" +#include "try/v2.0/covariance/SandwichProduct.hpp" +#include "try/v2.0/covariance/Covariance.hpp" +#include "try/v2.0/covariance/RowSensitivity.hpp" +#include "try/v2.0/covariance/ColumnSensitivity.hpp" +#include "try/v2.0/covariance/ParameterCovariances.hpp" +#include "try/v2.0/covariance/Parameters.hpp" +#include "try/v2.0/covariance/ParameterCovariance.hpp" +#include "try/v2.0/covariance/ParameterCovarianceMatrix.hpp" +#include "try/v2.0/covariance/ParameterLink.hpp" +#include "try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "try/v2.0/covariance/Mixed.hpp" +#include "try/v2.0/covariance/AverageParameterCovariance.hpp" +#include "try/v2.0/covariance/CovarianceSection.hpp" +#include "try/v2.0/covariance/RowData.hpp" +#include "try/v2.0/covariance/ColumnData.hpp" +#include "try/v2.0/covariance/Slices.hpp" +#include "try/v2.0/covariance/Slice.hpp" +#include "try/v2.0/covariance/Sum.hpp" +#include "try/v2.0/covariance/Summand.hpp" + +#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" +#include "try/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "try/v2.0/fissionFragmentData/DelayedNeutron.hpp" +#include "try/v2.0/fissionFragmentData/Rate.hpp" + +#include "try/v2.0/map/Map.hpp" +#include "try/v2.0/map/Import.hpp" +#include "try/v2.0/map/Protare.hpp" +#include "try/v2.0/map/TNSL.hpp" + +#include "try/v2.0/cpTransport/RutherfordScattering.hpp" +#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "try/v2.0/cpTransport/NuclearPlusInterference.hpp" +#include "try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "try/v2.0/cpTransport/NuclearTerm.hpp" +#include "try/v2.0/cpTransport/RealInterferenceTerm.hpp" +#include "try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" + +#include "try/v2.0/fpy/ProductYields.hpp" +#include "try/v2.0/fpy/ProductYield.hpp" +#include "try/v2.0/fpy/Nuclides.hpp" +#include "try/v2.0/fpy/ElapsedTimes.hpp" +#include "try/v2.0/fpy/ElapsedTime.hpp" +#include "try/v2.0/fpy/Time.hpp" +#include "try/v2.0/fpy/Yields.hpp" +#include "try/v2.0/fpy/IncidentEnergies.hpp" +#include "try/v2.0/fpy/IncidentEnergy.hpp" +#include "try/v2.0/fpy/Energy.hpp" + +#include "try/v2.0/fissionTransport/FissionComponents.hpp" +#include "try/v2.0/fissionTransport/FissionComponent.hpp" +#include "try/v2.0/fissionTransport/FissionEnergyReleased.hpp" +#include "try/v2.0/fissionTransport/DelayedBetaEnergy.hpp" +#include "try/v2.0/fissionTransport/TotalEnergy.hpp" +#include "try/v2.0/fissionTransport/DelayedGammaEnergy.hpp" +#include "try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "try/v2.0/fissionTransport/PromptGammaEnergy.hpp" +#include "try/v2.0/fissionTransport/NeutrinoEnergy.hpp" +#include "try/v2.0/fissionTransport/PromptProductKE.hpp" +#include "try/v2.0/fissionTransport/PromptNeutronKE.hpp" +#include "try/v2.0/fissionTransport/DelayedNeutronKE.hpp" +#include "try/v2.0/fissionTransport/Watt.hpp" +#include "try/v2.0/fissionTransport/A.hpp" +#include "try/v2.0/fissionTransport/B.hpp" +#include "try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "try/v2.0/fissionTransport/MadlandNix.hpp" +#include "try/v2.0/fissionTransport/T_M.hpp" +#include "try/v2.0/fissionTransport/EFL.hpp" +#include "try/v2.0/fissionTransport/EFH.hpp" + +#include "try/v2.0/processed/MultiGroup3d.hpp" +#include "try/v2.0/processed/AngularEnergyMC.hpp" +#include "try/v2.0/processed/EnergyAngularMC.hpp" +#include "try/v2.0/processed/AverageProductEnergy.hpp" +#include "try/v2.0/processed/AverageProductMomentum.hpp" +#include "try/v2.0/processed/AvailableMomentum.hpp" +#include "try/v2.0/processed/AvailableEnergy.hpp" + +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "try/v2.0/tsl/S_table.hpp" +#include "try/v2.0/tsl/BraggEdges.hpp" +#include "try/v2.0/tsl/BraggEdge.hpp" +#include "try/v2.0/tsl/BraggEnergy.hpp" +#include "try/v2.0/tsl/StructureFactor.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "try/v2.0/tsl/DebyeWallerIntegral.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "try/v2.0/tsl/ScatteringAtom.hpp" +#include "try/v2.0/tsl/ScatteringAtoms.hpp" +#include "try/v2.0/tsl/E_critical.hpp" +#include "try/v2.0/tsl/E_max.hpp" +#include "try/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "try/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "try/v2.0/tsl/SelfScatteringKernel.hpp" +#include "try/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "try/v2.0/tsl/T_effective.hpp" +#include "try/v2.0/tsl/GaussianApproximation.hpp" +#include "try/v2.0/tsl/PhononSpectrum.hpp" +#include "try/v2.0/tsl/SCTApproximation.hpp" +#include "try/v2.0/tsl/FreeGasApproximation.hpp" + +#include "try/v2.0/resonances/Resonances.hpp" +#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "try/v2.0/resonances/ExternalRMatrix.hpp" +#include "try/v2.0/resonances/Resolved.hpp" +#include "try/v2.0/resonances/EnergyIntervals.hpp" +#include "try/v2.0/resonances/EnergyInterval.hpp" +#include "try/v2.0/resonances/RMatrix.hpp" +#include "try/v2.0/resonances/ResonanceReactions.hpp" +#include "try/v2.0/resonances/ResonanceReaction.hpp" +#include "try/v2.0/resonances/SpinGroups.hpp" +#include "try/v2.0/resonances/SpinGroup.hpp" +#include "try/v2.0/resonances/Channels.hpp" +#include "try/v2.0/resonances/Channel.hpp" +#include "try/v2.0/resonances/ResonanceParameters.hpp" +#include "try/v2.0/resonances/BreitWigner.hpp" +#include "try/v2.0/resonances/Unresolved.hpp" +#include "try/v2.0/resonances/TabulatedWidths.hpp" +#include "try/v2.0/resonances/Ls.hpp" +#include "try/v2.0/resonances/L.hpp" +#include "try/v2.0/resonances/Js.hpp" +#include "try/v2.0/resonances/J.hpp" +#include "try/v2.0/resonances/LevelSpacing.hpp" +#include "try/v2.0/resonances/Widths.hpp" +#include "try/v2.0/resonances/Width.hpp" + +#include "try/v2.0/pops/PoPs_database.hpp" +#include "try/v2.0/pops/Aliases.hpp" +#include "try/v2.0/pops/Alias.hpp" +#include "try/v2.0/pops/MetaStable.hpp" +#include "try/v2.0/pops/GaugeBosons.hpp" +#include "try/v2.0/pops/GaugeBoson.hpp" +#include "try/v2.0/pops/Leptons.hpp" +#include "try/v2.0/pops/Lepton.hpp" +#include "try/v2.0/pops/Baryons.hpp" +#include "try/v2.0/pops/Baryon.hpp" +#include "try/v2.0/pops/ChemicalElements.hpp" +#include "try/v2.0/pops/ChemicalElement.hpp" +#include "try/v2.0/pops/Atomic.hpp" +#include "try/v2.0/pops/Configurations.hpp" +#include "try/v2.0/pops/Configuration.hpp" +#include "try/v2.0/pops/BindingEnergy.hpp" +#include "try/v2.0/pops/Isotopes.hpp" +#include "try/v2.0/pops/Isotope.hpp" +#include "try/v2.0/pops/Nuclides.hpp" +#include "try/v2.0/pops/Nuclide.hpp" +#include "try/v2.0/pops/Nucleus.hpp" +#include "try/v2.0/pops/Unorthodoxes.hpp" +#include "try/v2.0/pops/Unorthodox.hpp" +#include "try/v2.0/pops/Mass.hpp" +#include "try/v2.0/pops/Spin.hpp" +#include "try/v2.0/pops/Parity.hpp" +#include "try/v2.0/pops/Charge.hpp" +#include "try/v2.0/pops/Energy.hpp" +#include "try/v2.0/pops/Halflife.hpp" +#include "try/v2.0/pops/DecayData.hpp" +#include "try/v2.0/pops/DecayModes.hpp" +#include "try/v2.0/pops/DecayMode.hpp" +#include "try/v2.0/pops/Probability.hpp" +#include "try/v2.0/pops/InternalConversionCoefficients.hpp" +#include "try/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "try/v2.0/pops/PositronEmissionIntensity.hpp" +#include "try/v2.0/pops/Shell.hpp" +#include "try/v2.0/pops/Q.hpp" +#include "try/v2.0/pops/DecayPath.hpp" +#include "try/v2.0/pops/Decay.hpp" +#include "try/v2.0/pops/Products.hpp" +#include "try/v2.0/pops/Product.hpp" +#include "try/v2.0/pops/Spectra.hpp" +#include "try/v2.0/pops/Spectrum.hpp" +#include "try/v2.0/pops/Continuum.hpp" +#include "try/v2.0/pops/Discrete.hpp" +#include "try/v2.0/pops/DiscreteEnergy.hpp" +#include "try/v2.0/pops/Intensity.hpp" +#include "try/v2.0/pops/InternalPairFormationCoefficient.hpp" +#include "try/v2.0/pops/AverageEnergies.hpp" +#include "try/v2.0/pops/AverageEnergy.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/pops/Standard.hpp" +#include "try/v2.0/pops/LogNormal.hpp" +#include "try/v2.0/pops/ConfidenceIntervals.hpp" +#include "try/v2.0/pops/Interval.hpp" +#include "try/v2.0/pops/Pdf.hpp" + +#include "try/v2.0/styles/Styles.hpp" +#include "try/v2.0/styles/Evaluated.hpp" +#include "try/v2.0/styles/ProjectileEnergyDomain.hpp" +#include "try/v2.0/styles/Temperature.hpp" +#include "try/v2.0/styles/CrossSectionReconstructed.hpp" +#include "try/v2.0/styles/AngularDistributionReconstructed.hpp" +#include "try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "try/v2.0/styles/Heated.hpp" +#include "try/v2.0/styles/AverageProductData.hpp" +#include "try/v2.0/styles/MonteCarlo_cdf.hpp" +#include "try/v2.0/styles/GriddedCrossSection.hpp" +#include "try/v2.0/styles/HeatedMultiGroup.hpp" +#include "try/v2.0/styles/Transportables.hpp" +#include "try/v2.0/styles/Transportable.hpp" +#include "try/v2.0/styles/MultiGroup.hpp" +#include "try/v2.0/styles/Flux.hpp" +#include "try/v2.0/styles/InverseSpeed.hpp" +#include "try/v2.0/styles/SnElasticUpScatter.hpp" +#include "try/v2.0/styles/URR_probabilityTables.hpp" +#include "try/v2.0/styles/Bondarenko.hpp" +#include "try/v2.0/styles/SigmaZeros.hpp" +#include "try/v2.0/styles/MultiBand.hpp" +#include "try/v2.0/styles/EqualProbableBins.hpp" +#include "try/v2.0/styles/Realization.hpp" + +#include "try/v2.0/transport/ReactionSuite.hpp" +#include "try/v2.0/transport/Reactions.hpp" +#include "try/v2.0/transport/Reaction.hpp" +#include "try/v2.0/transport/Sums.hpp" +#include "try/v2.0/transport/OutputChannel.hpp" +#include "try/v2.0/transport/CrossSectionSums.hpp" +#include "try/v2.0/transport/CrossSection.hpp" +#include "try/v2.0/transport/ResonancesWithBackground.hpp" +#include "try/v2.0/transport/ResonancesLink.hpp" +#include "try/v2.0/transport/Background.hpp" +#include "try/v2.0/transport/ResolvedRegion.hpp" +#include "try/v2.0/transport/UnresolvedRegion.hpp" +#include "try/v2.0/transport/FastRegion.hpp" +#include "try/v2.0/transport/URR_probabilityTables1d.hpp" +#include "try/v2.0/transport/CrossSectionSum.hpp" +#include "try/v2.0/transport/DoubleDifferentialCrossSection.hpp" +#include "try/v2.0/transport/CoherentPhoton.hpp" +#include "try/v2.0/transport/IncoherentPhoton.hpp" +#include "try/v2.0/transport/MultiplicitySums.hpp" +#include "try/v2.0/transport/Multiplicity.hpp" +#include "try/v2.0/transport/Branching1d.hpp" +#include "try/v2.0/transport/OrphanProducts.hpp" +#include "try/v2.0/transport/OrphanProduct.hpp" +#include "try/v2.0/transport/MultiplicitySum.hpp" +#include "try/v2.0/transport/Distribution.hpp" +#include "try/v2.0/transport/Branching3d.hpp" +#include "try/v2.0/transport/MultiGroup3d.hpp" +#include "try/v2.0/transport/NBodyPhaseSpace.hpp" +#include "try/v2.0/transport/Angular_uncorrelated.hpp" +#include "try/v2.0/transport/Energy_uncorrelated.hpp" +#include "try/v2.0/transport/AngularEnergy.hpp" +#include "try/v2.0/transport/EnergyAngular.hpp" +#include "try/v2.0/transport/AngularTwoBody.hpp" +#include "try/v2.0/transport/Uncorrelated.hpp" +#include "try/v2.0/transport/Recoil.hpp" +#include "try/v2.0/transport/KalbachMann.hpp" +#include "try/v2.0/transport/GeneralEvaporation.hpp" +#include "try/v2.0/transport/WeightedFunctionals.hpp" +#include "try/v2.0/transport/Evaporation.hpp" +#include "try/v2.0/transport/Unspecified.hpp" +#include "try/v2.0/transport/DiscreteGamma.hpp" +#include "try/v2.0/transport/PhotonEmissionProbabilities.hpp" +#include "try/v2.0/transport/PrimaryGamma.hpp" +#include "try/v2.0/transport/Production.hpp" +#include "try/v2.0/transport/Productions.hpp" +#include "try/v2.0/transport/IncompleteReactions.hpp" +#include "try/v2.0/transport/Summands.hpp" +#include "try/v2.0/transport/Add.hpp" +#include "try/v2.0/transport/F.hpp" +#include "try/v2.0/transport/G.hpp" +#include "try/v2.0/transport/R.hpp" +#include "try/v2.0/transport/A.hpp" +#include "try/v2.0/transport/Theta.hpp" +#include "try/v2.0/transport/U.hpp" +#include "try/v2.0/transport/Forward.hpp" +#include "try/v2.0/transport/Isotropic2d.hpp" +#include "try/v2.0/transport/Weighted.hpp" +#include "try/v2.0/transport/Reference.hpp" + +#include "try/v2.0/common/Q.hpp" +#include "try/v2.0/common/Product.hpp" +#include "try/v2.0/common/Products.hpp" +#include "try/v2.0/common/Mass.hpp" +#include "try/v2.0/common/Energy.hpp" +#include "try/v2.0/common/Probability.hpp" +#include "try/v2.0/common/Temperature.hpp" +#include "try/v2.0/common/ExternalFiles.hpp" +#include "try/v2.0/common/ExternalFile.hpp" + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/documentation/Authors.hpp" +#include "try/v2.0/documentation/Author.hpp" +#include "try/v2.0/documentation/Contributors.hpp" +#include "try/v2.0/documentation/Contributor.hpp" +#include "try/v2.0/documentation/Affiliations.hpp" +#include "try/v2.0/documentation/Affiliation.hpp" +#include "try/v2.0/documentation/Collaborations.hpp" +#include "try/v2.0/documentation/Collaboration.hpp" +#include "try/v2.0/documentation/Dates.hpp" +#include "try/v2.0/documentation/Date.hpp" +#include "try/v2.0/documentation/Title.hpp" +#include "try/v2.0/documentation/Abstract.hpp" +#include "try/v2.0/documentation/Body.hpp" +#include "try/v2.0/documentation/Copyright.hpp" +#include "try/v2.0/documentation/Version.hpp" +#include "try/v2.0/documentation/Acknowledgements.hpp" +#include "try/v2.0/documentation/Acknowledgement.hpp" +#include "try/v2.0/documentation/RelatedItems.hpp" +#include "try/v2.0/documentation/RelatedItem.hpp" +#include "try/v2.0/documentation/Keywords.hpp" +#include "try/v2.0/documentation/Keyword.hpp" +#include "try/v2.0/documentation/ComputerCodes.hpp" +#include "try/v2.0/documentation/ComputerCode.hpp" +#include "try/v2.0/documentation/CodeRepo.hpp" +#include "try/v2.0/documentation/InputDecks.hpp" +#include "try/v2.0/documentation/InputDeck.hpp" +#include "try/v2.0/documentation/OutputDecks.hpp" +#include "try/v2.0/documentation/OutputDeck.hpp" +#include "try/v2.0/documentation/ExecutionArguments.hpp" +#include "try/v2.0/documentation/ExperimentalDataSets.hpp" +#include "try/v2.0/documentation/ExforDataSets.hpp" +#include "try/v2.0/documentation/ExforDataSet.hpp" +#include "try/v2.0/documentation/CovarianceScript.hpp" +#include "try/v2.0/documentation/CorrectionScript.hpp" +#include "try/v2.0/documentation/Note.hpp" +#include "try/v2.0/documentation/Bibliography.hpp" +#include "try/v2.0/documentation/Bibitem.hpp" +#include "try/v2.0/documentation/EndfCompatible.hpp" + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData.hpp b/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData.hpp new file mode 100644 index 000000000..6915d1a87 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_APPDATA_APPLICATIONDATA +#define TRY_V2_0_APPDATA_APPLICATIONDATA + +#include "try/v2.0/appData/Institution.hpp" + +namespace try { +namespace v2_0 { +namespace appData { + +// ----------------------------------------------------------------------------- +// appData:: +// class ApplicationData +// ----------------------------------------------------------------------------- + +class ApplicationData : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "appData"; } + static auto CLASS() { return "ApplicationData"; } + static auto FIELD() { return "applicationData"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("institution") + ; + } + +public: + using Component::construct; + + // children + Field> institution{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->institution) + + // default, and from fields + explicit ApplicationData( + const wrapper> &institution = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + institution(this,institution) + { + Component::finish(); + } + + // from node + explicit ApplicationData(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ApplicationData(const ApplicationData &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ApplicationData(ApplicationData &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ApplicationData &operator=(const ApplicationData &) = default; + ApplicationData &operator=(ApplicationData &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/appData/ApplicationData/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ApplicationData + +} // namespace appData +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion.hpp b/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion.hpp new file mode 100644 index 000000000..33d93afb1 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_APPDATA_CONVERSION +#define TRY_V2_0_APPDATA_CONVERSION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace appData { + +// ----------------------------------------------------------------------------- +// appData:: +// class Conversion +// ----------------------------------------------------------------------------- + +class Conversion : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "appData"; } + static auto CLASS() { return "Conversion"; } + static auto FIELD() { return "conversion"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("flags") | + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field> flags{this}; + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->flags, \ + this->href) + + // default, and from fields + explicit Conversion( + const wrapper> &flags = {}, + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + flags(this,flags), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Conversion(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Conversion(const Conversion &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Conversion(Conversion &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Conversion &operator=(const Conversion &) = default; + Conversion &operator=(Conversion &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/appData/Conversion/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Conversion + +} // namespace appData +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags.hpp b/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags.hpp new file mode 100644 index 000000000..3ef0f6a2e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_APPDATA_ENDFCONVERSIONFLAGS +#define TRY_V2_0_APPDATA_ENDFCONVERSIONFLAGS + +#include "try/v2.0/appData/Conversion.hpp" + +namespace try { +namespace v2_0 { +namespace appData { + +// ----------------------------------------------------------------------------- +// appData:: +// class ENDFconversionFlags +// ----------------------------------------------------------------------------- + +class ENDFconversionFlags : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "appData"; } + static auto CLASS() { return "ENDFconversionFlags"; } + static auto FIELD() { return "ENDFconversionFlags"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("conversion") + ; + } + +public: + using Component::construct; + + // children + Field> conversion{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->conversion) + + // default, and from fields + explicit ENDFconversionFlags( + const wrapper> &conversion = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + conversion(this,conversion) + { + Component::finish(); + } + + // from node + explicit ENDFconversionFlags(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ENDFconversionFlags(const ENDFconversionFlags &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ENDFconversionFlags(ENDFconversionFlags &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ENDFconversionFlags &operator=(const ENDFconversionFlags &) = default; + ENDFconversionFlags &operator=(ENDFconversionFlags &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/appData/ENDFconversionFlags/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ENDFconversionFlags + +} // namespace appData +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/Institution.hpp b/standards/gnds-2.0/try/src/try/v2.0/appData/Institution.hpp new file mode 100644 index 000000000..8492ac557 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/appData/Institution.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_APPDATA_INSTITUTION +#define TRY_V2_0_APPDATA_INSTITUTION + +#include "try/v2.0/appData/ENDFconversionFlags.hpp" + +namespace try { +namespace v2_0 { +namespace appData { + +// ----------------------------------------------------------------------------- +// appData:: +// class Institution +// ----------------------------------------------------------------------------- + +class Institution : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "appData"; } + static auto CLASS() { return "Institution"; } + static auto FIELD() { return "institution"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("ENDFconversionFlags") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field> ENDFconversionFlags{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->ENDFconversionFlags) + + // default, and from fields + explicit Institution( + const wrapper> &label = {}, + const wrapper> &ENDFconversionFlags = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + ENDFconversionFlags(this,ENDFconversionFlags) + { + Component::finish(); + } + + // from node + explicit Institution(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Institution(const Institution &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Institution(Institution &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Institution &operator=(const Institution &) = default; + Institution &operator=(Institution &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/appData/Institution/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Institution + +} // namespace appData +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/Institution/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/appData/Institution/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/appData/Institution/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering.hpp new file mode 100644 index 000000000..ed30c2af9 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering.hpp @@ -0,0 +1,147 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_ATOMIC_COHERENTPHOTONSCATTERING +#define TRY_V2_0_ATOMIC_COHERENTPHOTONSCATTERING + +#include "try/v2.0/atomic/FormFactor.hpp" +#include "try/v2.0/atomic/RealAnomalousFactor.hpp" +#include "try/v2.0/atomic/ImaginaryAnomalousFactor.hpp" + +namespace try { +namespace v2_0 { +namespace atomic { + +// ----------------------------------------------------------------------------- +// atomic:: +// class CoherentPhotonScattering +// ----------------------------------------------------------------------------- + +class CoherentPhotonScattering : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "atomic"; } + static auto CLASS() { return "CoherentPhotonScattering"; } + static auto FIELD() { return "coherentPhotonScattering"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("pid") | + enums::Frame{} + / Meta<>("productFrame") | + // children + std::optional{} + / --Child<>("formFactor") | + std::optional{} + / --Child<>("realAnomalousFactor") | + std::optional{} + / --Child<>("imaginaryAnomalousFactor") + ; + } + +public: + using Component::construct; + + // metadata + Field> href{this}; + Field> label{this}; + Field> pid{this}; + Field productFrame{this}; + + // children + Field> formFactor{this}; + Field> realAnomalousFactor{this}; + Field> imaginaryAnomalousFactor{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href, \ + this->label, \ + this->pid, \ + this->productFrame, \ + this->formFactor, \ + this->realAnomalousFactor, \ + this->imaginaryAnomalousFactor) + + // default, and from fields + explicit CoherentPhotonScattering( + const wrapper> &href = {}, + const wrapper> &label = {}, + const wrapper> &pid = {}, + const wrapper &productFrame = {}, + const wrapper> &formFactor = {}, + const wrapper> &realAnomalousFactor = {}, + const wrapper> &imaginaryAnomalousFactor = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href), + label(this,label), + pid(this,pid), + productFrame(this,productFrame), + formFactor(this,formFactor), + realAnomalousFactor(this,realAnomalousFactor), + imaginaryAnomalousFactor(this,imaginaryAnomalousFactor) + { + Component::finish(); + } + + // from node + explicit CoherentPhotonScattering(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CoherentPhotonScattering(const CoherentPhotonScattering &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CoherentPhotonScattering(CoherentPhotonScattering &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CoherentPhotonScattering &operator=(const CoherentPhotonScattering &) = default; + CoherentPhotonScattering &operator=(CoherentPhotonScattering &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/atomic/CoherentPhotonScattering/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CoherentPhotonScattering + +} // namespace atomic +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor.hpp new file mode 100644 index 000000000..7fd39671d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_ATOMIC_FORMFACTOR +#define TRY_V2_0_ATOMIC_FORMFACTOR + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace atomic { + +// ----------------------------------------------------------------------------- +// atomic:: +// class FormFactor +// ----------------------------------------------------------------------------- + +class FormFactor : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "atomic"; } + static auto CLASS() { return "FormFactor"; } + static auto FIELD() { return "formFactor"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit FormFactor( + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit FormFactor(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + FormFactor(const FormFactor &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + FormFactor(FormFactor &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + FormFactor &operator=(const FormFactor &) = default; + FormFactor &operator=(FormFactor &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/atomic/FormFactor/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class FormFactor + +} // namespace atomic +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp new file mode 100644 index 000000000..e4206fb71 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR +#define TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace atomic { + +// ----------------------------------------------------------------------------- +// atomic:: +// class ImaginaryAnomalousFactor +// ----------------------------------------------------------------------------- + +class ImaginaryAnomalousFactor : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "atomic"; } + static auto CLASS() { return "ImaginaryAnomalousFactor"; } + static auto FIELD() { return "imaginaryAnomalousFactor"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit ImaginaryAnomalousFactor( + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit ImaginaryAnomalousFactor(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ImaginaryAnomalousFactor(const ImaginaryAnomalousFactor &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ImaginaryAnomalousFactor(ImaginaryAnomalousFactor &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ImaginaryAnomalousFactor &operator=(const ImaginaryAnomalousFactor &) = default; + ImaginaryAnomalousFactor &operator=(ImaginaryAnomalousFactor &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/atomic/ImaginaryAnomalousFactor/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ImaginaryAnomalousFactor + +} // namespace atomic +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/IncoherentPhotonScattering.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/IncoherentPhotonScattering.hpp new file mode 100644 index 000000000..60662bc23 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/IncoherentPhotonScattering.hpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_ATOMIC_INCOHERENTPHOTONSCATTERING +#define TRY_V2_0_ATOMIC_INCOHERENTPHOTONSCATTERING + +#include "try/v2.0/atomic/ScatteringFactor.hpp" + +namespace try { +namespace v2_0 { +namespace atomic { + +// ----------------------------------------------------------------------------- +// atomic:: +// class IncoherentPhotonScattering +// ----------------------------------------------------------------------------- + +class IncoherentPhotonScattering : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "atomic"; } + static auto CLASS() { return "IncoherentPhotonScattering"; } + static auto FIELD() { return "incoherentPhotonScattering"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("pid") | + enums::Frame{} + / Meta<>("productFrame") | + // children + std::optional{} + / --Child<>("scatteringFactor") + ; + } + +public: + using Component::construct; + + // metadata + Field> href{this}; + Field> label{this}; + Field> pid{this}; + Field productFrame{this}; + + // children + Field> scatteringFactor{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href, \ + this->label, \ + this->pid, \ + this->productFrame, \ + this->scatteringFactor) + + // default, and from fields + explicit IncoherentPhotonScattering( + const wrapper> &href = {}, + const wrapper> &label = {}, + const wrapper> &pid = {}, + const wrapper &productFrame = {}, + const wrapper> &scatteringFactor = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href), + label(this,label), + pid(this,pid), + productFrame(this,productFrame), + scatteringFactor(this,scatteringFactor) + { + Component::finish(); + } + + // from node + explicit IncoherentPhotonScattering(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + IncoherentPhotonScattering(const IncoherentPhotonScattering &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + IncoherentPhotonScattering(IncoherentPhotonScattering &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + IncoherentPhotonScattering &operator=(const IncoherentPhotonScattering &) = default; + IncoherentPhotonScattering &operator=(IncoherentPhotonScattering &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/atomic/IncoherentPhotonScattering/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class IncoherentPhotonScattering + +} // namespace atomic +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/IncoherentPhotonScattering/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/IncoherentPhotonScattering/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/IncoherentPhotonScattering/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor.hpp new file mode 100644 index 000000000..65c3c4014 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR +#define TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace atomic { + +// ----------------------------------------------------------------------------- +// atomic:: +// class RealAnomalousFactor +// ----------------------------------------------------------------------------- + +class RealAnomalousFactor : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "atomic"; } + static auto CLASS() { return "RealAnomalousFactor"; } + static auto FIELD() { return "realAnomalousFactor"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit RealAnomalousFactor( + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit RealAnomalousFactor(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + RealAnomalousFactor(const RealAnomalousFactor &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + RealAnomalousFactor(RealAnomalousFactor &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + RealAnomalousFactor &operator=(const RealAnomalousFactor &) = default; + RealAnomalousFactor &operator=(RealAnomalousFactor &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/atomic/RealAnomalousFactor/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class RealAnomalousFactor + +} // namespace atomic +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp new file mode 100644 index 000000000..d214e221e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_ATOMIC_SCATTERINGFACTOR +#define TRY_V2_0_ATOMIC_SCATTERINGFACTOR + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace atomic { + +// ----------------------------------------------------------------------------- +// atomic:: +// class ScatteringFactor +// ----------------------------------------------------------------------------- + +class ScatteringFactor : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "atomic"; } + static auto CLASS() { return "ScatteringFactor"; } + static auto FIELD() { return "scatteringFactor"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit ScatteringFactor( + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit ScatteringFactor(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ScatteringFactor(const ScatteringFactor &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ScatteringFactor(ScatteringFactor &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ScatteringFactor &operator=(const ScatteringFactor &) = default; + ScatteringFactor &operator=(ScatteringFactor &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/atomic/ScatteringFactor/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ScatteringFactor + +} // namespace atomic +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp new file mode 100644 index 000000000..6d07e4063 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_ENERGY +#define TRY_V2_0_COMMON_ENERGY + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class Energy +// ----------------------------------------------------------------------------- + +class Energy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "Energy"; } + static auto FIELD() { return "energy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + std::optional{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + unknownNamespace::Double{} + / ++Child<>("Double") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field> value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + Field> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->Double) + + // default, and from fields + explicit Energy( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper> &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Energy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Energy(const Energy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Energy(Energy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Energy &operator=(const Energy &) = default; + Energy &operator=(Energy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/Energy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Energy + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Energy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Energy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Energy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile.hpp new file mode 100644 index 000000000..717e38da0 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile.hpp @@ -0,0 +1,124 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_EXTERNALFILE +#define TRY_V2_0_COMMON_EXTERNALFILE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class ExternalFile +// ----------------------------------------------------------------------------- + +class ExternalFile : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "ExternalFile"; } + static auto FIELD() { return "externalFile"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("path") | + std::optional{} + / Meta<>("checksum") | + std::optional{} + / Meta<>("algorithm") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field path{this}; + Field> checksum{this}; + Field> algorithm{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->path, \ + this->checksum, \ + this->algorithm) + + // default, and from fields + explicit ExternalFile( + const wrapper &label = {}, + const wrapper &path = {}, + const wrapper> &checksum = {}, + const wrapper> &algorithm = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + path(this,path), + checksum(this,checksum), + algorithm(this,algorithm) + { + Component::finish(); + } + + // from node + explicit ExternalFile(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ExternalFile(const ExternalFile &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ExternalFile(ExternalFile &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ExternalFile &operator=(const ExternalFile &) = default; + ExternalFile &operator=(ExternalFile &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/ExternalFile/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ExternalFile + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles.hpp new file mode 100644 index 000000000..daeabd2f3 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_EXTERNALFILES +#define TRY_V2_0_COMMON_EXTERNALFILES + +#include "try/v2.0/common/ExternalFile.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class ExternalFiles +// ----------------------------------------------------------------------------- + +class ExternalFiles : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "ExternalFiles"; } + static auto FIELD() { return "externalFiles"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + common::ExternalFile{} + / ++Child<>("externalFile") + ; + } + +public: + using Component::construct; + + // children + Field> externalFile{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->externalFile) + + // default, and from fields + explicit ExternalFiles( + const wrapper> &externalFile = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + externalFile(this,externalFile) + { + Component::finish(); + } + + // from node + explicit ExternalFiles(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ExternalFiles(const ExternalFiles &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ExternalFiles(ExternalFiles &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ExternalFiles &operator=(const ExternalFiles &) = default; + ExternalFiles &operator=(ExternalFiles &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/ExternalFiles/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ExternalFiles + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp new file mode 100644 index 000000000..0dd2a39b7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_MASS +#define TRY_V2_0_COMMON_MASS + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class Mass +// ----------------------------------------------------------------------------- + +class Mass : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "Mass"; } + static auto FIELD() { return "mass"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + std::optional{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + unknownNamespace::Double{} + / ++Child<>("Double") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field> value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + Field> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->Double) + + // default, and from fields + explicit Mass( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper> &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Mass(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Mass(const Mass &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Mass(Mass &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Mass &operator=(const Mass &) = default; + Mass &operator=(Mass &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/Mass/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Mass + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Mass/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Mass/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Mass/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp new file mode 100644 index 000000000..7d4e0267e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_PROBABILITY +#define TRY_V2_0_COMMON_PROBABILITY + +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class Probability +// ----------------------------------------------------------------------------- + +class Probability : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "Probability"; } + static auto FIELD() { return "probability"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit Probability( + const wrapper> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Probability(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Probability(const Probability &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Probability(Probability &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Probability &operator=(const Probability &) = default; + Probability &operator=(Probability &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/Probability/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Probability + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Probability/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Probability/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Probability/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Product.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Product.hpp new file mode 100644 index 000000000..95a70183f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Product.hpp @@ -0,0 +1,135 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_PRODUCT +#define TRY_V2_0_COMMON_PRODUCT + +#include "try/v2.0/transport/Multiplicity.hpp" +#include "try/v2.0/transport/Distribution.hpp" +#include "try/v2.0/transport/OutputChannel.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class Product +// ----------------------------------------------------------------------------- + +class Product : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "Product"; } + static auto FIELD() { return "product"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("pid") | + // children + transport::Multiplicity{} + / --Child<>("multiplicity") | + transport::Distribution{} + / --Child<>("distribution") | + std::optional{} + / --Child<>("outputChannel") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field pid{this}; + + // children + Field multiplicity{this}; + Field distribution{this}; + Field> outputChannel{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->pid, \ + this->multiplicity, \ + this->distribution, \ + this->outputChannel) + + // default, and from fields + explicit Product( + const wrapper &label = {}, + const wrapper &pid = {}, + const wrapper &multiplicity = {}, + const wrapper &distribution = {}, + const wrapper> &outputChannel = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + pid(this,pid), + multiplicity(this,multiplicity), + distribution(this,distribution), + outputChannel(this,outputChannel) + { + Component::finish(); + } + + // from node + explicit Product(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Product(const Product &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Product(Product &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Product &operator=(const Product &) = default; + Product &operator=(Product &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/Product/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Product + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Product/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Product/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Product/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Products.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Products.hpp new file mode 100644 index 000000000..50dc8331e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Products.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_PRODUCTS +#define TRY_V2_0_COMMON_PRODUCTS + +#include "try/v2.0/common/Product.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class Products +// ----------------------------------------------------------------------------- + +class Products : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "Products"; } + static auto FIELD() { return "products"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("product") + ; + } + +public: + using Component::construct; + + // children + Field>> product{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->product) + + // default, and from fields + explicit Products( + const wrapper>> &product = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + product(this,product) + { + Component::finish(); + } + + // from node + explicit Products(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Products(const Products &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Products(Products &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Products &operator=(const Products &) = default; + Products &operator=(Products &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/Products/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Products + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Products/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Products/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Products/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp new file mode 100644 index 000000000..f28b90c66 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp @@ -0,0 +1,160 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_Q +#define TRY_V2_0_COMMON_Q + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Constant1d.hpp" +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/unknownNamespace/Gridded1d.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class Q +// ----------------------------------------------------------------------------- + +class Q : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::Constant1d, + unknownNamespace::XYs1d, + unknownNamespace::Regions1d, + unknownNamespace::Polynomial1d, + unknownNamespace::Gridded1d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "Q"; } + static auto FIELD() { return "Q"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + _t{} + / --(Child<>("constant1d") || Child<>("XYs1d") || Child<>("regions1d") || Child<>("polynomial1d") || Child<>("gridded1d")) + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // children - variant + Field<_t> _constant1dXYs1dregions1dpolynomial1dgridded1d{this}; + FieldPart constant1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart XYs1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart regions1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart polynomial1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart gridded1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->_constant1dXYs1dregions1dpolynomial1dgridded1d) + + // default, and from fields + explicit Q( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper<_t> &_constant1dXYs1dregions1dpolynomial1dgridded1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + _constant1dXYs1dregions1dpolynomial1dgridded1d(this,_constant1dXYs1dregions1dpolynomial1dgridded1d) + { + Component::finish(); + } + + // from node + explicit Q(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Q(const Q &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Q(Q &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Q &operator=(const Q &) = default; + Q &operator=(Q &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/Q/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Q + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Q/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Q/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Q/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp new file mode 100644 index 000000000..27c800b25 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COMMON_TEMPERATURE +#define TRY_V2_0_COMMON_TEMPERATURE + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace common { + +// ----------------------------------------------------------------------------- +// common:: +// class Temperature +// ----------------------------------------------------------------------------- + +class Temperature : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "common"; } + static auto CLASS() { return "Temperature"; } + static auto FIELD() { return "temperature"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + std::optional{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field> value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty) + + // default, and from fields + explicit Temperature( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper> &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit Temperature(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Temperature(const Temperature &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Temperature(Temperature &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Temperature &operator=(const Temperature &) = default; + Temperature &operator=(Temperature &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/common/Temperature/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Temperature + +} // namespace common +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Temperature/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Temperature/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance.hpp new file mode 100644 index 000000000..f7bb7640d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance.hpp @@ -0,0 +1,142 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE +#define TRY_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE + +#include "try/v2.0/covariance/ColumnData.hpp" +#include "try/v2.0/covariance/RowData.hpp" +#include "try/v2.0/covariance/CovarianceMatrix.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class AverageParameterCovariance +// ----------------------------------------------------------------------------- + +class AverageParameterCovariance : public Component { + friend class Component; + + using _t = std::variant< + covariance::CovarianceMatrix + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "AverageParameterCovariance"; } + static auto FIELD() { return "averageParameterCovariance"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("crossTerm") | + std::optional{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("columnData") | + std::optional{} + / --Child<>("rowData") | + _t{} + / --(Child<>("covarianceMatrix")) + ; + } + +public: + using Component::construct; + + // metadata + Field> crossTerm{this}; + Field> label{this}; + + // children + Field> columnData{this}; + Field> rowData{this}; + + // children - variant + Field<_t> _covarianceMatrix{this}; + FieldPart covarianceMatrix{_covarianceMatrix}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->crossTerm, \ + this->label, \ + this->columnData, \ + this->rowData, \ + this->_covarianceMatrix) + + // default, and from fields + explicit AverageParameterCovariance( + const wrapper> &crossTerm = {}, + const wrapper> &label = {}, + const wrapper> &columnData = {}, + const wrapper> &rowData = {}, + const wrapper<_t> &_covarianceMatrix = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + crossTerm(this,crossTerm), + label(this,label), + columnData(this,columnData), + rowData(this,rowData), + _covarianceMatrix(this,_covarianceMatrix) + { + Component::finish(); + } + + // from node + explicit AverageParameterCovariance(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AverageParameterCovariance(const AverageParameterCovariance &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AverageParameterCovariance(AverageParameterCovariance &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AverageParameterCovariance &operator=(const AverageParameterCovariance &) = default; + AverageParameterCovariance &operator=(AverageParameterCovariance &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/AverageParameterCovariance/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AverageParameterCovariance + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData.hpp new file mode 100644 index 000000000..25cca429f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_COLUMNDATA +#define TRY_V2_0_COVARIANCE_COLUMNDATA + +#include "try/v2.0/covariance/Slices.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class ColumnData +// ----------------------------------------------------------------------------- + +class ColumnData : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "ColumnData"; } + static auto FIELD() { return "columnData"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("ENDF_MFMT") | + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("dimension") | + // children + std::optional{} + / --Child<>("slices") + ; + } + +public: + using Component::construct; + + // metadata + Field> ENDF_MFMT{this}; + Field> href{this}; + Field> dimension{this}; + + // children + Field> slices{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MFMT, \ + this->href, \ + this->dimension, \ + this->slices) + + // default, and from fields + explicit ColumnData( + const wrapper> &ENDF_MFMT = {}, + const wrapper> &href = {}, + const wrapper> &dimension = {}, + const wrapper> &slices = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MFMT(this,ENDF_MFMT), + href(this,href), + dimension(this,dimension), + slices(this,slices) + { + Component::finish(); + } + + // from node + explicit ColumnData(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ColumnData(const ColumnData &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ColumnData(ColumnData &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ColumnData &operator=(const ColumnData &) = default; + ColumnData &operator=(ColumnData &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/ColumnData/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ColumnData + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp new file mode 100644 index 000000000..a50c88e3e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY +#define TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY + +#include "try/v2.0/unknownNamespace/Array.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class ColumnSensitivity +// ----------------------------------------------------------------------------- + +class ColumnSensitivity : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "ColumnSensitivity"; } + static auto FIELD() { return "columnSensitivity"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Array{} + / --Child<>("array") + ; + } + +public: + using Component::construct; + + // children + Field array{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->array) + + // default, and from fields + explicit ColumnSensitivity( + const wrapper &array = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + array(this,array) + { + Component::finish(); + } + + // from node + explicit ColumnSensitivity(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ColumnSensitivity(const ColumnSensitivity &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ColumnSensitivity(ColumnSensitivity &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ColumnSensitivity &operator=(const ColumnSensitivity &) = default; + ColumnSensitivity &operator=(ColumnSensitivity &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/ColumnSensitivity/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ColumnSensitivity + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp new file mode 100644 index 000000000..dfd46c840 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_COVARIANCE +#define TRY_V2_0_COVARIANCE_COVARIANCE + +#include "try/v2.0/unknownNamespace/Array.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class Covariance +// ----------------------------------------------------------------------------- + +class Covariance : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "Covariance"; } + static auto FIELD() { return "covariance"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Array{} + / --Child<>("array") + ; + } + +public: + using Component::construct; + + // children + Field array{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->array) + + // default, and from fields + explicit Covariance( + const wrapper &array = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + array(this,array) + { + Component::finish(); + } + + // from node + explicit Covariance(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Covariance(const Covariance &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Covariance(Covariance &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Covariance &operator=(const Covariance &) = default; + Covariance &operator=(Covariance &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/Covariance/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Covariance + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp new file mode 100644 index 000000000..bdf438307 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp @@ -0,0 +1,135 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_COVARIANCEMATRIX +#define TRY_V2_0_COVARIANCE_COVARIANCEMATRIX + +#include "try/v2.0/unknownNamespace/Gridded2d.hpp" +#include "try/v2.0/covariance/SandwichProduct.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class CovarianceMatrix +// ----------------------------------------------------------------------------- + +class CovarianceMatrix : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::Gridded2d, + covariance::SandwichProduct + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "CovarianceMatrix"; } + static auto FIELD() { return "covarianceMatrix"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("productFrame") | + XMLName{} + / Meta<>("type") | + // children + _t{} + / --(Child<>("gridded2d") || Child<>("sandwichProduct")) + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> productFrame{this}; + Field type{this}; + + // children - variant + Field<_t> _gridded2dsandwichProduct{this}; + FieldPart gridded2d{_gridded2dsandwichProduct}; + FieldPart sandwichProduct{_gridded2dsandwichProduct}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->type, \ + this->_gridded2dsandwichProduct) + + // default, and from fields + explicit CovarianceMatrix( + const wrapper> &label = {}, + const wrapper> &productFrame = {}, + const wrapper &type = {}, + const wrapper<_t> &_gridded2dsandwichProduct = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + type(this,type), + _gridded2dsandwichProduct(this,_gridded2dsandwichProduct) + { + Component::finish(); + } + + // from node + explicit CovarianceMatrix(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CovarianceMatrix(const CovarianceMatrix &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CovarianceMatrix(CovarianceMatrix &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CovarianceMatrix &operator=(const CovarianceMatrix &) = default; + CovarianceMatrix &operator=(CovarianceMatrix &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/CovarianceMatrix/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CovarianceMatrix + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection.hpp new file mode 100644 index 000000000..d23a49e4d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection.hpp @@ -0,0 +1,154 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_COVARIANCESECTION +#define TRY_V2_0_COVARIANCE_COVARIANCESECTION + +#include "try/v2.0/covariance/RowData.hpp" +#include "try/v2.0/covariance/ColumnData.hpp" +#include "try/v2.0/covariance/CovarianceMatrix.hpp" +#include "try/v2.0/covariance/Sum.hpp" +#include "try/v2.0/covariance/Mixed.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class CovarianceSection +// ----------------------------------------------------------------------------- + +class CovarianceSection : public Component { + friend class Component; + + using _t = std::variant< + covariance::CovarianceMatrix, + covariance::Sum, + covariance::Mixed + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "CovarianceSection"; } + static auto FIELD() { return "covarianceSection"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{false} + / Meta<>("crossTerm") | + std::optional{} + / Meta<>("label") | + // children + covariance::RowData{} + / --Child<>("rowData") | + std::optional{} + / --Child<>("columnData") | + _t{} + / --(Child<>("covarianceMatrix") || Child<>("sum") || Child<>("mixed")) + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const bool crossTerm = false; + } defaults; + + // metadata + Field> crossTerm{this,defaults.crossTerm}; + Field> label{this}; + + // children + Field rowData{this}; + Field> columnData{this}; + + // children - variant + Field<_t> _covarianceMatrixsummixed{this}; + FieldPart covarianceMatrix{_covarianceMatrixsummixed}; + FieldPart sum{_covarianceMatrixsummixed}; + FieldPart mixed{_covarianceMatrixsummixed}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->crossTerm, \ + this->label, \ + this->rowData, \ + this->columnData, \ + this->_covarianceMatrixsummixed) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit CovarianceSection( + const wrapper> &crossTerm = {}, + const wrapper> &label = {}, + const wrapper &rowData = {}, + const wrapper> &columnData = {}, + const wrapper<_t> &_covarianceMatrixsummixed = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + crossTerm(this,defaults.crossTerm,crossTerm), + label(this,label), + rowData(this,rowData), + columnData(this,columnData), + _covarianceMatrixsummixed(this,_covarianceMatrixsummixed) + { + Component::finish(); + } + + // from node + explicit CovarianceSection(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CovarianceSection(const CovarianceSection &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CovarianceSection(CovarianceSection &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CovarianceSection &operator=(const CovarianceSection &) = default; + CovarianceSection &operator=(CovarianceSection &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/CovarianceSection/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CovarianceSection + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections.hpp new file mode 100644 index 000000000..89be27a09 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_COVARIANCESECTIONS +#define TRY_V2_0_COVARIANCE_COVARIANCESECTIONS + +#include "try/v2.0/covariance/CovarianceSection.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class CovarianceSections +// ----------------------------------------------------------------------------- + +class CovarianceSections : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "CovarianceSections"; } + static auto FIELD() { return "covarianceSections"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("covarianceSection") + ; + } + +public: + using Component::construct; + + // children + Field>> covarianceSection{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->covarianceSection) + + // default, and from fields + explicit CovarianceSections( + const wrapper>> &covarianceSection = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + covarianceSection(this,covarianceSection) + { + Component::finish(); + } + + // from node + explicit CovarianceSections(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CovarianceSections(const CovarianceSections &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CovarianceSections(CovarianceSections &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CovarianceSections &operator=(const CovarianceSections &) = default; + CovarianceSections &operator=(CovarianceSections &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/CovarianceSections/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CovarianceSections + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite.hpp new file mode 100644 index 000000000..873ea517c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite.hpp @@ -0,0 +1,160 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_COVARIANCESUITE +#define TRY_V2_0_COVARIANCE_COVARIANCESUITE + +#include "try/v2.0/common/ExternalFiles.hpp" +#include "try/v2.0/styles/Styles.hpp" +#include "try/v2.0/covariance/CovarianceSections.hpp" +#include "try/v2.0/covariance/ParameterCovariances.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class CovarianceSuite +// ----------------------------------------------------------------------------- + +class CovarianceSuite : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "CovarianceSuite"; } + static auto FIELD() { return "covarianceSuite"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("evaluation") | + std::optional{} + / Meta<>("projectile") | + std::optional{} + / Meta<>("target") | + enums::Interaction{} + / Meta<>("interaction") | + std::optional{} + / Meta<>("version") | + // children + std::optional{} + / --Child<>("externalFiles") | + std::optional{} + / --Child<>("styles") | + std::optional{} + / --Child<>("covarianceSections") | + std::optional{} + / --Child<>("parameterCovariances") + ; + } + +public: + using Component::construct; + + // metadata + Field> evaluation{this}; + Field> projectile{this}; + Field> target{this}; + Field interaction{this}; + Field> version{this}; + + // children + Field> externalFiles{this}; + Field> styles{this}; + Field> covarianceSections{this}; + Field> parameterCovariances{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->evaluation, \ + this->projectile, \ + this->target, \ + this->interaction, \ + this->version, \ + this->externalFiles, \ + this->styles, \ + this->covarianceSections, \ + this->parameterCovariances) + + // default, and from fields + explicit CovarianceSuite( + const wrapper> &evaluation = {}, + const wrapper> &projectile = {}, + const wrapper> &target = {}, + const wrapper &interaction = {}, + const wrapper> &version = {}, + const wrapper> &externalFiles = {}, + const wrapper> &styles = {}, + const wrapper> &covarianceSections = {}, + const wrapper> ¶meterCovariances = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + evaluation(this,evaluation), + projectile(this,projectile), + target(this,target), + interaction(this,interaction), + version(this,version), + externalFiles(this,externalFiles), + styles(this,styles), + covarianceSections(this,covarianceSections), + parameterCovariances(this,parameterCovariances) + { + Component::finish(); + } + + // from node + explicit CovarianceSuite(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CovarianceSuite(const CovarianceSuite &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CovarianceSuite(CovarianceSuite &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CovarianceSuite &operator=(const CovarianceSuite &) = default; + CovarianceSuite &operator=(CovarianceSuite &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/CovarianceSuite/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CovarianceSuite + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed.hpp new file mode 100644 index 000000000..eb98e4c5a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed.hpp @@ -0,0 +1,129 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_MIXED +#define TRY_V2_0_COVARIANCE_MIXED + +#include "try/v2.0/covariance/CovarianceMatrix.hpp" +#include "try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "try/v2.0/covariance/Sum.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class Mixed +// ----------------------------------------------------------------------------- + +class Mixed : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "Mixed"; } + static auto FIELD() { return "mixed"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + std::optional{} + / ++Child<>("covarianceMatrix") | + std::optional{} + / ++Child<>("shortRangeSelfScalingVariance") | + std::optional{} + / ++Child<>("sum") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field>> covarianceMatrix{this}; + Field>> shortRangeSelfScalingVariance{this}; + Field>> sum{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->covarianceMatrix, \ + this->shortRangeSelfScalingVariance, \ + this->sum) + + // default, and from fields + explicit Mixed( + const wrapper &label = {}, + const wrapper>> &covarianceMatrix = {}, + const wrapper>> &shortRangeSelfScalingVariance = {}, + const wrapper>> &sum = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + covarianceMatrix(this,covarianceMatrix), + shortRangeSelfScalingVariance(this,shortRangeSelfScalingVariance), + sum(this,sum) + { + Component::finish(); + } + + // from node + explicit Mixed(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Mixed(const Mixed &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Mixed(Mixed &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Mixed &operator=(const Mixed &) = default; + Mixed &operator=(Mixed &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/Mixed/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Mixed + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance.hpp new file mode 100644 index 000000000..d3bdd07aa --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCE +#define TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCE + +#include "try/v2.0/covariance/RowData.hpp" +#include "try/v2.0/covariance/ParameterCovarianceMatrix.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class ParameterCovariance +// ----------------------------------------------------------------------------- + +class ParameterCovariance : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "ParameterCovariance"; } + static auto FIELD() { return "parameterCovariance"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + covariance::RowData{} + / --Child<>("rowData") | + covariance::ParameterCovarianceMatrix{} + / ++Child<>("parameterCovarianceMatrix") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field rowData{this}; + Field> parameterCovarianceMatrix{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->rowData, \ + this->parameterCovarianceMatrix) + + // default, and from fields + explicit ParameterCovariance( + const wrapper> &label = {}, + const wrapper &rowData = {}, + const wrapper> ¶meterCovarianceMatrix = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + rowData(this,rowData), + parameterCovarianceMatrix(this,parameterCovarianceMatrix) + { + Component::finish(); + } + + // from node + explicit ParameterCovariance(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ParameterCovariance(const ParameterCovariance &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ParameterCovariance(ParameterCovariance &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ParameterCovariance &operator=(const ParameterCovariance &) = default; + ParameterCovariance &operator=(ParameterCovariance &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/ParameterCovariance/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ParameterCovariance + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp new file mode 100644 index 000000000..280aa2232 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX +#define TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX + +#include "try/v2.0/covariance/Parameters.hpp" +#include "try/v2.0/unknownNamespace/Array.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class ParameterCovarianceMatrix +// ----------------------------------------------------------------------------- + +class ParameterCovarianceMatrix : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "ParameterCovarianceMatrix"; } + static auto FIELD() { return "parameterCovariancMatrix"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + std::optional{} + / Meta<>("type") | + // children + covariance::Parameters{} + / --Child<>("parameters") | + unknownNamespace::Array{} + / --Child<>("array") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field> type{this}; + + // children + Field parameters{this}; + Field array{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->type, \ + this->parameters, \ + this->array) + + // default, and from fields + explicit ParameterCovarianceMatrix( + const wrapper &label = {}, + const wrapper> &type = {}, + const wrapper ¶meters = {}, + const wrapper &array = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + type(this,type), + parameters(this,parameters), + array(this,array) + { + Component::finish(); + } + + // from node + explicit ParameterCovarianceMatrix(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ParameterCovarianceMatrix(const ParameterCovarianceMatrix &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ParameterCovarianceMatrix(ParameterCovarianceMatrix &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ParameterCovarianceMatrix &operator=(const ParameterCovarianceMatrix &) = default; + ParameterCovarianceMatrix &operator=(ParameterCovarianceMatrix &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/ParameterCovarianceMatrix/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ParameterCovarianceMatrix + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances.hpp new file mode 100644 index 000000000..778a3e5d2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCES +#define TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCES + +#include "try/v2.0/covariance/AverageParameterCovariance.hpp" +#include "try/v2.0/covariance/ParameterCovariance.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class ParameterCovariances +// ----------------------------------------------------------------------------- + +class ParameterCovariances : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "ParameterCovariances"; } + static auto FIELD() { return "parameterCovariances"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("averageParameterCovariance") | + std::optional{} + / ++Child<>("parameterCovariance") + ; + } + +public: + using Component::construct; + + // children + Field>> averageParameterCovariance{this}; + Field>> parameterCovariance{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->averageParameterCovariance, \ + this->parameterCovariance) + + // default, and from fields + explicit ParameterCovariances( + const wrapper>> &averageParameterCovariance = {}, + const wrapper>> ¶meterCovariance = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + averageParameterCovariance(this,averageParameterCovariance), + parameterCovariance(this,parameterCovariance) + { + Component::finish(); + } + + // from node + explicit ParameterCovariances(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ParameterCovariances(const ParameterCovariances &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ParameterCovariances(ParameterCovariances &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ParameterCovariances &operator=(const ParameterCovariances &) = default; + ParameterCovariances &operator=(ParameterCovariances &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/ParameterCovariances/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ParameterCovariances + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink.hpp new file mode 100644 index 000000000..99f9180c8 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink.hpp @@ -0,0 +1,131 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_PARAMETERLINK +#define TRY_V2_0_COVARIANCE_PARAMETERLINK + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class ParameterLink +// ----------------------------------------------------------------------------- + +class ParameterLink : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "ParameterLink"; } + static auto FIELD() { return "parameterLink"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("label") | + Defaulted{0} + / Meta<>("matrixStartIndex") | + Defaulted{1} + / Meta<>("nParameters") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const Integer32 matrixStartIndex = 0; + static inline const Integer32 nParameters = 1; + } defaults; + + // metadata + Field> href{this}; + Field> label{this}; + Field> matrixStartIndex{this,defaults.matrixStartIndex}; + Field> nParameters{this,defaults.nParameters}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href, \ + this->label, \ + this->matrixStartIndex, \ + this->nParameters) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit ParameterLink( + const wrapper> &href = {}, + const wrapper> &label = {}, + const wrapper> &matrixStartIndex = {}, + const wrapper> &nParameters = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href), + label(this,label), + matrixStartIndex(this,defaults.matrixStartIndex,matrixStartIndex), + nParameters(this,defaults.nParameters,nParameters) + { + Component::finish(); + } + + // from node + explicit ParameterLink(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ParameterLink(const ParameterLink &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ParameterLink(ParameterLink &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ParameterLink &operator=(const ParameterLink &) = default; + ParameterLink &operator=(ParameterLink &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/ParameterLink/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ParameterLink + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters.hpp new file mode 100644 index 000000000..267fe9a75 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_PARAMETERS +#define TRY_V2_0_COVARIANCE_PARAMETERS + +#include "try/v2.0/covariance/ParameterLink.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class Parameters +// ----------------------------------------------------------------------------- + +class Parameters : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "Parameters"; } + static auto FIELD() { return "parameters"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("parameterLink") + ; + } + +public: + using Component::construct; + + // children + Field>> parameterLink{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->parameterLink) + + // default, and from fields + explicit Parameters( + const wrapper>> ¶meterLink = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + parameterLink(this,parameterLink) + { + Component::finish(); + } + + // from node + explicit Parameters(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Parameters(const Parameters &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Parameters(Parameters &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Parameters &operator=(const Parameters &) = default; + Parameters &operator=(Parameters &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/Parameters/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Parameters + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData.hpp new file mode 100644 index 000000000..471282404 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_ROWDATA +#define TRY_V2_0_COVARIANCE_ROWDATA + +#include "try/v2.0/covariance/Slices.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class RowData +// ----------------------------------------------------------------------------- + +class RowData : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "RowData"; } + static auto FIELD() { return "rowData"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("ENDF_MFMT") | + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("dimension") | + // children + std::optional{} + / --Child<>("slices") + ; + } + +public: + using Component::construct; + + // metadata + Field> ENDF_MFMT{this}; + Field> href{this}; + Field> dimension{this}; + + // children + Field> slices{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MFMT, \ + this->href, \ + this->dimension, \ + this->slices) + + // default, and from fields + explicit RowData( + const wrapper> &ENDF_MFMT = {}, + const wrapper> &href = {}, + const wrapper> &dimension = {}, + const wrapper> &slices = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MFMT(this,ENDF_MFMT), + href(this,href), + dimension(this,dimension), + slices(this,slices) + { + Component::finish(); + } + + // from node + explicit RowData(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + RowData(const RowData &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + RowData(RowData &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + RowData &operator=(const RowData &) = default; + RowData &operator=(RowData &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/RowData/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class RowData + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp new file mode 100644 index 000000000..4daa060c4 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_ROWSENSITIVITY +#define TRY_V2_0_COVARIANCE_ROWSENSITIVITY + +#include "try/v2.0/unknownNamespace/Array.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class RowSensitivity +// ----------------------------------------------------------------------------- + +class RowSensitivity : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "RowSensitivity"; } + static auto FIELD() { return "rowSensitivity"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Array{} + / --Child<>("array") + ; + } + +public: + using Component::construct; + + // children + Field array{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->array) + + // default, and from fields + explicit RowSensitivity( + const wrapper &array = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + array(this,array) + { + Component::finish(); + } + + // from node + explicit RowSensitivity(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + RowSensitivity(const RowSensitivity &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + RowSensitivity(RowSensitivity &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + RowSensitivity &operator=(const RowSensitivity &) = default; + RowSensitivity &operator=(RowSensitivity &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/RowSensitivity/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class RowSensitivity + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp new file mode 100644 index 000000000..196bd3694 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_SANDWICHPRODUCT +#define TRY_V2_0_COVARIANCE_SANDWICHPRODUCT + +#include "try/v2.0/unknownNamespace/Axes.hpp" +#include "try/v2.0/covariance/Covariance.hpp" +#include "try/v2.0/covariance/RowSensitivity.hpp" +#include "try/v2.0/covariance/ColumnSensitivity.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class SandwichProduct +// ----------------------------------------------------------------------------- + +class SandwichProduct : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "SandwichProduct"; } + static auto FIELD() { return "sandwichProduct"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Axes{} + / --Child<>("axes") | + covariance::Covariance{} + / --Child<>("covariance") | + covariance::RowSensitivity{} + / --Child<>("rowSensitivity") | + std::optional{} + / --Child<>("columnSensitivity") + ; + } + +public: + using Component::construct; + + // children + Field axes{this}; + Field covariance{this}; + Field rowSensitivity{this}; + Field> columnSensitivity{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->axes, \ + this->covariance, \ + this->rowSensitivity, \ + this->columnSensitivity) + + // default, and from fields + explicit SandwichProduct( + const wrapper &axes = {}, + const wrapper &covariance = {}, + const wrapper &rowSensitivity = {}, + const wrapper> &columnSensitivity = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + axes(this,axes), + covariance(this,covariance), + rowSensitivity(this,rowSensitivity), + columnSensitivity(this,columnSensitivity) + { + Component::finish(); + } + + // from node + explicit SandwichProduct(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + SandwichProduct(const SandwichProduct &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + SandwichProduct(SandwichProduct &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + SandwichProduct &operator=(const SandwichProduct &) = default; + SandwichProduct &operator=(SandwichProduct &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/SandwichProduct/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class SandwichProduct + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp new file mode 100644 index 000000000..a07e031fe --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE +#define TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE + +#include "try/v2.0/unknownNamespace/Gridded2d.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class ShortRangeSelfScalingVariance +// ----------------------------------------------------------------------------- + +class ShortRangeSelfScalingVariance : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "ShortRangeSelfScalingVariance"; } + static auto FIELD() { return "shortRangeSelfScalingVariance"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("dependenceOnProcessedGroupWidth") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("type") | + // children + std::optional{} + / --Child<>("gridded2d") + ; + } + +public: + using Component::construct; + + // metadata + Field> dependenceOnProcessedGroupWidth{this}; + Field> label{this}; + Field> type{this}; + + // children + Field> gridded2d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->dependenceOnProcessedGroupWidth, \ + this->label, \ + this->type, \ + this->gridded2d) + + // default, and from fields + explicit ShortRangeSelfScalingVariance( + const wrapper> &dependenceOnProcessedGroupWidth = {}, + const wrapper> &label = {}, + const wrapper> &type = {}, + const wrapper> &gridded2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + dependenceOnProcessedGroupWidth(this,dependenceOnProcessedGroupWidth), + label(this,label), + type(this,type), + gridded2d(this,gridded2d) + { + Component::finish(); + } + + // from node + explicit ShortRangeSelfScalingVariance(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ShortRangeSelfScalingVariance(const ShortRangeSelfScalingVariance &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ShortRangeSelfScalingVariance(ShortRangeSelfScalingVariance &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ShortRangeSelfScalingVariance &operator=(const ShortRangeSelfScalingVariance &) = default; + ShortRangeSelfScalingVariance &operator=(ShortRangeSelfScalingVariance &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/ShortRangeSelfScalingVariance/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ShortRangeSelfScalingVariance + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Slice.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Slice.hpp new file mode 100644 index 000000000..ebaa67218 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Slice.hpp @@ -0,0 +1,130 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_SLICE +#define TRY_V2_0_COVARIANCE_SLICE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class Slice +// ----------------------------------------------------------------------------- + +class Slice : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "Slice"; } + static auto FIELD() { return "slice"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("domainMin") | + std::optional{} + / Meta<>("domainMax") | + std::optional{} + / Meta<>("domainValue") | + std::optional{} + / Meta<>("domainUnit") | + Integer32{} + / Meta<>("dimension") + ; + } + +public: + using Component::construct; + + // metadata + Field> domainMin{this}; + Field> domainMax{this}; + Field> domainValue{this}; + Field> domainUnit{this}; + Field dimension{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->domainMin, \ + this->domainMax, \ + this->domainValue, \ + this->domainUnit, \ + this->dimension) + + // default, and from fields + explicit Slice( + const wrapper> &domainMin = {}, + const wrapper> &domainMax = {}, + const wrapper> &domainValue = {}, + const wrapper> &domainUnit = {}, + const wrapper &dimension = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + domainMin(this,domainMin), + domainMax(this,domainMax), + domainValue(this,domainValue), + domainUnit(this,domainUnit), + dimension(this,dimension) + { + Component::finish(); + } + + // from node + explicit Slice(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Slice(const Slice &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Slice(Slice &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Slice &operator=(const Slice &) = default; + Slice &operator=(Slice &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/Slice/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Slice + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Slice/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Slice/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Slice/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices.hpp new file mode 100644 index 000000000..bf0a87396 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_SLICES +#define TRY_V2_0_COVARIANCE_SLICES + +#include "try/v2.0/covariance/Slice.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class Slices +// ----------------------------------------------------------------------------- + +class Slices : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "Slices"; } + static auto FIELD() { return "slices"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + covariance::Slice{} + / ++Child<>("slice") + ; + } + +public: + using Component::construct; + + // children + Field> slice{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->slice) + + // default, and from fields + explicit Slices( + const wrapper> &slice = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + slice(this,slice) + { + Component::finish(); + } + + // from node + explicit Slices(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Slices(const Slices &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Slices(Slices &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Slices &operator=(const Slices &) = default; + Slices &operator=(Slices &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/Slices/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Slices + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum.hpp new file mode 100644 index 000000000..59f792c92 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum.hpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_SUM +#define TRY_V2_0_COVARIANCE_SUM + +#include "try/v2.0/covariance/Summand.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class Sum +// ----------------------------------------------------------------------------- + +class Sum : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "Sum"; } + static auto FIELD() { return "sum"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Float64{} + / Meta<>("domainMin") | + Float64{} + / Meta<>("domainMax") | + XMLName{} + / Meta<>("domainUnit") | + std::optional{} + / Meta<>("label") | + // children + std::optional{} + / ++Child<>("summand") + ; + } + +public: + using Component::construct; + + // metadata + Field domainMin{this}; + Field domainMax{this}; + Field domainUnit{this}; + Field> label{this}; + + // children + Field>> summand{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->domainMin, \ + this->domainMax, \ + this->domainUnit, \ + this->label, \ + this->summand) + + // default, and from fields + explicit Sum( + const wrapper &domainMin = {}, + const wrapper &domainMax = {}, + const wrapper &domainUnit = {}, + const wrapper> &label = {}, + const wrapper>> &summand = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + domainMin(this,domainMin), + domainMax(this,domainMax), + domainUnit(this,domainUnit), + label(this,label), + summand(this,summand) + { + Component::finish(); + } + + // from node + explicit Sum(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Sum(const Sum &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Sum(Sum &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Sum &operator=(const Sum &) = default; + Sum &operator=(Sum &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/Sum/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Sum + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand.hpp new file mode 100644 index 000000000..5c1305a2b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_COVARIANCE_SUMMAND +#define TRY_V2_0_COVARIANCE_SUMMAND + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace covariance { + +// ----------------------------------------------------------------------------- +// covariance:: +// class Summand +// ----------------------------------------------------------------------------- + +class Summand : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "covariance"; } + static auto CLASS() { return "Summand"; } + static auto FIELD() { return "summand"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("ENDF_MFMT") | + std::optional{} + / Meta<>("coefficient") | + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field> ENDF_MFMT{this}; + Field> coefficient{this}; + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MFMT, \ + this->coefficient, \ + this->href) + + // default, and from fields + explicit Summand( + const wrapper> &ENDF_MFMT = {}, + const wrapper> &coefficient = {}, + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MFMT(this,ENDF_MFMT), + coefficient(this,coefficient), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Summand(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Summand(const Summand &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Summand(Summand &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Summand &operator=(const Summand &) = default; + Summand &operator=(Summand &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/covariance/Summand/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Summand + +} // namespace covariance +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp new file mode 100644 index 000000000..46a66a047 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC +#define TRY_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC + +#include "try/v2.0/cpTransport/RutherfordScattering.hpp" +#include "try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "try/v2.0/cpTransport/NuclearPlusInterference.hpp" + +namespace try { +namespace v2_0 { +namespace cpTransport { + +// ----------------------------------------------------------------------------- +// cpTransport:: +// class CoulombPlusNuclearElastic +// ----------------------------------------------------------------------------- + +class CoulombPlusNuclearElastic : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "cpTransport"; } + static auto CLASS() { return "CoulombPlusNuclearElastic"; } + static auto FIELD() { return "CoulombPlusNuclearElastic"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") | + Defaulted{false} + / Meta<>("identicalParticles") | + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("pid") | + enums::Frame{} + / Meta<>("productFrame") | + // children + std::optional{} + / --Child<>("RutherfordScattering") | + std::optional{} + / --Child<>("nuclearAmplitudeExpansion") | + std::optional{} + / --Child<>("nuclearPlusInterference") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const bool identicalParticles = false; + } defaults; + + // metadata + Field> href{this}; + Field> identicalParticles{this,defaults.identicalParticles}; + Field label{this}; + Field pid{this}; + Field productFrame{this}; + + // children + Field> RutherfordScattering{this}; + Field> nuclearAmplitudeExpansion{this}; + Field> nuclearPlusInterference{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href, \ + this->identicalParticles, \ + this->label, \ + this->pid, \ + this->productFrame, \ + this->RutherfordScattering, \ + this->nuclearAmplitudeExpansion, \ + this->nuclearPlusInterference) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit CoulombPlusNuclearElastic( + const wrapper> &href = {}, + const wrapper> &identicalParticles = {}, + const wrapper &label = {}, + const wrapper &pid = {}, + const wrapper &productFrame = {}, + const wrapper> &RutherfordScattering = {}, + const wrapper> &nuclearAmplitudeExpansion = {}, + const wrapper> &nuclearPlusInterference = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href), + identicalParticles(this,defaults.identicalParticles,identicalParticles), + label(this,label), + pid(this,pid), + productFrame(this,productFrame), + RutherfordScattering(this,RutherfordScattering), + nuclearAmplitudeExpansion(this,nuclearAmplitudeExpansion), + nuclearPlusInterference(this,nuclearPlusInterference) + { + Component::finish(); + } + + // from node + explicit CoulombPlusNuclearElastic(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CoulombPlusNuclearElastic(const CoulombPlusNuclearElastic &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CoulombPlusNuclearElastic(CoulombPlusNuclearElastic &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CoulombPlusNuclearElastic &operator=(const CoulombPlusNuclearElastic &) = default; + CoulombPlusNuclearElastic &operator=(CoulombPlusNuclearElastic &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/cpTransport/CoulombPlusNuclearElastic/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CoulombPlusNuclearElastic + +} // namespace cpTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp new file mode 100644 index 000000000..bb1796d71 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM +#define TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" + +namespace try { +namespace v2_0 { +namespace cpTransport { + +// ----------------------------------------------------------------------------- +// cpTransport:: +// class ImaginaryInterferenceTerm +// ----------------------------------------------------------------------------- + +class ImaginaryInterferenceTerm : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "cpTransport"; } + static auto CLASS() { return "ImaginaryInterferenceTerm"; } + static auto FIELD() { return "imaginaryInterferenceTerm"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs2d") | + std::optional{} + / --Child<>("regions2d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs2d{this}; + Field> regions2d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs2d, \ + this->regions2d) + + // default, and from fields + explicit ImaginaryInterferenceTerm( + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs2d(this,XYs2d), + regions2d(this,regions2d) + { + Component::finish(); + } + + // from node + explicit ImaginaryInterferenceTerm(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ImaginaryInterferenceTerm(const ImaginaryInterferenceTerm &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ImaginaryInterferenceTerm(ImaginaryInterferenceTerm &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ImaginaryInterferenceTerm &operator=(const ImaginaryInterferenceTerm &) = default; + ImaginaryInterferenceTerm &operator=(ImaginaryInterferenceTerm &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/cpTransport/ImaginaryInterferenceTerm/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ImaginaryInterferenceTerm + +} // namespace cpTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp new file mode 100644 index 000000000..8aaa3d27a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CPTRANSPORT_NUCLEARAMPLITUDEEXPANSION +#define TRY_V2_0_CPTRANSPORT_NUCLEARAMPLITUDEEXPANSION + +#include "try/v2.0/cpTransport/NuclearTerm.hpp" +#include "try/v2.0/cpTransport/RealInterferenceTerm.hpp" +#include "try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" + +namespace try { +namespace v2_0 { +namespace cpTransport { + +// ----------------------------------------------------------------------------- +// cpTransport:: +// class NuclearAmplitudeExpansion +// ----------------------------------------------------------------------------- + +class NuclearAmplitudeExpansion : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "cpTransport"; } + static auto CLASS() { return "NuclearAmplitudeExpansion"; } + static auto FIELD() { return "nuclearAmplitudeExpansion"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + cpTransport::NuclearTerm{} + / --Child<>("nuclearTerm") | + cpTransport::RealInterferenceTerm{} + / --Child<>("realInterferenceTerm") | + cpTransport::ImaginaryInterferenceTerm{} + / --Child<>("imaginaryInterferenceTerm") + ; + } + +public: + using Component::construct; + + // children + Field nuclearTerm{this}; + Field realInterferenceTerm{this}; + Field imaginaryInterferenceTerm{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->nuclearTerm, \ + this->realInterferenceTerm, \ + this->imaginaryInterferenceTerm) + + // default, and from fields + explicit NuclearAmplitudeExpansion( + const wrapper &nuclearTerm = {}, + const wrapper &realInterferenceTerm = {}, + const wrapper &imaginaryInterferenceTerm = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + nuclearTerm(this,nuclearTerm), + realInterferenceTerm(this,realInterferenceTerm), + imaginaryInterferenceTerm(this,imaginaryInterferenceTerm) + { + Component::finish(); + } + + // from node + explicit NuclearAmplitudeExpansion(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + NuclearAmplitudeExpansion(const NuclearAmplitudeExpansion &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + NuclearAmplitudeExpansion(NuclearAmplitudeExpansion &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + NuclearAmplitudeExpansion &operator=(const NuclearAmplitudeExpansion &) = default; + NuclearAmplitudeExpansion &operator=(NuclearAmplitudeExpansion &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/cpTransport/NuclearAmplitudeExpansion/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class NuclearAmplitudeExpansion + +} // namespace cpTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearAmplitudeExpansion/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearAmplitudeExpansion/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearAmplitudeExpansion/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearPlusInterference.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearPlusInterference.hpp new file mode 100644 index 000000000..47457ca55 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearPlusInterference.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CPTRANSPORT_NUCLEARPLUSINTERFERENCE +#define TRY_V2_0_CPTRANSPORT_NUCLEARPLUSINTERFERENCE + +#include "try/v2.0/transport/CrossSection.hpp" +#include "try/v2.0/transport/Distribution.hpp" + +namespace try { +namespace v2_0 { +namespace cpTransport { + +// ----------------------------------------------------------------------------- +// cpTransport:: +// class NuclearPlusInterference +// ----------------------------------------------------------------------------- + +class NuclearPlusInterference : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "cpTransport"; } + static auto CLASS() { return "NuclearPlusInterference"; } + static auto FIELD() { return "nuclearPlusInterference"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Float64{} + / Meta<>("muCutoff") | + // children + transport::CrossSection{} + / --Child<>("crossSection") | + transport::Distribution{} + / --Child<>("distribution") + ; + } + +public: + using Component::construct; + + // metadata + Field muCutoff{this}; + + // children + Field crossSection{this}; + Field distribution{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->muCutoff, \ + this->crossSection, \ + this->distribution) + + // default, and from fields + explicit NuclearPlusInterference( + const wrapper &muCutoff = {}, + const wrapper &crossSection = {}, + const wrapper &distribution = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + muCutoff(this,muCutoff), + crossSection(this,crossSection), + distribution(this,distribution) + { + Component::finish(); + } + + // from node + explicit NuclearPlusInterference(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + NuclearPlusInterference(const NuclearPlusInterference &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + NuclearPlusInterference(NuclearPlusInterference &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + NuclearPlusInterference &operator=(const NuclearPlusInterference &) = default; + NuclearPlusInterference &operator=(NuclearPlusInterference &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/cpTransport/NuclearPlusInterference/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class NuclearPlusInterference + +} // namespace cpTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearPlusInterference/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearPlusInterference/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearPlusInterference/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm.hpp new file mode 100644 index 000000000..f6413c1ee --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CPTRANSPORT_NUCLEARTERM +#define TRY_V2_0_CPTRANSPORT_NUCLEARTERM + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" + +namespace try { +namespace v2_0 { +namespace cpTransport { + +// ----------------------------------------------------------------------------- +// cpTransport:: +// class NuclearTerm +// ----------------------------------------------------------------------------- + +class NuclearTerm : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "cpTransport"; } + static auto CLASS() { return "NuclearTerm"; } + static auto FIELD() { return "nuclearTerm"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs2d") | + std::optional{} + / --Child<>("regions2d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs2d{this}; + Field> regions2d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs2d, \ + this->regions2d) + + // default, and from fields + explicit NuclearTerm( + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs2d(this,XYs2d), + regions2d(this,regions2d) + { + Component::finish(); + } + + // from node + explicit NuclearTerm(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + NuclearTerm(const NuclearTerm &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + NuclearTerm(NuclearTerm &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + NuclearTerm &operator=(const NuclearTerm &) = default; + NuclearTerm &operator=(NuclearTerm &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/cpTransport/NuclearTerm/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class NuclearTerm + +} // namespace cpTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp new file mode 100644 index 000000000..48d9360ba --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM +#define TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" + +namespace try { +namespace v2_0 { +namespace cpTransport { + +// ----------------------------------------------------------------------------- +// cpTransport:: +// class RealInterferenceTerm +// ----------------------------------------------------------------------------- + +class RealInterferenceTerm : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "cpTransport"; } + static auto CLASS() { return "RealInterferenceTerm"; } + static auto FIELD() { return "realInterferenceTerm"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs2d") | + std::optional{} + / --Child<>("regions2d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs2d{this}; + Field> regions2d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs2d, \ + this->regions2d) + + // default, and from fields + explicit RealInterferenceTerm( + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs2d(this,XYs2d), + regions2d(this,regions2d) + { + Component::finish(); + } + + // from node + explicit RealInterferenceTerm(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + RealInterferenceTerm(const RealInterferenceTerm &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + RealInterferenceTerm(RealInterferenceTerm &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + RealInterferenceTerm &operator=(const RealInterferenceTerm &) = default; + RealInterferenceTerm &operator=(RealInterferenceTerm &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class RealInterferenceTerm + +} // namespace cpTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering.hpp new file mode 100644 index 000000000..5a9dc3509 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING +#define TRY_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace cpTransport { + +// ----------------------------------------------------------------------------- +// cpTransport:: +// class RutherfordScattering +// ----------------------------------------------------------------------------- + +class RutherfordScattering : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "cpTransport"; } + static auto CLASS() { return "RutherfordScattering"; } + static auto FIELD() { return "RutherfordScattering"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + RutherfordScattering() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit RutherfordScattering(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + RutherfordScattering(const RutherfordScattering &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + RutherfordScattering(RutherfordScattering &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + RutherfordScattering &operator=(const RutherfordScattering &) = default; + RutherfordScattering &operator=(RutherfordScattering &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/cpTransport/RutherfordScattering/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class RutherfordScattering + +} // namespace cpTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract.hpp new file mode 100644 index 000000000..44aef4c3a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_ABSTRACT +#define TRY_V2_0_DOCUMENTATION_ABSTRACT + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Abstract +// ----------------------------------------------------------------------------- + +class Abstract : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Abstract"; } + static auto FIELD() { return "abstract"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Abstract( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit Abstract(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Abstract(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Abstract(const Abstract &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Abstract(Abstract &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Abstract &operator=(const Abstract &) = default; + Abstract &operator=(Abstract &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Abstract/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Abstract + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement.hpp new file mode 100644 index 000000000..70d7eca1c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT +#define TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Acknowledgement +// ----------------------------------------------------------------------------- + +class Acknowledgement : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Acknowledgement"; } + static auto FIELD() { return "acknowledgement"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + Field label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Acknowledgement( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {}, + const wrapper &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label), + label(this,label) + { + Component::finish(); + } + + // from node + explicit Acknowledgement(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Acknowledgement(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Acknowledgement(const Acknowledgement &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Acknowledgement(Acknowledgement &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Acknowledgement &operator=(const Acknowledgement &) = default; + Acknowledgement &operator=(Acknowledgement &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Acknowledgement/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Acknowledgement + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements.hpp new file mode 100644 index 000000000..97042df14 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS +#define TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS + +#include "try/v2.0/documentation/Acknowledgement.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Acknowledgements +// ----------------------------------------------------------------------------- + +class Acknowledgements : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Acknowledgements"; } + static auto FIELD() { return "acknowledgements"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::Acknowledgement{} + / ++Child<>("acknowledgement") + ; + } + +public: + using Component::construct; + + // children + Field> acknowledgement{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->acknowledgement) + + // default, and from fields + explicit Acknowledgements( + const wrapper> &acknowledgement = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + acknowledgement(this,acknowledgement) + { + Component::finish(); + } + + // from node + explicit Acknowledgements(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Acknowledgements(const Acknowledgements &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Acknowledgements(Acknowledgements &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Acknowledgements &operator=(const Acknowledgements &) = default; + Acknowledgements &operator=(Acknowledgements &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Acknowledgements/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Acknowledgements + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation.hpp new file mode 100644 index 000000000..46df60284 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_AFFILIATION +#define TRY_V2_0_DOCUMENTATION_AFFILIATION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Affiliation +// ----------------------------------------------------------------------------- + +class Affiliation : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Affiliation"; } + static auto FIELD() { return "affiliation"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + UTF8Text{} + / Meta<>("name") | + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name, \ + this->href) + + // default, and from fields + explicit Affiliation( + const wrapper &name = {}, + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Affiliation(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Affiliation(const Affiliation &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Affiliation(Affiliation &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Affiliation &operator=(const Affiliation &) = default; + Affiliation &operator=(Affiliation &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Affiliation/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Affiliation + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations.hpp new file mode 100644 index 000000000..25696406c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_AFFILIATIONS +#define TRY_V2_0_DOCUMENTATION_AFFILIATIONS + +#include "try/v2.0/documentation/Affiliation.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Affiliations +// ----------------------------------------------------------------------------- + +class Affiliations : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Affiliations"; } + static auto FIELD() { return "affiliations"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::Affiliation{} + / ++Child<>("affiliation") + ; + } + +public: + using Component::construct; + + // children + Field> affiliation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->affiliation) + + // default, and from fields + explicit Affiliations( + const wrapper> &affiliation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + affiliation(this,affiliation) + { + Component::finish(); + } + + // from node + explicit Affiliations(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Affiliations(const Affiliations &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Affiliations(Affiliations &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Affiliations &operator=(const Affiliations &) = default; + Affiliations &operator=(Affiliations &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Affiliations/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Affiliations + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Author.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Author.hpp new file mode 100644 index 000000000..095c81bba --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Author.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_AUTHOR +#define TRY_V2_0_DOCUMENTATION_AUTHOR + +#include "try/v2.0/documentation/Affiliations.hpp" +#include "try/v2.0/documentation/Note.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Author +// ----------------------------------------------------------------------------- + +class Author : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Author"; } + static auto FIELD() { return "author"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + UTF8Text{} + / Meta<>("name") | + std::optional{} + / Meta<>("orcid") | + std::optional{} + / Meta<>("email") | + // children + std::optional{} + / --Child<>("affiliations") | + std::optional{} + / --Child<>("note") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + Field> orcid{this}; + Field> email{this}; + + // children + Field> affiliations{this}; + Field> note{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name, \ + this->orcid, \ + this->email, \ + this->affiliations, \ + this->note) + + // default, and from fields + explicit Author( + const wrapper &name = {}, + const wrapper> &orcid = {}, + const wrapper> &email = {}, + const wrapper> &affiliations = {}, + const wrapper> ¬e = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name), + orcid(this,orcid), + email(this,email), + affiliations(this,affiliations), + note(this,note) + { + Component::finish(); + } + + // from node + explicit Author(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Author(const Author &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Author(Author &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Author &operator=(const Author &) = default; + Author &operator=(Author &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Author/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Author + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Author/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Author/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Author/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors.hpp new file mode 100644 index 000000000..d73f3659e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_AUTHORS +#define TRY_V2_0_DOCUMENTATION_AUTHORS + +#include "try/v2.0/documentation/Author.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Authors +// ----------------------------------------------------------------------------- + +class Authors : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Authors"; } + static auto FIELD() { return "authors"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::Author{} + / ++Child<>("author") + ; + } + +public: + using Component::construct; + + // children + Field> author{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->author) + + // default, and from fields + explicit Authors( + const wrapper> &author = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + author(this,author) + { + Component::finish(); + } + + // from node + explicit Authors(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Authors(const Authors &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Authors(Authors &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Authors &operator=(const Authors &) = default; + Authors &operator=(Authors &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Authors/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Authors + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem.hpp new file mode 100644 index 000000000..7deb76016 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_BIBITEM +#define TRY_V2_0_DOCUMENTATION_BIBITEM + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Bibitem +// ----------------------------------------------------------------------------- + +class Bibitem : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Bibitem"; } + static auto FIELD() { return "bibitem"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("xref") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + Field xref{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label, \ + this->xref) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Bibitem( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {}, + const wrapper &xref = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label), + xref(this,xref) + { + Component::finish(); + } + + // from node + explicit Bibitem(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Bibitem(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Bibitem(const Bibitem &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Bibitem(Bibitem &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Bibitem &operator=(const Bibitem &) = default; + Bibitem &operator=(Bibitem &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Bibitem/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Bibitem + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography.hpp new file mode 100644 index 000000000..f11bd8500 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_BIBLIOGRAPHY +#define TRY_V2_0_DOCUMENTATION_BIBLIOGRAPHY + +#include "try/v2.0/documentation/Bibitem.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Bibliography +// ----------------------------------------------------------------------------- + +class Bibliography : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Bibliography"; } + static auto FIELD() { return "bibliography"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::Bibitem{} + / ++Child<>("bibitem") + ; + } + +public: + using Component::construct; + + // children + Field> bibitem{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->bibitem) + + // default, and from fields + explicit Bibliography( + const wrapper> &bibitem = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + bibitem(this,bibitem) + { + Component::finish(); + } + + // from node + explicit Bibliography(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Bibliography(const Bibliography &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Bibliography(Bibliography &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Bibliography &operator=(const Bibliography &) = default; + Bibliography &operator=(Bibliography &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Bibliography/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Bibliography + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Body.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Body.hpp new file mode 100644 index 000000000..18b521954 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Body.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_BODY +#define TRY_V2_0_DOCUMENTATION_BODY + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Body +// ----------------------------------------------------------------------------- + +class Body : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Body"; } + static auto FIELD() { return "body"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Body( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit Body(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Body(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Body(const Body &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Body(Body &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Body &operator=(const Body &) = default; + Body &operator=(Body &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Body/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Body + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Body/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Body/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Body/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo.hpp new file mode 100644 index 000000000..50a7fa8e4 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo.hpp @@ -0,0 +1,124 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_CODEREPO +#define TRY_V2_0_DOCUMENTATION_CODEREPO + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class CodeRepo +// ----------------------------------------------------------------------------- + +class CodeRepo : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "CodeRepo"; } + static auto FIELD() { return "codeRepo"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("revisionSystem") | + XMLName{} + / Meta<>("href") | + XMLName{} + / Meta<>("revisionID") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field revisionSystem{this}; + Field href{this}; + Field revisionID{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->revisionSystem, \ + this->href, \ + this->revisionID) + + // default, and from fields + explicit CodeRepo( + const wrapper> &label = {}, + const wrapper &revisionSystem = {}, + const wrapper &href = {}, + const wrapper &revisionID = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + revisionSystem(this,revisionSystem), + href(this,href), + revisionID(this,revisionID) + { + Component::finish(); + } + + // from node + explicit CodeRepo(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CodeRepo(const CodeRepo &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CodeRepo(CodeRepo &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CodeRepo &operator=(const CodeRepo &) = default; + CodeRepo &operator=(CodeRepo &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/CodeRepo/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CodeRepo + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration.hpp new file mode 100644 index 000000000..1ce19a7ed --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_COLLABORATION +#define TRY_V2_0_DOCUMENTATION_COLLABORATION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Collaboration +// ----------------------------------------------------------------------------- + +class Collaboration : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Collaboration"; } + static auto FIELD() { return "collaboration"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + UTF8Text{} + / Meta<>("name") | + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name, \ + this->href) + + // default, and from fields + explicit Collaboration( + const wrapper &name = {}, + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Collaboration(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Collaboration(const Collaboration &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Collaboration(Collaboration &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Collaboration &operator=(const Collaboration &) = default; + Collaboration &operator=(Collaboration &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Collaboration/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Collaboration + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations.hpp new file mode 100644 index 000000000..68728f1ef --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_COLLABORATIONS +#define TRY_V2_0_DOCUMENTATION_COLLABORATIONS + +#include "try/v2.0/documentation/Collaboration.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Collaborations +// ----------------------------------------------------------------------------- + +class Collaborations : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Collaborations"; } + static auto FIELD() { return "collaborations"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::Collaboration{} + / ++Child<>("collaboration") + ; + } + +public: + using Component::construct; + + // children + Field> collaboration{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->collaboration) + + // default, and from fields + explicit Collaborations( + const wrapper> &collaboration = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + collaboration(this,collaboration) + { + Component::finish(); + } + + // from node + explicit Collaborations(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Collaborations(const Collaborations &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Collaborations(Collaborations &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Collaborations &operator=(const Collaborations &) = default; + Collaborations &operator=(Collaborations &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Collaborations/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Collaborations + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode.hpp new file mode 100644 index 000000000..abfc70a94 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode.hpp @@ -0,0 +1,155 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_COMPUTERCODE +#define TRY_V2_0_DOCUMENTATION_COMPUTERCODE + +#include "try/v2.0/documentation/ExecutionArguments.hpp" +#include "try/v2.0/documentation/CodeRepo.hpp" +#include "try/v2.0/documentation/Note.hpp" +#include "try/v2.0/documentation/InputDecks.hpp" +#include "try/v2.0/documentation/OutputDecks.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class ComputerCode +// ----------------------------------------------------------------------------- + +class ComputerCode : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "ComputerCode"; } + static auto FIELD() { return "computerCode"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + UTF8Text{} + / Meta<>("name") | + XMLName{} + / Meta<>("version") | + // children + std::optional{} + / --Child<>("executionArguments") | + std::optional{} + / --Child<>("codeRepo") | + std::optional{} + / --Child<>("note") | + std::optional{} + / --Child<>("inputDecks") | + std::optional{} + / --Child<>("outputDecks") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field name{this}; + Field version{this}; + + // children + Field> executionArguments{this}; + Field> codeRepo{this}; + Field> note{this}; + Field> inputDecks{this}; + Field> outputDecks{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->name, \ + this->version, \ + this->executionArguments, \ + this->codeRepo, \ + this->note, \ + this->inputDecks, \ + this->outputDecks) + + // default, and from fields + explicit ComputerCode( + const wrapper> &label = {}, + const wrapper &name = {}, + const wrapper &version = {}, + const wrapper> &executionArguments = {}, + const wrapper> &codeRepo = {}, + const wrapper> ¬e = {}, + const wrapper> &inputDecks = {}, + const wrapper> &outputDecks = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + name(this,name), + version(this,version), + executionArguments(this,executionArguments), + codeRepo(this,codeRepo), + note(this,note), + inputDecks(this,inputDecks), + outputDecks(this,outputDecks) + { + Component::finish(); + } + + // from node + explicit ComputerCode(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ComputerCode(const ComputerCode &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ComputerCode(ComputerCode &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ComputerCode &operator=(const ComputerCode &) = default; + ComputerCode &operator=(ComputerCode &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/ComputerCode/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ComputerCode + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes.hpp new file mode 100644 index 000000000..f2fcdb97a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_COMPUTERCODES +#define TRY_V2_0_DOCUMENTATION_COMPUTERCODES + +#include "try/v2.0/documentation/ComputerCode.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class ComputerCodes +// ----------------------------------------------------------------------------- + +class ComputerCodes : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "ComputerCodes"; } + static auto FIELD() { return "computerCodes"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::ComputerCode{} + / ++Child<>("computerCode") + ; + } + +public: + using Component::construct; + + // children + Field> computerCode{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->computerCode) + + // default, and from fields + explicit ComputerCodes( + const wrapper> &computerCode = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + computerCode(this,computerCode) + { + Component::finish(); + } + + // from node + explicit ComputerCodes(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ComputerCodes(const ComputerCodes &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ComputerCodes(ComputerCodes &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ComputerCodes &operator=(const ComputerCodes &) = default; + ComputerCodes &operator=(ComputerCodes &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/ComputerCodes/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ComputerCodes + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor.hpp new file mode 100644 index 000000000..0a9f2ccb6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_CONTRIBUTOR +#define TRY_V2_0_DOCUMENTATION_CONTRIBUTOR + +#include "try/v2.0/documentation/Affiliations.hpp" +#include "try/v2.0/documentation/Note.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Contributor +// ----------------------------------------------------------------------------- + +class Contributor : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Contributor"; } + static auto FIELD() { return "contributor"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + UTF8Text{} + / Meta<>("name") | + enums::ContributorType{} + / Meta<>("contributorType") | + std::optional{} + / Meta<>("orcid") | + std::optional{} + / Meta<>("email") | + // children + std::optional{} + / --Child<>("affiliations") | + std::optional{} + / --Child<>("note") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + Field contributorType{this}; + Field> orcid{this}; + Field> email{this}; + + // children + Field> affiliations{this}; + Field> note{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name, \ + this->contributorType, \ + this->orcid, \ + this->email, \ + this->affiliations, \ + this->note) + + // default, and from fields + explicit Contributor( + const wrapper &name = {}, + const wrapper &contributorType = {}, + const wrapper> &orcid = {}, + const wrapper> &email = {}, + const wrapper> &affiliations = {}, + const wrapper> ¬e = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name), + contributorType(this,contributorType), + orcid(this,orcid), + email(this,email), + affiliations(this,affiliations), + note(this,note) + { + Component::finish(); + } + + // from node + explicit Contributor(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Contributor(const Contributor &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Contributor(Contributor &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Contributor &operator=(const Contributor &) = default; + Contributor &operator=(Contributor &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Contributor/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Contributor + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors.hpp new file mode 100644 index 000000000..ae0e3936d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_CONTRIBUTORS +#define TRY_V2_0_DOCUMENTATION_CONTRIBUTORS + +#include "try/v2.0/documentation/Author.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Contributors +// ----------------------------------------------------------------------------- + +class Contributors : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Contributors"; } + static auto FIELD() { return "contributors"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::Author{} + / ++Child<>("contributor") + ; + } + +public: + using Component::construct; + + // children + Field> contributor{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->contributor) + + // default, and from fields + explicit Contributors( + const wrapper> &contributor = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + contributor(this,contributor) + { + Component::finish(); + } + + // from node + explicit Contributors(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Contributors(const Contributors &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Contributors(Contributors &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Contributors &operator=(const Contributors &) = default; + Contributors &operator=(Contributors &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Contributors/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Contributors + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright.hpp new file mode 100644 index 000000000..e2654d3f5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_COPYRIGHT +#define TRY_V2_0_DOCUMENTATION_COPYRIGHT + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Copyright +// ----------------------------------------------------------------------------- + +class Copyright : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Copyright"; } + static auto FIELD() { return "copyright"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label, \ + this->href) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Copyright( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {}, + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Copyright(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Copyright(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Copyright(const Copyright &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Copyright(Copyright &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Copyright &operator=(const Copyright &) = default; + Copyright &operator=(Copyright &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Copyright/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Copyright + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript.hpp new file mode 100644 index 000000000..e8afadfea --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_CORRECTIONSCRIPT +#define TRY_V2_0_DOCUMENTATION_CORRECTIONSCRIPT + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class CorrectionScript +// ----------------------------------------------------------------------------- + +class CorrectionScript : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "CorrectionScript"; } + static auto FIELD() { return "correctionScript"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit CorrectionScript( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit CorrectionScript(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + CorrectionScript(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + CorrectionScript(const CorrectionScript &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CorrectionScript(CorrectionScript &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CorrectionScript &operator=(const CorrectionScript &) = default; + CorrectionScript &operator=(CorrectionScript &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/CorrectionScript/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CorrectionScript + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript.hpp new file mode 100644 index 000000000..c3a22c10d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_COVARIANCESCRIPT +#define TRY_V2_0_DOCUMENTATION_COVARIANCESCRIPT + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class CovarianceScript +// ----------------------------------------------------------------------------- + +class CovarianceScript : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "CovarianceScript"; } + static auto FIELD() { return "covarianceScript"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit CovarianceScript( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit CovarianceScript(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + CovarianceScript(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + CovarianceScript(const CovarianceScript &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CovarianceScript(CovarianceScript &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CovarianceScript &operator=(const CovarianceScript &) = default; + CovarianceScript &operator=(CovarianceScript &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/CovarianceScript/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CovarianceScript + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Date.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Date.hpp new file mode 100644 index 000000000..8455d2364 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Date.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_DATE +#define TRY_V2_0_DOCUMENTATION_DATE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Date +// ----------------------------------------------------------------------------- + +class Date : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Date"; } + static auto FIELD() { return "date"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + enums::DateType{} + / Meta<>("dateType") | + std::string{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field dateType{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->dateType, \ + this->value) + + // default, and from fields + explicit Date( + const wrapper &dateType = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + dateType(this,dateType), + value(this,value) + { + Component::finish(); + } + + // from node + explicit Date(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Date(const Date &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Date(Date &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Date &operator=(const Date &) = default; + Date &operator=(Date &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Date/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Date + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Date/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Date/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Date/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates.hpp new file mode 100644 index 000000000..3ef623c52 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_DATES +#define TRY_V2_0_DOCUMENTATION_DATES + +#include "try/v2.0/documentation/Date.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Dates +// ----------------------------------------------------------------------------- + +class Dates : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Dates"; } + static auto FIELD() { return "dates"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::Date{} + / ++Child<>("date") + ; + } + +public: + using Component::construct; + + // children + Field> date{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date) + + // default, and from fields + explicit Dates( + const wrapper> &date = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date) + { + Component::finish(); + } + + // from node + explicit Dates(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Dates(const Dates &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Dates(Dates &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Dates &operator=(const Dates &) = default; + Dates &operator=(Dates &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Dates/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Dates + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation.hpp new file mode 100644 index 000000000..c01908f79 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation.hpp @@ -0,0 +1,225 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_DOCUMENTATION +#define TRY_V2_0_DOCUMENTATION_DOCUMENTATION + +#include "try/v2.0/documentation/Authors.hpp" +#include "try/v2.0/documentation/Contributors.hpp" +#include "try/v2.0/documentation/Collaborations.hpp" +#include "try/v2.0/documentation/Dates.hpp" +#include "try/v2.0/documentation/Copyright.hpp" +#include "try/v2.0/documentation/Acknowledgements.hpp" +#include "try/v2.0/documentation/Keywords.hpp" +#include "try/v2.0/documentation/RelatedItems.hpp" +#include "try/v2.0/documentation/Title.hpp" +#include "try/v2.0/documentation/Abstract.hpp" +#include "try/v2.0/documentation/Body.hpp" +#include "try/v2.0/documentation/ComputerCodes.hpp" +#include "try/v2.0/documentation/ExperimentalDataSets.hpp" +#include "try/v2.0/documentation/Bibliography.hpp" +#include "try/v2.0/documentation/EndfCompatible.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Documentation +// ----------------------------------------------------------------------------- + +class Documentation : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Documentation"; } + static auto FIELD() { return "documentation"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("doi") | + std::optional{} + / Meta<>("publicationDate") | + std::optional{} + / Meta<>("version") | + // children + documentation::Authors{} + / --Child<>("authors") | + std::optional{} + / --Child<>("contributors") | + std::optional{} + / --Child<>("collaborations") | + documentation::Dates{} + / --Child<>("dates") | + std::optional{} + / --Child<>("copyright") | + std::optional{} + / --Child<>("acknowledgements") | + std::optional{} + / --Child<>("keywords") | + std::optional{} + / --Child<>("relatedItems") | + documentation::Title{} + / --Child<>("title") | + std::optional{} + / --Child<>("abstract") | + documentation::Body{} + / --Child<>("body") | + std::optional{} + / --Child<>("computerCodes") | + std::optional{} + / --Child<>("experimentalDataSets") | + std::optional{} + / --Child<>("bibliography") | + std::optional{} + / --Child<>("endfCompatible") + ; + } + +public: + using Component::construct; + + // metadata + Field> doi{this}; + Field> publicationDate{this}; + Field> version{this}; + + // children + Field authors{this}; + Field> contributors{this}; + Field> collaborations{this}; + Field dates{this}; + Field> copyright{this}; + Field> acknowledgements{this}; + Field> keywords{this}; + Field> relatedItems{this}; + Field title{this}; + Field> abstract{this}; + Field body{this}; + Field> computerCodes{this}; + Field> experimentalDataSets{this}; + Field> bibliography{this}; + Field> endfCompatible{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->doi, \ + this->publicationDate, \ + this->version, \ + this->authors, \ + this->contributors, \ + this->collaborations, \ + this->dates, \ + this->copyright, \ + this->acknowledgements, \ + this->keywords, \ + this->relatedItems, \ + this->title, \ + this->abstract, \ + this->body, \ + this->computerCodes, \ + this->experimentalDataSets, \ + this->bibliography, \ + this->endfCompatible) + + // default, and from fields + explicit Documentation( + const wrapper> &doi = {}, + const wrapper> &publicationDate = {}, + const wrapper> &version = {}, + const wrapper &authors = {}, + const wrapper> &contributors = {}, + const wrapper> &collaborations = {}, + const wrapper &dates = {}, + const wrapper> ©right = {}, + const wrapper> &acknowledgements = {}, + const wrapper> &keywords = {}, + const wrapper> &relatedItems = {}, + const wrapper &title = {}, + const wrapper> &abstract = {}, + const wrapper &body = {}, + const wrapper> &computerCodes = {}, + const wrapper> &experimentalDataSets = {}, + const wrapper> &bibliography = {}, + const wrapper> &endfCompatible = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + doi(this,doi), + publicationDate(this,publicationDate), + version(this,version), + authors(this,authors), + contributors(this,contributors), + collaborations(this,collaborations), + dates(this,dates), + copyright(this,copyright), + acknowledgements(this,acknowledgements), + keywords(this,keywords), + relatedItems(this,relatedItems), + title(this,title), + abstract(this,abstract), + body(this,body), + computerCodes(this,computerCodes), + experimentalDataSets(this,experimentalDataSets), + bibliography(this,bibliography), + endfCompatible(this,endfCompatible) + { + Component::finish(); + } + + // from node + explicit Documentation(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Documentation(const Documentation &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Documentation(Documentation &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Documentation &operator=(const Documentation &) = default; + Documentation &operator=(Documentation &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Documentation/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Documentation + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible.hpp new file mode 100644 index 000000000..2db396ded --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_ENDFCOMPATIBLE +#define TRY_V2_0_DOCUMENTATION_ENDFCOMPATIBLE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class EndfCompatible +// ----------------------------------------------------------------------------- + +class EndfCompatible : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "EndfCompatible"; } + static auto FIELD() { return "endfCompatible"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit EndfCompatible( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit EndfCompatible(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + EndfCompatible(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + EndfCompatible(const EndfCompatible &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + EndfCompatible(EndfCompatible &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EndfCompatible &operator=(const EndfCompatible &) = default; + EndfCompatible &operator=(EndfCompatible &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/EndfCompatible/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EndfCompatible + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments.hpp new file mode 100644 index 000000000..b653606bb --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS +#define TRY_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class ExecutionArguments +// ----------------------------------------------------------------------------- + +class ExecutionArguments : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "ExecutionArguments"; } + static auto FIELD() { return "executionArguments"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit ExecutionArguments( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit ExecutionArguments(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + ExecutionArguments(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + ExecutionArguments(const ExecutionArguments &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ExecutionArguments(ExecutionArguments &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ExecutionArguments &operator=(const ExecutionArguments &) = default; + ExecutionArguments &operator=(ExecutionArguments &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/ExecutionArguments/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ExecutionArguments + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet.hpp new file mode 100644 index 000000000..9199bd285 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet.hpp @@ -0,0 +1,135 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_EXFORDATASET +#define TRY_V2_0_DOCUMENTATION_EXFORDATASET + +#include "try/v2.0/documentation/CovarianceScript.hpp" +#include "try/v2.0/documentation/CorrectionScript.hpp" +#include "try/v2.0/documentation/Note.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class ExforDataSet +// ----------------------------------------------------------------------------- + +class ExforDataSet : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "ExforDataSet"; } + static auto FIELD() { return "exforDataSet"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("subentry") | + std::string{} + / Meta<>("retrievalDate") | + // children + std::optional{} + / --Child<>("covarianceScript") | + std::optional{} + / --Child<>("correctionScript") | + std::optional{} + / --Child<>("note") + ; + } + +public: + using Component::construct; + + // metadata + Field subentry{this}; + Field retrievalDate{this}; + + // children + Field> covarianceScript{this}; + Field> correctionScript{this}; + Field> note{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->subentry, \ + this->retrievalDate, \ + this->covarianceScript, \ + this->correctionScript, \ + this->note) + + // default, and from fields + explicit ExforDataSet( + const wrapper &subentry = {}, + const wrapper &retrievalDate = {}, + const wrapper> &covarianceScript = {}, + const wrapper> &correctionScript = {}, + const wrapper> ¬e = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + subentry(this,subentry), + retrievalDate(this,retrievalDate), + covarianceScript(this,covarianceScript), + correctionScript(this,correctionScript), + note(this,note) + { + Component::finish(); + } + + // from node + explicit ExforDataSet(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ExforDataSet(const ExforDataSet &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ExforDataSet(ExforDataSet &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ExforDataSet &operator=(const ExforDataSet &) = default; + ExforDataSet &operator=(ExforDataSet &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/ExforDataSet/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ExforDataSet + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets.hpp new file mode 100644 index 000000000..65c3c5fdf --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_EXFORDATASETS +#define TRY_V2_0_DOCUMENTATION_EXFORDATASETS + +#include "try/v2.0/documentation/ExforDataSet.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class ExforDataSets +// ----------------------------------------------------------------------------- + +class ExforDataSets : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "ExforDataSets"; } + static auto FIELD() { return "exforDataSets"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::ExforDataSet{} + / ++Child<>("exforDataSet") + ; + } + +public: + using Component::construct; + + // children + Field> exforDataSet{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->exforDataSet) + + // default, and from fields + explicit ExforDataSets( + const wrapper> &exforDataSet = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + exforDataSet(this,exforDataSet) + { + Component::finish(); + } + + // from node + explicit ExforDataSets(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ExforDataSets(const ExforDataSets &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ExforDataSets(ExforDataSets &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ExforDataSets &operator=(const ExforDataSets &) = default; + ExforDataSets &operator=(ExforDataSets &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/ExforDataSets/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ExforDataSets + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets.hpp new file mode 100644 index 000000000..9135bae89 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS +#define TRY_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS + +#include "try/v2.0/documentation/ExforDataSets.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class ExperimentalDataSets +// ----------------------------------------------------------------------------- + +class ExperimentalDataSets : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "ExperimentalDataSets"; } + static auto FIELD() { return "experimentalDataSets"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::ExforDataSets{} + / --Child<>("exforDataSets") + ; + } + +public: + using Component::construct; + + // children + Field exforDataSets{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->exforDataSets) + + // default, and from fields + explicit ExperimentalDataSets( + const wrapper &exforDataSets = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + exforDataSets(this,exforDataSets) + { + Component::finish(); + } + + // from node + explicit ExperimentalDataSets(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ExperimentalDataSets(const ExperimentalDataSets &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ExperimentalDataSets(ExperimentalDataSets &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ExperimentalDataSets &operator=(const ExperimentalDataSets &) = default; + ExperimentalDataSets &operator=(ExperimentalDataSets &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/ExperimentalDataSets/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ExperimentalDataSets + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck.hpp new file mode 100644 index 000000000..bdc30b2c1 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_INPUTDECK +#define TRY_V2_0_DOCUMENTATION_INPUTDECK + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class InputDeck +// ----------------------------------------------------------------------------- + +class InputDeck : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "InputDeck"; } + static auto FIELD() { return "inputDeck"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("filename") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + Field> filename{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label, \ + this->filename) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit InputDeck( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {}, + const wrapper> &filename = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label), + filename(this,filename) + { + Component::finish(); + } + + // from node + explicit InputDeck(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + InputDeck(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + InputDeck(const InputDeck &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + InputDeck(InputDeck &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + InputDeck &operator=(const InputDeck &) = default; + InputDeck &operator=(InputDeck &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/InputDeck/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class InputDeck + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks.hpp new file mode 100644 index 000000000..f73f71c2b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_INPUTDECKS +#define TRY_V2_0_DOCUMENTATION_INPUTDECKS + +#include "try/v2.0/documentation/InputDeck.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class InputDecks +// ----------------------------------------------------------------------------- + +class InputDecks : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "InputDecks"; } + static auto FIELD() { return "inputDecks"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::InputDeck{} + / ++Child<>("inputDeck") + ; + } + +public: + using Component::construct; + + // children + Field> inputDeck{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->inputDeck) + + // default, and from fields + explicit InputDecks( + const wrapper> &inputDeck = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + inputDeck(this,inputDeck) + { + Component::finish(); + } + + // from node + explicit InputDecks(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + InputDecks(const InputDecks &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + InputDecks(InputDecks &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + InputDecks &operator=(const InputDecks &) = default; + InputDecks &operator=(InputDecks &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/InputDecks/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class InputDecks + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword.hpp new file mode 100644 index 000000000..217416ce5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_KEYWORD +#define TRY_V2_0_DOCUMENTATION_KEYWORD + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Keyword +// ----------------------------------------------------------------------------- + +class Keyword : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Keyword"; } + static auto FIELD() { return "keyword"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("type") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + Field type{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label, \ + this->type) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Keyword( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {}, + const wrapper &type = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label), + type(this,type) + { + Component::finish(); + } + + // from node + explicit Keyword(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Keyword(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Keyword(const Keyword &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Keyword(Keyword &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Keyword &operator=(const Keyword &) = default; + Keyword &operator=(Keyword &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Keyword/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Keyword + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords.hpp new file mode 100644 index 000000000..92bffcbe3 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_KEYWORDS +#define TRY_V2_0_DOCUMENTATION_KEYWORDS + +#include "try/v2.0/documentation/Keyword.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Keywords +// ----------------------------------------------------------------------------- + +class Keywords : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Keywords"; } + static auto FIELD() { return "keywords"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::Keyword{} + / ++Child<>("keyword") + ; + } + +public: + using Component::construct; + + // children + Field> keyword{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->keyword) + + // default, and from fields + explicit Keywords( + const wrapper> &keyword = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + keyword(this,keyword) + { + Component::finish(); + } + + // from node + explicit Keywords(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Keywords(const Keywords &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Keywords(Keywords &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Keywords &operator=(const Keywords &) = default; + Keywords &operator=(Keywords &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Keywords/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Keywords + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Note.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Note.hpp new file mode 100644 index 000000000..86c485572 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Note.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_NOTE +#define TRY_V2_0_DOCUMENTATION_NOTE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Note +// ----------------------------------------------------------------------------- + +class Note : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Note"; } + static auto FIELD() { return "note"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Note( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit Note(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Note(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Note(const Note &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Note(Note &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Note &operator=(const Note &) = default; + Note &operator=(Note &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Note/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Note + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Note/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Note/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Note/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck.hpp new file mode 100644 index 000000000..11e045e5f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_OUTPUTDECK +#define TRY_V2_0_DOCUMENTATION_OUTPUTDECK + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class OutputDeck +// ----------------------------------------------------------------------------- + +class OutputDeck : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "OutputDeck"; } + static auto FIELD() { return "outputDeck"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("filename") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + Field> filename{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label, \ + this->filename) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit OutputDeck( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {}, + const wrapper> &filename = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label), + filename(this,filename) + { + Component::finish(); + } + + // from node + explicit OutputDeck(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + OutputDeck(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + OutputDeck(const OutputDeck &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + OutputDeck(OutputDeck &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + OutputDeck &operator=(const OutputDeck &) = default; + OutputDeck &operator=(OutputDeck &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/OutputDeck/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class OutputDeck + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks.hpp new file mode 100644 index 000000000..12213d467 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_OUTPUTDECKS +#define TRY_V2_0_DOCUMENTATION_OUTPUTDECKS + +#include "try/v2.0/documentation/OutputDeck.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class OutputDecks +// ----------------------------------------------------------------------------- + +class OutputDecks : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "OutputDecks"; } + static auto FIELD() { return "outputDecks"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::OutputDeck{} + / ++Child<>("outputDeck") + ; + } + +public: + using Component::construct; + + // children + Field> outputDeck{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->outputDeck) + + // default, and from fields + explicit OutputDecks( + const wrapper> &outputDeck = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + outputDeck(this,outputDeck) + { + Component::finish(); + } + + // from node + explicit OutputDecks(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + OutputDecks(const OutputDecks &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + OutputDecks(OutputDecks &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + OutputDecks &operator=(const OutputDecks &) = default; + OutputDecks &operator=(OutputDecks &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/OutputDecks/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class OutputDecks + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem.hpp new file mode 100644 index 000000000..ff36a3a65 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_RELATEDITEM +#define TRY_V2_0_DOCUMENTATION_RELATEDITEM + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class RelatedItem +// ----------------------------------------------------------------------------- + +class RelatedItem : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "RelatedItem"; } + static auto FIELD() { return "relatedItem"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + UTF8Text{} + / Meta<>("name") | + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("relationType") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + Field> href{this}; + Field> relationType{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name, \ + this->href, \ + this->relationType) + + // default, and from fields + explicit RelatedItem( + const wrapper &name = {}, + const wrapper> &href = {}, + const wrapper> &relationType = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name), + href(this,href), + relationType(this,relationType) + { + Component::finish(); + } + + // from node + explicit RelatedItem(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + RelatedItem(const RelatedItem &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + RelatedItem(RelatedItem &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + RelatedItem &operator=(const RelatedItem &) = default; + RelatedItem &operator=(RelatedItem &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/RelatedItem/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class RelatedItem + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems.hpp new file mode 100644 index 000000000..533085b65 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_RELATEDITEMS +#define TRY_V2_0_DOCUMENTATION_RELATEDITEMS + +#include "try/v2.0/documentation/RelatedItem.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class RelatedItems +// ----------------------------------------------------------------------------- + +class RelatedItems : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "RelatedItems"; } + static auto FIELD() { return "relatedItems"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + documentation::RelatedItem{} + / ++Child<>("relatedItem") + ; + } + +public: + using Component::construct; + + // children + Field> relatedItem{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->relatedItem) + + // default, and from fields + explicit RelatedItems( + const wrapper> &relatedItem = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + relatedItem(this,relatedItem) + { + Component::finish(); + } + + // from node + explicit RelatedItems(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + RelatedItems(const RelatedItems &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + RelatedItems(RelatedItems &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + RelatedItems &operator=(const RelatedItems &) = default; + RelatedItems &operator=(RelatedItems &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/RelatedItems/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class RelatedItems + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Title.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Title.hpp new file mode 100644 index 000000000..b6f73a2d4 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Title.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_TITLE +#define TRY_V2_0_DOCUMENTATION_TITLE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Title +// ----------------------------------------------------------------------------- + +class Title : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Title"; } + static auto FIELD() { return "title"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Title( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit Title(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Title(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Title(const Title &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Title(Title &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Title &operator=(const Title &) = default; + Title &operator=(Title &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Title/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Title + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Title/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Title/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Title/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Version.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Version.hpp new file mode 100644 index 000000000..cadf0d1b2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Version.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_DOCUMENTATION_VERSION +#define TRY_V2_0_DOCUMENTATION_VERSION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace documentation { + +// ----------------------------------------------------------------------------- +// documentation:: +// class Version +// ----------------------------------------------------------------------------- + +class Version : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "documentation"; } + static auto CLASS() { return "Version"; } + static auto FIELD() { return "version"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"ascii"} + / Meta<>("encoding") | + Defaulted{"enums::GridStyle::none"} + / Meta<>("markup") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const XMLName encoding = "ascii"; + static inline const std::string markup = "enums::GridStyle::none"; + } defaults; + + // metadata + Field> encoding{this,defaults.encoding}; + Field> markup{this,defaults.markup}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->encoding, \ + this->markup, \ + this->label) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Version( + const wrapper> &encoding = {}, + const wrapper> &markup = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + encoding(this,defaults.encoding,encoding), + markup(this,defaults.markup,markup), + label(this,label) + { + Component::finish(); + } + + // from node + explicit Version(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Version(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Version(const Version &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Version(Version &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Version &operator=(const Version &) = default; + Version &operator=(Version &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/documentation/Version/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Version + +} // namespace documentation +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Version/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/documentation/Version/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/documentation/Version/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp new file mode 100644 index 000000000..eeaec586f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON +#define TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON + +#include "try/v2.0/fissionFragmentData/Rate.hpp" +#include "try/v2.0/ambiguousNamespace/Product.hpp" + +namespace try { +namespace v2_0 { +namespace fissionFragmentData { + +// ----------------------------------------------------------------------------- +// fissionFragmentData:: +// class DelayedNeutron +// ----------------------------------------------------------------------------- + +class DelayedNeutron : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionFragmentData"; } + static auto CLASS() { return "DelayedNeutron"; } + static auto FIELD() { return "delayedNeutron"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + fissionFragmentData::Rate{} + / --Child<>("rate") | + ambiguousNamespace::Product{} + / --Child<>("product") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field rate{this}; + Field product{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->rate, \ + this->product) + + // default, and from fields + explicit DelayedNeutron( + const wrapper &label = {}, + const wrapper &rate = {}, + const wrapper &product = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + rate(this,rate), + product(this,product) + { + Component::finish(); + } + + // from node + explicit DelayedNeutron(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DelayedNeutron(const DelayedNeutron &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DelayedNeutron(DelayedNeutron &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DelayedNeutron &operator=(const DelayedNeutron &) = default; + DelayedNeutron &operator=(DelayedNeutron &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DelayedNeutron + +} // namespace fissionFragmentData +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons.hpp new file mode 100644 index 000000000..b320a9e83 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS +#define TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS + +#include "try/v2.0/fissionFragmentData/DelayedNeutron.hpp" + +namespace try { +namespace v2_0 { +namespace fissionFragmentData { + +// ----------------------------------------------------------------------------- +// fissionFragmentData:: +// class DelayedNeutrons +// ----------------------------------------------------------------------------- + +class DelayedNeutrons : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionFragmentData"; } + static auto CLASS() { return "DelayedNeutrons"; } + static auto FIELD() { return "delayedNeutrons"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + fissionFragmentData::DelayedNeutron{} + / ++Child<>("delayedNeutron") + ; + } + +public: + using Component::construct; + + // children + Field> delayedNeutron{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->delayedNeutron) + + // default, and from fields + explicit DelayedNeutrons( + const wrapper> &delayedNeutron = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + delayedNeutron(this,delayedNeutron) + { + Component::finish(); + } + + // from node + explicit DelayedNeutrons(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DelayedNeutrons(const DelayedNeutrons &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DelayedNeutrons(DelayedNeutrons &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DelayedNeutrons &operator=(const DelayedNeutrons &) = default; + DelayedNeutrons &operator=(DelayedNeutrons &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DelayedNeutrons + +} // namespace fissionFragmentData +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData.hpp new file mode 100644 index 000000000..ec947056d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA +#define TRY_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA + +#include "try/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "try/v2.0/fissionTransport/FissionEnergyReleased.hpp" +#include "try/v2.0/fpy/ProductYields.hpp" + +namespace try { +namespace v2_0 { +namespace fissionFragmentData { + +// ----------------------------------------------------------------------------- +// fissionFragmentData:: +// class FissionFragmentData +// ----------------------------------------------------------------------------- + +class FissionFragmentData : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionFragmentData"; } + static auto CLASS() { return "FissionFragmentData"; } + static auto FIELD() { return "fissionFragmentData"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("delayedNeutrons") | + std::optional{} + / --Child<>("fissionEnergyReleased") | + std::optional{} + / --Child<>("productYields") + ; + } + +public: + using Component::construct; + + // children + Field> delayedNeutrons{this}; + Field> fissionEnergyReleased{this}; + Field> productYields{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->delayedNeutrons, \ + this->fissionEnergyReleased, \ + this->productYields) + + // default, and from fields + explicit FissionFragmentData( + const wrapper> &delayedNeutrons = {}, + const wrapper> &fissionEnergyReleased = {}, + const wrapper> &productYields = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + delayedNeutrons(this,delayedNeutrons), + fissionEnergyReleased(this,fissionEnergyReleased), + productYields(this,productYields) + { + Component::finish(); + } + + // from node + explicit FissionFragmentData(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + FissionFragmentData(const FissionFragmentData &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + FissionFragmentData(FissionFragmentData &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + FissionFragmentData &operator=(const FissionFragmentData &) = default; + FissionFragmentData &operator=(FissionFragmentData &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionFragmentData/FissionFragmentData/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class FissionFragmentData + +} // namespace fissionFragmentData +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate.hpp new file mode 100644 index 000000000..7ad7f53e8 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONFRAGMENTDATA_RATE +#define TRY_V2_0_FISSIONFRAGMENTDATA_RATE + +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace fissionFragmentData { + +// ----------------------------------------------------------------------------- +// fissionFragmentData:: +// class Rate +// ----------------------------------------------------------------------------- + +class Rate : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionFragmentData"; } + static auto CLASS() { return "Rate"; } + static auto FIELD() { return "rate"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Double{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit Rate( + const wrapper &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Rate(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Rate(const Rate &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Rate(Rate &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Rate &operator=(const Rate &) = default; + Rate &operator=(Rate &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionFragmentData/Rate/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Rate + +} // namespace fissionFragmentData +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A.hpp new file mode 100644 index 000000000..34066a396 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_A +#define TRY_V2_0_FISSIONTRANSPORT_A + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class A +// ----------------------------------------------------------------------------- + +class A : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "A"; } + static auto FIELD() { return "a"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + A() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit A(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + A(const A &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + A(A &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + A &operator=(const A &) = default; + A &operator=(A &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/A/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class A + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B.hpp new file mode 100644 index 000000000..c2f3df3b7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_B +#define TRY_V2_0_FISSIONTRANSPORT_B + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class B +// ----------------------------------------------------------------------------- + +class B : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "B"; } + static auto FIELD() { return "b"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + B() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit B(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + B(const B &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + B(B &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + B &operator=(const B &) = default; + B &operator=(B &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/B/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class B + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp new file mode 100644 index 000000000..beb040424 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY +#define TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY + +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class DelayedBetaEnergy +// ----------------------------------------------------------------------------- + +class DelayedBetaEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "DelayedBetaEnergy"; } + static auto FIELD() { return "delayedBetaEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->polynomial1d) + + // default, and from fields + explicit DelayedBetaEnergy( + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit DelayedBetaEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DelayedBetaEnergy(const DelayedBetaEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DelayedBetaEnergy(DelayedBetaEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DelayedBetaEnergy &operator=(const DelayedBetaEnergy &) = default; + DelayedBetaEnergy &operator=(DelayedBetaEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DelayedBetaEnergy + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp new file mode 100644 index 000000000..64c8dee1b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY +#define TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY + +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class DelayedGammaEnergy +// ----------------------------------------------------------------------------- + +class DelayedGammaEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "DelayedGammaEnergy"; } + static auto FIELD() { return "delayedGammaEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->polynomial1d) + + // default, and from fields + explicit DelayedGammaEnergy( + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit DelayedGammaEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DelayedGammaEnergy(const DelayedGammaEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DelayedGammaEnergy(DelayedGammaEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DelayedGammaEnergy &operator=(const DelayedGammaEnergy &) = default; + DelayedGammaEnergy &operator=(DelayedGammaEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/DelayedGammaEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DelayedGammaEnergy + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE.hpp new file mode 100644 index 000000000..c080e1a01 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE +#define TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class DelayedNeutronKE +// ----------------------------------------------------------------------------- + +class DelayedNeutronKE : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "DelayedNeutronKE"; } + static auto FIELD() { return "delayedNeutronKE"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->polynomial1d) + + // default, and from fields + explicit DelayedNeutronKE( + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit DelayedNeutronKE(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DelayedNeutronKE(const DelayedNeutronKE &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DelayedNeutronKE(DelayedNeutronKE &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DelayedNeutronKE &operator=(const DelayedNeutronKE &) = default; + DelayedNeutronKE &operator=(DelayedNeutronKE &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DelayedNeutronKE + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH.hpp new file mode 100644 index 000000000..cd367630d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_EFH +#define TRY_V2_0_FISSIONTRANSPORT_EFH + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class EFH +// ----------------------------------------------------------------------------- + +class EFH : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "EFH"; } + static auto FIELD() { return "EFH"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("unit") | + Float64{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unit, \ + this->value) + + // default, and from fields + explicit EFH( + const wrapper &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit EFH(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + EFH(const EFH &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + EFH(EFH &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EFH &operator=(const EFH &) = default; + EFH &operator=(EFH &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/EFH/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EFH + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL.hpp new file mode 100644 index 000000000..77f9c997e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_EFL +#define TRY_V2_0_FISSIONTRANSPORT_EFL + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class EFL +// ----------------------------------------------------------------------------- + +class EFL : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "EFL"; } + static auto FIELD() { return "EFL"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("unit") | + Float64{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unit, \ + this->value) + + // default, and from fields + explicit EFL( + const wrapper &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit EFL(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + EFL(const EFL &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + EFL(EFL &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EFL &operator=(const EFL &) = default; + EFL &operator=(EFL &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/EFL/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EFL + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent.hpp new file mode 100644 index 000000000..0f931e232 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT +#define TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT + +#include "try/v2.0/transport/CrossSection.hpp" +#include "try/v2.0/transport/OutputChannel.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class FissionComponent +// ----------------------------------------------------------------------------- + +class FissionComponent : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "FissionComponent"; } + static auto FIELD() { return "fissionComponent"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("ENDF_MT") | + XMLName{} + / Meta<>("fissionGenre") | + XMLName{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("crossSection") | + std::optional{} + / --Child<>("outputChannel") + ; + } + +public: + using Component::construct; + + // metadata + Field> ENDF_MT{this}; + Field fissionGenre{this}; + Field label{this}; + + // children + Field> crossSection{this}; + Field> outputChannel{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MT, \ + this->fissionGenre, \ + this->label, \ + this->crossSection, \ + this->outputChannel) + + // default, and from fields + explicit FissionComponent( + const wrapper> &ENDF_MT = {}, + const wrapper &fissionGenre = {}, + const wrapper &label = {}, + const wrapper> &crossSection = {}, + const wrapper> &outputChannel = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MT(this,ENDF_MT), + fissionGenre(this,fissionGenre), + label(this,label), + crossSection(this,crossSection), + outputChannel(this,outputChannel) + { + Component::finish(); + } + + // from node + explicit FissionComponent(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + FissionComponent(const FissionComponent &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + FissionComponent(FissionComponent &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + FissionComponent &operator=(const FissionComponent &) = default; + FissionComponent &operator=(FissionComponent &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/FissionComponent/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class FissionComponent + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents.hpp new file mode 100644 index 000000000..1af32acc7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS +#define TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS + +#include "try/v2.0/fissionTransport/FissionComponent.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class FissionComponents +// ----------------------------------------------------------------------------- + +class FissionComponents : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "FissionComponents"; } + static auto FIELD() { return "fissionComponents"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("fissionComponent") + ; + } + +public: + using Component::construct; + + // children + Field>> fissionComponent{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->fissionComponent) + + // default, and from fields + explicit FissionComponents( + const wrapper>> &fissionComponent = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + fissionComponent(this,fissionComponent) + { + Component::finish(); + } + + // from node + explicit FissionComponents(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + FissionComponents(const FissionComponents &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + FissionComponents(FissionComponents &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + FissionComponents &operator=(const FissionComponents &) = default; + FissionComponents &operator=(FissionComponents &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/FissionComponents/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class FissionComponents + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased.hpp new file mode 100644 index 000000000..2427d8872 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased.hpp @@ -0,0 +1,171 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED +#define TRY_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED + +#include "try/v2.0/fissionTransport/DelayedBetaEnergy.hpp" +#include "try/v2.0/fissionTransport/DelayedGammaEnergy.hpp" +#include "try/v2.0/fissionTransport/DelayedNeutronKE.hpp" +#include "try/v2.0/fissionTransport/NeutrinoEnergy.hpp" +#include "try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "try/v2.0/fissionTransport/PromptGammaEnergy.hpp" +#include "try/v2.0/fissionTransport/PromptNeutronKE.hpp" +#include "try/v2.0/fissionTransport/PromptProductKE.hpp" +#include "try/v2.0/fissionTransport/TotalEnergy.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class FissionEnergyReleased +// ----------------------------------------------------------------------------- + +class FissionEnergyReleased : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "FissionEnergyReleased"; } + static auto FIELD() { return "fissionEnergyReleased"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("delayedBetaEnergy") | + std::optional{} + / --Child<>("delayedGammaEnergy") | + std::optional{} + / --Child<>("delayedNeutronKE") | + std::optional{} + / --Child<>("neutrinoEnergy") | + std::optional{} + / --Child<>("nonNeutrinoEnergy") | + std::optional{} + / --Child<>("promptGammaEnergy") | + std::optional{} + / --Child<>("promptNeutronKE") | + std::optional{} + / --Child<>("promptProductKE") | + std::optional{} + / --Child<>("totalEnergy") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field> delayedBetaEnergy{this}; + Field> delayedGammaEnergy{this}; + Field> delayedNeutronKE{this}; + Field> neutrinoEnergy{this}; + Field> nonNeutrinoEnergy{this}; + Field> promptGammaEnergy{this}; + Field> promptNeutronKE{this}; + Field> promptProductKE{this}; + Field> totalEnergy{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->delayedBetaEnergy, \ + this->delayedGammaEnergy, \ + this->delayedNeutronKE, \ + this->neutrinoEnergy, \ + this->nonNeutrinoEnergy, \ + this->promptGammaEnergy, \ + this->promptNeutronKE, \ + this->promptProductKE, \ + this->totalEnergy) + + // default, and from fields + explicit FissionEnergyReleased( + const wrapper> &label = {}, + const wrapper> &delayedBetaEnergy = {}, + const wrapper> &delayedGammaEnergy = {}, + const wrapper> &delayedNeutronKE = {}, + const wrapper> &neutrinoEnergy = {}, + const wrapper> &nonNeutrinoEnergy = {}, + const wrapper> &promptGammaEnergy = {}, + const wrapper> &promptNeutronKE = {}, + const wrapper> &promptProductKE = {}, + const wrapper> &totalEnergy = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + delayedBetaEnergy(this,delayedBetaEnergy), + delayedGammaEnergy(this,delayedGammaEnergy), + delayedNeutronKE(this,delayedNeutronKE), + neutrinoEnergy(this,neutrinoEnergy), + nonNeutrinoEnergy(this,nonNeutrinoEnergy), + promptGammaEnergy(this,promptGammaEnergy), + promptNeutronKE(this,promptNeutronKE), + promptProductKE(this,promptProductKE), + totalEnergy(this,totalEnergy) + { + Component::finish(); + } + + // from node + explicit FissionEnergyReleased(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + FissionEnergyReleased(const FissionEnergyReleased &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + FissionEnergyReleased(FissionEnergyReleased &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + FissionEnergyReleased &operator=(const FissionEnergyReleased &) = default; + FissionEnergyReleased &operator=(FissionEnergyReleased &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/FissionEnergyReleased/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class FissionEnergyReleased + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix.hpp new file mode 100644 index 000000000..60a70cef2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_MADLANDNIX +#define TRY_V2_0_FISSIONTRANSPORT_MADLANDNIX + +#include "try/v2.0/fissionTransport/EFH.hpp" +#include "try/v2.0/fissionTransport/EFL.hpp" +#include "try/v2.0/fissionTransport/T_M.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class MadlandNix +// ----------------------------------------------------------------------------- + +class MadlandNix : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "MadlandNix"; } + static auto FIELD() { return "MadlandNix"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + fissionTransport::EFH{} + / --Child<>("EFH") | + fissionTransport::EFL{} + / --Child<>("EFL") | + fissionTransport::T_M{} + / --Child<>("T_M") + ; + } + +public: + using Component::construct; + + // children + Field EFH{this}; + Field EFL{this}; + Field T_M{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->EFH, \ + this->EFL, \ + this->T_M) + + // default, and from fields + explicit MadlandNix( + const wrapper &EFH = {}, + const wrapper &EFL = {}, + const wrapper &T_M = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + EFH(this,EFH), + EFL(this,EFL), + T_M(this,T_M) + { + Component::finish(); + } + + // from node + explicit MadlandNix(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MadlandNix(const MadlandNix &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MadlandNix(MadlandNix &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MadlandNix &operator=(const MadlandNix &) = default; + MadlandNix &operator=(MadlandNix &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/MadlandNix/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MadlandNix + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp new file mode 100644 index 000000000..e54a43c98 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY +#define TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY + +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class NeutrinoEnergy +// ----------------------------------------------------------------------------- + +class NeutrinoEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "NeutrinoEnergy"; } + static auto FIELD() { return "neutrinoEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->polynomial1d) + + // default, and from fields + explicit NeutrinoEnergy( + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit NeutrinoEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + NeutrinoEnergy(const NeutrinoEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + NeutrinoEnergy(NeutrinoEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + NeutrinoEnergy &operator=(const NeutrinoEnergy &) = default; + NeutrinoEnergy &operator=(NeutrinoEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class NeutrinoEnergy + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp new file mode 100644 index 000000000..20e7840bd --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY +#define TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY + +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class NonNeutrinoEnergy +// ----------------------------------------------------------------------------- + +class NonNeutrinoEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "NonNeutrinoEnergy"; } + static auto FIELD() { return "nonNeutrinoEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->polynomial1d) + + // default, and from fields + explicit NonNeutrinoEnergy( + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit NonNeutrinoEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + NonNeutrinoEnergy(const NonNeutrinoEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + NonNeutrinoEnergy(NonNeutrinoEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + NonNeutrinoEnergy &operator=(const NonNeutrinoEnergy &) = default; + NonNeutrinoEnergy &operator=(NonNeutrinoEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class NonNeutrinoEnergy + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp new file mode 100644 index 000000000..434369985 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY +#define TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class PromptGammaEnergy +// ----------------------------------------------------------------------------- + +class PromptGammaEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "PromptGammaEnergy"; } + static auto FIELD() { return "promptGammaEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->polynomial1d) + + // default, and from fields + explicit PromptGammaEnergy( + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit PromptGammaEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PromptGammaEnergy(const PromptGammaEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PromptGammaEnergy(PromptGammaEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PromptGammaEnergy &operator=(const PromptGammaEnergy &) = default; + PromptGammaEnergy &operator=(PromptGammaEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PromptGammaEnergy + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp new file mode 100644 index 000000000..bb8566cf6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE +#define TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class PromptNeutronKE +// ----------------------------------------------------------------------------- + +class PromptNeutronKE : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "PromptNeutronKE"; } + static auto FIELD() { return "promptNeutronKE"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->polynomial1d) + + // default, and from fields + explicit PromptNeutronKE( + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit PromptNeutronKE(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PromptNeutronKE(const PromptNeutronKE &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PromptNeutronKE(PromptNeutronKE &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PromptNeutronKE &operator=(const PromptNeutronKE &) = default; + PromptNeutronKE &operator=(PromptNeutronKE &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PromptNeutronKE + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp new file mode 100644 index 000000000..737d2b5f1 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE +#define TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class PromptProductKE +// ----------------------------------------------------------------------------- + +class PromptProductKE : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "PromptProductKE"; } + static auto FIELD() { return "promptProductKE"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->polynomial1d) + + // default, and from fields + explicit PromptProductKE( + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit PromptProductKE(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PromptProductKE(const PromptProductKE &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PromptProductKE(PromptProductKE &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PromptProductKE &operator=(const PromptProductKE &) = default; + PromptProductKE &operator=(PromptProductKE &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/PromptProductKE/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PromptProductKE + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp new file mode 100644 index 000000000..652bd4570 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION +#define TRY_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION + +#include "try/v2.0/transport/U.hpp" +#include "try/v2.0/transport/Theta.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class SimpleMaxwellianFission +// ----------------------------------------------------------------------------- + +class SimpleMaxwellianFission : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "SimpleMaxwellianFission"; } + static auto FIELD() { return "simpleMaxwellianFission"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("U") | + std::optional{} + / --Child<>("theta") + ; + } + +public: + using Component::construct; + + // children + Field> U{this}; + Field> theta{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->U, \ + this->theta) + + // default, and from fields + explicit SimpleMaxwellianFission( + const wrapper> &U = {}, + const wrapper> &theta = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + U(this,U), + theta(this,theta) + { + Component::finish(); + } + + // from node + explicit SimpleMaxwellianFission(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + SimpleMaxwellianFission(const SimpleMaxwellianFission &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + SimpleMaxwellianFission(SimpleMaxwellianFission &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + SimpleMaxwellianFission &operator=(const SimpleMaxwellianFission &) = default; + SimpleMaxwellianFission &operator=(SimpleMaxwellianFission &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/SimpleMaxwellianFission/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class SimpleMaxwellianFission + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M.hpp new file mode 100644 index 000000000..c3664a551 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_T_M +#define TRY_V2_0_FISSIONTRANSPORT_T_M + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class T_M +// ----------------------------------------------------------------------------- + +class T_M : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "T_M"; } + static auto FIELD() { return "T_M"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::XYs1d{} + / --Child<>("XYs1d") + ; + } + +public: + using Component::construct; + + // children + Field XYs1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d) + + // default, and from fields + explicit T_M( + const wrapper &XYs1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d) + { + Component::finish(); + } + + // from node + explicit T_M(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + T_M(const T_M &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + T_M(T_M &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + T_M &operator=(const T_M &) = default; + T_M &operator=(T_M &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/T_M/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class T_M + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp new file mode 100644 index 000000000..0a64d0ba6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY +#define TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY + +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class TotalEnergy +// ----------------------------------------------------------------------------- + +class TotalEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "TotalEnergy"; } + static auto FIELD() { return "totalEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("polynomial1d") + ; + } + +public: + using Component::construct; + + // children + Field> polynomial1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->polynomial1d) + + // default, and from fields + explicit TotalEnergy( + const wrapper> &polynomial1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + polynomial1d(this,polynomial1d) + { + Component::finish(); + } + + // from node + explicit TotalEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + TotalEnergy(const TotalEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + TotalEnergy(TotalEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + TotalEnergy &operator=(const TotalEnergy &) = default; + TotalEnergy &operator=(TotalEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/TotalEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class TotalEnergy + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt.hpp new file mode 100644 index 000000000..ac2982682 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FISSIONTRANSPORT_WATT +#define TRY_V2_0_FISSIONTRANSPORT_WATT + +#include "try/v2.0/transport/U.hpp" +#include "try/v2.0/fissionTransport/A.hpp" +#include "try/v2.0/fissionTransport/B.hpp" + +namespace try { +namespace v2_0 { +namespace fissionTransport { + +// ----------------------------------------------------------------------------- +// fissionTransport:: +// class Watt +// ----------------------------------------------------------------------------- + +class Watt : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fissionTransport"; } + static auto CLASS() { return "Watt"; } + static auto FIELD() { return "Watt"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + transport::U{} + / --Child<>("U") | + fissionTransport::A{} + / --Child<>("a") | + fissionTransport::B{} + / --Child<>("b") + ; + } + +public: + using Component::construct; + + // children + Field U{this}; + Field a{this}; + Field b{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->U, \ + this->a, \ + this->b) + + // default, and from fields + explicit Watt( + const wrapper &U = {}, + const wrapper &a = {}, + const wrapper &b = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + U(this,U), + a(this,a), + b(this,b) + { + Component::finish(); + } + + // from node + explicit Watt(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Watt(const Watt &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Watt(Watt &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Watt &operator=(const Watt &) = default; + Watt &operator=(Watt &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fissionTransport/Watt/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Watt + +} // namespace fissionTransport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime.hpp new file mode 100644 index 000000000..89cc0649e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime.hpp @@ -0,0 +1,132 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_ELAPSEDTIME +#define TRY_V2_0_FPY_ELAPSEDTIME + +#include "try/v2.0/fpy/Time.hpp" +#include "try/v2.0/fpy/Yields.hpp" +#include "try/v2.0/fpy/IncidentEnergies.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class ElapsedTime +// ----------------------------------------------------------------------------- + +class ElapsedTime : public Component { + friend class Component; + + using _t = std::variant< + fpy::Yields, + fpy::IncidentEnergies + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "ElapsedTime"; } + static auto FIELD() { return "elapsedTime"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + fpy::Time{} + / --Child<>("time") | + _t{} + / --(Child<>("yields") || Child<>("incidentEnergies")) + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field time{this}; + + // children - variant + Field<_t> _yieldsincidentEnergies{this}; + FieldPart yields{_yieldsincidentEnergies}; + FieldPart incidentEnergies{_yieldsincidentEnergies}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->time, \ + this->_yieldsincidentEnergies) + + // default, and from fields + explicit ElapsedTime( + const wrapper> &label = {}, + const wrapper &time = {}, + const wrapper<_t> &_yieldsincidentEnergies = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + time(this,time), + _yieldsincidentEnergies(this,_yieldsincidentEnergies) + { + Component::finish(); + } + + // from node + explicit ElapsedTime(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ElapsedTime(const ElapsedTime &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ElapsedTime(ElapsedTime &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ElapsedTime &operator=(const ElapsedTime &) = default; + ElapsedTime &operator=(ElapsedTime &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/ElapsedTime/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ElapsedTime + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes.hpp new file mode 100644 index 000000000..2e6309431 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_ELAPSEDTIMES +#define TRY_V2_0_FPY_ELAPSEDTIMES + +#include "try/v2.0/fpy/ElapsedTime.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class ElapsedTimes +// ----------------------------------------------------------------------------- + +class ElapsedTimes : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "ElapsedTimes"; } + static auto FIELD() { return "elapsedTimes"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + fpy::ElapsedTime{} + / ++Child<>("elapsedTime") + ; + } + +public: + using Component::construct; + + // children + Field> elapsedTime{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->elapsedTime) + + // default, and from fields + explicit ElapsedTimes( + const wrapper> &elapsedTime = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + elapsedTime(this,elapsedTime) + { + Component::finish(); + } + + // from node + explicit ElapsedTimes(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ElapsedTimes(const ElapsedTimes &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ElapsedTimes(ElapsedTimes &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ElapsedTimes &operator=(const ElapsedTimes &) = default; + ElapsedTimes &operator=(ElapsedTimes &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/ElapsedTimes/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ElapsedTimes + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp new file mode 100644 index 000000000..a5f59bb9a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_ENERGY +#define TRY_V2_0_FPY_ENERGY + +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class Energy +// ----------------------------------------------------------------------------- + +class Energy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "Energy"; } + static auto FIELD() { return "energy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Double{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit Energy( + const wrapper &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Energy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Energy(const Energy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Energy(Energy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Energy &operator=(const Energy &) = default; + Energy &operator=(Energy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/Energy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Energy + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies.hpp new file mode 100644 index 000000000..0bd6be65d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_INCIDENTENERGIES +#define TRY_V2_0_FPY_INCIDENTENERGIES + +#include "try/v2.0/fpy/IncidentEnergy.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class IncidentEnergies +// ----------------------------------------------------------------------------- + +class IncidentEnergies : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "IncidentEnergies"; } + static auto FIELD() { return "incidentEnergies"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + fpy::IncidentEnergy{} + / ++Child<>("incidentEnergy") + ; + } + +public: + using Component::construct; + + // children + Field> incidentEnergy{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->incidentEnergy) + + // default, and from fields + explicit IncidentEnergies( + const wrapper> &incidentEnergy = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + incidentEnergy(this,incidentEnergy) + { + Component::finish(); + } + + // from node + explicit IncidentEnergies(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + IncidentEnergies(const IncidentEnergies &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + IncidentEnergies(IncidentEnergies &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + IncidentEnergies &operator=(const IncidentEnergies &) = default; + IncidentEnergies &operator=(IncidentEnergies &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/IncidentEnergies/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class IncidentEnergies + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy.hpp new file mode 100644 index 000000000..63fc2c78d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_INCIDENTENERGY +#define TRY_V2_0_FPY_INCIDENTENERGY + +#include "try/v2.0/fpy/Energy.hpp" +#include "try/v2.0/fpy/Yields.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class IncidentEnergy +// ----------------------------------------------------------------------------- + +class IncidentEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "IncidentEnergy"; } + static auto FIELD() { return "incidentEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + fpy::Energy{} + / --Child<>("energy") | + fpy::Yields{} + / --Child<>("yields") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field energy{this}; + Field yields{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->energy, \ + this->yields) + + // default, and from fields + explicit IncidentEnergy( + const wrapper &label = {}, + const wrapper &energy = {}, + const wrapper &yields = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + energy(this,energy), + yields(this,yields) + { + Component::finish(); + } + + // from node + explicit IncidentEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + IncidentEnergy(const IncidentEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + IncidentEnergy(IncidentEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + IncidentEnergy &operator=(const IncidentEnergy &) = default; + IncidentEnergy &operator=(IncidentEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/IncidentEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class IncidentEnergy + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides.hpp new file mode 100644 index 000000000..566b57683 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_NUCLIDES +#define TRY_V2_0_FPY_NUCLIDES + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class Nuclides +// ----------------------------------------------------------------------------- + +class Nuclides : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "Nuclides"; } + static auto FIELD() { return "nuclides"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // metadata + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href) + + // default, and from fields + explicit Nuclides( + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Nuclides(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Nuclides(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Nuclides(const Nuclides &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Nuclides(Nuclides &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Nuclides &operator=(const Nuclides &) = default; + Nuclides &operator=(Nuclides &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/Nuclides/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Nuclides + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield.hpp new file mode 100644 index 000000000..9d8090870 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_PRODUCTYIELD +#define TRY_V2_0_FPY_PRODUCTYIELD + +#include "try/v2.0/fpy/Nuclides.hpp" +#include "try/v2.0/fpy/ElapsedTimes.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class ProductYield +// ----------------------------------------------------------------------------- + +class ProductYield : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "ProductYield"; } + static auto FIELD() { return "productYield"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("nuclides") | + fpy::ElapsedTimes{} + / --Child<>("elapsedTimes") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field> nuclides{this}; + Field elapsedTimes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->nuclides, \ + this->elapsedTimes) + + // default, and from fields + explicit ProductYield( + const wrapper &label = {}, + const wrapper> &nuclides = {}, + const wrapper &elapsedTimes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + nuclides(this,nuclides), + elapsedTimes(this,elapsedTimes) + { + Component::finish(); + } + + // from node + explicit ProductYield(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ProductYield(const ProductYield &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ProductYield(ProductYield &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ProductYield &operator=(const ProductYield &) = default; + ProductYield &operator=(ProductYield &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/ProductYield/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ProductYield + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields.hpp new file mode 100644 index 000000000..5b47c824e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_PRODUCTYIELDS +#define TRY_V2_0_FPY_PRODUCTYIELDS + +#include "try/v2.0/fpy/ProductYield.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class ProductYields +// ----------------------------------------------------------------------------- + +class ProductYields : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "ProductYields"; } + static auto FIELD() { return "productYields"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + fpy::ProductYield{} + / ++Child<>("productYield") + ; + } + +public: + using Component::construct; + + // children + Field> productYield{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->productYield) + + // default, and from fields + explicit ProductYields( + const wrapper> &productYield = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + productYield(this,productYield) + { + Component::finish(); + } + + // from node + explicit ProductYields(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ProductYields(const ProductYields &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ProductYields(ProductYields &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ProductYields &operator=(const ProductYields &) = default; + ProductYields &operator=(ProductYields &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/ProductYields/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ProductYields + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp new file mode 100644 index 000000000..4cc88e031 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_TIME +#define TRY_V2_0_FPY_TIME + +#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/unknownNamespace/String.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class Time +// ----------------------------------------------------------------------------- + +class Time : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::Double, + unknownNamespace::String + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "Time"; } + static auto FIELD() { return "time"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("Double") || Child<>("string")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _Doublestring{this}; + FieldPart Double{_Doublestring}; + FieldPart string{_Doublestring}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_Doublestring) + + // default, and from fields + explicit Time( + const wrapper<_t> &_Doublestring = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _Doublestring(this,_Doublestring) + { + Component::finish(); + } + + // from node + explicit Time(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Time(const Time &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Time(Time &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Time &operator=(const Time &) = default; + Time &operator=(Time &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/Time/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Time + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Time/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Time/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Time/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp new file mode 100644 index 000000000..328f71ef6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_FPY_YIELDS +#define TRY_V2_0_FPY_YIELDS + +#include "try/v2.0/fpy/Nuclides.hpp" +#include "try/v2.0/unknownNamespace/Values.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace fpy { + +// ----------------------------------------------------------------------------- +// fpy:: +// class Yields +// ----------------------------------------------------------------------------- + +class Yields : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "fpy"; } + static auto CLASS() { return "Yields"; } + static auto FIELD() { return "yields"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + fpy::Nuclides{} + / --Child<>("nuclides") | + unknownNamespace::Values{} + / --Child<>("values") | + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // children + Field nuclides{this}; + Field values{this}; + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->nuclides, \ + this->values, \ + this->uncertainty) + + // default, and from fields + explicit Yields( + const wrapper &nuclides = {}, + const wrapper &values = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + nuclides(this,nuclides), + values(this,values), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit Yields(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Yields(const Yields &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Yields(Yields &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Yields &operator=(const Yields &) = default; + Yields &operator=(Yields &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/fpy/Yields/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Yields + +} // namespace fpy +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/key.hpp b/standards/gnds-2.0/try/src/try/v2.0/key.hpp new file mode 100644 index 000000000..6e643d302 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/key.hpp @@ -0,0 +1,713 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_KEY +#define TRY_V2_0_KEY + +// GNDStk Core Interface +#include "GNDStk.hpp" + +namespace try { +namespace v2_0 { + +using namespace njoy::GNDStk; + + +// ----------------------------------------------------------------------------- +// meta:: +// ----------------------------------------------------------------------------- + +namespace meta { + +#define GNDSTK_MAKE_LOOKUP(nameField,nameGNDS) \ + inline const auto nameField = makeLookup( \ + [](const auto &obj) -> decltype(obj.nameField()) \ + { return obj.nameField(); }, \ + #nameGNDS \ + ) +// nameField vs. nameGNDS: for, e.g., Double vs. double in GNDS + +GNDSTK_MAKE_LOOKUP(A,A); +GNDSTK_MAKE_LOOKUP(ENDF_MFMT,ENDF_MFMT); +GNDSTK_MAKE_LOOKUP(ENDF_MT,ENDF_MT); +GNDSTK_MAKE_LOOKUP(L,L); +GNDSTK_MAKE_LOOKUP(Z,Z); +GNDSTK_MAKE_LOOKUP(algorithm,algorithm); +GNDSTK_MAKE_LOOKUP(approximation,approximation); +GNDSTK_MAKE_LOOKUP(boundaryCondition,boundaryCondition); +GNDSTK_MAKE_LOOKUP(boundaryConditionValue,boundaryConditionValue); +GNDSTK_MAKE_LOOKUP(calculateChannelRadius,calculateChannelRadius); +GNDSTK_MAKE_LOOKUP(calculatePenetrability,calculatePenetrability); +GNDSTK_MAKE_LOOKUP(calculatedAtThermal,calculatedAtThermal); +GNDSTK_MAKE_LOOKUP(channelSpin,channelSpin); +GNDSTK_MAKE_LOOKUP(checksum,checksum); +GNDSTK_MAKE_LOOKUP(coefficient,coefficient); +GNDSTK_MAKE_LOOKUP(columnIndex,columnIndex); +GNDSTK_MAKE_LOOKUP(complete,complete); +GNDSTK_MAKE_LOOKUP(confidence,confidence); +GNDSTK_MAKE_LOOKUP(conserve,conserve); +GNDSTK_MAKE_LOOKUP(contributorType,contributorType); +GNDSTK_MAKE_LOOKUP(crossTerm,crossTerm); +GNDSTK_MAKE_LOOKUP(date,date); +GNDSTK_MAKE_LOOKUP(dateType,dateType); +GNDSTK_MAKE_LOOKUP(degreesOfFreedom,degreesOfFreedom); +GNDSTK_MAKE_LOOKUP(dependenceOnProcessedGroupWidth,dependenceOnProcessedGroupWidth); +GNDSTK_MAKE_LOOKUP(derivedFrom,derivedFrom); +GNDSTK_MAKE_LOOKUP(dimension,dimension); +GNDSTK_MAKE_LOOKUP(doi,doi); +GNDSTK_MAKE_LOOKUP(domainMax,domainMax); +GNDSTK_MAKE_LOOKUP(domainMin,domainMin); +GNDSTK_MAKE_LOOKUP(domainUnit,domainUnit); +GNDSTK_MAKE_LOOKUP(domainValue,domainValue); +GNDSTK_MAKE_LOOKUP(ejectile,ejectile); +GNDSTK_MAKE_LOOKUP(electronNumber,electronNumber); +GNDSTK_MAKE_LOOKUP(eliminated,eliminated); +GNDSTK_MAKE_LOOKUP(email,email); +GNDSTK_MAKE_LOOKUP(encoding,encoding); +GNDSTK_MAKE_LOOKUP(evaluation,evaluation); +GNDSTK_MAKE_LOOKUP(filename,filename); +GNDSTK_MAKE_LOOKUP(finalState,finalState); +GNDSTK_MAKE_LOOKUP(fissionGenre,fissionGenre); +GNDSTK_MAKE_LOOKUP(flags,flags); +GNDSTK_MAKE_LOOKUP(format,format); +GNDSTK_MAKE_LOOKUP(generation,generation); +GNDSTK_MAKE_LOOKUP(genre,genre); +GNDSTK_MAKE_LOOKUP(href,href); +GNDSTK_MAKE_LOOKUP(id,id); +GNDSTK_MAKE_LOOKUP(identicalParticles,identicalParticles); +GNDSTK_MAKE_LOOKUP(incoherentApproximation,incoherentApproximation); +GNDSTK_MAKE_LOOKUP(index,index); +GNDSTK_MAKE_LOOKUP(interaction,interaction); +GNDSTK_MAKE_LOOKUP(label,label); +GNDSTK_MAKE_LOOKUP(library,library); +GNDSTK_MAKE_LOOKUP(lower,lower); +GNDSTK_MAKE_LOOKUP(markup,markup); +GNDSTK_MAKE_LOOKUP(matrixStartIndex,matrixStartIndex); +GNDSTK_MAKE_LOOKUP(max,max); +GNDSTK_MAKE_LOOKUP(metaStableIndex,metaStableIndex); +GNDSTK_MAKE_LOOKUP(min,min); +GNDSTK_MAKE_LOOKUP(mode,mode); +GNDSTK_MAKE_LOOKUP(muCutoff,muCutoff); +GNDSTK_MAKE_LOOKUP(nParameters,nParameters); +GNDSTK_MAKE_LOOKUP(name,name); +GNDSTK_MAKE_LOOKUP(numberOfBands,numberOfBands); +GNDSTK_MAKE_LOOKUP(numberOfBins,numberOfBins); +GNDSTK_MAKE_LOOKUP(numberOfProducts,numberOfProducts); +GNDSTK_MAKE_LOOKUP(numberPerMolecule,numberPerMolecule); +GNDSTK_MAKE_LOOKUP(orcid,orcid); +GNDSTK_MAKE_LOOKUP(parity,parity); +GNDSTK_MAKE_LOOKUP(path,path); +GNDSTK_MAKE_LOOKUP(pid,pid); +GNDSTK_MAKE_LOOKUP(primaryScatterer,primaryScatterer); +GNDSTK_MAKE_LOOKUP(process,process); +GNDSTK_MAKE_LOOKUP(productFrame,productFrame); +GNDSTK_MAKE_LOOKUP(projectile,projectile); +GNDSTK_MAKE_LOOKUP(projectileFrame,projectileFrame); +GNDSTK_MAKE_LOOKUP(publicationDate,publicationDate); +GNDSTK_MAKE_LOOKUP(relationType,relationType); +GNDSTK_MAKE_LOOKUP(resonanceReaction,resonanceReaction); +GNDSTK_MAKE_LOOKUP(retrievalDate,retrievalDate); +GNDSTK_MAKE_LOOKUP(revisionID,revisionID); +GNDSTK_MAKE_LOOKUP(revisionSystem,revisionSystem); +GNDSTK_MAKE_LOOKUP(spin,spin); +GNDSTK_MAKE_LOOKUP(standardEvaluation,standardEvaluation); +GNDSTK_MAKE_LOOKUP(standardTarget,standardTarget); +GNDSTK_MAKE_LOOKUP(subentry,subentry); +GNDSTK_MAKE_LOOKUP(subshell,subshell); +GNDSTK_MAKE_LOOKUP(supportsAngularReconstruction,supportsAngularReconstruction); +GNDSTK_MAKE_LOOKUP(symbol,symbol); +GNDSTK_MAKE_LOOKUP(symmetric,symmetric); +GNDSTK_MAKE_LOOKUP(target,target); +GNDSTK_MAKE_LOOKUP(type,type); +GNDSTK_MAKE_LOOKUP(unit,unit); +GNDSTK_MAKE_LOOKUP(upper,upper); +GNDSTK_MAKE_LOOKUP(upperCalculatedGroup,upperCalculatedGroup); +GNDSTK_MAKE_LOOKUP(useForSelfShieldingOnly,useForSelfShieldingOnly); +GNDSTK_MAKE_LOOKUP(value,value); +GNDSTK_MAKE_LOOKUP(version,version); +GNDSTK_MAKE_LOOKUP(xref,xref); + +#undef GNDSTK_MAKE_LOOKUP + +} // namespace meta + + +// ----------------------------------------------------------------------------- +// appData::child:: +// ----------------------------------------------------------------------------- + +namespace appData { +namespace child { + +inline const Child<> ENDFconversionFlags("ENDFconversionFlags"); +inline const Child<> applicationData("applicationData"); +inline const Child<> conversion("conversion"); +inline const Child<> institution("institution"); + +} // namespace child +using namespace child; +} // namespace appData + + +// ----------------------------------------------------------------------------- +// atomic::child:: +// ----------------------------------------------------------------------------- + +namespace atomic { +namespace child { + +inline const Child<> coherentPhotonScattering("coherentPhotonScattering"); +inline const Child<> formFactor("formFactor"); +inline const Child<> imaginaryAnomalousFactor("imaginaryAnomalousFactor"); +inline const Child<> incoherentPhotonScattering("incoherentPhotonScattering"); +inline const Child<> realAnomalousFactor("realAnomalousFactor"); +inline const Child<> scatteringFactor("scatteringFactor"); + +} // namespace child +using namespace child; +} // namespace atomic + + +// ----------------------------------------------------------------------------- +// common::child:: +// ----------------------------------------------------------------------------- + +namespace common { +namespace child { + +inline const Child<> Q("Q"); +inline const Child<> energy("energy"); +inline const Child<> externalFile("externalFile"); +inline const Child<> externalFiles("externalFiles"); +inline const Child<> mass("mass"); +inline const Child<> probability("probability"); +inline const Child<> product("product"); +inline const Child<> products("products"); +inline const Child<> temperature("temperature"); + +} // namespace child +using namespace child; +} // namespace common + + +// ----------------------------------------------------------------------------- +// covariance::child:: +// ----------------------------------------------------------------------------- + +namespace covariance { +namespace child { + +inline const Child<> averageParameterCovariance("averageParameterCovariance"); +inline const Child<> columnData("columnData"); +inline const Child<> columnSensitivity("columnSensitivity"); +inline const Child<> covariance("covariance"); +inline const Child<> covarianceMatrix("covarianceMatrix"); +inline const Child<> covarianceSection("covarianceSection"); +inline const Child<> covarianceSections("covarianceSections"); +inline const Child<> covarianceSuite("covarianceSuite"); +inline const Child<> mixed("mixed"); +inline const Child<> parameterCovariancMatrix("parameterCovariancMatrix"); +inline const Child<> parameterCovariance("parameterCovariance"); +inline const Child<> parameterCovariances("parameterCovariances"); +inline const Child<> parameterLink("parameterLink"); +inline const Child<> parameters("parameters"); +inline const Child<> rowData("rowData"); +inline const Child<> rowSensitivity("rowSensitivity"); +inline const Child<> sandwichProduct("sandwichProduct"); +inline const Child<> shortRangeSelfScalingVariance("shortRangeSelfScalingVariance"); +inline const Child<> slice("slice"); +inline const Child<> slices("slices"); +inline const Child<> sum("sum"); +inline const Child<> summand("summand"); + +} // namespace child +using namespace child; +} // namespace covariance + + +// ----------------------------------------------------------------------------- +// cpTransport::child:: +// ----------------------------------------------------------------------------- + +namespace cpTransport { +namespace child { + +inline const Child<> CoulombPlusNuclearElastic("CoulombPlusNuclearElastic"); +inline const Child<> RutherfordScattering("RutherfordScattering"); +inline const Child<> imaginaryInterferenceTerm("imaginaryInterferenceTerm"); +inline const Child<> nuclearAmplitudeExpansion("nuclearAmplitudeExpansion"); +inline const Child<> nuclearPlusInterference("nuclearPlusInterference"); +inline const Child<> nuclearTerm("nuclearTerm"); +inline const Child<> realInterferenceTerm("realInterferenceTerm"); + +} // namespace child +using namespace child; +} // namespace cpTransport + + +// ----------------------------------------------------------------------------- +// documentation::child:: +// ----------------------------------------------------------------------------- + +namespace documentation { +namespace child { + +inline const Child<> abstract("abstract"); +inline const Child<> acknowledgement("acknowledgement"); +inline const Child<> acknowledgements("acknowledgements"); +inline const Child<> affiliation("affiliation"); +inline const Child<> affiliations("affiliations"); +inline const Child<> author("author"); +inline const Child<> authors("authors"); +inline const Child<> bibitem("bibitem"); +inline const Child<> bibliography("bibliography"); +inline const Child<> body("body"); +inline const Child<> codeRepo("codeRepo"); +inline const Child<> collaboration("collaboration"); +inline const Child<> collaborations("collaborations"); +inline const Child<> computerCode("computerCode"); +inline const Child<> computerCodes("computerCodes"); +inline const Child<> contributor("contributor"); +inline const Child<> contributors("contributors"); +inline const Child<> copyright("copyright"); +inline const Child<> correctionScript("correctionScript"); +inline const Child<> covarianceScript("covarianceScript"); +inline const Child<> date("date"); +inline const Child<> dates("dates"); +inline const Child<> documentation("documentation"); +inline const Child<> endfCompatible("endfCompatible"); +inline const Child<> executionArguments("executionArguments"); +inline const Child<> exforDataSet("exforDataSet"); +inline const Child<> exforDataSets("exforDataSets"); +inline const Child<> experimentalDataSets("experimentalDataSets"); +inline const Child<> inputDeck("inputDeck"); +inline const Child<> inputDecks("inputDecks"); +inline const Child<> keyword("keyword"); +inline const Child<> keywords("keywords"); +inline const Child<> note("note"); +inline const Child<> outputDeck("outputDeck"); +inline const Child<> outputDecks("outputDecks"); +inline const Child<> relatedItem("relatedItem"); +inline const Child<> relatedItems("relatedItems"); +inline const Child<> title("title"); +inline const Child<> version("version"); + +} // namespace child +using namespace child; +} // namespace documentation + + +// ----------------------------------------------------------------------------- +// fissionFragmentData::child:: +// ----------------------------------------------------------------------------- + +namespace fissionFragmentData { +namespace child { + +inline const Child<> delayedNeutron("delayedNeutron"); +inline const Child<> delayedNeutrons("delayedNeutrons"); +inline const Child<> fissionFragmentData("fissionFragmentData"); +inline const Child<> rate("rate"); + +} // namespace child +using namespace child; +} // namespace fissionFragmentData + + +// ----------------------------------------------------------------------------- +// fissionTransport::child:: +// ----------------------------------------------------------------------------- + +namespace fissionTransport { +namespace child { + +inline const Child<> EFH("EFH"); +inline const Child<> EFL("EFL"); +inline const Child<> MadlandNix("MadlandNix"); +inline const Child<> T_M("T_M"); +inline const Child<> Watt("Watt"); +inline const Child<> a("a"); +inline const Child<> b("b"); +inline const Child<> delayedBetaEnergy("delayedBetaEnergy"); +inline const Child<> delayedGammaEnergy("delayedGammaEnergy"); +inline const Child<> delayedNeutronKE("delayedNeutronKE"); +inline const Child<> fissionComponent("fissionComponent"); +inline const Child<> fissionComponents("fissionComponents"); +inline const Child<> fissionEnergyReleased("fissionEnergyReleased"); +inline const Child<> neutrinoEnergy("neutrinoEnergy"); +inline const Child<> nonNeutrinoEnergy("nonNeutrinoEnergy"); +inline const Child<> promptGammaEnergy("promptGammaEnergy"); +inline const Child<> promptNeutronKE("promptNeutronKE"); +inline const Child<> promptProductKE("promptProductKE"); +inline const Child<> simpleMaxwellianFission("simpleMaxwellianFission"); +inline const Child<> totalEnergy("totalEnergy"); + +} // namespace child +using namespace child; +} // namespace fissionTransport + + +// ----------------------------------------------------------------------------- +// fpy::child:: +// ----------------------------------------------------------------------------- + +namespace fpy { +namespace child { + +inline const Child<> elapsedTime("elapsedTime"); +inline const Child<> elapsedTimes("elapsedTimes"); +inline const Child<> energy("energy"); +inline const Child<> incidentEnergies("incidentEnergies"); +inline const Child<> incidentEnergy("incidentEnergy"); +inline const Child<> nuclides("nuclides"); +inline const Child<> productYield("productYield"); +inline const Child<> productYields("productYields"); +inline const Child<> time("time"); +inline const Child<> yields("yields"); + +} // namespace child +using namespace child; +} // namespace fpy + + +// ----------------------------------------------------------------------------- +// map::child:: +// ----------------------------------------------------------------------------- + +namespace map { +namespace child { + +inline const Child<> TNSL("TNSL"); +inline const Child<> import("import"); +inline const Child<> map("map"); +inline const Child<> protare("protare"); + +} // namespace child +using namespace child; +} // namespace map + + +// ----------------------------------------------------------------------------- +// pops::child:: +// ----------------------------------------------------------------------------- + +namespace pops { +namespace child { + +inline const Child<> PoPs("PoPs"); +inline const Child<> Q("Q"); +inline const Child<> alias("alias"); +inline const Child<> aliases("aliases"); +inline const Child<> atomic("atomic"); +inline const Child<> averageEnergies("averageEnergies"); +inline const Child<> averageEnergy("averageEnergy"); +inline const Child<> baryon("baryon"); +inline const Child<> baryons("baryons"); +inline const Child<> bindingEnergy("bindingEnergy"); +inline const Child<> charge("charge"); +inline const Child<> chemicalElement("chemicalElement"); +inline const Child<> chemicalElements("chemicalElements"); +inline const Child<> confidenceIntervals("confidenceIntervals"); +inline const Child<> configuration("configuration"); +inline const Child<> configurations("configurations"); +inline const Child<> continuum("continuum"); +inline const Child<> decay("decay"); +inline const Child<> decayData("decayData"); +inline const Child<> decayMode("decayMode"); +inline const Child<> decayModes("decayModes"); +inline const Child<> decayPath("decayPath"); +inline const Child<> discrete("discrete"); +inline const Child<> discreteEnergy("discreteEnergy"); +inline const Child<> energy("energy"); +inline const Child<> gaugeBoson("gaugeBoson"); +inline const Child<> gaugeBosons("gaugeBosons"); +inline const Child<> halflife("halflife"); +inline const Child<> intensity("intensity"); +inline const Child<> internalConversionCoefficients("internalConversionCoefficients"); +inline const Child<> internalPairFormationCoefficient("internalPairFormationCoefficient"); +inline const Child<> interval("interval"); +inline const Child<> isotope("isotope"); +inline const Child<> isotopes("isotopes"); +inline const Child<> lepton("lepton"); +inline const Child<> leptons("leptons"); +inline const Child<> logNormal("logNormal"); +inline const Child<> mass("mass"); +inline const Child<> metaStable("metaStable"); +inline const Child<> nucleus("nucleus"); +inline const Child<> nuclide("nuclide"); +inline const Child<> nuclides("nuclides"); +inline const Child<> parity("parity"); +inline const Child<> pdf("pdf"); +inline const Child<> photonEmissionProbabilities("photonEmissionProbabilities"); +inline const Child<> positronEmissionIntensity("positronEmissionIntensity"); +inline const Child<> probability("probability"); +inline const Child<> product("product"); +inline const Child<> products("products"); +inline const Child<> shell("shell"); +inline const Child<> spectra("spectra"); +inline const Child<> spectrum("spectrum"); +inline const Child<> spin("spin"); +inline const Child<> standard("standard"); +inline const Child<> uncertainty("uncertainty"); +inline const Child<> unorthodox("unorthodox"); +inline const Child<> unorthodoxes("unorthodoxes"); + +} // namespace child +using namespace child; +} // namespace pops + + +// ----------------------------------------------------------------------------- +// processed::child:: +// ----------------------------------------------------------------------------- + +namespace processed { +namespace child { + +inline const Child<> angularEnergyMC("angularEnergyMC"); +inline const Child<> availableEnergy("availableEnergy"); +inline const Child<> availableMomentum("availableMomentum"); +inline const Child<> averageProductEnergy("averageProductEnergy"); +inline const Child<> averageProductMomentum("averageProductMomentum"); +inline const Child<> energyAngularMC("energyAngularMC"); +inline const Child<> multiGroup3d("multiGroup3d"); + +} // namespace child +using namespace child; +} // namespace processed + + +// ----------------------------------------------------------------------------- +// resonances::child:: +// ----------------------------------------------------------------------------- + +namespace resonances { +namespace child { + +inline const Child<> BreitWigner("BreitWigner"); +inline const Child<> J("J"); +inline const Child<> Js("Js"); +inline const Child<> L("L"); +inline const Child<> Ls("Ls"); +inline const Child<> RMatrix("RMatrix"); +inline const Child<> channel("channel"); +inline const Child<> channels("channels"); +inline const Child<> energyInterval("energyInterval"); +inline const Child<> energyIntervals("energyIntervals"); +inline const Child<> externalRMatrix("externalRMatrix"); +inline const Child<> hardSphereRadius("hardSphereRadius"); +inline const Child<> levelSpacing("levelSpacing"); +inline const Child<> resolved("resolved"); +inline const Child<> resonanceParameters("resonanceParameters"); +inline const Child<> resonanceReaction("resonanceReaction"); +inline const Child<> resonanceReactions("resonanceReactions"); +inline const Child<> resonances("resonances"); +inline const Child<> scatteringRadius("scatteringRadius"); +inline const Child<> spinGroup("spinGroup"); +inline const Child<> spinGroups("spinGroups"); +inline const Child<> tabulatedWidths("tabulatedWidths"); +inline const Child<> unresolved("unresolved"); +inline const Child<> width("width"); +inline const Child<> widths("widths"); + +} // namespace child +using namespace child; +} // namespace resonances + + +// ----------------------------------------------------------------------------- +// styles::child:: +// ----------------------------------------------------------------------------- + +namespace styles { +namespace child { + +inline const Child<> Bondarenko("Bondarenko"); +inline const Child<> CoulombPlusNuclearElasticMuCutoff("CoulombPlusNuclearElasticMuCutoff"); +inline const Child<> MonteCarlo_cdf("MonteCarlo_cdf"); +inline const Child<> SnElasticUpScatter("SnElasticUpScatter"); +inline const Child<> URR_probabilityTables("URR_probabilityTables"); +inline const Child<> angularDistributionReconstructed("angularDistributionReconstructed"); +inline const Child<> averageProductData("averageProductData"); +inline const Child<> crossSectionReconstructed("crossSectionReconstructed"); +inline const Child<> equalProbableBins("equalProbableBins"); +inline const Child<> evaluated("evaluated"); +inline const Child<> flux("flux"); +inline const Child<> griddedCrossSection("griddedCrossSection"); +inline const Child<> heated("heated"); +inline const Child<> heatedMultiGroup("heatedMultiGroup"); +inline const Child<> inverseSpeed("inverseSpeed"); +inline const Child<> multiBand("multiBand"); +inline const Child<> multiGroup("multiGroup"); +inline const Child<> projectileEnergyDomain("projectileEnergyDomain"); +inline const Child<> realization("realization"); +inline const Child<> sigmaZeros("sigmaZeros"); +inline const Child<> styles("styles"); +inline const Child<> temperature("temperature"); +inline const Child<> transportable("transportable"); +inline const Child<> transportables("transportables"); + +} // namespace child +using namespace child; +} // namespace styles + + +// ----------------------------------------------------------------------------- +// transport::child:: +// ----------------------------------------------------------------------------- + +namespace transport { +namespace child { + +inline const Child<> KalbachMann("KalbachMann"); +inline const Child<> NBodyPhaseSpace("NBodyPhaseSpace"); +inline const Child<> U("U"); +inline const Child<> URR_probabilityTables1d("URR_probabilityTables1d"); +inline const Child<> a("a"); +inline const Child<> add("add"); +inline const Child<> angular("angular"); +inline const Child<> angularEnergy("angularEnergy"); +inline const Child<> angularTwoBody("angularTwoBody"); +inline const Child<> background("background"); +inline const Child<> branching1d("branching1d"); +inline const Child<> branching3d("branching3d"); +inline const Child<> coherentPhoton("coherentPhoton"); +inline const Child<> crossSection("crossSection"); +inline const Child<> crossSectionSum("crossSectionSum"); +inline const Child<> crossSectionSums("crossSectionSums"); +inline const Child<> discreteGamma("discreteGamma"); +inline const Child<> distribution("distribution"); +inline const Child<> doubleDifferentialCrossSection("doubleDifferentialCrossSection"); +inline const Child<> energy("energy"); +inline const Child<> energyAngular("energyAngular"); +inline const Child<> evaporation("evaporation"); +inline const Child<> f("f"); +inline const Child<> fastRegion("fastRegion"); +inline const Child<> forward("forward"); +inline const Child<> g("g"); +inline const Child<> generalEvaporation("generalEvaporation"); +inline const Child<> incoherentPhoton("incoherentPhoton"); +inline const Child<> incompleteReactions("incompleteReactions"); +inline const Child<> isotropic2d("isotropic2d"); +inline const Child<> multiplicity("multiplicity"); +inline const Child<> multiplicitySum("multiplicitySum"); +inline const Child<> multiplicitySums("multiplicitySums"); +inline const Child<> orphanProduct("orphanProduct"); +inline const Child<> orphanProducts("orphanProducts"); +inline const Child<> outputChannel("outputChannel"); +inline const Child<> photonEmissionProbabilities("photonEmissionProbabilities"); +inline const Child<> primaryGamma("primaryGamma"); +inline const Child<> production("production"); +inline const Child<> productions("productions"); +inline const Child<> r("r"); +inline const Child<> reaction("reaction"); +inline const Child<> reactionSuite("reactionSuite"); +inline const Child<> reactions("reactions"); +inline const Child<> recoil("recoil"); +inline const Child<> reference("reference"); +inline const Child<> resolvedRegion("resolvedRegion"); +inline const Child<> resonances("resonances"); +inline const Child<> resonancesWithBackground("resonancesWithBackground"); +inline const Child<> scatteringMatrix("scatteringMatrix"); +inline const Child<> summands("summands"); +inline const Child<> sums("sums"); +inline const Child<> theta("theta"); +inline const Child<> uncorrelated("uncorrelated"); +inline const Child<> unresolvedRegion("unresolvedRegion"); +inline const Child<> unspecified("unspecified"); +inline const Child<> weighted("weighted"); +inline const Child<> weightedFunctionals("weightedFunctionals"); + +} // namespace child +using namespace child; +} // namespace transport + + +// ----------------------------------------------------------------------------- +// tsl::child:: +// ----------------------------------------------------------------------------- + +namespace tsl { +namespace child { + +inline const Child<> BraggEdge("BraggEdge"); +inline const Child<> BraggEdges("BraggEdges"); +inline const Child<> BraggEnergy("BraggEnergy"); +inline const Child<> DebyeWallerIntegral("DebyeWallerIntegral"); +inline const Child<> GaussianApproximation("GaussianApproximation"); +inline const Child<> SCTApproximation("SCTApproximation"); +inline const Child<> S_table("S_table"); +inline const Child<> T_effective("T_effective"); +inline const Child<> boundAtomCrossSection("boundAtomCrossSection"); +inline const Child<> coherentAtomCrossSection("coherentAtomCrossSection"); +inline const Child<> distinctScatteringKernel("distinctScatteringKernel"); +inline const Child<> e_critical("e_critical"); +inline const Child<> e_max("e_max"); +inline const Child<> freeGasApproximation("freeGasApproximation"); +inline const Child<> phononSpectrum("phononSpectrum"); +inline const Child<> scatteringAtom("scatteringAtom"); +inline const Child<> scatteringAtoms("scatteringAtoms"); +inline const Child<> selfScatteringKernel("selfScatteringKernel"); +inline const Child<> structureFactor("structureFactor"); +inline const Child<> thermalNeutronScatteringLaw("thermalNeutronScatteringLaw"); +inline const Child<> thermalNeutronScatteringLaw1d("thermalNeutronScatteringLaw1d"); +inline const Child<> thermalNeutronScatteringLaw_coherentElastic("thermalNeutronScatteringLaw_coherentElastic"); +inline const Child<> thermalNeutronScatteringLaw_incoherentElastic("thermalNeutronScatteringLaw_incoherentElastic"); +inline const Child<> thermalNeutronScatteringLaw_incoherentInelastic("thermalNeutronScatteringLaw_incoherentInelastic"); + +} // namespace child +using namespace child; +} // namespace tsl + + +// ----------------------------------------------------------------------------- +// For convenience: using directives +// ----------------------------------------------------------------------------- + +namespace key { + using namespace meta; + using namespace appData::child; + using namespace atomic::child; + using namespace common::child; + using namespace covariance::child; + using namespace cpTransport::child; + using namespace documentation::child; + using namespace fissionFragmentData::child; + using namespace fissionTransport::child; + using namespace fpy::child; + using namespace map::child; + using namespace pops::child; + using namespace processed::child; + using namespace resonances::child; + using namespace styles::child; + using namespace transport::child; + using namespace tsl::child; +} // namespace key + +using namespace key; +using namespace appData; +using namespace atomic; +using namespace common; +using namespace covariance; +using namespace cpTransport; +using namespace documentation; +using namespace fissionFragmentData; +using namespace fissionTransport; +using namespace fpy; +using namespace map; +using namespace pops; +using namespace processed; +using namespace resonances; +using namespace styles; +using namespace transport; +using namespace tsl; + + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Import.hpp b/standards/gnds-2.0/try/src/try/v2.0/map/Import.hpp new file mode 100644 index 000000000..9b4bed97d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/map/Import.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_MAP_IMPORT +#define TRY_V2_0_MAP_IMPORT + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace map { + +// ----------------------------------------------------------------------------- +// map:: +// class Import +// ----------------------------------------------------------------------------- + +class Import : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "map"; } + static auto CLASS() { return "Import"; } + static auto FIELD() { return "import"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("path") | + checksum{} + / Meta<>("checksum") | + std::optional{} + / Meta<>("algorithm") + ; + } + +public: + using Component::construct; + + // metadata + Field path{this}; + Field checksum{this}; + Field> algorithm{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->path, \ + this->checksum, \ + this->algorithm) + + // default, and from fields + explicit Import( + const wrapper &path = {}, + const wrapper &checksum = {}, + const wrapper> &algorithm = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + path(this,path), + checksum(this,checksum), + algorithm(this,algorithm) + { + Component::finish(); + } + + // from node + explicit Import(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Import(const Import &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Import(Import &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Import &operator=(const Import &) = default; + Import &operator=(Import &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/map/Import/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Import + +} // namespace map +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Import/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/map/Import/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/map/Import/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Map.hpp b/standards/gnds-2.0/try/src/try/v2.0/map/Map.hpp new file mode 100644 index 000000000..43b7d1f54 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/map/Map.hpp @@ -0,0 +1,147 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_MAP_MAP +#define TRY_V2_0_MAP_MAP + +#include "try/v2.0/map/Import.hpp" +#include "try/v2.0/map/Protare.hpp" +#include "try/v2.0/map/TNSL.hpp" + +namespace try { +namespace v2_0 { +namespace map { + +// ----------------------------------------------------------------------------- +// map:: +// class Map +// ----------------------------------------------------------------------------- + +class Map : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "map"; } + static auto CLASS() { return "Map"; } + static auto FIELD() { return "map"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("library") | + XMLName{} + / Meta<>("format") | + checksum{} + / Meta<>("checksum") | + algorithm{} + / Meta<>("algorithm") | + // children + std::optional{} + / ++Child<>("import") | + std::optional{} + / ++Child<>("protare") | + std::optional{} + / ++Child<>("TNSL") + ; + } + +public: + using Component::construct; + + // metadata + Field library{this}; + Field format{this}; + Field checksum{this}; + Field algorithm{this}; + + // children + Field>> import{this}; + Field>> protare{this}; + Field>> TNSL{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->library, \ + this->format, \ + this->checksum, \ + this->algorithm, \ + this->import, \ + this->protare, \ + this->TNSL) + + // default, and from fields + explicit Map( + const wrapper &library = {}, + const wrapper &format = {}, + const wrapper &checksum = {}, + const wrapper &algorithm = {}, + const wrapper>> &import = {}, + const wrapper>> &protare = {}, + const wrapper>> &TNSL = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + library(this,library), + format(this,format), + checksum(this,checksum), + algorithm(this,algorithm), + import(this,import), + protare(this,protare), + TNSL(this,TNSL) + { + Component::finish(); + } + + // from node + explicit Map(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Map(const Map &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Map(Map &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Map &operator=(const Map &) = default; + Map &operator=(Map &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/map/Map/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Map + +} // namespace map +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Map/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/map/Map/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/map/Map/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Protare.hpp b/standards/gnds-2.0/try/src/try/v2.0/map/Protare.hpp new file mode 100644 index 000000000..0c537f4cb --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/map/Protare.hpp @@ -0,0 +1,142 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_MAP_PROTARE +#define TRY_V2_0_MAP_PROTARE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace map { + +// ----------------------------------------------------------------------------- +// map:: +// class Protare +// ----------------------------------------------------------------------------- + +class Protare : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "map"; } + static auto CLASS() { return "Protare"; } + static auto FIELD() { return "protare"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("projectile") | + XMLName{} + / Meta<>("target") | + XMLName{} + / Meta<>("evaluation") | + XMLName{} + / Meta<>("path") | + XMLName{} + / Meta<>("interaction") | + checksum{} + / Meta<>("checksum") | + std::optional{} + / Meta<>("algorithm") + ; + } + +public: + using Component::construct; + + // metadata + Field projectile{this}; + Field target{this}; + Field evaluation{this}; + Field path{this}; + Field interaction{this}; + Field checksum{this}; + Field> algorithm{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->projectile, \ + this->target, \ + this->evaluation, \ + this->path, \ + this->interaction, \ + this->checksum, \ + this->algorithm) + + // default, and from fields + explicit Protare( + const wrapper &projectile = {}, + const wrapper &target = {}, + const wrapper &evaluation = {}, + const wrapper &path = {}, + const wrapper &interaction = {}, + const wrapper &checksum = {}, + const wrapper> &algorithm = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + projectile(this,projectile), + target(this,target), + evaluation(this,evaluation), + path(this,path), + interaction(this,interaction), + checksum(this,checksum), + algorithm(this,algorithm) + { + Component::finish(); + } + + // from node + explicit Protare(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Protare(const Protare &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Protare(Protare &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Protare &operator=(const Protare &) = default; + Protare &operator=(Protare &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/map/Protare/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Protare + +} // namespace map +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Protare/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/map/Protare/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/map/Protare/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/TNSL.hpp b/standards/gnds-2.0/try/src/try/v2.0/map/TNSL.hpp new file mode 100644 index 000000000..e4108b0ce --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/map/TNSL.hpp @@ -0,0 +1,154 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_MAP_TNSL +#define TRY_V2_0_MAP_TNSL + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace map { + +// ----------------------------------------------------------------------------- +// map:: +// class TNSL +// ----------------------------------------------------------------------------- + +class TNSL : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "map"; } + static auto CLASS() { return "TNSL"; } + static auto FIELD() { return "TNSL"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("projectile") | + XMLName{} + / Meta<>("target") | + XMLName{} + / Meta<>("evaluation") | + XMLName{} + / Meta<>("path") | + std::optional{} + / Meta<>("interaction") | + checksum{} + / Meta<>("checksum") | + std::optional{} + / Meta<>("algorithm") | + XMLName{} + / Meta<>("standardTarget") | + XMLName{} + / Meta<>("standardEvaluation") + ; + } + +public: + using Component::construct; + + // metadata + Field projectile{this}; + Field target{this}; + Field evaluation{this}; + Field path{this}; + Field> interaction{this}; + Field checksum{this}; + Field> algorithm{this}; + Field standardTarget{this}; + Field standardEvaluation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->projectile, \ + this->target, \ + this->evaluation, \ + this->path, \ + this->interaction, \ + this->checksum, \ + this->algorithm, \ + this->standardTarget, \ + this->standardEvaluation) + + // default, and from fields + explicit TNSL( + const wrapper &projectile = {}, + const wrapper &target = {}, + const wrapper &evaluation = {}, + const wrapper &path = {}, + const wrapper> &interaction = {}, + const wrapper &checksum = {}, + const wrapper> &algorithm = {}, + const wrapper &standardTarget = {}, + const wrapper &standardEvaluation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + projectile(this,projectile), + target(this,target), + evaluation(this,evaluation), + path(this,path), + interaction(this,interaction), + checksum(this,checksum), + algorithm(this,algorithm), + standardTarget(this,standardTarget), + standardEvaluation(this,standardEvaluation) + { + Component::finish(); + } + + // from node + explicit TNSL(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + TNSL(const TNSL &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + TNSL(TNSL &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + TNSL &operator=(const TNSL &) = default; + TNSL &operator=(TNSL &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/map/TNSL/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class TNSL + +} // namespace map +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/TNSL/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/map/TNSL/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/map/TNSL/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Alias.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Alias.hpp new file mode 100644 index 000000000..35058e528 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Alias.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_ALIAS +#define TRY_V2_0_POPS_ALIAS + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Alias +// ----------------------------------------------------------------------------- + +class Alias : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Alias"; } + static auto FIELD() { return "alias"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("id") | + XMLName{} + / Meta<>("pid") + ; + } + +public: + using Component::construct; + + // metadata + Field id{this}; + Field pid{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->id, \ + this->pid) + + // default, and from fields + explicit Alias( + const wrapper &id = {}, + const wrapper &pid = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + id(this,id), + pid(this,pid) + { + Component::finish(); + } + + // from node + explicit Alias(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Alias(const Alias &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Alias(Alias &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Alias &operator=(const Alias &) = default; + Alias &operator=(Alias &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Alias/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Alias + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Alias/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Alias/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Alias/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases.hpp new file mode 100644 index 000000000..0af7a2462 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_ALIASES +#define TRY_V2_0_POPS_ALIASES + +#include "try/v2.0/pops/Alias.hpp" +#include "try/v2.0/pops/MetaStable.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Aliases +// ----------------------------------------------------------------------------- + +class Aliases : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Aliases"; } + static auto FIELD() { return "aliases"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("alias") | + std::optional{} + / ++Child<>("metaStable") + ; + } + +public: + using Component::construct; + + // children + Field>> alias{this}; + Field>> metaStable{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->alias, \ + this->metaStable) + + // default, and from fields + explicit Aliases( + const wrapper>> &alias = {}, + const wrapper>> &metaStable = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + alias(this,alias), + metaStable(this,metaStable) + { + Component::finish(); + } + + // from node + explicit Aliases(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Aliases(const Aliases &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Aliases(Aliases &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Aliases &operator=(const Aliases &) = default; + Aliases &operator=(Aliases &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Aliases/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Aliases + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic.hpp new file mode 100644 index 000000000..b9c8d031f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_ATOMIC +#define TRY_V2_0_POPS_ATOMIC + +#include "try/v2.0/pops/Configurations.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Atomic +// ----------------------------------------------------------------------------- + +class Atomic : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Atomic"; } + static auto FIELD() { return "atomic"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("configurations") + ; + } + +public: + using Component::construct; + + // children + Field> configurations{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->configurations) + + // default, and from fields + explicit Atomic( + const wrapper> &configurations = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + configurations(this,configurations) + { + Component::finish(); + } + + // from node + explicit Atomic(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Atomic(const Atomic &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Atomic(Atomic &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Atomic &operator=(const Atomic &) = default; + Atomic &operator=(Atomic &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Atomic/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Atomic + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies.hpp new file mode 100644 index 000000000..38c87e586 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_AVERAGEENERGIES +#define TRY_V2_0_POPS_AVERAGEENERGIES + +#include "try/v2.0/pops/AverageEnergy.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class AverageEnergies +// ----------------------------------------------------------------------------- + +class AverageEnergies : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "AverageEnergies"; } + static auto FIELD() { return "averageEnergies"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::AverageEnergy{} + / ++Child<>("averageEnergy") + ; + } + +public: + using Component::construct; + + // children + Field> averageEnergy{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->averageEnergy) + + // default, and from fields + explicit AverageEnergies( + const wrapper> &averageEnergy = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + averageEnergy(this,averageEnergy) + { + Component::finish(); + } + + // from node + explicit AverageEnergies(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AverageEnergies(const AverageEnergies &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AverageEnergies(AverageEnergies &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AverageEnergies &operator=(const AverageEnergies &) = default; + AverageEnergies &operator=(AverageEnergies &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/AverageEnergies/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AverageEnergies + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy.hpp new file mode 100644 index 000000000..b81450e20 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_AVERAGEENERGY +#define TRY_V2_0_POPS_AVERAGEENERGY + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class AverageEnergy +// ----------------------------------------------------------------------------- + +class AverageEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "AverageEnergy"; } + static auto FIELD() { return "averageEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + Float64{} + / Meta<>("value") | + XMLName{} + / Meta<>("unit") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field value{this}; + Field unit{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->value, \ + this->unit, \ + this->documentation, \ + this->uncertainty) + + // default, and from fields + explicit AverageEnergy( + const wrapper &label = {}, + const wrapper &value = {}, + const wrapper &unit = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + value(this,value), + unit(this,unit), + documentation(this,documentation), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit AverageEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AverageEnergy(const AverageEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AverageEnergy(AverageEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AverageEnergy &operator=(const AverageEnergy &) = default; + AverageEnergy &operator=(AverageEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/AverageEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AverageEnergy + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon.hpp new file mode 100644 index 000000000..dba3e7ccd --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon.hpp @@ -0,0 +1,150 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_BARYON +#define TRY_V2_0_POPS_BARYON + +#include "try/v2.0/pops/Charge.hpp" +#include "try/v2.0/pops/Halflife.hpp" +#include "try/v2.0/pops/Mass.hpp" +#include "try/v2.0/pops/Spin.hpp" +#include "try/v2.0/pops/Parity.hpp" +#include "try/v2.0/pops/DecayData.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Baryon +// ----------------------------------------------------------------------------- + +class Baryon : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Baryon"; } + static auto FIELD() { return "baryon"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("id") | + // children + std::optional{} + / --Child<>("charge") | + std::optional{} + / --Child<>("halflife") | + std::optional{} + / --Child<>("mass") | + std::optional{} + / --Child<>("spin") | + std::optional{} + / --Child<>("parity") | + std::optional{} + / --Child<>("decayData") + ; + } + +public: + using Component::construct; + + // metadata + Field id{this}; + + // children + Field> charge{this}; + Field> halflife{this}; + Field> mass{this}; + Field> spin{this}; + Field> parity{this}; + Field> decayData{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->id, \ + this->charge, \ + this->halflife, \ + this->mass, \ + this->spin, \ + this->parity, \ + this->decayData) + + // default, and from fields + explicit Baryon( + const wrapper &id = {}, + const wrapper> &charge = {}, + const wrapper> &halflife = {}, + const wrapper> &mass = {}, + const wrapper> &spin = {}, + const wrapper> &parity = {}, + const wrapper> &decayData = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + id(this,id), + charge(this,charge), + halflife(this,halflife), + mass(this,mass), + spin(this,spin), + parity(this,parity), + decayData(this,decayData) + { + Component::finish(); + } + + // from node + explicit Baryon(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Baryon(const Baryon &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Baryon(Baryon &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Baryon &operator=(const Baryon &) = default; + Baryon &operator=(Baryon &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Baryon/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Baryon + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons.hpp new file mode 100644 index 000000000..a8da8fd51 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_BARYONS +#define TRY_V2_0_POPS_BARYONS + +#include "try/v2.0/pops/Baryon.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Baryons +// ----------------------------------------------------------------------------- + +class Baryons : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Baryons"; } + static auto FIELD() { return "baryons"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("baryon") + ; + } + +public: + using Component::construct; + + // children + Field>> baryon{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->baryon) + + // default, and from fields + explicit Baryons( + const wrapper>> &baryon = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + baryon(this,baryon) + { + Component::finish(); + } + + // from node + explicit Baryons(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Baryons(const Baryons &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Baryons(Baryons &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Baryons &operator=(const Baryons &) = default; + Baryons &operator=(Baryons &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Baryons/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Baryons + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp new file mode 100644 index 000000000..fea44716d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_BINDINGENERGY +#define TRY_V2_0_POPS_BINDINGENERGY + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class BindingEnergy +// ----------------------------------------------------------------------------- + +class BindingEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "BindingEnergy"; } + static auto FIELD() { return "bindingEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + std::optional{} + / ++Child<>("Double") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + Field>> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->Double) + + // default, and from fields + explicit BindingEnergy( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper>> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit BindingEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + BindingEnergy(const BindingEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + BindingEnergy(BindingEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + BindingEnergy &operator=(const BindingEnergy &) = default; + BindingEnergy &operator=(BindingEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/BindingEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class BindingEnergy + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp new file mode 100644 index 000000000..588e93a8f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp @@ -0,0 +1,151 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_CHARGE +#define TRY_V2_0_POPS_CHARGE + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Integer.hpp" +#include "try/v2.0/unknownNamespace/Fraction.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Charge +// ----------------------------------------------------------------------------- + +class Charge : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::Integer, + unknownNamespace::Fraction + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Charge"; } + static auto FIELD() { return "charge"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + _t{} + / --(Child<>("integer") || Child<>("fraction")) + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // children - variant + Field<_t> _integerfraction{this}; + FieldPart integer{_integerfraction}; + FieldPart fraction{_integerfraction}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->_integerfraction) + + // default, and from fields + explicit Charge( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper<_t> &_integerfraction = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + _integerfraction(this,_integerfraction) + { + Component::finish(); + } + + // from node + explicit Charge(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Charge(const Charge &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Charge(Charge &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Charge &operator=(const Charge &) = default; + Charge &operator=(Charge &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Charge/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Charge + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Charge/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Charge/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Charge/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement.hpp new file mode 100644 index 000000000..be6be681d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_CHEMICALELEMENT +#define TRY_V2_0_POPS_CHEMICALELEMENT + +#include "try/v2.0/pops/Atomic.hpp" +#include "try/v2.0/pops/Isotopes.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class ChemicalElement +// ----------------------------------------------------------------------------- + +class ChemicalElement : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "ChemicalElement"; } + static auto FIELD() { return "chemicalElement"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("symbol") | + Integer32{} + / Meta<>("Z") | + std::optional{} + / Meta<>("name") | + // children + std::optional{} + / --Child<>("atomic") | + std::optional{} + / --Child<>("isotopes") + ; + } + +public: + using Component::construct; + + // metadata + Field symbol{this}; + Field Z{this}; + Field> name{this}; + + // children + Field> atomic{this}; + Field> isotopes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->symbol, \ + this->Z, \ + this->name, \ + this->atomic, \ + this->isotopes) + + // default, and from fields + explicit ChemicalElement( + const wrapper &symbol = {}, + const wrapper &Z = {}, + const wrapper> &name = {}, + const wrapper> &atomic = {}, + const wrapper> &isotopes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + symbol(this,symbol), + Z(this,Z), + name(this,name), + atomic(this,atomic), + isotopes(this,isotopes) + { + Component::finish(); + } + + // from node + explicit ChemicalElement(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ChemicalElement(const ChemicalElement &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ChemicalElement(ChemicalElement &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ChemicalElement &operator=(const ChemicalElement &) = default; + ChemicalElement &operator=(ChemicalElement &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/ChemicalElement/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ChemicalElement + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements.hpp new file mode 100644 index 000000000..26a1e2e65 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_CHEMICALELEMENTS +#define TRY_V2_0_POPS_CHEMICALELEMENTS + +#include "try/v2.0/pops/ChemicalElement.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class ChemicalElements +// ----------------------------------------------------------------------------- + +class ChemicalElements : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "ChemicalElements"; } + static auto FIELD() { return "chemicalElements"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("chemicalElement") + ; + } + +public: + using Component::construct; + + // children + Field>> chemicalElement{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->chemicalElement) + + // default, and from fields + explicit ChemicalElements( + const wrapper>> &chemicalElement = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + chemicalElement(this,chemicalElement) + { + Component::finish(); + } + + // from node + explicit ChemicalElements(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ChemicalElements(const ChemicalElements &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ChemicalElements(ChemicalElements &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ChemicalElements &operator=(const ChemicalElements &) = default; + ChemicalElements &operator=(ChemicalElements &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/ChemicalElements/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ChemicalElements + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals.hpp new file mode 100644 index 000000000..75d243f42 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_CONFIDENCEINTERVALS +#define TRY_V2_0_POPS_CONFIDENCEINTERVALS + +#include "try/v2.0/pops/Interval.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class ConfidenceIntervals +// ----------------------------------------------------------------------------- + +class ConfidenceIntervals : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "ConfidenceIntervals"; } + static auto FIELD() { return "confidenceIntervals"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Interval{} + / ++Child<>("interval") + ; + } + +public: + using Component::construct; + + // children + Field> interval{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->interval) + + // default, and from fields + explicit ConfidenceIntervals( + const wrapper> &interval = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + interval(this,interval) + { + Component::finish(); + } + + // from node + explicit ConfidenceIntervals(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ConfidenceIntervals(const ConfidenceIntervals &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ConfidenceIntervals(ConfidenceIntervals &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ConfidenceIntervals &operator=(const ConfidenceIntervals &) = default; + ConfidenceIntervals &operator=(ConfidenceIntervals &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/ConfidenceIntervals/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ConfidenceIntervals + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration.hpp new file mode 100644 index 000000000..13b055580 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_CONFIGURATION +#define TRY_V2_0_POPS_CONFIGURATION + +#include "try/v2.0/pops/BindingEnergy.hpp" +#include "try/v2.0/pops/DecayData.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Configuration +// ----------------------------------------------------------------------------- + +class Configuration : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Configuration"; } + static auto FIELD() { return "configuration"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("subshell") | + Float64{} + / Meta<>("electronNumber") | + // children + pops::BindingEnergy{} + / --Child<>("bindingEnergy") | + std::optional{} + / --Child<>("decayData") + ; + } + +public: + using Component::construct; + + // metadata + Field subshell{this}; + Field electronNumber{this}; + + // children + Field bindingEnergy{this}; + Field> decayData{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->subshell, \ + this->electronNumber, \ + this->bindingEnergy, \ + this->decayData) + + // default, and from fields + explicit Configuration( + const wrapper &subshell = {}, + const wrapper &electronNumber = {}, + const wrapper &bindingEnergy = {}, + const wrapper> &decayData = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + subshell(this,subshell), + electronNumber(this,electronNumber), + bindingEnergy(this,bindingEnergy), + decayData(this,decayData) + { + Component::finish(); + } + + // from node + explicit Configuration(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Configuration(const Configuration &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Configuration(Configuration &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Configuration &operator=(const Configuration &) = default; + Configuration &operator=(Configuration &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Configuration/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Configuration + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations.hpp new file mode 100644 index 000000000..f5859f558 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_CONFIGURATIONS +#define TRY_V2_0_POPS_CONFIGURATIONS + +#include "try/v2.0/pops/Configuration.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Configurations +// ----------------------------------------------------------------------------- + +class Configurations : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Configurations"; } + static auto FIELD() { return "configurations"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Configuration{} + / ++Child<>("configuration") + ; + } + +public: + using Component::construct; + + // children + Field> configuration{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->configuration) + + // default, and from fields + explicit Configurations( + const wrapper> &configuration = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + configuration(this,configuration) + { + Component::finish(); + } + + // from node + explicit Configurations(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Configurations(const Configurations &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Configurations(Configurations &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Configurations &operator=(const Configurations &) = default; + Configurations &operator=(Configurations &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Configurations/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Configurations + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp new file mode 100644 index 000000000..58f19e96b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_CONTINUUM +#define TRY_V2_0_POPS_CONTINUUM + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Continuum +// ----------------------------------------------------------------------------- + +class Continuum : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Continuum"; } + static auto FIELD() { return "continuum"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d) + + // default, and from fields + explicit Continuum( + const wrapper> &XYs1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d) + { + Component::finish(); + } + + // from node + explicit Continuum(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Continuum(const Continuum &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Continuum(Continuum &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Continuum &operator=(const Continuum &) = default; + Continuum &operator=(Continuum &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Continuum/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Continuum + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Decay.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Decay.hpp new file mode 100644 index 000000000..036a82ac8 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Decay.hpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_DECAY +#define TRY_V2_0_POPS_DECAY + +#include "try/v2.0/pops/Products.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Decay +// ----------------------------------------------------------------------------- + +class Decay : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Decay"; } + static auto FIELD() { return "decay"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Integer32{} + / Meta<>("index") | + std::optional{} + / Meta<>("mode") | + Defaulted{false} + / Meta<>("complete") | + // children + std::optional{} + / --Child<>("products") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const bool complete = false; + } defaults; + + // metadata + Field index{this}; + Field> mode{this}; + Field> complete{this,defaults.complete}; + + // children + Field> products{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->mode, \ + this->complete, \ + this->products) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Decay( + const wrapper &index = {}, + const wrapper> &mode = {}, + const wrapper> &complete = {}, + const wrapper> &products = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + mode(this,mode), + complete(this,defaults.complete,complete), + products(this,products) + { + Component::finish(); + } + + // from node + explicit Decay(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Decay(const Decay &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Decay(Decay &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Decay &operator=(const Decay &) = default; + Decay &operator=(Decay &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Decay/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Decay + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Decay/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Decay/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Decay/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData.hpp new file mode 100644 index 000000000..e08bd4c04 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_DECAYDATA +#define TRY_V2_0_POPS_DECAYDATA + +#include "try/v2.0/pops/DecayModes.hpp" +#include "try/v2.0/pops/AverageEnergies.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class DecayData +// ----------------------------------------------------------------------------- + +class DecayData : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "DecayData"; } + static auto FIELD() { return "decayData"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("decayModes") | + std::optional{} + / --Child<>("averageEnergies") + ; + } + +public: + using Component::construct; + + // children + Field> decayModes{this}; + Field> averageEnergies{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->decayModes, \ + this->averageEnergies) + + // default, and from fields + explicit DecayData( + const wrapper> &decayModes = {}, + const wrapper> &averageEnergies = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + decayModes(this,decayModes), + averageEnergies(this,averageEnergies) + { + Component::finish(); + } + + // from node + explicit DecayData(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DecayData(const DecayData &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DecayData(DecayData &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DecayData &operator=(const DecayData &) = default; + DecayData &operator=(DecayData &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/DecayData/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DecayData + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode.hpp new file mode 100644 index 000000000..d4e697380 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode.hpp @@ -0,0 +1,156 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_DECAYMODE +#define TRY_V2_0_POPS_DECAYMODE + +#include "try/v2.0/pops/Probability.hpp" +#include "try/v2.0/pops/InternalConversionCoefficients.hpp" +#include "try/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "try/v2.0/pops/Q.hpp" +#include "try/v2.0/pops/DecayPath.hpp" +#include "try/v2.0/pops/Spectra.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class DecayMode +// ----------------------------------------------------------------------------- + +class DecayMode : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "DecayMode"; } + static auto FIELD() { return "decayMode"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + enums::DecayType{} + / Meta<>("mode") | + // children + pops::Probability{} + / --Child<>("probability") | + std::optional{} + / --Child<>("internalConversionCoefficients") | + std::optional{} + / --Child<>("photonEmissionProbabilities") | + std::optional{} + / --Child<>("Q") | + std::optional{} + / --Child<>("decayPath") | + std::optional{} + / --Child<>("spectra") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field mode{this}; + + // children + Field probability{this}; + Field> internalConversionCoefficients{this}; + Field> photonEmissionProbabilities{this}; + Field> Q{this}; + Field> decayPath{this}; + Field> spectra{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->mode, \ + this->probability, \ + this->internalConversionCoefficients, \ + this->photonEmissionProbabilities, \ + this->Q, \ + this->decayPath, \ + this->spectra) + + // default, and from fields + explicit DecayMode( + const wrapper &label = {}, + const wrapper &mode = {}, + const wrapper &probability = {}, + const wrapper> &internalConversionCoefficients = {}, + const wrapper> &photonEmissionProbabilities = {}, + const wrapper> &Q = {}, + const wrapper> &decayPath = {}, + const wrapper> &spectra = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + mode(this,mode), + probability(this,probability), + internalConversionCoefficients(this,internalConversionCoefficients), + photonEmissionProbabilities(this,photonEmissionProbabilities), + Q(this,Q), + decayPath(this,decayPath), + spectra(this,spectra) + { + Component::finish(); + } + + // from node + explicit DecayMode(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DecayMode(const DecayMode &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DecayMode(DecayMode &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DecayMode &operator=(const DecayMode &) = default; + DecayMode &operator=(DecayMode &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/DecayMode/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DecayMode + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes.hpp new file mode 100644 index 000000000..4b5a91d6e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_DECAYMODES +#define TRY_V2_0_POPS_DECAYMODES + +#include "try/v2.0/pops/DecayMode.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class DecayModes +// ----------------------------------------------------------------------------- + +class DecayModes : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "DecayModes"; } + static auto FIELD() { return "decayModes"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::DecayMode{} + / ++Child<>("decayMode") + ; + } + +public: + using Component::construct; + + // children + Field> decayMode{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->decayMode) + + // default, and from fields + explicit DecayModes( + const wrapper> &decayMode = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + decayMode(this,decayMode) + { + Component::finish(); + } + + // from node + explicit DecayModes(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DecayModes(const DecayModes &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DecayModes(DecayModes &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DecayModes &operator=(const DecayModes &) = default; + DecayModes &operator=(DecayModes &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/DecayModes/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DecayModes + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath.hpp new file mode 100644 index 000000000..1165fc548 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_DECAYPATH +#define TRY_V2_0_POPS_DECAYPATH + +#include "try/v2.0/pops/Decay.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class DecayPath +// ----------------------------------------------------------------------------- + +class DecayPath : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "DecayPath"; } + static auto FIELD() { return "decayPath"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Decay{} + / ++Child<>("decay") + ; + } + +public: + using Component::construct; + + // children + Field> decay{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->decay) + + // default, and from fields + explicit DecayPath( + const wrapper> &decay = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + decay(this,decay) + { + Component::finish(); + } + + // from node + explicit DecayPath(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DecayPath(const DecayPath &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DecayPath(DecayPath &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DecayPath &operator=(const DecayPath &) = default; + DecayPath &operator=(DecayPath &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/DecayPath/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DecayPath + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete.hpp new file mode 100644 index 000000000..3590102cc --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete.hpp @@ -0,0 +1,150 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_DISCRETE +#define TRY_V2_0_POPS_DISCRETE + +#include "try/v2.0/pops/DiscreteEnergy.hpp" +#include "try/v2.0/pops/Intensity.hpp" +#include "try/v2.0/pops/InternalConversionCoefficients.hpp" +#include "try/v2.0/pops/InternalPairFormationCoefficient.hpp" +#include "try/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "try/v2.0/pops/PositronEmissionIntensity.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Discrete +// ----------------------------------------------------------------------------- + +class Discrete : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Discrete"; } + static auto FIELD() { return "discrete"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("type") | + // children + pops::DiscreteEnergy{} + / --Child<>("energy") | + pops::Intensity{} + / --Child<>("intensity") | + std::optional{} + / --Child<>("internalConversionCoefficients") | + std::optional{} + / --Child<>("internalPairFormationCoefficient") | + std::optional{} + / --Child<>("photonEmissionProbabilities") | + std::optional{} + / --Child<>("positronEmissionIntensity") + ; + } + +public: + using Component::construct; + + // metadata + Field> type{this}; + + // children + Field energy{this}; + Field intensity{this}; + Field> internalConversionCoefficients{this}; + Field> internalPairFormationCoefficient{this}; + Field> photonEmissionProbabilities{this}; + Field> positronEmissionIntensity{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->type, \ + this->energy, \ + this->intensity, \ + this->internalConversionCoefficients, \ + this->internalPairFormationCoefficient, \ + this->photonEmissionProbabilities, \ + this->positronEmissionIntensity) + + // default, and from fields + explicit Discrete( + const wrapper> &type = {}, + const wrapper &energy = {}, + const wrapper &intensity = {}, + const wrapper> &internalConversionCoefficients = {}, + const wrapper> &internalPairFormationCoefficient = {}, + const wrapper> &photonEmissionProbabilities = {}, + const wrapper> &positronEmissionIntensity = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + type(this,type), + energy(this,energy), + intensity(this,intensity), + internalConversionCoefficients(this,internalConversionCoefficients), + internalPairFormationCoefficient(this,internalPairFormationCoefficient), + photonEmissionProbabilities(this,photonEmissionProbabilities), + positronEmissionIntensity(this,positronEmissionIntensity) + { + Component::finish(); + } + + // from node + explicit Discrete(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Discrete(const Discrete &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Discrete(Discrete &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Discrete &operator=(const Discrete &) = default; + Discrete &operator=(Discrete &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Discrete/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Discrete + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy.hpp new file mode 100644 index 000000000..4e66c457f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_DISCRETEENERGY +#define TRY_V2_0_POPS_DISCRETEENERGY + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class DiscreteEnergy +// ----------------------------------------------------------------------------- + +class DiscreteEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "DiscreteEnergy"; } + static auto FIELD() { return "discreteEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + Float64{} + / Meta<>("value") | + XMLName{} + / Meta<>("unit") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field value{this}; + Field unit{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->value, \ + this->unit, \ + this->documentation, \ + this->uncertainty) + + // default, and from fields + explicit DiscreteEnergy( + const wrapper> &label = {}, + const wrapper &value = {}, + const wrapper &unit = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + value(this,value), + unit(this,unit), + documentation(this,documentation), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit DiscreteEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DiscreteEnergy(const DiscreteEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DiscreteEnergy(DiscreteEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DiscreteEnergy &operator=(const DiscreteEnergy &) = default; + DiscreteEnergy &operator=(DiscreteEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/DiscreteEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DiscreteEnergy + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp new file mode 100644 index 000000000..b47e3a1d1 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_ENERGY +#define TRY_V2_0_POPS_ENERGY + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Energy +// ----------------------------------------------------------------------------- + +class Energy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Energy"; } + static auto FIELD() { return "energy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + std::optional{} + / ++Child<>("Double") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + Field>> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->Double) + + // default, and from fields + explicit Energy( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper>> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Energy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Energy(const Energy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Energy(Energy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Energy &operator=(const Energy &) = default; + Energy &operator=(Energy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Energy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Energy + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Energy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Energy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Energy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson.hpp new file mode 100644 index 000000000..cd6a3c861 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson.hpp @@ -0,0 +1,150 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_GAUGEBOSON +#define TRY_V2_0_POPS_GAUGEBOSON + +#include "try/v2.0/pops/Charge.hpp" +#include "try/v2.0/pops/Halflife.hpp" +#include "try/v2.0/pops/Mass.hpp" +#include "try/v2.0/pops/Spin.hpp" +#include "try/v2.0/pops/Parity.hpp" +#include "try/v2.0/pops/DecayData.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class GaugeBoson +// ----------------------------------------------------------------------------- + +class GaugeBoson : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "GaugeBoson"; } + static auto FIELD() { return "gaugeBoson"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("id") | + // children + std::optional{} + / --Child<>("charge") | + std::optional{} + / --Child<>("halflife") | + std::optional{} + / --Child<>("mass") | + std::optional{} + / --Child<>("spin") | + std::optional{} + / --Child<>("parity") | + std::optional{} + / --Child<>("decayData") + ; + } + +public: + using Component::construct; + + // metadata + Field id{this}; + + // children + Field> charge{this}; + Field> halflife{this}; + Field> mass{this}; + Field> spin{this}; + Field> parity{this}; + Field> decayData{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->id, \ + this->charge, \ + this->halflife, \ + this->mass, \ + this->spin, \ + this->parity, \ + this->decayData) + + // default, and from fields + explicit GaugeBoson( + const wrapper &id = {}, + const wrapper> &charge = {}, + const wrapper> &halflife = {}, + const wrapper> &mass = {}, + const wrapper> &spin = {}, + const wrapper> &parity = {}, + const wrapper> &decayData = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + id(this,id), + charge(this,charge), + halflife(this,halflife), + mass(this,mass), + spin(this,spin), + parity(this,parity), + decayData(this,decayData) + { + Component::finish(); + } + + // from node + explicit GaugeBoson(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + GaugeBoson(const GaugeBoson &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + GaugeBoson(GaugeBoson &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + GaugeBoson &operator=(const GaugeBoson &) = default; + GaugeBoson &operator=(GaugeBoson &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/GaugeBoson/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class GaugeBoson + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons.hpp new file mode 100644 index 000000000..a693f1d77 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_GAUGEBOSONS +#define TRY_V2_0_POPS_GAUGEBOSONS + +#include "try/v2.0/pops/GaugeBoson.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class GaugeBosons +// ----------------------------------------------------------------------------- + +class GaugeBosons : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "GaugeBosons"; } + static auto FIELD() { return "gaugeBosons"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("gaugeBoson") + ; + } + +public: + using Component::construct; + + // children + Field>> gaugeBoson{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->gaugeBoson) + + // default, and from fields + explicit GaugeBosons( + const wrapper>> &gaugeBoson = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + gaugeBoson(this,gaugeBoson) + { + Component::finish(); + } + + // from node + explicit GaugeBosons(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + GaugeBosons(const GaugeBosons &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + GaugeBosons(GaugeBosons &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + GaugeBosons &operator=(const GaugeBosons &) = default; + GaugeBosons &operator=(GaugeBosons &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/GaugeBosons/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class GaugeBosons + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp new file mode 100644 index 000000000..b169e94d5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp @@ -0,0 +1,151 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_HALFLIFE +#define TRY_V2_0_POPS_HALFLIFE + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/String.hpp" +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Halflife +// ----------------------------------------------------------------------------- + +class Halflife : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::String, + unknownNamespace::Double + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Halflife"; } + static auto FIELD() { return "halflife"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + _t{} + / --(Child<>("string") || Child<>("Double")) + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // children - variant + Field<_t> _stringDouble{this}; + FieldPart string{_stringDouble}; + FieldPart Double{_stringDouble}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->_stringDouble) + + // default, and from fields + explicit Halflife( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper<_t> &_stringDouble = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + _stringDouble(this,_stringDouble) + { + Component::finish(); + } + + // from node + explicit Halflife(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Halflife(const Halflife &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Halflife(Halflife &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Halflife &operator=(const Halflife &) = default; + Halflife &operator=(Halflife &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Halflife/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Halflife + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity.hpp new file mode 100644 index 000000000..ac98690ad --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_INTENSITY +#define TRY_V2_0_POPS_INTENSITY + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Intensity +// ----------------------------------------------------------------------------- + +class Intensity : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Intensity"; } + static auto FIELD() { return "intensity"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + std::optional{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field> value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty) + + // default, and from fields + explicit Intensity( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper> &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit Intensity(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Intensity(const Intensity &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Intensity(Intensity &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Intensity &operator=(const Intensity &) = default; + Intensity &operator=(Intensity &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Intensity/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Intensity + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients.hpp new file mode 100644 index 000000000..580a0bb71 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS +#define TRY_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS + +#include "try/v2.0/pops/Shell.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class InternalConversionCoefficients +// ----------------------------------------------------------------------------- + +class InternalConversionCoefficients : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "InternalConversionCoefficients"; } + static auto FIELD() { return "internalConversionCoefficients"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Shell{} + / ++Child<>("shell") + ; + } + +public: + using Component::construct; + + // children + Field> shell{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->shell) + + // default, and from fields + explicit InternalConversionCoefficients( + const wrapper> &shell = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + shell(this,shell) + { + Component::finish(); + } + + // from node + explicit InternalConversionCoefficients(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + InternalConversionCoefficients(const InternalConversionCoefficients &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + InternalConversionCoefficients(InternalConversionCoefficients &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + InternalConversionCoefficients &operator=(const InternalConversionCoefficients &) = default; + InternalConversionCoefficients &operator=(InternalConversionCoefficients &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/InternalConversionCoefficients/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class InternalConversionCoefficients + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/InternalPairFormationCoefficient.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/InternalPairFormationCoefficient.hpp new file mode 100644 index 000000000..78290ae5d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/InternalPairFormationCoefficient.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_INTERNALPAIRFORMATIONCOEFFICIENT +#define TRY_V2_0_POPS_INTERNALPAIRFORMATIONCOEFFICIENT + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class InternalPairFormationCoefficient +// ----------------------------------------------------------------------------- + +class InternalPairFormationCoefficient : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "InternalPairFormationCoefficient"; } + static auto FIELD() { return "internalPairFormationCoefficient"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + Float64{} + / Meta<>("value") | + XMLName{} + / Meta<>("unit") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field value{this}; + Field unit{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->value, \ + this->unit, \ + this->documentation, \ + this->uncertainty) + + // default, and from fields + explicit InternalPairFormationCoefficient( + const wrapper> &label = {}, + const wrapper &value = {}, + const wrapper &unit = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + value(this,value), + unit(this,unit), + documentation(this,documentation), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit InternalPairFormationCoefficient(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + InternalPairFormationCoefficient(const InternalPairFormationCoefficient &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + InternalPairFormationCoefficient(InternalPairFormationCoefficient &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + InternalPairFormationCoefficient &operator=(const InternalPairFormationCoefficient &) = default; + InternalPairFormationCoefficient &operator=(InternalPairFormationCoefficient &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/InternalPairFormationCoefficient/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class InternalPairFormationCoefficient + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/InternalPairFormationCoefficient/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/InternalPairFormationCoefficient/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/InternalPairFormationCoefficient/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Interval.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Interval.hpp new file mode 100644 index 000000000..7a8630740 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Interval.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_INTERVAL +#define TRY_V2_0_POPS_INTERVAL + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Interval +// ----------------------------------------------------------------------------- + +class Interval : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Interval"; } + static auto FIELD() { return "interval"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Float64{} + / Meta<>("confidence") | + Float64{} + / Meta<>("lower") | + Float64{} + / Meta<>("upper") + ; + } + +public: + using Component::construct; + + // metadata + Field confidence{this}; + Field lower{this}; + Field upper{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->confidence, \ + this->lower, \ + this->upper) + + // default, and from fields + explicit Interval( + const wrapper &confidence = {}, + const wrapper &lower = {}, + const wrapper &upper = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + confidence(this,confidence), + lower(this,lower), + upper(this,upper) + { + Component::finish(); + } + + // from node + explicit Interval(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Interval(const Interval &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Interval(Interval &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Interval &operator=(const Interval &) = default; + Interval &operator=(Interval &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Interval/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Interval + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Interval/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Interval/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Interval/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope.hpp new file mode 100644 index 000000000..1a351fd9b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope.hpp @@ -0,0 +1,121 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_ISOTOPE +#define TRY_V2_0_POPS_ISOTOPE + +#include "try/v2.0/pops/Nuclides.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Isotope +// ----------------------------------------------------------------------------- + +class Isotope : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Isotope"; } + static auto FIELD() { return "isotope"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Integer32{} + / Meta<>("A") | + XMLName{} + / Meta<>("symbol") | + // children + std::optional{} + / --Child<>("nuclides") + ; + } + +public: + using Component::construct; + + // metadata + Field A{this}; + Field symbol{this}; + + // children + Field> nuclides{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->A, \ + this->symbol, \ + this->nuclides) + + // default, and from fields + explicit Isotope( + const wrapper &A = {}, + const wrapper &symbol = {}, + const wrapper> &nuclides = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + A(this,A), + symbol(this,symbol), + nuclides(this,nuclides) + { + Component::finish(); + } + + // from node + explicit Isotope(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Isotope(const Isotope &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Isotope(Isotope &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Isotope &operator=(const Isotope &) = default; + Isotope &operator=(Isotope &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Isotope/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Isotope + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes.hpp new file mode 100644 index 000000000..eca806707 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_ISOTOPES +#define TRY_V2_0_POPS_ISOTOPES + +#include "try/v2.0/pops/Isotope.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Isotopes +// ----------------------------------------------------------------------------- + +class Isotopes : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Isotopes"; } + static auto FIELD() { return "isotopes"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Isotope{} + / ++Child<>("isotope") + ; + } + +public: + using Component::construct; + + // children + Field> isotope{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->isotope) + + // default, and from fields + explicit Isotopes( + const wrapper> &isotope = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + isotope(this,isotope) + { + Component::finish(); + } + + // from node + explicit Isotopes(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Isotopes(const Isotopes &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Isotopes(Isotopes &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Isotopes &operator=(const Isotopes &) = default; + Isotopes &operator=(Isotopes &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Isotopes/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Isotopes + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton.hpp new file mode 100644 index 000000000..a7b99da6c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton.hpp @@ -0,0 +1,156 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_LEPTON +#define TRY_V2_0_POPS_LEPTON + +#include "try/v2.0/pops/Charge.hpp" +#include "try/v2.0/pops/Halflife.hpp" +#include "try/v2.0/pops/Mass.hpp" +#include "try/v2.0/pops/Spin.hpp" +#include "try/v2.0/pops/Parity.hpp" +#include "try/v2.0/pops/DecayData.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Lepton +// ----------------------------------------------------------------------------- + +class Lepton : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Lepton"; } + static auto FIELD() { return "lepton"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("generation") | + XMLName{} + / Meta<>("id") | + // children + std::optional{} + / --Child<>("charge") | + std::optional{} + / --Child<>("halflife") | + std::optional{} + / --Child<>("mass") | + std::optional{} + / --Child<>("spin") | + std::optional{} + / --Child<>("parity") | + std::optional{} + / --Child<>("decayData") + ; + } + +public: + using Component::construct; + + // metadata + Field> generation{this}; + Field id{this}; + + // children + Field> charge{this}; + Field> halflife{this}; + Field> mass{this}; + Field> spin{this}; + Field> parity{this}; + Field> decayData{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->generation, \ + this->id, \ + this->charge, \ + this->halflife, \ + this->mass, \ + this->spin, \ + this->parity, \ + this->decayData) + + // default, and from fields + explicit Lepton( + const wrapper> &generation = {}, + const wrapper &id = {}, + const wrapper> &charge = {}, + const wrapper> &halflife = {}, + const wrapper> &mass = {}, + const wrapper> &spin = {}, + const wrapper> &parity = {}, + const wrapper> &decayData = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + generation(this,generation), + id(this,id), + charge(this,charge), + halflife(this,halflife), + mass(this,mass), + spin(this,spin), + parity(this,parity), + decayData(this,decayData) + { + Component::finish(); + } + + // from node + explicit Lepton(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Lepton(const Lepton &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Lepton(Lepton &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Lepton &operator=(const Lepton &) = default; + Lepton &operator=(Lepton &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Lepton/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Lepton + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons.hpp new file mode 100644 index 000000000..0cd032443 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_LEPTONS +#define TRY_V2_0_POPS_LEPTONS + +#include "try/v2.0/pops/Lepton.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Leptons +// ----------------------------------------------------------------------------- + +class Leptons : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Leptons"; } + static auto FIELD() { return "leptons"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Lepton{} + / ++Child<>("lepton") + ; + } + +public: + using Component::construct; + + // children + Field> lepton{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->lepton) + + // default, and from fields + explicit Leptons( + const wrapper> &lepton = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + lepton(this,lepton) + { + Component::finish(); + } + + // from node + explicit Leptons(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Leptons(const Leptons &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Leptons(Leptons &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Leptons &operator=(const Leptons &) = default; + Leptons &operator=(Leptons &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Leptons/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Leptons + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp new file mode 100644 index 000000000..c7d435a55 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_LOGNORMAL +#define TRY_V2_0_POPS_LOGNORMAL + +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class LogNormal +// ----------------------------------------------------------------------------- + +class LogNormal : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "LogNormal"; } + static auto FIELD() { return "logNormal"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Double{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit LogNormal( + const wrapper &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit LogNormal(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + LogNormal(const LogNormal &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + LogNormal(LogNormal &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + LogNormal &operator=(const LogNormal &) = default; + LogNormal &operator=(LogNormal &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/LogNormal/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class LogNormal + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp new file mode 100644 index 000000000..d7e52e346 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_MASS +#define TRY_V2_0_POPS_MASS + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Mass +// ----------------------------------------------------------------------------- + +class Mass : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Mass"; } + static auto FIELD() { return "mass"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + std::optional{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + Field> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->Double) + + // default, and from fields + explicit Mass( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Mass(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Mass(const Mass &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Mass(Mass &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Mass &operator=(const Mass &) = default; + Mass &operator=(Mass &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Mass/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Mass + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Mass/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Mass/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable.hpp new file mode 100644 index 000000000..5a5f85032 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_METASTABLE +#define TRY_V2_0_POPS_METASTABLE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class MetaStable +// ----------------------------------------------------------------------------- + +class MetaStable : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "MetaStable"; } + static auto FIELD() { return "metaStable"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("id") | + Integer32{} + / Meta<>("metaStableIndex") | + XMLName{} + / Meta<>("pid") + ; + } + +public: + using Component::construct; + + // metadata + Field id{this}; + Field metaStableIndex{this}; + Field pid{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->id, \ + this->metaStableIndex, \ + this->pid) + + // default, and from fields + explicit MetaStable( + const wrapper &id = {}, + const wrapper &metaStableIndex = {}, + const wrapper &pid = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + id(this,id), + metaStableIndex(this,metaStableIndex), + pid(this,pid) + { + Component::finish(); + } + + // from node + explicit MetaStable(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MetaStable(const MetaStable &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MetaStable(MetaStable &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MetaStable &operator=(const MetaStable &) = default; + MetaStable &operator=(MetaStable &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/MetaStable/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MetaStable + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus.hpp new file mode 100644 index 000000000..9c8bb9004 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus.hpp @@ -0,0 +1,163 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_NUCLEUS +#define TRY_V2_0_POPS_NUCLEUS + +#include "try/v2.0/pops/Charge.hpp" +#include "try/v2.0/pops/Energy.hpp" +#include "try/v2.0/pops/Halflife.hpp" +#include "try/v2.0/pops/Spin.hpp" +#include "try/v2.0/pops/Parity.hpp" +#include "try/v2.0/pops/DecayData.hpp" +#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Nucleus +// ----------------------------------------------------------------------------- + +class Nucleus : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Nucleus"; } + static auto FIELD() { return "nucleus"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("id") | + Integer32{} + / Meta<>("index") | + // children + std::optional{} + / --Child<>("charge") | + std::optional{} + / --Child<>("energy") | + std::optional{} + / --Child<>("halflife") | + std::optional{} + / --Child<>("spin") | + std::optional{} + / --Child<>("parity") | + std::optional{} + / --Child<>("decayData") | + std::optional{} + / --Child<>("fissionFragmentData") + ; + } + +public: + using Component::construct; + + // metadata + Field id{this}; + Field index{this}; + + // children + Field> charge{this}; + Field> energy{this}; + Field> halflife{this}; + Field> spin{this}; + Field> parity{this}; + Field> decayData{this}; + Field> fissionFragmentData{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->id, \ + this->index, \ + this->charge, \ + this->energy, \ + this->halflife, \ + this->spin, \ + this->parity, \ + this->decayData, \ + this->fissionFragmentData) + + // default, and from fields + explicit Nucleus( + const wrapper &id = {}, + const wrapper &index = {}, + const wrapper> &charge = {}, + const wrapper> &energy = {}, + const wrapper> &halflife = {}, + const wrapper> &spin = {}, + const wrapper> &parity = {}, + const wrapper> &decayData = {}, + const wrapper> &fissionFragmentData = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + id(this,id), + index(this,index), + charge(this,charge), + energy(this,energy), + halflife(this,halflife), + spin(this,spin), + parity(this,parity), + decayData(this,decayData), + fissionFragmentData(this,fissionFragmentData) + { + Component::finish(); + } + + // from node + explicit Nucleus(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Nucleus(const Nucleus &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Nucleus(Nucleus &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Nucleus &operator=(const Nucleus &) = default; + Nucleus &operator=(Nucleus &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Nucleus/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Nucleus + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide.hpp new file mode 100644 index 000000000..7ab309ba5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide.hpp @@ -0,0 +1,157 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_NUCLIDE +#define TRY_V2_0_POPS_NUCLIDE + +#include "try/v2.0/pops/Charge.hpp" +#include "try/v2.0/pops/Mass.hpp" +#include "try/v2.0/pops/Spin.hpp" +#include "try/v2.0/pops/Parity.hpp" +#include "try/v2.0/pops/Nucleus.hpp" +#include "try/v2.0/pops/DecayData.hpp" +#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Nuclide +// ----------------------------------------------------------------------------- + +class Nuclide : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Nuclide"; } + static auto FIELD() { return "nuclide"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("id") | + // children + std::optional{} + / --Child<>("charge") | + std::optional{} + / --Child<>("mass") | + std::optional{} + / --Child<>("spin") | + std::optional{} + / --Child<>("parity") | + std::optional{} + / --Child<>("nucleus") | + std::optional{} + / --Child<>("decayData") | + std::optional{} + / --Child<>("fissionFragmentData") + ; + } + +public: + using Component::construct; + + // metadata + Field id{this}; + + // children + Field> charge{this}; + Field> mass{this}; + Field> spin{this}; + Field> parity{this}; + Field> nucleus{this}; + Field> decayData{this}; + Field> fissionFragmentData{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->id, \ + this->charge, \ + this->mass, \ + this->spin, \ + this->parity, \ + this->nucleus, \ + this->decayData, \ + this->fissionFragmentData) + + // default, and from fields + explicit Nuclide( + const wrapper &id = {}, + const wrapper> &charge = {}, + const wrapper> &mass = {}, + const wrapper> &spin = {}, + const wrapper> &parity = {}, + const wrapper> &nucleus = {}, + const wrapper> &decayData = {}, + const wrapper> &fissionFragmentData = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + id(this,id), + charge(this,charge), + mass(this,mass), + spin(this,spin), + parity(this,parity), + nucleus(this,nucleus), + decayData(this,decayData), + fissionFragmentData(this,fissionFragmentData) + { + Component::finish(); + } + + // from node + explicit Nuclide(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Nuclide(const Nuclide &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Nuclide(Nuclide &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Nuclide &operator=(const Nuclide &) = default; + Nuclide &operator=(Nuclide &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Nuclide/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Nuclide + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides.hpp new file mode 100644 index 000000000..2fd8f7a3a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_NUCLIDES +#define TRY_V2_0_POPS_NUCLIDES + +#include "try/v2.0/pops/Nuclide.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Nuclides +// ----------------------------------------------------------------------------- + +class Nuclides : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Nuclides"; } + static auto FIELD() { return "nuclides"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Nuclide{} + / ++Child<>("nuclide") + ; + } + +public: + using Component::construct; + + // children + Field> nuclide{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->nuclide) + + // default, and from fields + explicit Nuclides( + const wrapper> &nuclide = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + nuclide(this,nuclide) + { + Component::finish(); + } + + // from node + explicit Nuclides(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Nuclides(const Nuclides &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Nuclides(Nuclides &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Nuclides &operator=(const Nuclides &) = default; + Nuclides &operator=(Nuclides &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Nuclides/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Nuclides + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp new file mode 100644 index 000000000..74c8ef1df --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_PARITY +#define TRY_V2_0_POPS_PARITY + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Integer.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Parity +// ----------------------------------------------------------------------------- + +class Parity : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Parity"; } + static auto FIELD() { return "parity"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + std::optional{} + / ++Child<>("integer") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + Field>> integer{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->integer) + + // default, and from fields + explicit Parity( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper>> &integer = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + integer(this,integer) + { + Component::finish(); + } + + // from node + explicit Parity(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Parity(const Parity &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Parity(Parity &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Parity &operator=(const Parity &) = default; + Parity &operator=(Parity &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Parity/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Parity + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Parity/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Parity/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Parity/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp new file mode 100644 index 000000000..d8cb6d40b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_PDF +#define TRY_V2_0_POPS_PDF + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Pdf +// ----------------------------------------------------------------------------- + +class Pdf : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Pdf"; } + static auto FIELD() { return "pdf"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit Pdf( + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit Pdf(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Pdf(const Pdf &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Pdf(Pdf &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Pdf &operator=(const Pdf &) = default; + Pdf &operator=(Pdf &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Pdf/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Pdf + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities.hpp new file mode 100644 index 000000000..f5baeb60b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_PHOTONEMISSIONPROBABILITIES +#define TRY_V2_0_POPS_PHOTONEMISSIONPROBABILITIES + +#include "try/v2.0/pops/Shell.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class PhotonEmissionProbabilities +// ----------------------------------------------------------------------------- + +class PhotonEmissionProbabilities : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "PhotonEmissionProbabilities"; } + static auto FIELD() { return "photonEmissionProbabilities"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Shell{} + / ++Child<>("shell") + ; + } + +public: + using Component::construct; + + // children + Field> shell{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->shell) + + // default, and from fields + explicit PhotonEmissionProbabilities( + const wrapper> &shell = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + shell(this,shell) + { + Component::finish(); + } + + // from node + explicit PhotonEmissionProbabilities(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PhotonEmissionProbabilities(const PhotonEmissionProbabilities &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PhotonEmissionProbabilities(PhotonEmissionProbabilities &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PhotonEmissionProbabilities &operator=(const PhotonEmissionProbabilities &) = default; + PhotonEmissionProbabilities &operator=(PhotonEmissionProbabilities &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/PhotonEmissionProbabilities/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PhotonEmissionProbabilities + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database.hpp new file mode 100644 index 000000000..27c60cdee --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database.hpp @@ -0,0 +1,176 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_POPS_DATABASE +#define TRY_V2_0_POPS_POPS_DATABASE + +#include "try/v2.0/styles/Styles.hpp" +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Aliases.hpp" +#include "try/v2.0/pops/GaugeBosons.hpp" +#include "try/v2.0/pops/Leptons.hpp" +#include "try/v2.0/pops/Baryons.hpp" +#include "try/v2.0/pops/ChemicalElements.hpp" +#include "try/v2.0/pops/Unorthodoxes.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class PoPs_database +// ----------------------------------------------------------------------------- + +class PoPs_database : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "PoPs_database"; } + static auto FIELD() { return "PoPs"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("name") | + XMLName{} + / Meta<>("version") | + XMLName{} + / Meta<>("format") | + // children + std::optional{} + / --Child<>("styles") | + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("aliases") | + std::optional{} + / --Child<>("gaugeBosons") | + std::optional{} + / --Child<>("leptons") | + std::optional{} + / --Child<>("baryons") | + std::optional{} + / --Child<>("chemicalElements") | + std::optional{} + / --Child<>("unorthodoxes") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + Field version{this}; + Field format{this}; + + // children + Field> styles{this}; + Field> documentation{this}; + Field> aliases{this}; + Field> gaugeBosons{this}; + Field> leptons{this}; + Field> baryons{this}; + Field> chemicalElements{this}; + Field> unorthodoxes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name, \ + this->version, \ + this->format, \ + this->styles, \ + this->documentation, \ + this->aliases, \ + this->gaugeBosons, \ + this->leptons, \ + this->baryons, \ + this->chemicalElements, \ + this->unorthodoxes) + + // default, and from fields + explicit PoPs_database( + const wrapper &name = {}, + const wrapper &version = {}, + const wrapper &format = {}, + const wrapper> &styles = {}, + const wrapper> &documentation = {}, + const wrapper> &aliases = {}, + const wrapper> &gaugeBosons = {}, + const wrapper> &leptons = {}, + const wrapper> &baryons = {}, + const wrapper> &chemicalElements = {}, + const wrapper> &unorthodoxes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name), + version(this,version), + format(this,format), + styles(this,styles), + documentation(this,documentation), + aliases(this,aliases), + gaugeBosons(this,gaugeBosons), + leptons(this,leptons), + baryons(this,baryons), + chemicalElements(this,chemicalElements), + unorthodoxes(this,unorthodoxes) + { + Component::finish(); + } + + // from node + explicit PoPs_database(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PoPs_database(const PoPs_database &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PoPs_database(PoPs_database &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PoPs_database &operator=(const PoPs_database &) = default; + PoPs_database &operator=(PoPs_database &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/PoPs_database/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PoPs_database + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity.hpp new file mode 100644 index 000000000..4f5b9de71 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_POSITRONEMISSIONINTENSITY +#define TRY_V2_0_POPS_POSITRONEMISSIONINTENSITY + +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class PositronEmissionIntensity +// ----------------------------------------------------------------------------- + +class PositronEmissionIntensity : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "PositronEmissionIntensity"; } + static auto FIELD() { return "positronEmissionIntensity"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Float64{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // metadata + Field value{this}; + + // children + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->value, \ + this->uncertainty) + + // default, and from fields + explicit PositronEmissionIntensity( + const wrapper &value = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + value(this,value), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit PositronEmissionIntensity(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PositronEmissionIntensity(const PositronEmissionIntensity &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PositronEmissionIntensity(PositronEmissionIntensity &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PositronEmissionIntensity &operator=(const PositronEmissionIntensity &) = default; + PositronEmissionIntensity &operator=(PositronEmissionIntensity &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/PositronEmissionIntensity/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PositronEmissionIntensity + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Probability.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Probability.hpp new file mode 100644 index 000000000..a9eab5761 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Probability.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_PROBABILITY +#define TRY_V2_0_POPS_PROBABILITY + +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Probability +// ----------------------------------------------------------------------------- + +class Probability : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Probability"; } + static auto FIELD() { return "probability"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Double{} + / ++Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit Probability( + const wrapper> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Probability(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Probability(const Probability &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Probability(Probability &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Probability &operator=(const Probability &) = default; + Probability &operator=(Probability &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Probability/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Probability + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Probability/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Probability/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Probability/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Product.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Product.hpp new file mode 100644 index 000000000..7a8cb463a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Product.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_PRODUCT +#define TRY_V2_0_POPS_PRODUCT + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Product +// ----------------------------------------------------------------------------- + +class Product : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Product"; } + static auto FIELD() { return "product"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("pid") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field pid{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->pid) + + // default, and from fields + explicit Product( + const wrapper &label = {}, + const wrapper &pid = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + pid(this,pid) + { + Component::finish(); + } + + // from node + explicit Product(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Product(const Product &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Product(Product &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Product &operator=(const Product &) = default; + Product &operator=(Product &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Product/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Product + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Product/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Product/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Product/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Products.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Products.hpp new file mode 100644 index 000000000..582b32402 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Products.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_PRODUCTS +#define TRY_V2_0_POPS_PRODUCTS + +#include "try/v2.0/pops/Product.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Products +// ----------------------------------------------------------------------------- + +class Products : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Products"; } + static auto FIELD() { return "products"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Product{} + / ++Child<>("product") + ; + } + +public: + using Component::construct; + + // children + Field> product{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->product) + + // default, and from fields + explicit Products( + const wrapper> &product = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + product(this,product) + { + Component::finish(); + } + + // from node + explicit Products(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Products(const Products &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Products(Products &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Products &operator=(const Products &) = default; + Products &operator=(Products &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Products/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Products + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Products/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Products/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Products/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp new file mode 100644 index 000000000..d0ae21cff --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_Q +#define TRY_V2_0_POPS_Q + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Q +// ----------------------------------------------------------------------------- + +class Q : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Q"; } + static auto FIELD() { return "Q"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + unknownNamespace::Double{} + / ++Child<>("Double") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + Field> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->Double) + + // default, and from fields + explicit Q( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Q(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Q(const Q &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Q(Q &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Q &operator=(const Q &) = default; + Q &operator=(Q &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Q/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Q + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Q/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Q/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Q/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp new file mode 100644 index 000000000..d860e82f6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp @@ -0,0 +1,124 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_SHELL +#define TRY_V2_0_POPS_SHELL + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Shell +// ----------------------------------------------------------------------------- + +class Shell : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Shell"; } + static auto FIELD() { return "shell"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + Float64{} + / Meta<>("value") | + Defaulted{" \\kern-1ex"} + / Meta<>("unit") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const XMLName unit = " \\kern-1ex"; + } defaults; + + // metadata + Field label{this}; + Field value{this}; + Field> unit{this,defaults.unit}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->value, \ + this->unit) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Shell( + const wrapper &label = {}, + const wrapper &value = {}, + const wrapper> &unit = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + value(this,value), + unit(this,defaults.unit,unit) + { + Component::finish(); + } + + // from node + explicit Shell(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Shell(const Shell &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Shell(Shell &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Shell &operator=(const Shell &) = default; + Shell &operator=(Shell &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Shell/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Shell + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Shell/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Shell/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Shell/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra.hpp new file mode 100644 index 000000000..835a1cfa0 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_SPECTRA +#define TRY_V2_0_POPS_SPECTRA + +#include "try/v2.0/pops/Spectrum.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Spectra +// ----------------------------------------------------------------------------- + +class Spectra : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Spectra"; } + static auto FIELD() { return "spectra"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Spectrum{} + / ++Child<>("spectrum") + ; + } + +public: + using Component::construct; + + // children + Field> spectrum{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->spectrum) + + // default, and from fields + explicit Spectra( + const wrapper> &spectrum = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + spectrum(this,spectrum) + { + Component::finish(); + } + + // from node + explicit Spectra(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Spectra(const Spectra &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Spectra(Spectra &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Spectra &operator=(const Spectra &) = default; + Spectra &operator=(Spectra &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Spectra/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Spectra + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum.hpp new file mode 100644 index 000000000..bc79be96f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_SPECTRUM +#define TRY_V2_0_POPS_SPECTRUM + +#include "try/v2.0/pops/Continuum.hpp" +#include "try/v2.0/pops/Discrete.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Spectrum +// ----------------------------------------------------------------------------- + +class Spectrum : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Spectrum"; } + static auto FIELD() { return "spectrum"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("pid") | + // children + std::optional{} + / --Child<>("continuum") | + std::optional{} + / ++Child<>("discrete") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field pid{this}; + + // children + Field> continuum{this}; + Field>> discrete{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->pid, \ + this->continuum, \ + this->discrete) + + // default, and from fields + explicit Spectrum( + const wrapper &label = {}, + const wrapper &pid = {}, + const wrapper> &continuum = {}, + const wrapper>> &discrete = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + pid(this,pid), + continuum(this,continuum), + discrete(this,discrete) + { + Component::finish(); + } + + // from node + explicit Spectrum(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Spectrum(const Spectrum &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Spectrum(Spectrum &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Spectrum &operator=(const Spectrum &) = default; + Spectrum &operator=(Spectrum &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Spectrum/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Spectrum + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp new file mode 100644 index 000000000..a09a5743d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_SPIN +#define TRY_V2_0_POPS_SPIN + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/unknownNamespace/Fraction.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Spin +// ----------------------------------------------------------------------------- + +class Spin : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Spin"; } + static auto FIELD() { return "spin"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") | + std::optional{} + / ++Child<>("fraction") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + Field>> fraction{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value, \ + this->documentation, \ + this->uncertainty, \ + this->fraction) + + // default, and from fields + explicit Spin( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {}, + const wrapper>> &fraction = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value), + documentation(this,documentation), + uncertainty(this,uncertainty), + fraction(this,fraction) + { + Component::finish(); + } + + // from node + explicit Spin(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Spin(const Spin &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Spin(Spin &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Spin &operator=(const Spin &) = default; + Spin &operator=(Spin &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Spin/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Spin + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spin/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Spin/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Spin/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp new file mode 100644 index 000000000..dc9511df6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_STANDARD +#define TRY_V2_0_POPS_STANDARD + +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Standard +// ----------------------------------------------------------------------------- + +class Standard : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Standard"; } + static auto FIELD() { return "standard"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Double{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit Standard( + const wrapper &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Standard(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Standard(const Standard &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Standard(Standard &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Standard &operator=(const Standard &) = default; + Standard &operator=(Standard &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Standard/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Standard + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Standard/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Standard/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Standard/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty.hpp new file mode 100644 index 000000000..d63486bc7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_UNCERTAINTY +#define TRY_V2_0_POPS_UNCERTAINTY + +#include "try/v2.0/pops/Standard.hpp" +#include "try/v2.0/pops/LogNormal.hpp" +#include "try/v2.0/pops/ConfidenceIntervals.hpp" +#include "try/v2.0/pops/Pdf.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Uncertainty +// ----------------------------------------------------------------------------- + +class Uncertainty : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Uncertainty"; } + static auto FIELD() { return "uncertainty"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("standard") | + std::optional{} + / --Child<>("logNormal") | + std::optional{} + / --Child<>("confidenceIntervals") | + std::optional{} + / --Child<>("pdf") + ; + } + +public: + using Component::construct; + + // children + Field> standard{this}; + Field> logNormal{this}; + Field> confidenceIntervals{this}; + Field> pdf{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->standard, \ + this->logNormal, \ + this->confidenceIntervals, \ + this->pdf) + + // default, and from fields + explicit Uncertainty( + const wrapper> &standard = {}, + const wrapper> &logNormal = {}, + const wrapper> &confidenceIntervals = {}, + const wrapper> &pdf = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + standard(this,standard), + logNormal(this,logNormal), + confidenceIntervals(this,confidenceIntervals), + pdf(this,pdf) + { + Component::finish(); + } + + // from node + explicit Uncertainty(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Uncertainty(const Uncertainty &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Uncertainty(Uncertainty &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Uncertainty &operator=(const Uncertainty &) = default; + Uncertainty &operator=(Uncertainty &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Uncertainty/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Uncertainty + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox.hpp new file mode 100644 index 000000000..f72df9aa2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_UNORTHODOX +#define TRY_V2_0_POPS_UNORTHODOX + +#include "try/v2.0/pops/Charge.hpp" +#include "try/v2.0/pops/Mass.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Unorthodox +// ----------------------------------------------------------------------------- + +class Unorthodox : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Unorthodox"; } + static auto FIELD() { return "unorthodox"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("id") | + // children + std::optional{} + / --Child<>("charge") | + std::optional{} + / --Child<>("mass") + ; + } + +public: + using Component::construct; + + // metadata + Field id{this}; + + // children + Field> charge{this}; + Field> mass{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->id, \ + this->charge, \ + this->mass) + + // default, and from fields + explicit Unorthodox( + const wrapper &id = {}, + const wrapper> &charge = {}, + const wrapper> &mass = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + id(this,id), + charge(this,charge), + mass(this,mass) + { + Component::finish(); + } + + // from node + explicit Unorthodox(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Unorthodox(const Unorthodox &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Unorthodox(Unorthodox &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Unorthodox &operator=(const Unorthodox &) = default; + Unorthodox &operator=(Unorthodox &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Unorthodox/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Unorthodox + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes.hpp new file mode 100644 index 000000000..04616f9a7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_POPS_UNORTHODOXES +#define TRY_V2_0_POPS_UNORTHODOXES + +#include "try/v2.0/pops/Nuclide.hpp" + +namespace try { +namespace v2_0 { +namespace pops { + +// ----------------------------------------------------------------------------- +// pops:: +// class Unorthodoxes +// ----------------------------------------------------------------------------- + +class Unorthodoxes : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "pops"; } + static auto CLASS() { return "Unorthodoxes"; } + static auto FIELD() { return "unorthodoxes"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + pops::Nuclide{} + / ++Child<>("unorthodox") + ; + } + +public: + using Component::construct; + + // children + Field> unorthodox{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unorthodox) + + // default, and from fields + explicit Unorthodoxes( + const wrapper> &unorthodox = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unorthodox(this,unorthodox) + { + Component::finish(); + } + + // from node + explicit Unorthodoxes(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Unorthodoxes(const Unorthodoxes &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Unorthodoxes(Unorthodoxes &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Unorthodoxes &operator=(const Unorthodoxes &) = default; + Unorthodoxes &operator=(Unorthodoxes &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/pops/Unorthodoxes/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Unorthodoxes + +} // namespace pops +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp new file mode 100644 index 000000000..52eb53845 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_PROCESSED_ANGULARENERGYMC +#define TRY_V2_0_PROCESSED_ANGULARENERGYMC + +#include "try/v2.0/unknownNamespace/Angular.hpp" +#include "try/v2.0/transport/AngularEnergy.hpp" + +namespace try { +namespace v2_0 { +namespace processed { + +// ----------------------------------------------------------------------------- +// processed:: +// class AngularEnergyMC +// ----------------------------------------------------------------------------- + +class AngularEnergyMC : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "processed"; } + static auto CLASS() { return "AngularEnergyMC"; } + static auto FIELD() { return "angularEnergyMC"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + unknownNamespace::Angular{} + / --Child<>("angular") | + transport::AngularEnergy{} + / --Child<>("angularEnergy") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field productFrame{this}; + + // children + Field angular{this}; + Field angularEnergy{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->angular, \ + this->angularEnergy) + + // default, and from fields + explicit AngularEnergyMC( + const wrapper &label = {}, + const wrapper &productFrame = {}, + const wrapper &angular = {}, + const wrapper &angularEnergy = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + angular(this,angular), + angularEnergy(this,angularEnergy) + { + Component::finish(); + } + + // from node + explicit AngularEnergyMC(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AngularEnergyMC(const AngularEnergyMC &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AngularEnergyMC(AngularEnergyMC &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AngularEnergyMC &operator=(const AngularEnergyMC &) = default; + AngularEnergyMC &operator=(AngularEnergyMC &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/processed/AngularEnergyMC/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AngularEnergyMC + +} // namespace processed +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp new file mode 100644 index 000000000..3dd7ea400 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_PROCESSED_AVAILABLEENERGY +#define TRY_V2_0_PROCESSED_AVAILABLEENERGY + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Gridded1d.hpp" + +namespace try { +namespace v2_0 { +namespace processed { + +// ----------------------------------------------------------------------------- +// processed:: +// class AvailableEnergy +// ----------------------------------------------------------------------------- + +class AvailableEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "processed"; } + static auto CLASS() { return "AvailableEnergy"; } + static auto FIELD() { return "availableEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("gridded1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> gridded1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->gridded1d) + + // default, and from fields + explicit AvailableEnergy( + const wrapper> &XYs1d = {}, + const wrapper> &gridded1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + gridded1d(this,gridded1d) + { + Component::finish(); + } + + // from node + explicit AvailableEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AvailableEnergy(const AvailableEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AvailableEnergy(AvailableEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AvailableEnergy &operator=(const AvailableEnergy &) = default; + AvailableEnergy &operator=(AvailableEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/processed/AvailableEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AvailableEnergy + +} // namespace processed +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp new file mode 100644 index 000000000..96c2f4b01 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM +#define TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Gridded1d.hpp" + +namespace try { +namespace v2_0 { +namespace processed { + +// ----------------------------------------------------------------------------- +// processed:: +// class AvailableMomentum +// ----------------------------------------------------------------------------- + +class AvailableMomentum : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "processed"; } + static auto CLASS() { return "AvailableMomentum"; } + static auto FIELD() { return "availableMomentum"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("gridded1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> gridded1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->gridded1d) + + // default, and from fields + explicit AvailableMomentum( + const wrapper> &XYs1d = {}, + const wrapper> &gridded1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + gridded1d(this,gridded1d) + { + Component::finish(); + } + + // from node + explicit AvailableMomentum(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AvailableMomentum(const AvailableMomentum &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AvailableMomentum(AvailableMomentum &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AvailableMomentum &operator=(const AvailableMomentum &) = default; + AvailableMomentum &operator=(AvailableMomentum &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/processed/AvailableMomentum/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AvailableMomentum + +} // namespace processed +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp new file mode 100644 index 000000000..a82cdc18d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY +#define TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Gridded1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace processed { + +// ----------------------------------------------------------------------------- +// processed:: +// class AverageProductEnergy +// ----------------------------------------------------------------------------- + +class AverageProductEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "processed"; } + static auto CLASS() { return "AverageProductEnergy"; } + static auto FIELD() { return "averageProductEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::XYs1d{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("gridded1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field XYs1d{this}; + Field> gridded1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->gridded1d, \ + this->regions1d) + + // default, and from fields + explicit AverageProductEnergy( + const wrapper &XYs1d = {}, + const wrapper> &gridded1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + gridded1d(this,gridded1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit AverageProductEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AverageProductEnergy(const AverageProductEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AverageProductEnergy(AverageProductEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AverageProductEnergy &operator=(const AverageProductEnergy &) = default; + AverageProductEnergy &operator=(AverageProductEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/processed/AverageProductEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AverageProductEnergy + +} // namespace processed +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp new file mode 100644 index 000000000..473ce60da --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM +#define TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Gridded1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace processed { + +// ----------------------------------------------------------------------------- +// processed:: +// class AverageProductMomentum +// ----------------------------------------------------------------------------- + +class AverageProductMomentum : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "processed"; } + static auto CLASS() { return "AverageProductMomentum"; } + static auto FIELD() { return "averageProductMomentum"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("gridded1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> gridded1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->gridded1d, \ + this->regions1d) + + // default, and from fields + explicit AverageProductMomentum( + const wrapper> &XYs1d = {}, + const wrapper> &gridded1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + gridded1d(this,gridded1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit AverageProductMomentum(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AverageProductMomentum(const AverageProductMomentum &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AverageProductMomentum(AverageProductMomentum &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AverageProductMomentum &operator=(const AverageProductMomentum &) = default; + AverageProductMomentum &operator=(AverageProductMomentum &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/processed/AverageProductMomentum/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AverageProductMomentum + +} // namespace processed +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC.hpp new file mode 100644 index 000000000..c7d9d49b6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_PROCESSED_ENERGYANGULARMC +#define TRY_V2_0_PROCESSED_ENERGYANGULARMC + +#include "try/v2.0/ambiguousNamespace/Energy.hpp" +#include "try/v2.0/transport/EnergyAngular.hpp" + +namespace try { +namespace v2_0 { +namespace processed { + +// ----------------------------------------------------------------------------- +// processed:: +// class EnergyAngularMC +// ----------------------------------------------------------------------------- + +class EnergyAngularMC : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "processed"; } + static auto CLASS() { return "EnergyAngularMC"; } + static auto FIELD() { return "energyAngularMC"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + ambiguousNamespace::Energy{} + / --Child<>("energy") | + transport::EnergyAngular{} + / --Child<>("energyAngular") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field productFrame{this}; + + // children + Field energy{this}; + Field energyAngular{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->energy, \ + this->energyAngular) + + // default, and from fields + explicit EnergyAngularMC( + const wrapper &label = {}, + const wrapper &productFrame = {}, + const wrapper &energy = {}, + const wrapper &energyAngular = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + energy(this,energy), + energyAngular(this,energyAngular) + { + Component::finish(); + } + + // from node + explicit EnergyAngularMC(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + EnergyAngularMC(const EnergyAngularMC &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + EnergyAngularMC(EnergyAngularMC &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EnergyAngularMC &operator=(const EnergyAngularMC &) = default; + EnergyAngularMC &operator=(EnergyAngularMC &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/processed/EnergyAngularMC/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EnergyAngularMC + +} // namespace processed +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp new file mode 100644 index 000000000..1be02fdfa --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp @@ -0,0 +1,121 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_PROCESSED_MULTIGROUP3D +#define TRY_V2_0_PROCESSED_MULTIGROUP3D + +#include "try/v2.0/unknownNamespace/Gridded3d.hpp" + +namespace try { +namespace v2_0 { +namespace processed { + +// ----------------------------------------------------------------------------- +// processed:: +// class MultiGroup3d +// ----------------------------------------------------------------------------- + +class MultiGroup3d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "processed"; } + static auto CLASS() { return "MultiGroup3d"; } + static auto FIELD() { return "multiGroup3d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + unknownNamespace::Gridded3d{} + / --Child<>("gridded3d") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field productFrame{this}; + + // children + Field gridded3d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->gridded3d) + + // default, and from fields + explicit MultiGroup3d( + const wrapper &label = {}, + const wrapper &productFrame = {}, + const wrapper &gridded3d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + gridded3d(this,gridded3d) + { + Component::finish(); + } + + // from node + explicit MultiGroup3d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MultiGroup3d(const MultiGroup3d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MultiGroup3d(MultiGroup3d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MultiGroup3d &operator=(const MultiGroup3d &) = default; + MultiGroup3d &operator=(MultiGroup3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/processed/MultiGroup3d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MultiGroup3d + +} // namespace processed +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp new file mode 100644 index 000000000..c8b64152c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp @@ -0,0 +1,161 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_BREITWIGNER +#define TRY_V2_0_RESONANCES_BREITWIGNER + +#include "try/v2.0/unknownNamespace/PoPs.hpp" +#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "try/v2.0/resonances/ResonanceParameters.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class BreitWigner +// ----------------------------------------------------------------------------- + +class BreitWigner : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "BreitWigner"; } + static auto FIELD() { return "BreitWigner"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("approximation") | + Defaulted{false} + / Meta<>("calculateChannelRadius") | + Defaulted{false} + / Meta<>("useForSelfShieldingOnly") | + // children + std::optional{} + / --Child<>("PoPs") | + std::optional{} + / --Child<>("scatteringRadius") | + std::optional{} + / --Child<>("hardSphereRadius") | + std::optional{} + / --Child<>("resonanceParameters") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const bool calculateChannelRadius = false; + static inline const bool useForSelfShieldingOnly = false; + } defaults; + + // metadata + Field label{this}; + Field approximation{this}; + Field> calculateChannelRadius{this,defaults.calculateChannelRadius}; + Field> useForSelfShieldingOnly{this,defaults.useForSelfShieldingOnly}; + + // children + Field> PoPs{this}; + Field> scatteringRadius{this}; + Field> hardSphereRadius{this}; + Field> resonanceParameters{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->approximation, \ + this->calculateChannelRadius, \ + this->useForSelfShieldingOnly, \ + this->PoPs, \ + this->scatteringRadius, \ + this->hardSphereRadius, \ + this->resonanceParameters) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit BreitWigner( + const wrapper &label = {}, + const wrapper &approximation = {}, + const wrapper> &calculateChannelRadius = {}, + const wrapper> &useForSelfShieldingOnly = {}, + const wrapper> &PoPs = {}, + const wrapper> &scatteringRadius = {}, + const wrapper> &hardSphereRadius = {}, + const wrapper> &resonanceParameters = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + approximation(this,approximation), + calculateChannelRadius(this,defaults.calculateChannelRadius,calculateChannelRadius), + useForSelfShieldingOnly(this,defaults.useForSelfShieldingOnly,useForSelfShieldingOnly), + PoPs(this,PoPs), + scatteringRadius(this,scatteringRadius), + hardSphereRadius(this,hardSphereRadius), + resonanceParameters(this,resonanceParameters) + { + Component::finish(); + } + + // from node + explicit BreitWigner(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + BreitWigner(const BreitWigner &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + BreitWigner(BreitWigner &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + BreitWigner &operator=(const BreitWigner &) = default; + BreitWigner &operator=(BreitWigner &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/BreitWigner/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class BreitWigner + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel.hpp new file mode 100644 index 000000000..3a3a29c5f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel.hpp @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_CHANNEL +#define TRY_V2_0_RESONANCES_CHANNEL + +#include "try/v2.0/resonances/ExternalRMatrix.hpp" +#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "try/v2.0/resonances/HardSphereRadius.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Channel +// ----------------------------------------------------------------------------- + +class Channel : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Channel"; } + static auto FIELD() { return "channel"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + std::string{} + / Meta<>("resonanceReaction") | + Integer32{} + / Meta<>("L") | + Fraction32{} + / Meta<>("channelSpin") | + std::optional{} + / Meta<>("boundaryConditionValue") | + Integer32{} + / Meta<>("columnIndex") | + // children + std::optional{} + / --Child<>("externalRMatrix") | + std::optional{} + / --Child<>("scatteringRadius") | + std::optional{} + / --Child<>("hardSphereRadius") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field resonanceReaction{this}; + Field L{this}; + Field channelSpin{this}; + Field> boundaryConditionValue{this}; + Field columnIndex{this}; + + // children + Field> externalRMatrix{this}; + Field> scatteringRadius{this}; + Field> hardSphereRadius{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->resonanceReaction, \ + this->L, \ + this->channelSpin, \ + this->boundaryConditionValue, \ + this->columnIndex, \ + this->externalRMatrix, \ + this->scatteringRadius, \ + this->hardSphereRadius) + + // default, and from fields + explicit Channel( + const wrapper &label = {}, + const wrapper &resonanceReaction = {}, + const wrapper &L = {}, + const wrapper &channelSpin = {}, + const wrapper> &boundaryConditionValue = {}, + const wrapper &columnIndex = {}, + const wrapper> &externalRMatrix = {}, + const wrapper> &scatteringRadius = {}, + const wrapper> &hardSphereRadius = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + resonanceReaction(this,resonanceReaction), + L(this,L), + channelSpin(this,channelSpin), + boundaryConditionValue(this,boundaryConditionValue), + columnIndex(this,columnIndex), + externalRMatrix(this,externalRMatrix), + scatteringRadius(this,scatteringRadius), + hardSphereRadius(this,hardSphereRadius) + { + Component::finish(); + } + + // from node + explicit Channel(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Channel(const Channel &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Channel(Channel &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Channel &operator=(const Channel &) = default; + Channel &operator=(Channel &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Channel/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Channel + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels.hpp new file mode 100644 index 000000000..26a592aee --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_CHANNELS +#define TRY_V2_0_RESONANCES_CHANNELS + +#include "try/v2.0/resonances/Channel.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Channels +// ----------------------------------------------------------------------------- + +class Channels : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Channels"; } + static auto FIELD() { return "channels"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + resonances::Channel{} + / ++Child<>("channel") + ; + } + +public: + using Component::construct; + + // children + Field> channel{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->channel) + + // default, and from fields + explicit Channels( + const wrapper> &channel = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + channel(this,channel) + { + Component::finish(); + } + + // from node + explicit Channels(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Channels(const Channels &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Channels(Channels &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Channels &operator=(const Channels &) = default; + Channels &operator=(Channels &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Channels/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Channels + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval.hpp new file mode 100644 index 000000000..5337fd1f3 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_ENERGYINTERVAL +#define TRY_V2_0_RESONANCES_ENERGYINTERVAL + +#include "try/v2.0/resonances/RMatrix.hpp" +#include "try/v2.0/resonances/BreitWigner.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class EnergyInterval +// ----------------------------------------------------------------------------- + +class EnergyInterval : public Component { + friend class Component; + + using _t = std::variant< + resonances::RMatrix, + resonances::BreitWigner + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "EnergyInterval"; } + static auto FIELD() { return "energyInterval"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Integer32{} + / Meta<>("index") | + Float64{} + / Meta<>("domainMin") | + Float64{} + / Meta<>("domainMax") | + XMLName{} + / Meta<>("domainUnit") | + // children + _t{} + / --(Child<>("RMatrix") || Child<>("BreitWigner")) + ; + } + +public: + using Component::construct; + + // metadata + Field index{this}; + Field domainMin{this}; + Field domainMax{this}; + Field domainUnit{this}; + + // children - variant + Field<_t> _RMatrixBreitWigner{this}; + FieldPart RMatrix{_RMatrixBreitWigner}; + FieldPart BreitWigner{_RMatrixBreitWigner}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->domainMin, \ + this->domainMax, \ + this->domainUnit, \ + this->_RMatrixBreitWigner) + + // default, and from fields + explicit EnergyInterval( + const wrapper &index = {}, + const wrapper &domainMin = {}, + const wrapper &domainMax = {}, + const wrapper &domainUnit = {}, + const wrapper<_t> &_RMatrixBreitWigner = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + domainMin(this,domainMin), + domainMax(this,domainMax), + domainUnit(this,domainUnit), + _RMatrixBreitWigner(this,_RMatrixBreitWigner) + { + Component::finish(); + } + + // from node + explicit EnergyInterval(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + EnergyInterval(const EnergyInterval &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + EnergyInterval(EnergyInterval &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EnergyInterval &operator=(const EnergyInterval &) = default; + EnergyInterval &operator=(EnergyInterval &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/EnergyInterval/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EnergyInterval + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals.hpp new file mode 100644 index 000000000..3c9a6207a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_ENERGYINTERVALS +#define TRY_V2_0_RESONANCES_ENERGYINTERVALS + +#include "try/v2.0/resonances/EnergyInterval.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class EnergyIntervals +// ----------------------------------------------------------------------------- + +class EnergyIntervals : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "EnergyIntervals"; } + static auto FIELD() { return "energyIntervals"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + resonances::EnergyInterval{} + / ++Child<>("energyInterval") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field> energyInterval{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->energyInterval) + + // default, and from fields + explicit EnergyIntervals( + const wrapper &label = {}, + const wrapper> &energyInterval = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + energyInterval(this,energyInterval) + { + Component::finish(); + } + + // from node + explicit EnergyIntervals(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + EnergyIntervals(const EnergyIntervals &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + EnergyIntervals(EnergyIntervals &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EnergyIntervals &operator=(const EnergyIntervals &) = default; + EnergyIntervals &operator=(EnergyIntervals &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/EnergyIntervals/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EnergyIntervals + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp new file mode 100644 index 000000000..b2bf29f2b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp @@ -0,0 +1,121 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_EXTERNALRMATRIX +#define TRY_V2_0_RESONANCES_EXTERNALRMATRIX + +#include "try/v2.0/unknownNamespace/Double.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class ExternalRMatrix +// ----------------------------------------------------------------------------- + +class ExternalRMatrix : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "ExternalRMatrix"; } + static auto FIELD() { return "externalRMatrix"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"Froehner"} + / Meta<>("type") | + // children + unknownNamespace::Double{} + / ++Child<>("Double") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const XMLName type = "Froehner"; + } defaults; + + // metadata + Field> type{this,defaults.type}; + + // children + Field> Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->type, \ + this->Double) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit ExternalRMatrix( + const wrapper> &type = {}, + const wrapper> &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + type(this,defaults.type,type), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit ExternalRMatrix(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ExternalRMatrix(const ExternalRMatrix &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ExternalRMatrix(ExternalRMatrix &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ExternalRMatrix &operator=(const ExternalRMatrix &) = default; + ExternalRMatrix &operator=(ExternalRMatrix &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/ExternalRMatrix/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ExternalRMatrix + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp new file mode 100644 index 000000000..11426a96a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_HARDSPHERERADIUS +#define TRY_V2_0_RESONANCES_HARDSPHERERADIUS + +#include "try/v2.0/unknownNamespace/Constant1d.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class HardSphereRadius +// ----------------------------------------------------------------------------- + +class HardSphereRadius : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "HardSphereRadius"; } + static auto FIELD() { return "hardSphereRadius"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Constant1d{} + / --Child<>("constant1d") + ; + } + +public: + using Component::construct; + + // children + Field constant1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->constant1d) + + // default, and from fields + explicit HardSphereRadius( + const wrapper &constant1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + constant1d(this,constant1d) + { + Component::finish(); + } + + // from node + explicit HardSphereRadius(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + HardSphereRadius(const HardSphereRadius &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + HardSphereRadius(HardSphereRadius &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + HardSphereRadius &operator=(const HardSphereRadius &) = default; + HardSphereRadius &operator=(HardSphereRadius &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/HardSphereRadius/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class HardSphereRadius + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/J.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/J.hpp new file mode 100644 index 000000000..d908e1c43 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/J.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_J +#define TRY_V2_0_RESONANCES_J + +#include "try/v2.0/resonances/LevelSpacing.hpp" +#include "try/v2.0/resonances/Widths.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class J +// ----------------------------------------------------------------------------- + +class J : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "J"; } + static auto FIELD() { return "J"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + Fraction32{} + / Meta<>("value") | + // children + resonances::LevelSpacing{} + / --Child<>("levelSpacing") | + resonances::Widths{} + / --Child<>("widths") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field value{this}; + + // children + Field levelSpacing{this}; + Field widths{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->value, \ + this->levelSpacing, \ + this->widths) + + // default, and from fields + explicit J( + const wrapper &label = {}, + const wrapper &value = {}, + const wrapper &levelSpacing = {}, + const wrapper &widths = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + value(this,value), + levelSpacing(this,levelSpacing), + widths(this,widths) + { + Component::finish(); + } + + // from node + explicit J(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + J(const J &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + J(J &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + J &operator=(const J &) = default; + J &operator=(J &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/J/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class J + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/J/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/J/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/J/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Js.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Js.hpp new file mode 100644 index 000000000..dfd4c9995 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Js.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_JS +#define TRY_V2_0_RESONANCES_JS + +#include "try/v2.0/resonances/J.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Js +// ----------------------------------------------------------------------------- + +class Js : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Js"; } + static auto FIELD() { return "Js"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + resonances::J{} + / ++Child<>("J") + ; + } + +public: + using Component::construct; + + // children + Field> J{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->J) + + // default, and from fields + explicit Js( + const wrapper> &J = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + J(this,J) + { + Component::finish(); + } + + // from node + explicit Js(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Js(const Js &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Js(Js &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Js &operator=(const Js &) = default; + Js &operator=(Js &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Js/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Js + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Js/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Js/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Js/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/L.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/L.hpp new file mode 100644 index 000000000..9c0885879 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/L.hpp @@ -0,0 +1,121 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_L +#define TRY_V2_0_RESONANCES_L + +#include "try/v2.0/resonances/Js.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class L +// ----------------------------------------------------------------------------- + +class L : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "L"; } + static auto FIELD() { return "L"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + Integer32{} + / Meta<>("value") | + // children + resonances::Js{} + / --Child<>("Js") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field value{this}; + + // children + Field Js{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->value, \ + this->Js) + + // default, and from fields + explicit L( + const wrapper &label = {}, + const wrapper &value = {}, + const wrapper &Js = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + value(this,value), + Js(this,Js) + { + Component::finish(); + } + + // from node + explicit L(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + L(const L &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + L(L &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + L &operator=(const L &) = default; + L &operator=(L &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/L/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class L + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/L/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/L/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/L/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp new file mode 100644 index 000000000..74ed22baa --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_LEVELSPACING +#define TRY_V2_0_RESONANCES_LEVELSPACING + +#include "try/v2.0/unknownNamespace/Constant1d.hpp" +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class LevelSpacing +// ----------------------------------------------------------------------------- + +class LevelSpacing : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "LevelSpacing"; } + static auto FIELD() { return "levelSpacing"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("constant1d") | + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> constant1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->constant1d, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit LevelSpacing( + const wrapper> &constant1d = {}, + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + constant1d(this,constant1d), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit LevelSpacing(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + LevelSpacing(const LevelSpacing &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + LevelSpacing(LevelSpacing &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + LevelSpacing &operator=(const LevelSpacing &) = default; + LevelSpacing &operator=(LevelSpacing &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/LevelSpacing/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class LevelSpacing + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls.hpp new file mode 100644 index 000000000..10b3c43e6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_LS +#define TRY_V2_0_RESONANCES_LS + +#include "try/v2.0/resonances/L.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Ls +// ----------------------------------------------------------------------------- + +class Ls : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Ls"; } + static auto FIELD() { return "Ls"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + resonances::L{} + / ++Child<>("L") + ; + } + +public: + using Component::construct; + + // children + Field> L{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->L) + + // default, and from fields + explicit Ls( + const wrapper> &L = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + L(this,L) + { + Component::finish(); + } + + // from node + explicit Ls(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Ls(const Ls &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Ls(Ls &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Ls &operator=(const Ls &) = default; + Ls &operator=(Ls &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Ls/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Ls + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp new file mode 100644 index 000000000..f16997832 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp @@ -0,0 +1,181 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_RMATRIX +#define TRY_V2_0_RESONANCES_RMATRIX + +#include "try/v2.0/unknownNamespace/PoPs.hpp" +#include "try/v2.0/resonances/ResonanceReactions.hpp" +#include "try/v2.0/resonances/SpinGroups.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class RMatrix +// ----------------------------------------------------------------------------- + +class RMatrix : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "RMatrix"; } + static auto FIELD() { return "RMatrix"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("approximation") | + Defaulted{enums::BoundaryCondition::EliminateShiftFunction} + / Meta<>("boundaryCondition") | + std::optional{} + / Meta<>("boundaryConditionValue") | + Defaulted{false} + / Meta<>("calculateChannelRadius") | + Defaulted{true} + / Meta<>("calculatePenetrability") | + Defaulted{false} + / Meta<>("useForSelfShieldingOnly") | + Defaulted{false} + / Meta<>("supportsAngularReconstruction") | + // children + std::optional{} + / --Child<>("PoPs") | + resonances::ResonanceReactions{} + / --Child<>("resonanceReactions") | + resonances::SpinGroups{} + / --Child<>("spinGroups") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const enums::BoundaryCondition boundaryCondition = enums::BoundaryCondition::EliminateShiftFunction; + static inline const bool calculateChannelRadius = false; + static inline const bool calculatePenetrability = true; + static inline const bool useForSelfShieldingOnly = false; + static inline const bool supportsAngularReconstruction = false; + } defaults; + + // metadata + Field label{this}; + Field approximation{this}; + Field> boundaryCondition{this,defaults.boundaryCondition}; + Field> boundaryConditionValue{this}; + Field> calculateChannelRadius{this,defaults.calculateChannelRadius}; + Field> calculatePenetrability{this,defaults.calculatePenetrability}; + Field> useForSelfShieldingOnly{this,defaults.useForSelfShieldingOnly}; + Field> supportsAngularReconstruction{this,defaults.supportsAngularReconstruction}; + + // children + Field> PoPs{this}; + Field resonanceReactions{this}; + Field spinGroups{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->approximation, \ + this->boundaryCondition, \ + this->boundaryConditionValue, \ + this->calculateChannelRadius, \ + this->calculatePenetrability, \ + this->useForSelfShieldingOnly, \ + this->supportsAngularReconstruction, \ + this->PoPs, \ + this->resonanceReactions, \ + this->spinGroups) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit RMatrix( + const wrapper &label = {}, + const wrapper &approximation = {}, + const wrapper> &boundaryCondition = {}, + const wrapper> &boundaryConditionValue = {}, + const wrapper> &calculateChannelRadius = {}, + const wrapper> &calculatePenetrability = {}, + const wrapper> &useForSelfShieldingOnly = {}, + const wrapper> &supportsAngularReconstruction = {}, + const wrapper> &PoPs = {}, + const wrapper &resonanceReactions = {}, + const wrapper &spinGroups = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + approximation(this,approximation), + boundaryCondition(this,defaults.boundaryCondition,boundaryCondition), + boundaryConditionValue(this,boundaryConditionValue), + calculateChannelRadius(this,defaults.calculateChannelRadius,calculateChannelRadius), + calculatePenetrability(this,defaults.calculatePenetrability,calculatePenetrability), + useForSelfShieldingOnly(this,defaults.useForSelfShieldingOnly,useForSelfShieldingOnly), + supportsAngularReconstruction(this,defaults.supportsAngularReconstruction,supportsAngularReconstruction), + PoPs(this,PoPs), + resonanceReactions(this,resonanceReactions), + spinGroups(this,spinGroups) + { + Component::finish(); + } + + // from node + explicit RMatrix(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + RMatrix(const RMatrix &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + RMatrix(RMatrix &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + RMatrix &operator=(const RMatrix &) = default; + RMatrix &operator=(RMatrix &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/RMatrix/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class RMatrix + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved.hpp new file mode 100644 index 000000000..7b82fc87f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved.hpp @@ -0,0 +1,138 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_RESOLVED +#define TRY_V2_0_RESONANCES_RESOLVED + +#include "try/v2.0/resonances/RMatrix.hpp" +#include "try/v2.0/resonances/BreitWigner.hpp" +#include "try/v2.0/resonances/EnergyIntervals.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Resolved +// ----------------------------------------------------------------------------- + +class Resolved : public Component { + friend class Component; + + using _t = std::variant< + resonances::RMatrix, + resonances::BreitWigner, + resonances::EnergyIntervals + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Resolved"; } + static auto FIELD() { return "resolved"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Float64{} + / Meta<>("domainMin") | + Float64{} + / Meta<>("domainMax") | + XMLName{} + / Meta<>("domainUnit") | + // children + _t{} + / --(Child<>("RMatrix") || Child<>("BreitWigner") || Child<>("energyIntervals")) + ; + } + +public: + using Component::construct; + + // metadata + Field domainMin{this}; + Field domainMax{this}; + Field domainUnit{this}; + + // children - variant + Field<_t> _RMatrixBreitWignerenergyIntervals{this}; + FieldPart RMatrix{_RMatrixBreitWignerenergyIntervals}; + FieldPart BreitWigner{_RMatrixBreitWignerenergyIntervals}; + FieldPart energyIntervals{_RMatrixBreitWignerenergyIntervals}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->domainMin, \ + this->domainMax, \ + this->domainUnit, \ + this->_RMatrixBreitWignerenergyIntervals) + + // default, and from fields + explicit Resolved( + const wrapper &domainMin = {}, + const wrapper &domainMax = {}, + const wrapper &domainUnit = {}, + const wrapper<_t> &_RMatrixBreitWignerenergyIntervals = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + domainMin(this,domainMin), + domainMax(this,domainMax), + domainUnit(this,domainUnit), + _RMatrixBreitWignerenergyIntervals(this,_RMatrixBreitWignerenergyIntervals) + { + Component::finish(); + } + + // from node + explicit Resolved(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Resolved(const Resolved &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Resolved(Resolved &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Resolved &operator=(const Resolved &) = default; + Resolved &operator=(Resolved &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Resolved/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Resolved + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp new file mode 100644 index 000000000..b0880d727 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_RESONANCEPARAMETERS +#define TRY_V2_0_RESONANCES_RESONANCEPARAMETERS + +#include "try/v2.0/unknownNamespace/Table.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class ResonanceParameters +// ----------------------------------------------------------------------------- + +class ResonanceParameters : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "ResonanceParameters"; } + static auto FIELD() { return "resonanceParameters"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Table{} + / --Child<>("table") + ; + } + +public: + using Component::construct; + + // children + Field table{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->table) + + // default, and from fields + explicit ResonanceParameters( + const wrapper &table = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + table(this,table) + { + Component::finish(); + } + + // from node + explicit ResonanceParameters(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ResonanceParameters(const ResonanceParameters &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ResonanceParameters(ResonanceParameters &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ResonanceParameters &operator=(const ResonanceParameters &) = default; + ResonanceParameters &operator=(ResonanceParameters &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/ResonanceParameters/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ResonanceParameters + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp new file mode 100644 index 000000000..65154de7b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp @@ -0,0 +1,160 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_RESONANCEREACTION +#define TRY_V2_0_RESONANCES_RESONANCEREACTION + +#include "try/v2.0/ambiguousNamespace/Q.hpp" +#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "try/v2.0/unknownNamespace/Link.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class ResonanceReaction +// ----------------------------------------------------------------------------- + +class ResonanceReaction : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "ResonanceReaction"; } + static auto FIELD() { return "resonanceReaction"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("ejectile") | + std::optional{} + / Meta<>("boundaryConditionValue") | + Defaulted{false} + / Meta<>("eliminated") | + // children + std::optional{} + / --Child<>("Q") | + std::optional{} + / --Child<>("scatteringRadius") | + std::optional{} + / --Child<>("hardSphereRadius") | + unknownNamespace::Link{} + / --Child<>("link") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const bool eliminated = false; + } defaults; + + // metadata + Field label{this}; + Field ejectile{this}; + Field> boundaryConditionValue{this}; + Field> eliminated{this,defaults.eliminated}; + + // children + Field> Q{this}; + Field> scatteringRadius{this}; + Field> hardSphereRadius{this}; + Field link{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->ejectile, \ + this->boundaryConditionValue, \ + this->eliminated, \ + this->Q, \ + this->scatteringRadius, \ + this->hardSphereRadius, \ + this->link) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit ResonanceReaction( + const wrapper &label = {}, + const wrapper &ejectile = {}, + const wrapper> &boundaryConditionValue = {}, + const wrapper> &eliminated = {}, + const wrapper> &Q = {}, + const wrapper> &scatteringRadius = {}, + const wrapper> &hardSphereRadius = {}, + const wrapper &link = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + ejectile(this,ejectile), + boundaryConditionValue(this,boundaryConditionValue), + eliminated(this,defaults.eliminated,eliminated), + Q(this,Q), + scatteringRadius(this,scatteringRadius), + hardSphereRadius(this,hardSphereRadius), + link(this,link) + { + Component::finish(); + } + + // from node + explicit ResonanceReaction(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ResonanceReaction(const ResonanceReaction &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ResonanceReaction(ResonanceReaction &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ResonanceReaction &operator=(const ResonanceReaction &) = default; + ResonanceReaction &operator=(ResonanceReaction &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/ResonanceReaction/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ResonanceReaction + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions.hpp new file mode 100644 index 000000000..b65e57df5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_RESONANCEREACTIONS +#define TRY_V2_0_RESONANCES_RESONANCEREACTIONS + +#include "try/v2.0/resonances/ResonanceReaction.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class ResonanceReactions +// ----------------------------------------------------------------------------- + +class ResonanceReactions : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "ResonanceReactions"; } + static auto FIELD() { return "resonanceReactions"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + resonances::ResonanceReaction{} + / ++Child<>("resonanceReaction") + ; + } + +public: + using Component::construct; + + // children + Field> resonanceReaction{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->resonanceReaction) + + // default, and from fields + explicit ResonanceReactions( + const wrapper> &resonanceReaction = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + resonanceReaction(this,resonanceReaction) + { + Component::finish(); + } + + // from node + explicit ResonanceReactions(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ResonanceReactions(const ResonanceReactions &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ResonanceReactions(ResonanceReactions &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ResonanceReactions &operator=(const ResonanceReactions &) = default; + ResonanceReactions &operator=(ResonanceReactions &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/ResonanceReactions/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ResonanceReactions + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances.hpp new file mode 100644 index 000000000..d0c01960f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances.hpp @@ -0,0 +1,136 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_RESONANCES +#define TRY_V2_0_RESONANCES_RESONANCES + +#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "try/v2.0/resonances/Resolved.hpp" +#include "try/v2.0/resonances/Unresolved.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Resonances +// ----------------------------------------------------------------------------- + +class Resonances : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Resonances"; } + static auto FIELD() { return "resonances"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") | + // children + resonances::ScatteringRadius{} + / --Child<>("scatteringRadius") | + std::optional{} + / --Child<>("hardSphereRadius") | + std::optional{} + / ++Child<>("resolved") | + std::optional{} + / ++Child<>("unresolved") + ; + } + +public: + using Component::construct; + + // metadata + Field> href{this}; + + // children + Field scatteringRadius{this}; + Field> hardSphereRadius{this}; + Field>> resolved{this}; + Field>> unresolved{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href, \ + this->scatteringRadius, \ + this->hardSphereRadius, \ + this->resolved, \ + this->unresolved) + + // default, and from fields + explicit Resonances( + const wrapper> &href = {}, + const wrapper &scatteringRadius = {}, + const wrapper> &hardSphereRadius = {}, + const wrapper>> &resolved = {}, + const wrapper>> &unresolved = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href), + scatteringRadius(this,scatteringRadius), + hardSphereRadius(this,hardSphereRadius), + resolved(this,resolved), + unresolved(this,unresolved) + { + Component::finish(); + } + + // from node + explicit Resonances(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Resonances(const Resonances &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Resonances(Resonances &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Resonances &operator=(const Resonances &) = default; + Resonances &operator=(Resonances &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Resonances/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Resonances + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp new file mode 100644 index 000000000..267b70254 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp @@ -0,0 +1,117 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_SCATTERINGRADIUS +#define TRY_V2_0_RESONANCES_SCATTERINGRADIUS + +#include "try/v2.0/unknownNamespace/Constant1d.hpp" +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class ScatteringRadius +// ----------------------------------------------------------------------------- + +class ScatteringRadius : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::Constant1d, + unknownNamespace::XYs1d, + unknownNamespace::Regions1d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "ScatteringRadius"; } + static auto FIELD() { return "scatteringRadius"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("constant1d") || Child<>("XYs1d") || Child<>("regions1d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _constant1dXYs1dregions1d{this}; + FieldPart constant1d{_constant1dXYs1dregions1d}; + FieldPart XYs1d{_constant1dXYs1dregions1d}; + FieldPart regions1d{_constant1dXYs1dregions1d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_constant1dXYs1dregions1d) + + // default, and from fields + explicit ScatteringRadius( + const wrapper<_t> &_constant1dXYs1dregions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _constant1dXYs1dregions1d(this,_constant1dXYs1dregions1d) + { + Component::finish(); + } + + // from node + explicit ScatteringRadius(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ScatteringRadius(const ScatteringRadius &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ScatteringRadius(ScatteringRadius &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ScatteringRadius &operator=(const ScatteringRadius &) = default; + ScatteringRadius &operator=(ScatteringRadius &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/ScatteringRadius/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ScatteringRadius + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup.hpp new file mode 100644 index 000000000..3d5724442 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_SPINGROUP +#define TRY_V2_0_RESONANCES_SPINGROUP + +#include "try/v2.0/resonances/Channels.hpp" +#include "try/v2.0/resonances/ResonanceParameters.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class SpinGroup +// ----------------------------------------------------------------------------- + +class SpinGroup : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "SpinGroup"; } + static auto FIELD() { return "spinGroup"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + Fraction32{} + / Meta<>("spin") | + Defaulted{1} + / Meta<>("parity") | + // children + resonances::Channels{} + / --Child<>("channels") | + resonances::ResonanceParameters{} + / --Child<>("resonanceParameters") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const Integer32 parity = 1; + } defaults; + + // metadata + Field label{this}; + Field spin{this}; + Field> parity{this,defaults.parity}; + + // children + Field channels{this}; + Field resonanceParameters{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->spin, \ + this->parity, \ + this->channels, \ + this->resonanceParameters) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit SpinGroup( + const wrapper &label = {}, + const wrapper &spin = {}, + const wrapper> &parity = {}, + const wrapper &channels = {}, + const wrapper &resonanceParameters = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + spin(this,spin), + parity(this,defaults.parity,parity), + channels(this,channels), + resonanceParameters(this,resonanceParameters) + { + Component::finish(); + } + + // from node + explicit SpinGroup(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + SpinGroup(const SpinGroup &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + SpinGroup(SpinGroup &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + SpinGroup &operator=(const SpinGroup &) = default; + SpinGroup &operator=(SpinGroup &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/SpinGroup/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class SpinGroup + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups.hpp new file mode 100644 index 000000000..b412c5536 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_SPINGROUPS +#define TRY_V2_0_RESONANCES_SPINGROUPS + +#include "try/v2.0/resonances/SpinGroup.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class SpinGroups +// ----------------------------------------------------------------------------- + +class SpinGroups : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "SpinGroups"; } + static auto FIELD() { return "spinGroups"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + resonances::SpinGroup{} + / ++Child<>("spinGroup") + ; + } + +public: + using Component::construct; + + // children + Field> spinGroup{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->spinGroup) + + // default, and from fields + explicit SpinGroups( + const wrapper> &spinGroup = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + spinGroup(this,spinGroup) + { + Component::finish(); + } + + // from node + explicit SpinGroups(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + SpinGroups(const SpinGroups &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + SpinGroups(SpinGroups &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + SpinGroups &operator=(const SpinGroups &) = default; + SpinGroups &operator=(SpinGroups &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/SpinGroups/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class SpinGroups + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp new file mode 100644 index 000000000..86cd8e8ce --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp @@ -0,0 +1,161 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_TABULATEDWIDTHS +#define TRY_V2_0_RESONANCES_TABULATEDWIDTHS + +#include "try/v2.0/unknownNamespace/PoPs.hpp" +#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "try/v2.0/resonances/ResonanceReactions.hpp" +#include "try/v2.0/resonances/Ls.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class TabulatedWidths +// ----------------------------------------------------------------------------- + +class TabulatedWidths : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "TabulatedWidths"; } + static auto FIELD() { return "tabulatedWidths"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("approximation") | + Defaulted{false} + / Meta<>("useForSelfShieldingOnly") | + // children + std::optional{} + / --Child<>("PoPs") | + std::optional{} + / --Child<>("scatteringRadius") | + std::optional{} + / --Child<>("hardSphereRadius") | + resonances::ResonanceReactions{} + / --Child<>("resonanceReactions") | + resonances::Ls{} + / --Child<>("Ls") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const bool useForSelfShieldingOnly = false; + } defaults; + + // metadata + Field label{this}; + Field approximation{this}; + Field> useForSelfShieldingOnly{this,defaults.useForSelfShieldingOnly}; + + // children + Field> PoPs{this}; + Field> scatteringRadius{this}; + Field> hardSphereRadius{this}; + Field resonanceReactions{this}; + Field Ls{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->approximation, \ + this->useForSelfShieldingOnly, \ + this->PoPs, \ + this->scatteringRadius, \ + this->hardSphereRadius, \ + this->resonanceReactions, \ + this->Ls) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit TabulatedWidths( + const wrapper &label = {}, + const wrapper &approximation = {}, + const wrapper> &useForSelfShieldingOnly = {}, + const wrapper> &PoPs = {}, + const wrapper> &scatteringRadius = {}, + const wrapper> &hardSphereRadius = {}, + const wrapper &resonanceReactions = {}, + const wrapper &Ls = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + approximation(this,approximation), + useForSelfShieldingOnly(this,defaults.useForSelfShieldingOnly,useForSelfShieldingOnly), + PoPs(this,PoPs), + scatteringRadius(this,scatteringRadius), + hardSphereRadius(this,hardSphereRadius), + resonanceReactions(this,resonanceReactions), + Ls(this,Ls) + { + Component::finish(); + } + + // from node + explicit TabulatedWidths(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + TabulatedWidths(const TabulatedWidths &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + TabulatedWidths(TabulatedWidths &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + TabulatedWidths &operator=(const TabulatedWidths &) = default; + TabulatedWidths &operator=(TabulatedWidths &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/TabulatedWidths/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class TabulatedWidths + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved.hpp new file mode 100644 index 000000000..265da35ae --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved.hpp @@ -0,0 +1,132 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_UNRESOLVED +#define TRY_V2_0_RESONANCES_UNRESOLVED + +#include "try/v2.0/resonances/TabulatedWidths.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Unresolved +// ----------------------------------------------------------------------------- + +class Unresolved : public Component { + friend class Component; + + using _t = std::variant< + resonances::TabulatedWidths + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Unresolved"; } + static auto FIELD() { return "unresolved"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Float64{} + / Meta<>("domainMin") | + Float64{} + / Meta<>("domainMax") | + XMLName{} + / Meta<>("domainUnit") | + // children + _t{} + / --(Child<>("tabulatedWidths")) + ; + } + +public: + using Component::construct; + + // metadata + Field domainMin{this}; + Field domainMax{this}; + Field domainUnit{this}; + + // children - variant + Field<_t> _tabulatedWidths{this}; + FieldPart tabulatedWidths{_tabulatedWidths}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->domainMin, \ + this->domainMax, \ + this->domainUnit, \ + this->_tabulatedWidths) + + // default, and from fields + explicit Unresolved( + const wrapper &domainMin = {}, + const wrapper &domainMax = {}, + const wrapper &domainUnit = {}, + const wrapper<_t> &_tabulatedWidths = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + domainMin(this,domainMin), + domainMax(this,domainMax), + domainUnit(this,domainUnit), + _tabulatedWidths(this,_tabulatedWidths) + { + Component::finish(); + } + + // from node + explicit Unresolved(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Unresolved(const Unresolved &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Unresolved(Unresolved &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Unresolved &operator=(const Unresolved &) = default; + Unresolved &operator=(Unresolved &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Unresolved/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Unresolved + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp new file mode 100644 index 000000000..a4d300f02 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp @@ -0,0 +1,135 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_WIDTH +#define TRY_V2_0_RESONANCES_WIDTH + +#include "try/v2.0/unknownNamespace/Constant1d.hpp" +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Width +// ----------------------------------------------------------------------------- + +class Width : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Width"; } + static auto FIELD() { return "width"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("resonanceReaction") | + Float64{} + / Meta<>("degreesOfFreedom") | + // children + std::optional{} + / --Child<>("constant1d") | + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // metadata + Field resonanceReaction{this}; + Field degreesOfFreedom{this}; + + // children + Field> constant1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->resonanceReaction, \ + this->degreesOfFreedom, \ + this->constant1d, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit Width( + const wrapper &resonanceReaction = {}, + const wrapper °reesOfFreedom = {}, + const wrapper> &constant1d = {}, + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + resonanceReaction(this,resonanceReaction), + degreesOfFreedom(this,degreesOfFreedom), + constant1d(this,constant1d), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit Width(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Width(const Width &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Width(Width &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Width &operator=(const Width &) = default; + Width &operator=(Width &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Width/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Width + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Width/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Width/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Width/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths.hpp new file mode 100644 index 000000000..4666a3b98 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_RESONANCES_WIDTHS +#define TRY_V2_0_RESONANCES_WIDTHS + +#include "try/v2.0/resonances/Width.hpp" + +namespace try { +namespace v2_0 { +namespace resonances { + +// ----------------------------------------------------------------------------- +// resonances:: +// class Widths +// ----------------------------------------------------------------------------- + +class Widths : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "resonances"; } + static auto CLASS() { return "Widths"; } + static auto FIELD() { return "widths"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + resonances::Width{} + / ++Child<>("width") + ; + } + +public: + using Component::construct; + + // children + Field> width{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->width) + + // default, and from fields + explicit Widths( + const wrapper> &width = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + width(this,width) + { + Component::finish(); + } + + // from node + explicit Widths(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Widths(const Widths &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Widths(Widths &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Widths &operator=(const Widths &) = default; + Widths &operator=(Widths &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/resonances/Widths/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Widths + +} // namespace resonances +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed.hpp new file mode 100644 index 000000000..3e39f07b2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED +#define TRY_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED + +#include "try/v2.0/styles/Temperature.hpp" +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class AngularDistributionReconstructed +// ----------------------------------------------------------------------------- + +class AngularDistributionReconstructed : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "AngularDistributionReconstructed"; } + static auto FIELD() { return "angularDistributionReconstructed"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("label") | + std::optional{} + / Meta<>("derivedFrom") | + // children + std::optional{} + / --Child<>("temperature") | + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field label{this}; + Field> derivedFrom{this}; + + // children + Field> temperature{this}; + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->label, \ + this->derivedFrom, \ + this->temperature, \ + this->documentation) + + // default, and from fields + explicit AngularDistributionReconstructed( + const wrapper &date = {}, + const wrapper &label = {}, + const wrapper> &derivedFrom = {}, + const wrapper> &temperature = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + label(this,label), + derivedFrom(this,derivedFrom), + temperature(this,temperature), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit AngularDistributionReconstructed(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AngularDistributionReconstructed(const AngularDistributionReconstructed &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AngularDistributionReconstructed(AngularDistributionReconstructed &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AngularDistributionReconstructed &operator=(const AngularDistributionReconstructed &) = default; + AngularDistributionReconstructed &operator=(AngularDistributionReconstructed &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/AngularDistributionReconstructed/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AngularDistributionReconstructed + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData.hpp new file mode 100644 index 000000000..be9055b6b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_AVERAGEPRODUCTDATA +#define TRY_V2_0_STYLES_AVERAGEPRODUCTDATA + +#include "try/v2.0/styles/Temperature.hpp" +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class AverageProductData +// ----------------------------------------------------------------------------- + +class AverageProductData : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "AverageProductData"; } + static auto FIELD() { return "averageProductData"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("label") | + std::optional{} + / Meta<>("derivedFrom") | + // children + styles::Temperature{} + / --Child<>("temperature") | + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field label{this}; + Field> derivedFrom{this}; + + // children + Field temperature{this}; + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->label, \ + this->derivedFrom, \ + this->temperature, \ + this->documentation) + + // default, and from fields + explicit AverageProductData( + const wrapper &date = {}, + const wrapper &label = {}, + const wrapper> &derivedFrom = {}, + const wrapper &temperature = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + label(this,label), + derivedFrom(this,derivedFrom), + temperature(this,temperature), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit AverageProductData(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AverageProductData(const AverageProductData &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AverageProductData(AverageProductData &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AverageProductData &operator=(const AverageProductData &) = default; + AverageProductData &operator=(AverageProductData &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/AverageProductData/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AverageProductData + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko.hpp new file mode 100644 index 000000000..822f37f13 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_BONDARENKO +#define TRY_V2_0_STYLES_BONDARENKO + +#include "try/v2.0/styles/SigmaZeros.hpp" +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Bondarenko +// ----------------------------------------------------------------------------- + +class Bondarenko : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Bondarenko"; } + static auto FIELD() { return "Bondarenko"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + // children + styles::SigmaZeros{} + / --Child<>("sigmaZeros") | + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + + // children + Field sigmaZeros{this}; + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->sigmaZeros, \ + this->documentation) + + // default, and from fields + explicit Bondarenko( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper &sigmaZeros = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + sigmaZeros(this,sigmaZeros), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit Bondarenko(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Bondarenko(const Bondarenko &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Bondarenko(Bondarenko &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Bondarenko &operator=(const Bondarenko &) = default; + Bondarenko &operator=(Bondarenko &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Bondarenko/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Bondarenko + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp new file mode 100644 index 000000000..714d1ee64 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF +#define TRY_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF + +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class CoulombPlusNuclearElasticMuCutoff +// ----------------------------------------------------------------------------- + +class CoulombPlusNuclearElasticMuCutoff : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "CoulombPlusNuclearElasticMuCutoff"; } + static auto FIELD() { return "CoulombPlusNuclearElasticMuCutoff"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + Float64{} + / Meta<>("muCutoff") | + // children + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + Field muCutoff{this}; + + // children + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->muCutoff, \ + this->documentation) + + // default, and from fields + explicit CoulombPlusNuclearElasticMuCutoff( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper &muCutoff = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + muCutoff(this,muCutoff), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit CoulombPlusNuclearElasticMuCutoff(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CoulombPlusNuclearElasticMuCutoff(const CoulombPlusNuclearElasticMuCutoff &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CoulombPlusNuclearElasticMuCutoff(CoulombPlusNuclearElasticMuCutoff &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CoulombPlusNuclearElasticMuCutoff &operator=(const CoulombPlusNuclearElasticMuCutoff &) = default; + CoulombPlusNuclearElasticMuCutoff &operator=(CoulombPlusNuclearElasticMuCutoff &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CoulombPlusNuclearElasticMuCutoff + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/CrossSectionReconstructed.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/CrossSectionReconstructed.hpp new file mode 100644 index 000000000..6438ccbf2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/CrossSectionReconstructed.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_CROSSSECTIONRECONSTRUCTED +#define TRY_V2_0_STYLES_CROSSSECTIONRECONSTRUCTED + +#include "try/v2.0/styles/Temperature.hpp" +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class CrossSectionReconstructed +// ----------------------------------------------------------------------------- + +class CrossSectionReconstructed : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "CrossSectionReconstructed"; } + static auto FIELD() { return "crossSectionReconstructed"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("label") | + std::optional{} + / Meta<>("derivedFrom") | + // children + std::optional{} + / --Child<>("temperature") | + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field label{this}; + Field> derivedFrom{this}; + + // children + Field> temperature{this}; + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->label, \ + this->derivedFrom, \ + this->temperature, \ + this->documentation) + + // default, and from fields + explicit CrossSectionReconstructed( + const wrapper &date = {}, + const wrapper &label = {}, + const wrapper> &derivedFrom = {}, + const wrapper> &temperature = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + label(this,label), + derivedFrom(this,derivedFrom), + temperature(this,temperature), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit CrossSectionReconstructed(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CrossSectionReconstructed(const CrossSectionReconstructed &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CrossSectionReconstructed(CrossSectionReconstructed &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CrossSectionReconstructed &operator=(const CrossSectionReconstructed &) = default; + CrossSectionReconstructed &operator=(CrossSectionReconstructed &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/CrossSectionReconstructed/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CrossSectionReconstructed + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/CrossSectionReconstructed/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/CrossSectionReconstructed/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/CrossSectionReconstructed/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins.hpp new file mode 100644 index 000000000..b46ecbe5f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins.hpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_EQUALPROBABLEBINS +#define TRY_V2_0_STYLES_EQUALPROBABLEBINS + +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class EqualProbableBins +// ----------------------------------------------------------------------------- + +class EqualProbableBins : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "EqualProbableBins"; } + static auto FIELD() { return "equalProbableBins"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + Integer32{} + / Meta<>("numberOfBins") | + // children + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + Field numberOfBins{this}; + + // children + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->numberOfBins, \ + this->documentation) + + // default, and from fields + explicit EqualProbableBins( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper &numberOfBins = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + numberOfBins(this,numberOfBins), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit EqualProbableBins(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + EqualProbableBins(const EqualProbableBins &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + EqualProbableBins(EqualProbableBins &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EqualProbableBins &operator=(const EqualProbableBins &) = default; + EqualProbableBins &operator=(EqualProbableBins &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/EqualProbableBins/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EqualProbableBins + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated.hpp new file mode 100644 index 000000000..9c52d4452 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated.hpp @@ -0,0 +1,153 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_EVALUATED +#define TRY_V2_0_STYLES_EVALUATED + +#include "try/v2.0/styles/ProjectileEnergyDomain.hpp" +#include "try/v2.0/styles/Temperature.hpp" +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Evaluated +// ----------------------------------------------------------------------------- + +class Evaluated : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Evaluated"; } + static auto FIELD() { return "evaluated"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("label") | + std::optional{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("library") | + XMLName{} + / Meta<>("version") | + // children + styles::ProjectileEnergyDomain{} + / --Child<>("projectileEnergyDomain") | + styles::Temperature{} + / --Child<>("temperature") | + documentation::Documentation{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field label{this}; + Field> derivedFrom{this}; + Field library{this}; + Field version{this}; + + // children + Field projectileEnergyDomain{this}; + Field temperature{this}; + Field documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->label, \ + this->derivedFrom, \ + this->library, \ + this->version, \ + this->projectileEnergyDomain, \ + this->temperature, \ + this->documentation) + + // default, and from fields + explicit Evaluated( + const wrapper &date = {}, + const wrapper &label = {}, + const wrapper> &derivedFrom = {}, + const wrapper &library = {}, + const wrapper &version = {}, + const wrapper &projectileEnergyDomain = {}, + const wrapper &temperature = {}, + const wrapper &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + label(this,label), + derivedFrom(this,derivedFrom), + library(this,library), + version(this,version), + projectileEnergyDomain(this,projectileEnergyDomain), + temperature(this,temperature), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit Evaluated(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Evaluated(const Evaluated &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Evaluated(Evaluated &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Evaluated &operator=(const Evaluated &) = default; + Evaluated &operator=(Evaluated &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Evaluated/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Evaluated + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp new file mode 100644 index 000000000..e5ca19281 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_FLUX +#define TRY_V2_0_STYLES_FLUX + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Flux +// ----------------------------------------------------------------------------- + +class Flux : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Flux"; } + static auto FIELD() { return "flux"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + unknownNamespace::XYs2d{} + / --Child<>("XYs2d") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field XYs2d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->XYs2d) + + // default, and from fields + explicit Flux( + const wrapper &label = {}, + const wrapper &XYs2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + XYs2d(this,XYs2d) + { + Component::finish(); + } + + // from node + explicit Flux(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Flux(const Flux &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Flux(Flux &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Flux &operator=(const Flux &) = default; + Flux &operator=(Flux &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Flux/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Flux + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Flux/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Flux/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Flux/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp new file mode 100644 index 000000000..e0bb44c61 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_GRIDDEDCROSSSECTION +#define TRY_V2_0_STYLES_GRIDDEDCROSSSECTION + +#include "try/v2.0/unknownNamespace/Grid.hpp" +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class GriddedCrossSection +// ----------------------------------------------------------------------------- + +class GriddedCrossSection : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "GriddedCrossSection"; } + static auto FIELD() { return "griddedCrossSection"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + // children + unknownNamespace::Grid{} + / --Child<>("grid") | + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + + // children + Field grid{this}; + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->grid, \ + this->documentation) + + // default, and from fields + explicit GriddedCrossSection( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper &grid = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + grid(this,grid), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit GriddedCrossSection(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + GriddedCrossSection(const GriddedCrossSection &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + GriddedCrossSection(GriddedCrossSection &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + GriddedCrossSection &operator=(const GriddedCrossSection &) = default; + GriddedCrossSection &operator=(GriddedCrossSection &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/GriddedCrossSection/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class GriddedCrossSection + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Heated.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Heated.hpp new file mode 100644 index 000000000..7fcbba54d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Heated.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_HEATED +#define TRY_V2_0_STYLES_HEATED + +#include "try/v2.0/styles/Temperature.hpp" +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Heated +// ----------------------------------------------------------------------------- + +class Heated : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Heated"; } + static auto FIELD() { return "heated"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + // children + styles::Temperature{} + / --Child<>("temperature") | + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + + // children + Field temperature{this}; + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->temperature, \ + this->documentation) + + // default, and from fields + explicit Heated( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper &temperature = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + temperature(this,temperature), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit Heated(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Heated(const Heated &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Heated(Heated &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Heated &operator=(const Heated &) = default; + Heated &operator=(Heated &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Heated/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Heated + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Heated/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Heated/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Heated/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup.hpp new file mode 100644 index 000000000..6d8f18f05 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup.hpp @@ -0,0 +1,148 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_HEATEDMULTIGROUP +#define TRY_V2_0_STYLES_HEATEDMULTIGROUP + +#include "try/v2.0/styles/Transportables.hpp" +#include "try/v2.0/styles/Flux.hpp" +#include "try/v2.0/styles/InverseSpeed.hpp" +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class HeatedMultiGroup +// ----------------------------------------------------------------------------- + +class HeatedMultiGroup : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "HeatedMultiGroup"; } + static auto FIELD() { return "heatedMultiGroup"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + // children + styles::Transportables{} + / --Child<>("transportables") | + styles::Flux{} + / --Child<>("flux") | + styles::InverseSpeed{} + / --Child<>("inverseSpeed") | + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + + // children + Field transportables{this}; + Field flux{this}; + Field inverseSpeed{this}; + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->transportables, \ + this->flux, \ + this->inverseSpeed, \ + this->documentation) + + // default, and from fields + explicit HeatedMultiGroup( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper &transportables = {}, + const wrapper &flux = {}, + const wrapper &inverseSpeed = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + transportables(this,transportables), + flux(this,flux), + inverseSpeed(this,inverseSpeed), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit HeatedMultiGroup(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + HeatedMultiGroup(const HeatedMultiGroup &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + HeatedMultiGroup(HeatedMultiGroup &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + HeatedMultiGroup &operator=(const HeatedMultiGroup &) = default; + HeatedMultiGroup &operator=(HeatedMultiGroup &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/HeatedMultiGroup/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class HeatedMultiGroup + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp new file mode 100644 index 000000000..99b433525 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_INVERSESPEED +#define TRY_V2_0_STYLES_INVERSESPEED + +#include "try/v2.0/unknownNamespace/Gridded1d.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class InverseSpeed +// ----------------------------------------------------------------------------- + +class InverseSpeed : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "InverseSpeed"; } + static auto FIELD() { return "inverseSpeed"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + unknownNamespace::Gridded1d{} + / --Child<>("gridded1d") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field gridded1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->gridded1d) + + // default, and from fields + explicit InverseSpeed( + const wrapper> &label = {}, + const wrapper &gridded1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + gridded1d(this,gridded1d) + { + Component::finish(); + } + + // from node + explicit InverseSpeed(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + InverseSpeed(const InverseSpeed &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + InverseSpeed(InverseSpeed &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + InverseSpeed &operator=(const InverseSpeed &) = default; + InverseSpeed &operator=(InverseSpeed &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/InverseSpeed/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class InverseSpeed + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf.hpp new file mode 100644 index 000000000..1909e9d69 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_MONTECARLO_CDF +#define TRY_V2_0_STYLES_MONTECARLO_CDF + +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class MonteCarlo_cdf +// ----------------------------------------------------------------------------- + +class MonteCarlo_cdf : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "MonteCarlo_cdf"; } + static auto FIELD() { return "MonteCarlo_cdf"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + + // children + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->documentation) + + // default, and from fields + explicit MonteCarlo_cdf( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit MonteCarlo_cdf(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MonteCarlo_cdf(const MonteCarlo_cdf &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MonteCarlo_cdf(MonteCarlo_cdf &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MonteCarlo_cdf &operator=(const MonteCarlo_cdf &) = default; + MonteCarlo_cdf &operator=(MonteCarlo_cdf &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/MonteCarlo_cdf/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MonteCarlo_cdf + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand.hpp new file mode 100644 index 000000000..bb889d1bf --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand.hpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_MULTIBAND +#define TRY_V2_0_STYLES_MULTIBAND + +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class MultiBand +// ----------------------------------------------------------------------------- + +class MultiBand : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "MultiBand"; } + static auto FIELD() { return "multiBand"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + Integer32{} + / Meta<>("numberOfBands") | + // children + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + Field numberOfBands{this}; + + // children + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->numberOfBands, \ + this->documentation) + + // default, and from fields + explicit MultiBand( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper &numberOfBands = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + numberOfBands(this,numberOfBands), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit MultiBand(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MultiBand(const MultiBand &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MultiBand(MultiBand &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MultiBand &operator=(const MultiBand &) = default; + MultiBand &operator=(MultiBand &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/MultiBand/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MultiBand + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp new file mode 100644 index 000000000..912023e12 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_MULTIGROUP +#define TRY_V2_0_STYLES_MULTIGROUP + +#include "try/v2.0/unknownNamespace/Grid.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class MultiGroup +// ----------------------------------------------------------------------------- + +class MultiGroup : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "MultiGroup"; } + static auto FIELD() { return "multiGroup"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + unknownNamespace::Grid{} + / --Child<>("grid") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field grid{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->grid) + + // default, and from fields + explicit MultiGroup( + const wrapper &label = {}, + const wrapper &grid = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + grid(this,grid) + { + Component::finish(); + } + + // from node + explicit MultiGroup(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MultiGroup(const MultiGroup &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MultiGroup(MultiGroup &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MultiGroup &operator=(const MultiGroup &) = default; + MultiGroup &operator=(MultiGroup &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/MultiGroup/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MultiGroup + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain.hpp new file mode 100644 index 000000000..f50be687d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain.hpp @@ -0,0 +1,124 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_PROJECTILEENERGYDOMAIN +#define TRY_V2_0_STYLES_PROJECTILEENERGYDOMAIN + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class ProjectileEnergyDomain +// ----------------------------------------------------------------------------- + +class ProjectileEnergyDomain : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "ProjectileEnergyDomain"; } + static auto FIELD() { return "projectileEnergyDomain"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + Float64{} + / Meta<>("max") | + Float64{} + / Meta<>("min") | + XMLName{} + / Meta<>("unit") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field max{this}; + Field min{this}; + Field unit{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->max, \ + this->min, \ + this->unit) + + // default, and from fields + explicit ProjectileEnergyDomain( + const wrapper> &label = {}, + const wrapper &max = {}, + const wrapper &min = {}, + const wrapper &unit = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + max(this,max), + min(this,min), + unit(this,unit) + { + Component::finish(); + } + + // from node + explicit ProjectileEnergyDomain(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ProjectileEnergyDomain(const ProjectileEnergyDomain &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ProjectileEnergyDomain(ProjectileEnergyDomain &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ProjectileEnergyDomain &operator=(const ProjectileEnergyDomain &) = default; + ProjectileEnergyDomain &operator=(ProjectileEnergyDomain &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ProjectileEnergyDomain + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Realization.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Realization.hpp new file mode 100644 index 000000000..6c2053623 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Realization.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_REALIZATION +#define TRY_V2_0_STYLES_REALIZATION + +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Realization +// ----------------------------------------------------------------------------- + +class Realization : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Realization"; } + static auto FIELD() { return "realization"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + + // children + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->documentation) + + // default, and from fields + explicit Realization( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit Realization(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Realization(const Realization &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Realization(Realization &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Realization &operator=(const Realization &) = default; + Realization &operator=(Realization &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Realization/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Realization + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Realization/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Realization/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Realization/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp new file mode 100644 index 000000000..6de551dd4 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_SIGMAZEROS +#define TRY_V2_0_STYLES_SIGMAZEROS + +#include "try/v2.0/unknownNamespace/Values.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class SigmaZeros +// ----------------------------------------------------------------------------- + +class SigmaZeros : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "SigmaZeros"; } + static auto FIELD() { return "sigmaZeros"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + unknownNamespace::Values{} + / --Child<>("values") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field values{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->values) + + // default, and from fields + explicit SigmaZeros( + const wrapper> &label = {}, + const wrapper &values = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + values(this,values) + { + Component::finish(); + } + + // from node + explicit SigmaZeros(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + SigmaZeros(const SigmaZeros &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + SigmaZeros(SigmaZeros &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + SigmaZeros &operator=(const SigmaZeros &) = default; + SigmaZeros &operator=(SigmaZeros &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/SigmaZeros/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class SigmaZeros + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter.hpp new file mode 100644 index 000000000..78a4ba9d9 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter.hpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_SNELASTICUPSCATTER +#define TRY_V2_0_STYLES_SNELASTICUPSCATTER + +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class SnElasticUpScatter +// ----------------------------------------------------------------------------- + +class SnElasticUpScatter : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "SnElasticUpScatter"; } + static auto FIELD() { return "SnElasticUpScatter"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + std::optional{} + / Meta<>("upperCalculatedGroup") | + // children + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + Field> upperCalculatedGroup{this}; + + // children + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->upperCalculatedGroup, \ + this->documentation) + + // default, and from fields + explicit SnElasticUpScatter( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper> &upperCalculatedGroup = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + upperCalculatedGroup(this,upperCalculatedGroup), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit SnElasticUpScatter(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + SnElasticUpScatter(const SnElasticUpScatter &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + SnElasticUpScatter(SnElasticUpScatter &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + SnElasticUpScatter &operator=(const SnElasticUpScatter &) = default; + SnElasticUpScatter &operator=(SnElasticUpScatter &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/SnElasticUpScatter/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class SnElasticUpScatter + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Styles.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Styles.hpp new file mode 100644 index 000000000..8c781f052 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Styles.hpp @@ -0,0 +1,176 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_STYLES +#define TRY_V2_0_STYLES_STYLES + +#include "try/v2.0/styles/Evaluated.hpp" +#include "try/v2.0/styles/CrossSectionReconstructed.hpp" +#include "try/v2.0/styles/AngularDistributionReconstructed.hpp" +#include "try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "try/v2.0/styles/Heated.hpp" +#include "try/v2.0/styles/AverageProductData.hpp" +#include "try/v2.0/styles/MonteCarlo_cdf.hpp" +#include "try/v2.0/styles/GriddedCrossSection.hpp" +#include "try/v2.0/styles/URR_probabilityTables.hpp" +#include "try/v2.0/styles/HeatedMultiGroup.hpp" +#include "try/v2.0/styles/SnElasticUpScatter.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Styles +// ----------------------------------------------------------------------------- + +class Styles : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Styles"; } + static auto FIELD() { return "styles"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("evaluated") | + std::optional{} + / ++Child<>("crossSectionReconstructed") | + std::optional{} + / ++Child<>("angularDistributionReconstructed") | + std::optional{} + / ++Child<>("CoulombPlusNuclearElasticMuCutoff") | + std::optional{} + / ++Child<>("heated") | + std::optional{} + / ++Child<>("averageProductData") | + std::optional{} + / ++Child<>("MonteCarlo_cdf") | + std::optional{} + / ++Child<>("griddedCrossSection") | + std::optional{} + / ++Child<>("URR_probabilityTables") | + std::optional{} + / ++Child<>("heatedMultiGroup") | + std::optional{} + / ++Child<>("SnElasticUpScatter") + ; + } + +public: + using Component::construct; + + // children + Field>> evaluated{this}; + Field>> crossSectionReconstructed{this}; + Field>> angularDistributionReconstructed{this}; + Field>> CoulombPlusNuclearElasticMuCutoff{this}; + Field>> heated{this}; + Field>> averageProductData{this}; + Field>> MonteCarlo_cdf{this}; + Field>> griddedCrossSection{this}; + Field>> URR_probabilityTables{this}; + Field>> heatedMultiGroup{this}; + Field>> SnElasticUpScatter{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->evaluated, \ + this->crossSectionReconstructed, \ + this->angularDistributionReconstructed, \ + this->CoulombPlusNuclearElasticMuCutoff, \ + this->heated, \ + this->averageProductData, \ + this->MonteCarlo_cdf, \ + this->griddedCrossSection, \ + this->URR_probabilityTables, \ + this->heatedMultiGroup, \ + this->SnElasticUpScatter) + + // default, and from fields + explicit Styles( + const wrapper>> &evaluated = {}, + const wrapper>> &crossSectionReconstructed = {}, + const wrapper>> &angularDistributionReconstructed = {}, + const wrapper>> &CoulombPlusNuclearElasticMuCutoff = {}, + const wrapper>> &heated = {}, + const wrapper>> &averageProductData = {}, + const wrapper>> &MonteCarlo_cdf = {}, + const wrapper>> &griddedCrossSection = {}, + const wrapper>> &URR_probabilityTables = {}, + const wrapper>> &heatedMultiGroup = {}, + const wrapper>> &SnElasticUpScatter = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + evaluated(this,evaluated), + crossSectionReconstructed(this,crossSectionReconstructed), + angularDistributionReconstructed(this,angularDistributionReconstructed), + CoulombPlusNuclearElasticMuCutoff(this,CoulombPlusNuclearElasticMuCutoff), + heated(this,heated), + averageProductData(this,averageProductData), + MonteCarlo_cdf(this,MonteCarlo_cdf), + griddedCrossSection(this,griddedCrossSection), + URR_probabilityTables(this,URR_probabilityTables), + heatedMultiGroup(this,heatedMultiGroup), + SnElasticUpScatter(this,SnElasticUpScatter) + { + Component::finish(); + } + + // from node + explicit Styles(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Styles(const Styles &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Styles(Styles &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Styles &operator=(const Styles &) = default; + Styles &operator=(Styles &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Styles/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Styles + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Styles/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Styles/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Styles/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp new file mode 100644 index 000000000..77b9db393 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_TEMPERATURE +#define TRY_V2_0_STYLES_TEMPERATURE + +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Temperature +// ----------------------------------------------------------------------------- + +class Temperature : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Temperature"; } + static auto FIELD() { return "temperature"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + Float64{} + / Meta<>("value") | + XMLName{} + / Meta<>("unit") | + // children + std::optional{} + / --Child<>("documentation") | + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field value{this}; + Field unit{this}; + + // children + Field> documentation{this}; + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->value, \ + this->unit, \ + this->documentation, \ + this->uncertainty) + + // default, and from fields + explicit Temperature( + const wrapper> &label = {}, + const wrapper &value = {}, + const wrapper &unit = {}, + const wrapper> &documentation = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + value(this,value), + unit(this,unit), + documentation(this,documentation), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit Temperature(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Temperature(const Temperature &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Temperature(Temperature &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Temperature &operator=(const Temperature &) = default; + Temperature &operator=(Temperature &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Temperature/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Temperature + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable.hpp new file mode 100644 index 000000000..5398fc1f0 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_TRANSPORTABLE +#define TRY_V2_0_STYLES_TRANSPORTABLE + +#include "try/v2.0/styles/MultiGroup.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Transportable +// ----------------------------------------------------------------------------- + +class Transportable : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Transportable"; } + static auto FIELD() { return "transportable"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"number"} + / Meta<>("conserve") | + XMLName{} + / Meta<>("label") | + // children + styles::MultiGroup{} + / --Child<>("multiGroup") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const XMLName conserve = "number"; + } defaults; + + // metadata + Field> conserve{this,defaults.conserve}; + Field label{this}; + + // children + Field multiGroup{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->conserve, \ + this->label, \ + this->multiGroup) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Transportable( + const wrapper> &conserve = {}, + const wrapper &label = {}, + const wrapper &multiGroup = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + conserve(this,defaults.conserve,conserve), + label(this,label), + multiGroup(this,multiGroup) + { + Component::finish(); + } + + // from node + explicit Transportable(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Transportable(const Transportable &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Transportable(Transportable &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Transportable &operator=(const Transportable &) = default; + Transportable &operator=(Transportable &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Transportable/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Transportable + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables.hpp new file mode 100644 index 000000000..293610e6d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_TRANSPORTABLES +#define TRY_V2_0_STYLES_TRANSPORTABLES + +#include "try/v2.0/styles/Transportable.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class Transportables +// ----------------------------------------------------------------------------- + +class Transportables : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "Transportables"; } + static auto FIELD() { return "transportables"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + styles::Transportable{} + / ++Child<>("transportable") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field> transportable{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->transportable) + + // default, and from fields + explicit Transportables( + const wrapper> &label = {}, + const wrapper> &transportable = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + transportable(this,transportable) + { + Component::finish(); + } + + // from node + explicit Transportables(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Transportables(const Transportables &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Transportables(Transportables &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Transportables &operator=(const Transportables &) = default; + Transportables &operator=(Transportables &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/Transportables/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Transportables + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables.hpp new file mode 100644 index 000000000..82c9ed55b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_STYLES_URR_PROBABILITYTABLES +#define TRY_V2_0_STYLES_URR_PROBABILITYTABLES + +#include "try/v2.0/documentation/Documentation.hpp" + +namespace try { +namespace v2_0 { +namespace styles { + +// ----------------------------------------------------------------------------- +// styles:: +// class URR_probabilityTables +// ----------------------------------------------------------------------------- + +class URR_probabilityTables : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "styles"; } + static auto CLASS() { return "URR_probabilityTables"; } + static auto FIELD() { return "URR_probabilityTables"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("date") | + XMLName{} + / Meta<>("derivedFrom") | + XMLName{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field date{this}; + Field derivedFrom{this}; + Field label{this}; + + // children + Field> documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date, \ + this->derivedFrom, \ + this->label, \ + this->documentation) + + // default, and from fields + explicit URR_probabilityTables( + const wrapper &date = {}, + const wrapper &derivedFrom = {}, + const wrapper &label = {}, + const wrapper> &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date), + derivedFrom(this,derivedFrom), + label(this,label), + documentation(this,documentation) + { + Component::finish(); + } + + // from node + explicit URR_probabilityTables(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + URR_probabilityTables(const URR_probabilityTables &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + URR_probabilityTables(URR_probabilityTables &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + URR_probabilityTables &operator=(const URR_probabilityTables &) = default; + URR_probabilityTables &operator=(URR_probabilityTables &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/styles/URR_probabilityTables/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class URR_probabilityTables + +} // namespace styles +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp new file mode 100644 index 000000000..1edd5f26d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_A +#define TRY_V2_0_TRANSPORT_A + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class A +// ----------------------------------------------------------------------------- + +class A : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs2d, + unknownNamespace::Regions2d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "A"; } + static auto FIELD() { return "a"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("XYs2d") || Child<>("regions2d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _XYs2dregions2d{this}; + FieldPart XYs2d{_XYs2dregions2d}; + FieldPart regions2d{_XYs2dregions2d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs2dregions2d) + + // default, and from fields + explicit A( + const wrapper<_t> &_XYs2dregions2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs2dregions2d(this,_XYs2dregions2d) + { + Component::finish(); + } + + // from node + explicit A(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + A(const A &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + A(A &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + A &operator=(const A &) = default; + A &operator=(A &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/A/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class A + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/A/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/A/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/A/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Add.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Add.hpp new file mode 100644 index 000000000..8c4dc941c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Add.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ADD +#define TRY_V2_0_TRANSPORT_ADD + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Add +// ----------------------------------------------------------------------------- + +class Add : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Add"; } + static auto FIELD() { return "add"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href) + + // default, and from fields + explicit Add( + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Add(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Add(const Add &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Add(Add &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Add &operator=(const Add &) = default; + Add &operator=(Add &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Add/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Add + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Add/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Add/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Add/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp new file mode 100644 index 000000000..b140663be --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp @@ -0,0 +1,121 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ANGULARENERGY +#define TRY_V2_0_TRANSPORT_ANGULARENERGY + +#include "try/v2.0/unknownNamespace/XYs3d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class AngularEnergy +// ----------------------------------------------------------------------------- + +class AngularEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "AngularEnergy"; } + static auto FIELD() { return "angularEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + unknownNamespace::XYs3d{} + / --Child<>("XYs3d") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field productFrame{this}; + + // children + Field XYs3d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->XYs3d) + + // default, and from fields + explicit AngularEnergy( + const wrapper &label = {}, + const wrapper &productFrame = {}, + const wrapper &XYs3d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + XYs3d(this,XYs3d) + { + Component::finish(); + } + + // from node + explicit AngularEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AngularEnergy(const AngularEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AngularEnergy(AngularEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AngularEnergy &operator=(const AngularEnergy &) = default; + AngularEnergy &operator=(AngularEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/AngularEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AngularEnergy + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp new file mode 100644 index 000000000..d5a6d649a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp @@ -0,0 +1,142 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ANGULARTWOBODY +#define TRY_V2_0_TRANSPORT_ANGULARTWOBODY + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/transport/Isotropic2d.hpp" +#include "try/v2.0/transport/Recoil.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class AngularTwoBody +// ----------------------------------------------------------------------------- + +class AngularTwoBody : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "AngularTwoBody"; } + static auto FIELD() { return "angularTwoBody"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + std::optional{} + / --Child<>("XYs2d") | + std::optional{} + / --Child<>("regions2d") | + std::optional{} + / --Child<>("isotropic2d") | + std::optional{} + / --Child<>("recoil") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field productFrame{this}; + + // children + Field> XYs2d{this}; + Field> regions2d{this}; + Field> isotropic2d{this}; + Field> recoil{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->XYs2d, \ + this->regions2d, \ + this->isotropic2d, \ + this->recoil) + + // default, and from fields + explicit AngularTwoBody( + const wrapper> &label = {}, + const wrapper &productFrame = {}, + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {}, + const wrapper> &isotropic2d = {}, + const wrapper> &recoil = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + XYs2d(this,XYs2d), + regions2d(this,regions2d), + isotropic2d(this,isotropic2d), + recoil(this,recoil) + { + Component::finish(); + } + + // from node + explicit AngularTwoBody(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + AngularTwoBody(const AngularTwoBody &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + AngularTwoBody(AngularTwoBody &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + AngularTwoBody &operator=(const AngularTwoBody &) = default; + AngularTwoBody &operator=(AngularTwoBody &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/AngularTwoBody/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class AngularTwoBody + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp new file mode 100644 index 000000000..96238d4c2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED +#define TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/transport/Isotropic2d.hpp" +#include "try/v2.0/transport/Forward.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Angular_uncorrelated +// ----------------------------------------------------------------------------- + +class Angular_uncorrelated : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Angular_uncorrelated"; } + static auto FIELD() { return "angular"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs2d") | + std::optional{} + / --Child<>("isotropic2d") | + std::optional{} + / --Child<>("forward") + ; + } + +public: + using Component::construct; + + // children + Field> XYs2d{this}; + Field> isotropic2d{this}; + Field> forward{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs2d, \ + this->isotropic2d, \ + this->forward) + + // default, and from fields + explicit Angular_uncorrelated( + const wrapper> &XYs2d = {}, + const wrapper> &isotropic2d = {}, + const wrapper> &forward = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs2d(this,XYs2d), + isotropic2d(this,isotropic2d), + forward(this,forward) + { + Component::finish(); + } + + // from node + explicit Angular_uncorrelated(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Angular_uncorrelated(const Angular_uncorrelated &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Angular_uncorrelated(Angular_uncorrelated &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Angular_uncorrelated &operator=(const Angular_uncorrelated &) = default; + Angular_uncorrelated &operator=(Angular_uncorrelated &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Angular_uncorrelated/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Angular_uncorrelated + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Background.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Background.hpp new file mode 100644 index 000000000..1d55f8b41 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Background.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_BACKGROUND +#define TRY_V2_0_TRANSPORT_BACKGROUND + +#include "try/v2.0/transport/ResolvedRegion.hpp" +#include "try/v2.0/transport/UnresolvedRegion.hpp" +#include "try/v2.0/transport/FastRegion.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Background +// ----------------------------------------------------------------------------- + +class Background : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Background"; } + static auto FIELD() { return "background"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("resolvedRegion") | + std::optional{} + / --Child<>("unresolvedRegion") | + std::optional{} + / --Child<>("fastRegion") + ; + } + +public: + using Component::construct; + + // children + Field> resolvedRegion{this}; + Field> unresolvedRegion{this}; + Field> fastRegion{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->resolvedRegion, \ + this->unresolvedRegion, \ + this->fastRegion) + + // default, and from fields + explicit Background( + const wrapper> &resolvedRegion = {}, + const wrapper> &unresolvedRegion = {}, + const wrapper> &fastRegion = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + resolvedRegion(this,resolvedRegion), + unresolvedRegion(this,unresolvedRegion), + fastRegion(this,fastRegion) + { + Component::finish(); + } + + // from node + explicit Background(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Background(const Background &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Background(Background &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Background &operator=(const Background &) = default; + Background &operator=(Background &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Background/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Background + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Background/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Background/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Background/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d.hpp new file mode 100644 index 000000000..24112cd4b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_BRANCHING1D +#define TRY_V2_0_TRANSPORT_BRANCHING1D + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Branching1d +// ----------------------------------------------------------------------------- + +class Branching1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Branching1d"; } + static auto FIELD() { return "branching1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label) + + // default, and from fields + explicit Branching1d( + const wrapper &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label) + { + Component::finish(); + } + + // from node + explicit Branching1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Branching1d(const Branching1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Branching1d(Branching1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Branching1d &operator=(const Branching1d &) = default; + Branching1d &operator=(Branching1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Branching1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Branching1d + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d.hpp new file mode 100644 index 000000000..d4aaac7b8 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_BRANCHING3D +#define TRY_V2_0_TRANSPORT_BRANCHING3D + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Branching3d +// ----------------------------------------------------------------------------- + +class Branching3d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Branching3d"; } + static auto FIELD() { return "branching3d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field productFrame{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame) + + // default, and from fields + explicit Branching3d( + const wrapper &label = {}, + const wrapper &productFrame = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame) + { + Component::finish(); + } + + // from node + explicit Branching3d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Branching3d(const Branching3d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Branching3d(Branching3d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Branching3d &operator=(const Branching3d &) = default; + Branching3d &operator=(Branching3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Branching3d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Branching3d + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton.hpp new file mode 100644 index 000000000..3285b38ba --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_COHERENTPHOTON +#define TRY_V2_0_TRANSPORT_COHERENTPHOTON + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class CoherentPhoton +// ----------------------------------------------------------------------------- + +class CoherentPhoton : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "CoherentPhoton"; } + static auto FIELD() { return "coherentPhoton"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + CoherentPhoton() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit CoherentPhoton(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CoherentPhoton(const CoherentPhoton &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CoherentPhoton(CoherentPhoton &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CoherentPhoton &operator=(const CoherentPhoton &) = default; + CoherentPhoton &operator=(CoherentPhoton &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/CoherentPhoton/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CoherentPhoton + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp new file mode 100644 index 000000000..d77b51ce5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp @@ -0,0 +1,144 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_CROSSSECTION +#define TRY_V2_0_TRANSPORT_CROSSSECTION + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/transport/ResonancesWithBackground.hpp" +#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "try/v2.0/transport/Reference.hpp" +#include "try/v2.0/unknownNamespace/Gridded1d.hpp" +#include "try/v2.0/unknownNamespace/Ys1d.hpp" +#include "try/v2.0/transport/URR_probabilityTables1d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class CrossSection +// ----------------------------------------------------------------------------- + +class CrossSection : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Regions1d, + transport::ResonancesWithBackground, + cpTransport::CoulombPlusNuclearElastic, + tsl::ThermalNeutronScatteringLaw1d, + transport::Reference, + unknownNamespace::Gridded1d, + unknownNamespace::Ys1d, + transport::URR_probabilityTables1d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "CrossSection"; } + static auto FIELD() { return "crossSection"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + _t{} + / --(Child<>("XYs1d") || Child<>("regions1d") || Child<>("resonancesWithBackground") || Child<>("CoulombPlusNuclearElastic") || Child<>("thermalNeutronScatteringLaw1d") || Child<>("reference") || Child<>("gridded1d") || Child<>("Ys1d") || Child<>("URR_probabilityTables1d")) + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children - variant + Field<_t> _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d{this}; + FieldPart XYs1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart regions1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart resonancesWithBackground{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart CoulombPlusNuclearElastic{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart thermalNeutronScatteringLaw1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart reference{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart gridded1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart Ys1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart URR_probabilityTables1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) + + // default, and from fields + explicit CrossSection( + const wrapper> &label = {}, + const wrapper<_t> &_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(this,_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) + { + Component::finish(); + } + + // from node + explicit CrossSection(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CrossSection(const CrossSection &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CrossSection(CrossSection &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CrossSection &operator=(const CrossSection &) = default; + CrossSection &operator=(CrossSection &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/CrossSection/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CrossSection + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp new file mode 100644 index 000000000..d7e7b2ba4 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp @@ -0,0 +1,135 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_CROSSSECTIONSUM +#define TRY_V2_0_TRANSPORT_CROSSSECTIONSUM + +#include "try/v2.0/ambiguousNamespace/Q.hpp" +#include "try/v2.0/transport/CrossSection.hpp" +#include "try/v2.0/transport/Summands.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class CrossSectionSum +// ----------------------------------------------------------------------------- + +class CrossSectionSum : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "CrossSectionSum"; } + static auto FIELD() { return "crossSectionSum"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("ENDF_MT") | + XMLName{} + / Meta<>("label") | + // children + ambiguousNamespace::Q{} + / --Child<>("Q") | + transport::CrossSection{} + / --Child<>("crossSection") | + transport::Summands{} + / --Child<>("summands") + ; + } + +public: + using Component::construct; + + // metadata + Field> ENDF_MT{this}; + Field label{this}; + + // children + Field Q{this}; + Field crossSection{this}; + Field summands{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MT, \ + this->label, \ + this->Q, \ + this->crossSection, \ + this->summands) + + // default, and from fields + explicit CrossSectionSum( + const wrapper> &ENDF_MT = {}, + const wrapper &label = {}, + const wrapper &Q = {}, + const wrapper &crossSection = {}, + const wrapper &summands = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MT(this,ENDF_MT), + label(this,label), + Q(this,Q), + crossSection(this,crossSection), + summands(this,summands) + { + Component::finish(); + } + + // from node + explicit CrossSectionSum(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CrossSectionSum(const CrossSectionSum &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CrossSectionSum(CrossSectionSum &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CrossSectionSum &operator=(const CrossSectionSum &) = default; + CrossSectionSum &operator=(CrossSectionSum &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/CrossSectionSum/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CrossSectionSum + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums.hpp new file mode 100644 index 000000000..34e4ed464 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_CROSSSECTIONSUMS +#define TRY_V2_0_TRANSPORT_CROSSSECTIONSUMS + +#include "try/v2.0/transport/CrossSectionSum.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class CrossSectionSums +// ----------------------------------------------------------------------------- + +class CrossSectionSums : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "CrossSectionSums"; } + static auto FIELD() { return "crossSectionSums"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("crossSectionSum") + ; + } + +public: + using Component::construct; + + // children + Field>> crossSectionSum{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->crossSectionSum) + + // default, and from fields + explicit CrossSectionSums( + const wrapper>> &crossSectionSum = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + crossSectionSum(this,crossSectionSum) + { + Component::finish(); + } + + // from node + explicit CrossSectionSums(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CrossSectionSums(const CrossSectionSums &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CrossSectionSums(CrossSectionSums &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CrossSectionSums &operator=(const CrossSectionSums &) = default; + CrossSectionSums &operator=(CrossSectionSums &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/CrossSectionSums/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CrossSectionSums + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp new file mode 100644 index 000000000..f9f5636c6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_DISCRETEGAMMA +#define TRY_V2_0_TRANSPORT_DISCRETEGAMMA + +#include "try/v2.0/unknownNamespace/Axes.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class DiscreteGamma +// ----------------------------------------------------------------------------- + +class DiscreteGamma : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "DiscreteGamma"; } + static auto FIELD() { return "discreteGamma"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("domainMax") | + std::optional{} + / Meta<>("domainMin") | + std::optional{} + / Meta<>("value") | + // children + std::optional{} + / --Child<>("axes") + ; + } + +public: + using Component::construct; + + // metadata + Field> domainMax{this}; + Field> domainMin{this}; + Field> value{this}; + + // children + Field> axes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->domainMax, \ + this->domainMin, \ + this->value, \ + this->axes) + + // default, and from fields + explicit DiscreteGamma( + const wrapper> &domainMax = {}, + const wrapper> &domainMin = {}, + const wrapper> &value = {}, + const wrapper> &axes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + domainMax(this,domainMax), + domainMin(this,domainMin), + value(this,value), + axes(this,axes) + { + Component::finish(); + } + + // from node + explicit DiscreteGamma(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DiscreteGamma(const DiscreteGamma &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DiscreteGamma(DiscreteGamma &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DiscreteGamma &operator=(const DiscreteGamma &) = default; + DiscreteGamma &operator=(DiscreteGamma &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/DiscreteGamma/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DiscreteGamma + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution.hpp new file mode 100644 index 000000000..0e1a89a23 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution.hpp @@ -0,0 +1,153 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_DISTRIBUTION +#define TRY_V2_0_TRANSPORT_DISTRIBUTION + +#include "try/v2.0/transport/AngularTwoBody.hpp" +#include "try/v2.0/transport/Uncorrelated.hpp" +#include "try/v2.0/transport/AngularEnergy.hpp" +#include "try/v2.0/transport/EnergyAngular.hpp" +#include "try/v2.0/transport/KalbachMann.hpp" +#include "try/v2.0/transport/Reference.hpp" +#include "try/v2.0/transport/Branching3d.hpp" +#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "try/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "try/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "try/v2.0/transport/Unspecified.hpp" +#include "try/v2.0/transport/MultiGroup3d.hpp" +#include "try/v2.0/processed/AngularEnergyMC.hpp" +#include "try/v2.0/processed/EnergyAngularMC.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Distribution +// ----------------------------------------------------------------------------- + +class Distribution : public Component { + friend class Component; + + using _t = std::variant< + transport::AngularTwoBody, + transport::Uncorrelated, + transport::AngularEnergy, + transport::EnergyAngular, + transport::KalbachMann, + transport::Reference, + transport::Branching3d, + cpTransport::CoulombPlusNuclearElastic, + tsl::ThermalNeutronScatteringLaw, + atomic::CoherentPhotonScattering, + atomic::IncoherentPhotonScattering, + transport::Unspecified, + transport::MultiGroup3d, + processed::AngularEnergyMC, + processed::EnergyAngularMC + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Distribution"; } + static auto FIELD() { return "distribution"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("angularTwoBody") || Child<>("uncorrelated") || Child<>("angularEnergy") || Child<>("energyAngular") || Child<>("KalbachMann") || Child<>("reference") || Child<>("branching3d") || Child<>("CoulombPlusNuclearElastic") || Child<>("thermalNeutronScatteringLaw") || Child<>("coherentPhotonScattering") || Child<>("incoherentPhotonScattering") || Child<>("unspecified") || Child<>("multiGroup3d") || Child<>("angularEnergyMC") || Child<>("energyAngularMC")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC{this}; + FieldPart angularTwoBody{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart uncorrelated{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart angularEnergy{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart energyAngular{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart KalbachMann{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart reference{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart branching3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart CoulombPlusNuclearElastic{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart thermalNeutronScatteringLaw{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart coherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart incoherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart unspecified{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart multiGroup3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart angularEnergyMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart energyAngularMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC) + + // default, and from fields + explicit Distribution( + const wrapper<_t> &_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC(this,_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC) + { + Component::finish(); + } + + // from node + explicit Distribution(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Distribution(const Distribution &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Distribution(Distribution &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Distribution &operator=(const Distribution &) = default; + Distribution &operator=(Distribution &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Distribution/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Distribution + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp new file mode 100644 index 000000000..a6f33202f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp @@ -0,0 +1,162 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION +#define TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION + +#include "try/v2.0/unknownNamespace/Regions3d.hpp" +#include "try/v2.0/unknownNamespace/XYs3d.hpp" +#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "try/v2.0/transport/Reference.hpp" +#include "try/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "try/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class DoubleDifferentialCrossSection +// ----------------------------------------------------------------------------- + +class DoubleDifferentialCrossSection : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "DoubleDifferentialCrossSection"; } + static auto FIELD() { return "doubleDifferentialCrossSection"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("regions3d") | + std::optional{} + / --Child<>("XYs3d") | + std::optional{} + / --Child<>("CoulombPlusNuclearElastic") | + std::optional{} + / --Child<>("reference") | + std::optional{} + / --Child<>("coherentPhotonScattering") | + std::optional{} + / --Child<>("incoherentPhotonScattering") | + std::optional{} + / --Child<>("thermalNeutronScatteringLaw_coherentElastic") | + std::optional{} + / --Child<>("thermalNeutronScatteringLaw_incoherentElastic") | + std::optional{} + / --Child<>("thermalNeutronScatteringLaw_incoherentInelastic") + ; + } + +public: + using Component::construct; + + // children + Field> regions3d{this}; + Field> XYs3d{this}; + Field> CoulombPlusNuclearElastic{this}; + Field> reference{this}; + Field> coherentPhotonScattering{this}; + Field> incoherentPhotonScattering{this}; + Field> thermalNeutronScatteringLaw_coherentElastic{this}; + Field> thermalNeutronScatteringLaw_incoherentElastic{this}; + Field> thermalNeutronScatteringLaw_incoherentInelastic{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->regions3d, \ + this->XYs3d, \ + this->CoulombPlusNuclearElastic, \ + this->reference, \ + this->coherentPhotonScattering, \ + this->incoherentPhotonScattering, \ + this->thermalNeutronScatteringLaw_coherentElastic, \ + this->thermalNeutronScatteringLaw_incoherentElastic, \ + this->thermalNeutronScatteringLaw_incoherentInelastic) + + // default, and from fields + explicit DoubleDifferentialCrossSection( + const wrapper> ®ions3d = {}, + const wrapper> &XYs3d = {}, + const wrapper> &CoulombPlusNuclearElastic = {}, + const wrapper> &reference = {}, + const wrapper> &coherentPhotonScattering = {}, + const wrapper> &incoherentPhotonScattering = {}, + const wrapper> &thermalNeutronScatteringLaw_coherentElastic = {}, + const wrapper> &thermalNeutronScatteringLaw_incoherentElastic = {}, + const wrapper> &thermalNeutronScatteringLaw_incoherentInelastic = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + regions3d(this,regions3d), + XYs3d(this,XYs3d), + CoulombPlusNuclearElastic(this,CoulombPlusNuclearElastic), + reference(this,reference), + coherentPhotonScattering(this,coherentPhotonScattering), + incoherentPhotonScattering(this,incoherentPhotonScattering), + thermalNeutronScatteringLaw_coherentElastic(this,thermalNeutronScatteringLaw_coherentElastic), + thermalNeutronScatteringLaw_incoherentElastic(this,thermalNeutronScatteringLaw_incoherentElastic), + thermalNeutronScatteringLaw_incoherentInelastic(this,thermalNeutronScatteringLaw_incoherentInelastic) + { + Component::finish(); + } + + // from node + explicit DoubleDifferentialCrossSection(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DoubleDifferentialCrossSection(const DoubleDifferentialCrossSection &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DoubleDifferentialCrossSection(DoubleDifferentialCrossSection &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DoubleDifferentialCrossSection &operator=(const DoubleDifferentialCrossSection &) = default; + DoubleDifferentialCrossSection &operator=(DoubleDifferentialCrossSection &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/DoubleDifferentialCrossSection/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DoubleDifferentialCrossSection + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular.hpp new file mode 100644 index 000000000..219562830 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular.hpp @@ -0,0 +1,121 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ENERGYANGULAR +#define TRY_V2_0_TRANSPORT_ENERGYANGULAR + +#include "try/v2.0/unknownNamespace/XYs3d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class EnergyAngular +// ----------------------------------------------------------------------------- + +class EnergyAngular : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "EnergyAngular"; } + static auto FIELD() { return "energyAngular"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + unknownNamespace::XYs3d{} + / --Child<>("XYs3d") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field productFrame{this}; + + // children + Field XYs3d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->XYs3d) + + // default, and from fields + explicit EnergyAngular( + const wrapper> &label = {}, + const wrapper &productFrame = {}, + const wrapper &XYs3d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + XYs3d(this,XYs3d) + { + Component::finish(); + } + + // from node + explicit EnergyAngular(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + EnergyAngular(const EnergyAngular &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + EnergyAngular(EnergyAngular &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EnergyAngular &operator=(const EnergyAngular &) = default; + EnergyAngular &operator=(EnergyAngular &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/EnergyAngular/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EnergyAngular + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp new file mode 100644 index 000000000..dcc4ce5cf --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp @@ -0,0 +1,176 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED +#define TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/transport/GeneralEvaporation.hpp" +#include "try/v2.0/transport/DiscreteGamma.hpp" +#include "try/v2.0/transport/PrimaryGamma.hpp" +#include "try/v2.0/transport/NBodyPhaseSpace.hpp" +#include "try/v2.0/transport/Evaporation.hpp" +#include "try/v2.0/transport/WeightedFunctionals.hpp" +#include "try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "try/v2.0/fissionTransport/Watt.hpp" +#include "try/v2.0/fissionTransport/MadlandNix.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Energy_uncorrelated +// ----------------------------------------------------------------------------- + +class Energy_uncorrelated : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Energy_uncorrelated"; } + static auto FIELD() { return "energy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs2d") | + std::optional{} + / --Child<>("regions2d") | + std::optional{} + / --Child<>("generalEvaporation") | + std::optional{} + / --Child<>("discreteGamma") | + std::optional{} + / --Child<>("primaryGamma") | + std::optional{} + / --Child<>("NBodyPhaseSpace") | + std::optional{} + / --Child<>("evaporation") | + std::optional{} + / --Child<>("weightedFunctionals") | + std::optional{} + / --Child<>("simpleMaxwellianFission") | + std::optional{} + / --Child<>("Watt") | + std::optional{} + / --Child<>("MadlandNix") + ; + } + +public: + using Component::construct; + + // children + Field> XYs2d{this}; + Field> regions2d{this}; + Field> generalEvaporation{this}; + Field> discreteGamma{this}; + Field> primaryGamma{this}; + Field> NBodyPhaseSpace{this}; + Field> evaporation{this}; + Field> weightedFunctionals{this}; + Field> simpleMaxwellianFission{this}; + Field> Watt{this}; + Field> MadlandNix{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs2d, \ + this->regions2d, \ + this->generalEvaporation, \ + this->discreteGamma, \ + this->primaryGamma, \ + this->NBodyPhaseSpace, \ + this->evaporation, \ + this->weightedFunctionals, \ + this->simpleMaxwellianFission, \ + this->Watt, \ + this->MadlandNix) + + // default, and from fields + explicit Energy_uncorrelated( + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {}, + const wrapper> &generalEvaporation = {}, + const wrapper> &discreteGamma = {}, + const wrapper> &primaryGamma = {}, + const wrapper> &NBodyPhaseSpace = {}, + const wrapper> &evaporation = {}, + const wrapper> &weightedFunctionals = {}, + const wrapper> &simpleMaxwellianFission = {}, + const wrapper> &Watt = {}, + const wrapper> &MadlandNix = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs2d(this,XYs2d), + regions2d(this,regions2d), + generalEvaporation(this,generalEvaporation), + discreteGamma(this,discreteGamma), + primaryGamma(this,primaryGamma), + NBodyPhaseSpace(this,NBodyPhaseSpace), + evaporation(this,evaporation), + weightedFunctionals(this,weightedFunctionals), + simpleMaxwellianFission(this,simpleMaxwellianFission), + Watt(this,Watt), + MadlandNix(this,MadlandNix) + { + Component::finish(); + } + + // from node + explicit Energy_uncorrelated(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Energy_uncorrelated(const Energy_uncorrelated &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Energy_uncorrelated(Energy_uncorrelated &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Energy_uncorrelated &operator=(const Energy_uncorrelated &) = default; + Energy_uncorrelated &operator=(Energy_uncorrelated &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Energy_uncorrelated/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Energy_uncorrelated + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation.hpp new file mode 100644 index 000000000..577515b21 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_EVAPORATION +#define TRY_V2_0_TRANSPORT_EVAPORATION + +#include "try/v2.0/transport/U.hpp" +#include "try/v2.0/transport/Theta.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Evaporation +// ----------------------------------------------------------------------------- + +class Evaporation : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Evaporation"; } + static auto FIELD() { return "evaporation"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("U") | + std::optional{} + / --Child<>("theta") + ; + } + +public: + using Component::construct; + + // children + Field> U{this}; + Field> theta{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->U, \ + this->theta) + + // default, and from fields + explicit Evaporation( + const wrapper> &U = {}, + const wrapper> &theta = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + U(this,U), + theta(this,theta) + { + Component::finish(); + } + + // from node + explicit Evaporation(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Evaporation(const Evaporation &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Evaporation(Evaporation &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Evaporation &operator=(const Evaporation &) = default; + Evaporation &operator=(Evaporation &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Evaporation/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Evaporation + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp new file mode 100644 index 000000000..7e290533d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_F +#define TRY_V2_0_TRANSPORT_F + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class F +// ----------------------------------------------------------------------------- + +class F : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs2d, + unknownNamespace::Regions2d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "F"; } + static auto FIELD() { return "f"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("XYs2d") || Child<>("regions2d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _XYs2dregions2d{this}; + FieldPart XYs2d{_XYs2dregions2d}; + FieldPart regions2d{_XYs2dregions2d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs2dregions2d) + + // default, and from fields + explicit F( + const wrapper<_t> &_XYs2dregions2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs2dregions2d(this,_XYs2dregions2d) + { + Component::finish(); + } + + // from node + explicit F(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + F(const F &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + F(F &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + F &operator=(const F &) = default; + F &operator=(F &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/F/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class F + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/F/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/F/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/F/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp new file mode 100644 index 000000000..a14550200 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_FASTREGION +#define TRY_V2_0_TRANSPORT_FASTREGION + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class FastRegion +// ----------------------------------------------------------------------------- + +class FastRegion : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Regions1d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "FastRegion"; } + static auto FIELD() { return "fastRegion"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("XYs1d") || Child<>("regions1d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _XYs1dregions1d{this}; + FieldPart XYs1d{_XYs1dregions1d}; + FieldPart regions1d{_XYs1dregions1d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs1dregions1d) + + // default, and from fields + explicit FastRegion( + const wrapper<_t> &_XYs1dregions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs1dregions1d(this,_XYs1dregions1d) + { + Component::finish(); + } + + // from node + explicit FastRegion(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + FastRegion(const FastRegion &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + FastRegion(FastRegion &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + FastRegion &operator=(const FastRegion &) = default; + FastRegion &operator=(FastRegion &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/FastRegion/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class FastRegion + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Forward.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Forward.hpp new file mode 100644 index 000000000..911659ef2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Forward.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_FORWARD +#define TRY_V2_0_TRANSPORT_FORWARD + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Forward +// ----------------------------------------------------------------------------- + +class Forward : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Forward"; } + static auto FIELD() { return "forward"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + Forward() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit Forward(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Forward(const Forward &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Forward(Forward &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Forward &operator=(const Forward &) = default; + Forward &operator=(Forward &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Forward/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Forward + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Forward/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Forward/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Forward/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp new file mode 100644 index 000000000..87de92f86 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_G +#define TRY_V2_0_TRANSPORT_G + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class G +// ----------------------------------------------------------------------------- + +class G : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "G"; } + static auto FIELD() { return "g"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit G( + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit G(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + G(const G &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + G(G &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + G &operator=(const G &) = default; + G &operator=(G &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/G/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class G + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/G/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/G/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/G/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation.hpp new file mode 100644 index 000000000..9a55bf83e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation.hpp @@ -0,0 +1,120 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_GENERALEVAPORATION +#define TRY_V2_0_TRANSPORT_GENERALEVAPORATION + +#include "try/v2.0/transport/U.hpp" +#include "try/v2.0/transport/G.hpp" +#include "try/v2.0/transport/Theta.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class GeneralEvaporation +// ----------------------------------------------------------------------------- + +class GeneralEvaporation : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "GeneralEvaporation"; } + static auto FIELD() { return "generalEvaporation"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("U") | + std::optional{} + / --Child<>("g") | + std::optional{} + / --Child<>("theta") + ; + } + +public: + using Component::construct; + + // children + Field> U{this}; + Field> g{this}; + Field> theta{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->U, \ + this->g, \ + this->theta) + + // default, and from fields + explicit GeneralEvaporation( + const wrapper> &U = {}, + const wrapper> &g = {}, + const wrapper> &theta = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + U(this,U), + g(this,g), + theta(this,theta) + { + Component::finish(); + } + + // from node + explicit GeneralEvaporation(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + GeneralEvaporation(const GeneralEvaporation &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + GeneralEvaporation(GeneralEvaporation &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + GeneralEvaporation &operator=(const GeneralEvaporation &) = default; + GeneralEvaporation &operator=(GeneralEvaporation &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/GeneralEvaporation/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class GeneralEvaporation + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton.hpp new file mode 100644 index 000000000..d6d2e0638 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_INCOHERENTPHOTON +#define TRY_V2_0_TRANSPORT_INCOHERENTPHOTON + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class IncoherentPhoton +// ----------------------------------------------------------------------------- + +class IncoherentPhoton : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "IncoherentPhoton"; } + static auto FIELD() { return "incoherentPhoton"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + IncoherentPhoton() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit IncoherentPhoton(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + IncoherentPhoton(const IncoherentPhoton &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + IncoherentPhoton(IncoherentPhoton &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + IncoherentPhoton &operator=(const IncoherentPhoton &) = default; + IncoherentPhoton &operator=(IncoherentPhoton &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/IncoherentPhoton/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class IncoherentPhoton + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions.hpp new file mode 100644 index 000000000..ecfd79b72 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_INCOMPLETEREACTIONS +#define TRY_V2_0_TRANSPORT_INCOMPLETEREACTIONS + +#include "try/v2.0/transport/Reaction.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class IncompleteReactions +// ----------------------------------------------------------------------------- + +class IncompleteReactions : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "IncompleteReactions"; } + static auto FIELD() { return "incompleteReactions"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("reaction") + ; + } + +public: + using Component::construct; + + // children + Field> reaction{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->reaction) + + // default, and from fields + explicit IncompleteReactions( + const wrapper> &reaction = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + reaction(this,reaction) + { + Component::finish(); + } + + // from node + explicit IncompleteReactions(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + IncompleteReactions(const IncompleteReactions &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + IncompleteReactions(IncompleteReactions &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + IncompleteReactions &operator=(const IncompleteReactions &) = default; + IncompleteReactions &operator=(IncompleteReactions &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/IncompleteReactions/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class IncompleteReactions + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d.hpp new file mode 100644 index 000000000..f12a06ddd --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ISOTROPIC2D +#define TRY_V2_0_TRANSPORT_ISOTROPIC2D + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Isotropic2d +// ----------------------------------------------------------------------------- + +class Isotropic2d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Isotropic2d"; } + static auto FIELD() { return "isotropic2d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + Isotropic2d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit Isotropic2d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Isotropic2d(const Isotropic2d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Isotropic2d(Isotropic2d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Isotropic2d &operator=(const Isotropic2d &) = default; + Isotropic2d &operator=(Isotropic2d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Isotropic2d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Isotropic2d + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann.hpp new file mode 100644 index 000000000..64f6352cb --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann.hpp @@ -0,0 +1,135 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_KALBACHMANN +#define TRY_V2_0_TRANSPORT_KALBACHMANN + +#include "try/v2.0/transport/F.hpp" +#include "try/v2.0/transport/R.hpp" +#include "try/v2.0/transport/A.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class KalbachMann +// ----------------------------------------------------------------------------- + +class KalbachMann : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "KalbachMann"; } + static auto FIELD() { return "KalbachMann"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + transport::F{} + / --Child<>("f") | + transport::R{} + / --Child<>("r") | + std::optional{} + / --Child<>("a") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field productFrame{this}; + + // children + Field f{this}; + Field r{this}; + Field> a{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->f, \ + this->r, \ + this->a) + + // default, and from fields + explicit KalbachMann( + const wrapper> &label = {}, + const wrapper &productFrame = {}, + const wrapper &f = {}, + const wrapper &r = {}, + const wrapper> &a = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + f(this,f), + r(this,r), + a(this,a) + { + Component::finish(); + } + + // from node + explicit KalbachMann(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + KalbachMann(const KalbachMann &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + KalbachMann(KalbachMann &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + KalbachMann &operator=(const KalbachMann &) = default; + KalbachMann &operator=(KalbachMann &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/KalbachMann/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class KalbachMann + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp new file mode 100644 index 000000000..626f5d24e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp @@ -0,0 +1,121 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_MULTIGROUP3D +#define TRY_V2_0_TRANSPORT_MULTIGROUP3D + +#include "try/v2.0/unknownNamespace/Gridded3d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class MultiGroup3d +// ----------------------------------------------------------------------------- + +class MultiGroup3d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "MultiGroup3d"; } + static auto FIELD() { return "scatteringMatrix"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + unknownNamespace::Gridded3d{} + / --Child<>("gridded3d") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field productFrame{this}; + + // children + Field gridded3d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->gridded3d) + + // default, and from fields + explicit MultiGroup3d( + const wrapper &label = {}, + const wrapper &productFrame = {}, + const wrapper &gridded3d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + gridded3d(this,gridded3d) + { + Component::finish(); + } + + // from node + explicit MultiGroup3d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MultiGroup3d(const MultiGroup3d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MultiGroup3d(MultiGroup3d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MultiGroup3d &operator=(const MultiGroup3d &) = default; + MultiGroup3d &operator=(MultiGroup3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/MultiGroup3d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MultiGroup3d + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp new file mode 100644 index 000000000..c1043cc32 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp @@ -0,0 +1,129 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_MULTIPLICITY +#define TRY_V2_0_TRANSPORT_MULTIPLICITY + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Constant1d.hpp" +#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/transport/Branching1d.hpp" +#include "try/v2.0/transport/Reference.hpp" +#include "try/v2.0/unknownNamespace/Gridded1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Multiplicity +// ----------------------------------------------------------------------------- + +class Multiplicity : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Constant1d, + unknownNamespace::Polynomial1d, + transport::Branching1d, + transport::Reference, + unknownNamespace::Gridded1d, + unknownNamespace::Regions1d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Multiplicity"; } + static auto FIELD() { return "multiplicity"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("XYs1d") || Child<>("constant1d") || Child<>("polynomial1d") || Child<>("branching1d") || Child<>("reference") || Child<>("gridded1d") || Child<>("regions1d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d{this}; + FieldPart XYs1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart constant1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart polynomial1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart branching1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart reference{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart gridded1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart regions1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d) + + // default, and from fields + explicit Multiplicity( + const wrapper<_t> &_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d(this,_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d) + { + Component::finish(); + } + + // from node + explicit Multiplicity(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Multiplicity(const Multiplicity &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Multiplicity(Multiplicity &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Multiplicity &operator=(const Multiplicity &) = default; + Multiplicity &operator=(Multiplicity &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Multiplicity/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Multiplicity + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum.hpp new file mode 100644 index 000000000..24ffd93e0 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_MULTIPLICITYSUM +#define TRY_V2_0_TRANSPORT_MULTIPLICITYSUM + +#include "try/v2.0/transport/Multiplicity.hpp" +#include "try/v2.0/transport/Summands.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class MultiplicitySum +// ----------------------------------------------------------------------------- + +class MultiplicitySum : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "MultiplicitySum"; } + static auto FIELD() { return "multiplicitySum"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("ENDF_MT") | + XMLName{} + / Meta<>("label") | + // children + transport::Multiplicity{} + / --Child<>("multiplicity") | + transport::Summands{} + / --Child<>("summands") + ; + } + +public: + using Component::construct; + + // metadata + Field> ENDF_MT{this}; + Field label{this}; + + // children + Field multiplicity{this}; + Field summands{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MT, \ + this->label, \ + this->multiplicity, \ + this->summands) + + // default, and from fields + explicit MultiplicitySum( + const wrapper> &ENDF_MT = {}, + const wrapper &label = {}, + const wrapper &multiplicity = {}, + const wrapper &summands = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MT(this,ENDF_MT), + label(this,label), + multiplicity(this,multiplicity), + summands(this,summands) + { + Component::finish(); + } + + // from node + explicit MultiplicitySum(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MultiplicitySum(const MultiplicitySum &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MultiplicitySum(MultiplicitySum &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MultiplicitySum &operator=(const MultiplicitySum &) = default; + MultiplicitySum &operator=(MultiplicitySum &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/MultiplicitySum/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MultiplicitySum + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums.hpp new file mode 100644 index 000000000..0302b5876 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_MULTIPLICITYSUMS +#define TRY_V2_0_TRANSPORT_MULTIPLICITYSUMS + +#include "try/v2.0/transport/MultiplicitySum.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class MultiplicitySums +// ----------------------------------------------------------------------------- + +class MultiplicitySums : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "MultiplicitySums"; } + static auto FIELD() { return "multiplicitySums"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("multiplicitySum") + ; + } + +public: + using Component::construct; + + // children + Field>> multiplicitySum{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->multiplicitySum) + + // default, and from fields + explicit MultiplicitySums( + const wrapper>> &multiplicitySum = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + multiplicitySum(this,multiplicitySum) + { + Component::finish(); + } + + // from node + explicit MultiplicitySums(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + MultiplicitySums(const MultiplicitySums &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + MultiplicitySums(MultiplicitySums &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + MultiplicitySums &operator=(const MultiplicitySums &) = default; + MultiplicitySums &operator=(MultiplicitySums &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/MultiplicitySums/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class MultiplicitySums + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp new file mode 100644 index 000000000..f1ec8e4d8 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp @@ -0,0 +1,115 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_NBODYPHASESPACE +#define TRY_V2_0_TRANSPORT_NBODYPHASESPACE + +#include "try/v2.0/ambiguousNamespace/Mass.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class NBodyPhaseSpace +// ----------------------------------------------------------------------------- + +class NBodyPhaseSpace : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "NBodyPhaseSpace"; } + static auto FIELD() { return "NBodyPhaseSpace"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("numberOfProducts") | + // children + std::optional{} + / --Child<>("mass") + ; + } + +public: + using Component::construct; + + // metadata + Field> numberOfProducts{this}; + + // children + Field> mass{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->numberOfProducts, \ + this->mass) + + // default, and from fields + explicit NBodyPhaseSpace( + const wrapper> &numberOfProducts = {}, + const wrapper> &mass = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + numberOfProducts(this,numberOfProducts), + mass(this,mass) + { + Component::finish(); + } + + // from node + explicit NBodyPhaseSpace(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + NBodyPhaseSpace(const NBodyPhaseSpace &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + NBodyPhaseSpace(NBodyPhaseSpace &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + NBodyPhaseSpace &operator=(const NBodyPhaseSpace &) = default; + NBodyPhaseSpace &operator=(NBodyPhaseSpace &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/NBodyPhaseSpace/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class NBodyPhaseSpace + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct.hpp new file mode 100644 index 000000000..4bf5fd9df --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ORPHANPRODUCT +#define TRY_V2_0_TRANSPORT_ORPHANPRODUCT + +#include "try/v2.0/transport/CrossSection.hpp" +#include "try/v2.0/transport/OutputChannel.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class OrphanProduct +// ----------------------------------------------------------------------------- + +class OrphanProduct : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "OrphanProduct"; } + static auto FIELD() { return "orphanProduct"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Integer32{} + / Meta<>("ENDF_MT") | + XMLName{} + / Meta<>("label") | + // children + transport::CrossSection{} + / --Child<>("crossSection") | + transport::OutputChannel{} + / --Child<>("outputChannel") + ; + } + +public: + using Component::construct; + + // metadata + Field ENDF_MT{this}; + Field label{this}; + + // children + Field crossSection{this}; + Field outputChannel{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MT, \ + this->label, \ + this->crossSection, \ + this->outputChannel) + + // default, and from fields + explicit OrphanProduct( + const wrapper &ENDF_MT = {}, + const wrapper &label = {}, + const wrapper &crossSection = {}, + const wrapper &outputChannel = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MT(this,ENDF_MT), + label(this,label), + crossSection(this,crossSection), + outputChannel(this,outputChannel) + { + Component::finish(); + } + + // from node + explicit OrphanProduct(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + OrphanProduct(const OrphanProduct &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + OrphanProduct(OrphanProduct &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + OrphanProduct &operator=(const OrphanProduct &) = default; + OrphanProduct &operator=(OrphanProduct &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/OrphanProduct/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class OrphanProduct + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts.hpp new file mode 100644 index 000000000..2c6142207 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_ORPHANPRODUCTS +#define TRY_V2_0_TRANSPORT_ORPHANPRODUCTS + +#include "try/v2.0/transport/OrphanProduct.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class OrphanProducts +// ----------------------------------------------------------------------------- + +class OrphanProducts : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "OrphanProducts"; } + static auto FIELD() { return "orphanProducts"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + transport::OrphanProduct{} + / ++Child<>("orphanProduct") + ; + } + +public: + using Component::construct; + + // children + Field> orphanProduct{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->orphanProduct) + + // default, and from fields + explicit OrphanProducts( + const wrapper> &orphanProduct = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + orphanProduct(this,orphanProduct) + { + Component::finish(); + } + + // from node + explicit OrphanProducts(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + OrphanProducts(const OrphanProducts &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + OrphanProducts(OrphanProducts &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + OrphanProducts &operator=(const OrphanProducts &) = default; + OrphanProducts &operator=(OrphanProducts &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/OrphanProducts/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class OrphanProducts + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp new file mode 100644 index 000000000..c7a7eceed --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp @@ -0,0 +1,135 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_OUTPUTCHANNEL +#define TRY_V2_0_TRANSPORT_OUTPUTCHANNEL + +#include "try/v2.0/ambiguousNamespace/Q.hpp" +#include "try/v2.0/ambiguousNamespace/Products.hpp" +#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class OutputChannel +// ----------------------------------------------------------------------------- + +class OutputChannel : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "OutputChannel"; } + static auto FIELD() { return "outputChannel"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("genre") | + std::optional{} + / Meta<>("process") | + // children + std::optional{} + / --Child<>("Q") | + std::optional{} + / --Child<>("products") | + std::optional{} + / --Child<>("fissionFragmentData") + ; + } + +public: + using Component::construct; + + // metadata + Field> genre{this}; + Field> process{this}; + + // children + Field> Q{this}; + Field> products{this}; + Field> fissionFragmentData{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->genre, \ + this->process, \ + this->Q, \ + this->products, \ + this->fissionFragmentData) + + // default, and from fields + explicit OutputChannel( + const wrapper> &genre = {}, + const wrapper> &process = {}, + const wrapper> &Q = {}, + const wrapper> &products = {}, + const wrapper> &fissionFragmentData = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + genre(this,genre), + process(this,process), + Q(this,Q), + products(this,products), + fissionFragmentData(this,fissionFragmentData) + { + Component::finish(); + } + + // from node + explicit OutputChannel(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + OutputChannel(const OutputChannel &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + OutputChannel(OutputChannel &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + OutputChannel &operator=(const OutputChannel &) = default; + OutputChannel &operator=(OutputChannel &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/OutputChannel/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class OutputChannel + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities.hpp new file mode 100644 index 000000000..6c17cf8f8 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES +#define TRY_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES + +#include "try/v2.0/pops/Shell.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class PhotonEmissionProbabilities +// ----------------------------------------------------------------------------- + +class PhotonEmissionProbabilities : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "PhotonEmissionProbabilities"; } + static auto FIELD() { return "photonEmissionProbabilities"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("shell") + ; + } + +public: + using Component::construct; + + // children + Field> shell{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->shell) + + // default, and from fields + explicit PhotonEmissionProbabilities( + const wrapper> &shell = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + shell(this,shell) + { + Component::finish(); + } + + // from node + explicit PhotonEmissionProbabilities(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PhotonEmissionProbabilities(const PhotonEmissionProbabilities &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PhotonEmissionProbabilities(PhotonEmissionProbabilities &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PhotonEmissionProbabilities &operator=(const PhotonEmissionProbabilities &) = default; + PhotonEmissionProbabilities &operator=(PhotonEmissionProbabilities &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/PhotonEmissionProbabilities/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PhotonEmissionProbabilities + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma.hpp new file mode 100644 index 000000000..427dbd758 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma.hpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_PRIMARYGAMMA +#define TRY_V2_0_TRANSPORT_PRIMARYGAMMA + +#include "try/v2.0/unknownNamespace/Axes.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class PrimaryGamma +// ----------------------------------------------------------------------------- + +class PrimaryGamma : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "PrimaryGamma"; } + static auto FIELD() { return "primaryGamma"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("domainMax") | + std::optional{} + / Meta<>("domainMin") | + std::optional{} + / Meta<>("value") | + std::optional{} + / Meta<>("finalState") | + // children + std::optional{} + / --Child<>("axes") + ; + } + +public: + using Component::construct; + + // metadata + Field> domainMax{this}; + Field> domainMin{this}; + Field> value{this}; + Field> finalState{this}; + + // children + Field> axes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->domainMax, \ + this->domainMin, \ + this->value, \ + this->finalState, \ + this->axes) + + // default, and from fields + explicit PrimaryGamma( + const wrapper> &domainMax = {}, + const wrapper> &domainMin = {}, + const wrapper> &value = {}, + const wrapper> &finalState = {}, + const wrapper> &axes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + domainMax(this,domainMax), + domainMin(this,domainMin), + value(this,value), + finalState(this,finalState), + axes(this,axes) + { + Component::finish(); + } + + // from node + explicit PrimaryGamma(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PrimaryGamma(const PrimaryGamma &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PrimaryGamma(PrimaryGamma &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PrimaryGamma &operator=(const PrimaryGamma &) = default; + PrimaryGamma &operator=(PrimaryGamma &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/PrimaryGamma/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PrimaryGamma + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Production.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Production.hpp new file mode 100644 index 000000000..2b5528e4e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Production.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_PRODUCTION +#define TRY_V2_0_TRANSPORT_PRODUCTION + +#include "try/v2.0/transport/CrossSection.hpp" +#include "try/v2.0/transport/OutputChannel.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Production +// ----------------------------------------------------------------------------- + +class Production : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Production"; } + static auto FIELD() { return "production"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("ENDF_MT") | + std::optional{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("crossSection") | + std::optional{} + / --Child<>("outputChannel") + ; + } + +public: + using Component::construct; + + // metadata + Field> ENDF_MT{this}; + Field> label{this}; + + // children + Field> crossSection{this}; + Field> outputChannel{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MT, \ + this->label, \ + this->crossSection, \ + this->outputChannel) + + // default, and from fields + explicit Production( + const wrapper> &ENDF_MT = {}, + const wrapper> &label = {}, + const wrapper> &crossSection = {}, + const wrapper> &outputChannel = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MT(this,ENDF_MT), + label(this,label), + crossSection(this,crossSection), + outputChannel(this,outputChannel) + { + Component::finish(); + } + + // from node + explicit Production(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Production(const Production &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Production(Production &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Production &operator=(const Production &) = default; + Production &operator=(Production &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Production/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Production + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Production/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Production/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Production/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Productions.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Productions.hpp new file mode 100644 index 000000000..cd942e9a4 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Productions.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_PRODUCTIONS +#define TRY_V2_0_TRANSPORT_PRODUCTIONS + +#include "try/v2.0/transport/Production.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Productions +// ----------------------------------------------------------------------------- + +class Productions : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Productions"; } + static auto FIELD() { return "productions"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("production") + ; + } + +public: + using Component::construct; + + // children + Field> production{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->production) + + // default, and from fields + explicit Productions( + const wrapper> &production = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + production(this,production) + { + Component::finish(); + } + + // from node + explicit Productions(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Productions(const Productions &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Productions(Productions &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Productions &operator=(const Productions &) = default; + Productions &operator=(Productions &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Productions/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Productions + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Productions/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Productions/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Productions/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp new file mode 100644 index 000000000..cd1a59bca --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_R +#define TRY_V2_0_TRANSPORT_R + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class R +// ----------------------------------------------------------------------------- + +class R : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs2d, + unknownNamespace::Regions2d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "R"; } + static auto FIELD() { return "r"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("XYs2d") || Child<>("regions2d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _XYs2dregions2d{this}; + FieldPart XYs2d{_XYs2dregions2d}; + FieldPart regions2d{_XYs2dregions2d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs2dregions2d) + + // default, and from fields + explicit R( + const wrapper<_t> &_XYs2dregions2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs2dregions2d(this,_XYs2dregions2d) + { + Component::finish(); + } + + // from node + explicit R(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + R(const R &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + R(R &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + R &operator=(const R &) = default; + R &operator=(R &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/R/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class R + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/R/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/R/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/R/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction.hpp new file mode 100644 index 000000000..e0588f61f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction.hpp @@ -0,0 +1,141 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_REACTION +#define TRY_V2_0_TRANSPORT_REACTION + +#include "try/v2.0/transport/DoubleDifferentialCrossSection.hpp" +#include "try/v2.0/transport/CrossSection.hpp" +#include "try/v2.0/transport/OutputChannel.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Reaction +// ----------------------------------------------------------------------------- + +class Reaction : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Reaction"; } + static auto FIELD() { return "reaction"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Integer32{} + / Meta<>("ENDF_MT") | + std::optional{} + / Meta<>("fissionGenre") | + XMLName{} + / Meta<>("label") | + // children + std::optional{} + / --Child<>("doubleDifferentialCrossSection") | + transport::CrossSection{} + / --Child<>("crossSection") | + transport::OutputChannel{} + / --Child<>("outputChannel") + ; + } + +public: + using Component::construct; + + // metadata + Field ENDF_MT{this}; + Field> fissionGenre{this}; + Field label{this}; + + // children + Field> doubleDifferentialCrossSection{this}; + Field crossSection{this}; + Field outputChannel{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->ENDF_MT, \ + this->fissionGenre, \ + this->label, \ + this->doubleDifferentialCrossSection, \ + this->crossSection, \ + this->outputChannel) + + // default, and from fields + explicit Reaction( + const wrapper &ENDF_MT = {}, + const wrapper> &fissionGenre = {}, + const wrapper &label = {}, + const wrapper> &doubleDifferentialCrossSection = {}, + const wrapper &crossSection = {}, + const wrapper &outputChannel = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + ENDF_MT(this,ENDF_MT), + fissionGenre(this,fissionGenre), + label(this,label), + doubleDifferentialCrossSection(this,doubleDifferentialCrossSection), + crossSection(this,crossSection), + outputChannel(this,outputChannel) + { + Component::finish(); + } + + // from node + explicit Reaction(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Reaction(const Reaction &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Reaction(Reaction &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Reaction &operator=(const Reaction &) = default; + Reaction &operator=(Reaction &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Reaction/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Reaction + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp new file mode 100644 index 000000000..7c6911b17 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp @@ -0,0 +1,215 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_REACTIONSUITE +#define TRY_V2_0_TRANSPORT_REACTIONSUITE + +#include "try/v2.0/common/ExternalFiles.hpp" +#include "try/v2.0/styles/Styles.hpp" +#include "try/v2.0/unknownNamespace/PoPs.hpp" +#include "try/v2.0/resonances/Resonances.hpp" +#include "try/v2.0/transport/Reactions.hpp" +#include "try/v2.0/transport/OrphanProducts.hpp" +#include "try/v2.0/transport/Sums.hpp" +#include "try/v2.0/fissionTransport/FissionComponents.hpp" +#include "try/v2.0/transport/Productions.hpp" +#include "try/v2.0/transport/IncompleteReactions.hpp" +#include "try/v2.0/appData/ApplicationData.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class ReactionSuite +// ----------------------------------------------------------------------------- + +class ReactionSuite : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "ReactionSuite"; } + static auto FIELD() { return "reactionSuite"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("evaluation") | + XMLName{} + / Meta<>("format") | + XMLName{} + / Meta<>("projectile") | + enums::Frame{} + / Meta<>("projectileFrame") | + XMLName{} + / Meta<>("target") | + enums::Interaction{} + / Meta<>("interaction") | + // children + std::optional{} + / --Child<>("externalFiles") | + styles::Styles{} + / --Child<>("styles") | + unknownNamespace::PoPs{} + / --Child<>("PoPs") | + std::optional{} + / --Child<>("resonances") | + std::optional{} + / --Child<>("reactions") | + std::optional{} + / --Child<>("orphanProducts") | + std::optional{} + / --Child<>("sums") | + std::optional{} + / --Child<>("fissionComponents") | + std::optional{} + / --Child<>("productions") | + std::optional{} + / --Child<>("incompleteReactions") | + std::optional{} + / --Child<>("applicationData") + ; + } + +public: + using Component::construct; + + // metadata + Field evaluation{this}; + Field format{this}; + Field projectile{this}; + Field projectileFrame{this}; + Field target{this}; + Field interaction{this}; + + // children + Field> externalFiles{this}; + Field styles{this}; + Field PoPs{this}; + Field> resonances{this}; + Field> reactions{this}; + Field> orphanProducts{this}; + Field> sums{this}; + Field> fissionComponents{this}; + Field> productions{this}; + Field> incompleteReactions{this}; + Field> applicationData{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->evaluation, \ + this->format, \ + this->projectile, \ + this->projectileFrame, \ + this->target, \ + this->interaction, \ + this->externalFiles, \ + this->styles, \ + this->PoPs, \ + this->resonances, \ + this->reactions, \ + this->orphanProducts, \ + this->sums, \ + this->fissionComponents, \ + this->productions, \ + this->incompleteReactions, \ + this->applicationData) + + // default, and from fields + explicit ReactionSuite( + const wrapper &evaluation = {}, + const wrapper &format = {}, + const wrapper &projectile = {}, + const wrapper &projectileFrame = {}, + const wrapper &target = {}, + const wrapper &interaction = {}, + const wrapper> &externalFiles = {}, + const wrapper &styles = {}, + const wrapper &PoPs = {}, + const wrapper> &resonances = {}, + const wrapper> &reactions = {}, + const wrapper> &orphanProducts = {}, + const wrapper> &sums = {}, + const wrapper> &fissionComponents = {}, + const wrapper> &productions = {}, + const wrapper> &incompleteReactions = {}, + const wrapper> &applicationData = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + evaluation(this,evaluation), + format(this,format), + projectile(this,projectile), + projectileFrame(this,projectileFrame), + target(this,target), + interaction(this,interaction), + externalFiles(this,externalFiles), + styles(this,styles), + PoPs(this,PoPs), + resonances(this,resonances), + reactions(this,reactions), + orphanProducts(this,orphanProducts), + sums(this,sums), + fissionComponents(this,fissionComponents), + productions(this,productions), + incompleteReactions(this,incompleteReactions), + applicationData(this,applicationData) + { + Component::finish(); + } + + // from node + explicit ReactionSuite(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ReactionSuite(const ReactionSuite &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ReactionSuite(ReactionSuite &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ReactionSuite &operator=(const ReactionSuite &) = default; + ReactionSuite &operator=(ReactionSuite &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/ReactionSuite/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ReactionSuite + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions.hpp new file mode 100644 index 000000000..6fa241327 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_REACTIONS +#define TRY_V2_0_TRANSPORT_REACTIONS + +#include "try/v2.0/transport/Reaction.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Reactions +// ----------------------------------------------------------------------------- + +class Reactions : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Reactions"; } + static auto FIELD() { return "reactions"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + transport::Reaction{} + / ++Child<>("reaction") + ; + } + +public: + using Component::construct; + + // children + Field> reaction{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->reaction) + + // default, and from fields + explicit Reactions( + const wrapper> &reaction = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + reaction(this,reaction) + { + Component::finish(); + } + + // from node + explicit Reactions(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Reactions(const Reactions &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Reactions(Reactions &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Reactions &operator=(const Reactions &) = default; + Reactions &operator=(Reactions &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Reactions/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Reactions + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil.hpp new file mode 100644 index 000000000..504f389e4 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_RECOIL +#define TRY_V2_0_TRANSPORT_RECOIL + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Recoil +// ----------------------------------------------------------------------------- + +class Recoil : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Recoil"; } + static auto FIELD() { return "recoil"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href) + + // default, and from fields + explicit Recoil( + const wrapper &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Recoil(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Recoil(const Recoil &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Recoil(Recoil &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Recoil &operator=(const Recoil &) = default; + Recoil &operator=(Recoil &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Recoil/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Recoil + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reference.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Reference.hpp new file mode 100644 index 000000000..7711c2761 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Reference.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_REFERENCE +#define TRY_V2_0_TRANSPORT_REFERENCE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Reference +// ----------------------------------------------------------------------------- + +class Reference : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Reference"; } + static auto FIELD() { return "reference"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("label") + ; + } + +public: + using Component::construct; + + // metadata + Field> href{this}; + Field> label{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href, \ + this->label) + + // default, and from fields + explicit Reference( + const wrapper> &href = {}, + const wrapper> &label = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href), + label(this,label) + { + Component::finish(); + } + + // from node + explicit Reference(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Reference(const Reference &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Reference(Reference &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Reference &operator=(const Reference &) = default; + Reference &operator=(Reference &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Reference/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Reference + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reference/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Reference/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Reference/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp new file mode 100644 index 000000000..eb4caaeb9 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_RESOLVEDREGION +#define TRY_V2_0_TRANSPORT_RESOLVEDREGION + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class ResolvedRegion +// ----------------------------------------------------------------------------- + +class ResolvedRegion : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Regions1d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "ResolvedRegion"; } + static auto FIELD() { return "resolvedRegion"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("XYs1d") || Child<>("regions1d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _XYs1dregions1d{this}; + FieldPart XYs1d{_XYs1dregions1d}; + FieldPart regions1d{_XYs1dregions1d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs1dregions1d) + + // default, and from fields + explicit ResolvedRegion( + const wrapper<_t> &_XYs1dregions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs1dregions1d(this,_XYs1dregions1d) + { + Component::finish(); + } + + // from node + explicit ResolvedRegion(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ResolvedRegion(const ResolvedRegion &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ResolvedRegion(ResolvedRegion &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ResolvedRegion &operator=(const ResolvedRegion &) = default; + ResolvedRegion &operator=(ResolvedRegion &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/ResolvedRegion/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ResolvedRegion + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink.hpp new file mode 100644 index 000000000..a4cfbcbfe --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_RESONANCESLINK +#define TRY_V2_0_TRANSPORT_RESONANCESLINK + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class ResonancesLink +// ----------------------------------------------------------------------------- + +class ResonancesLink : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "ResonancesLink"; } + static auto FIELD() { return "resonances"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::string{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->href) + + // default, and from fields + explicit ResonancesLink( + const wrapper> &label = {}, + const wrapper &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + href(this,href) + { + Component::finish(); + } + + // from node + explicit ResonancesLink(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ResonancesLink(const ResonancesLink &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ResonancesLink(ResonancesLink &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ResonancesLink &operator=(const ResonancesLink &) = default; + ResonancesLink &operator=(ResonancesLink &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/ResonancesLink/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ResonancesLink + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp new file mode 100644 index 000000000..2d9f072e6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp @@ -0,0 +1,129 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND +#define TRY_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND + +#include "try/v2.0/transport/ResonancesLink.hpp" +#include "try/v2.0/transport/Background.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class ResonancesWithBackground +// ----------------------------------------------------------------------------- + +class ResonancesWithBackground : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "ResonancesWithBackground"; } + static auto FIELD() { return "resonancesWithBackground"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + transport::ResonancesLink{} + / --Child<>("resonances") | + transport::Background{} + / --Child<>("background") | + std::optional{} + / --Child<>("uncertainty") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field resonances{this}; + Field background{this}; + Field> uncertainty{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->resonances, \ + this->background, \ + this->uncertainty) + + // default, and from fields + explicit ResonancesWithBackground( + const wrapper &label = {}, + const wrapper &resonances = {}, + const wrapper &background = {}, + const wrapper> &uncertainty = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + resonances(this,resonances), + background(this,background), + uncertainty(this,uncertainty) + { + Component::finish(); + } + + // from node + explicit ResonancesWithBackground(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ResonancesWithBackground(const ResonancesWithBackground &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ResonancesWithBackground(ResonancesWithBackground &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ResonancesWithBackground &operator=(const ResonancesWithBackground &) = default; + ResonancesWithBackground &operator=(ResonancesWithBackground &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/ResonancesWithBackground/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ResonancesWithBackground + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Summands.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Summands.hpp new file mode 100644 index 000000000..8330e415c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Summands.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_SUMMANDS +#define TRY_V2_0_TRANSPORT_SUMMANDS + +#include "try/v2.0/transport/Add.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Summands +// ----------------------------------------------------------------------------- + +class Summands : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Summands"; } + static auto FIELD() { return "summands"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / ++Child<>("add") + ; + } + +public: + using Component::construct; + + // children + Field>> add{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->add) + + // default, and from fields + explicit Summands( + const wrapper>> &add = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + add(this,add) + { + Component::finish(); + } + + // from node + explicit Summands(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Summands(const Summands &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Summands(Summands &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Summands &operator=(const Summands &) = default; + Summands &operator=(Summands &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Summands/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Summands + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Summands/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Summands/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Summands/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Sums.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Sums.hpp new file mode 100644 index 000000000..0e57d49e5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Sums.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_SUMS +#define TRY_V2_0_TRANSPORT_SUMS + +#include "try/v2.0/transport/CrossSectionSums.hpp" +#include "try/v2.0/transport/MultiplicitySums.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Sums +// ----------------------------------------------------------------------------- + +class Sums : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Sums"; } + static auto FIELD() { return "sums"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + transport::CrossSectionSums{} + / --Child<>("crossSectionSums") | + std::optional{} + / --Child<>("multiplicitySums") + ; + } + +public: + using Component::construct; + + // children + Field crossSectionSums{this}; + Field> multiplicitySums{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->crossSectionSums, \ + this->multiplicitySums) + + // default, and from fields + explicit Sums( + const wrapper &crossSectionSums = {}, + const wrapper> &multiplicitySums = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + crossSectionSums(this,crossSectionSums), + multiplicitySums(this,multiplicitySums) + { + Component::finish(); + } + + // from node + explicit Sums(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Sums(const Sums &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Sums(Sums &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Sums &operator=(const Sums &) = default; + Sums &operator=(Sums &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Sums/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Sums + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Sums/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Sums/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Sums/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp new file mode 100644 index 000000000..5fc525c96 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_THETA +#define TRY_V2_0_TRANSPORT_THETA + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Theta +// ----------------------------------------------------------------------------- + +class Theta : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Theta"; } + static auto FIELD() { return "theta"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit Theta( + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit Theta(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Theta(const Theta &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Theta(Theta &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Theta &operator=(const Theta &) = default; + Theta &operator=(Theta &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Theta/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Theta + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Theta/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Theta/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Theta/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/U.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/U.hpp new file mode 100644 index 000000000..ecde56afc --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/U.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_U +#define TRY_V2_0_TRANSPORT_U + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class U +// ----------------------------------------------------------------------------- + +class U : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "U"; } + static auto FIELD() { return "U"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("unit") | + std::optional{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field> unit{this}; + Field> value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unit, \ + this->value) + + // default, and from fields + explicit U( + const wrapper> &unit = {}, + const wrapper> &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit U(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + U(const U &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + U(U &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + U &operator=(const U &) = default; + U &operator=(U &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/U/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class U + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/U/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/U/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/U/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp new file mode 100644 index 000000000..1280d7dd1 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp @@ -0,0 +1,123 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D +#define TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D + +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/unknownNamespace/Regions2d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class URR_probabilityTables1d +// ----------------------------------------------------------------------------- + +class URR_probabilityTables1d : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs2d, + unknownNamespace::Regions2d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "URR_probabilityTables1d"; } + static auto FIELD() { return "URR_probabilityTables1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + _t{} + / --(Child<>("XYs2d") || Child<>("regions2d")) + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children - variant + Field<_t> _XYs2dregions2d{this}; + FieldPart XYs2d{_XYs2dregions2d}; + FieldPart regions2d{_XYs2dregions2d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->_XYs2dregions2d) + + // default, and from fields + explicit URR_probabilityTables1d( + const wrapper &label = {}, + const wrapper<_t> &_XYs2dregions2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + _XYs2dregions2d(this,_XYs2dregions2d) + { + Component::finish(); + } + + // from node + explicit URR_probabilityTables1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + URR_probabilityTables1d(const URR_probabilityTables1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + URR_probabilityTables1d(URR_probabilityTables1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + URR_probabilityTables1d &operator=(const URR_probabilityTables1d &) = default; + URR_probabilityTables1d &operator=(URR_probabilityTables1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/URR_probabilityTables1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class URR_probabilityTables1d + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated.hpp new file mode 100644 index 000000000..5da4f9e78 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_UNCORRELATED +#define TRY_V2_0_TRANSPORT_UNCORRELATED + +#include "try/v2.0/transport/Angular_uncorrelated.hpp" +#include "try/v2.0/transport/Energy_uncorrelated.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Uncorrelated +// ----------------------------------------------------------------------------- + +class Uncorrelated : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Uncorrelated"; } + static auto FIELD() { return "uncorrelated"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") | + // children + transport::Angular_uncorrelated{} + / --Child<>("angular") | + transport::Energy_uncorrelated{} + / --Child<>("energy") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field productFrame{this}; + + // children + Field angular{this}; + Field energy{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame, \ + this->angular, \ + this->energy) + + // default, and from fields + explicit Uncorrelated( + const wrapper> &label = {}, + const wrapper &productFrame = {}, + const wrapper &angular = {}, + const wrapper &energy = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame), + angular(this,angular), + energy(this,energy) + { + Component::finish(); + } + + // from node + explicit Uncorrelated(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Uncorrelated(const Uncorrelated &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Uncorrelated(Uncorrelated &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Uncorrelated &operator=(const Uncorrelated &) = default; + Uncorrelated &operator=(Uncorrelated &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Uncorrelated/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Uncorrelated + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp new file mode 100644 index 000000000..03757d5a2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_UNRESOLVEDREGION +#define TRY_V2_0_TRANSPORT_UNRESOLVEDREGION + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class UnresolvedRegion +// ----------------------------------------------------------------------------- + +class UnresolvedRegion : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::XYs1d, + unknownNamespace::Regions1d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "UnresolvedRegion"; } + static auto FIELD() { return "unresolvedRegion"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / --(Child<>("XYs1d") || Child<>("regions1d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field<_t> _XYs1dregions1d{this}; + FieldPart XYs1d{_XYs1dregions1d}; + FieldPart regions1d{_XYs1dregions1d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs1dregions1d) + + // default, and from fields + explicit UnresolvedRegion( + const wrapper<_t> &_XYs1dregions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs1dregions1d(this,_XYs1dregions1d) + { + Component::finish(); + } + + // from node + explicit UnresolvedRegion(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + UnresolvedRegion(const UnresolvedRegion &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + UnresolvedRegion(UnresolvedRegion &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + UnresolvedRegion &operator=(const UnresolvedRegion &) = default; + UnresolvedRegion &operator=(UnresolvedRegion &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/UnresolvedRegion/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class UnresolvedRegion + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified.hpp new file mode 100644 index 000000000..1189574b1 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_UNSPECIFIED +#define TRY_V2_0_TRANSPORT_UNSPECIFIED + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Unspecified +// ----------------------------------------------------------------------------- + +class Unspecified : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Unspecified"; } + static auto FIELD() { return "unspecified"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + XMLName{} + / Meta<>("productFrame") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field productFrame{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->productFrame) + + // default, and from fields + explicit Unspecified( + const wrapper> &label = {}, + const wrapper &productFrame = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + productFrame(this,productFrame) + { + Component::finish(); + } + + // from node + explicit Unspecified(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Unspecified(const Unspecified &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Unspecified(Unspecified &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Unspecified &operator=(const Unspecified &) = default; + Unspecified &operator=(Unspecified &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Unspecified/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Unspecified + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp new file mode 100644 index 000000000..618bfd733 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp @@ -0,0 +1,148 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_WEIGHTED +#define TRY_V2_0_TRANSPORT_WEIGHTED + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/transport/Evaporation.hpp" +#include "try/v2.0/transport/GeneralEvaporation.hpp" +#include "try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "try/v2.0/fissionTransport/Watt.hpp" +#include "try/v2.0/fissionTransport/MadlandNix.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class Weighted +// ----------------------------------------------------------------------------- + +class Weighted : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "Weighted"; } + static auto FIELD() { return "weighted"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::XYs1d{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("XYs2d") | + std::optional{} + / --Child<>("evaporation") | + std::optional{} + / --Child<>("generalEvaporation") | + std::optional{} + / --Child<>("simpleMaxwellianFission") | + std::optional{} + / --Child<>("Watt") | + std::optional{} + / --Child<>("MadlandNix") + ; + } + +public: + using Component::construct; + + // children + Field XYs1d{this}; + Field> XYs2d{this}; + Field> evaporation{this}; + Field> generalEvaporation{this}; + Field> simpleMaxwellianFission{this}; + Field> Watt{this}; + Field> MadlandNix{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->XYs2d, \ + this->evaporation, \ + this->generalEvaporation, \ + this->simpleMaxwellianFission, \ + this->Watt, \ + this->MadlandNix) + + // default, and from fields + explicit Weighted( + const wrapper &XYs1d = {}, + const wrapper> &XYs2d = {}, + const wrapper> &evaporation = {}, + const wrapper> &generalEvaporation = {}, + const wrapper> &simpleMaxwellianFission = {}, + const wrapper> &Watt = {}, + const wrapper> &MadlandNix = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + XYs2d(this,XYs2d), + evaporation(this,evaporation), + generalEvaporation(this,generalEvaporation), + simpleMaxwellianFission(this,simpleMaxwellianFission), + Watt(this,Watt), + MadlandNix(this,MadlandNix) + { + Component::finish(); + } + + // from node + explicit Weighted(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Weighted(const Weighted &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Weighted(Weighted &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Weighted &operator=(const Weighted &) = default; + Weighted &operator=(Weighted &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/Weighted/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Weighted + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals.hpp new file mode 100644 index 000000000..e0a32f23d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS +#define TRY_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS + +#include "try/v2.0/transport/Weighted.hpp" + +namespace try { +namespace v2_0 { +namespace transport { + +// ----------------------------------------------------------------------------- +// transport:: +// class WeightedFunctionals +// ----------------------------------------------------------------------------- + +class WeightedFunctionals : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "transport"; } + static auto CLASS() { return "WeightedFunctionals"; } + static auto FIELD() { return "weightedFunctionals"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + transport::Weighted{} + / --Child<>("weighted") + ; + } + +public: + using Component::construct; + + // children + Field weighted{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->weighted) + + // default, and from fields + explicit WeightedFunctionals( + const wrapper &weighted = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + weighted(this,weighted) + { + Component::finish(); + } + + // from node + explicit WeightedFunctionals(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + WeightedFunctionals(const WeightedFunctionals &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + WeightedFunctionals(WeightedFunctionals &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + WeightedFunctionals &operator=(const WeightedFunctionals &) = default; + WeightedFunctionals &operator=(WeightedFunctionals &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/transport/WeightedFunctionals/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class WeightedFunctionals + +} // namespace transport +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection.hpp new file mode 100644 index 000000000..e278a373f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_BOUNDATOMCROSSSECTION +#define TRY_V2_0_TSL_BOUNDATOMCROSSSECTION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class BoundAtomCrossSection +// ----------------------------------------------------------------------------- + +class BoundAtomCrossSection : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "BoundAtomCrossSection"; } + static auto FIELD() { return "boundAtomCrossSection"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("unit") | + Float64{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unit, \ + this->value) + + // default, and from fields + explicit BoundAtomCrossSection( + const wrapper &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit BoundAtomCrossSection(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + BoundAtomCrossSection(const BoundAtomCrossSection &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + BoundAtomCrossSection(BoundAtomCrossSection &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + BoundAtomCrossSection &operator=(const BoundAtomCrossSection &) = default; + BoundAtomCrossSection &operator=(BoundAtomCrossSection &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class BoundAtomCrossSection + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge.hpp new file mode 100644 index 000000000..5069d047b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_BRAGGEDGE +#define TRY_V2_0_TSL_BRAGGEDGE + +#include "try/v2.0/tsl/BraggEnergy.hpp" +#include "try/v2.0/tsl/StructureFactor.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class BraggEdge +// ----------------------------------------------------------------------------- + +class BraggEdge : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "BraggEdge"; } + static auto FIELD() { return "BraggEdge"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + // children + tsl::BraggEnergy{} + / --Child<>("BraggEnergy") | + tsl::StructureFactor{} + / --Child<>("structureFactor") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + + // children + Field BraggEnergy{this}; + Field structureFactor{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->BraggEnergy, \ + this->structureFactor) + + // default, and from fields + explicit BraggEdge( + const wrapper &label = {}, + const wrapper &BraggEnergy = {}, + const wrapper &structureFactor = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + BraggEnergy(this,BraggEnergy), + structureFactor(this,structureFactor) + { + Component::finish(); + } + + // from node + explicit BraggEdge(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + BraggEdge(const BraggEdge &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + BraggEdge(BraggEdge &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + BraggEdge &operator=(const BraggEdge &) = default; + BraggEdge &operator=(BraggEdge &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/BraggEdge/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class BraggEdge + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges.hpp new file mode 100644 index 000000000..500e1df4d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_BRAGGEDGES +#define TRY_V2_0_TSL_BRAGGEDGES + +#include "try/v2.0/tsl/BraggEdge.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class BraggEdges +// ----------------------------------------------------------------------------- + +class BraggEdges : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "BraggEdges"; } + static auto FIELD() { return "BraggEdges"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + tsl::BraggEdge{} + / ++Child<>("BraggEdge") + ; + } + +public: + using Component::construct; + + // children + Field> BraggEdge{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->BraggEdge) + + // default, and from fields + explicit BraggEdges( + const wrapper> &BraggEdge = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + BraggEdge(this,BraggEdge) + { + Component::finish(); + } + + // from node + explicit BraggEdges(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + BraggEdges(const BraggEdges &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + BraggEdges(BraggEdges &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + BraggEdges &operator=(const BraggEdges &) = default; + BraggEdges &operator=(BraggEdges &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/BraggEdges/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class BraggEdges + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp new file mode 100644 index 000000000..8bfc937b7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_BRAGGENERGY +#define TRY_V2_0_TSL_BRAGGENERGY + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class BraggEnergy +// ----------------------------------------------------------------------------- + +class BraggEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "BraggEnergy"; } + static auto FIELD() { return "BraggEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::XYs1d{} + / --Child<>("XYs1d") + ; + } + +public: + using Component::construct; + + // children + Field XYs1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d) + + // default, and from fields + explicit BraggEnergy( + const wrapper &XYs1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d) + { + Component::finish(); + } + + // from node + explicit BraggEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + BraggEnergy(const BraggEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + BraggEnergy(BraggEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + BraggEnergy &operator=(const BraggEnergy &) = default; + BraggEnergy &operator=(BraggEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/BraggEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class BraggEnergy + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection.hpp new file mode 100644 index 000000000..54b713408 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_COHERENTATOMCROSSSECTION +#define TRY_V2_0_TSL_COHERENTATOMCROSSSECTION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class CoherentAtomCrossSection +// ----------------------------------------------------------------------------- + +class CoherentAtomCrossSection : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "CoherentAtomCrossSection"; } + static auto FIELD() { return "coherentAtomCrossSection"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("unit") | + Float64{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unit, \ + this->value) + + // default, and from fields + explicit CoherentAtomCrossSection( + const wrapper &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit CoherentAtomCrossSection(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + CoherentAtomCrossSection(const CoherentAtomCrossSection &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + CoherentAtomCrossSection(CoherentAtomCrossSection &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + CoherentAtomCrossSection &operator=(const CoherentAtomCrossSection &) = default; + CoherentAtomCrossSection &operator=(CoherentAtomCrossSection &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class CoherentAtomCrossSection + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp new file mode 100644 index 000000000..102647843 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_DEBYEWALLERINTEGRAL +#define TRY_V2_0_TSL_DEBYEWALLERINTEGRAL + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class DebyeWallerIntegral +// ----------------------------------------------------------------------------- + +class DebyeWallerIntegral : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "DebyeWallerIntegral"; } + static auto FIELD() { return "DebyeWallerIntegral"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::XYs1d{} + / --Child<>("XYs1d") + ; + } + +public: + using Component::construct; + + // children + Field XYs1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d) + + // default, and from fields + explicit DebyeWallerIntegral( + const wrapper &XYs1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d) + { + Component::finish(); + } + + // from node + explicit DebyeWallerIntegral(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DebyeWallerIntegral(const DebyeWallerIntegral &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DebyeWallerIntegral(DebyeWallerIntegral &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DebyeWallerIntegral &operator=(const DebyeWallerIntegral &) = default; + DebyeWallerIntegral &operator=(DebyeWallerIntegral &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DebyeWallerIntegral + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp new file mode 100644 index 000000000..a8d86cfd2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL +#define TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL + +#include "try/v2.0/unknownNamespace/Gridded3d.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class DistinctScatteringKernel +// ----------------------------------------------------------------------------- + +class DistinctScatteringKernel : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "DistinctScatteringKernel"; } + static auto FIELD() { return "distinctScatteringKernel"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("gridded3d") + ; + } + +public: + using Component::construct; + + // children + Field> gridded3d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->gridded3d) + + // default, and from fields + explicit DistinctScatteringKernel( + const wrapper> &gridded3d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + gridded3d(this,gridded3d) + { + Component::finish(); + } + + // from node + explicit DistinctScatteringKernel(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + DistinctScatteringKernel(const DistinctScatteringKernel &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + DistinctScatteringKernel(DistinctScatteringKernel &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + DistinctScatteringKernel &operator=(const DistinctScatteringKernel &) = default; + DistinctScatteringKernel &operator=(DistinctScatteringKernel &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class DistinctScatteringKernel + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical.hpp new file mode 100644 index 000000000..8be03c958 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_E_CRITICAL +#define TRY_V2_0_TSL_E_CRITICAL + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class E_critical +// ----------------------------------------------------------------------------- + +class E_critical : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "E_critical"; } + static auto FIELD() { return "e_critical"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("unit") | + std::optional{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field> unit{this}; + Field> value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unit, \ + this->value) + + // default, and from fields + explicit E_critical( + const wrapper> &unit = {}, + const wrapper> &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit E_critical(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + E_critical(const E_critical &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + E_critical(E_critical &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + E_critical &operator=(const E_critical &) = default; + E_critical &operator=(E_critical &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/E_critical/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class E_critical + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max.hpp new file mode 100644 index 000000000..c07c40e35 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_E_MAX +#define TRY_V2_0_TSL_E_MAX + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class E_max +// ----------------------------------------------------------------------------- + +class E_max : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "E_max"; } + static auto FIELD() { return "e_max"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("unit") | + std::optional{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field> unit{this}; + Field> value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unit, \ + this->value) + + // default, and from fields + explicit E_max( + const wrapper> &unit = {}, + const wrapper> &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit E_max(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + E_max(const E_max &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + E_max(E_max &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + E_max &operator=(const E_max &) = default; + E_max &operator=(E_max &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/E_max/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class E_max + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation.hpp new file mode 100644 index 000000000..7d421bc9b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_FREEGASAPPROXIMATION +#define TRY_V2_0_TSL_FREEGASAPPROXIMATION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class FreeGasApproximation +// ----------------------------------------------------------------------------- + +class FreeGasApproximation : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "FreeGasApproximation"; } + static auto FIELD() { return "freeGasApproximation"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + FreeGasApproximation() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit FreeGasApproximation(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + FreeGasApproximation(const FreeGasApproximation &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + FreeGasApproximation(FreeGasApproximation &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + FreeGasApproximation &operator=(const FreeGasApproximation &) = default; + FreeGasApproximation &operator=(FreeGasApproximation &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/FreeGasApproximation/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class FreeGasApproximation + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation.hpp new file mode 100644 index 000000000..8cbd5afd6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_GAUSSIANAPPROXIMATION +#define TRY_V2_0_TSL_GAUSSIANAPPROXIMATION + +#include "try/v2.0/tsl/PhononSpectrum.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class GaussianApproximation +// ----------------------------------------------------------------------------- + +class GaussianApproximation : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "GaussianApproximation"; } + static auto FIELD() { return "GaussianApproximation"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("phononSpectrum") + ; + } + +public: + using Component::construct; + + // children + Field> phononSpectrum{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->phononSpectrum) + + // default, and from fields + explicit GaussianApproximation( + const wrapper> &phononSpectrum = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + phononSpectrum(this,phononSpectrum) + { + Component::finish(); + } + + // from node + explicit GaussianApproximation(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + GaussianApproximation(const GaussianApproximation &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + GaussianApproximation(GaussianApproximation &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + GaussianApproximation &operator=(const GaussianApproximation &) = default; + GaussianApproximation &operator=(GaussianApproximation &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/GaussianApproximation/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class GaussianApproximation + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp new file mode 100644 index 000000000..a3cf238a7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_PHONONSPECTRUM +#define TRY_V2_0_TSL_PHONONSPECTRUM + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class PhononSpectrum +// ----------------------------------------------------------------------------- + +class PhononSpectrum : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "PhononSpectrum"; } + static auto FIELD() { return "phononSpectrum"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::XYs1d{} + / --Child<>("XYs1d") + ; + } + +public: + using Component::construct; + + // children + Field XYs1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d) + + // default, and from fields + explicit PhononSpectrum( + const wrapper &XYs1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d) + { + Component::finish(); + } + + // from node + explicit PhononSpectrum(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + PhononSpectrum(const PhononSpectrum &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + PhononSpectrum(PhononSpectrum &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PhononSpectrum &operator=(const PhononSpectrum &) = default; + PhononSpectrum &operator=(PhononSpectrum &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/PhononSpectrum/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PhononSpectrum + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation.hpp new file mode 100644 index 000000000..62a13c309 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation.hpp @@ -0,0 +1,95 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_SCTAPPROXIMATION +#define TRY_V2_0_TSL_SCTAPPROXIMATION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class SCTApproximation +// ----------------------------------------------------------------------------- + +class SCTApproximation : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "SCTApproximation"; } + static auto FIELD() { return "SCTApproximation"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + SCTApproximation() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from node + explicit SCTApproximation(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + SCTApproximation(const SCTApproximation &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + SCTApproximation(SCTApproximation &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + SCTApproximation &operator=(const SCTApproximation &) = default; + SCTApproximation &operator=(SCTApproximation &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/SCTApproximation/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class SCTApproximation + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp new file mode 100644 index 000000000..651d418c9 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_S_TABLE +#define TRY_V2_0_TSL_S_TABLE + +#include "try/v2.0/unknownNamespace/Gridded2d.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class S_table +// ----------------------------------------------------------------------------- + +class S_table : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "S_table"; } + static auto FIELD() { return "S_table"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::Gridded2d{} + / --Child<>("gridded2d") + ; + } + +public: + using Component::construct; + + // children + Field gridded2d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->gridded2d) + + // default, and from fields + explicit S_table( + const wrapper &gridded2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + gridded2d(this,gridded2d) + { + Component::finish(); + } + + // from node + explicit S_table(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + S_table(const S_table &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + S_table(S_table &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + S_table &operator=(const S_table &) = default; + S_table &operator=(S_table &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/S_table/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class S_table + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp new file mode 100644 index 000000000..0fefb6c37 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp @@ -0,0 +1,176 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_SCATTERINGATOM +#define TRY_V2_0_TSL_SCATTERINGATOM + +#include "try/v2.0/ambiguousNamespace/Mass.hpp" +#include "try/v2.0/tsl/E_critical.hpp" +#include "try/v2.0/tsl/E_max.hpp" +#include "try/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "try/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "try/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "try/v2.0/tsl/SelfScatteringKernel.hpp" +#include "try/v2.0/tsl/T_effective.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class ScatteringAtom +// ----------------------------------------------------------------------------- + +class ScatteringAtom : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "ScatteringAtom"; } + static auto FIELD() { return "scatteringAtom"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("pid") | + bool{} + / Meta<>("primaryScatterer") | + Integer32{} + / Meta<>("numberPerMolecule") | + // children + ambiguousNamespace::Mass{} + / --Child<>("mass") | + std::optional{} + / --Child<>("e_critical") | + tsl::E_max{} + / --Child<>("e_max") | + tsl::BoundAtomCrossSection{} + / --Child<>("boundAtomCrossSection") | + std::optional{} + / --Child<>("coherentAtomCrossSection") | + std::optional{} + / --Child<>("distinctScatteringKernel") | + tsl::SelfScatteringKernel{} + / --Child<>("selfScatteringKernel") | + std::optional{} + / --Child<>("T_effective") + ; + } + +public: + using Component::construct; + + // metadata + Field pid{this}; + Field primaryScatterer{this}; + Field numberPerMolecule{this}; + + // children + Field mass{this}; + Field> e_critical{this}; + Field e_max{this}; + Field boundAtomCrossSection{this}; + Field> coherentAtomCrossSection{this}; + Field> distinctScatteringKernel{this}; + Field selfScatteringKernel{this}; + Field> T_effective{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->pid, \ + this->primaryScatterer, \ + this->numberPerMolecule, \ + this->mass, \ + this->e_critical, \ + this->e_max, \ + this->boundAtomCrossSection, \ + this->coherentAtomCrossSection, \ + this->distinctScatteringKernel, \ + this->selfScatteringKernel, \ + this->T_effective) + + // default, and from fields + explicit ScatteringAtom( + const wrapper &pid = {}, + const wrapper &primaryScatterer = {}, + const wrapper &numberPerMolecule = {}, + const wrapper &mass = {}, + const wrapper> &e_critical = {}, + const wrapper &e_max = {}, + const wrapper &boundAtomCrossSection = {}, + const wrapper> &coherentAtomCrossSection = {}, + const wrapper> &distinctScatteringKernel = {}, + const wrapper &selfScatteringKernel = {}, + const wrapper> &T_effective = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + pid(this,pid), + primaryScatterer(this,primaryScatterer), + numberPerMolecule(this,numberPerMolecule), + mass(this,mass), + e_critical(this,e_critical), + e_max(this,e_max), + boundAtomCrossSection(this,boundAtomCrossSection), + coherentAtomCrossSection(this,coherentAtomCrossSection), + distinctScatteringKernel(this,distinctScatteringKernel), + selfScatteringKernel(this,selfScatteringKernel), + T_effective(this,T_effective) + { + Component::finish(); + } + + // from node + explicit ScatteringAtom(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ScatteringAtom(const ScatteringAtom &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ScatteringAtom(ScatteringAtom &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ScatteringAtom &operator=(const ScatteringAtom &) = default; + ScatteringAtom &operator=(ScatteringAtom &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/ScatteringAtom/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ScatteringAtom + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms.hpp new file mode 100644 index 000000000..5a1676767 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_SCATTERINGATOMS +#define TRY_V2_0_TSL_SCATTERINGATOMS + +#include "try/v2.0/tsl/ScatteringAtom.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class ScatteringAtoms +// ----------------------------------------------------------------------------- + +class ScatteringAtoms : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "ScatteringAtoms"; } + static auto FIELD() { return "scatteringAtoms"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + tsl::ScatteringAtom{} + / ++Child<>("scatteringAtom") + ; + } + +public: + using Component::construct; + + // children + Field> scatteringAtom{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->scatteringAtom) + + // default, and from fields + explicit ScatteringAtoms( + const wrapper> &scatteringAtom = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + scatteringAtom(this,scatteringAtom) + { + Component::finish(); + } + + // from node + explicit ScatteringAtoms(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ScatteringAtoms(const ScatteringAtoms &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ScatteringAtoms(ScatteringAtoms &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ScatteringAtoms &operator=(const ScatteringAtoms &) = default; + ScatteringAtoms &operator=(ScatteringAtoms &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/ScatteringAtoms/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ScatteringAtoms + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp new file mode 100644 index 000000000..b2b1eb480 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp @@ -0,0 +1,129 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_SELFSCATTERINGKERNEL +#define TRY_V2_0_TSL_SELFSCATTERINGKERNEL + +#include "try/v2.0/unknownNamespace/Gridded3d.hpp" +#include "try/v2.0/tsl/GaussianApproximation.hpp" +#include "try/v2.0/tsl/SCTApproximation.hpp" +#include "try/v2.0/tsl/FreeGasApproximation.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class SelfScatteringKernel +// ----------------------------------------------------------------------------- + +class SelfScatteringKernel : public Component { + friend class Component; + + using _t = std::variant< + unknownNamespace::Gridded3d, + tsl::GaussianApproximation, + tsl::SCTApproximation, + tsl::FreeGasApproximation + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "SelfScatteringKernel"; } + static auto FIELD() { return "selfScatteringKernel"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("symmetric") | + // children + _t{} + / --(Child<>("gridded3d") || Child<>("GaussianApproximation") || Child<>("SCTApproximation") || Child<>("freeGasApproximation")) + ; + } + +public: + using Component::construct; + + // metadata + Field> symmetric{this}; + + // children - variant + Field<_t> _gridded3dGaussianApproximationSCTApproximationfreeGasApproximation{this}; + FieldPart gridded3d{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; + FieldPart GaussianApproximation{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; + FieldPart SCTApproximation{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; + FieldPart freeGasApproximation{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->symmetric, \ + this->_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation) + + // default, and from fields + explicit SelfScatteringKernel( + const wrapper> &symmetric = {}, + const wrapper<_t> &_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + symmetric(this,symmetric), + _gridded3dGaussianApproximationSCTApproximationfreeGasApproximation(this,_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation) + { + Component::finish(); + } + + // from node + explicit SelfScatteringKernel(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + SelfScatteringKernel(const SelfScatteringKernel &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + SelfScatteringKernel(SelfScatteringKernel &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + SelfScatteringKernel &operator=(const SelfScatteringKernel &) = default; + SelfScatteringKernel &operator=(SelfScatteringKernel &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/SelfScatteringKernel/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class SelfScatteringKernel + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp new file mode 100644 index 000000000..d5ebe2b3d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_STRUCTUREFACTOR +#define TRY_V2_0_TSL_STRUCTUREFACTOR + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class StructureFactor +// ----------------------------------------------------------------------------- + +class StructureFactor : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "StructureFactor"; } + static auto FIELD() { return "structureFactor"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::XYs1d{} + / --Child<>("XYs1d") + ; + } + +public: + using Component::construct; + + // children + Field XYs1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d) + + // default, and from fields + explicit StructureFactor( + const wrapper &XYs1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d) + { + Component::finish(); + } + + // from node + explicit StructureFactor(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + StructureFactor(const StructureFactor &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + StructureFactor(StructureFactor &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + StructureFactor &operator=(const StructureFactor &) = default; + StructureFactor &operator=(StructureFactor &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/StructureFactor/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class StructureFactor + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp new file mode 100644 index 000000000..a4d94db7e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_T_EFFECTIVE +#define TRY_V2_0_TSL_T_EFFECTIVE + +#include "try/v2.0/unknownNamespace/XYs1d.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class T_effective +// ----------------------------------------------------------------------------- + +class T_effective : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "T_effective"; } + static auto FIELD() { return "T_effective"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + unknownNamespace::XYs1d{} + / --Child<>("XYs1d") + ; + } + +public: + using Component::construct; + + // children + Field XYs1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d) + + // default, and from fields + explicit T_effective( + const wrapper &XYs1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d) + { + Component::finish(); + } + + // from node + explicit T_effective(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + T_effective(const T_effective &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + T_effective(T_effective &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + T_effective &operator=(const T_effective &) = default; + T_effective &operator=(T_effective &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/T_effective/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class T_effective + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp new file mode 100644 index 000000000..fce470273 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW +#define TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class ThermalNeutronScatteringLaw +// ----------------------------------------------------------------------------- + +class ThermalNeutronScatteringLaw : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "ThermalNeutronScatteringLaw"; } + static auto FIELD() { return "thermalNeutronScatteringLaw"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->href) + + // default, and from fields + explicit ThermalNeutronScatteringLaw( + const wrapper &label = {}, + const wrapper &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + href(this,href) + { + Component::finish(); + } + + // from node + explicit ThermalNeutronScatteringLaw(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ThermalNeutronScatteringLaw(const ThermalNeutronScatteringLaw &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ThermalNeutronScatteringLaw(ThermalNeutronScatteringLaw &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ThermalNeutronScatteringLaw &operator=(const ThermalNeutronScatteringLaw &) = default; + ThermalNeutronScatteringLaw &operator=(ThermalNeutronScatteringLaw &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/ThermalNeutronScatteringLaw/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ThermalNeutronScatteringLaw + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp new file mode 100644 index 000000000..02b6541ab --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW1D +#define TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW1D + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class ThermalNeutronScatteringLaw1d +// ----------------------------------------------------------------------------- + +class ThermalNeutronScatteringLaw1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "ThermalNeutronScatteringLaw1d"; } + static auto FIELD() { return "thermalNeutronScatteringLaw1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->href) + + // default, and from fields + explicit ThermalNeutronScatteringLaw1d( + const wrapper &label = {}, + const wrapper &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + href(this,href) + { + Component::finish(); + } + + // from node + explicit ThermalNeutronScatteringLaw1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ThermalNeutronScatteringLaw1d(const ThermalNeutronScatteringLaw1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ThermalNeutronScatteringLaw1d(ThermalNeutronScatteringLaw1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ThermalNeutronScatteringLaw1d &operator=(const ThermalNeutronScatteringLaw1d &) = default; + ThermalNeutronScatteringLaw1d &operator=(ThermalNeutronScatteringLaw1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ThermalNeutronScatteringLaw1d + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp new file mode 100644 index 000000000..86c16e70b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp @@ -0,0 +1,142 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_COHERENTELASTIC +#define TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_COHERENTELASTIC + +#include "try/v2.0/tsl/S_table.hpp" +#include "try/v2.0/tsl/BraggEdges.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class ThermalNeutronScatteringLaw_coherentElastic +// ----------------------------------------------------------------------------- + +class ThermalNeutronScatteringLaw_coherentElastic : public Component { + friend class Component; + + using _t = std::variant< + tsl::S_table, + tsl::BraggEdges + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "ThermalNeutronScatteringLaw_coherentElastic"; } + static auto FIELD() { return "thermalNeutronScatteringLaw_coherentElastic"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + Defaulted{"enums::DecayType::Neutron"} + / Meta<>("pid") | + Defaulted{enums::Frame::lab} + / Meta<>("productFrame") | + // children + _t{} + / --(Child<>("S_table") || Child<>("BraggEdges")) + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const XMLName pid = "enums::DecayType::Neutron"; + static inline const enums::Frame productFrame = enums::Frame::lab; + } defaults; + + // metadata + Field label{this}; + Field> pid{this,defaults.pid}; + Field> productFrame{this,defaults.productFrame}; + + // children - variant + Field<_t> _S_tableBraggEdges{this}; + FieldPart S_table{_S_tableBraggEdges}; + FieldPart BraggEdges{_S_tableBraggEdges}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->pid, \ + this->productFrame, \ + this->_S_tableBraggEdges) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit ThermalNeutronScatteringLaw_coherentElastic( + const wrapper &label = {}, + const wrapper> &pid = {}, + const wrapper> &productFrame = {}, + const wrapper<_t> &_S_tableBraggEdges = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + pid(this,defaults.pid,pid), + productFrame(this,defaults.productFrame,productFrame), + _S_tableBraggEdges(this,_S_tableBraggEdges) + { + Component::finish(); + } + + // from node + explicit ThermalNeutronScatteringLaw_coherentElastic(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ThermalNeutronScatteringLaw_coherentElastic(const ThermalNeutronScatteringLaw_coherentElastic &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ThermalNeutronScatteringLaw_coherentElastic(ThermalNeutronScatteringLaw_coherentElastic &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ThermalNeutronScatteringLaw_coherentElastic &operator=(const ThermalNeutronScatteringLaw_coherentElastic &) = default; + ThermalNeutronScatteringLaw_coherentElastic &operator=(ThermalNeutronScatteringLaw_coherentElastic &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ThermalNeutronScatteringLaw_coherentElastic + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp new file mode 100644 index 000000000..e2c8290ec --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTELASTIC +#define TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTELASTIC + +#include "try/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "try/v2.0/tsl/DebyeWallerIntegral.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class ThermalNeutronScatteringLaw_incoherentElastic +// ----------------------------------------------------------------------------- + +class ThermalNeutronScatteringLaw_incoherentElastic : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "ThermalNeutronScatteringLaw_incoherentElastic"; } + static auto FIELD() { return "thermalNeutronScatteringLaw_incoherentElastic"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + XMLName{} + / Meta<>("pid") | + enums::Frame{} + / Meta<>("productFrame") | + // children + tsl::BoundAtomCrossSection{} + / --Child<>("boundAtomCrossSection") | + tsl::DebyeWallerIntegral{} + / --Child<>("DebyeWallerIntegral") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field pid{this}; + Field productFrame{this}; + + // children + Field boundAtomCrossSection{this}; + Field DebyeWallerIntegral{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->pid, \ + this->productFrame, \ + this->boundAtomCrossSection, \ + this->DebyeWallerIntegral) + + // default, and from fields + explicit ThermalNeutronScatteringLaw_incoherentElastic( + const wrapper &label = {}, + const wrapper &pid = {}, + const wrapper &productFrame = {}, + const wrapper &boundAtomCrossSection = {}, + const wrapper &DebyeWallerIntegral = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + pid(this,pid), + productFrame(this,productFrame), + boundAtomCrossSection(this,boundAtomCrossSection), + DebyeWallerIntegral(this,DebyeWallerIntegral) + { + Component::finish(); + } + + // from node + explicit ThermalNeutronScatteringLaw_incoherentElastic(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ThermalNeutronScatteringLaw_incoherentElastic(const ThermalNeutronScatteringLaw_incoherentElastic &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ThermalNeutronScatteringLaw_incoherentElastic(ThermalNeutronScatteringLaw_incoherentElastic &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ThermalNeutronScatteringLaw_incoherentElastic &operator=(const ThermalNeutronScatteringLaw_incoherentElastic &) = default; + ThermalNeutronScatteringLaw_incoherentElastic &operator=(ThermalNeutronScatteringLaw_incoherentElastic &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ThermalNeutronScatteringLaw_incoherentElastic + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp new file mode 100644 index 000000000..79ada47a5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp @@ -0,0 +1,154 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTINELASTIC +#define TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTINELASTIC + +#include "try/v2.0/tsl/ScatteringAtoms.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class ThermalNeutronScatteringLaw_incoherentInelastic +// ----------------------------------------------------------------------------- + +class ThermalNeutronScatteringLaw_incoherentInelastic : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "ThermalNeutronScatteringLaw_incoherentInelastic"; } + static auto FIELD() { return "thermalNeutronScatteringLaw_incoherentInelastic"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("label") | + Defaulted{"enums::DecayType::Neutron"} + / Meta<>("pid") | + Defaulted{enums::Frame::lab} + / Meta<>("productFrame") | + Defaulted{false} + / Meta<>("calculatedAtThermal") | + Defaulted{true} + / Meta<>("incoherentApproximation") | + XMLName{} + / Meta<>("primaryScatterer") | + // children + tsl::ScatteringAtoms{} + / --Child<>("scatteringAtoms") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const XMLName pid = "enums::DecayType::Neutron"; + static inline const enums::Frame productFrame = enums::Frame::lab; + static inline const bool calculatedAtThermal = false; + static inline const bool incoherentApproximation = true; + } defaults; + + // metadata + Field label{this}; + Field> pid{this,defaults.pid}; + Field> productFrame{this,defaults.productFrame}; + Field> calculatedAtThermal{this,defaults.calculatedAtThermal}; + Field> incoherentApproximation{this,defaults.incoherentApproximation}; + Field primaryScatterer{this}; + + // children + Field scatteringAtoms{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->pid, \ + this->productFrame, \ + this->calculatedAtThermal, \ + this->incoherentApproximation, \ + this->primaryScatterer, \ + this->scatteringAtoms) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit ThermalNeutronScatteringLaw_incoherentInelastic( + const wrapper &label = {}, + const wrapper> &pid = {}, + const wrapper> &productFrame = {}, + const wrapper> &calculatedAtThermal = {}, + const wrapper> &incoherentApproximation = {}, + const wrapper &primaryScatterer = {}, + const wrapper &scatteringAtoms = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + pid(this,defaults.pid,pid), + productFrame(this,defaults.productFrame,productFrame), + calculatedAtThermal(this,defaults.calculatedAtThermal,calculatedAtThermal), + incoherentApproximation(this,defaults.incoherentApproximation,incoherentApproximation), + primaryScatterer(this,primaryScatterer), + scatteringAtoms(this,scatteringAtoms) + { + Component::finish(); + } + + // from node + explicit ThermalNeutronScatteringLaw_incoherentInelastic(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ThermalNeutronScatteringLaw_incoherentInelastic(const ThermalNeutronScatteringLaw_incoherentInelastic &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ThermalNeutronScatteringLaw_incoherentInelastic(ThermalNeutronScatteringLaw_incoherentInelastic &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ThermalNeutronScatteringLaw_incoherentInelastic &operator=(const ThermalNeutronScatteringLaw_incoherentInelastic &) = default; + ThermalNeutronScatteringLaw_incoherentInelastic &operator=(ThermalNeutronScatteringLaw_incoherentInelastic &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ThermalNeutronScatteringLaw_incoherentInelastic + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; From b52cda0f3298ff91a43169acd4e2db654131fc0f Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 30 Aug 2022 13:18:05 -0600 Subject: [PATCH 169/235] Updating some autogenerated files. --- standards/gnds-2.0/gnds-2.0.json | 20 +- standards/gnds-2.0/try/c/src/v2.0.h | 31 + .../try/c/src/v2.0/atomic/FormFactor.cpp | 4 +- .../try/c/src/v2.0/atomic/FormFactor.h | 4 +- .../v2.0/atomic/ImaginaryAnomalousFactor.cpp | 4 +- .../v2.0/atomic/ImaginaryAnomalousFactor.h | 4 +- .../c/src/v2.0/atomic/RealAnomalousFactor.cpp | 4 +- .../c/src/v2.0/atomic/RealAnomalousFactor.h | 4 +- .../c/src/v2.0/atomic/ScatteringFactor.cpp | 4 +- .../try/c/src/v2.0/atomic/ScatteringFactor.h | 4 +- .../gnds-2.0/try/c/src/v2.0/common/Energy.cpp | 137 ++- .../gnds-2.0/try/c/src/v2.0/common/Energy.h | 89 +- .../gnds-2.0/try/c/src/v2.0/common/Mass.cpp | 137 ++- .../gnds-2.0/try/c/src/v2.0/common/Mass.h | 89 +- .../try/c/src/v2.0/common/Probability.cpp | 2 +- .../try/c/src/v2.0/common/Probability.h | 2 +- .../gnds-2.0/try/c/src/v2.0/common/Q.cpp | 10 +- standards/gnds-2.0/try/c/src/v2.0/common/Q.h | 10 +- .../try/c/src/v2.0/containers/Array.cpp | 1028 +++++++++++++++++ .../try/c/src/v2.0/containers/Array.h | 682 +++++++++++ .../try/c/src/v2.0/containers/Axes.cpp | 674 +++++++++++ .../gnds-2.0/try/c/src/v2.0/containers/Axes.h | 467 ++++++++ .../try/c/src/v2.0/containers/Axis.cpp | 235 ++++ .../gnds-2.0/try/c/src/v2.0/containers/Axis.h | 195 ++++ .../try/c/src/v2.0/containers/Column.cpp | 270 +++++ .../try/c/src/v2.0/containers/Column.h | 215 ++++ .../c/src/v2.0/containers/ColumnHeaders.cpp | 385 ++++++ .../try/c/src/v2.0/containers/ColumnHeaders.h | 291 +++++ .../try/c/src/v2.0/containers/Constant1d.cpp | 349 ++++++ .../try/c/src/v2.0/containers/Constant1d.h | 259 +++++ .../try/c/src/v2.0/containers/Data.cpp | 418 +++++++ .../gnds-2.0/try/c/src/v2.0/containers/Data.h | 296 +++++ .../try/c/src/v2.0/containers/Double.cpp | 235 ++++ .../try/c/src/v2.0/containers/Double.h | 195 ++++ .../try/c/src/v2.0/containers/Fraction.cpp | 235 ++++ .../try/c/src/v2.0/containers/Fraction.h | 195 ++++ .../try/c/src/v2.0/containers/Function1ds.cpp | 136 +++ .../try/c/src/v2.0/containers/Function1ds.h | 140 +++ .../try/c/src/v2.0/containers/Function2ds.cpp | 133 +++ .../try/c/src/v2.0/containers/Function2ds.h | 137 +++ .../try/c/src/v2.0/containers/Function3ds.cpp | 133 +++ .../try/c/src/v2.0/containers/Function3ds.h | 137 +++ .../try/c/src/v2.0/containers/Grid.cpp | 308 +++++ .../gnds-2.0/try/c/src/v2.0/containers/Grid.h | 237 ++++ .../try/c/src/v2.0/containers/Gridded1d.cpp | 252 ++++ .../try/c/src/v2.0/containers/Gridded1d.h | 203 ++++ .../try/c/src/v2.0/containers/Gridded2d.cpp | 252 ++++ .../try/c/src/v2.0/containers/Gridded2d.h | 203 ++++ .../try/c/src/v2.0/containers/Gridded3d.cpp | 252 ++++ .../try/c/src/v2.0/containers/Gridded3d.h | 203 ++++ .../try/c/src/v2.0/containers/Integer.cpp | 235 ++++ .../try/c/src/v2.0/containers/Integer.h | 195 ++++ .../try/c/src/v2.0/containers/Legendre.cpp | 349 ++++++ .../try/c/src/v2.0/containers/Legendre.h | 259 +++++ .../try/c/src/v2.0/containers/Link.cpp | 165 +++ .../gnds-2.0/try/c/src/v2.0/containers/Link.h | 155 +++ .../c/src/v2.0/containers/Polynomial1d.cpp | 392 +++++++ .../try/c/src/v2.0/containers/Polynomial1d.h | 283 +++++ .../try/c/src/v2.0/containers/Regions1d.cpp | 287 +++++ .../try/c/src/v2.0/containers/Regions1d.h | 223 ++++ .../try/c/src/v2.0/containers/Regions2d.cpp | 287 +++++ .../try/c/src/v2.0/containers/Regions2d.h | 223 ++++ .../try/c/src/v2.0/containers/Regions3d.cpp | 287 +++++ .../try/c/src/v2.0/containers/Regions3d.h | 223 ++++ .../try/c/src/v2.0/containers/String.cpp | 235 ++++ .../try/c/src/v2.0/containers/String.h | 195 ++++ .../try/c/src/v2.0/containers/Table.cpp | 322 ++++++ .../try/c/src/v2.0/containers/Table.h | 243 ++++ .../try/c/src/v2.0/containers/Values.cpp | 593 ++++++++++ .../try/c/src/v2.0/containers/Values.h | 396 +++++++ .../try/c/src/v2.0/containers/XYs1d.cpp | 357 ++++++ .../try/c/src/v2.0/containers/XYs1d.h | 263 +++++ .../try/c/src/v2.0/containers/XYs2d.cpp | 357 ++++++ .../try/c/src/v2.0/containers/XYs2d.h | 263 +++++ .../try/c/src/v2.0/containers/XYs3d.cpp | 287 +++++ .../try/c/src/v2.0/containers/XYs3d.h | 223 ++++ .../try/c/src/v2.0/containers/Ys1d.cpp | 287 +++++ .../gnds-2.0/try/c/src/v2.0/containers/Ys1d.h | 223 ++++ .../src/v2.0/covariance/ColumnSensitivity.cpp | 2 +- .../c/src/v2.0/covariance/ColumnSensitivity.h | 2 +- .../try/c/src/v2.0/covariance/Covariance.cpp | 2 +- .../try/c/src/v2.0/covariance/Covariance.h | 2 +- .../src/v2.0/covariance/CovarianceMatrix.cpp | 2 +- .../c/src/v2.0/covariance/CovarianceMatrix.h | 2 +- .../covariance/ParameterCovarianceMatrix.cpp | 2 +- .../covariance/ParameterCovarianceMatrix.h | 2 +- .../c/src/v2.0/covariance/RowSensitivity.cpp | 2 +- .../c/src/v2.0/covariance/RowSensitivity.h | 2 +- .../c/src/v2.0/covariance/SandwichProduct.cpp | 2 +- .../c/src/v2.0/covariance/SandwichProduct.h | 2 +- .../ShortRangeSelfScalingVariance.cpp | 2 +- .../ShortRangeSelfScalingVariance.h | 2 +- .../cpTransport/ImaginaryInterferenceTerm.cpp | 4 +- .../cpTransport/ImaginaryInterferenceTerm.h | 4 +- .../c/src/v2.0/cpTransport/NuclearTerm.cpp | 4 +- .../try/c/src/v2.0/cpTransport/NuclearTerm.h | 4 +- .../v2.0/cpTransport/RealInterferenceTerm.cpp | 4 +- .../v2.0/cpTransport/RealInterferenceTerm.h | 4 +- .../c/src/v2.0/fissionFragmentData/Rate.cpp | 2 +- .../try/c/src/v2.0/fissionFragmentData/Rate.h | 2 +- .../fissionTransport/DelayedBetaEnergy.cpp | 2 +- .../v2.0/fissionTransport/DelayedBetaEnergy.h | 2 +- .../fissionTransport/DelayedGammaEnergy.cpp | 2 +- .../fissionTransport/DelayedGammaEnergy.h | 2 +- .../fissionTransport/DelayedNeutronKE.cpp | 4 +- .../v2.0/fissionTransport/DelayedNeutronKE.h | 4 +- .../v2.0/fissionTransport/NeutrinoEnergy.cpp | 2 +- .../v2.0/fissionTransport/NeutrinoEnergy.h | 2 +- .../fissionTransport/NonNeutrinoEnergy.cpp | 2 +- .../v2.0/fissionTransport/NonNeutrinoEnergy.h | 2 +- .../fissionTransport/PromptGammaEnergy.cpp | 4 +- .../v2.0/fissionTransport/PromptGammaEnergy.h | 4 +- .../v2.0/fissionTransport/PromptNeutronKE.cpp | 4 +- .../v2.0/fissionTransport/PromptNeutronKE.h | 4 +- .../v2.0/fissionTransport/PromptProductKE.cpp | 4 +- .../v2.0/fissionTransport/PromptProductKE.h | 4 +- .../try/c/src/v2.0/fissionTransport/T_M.cpp | 2 +- .../try/c/src/v2.0/fissionTransport/T_M.h | 2 +- .../src/v2.0/fissionTransport/TotalEnergy.cpp | 2 +- .../c/src/v2.0/fissionTransport/TotalEnergy.h | 2 +- .../gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/fpy/Energy.h | 2 +- .../gnds-2.0/try/c/src/v2.0/fpy/Time.cpp | 4 +- standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h | 4 +- .../gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/fpy/Yields.h | 2 +- .../try/c/src/v2.0/pops/BindingEnergy.cpp | 137 ++- .../try/c/src/v2.0/pops/BindingEnergy.h | 89 +- .../gnds-2.0/try/c/src/v2.0/pops/Charge.cpp | 4 +- .../gnds-2.0/try/c/src/v2.0/pops/Charge.h | 4 +- .../try/c/src/v2.0/pops/Continuum.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/pops/Continuum.h | 2 +- .../gnds-2.0/try/c/src/v2.0/pops/Energy.cpp | 137 ++- .../gnds-2.0/try/c/src/v2.0/pops/Energy.h | 89 +- .../gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp | 4 +- .../gnds-2.0/try/c/src/v2.0/pops/Halflife.h | 4 +- .../try/c/src/v2.0/pops/LogNormal.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/pops/LogNormal.h | 2 +- .../gnds-2.0/try/c/src/v2.0/pops/Mass.cpp | 2 +- standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h | 2 +- .../gnds-2.0/try/c/src/v2.0/pops/Parity.cpp | 137 ++- .../gnds-2.0/try/c/src/v2.0/pops/Parity.h | 89 +- .../gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp | 4 +- standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h | 4 +- .../try/c/src/v2.0/pops/Probability.cpp | 137 ++- .../try/c/src/v2.0/pops/Probability.h | 89 +- standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp | 137 ++- standards/gnds-2.0/try/c/src/v2.0/pops/Q.h | 89 +- .../gnds-2.0/try/c/src/v2.0/pops/Spin.cpp | 137 ++- standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h | 89 +- .../gnds-2.0/try/c/src/v2.0/pops/Standard.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/pops/Standard.h | 2 +- .../c/src/v2.0/processed/AvailableEnergy.cpp | 4 +- .../c/src/v2.0/processed/AvailableEnergy.h | 4 +- .../src/v2.0/processed/AvailableMomentum.cpp | 4 +- .../c/src/v2.0/processed/AvailableMomentum.h | 4 +- .../v2.0/processed/AverageProductEnergy.cpp | 6 +- .../src/v2.0/processed/AverageProductEnergy.h | 6 +- .../v2.0/processed/AverageProductMomentum.cpp | 6 +- .../v2.0/processed/AverageProductMomentum.h | 6 +- .../try/c/src/v2.0/processed/MultiGroup3d.cpp | 2 +- .../try/c/src/v2.0/processed/MultiGroup3d.h | 2 +- .../c/src/v2.0/resonances/ExternalRMatrix.cpp | 137 ++- .../c/src/v2.0/resonances/ExternalRMatrix.h | 89 +- .../src/v2.0/resonances/HardSphereRadius.cpp | 2 +- .../c/src/v2.0/resonances/HardSphereRadius.h | 2 +- .../c/src/v2.0/resonances/LevelSpacing.cpp | 6 +- .../try/c/src/v2.0/resonances/LevelSpacing.h | 6 +- .../v2.0/resonances/ResonanceParameters.cpp | 2 +- .../src/v2.0/resonances/ResonanceParameters.h | 2 +- .../src/v2.0/resonances/ResonanceReaction.cpp | 2 +- .../c/src/v2.0/resonances/ResonanceReaction.h | 2 +- .../src/v2.0/resonances/ScatteringRadius.cpp | 6 +- .../c/src/v2.0/resonances/ScatteringRadius.h | 6 +- .../try/c/src/v2.0/resonances/Width.cpp | 6 +- .../try/c/src/v2.0/resonances/Width.h | 6 +- .../gnds-2.0/try/c/src/v2.0/styles/Flux.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/styles/Flux.h | 2 +- .../c/src/v2.0/styles/GriddedCrossSection.cpp | 2 +- .../c/src/v2.0/styles/GriddedCrossSection.h | 2 +- .../try/c/src/v2.0/styles/InverseSpeed.cpp | 2 +- .../try/c/src/v2.0/styles/InverseSpeed.h | 2 +- .../try/c/src/v2.0/styles/MultiGroup.cpp | 2 +- .../try/c/src/v2.0/styles/MultiGroup.h | 2 +- .../try/c/src/v2.0/styles/SigmaZeros.cpp | 2 +- .../try/c/src/v2.0/styles/SigmaZeros.h | 2 +- .../gnds-2.0/try/c/src/v2.0/transport/A.cpp | 4 +- .../gnds-2.0/try/c/src/v2.0/transport/A.h | 4 +- .../c/src/v2.0/transport/AngularEnergy.cpp | 2 +- .../try/c/src/v2.0/transport/AngularEnergy.h | 2 +- .../c/src/v2.0/transport/AngularTwoBody.cpp | 4 +- .../try/c/src/v2.0/transport/AngularTwoBody.h | 4 +- .../v2.0/transport/Angular_uncorrelated.cpp | 2 +- .../src/v2.0/transport/Angular_uncorrelated.h | 2 +- .../try/c/src/v2.0/transport/CrossSection.cpp | 8 +- .../try/c/src/v2.0/transport/CrossSection.h | 8 +- .../c/src/v2.0/transport/DiscreteGamma.cpp | 2 +- .../try/c/src/v2.0/transport/DiscreteGamma.h | 2 +- .../DoubleDifferentialCrossSection.cpp | 4 +- .../DoubleDifferentialCrossSection.h | 4 +- .../c/src/v2.0/transport/EnergyAngular.cpp | 2 +- .../try/c/src/v2.0/transport/EnergyAngular.h | 2 +- .../v2.0/transport/Energy_uncorrelated.cpp | 4 +- .../src/v2.0/transport/Energy_uncorrelated.h | 4 +- .../gnds-2.0/try/c/src/v2.0/transport/F.cpp | 4 +- .../gnds-2.0/try/c/src/v2.0/transport/F.h | 4 +- .../try/c/src/v2.0/transport/FastRegion.cpp | 4 +- .../try/c/src/v2.0/transport/FastRegion.h | 4 +- .../gnds-2.0/try/c/src/v2.0/transport/G.cpp | 4 +- .../gnds-2.0/try/c/src/v2.0/transport/G.h | 4 +- .../try/c/src/v2.0/transport/MultiGroup3d.cpp | 2 +- .../try/c/src/v2.0/transport/MultiGroup3d.h | 2 +- .../try/c/src/v2.0/transport/Multiplicity.cpp | 10 +- .../try/c/src/v2.0/transport/Multiplicity.h | 10 +- .../try/c/src/v2.0/transport/PrimaryGamma.cpp | 2 +- .../try/c/src/v2.0/transport/PrimaryGamma.h | 2 +- .../gnds-2.0/try/c/src/v2.0/transport/R.cpp | 4 +- .../gnds-2.0/try/c/src/v2.0/transport/R.h | 4 +- .../c/src/v2.0/transport/ResolvedRegion.cpp | 4 +- .../try/c/src/v2.0/transport/ResolvedRegion.h | 4 +- .../try/c/src/v2.0/transport/Theta.cpp | 4 +- .../gnds-2.0/try/c/src/v2.0/transport/Theta.h | 4 +- .../transport/URR_probabilityTables1d.cpp | 4 +- .../v2.0/transport/URR_probabilityTables1d.h | 4 +- .../c/src/v2.0/transport/UnresolvedRegion.cpp | 4 +- .../c/src/v2.0/transport/UnresolvedRegion.h | 4 +- .../try/c/src/v2.0/transport/Weighted.cpp | 4 +- .../try/c/src/v2.0/transport/Weighted.h | 4 +- .../try/c/src/v2.0/tsl/BraggEnergy.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h | 2 +- .../c/src/v2.0/tsl/DebyeWallerIntegral.cpp | 2 +- .../try/c/src/v2.0/tsl/DebyeWallerIntegral.h | 2 +- .../src/v2.0/tsl/DistinctScatteringKernel.cpp | 2 +- .../c/src/v2.0/tsl/DistinctScatteringKernel.h | 2 +- .../try/c/src/v2.0/tsl/PhononSpectrum.cpp | 2 +- .../try/c/src/v2.0/tsl/PhononSpectrum.h | 2 +- .../gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/tsl/S_table.h | 2 +- .../c/src/v2.0/tsl/SelfScatteringKernel.cpp | 2 +- .../try/c/src/v2.0/tsl/SelfScatteringKernel.h | 2 +- .../try/c/src/v2.0/tsl/StructureFactor.cpp | 2 +- .../try/c/src/v2.0/tsl/StructureFactor.h | 2 +- .../try/c/src/v2.0/tsl/T_effective.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/tsl/T_effective.h | 2 +- .../src/v2.0/atomic/FormFactor.python.cpp | 4 +- .../ImaginaryAnomalousFactor.python.cpp | 4 +- .../atomic/RealAnomalousFactor.python.cpp | 4 +- .../v2.0/atomic/ScatteringFactor.python.cpp | 4 +- .../python/src/v2.0/common/Energy.python.cpp | 2 +- .../python/src/v2.0/common/Mass.python.cpp | 2 +- .../src/v2.0/common/Probability.python.cpp | 2 +- .../try/python/src/v2.0/common/Q.python.cpp | 10 +- .../try/python/src/v2.0/containers.python.cpp | 89 ++ .../src/v2.0/containers/Array.python.cpp | 105 ++ .../src/v2.0/containers/Axes.python.cpp | 70 ++ .../src/v2.0/containers/Axis.python.cpp | 70 ++ .../src/v2.0/containers/Column.python.cpp | 77 ++ .../v2.0/containers/ColumnHeaders.python.cpp | 56 + .../src/v2.0/containers/Constant1d.python.cpp | 91 ++ .../src/v2.0/containers/Data.python.cpp | 92 ++ .../src/v2.0/containers/Double.python.cpp | 70 ++ .../src/v2.0/containers/Fraction.python.cpp | 70 ++ .../v2.0/containers/Function1ds.python.cpp | 63 + .../v2.0/containers/Function2ds.python.cpp | 60 + .../v2.0/containers/Function3ds.python.cpp | 60 + .../src/v2.0/containers/Grid.python.cpp | 105 ++ .../src/v2.0/containers/Gridded1d.python.cpp | 70 ++ .../src/v2.0/containers/Gridded2d.python.cpp | 70 ++ .../src/v2.0/containers/Gridded3d.python.cpp | 70 ++ .../src/v2.0/containers/Integer.python.cpp | 70 ++ .../src/v2.0/containers/Legendre.python.cpp | 91 ++ .../src/v2.0/containers/Link.python.cpp | 56 + .../v2.0/containers/Polynomial1d.python.cpp | 98 ++ .../src/v2.0/containers/Regions1d.python.cpp | 77 ++ .../src/v2.0/containers/Regions2d.python.cpp | 77 ++ .../src/v2.0/containers/Regions3d.python.cpp | 77 ++ .../src/v2.0/containers/String.python.cpp | 70 ++ .../src/v2.0/containers/Table.python.cpp | 84 ++ .../src/v2.0/containers/Values.python.cpp | 127 ++ .../src/v2.0/containers/XYs1d.python.cpp | 91 ++ .../src/v2.0/containers/XYs2d.python.cpp | 91 ++ .../src/v2.0/containers/XYs3d.python.cpp | 77 ++ .../src/v2.0/containers/Ys1d.python.cpp | 77 ++ .../covariance/ColumnSensitivity.python.cpp | 2 +- .../src/v2.0/covariance/Covariance.python.cpp | 2 +- .../covariance/CovarianceMatrix.python.cpp | 2 +- .../ParameterCovarianceMatrix.python.cpp | 2 +- .../v2.0/covariance/RowSensitivity.python.cpp | 2 +- .../covariance/SandwichProduct.python.cpp | 2 +- .../ShortRangeSelfScalingVariance.python.cpp | 2 +- .../ImaginaryInterferenceTerm.python.cpp | 4 +- .../v2.0/cpTransport/NuclearTerm.python.cpp | 4 +- .../RealInterferenceTerm.python.cpp | 4 +- .../v2.0/fissionFragmentData/Rate.python.cpp | 2 +- .../DelayedBetaEnergy.python.cpp | 2 +- .../DelayedGammaEnergy.python.cpp | 2 +- .../DelayedNeutronKE.python.cpp | 4 +- .../NeutrinoEnergy.python.cpp | 2 +- .../NonNeutrinoEnergy.python.cpp | 2 +- .../PromptGammaEnergy.python.cpp | 4 +- .../PromptNeutronKE.python.cpp | 4 +- .../PromptProductKE.python.cpp | 4 +- .../src/v2.0/fissionTransport/T_M.python.cpp | 2 +- .../fissionTransport/TotalEnergy.python.cpp | 2 +- .../try/python/src/v2.0/fpy/Energy.python.cpp | 2 +- .../try/python/src/v2.0/fpy/Time.python.cpp | 4 +- .../try/python/src/v2.0/fpy/Yields.python.cpp | 2 +- .../src/v2.0/pops/BindingEnergy.python.cpp | 2 +- .../python/src/v2.0/pops/Charge.python.cpp | 4 +- .../python/src/v2.0/pops/Continuum.python.cpp | 2 +- .../python/src/v2.0/pops/Energy.python.cpp | 2 +- .../python/src/v2.0/pops/Halflife.python.cpp | 4 +- .../python/src/v2.0/pops/LogNormal.python.cpp | 2 +- .../try/python/src/v2.0/pops/Mass.python.cpp | 2 +- .../python/src/v2.0/pops/Parity.python.cpp | 2 +- .../try/python/src/v2.0/pops/Pdf.python.cpp | 4 +- .../src/v2.0/pops/Probability.python.cpp | 2 +- .../try/python/src/v2.0/pops/Q.python.cpp | 2 +- .../try/python/src/v2.0/pops/Spin.python.cpp | 2 +- .../python/src/v2.0/pops/Standard.python.cpp | 2 +- .../v2.0/processed/AvailableEnergy.python.cpp | 4 +- .../processed/AvailableMomentum.python.cpp | 4 +- .../processed/AverageProductEnergy.python.cpp | 6 +- .../AverageProductMomentum.python.cpp | 6 +- .../v2.0/processed/MultiGroup3d.python.cpp | 2 +- .../resonances/ExternalRMatrix.python.cpp | 2 +- .../resonances/HardSphereRadius.python.cpp | 2 +- .../v2.0/resonances/LevelSpacing.python.cpp | 6 +- .../resonances/ResonanceParameters.python.cpp | 2 +- .../resonances/ResonanceReaction.python.cpp | 2 +- .../resonances/ScatteringRadius.python.cpp | 6 +- .../src/v2.0/resonances/Width.python.cpp | 6 +- .../python/src/v2.0/styles/Flux.python.cpp | 2 +- .../styles/GriddedCrossSection.python.cpp | 2 +- .../src/v2.0/styles/InverseSpeed.python.cpp | 2 +- .../src/v2.0/styles/MultiGroup.python.cpp | 2 +- .../src/v2.0/styles/SigmaZeros.python.cpp | 2 +- .../python/src/v2.0/transport/A.python.cpp | 4 +- .../v2.0/transport/AngularEnergy.python.cpp | 2 +- .../v2.0/transport/AngularTwoBody.python.cpp | 4 +- .../transport/Angular_uncorrelated.python.cpp | 2 +- .../v2.0/transport/CrossSection.python.cpp | 8 +- .../v2.0/transport/DiscreteGamma.python.cpp | 2 +- .../DoubleDifferentialCrossSection.python.cpp | 4 +- .../v2.0/transport/EnergyAngular.python.cpp | 2 +- .../transport/Energy_uncorrelated.python.cpp | 4 +- .../python/src/v2.0/transport/F.python.cpp | 4 +- .../src/v2.0/transport/FastRegion.python.cpp | 4 +- .../python/src/v2.0/transport/G.python.cpp | 4 +- .../v2.0/transport/MultiGroup3d.python.cpp | 2 +- .../v2.0/transport/Multiplicity.python.cpp | 10 +- .../v2.0/transport/PrimaryGamma.python.cpp | 2 +- .../python/src/v2.0/transport/R.python.cpp | 4 +- .../v2.0/transport/ResolvedRegion.python.cpp | 4 +- .../src/v2.0/transport/Theta.python.cpp | 4 +- .../URR_probabilityTables1d.python.cpp | 4 +- .../transport/UnresolvedRegion.python.cpp | 4 +- .../src/v2.0/transport/Weighted.python.cpp | 4 +- .../src/v2.0/tsl/BraggEnergy.python.cpp | 2 +- .../v2.0/tsl/DebyeWallerIntegral.python.cpp | 2 +- .../tsl/DistinctScatteringKernel.python.cpp | 2 +- .../src/v2.0/tsl/PhononSpectrum.python.cpp | 2 +- .../python/src/v2.0/tsl/S_table.python.cpp | 2 +- .../v2.0/tsl/SelfScatteringKernel.python.cpp | 2 +- .../src/v2.0/tsl/StructureFactor.python.cpp | 2 +- .../src/v2.0/tsl/T_effective.python.cpp | 2 +- standards/gnds-2.0/try/src/try/v2.0.hpp | 31 + .../try/src/try/v2.0/atomic/FormFactor.hpp | 16 +- .../v2.0/atomic/ImaginaryAnomalousFactor.hpp | 16 +- .../try/v2.0/atomic/RealAnomalousFactor.hpp | 16 +- .../src/try/v2.0/atomic/ScatteringFactor.hpp | 16 +- .../try/src/try/v2.0/common/Energy.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/common/Mass.hpp | 8 +- .../try/src/try/v2.0/common/Probability.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/common/Q.hpp | 30 +- .../try/src/try/v2.0/containers/Array.hpp | 160 +++ .../try/v2.0/containers/Array/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Axes.hpp | 122 ++ .../try/v2.0/containers/Axes/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Axis.hpp | 118 ++ .../try/v2.0/containers/Axis/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Column.hpp | 124 ++ .../try/v2.0/containers/Column/src/custom.hpp | 4 + .../src/try/v2.0/containers/ColumnHeaders.hpp | 106 ++ .../containers/ColumnHeaders/src/custom.hpp | 4 + .../src/try/v2.0/containers/Constant1d.hpp | 139 +++ .../v2.0/containers/Constant1d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Data.hpp | 121 ++ .../try/v2.0/containers/Data/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Double.hpp | 118 ++ .../try/v2.0/containers/Double/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Fraction.hpp | 118 ++ .../v2.0/containers/Fraction/src/custom.hpp | 4 + .../src/try/v2.0/containers/Function1ds.hpp | 123 ++ .../containers/Function1ds/src/custom.hpp | 4 + .../src/try/v2.0/containers/Function2ds.hpp | 114 ++ .../containers/Function2ds/src/custom.hpp | 4 + .../src/try/v2.0/containers/Function3ds.hpp | 114 ++ .../containers/Function3ds/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Grid.hpp | 153 +++ .../try/v2.0/containers/Grid/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Gridded1d.hpp | 122 ++ .../v2.0/containers/Gridded1d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Gridded2d.hpp | 122 ++ .../v2.0/containers/Gridded2d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Gridded3d.hpp | 122 ++ .../v2.0/containers/Gridded3d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Integer.hpp | 118 ++ .../v2.0/containers/Integer/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Legendre.hpp | 147 +++ .../v2.0/containers/Legendre/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Link.hpp | 106 ++ .../try/v2.0/containers/Link/src/custom.hpp | 4 + .../src/try/v2.0/containers/Polynomial1d.hpp | 152 +++ .../containers/Polynomial1d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Regions1d.hpp | 128 ++ .../v2.0/containers/Regions1d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Regions2d.hpp | 128 ++ .../v2.0/containers/Regions2d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Regions3d.hpp | 128 ++ .../v2.0/containers/Regions3d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/String.hpp | 118 ++ .../try/v2.0/containers/String/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Table.hpp | 140 +++ .../try/v2.0/containers/Table/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Values.hpp | 152 +++ .../try/v2.0/containers/Values/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/XYs1d.hpp | 146 +++ .../try/v2.0/containers/XYs1d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/XYs2d.hpp | 146 +++ .../try/v2.0/containers/XYs2d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/XYs3d.hpp | 134 +++ .../try/v2.0/containers/XYs3d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Ys1d.hpp | 134 +++ .../try/v2.0/containers/Ys1d/src/custom.hpp | 4 + .../try/v2.0/covariance/ColumnSensitivity.hpp | 8 +- .../src/try/v2.0/covariance/Covariance.hpp | 8 +- .../try/v2.0/covariance/CovarianceMatrix.hpp | 6 +- .../covariance/ParameterCovarianceMatrix.hpp | 8 +- .../try/v2.0/covariance/RowSensitivity.hpp | 8 +- .../try/v2.0/covariance/SandwichProduct.hpp | 8 +- .../ShortRangeSelfScalingVariance.hpp | 8 +- .../cpTransport/ImaginaryInterferenceTerm.hpp | 16 +- .../src/try/v2.0/cpTransport/NuclearTerm.hpp | 16 +- .../v2.0/cpTransport/RealInterferenceTerm.hpp | 16 +- .../src/try/v2.0/fissionFragmentData/Rate.hpp | 8 +- .../fissionTransport/DelayedBetaEnergy.hpp | 8 +- .../fissionTransport/DelayedGammaEnergy.hpp | 8 +- .../fissionTransport/DelayedNeutronKE.hpp | 16 +- .../v2.0/fissionTransport/NeutrinoEnergy.hpp | 8 +- .../fissionTransport/NonNeutrinoEnergy.hpp | 8 +- .../fissionTransport/PromptGammaEnergy.hpp | 16 +- .../v2.0/fissionTransport/PromptNeutronKE.hpp | 16 +- .../v2.0/fissionTransport/PromptProductKE.hpp | 16 +- .../try/src/try/v2.0/fissionTransport/T_M.hpp | 8 +- .../try/v2.0/fissionTransport/TotalEnergy.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/fpy/Time.hpp | 12 +- .../gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp | 8 +- standards/gnds-2.0/try/src/try/v2.0/key.hpp | 65 ++ .../try/src/try/v2.0/pops/BindingEnergy.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/pops/Charge.hpp | 12 +- .../try/src/try/v2.0/pops/Continuum.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/pops/Energy.hpp | 8 +- .../try/src/try/v2.0/pops/Halflife.hpp | 12 +- .../try/src/try/v2.0/pops/LogNormal.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/pops/Mass.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/pops/Parity.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp | 16 +- .../try/src/try/v2.0/pops/Probability.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/pops/Q.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/pops/Spin.hpp | 8 +- .../try/src/try/v2.0/pops/Standard.hpp | 8 +- .../try/v2.0/processed/AvailableEnergy.hpp | 16 +- .../try/v2.0/processed/AvailableMomentum.hpp | 16 +- .../v2.0/processed/AverageProductEnergy.hpp | 24 +- .../v2.0/processed/AverageProductMomentum.hpp | 24 +- .../src/try/v2.0/processed/MultiGroup3d.hpp | 8 +- .../try/v2.0/resonances/ExternalRMatrix.hpp | 8 +- .../try/v2.0/resonances/HardSphereRadius.hpp | 8 +- .../src/try/v2.0/resonances/LevelSpacing.hpp | 24 +- .../v2.0/resonances/ResonanceParameters.hpp | 8 +- .../try/v2.0/resonances/ResonanceReaction.hpp | 8 +- .../try/v2.0/resonances/ScatteringRadius.hpp | 18 +- .../try/src/try/v2.0/resonances/Width.hpp | 24 +- .../gnds-2.0/try/src/try/v2.0/styles/Flux.hpp | 8 +- .../try/v2.0/styles/GriddedCrossSection.hpp | 8 +- .../try/src/try/v2.0/styles/InverseSpeed.hpp | 8 +- .../try/src/try/v2.0/styles/MultiGroup.hpp | 8 +- .../try/src/try/v2.0/styles/SigmaZeros.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/transport/A.hpp | 12 +- .../src/try/v2.0/transport/AngularEnergy.hpp | 8 +- .../src/try/v2.0/transport/AngularTwoBody.hpp | 16 +- .../v2.0/transport/Angular_uncorrelated.hpp | 8 +- .../src/try/v2.0/transport/CrossSection.hpp | 24 +- .../src/try/v2.0/transport/DiscreteGamma.hpp | 8 +- .../DoubleDifferentialCrossSection.hpp | 16 +- .../src/try/v2.0/transport/EnergyAngular.hpp | 8 +- .../v2.0/transport/Energy_uncorrelated.hpp | 16 +- .../gnds-2.0/try/src/try/v2.0/transport/F.hpp | 12 +- .../try/src/try/v2.0/transport/FastRegion.hpp | 12 +- .../gnds-2.0/try/src/try/v2.0/transport/G.hpp | 16 +- .../src/try/v2.0/transport/MultiGroup3d.hpp | 8 +- .../src/try/v2.0/transport/Multiplicity.hpp | 30 +- .../src/try/v2.0/transport/PrimaryGamma.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/transport/R.hpp | 12 +- .../src/try/v2.0/transport/ResolvedRegion.hpp | 12 +- .../try/src/try/v2.0/transport/Theta.hpp | 16 +- .../transport/URR_probabilityTables1d.hpp | 12 +- .../try/v2.0/transport/UnresolvedRegion.hpp | 12 +- .../try/src/try/v2.0/transport/Weighted.hpp | 16 +- .../try/src/try/v2.0/tsl/BraggEnergy.hpp | 8 +- .../src/try/v2.0/tsl/DebyeWallerIntegral.hpp | 8 +- .../try/v2.0/tsl/DistinctScatteringKernel.hpp | 8 +- .../try/src/try/v2.0/tsl/PhononSpectrum.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp | 8 +- .../src/try/v2.0/tsl/SelfScatteringKernel.hpp | 6 +- .../try/src/try/v2.0/tsl/StructureFactor.hpp | 8 +- .../try/src/try/v2.0/tsl/T_effective.hpp | 8 +- 519 files changed, 26685 insertions(+), 971 deletions(-) create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Array.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Array.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Axes.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Axes.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Axis.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Axis.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Column.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Column.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Data.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Data.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Double.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Grid.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Grid.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Integer.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Integer.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Link.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Link.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/String.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/String.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Table.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Table.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Values.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Values.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.h create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Axes.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Column.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/ColumnHeaders.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Data.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Fraction.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Function1ds.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Function2ds.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Function3ds.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Grid.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Gridded1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Gridded2d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Gridded3d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Integer.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Legendre.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/String.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Table.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Values.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Ys1d.python.cpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Array/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Axes.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Axes/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Axis/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Column.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Column/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Data.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Data/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Double/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Fraction.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Fraction/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Grid.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Grid/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Integer.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Integer/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Legendre.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Legendre/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Link/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/String.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/String/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Table.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Table/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Values.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Values/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d/src/custom.hpp diff --git a/standards/gnds-2.0/gnds-2.0.json b/standards/gnds-2.0/gnds-2.0.json index ba5640f31..0996051dd 100644 --- a/standards/gnds-2.0/gnds-2.0.json +++ b/standards/gnds-2.0/gnds-2.0.json @@ -5,29 +5,17 @@ "JSONDir": ".", "JSONFiles": [ - "summary_appData.json", - "summary_atomic.json", - "summary_covariance.json", - "summary_fissionFragmentData.json", - "summary_mapfile.json", - "summary_cpTransport.json", - "summary_fpy.json", - "summary_fissionTransport.json", - "summary_processed.json", - "summary_tsl.json", - "summary_resonance.json" - ], - "JSONFiles todo we're working though these...": [ "summary_appData.json", "summary_atomic.json", "summary_common.json", - "summary_gpdc.json", "summary_covariance.json", "summary_cpTransport.json", "summary_documentation.json", - "summary_fissionTransport.json", "summary_fissionFragmentData.json", + "summary_fissionTransport.json", "summary_fpy.json", + "summary_gpdc.json", + "summary_mapfile.json", "summary_pops.json", "summary_processed.json", "summary_resonance.json", @@ -35,7 +23,7 @@ "summary_transport.json", "summary_tsl.json" ], - "Remark. The following should NOT be part of the code generation!": [ + "Remark. The following should NOT now be part of the code generation!": [ "summary_abstract.json", "summary_basic.json" ], diff --git a/standards/gnds-2.0/try/c/src/v2.0.h b/standards/gnds-2.0/try/c/src/v2.0.h index 53bfaf604..5bd34e34f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0.h +++ b/standards/gnds-2.0/try/c/src/v2.0.h @@ -352,4 +352,35 @@ #include "v2.0/documentation/Bibitem.h" #include "v2.0/documentation/EndfCompatible.h" +#include "v2.0/containers/Double.h" +#include "v2.0/containers/Integer.h" +#include "v2.0/containers/Fraction.h" +#include "v2.0/containers/String.h" +#include "v2.0/containers/Link.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Axis.h" +#include "v2.0/containers/Grid.h" +#include "v2.0/containers/Values.h" +#include "v2.0/containers/Array.h" +#include "v2.0/containers/Table.h" +#include "v2.0/containers/ColumnHeaders.h" +#include "v2.0/containers/Column.h" +#include "v2.0/containers/Data.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Ys1d.h" +#include "v2.0/containers/Legendre.h" +#include "v2.0/containers/Polynomial1d.h" +#include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Function1ds.h" +#include "v2.0/containers/XYs3d.h" +#include "v2.0/containers/Function2ds.h" +#include "v2.0/containers/Regions1d.h" +#include "v2.0/containers/Regions2d.h" +#include "v2.0/containers/Regions3d.h" +#include "v2.0/containers/Function3ds.h" +#include "v2.0/containers/Gridded1d.h" +#include "v2.0/containers/Gridded2d.h" +#include "v2.0/containers/Gridded3d.h" + #endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp index 41aa91a80..e6a322a24 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h index 7eba7e018..e5c119713 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_ATOMIC_FORMFACTOR #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp index dd7bf83f5..178ed8464 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h index 9517d3b63..4c74fa0fc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp index e2d97a974..f8bc7291d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h index 5ca6bc813..71b1ca802 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp index 0b2ce42d7..e27a5db22 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h b/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h index a2abac1d9..6fdc3d34e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h +++ b/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_ATOMIC_SCATTERINGFACTOR #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp index 7e4ee218d..25b22cb6a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp @@ -24,7 +24,7 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- @@ -394,3 +394,138 @@ EnergyDoubleSet( detail::setByIndex (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); } + +// Has, by label +int +EnergyDoubleHasByLabel( + ConstHandle2ConstEnergy This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByLabel", + This, extract::Double, meta::label, label); +} + +// Get, by label, const +Handle2ConstDouble +EnergyDoubleGetByLabelConst( + ConstHandle2ConstEnergy This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabelConst", + This, extract::Double, meta::label, label); +} + +// Get, by label, non-const +Handle2Double +EnergyDoubleGetByLabel( + ConstHandle2Energy This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabel", + This, extract::Double, meta::label, label); +} + +// Set, by label +void +EnergyDoubleSetByLabel( + ConstHandle2Energy This, + const XMLName label, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByLabel", + This, extract::Double, meta::label, label, Double); +} + +// Has, by unit +int +EnergyDoubleHasByUnit( + ConstHandle2ConstEnergy This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByUnit", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstDouble +EnergyDoubleGetByUnitConst( + ConstHandle2ConstEnergy This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnitConst", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Double +EnergyDoubleGetByUnit( + ConstHandle2Energy This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnit", + This, extract::Double, meta::unit, unit); +} + +// Set, by unit +void +EnergyDoubleSetByUnit( + ConstHandle2Energy This, + const XMLName unit, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByUnit", + This, extract::Double, meta::unit, unit, Double); +} + +// Has, by value +int +EnergyDoubleHasByValue( + ConstHandle2ConstEnergy This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByValue", + This, extract::Double, meta::value, value); +} + +// Get, by value, const +Handle2ConstDouble +EnergyDoubleGetByValueConst( + ConstHandle2ConstEnergy This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValueConst", + This, extract::Double, meta::value, value); +} + +// Get, by value, non-const +Handle2Double +EnergyDoubleGetByValue( + ConstHandle2Energy This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValue", + This, extract::Double, meta::value, value); +} + +// Set, by value +void +EnergyDoubleSetByValue( + ConstHandle2Energy This, + const Float64 value, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByValue", + This, extract::Double, meta::value, value, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h index 8cc717ed3..3c366c64e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" @@ -274,6 +274,93 @@ EnergyDoubleSet( ConstHandle2ConstDouble Double ); +// +++ Has, by label +extern_c int +EnergyDoubleHasByLabel( + ConstHandle2ConstEnergy This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDouble +EnergyDoubleGetByLabelConst( + ConstHandle2ConstEnergy This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Double +EnergyDoubleGetByLabel( + ConstHandle2Energy This, + const XMLName label +); + +// +++ Set, by label +extern_c void +EnergyDoubleSetByLabel( + ConstHandle2Energy This, + const XMLName label, + ConstHandle2ConstDouble Double +); + +// +++ Has, by unit +extern_c int +EnergyDoubleHasByUnit( + ConstHandle2ConstEnergy This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstDouble +EnergyDoubleGetByUnitConst( + ConstHandle2ConstEnergy This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Double +EnergyDoubleGetByUnit( + ConstHandle2Energy This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +EnergyDoubleSetByUnit( + ConstHandle2Energy This, + const XMLName unit, + ConstHandle2ConstDouble Double +); + +// +++ Has, by value +extern_c int +EnergyDoubleHasByValue( + ConstHandle2ConstEnergy This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstDouble +EnergyDoubleGetByValueConst( + ConstHandle2ConstEnergy This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Double +EnergyDoubleGetByValue( + ConstHandle2Energy This, + const Float64 value +); + +// +++ Set, by value +extern_c void +EnergyDoubleSetByValue( + ConstHandle2Energy This, + const Float64 value, + ConstHandle2ConstDouble Double +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp index eabc97d24..29a09a90a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp @@ -24,7 +24,7 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- @@ -394,3 +394,138 @@ MassDoubleSet( detail::setByIndex (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); } + +// Has, by label +int +MassDoubleHasByLabel( + ConstHandle2ConstMass This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByLabel", + This, extract::Double, meta::label, label); +} + +// Get, by label, const +Handle2ConstDouble +MassDoubleGetByLabelConst( + ConstHandle2ConstMass This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabelConst", + This, extract::Double, meta::label, label); +} + +// Get, by label, non-const +Handle2Double +MassDoubleGetByLabel( + ConstHandle2Mass This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabel", + This, extract::Double, meta::label, label); +} + +// Set, by label +void +MassDoubleSetByLabel( + ConstHandle2Mass This, + const XMLName label, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByLabel", + This, extract::Double, meta::label, label, Double); +} + +// Has, by unit +int +MassDoubleHasByUnit( + ConstHandle2ConstMass This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByUnit", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstDouble +MassDoubleGetByUnitConst( + ConstHandle2ConstMass This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnitConst", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Double +MassDoubleGetByUnit( + ConstHandle2Mass This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnit", + This, extract::Double, meta::unit, unit); +} + +// Set, by unit +void +MassDoubleSetByUnit( + ConstHandle2Mass This, + const XMLName unit, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByUnit", + This, extract::Double, meta::unit, unit, Double); +} + +// Has, by value +int +MassDoubleHasByValue( + ConstHandle2ConstMass This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByValue", + This, extract::Double, meta::value, value); +} + +// Get, by value, const +Handle2ConstDouble +MassDoubleGetByValueConst( + ConstHandle2ConstMass This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValueConst", + This, extract::Double, meta::value, value); +} + +// Get, by value, non-const +Handle2Double +MassDoubleGetByValue( + ConstHandle2Mass This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValue", + This, extract::Double, meta::value, value); +} + +// Set, by value +void +MassDoubleSetByValue( + ConstHandle2Mass This, + const Float64 value, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByValue", + This, extract::Double, meta::value, value, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h index f8a9cd973..1732b6089 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" @@ -274,6 +274,93 @@ MassDoubleSet( ConstHandle2ConstDouble Double ); +// +++ Has, by label +extern_c int +MassDoubleHasByLabel( + ConstHandle2ConstMass This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDouble +MassDoubleGetByLabelConst( + ConstHandle2ConstMass This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Double +MassDoubleGetByLabel( + ConstHandle2Mass This, + const XMLName label +); + +// +++ Set, by label +extern_c void +MassDoubleSetByLabel( + ConstHandle2Mass This, + const XMLName label, + ConstHandle2ConstDouble Double +); + +// +++ Has, by unit +extern_c int +MassDoubleHasByUnit( + ConstHandle2ConstMass This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstDouble +MassDoubleGetByUnitConst( + ConstHandle2ConstMass This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Double +MassDoubleGetByUnit( + ConstHandle2Mass This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +MassDoubleSetByUnit( + ConstHandle2Mass This, + const XMLName unit, + ConstHandle2ConstDouble Double +); + +// +++ Has, by value +extern_c int +MassDoubleHasByValue( + ConstHandle2ConstMass This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstDouble +MassDoubleGetByValueConst( + ConstHandle2ConstMass This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Double +MassDoubleGetByValue( + ConstHandle2Mass This, + const Float64 value +); + +// +++ Set, by value +extern_c void +MassDoubleSetByValue( + ConstHandle2Mass This, + const Float64 value, + ConstHandle2ConstDouble Double +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp index 7a7879140..da02974a3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h b/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h index ddb24e185..87c8e93b3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_COMMON_PROBABILITY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp index c2ae9c27e..8648619e2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp @@ -23,11 +23,11 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPConstant1d = unknownNamespace::Constant1d; -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; -using CPPPolynomial1d = unknownNamespace::Polynomial1d; -using CPPGridded1d = unknownNamespace::Gridded1d; +using CPPConstant1d = containers::Constant1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; +using CPPPolynomial1d = containers::Polynomial1d; +using CPPGridded1d = containers::Gridded1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h b/standards/gnds-2.0/try/c/src/v2.0/common/Q.h index cb07be5f6..a9be10af7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Q.h @@ -34,11 +34,11 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Constant1d.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" -#include "v2.0/unknownNamespace/Gridded1d.h" +#include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" +#include "v2.0/containers/Polynomial1d.h" +#include "v2.0/containers/Gridded1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Array.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Array.cpp new file mode 100644 index 000000000..216a5b948 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Array.cpp @@ -0,0 +1,1028 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Array.hpp" +#include "Array.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ArrayClass; +using CPP = multigroup::Array; + +static const std::string CLASSNAME = "Array"; + +namespace extract { + static auto shape = [](auto &obj) { return &obj.shape; }; + static auto compression = [](auto &obj) { return &obj.compression; }; + static auto symmetry = [](auto &obj) { return &obj.symmetry; }; + static auto permutation = [](auto &obj) { return &obj.permutation; }; + static auto storageOrder = [](auto &obj) { return &obj.storageOrder; }; + static auto offset = [](auto &obj) { return &obj.offset; }; + static auto values = [](auto &obj) { return &obj.values; }; + static auto array = [](auto &obj) { return &obj.array; }; +} + +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstArray +ArrayDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Array +ArrayDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstArray +ArrayCreateConst( + const IntegerTuple shape, + const UTF8Text compression, + const UTF8Text symmetry, + const UTF8Text permutation, + const UTF8Text storageOrder, + const IntegerTuple offset, + ConstHandle2Values *const values, const size_t valuesSize, + ConstHandle2Array *const array, const size_t arraySize +) { + ConstHandle2Array handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + shape, + compression, + symmetry, + permutation, + storageOrder, + offset, + std::vector{}, + std::vector{} + ); + for (size_t ValuesN = 0; ValuesN < valuesSize; ++ValuesN) + ArrayValuesAdd(handle, values[ValuesN]); + for (size_t ArrayN = 0; ArrayN < arraySize; ++ArrayN) + ArrayArrayAdd(handle, array[ArrayN]); + return handle; +} + +// Create, general +Handle2Array +ArrayCreate( + const IntegerTuple shape, + const UTF8Text compression, + const UTF8Text symmetry, + const UTF8Text permutation, + const UTF8Text storageOrder, + const IntegerTuple offset, + ConstHandle2Values *const values, const size_t valuesSize, + ConstHandle2Array *const array, const size_t arraySize +) { + ConstHandle2Array handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + shape, + compression, + symmetry, + permutation, + storageOrder, + offset, + std::vector{}, + std::vector{} + ); + for (size_t ValuesN = 0; ValuesN < valuesSize; ++ValuesN) + ArrayValuesAdd(handle, values[ValuesN]); + for (size_t ArrayN = 0; ArrayN < arraySize; ++ArrayN) + ArrayArrayAdd(handle, array[ArrayN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ArrayAssign(ConstHandle2Array This, ConstHandle2ConstArray from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ArrayDelete(ConstHandle2ConstArray This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ArrayRead(ConstHandle2Array This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ArrayWrite(ConstHandle2ConstArray This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ArrayPrint(ConstHandle2ConstArray This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ArrayPrintXML(ConstHandle2ConstArray This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ArrayPrintJSON(ConstHandle2ConstArray This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: shape +// ----------------------------------------------------------------------------- + +// Has +int +ArrayShapeHas(ConstHandle2ConstArray This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ShapeHas", This, extract::shape); +} + +// Get +// Returns by value +IntegerTuple +ArrayShapeGet(ConstHandle2ConstArray This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ShapeGet", This, extract::shape); +} + +// Set +void +ArrayShapeSet(ConstHandle2Array This, const IntegerTuple shape) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ShapeSet", This, extract::shape, shape); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: compression +// ----------------------------------------------------------------------------- + +// Has +int +ArrayCompressionHas(ConstHandle2ConstArray This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CompressionHas", This, extract::compression); +} + +// Get +// Returns by value +UTF8Text +ArrayCompressionGet(ConstHandle2ConstArray This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CompressionGet", This, extract::compression); +} + +// Set +void +ArrayCompressionSet(ConstHandle2Array This, const UTF8Text compression) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CompressionSet", This, extract::compression, compression); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: symmetry +// ----------------------------------------------------------------------------- + +// Has +int +ArraySymmetryHas(ConstHandle2ConstArray This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SymmetryHas", This, extract::symmetry); +} + +// Get +// Returns by value +UTF8Text +ArraySymmetryGet(ConstHandle2ConstArray This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SymmetryGet", This, extract::symmetry); +} + +// Set +void +ArraySymmetrySet(ConstHandle2Array This, const UTF8Text symmetry) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SymmetrySet", This, extract::symmetry, symmetry); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: permutation +// ----------------------------------------------------------------------------- + +// Has +int +ArrayPermutationHas(ConstHandle2ConstArray This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PermutationHas", This, extract::permutation); +} + +// Get +// Returns by value +UTF8Text +ArrayPermutationGet(ConstHandle2ConstArray This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PermutationGet", This, extract::permutation); +} + +// Set +void +ArrayPermutationSet(ConstHandle2Array This, const UTF8Text permutation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PermutationSet", This, extract::permutation, permutation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: storageOrder +// ----------------------------------------------------------------------------- + +// Has +int +ArrayStorageOrderHas(ConstHandle2ConstArray This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StorageOrderHas", This, extract::storageOrder); +} + +// Get +// Returns by value +UTF8Text +ArrayStorageOrderGet(ConstHandle2ConstArray This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StorageOrderGet", This, extract::storageOrder); +} + +// Set +void +ArrayStorageOrderSet(ConstHandle2Array This, const UTF8Text storageOrder) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StorageOrderSet", This, extract::storageOrder, storageOrder); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: offset +// ----------------------------------------------------------------------------- + +// Has +int +ArrayOffsetHas(ConstHandle2ConstArray This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OffsetHas", This, extract::offset); +} + +// Get +// Returns by value +IntegerTuple +ArrayOffsetGet(ConstHandle2ConstArray This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OffsetGet", This, extract::offset); +} + +// Set +void +ArrayOffsetSet(ConstHandle2Array This, const IntegerTuple offset) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OffsetSet", This, extract::offset, offset); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +ArrayValuesHas(ConstHandle2ConstArray This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Clear +void +ArrayValuesClear(ConstHandle2Array This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ValuesClear", This, extract::values); +} + +// Size +size_t +ArrayValuesSize(ConstHandle2ConstArray This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ValuesSize", This, extract::values); +} + +// Add +void +ArrayValuesAdd(ConstHandle2Array This, ConstHandle2ConstValues values) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ValuesAdd", This, extract::values, values); +} + +// Get, by index \in [0,size), const +Handle2ConstValues +ArrayValuesGetConst(ConstHandle2ConstArray This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Values +ArrayValuesGet(ConstHandle2Array This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values, index_); +} + +// Set, by index \in [0,size) +void +ArrayValuesSet( + ConstHandle2Array This, + const size_t index_, + ConstHandle2ConstValues values +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, index_, values); +} + +// Has, by valueType +int +ArrayValuesHasByValueType( + ConstHandle2ConstArray This, + const UTF8Text valueType +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ValuesHasByValueType", + This, extract::values, meta::valueType, valueType); +} + +// Get, by valueType, const +Handle2ConstValues +ArrayValuesGetByValueTypeConst( + ConstHandle2ConstArray This, + const UTF8Text valueType +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByValueTypeConst", + This, extract::values, meta::valueType, valueType); +} + +// Get, by valueType, non-const +Handle2Values +ArrayValuesGetByValueType( + ConstHandle2Array This, + const UTF8Text valueType +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByValueType", + This, extract::values, meta::valueType, valueType); +} + +// Set, by valueType +void +ArrayValuesSetByValueType( + ConstHandle2Array This, + const UTF8Text valueType, + ConstHandle2ConstValues values +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ValuesSetByValueType", + This, extract::values, meta::valueType, valueType, values); +} + +// Has, by start +int +ArrayValuesHasByStart( + ConstHandle2ConstArray This, + const Integer32 start +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ValuesHasByStart", + This, extract::values, meta::start, start); +} + +// Get, by start, const +Handle2ConstValues +ArrayValuesGetByStartConst( + ConstHandle2ConstArray This, + const Integer32 start +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByStartConst", + This, extract::values, meta::start, start); +} + +// Get, by start, non-const +Handle2Values +ArrayValuesGetByStart( + ConstHandle2Array This, + const Integer32 start +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByStart", + This, extract::values, meta::start, start); +} + +// Set, by start +void +ArrayValuesSetByStart( + ConstHandle2Array This, + const Integer32 start, + ConstHandle2ConstValues values +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ValuesSetByStart", + This, extract::values, meta::start, start, values); +} + +// Has, by length +int +ArrayValuesHasByLength( + ConstHandle2ConstArray This, + const Integer32 length +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ValuesHasByLength", + This, extract::values, meta::length, length); +} + +// Get, by length, const +Handle2ConstValues +ArrayValuesGetByLengthConst( + ConstHandle2ConstArray This, + const Integer32 length +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByLengthConst", + This, extract::values, meta::length, length); +} + +// Get, by length, non-const +Handle2Values +ArrayValuesGetByLength( + ConstHandle2Array This, + const Integer32 length +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByLength", + This, extract::values, meta::length, length); +} + +// Set, by length +void +ArrayValuesSetByLength( + ConstHandle2Array This, + const Integer32 length, + ConstHandle2ConstValues values +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ValuesSetByLength", + This, extract::values, meta::length, length, values); +} + +// Has, by href +int +ArrayValuesHasByHref( + ConstHandle2ConstArray This, + const UTF8Text href +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ValuesHasByHref", + This, extract::values, meta::href, href); +} + +// Get, by href, const +Handle2ConstValues +ArrayValuesGetByHrefConst( + ConstHandle2ConstArray This, + const UTF8Text href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByHrefConst", + This, extract::values, meta::href, href); +} + +// Get, by href, non-const +Handle2Values +ArrayValuesGetByHref( + ConstHandle2Array This, + const UTF8Text href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByHref", + This, extract::values, meta::href, href); +} + +// Set, by href +void +ArrayValuesSetByHref( + ConstHandle2Array This, + const UTF8Text href, + ConstHandle2ConstValues values +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ValuesSetByHref", + This, extract::values, meta::href, href, values); +} + +// Has, by startIndex +int +ArrayValuesHasByStartIndex( + ConstHandle2ConstArray This, + const Integer32 startIndex +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ValuesHasByStartIndex", + This, extract::values, meta::startIndex, startIndex); +} + +// Get, by startIndex, const +Handle2ConstValues +ArrayValuesGetByStartIndexConst( + ConstHandle2ConstArray This, + const Integer32 startIndex +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByStartIndexConst", + This, extract::values, meta::startIndex, startIndex); +} + +// Get, by startIndex, non-const +Handle2Values +ArrayValuesGetByStartIndex( + ConstHandle2Array This, + const Integer32 startIndex +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByStartIndex", + This, extract::values, meta::startIndex, startIndex); +} + +// Set, by startIndex +void +ArrayValuesSetByStartIndex( + ConstHandle2Array This, + const Integer32 startIndex, + ConstHandle2ConstValues values +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ValuesSetByStartIndex", + This, extract::values, meta::startIndex, startIndex, values); +} + +// Has, by count +int +ArrayValuesHasByCount( + ConstHandle2ConstArray This, + const Integer32 count +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ValuesHasByCount", + This, extract::values, meta::count, count); +} + +// Get, by count, const +Handle2ConstValues +ArrayValuesGetByCountConst( + ConstHandle2ConstArray This, + const Integer32 count +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByCountConst", + This, extract::values, meta::count, count); +} + +// Get, by count, non-const +Handle2Values +ArrayValuesGetByCount( + ConstHandle2Array This, + const Integer32 count +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ValuesGetByCount", + This, extract::values, meta::count, count); +} + +// Set, by count +void +ArrayValuesSetByCount( + ConstHandle2Array This, + const Integer32 count, + ConstHandle2ConstValues values +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ValuesSetByCount", + This, extract::values, meta::count, count, values); +} + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// Has +int +ArrayArrayHas(ConstHandle2ConstArray This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ArrayHas", This, extract::array); +} + +// Clear +void +ArrayArrayClear(ConstHandle2Array This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ArrayClear", This, extract::array); +} + +// Size +size_t +ArrayArraySize(ConstHandle2ConstArray This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ArraySize", This, extract::array); +} + +// Add +void +ArrayArrayAdd(ConstHandle2Array This, ConstHandle2ConstArray array) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ArrayAdd", This, extract::array, array); +} + +// Get, by index \in [0,size), const +Handle2ConstArray +ArrayArrayGetConst(ConstHandle2ConstArray This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ArrayGetConst", This, extract::array, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Array +ArrayArrayGet(ConstHandle2Array This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ArrayGet", This, extract::array, index_); +} + +// Set, by index \in [0,size) +void +ArrayArraySet( + ConstHandle2Array This, + const size_t index_, + ConstHandle2ConstArray array +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ArraySet", This, extract::array, index_, array); +} + +// Has, by shape +int +ArrayArrayHasByShape( + ConstHandle2ConstArray This, + const IntegerTuple shape +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ArrayHasByShape", + This, extract::array, meta::shape, shape); +} + +// Get, by shape, const +Handle2ConstArray +ArrayArrayGetByShapeConst( + ConstHandle2ConstArray This, + const IntegerTuple shape +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByShapeConst", + This, extract::array, meta::shape, shape); +} + +// Get, by shape, non-const +Handle2Array +ArrayArrayGetByShape( + ConstHandle2Array This, + const IntegerTuple shape +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByShape", + This, extract::array, meta::shape, shape); +} + +// Set, by shape +void +ArrayArraySetByShape( + ConstHandle2Array This, + const IntegerTuple shape, + ConstHandle2ConstArray array +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ArraySetByShape", + This, extract::array, meta::shape, shape, array); +} + +// Has, by compression +int +ArrayArrayHasByCompression( + ConstHandle2ConstArray This, + const UTF8Text compression +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ArrayHasByCompression", + This, extract::array, meta::compression, compression); +} + +// Get, by compression, const +Handle2ConstArray +ArrayArrayGetByCompressionConst( + ConstHandle2ConstArray This, + const UTF8Text compression +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByCompressionConst", + This, extract::array, meta::compression, compression); +} + +// Get, by compression, non-const +Handle2Array +ArrayArrayGetByCompression( + ConstHandle2Array This, + const UTF8Text compression +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByCompression", + This, extract::array, meta::compression, compression); +} + +// Set, by compression +void +ArrayArraySetByCompression( + ConstHandle2Array This, + const UTF8Text compression, + ConstHandle2ConstArray array +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ArraySetByCompression", + This, extract::array, meta::compression, compression, array); +} + +// Has, by symmetry +int +ArrayArrayHasBySymmetry( + ConstHandle2ConstArray This, + const UTF8Text symmetry +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ArrayHasBySymmetry", + This, extract::array, meta::symmetry, symmetry); +} + +// Get, by symmetry, const +Handle2ConstArray +ArrayArrayGetBySymmetryConst( + ConstHandle2ConstArray This, + const UTF8Text symmetry +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetBySymmetryConst", + This, extract::array, meta::symmetry, symmetry); +} + +// Get, by symmetry, non-const +Handle2Array +ArrayArrayGetBySymmetry( + ConstHandle2Array This, + const UTF8Text symmetry +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetBySymmetry", + This, extract::array, meta::symmetry, symmetry); +} + +// Set, by symmetry +void +ArrayArraySetBySymmetry( + ConstHandle2Array This, + const UTF8Text symmetry, + ConstHandle2ConstArray array +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ArraySetBySymmetry", + This, extract::array, meta::symmetry, symmetry, array); +} + +// Has, by permutation +int +ArrayArrayHasByPermutation( + ConstHandle2ConstArray This, + const UTF8Text permutation +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ArrayHasByPermutation", + This, extract::array, meta::permutation, permutation); +} + +// Get, by permutation, const +Handle2ConstArray +ArrayArrayGetByPermutationConst( + ConstHandle2ConstArray This, + const UTF8Text permutation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByPermutationConst", + This, extract::array, meta::permutation, permutation); +} + +// Get, by permutation, non-const +Handle2Array +ArrayArrayGetByPermutation( + ConstHandle2Array This, + const UTF8Text permutation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByPermutation", + This, extract::array, meta::permutation, permutation); +} + +// Set, by permutation +void +ArrayArraySetByPermutation( + ConstHandle2Array This, + const UTF8Text permutation, + ConstHandle2ConstArray array +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ArraySetByPermutation", + This, extract::array, meta::permutation, permutation, array); +} + +// Has, by storageOrder +int +ArrayArrayHasByStorageOrder( + ConstHandle2ConstArray This, + const UTF8Text storageOrder +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ArrayHasByStorageOrder", + This, extract::array, meta::storageOrder, storageOrder); +} + +// Get, by storageOrder, const +Handle2ConstArray +ArrayArrayGetByStorageOrderConst( + ConstHandle2ConstArray This, + const UTF8Text storageOrder +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByStorageOrderConst", + This, extract::array, meta::storageOrder, storageOrder); +} + +// Get, by storageOrder, non-const +Handle2Array +ArrayArrayGetByStorageOrder( + ConstHandle2Array This, + const UTF8Text storageOrder +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByStorageOrder", + This, extract::array, meta::storageOrder, storageOrder); +} + +// Set, by storageOrder +void +ArrayArraySetByStorageOrder( + ConstHandle2Array This, + const UTF8Text storageOrder, + ConstHandle2ConstArray array +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ArraySetByStorageOrder", + This, extract::array, meta::storageOrder, storageOrder, array); +} + +// Has, by offset +int +ArrayArrayHasByOffset( + ConstHandle2ConstArray This, + const IntegerTuple offset +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ArrayHasByOffset", + This, extract::array, meta::offset, offset); +} + +// Get, by offset, const +Handle2ConstArray +ArrayArrayGetByOffsetConst( + ConstHandle2ConstArray This, + const IntegerTuple offset +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByOffsetConst", + This, extract::array, meta::offset, offset); +} + +// Get, by offset, non-const +Handle2Array +ArrayArrayGetByOffset( + ConstHandle2Array This, + const IntegerTuple offset +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ArrayGetByOffset", + This, extract::array, meta::offset, offset); +} + +// Set, by offset +void +ArrayArraySetByOffset( + ConstHandle2Array This, + const IntegerTuple offset, + ConstHandle2ConstArray array +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ArraySetByOffset", + This, extract::array, meta::offset, offset, array); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Array.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Array.h new file mode 100644 index 000000000..56bf098eb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Array.h @@ -0,0 +1,682 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Array is the basic handle type in this file. Example: +// // Create a default Array object: +// Array handle = ArrayDefault(); +// Functions involving Array are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_ARRAY +#define C_INTERFACE_TRY_V2_0_CONTAINERS_ARRAY + +#include "GNDStk.h" +#include "v2.0/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ArrayClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Array +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ArrayClass *Array; + +// --- Const-aware handles. +typedef const struct ArrayClass *const ConstHandle2ConstArray; +typedef struct ArrayClass *const ConstHandle2Array; +typedef const struct ArrayClass * Handle2ConstArray; +typedef struct ArrayClass * Handle2Array; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstArray +ArrayDefaultConst(); + +// +++ Create, default +extern_c Handle2Array +ArrayDefault(); + +// --- Create, general, const +extern_c Handle2ConstArray +ArrayCreateConst( + const IntegerTuple shape, + const UTF8Text compression, + const UTF8Text symmetry, + const UTF8Text permutation, + const UTF8Text storageOrder, + const IntegerTuple offset, + ConstHandle2Values *const values, const size_t valuesSize, + ConstHandle2Array *const array, const size_t arraySize +); + +// +++ Create, general +extern_c Handle2Array +ArrayCreate( + const IntegerTuple shape, + const UTF8Text compression, + const UTF8Text symmetry, + const UTF8Text permutation, + const UTF8Text storageOrder, + const IntegerTuple offset, + ConstHandle2Values *const values, const size_t valuesSize, + ConstHandle2Array *const array, const size_t arraySize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ArrayAssign(ConstHandle2Array This, ConstHandle2ConstArray from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ArrayDelete(ConstHandle2ConstArray This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ArrayRead(ConstHandle2Array This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ArrayWrite(ConstHandle2ConstArray This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ArrayPrint(ConstHandle2ConstArray This); + +// +++ Print to standard output, as XML +extern_c int +ArrayPrintXML(ConstHandle2ConstArray This); + +// +++ Print to standard output, as JSON +extern_c int +ArrayPrintJSON(ConstHandle2ConstArray This); + + +// ----------------------------------------------------------------------------- +// Metadatum: shape +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ArrayShapeHas(ConstHandle2ConstArray This); + +// +++ Get +// +++ Returns by value +extern_c IntegerTuple +ArrayShapeGet(ConstHandle2ConstArray This); + +// +++ Set +extern_c void +ArrayShapeSet(ConstHandle2Array This, const IntegerTuple shape); + + +// ----------------------------------------------------------------------------- +// Metadatum: compression +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ArrayCompressionHas(ConstHandle2ConstArray This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ArrayCompressionGet(ConstHandle2ConstArray This); + +// +++ Set +extern_c void +ArrayCompressionSet(ConstHandle2Array This, const UTF8Text compression); + + +// ----------------------------------------------------------------------------- +// Metadatum: symmetry +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ArraySymmetryHas(ConstHandle2ConstArray This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ArraySymmetryGet(ConstHandle2ConstArray This); + +// +++ Set +extern_c void +ArraySymmetrySet(ConstHandle2Array This, const UTF8Text symmetry); + + +// ----------------------------------------------------------------------------- +// Metadatum: permutation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ArrayPermutationHas(ConstHandle2ConstArray This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ArrayPermutationGet(ConstHandle2ConstArray This); + +// +++ Set +extern_c void +ArrayPermutationSet(ConstHandle2Array This, const UTF8Text permutation); + + +// ----------------------------------------------------------------------------- +// Metadatum: storageOrder +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ArrayStorageOrderHas(ConstHandle2ConstArray This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ArrayStorageOrderGet(ConstHandle2ConstArray This); + +// +++ Set +extern_c void +ArrayStorageOrderSet(ConstHandle2Array This, const UTF8Text storageOrder); + + +// ----------------------------------------------------------------------------- +// Metadatum: offset +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ArrayOffsetHas(ConstHandle2ConstArray This); + +// +++ Get +// +++ Returns by value +extern_c IntegerTuple +ArrayOffsetGet(ConstHandle2ConstArray This); + +// +++ Set +extern_c void +ArrayOffsetSet(ConstHandle2Array This, const IntegerTuple offset); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ArrayValuesHas(ConstHandle2ConstArray This); + +// +++ Clear +extern_c void +ArrayValuesClear(ConstHandle2Array This); + +// +++ Size +extern_c size_t +ArrayValuesSize(ConstHandle2ConstArray This); + +// +++ Add +extern_c void +ArrayValuesAdd(ConstHandle2Array This, ConstHandle2ConstValues values); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstValues +ArrayValuesGetConst(ConstHandle2ConstArray This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Values +ArrayValuesGet(ConstHandle2Array This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ArrayValuesSet( + ConstHandle2Array This, + const size_t index_, + ConstHandle2ConstValues values +); + +// +++ Has, by valueType +extern_c int +ArrayValuesHasByValueType( + ConstHandle2ConstArray This, + const UTF8Text valueType +); + +// --- Get, by valueType, const +extern_c Handle2ConstValues +ArrayValuesGetByValueTypeConst( + ConstHandle2ConstArray This, + const UTF8Text valueType +); + +// +++ Get, by valueType, non-const +extern_c Handle2Values +ArrayValuesGetByValueType( + ConstHandle2Array This, + const UTF8Text valueType +); + +// +++ Set, by valueType +extern_c void +ArrayValuesSetByValueType( + ConstHandle2Array This, + const UTF8Text valueType, + ConstHandle2ConstValues values +); + +// +++ Has, by start +extern_c int +ArrayValuesHasByStart( + ConstHandle2ConstArray This, + const Integer32 start +); + +// --- Get, by start, const +extern_c Handle2ConstValues +ArrayValuesGetByStartConst( + ConstHandle2ConstArray This, + const Integer32 start +); + +// +++ Get, by start, non-const +extern_c Handle2Values +ArrayValuesGetByStart( + ConstHandle2Array This, + const Integer32 start +); + +// +++ Set, by start +extern_c void +ArrayValuesSetByStart( + ConstHandle2Array This, + const Integer32 start, + ConstHandle2ConstValues values +); + +// +++ Has, by length +extern_c int +ArrayValuesHasByLength( + ConstHandle2ConstArray This, + const Integer32 length +); + +// --- Get, by length, const +extern_c Handle2ConstValues +ArrayValuesGetByLengthConst( + ConstHandle2ConstArray This, + const Integer32 length +); + +// +++ Get, by length, non-const +extern_c Handle2Values +ArrayValuesGetByLength( + ConstHandle2Array This, + const Integer32 length +); + +// +++ Set, by length +extern_c void +ArrayValuesSetByLength( + ConstHandle2Array This, + const Integer32 length, + ConstHandle2ConstValues values +); + +// +++ Has, by href +extern_c int +ArrayValuesHasByHref( + ConstHandle2ConstArray This, + const UTF8Text href +); + +// --- Get, by href, const +extern_c Handle2ConstValues +ArrayValuesGetByHrefConst( + ConstHandle2ConstArray This, + const UTF8Text href +); + +// +++ Get, by href, non-const +extern_c Handle2Values +ArrayValuesGetByHref( + ConstHandle2Array This, + const UTF8Text href +); + +// +++ Set, by href +extern_c void +ArrayValuesSetByHref( + ConstHandle2Array This, + const UTF8Text href, + ConstHandle2ConstValues values +); + +// +++ Has, by startIndex +extern_c int +ArrayValuesHasByStartIndex( + ConstHandle2ConstArray This, + const Integer32 startIndex +); + +// --- Get, by startIndex, const +extern_c Handle2ConstValues +ArrayValuesGetByStartIndexConst( + ConstHandle2ConstArray This, + const Integer32 startIndex +); + +// +++ Get, by startIndex, non-const +extern_c Handle2Values +ArrayValuesGetByStartIndex( + ConstHandle2Array This, + const Integer32 startIndex +); + +// +++ Set, by startIndex +extern_c void +ArrayValuesSetByStartIndex( + ConstHandle2Array This, + const Integer32 startIndex, + ConstHandle2ConstValues values +); + +// +++ Has, by count +extern_c int +ArrayValuesHasByCount( + ConstHandle2ConstArray This, + const Integer32 count +); + +// --- Get, by count, const +extern_c Handle2ConstValues +ArrayValuesGetByCountConst( + ConstHandle2ConstArray This, + const Integer32 count +); + +// +++ Get, by count, non-const +extern_c Handle2Values +ArrayValuesGetByCount( + ConstHandle2Array This, + const Integer32 count +); + +// +++ Set, by count +extern_c void +ArrayValuesSetByCount( + ConstHandle2Array This, + const Integer32 count, + ConstHandle2ConstValues values +); + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ArrayArrayHas(ConstHandle2ConstArray This); + +// +++ Clear +extern_c void +ArrayArrayClear(ConstHandle2Array This); + +// +++ Size +extern_c size_t +ArrayArraySize(ConstHandle2ConstArray This); + +// +++ Add +extern_c void +ArrayArrayAdd(ConstHandle2Array This, ConstHandle2ConstArray array); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstArray +ArrayArrayGetConst(ConstHandle2ConstArray This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Array +ArrayArrayGet(ConstHandle2Array This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ArrayArraySet( + ConstHandle2Array This, + const size_t index_, + ConstHandle2ConstArray array +); + +// +++ Has, by shape +extern_c int +ArrayArrayHasByShape( + ConstHandle2ConstArray This, + const IntegerTuple shape +); + +// --- Get, by shape, const +extern_c Handle2ConstArray +ArrayArrayGetByShapeConst( + ConstHandle2ConstArray This, + const IntegerTuple shape +); + +// +++ Get, by shape, non-const +extern_c Handle2Array +ArrayArrayGetByShape( + ConstHandle2Array This, + const IntegerTuple shape +); + +// +++ Set, by shape +extern_c void +ArrayArraySetByShape( + ConstHandle2Array This, + const IntegerTuple shape, + ConstHandle2ConstArray array +); + +// +++ Has, by compression +extern_c int +ArrayArrayHasByCompression( + ConstHandle2ConstArray This, + const UTF8Text compression +); + +// --- Get, by compression, const +extern_c Handle2ConstArray +ArrayArrayGetByCompressionConst( + ConstHandle2ConstArray This, + const UTF8Text compression +); + +// +++ Get, by compression, non-const +extern_c Handle2Array +ArrayArrayGetByCompression( + ConstHandle2Array This, + const UTF8Text compression +); + +// +++ Set, by compression +extern_c void +ArrayArraySetByCompression( + ConstHandle2Array This, + const UTF8Text compression, + ConstHandle2ConstArray array +); + +// +++ Has, by symmetry +extern_c int +ArrayArrayHasBySymmetry( + ConstHandle2ConstArray This, + const UTF8Text symmetry +); + +// --- Get, by symmetry, const +extern_c Handle2ConstArray +ArrayArrayGetBySymmetryConst( + ConstHandle2ConstArray This, + const UTF8Text symmetry +); + +// +++ Get, by symmetry, non-const +extern_c Handle2Array +ArrayArrayGetBySymmetry( + ConstHandle2Array This, + const UTF8Text symmetry +); + +// +++ Set, by symmetry +extern_c void +ArrayArraySetBySymmetry( + ConstHandle2Array This, + const UTF8Text symmetry, + ConstHandle2ConstArray array +); + +// +++ Has, by permutation +extern_c int +ArrayArrayHasByPermutation( + ConstHandle2ConstArray This, + const UTF8Text permutation +); + +// --- Get, by permutation, const +extern_c Handle2ConstArray +ArrayArrayGetByPermutationConst( + ConstHandle2ConstArray This, + const UTF8Text permutation +); + +// +++ Get, by permutation, non-const +extern_c Handle2Array +ArrayArrayGetByPermutation( + ConstHandle2Array This, + const UTF8Text permutation +); + +// +++ Set, by permutation +extern_c void +ArrayArraySetByPermutation( + ConstHandle2Array This, + const UTF8Text permutation, + ConstHandle2ConstArray array +); + +// +++ Has, by storageOrder +extern_c int +ArrayArrayHasByStorageOrder( + ConstHandle2ConstArray This, + const UTF8Text storageOrder +); + +// --- Get, by storageOrder, const +extern_c Handle2ConstArray +ArrayArrayGetByStorageOrderConst( + ConstHandle2ConstArray This, + const UTF8Text storageOrder +); + +// +++ Get, by storageOrder, non-const +extern_c Handle2Array +ArrayArrayGetByStorageOrder( + ConstHandle2Array This, + const UTF8Text storageOrder +); + +// +++ Set, by storageOrder +extern_c void +ArrayArraySetByStorageOrder( + ConstHandle2Array This, + const UTF8Text storageOrder, + ConstHandle2ConstArray array +); + +// +++ Has, by offset +extern_c int +ArrayArrayHasByOffset( + ConstHandle2ConstArray This, + const IntegerTuple offset +); + +// --- Get, by offset, const +extern_c Handle2ConstArray +ArrayArrayGetByOffsetConst( + ConstHandle2ConstArray This, + const IntegerTuple offset +); + +// +++ Get, by offset, non-const +extern_c Handle2Array +ArrayArrayGetByOffset( + ConstHandle2Array This, + const IntegerTuple offset +); + +// +++ Set, by offset +extern_c void +ArrayArraySetByOffset( + ConstHandle2Array This, + const IntegerTuple offset, + ConstHandle2ConstArray array +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.cpp new file mode 100644 index 000000000..3bb6451db --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.cpp @@ -0,0 +1,674 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Axes.hpp" +#include "Axes.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AxesClass; +using CPP = multigroup::Axes; + +static const std::string CLASSNAME = "Axes"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; + static auto axis = [](auto &obj) { return &obj.axis; }; + static auto grid = [](auto &obj) { return &obj.grid; }; +} + +using CPPAxis = containers::Axis; +using CPPGrid = containers::Grid; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAxes +AxesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Axes +AxesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAxes +AxesCreateConst( + const UTF8Text href, + ConstHandle2Axis *const axis, const size_t axisSize, + ConstHandle2Grid *const grid, const size_t gridSize +) { + ConstHandle2Axes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href, + std::vector{}, + std::vector{} + ); + for (size_t AxisN = 0; AxisN < axisSize; ++AxisN) + AxesAxisAdd(handle, axis[AxisN]); + for (size_t GridN = 0; GridN < gridSize; ++GridN) + AxesGridAdd(handle, grid[GridN]); + return handle; +} + +// Create, general +Handle2Axes +AxesCreate( + const UTF8Text href, + ConstHandle2Axis *const axis, const size_t axisSize, + ConstHandle2Grid *const grid, const size_t gridSize +) { + ConstHandle2Axes handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href, + std::vector{}, + std::vector{} + ); + for (size_t AxisN = 0; AxisN < axisSize; ++AxisN) + AxesAxisAdd(handle, axis[AxisN]); + for (size_t GridN = 0; GridN < gridSize; ++GridN) + AxesGridAdd(handle, grid[GridN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AxesAssign(ConstHandle2Axes This, ConstHandle2ConstAxes from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AxesDelete(ConstHandle2ConstAxes This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AxesRead(ConstHandle2Axes This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AxesWrite(ConstHandle2ConstAxes This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AxesPrint(ConstHandle2ConstAxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AxesPrintXML(ConstHandle2ConstAxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AxesPrintJSON(ConstHandle2ConstAxes This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +AxesHrefHas(ConstHandle2ConstAxes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +UTF8Text +AxesHrefGet(ConstHandle2ConstAxes This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +AxesHrefSet(ConstHandle2Axes This, const UTF8Text href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Child: axis +// ----------------------------------------------------------------------------- + +// Has +int +AxesAxisHas(ConstHandle2ConstAxes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxisHas", This, extract::axis); +} + +// Clear +void +AxesAxisClear(ConstHandle2Axes This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AxisClear", This, extract::axis); +} + +// Size +size_t +AxesAxisSize(ConstHandle2ConstAxes This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AxisSize", This, extract::axis); +} + +// Add +void +AxesAxisAdd(ConstHandle2Axes This, ConstHandle2ConstAxis axis) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AxisAdd", This, extract::axis, axis); +} + +// Get, by index \in [0,size), const +Handle2ConstAxis +AxesAxisGetConst(ConstHandle2ConstAxes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AxisGetConst", This, extract::axis, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Axis +AxesAxisGet(ConstHandle2Axes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AxisGet", This, extract::axis, index_); +} + +// Set, by index \in [0,size) +void +AxesAxisSet( + ConstHandle2Axes This, + const size_t index_, + ConstHandle2ConstAxis axis +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AxisSet", This, extract::axis, index_, axis); +} + +// Has, by index +int +AxesAxisHasByIndex( + ConstHandle2ConstAxes This, + const Integer32 index +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AxisHasByIndex", + This, extract::axis, meta::index, index); +} + +// Get, by index, const +Handle2ConstAxis +AxesAxisGetByIndexConst( + ConstHandle2ConstAxes This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AxisGetByIndexConst", + This, extract::axis, meta::index, index); +} + +// Get, by index, non-const +Handle2Axis +AxesAxisGetByIndex( + ConstHandle2Axes This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AxisGetByIndex", + This, extract::axis, meta::index, index); +} + +// Set, by index +void +AxesAxisSetByIndex( + ConstHandle2Axes This, + const Integer32 index, + ConstHandle2ConstAxis axis +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AxisSetByIndex", + This, extract::axis, meta::index, index, axis); +} + +// Has, by label +int +AxesAxisHasByLabel( + ConstHandle2ConstAxes This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AxisHasByLabel", + This, extract::axis, meta::label, label); +} + +// Get, by label, const +Handle2ConstAxis +AxesAxisGetByLabelConst( + ConstHandle2ConstAxes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AxisGetByLabelConst", + This, extract::axis, meta::label, label); +} + +// Get, by label, non-const +Handle2Axis +AxesAxisGetByLabel( + ConstHandle2Axes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AxisGetByLabel", + This, extract::axis, meta::label, label); +} + +// Set, by label +void +AxesAxisSetByLabel( + ConstHandle2Axes This, + const XMLName label, + ConstHandle2ConstAxis axis +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AxisSetByLabel", + This, extract::axis, meta::label, label, axis); +} + +// Has, by unit +int +AxesAxisHasByUnit( + ConstHandle2ConstAxes This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AxisHasByUnit", + This, extract::axis, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstAxis +AxesAxisGetByUnitConst( + ConstHandle2ConstAxes This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AxisGetByUnitConst", + This, extract::axis, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Axis +AxesAxisGetByUnit( + ConstHandle2Axes This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AxisGetByUnit", + This, extract::axis, meta::unit, unit); +} + +// Set, by unit +void +AxesAxisSetByUnit( + ConstHandle2Axes This, + const XMLName unit, + ConstHandle2ConstAxis axis +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AxisSetByUnit", + This, extract::axis, meta::unit, unit, axis); +} + + +// ----------------------------------------------------------------------------- +// Child: grid +// ----------------------------------------------------------------------------- + +// Has +int +AxesGridHas(ConstHandle2ConstAxes This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"GridHas", This, extract::grid); +} + +// Clear +void +AxesGridClear(ConstHandle2Axes This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"GridClear", This, extract::grid); +} + +// Size +size_t +AxesGridSize(ConstHandle2ConstAxes This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"GridSize", This, extract::grid); +} + +// Add +void +AxesGridAdd(ConstHandle2Axes This, ConstHandle2ConstGrid grid) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"GridAdd", This, extract::grid, grid); +} + +// Get, by index \in [0,size), const +Handle2ConstGrid +AxesGridGetConst(ConstHandle2ConstAxes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"GridGetConst", This, extract::grid, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Grid +AxesGridGet(ConstHandle2Axes This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"GridGet", This, extract::grid, index_); +} + +// Set, by index \in [0,size) +void +AxesGridSet( + ConstHandle2Axes This, + const size_t index_, + ConstHandle2ConstGrid grid +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"GridSet", This, extract::grid, index_, grid); +} + +// Has, by index +int +AxesGridHasByIndex( + ConstHandle2ConstAxes This, + const Integer32 index +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GridHasByIndex", + This, extract::grid, meta::index, index); +} + +// Get, by index, const +Handle2ConstGrid +AxesGridGetByIndexConst( + ConstHandle2ConstAxes This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByIndexConst", + This, extract::grid, meta::index, index); +} + +// Get, by index, non-const +Handle2Grid +AxesGridGetByIndex( + ConstHandle2Axes This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByIndex", + This, extract::grid, meta::index, index); +} + +// Set, by index +void +AxesGridSetByIndex( + ConstHandle2Axes This, + const Integer32 index, + ConstHandle2ConstGrid grid +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GridSetByIndex", + This, extract::grid, meta::index, index, grid); +} + +// Has, by interpolation +int +AxesGridHasByInterpolation( + ConstHandle2ConstAxes This, + const enums::Interpolation interpolation +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GridHasByInterpolation", + This, extract::grid, meta::interpolation, interpolation); +} + +// Get, by interpolation, const +Handle2ConstGrid +AxesGridGetByInterpolationConst( + ConstHandle2ConstAxes This, + const enums::Interpolation interpolation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByInterpolationConst", + This, extract::grid, meta::interpolation, interpolation); +} + +// Get, by interpolation, non-const +Handle2Grid +AxesGridGetByInterpolation( + ConstHandle2Axes This, + const enums::Interpolation interpolation +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByInterpolation", + This, extract::grid, meta::interpolation, interpolation); +} + +// Set, by interpolation +void +AxesGridSetByInterpolation( + ConstHandle2Axes This, + const enums::Interpolation interpolation, + ConstHandle2ConstGrid grid +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GridSetByInterpolation", + This, extract::grid, meta::interpolation, interpolation, grid); +} + +// Has, by label +int +AxesGridHasByLabel( + ConstHandle2ConstAxes This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GridHasByLabel", + This, extract::grid, meta::label, label); +} + +// Get, by label, const +Handle2ConstGrid +AxesGridGetByLabelConst( + ConstHandle2ConstAxes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByLabelConst", + This, extract::grid, meta::label, label); +} + +// Get, by label, non-const +Handle2Grid +AxesGridGetByLabel( + ConstHandle2Axes This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByLabel", + This, extract::grid, meta::label, label); +} + +// Set, by label +void +AxesGridSetByLabel( + ConstHandle2Axes This, + const XMLName label, + ConstHandle2ConstGrid grid +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GridSetByLabel", + This, extract::grid, meta::label, label, grid); +} + +// Has, by style +int +AxesGridHasByStyle( + ConstHandle2ConstAxes This, + const UTF8Text style +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GridHasByStyle", + This, extract::grid, meta::style, style); +} + +// Get, by style, const +Handle2ConstGrid +AxesGridGetByStyleConst( + ConstHandle2ConstAxes This, + const UTF8Text style +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByStyleConst", + This, extract::grid, meta::style, style); +} + +// Get, by style, non-const +Handle2Grid +AxesGridGetByStyle( + ConstHandle2Axes This, + const UTF8Text style +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByStyle", + This, extract::grid, meta::style, style); +} + +// Set, by style +void +AxesGridSetByStyle( + ConstHandle2Axes This, + const UTF8Text style, + ConstHandle2ConstGrid grid +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GridSetByStyle", + This, extract::grid, meta::style, style, grid); +} + +// Has, by unit +int +AxesGridHasByUnit( + ConstHandle2ConstAxes This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"GridHasByUnit", + This, extract::grid, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstGrid +AxesGridGetByUnitConst( + ConstHandle2ConstAxes This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByUnitConst", + This, extract::grid, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Grid +AxesGridGetByUnit( + ConstHandle2Axes This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"GridGetByUnit", + This, extract::grid, meta::unit, unit); +} + +// Set, by unit +void +AxesGridSetByUnit( + ConstHandle2Axes This, + const XMLName unit, + ConstHandle2ConstGrid grid +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"GridSetByUnit", + This, extract::grid, meta::unit, unit, grid); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.h new file mode 100644 index 000000000..2a8155c36 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.h @@ -0,0 +1,467 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Axes is the basic handle type in this file. Example: +// // Create a default Axes object: +// Axes handle = AxesDefault(); +// Functions involving Axes are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_AXES +#define C_INTERFACE_TRY_V2_0_CONTAINERS_AXES + +#include "GNDStk.h" +#include "v2.0/containers/Axis.h" +#include "v2.0/containers/Grid.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AxesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Axes +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AxesClass *Axes; + +// --- Const-aware handles. +typedef const struct AxesClass *const ConstHandle2ConstAxes; +typedef struct AxesClass *const ConstHandle2Axes; +typedef const struct AxesClass * Handle2ConstAxes; +typedef struct AxesClass * Handle2Axes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAxes +AxesDefaultConst(); + +// +++ Create, default +extern_c Handle2Axes +AxesDefault(); + +// --- Create, general, const +extern_c Handle2ConstAxes +AxesCreateConst( + const UTF8Text href, + ConstHandle2Axis *const axis, const size_t axisSize, + ConstHandle2Grid *const grid, const size_t gridSize +); + +// +++ Create, general +extern_c Handle2Axes +AxesCreate( + const UTF8Text href, + ConstHandle2Axis *const axis, const size_t axisSize, + ConstHandle2Grid *const grid, const size_t gridSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AxesAssign(ConstHandle2Axes This, ConstHandle2ConstAxes from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AxesDelete(ConstHandle2ConstAxes This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AxesRead(ConstHandle2Axes This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AxesWrite(ConstHandle2ConstAxes This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AxesPrint(ConstHandle2ConstAxes This); + +// +++ Print to standard output, as XML +extern_c int +AxesPrintXML(ConstHandle2ConstAxes This); + +// +++ Print to standard output, as JSON +extern_c int +AxesPrintJSON(ConstHandle2ConstAxes This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxesHrefHas(ConstHandle2ConstAxes This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +AxesHrefGet(ConstHandle2ConstAxes This); + +// +++ Set +extern_c void +AxesHrefSet(ConstHandle2Axes This, const UTF8Text href); + + +// ----------------------------------------------------------------------------- +// Child: axis +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxesAxisHas(ConstHandle2ConstAxes This); + +// +++ Clear +extern_c void +AxesAxisClear(ConstHandle2Axes This); + +// +++ Size +extern_c size_t +AxesAxisSize(ConstHandle2ConstAxes This); + +// +++ Add +extern_c void +AxesAxisAdd(ConstHandle2Axes This, ConstHandle2ConstAxis axis); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAxis +AxesAxisGetConst(ConstHandle2ConstAxes This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Axis +AxesAxisGet(ConstHandle2Axes This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AxesAxisSet( + ConstHandle2Axes This, + const size_t index_, + ConstHandle2ConstAxis axis +); + +// +++ Has, by index +extern_c int +AxesAxisHasByIndex( + ConstHandle2ConstAxes This, + const Integer32 index +); + +// --- Get, by index, const +extern_c Handle2ConstAxis +AxesAxisGetByIndexConst( + ConstHandle2ConstAxes This, + const Integer32 index +); + +// +++ Get, by index, non-const +extern_c Handle2Axis +AxesAxisGetByIndex( + ConstHandle2Axes This, + const Integer32 index +); + +// +++ Set, by index +extern_c void +AxesAxisSetByIndex( + ConstHandle2Axes This, + const Integer32 index, + ConstHandle2ConstAxis axis +); + +// +++ Has, by label +extern_c int +AxesAxisHasByLabel( + ConstHandle2ConstAxes This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstAxis +AxesAxisGetByLabelConst( + ConstHandle2ConstAxes This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Axis +AxesAxisGetByLabel( + ConstHandle2Axes This, + const XMLName label +); + +// +++ Set, by label +extern_c void +AxesAxisSetByLabel( + ConstHandle2Axes This, + const XMLName label, + ConstHandle2ConstAxis axis +); + +// +++ Has, by unit +extern_c int +AxesAxisHasByUnit( + ConstHandle2ConstAxes This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstAxis +AxesAxisGetByUnitConst( + ConstHandle2ConstAxes This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Axis +AxesAxisGetByUnit( + ConstHandle2Axes This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +AxesAxisSetByUnit( + ConstHandle2Axes This, + const XMLName unit, + ConstHandle2ConstAxis axis +); + + +// ----------------------------------------------------------------------------- +// Child: grid +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxesGridHas(ConstHandle2ConstAxes This); + +// +++ Clear +extern_c void +AxesGridClear(ConstHandle2Axes This); + +// +++ Size +extern_c size_t +AxesGridSize(ConstHandle2ConstAxes This); + +// +++ Add +extern_c void +AxesGridAdd(ConstHandle2Axes This, ConstHandle2ConstGrid grid); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstGrid +AxesGridGetConst(ConstHandle2ConstAxes This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Grid +AxesGridGet(ConstHandle2Axes This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AxesGridSet( + ConstHandle2Axes This, + const size_t index_, + ConstHandle2ConstGrid grid +); + +// +++ Has, by index +extern_c int +AxesGridHasByIndex( + ConstHandle2ConstAxes This, + const Integer32 index +); + +// --- Get, by index, const +extern_c Handle2ConstGrid +AxesGridGetByIndexConst( + ConstHandle2ConstAxes This, + const Integer32 index +); + +// +++ Get, by index, non-const +extern_c Handle2Grid +AxesGridGetByIndex( + ConstHandle2Axes This, + const Integer32 index +); + +// +++ Set, by index +extern_c void +AxesGridSetByIndex( + ConstHandle2Axes This, + const Integer32 index, + ConstHandle2ConstGrid grid +); + +// +++ Has, by interpolation +extern_c int +AxesGridHasByInterpolation( + ConstHandle2ConstAxes This, + const enums::Interpolation interpolation +); + +// --- Get, by interpolation, const +extern_c Handle2ConstGrid +AxesGridGetByInterpolationConst( + ConstHandle2ConstAxes This, + const enums::Interpolation interpolation +); + +// +++ Get, by interpolation, non-const +extern_c Handle2Grid +AxesGridGetByInterpolation( + ConstHandle2Axes This, + const enums::Interpolation interpolation +); + +// +++ Set, by interpolation +extern_c void +AxesGridSetByInterpolation( + ConstHandle2Axes This, + const enums::Interpolation interpolation, + ConstHandle2ConstGrid grid +); + +// +++ Has, by label +extern_c int +AxesGridHasByLabel( + ConstHandle2ConstAxes This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstGrid +AxesGridGetByLabelConst( + ConstHandle2ConstAxes This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Grid +AxesGridGetByLabel( + ConstHandle2Axes This, + const XMLName label +); + +// +++ Set, by label +extern_c void +AxesGridSetByLabel( + ConstHandle2Axes This, + const XMLName label, + ConstHandle2ConstGrid grid +); + +// +++ Has, by style +extern_c int +AxesGridHasByStyle( + ConstHandle2ConstAxes This, + const UTF8Text style +); + +// --- Get, by style, const +extern_c Handle2ConstGrid +AxesGridGetByStyleConst( + ConstHandle2ConstAxes This, + const UTF8Text style +); + +// +++ Get, by style, non-const +extern_c Handle2Grid +AxesGridGetByStyle( + ConstHandle2Axes This, + const UTF8Text style +); + +// +++ Set, by style +extern_c void +AxesGridSetByStyle( + ConstHandle2Axes This, + const UTF8Text style, + ConstHandle2ConstGrid grid +); + +// +++ Has, by unit +extern_c int +AxesGridHasByUnit( + ConstHandle2ConstAxes This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstGrid +AxesGridGetByUnitConst( + ConstHandle2ConstAxes This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Grid +AxesGridGetByUnit( + ConstHandle2Axes This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +AxesGridSetByUnit( + ConstHandle2Axes This, + const XMLName unit, + ConstHandle2ConstGrid grid +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.cpp new file mode 100644 index 000000000..7a46a0101 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Axis.hpp" +#include "Axis.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = AxisClass; +using CPP = multigroup::Axis; + +static const std::string CLASSNAME = "Axis"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAxis +AxisDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Axis +AxisDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAxis +AxisCreateConst( + const Integer32 index, + const XMLName label, + const XMLName unit +) { + ConstHandle2Axis handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + label, + unit + ); + return handle; +} + +// Create, general +Handle2Axis +AxisCreate( + const Integer32 index, + const XMLName label, + const XMLName unit +) { + ConstHandle2Axis handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + label, + unit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AxisAssign(ConstHandle2Axis This, ConstHandle2ConstAxis from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AxisDelete(ConstHandle2ConstAxis This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AxisRead(ConstHandle2Axis This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AxisWrite(ConstHandle2ConstAxis This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AxisPrint(ConstHandle2ConstAxis This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AxisPrintXML(ConstHandle2ConstAxis This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AxisPrintJSON(ConstHandle2ConstAxis This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +AxisIndexHas(ConstHandle2ConstAxis This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +Integer32 +AxisIndexGet(ConstHandle2ConstAxis This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +AxisIndexSet(ConstHandle2Axis This, const Integer32 index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +AxisLabelHas(ConstHandle2ConstAxis This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +AxisLabelGet(ConstHandle2ConstAxis This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +AxisLabelSet(ConstHandle2Axis This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +AxisUnitHas(ConstHandle2ConstAxis This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +AxisUnitGet(ConstHandle2ConstAxis This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +AxisUnitSet(ConstHandle2Axis This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.h new file mode 100644 index 000000000..b0aa290f7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Axis is the basic handle type in this file. Example: +// // Create a default Axis object: +// Axis handle = AxisDefault(); +// Functions involving Axis are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_AXIS +#define C_INTERFACE_TRY_V2_0_CONTAINERS_AXIS + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AxisClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Axis +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AxisClass *Axis; + +// --- Const-aware handles. +typedef const struct AxisClass *const ConstHandle2ConstAxis; +typedef struct AxisClass *const ConstHandle2Axis; +typedef const struct AxisClass * Handle2ConstAxis; +typedef struct AxisClass * Handle2Axis; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAxis +AxisDefaultConst(); + +// +++ Create, default +extern_c Handle2Axis +AxisDefault(); + +// --- Create, general, const +extern_c Handle2ConstAxis +AxisCreateConst( + const Integer32 index, + const XMLName label, + const XMLName unit +); + +// +++ Create, general +extern_c Handle2Axis +AxisCreate( + const Integer32 index, + const XMLName label, + const XMLName unit +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AxisAssign(ConstHandle2Axis This, ConstHandle2ConstAxis from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AxisDelete(ConstHandle2ConstAxis This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AxisRead(ConstHandle2Axis This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AxisWrite(ConstHandle2ConstAxis This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AxisPrint(ConstHandle2ConstAxis This); + +// +++ Print to standard output, as XML +extern_c int +AxisPrintXML(ConstHandle2ConstAxis This); + +// +++ Print to standard output, as JSON +extern_c int +AxisPrintJSON(ConstHandle2ConstAxis This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxisIndexHas(ConstHandle2ConstAxis This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +AxisIndexGet(ConstHandle2ConstAxis This); + +// +++ Set +extern_c void +AxisIndexSet(ConstHandle2Axis This, const Integer32 index); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxisLabelHas(ConstHandle2ConstAxis This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AxisLabelGet(ConstHandle2ConstAxis This); + +// +++ Set +extern_c void +AxisLabelSet(ConstHandle2Axis This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AxisUnitHas(ConstHandle2ConstAxis This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +AxisUnitGet(ConstHandle2ConstAxis This); + +// +++ Set +extern_c void +AxisUnitSet(ConstHandle2Axis This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Column.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Column.cpp new file mode 100644 index 000000000..bf40d49e4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Column.cpp @@ -0,0 +1,270 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Column.hpp" +#include "Column.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ColumnClass; +using CPP = multigroup::Column; + +static const std::string CLASSNAME = "Column"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto name = [](auto &obj) { return &obj.name; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto types = [](auto &obj) { return &obj.types; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstColumn +ColumnDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Column +ColumnDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstColumn +ColumnCreateConst( + const Integer32 index, + const XMLName name, + const XMLName unit, + const XMLName types +) { + ConstHandle2Column handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + name, + unit, + types + ); + return handle; +} + +// Create, general +Handle2Column +ColumnCreate( + const Integer32 index, + const XMLName name, + const XMLName unit, + const XMLName types +) { + ConstHandle2Column handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + name, + unit, + types + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ColumnAssign(ConstHandle2Column This, ConstHandle2ConstColumn from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ColumnDelete(ConstHandle2ConstColumn This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ColumnRead(ConstHandle2Column This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ColumnWrite(ConstHandle2ConstColumn This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ColumnPrint(ConstHandle2ConstColumn This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ColumnPrintXML(ConstHandle2ConstColumn This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ColumnPrintJSON(ConstHandle2ConstColumn This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +ColumnIndexHas(ConstHandle2ConstColumn This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +Integer32 +ColumnIndexGet(ConstHandle2ConstColumn This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +ColumnIndexSet(ConstHandle2Column This, const Integer32 index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +ColumnNameHas(ConstHandle2ConstColumn This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +XMLName +ColumnNameGet(ConstHandle2ConstColumn This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +ColumnNameSet(ConstHandle2Column This, const XMLName name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +ColumnUnitHas(ConstHandle2ConstColumn This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +ColumnUnitGet(ConstHandle2ConstColumn This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +ColumnUnitSet(ConstHandle2Column This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: types +// ----------------------------------------------------------------------------- + +// Has +int +ColumnTypesHas(ConstHandle2ConstColumn This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TypesHas", This, extract::types); +} + +// Get +// Returns by value +XMLName +ColumnTypesGet(ConstHandle2ConstColumn This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TypesGet", This, extract::types); +} + +// Set +void +ColumnTypesSet(ConstHandle2Column This, const XMLName types) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TypesSet", This, extract::types, types); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Column.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Column.h new file mode 100644 index 000000000..bb0148eb9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Column.h @@ -0,0 +1,215 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Column is the basic handle type in this file. Example: +// // Create a default Column object: +// Column handle = ColumnDefault(); +// Functions involving Column are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_COLUMN +#define C_INTERFACE_TRY_V2_0_CONTAINERS_COLUMN + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ColumnClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Column +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ColumnClass *Column; + +// --- Const-aware handles. +typedef const struct ColumnClass *const ConstHandle2ConstColumn; +typedef struct ColumnClass *const ConstHandle2Column; +typedef const struct ColumnClass * Handle2ConstColumn; +typedef struct ColumnClass * Handle2Column; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstColumn +ColumnDefaultConst(); + +// +++ Create, default +extern_c Handle2Column +ColumnDefault(); + +// --- Create, general, const +extern_c Handle2ConstColumn +ColumnCreateConst( + const Integer32 index, + const XMLName name, + const XMLName unit, + const XMLName types +); + +// +++ Create, general +extern_c Handle2Column +ColumnCreate( + const Integer32 index, + const XMLName name, + const XMLName unit, + const XMLName types +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ColumnAssign(ConstHandle2Column This, ConstHandle2ConstColumn from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ColumnDelete(ConstHandle2ConstColumn This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ColumnRead(ConstHandle2Column This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ColumnWrite(ConstHandle2ConstColumn This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ColumnPrint(ConstHandle2ConstColumn This); + +// +++ Print to standard output, as XML +extern_c int +ColumnPrintXML(ConstHandle2ConstColumn This); + +// +++ Print to standard output, as JSON +extern_c int +ColumnPrintJSON(ConstHandle2ConstColumn This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnIndexHas(ConstHandle2ConstColumn This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ColumnIndexGet(ConstHandle2ConstColumn This); + +// +++ Set +extern_c void +ColumnIndexSet(ConstHandle2Column This, const Integer32 index); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnNameHas(ConstHandle2ConstColumn This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ColumnNameGet(ConstHandle2ConstColumn This); + +// +++ Set +extern_c void +ColumnNameSet(ConstHandle2Column This, const XMLName name); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnUnitHas(ConstHandle2ConstColumn This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ColumnUnitGet(ConstHandle2ConstColumn This); + +// +++ Set +extern_c void +ColumnUnitSet(ConstHandle2Column This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: types +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnTypesHas(ConstHandle2ConstColumn This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +ColumnTypesGet(ConstHandle2ConstColumn This); + +// +++ Set +extern_c void +ColumnTypesSet(ConstHandle2Column This, const XMLName types); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.cpp new file mode 100644 index 000000000..97f6111e3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.cpp @@ -0,0 +1,385 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/ColumnHeaders.hpp" +#include "ColumnHeaders.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ColumnHeadersClass; +using CPP = multigroup::ColumnHeaders; + +static const std::string CLASSNAME = "ColumnHeaders"; + +namespace extract { + static auto column = [](auto &obj) { return &obj.column; }; +} + +using CPPColumn = containers::Column; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstColumnHeaders +ColumnHeadersDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ColumnHeaders +ColumnHeadersDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstColumnHeaders +ColumnHeadersCreateConst( + ConstHandle2Column *const column, const size_t columnSize +) { + ConstHandle2ColumnHeaders handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ColumnN = 0; ColumnN < columnSize; ++ColumnN) + ColumnHeadersColumnAdd(handle, column[ColumnN]); + return handle; +} + +// Create, general +Handle2ColumnHeaders +ColumnHeadersCreate( + ConstHandle2Column *const column, const size_t columnSize +) { + ConstHandle2ColumnHeaders handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ColumnN = 0; ColumnN < columnSize; ++ColumnN) + ColumnHeadersColumnAdd(handle, column[ColumnN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ColumnHeadersAssign(ConstHandle2ColumnHeaders This, ConstHandle2ConstColumnHeaders from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ColumnHeadersDelete(ConstHandle2ConstColumnHeaders This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ColumnHeadersRead(ConstHandle2ColumnHeaders This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ColumnHeadersWrite(ConstHandle2ConstColumnHeaders This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ColumnHeadersPrint(ConstHandle2ConstColumnHeaders This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ColumnHeadersPrintXML(ConstHandle2ConstColumnHeaders This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ColumnHeadersPrintJSON(ConstHandle2ConstColumnHeaders This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: column +// ----------------------------------------------------------------------------- + +// Has +int +ColumnHeadersColumnHas(ConstHandle2ConstColumnHeaders This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ColumnHas", This, extract::column); +} + +// Clear +void +ColumnHeadersColumnClear(ConstHandle2ColumnHeaders This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ColumnClear", This, extract::column); +} + +// Size +size_t +ColumnHeadersColumnSize(ConstHandle2ConstColumnHeaders This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ColumnSize", This, extract::column); +} + +// Add +void +ColumnHeadersColumnAdd(ConstHandle2ColumnHeaders This, ConstHandle2ConstColumn column) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ColumnAdd", This, extract::column, column); +} + +// Get, by index \in [0,size), const +Handle2ConstColumn +ColumnHeadersColumnGetConst(ConstHandle2ConstColumnHeaders This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ColumnGetConst", This, extract::column, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Column +ColumnHeadersColumnGet(ConstHandle2ColumnHeaders This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ColumnGet", This, extract::column, index_); +} + +// Set, by index \in [0,size) +void +ColumnHeadersColumnSet( + ConstHandle2ColumnHeaders This, + const size_t index_, + ConstHandle2ConstColumn column +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ColumnSet", This, extract::column, index_, column); +} + +// Has, by index +int +ColumnHeadersColumnHasByIndex( + ConstHandle2ConstColumnHeaders This, + const Integer32 index +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ColumnHasByIndex", + This, extract::column, meta::index, index); +} + +// Get, by index, const +Handle2ConstColumn +ColumnHeadersColumnGetByIndexConst( + ConstHandle2ConstColumnHeaders This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ColumnGetByIndexConst", + This, extract::column, meta::index, index); +} + +// Get, by index, non-const +Handle2Column +ColumnHeadersColumnGetByIndex( + ConstHandle2ColumnHeaders This, + const Integer32 index +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ColumnGetByIndex", + This, extract::column, meta::index, index); +} + +// Set, by index +void +ColumnHeadersColumnSetByIndex( + ConstHandle2ColumnHeaders This, + const Integer32 index, + ConstHandle2ConstColumn column +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ColumnSetByIndex", + This, extract::column, meta::index, index, column); +} + +// Has, by name +int +ColumnHeadersColumnHasByName( + ConstHandle2ConstColumnHeaders This, + const XMLName name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ColumnHasByName", + This, extract::column, meta::name, name); +} + +// Get, by name, const +Handle2ConstColumn +ColumnHeadersColumnGetByNameConst( + ConstHandle2ConstColumnHeaders This, + const XMLName name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ColumnGetByNameConst", + This, extract::column, meta::name, name); +} + +// Get, by name, non-const +Handle2Column +ColumnHeadersColumnGetByName( + ConstHandle2ColumnHeaders This, + const XMLName name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ColumnGetByName", + This, extract::column, meta::name, name); +} + +// Set, by name +void +ColumnHeadersColumnSetByName( + ConstHandle2ColumnHeaders This, + const XMLName name, + ConstHandle2ConstColumn column +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ColumnSetByName", + This, extract::column, meta::name, name, column); +} + +// Has, by unit +int +ColumnHeadersColumnHasByUnit( + ConstHandle2ConstColumnHeaders This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ColumnHasByUnit", + This, extract::column, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstColumn +ColumnHeadersColumnGetByUnitConst( + ConstHandle2ConstColumnHeaders This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ColumnGetByUnitConst", + This, extract::column, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Column +ColumnHeadersColumnGetByUnit( + ConstHandle2ColumnHeaders This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ColumnGetByUnit", + This, extract::column, meta::unit, unit); +} + +// Set, by unit +void +ColumnHeadersColumnSetByUnit( + ConstHandle2ColumnHeaders This, + const XMLName unit, + ConstHandle2ConstColumn column +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ColumnSetByUnit", + This, extract::column, meta::unit, unit, column); +} + +// Has, by types +int +ColumnHeadersColumnHasByTypes( + ConstHandle2ConstColumnHeaders This, + const XMLName types +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ColumnHasByTypes", + This, extract::column, meta::types, types); +} + +// Get, by types, const +Handle2ConstColumn +ColumnHeadersColumnGetByTypesConst( + ConstHandle2ConstColumnHeaders This, + const XMLName types +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ColumnGetByTypesConst", + This, extract::column, meta::types, types); +} + +// Get, by types, non-const +Handle2Column +ColumnHeadersColumnGetByTypes( + ConstHandle2ColumnHeaders This, + const XMLName types +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ColumnGetByTypes", + This, extract::column, meta::types, types); +} + +// Set, by types +void +ColumnHeadersColumnSetByTypes( + ConstHandle2ColumnHeaders This, + const XMLName types, + ConstHandle2ConstColumn column +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ColumnSetByTypes", + This, extract::column, meta::types, types, column); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.h b/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.h new file mode 100644 index 000000000..332550838 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.h @@ -0,0 +1,291 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ColumnHeaders is the basic handle type in this file. Example: +// // Create a default ColumnHeaders object: +// ColumnHeaders handle = ColumnHeadersDefault(); +// Functions involving ColumnHeaders are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_COLUMNHEADERS +#define C_INTERFACE_TRY_V2_0_CONTAINERS_COLUMNHEADERS + +#include "GNDStk.h" +#include "v2.0/containers/Column.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ColumnHeadersClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ColumnHeaders +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ColumnHeadersClass *ColumnHeaders; + +// --- Const-aware handles. +typedef const struct ColumnHeadersClass *const ConstHandle2ConstColumnHeaders; +typedef struct ColumnHeadersClass *const ConstHandle2ColumnHeaders; +typedef const struct ColumnHeadersClass * Handle2ConstColumnHeaders; +typedef struct ColumnHeadersClass * Handle2ColumnHeaders; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstColumnHeaders +ColumnHeadersDefaultConst(); + +// +++ Create, default +extern_c Handle2ColumnHeaders +ColumnHeadersDefault(); + +// --- Create, general, const +extern_c Handle2ConstColumnHeaders +ColumnHeadersCreateConst( + ConstHandle2Column *const column, const size_t columnSize +); + +// +++ Create, general +extern_c Handle2ColumnHeaders +ColumnHeadersCreate( + ConstHandle2Column *const column, const size_t columnSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ColumnHeadersAssign(ConstHandle2ColumnHeaders This, ConstHandle2ConstColumnHeaders from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ColumnHeadersDelete(ConstHandle2ConstColumnHeaders This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ColumnHeadersRead(ConstHandle2ColumnHeaders This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ColumnHeadersWrite(ConstHandle2ConstColumnHeaders This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ColumnHeadersPrint(ConstHandle2ConstColumnHeaders This); + +// +++ Print to standard output, as XML +extern_c int +ColumnHeadersPrintXML(ConstHandle2ConstColumnHeaders This); + +// +++ Print to standard output, as JSON +extern_c int +ColumnHeadersPrintJSON(ConstHandle2ConstColumnHeaders This); + + +// ----------------------------------------------------------------------------- +// Child: column +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ColumnHeadersColumnHas(ConstHandle2ConstColumnHeaders This); + +// +++ Clear +extern_c void +ColumnHeadersColumnClear(ConstHandle2ColumnHeaders This); + +// +++ Size +extern_c size_t +ColumnHeadersColumnSize(ConstHandle2ConstColumnHeaders This); + +// +++ Add +extern_c void +ColumnHeadersColumnAdd(ConstHandle2ColumnHeaders This, ConstHandle2ConstColumn column); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstColumn +ColumnHeadersColumnGetConst(ConstHandle2ConstColumnHeaders This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Column +ColumnHeadersColumnGet(ConstHandle2ColumnHeaders This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ColumnHeadersColumnSet( + ConstHandle2ColumnHeaders This, + const size_t index_, + ConstHandle2ConstColumn column +); + +// +++ Has, by index +extern_c int +ColumnHeadersColumnHasByIndex( + ConstHandle2ConstColumnHeaders This, + const Integer32 index +); + +// --- Get, by index, const +extern_c Handle2ConstColumn +ColumnHeadersColumnGetByIndexConst( + ConstHandle2ConstColumnHeaders This, + const Integer32 index +); + +// +++ Get, by index, non-const +extern_c Handle2Column +ColumnHeadersColumnGetByIndex( + ConstHandle2ColumnHeaders This, + const Integer32 index +); + +// +++ Set, by index +extern_c void +ColumnHeadersColumnSetByIndex( + ConstHandle2ColumnHeaders This, + const Integer32 index, + ConstHandle2ConstColumn column +); + +// +++ Has, by name +extern_c int +ColumnHeadersColumnHasByName( + ConstHandle2ConstColumnHeaders This, + const XMLName name +); + +// --- Get, by name, const +extern_c Handle2ConstColumn +ColumnHeadersColumnGetByNameConst( + ConstHandle2ConstColumnHeaders This, + const XMLName name +); + +// +++ Get, by name, non-const +extern_c Handle2Column +ColumnHeadersColumnGetByName( + ConstHandle2ColumnHeaders This, + const XMLName name +); + +// +++ Set, by name +extern_c void +ColumnHeadersColumnSetByName( + ConstHandle2ColumnHeaders This, + const XMLName name, + ConstHandle2ConstColumn column +); + +// +++ Has, by unit +extern_c int +ColumnHeadersColumnHasByUnit( + ConstHandle2ConstColumnHeaders This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstColumn +ColumnHeadersColumnGetByUnitConst( + ConstHandle2ConstColumnHeaders This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Column +ColumnHeadersColumnGetByUnit( + ConstHandle2ColumnHeaders This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +ColumnHeadersColumnSetByUnit( + ConstHandle2ColumnHeaders This, + const XMLName unit, + ConstHandle2ConstColumn column +); + +// +++ Has, by types +extern_c int +ColumnHeadersColumnHasByTypes( + ConstHandle2ConstColumnHeaders This, + const XMLName types +); + +// --- Get, by types, const +extern_c Handle2ConstColumn +ColumnHeadersColumnGetByTypesConst( + ConstHandle2ConstColumnHeaders This, + const XMLName types +); + +// +++ Get, by types, non-const +extern_c Handle2Column +ColumnHeadersColumnGetByTypes( + ConstHandle2ColumnHeaders This, + const XMLName types +); + +// +++ Set, by types +extern_c void +ColumnHeadersColumnSetByTypes( + ConstHandle2ColumnHeaders This, + const XMLName types, + ConstHandle2ConstColumn column +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.cpp new file mode 100644 index 000000000..be255d0b8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.cpp @@ -0,0 +1,349 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Constant1d.hpp" +#include "Constant1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Constant1dClass; +using CPP = multigroup::Constant1d; + +static const std::string CLASSNAME = "Constant1d"; + +namespace extract { + static auto value = [](auto &obj) { return &obj.value; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto axes = [](auto &obj) { return &obj.axes; }; +} + +using CPPAxes = containers::Axes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstConstant1d +Constant1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Constant1d +Constant1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstConstant1d +Constant1dCreateConst( + const Float64 value, + const XMLName label, + const Float64 outerDomainValue, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstAxes axes +) { + ConstHandle2Constant1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + value, + label, + outerDomainValue, + domainMin, + domainMax, + detail::tocpp(axes) + ); + return handle; +} + +// Create, general +Handle2Constant1d +Constant1dCreate( + const Float64 value, + const XMLName label, + const Float64 outerDomainValue, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstAxes axes +) { + ConstHandle2Constant1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + value, + label, + outerDomainValue, + domainMin, + domainMax, + detail::tocpp(axes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Constant1dAssign(ConstHandle2Constant1d This, ConstHandle2ConstConstant1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Constant1dDelete(ConstHandle2ConstConstant1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Constant1dRead(ConstHandle2Constant1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Constant1dWrite(ConstHandle2ConstConstant1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Constant1dPrint(ConstHandle2ConstConstant1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Constant1dPrintXML(ConstHandle2ConstConstant1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Constant1dPrintJSON(ConstHandle2ConstConstant1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +Constant1dValueHas(ConstHandle2ConstConstant1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +Constant1dValueGet(ConstHandle2ConstConstant1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +Constant1dValueSet(ConstHandle2Constant1d This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Constant1dLabelHas(ConstHandle2ConstConstant1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Constant1dLabelGet(ConstHandle2ConstConstant1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Constant1dLabelSet(ConstHandle2Constant1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +Constant1dOuterDomainValueHas(ConstHandle2ConstConstant1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +Constant1dOuterDomainValueGet(ConstHandle2ConstConstant1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +Constant1dOuterDomainValueSet(ConstHandle2Constant1d This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +Constant1dDomainMinHas(ConstHandle2ConstConstant1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +Constant1dDomainMinGet(ConstHandle2ConstConstant1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +Constant1dDomainMinSet(ConstHandle2Constant1d This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +Constant1dDomainMaxHas(ConstHandle2ConstConstant1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +Constant1dDomainMaxGet(ConstHandle2ConstConstant1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +Constant1dDomainMaxSet(ConstHandle2Constant1d This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Constant1dAxesHas(ConstHandle2ConstConstant1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Constant1dAxesGetConst(ConstHandle2ConstConstant1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Constant1dAxesGet(ConstHandle2Constant1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Constant1dAxesSet(ConstHandle2Constant1d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.h new file mode 100644 index 000000000..2c0a45af5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.h @@ -0,0 +1,259 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Constant1d is the basic handle type in this file. Example: +// // Create a default Constant1d object: +// Constant1d handle = Constant1dDefault(); +// Functions involving Constant1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_CONSTANT1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_CONSTANT1D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Constant1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Constant1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Constant1dClass *Constant1d; + +// --- Const-aware handles. +typedef const struct Constant1dClass *const ConstHandle2ConstConstant1d; +typedef struct Constant1dClass *const ConstHandle2Constant1d; +typedef const struct Constant1dClass * Handle2ConstConstant1d; +typedef struct Constant1dClass * Handle2Constant1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstConstant1d +Constant1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Constant1d +Constant1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstConstant1d +Constant1dCreateConst( + const Float64 value, + const XMLName label, + const Float64 outerDomainValue, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstAxes axes +); + +// +++ Create, general +extern_c Handle2Constant1d +Constant1dCreate( + const Float64 value, + const XMLName label, + const Float64 outerDomainValue, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstAxes axes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Constant1dAssign(ConstHandle2Constant1d This, ConstHandle2ConstConstant1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Constant1dDelete(ConstHandle2ConstConstant1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Constant1dRead(ConstHandle2Constant1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Constant1dWrite(ConstHandle2ConstConstant1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Constant1dPrint(ConstHandle2ConstConstant1d This); + +// +++ Print to standard output, as XML +extern_c int +Constant1dPrintXML(ConstHandle2ConstConstant1d This); + +// +++ Print to standard output, as JSON +extern_c int +Constant1dPrintJSON(ConstHandle2ConstConstant1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Constant1dValueHas(ConstHandle2ConstConstant1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Constant1dValueGet(ConstHandle2ConstConstant1d This); + +// +++ Set +extern_c void +Constant1dValueSet(ConstHandle2Constant1d This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Constant1dLabelHas(ConstHandle2ConstConstant1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Constant1dLabelGet(ConstHandle2ConstConstant1d This); + +// +++ Set +extern_c void +Constant1dLabelSet(ConstHandle2Constant1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Constant1dOuterDomainValueHas(ConstHandle2ConstConstant1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Constant1dOuterDomainValueGet(ConstHandle2ConstConstant1d This); + +// +++ Set +extern_c void +Constant1dOuterDomainValueSet(ConstHandle2Constant1d This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Constant1dDomainMinHas(ConstHandle2ConstConstant1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Constant1dDomainMinGet(ConstHandle2ConstConstant1d This); + +// +++ Set +extern_c void +Constant1dDomainMinSet(ConstHandle2Constant1d This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Constant1dDomainMaxHas(ConstHandle2ConstConstant1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Constant1dDomainMaxGet(ConstHandle2ConstConstant1d This); + +// +++ Set +extern_c void +Constant1dDomainMaxSet(ConstHandle2Constant1d This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Constant1dAxesHas(ConstHandle2ConstConstant1d This); + +// --- Get, const +extern_c Handle2ConstAxes +Constant1dAxesGetConst(ConstHandle2ConstConstant1d This); + +// +++ Get, non-const +extern_c Handle2Axes +Constant1dAxesGet(ConstHandle2Constant1d This); + +// +++ Set +extern_c void +Constant1dAxesSet(ConstHandle2Constant1d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Data.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Data.cpp new file mode 100644 index 000000000..01ace4979 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Data.cpp @@ -0,0 +1,418 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Data.hpp" +#include "Data.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DataClass; +using CPP = multigroup::Data; + +static const std::string CLASSNAME = "Data"; + +namespace extract { + static auto sep = [](auto &obj) { return &obj.sep; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstData +DataDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Data +DataDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstData +DataCreateConst( + const UTF8Text sep +) { + ConstHandle2Data handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + sep + ); + return handle; +} + +// Create, general +Handle2Data +DataCreate( + const UTF8Text sep +) { + ConstHandle2Data handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + sep + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DataAssign(ConstHandle2Data This, ConstHandle2ConstData from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DataDelete(ConstHandle2ConstData This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DataRead(ConstHandle2Data This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DataWrite(ConstHandle2ConstData This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DataPrint(ConstHandle2ConstData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DataPrintXML(ConstHandle2ConstData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DataPrintJSON(ConstHandle2ConstData This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +DataIntsClear(ConstHandle2Data This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +DataIntsSize(ConstHandle2ConstData This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +DataIntsGet(ConstHandle2ConstData This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +DataIntsSet(ConstHandle2Data This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +DataIntsGetArrayConst(ConstHandle2ConstData This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +DataIntsGetArray(ConstHandle2Data This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +DataIntsSetArray(ConstHandle2Data This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +DataUnsignedsClear(ConstHandle2Data This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +DataUnsignedsSize(ConstHandle2ConstData This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +DataUnsignedsGet(ConstHandle2ConstData This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +DataUnsignedsSet(ConstHandle2Data This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +DataUnsignedsGetArrayConst(ConstHandle2ConstData This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +DataUnsignedsGetArray(ConstHandle2Data This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +DataUnsignedsSetArray(ConstHandle2Data This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +DataFloatsClear(ConstHandle2Data This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +DataFloatsSize(ConstHandle2ConstData This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +DataFloatsGet(ConstHandle2ConstData This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +DataFloatsSet(ConstHandle2Data This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +DataFloatsGetArrayConst(ConstHandle2ConstData This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +DataFloatsGetArray(ConstHandle2Data This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +DataFloatsSetArray(ConstHandle2Data This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +DataDoublesClear(ConstHandle2Data This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +DataDoublesSize(ConstHandle2ConstData This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +DataDoublesGet(ConstHandle2ConstData This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +DataDoublesSet(ConstHandle2Data This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +DataDoublesGetArrayConst(ConstHandle2ConstData This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +DataDoublesGetArray(ConstHandle2Data This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +DataDoublesSetArray(ConstHandle2Data This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: sep +// ----------------------------------------------------------------------------- + +// Has +int +DataSepHas(ConstHandle2ConstData This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SepHas", This, extract::sep); +} + +// Get +// Returns by value +UTF8Text +DataSepGet(ConstHandle2ConstData This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SepGet", This, extract::sep); +} + +// Set +void +DataSepSet(ConstHandle2Data This, const UTF8Text sep) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SepSet", This, extract::sep, sep); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Data.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Data.h new file mode 100644 index 000000000..128321ae8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Data.h @@ -0,0 +1,296 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Data is the basic handle type in this file. Example: +// // Create a default Data object: +// Data handle = DataDefault(); +// Functions involving Data are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_DATA +#define C_INTERFACE_TRY_V2_0_CONTAINERS_DATA + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DataClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Data +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DataClass *Data; + +// --- Const-aware handles. +typedef const struct DataClass *const ConstHandle2ConstData; +typedef struct DataClass *const ConstHandle2Data; +typedef const struct DataClass * Handle2ConstData; +typedef struct DataClass * Handle2Data; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstData +DataDefaultConst(); + +// +++ Create, default +extern_c Handle2Data +DataDefault(); + +// --- Create, general, const +extern_c Handle2ConstData +DataCreateConst( + const UTF8Text sep +); + +// +++ Create, general +extern_c Handle2Data +DataCreate( + const UTF8Text sep +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DataAssign(ConstHandle2Data This, ConstHandle2ConstData from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DataDelete(ConstHandle2ConstData This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DataRead(ConstHandle2Data This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DataWrite(ConstHandle2ConstData This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DataPrint(ConstHandle2ConstData This); + +// +++ Print to standard output, as XML +extern_c int +DataPrintXML(ConstHandle2ConstData This); + +// +++ Print to standard output, as JSON +extern_c int +DataPrintJSON(ConstHandle2ConstData This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +DataIntsClear(ConstHandle2Data This); + +// +++ Get size +extern_c size_t +DataIntsSize(ConstHandle2ConstData This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +DataIntsGet(ConstHandle2ConstData This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +DataIntsSet(ConstHandle2Data This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +DataIntsGetArrayConst(ConstHandle2ConstData This); + +// +++ Get pointer to existing values, non-const +extern_c int * +DataIntsGetArray(ConstHandle2Data This); + +// +++ Set completely new values and size +extern_c void +DataIntsSetArray(ConstHandle2Data This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +DataUnsignedsClear(ConstHandle2Data This); + +// +++ Get size +extern_c size_t +DataUnsignedsSize(ConstHandle2ConstData This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +DataUnsignedsGet(ConstHandle2ConstData This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +DataUnsignedsSet(ConstHandle2Data This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +DataUnsignedsGetArrayConst(ConstHandle2ConstData This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +DataUnsignedsGetArray(ConstHandle2Data This); + +// +++ Set completely new values and size +extern_c void +DataUnsignedsSetArray(ConstHandle2Data This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +DataFloatsClear(ConstHandle2Data This); + +// +++ Get size +extern_c size_t +DataFloatsSize(ConstHandle2ConstData This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +DataFloatsGet(ConstHandle2ConstData This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +DataFloatsSet(ConstHandle2Data This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +DataFloatsGetArrayConst(ConstHandle2ConstData This); + +// +++ Get pointer to existing values, non-const +extern_c float * +DataFloatsGetArray(ConstHandle2Data This); + +// +++ Set completely new values and size +extern_c void +DataFloatsSetArray(ConstHandle2Data This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +DataDoublesClear(ConstHandle2Data This); + +// +++ Get size +extern_c size_t +DataDoublesSize(ConstHandle2ConstData This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +DataDoublesGet(ConstHandle2ConstData This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +DataDoublesSet(ConstHandle2Data This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +DataDoublesGetArrayConst(ConstHandle2ConstData This); + +// +++ Get pointer to existing values, non-const +extern_c double * +DataDoublesGetArray(ConstHandle2Data This); + +// +++ Set completely new values and size +extern_c void +DataDoublesSetArray(ConstHandle2Data This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: sep +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DataSepHas(ConstHandle2ConstData This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +DataSepGet(ConstHandle2ConstData This); + +// +++ Set +extern_c void +DataSepSet(ConstHandle2Data This, const UTF8Text sep); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp new file mode 100644 index 000000000..866fd16af --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Double.hpp" +#include "Double.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = DoubleClass; +using CPP = multigroup::Double; + +static const std::string CLASSNAME = "Double"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDouble +DoubleDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Double +DoubleDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDouble +DoubleCreateConst( + const XMLName label, + const XMLName unit, + const Float64 value +) { + ConstHandle2Double handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value + ); + return handle; +} + +// Create, general +Handle2Double +DoubleCreate( + const XMLName label, + const XMLName unit, + const Float64 value +) { + ConstHandle2Double handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DoubleAssign(ConstHandle2Double This, ConstHandle2ConstDouble from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DoubleDelete(ConstHandle2ConstDouble This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DoubleRead(ConstHandle2Double This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DoubleWrite(ConstHandle2ConstDouble This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DoublePrint(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DoublePrintXML(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DoublePrintJSON(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +DoubleLabelHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +DoubleLabelGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +DoubleLabelSet(ConstHandle2Double This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +DoubleUnitHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +DoubleUnitGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +DoubleUnitSet(ConstHandle2Double This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +DoubleValueHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +DoubleValueGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +DoubleValueSet(ConstHandle2Double This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h new file mode 100644 index 000000000..9ee70d3a9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Double is the basic handle type in this file. Example: +// // Create a default Double object: +// Double handle = DoubleDefault(); +// Functions involving Double are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_DOUBLE +#define C_INTERFACE_TRY_V2_0_CONTAINERS_DOUBLE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DoubleClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Double +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DoubleClass *Double; + +// --- Const-aware handles. +typedef const struct DoubleClass *const ConstHandle2ConstDouble; +typedef struct DoubleClass *const ConstHandle2Double; +typedef const struct DoubleClass * Handle2ConstDouble; +typedef struct DoubleClass * Handle2Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDouble +DoubleDefaultConst(); + +// +++ Create, default +extern_c Handle2Double +DoubleDefault(); + +// --- Create, general, const +extern_c Handle2ConstDouble +DoubleCreateConst( + const XMLName label, + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2Double +DoubleCreate( + const XMLName label, + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DoubleAssign(ConstHandle2Double This, ConstHandle2ConstDouble from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DoubleDelete(ConstHandle2ConstDouble This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DoubleRead(ConstHandle2Double This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DoubleWrite(ConstHandle2ConstDouble This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DoublePrint(ConstHandle2ConstDouble This); + +// +++ Print to standard output, as XML +extern_c int +DoublePrintXML(ConstHandle2ConstDouble This); + +// +++ Print to standard output, as JSON +extern_c int +DoublePrintJSON(ConstHandle2ConstDouble This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleLabelHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DoubleLabelGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleLabelSet(ConstHandle2Double This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleUnitHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DoubleUnitGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleUnitSet(ConstHandle2Double This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleValueHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +DoubleValueGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleValueSet(ConstHandle2Double This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.cpp new file mode 100644 index 000000000..bc316d44a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Fraction.hpp" +#include "Fraction.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = FractionClass; +using CPP = multigroup::Fraction; + +static const std::string CLASSNAME = "Fraction"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFraction +FractionDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Fraction +FractionDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFraction +FractionCreateConst( + const XMLName label, + const XMLName unit, + const Fraction32 value +) { + ConstHandle2Fraction handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value + ); + return handle; +} + +// Create, general +Handle2Fraction +FractionCreate( + const XMLName label, + const XMLName unit, + const Fraction32 value +) { + ConstHandle2Fraction handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +FractionAssign(ConstHandle2Fraction This, ConstHandle2ConstFraction from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +FractionDelete(ConstHandle2ConstFraction This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +FractionRead(ConstHandle2Fraction This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +FractionWrite(ConstHandle2ConstFraction This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +FractionPrint(ConstHandle2ConstFraction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +FractionPrintXML(ConstHandle2ConstFraction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +FractionPrintJSON(ConstHandle2ConstFraction This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +FractionLabelHas(ConstHandle2ConstFraction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +FractionLabelGet(ConstHandle2ConstFraction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +FractionLabelSet(ConstHandle2Fraction This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +FractionUnitHas(ConstHandle2ConstFraction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +FractionUnitGet(ConstHandle2ConstFraction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +FractionUnitSet(ConstHandle2Fraction This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +FractionValueHas(ConstHandle2ConstFraction This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Fraction32 +FractionValueGet(ConstHandle2ConstFraction This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +FractionValueSet(ConstHandle2Fraction This, const Fraction32 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.h new file mode 100644 index 000000000..391421188 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Fraction is the basic handle type in this file. Example: +// // Create a default Fraction object: +// Fraction handle = FractionDefault(); +// Functions involving Fraction are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_FRACTION +#define C_INTERFACE_TRY_V2_0_CONTAINERS_FRACTION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct FractionClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Fraction +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct FractionClass *Fraction; + +// --- Const-aware handles. +typedef const struct FractionClass *const ConstHandle2ConstFraction; +typedef struct FractionClass *const ConstHandle2Fraction; +typedef const struct FractionClass * Handle2ConstFraction; +typedef struct FractionClass * Handle2Fraction; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFraction +FractionDefaultConst(); + +// +++ Create, default +extern_c Handle2Fraction +FractionDefault(); + +// --- Create, general, const +extern_c Handle2ConstFraction +FractionCreateConst( + const XMLName label, + const XMLName unit, + const Fraction32 value +); + +// +++ Create, general +extern_c Handle2Fraction +FractionCreate( + const XMLName label, + const XMLName unit, + const Fraction32 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +FractionAssign(ConstHandle2Fraction This, ConstHandle2ConstFraction from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +FractionDelete(ConstHandle2ConstFraction This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +FractionRead(ConstHandle2Fraction This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +FractionWrite(ConstHandle2ConstFraction This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +FractionPrint(ConstHandle2ConstFraction This); + +// +++ Print to standard output, as XML +extern_c int +FractionPrintXML(ConstHandle2ConstFraction This); + +// +++ Print to standard output, as JSON +extern_c int +FractionPrintJSON(ConstHandle2ConstFraction This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FractionLabelHas(ConstHandle2ConstFraction This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +FractionLabelGet(ConstHandle2ConstFraction This); + +// +++ Set +extern_c void +FractionLabelSet(ConstHandle2Fraction This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FractionUnitHas(ConstHandle2ConstFraction This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +FractionUnitGet(ConstHandle2ConstFraction This); + +// +++ Set +extern_c void +FractionUnitSet(ConstHandle2Fraction This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FractionValueHas(ConstHandle2ConstFraction This); + +// +++ Get +// +++ Returns by value +extern_c Fraction32 +FractionValueGet(ConstHandle2ConstFraction This); + +// +++ Set +extern_c void +FractionValueSet(ConstHandle2Fraction This, const Fraction32 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.cpp new file mode 100644 index 000000000..7501afb53 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.cpp @@ -0,0 +1,136 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Function1ds.hpp" +#include "Function1ds.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Function1dsClass; +using CPP = multigroup::Function1ds; + +static const std::string CLASSNAME = "Function1ds"; + +namespace extract { +} + +using CPPXYs1d = containers::XYs1d; +using CPPConstant1d = containers::Constant1d; +using CPPPolynomial1d = containers::Polynomial1d; +using CPPLegendre = containers::Legendre; +using CPPGridded1d = containers::Gridded1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFunction1ds +Function1dsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Function1ds +Function1dsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFunction1ds +Function1dsCreateConst( +) { + ConstHandle2Function1ds handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Function1ds +Function1dsCreate( +) { + ConstHandle2Function1ds handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Function1dsAssign(ConstHandle2Function1ds This, ConstHandle2ConstFunction1ds from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Function1dsDelete(ConstHandle2ConstFunction1ds This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Function1dsRead(ConstHandle2Function1ds This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Function1dsWrite(ConstHandle2ConstFunction1ds This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Function1dsPrint(ConstHandle2ConstFunction1ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Function1dsPrintXML(ConstHandle2ConstFunction1ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Function1dsPrintJSON(ConstHandle2ConstFunction1ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.h new file mode 100644 index 000000000..348a21c43 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.h @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Function1ds is the basic handle type in this file. Example: +// // Create a default Function1ds object: +// Function1ds handle = Function1dsDefault(); +// Functions involving Function1ds are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION1DS +#define C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION1DS + +#include "GNDStk.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/Polynomial1d.h" +#include "v2.0/containers/Legendre.h" +#include "v2.0/containers/Gridded1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Function1dsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Function1ds +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Function1dsClass *Function1ds; + +// --- Const-aware handles. +typedef const struct Function1dsClass *const ConstHandle2ConstFunction1ds; +typedef struct Function1dsClass *const ConstHandle2Function1ds; +typedef const struct Function1dsClass * Handle2ConstFunction1ds; +typedef struct Function1dsClass * Handle2Function1ds; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFunction1ds +Function1dsDefaultConst(); + +// +++ Create, default +extern_c Handle2Function1ds +Function1dsDefault(); + +// --- Create, general, const +extern_c Handle2ConstFunction1ds +Function1dsCreateConst( +); + +// +++ Create, general +extern_c Handle2Function1ds +Function1dsCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Function1dsAssign(ConstHandle2Function1ds This, ConstHandle2ConstFunction1ds from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Function1dsDelete(ConstHandle2ConstFunction1ds This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Function1dsRead(ConstHandle2Function1ds This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Function1dsWrite(ConstHandle2ConstFunction1ds This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Function1dsPrint(ConstHandle2ConstFunction1ds This); + +// +++ Print to standard output, as XML +extern_c int +Function1dsPrintXML(ConstHandle2ConstFunction1ds This); + +// +++ Print to standard output, as JSON +extern_c int +Function1dsPrintJSON(ConstHandle2ConstFunction1ds This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.cpp new file mode 100644 index 000000000..664f533dd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Function2ds.hpp" +#include "Function2ds.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Function2dsClass; +using CPP = multigroup::Function2ds; + +static const std::string CLASSNAME = "Function2ds"; + +namespace extract { +} + +using CPPXYs2d = containers::XYs2d; +using CPPGridded2d = containers::Gridded2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFunction2ds +Function2dsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Function2ds +Function2dsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFunction2ds +Function2dsCreateConst( +) { + ConstHandle2Function2ds handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Function2ds +Function2dsCreate( +) { + ConstHandle2Function2ds handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Function2dsAssign(ConstHandle2Function2ds This, ConstHandle2ConstFunction2ds from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Function2dsDelete(ConstHandle2ConstFunction2ds This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Function2dsRead(ConstHandle2Function2ds This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Function2dsWrite(ConstHandle2ConstFunction2ds This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Function2dsPrint(ConstHandle2ConstFunction2ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Function2dsPrintXML(ConstHandle2ConstFunction2ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Function2dsPrintJSON(ConstHandle2ConstFunction2ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.h new file mode 100644 index 000000000..29d580f54 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Function2ds is the basic handle type in this file. Example: +// // Create a default Function2ds object: +// Function2ds handle = Function2dsDefault(); +// Functions involving Function2ds are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION2DS +#define C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION2DS + +#include "GNDStk.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Gridded2d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Function2dsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Function2ds +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Function2dsClass *Function2ds; + +// --- Const-aware handles. +typedef const struct Function2dsClass *const ConstHandle2ConstFunction2ds; +typedef struct Function2dsClass *const ConstHandle2Function2ds; +typedef const struct Function2dsClass * Handle2ConstFunction2ds; +typedef struct Function2dsClass * Handle2Function2ds; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFunction2ds +Function2dsDefaultConst(); + +// +++ Create, default +extern_c Handle2Function2ds +Function2dsDefault(); + +// --- Create, general, const +extern_c Handle2ConstFunction2ds +Function2dsCreateConst( +); + +// +++ Create, general +extern_c Handle2Function2ds +Function2dsCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Function2dsAssign(ConstHandle2Function2ds This, ConstHandle2ConstFunction2ds from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Function2dsDelete(ConstHandle2ConstFunction2ds This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Function2dsRead(ConstHandle2Function2ds This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Function2dsWrite(ConstHandle2ConstFunction2ds This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Function2dsPrint(ConstHandle2ConstFunction2ds This); + +// +++ Print to standard output, as XML +extern_c int +Function2dsPrintXML(ConstHandle2ConstFunction2ds This); + +// +++ Print to standard output, as JSON +extern_c int +Function2dsPrintJSON(ConstHandle2ConstFunction2ds This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.cpp new file mode 100644 index 000000000..3e8e5aace --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.cpp @@ -0,0 +1,133 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Function3ds.hpp" +#include "Function3ds.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Function3dsClass; +using CPP = multigroup::Function3ds; + +static const std::string CLASSNAME = "Function3ds"; + +namespace extract { +} + +using CPPXYs3d = containers::XYs3d; +using CPPGridded3d = containers::Gridded3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstFunction3ds +Function3dsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Function3ds +Function3dsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstFunction3ds +Function3dsCreateConst( +) { + ConstHandle2Function3ds handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Function3ds +Function3dsCreate( +) { + ConstHandle2Function3ds handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Function3dsAssign(ConstHandle2Function3ds This, ConstHandle2ConstFunction3ds from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Function3dsDelete(ConstHandle2ConstFunction3ds This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Function3dsRead(ConstHandle2Function3ds This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Function3dsWrite(ConstHandle2ConstFunction3ds This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Function3dsPrint(ConstHandle2ConstFunction3ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Function3dsPrintXML(ConstHandle2ConstFunction3ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Function3dsPrintJSON(ConstHandle2ConstFunction3ds This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.h new file mode 100644 index 000000000..38d8edd53 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.h @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Function3ds is the basic handle type in this file. Example: +// // Create a default Function3ds object: +// Function3ds handle = Function3dsDefault(); +// Functions involving Function3ds are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION3DS +#define C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION3DS + +#include "GNDStk.h" +#include "v2.0/containers/XYs3d.h" +#include "v2.0/containers/Gridded3d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Function3dsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Function3ds +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Function3dsClass *Function3ds; + +// --- Const-aware handles. +typedef const struct Function3dsClass *const ConstHandle2ConstFunction3ds; +typedef struct Function3dsClass *const ConstHandle2Function3ds; +typedef const struct Function3dsClass * Handle2ConstFunction3ds; +typedef struct Function3dsClass * Handle2Function3ds; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstFunction3ds +Function3dsDefaultConst(); + +// +++ Create, default +extern_c Handle2Function3ds +Function3dsDefault(); + +// --- Create, general, const +extern_c Handle2ConstFunction3ds +Function3dsCreateConst( +); + +// +++ Create, general +extern_c Handle2Function3ds +Function3dsCreate( +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Function3dsAssign(ConstHandle2Function3ds This, ConstHandle2ConstFunction3ds from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Function3dsDelete(ConstHandle2ConstFunction3ds This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Function3dsRead(ConstHandle2Function3ds This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Function3dsWrite(ConstHandle2ConstFunction3ds This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Function3dsPrint(ConstHandle2ConstFunction3ds This); + +// +++ Print to standard output, as XML +extern_c int +Function3dsPrintXML(ConstHandle2ConstFunction3ds This); + +// +++ Print to standard output, as JSON +extern_c int +Function3dsPrintJSON(ConstHandle2ConstFunction3ds This); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.cpp new file mode 100644 index 000000000..7862c70db --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.cpp @@ -0,0 +1,308 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Grid.hpp" +#include "Grid.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = GridClass; +using CPP = multigroup::Grid; + +static const std::string CLASSNAME = "Grid"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto interpolation = [](auto &obj) { return &obj.interpolation; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto style = [](auto &obj) { return &obj.style; }; + static auto unit = [](auto &obj) { return &obj.unit; }; +} + +using CPPValues = containers::Values; +using CPPLink = containers::Link; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGrid +GridDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Grid +GridDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGrid +GridCreateConst( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName label, + const UTF8Text style, + const XMLName unit, +) { + ConstHandle2Grid handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + interpolation, + label, + style, + unit + ); + return handle; +} + +// Create, general +Handle2Grid +GridCreate( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName label, + const UTF8Text style, + const XMLName unit, +) { + ConstHandle2Grid handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + interpolation, + label, + style, + unit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +GridAssign(ConstHandle2Grid This, ConstHandle2ConstGrid from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +GridDelete(ConstHandle2ConstGrid This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +GridRead(ConstHandle2Grid This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +GridWrite(ConstHandle2ConstGrid This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +GridPrint(ConstHandle2ConstGrid This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +GridPrintXML(ConstHandle2ConstGrid This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +GridPrintJSON(ConstHandle2ConstGrid This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +GridIndexHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +Integer32 +GridIndexGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +GridIndexSet(ConstHandle2Grid This, const Integer32 index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// Has +int +GridInterpolationHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationHas", This, extract::interpolation); +} + +// Get +// Returns by value +enums::Interpolation +GridInterpolationGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationGet", This, extract::interpolation); +} + +// Set +void +GridInterpolationSet(ConstHandle2Grid This, const enums::Interpolation interpolation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationSet", This, extract::interpolation, interpolation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +GridLabelHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +GridLabelGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +GridLabelSet(ConstHandle2Grid This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: style +// ----------------------------------------------------------------------------- + +// Has +int +GridStyleHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StyleHas", This, extract::style); +} + +// Get +// Returns by value +UTF8Text +GridStyleGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StyleGet", This, extract::style); +} + +// Set +void +GridStyleSet(ConstHandle2Grid This, const UTF8Text style) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StyleSet", This, extract::style, style); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +GridUnitHas(ConstHandle2ConstGrid This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +GridUnitGet(ConstHandle2ConstGrid This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +GridUnitSet(ConstHandle2Grid This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.h new file mode 100644 index 000000000..e855b7339 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.h @@ -0,0 +1,237 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Grid is the basic handle type in this file. Example: +// // Create a default Grid object: +// Grid handle = GridDefault(); +// Functions involving Grid are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_GRID +#define C_INTERFACE_TRY_V2_0_CONTAINERS_GRID + +#include "GNDStk.h" +#include "v2.0/containers/Values.h" +#include "v2.0/containers/Link.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct GridClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Grid +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct GridClass *Grid; + +// --- Const-aware handles. +typedef const struct GridClass *const ConstHandle2ConstGrid; +typedef struct GridClass *const ConstHandle2Grid; +typedef const struct GridClass * Handle2ConstGrid; +typedef struct GridClass * Handle2Grid; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGrid +GridDefaultConst(); + +// +++ Create, default +extern_c Handle2Grid +GridDefault(); + +// --- Create, general, const +extern_c Handle2ConstGrid +GridCreateConst( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName label, + const UTF8Text style, + const XMLName unit, +); + +// +++ Create, general +extern_c Handle2Grid +GridCreate( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName label, + const UTF8Text style, + const XMLName unit, +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +GridAssign(ConstHandle2Grid This, ConstHandle2ConstGrid from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +GridDelete(ConstHandle2ConstGrid This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +GridRead(ConstHandle2Grid This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +GridWrite(ConstHandle2ConstGrid This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +GridPrint(ConstHandle2ConstGrid This); + +// +++ Print to standard output, as XML +extern_c int +GridPrintXML(ConstHandle2ConstGrid This); + +// +++ Print to standard output, as JSON +extern_c int +GridPrintJSON(ConstHandle2ConstGrid This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridIndexHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +GridIndexGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridIndexSet(ConstHandle2Grid This, const Integer32 index); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridInterpolationHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interpolation +GridInterpolationGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridInterpolationSet(ConstHandle2Grid This, const enums::Interpolation interpolation); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridLabelHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +GridLabelGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridLabelSet(ConstHandle2Grid This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: style +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridStyleHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +GridStyleGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridStyleSet(ConstHandle2Grid This, const UTF8Text style); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +GridUnitHas(ConstHandle2ConstGrid This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +GridUnitGet(ConstHandle2ConstGrid This); + +// +++ Set +extern_c void +GridUnitSet(ConstHandle2Grid This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.cpp new file mode 100644 index 000000000..dadb47547 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Gridded1d.hpp" +#include "Gridded1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Gridded1dClass; +using CPP = multigroup::Gridded1d; + +static const std::string CLASSNAME = "Gridded1d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto array = [](auto &obj) { return &obj.array; }; + static auto axes = [](auto &obj) { return &obj.axes; }; +} + +using CPPArray = containers::Array; +using CPPAxes = containers::Axes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGridded1d +Gridded1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Gridded1d +Gridded1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGridded1d +Gridded1dCreateConst( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +) { + ConstHandle2Gridded1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(array), + detail::tocpp(axes) + ); + return handle; +} + +// Create, general +Handle2Gridded1d +Gridded1dCreate( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +) { + ConstHandle2Gridded1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(array), + detail::tocpp(axes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Gridded1dAssign(ConstHandle2Gridded1d This, ConstHandle2ConstGridded1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Gridded1dDelete(ConstHandle2ConstGridded1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Gridded1dRead(ConstHandle2Gridded1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Gridded1dWrite(ConstHandle2ConstGridded1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Gridded1dPrint(ConstHandle2ConstGridded1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Gridded1dPrintXML(ConstHandle2ConstGridded1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Gridded1dPrintJSON(ConstHandle2ConstGridded1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Gridded1dLabelHas(ConstHandle2ConstGridded1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Gridded1dLabelGet(ConstHandle2ConstGridded1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Gridded1dLabelSet(ConstHandle2Gridded1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// Has +int +Gridded1dArrayHas(ConstHandle2ConstGridded1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ArrayHas", This, extract::array); +} + +// Get, const +Handle2ConstArray +Gridded1dArrayGetConst(ConstHandle2ConstGridded1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGetConst", This, extract::array); +} + +// Get, non-const +Handle2Array +Gridded1dArrayGet(ConstHandle2Gridded1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGet", This, extract::array); +} + +// Set +void +Gridded1dArraySet(ConstHandle2Gridded1d This, ConstHandle2ConstArray array) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ArraySet", This, extract::array, array); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Gridded1dAxesHas(ConstHandle2ConstGridded1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Gridded1dAxesGetConst(ConstHandle2ConstGridded1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Gridded1dAxesGet(ConstHandle2Gridded1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Gridded1dAxesSet(ConstHandle2Gridded1d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.h new file mode 100644 index 000000000..66ec4a535 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Gridded1d is the basic handle type in this file. Example: +// // Create a default Gridded1d object: +// Gridded1d handle = Gridded1dDefault(); +// Functions involving Gridded1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED1D + +#include "GNDStk.h" +#include "v2.0/containers/Array.h" +#include "v2.0/containers/Axes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Gridded1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Gridded1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Gridded1dClass *Gridded1d; + +// --- Const-aware handles. +typedef const struct Gridded1dClass *const ConstHandle2ConstGridded1d; +typedef struct Gridded1dClass *const ConstHandle2Gridded1d; +typedef const struct Gridded1dClass * Handle2ConstGridded1d; +typedef struct Gridded1dClass * Handle2Gridded1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGridded1d +Gridded1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Gridded1d +Gridded1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstGridded1d +Gridded1dCreateConst( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +); + +// +++ Create, general +extern_c Handle2Gridded1d +Gridded1dCreate( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Gridded1dAssign(ConstHandle2Gridded1d This, ConstHandle2ConstGridded1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Gridded1dDelete(ConstHandle2ConstGridded1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Gridded1dRead(ConstHandle2Gridded1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Gridded1dWrite(ConstHandle2ConstGridded1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Gridded1dPrint(ConstHandle2ConstGridded1d This); + +// +++ Print to standard output, as XML +extern_c int +Gridded1dPrintXML(ConstHandle2ConstGridded1d This); + +// +++ Print to standard output, as JSON +extern_c int +Gridded1dPrintJSON(ConstHandle2ConstGridded1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded1dLabelHas(ConstHandle2ConstGridded1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Gridded1dLabelGet(ConstHandle2ConstGridded1d This); + +// +++ Set +extern_c void +Gridded1dLabelSet(ConstHandle2Gridded1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded1dArrayHas(ConstHandle2ConstGridded1d This); + +// --- Get, const +extern_c Handle2ConstArray +Gridded1dArrayGetConst(ConstHandle2ConstGridded1d This); + +// +++ Get, non-const +extern_c Handle2Array +Gridded1dArrayGet(ConstHandle2Gridded1d This); + +// +++ Set +extern_c void +Gridded1dArraySet(ConstHandle2Gridded1d This, ConstHandle2ConstArray array); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded1dAxesHas(ConstHandle2ConstGridded1d This); + +// --- Get, const +extern_c Handle2ConstAxes +Gridded1dAxesGetConst(ConstHandle2ConstGridded1d This); + +// +++ Get, non-const +extern_c Handle2Axes +Gridded1dAxesGet(ConstHandle2Gridded1d This); + +// +++ Set +extern_c void +Gridded1dAxesSet(ConstHandle2Gridded1d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.cpp new file mode 100644 index 000000000..3296ef029 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Gridded2d.hpp" +#include "Gridded2d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Gridded2dClass; +using CPP = multigroup::Gridded2d; + +static const std::string CLASSNAME = "Gridded2d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto array = [](auto &obj) { return &obj.array; }; + static auto axes = [](auto &obj) { return &obj.axes; }; +} + +using CPPArray = containers::Array; +using CPPAxes = containers::Axes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGridded2d +Gridded2dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Gridded2d +Gridded2dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGridded2d +Gridded2dCreateConst( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +) { + ConstHandle2Gridded2d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(array), + detail::tocpp(axes) + ); + return handle; +} + +// Create, general +Handle2Gridded2d +Gridded2dCreate( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +) { + ConstHandle2Gridded2d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(array), + detail::tocpp(axes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Gridded2dAssign(ConstHandle2Gridded2d This, ConstHandle2ConstGridded2d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Gridded2dDelete(ConstHandle2ConstGridded2d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Gridded2dRead(ConstHandle2Gridded2d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Gridded2dWrite(ConstHandle2ConstGridded2d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Gridded2dPrint(ConstHandle2ConstGridded2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Gridded2dPrintXML(ConstHandle2ConstGridded2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Gridded2dPrintJSON(ConstHandle2ConstGridded2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Gridded2dLabelHas(ConstHandle2ConstGridded2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Gridded2dLabelGet(ConstHandle2ConstGridded2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Gridded2dLabelSet(ConstHandle2Gridded2d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// Has +int +Gridded2dArrayHas(ConstHandle2ConstGridded2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ArrayHas", This, extract::array); +} + +// Get, const +Handle2ConstArray +Gridded2dArrayGetConst(ConstHandle2ConstGridded2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGetConst", This, extract::array); +} + +// Get, non-const +Handle2Array +Gridded2dArrayGet(ConstHandle2Gridded2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGet", This, extract::array); +} + +// Set +void +Gridded2dArraySet(ConstHandle2Gridded2d This, ConstHandle2ConstArray array) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ArraySet", This, extract::array, array); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Gridded2dAxesHas(ConstHandle2ConstGridded2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Gridded2dAxesGetConst(ConstHandle2ConstGridded2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Gridded2dAxesGet(ConstHandle2Gridded2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Gridded2dAxesSet(ConstHandle2Gridded2d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.h new file mode 100644 index 000000000..d923d8be6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Gridded2d is the basic handle type in this file. Example: +// // Create a default Gridded2d object: +// Gridded2d handle = Gridded2dDefault(); +// Functions involving Gridded2d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED2D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED2D + +#include "GNDStk.h" +#include "v2.0/containers/Array.h" +#include "v2.0/containers/Axes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Gridded2dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Gridded2d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Gridded2dClass *Gridded2d; + +// --- Const-aware handles. +typedef const struct Gridded2dClass *const ConstHandle2ConstGridded2d; +typedef struct Gridded2dClass *const ConstHandle2Gridded2d; +typedef const struct Gridded2dClass * Handle2ConstGridded2d; +typedef struct Gridded2dClass * Handle2Gridded2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGridded2d +Gridded2dDefaultConst(); + +// +++ Create, default +extern_c Handle2Gridded2d +Gridded2dDefault(); + +// --- Create, general, const +extern_c Handle2ConstGridded2d +Gridded2dCreateConst( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +); + +// +++ Create, general +extern_c Handle2Gridded2d +Gridded2dCreate( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Gridded2dAssign(ConstHandle2Gridded2d This, ConstHandle2ConstGridded2d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Gridded2dDelete(ConstHandle2ConstGridded2d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Gridded2dRead(ConstHandle2Gridded2d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Gridded2dWrite(ConstHandle2ConstGridded2d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Gridded2dPrint(ConstHandle2ConstGridded2d This); + +// +++ Print to standard output, as XML +extern_c int +Gridded2dPrintXML(ConstHandle2ConstGridded2d This); + +// +++ Print to standard output, as JSON +extern_c int +Gridded2dPrintJSON(ConstHandle2ConstGridded2d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded2dLabelHas(ConstHandle2ConstGridded2d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Gridded2dLabelGet(ConstHandle2ConstGridded2d This); + +// +++ Set +extern_c void +Gridded2dLabelSet(ConstHandle2Gridded2d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded2dArrayHas(ConstHandle2ConstGridded2d This); + +// --- Get, const +extern_c Handle2ConstArray +Gridded2dArrayGetConst(ConstHandle2ConstGridded2d This); + +// +++ Get, non-const +extern_c Handle2Array +Gridded2dArrayGet(ConstHandle2Gridded2d This); + +// +++ Set +extern_c void +Gridded2dArraySet(ConstHandle2Gridded2d This, ConstHandle2ConstArray array); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded2dAxesHas(ConstHandle2ConstGridded2d This); + +// --- Get, const +extern_c Handle2ConstAxes +Gridded2dAxesGetConst(ConstHandle2ConstGridded2d This); + +// +++ Get, non-const +extern_c Handle2Axes +Gridded2dAxesGet(ConstHandle2Gridded2d This); + +// +++ Set +extern_c void +Gridded2dAxesSet(ConstHandle2Gridded2d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.cpp new file mode 100644 index 000000000..5ed874e71 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.cpp @@ -0,0 +1,252 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Gridded3d.hpp" +#include "Gridded3d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Gridded3dClass; +using CPP = multigroup::Gridded3d; + +static const std::string CLASSNAME = "Gridded3d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto array = [](auto &obj) { return &obj.array; }; + static auto axes = [](auto &obj) { return &obj.axes; }; +} + +using CPPArray = containers::Array; +using CPPAxes = containers::Axes; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstGridded3d +Gridded3dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Gridded3d +Gridded3dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstGridded3d +Gridded3dCreateConst( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +) { + ConstHandle2Gridded3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + detail::tocpp(array), + detail::tocpp(axes) + ); + return handle; +} + +// Create, general +Handle2Gridded3d +Gridded3dCreate( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +) { + ConstHandle2Gridded3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + detail::tocpp(array), + detail::tocpp(axes) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Gridded3dAssign(ConstHandle2Gridded3d This, ConstHandle2ConstGridded3d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Gridded3dDelete(ConstHandle2ConstGridded3d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Gridded3dRead(ConstHandle2Gridded3d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Gridded3dWrite(ConstHandle2ConstGridded3d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Gridded3dPrint(ConstHandle2ConstGridded3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Gridded3dPrintXML(ConstHandle2ConstGridded3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Gridded3dPrintJSON(ConstHandle2ConstGridded3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Gridded3dLabelHas(ConstHandle2ConstGridded3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Gridded3dLabelGet(ConstHandle2ConstGridded3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Gridded3dLabelSet(ConstHandle2Gridded3d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// Has +int +Gridded3dArrayHas(ConstHandle2ConstGridded3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ArrayHas", This, extract::array); +} + +// Get, const +Handle2ConstArray +Gridded3dArrayGetConst(ConstHandle2ConstGridded3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGetConst", This, extract::array); +} + +// Get, non-const +Handle2Array +Gridded3dArrayGet(ConstHandle2Gridded3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ArrayGet", This, extract::array); +} + +// Set +void +Gridded3dArraySet(ConstHandle2Gridded3d This, ConstHandle2ConstArray array) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ArraySet", This, extract::array, array); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Gridded3dAxesHas(ConstHandle2ConstGridded3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Gridded3dAxesGetConst(ConstHandle2ConstGridded3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Gridded3dAxesGet(ConstHandle2Gridded3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Gridded3dAxesSet(ConstHandle2Gridded3d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.h new file mode 100644 index 000000000..d22e4e78c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.h @@ -0,0 +1,203 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Gridded3d is the basic handle type in this file. Example: +// // Create a default Gridded3d object: +// Gridded3d handle = Gridded3dDefault(); +// Functions involving Gridded3d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED3D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED3D + +#include "GNDStk.h" +#include "v2.0/containers/Array.h" +#include "v2.0/containers/Axes.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Gridded3dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Gridded3d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Gridded3dClass *Gridded3d; + +// --- Const-aware handles. +typedef const struct Gridded3dClass *const ConstHandle2ConstGridded3d; +typedef struct Gridded3dClass *const ConstHandle2Gridded3d; +typedef const struct Gridded3dClass * Handle2ConstGridded3d; +typedef struct Gridded3dClass * Handle2Gridded3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstGridded3d +Gridded3dDefaultConst(); + +// +++ Create, default +extern_c Handle2Gridded3d +Gridded3dDefault(); + +// --- Create, general, const +extern_c Handle2ConstGridded3d +Gridded3dCreateConst( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +); + +// +++ Create, general +extern_c Handle2Gridded3d +Gridded3dCreate( + const XMLName label, + ConstHandle2ConstArray array, + ConstHandle2ConstAxes axes +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Gridded3dAssign(ConstHandle2Gridded3d This, ConstHandle2ConstGridded3d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Gridded3dDelete(ConstHandle2ConstGridded3d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Gridded3dRead(ConstHandle2Gridded3d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Gridded3dWrite(ConstHandle2ConstGridded3d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Gridded3dPrint(ConstHandle2ConstGridded3d This); + +// +++ Print to standard output, as XML +extern_c int +Gridded3dPrintXML(ConstHandle2ConstGridded3d This); + +// +++ Print to standard output, as JSON +extern_c int +Gridded3dPrintJSON(ConstHandle2ConstGridded3d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded3dLabelHas(ConstHandle2ConstGridded3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Gridded3dLabelGet(ConstHandle2ConstGridded3d This); + +// +++ Set +extern_c void +Gridded3dLabelSet(ConstHandle2Gridded3d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: array +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded3dArrayHas(ConstHandle2ConstGridded3d This); + +// --- Get, const +extern_c Handle2ConstArray +Gridded3dArrayGetConst(ConstHandle2ConstGridded3d This); + +// +++ Get, non-const +extern_c Handle2Array +Gridded3dArrayGet(ConstHandle2Gridded3d This); + +// +++ Set +extern_c void +Gridded3dArraySet(ConstHandle2Gridded3d This, ConstHandle2ConstArray array); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Gridded3dAxesHas(ConstHandle2ConstGridded3d This); + +// --- Get, const +extern_c Handle2ConstAxes +Gridded3dAxesGetConst(ConstHandle2ConstGridded3d This); + +// +++ Get, non-const +extern_c Handle2Axes +Gridded3dAxesGet(ConstHandle2Gridded3d This); + +// +++ Set +extern_c void +Gridded3dAxesSet(ConstHandle2Gridded3d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.cpp new file mode 100644 index 000000000..5c4871339 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Integer.hpp" +#include "Integer.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IntegerClass; +using CPP = multigroup::Integer; + +static const std::string CLASSNAME = "Integer"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInteger +IntegerDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Integer +IntegerDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInteger +IntegerCreateConst( + const XMLName label, + const XMLName unit, + const Integer32 value +) { + ConstHandle2Integer handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value + ); + return handle; +} + +// Create, general +Handle2Integer +IntegerCreate( + const XMLName label, + const XMLName unit, + const Integer32 value +) { + ConstHandle2Integer handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IntegerAssign(ConstHandle2Integer This, ConstHandle2ConstInteger from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IntegerDelete(ConstHandle2ConstInteger This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IntegerRead(ConstHandle2Integer This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IntegerWrite(ConstHandle2ConstInteger This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IntegerPrint(ConstHandle2ConstInteger This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IntegerPrintXML(ConstHandle2ConstInteger This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IntegerPrintJSON(ConstHandle2ConstInteger This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +IntegerLabelHas(ConstHandle2ConstInteger This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +IntegerLabelGet(ConstHandle2ConstInteger This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +IntegerLabelSet(ConstHandle2Integer This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +IntegerUnitHas(ConstHandle2ConstInteger This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +IntegerUnitGet(ConstHandle2ConstInteger This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +IntegerUnitSet(ConstHandle2Integer This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +IntegerValueHas(ConstHandle2ConstInteger This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Integer32 +IntegerValueGet(ConstHandle2ConstInteger This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +IntegerValueSet(ConstHandle2Integer This, const Integer32 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.h new file mode 100644 index 000000000..784232ffa --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Integer is the basic handle type in this file. Example: +// // Create a default Integer object: +// Integer handle = IntegerDefault(); +// Functions involving Integer are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_INTEGER +#define C_INTERFACE_TRY_V2_0_CONTAINERS_INTEGER + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IntegerClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Integer +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IntegerClass *Integer; + +// --- Const-aware handles. +typedef const struct IntegerClass *const ConstHandle2ConstInteger; +typedef struct IntegerClass *const ConstHandle2Integer; +typedef const struct IntegerClass * Handle2ConstInteger; +typedef struct IntegerClass * Handle2Integer; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInteger +IntegerDefaultConst(); + +// +++ Create, default +extern_c Handle2Integer +IntegerDefault(); + +// --- Create, general, const +extern_c Handle2ConstInteger +IntegerCreateConst( + const XMLName label, + const XMLName unit, + const Integer32 value +); + +// +++ Create, general +extern_c Handle2Integer +IntegerCreate( + const XMLName label, + const XMLName unit, + const Integer32 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IntegerAssign(ConstHandle2Integer This, ConstHandle2ConstInteger from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IntegerDelete(ConstHandle2ConstInteger This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IntegerRead(ConstHandle2Integer This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IntegerWrite(ConstHandle2ConstInteger This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IntegerPrint(ConstHandle2ConstInteger This); + +// +++ Print to standard output, as XML +extern_c int +IntegerPrintXML(ConstHandle2ConstInteger This); + +// +++ Print to standard output, as JSON +extern_c int +IntegerPrintJSON(ConstHandle2ConstInteger This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntegerLabelHas(ConstHandle2ConstInteger This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +IntegerLabelGet(ConstHandle2ConstInteger This); + +// +++ Set +extern_c void +IntegerLabelSet(ConstHandle2Integer This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntegerUnitHas(ConstHandle2ConstInteger This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +IntegerUnitGet(ConstHandle2ConstInteger This); + +// +++ Set +extern_c void +IntegerUnitSet(ConstHandle2Integer This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntegerValueHas(ConstHandle2ConstInteger This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +IntegerValueGet(ConstHandle2ConstInteger This); + +// +++ Set +extern_c void +IntegerValueSet(ConstHandle2Integer This, const Integer32 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.cpp new file mode 100644 index 000000000..8befe7546 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.cpp @@ -0,0 +1,349 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Legendre.hpp" +#include "Legendre.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LegendreClass; +using CPP = multigroup::Legendre; + +static const std::string CLASSNAME = "Legendre"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto lowerIndex = [](auto &obj) { return &obj.lowerIndex; }; + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLegendre +LegendreDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Legendre +LegendreDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLegendre +LegendreCreateConst( + const XMLName label, + const Float64 outerDomainValue, + const Integer32 lowerIndex, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstValues values +) { + ConstHandle2Legendre handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + outerDomainValue, + lowerIndex, + domainMin, + domainMax, + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2Legendre +LegendreCreate( + const XMLName label, + const Float64 outerDomainValue, + const Integer32 lowerIndex, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstValues values +) { + ConstHandle2Legendre handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + outerDomainValue, + lowerIndex, + domainMin, + domainMax, + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LegendreAssign(ConstHandle2Legendre This, ConstHandle2ConstLegendre from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LegendreDelete(ConstHandle2ConstLegendre This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LegendreRead(ConstHandle2Legendre This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LegendreWrite(ConstHandle2ConstLegendre This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LegendrePrint(ConstHandle2ConstLegendre This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LegendrePrintXML(ConstHandle2ConstLegendre This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LegendrePrintJSON(ConstHandle2ConstLegendre This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +LegendreLabelHas(ConstHandle2ConstLegendre This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +LegendreLabelGet(ConstHandle2ConstLegendre This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +LegendreLabelSet(ConstHandle2Legendre This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +LegendreOuterDomainValueHas(ConstHandle2ConstLegendre This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +LegendreOuterDomainValueGet(ConstHandle2ConstLegendre This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +LegendreOuterDomainValueSet(ConstHandle2Legendre This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: lowerIndex +// ----------------------------------------------------------------------------- + +// Has +int +LegendreLowerIndexHas(ConstHandle2ConstLegendre This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LowerIndexHas", This, extract::lowerIndex); +} + +// Get +// Returns by value +Integer32 +LegendreLowerIndexGet(ConstHandle2ConstLegendre This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LowerIndexGet", This, extract::lowerIndex); +} + +// Set +void +LegendreLowerIndexSet(ConstHandle2Legendre This, const Integer32 lowerIndex) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LowerIndexSet", This, extract::lowerIndex, lowerIndex); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +LegendreDomainMinHas(ConstHandle2ConstLegendre This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +LegendreDomainMinGet(ConstHandle2ConstLegendre This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +LegendreDomainMinSet(ConstHandle2Legendre This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +LegendreDomainMaxHas(ConstHandle2ConstLegendre This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +LegendreDomainMaxGet(ConstHandle2ConstLegendre This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +LegendreDomainMaxSet(ConstHandle2Legendre This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +LegendreValuesHas(ConstHandle2ConstLegendre This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +LegendreValuesGetConst(ConstHandle2ConstLegendre This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +LegendreValuesGet(ConstHandle2Legendre This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +LegendreValuesSet(ConstHandle2Legendre This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.h new file mode 100644 index 000000000..b0593730f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.h @@ -0,0 +1,259 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Legendre is the basic handle type in this file. Example: +// // Create a default Legendre object: +// Legendre handle = LegendreDefault(); +// Functions involving Legendre are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_LEGENDRE +#define C_INTERFACE_TRY_V2_0_CONTAINERS_LEGENDRE + +#include "GNDStk.h" +#include "v2.0/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LegendreClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Legendre +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LegendreClass *Legendre; + +// --- Const-aware handles. +typedef const struct LegendreClass *const ConstHandle2ConstLegendre; +typedef struct LegendreClass *const ConstHandle2Legendre; +typedef const struct LegendreClass * Handle2ConstLegendre; +typedef struct LegendreClass * Handle2Legendre; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLegendre +LegendreDefaultConst(); + +// +++ Create, default +extern_c Handle2Legendre +LegendreDefault(); + +// --- Create, general, const +extern_c Handle2ConstLegendre +LegendreCreateConst( + const XMLName label, + const Float64 outerDomainValue, + const Integer32 lowerIndex, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2Legendre +LegendreCreate( + const XMLName label, + const Float64 outerDomainValue, + const Integer32 lowerIndex, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LegendreAssign(ConstHandle2Legendre This, ConstHandle2ConstLegendre from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LegendreDelete(ConstHandle2ConstLegendre This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LegendreRead(ConstHandle2Legendre This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LegendreWrite(ConstHandle2ConstLegendre This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LegendrePrint(ConstHandle2ConstLegendre This); + +// +++ Print to standard output, as XML +extern_c int +LegendrePrintXML(ConstHandle2ConstLegendre This); + +// +++ Print to standard output, as JSON +extern_c int +LegendrePrintJSON(ConstHandle2ConstLegendre This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LegendreLabelHas(ConstHandle2ConstLegendre This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +LegendreLabelGet(ConstHandle2ConstLegendre This); + +// +++ Set +extern_c void +LegendreLabelSet(ConstHandle2Legendre This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LegendreOuterDomainValueHas(ConstHandle2ConstLegendre This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +LegendreOuterDomainValueGet(ConstHandle2ConstLegendre This); + +// +++ Set +extern_c void +LegendreOuterDomainValueSet(ConstHandle2Legendre This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Metadatum: lowerIndex +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LegendreLowerIndexHas(ConstHandle2ConstLegendre This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +LegendreLowerIndexGet(ConstHandle2ConstLegendre This); + +// +++ Set +extern_c void +LegendreLowerIndexSet(ConstHandle2Legendre This, const Integer32 lowerIndex); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LegendreDomainMinHas(ConstHandle2ConstLegendre This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +LegendreDomainMinGet(ConstHandle2ConstLegendre This); + +// +++ Set +extern_c void +LegendreDomainMinSet(ConstHandle2Legendre This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LegendreDomainMaxHas(ConstHandle2ConstLegendre This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +LegendreDomainMaxGet(ConstHandle2ConstLegendre This); + +// +++ Set +extern_c void +LegendreDomainMaxSet(ConstHandle2Legendre This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LegendreValuesHas(ConstHandle2ConstLegendre This); + +// --- Get, const +extern_c Handle2ConstValues +LegendreValuesGetConst(ConstHandle2ConstLegendre This); + +// +++ Get, non-const +extern_c Handle2Values +LegendreValuesGet(ConstHandle2Legendre This); + +// +++ Set +extern_c void +LegendreValuesSet(ConstHandle2Legendre This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Link.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Link.cpp new file mode 100644 index 000000000..767e6c68f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Link.cpp @@ -0,0 +1,165 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Link.hpp" +#include "Link.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LinkClass; +using CPP = multigroup::Link; + +static const std::string CLASSNAME = "Link"; + +namespace extract { + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLink +LinkDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Link +LinkDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLink +LinkCreateConst( + const char *const href +) { + ConstHandle2Link handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + href + ); + return handle; +} + +// Create, general +Handle2Link +LinkCreate( + const char *const href +) { + ConstHandle2Link handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LinkAssign(ConstHandle2Link This, ConstHandle2ConstLink from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LinkDelete(ConstHandle2ConstLink This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LinkRead(ConstHandle2Link This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LinkWrite(ConstHandle2ConstLink This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LinkPrint(ConstHandle2ConstLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LinkPrintXML(ConstHandle2ConstLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LinkPrintJSON(ConstHandle2ConstLink This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +LinkHrefHas(ConstHandle2ConstLink This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +LinkHrefGet(ConstHandle2ConstLink This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +LinkHrefSet(ConstHandle2Link This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Link.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Link.h new file mode 100644 index 000000000..08ef61718 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Link.h @@ -0,0 +1,155 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Link is the basic handle type in this file. Example: +// // Create a default Link object: +// Link handle = LinkDefault(); +// Functions involving Link are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_LINK +#define C_INTERFACE_TRY_V2_0_CONTAINERS_LINK + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LinkClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Link +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LinkClass *Link; + +// --- Const-aware handles. +typedef const struct LinkClass *const ConstHandle2ConstLink; +typedef struct LinkClass *const ConstHandle2Link; +typedef const struct LinkClass * Handle2ConstLink; +typedef struct LinkClass * Handle2Link; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLink +LinkDefaultConst(); + +// +++ Create, default +extern_c Handle2Link +LinkDefault(); + +// --- Create, general, const +extern_c Handle2ConstLink +LinkCreateConst( + const char *const href +); + +// +++ Create, general +extern_c Handle2Link +LinkCreate( + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LinkAssign(ConstHandle2Link This, ConstHandle2ConstLink from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LinkDelete(ConstHandle2ConstLink This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LinkRead(ConstHandle2Link This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LinkWrite(ConstHandle2ConstLink This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LinkPrint(ConstHandle2ConstLink This); + +// +++ Print to standard output, as XML +extern_c int +LinkPrintXML(ConstHandle2ConstLink This); + +// +++ Print to standard output, as JSON +extern_c int +LinkPrintJSON(ConstHandle2ConstLink This); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LinkHrefHas(ConstHandle2ConstLink This); + +// +++ Get +// +++ Returns by value +extern_c const char * +LinkHrefGet(ConstHandle2ConstLink This); + +// +++ Set +extern_c void +LinkHrefSet(ConstHandle2Link This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp new file mode 100644 index 000000000..16b843070 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp @@ -0,0 +1,392 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Polynomial1d.hpp" +#include "Polynomial1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Polynomial1dClass; +using CPP = multigroup::Polynomial1d; + +static const std::string CLASSNAME = "Polynomial1d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto lowerIndex = [](auto &obj) { return &obj.lowerIndex; }; + static auto domainMin = [](auto &obj) { return &obj.domainMin; }; + static auto domainMax = [](auto &obj) { return &obj.domainMax; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPAxes = containers::Axes; +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPolynomial1d +Polynomial1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Polynomial1d +Polynomial1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPolynomial1d +Polynomial1dCreateConst( + const XMLName label, + const Float64 outerDomainValue, + const Integer32 lowerIndex, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +) { + ConstHandle2Polynomial1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + outerDomainValue, + lowerIndex, + domainMin, + domainMax, + detail::tocpp(axes), + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2Polynomial1d +Polynomial1dCreate( + const XMLName label, + const Float64 outerDomainValue, + const Integer32 lowerIndex, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +) { + ConstHandle2Polynomial1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + outerDomainValue, + lowerIndex, + domainMin, + domainMax, + detail::tocpp(axes), + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Polynomial1dAssign(ConstHandle2Polynomial1d This, ConstHandle2ConstPolynomial1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Polynomial1dDelete(ConstHandle2ConstPolynomial1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Polynomial1dRead(ConstHandle2Polynomial1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Polynomial1dWrite(ConstHandle2ConstPolynomial1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Polynomial1dPrint(ConstHandle2ConstPolynomial1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Polynomial1dPrintXML(ConstHandle2ConstPolynomial1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Polynomial1dPrintJSON(ConstHandle2ConstPolynomial1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Polynomial1dLabelHas(ConstHandle2ConstPolynomial1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Polynomial1dLabelGet(ConstHandle2ConstPolynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Polynomial1dLabelSet(ConstHandle2Polynomial1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +Polynomial1dOuterDomainValueHas(ConstHandle2ConstPolynomial1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +Polynomial1dOuterDomainValueGet(ConstHandle2ConstPolynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +Polynomial1dOuterDomainValueSet(ConstHandle2Polynomial1d This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: lowerIndex +// ----------------------------------------------------------------------------- + +// Has +int +Polynomial1dLowerIndexHas(ConstHandle2ConstPolynomial1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LowerIndexHas", This, extract::lowerIndex); +} + +// Get +// Returns by value +Integer32 +Polynomial1dLowerIndexGet(ConstHandle2ConstPolynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LowerIndexGet", This, extract::lowerIndex); +} + +// Set +void +Polynomial1dLowerIndexSet(ConstHandle2Polynomial1d This, const Integer32 lowerIndex) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LowerIndexSet", This, extract::lowerIndex, lowerIndex); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// Has +int +Polynomial1dDomainMinHas(ConstHandle2ConstPolynomial1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMinHas", This, extract::domainMin); +} + +// Get +// Returns by value +Float64 +Polynomial1dDomainMinGet(ConstHandle2ConstPolynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMinGet", This, extract::domainMin); +} + +// Set +void +Polynomial1dDomainMinSet(ConstHandle2Polynomial1d This, const Float64 domainMin) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMinSet", This, extract::domainMin, domainMin); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// Has +int +Polynomial1dDomainMaxHas(ConstHandle2ConstPolynomial1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DomainMaxHas", This, extract::domainMax); +} + +// Get +// Returns by value +Float64 +Polynomial1dDomainMaxGet(ConstHandle2ConstPolynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DomainMaxGet", This, extract::domainMax); +} + +// Set +void +Polynomial1dDomainMaxSet(ConstHandle2Polynomial1d This, const Float64 domainMax) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DomainMaxSet", This, extract::domainMax, domainMax); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Polynomial1dAxesHas(ConstHandle2ConstPolynomial1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Polynomial1dAxesGetConst(ConstHandle2ConstPolynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Polynomial1dAxesGet(ConstHandle2Polynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Polynomial1dAxesSet(ConstHandle2Polynomial1d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +Polynomial1dValuesHas(ConstHandle2ConstPolynomial1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +Polynomial1dValuesGetConst(ConstHandle2ConstPolynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +Polynomial1dValuesGet(ConstHandle2Polynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +Polynomial1dValuesSet(ConstHandle2Polynomial1d This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h new file mode 100644 index 000000000..f02ead238 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h @@ -0,0 +1,283 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Polynomial1d is the basic handle type in this file. Example: +// // Create a default Polynomial1d object: +// Polynomial1d handle = Polynomial1dDefault(); +// Functions involving Polynomial1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_POLYNOMIAL1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_POLYNOMIAL1D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Polynomial1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Polynomial1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Polynomial1dClass *Polynomial1d; + +// --- Const-aware handles. +typedef const struct Polynomial1dClass *const ConstHandle2ConstPolynomial1d; +typedef struct Polynomial1dClass *const ConstHandle2Polynomial1d; +typedef const struct Polynomial1dClass * Handle2ConstPolynomial1d; +typedef struct Polynomial1dClass * Handle2Polynomial1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPolynomial1d +Polynomial1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Polynomial1d +Polynomial1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstPolynomial1d +Polynomial1dCreateConst( + const XMLName label, + const Float64 outerDomainValue, + const Integer32 lowerIndex, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2Polynomial1d +Polynomial1dCreate( + const XMLName label, + const Float64 outerDomainValue, + const Integer32 lowerIndex, + const Float64 domainMin, + const Float64 domainMax, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Polynomial1dAssign(ConstHandle2Polynomial1d This, ConstHandle2ConstPolynomial1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Polynomial1dDelete(ConstHandle2ConstPolynomial1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Polynomial1dRead(ConstHandle2Polynomial1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Polynomial1dWrite(ConstHandle2ConstPolynomial1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Polynomial1dPrint(ConstHandle2ConstPolynomial1d This); + +// +++ Print to standard output, as XML +extern_c int +Polynomial1dPrintXML(ConstHandle2ConstPolynomial1d This); + +// +++ Print to standard output, as JSON +extern_c int +Polynomial1dPrintJSON(ConstHandle2ConstPolynomial1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Polynomial1dLabelHas(ConstHandle2ConstPolynomial1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Polynomial1dLabelGet(ConstHandle2ConstPolynomial1d This); + +// +++ Set +extern_c void +Polynomial1dLabelSet(ConstHandle2Polynomial1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Polynomial1dOuterDomainValueHas(ConstHandle2ConstPolynomial1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Polynomial1dOuterDomainValueGet(ConstHandle2ConstPolynomial1d This); + +// +++ Set +extern_c void +Polynomial1dOuterDomainValueSet(ConstHandle2Polynomial1d This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Metadatum: lowerIndex +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Polynomial1dLowerIndexHas(ConstHandle2ConstPolynomial1d This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +Polynomial1dLowerIndexGet(ConstHandle2ConstPolynomial1d This); + +// +++ Set +extern_c void +Polynomial1dLowerIndexSet(ConstHandle2Polynomial1d This, const Integer32 lowerIndex); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMin +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Polynomial1dDomainMinHas(ConstHandle2ConstPolynomial1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Polynomial1dDomainMinGet(ConstHandle2ConstPolynomial1d This); + +// +++ Set +extern_c void +Polynomial1dDomainMinSet(ConstHandle2Polynomial1d This, const Float64 domainMin); + + +// ----------------------------------------------------------------------------- +// Metadatum: domainMax +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Polynomial1dDomainMaxHas(ConstHandle2ConstPolynomial1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Polynomial1dDomainMaxGet(ConstHandle2ConstPolynomial1d This); + +// +++ Set +extern_c void +Polynomial1dDomainMaxSet(ConstHandle2Polynomial1d This, const Float64 domainMax); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Polynomial1dAxesHas(ConstHandle2ConstPolynomial1d This); + +// --- Get, const +extern_c Handle2ConstAxes +Polynomial1dAxesGetConst(ConstHandle2ConstPolynomial1d This); + +// +++ Get, non-const +extern_c Handle2Axes +Polynomial1dAxesGet(ConstHandle2Polynomial1d This); + +// +++ Set +extern_c void +Polynomial1dAxesSet(ConstHandle2Polynomial1d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Polynomial1dValuesHas(ConstHandle2ConstPolynomial1d This); + +// --- Get, const +extern_c Handle2ConstValues +Polynomial1dValuesGetConst(ConstHandle2ConstPolynomial1d This); + +// +++ Get, non-const +extern_c Handle2Values +Polynomial1dValuesGet(ConstHandle2Polynomial1d This); + +// +++ Set +extern_c void +Polynomial1dValuesSet(ConstHandle2Polynomial1d This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp new file mode 100644 index 000000000..e6cb63935 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Regions1d.hpp" +#include "Regions1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Regions1dClass; +using CPP = multigroup::Regions1d; + +static const std::string CLASSNAME = "Regions1d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto function1ds = [](auto &obj) { return &obj.function1ds; }; +} + +using CPPAxes = containers::Axes; +using CPPFunction1ds = containers::Function1ds; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRegions1d +Regions1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Regions1d +Regions1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRegions1d +Regions1dCreateConst( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction1ds function1ds +) { + ConstHandle2Regions1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(function1ds) + ); + return handle; +} + +// Create, general +Handle2Regions1d +Regions1dCreate( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction1ds function1ds +) { + ConstHandle2Regions1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(function1ds) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Regions1dAssign(ConstHandle2Regions1d This, ConstHandle2ConstRegions1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Regions1dDelete(ConstHandle2ConstRegions1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Regions1dRead(ConstHandle2Regions1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Regions1dWrite(ConstHandle2ConstRegions1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Regions1dPrint(ConstHandle2ConstRegions1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Regions1dPrintXML(ConstHandle2ConstRegions1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Regions1dPrintJSON(ConstHandle2ConstRegions1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dLabelHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Regions1dLabelGet(ConstHandle2ConstRegions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Regions1dLabelSet(ConstHandle2Regions1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dOuterDomainValueHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +Regions1dOuterDomainValueGet(ConstHandle2ConstRegions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +Regions1dOuterDomainValueSet(ConstHandle2Regions1d This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dAxesHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Regions1dAxesGetConst(ConstHandle2ConstRegions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Regions1dAxesGet(ConstHandle2Regions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Regions1dAxesSet(ConstHandle2Regions1d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: function1ds +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dFunction1dsHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Function1dsHas", This, extract::function1ds); +} + +// Get, const +Handle2ConstFunction1ds +Regions1dFunction1dsGetConst(ConstHandle2ConstRegions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function1dsGetConst", This, extract::function1ds); +} + +// Get, non-const +Handle2Function1ds +Regions1dFunction1dsGet(ConstHandle2Regions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function1dsGet", This, extract::function1ds); +} + +// Set +void +Regions1dFunction1dsSet(ConstHandle2Regions1d This, ConstHandle2ConstFunction1ds function1ds) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Function1dsSet", This, extract::function1ds, function1ds); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h new file mode 100644 index 000000000..afba0a031 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Regions1d is the basic handle type in this file. Example: +// // Create a default Regions1d object: +// Regions1d handle = Regions1dDefault(); +// Functions involving Regions1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS1D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Function1ds.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Regions1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Regions1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Regions1dClass *Regions1d; + +// --- Const-aware handles. +typedef const struct Regions1dClass *const ConstHandle2ConstRegions1d; +typedef struct Regions1dClass *const ConstHandle2Regions1d; +typedef const struct Regions1dClass * Handle2ConstRegions1d; +typedef struct Regions1dClass * Handle2Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRegions1d +Regions1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Regions1d +Regions1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstRegions1d +Regions1dCreateConst( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction1ds function1ds +); + +// +++ Create, general +extern_c Handle2Regions1d +Regions1dCreate( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction1ds function1ds +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Regions1dAssign(ConstHandle2Regions1d This, ConstHandle2ConstRegions1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Regions1dDelete(ConstHandle2ConstRegions1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Regions1dRead(ConstHandle2Regions1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Regions1dWrite(ConstHandle2ConstRegions1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Regions1dPrint(ConstHandle2ConstRegions1d This); + +// +++ Print to standard output, as XML +extern_c int +Regions1dPrintXML(ConstHandle2ConstRegions1d This); + +// +++ Print to standard output, as JSON +extern_c int +Regions1dPrintJSON(ConstHandle2ConstRegions1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dLabelHas(ConstHandle2ConstRegions1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Regions1dLabelGet(ConstHandle2ConstRegions1d This); + +// +++ Set +extern_c void +Regions1dLabelSet(ConstHandle2Regions1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dOuterDomainValueHas(ConstHandle2ConstRegions1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Regions1dOuterDomainValueGet(ConstHandle2ConstRegions1d This); + +// +++ Set +extern_c void +Regions1dOuterDomainValueSet(ConstHandle2Regions1d This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dAxesHas(ConstHandle2ConstRegions1d This); + +// --- Get, const +extern_c Handle2ConstAxes +Regions1dAxesGetConst(ConstHandle2ConstRegions1d This); + +// +++ Get, non-const +extern_c Handle2Axes +Regions1dAxesGet(ConstHandle2Regions1d This); + +// +++ Set +extern_c void +Regions1dAxesSet(ConstHandle2Regions1d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: function1ds +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dFunction1dsHas(ConstHandle2ConstRegions1d This); + +// --- Get, const +extern_c Handle2ConstFunction1ds +Regions1dFunction1dsGetConst(ConstHandle2ConstRegions1d This); + +// +++ Get, non-const +extern_c Handle2Function1ds +Regions1dFunction1dsGet(ConstHandle2Regions1d This); + +// +++ Set +extern_c void +Regions1dFunction1dsSet(ConstHandle2Regions1d This, ConstHandle2ConstFunction1ds function1ds); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp new file mode 100644 index 000000000..462d3d124 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Regions2d.hpp" +#include "Regions2d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Regions2dClass; +using CPP = multigroup::Regions2d; + +static const std::string CLASSNAME = "Regions2d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto function2ds = [](auto &obj) { return &obj.function2ds; }; +} + +using CPPAxes = containers::Axes; +using CPPFunction2ds = containers::Function2ds; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRegions2d +Regions2dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Regions2d +Regions2dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRegions2d +Regions2dCreateConst( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction2ds function2ds +) { + ConstHandle2Regions2d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(function2ds) + ); + return handle; +} + +// Create, general +Handle2Regions2d +Regions2dCreate( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction2ds function2ds +) { + ConstHandle2Regions2d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(function2ds) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Regions2dAssign(ConstHandle2Regions2d This, ConstHandle2ConstRegions2d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Regions2dDelete(ConstHandle2ConstRegions2d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Regions2dRead(ConstHandle2Regions2d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Regions2dWrite(ConstHandle2ConstRegions2d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Regions2dPrint(ConstHandle2ConstRegions2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Regions2dPrintXML(ConstHandle2ConstRegions2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Regions2dPrintJSON(ConstHandle2ConstRegions2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Regions2dLabelHas(ConstHandle2ConstRegions2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Regions2dLabelGet(ConstHandle2ConstRegions2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Regions2dLabelSet(ConstHandle2Regions2d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +Regions2dOuterDomainValueHas(ConstHandle2ConstRegions2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +Regions2dOuterDomainValueGet(ConstHandle2ConstRegions2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +Regions2dOuterDomainValueSet(ConstHandle2Regions2d This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Regions2dAxesHas(ConstHandle2ConstRegions2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Regions2dAxesGetConst(ConstHandle2ConstRegions2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Regions2dAxesGet(ConstHandle2Regions2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Regions2dAxesSet(ConstHandle2Regions2d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: function2ds +// ----------------------------------------------------------------------------- + +// Has +int +Regions2dFunction2dsHas(ConstHandle2ConstRegions2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Function2dsHas", This, extract::function2ds); +} + +// Get, const +Handle2ConstFunction2ds +Regions2dFunction2dsGetConst(ConstHandle2ConstRegions2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function2dsGetConst", This, extract::function2ds); +} + +// Get, non-const +Handle2Function2ds +Regions2dFunction2dsGet(ConstHandle2Regions2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function2dsGet", This, extract::function2ds); +} + +// Set +void +Regions2dFunction2dsSet(ConstHandle2Regions2d This, ConstHandle2ConstFunction2ds function2ds) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Function2dsSet", This, extract::function2ds, function2ds); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h new file mode 100644 index 000000000..785ecbdca --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Regions2d is the basic handle type in this file. Example: +// // Create a default Regions2d object: +// Regions2d handle = Regions2dDefault(); +// Functions involving Regions2d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS2D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS2D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Function2ds.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Regions2dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Regions2d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Regions2dClass *Regions2d; + +// --- Const-aware handles. +typedef const struct Regions2dClass *const ConstHandle2ConstRegions2d; +typedef struct Regions2dClass *const ConstHandle2Regions2d; +typedef const struct Regions2dClass * Handle2ConstRegions2d; +typedef struct Regions2dClass * Handle2Regions2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRegions2d +Regions2dDefaultConst(); + +// +++ Create, default +extern_c Handle2Regions2d +Regions2dDefault(); + +// --- Create, general, const +extern_c Handle2ConstRegions2d +Regions2dCreateConst( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction2ds function2ds +); + +// +++ Create, general +extern_c Handle2Regions2d +Regions2dCreate( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction2ds function2ds +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Regions2dAssign(ConstHandle2Regions2d This, ConstHandle2ConstRegions2d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Regions2dDelete(ConstHandle2ConstRegions2d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Regions2dRead(ConstHandle2Regions2d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Regions2dWrite(ConstHandle2ConstRegions2d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Regions2dPrint(ConstHandle2ConstRegions2d This); + +// +++ Print to standard output, as XML +extern_c int +Regions2dPrintXML(ConstHandle2ConstRegions2d This); + +// +++ Print to standard output, as JSON +extern_c int +Regions2dPrintJSON(ConstHandle2ConstRegions2d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions2dLabelHas(ConstHandle2ConstRegions2d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Regions2dLabelGet(ConstHandle2ConstRegions2d This); + +// +++ Set +extern_c void +Regions2dLabelSet(ConstHandle2Regions2d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions2dOuterDomainValueHas(ConstHandle2ConstRegions2d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Regions2dOuterDomainValueGet(ConstHandle2ConstRegions2d This); + +// +++ Set +extern_c void +Regions2dOuterDomainValueSet(ConstHandle2Regions2d This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions2dAxesHas(ConstHandle2ConstRegions2d This); + +// --- Get, const +extern_c Handle2ConstAxes +Regions2dAxesGetConst(ConstHandle2ConstRegions2d This); + +// +++ Get, non-const +extern_c Handle2Axes +Regions2dAxesGet(ConstHandle2Regions2d This); + +// +++ Set +extern_c void +Regions2dAxesSet(ConstHandle2Regions2d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: function2ds +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions2dFunction2dsHas(ConstHandle2ConstRegions2d This); + +// --- Get, const +extern_c Handle2ConstFunction2ds +Regions2dFunction2dsGetConst(ConstHandle2ConstRegions2d This); + +// +++ Get, non-const +extern_c Handle2Function2ds +Regions2dFunction2dsGet(ConstHandle2Regions2d This); + +// +++ Set +extern_c void +Regions2dFunction2dsSet(ConstHandle2Regions2d This, ConstHandle2ConstFunction2ds function2ds); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp new file mode 100644 index 000000000..0d91f39a9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Regions3d.hpp" +#include "Regions3d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Regions3dClass; +using CPP = multigroup::Regions3d; + +static const std::string CLASSNAME = "Regions3d"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto function3ds = [](auto &obj) { return &obj.function3ds; }; +} + +using CPPAxes = containers::Axes; +using CPPFunction3ds = containers::Function3ds; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstRegions3d +Regions3dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Regions3d +Regions3dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstRegions3d +Regions3dCreateConst( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction3ds function3ds +) { + ConstHandle2Regions3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(function3ds) + ); + return handle; +} + +// Create, general +Handle2Regions3d +Regions3dCreate( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction3ds function3ds +) { + ConstHandle2Regions3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(function3ds) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Regions3dAssign(ConstHandle2Regions3d This, ConstHandle2ConstRegions3d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Regions3dDelete(ConstHandle2ConstRegions3d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Regions3dRead(ConstHandle2Regions3d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Regions3dWrite(ConstHandle2ConstRegions3d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Regions3dPrint(ConstHandle2ConstRegions3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Regions3dPrintXML(ConstHandle2ConstRegions3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Regions3dPrintJSON(ConstHandle2ConstRegions3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Regions3dLabelHas(ConstHandle2ConstRegions3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Regions3dLabelGet(ConstHandle2ConstRegions3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Regions3dLabelSet(ConstHandle2Regions3d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +Regions3dOuterDomainValueHas(ConstHandle2ConstRegions3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +Regions3dOuterDomainValueGet(ConstHandle2ConstRegions3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +Regions3dOuterDomainValueSet(ConstHandle2Regions3d This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Regions3dAxesHas(ConstHandle2ConstRegions3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Regions3dAxesGetConst(ConstHandle2ConstRegions3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Regions3dAxesGet(ConstHandle2Regions3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Regions3dAxesSet(ConstHandle2Regions3d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: function3ds +// ----------------------------------------------------------------------------- + +// Has +int +Regions3dFunction3dsHas(ConstHandle2ConstRegions3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Function3dsHas", This, extract::function3ds); +} + +// Get, const +Handle2ConstFunction3ds +Regions3dFunction3dsGetConst(ConstHandle2ConstRegions3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function3dsGetConst", This, extract::function3ds); +} + +// Get, non-const +Handle2Function3ds +Regions3dFunction3dsGet(ConstHandle2Regions3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function3dsGet", This, extract::function3ds); +} + +// Set +void +Regions3dFunction3dsSet(ConstHandle2Regions3d This, ConstHandle2ConstFunction3ds function3ds) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Function3dsSet", This, extract::function3ds, function3ds); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h new file mode 100644 index 000000000..b02d6e062 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Regions3d is the basic handle type in this file. Example: +// // Create a default Regions3d object: +// Regions3d handle = Regions3dDefault(); +// Functions involving Regions3d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS3D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS3D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Function3ds.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Regions3dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Regions3d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Regions3dClass *Regions3d; + +// --- Const-aware handles. +typedef const struct Regions3dClass *const ConstHandle2ConstRegions3d; +typedef struct Regions3dClass *const ConstHandle2Regions3d; +typedef const struct Regions3dClass * Handle2ConstRegions3d; +typedef struct Regions3dClass * Handle2Regions3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstRegions3d +Regions3dDefaultConst(); + +// +++ Create, default +extern_c Handle2Regions3d +Regions3dDefault(); + +// --- Create, general, const +extern_c Handle2ConstRegions3d +Regions3dCreateConst( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction3ds function3ds +); + +// +++ Create, general +extern_c Handle2Regions3d +Regions3dCreate( + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction3ds function3ds +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Regions3dAssign(ConstHandle2Regions3d This, ConstHandle2ConstRegions3d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Regions3dDelete(ConstHandle2ConstRegions3d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Regions3dRead(ConstHandle2Regions3d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Regions3dWrite(ConstHandle2ConstRegions3d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Regions3dPrint(ConstHandle2ConstRegions3d This); + +// +++ Print to standard output, as XML +extern_c int +Regions3dPrintXML(ConstHandle2ConstRegions3d This); + +// +++ Print to standard output, as JSON +extern_c int +Regions3dPrintJSON(ConstHandle2ConstRegions3d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions3dLabelHas(ConstHandle2ConstRegions3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Regions3dLabelGet(ConstHandle2ConstRegions3d This); + +// +++ Set +extern_c void +Regions3dLabelSet(ConstHandle2Regions3d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions3dOuterDomainValueHas(ConstHandle2ConstRegions3d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Regions3dOuterDomainValueGet(ConstHandle2ConstRegions3d This); + +// +++ Set +extern_c void +Regions3dOuterDomainValueSet(ConstHandle2Regions3d This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions3dAxesHas(ConstHandle2ConstRegions3d This); + +// --- Get, const +extern_c Handle2ConstAxes +Regions3dAxesGetConst(ConstHandle2ConstRegions3d This); + +// +++ Get, non-const +extern_c Handle2Axes +Regions3dAxesGet(ConstHandle2Regions3d This); + +// +++ Set +extern_c void +Regions3dAxesSet(ConstHandle2Regions3d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: function3ds +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions3dFunction3dsHas(ConstHandle2ConstRegions3d This); + +// --- Get, const +extern_c Handle2ConstFunction3ds +Regions3dFunction3dsGetConst(ConstHandle2ConstRegions3d This); + +// +++ Get, non-const +extern_c Handle2Function3ds +Regions3dFunction3dsGet(ConstHandle2Regions3d This); + +// +++ Set +extern_c void +Regions3dFunction3dsSet(ConstHandle2Regions3d This, ConstHandle2ConstFunction3ds function3ds); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/String.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/String.cpp new file mode 100644 index 000000000..18ddddcaf --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/String.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/String.hpp" +#include "String.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = StringClass; +using CPP = multigroup::String; + +static const std::string CLASSNAME = "String"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstString +StringDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2String +StringDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstString +StringCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value +) { + ConstHandle2String handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value + ); + return handle; +} + +// Create, general +Handle2String +StringCreate( + const XMLName label, + const XMLName unit, + const XMLName value +) { + ConstHandle2String handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +StringAssign(ConstHandle2String This, ConstHandle2ConstString from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +StringDelete(ConstHandle2ConstString This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +StringRead(ConstHandle2String This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +StringWrite(ConstHandle2ConstString This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +StringPrint(ConstHandle2ConstString This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +StringPrintXML(ConstHandle2ConstString This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +StringPrintJSON(ConstHandle2ConstString This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +StringLabelHas(ConstHandle2ConstString This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +StringLabelGet(ConstHandle2ConstString This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +StringLabelSet(ConstHandle2String This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +StringUnitHas(ConstHandle2ConstString This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +StringUnitGet(ConstHandle2ConstString This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +StringUnitSet(ConstHandle2String This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +StringValueHas(ConstHandle2ConstString This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +XMLName +StringValueGet(ConstHandle2ConstString This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +StringValueSet(ConstHandle2String This, const XMLName value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/String.h b/standards/gnds-2.0/try/c/src/v2.0/containers/String.h new file mode 100644 index 000000000..35cdd87eb --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/String.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// String is the basic handle type in this file. Example: +// // Create a default String object: +// String handle = StringDefault(); +// Functions involving String are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_STRING +#define C_INTERFACE_TRY_V2_0_CONTAINERS_STRING + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct StringClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ String +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct StringClass *String; + +// --- Const-aware handles. +typedef const struct StringClass *const ConstHandle2ConstString; +typedef struct StringClass *const ConstHandle2String; +typedef const struct StringClass * Handle2ConstString; +typedef struct StringClass * Handle2String; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstString +StringDefaultConst(); + +// +++ Create, default +extern_c Handle2String +StringDefault(); + +// --- Create, general, const +extern_c Handle2ConstString +StringCreateConst( + const XMLName label, + const XMLName unit, + const XMLName value +); + +// +++ Create, general +extern_c Handle2String +StringCreate( + const XMLName label, + const XMLName unit, + const XMLName value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +StringAssign(ConstHandle2String This, ConstHandle2ConstString from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +StringDelete(ConstHandle2ConstString This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +StringRead(ConstHandle2String This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +StringWrite(ConstHandle2ConstString This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +StringPrint(ConstHandle2ConstString This); + +// +++ Print to standard output, as XML +extern_c int +StringPrintXML(ConstHandle2ConstString This); + +// +++ Print to standard output, as JSON +extern_c int +StringPrintJSON(ConstHandle2ConstString This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StringLabelHas(ConstHandle2ConstString This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +StringLabelGet(ConstHandle2ConstString This); + +// +++ Set +extern_c void +StringLabelSet(ConstHandle2String This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StringUnitHas(ConstHandle2ConstString This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +StringUnitGet(ConstHandle2ConstString This); + +// +++ Set +extern_c void +StringUnitSet(ConstHandle2String This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StringValueHas(ConstHandle2ConstString This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +StringValueGet(ConstHandle2ConstString This); + +// +++ Set +extern_c void +StringValueSet(ConstHandle2String This, const XMLName value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Table.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Table.cpp new file mode 100644 index 000000000..cfc055b23 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Table.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Table.hpp" +#include "Table.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = TableClass; +using CPP = multigroup::Table; + +static const std::string CLASSNAME = "Table"; + +namespace extract { + static auto columns = [](auto &obj) { return &obj.columns; }; + static auto rows = [](auto &obj) { return &obj.rows; }; + static auto storageOrder = [](auto &obj) { return &obj.storageOrder; }; + static auto columnHeaders = [](auto &obj) { return &obj.columnHeaders; }; + static auto data = [](auto &obj) { return &obj.data; }; +} + +using CPPColumnHeaders = containers::ColumnHeaders; +using CPPData = containers::Data; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTable +TableDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Table +TableDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTable +TableCreateConst( + const Integer32 columns, + const Integer32 rows, + const XMLName storageOrder, + ConstHandle2ConstColumnHeaders columnHeaders, + ConstHandle2ConstData data +) { + ConstHandle2Table handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + columns, + rows, + storageOrder, + detail::tocpp(columnHeaders), + detail::tocpp(data) + ); + return handle; +} + +// Create, general +Handle2Table +TableCreate( + const Integer32 columns, + const Integer32 rows, + const XMLName storageOrder, + ConstHandle2ConstColumnHeaders columnHeaders, + ConstHandle2ConstData data +) { + ConstHandle2Table handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + columns, + rows, + storageOrder, + detail::tocpp(columnHeaders), + detail::tocpp(data) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TableAssign(ConstHandle2Table This, ConstHandle2ConstTable from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TableDelete(ConstHandle2ConstTable This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TableRead(ConstHandle2Table This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TableWrite(ConstHandle2ConstTable This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TablePrint(ConstHandle2ConstTable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TablePrintXML(ConstHandle2ConstTable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TablePrintJSON(ConstHandle2ConstTable This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: columns +// ----------------------------------------------------------------------------- + +// Has +int +TableColumnsHas(ConstHandle2ConstTable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ColumnsHas", This, extract::columns); +} + +// Get +// Returns by value +Integer32 +TableColumnsGet(ConstHandle2ConstTable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnsGet", This, extract::columns); +} + +// Set +void +TableColumnsSet(ConstHandle2Table This, const Integer32 columns) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ColumnsSet", This, extract::columns, columns); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: rows +// ----------------------------------------------------------------------------- + +// Has +int +TableRowsHas(ConstHandle2ConstTable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"RowsHas", This, extract::rows); +} + +// Get +// Returns by value +Integer32 +TableRowsGet(ConstHandle2ConstTable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"RowsGet", This, extract::rows); +} + +// Set +void +TableRowsSet(ConstHandle2Table This, const Integer32 rows) +{ + detail::setField + (CLASSNAME, CLASSNAME+"RowsSet", This, extract::rows, rows); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: storageOrder +// ----------------------------------------------------------------------------- + +// Has +int +TableStorageOrderHas(ConstHandle2ConstTable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StorageOrderHas", This, extract::storageOrder); +} + +// Get +// Returns by value +XMLName +TableStorageOrderGet(ConstHandle2ConstTable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StorageOrderGet", This, extract::storageOrder); +} + +// Set +void +TableStorageOrderSet(ConstHandle2Table This, const XMLName storageOrder) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StorageOrderSet", This, extract::storageOrder, storageOrder); +} + + +// ----------------------------------------------------------------------------- +// Child: columnHeaders +// ----------------------------------------------------------------------------- + +// Has +int +TableColumnHeadersHas(ConstHandle2ConstTable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ColumnHeadersHas", This, extract::columnHeaders); +} + +// Get, const +Handle2ConstColumnHeaders +TableColumnHeadersGetConst(ConstHandle2ConstTable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnHeadersGetConst", This, extract::columnHeaders); +} + +// Get, non-const +Handle2ColumnHeaders +TableColumnHeadersGet(ConstHandle2Table This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ColumnHeadersGet", This, extract::columnHeaders); +} + +// Set +void +TableColumnHeadersSet(ConstHandle2Table This, ConstHandle2ConstColumnHeaders columnHeaders) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ColumnHeadersSet", This, extract::columnHeaders, columnHeaders); +} + + +// ----------------------------------------------------------------------------- +// Child: data +// ----------------------------------------------------------------------------- + +// Has +int +TableDataHas(ConstHandle2ConstTable This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DataHas", This, extract::data); +} + +// Get, const +Handle2ConstData +TableDataGetConst(ConstHandle2ConstTable This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DataGetConst", This, extract::data); +} + +// Get, non-const +Handle2Data +TableDataGet(ConstHandle2Table This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DataGet", This, extract::data); +} + +// Set +void +TableDataSet(ConstHandle2Table This, ConstHandle2ConstData data) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DataSet", This, extract::data, data); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Table.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Table.h new file mode 100644 index 000000000..1dee5bc8a --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Table.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Table is the basic handle type in this file. Example: +// // Create a default Table object: +// Table handle = TableDefault(); +// Functions involving Table are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_TABLE +#define C_INTERFACE_TRY_V2_0_CONTAINERS_TABLE + +#include "GNDStk.h" +#include "v2.0/containers/ColumnHeaders.h" +#include "v2.0/containers/Data.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TableClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Table +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TableClass *Table; + +// --- Const-aware handles. +typedef const struct TableClass *const ConstHandle2ConstTable; +typedef struct TableClass *const ConstHandle2Table; +typedef const struct TableClass * Handle2ConstTable; +typedef struct TableClass * Handle2Table; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTable +TableDefaultConst(); + +// +++ Create, default +extern_c Handle2Table +TableDefault(); + +// --- Create, general, const +extern_c Handle2ConstTable +TableCreateConst( + const Integer32 columns, + const Integer32 rows, + const XMLName storageOrder, + ConstHandle2ConstColumnHeaders columnHeaders, + ConstHandle2ConstData data +); + +// +++ Create, general +extern_c Handle2Table +TableCreate( + const Integer32 columns, + const Integer32 rows, + const XMLName storageOrder, + ConstHandle2ConstColumnHeaders columnHeaders, + ConstHandle2ConstData data +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TableAssign(ConstHandle2Table This, ConstHandle2ConstTable from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TableDelete(ConstHandle2ConstTable This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TableRead(ConstHandle2Table This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TableWrite(ConstHandle2ConstTable This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TablePrint(ConstHandle2ConstTable This); + +// +++ Print to standard output, as XML +extern_c int +TablePrintXML(ConstHandle2ConstTable This); + +// +++ Print to standard output, as JSON +extern_c int +TablePrintJSON(ConstHandle2ConstTable This); + + +// ----------------------------------------------------------------------------- +// Metadatum: columns +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TableColumnsHas(ConstHandle2ConstTable This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +TableColumnsGet(ConstHandle2ConstTable This); + +// +++ Set +extern_c void +TableColumnsSet(ConstHandle2Table This, const Integer32 columns); + + +// ----------------------------------------------------------------------------- +// Metadatum: rows +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TableRowsHas(ConstHandle2ConstTable This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +TableRowsGet(ConstHandle2ConstTable This); + +// +++ Set +extern_c void +TableRowsSet(ConstHandle2Table This, const Integer32 rows); + + +// ----------------------------------------------------------------------------- +// Metadatum: storageOrder +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TableStorageOrderHas(ConstHandle2ConstTable This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +TableStorageOrderGet(ConstHandle2ConstTable This); + +// +++ Set +extern_c void +TableStorageOrderSet(ConstHandle2Table This, const XMLName storageOrder); + + +// ----------------------------------------------------------------------------- +// Child: columnHeaders +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TableColumnHeadersHas(ConstHandle2ConstTable This); + +// --- Get, const +extern_c Handle2ConstColumnHeaders +TableColumnHeadersGetConst(ConstHandle2ConstTable This); + +// +++ Get, non-const +extern_c Handle2ColumnHeaders +TableColumnHeadersGet(ConstHandle2Table This); + +// +++ Set +extern_c void +TableColumnHeadersSet(ConstHandle2Table This, ConstHandle2ConstColumnHeaders columnHeaders); + + +// ----------------------------------------------------------------------------- +// Child: data +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +TableDataHas(ConstHandle2ConstTable This); + +// --- Get, const +extern_c Handle2ConstData +TableDataGetConst(ConstHandle2ConstTable This); + +// +++ Get, non-const +extern_c Handle2Data +TableDataGet(ConstHandle2Table This); + +// +++ Set +extern_c void +TableDataSet(ConstHandle2Table This, ConstHandle2ConstData data); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Values.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Values.cpp new file mode 100644 index 000000000..c51af9218 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Values.cpp @@ -0,0 +1,593 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Values.hpp" +#include "Values.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ValuesClass; +using CPP = multigroup::Values; + +static const std::string CLASSNAME = "Values"; + +namespace extract { + static auto valueType = [](auto &obj) { return &obj.valueType; }; + static auto start = [](auto &obj) { return &obj.start; }; + static auto length = [](auto &obj) { return &obj.length; }; + static auto href = [](auto &obj) { return &obj.href; }; + static auto startIndex = [](auto &obj) { return &obj.startIndex; }; + static auto count = [](auto &obj) { return &obj.count; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstValues +ValuesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Values +ValuesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstValues +ValuesCreateConst( + const UTF8Text valueType, + const Integer32 start, + const Integer32 length, + const UTF8Text href, + const Integer32 startIndex, + const Integer32 count +) { + ConstHandle2Values handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + valueType, + start, + length, + href, + startIndex, + count + ); + return handle; +} + +// Create, general +Handle2Values +ValuesCreate( + const UTF8Text valueType, + const Integer32 start, + const Integer32 length, + const UTF8Text href, + const Integer32 startIndex, + const Integer32 count +) { + ConstHandle2Values handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + valueType, + start, + length, + href, + startIndex, + count + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ValuesAssign(ConstHandle2Values This, ConstHandle2ConstValues from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ValuesDelete(ConstHandle2ConstValues This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ValuesRead(ConstHandle2Values This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ValuesWrite(ConstHandle2ConstValues This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ValuesPrint(ConstHandle2ConstValues This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ValuesPrintXML(ConstHandle2ConstValues This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ValuesPrintJSON(ConstHandle2ConstValues This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +ValuesIntsClear(ConstHandle2Values This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +ValuesIntsSize(ConstHandle2ConstValues This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +ValuesIntsGet(ConstHandle2ConstValues This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ValuesIntsSet(ConstHandle2Values This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +ValuesIntsGetArrayConst(ConstHandle2ConstValues This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +ValuesIntsGetArray(ConstHandle2Values This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +ValuesIntsSetArray(ConstHandle2Values This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +ValuesUnsignedsClear(ConstHandle2Values This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +ValuesUnsignedsSize(ConstHandle2ConstValues This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +ValuesUnsignedsGet(ConstHandle2ConstValues This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ValuesUnsignedsSet(ConstHandle2Values This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +ValuesUnsignedsGetArrayConst(ConstHandle2ConstValues This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +ValuesUnsignedsGetArray(ConstHandle2Values This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +ValuesUnsignedsSetArray(ConstHandle2Values This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +ValuesFloatsClear(ConstHandle2Values This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +ValuesFloatsSize(ConstHandle2ConstValues This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +ValuesFloatsGet(ConstHandle2ConstValues This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ValuesFloatsSet(ConstHandle2Values This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +ValuesFloatsGetArrayConst(ConstHandle2ConstValues This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +ValuesFloatsGetArray(ConstHandle2Values This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +ValuesFloatsSetArray(ConstHandle2Values This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +ValuesDoublesClear(ConstHandle2Values This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +ValuesDoublesSize(ConstHandle2ConstValues This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +ValuesDoublesGet(ConstHandle2ConstValues This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +ValuesDoublesSet(ConstHandle2Values This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +ValuesDoublesGetArrayConst(ConstHandle2ConstValues This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +ValuesDoublesGetArray(ConstHandle2Values This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +ValuesDoublesSetArray(ConstHandle2Values This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: valueType +// ----------------------------------------------------------------------------- + +// Has +int +ValuesValueTypeHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueTypeHas", This, extract::valueType); +} + +// Get +// Returns by value +UTF8Text +ValuesValueTypeGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueTypeGet", This, extract::valueType); +} + +// Set +void +ValuesValueTypeSet(ConstHandle2Values This, const UTF8Text valueType) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueTypeSet", This, extract::valueType, valueType); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: start +// ----------------------------------------------------------------------------- + +// Has +int +ValuesStartHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StartHas", This, extract::start); +} + +// Get +// Returns by value +Integer32 +ValuesStartGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StartGet", This, extract::start); +} + +// Set +void +ValuesStartSet(ConstHandle2Values This, const Integer32 start) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StartSet", This, extract::start, start); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: length +// ----------------------------------------------------------------------------- + +// Has +int +ValuesLengthHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LengthHas", This, extract::length); +} + +// Get +// Returns by value +Integer32 +ValuesLengthGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LengthGet", This, extract::length); +} + +// Set +void +ValuesLengthSet(ConstHandle2Values This, const Integer32 length) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LengthSet", This, extract::length, length); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +ValuesHrefHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +UTF8Text +ValuesHrefGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +ValuesHrefSet(ConstHandle2Values This, const UTF8Text href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: startIndex +// ----------------------------------------------------------------------------- + +// Has +int +ValuesStartIndexHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StartIndexHas", This, extract::startIndex); +} + +// Get +// Returns by value +Integer32 +ValuesStartIndexGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StartIndexGet", This, extract::startIndex); +} + +// Set +void +ValuesStartIndexSet(ConstHandle2Values This, const Integer32 startIndex) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StartIndexSet", This, extract::startIndex, startIndex); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: count +// ----------------------------------------------------------------------------- + +// Has +int +ValuesCountHas(ConstHandle2ConstValues This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CountHas", This, extract::count); +} + +// Get +// Returns by value +Integer32 +ValuesCountGet(ConstHandle2ConstValues This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CountGet", This, extract::count); +} + +// Set +void +ValuesCountSet(ConstHandle2Values This, const Integer32 count) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CountSet", This, extract::count, count); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Values.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Values.h new file mode 100644 index 000000000..d29404d29 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Values.h @@ -0,0 +1,396 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Values is the basic handle type in this file. Example: +// // Create a default Values object: +// Values handle = ValuesDefault(); +// Functions involving Values are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_VALUES +#define C_INTERFACE_TRY_V2_0_CONTAINERS_VALUES + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ValuesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Values +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ValuesClass *Values; + +// --- Const-aware handles. +typedef const struct ValuesClass *const ConstHandle2ConstValues; +typedef struct ValuesClass *const ConstHandle2Values; +typedef const struct ValuesClass * Handle2ConstValues; +typedef struct ValuesClass * Handle2Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstValues +ValuesDefaultConst(); + +// +++ Create, default +extern_c Handle2Values +ValuesDefault(); + +// --- Create, general, const +extern_c Handle2ConstValues +ValuesCreateConst( + const UTF8Text valueType, + const Integer32 start, + const Integer32 length, + const UTF8Text href, + const Integer32 startIndex, + const Integer32 count +); + +// +++ Create, general +extern_c Handle2Values +ValuesCreate( + const UTF8Text valueType, + const Integer32 start, + const Integer32 length, + const UTF8Text href, + const Integer32 startIndex, + const Integer32 count +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ValuesAssign(ConstHandle2Values This, ConstHandle2ConstValues from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ValuesDelete(ConstHandle2ConstValues This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ValuesRead(ConstHandle2Values This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ValuesWrite(ConstHandle2ConstValues This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ValuesPrint(ConstHandle2ConstValues This); + +// +++ Print to standard output, as XML +extern_c int +ValuesPrintXML(ConstHandle2ConstValues This); + +// +++ Print to standard output, as JSON +extern_c int +ValuesPrintJSON(ConstHandle2ConstValues This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +ValuesIntsClear(ConstHandle2Values This); + +// +++ Get size +extern_c size_t +ValuesIntsSize(ConstHandle2ConstValues This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +ValuesIntsGet(ConstHandle2ConstValues This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ValuesIntsSet(ConstHandle2Values This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +ValuesIntsGetArrayConst(ConstHandle2ConstValues This); + +// +++ Get pointer to existing values, non-const +extern_c int * +ValuesIntsGetArray(ConstHandle2Values This); + +// +++ Set completely new values and size +extern_c void +ValuesIntsSetArray(ConstHandle2Values This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +ValuesUnsignedsClear(ConstHandle2Values This); + +// +++ Get size +extern_c size_t +ValuesUnsignedsSize(ConstHandle2ConstValues This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +ValuesUnsignedsGet(ConstHandle2ConstValues This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ValuesUnsignedsSet(ConstHandle2Values This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +ValuesUnsignedsGetArrayConst(ConstHandle2ConstValues This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +ValuesUnsignedsGetArray(ConstHandle2Values This); + +// +++ Set completely new values and size +extern_c void +ValuesUnsignedsSetArray(ConstHandle2Values This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +ValuesFloatsClear(ConstHandle2Values This); + +// +++ Get size +extern_c size_t +ValuesFloatsSize(ConstHandle2ConstValues This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +ValuesFloatsGet(ConstHandle2ConstValues This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ValuesFloatsSet(ConstHandle2Values This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +ValuesFloatsGetArrayConst(ConstHandle2ConstValues This); + +// +++ Get pointer to existing values, non-const +extern_c float * +ValuesFloatsGetArray(ConstHandle2Values This); + +// +++ Set completely new values and size +extern_c void +ValuesFloatsSetArray(ConstHandle2Values This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +ValuesDoublesClear(ConstHandle2Values This); + +// +++ Get size +extern_c size_t +ValuesDoublesSize(ConstHandle2ConstValues This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +ValuesDoublesGet(ConstHandle2ConstValues This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +ValuesDoublesSet(ConstHandle2Values This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +ValuesDoublesGetArrayConst(ConstHandle2ConstValues This); + +// +++ Get pointer to existing values, non-const +extern_c double * +ValuesDoublesGetArray(ConstHandle2Values This); + +// +++ Set completely new values and size +extern_c void +ValuesDoublesSetArray(ConstHandle2Values This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Metadatum: valueType +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesValueTypeHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ValuesValueTypeGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesValueTypeSet(ConstHandle2Values This, const UTF8Text valueType); + + +// ----------------------------------------------------------------------------- +// Metadatum: start +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesStartHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ValuesStartGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesStartSet(ConstHandle2Values This, const Integer32 start); + + +// ----------------------------------------------------------------------------- +// Metadatum: length +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesLengthHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ValuesLengthGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesLengthSet(ConstHandle2Values This, const Integer32 length); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesHrefHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c UTF8Text +ValuesHrefGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesHrefSet(ConstHandle2Values This, const UTF8Text href); + + +// ----------------------------------------------------------------------------- +// Metadatum: startIndex +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesStartIndexHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ValuesStartIndexGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesStartIndexSet(ConstHandle2Values This, const Integer32 startIndex); + + +// ----------------------------------------------------------------------------- +// Metadatum: count +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ValuesCountHas(ConstHandle2ConstValues This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +ValuesCountGet(ConstHandle2ConstValues This); + +// +++ Set +extern_c void +ValuesCountSet(ConstHandle2Values This, const Integer32 count); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp new file mode 100644 index 000000000..e3c0ebaa5 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp @@ -0,0 +1,357 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/XYs1d.hpp" +#include "XYs1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = XYs1dClass; +using CPP = multigroup::XYs1d; + +static const std::string CLASSNAME = "XYs1d"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto interpolation = [](auto &obj) { return &obj.interpolation; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPAxes = containers::Axes; +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstXYs1d +XYs1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2XYs1d +XYs1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstXYs1d +XYs1dCreateConst( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +) { + ConstHandle2XYs1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + interpolation, + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2XYs1d +XYs1dCreate( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +) { + ConstHandle2XYs1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + interpolation, + label, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +XYs1dAssign(ConstHandle2XYs1d This, ConstHandle2ConstXYs1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +XYs1dDelete(ConstHandle2ConstXYs1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +XYs1dRead(ConstHandle2XYs1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +XYs1dWrite(ConstHandle2ConstXYs1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +XYs1dPrint(ConstHandle2ConstXYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +XYs1dPrintXML(ConstHandle2ConstXYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +XYs1dPrintJSON(ConstHandle2ConstXYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dIndexHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +Integer32 +XYs1dIndexGet(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +XYs1dIndexSet(ConstHandle2XYs1d This, const Integer32 index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dInterpolationHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationHas", This, extract::interpolation); +} + +// Get +// Returns by value +enums::Interpolation +XYs1dInterpolationGet(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationGet", This, extract::interpolation); +} + +// Set +void +XYs1dInterpolationSet(ConstHandle2XYs1d This, const enums::Interpolation interpolation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationSet", This, extract::interpolation, interpolation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dLabelHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +XYs1dLabelGet(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +XYs1dLabelSet(ConstHandle2XYs1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dOuterDomainValueHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +XYs1dOuterDomainValueGet(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +XYs1dOuterDomainValueSet(ConstHandle2XYs1d This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dAxesHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +XYs1dAxesGetConst(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +XYs1dAxesGet(ConstHandle2XYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +XYs1dAxesSet(ConstHandle2XYs1d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dValuesHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +XYs1dValuesGetConst(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +XYs1dValuesGet(ConstHandle2XYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +XYs1dValuesSet(ConstHandle2XYs1d This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h new file mode 100644 index 000000000..9b50deec1 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h @@ -0,0 +1,263 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// XYs1d is the basic handle type in this file. Example: +// // Create a default XYs1d object: +// XYs1d handle = XYs1dDefault(); +// Functions involving XYs1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XYS1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_XYS1D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct XYs1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ XYs1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct XYs1dClass *XYs1d; + +// --- Const-aware handles. +typedef const struct XYs1dClass *const ConstHandle2ConstXYs1d; +typedef struct XYs1dClass *const ConstHandle2XYs1d; +typedef const struct XYs1dClass * Handle2ConstXYs1d; +typedef struct XYs1dClass * Handle2XYs1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstXYs1d +XYs1dDefaultConst(); + +// +++ Create, default +extern_c Handle2XYs1d +XYs1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstXYs1d +XYs1dCreateConst( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2XYs1d +XYs1dCreate( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName label, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +XYs1dAssign(ConstHandle2XYs1d This, ConstHandle2ConstXYs1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +XYs1dDelete(ConstHandle2ConstXYs1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +XYs1dRead(ConstHandle2XYs1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +XYs1dWrite(ConstHandle2ConstXYs1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +XYs1dPrint(ConstHandle2ConstXYs1d This); + +// +++ Print to standard output, as XML +extern_c int +XYs1dPrintXML(ConstHandle2ConstXYs1d This); + +// +++ Print to standard output, as JSON +extern_c int +XYs1dPrintJSON(ConstHandle2ConstXYs1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dIndexHas(ConstHandle2ConstXYs1d This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +XYs1dIndexGet(ConstHandle2ConstXYs1d This); + +// +++ Set +extern_c void +XYs1dIndexSet(ConstHandle2XYs1d This, const Integer32 index); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dInterpolationHas(ConstHandle2ConstXYs1d This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interpolation +XYs1dInterpolationGet(ConstHandle2ConstXYs1d This); + +// +++ Set +extern_c void +XYs1dInterpolationSet(ConstHandle2XYs1d This, const enums::Interpolation interpolation); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dLabelHas(ConstHandle2ConstXYs1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +XYs1dLabelGet(ConstHandle2ConstXYs1d This); + +// +++ Set +extern_c void +XYs1dLabelSet(ConstHandle2XYs1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dOuterDomainValueHas(ConstHandle2ConstXYs1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +XYs1dOuterDomainValueGet(ConstHandle2ConstXYs1d This); + +// +++ Set +extern_c void +XYs1dOuterDomainValueSet(ConstHandle2XYs1d This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dAxesHas(ConstHandle2ConstXYs1d This); + +// --- Get, const +extern_c Handle2ConstAxes +XYs1dAxesGetConst(ConstHandle2ConstXYs1d This); + +// +++ Get, non-const +extern_c Handle2Axes +XYs1dAxesGet(ConstHandle2XYs1d This); + +// +++ Set +extern_c void +XYs1dAxesSet(ConstHandle2XYs1d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dValuesHas(ConstHandle2ConstXYs1d This); + +// --- Get, const +extern_c Handle2ConstValues +XYs1dValuesGetConst(ConstHandle2ConstXYs1d This); + +// +++ Get, non-const +extern_c Handle2Values +XYs1dValuesGet(ConstHandle2XYs1d This); + +// +++ Set +extern_c void +XYs1dValuesSet(ConstHandle2XYs1d This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp new file mode 100644 index 000000000..b1af7de6b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp @@ -0,0 +1,357 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/XYs2d.hpp" +#include "XYs2d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = XYs2dClass; +using CPP = multigroup::XYs2d; + +static const std::string CLASSNAME = "XYs2d"; + +namespace extract { + static auto index = [](auto &obj) { return &obj.index; }; + static auto interpolation = [](auto &obj) { return &obj.interpolation; }; + static auto interpolationQualifier = [](auto &obj) { return &obj.interpolationQualifier; }; + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto function1ds = [](auto &obj) { return &obj.function1ds; }; +} + +using CPPAxes = containers::Axes; +using CPPFunction1ds = containers::Function1ds; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstXYs2d +XYs2dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2XYs2d +XYs2dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstXYs2d +XYs2dCreateConst( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName interpolationQualifier, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction1ds function1ds +) { + ConstHandle2XYs2d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + index, + interpolation, + interpolationQualifier, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(function1ds) + ); + return handle; +} + +// Create, general +Handle2XYs2d +XYs2dCreate( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName interpolationQualifier, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction1ds function1ds +) { + ConstHandle2XYs2d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + index, + interpolation, + interpolationQualifier, + outerDomainValue, + detail::tocpp(axes), + detail::tocpp(function1ds) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +XYs2dAssign(ConstHandle2XYs2d This, ConstHandle2ConstXYs2d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +XYs2dDelete(ConstHandle2ConstXYs2d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +XYs2dRead(ConstHandle2XYs2d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +XYs2dWrite(ConstHandle2ConstXYs2d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +XYs2dPrint(ConstHandle2ConstXYs2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +XYs2dPrintXML(ConstHandle2ConstXYs2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +XYs2dPrintJSON(ConstHandle2ConstXYs2d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// Has +int +XYs2dIndexHas(ConstHandle2ConstXYs2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IndexHas", This, extract::index); +} + +// Get +// Returns by value +Integer32 +XYs2dIndexGet(ConstHandle2ConstXYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"IndexGet", This, extract::index); +} + +// Set +void +XYs2dIndexSet(ConstHandle2XYs2d This, const Integer32 index) +{ + detail::setField + (CLASSNAME, CLASSNAME+"IndexSet", This, extract::index, index); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// Has +int +XYs2dInterpolationHas(ConstHandle2ConstXYs2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationHas", This, extract::interpolation); +} + +// Get +// Returns by value +enums::Interpolation +XYs2dInterpolationGet(ConstHandle2ConstXYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationGet", This, extract::interpolation); +} + +// Set +void +XYs2dInterpolationSet(ConstHandle2XYs2d This, const enums::Interpolation interpolation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationSet", This, extract::interpolation, interpolation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolationQualifier +// ----------------------------------------------------------------------------- + +// Has +int +XYs2dInterpolationQualifierHas(ConstHandle2ConstXYs2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationQualifierHas", This, extract::interpolationQualifier); +} + +// Get +// Returns by value +XMLName +XYs2dInterpolationQualifierGet(ConstHandle2ConstXYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationQualifierGet", This, extract::interpolationQualifier); +} + +// Set +void +XYs2dInterpolationQualifierSet(ConstHandle2XYs2d This, const XMLName interpolationQualifier) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationQualifierSet", This, extract::interpolationQualifier, interpolationQualifier); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +XYs2dOuterDomainValueHas(ConstHandle2ConstXYs2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +XYs2dOuterDomainValueGet(ConstHandle2ConstXYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +XYs2dOuterDomainValueSet(ConstHandle2XYs2d This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +XYs2dAxesHas(ConstHandle2ConstXYs2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +XYs2dAxesGetConst(ConstHandle2ConstXYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +XYs2dAxesGet(ConstHandle2XYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +XYs2dAxesSet(ConstHandle2XYs2d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: function1ds +// ----------------------------------------------------------------------------- + +// Has +int +XYs2dFunction1dsHas(ConstHandle2ConstXYs2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Function1dsHas", This, extract::function1ds); +} + +// Get, const +Handle2ConstFunction1ds +XYs2dFunction1dsGetConst(ConstHandle2ConstXYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function1dsGetConst", This, extract::function1ds); +} + +// Get, non-const +Handle2Function1ds +XYs2dFunction1dsGet(ConstHandle2XYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function1dsGet", This, extract::function1ds); +} + +// Set +void +XYs2dFunction1dsSet(ConstHandle2XYs2d This, ConstHandle2ConstFunction1ds function1ds) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Function1dsSet", This, extract::function1ds, function1ds); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h new file mode 100644 index 000000000..045708922 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h @@ -0,0 +1,263 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// XYs2d is the basic handle type in this file. Example: +// // Create a default XYs2d object: +// XYs2d handle = XYs2dDefault(); +// Functions involving XYs2d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XYS2D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_XYS2D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Function1ds.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct XYs2dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ XYs2d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct XYs2dClass *XYs2d; + +// --- Const-aware handles. +typedef const struct XYs2dClass *const ConstHandle2ConstXYs2d; +typedef struct XYs2dClass *const ConstHandle2XYs2d; +typedef const struct XYs2dClass * Handle2ConstXYs2d; +typedef struct XYs2dClass * Handle2XYs2d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstXYs2d +XYs2dDefaultConst(); + +// +++ Create, default +extern_c Handle2XYs2d +XYs2dDefault(); + +// --- Create, general, const +extern_c Handle2ConstXYs2d +XYs2dCreateConst( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName interpolationQualifier, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction1ds function1ds +); + +// +++ Create, general +extern_c Handle2XYs2d +XYs2dCreate( + const Integer32 index, + const enums::Interpolation interpolation, + const XMLName interpolationQualifier, + const Float64 outerDomainValue, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction1ds function1ds +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +XYs2dAssign(ConstHandle2XYs2d This, ConstHandle2ConstXYs2d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +XYs2dDelete(ConstHandle2ConstXYs2d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +XYs2dRead(ConstHandle2XYs2d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +XYs2dWrite(ConstHandle2ConstXYs2d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +XYs2dPrint(ConstHandle2ConstXYs2d This); + +// +++ Print to standard output, as XML +extern_c int +XYs2dPrintXML(ConstHandle2ConstXYs2d This); + +// +++ Print to standard output, as JSON +extern_c int +XYs2dPrintJSON(ConstHandle2ConstXYs2d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: index +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs2dIndexHas(ConstHandle2ConstXYs2d This); + +// +++ Get +// +++ Returns by value +extern_c Integer32 +XYs2dIndexGet(ConstHandle2ConstXYs2d This); + +// +++ Set +extern_c void +XYs2dIndexSet(ConstHandle2XYs2d This, const Integer32 index); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs2dInterpolationHas(ConstHandle2ConstXYs2d This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interpolation +XYs2dInterpolationGet(ConstHandle2ConstXYs2d This); + +// +++ Set +extern_c void +XYs2dInterpolationSet(ConstHandle2XYs2d This, const enums::Interpolation interpolation); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolationQualifier +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs2dInterpolationQualifierHas(ConstHandle2ConstXYs2d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +XYs2dInterpolationQualifierGet(ConstHandle2ConstXYs2d This); + +// +++ Set +extern_c void +XYs2dInterpolationQualifierSet(ConstHandle2XYs2d This, const XMLName interpolationQualifier); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs2dOuterDomainValueHas(ConstHandle2ConstXYs2d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +XYs2dOuterDomainValueGet(ConstHandle2ConstXYs2d This); + +// +++ Set +extern_c void +XYs2dOuterDomainValueSet(ConstHandle2XYs2d This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs2dAxesHas(ConstHandle2ConstXYs2d This); + +// --- Get, const +extern_c Handle2ConstAxes +XYs2dAxesGetConst(ConstHandle2ConstXYs2d This); + +// +++ Get, non-const +extern_c Handle2Axes +XYs2dAxesGet(ConstHandle2XYs2d This); + +// +++ Set +extern_c void +XYs2dAxesSet(ConstHandle2XYs2d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: function1ds +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs2dFunction1dsHas(ConstHandle2ConstXYs2d This); + +// --- Get, const +extern_c Handle2ConstFunction1ds +XYs2dFunction1dsGetConst(ConstHandle2ConstXYs2d This); + +// +++ Get, non-const +extern_c Handle2Function1ds +XYs2dFunction1dsGet(ConstHandle2XYs2d This); + +// +++ Set +extern_c void +XYs2dFunction1dsSet(ConstHandle2XYs2d This, ConstHandle2ConstFunction1ds function1ds); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp new file mode 100644 index 000000000..a1651f0b3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/XYs3d.hpp" +#include "XYs3d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = XYs3dClass; +using CPP = multigroup::XYs3d; + +static const std::string CLASSNAME = "XYs3d"; + +namespace extract { + static auto interpolation = [](auto &obj) { return &obj.interpolation; }; + static auto interpolationQualifier = [](auto &obj) { return &obj.interpolationQualifier; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto function2ds = [](auto &obj) { return &obj.function2ds; }; +} + +using CPPAxes = containers::Axes; +using CPPFunction2ds = containers::Function2ds; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstXYs3d +XYs3dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2XYs3d +XYs3dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstXYs3d +XYs3dCreateConst( + const enums::Interpolation interpolation, + const XMLName interpolationQualifier, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction2ds function2ds +) { + ConstHandle2XYs3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + interpolation, + interpolationQualifier, + detail::tocpp(axes), + detail::tocpp(function2ds) + ); + return handle; +} + +// Create, general +Handle2XYs3d +XYs3dCreate( + const enums::Interpolation interpolation, + const XMLName interpolationQualifier, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction2ds function2ds +) { + ConstHandle2XYs3d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + interpolation, + interpolationQualifier, + detail::tocpp(axes), + detail::tocpp(function2ds) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +XYs3dAssign(ConstHandle2XYs3d This, ConstHandle2ConstXYs3d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +XYs3dDelete(ConstHandle2ConstXYs3d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +XYs3dRead(ConstHandle2XYs3d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +XYs3dWrite(ConstHandle2ConstXYs3d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +XYs3dPrint(ConstHandle2ConstXYs3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +XYs3dPrintXML(ConstHandle2ConstXYs3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +XYs3dPrintJSON(ConstHandle2ConstXYs3d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// Has +int +XYs3dInterpolationHas(ConstHandle2ConstXYs3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationHas", This, extract::interpolation); +} + +// Get +// Returns by value +enums::Interpolation +XYs3dInterpolationGet(ConstHandle2ConstXYs3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationGet", This, extract::interpolation); +} + +// Set +void +XYs3dInterpolationSet(ConstHandle2XYs3d This, const enums::Interpolation interpolation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationSet", This, extract::interpolation, interpolation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolationQualifier +// ----------------------------------------------------------------------------- + +// Has +int +XYs3dInterpolationQualifierHas(ConstHandle2ConstXYs3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationQualifierHas", This, extract::interpolationQualifier); +} + +// Get +// Returns by value +XMLName +XYs3dInterpolationQualifierGet(ConstHandle2ConstXYs3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationQualifierGet", This, extract::interpolationQualifier); +} + +// Set +void +XYs3dInterpolationQualifierSet(ConstHandle2XYs3d This, const XMLName interpolationQualifier) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationQualifierSet", This, extract::interpolationQualifier, interpolationQualifier); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +XYs3dAxesHas(ConstHandle2ConstXYs3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +XYs3dAxesGetConst(ConstHandle2ConstXYs3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +XYs3dAxesGet(ConstHandle2XYs3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +XYs3dAxesSet(ConstHandle2XYs3d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: function2ds +// ----------------------------------------------------------------------------- + +// Has +int +XYs3dFunction2dsHas(ConstHandle2ConstXYs3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Function2dsHas", This, extract::function2ds); +} + +// Get, const +Handle2ConstFunction2ds +XYs3dFunction2dsGetConst(ConstHandle2ConstXYs3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function2dsGetConst", This, extract::function2ds); +} + +// Get, non-const +Handle2Function2ds +XYs3dFunction2dsGet(ConstHandle2XYs3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Function2dsGet", This, extract::function2ds); +} + +// Set +void +XYs3dFunction2dsSet(ConstHandle2XYs3d This, ConstHandle2ConstFunction2ds function2ds) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Function2dsSet", This, extract::function2ds, function2ds); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h new file mode 100644 index 000000000..4bea9eadd --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// XYs3d is the basic handle type in this file. Example: +// // Create a default XYs3d object: +// XYs3d handle = XYs3dDefault(); +// Functions involving XYs3d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XYS3D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_XYS3D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Function2ds.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct XYs3dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ XYs3d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct XYs3dClass *XYs3d; + +// --- Const-aware handles. +typedef const struct XYs3dClass *const ConstHandle2ConstXYs3d; +typedef struct XYs3dClass *const ConstHandle2XYs3d; +typedef const struct XYs3dClass * Handle2ConstXYs3d; +typedef struct XYs3dClass * Handle2XYs3d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstXYs3d +XYs3dDefaultConst(); + +// +++ Create, default +extern_c Handle2XYs3d +XYs3dDefault(); + +// --- Create, general, const +extern_c Handle2ConstXYs3d +XYs3dCreateConst( + const enums::Interpolation interpolation, + const XMLName interpolationQualifier, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction2ds function2ds +); + +// +++ Create, general +extern_c Handle2XYs3d +XYs3dCreate( + const enums::Interpolation interpolation, + const XMLName interpolationQualifier, + ConstHandle2ConstAxes axes, + ConstHandle2ConstFunction2ds function2ds +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +XYs3dAssign(ConstHandle2XYs3d This, ConstHandle2ConstXYs3d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +XYs3dDelete(ConstHandle2ConstXYs3d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +XYs3dRead(ConstHandle2XYs3d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +XYs3dWrite(ConstHandle2ConstXYs3d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +XYs3dPrint(ConstHandle2ConstXYs3d This); + +// +++ Print to standard output, as XML +extern_c int +XYs3dPrintXML(ConstHandle2ConstXYs3d This); + +// +++ Print to standard output, as JSON +extern_c int +XYs3dPrintJSON(ConstHandle2ConstXYs3d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs3dInterpolationHas(ConstHandle2ConstXYs3d This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interpolation +XYs3dInterpolationGet(ConstHandle2ConstXYs3d This); + +// +++ Set +extern_c void +XYs3dInterpolationSet(ConstHandle2XYs3d This, const enums::Interpolation interpolation); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolationQualifier +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs3dInterpolationQualifierHas(ConstHandle2ConstXYs3d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +XYs3dInterpolationQualifierGet(ConstHandle2ConstXYs3d This); + +// +++ Set +extern_c void +XYs3dInterpolationQualifierSet(ConstHandle2XYs3d This, const XMLName interpolationQualifier); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs3dAxesHas(ConstHandle2ConstXYs3d This); + +// --- Get, const +extern_c Handle2ConstAxes +XYs3dAxesGetConst(ConstHandle2ConstXYs3d This); + +// +++ Get, non-const +extern_c Handle2Axes +XYs3dAxesGet(ConstHandle2XYs3d This); + +// +++ Set +extern_c void +XYs3dAxesSet(ConstHandle2XYs3d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: function2ds +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs3dFunction2dsHas(ConstHandle2ConstXYs3d This); + +// --- Get, const +extern_c Handle2ConstFunction2ds +XYs3dFunction2dsGetConst(ConstHandle2ConstXYs3d This); + +// +++ Get, non-const +extern_c Handle2Function2ds +XYs3dFunction2dsGet(ConstHandle2XYs3d This); + +// +++ Set +extern_c void +XYs3dFunction2dsSet(ConstHandle2XYs3d This, ConstHandle2ConstFunction2ds function2ds); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.cpp new file mode 100644 index 000000000..e2756130d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.cpp @@ -0,0 +1,287 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Ys1d.hpp" +#include "Ys1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Ys1dClass; +using CPP = multigroup::Ys1d; + +static const std::string CLASSNAME = "Ys1d"; + +namespace extract { + static auto interpolation = [](auto &obj) { return &obj.interpolation; }; + static auto label = [](auto &obj) { return &obj.label; }; + static auto axes = [](auto &obj) { return &obj.axes; }; + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPAxes = containers::Axes; +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstYs1d +Ys1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Ys1d +Ys1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstYs1d +Ys1dCreateConst( + const enums::Interpolation interpolation, + const XMLName label, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +) { + ConstHandle2Ys1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + interpolation, + label, + detail::tocpp(axes), + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2Ys1d +Ys1dCreate( + const enums::Interpolation interpolation, + const XMLName label, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +) { + ConstHandle2Ys1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + interpolation, + label, + detail::tocpp(axes), + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Ys1dAssign(ConstHandle2Ys1d This, ConstHandle2ConstYs1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Ys1dDelete(ConstHandle2ConstYs1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Ys1dRead(ConstHandle2Ys1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Ys1dWrite(ConstHandle2ConstYs1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Ys1dPrint(ConstHandle2ConstYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Ys1dPrintXML(ConstHandle2ConstYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Ys1dPrintJSON(ConstHandle2ConstYs1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// Has +int +Ys1dInterpolationHas(ConstHandle2ConstYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"InterpolationHas", This, extract::interpolation); +} + +// Get +// Returns by value +enums::Interpolation +Ys1dInterpolationGet(ConstHandle2ConstYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"InterpolationGet", This, extract::interpolation); +} + +// Set +void +Ys1dInterpolationSet(ConstHandle2Ys1d This, const enums::Interpolation interpolation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"InterpolationSet", This, extract::interpolation, interpolation); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +Ys1dLabelHas(ConstHandle2ConstYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +Ys1dLabelGet(ConstHandle2ConstYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +Ys1dLabelSet(ConstHandle2Ys1d This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// Has +int +Ys1dAxesHas(ConstHandle2ConstYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AxesHas", This, extract::axes); +} + +// Get, const +Handle2ConstAxes +Ys1dAxesGetConst(ConstHandle2ConstYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGetConst", This, extract::axes); +} + +// Get, non-const +Handle2Axes +Ys1dAxesGet(ConstHandle2Ys1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AxesGet", This, extract::axes); +} + +// Set +void +Ys1dAxesSet(ConstHandle2Ys1d This, ConstHandle2ConstAxes axes) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AxesSet", This, extract::axes, axes); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +Ys1dValuesHas(ConstHandle2ConstYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +Ys1dValuesGetConst(ConstHandle2ConstYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +Ys1dValuesGet(ConstHandle2Ys1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +Ys1dValuesSet(ConstHandle2Ys1d This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.h new file mode 100644 index 000000000..ce7e0b86c --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.h @@ -0,0 +1,223 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Ys1d is the basic handle type in this file. Example: +// // Create a default Ys1d object: +// Ys1d handle = Ys1dDefault(); +// Functions involving Ys1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_YS1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_YS1D + +#include "GNDStk.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Ys1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Ys1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Ys1dClass *Ys1d; + +// --- Const-aware handles. +typedef const struct Ys1dClass *const ConstHandle2ConstYs1d; +typedef struct Ys1dClass *const ConstHandle2Ys1d; +typedef const struct Ys1dClass * Handle2ConstYs1d; +typedef struct Ys1dClass * Handle2Ys1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstYs1d +Ys1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Ys1d +Ys1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstYs1d +Ys1dCreateConst( + const enums::Interpolation interpolation, + const XMLName label, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2Ys1d +Ys1dCreate( + const enums::Interpolation interpolation, + const XMLName label, + ConstHandle2ConstAxes axes, + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Ys1dAssign(ConstHandle2Ys1d This, ConstHandle2ConstYs1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Ys1dDelete(ConstHandle2ConstYs1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Ys1dRead(ConstHandle2Ys1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Ys1dWrite(ConstHandle2ConstYs1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Ys1dPrint(ConstHandle2ConstYs1d This); + +// +++ Print to standard output, as XML +extern_c int +Ys1dPrintXML(ConstHandle2ConstYs1d This); + +// +++ Print to standard output, as JSON +extern_c int +Ys1dPrintJSON(ConstHandle2ConstYs1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: interpolation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Ys1dInterpolationHas(ConstHandle2ConstYs1d This); + +// +++ Get +// +++ Returns by value +extern_c enums::Interpolation +Ys1dInterpolationGet(ConstHandle2ConstYs1d This); + +// +++ Set +extern_c void +Ys1dInterpolationSet(ConstHandle2Ys1d This, const enums::Interpolation interpolation); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Ys1dLabelHas(ConstHandle2ConstYs1d This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +Ys1dLabelGet(ConstHandle2ConstYs1d This); + +// +++ Set +extern_c void +Ys1dLabelSet(ConstHandle2Ys1d This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Child: axes +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Ys1dAxesHas(ConstHandle2ConstYs1d This); + +// --- Get, const +extern_c Handle2ConstAxes +Ys1dAxesGetConst(ConstHandle2ConstYs1d This); + +// +++ Get, non-const +extern_c Handle2Axes +Ys1dAxesGet(ConstHandle2Ys1d This); + +// +++ Set +extern_c void +Ys1dAxesSet(ConstHandle2Ys1d This, ConstHandle2ConstAxes axes); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Ys1dValuesHas(ConstHandle2ConstYs1d This); + +// --- Get, const +extern_c Handle2ConstValues +Ys1dValuesGetConst(ConstHandle2ConstYs1d This); + +// +++ Get, non-const +extern_c Handle2Values +Ys1dValuesGet(ConstHandle2Ys1d This); + +// +++ Set +extern_c void +Ys1dValuesSet(ConstHandle2Ys1d This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp index 4522a759d..ac016ed17 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp @@ -17,7 +17,7 @@ namespace extract { static auto array = [](auto &obj) { return &obj.array; }; } -using CPPArray = unknownNamespace::Array; +using CPPArray = containers::Array; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h index 5c6b3e10b..3cc96ddad 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Array.h" +#include "v2.0/containers/Array.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp index 3a4885d5f..80384341b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp @@ -17,7 +17,7 @@ namespace extract { static auto array = [](auto &obj) { return &obj.array; }; } -using CPPArray = unknownNamespace::Array; +using CPPArray = containers::Array; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h index a347caf38..865b9772a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCE #include "GNDStk.h" -#include "v2.0/unknownNamespace/Array.h" +#include "v2.0/containers/Array.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp index 189a23b69..da6f610b9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp @@ -19,7 +19,7 @@ namespace extract { static auto type = [](auto &obj) { return &obj.type; }; } -using CPPGridded2d = unknownNamespace::Gridded2d; +using CPPGridded2d = containers::Gridded2d; using CPPSandwichProduct = covariance::SandwichProduct; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h index 3eaff05f7..cafabe41c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCEMATRIX #include "GNDStk.h" -#include "v2.0/unknownNamespace/Gridded2d.h" +#include "v2.0/containers/Gridded2d.h" #include "v2.0/covariance/SandwichProduct.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp index 26de73e59..ae440b6af 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp @@ -21,7 +21,7 @@ namespace extract { } using CPPParameters = covariance::Parameters; -using CPPArray = unknownNamespace::Array; +using CPPArray = containers::Array; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h index 8fe675399..f0e6afb46 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/covariance/Parameters.h" -#include "v2.0/unknownNamespace/Array.h" +#include "v2.0/containers/Array.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp index baf0b95f1..00532bd91 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp @@ -17,7 +17,7 @@ namespace extract { static auto array = [](auto &obj) { return &obj.array; }; } -using CPPArray = unknownNamespace::Array; +using CPPArray = containers::Array; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h index 2c3565e46..7ecf3827a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_COVARIANCE_ROWSENSITIVITY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Array.h" +#include "v2.0/containers/Array.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp index 4d99188a5..af12d2ff2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp @@ -20,7 +20,7 @@ namespace extract { static auto columnSensitivity = [](auto &obj) { return &obj.columnSensitivity; }; } -using CPPAxes = unknownNamespace::Axes; +using CPPAxes = containers::Axes; using CPPCovariance = covariance::Covariance; using CPPRowSensitivity = covariance::RowSensitivity; using CPPColumnSensitivity = covariance::ColumnSensitivity; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h index 2b2577565..391a90ce9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_COVARIANCE_SANDWICHPRODUCT #include "GNDStk.h" -#include "v2.0/unknownNamespace/Axes.h" +#include "v2.0/containers/Axes.h" #include "v2.0/covariance/Covariance.h" #include "v2.0/covariance/RowSensitivity.h" #include "v2.0/covariance/ColumnSensitivity.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp b/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp index 685260aff..9e5f62ab4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp @@ -20,7 +20,7 @@ namespace extract { static auto gridded2d = [](auto &obj) { return &obj.gridded2d; }; } -using CPPGridded2d = unknownNamespace::Gridded2d; +using CPPGridded2d = containers::Gridded2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h b/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h index 605415b36..4017b47ed 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h +++ b/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE #include "GNDStk.h" -#include "v2.0/unknownNamespace/Gridded2d.h" +#include "v2.0/containers/Gridded2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp index e573cdab6..a2b112ac2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions2d = [](auto &obj) { return &obj.regions2d; }; } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h index d4c3822e1..4b22c3f94 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp index b4f571290..ea76b004d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions2d = [](auto &obj) { return &obj.regions2d; }; } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h index e0c2efcbe..3cf241d22 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARTERM #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp index 5103e5527..4ab55def9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions2d = [](auto &obj) { return &obj.regions2d; }; } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h index da3db9b79..3be78c733 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h +++ b/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp index e2950c989..b72e08e35 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h index 31b5c3228..dade76428 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_RATE #include "GNDStk.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp index 81cb1a6a6..672afed95 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp @@ -17,7 +17,7 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h index 12cd2e79c..f3af0dc6f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp index 2a4bb6056..f55ccd5b8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp @@ -17,7 +17,7 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h index 20463799e..0f8eaaaf2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp index 8d3f49b5b..111f4105c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp @@ -18,8 +18,8 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPXYs1d = containers::XYs1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h index 829006a02..3f7103295 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp index 67f1cf6a3..f03ac5767 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp @@ -17,7 +17,7 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h index 7c1765ac8..98ef494cd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp index b6ec41538..6012dbad0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp @@ -17,7 +17,7 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h index 04acdeac2..f1e65dd27 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp index 2111373f7..9179135e2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp @@ -18,8 +18,8 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPXYs1d = containers::XYs1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h index 9ade10a1c..a5e962349 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp index 8dc3d5b66..51940de12 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp @@ -18,8 +18,8 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPXYs1d = containers::XYs1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h index 8880cd7cc..bc9650429 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp index 97398ae82..416431718 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp @@ -18,8 +18,8 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPXYs1d = containers::XYs1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h index 79b6f9c1e..ed10f15b8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp index 96ebfbf25..585b01f3a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp @@ -17,7 +17,7 @@ namespace extract { static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; +using CPPXYs1d = containers::XYs1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h index 965827017..12be5b282 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_T_M #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/containers/XYs1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp index e107e2a03..42d3bf895 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp @@ -17,7 +17,7 @@ namespace extract { static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; } -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPPolynomial1d = containers::Polynomial1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h index 95f0b63d4..c3f733596 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/Polynomial1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp index 380e8b865..11a7d28f5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h index 52fc28e03..02b2b97c2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_FPY_ENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp index 95be67158..5675406c3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp @@ -16,8 +16,8 @@ static const std::string CLASSNAME = "Time"; namespace extract { } -using CPPDouble = unknownNamespace::Double; -using CPPString = unknownNamespace::String; +using CPPDouble = containers::Double; +using CPPString = containers::String; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h index 06416d44b..4ef737d8d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_FPY_TIME #include "GNDStk.h" -#include "v2.0/unknownNamespace/Double.h" -#include "v2.0/unknownNamespace/String.h" +#include "v2.0/containers/Double.h" +#include "v2.0/containers/String.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp index 0e4b66abc..c9527b81c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp @@ -20,7 +20,7 @@ namespace extract { } using CPPNuclides = fpy::Nuclides; -using CPPValues = unknownNamespace::Values; +using CPPValues = containers::Values; using CPPUncertainty = pops::Uncertainty; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h index 53a8500ce..bcec1e90a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/fpy/Nuclides.h" -#include "v2.0/unknownNamespace/Values.h" +#include "v2.0/containers/Values.h" #include "v2.0/pops/Uncertainty.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp index 7a7ee13fa..d2a58f36b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp @@ -24,7 +24,7 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- @@ -394,3 +394,138 @@ BindingEnergyDoubleSet( detail::setByIndex (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); } + +// Has, by label +int +BindingEnergyDoubleHasByLabel( + ConstHandle2ConstBindingEnergy This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByLabel", + This, extract::Double, meta::label, label); +} + +// Get, by label, const +Handle2ConstDouble +BindingEnergyDoubleGetByLabelConst( + ConstHandle2ConstBindingEnergy This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabelConst", + This, extract::Double, meta::label, label); +} + +// Get, by label, non-const +Handle2Double +BindingEnergyDoubleGetByLabel( + ConstHandle2BindingEnergy This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabel", + This, extract::Double, meta::label, label); +} + +// Set, by label +void +BindingEnergyDoubleSetByLabel( + ConstHandle2BindingEnergy This, + const XMLName label, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByLabel", + This, extract::Double, meta::label, label, Double); +} + +// Has, by unit +int +BindingEnergyDoubleHasByUnit( + ConstHandle2ConstBindingEnergy This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByUnit", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstDouble +BindingEnergyDoubleGetByUnitConst( + ConstHandle2ConstBindingEnergy This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnitConst", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Double +BindingEnergyDoubleGetByUnit( + ConstHandle2BindingEnergy This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnit", + This, extract::Double, meta::unit, unit); +} + +// Set, by unit +void +BindingEnergyDoubleSetByUnit( + ConstHandle2BindingEnergy This, + const XMLName unit, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByUnit", + This, extract::Double, meta::unit, unit, Double); +} + +// Has, by value +int +BindingEnergyDoubleHasByValue( + ConstHandle2ConstBindingEnergy This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByValue", + This, extract::Double, meta::value, value); +} + +// Get, by value, const +Handle2ConstDouble +BindingEnergyDoubleGetByValueConst( + ConstHandle2ConstBindingEnergy This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValueConst", + This, extract::Double, meta::value, value); +} + +// Get, by value, non-const +Handle2Double +BindingEnergyDoubleGetByValue( + ConstHandle2BindingEnergy This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValue", + This, extract::Double, meta::value, value); +} + +// Set, by value +void +BindingEnergyDoubleSetByValue( + ConstHandle2BindingEnergy This, + const Float64 value, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByValue", + This, extract::Double, meta::value, value, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h index 7009ab5f1..98c3b50b0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" @@ -274,6 +274,93 @@ BindingEnergyDoubleSet( ConstHandle2ConstDouble Double ); +// +++ Has, by label +extern_c int +BindingEnergyDoubleHasByLabel( + ConstHandle2ConstBindingEnergy This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDouble +BindingEnergyDoubleGetByLabelConst( + ConstHandle2ConstBindingEnergy This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Double +BindingEnergyDoubleGetByLabel( + ConstHandle2BindingEnergy This, + const XMLName label +); + +// +++ Set, by label +extern_c void +BindingEnergyDoubleSetByLabel( + ConstHandle2BindingEnergy This, + const XMLName label, + ConstHandle2ConstDouble Double +); + +// +++ Has, by unit +extern_c int +BindingEnergyDoubleHasByUnit( + ConstHandle2ConstBindingEnergy This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstDouble +BindingEnergyDoubleGetByUnitConst( + ConstHandle2ConstBindingEnergy This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Double +BindingEnergyDoubleGetByUnit( + ConstHandle2BindingEnergy This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +BindingEnergyDoubleSetByUnit( + ConstHandle2BindingEnergy This, + const XMLName unit, + ConstHandle2ConstDouble Double +); + +// +++ Has, by value +extern_c int +BindingEnergyDoubleHasByValue( + ConstHandle2ConstBindingEnergy This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstDouble +BindingEnergyDoubleGetByValueConst( + ConstHandle2ConstBindingEnergy This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Double +BindingEnergyDoubleGetByValue( + ConstHandle2BindingEnergy This, + const Float64 value +); + +// +++ Set, by value +extern_c void +BindingEnergyDoubleSetByValue( + ConstHandle2BindingEnergy This, + const Float64 value, + ConstHandle2ConstDouble Double +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp index e91b42f5e..fa1dac9db 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp @@ -23,8 +23,8 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPInteger = unknownNamespace::Integer; -using CPPFraction = unknownNamespace::Fraction; +using CPPInteger = containers::Integer; +using CPPFraction = containers::Fraction; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h index cc1ff8859..34c9a0f03 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h @@ -34,8 +34,8 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Integer.h" -#include "v2.0/unknownNamespace/Fraction.h" +#include "v2.0/containers/Integer.h" +#include "v2.0/containers/Fraction.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp index c39379293..9e4a31c7f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp @@ -17,7 +17,7 @@ namespace extract { static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; +using CPPXYs1d = containers::XYs1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h index b7a014d0f..a0b5d3f3c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_POPS_CONTINUUM #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/containers/XYs1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp index 3b5beed08..67d0ca3e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp @@ -24,7 +24,7 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- @@ -394,3 +394,138 @@ EnergyDoubleSet( detail::setByIndex (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); } + +// Has, by label +int +EnergyDoubleHasByLabel( + ConstHandle2ConstEnergy This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByLabel", + This, extract::Double, meta::label, label); +} + +// Get, by label, const +Handle2ConstDouble +EnergyDoubleGetByLabelConst( + ConstHandle2ConstEnergy This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabelConst", + This, extract::Double, meta::label, label); +} + +// Get, by label, non-const +Handle2Double +EnergyDoubleGetByLabel( + ConstHandle2Energy This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabel", + This, extract::Double, meta::label, label); +} + +// Set, by label +void +EnergyDoubleSetByLabel( + ConstHandle2Energy This, + const XMLName label, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByLabel", + This, extract::Double, meta::label, label, Double); +} + +// Has, by unit +int +EnergyDoubleHasByUnit( + ConstHandle2ConstEnergy This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByUnit", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstDouble +EnergyDoubleGetByUnitConst( + ConstHandle2ConstEnergy This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnitConst", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Double +EnergyDoubleGetByUnit( + ConstHandle2Energy This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnit", + This, extract::Double, meta::unit, unit); +} + +// Set, by unit +void +EnergyDoubleSetByUnit( + ConstHandle2Energy This, + const XMLName unit, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByUnit", + This, extract::Double, meta::unit, unit, Double); +} + +// Has, by value +int +EnergyDoubleHasByValue( + ConstHandle2ConstEnergy This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByValue", + This, extract::Double, meta::value, value); +} + +// Get, by value, const +Handle2ConstDouble +EnergyDoubleGetByValueConst( + ConstHandle2ConstEnergy This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValueConst", + This, extract::Double, meta::value, value); +} + +// Get, by value, non-const +Handle2Double +EnergyDoubleGetByValue( + ConstHandle2Energy This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValue", + This, extract::Double, meta::value, value); +} + +// Set, by value +void +EnergyDoubleSetByValue( + ConstHandle2Energy This, + const Float64 value, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByValue", + This, extract::Double, meta::value, value, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h index d94e1fc6c..bdc8cab16 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" @@ -274,6 +274,93 @@ EnergyDoubleSet( ConstHandle2ConstDouble Double ); +// +++ Has, by label +extern_c int +EnergyDoubleHasByLabel( + ConstHandle2ConstEnergy This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDouble +EnergyDoubleGetByLabelConst( + ConstHandle2ConstEnergy This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Double +EnergyDoubleGetByLabel( + ConstHandle2Energy This, + const XMLName label +); + +// +++ Set, by label +extern_c void +EnergyDoubleSetByLabel( + ConstHandle2Energy This, + const XMLName label, + ConstHandle2ConstDouble Double +); + +// +++ Has, by unit +extern_c int +EnergyDoubleHasByUnit( + ConstHandle2ConstEnergy This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstDouble +EnergyDoubleGetByUnitConst( + ConstHandle2ConstEnergy This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Double +EnergyDoubleGetByUnit( + ConstHandle2Energy This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +EnergyDoubleSetByUnit( + ConstHandle2Energy This, + const XMLName unit, + ConstHandle2ConstDouble Double +); + +// +++ Has, by value +extern_c int +EnergyDoubleHasByValue( + ConstHandle2ConstEnergy This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstDouble +EnergyDoubleGetByValueConst( + ConstHandle2ConstEnergy This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Double +EnergyDoubleGetByValue( + ConstHandle2Energy This, + const Float64 value +); + +// +++ Set, by value +extern_c void +EnergyDoubleSetByValue( + ConstHandle2Energy This, + const Float64 value, + ConstHandle2ConstDouble Double +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp index 7e2d15e93..a01781a25 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp @@ -23,8 +23,8 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPString = unknownNamespace::String; -using CPPDouble = unknownNamespace::Double; +using CPPString = containers::String; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h index 28fd2195b..816395f6d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h @@ -34,8 +34,8 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/String.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/String.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp index 3d479d455..1c5851674 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h b/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h index 0b7da491c..eac1a52a9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_POPS_LOGNORMAL #include "GNDStk.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp index 3229d4385..1519f6ae3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp @@ -24,7 +24,7 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h index b6bb0e6c4..e9311e969 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp index d005dfdeb..868618f6c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp @@ -24,7 +24,7 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPInteger = unknownNamespace::Integer; +using CPPInteger = containers::Integer; // ----------------------------------------------------------------------------- @@ -394,3 +394,138 @@ ParityIntegerSet( detail::setByIndex (CLASSNAME, CLASSNAME+"IntegerSet", This, extract::integer, index_, integer); } + +// Has, by label +int +ParityIntegerHasByLabel( + ConstHandle2ConstParity This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntegerHasByLabel", + This, extract::integer, meta::label, label); +} + +// Get, by label, const +Handle2ConstInteger +ParityIntegerGetByLabelConst( + ConstHandle2ConstParity This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntegerGetByLabelConst", + This, extract::integer, meta::label, label); +} + +// Get, by label, non-const +Handle2Integer +ParityIntegerGetByLabel( + ConstHandle2Parity This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntegerGetByLabel", + This, extract::integer, meta::label, label); +} + +// Set, by label +void +ParityIntegerSetByLabel( + ConstHandle2Parity This, + const XMLName label, + ConstHandle2ConstInteger integer +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntegerSetByLabel", + This, extract::integer, meta::label, label, integer); +} + +// Has, by unit +int +ParityIntegerHasByUnit( + ConstHandle2ConstParity This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntegerHasByUnit", + This, extract::integer, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstInteger +ParityIntegerGetByUnitConst( + ConstHandle2ConstParity This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntegerGetByUnitConst", + This, extract::integer, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Integer +ParityIntegerGetByUnit( + ConstHandle2Parity This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntegerGetByUnit", + This, extract::integer, meta::unit, unit); +} + +// Set, by unit +void +ParityIntegerSetByUnit( + ConstHandle2Parity This, + const XMLName unit, + ConstHandle2ConstInteger integer +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntegerSetByUnit", + This, extract::integer, meta::unit, unit, integer); +} + +// Has, by value +int +ParityIntegerHasByValue( + ConstHandle2ConstParity This, + const Integer32 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntegerHasByValue", + This, extract::integer, meta::value, value); +} + +// Get, by value, const +Handle2ConstInteger +ParityIntegerGetByValueConst( + ConstHandle2ConstParity This, + const Integer32 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntegerGetByValueConst", + This, extract::integer, meta::value, value); +} + +// Get, by value, non-const +Handle2Integer +ParityIntegerGetByValue( + ConstHandle2Parity This, + const Integer32 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntegerGetByValue", + This, extract::integer, meta::value, value); +} + +// Set, by value +void +ParityIntegerSetByValue( + ConstHandle2Parity This, + const Integer32 value, + ConstHandle2ConstInteger integer +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntegerSetByValue", + This, extract::integer, meta::value, value, integer); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h index 7adf74f82..eab2b5645 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Integer.h" +#include "v2.0/containers/Integer.h" #ifdef __cplusplus #define extern_c extern "C" @@ -274,6 +274,93 @@ ParityIntegerSet( ConstHandle2ConstInteger integer ); +// +++ Has, by label +extern_c int +ParityIntegerHasByLabel( + ConstHandle2ConstParity This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstInteger +ParityIntegerGetByLabelConst( + ConstHandle2ConstParity This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Integer +ParityIntegerGetByLabel( + ConstHandle2Parity This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ParityIntegerSetByLabel( + ConstHandle2Parity This, + const XMLName label, + ConstHandle2ConstInteger integer +); + +// +++ Has, by unit +extern_c int +ParityIntegerHasByUnit( + ConstHandle2ConstParity This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstInteger +ParityIntegerGetByUnitConst( + ConstHandle2ConstParity This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Integer +ParityIntegerGetByUnit( + ConstHandle2Parity This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +ParityIntegerSetByUnit( + ConstHandle2Parity This, + const XMLName unit, + ConstHandle2ConstInteger integer +); + +// +++ Has, by value +extern_c int +ParityIntegerHasByValue( + ConstHandle2ConstParity This, + const Integer32 value +); + +// --- Get, by value, const +extern_c Handle2ConstInteger +ParityIntegerGetByValueConst( + ConstHandle2ConstParity This, + const Integer32 value +); + +// +++ Get, by value, non-const +extern_c Handle2Integer +ParityIntegerGetByValue( + ConstHandle2Parity This, + const Integer32 value +); + +// +++ Set, by value +extern_c void +ParityIntegerSetByValue( + ConstHandle2Parity This, + const Integer32 value, + ConstHandle2ConstInteger integer +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp index dc0f822a1..63f985ceb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h index 3466ff025..71455df6c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_POPS_PDF #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp index 6ad1a1f19..e840f487a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- @@ -203,3 +203,138 @@ ProbabilityDoubleSet( detail::setByIndex (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); } + +// Has, by label +int +ProbabilityDoubleHasByLabel( + ConstHandle2ConstProbability This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByLabel", + This, extract::Double, meta::label, label); +} + +// Get, by label, const +Handle2ConstDouble +ProbabilityDoubleGetByLabelConst( + ConstHandle2ConstProbability This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabelConst", + This, extract::Double, meta::label, label); +} + +// Get, by label, non-const +Handle2Double +ProbabilityDoubleGetByLabel( + ConstHandle2Probability This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabel", + This, extract::Double, meta::label, label); +} + +// Set, by label +void +ProbabilityDoubleSetByLabel( + ConstHandle2Probability This, + const XMLName label, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByLabel", + This, extract::Double, meta::label, label, Double); +} + +// Has, by unit +int +ProbabilityDoubleHasByUnit( + ConstHandle2ConstProbability This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByUnit", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstDouble +ProbabilityDoubleGetByUnitConst( + ConstHandle2ConstProbability This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnitConst", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Double +ProbabilityDoubleGetByUnit( + ConstHandle2Probability This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnit", + This, extract::Double, meta::unit, unit); +} + +// Set, by unit +void +ProbabilityDoubleSetByUnit( + ConstHandle2Probability This, + const XMLName unit, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByUnit", + This, extract::Double, meta::unit, unit, Double); +} + +// Has, by value +int +ProbabilityDoubleHasByValue( + ConstHandle2ConstProbability This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByValue", + This, extract::Double, meta::value, value); +} + +// Get, by value, const +Handle2ConstDouble +ProbabilityDoubleGetByValueConst( + ConstHandle2ConstProbability This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValueConst", + This, extract::Double, meta::value, value); +} + +// Get, by value, non-const +Handle2Double +ProbabilityDoubleGetByValue( + ConstHandle2Probability This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValue", + This, extract::Double, meta::value, value); +} + +// Set, by value +void +ProbabilityDoubleSetByValue( + ConstHandle2Probability This, + const Float64 value, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByValue", + This, extract::Double, meta::value, value, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h index dd457ee0d..4594ac1f0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_POPS_PROBABILITY #include "GNDStk.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" @@ -166,6 +166,93 @@ ProbabilityDoubleSet( ConstHandle2ConstDouble Double ); +// +++ Has, by label +extern_c int +ProbabilityDoubleHasByLabel( + ConstHandle2ConstProbability This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDouble +ProbabilityDoubleGetByLabelConst( + ConstHandle2ConstProbability This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Double +ProbabilityDoubleGetByLabel( + ConstHandle2Probability This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ProbabilityDoubleSetByLabel( + ConstHandle2Probability This, + const XMLName label, + ConstHandle2ConstDouble Double +); + +// +++ Has, by unit +extern_c int +ProbabilityDoubleHasByUnit( + ConstHandle2ConstProbability This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstDouble +ProbabilityDoubleGetByUnitConst( + ConstHandle2ConstProbability This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Double +ProbabilityDoubleGetByUnit( + ConstHandle2Probability This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +ProbabilityDoubleSetByUnit( + ConstHandle2Probability This, + const XMLName unit, + ConstHandle2ConstDouble Double +); + +// +++ Has, by value +extern_c int +ProbabilityDoubleHasByValue( + ConstHandle2ConstProbability This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstDouble +ProbabilityDoubleGetByValueConst( + ConstHandle2ConstProbability This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Double +ProbabilityDoubleGetByValue( + ConstHandle2Probability This, + const Float64 value +); + +// +++ Set, by value +extern_c void +ProbabilityDoubleSetByValue( + ConstHandle2Probability This, + const Float64 value, + ConstHandle2ConstDouble Double +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp index 2a76d34bc..4aab7b99a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp @@ -24,7 +24,7 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- @@ -394,3 +394,138 @@ QDoubleSet( detail::setByIndex (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); } + +// Has, by label +int +QDoubleHasByLabel( + ConstHandle2ConstQ This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByLabel", + This, extract::Double, meta::label, label); +} + +// Get, by label, const +Handle2ConstDouble +QDoubleGetByLabelConst( + ConstHandle2ConstQ This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabelConst", + This, extract::Double, meta::label, label); +} + +// Get, by label, non-const +Handle2Double +QDoubleGetByLabel( + ConstHandle2Q This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabel", + This, extract::Double, meta::label, label); +} + +// Set, by label +void +QDoubleSetByLabel( + ConstHandle2Q This, + const XMLName label, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByLabel", + This, extract::Double, meta::label, label, Double); +} + +// Has, by unit +int +QDoubleHasByUnit( + ConstHandle2ConstQ This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByUnit", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstDouble +QDoubleGetByUnitConst( + ConstHandle2ConstQ This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnitConst", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Double +QDoubleGetByUnit( + ConstHandle2Q This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnit", + This, extract::Double, meta::unit, unit); +} + +// Set, by unit +void +QDoubleSetByUnit( + ConstHandle2Q This, + const XMLName unit, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByUnit", + This, extract::Double, meta::unit, unit, Double); +} + +// Has, by value +int +QDoubleHasByValue( + ConstHandle2ConstQ This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByValue", + This, extract::Double, meta::value, value); +} + +// Get, by value, const +Handle2ConstDouble +QDoubleGetByValueConst( + ConstHandle2ConstQ This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValueConst", + This, extract::Double, meta::value, value); +} + +// Get, by value, non-const +Handle2Double +QDoubleGetByValue( + ConstHandle2Q This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValue", + This, extract::Double, meta::value, value); +} + +// Set, by value +void +QDoubleSetByValue( + ConstHandle2Q This, + const Float64 value, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByValue", + This, extract::Double, meta::value, value, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h index d179189fe..7d0cce467 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" @@ -274,6 +274,93 @@ QDoubleSet( ConstHandle2ConstDouble Double ); +// +++ Has, by label +extern_c int +QDoubleHasByLabel( + ConstHandle2ConstQ This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDouble +QDoubleGetByLabelConst( + ConstHandle2ConstQ This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Double +QDoubleGetByLabel( + ConstHandle2Q This, + const XMLName label +); + +// +++ Set, by label +extern_c void +QDoubleSetByLabel( + ConstHandle2Q This, + const XMLName label, + ConstHandle2ConstDouble Double +); + +// +++ Has, by unit +extern_c int +QDoubleHasByUnit( + ConstHandle2ConstQ This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstDouble +QDoubleGetByUnitConst( + ConstHandle2ConstQ This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Double +QDoubleGetByUnit( + ConstHandle2Q This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +QDoubleSetByUnit( + ConstHandle2Q This, + const XMLName unit, + ConstHandle2ConstDouble Double +); + +// +++ Has, by value +extern_c int +QDoubleHasByValue( + ConstHandle2ConstQ This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstDouble +QDoubleGetByValueConst( + ConstHandle2ConstQ This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Double +QDoubleGetByValue( + ConstHandle2Q This, + const Float64 value +); + +// +++ Set, by value +extern_c void +QDoubleSetByValue( + ConstHandle2Q This, + const Float64 value, + ConstHandle2ConstDouble Double +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp index d588177e0..484cd5880 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp @@ -24,7 +24,7 @@ namespace extract { using CPPDocumentation = documentation::Documentation; using CPPUncertainty = pops::Uncertainty; -using CPPFraction = unknownNamespace::Fraction; +using CPPFraction = containers::Fraction; // ----------------------------------------------------------------------------- @@ -394,3 +394,138 @@ SpinFractionSet( detail::setByIndex (CLASSNAME, CLASSNAME+"FractionSet", This, extract::fraction, index_, fraction); } + +// Has, by label +int +SpinFractionHasByLabel( + ConstHandle2ConstSpin This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"FractionHasByLabel", + This, extract::fraction, meta::label, label); +} + +// Get, by label, const +Handle2ConstFraction +SpinFractionGetByLabelConst( + ConstHandle2ConstSpin This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FractionGetByLabelConst", + This, extract::fraction, meta::label, label); +} + +// Get, by label, non-const +Handle2Fraction +SpinFractionGetByLabel( + ConstHandle2Spin This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FractionGetByLabel", + This, extract::fraction, meta::label, label); +} + +// Set, by label +void +SpinFractionSetByLabel( + ConstHandle2Spin This, + const XMLName label, + ConstHandle2ConstFraction fraction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"FractionSetByLabel", + This, extract::fraction, meta::label, label, fraction); +} + +// Has, by unit +int +SpinFractionHasByUnit( + ConstHandle2ConstSpin This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"FractionHasByUnit", + This, extract::fraction, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstFraction +SpinFractionGetByUnitConst( + ConstHandle2ConstSpin This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FractionGetByUnitConst", + This, extract::fraction, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Fraction +SpinFractionGetByUnit( + ConstHandle2Spin This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FractionGetByUnit", + This, extract::fraction, meta::unit, unit); +} + +// Set, by unit +void +SpinFractionSetByUnit( + ConstHandle2Spin This, + const XMLName unit, + ConstHandle2ConstFraction fraction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"FractionSetByUnit", + This, extract::fraction, meta::unit, unit, fraction); +} + +// Has, by value +int +SpinFractionHasByValue( + ConstHandle2ConstSpin This, + const Fraction32 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"FractionHasByValue", + This, extract::fraction, meta::value, value); +} + +// Get, by value, const +Handle2ConstFraction +SpinFractionGetByValueConst( + ConstHandle2ConstSpin This, + const Fraction32 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FractionGetByValueConst", + This, extract::fraction, meta::value, value); +} + +// Get, by value, non-const +Handle2Fraction +SpinFractionGetByValue( + ConstHandle2Spin This, + const Fraction32 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"FractionGetByValue", + This, extract::fraction, meta::value, value); +} + +// Set, by value +void +SpinFractionSetByValue( + ConstHandle2Spin This, + const Fraction32 value, + ConstHandle2ConstFraction fraction +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"FractionSetByValue", + This, extract::fraction, meta::value, value, fraction); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h index c74649288..a3a10a929 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" #include "v2.0/pops/Uncertainty.h" -#include "v2.0/unknownNamespace/Fraction.h" +#include "v2.0/containers/Fraction.h" #ifdef __cplusplus #define extern_c extern "C" @@ -274,6 +274,93 @@ SpinFractionSet( ConstHandle2ConstFraction fraction ); +// +++ Has, by label +extern_c int +SpinFractionHasByLabel( + ConstHandle2ConstSpin This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstFraction +SpinFractionGetByLabelConst( + ConstHandle2ConstSpin This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Fraction +SpinFractionGetByLabel( + ConstHandle2Spin This, + const XMLName label +); + +// +++ Set, by label +extern_c void +SpinFractionSetByLabel( + ConstHandle2Spin This, + const XMLName label, + ConstHandle2ConstFraction fraction +); + +// +++ Has, by unit +extern_c int +SpinFractionHasByUnit( + ConstHandle2ConstSpin This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstFraction +SpinFractionGetByUnitConst( + ConstHandle2ConstSpin This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Fraction +SpinFractionGetByUnit( + ConstHandle2Spin This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +SpinFractionSetByUnit( + ConstHandle2Spin This, + const XMLName unit, + ConstHandle2ConstFraction fraction +); + +// +++ Has, by value +extern_c int +SpinFractionHasByValue( + ConstHandle2ConstSpin This, + const Fraction32 value +); + +// --- Get, by value, const +extern_c Handle2ConstFraction +SpinFractionGetByValueConst( + ConstHandle2ConstSpin This, + const Fraction32 value +); + +// +++ Get, by value, non-const +extern_c Handle2Fraction +SpinFractionGetByValue( + ConstHandle2Spin This, + const Fraction32 value +); + +// +++ Set, by value +extern_c void +SpinFractionSetByValue( + ConstHandle2Spin This, + const Fraction32 value, + ConstHandle2ConstFraction fraction +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp b/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp index 93fdca36e..46bbfad0e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h b/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h index abd426fd3..1daf26926 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h +++ b/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_POPS_STANDARD #include "GNDStk.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp index 5a385a994..21fe51386 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp @@ -18,8 +18,8 @@ namespace extract { static auto gridded1d = [](auto &obj) { return &obj.gridded1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPGridded1d = unknownNamespace::Gridded1d; +using CPPXYs1d = containers::XYs1d; +using CPPGridded1d = containers::Gridded1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h index c5e2d3285..aa76f92a1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Gridded1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Gridded1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp index 6d8f498b9..6c7d59e15 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp @@ -18,8 +18,8 @@ namespace extract { static auto gridded1d = [](auto &obj) { return &obj.gridded1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPGridded1d = unknownNamespace::Gridded1d; +using CPPXYs1d = containers::XYs1d; +using CPPGridded1d = containers::Gridded1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h index 89fb8072f..e80c82cbe 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Gridded1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Gridded1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp index 461c86f66..6cf2f3461 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp @@ -19,9 +19,9 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPGridded1d = unknownNamespace::Gridded1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPGridded1d = containers::Gridded1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h index 0f831e54f..8cb69024f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h @@ -32,9 +32,9 @@ #define C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Gridded1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Gridded1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp index 1d54f5867..eb2077950 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp @@ -19,9 +19,9 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPGridded1d = unknownNamespace::Gridded1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPGridded1d = containers::Gridded1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h index c9d09a2df..4249593ab 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h @@ -32,9 +32,9 @@ #define C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Gridded1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Gridded1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp index 57b1f3331..72e396a21 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp @@ -19,7 +19,7 @@ namespace extract { static auto gridded3d = [](auto &obj) { return &obj.gridded3d; }; } -using CPPGridded3d = unknownNamespace::Gridded3d; +using CPPGridded3d = containers::Gridded3d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h b/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h index 5c93a4a47..c5cbaf057 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_PROCESSED_MULTIGROUP3D #include "GNDStk.h" -#include "v2.0/unknownNamespace/Gridded3d.h" +#include "v2.0/containers/Gridded3d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp index 62ae584f8..f200882e9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp @@ -18,7 +18,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = unknownNamespace::Double; +using CPPDouble = containers::Double; // ----------------------------------------------------------------------------- @@ -238,3 +238,138 @@ ExternalRMatrixDoubleSet( detail::setByIndex (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, index_, Double); } + +// Has, by label +int +ExternalRMatrixDoubleHasByLabel( + ConstHandle2ConstExternalRMatrix This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByLabel", + This, extract::Double, meta::label, label); +} + +// Get, by label, const +Handle2ConstDouble +ExternalRMatrixDoubleGetByLabelConst( + ConstHandle2ConstExternalRMatrix This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabelConst", + This, extract::Double, meta::label, label); +} + +// Get, by label, non-const +Handle2Double +ExternalRMatrixDoubleGetByLabel( + ConstHandle2ExternalRMatrix This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByLabel", + This, extract::Double, meta::label, label); +} + +// Set, by label +void +ExternalRMatrixDoubleSetByLabel( + ConstHandle2ExternalRMatrix This, + const XMLName label, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByLabel", + This, extract::Double, meta::label, label, Double); +} + +// Has, by unit +int +ExternalRMatrixDoubleHasByUnit( + ConstHandle2ConstExternalRMatrix This, + const XMLName unit +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByUnit", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, const +Handle2ConstDouble +ExternalRMatrixDoubleGetByUnitConst( + ConstHandle2ConstExternalRMatrix This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnitConst", + This, extract::Double, meta::unit, unit); +} + +// Get, by unit, non-const +Handle2Double +ExternalRMatrixDoubleGetByUnit( + ConstHandle2ExternalRMatrix This, + const XMLName unit +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByUnit", + This, extract::Double, meta::unit, unit); +} + +// Set, by unit +void +ExternalRMatrixDoubleSetByUnit( + ConstHandle2ExternalRMatrix This, + const XMLName unit, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByUnit", + This, extract::Double, meta::unit, unit, Double); +} + +// Has, by value +int +ExternalRMatrixDoubleHasByValue( + ConstHandle2ConstExternalRMatrix This, + const Float64 value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DoubleHasByValue", + This, extract::Double, meta::value, value); +} + +// Get, by value, const +Handle2ConstDouble +ExternalRMatrixDoubleGetByValueConst( + ConstHandle2ConstExternalRMatrix This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValueConst", + This, extract::Double, meta::value, value); +} + +// Get, by value, non-const +Handle2Double +ExternalRMatrixDoubleGetByValue( + ConstHandle2ExternalRMatrix This, + const Float64 value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DoubleGetByValue", + This, extract::Double, meta::value, value); +} + +// Set, by value +void +ExternalRMatrixDoubleSetByValue( + ConstHandle2ExternalRMatrix This, + const Float64 value, + ConstHandle2ConstDouble Double +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DoubleSetByValue", + This, extract::Double, meta::value, value, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h index aacb049af..8d7a9412a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_EXTERNALRMATRIX #include "GNDStk.h" -#include "v2.0/unknownNamespace/Double.h" +#include "v2.0/containers/Double.h" #ifdef __cplusplus #define extern_c extern "C" @@ -186,6 +186,93 @@ ExternalRMatrixDoubleSet( ConstHandle2ConstDouble Double ); +// +++ Has, by label +extern_c int +ExternalRMatrixDoubleHasByLabel( + ConstHandle2ConstExternalRMatrix This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstDouble +ExternalRMatrixDoubleGetByLabelConst( + ConstHandle2ConstExternalRMatrix This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Double +ExternalRMatrixDoubleGetByLabel( + ConstHandle2ExternalRMatrix This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ExternalRMatrixDoubleSetByLabel( + ConstHandle2ExternalRMatrix This, + const XMLName label, + ConstHandle2ConstDouble Double +); + +// +++ Has, by unit +extern_c int +ExternalRMatrixDoubleHasByUnit( + ConstHandle2ConstExternalRMatrix This, + const XMLName unit +); + +// --- Get, by unit, const +extern_c Handle2ConstDouble +ExternalRMatrixDoubleGetByUnitConst( + ConstHandle2ConstExternalRMatrix This, + const XMLName unit +); + +// +++ Get, by unit, non-const +extern_c Handle2Double +ExternalRMatrixDoubleGetByUnit( + ConstHandle2ExternalRMatrix This, + const XMLName unit +); + +// +++ Set, by unit +extern_c void +ExternalRMatrixDoubleSetByUnit( + ConstHandle2ExternalRMatrix This, + const XMLName unit, + ConstHandle2ConstDouble Double +); + +// +++ Has, by value +extern_c int +ExternalRMatrixDoubleHasByValue( + ConstHandle2ConstExternalRMatrix This, + const Float64 value +); + +// --- Get, by value, const +extern_c Handle2ConstDouble +ExternalRMatrixDoubleGetByValueConst( + ConstHandle2ConstExternalRMatrix This, + const Float64 value +); + +// +++ Get, by value, non-const +extern_c Handle2Double +ExternalRMatrixDoubleGetByValue( + ConstHandle2ExternalRMatrix This, + const Float64 value +); + +// +++ Set, by value +extern_c void +ExternalRMatrixDoubleSetByValue( + ConstHandle2ExternalRMatrix This, + const Float64 value, + ConstHandle2ConstDouble Double +); + // ----------------------------------------------------------------------------- // Done diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp index b18798521..3a09d9e4b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp @@ -17,7 +17,7 @@ namespace extract { static auto constant1d = [](auto &obj) { return &obj.constant1d; }; } -using CPPConstant1d = unknownNamespace::Constant1d; +using CPPConstant1d = containers::Constant1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h index e3c141b05..ac4591748 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_HARDSPHERERADIUS #include "GNDStk.h" -#include "v2.0/unknownNamespace/Constant1d.h" +#include "v2.0/containers/Constant1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp index 0810cc957..7c3527b2f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp @@ -19,9 +19,9 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPConstant1d = unknownNamespace::Constant1d; -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPConstant1d = containers::Constant1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h index cb40a402f..d7e6cd1ba 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h @@ -32,9 +32,9 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_LEVELSPACING #include "GNDStk.h" -#include "v2.0/unknownNamespace/Constant1d.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp index 8a10085e8..09e3eb213 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp @@ -17,7 +17,7 @@ namespace extract { static auto table = [](auto &obj) { return &obj.table; }; } -using CPPTable = unknownNamespace::Table; +using CPPTable = containers::Table; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h index 21b145ac2..ec08d79dc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEPARAMETERS #include "GNDStk.h" -#include "v2.0/unknownNamespace/Table.h" +#include "v2.0/containers/Table.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp index 863a321d9..71a906849 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp @@ -27,7 +27,7 @@ namespace extract { using CPPQ = ambiguousNamespace::Q; using CPPScatteringRadius = resonances::ScatteringRadius; using CPPHardSphereRadius = resonances::HardSphereRadius; -using CPPLink = unknownNamespace::Link; +using CPPLink = containers::Link; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h index d56799a4c..fad7872ac 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h @@ -35,7 +35,7 @@ #include "v2.0/ambiguousNamespace/Q.h" #include "v2.0/resonances/ScatteringRadius.h" #include "v2.0/resonances/HardSphereRadius.h" -#include "v2.0/unknownNamespace/Link.h" +#include "v2.0/containers/Link.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp index 24b920c3c..acec77f12 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp @@ -16,9 +16,9 @@ static const std::string CLASSNAME = "ScatteringRadius"; namespace extract { } -using CPPConstant1d = unknownNamespace::Constant1d; -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPConstant1d = containers::Constant1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h index 5353b4adf..35267dd1a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h @@ -32,9 +32,9 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_SCATTERINGRADIUS #include "GNDStk.h" -#include "v2.0/unknownNamespace/Constant1d.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp index 2cab3a618..6094a84d9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp @@ -21,9 +21,9 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPConstant1d = unknownNamespace::Constant1d; -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPConstant1d = containers::Constant1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h index 1780f893f..37746ac01 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h @@ -32,9 +32,9 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_WIDTH #include "GNDStk.h" -#include "v2.0/unknownNamespace/Constant1d.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp index 70adcfdd5..999280ce8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp @@ -18,7 +18,7 @@ namespace extract { static auto XYs2d = [](auto &obj) { return &obj.XYs2d; }; } -using CPPXYs2d = unknownNamespace::XYs2d; +using CPPXYs2d = containers::XYs2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h index 863a44ff9..d7575098f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_STYLES_FLUX #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/containers/XYs2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp index edc0c8f6c..ee9c081fe 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp @@ -21,7 +21,7 @@ namespace extract { static auto documentation = [](auto &obj) { return &obj.documentation; }; } -using CPPGrid = unknownNamespace::Grid; +using CPPGrid = containers::Grid; using CPPDocumentation = documentation::Documentation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h b/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h index 95f110246..1d12d3c56 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_STYLES_GRIDDEDCROSSSECTION #include "GNDStk.h" -#include "v2.0/unknownNamespace/Grid.h" +#include "v2.0/containers/Grid.h" #include "v2.0/documentation/Documentation.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp index b094d4917..15a65b2d6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp @@ -18,7 +18,7 @@ namespace extract { static auto gridded1d = [](auto &obj) { return &obj.gridded1d; }; } -using CPPGridded1d = unknownNamespace::Gridded1d; +using CPPGridded1d = containers::Gridded1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h b/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h index 3dcc1baaf..e5451abcd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_STYLES_INVERSESPEED #include "GNDStk.h" -#include "v2.0/unknownNamespace/Gridded1d.h" +#include "v2.0/containers/Gridded1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp index fa7ead953..4ec87a616 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp @@ -18,7 +18,7 @@ namespace extract { static auto grid = [](auto &obj) { return &obj.grid; }; } -using CPPGrid = unknownNamespace::Grid; +using CPPGrid = containers::Grid; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h index 982ed100c..8f7f7cea8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_STYLES_MULTIGROUP #include "GNDStk.h" -#include "v2.0/unknownNamespace/Grid.h" +#include "v2.0/containers/Grid.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp index 52501b08b..6252a1b6c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp @@ -18,7 +18,7 @@ namespace extract { static auto values = [](auto &obj) { return &obj.values; }; } -using CPPValues = unknownNamespace::Values; +using CPPValues = containers::Values; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h b/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h index 95d545a57..e85f198b4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_STYLES_SIGMAZEROS #include "GNDStk.h" -#include "v2.0/unknownNamespace/Values.h" +#include "v2.0/containers/Values.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp index 11959f92f..5c247b42f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp @@ -16,8 +16,8 @@ static const std::string CLASSNAME = "A"; namespace extract { } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/A.h b/standards/gnds-2.0/try/c/src/v2.0/transport/A.h index 20a6de80c..3d63f0b3c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/A.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/A.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_A #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp index 6e56f262e..d85bebeca 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp @@ -19,7 +19,7 @@ namespace extract { static auto XYs3d = [](auto &obj) { return &obj.XYs3d; }; } -using CPPXYs3d = unknownNamespace::XYs3d; +using CPPXYs3d = containers::XYs3d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h index 9e2d1a125..a55592f7e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs3d.h" +#include "v2.0/containers/XYs3d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp index 713b3f0c5..6de733204 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp @@ -22,8 +22,8 @@ namespace extract { static auto recoil = [](auto &obj) { return &obj.recoil; }; } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; using CPPIsotropic2d = transport::Isotropic2d; using CPPRecoil = transport::Recoil; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h index 7d1868d1d..280453ede 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARTWOBODY #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #include "v2.0/transport/Isotropic2d.h" #include "v2.0/transport/Recoil.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp index 60ba489c3..30b71d6dd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp @@ -19,7 +19,7 @@ namespace extract { static auto forward = [](auto &obj) { return &obj.forward; }; } -using CPPXYs2d = unknownNamespace::XYs2d; +using CPPXYs2d = containers::XYs2d; using CPPIsotropic2d = transport::Isotropic2d; using CPPForward = transport::Forward; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h index c60e849a2..d49278fc9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/containers/XYs2d.h" #include "v2.0/transport/Isotropic2d.h" #include "v2.0/transport/Forward.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp index 1f60a4865..d89335cff 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp @@ -17,14 +17,14 @@ namespace extract { static auto label = [](auto &obj) { return &obj.label; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; using CPPResonancesWithBackground = transport::ResonancesWithBackground; using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; using CPPThermalNeutronScatteringLaw1d = tsl::ThermalNeutronScatteringLaw1d; using CPPReference = transport::Reference; -using CPPGridded1d = unknownNamespace::Gridded1d; -using CPPYs1d = unknownNamespace::Ys1d; +using CPPGridded1d = containers::Gridded1d; +using CPPYs1d = containers::Ys1d; using CPPURR_probabilityTables1d = transport::URR_probabilityTables1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h index 310d73be6..639a5093a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h @@ -32,14 +32,14 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTION #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #include "v2.0/transport/ResonancesWithBackground.h" #include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" #include "v2.0/tsl/ThermalNeutronScatteringLaw1d.h" #include "v2.0/transport/Reference.h" -#include "v2.0/unknownNamespace/Gridded1d.h" -#include "v2.0/unknownNamespace/Ys1d.h" +#include "v2.0/containers/Gridded1d.h" +#include "v2.0/containers/Ys1d.h" #include "v2.0/transport/URR_probabilityTables1d.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp index c3f28f6d4..2388c7be4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp @@ -20,7 +20,7 @@ namespace extract { static auto axes = [](auto &obj) { return &obj.axes; }; } -using CPPAxes = unknownNamespace::Axes; +using CPPAxes = containers::Axes; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h b/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h index 48b47c691..ca65c501e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_DISCRETEGAMMA #include "GNDStk.h" -#include "v2.0/unknownNamespace/Axes.h" +#include "v2.0/containers/Axes.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp index a7b45c25e..4b3d5a2e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp @@ -25,8 +25,8 @@ namespace extract { static auto thermalNeutronScatteringLaw_incoherentInelastic = [](auto &obj) { return &obj.thermalNeutronScatteringLaw_incoherentInelastic; }; } -using CPPRegions3d = unknownNamespace::Regions3d; -using CPPXYs3d = unknownNamespace::XYs3d; +using CPPRegions3d = containers::Regions3d; +using CPPXYs3d = containers::XYs3d; using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; using CPPReference = transport::Reference; using CPPCoherentPhotonScattering = atomic::CoherentPhotonScattering; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h b/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h index 887c70fa5..7b2fa0c91 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION #include "GNDStk.h" -#include "v2.0/unknownNamespace/Regions3d.h" -#include "v2.0/unknownNamespace/XYs3d.h" +#include "v2.0/containers/Regions3d.h" +#include "v2.0/containers/XYs3d.h" #include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" #include "v2.0/transport/Reference.h" #include "v2.0/atomic/CoherentPhotonScattering.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp index 39288ae75..a184cfef0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp @@ -19,7 +19,7 @@ namespace extract { static auto XYs3d = [](auto &obj) { return &obj.XYs3d; }; } -using CPPXYs3d = unknownNamespace::XYs3d; +using CPPXYs3d = containers::XYs3d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h b/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h index e7e4d8b62..8bbc65659 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGYANGULAR #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs3d.h" +#include "v2.0/containers/XYs3d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp index 327e179ee..a5bf288db 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp @@ -27,8 +27,8 @@ namespace extract { static auto MadlandNix = [](auto &obj) { return &obj.MadlandNix; }; } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; using CPPGeneralEvaporation = transport::GeneralEvaporation; using CPPDiscreteGamma = transport::DiscreteGamma; using CPPPrimaryGamma = transport::PrimaryGamma; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h index 9f24f7095..24495e790 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #include "v2.0/transport/GeneralEvaporation.h" #include "v2.0/transport/DiscreteGamma.h" #include "v2.0/transport/PrimaryGamma.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp index a95a2c13b..541d7c114 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp @@ -16,8 +16,8 @@ static const std::string CLASSNAME = "F"; namespace extract { } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/F.h b/standards/gnds-2.0/try/c/src/v2.0/transport/F.h index eb39b3ebd..da4e0ae9d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/F.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/F.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_F #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp index 4086eece3..83db3028c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp @@ -16,8 +16,8 @@ static const std::string CLASSNAME = "FastRegion"; namespace extract { } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h b/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h index 70e74cfae..091371dfb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_FASTREGION #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp index c55c14482..54a9947a9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/G.h b/standards/gnds-2.0/try/c/src/v2.0/transport/G.h index f9217eccd..814d0d28e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/G.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/G.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_G #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp index 4e9e95d2f..9bc95f77f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp @@ -19,7 +19,7 @@ namespace extract { static auto gridded3d = [](auto &obj) { return &obj.gridded3d; }; } -using CPPGridded3d = unknownNamespace::Gridded3d; +using CPPGridded3d = containers::Gridded3d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h index 658df5dc1..897db6b1d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIGROUP3D #include "GNDStk.h" -#include "v2.0/unknownNamespace/Gridded3d.h" +#include "v2.0/containers/Gridded3d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp index d523a7155..d07a0b7ce 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp @@ -16,13 +16,13 @@ static const std::string CLASSNAME = "Multiplicity"; namespace extract { } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPConstant1d = unknownNamespace::Constant1d; -using CPPPolynomial1d = unknownNamespace::Polynomial1d; +using CPPXYs1d = containers::XYs1d; +using CPPConstant1d = containers::Constant1d; +using CPPPolynomial1d = containers::Polynomial1d; using CPPBranching1d = transport::Branching1d; using CPPReference = transport::Reference; -using CPPGridded1d = unknownNamespace::Gridded1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPGridded1d = containers::Gridded1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h index c9a22daaf..351c90d66 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h @@ -32,13 +32,13 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITY #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Constant1d.h" -#include "v2.0/unknownNamespace/Polynomial1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/Polynomial1d.h" #include "v2.0/transport/Branching1d.h" #include "v2.0/transport/Reference.h" -#include "v2.0/unknownNamespace/Gridded1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/Gridded1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp index 1380e40d5..162583460 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp @@ -21,7 +21,7 @@ namespace extract { static auto axes = [](auto &obj) { return &obj.axes; }; } -using CPPAxes = unknownNamespace::Axes; +using CPPAxes = containers::Axes; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h b/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h index 8907dcc86..01df94dca 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_PRIMARYGAMMA #include "GNDStk.h" -#include "v2.0/unknownNamespace/Axes.h" +#include "v2.0/containers/Axes.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp index 3ede49f86..0946c1910 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp @@ -16,8 +16,8 @@ static const std::string CLASSNAME = "R"; namespace extract { } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/R.h b/standards/gnds-2.0/try/c/src/v2.0/transport/R.h index 30fef9cc0..4e189a98e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/R.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/R.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_R #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp index 41eddca40..f28588f2b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp @@ -16,8 +16,8 @@ static const std::string CLASSNAME = "ResolvedRegion"; namespace extract { } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h b/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h index b6336761b..f721711e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_RESOLVEDREGION #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp index 9af58e13e..8172e8ded 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp @@ -18,8 +18,8 @@ namespace extract { static auto regions1d = [](auto &obj) { return &obj.regions1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h index 7ef5afece..f0bedbeac 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_THETA #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp index 870204ea2..19b233e9c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp @@ -17,8 +17,8 @@ namespace extract { static auto label = [](auto &obj) { return &obj.label; }; } -using CPPXYs2d = unknownNamespace::XYs2d; -using CPPRegions2d = unknownNamespace::Regions2d; +using CPPXYs2d = containers::XYs2d; +using CPPRegions2d = containers::Regions2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h b/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h index fdbe3e2ab..6ce1ba95d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs2d.h" -#include "v2.0/unknownNamespace/Regions2d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Regions2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp index 893e7e374..df4c6dddd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp @@ -16,8 +16,8 @@ static const std::string CLASSNAME = "UnresolvedRegion"; namespace extract { } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPRegions1d = unknownNamespace::Regions1d; +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h b/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h index 30df06cca..8f7b7c962 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_UNRESOLVEDREGION #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/Regions1d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp index 5f363019f..23cf9e5e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp @@ -23,8 +23,8 @@ namespace extract { static auto MadlandNix = [](auto &obj) { return &obj.MadlandNix; }; } -using CPPXYs1d = unknownNamespace::XYs1d; -using CPPXYs2d = unknownNamespace::XYs2d; +using CPPXYs1d = containers::XYs1d; +using CPPXYs2d = containers::XYs2d; using CPPEvaporation = transport::Evaporation; using CPPGeneralEvaporation = transport::GeneralEvaporation; using CPPSimpleMaxwellianFission = fissionTransport::SimpleMaxwellianFission; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h b/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h index c2fc65a5a..26591c15a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTED #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" -#include "v2.0/unknownNamespace/XYs2d.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/XYs2d.h" #include "v2.0/transport/Evaporation.h" #include "v2.0/transport/GeneralEvaporation.h" #include "v2.0/fissionTransport/SimpleMaxwellianFission.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp index 548cf7f06..5f67c94e7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp @@ -17,7 +17,7 @@ namespace extract { static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; +using CPPXYs1d = containers::XYs1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h index 40d89adc0..46650f441 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_BRAGGENERGY #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/containers/XYs1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp index 7512cce7b..c83e2ad3b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp @@ -17,7 +17,7 @@ namespace extract { static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; +using CPPXYs1d = containers::XYs1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h index 87ef96ebb..5aaa63746 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_DEBYEWALLERINTEGRAL #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/containers/XYs1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp index f65f8c04f..c5377fafe 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp @@ -17,7 +17,7 @@ namespace extract { static auto gridded3d = [](auto &obj) { return &obj.gridded3d; }; } -using CPPGridded3d = unknownNamespace::Gridded3d; +using CPPGridded3d = containers::Gridded3d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h index e29441a1c..cd3183ab0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL #include "GNDStk.h" -#include "v2.0/unknownNamespace/Gridded3d.h" +#include "v2.0/containers/Gridded3d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp index d14f2dd8e..2031d2358 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp @@ -17,7 +17,7 @@ namespace extract { static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; +using CPPXYs1d = containers::XYs1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h index 8fefd94ba..549bc2019 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_PHONONSPECTRUM #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/containers/XYs1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp index 1a7b41ae9..a2079cd93 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp @@ -17,7 +17,7 @@ namespace extract { static auto gridded2d = [](auto &obj) { return &obj.gridded2d; }; } -using CPPGridded2d = unknownNamespace::Gridded2d; +using CPPGridded2d = containers::Gridded2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h index a8f25b161..74ecfa2ea 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_S_TABLE #include "GNDStk.h" -#include "v2.0/unknownNamespace/Gridded2d.h" +#include "v2.0/containers/Gridded2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp index 0bf5e7c62..87106805f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp @@ -17,7 +17,7 @@ namespace extract { static auto symmetric = [](auto &obj) { return &obj.symmetric; }; } -using CPPGridded3d = unknownNamespace::Gridded3d; +using CPPGridded3d = containers::Gridded3d; using CPPGaussianApproximation = tsl::GaussianApproximation; using CPPSCTApproximation = tsl::SCTApproximation; using CPPFreeGasApproximation = tsl::FreeGasApproximation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h index 7e235eabd..4702dd482 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_SELFSCATTERINGKERNEL #include "GNDStk.h" -#include "v2.0/unknownNamespace/Gridded3d.h" +#include "v2.0/containers/Gridded3d.h" #include "v2.0/tsl/GaussianApproximation.h" #include "v2.0/tsl/SCTApproximation.h" #include "v2.0/tsl/FreeGasApproximation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp index 19a598db2..f4f0bbf8a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp @@ -17,7 +17,7 @@ namespace extract { static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; +using CPPXYs1d = containers::XYs1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h index 55fbfe067..903457a89 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_STRUCTUREFACTOR #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/containers/XYs1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp index d27740cf9..1f29b6bfd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp @@ -17,7 +17,7 @@ namespace extract { static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; } -using CPPXYs1d = unknownNamespace::XYs1d; +using CPPXYs1d = containers::XYs1d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h index 494605db2..3a1b1bd6f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_T_EFFECTIVE #include "GNDStk.h" -#include "v2.0/unknownNamespace/XYs1d.h" +#include "v2.0/containers/XYs1d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp index 1a82894e7..458efb46c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp @@ -36,8 +36,8 @@ void wrapFormFactor(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("regions1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp index dd02d9279..49a262dfc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp @@ -36,8 +36,8 @@ void wrapImaginaryAnomalousFactor(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("regions1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp index 4b131841d..8c387da11 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp @@ -36,8 +36,8 @@ void wrapRealAnomalousFactor(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("regions1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp index e3068e781..5d17a21ed 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp @@ -36,8 +36,8 @@ void wrapScatteringFactor(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("regions1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp index 5ed587288..cba29a688 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp @@ -41,7 +41,7 @@ void wrapEnergy(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::vector & + const std::vector & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp index 689789a5f..5058a7d0e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp @@ -41,7 +41,7 @@ void wrapMass(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::vector & + const std::vector & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp index 04175912d..a58ec753a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp @@ -36,7 +36,7 @@ void wrapProbability(python::module &module) component .def( python::init< - const std::optional & + const std::optional & >(), python::arg("double") = std::nullopt, Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp index 9b2689888..10bed5e04 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp @@ -25,11 +25,11 @@ void wrapQ(python::module &module) // type aliases using Component = common::Q; using _t = std::variant< - unknownNamespace::Constant1d, - unknownNamespace::XYs1d, - unknownNamespace::Regions1d, - unknownNamespace::Polynomial1d, - unknownNamespace::Gridded1d + containers::Constant1d, + containers::XYs1d, + containers::Regions1d, + containers::Polynomial1d, + containers::Gridded1d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp new file mode 100644 index 000000000..12a5f94c3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp @@ -0,0 +1,89 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// containers declarations +namespace python_containers { + void wrapAxis(python::module &); + void wrapValues(python::module &); + void wrapLink(python::module &); + void wrapGrid(python::module &); + void wrapAxes(python::module &); + void wrapXYs1d(python::module &); + void wrapConstant1d(python::module &); + void wrapPolynomial1d(python::module &); + void wrapLegendre(python::module &); + void wrapArray(python::module &); + void wrapGridded1d(python::module &); + void wrapFunction1ds(python::module &); + void wrapRegions1d(python::module &); + void wrapDouble(python::module &); + void wrapXYs2d(python::module &); + void wrapGridded2d(python::module &); + void wrapString(python::module &); + void wrapFunction2ds(python::module &); + void wrapRegions2d(python::module &); + void wrapYs1d(python::module &); + void wrapXYs3d(python::module &); + void wrapGridded3d(python::module &); + void wrapColumn(python::module &); + void wrapColumnHeaders(python::module &); + void wrapData(python::module &); + void wrapTable(python::module &); + void wrapInteger(python::module &); + void wrapFraction(python::module &); + void wrapFunction3ds(python::module &); + void wrapRegions3d(python::module &); +} // namespace python_containers + +// containers wrapper +void wrapContainers(python::module &module) +{ + // create the containers submodule + python::module submodule = module.def_submodule( + "containers", + "try v2.0 containers" + ); + + // wrap containers components + python_containers::wrapAxis(submodule); + python_containers::wrapValues(submodule); + python_containers::wrapLink(submodule); + python_containers::wrapGrid(submodule); + python_containers::wrapAxes(submodule); + python_containers::wrapXYs1d(submodule); + python_containers::wrapConstant1d(submodule); + python_containers::wrapPolynomial1d(submodule); + python_containers::wrapLegendre(submodule); + python_containers::wrapArray(submodule); + python_containers::wrapGridded1d(submodule); + python_containers::wrapFunction1ds(submodule); + python_containers::wrapRegions1d(submodule); + python_containers::wrapDouble(submodule); + python_containers::wrapXYs2d(submodule); + python_containers::wrapGridded2d(submodule); + python_containers::wrapString(submodule); + python_containers::wrapFunction2ds(submodule); + python_containers::wrapRegions2d(submodule); + python_containers::wrapYs1d(submodule); + python_containers::wrapXYs3d(submodule); + python_containers::wrapGridded3d(submodule); + python_containers::wrapColumn(submodule); + python_containers::wrapColumnHeaders(submodule); + python_containers::wrapData(submodule); + python_containers::wrapTable(submodule); + python_containers::wrapInteger(submodule); + python_containers::wrapFraction(submodule); + python_containers::wrapFunction3ds(submodule); + python_containers::wrapRegions3d(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp new file mode 100644 index 000000000..050282df5 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Array.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Array wrapper +void wrapArray(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Array; + + // create the component + python::class_ component( + module, + "Array", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const IntegerTuple &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional> &, + const std::optional> & + >(), + python::arg("shape"), + python::arg("compression") = std::nullopt, + python::arg("symmetry") = std::nullopt, + python::arg("permutation") = std::nullopt, + python::arg("storage_order") = std::nullopt, + python::arg("offset") = std::nullopt, + python::arg("values") = std::nullopt, + python::arg("array") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "shape", + [](const Component &self) { return self.shape(); }, + Component::documentation("shape").data() + ) + .def_property_readonly( + "compression", + [](const Component &self) { return self.compression().value(); }, + Component::documentation("compression").data() + ) + .def_property_readonly( + "symmetry", + [](const Component &self) { return self.symmetry().value(); }, + Component::documentation("symmetry").data() + ) + .def_property_readonly( + "permutation", + [](const Component &self) { return self.permutation().value(); }, + Component::documentation("permutation").data() + ) + .def_property_readonly( + "storage_order", + [](const Component &self) { return self.storageOrder().value(); }, + Component::documentation("storage_order").data() + ) + .def_property_readonly( + "offset", + [](const Component &self) { return self.offset(); }, + Component::documentation("offset").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + .def_property_readonly( + "array", + [](const Component &self) { return self.array(); }, + Component::documentation("array").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Axes.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Axes.python.cpp new file mode 100644 index 000000000..8d632b4f4 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Axes.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Axes.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Axes wrapper +void wrapAxes(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Axes; + + // create the component + python::class_ component( + module, + "Axes", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional> &, + const std::optional> & + >(), + python::arg("href") = std::nullopt, + python::arg("axis") = std::nullopt, + python::arg("grid") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "axis", + [](const Component &self) { return self.axis(); }, + Component::documentation("axis").data() + ) + .def_property_readonly( + "grid", + [](const Component &self) { return self.grid(); }, + Component::documentation("grid").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp new file mode 100644 index 000000000..16eff128a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Axis.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Axis wrapper +void wrapAxis(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Axis; + + // create the component + python::class_ component( + module, + "Axis", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("index") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + [](const Component &self) { return self.index(); }, + Component::documentation("index").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Column.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Column.python.cpp new file mode 100644 index 000000000..d44aa1120 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Column.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Column.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Column wrapper +void wrapColumn(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Column; + + // create the component + python::class_ component( + module, + "Column", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const XMLName &, + const std::optional &, + const std::optional & + >(), + python::arg("index"), + python::arg("name"), + python::arg("unit") = std::nullopt, + python::arg("types") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + [](const Component &self) { return self.index(); }, + Component::documentation("index").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "types", + [](const Component &self) { return self.types(); }, + Component::documentation("types").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/ColumnHeaders.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/ColumnHeaders.python.cpp new file mode 100644 index 000000000..990f01856 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/ColumnHeaders.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/ColumnHeaders.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// ColumnHeaders wrapper +void wrapColumnHeaders(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::ColumnHeaders; + + // create the component + python::class_ component( + module, + "ColumnHeaders", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("column"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "column", + [](const Component &self) { return self.column(); }, + Component::documentation("column").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp new file mode 100644 index 000000000..61c461b4a --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Constant1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Constant1d wrapper +void wrapConstant1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Constant1d; + + // create the component + python::class_ component( + module, + "Constant1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Axes & + >(), + python::arg("value") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("domain_max") = std::nullopt, + python::arg("axes"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Data.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Data.python.cpp new file mode 100644 index 000000000..2251cf217 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Data.python.cpp @@ -0,0 +1,92 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Data.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Data wrapper +void wrapData(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Data; + + // create the component + python::class_ component( + module, + "Data", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("sep") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "sep", + [](const Component &self) { return self.sep().value(); }, + Component::documentation("sep").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp new file mode 100644 index 000000000..cbe39ed6b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Double.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Double wrapper +void wrapDouble(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Double; + + // create the component + python::class_ component( + module, + "Double", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const Float64 & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Fraction.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Fraction.python.cpp new file mode 100644 index 000000000..c3ec55eb6 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Fraction.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Fraction.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Fraction wrapper +void wrapFraction(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Fraction; + + // create the component + python::class_ component( + module, + "Fraction", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const Fraction32 & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Function1ds.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Function1ds.python.cpp new file mode 100644 index 000000000..dc6a2ff18 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Function1ds.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Function1ds.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Function1ds wrapper +void wrapFunction1ds(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Function1ds; + using _t = std::variant< + containers::XYs1d, + containers::Constant1d, + containers::Polynomial1d, + containers::Legendre, + containers::Gridded1d + >; + + // create the component + python::class_ component( + module, + "Function1ds", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector<_t> & + >(), + python::arg("_xys1dconstant1dpolynomial1d_legendregridded1d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "_xys1dconstant1dpolynomial1d_legendregridded1d", + [](const Component &self) { return self._XYs1dconstant1dpolynomial1dLegendregridded1d(); }, + Component::documentation("_xys1dconstant1dpolynomial1d_legendregridded1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Function2ds.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Function2ds.python.cpp new file mode 100644 index 000000000..b203e2a44 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Function2ds.python.cpp @@ -0,0 +1,60 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Function2ds.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Function2ds wrapper +void wrapFunction2ds(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Function2ds; + using _t = std::variant< + containers::XYs2d, + containers::Gridded2d + >; + + // create the component + python::class_ component( + module, + "Function2ds", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector<_t> & + >(), + python::arg("_xys2dgridded2d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "_xys2dgridded2d", + [](const Component &self) { return self._XYs2dgridded2d(); }, + Component::documentation("_xys2dgridded2d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Function3ds.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Function3ds.python.cpp new file mode 100644 index 000000000..846fea2cc --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Function3ds.python.cpp @@ -0,0 +1,60 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Function3ds.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Function3ds wrapper +void wrapFunction3ds(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Function3ds; + using _t = std::variant< + containers::XYs3d, + containers::Gridded3d + >; + + // create the component + python::class_ component( + module, + "Function3ds", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector<_t> & + >(), + python::arg("_xys3dgridded3d"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "_xys3dgridded3d", + [](const Component &self) { return self._XYs3dgridded3d(); }, + Component::documentation("_xys3dgridded3d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Grid.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Grid.python.cpp new file mode 100644 index 000000000..923c9eb3c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Grid.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Grid.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Grid wrapper +void wrapGrid(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Grid; + using _t = std::variant< + containers::Values, + containers::Link + >; + + // create the component + python::class_ component( + module, + "Grid", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const _t & + >(), + python::arg("index") = std::nullopt, + python::arg("interpolation") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("style") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("_valueslink"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + [](const Component &self) { return self.index(); }, + Component::documentation("index").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "style", + [](const Component &self) { return self.style(); }, + Component::documentation("style").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + .def_property_readonly( + "link", + [](const Component &self) { return self.link(); }, + Component::documentation("link").data() + ) + .def_property_readonly( + "_valueslink", + [](const Component &self) { return self._valueslink(); }, + Component::documentation("_valueslink").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded1d.python.cpp new file mode 100644 index 000000000..def4f526d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded1d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Gridded1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Gridded1d wrapper +void wrapGridded1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Gridded1d; + + // create the component + python::class_ component( + module, + "Gridded1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const containers::Array &, + const containers::Axes & + >(), + python::arg("label") = std::nullopt, + python::arg("array"), + python::arg("axes"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "array", + [](const Component &self) { return self.array(); }, + Component::documentation("array").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded2d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded2d.python.cpp new file mode 100644 index 000000000..424ab1341 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded2d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Gridded2d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Gridded2d wrapper +void wrapGridded2d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Gridded2d; + + // create the component + python::class_ component( + module, + "Gridded2d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const containers::Array &, + const containers::Axes & + >(), + python::arg("label") = std::nullopt, + python::arg("array"), + python::arg("axes"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "array", + [](const Component &self) { return self.array(); }, + Component::documentation("array").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded3d.python.cpp new file mode 100644 index 000000000..fb30f640f --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded3d.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Gridded3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Gridded3d wrapper +void wrapGridded3d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Gridded3d; + + // create the component + python::class_ component( + module, + "Gridded3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const containers::Array &, + const containers::Axes & + >(), + python::arg("label") = std::nullopt, + python::arg("array"), + python::arg("axes"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "array", + [](const Component &self) { return self.array(); }, + Component::documentation("array").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Integer.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Integer.python.cpp new file mode 100644 index 000000000..0bc4dae05 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Integer.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Integer.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Integer wrapper +void wrapInteger(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Integer; + + // create the component + python::class_ component( + module, + "Integer", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const Integer32 & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Legendre.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Legendre.python.cpp new file mode 100644 index 000000000..3711b2655 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Legendre.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Legendre.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Legendre wrapper +void wrapLegendre(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Legendre; + + // create the component + python::class_ component( + module, + "Legendre", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Values & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("lower_index") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("domain_max") = std::nullopt, + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "lower_index", + [](const Component &self) { return self.lowerIndex().value(); }, + Component::documentation("lower_index").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin().value(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax().value(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp new file mode 100644 index 000000000..1a92dff9c --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Link.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Link wrapper +void wrapLink(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Link; + + // create the component + python::class_ component( + module, + "Link", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional & + >(), + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp new file mode 100644 index 000000000..ae56cb5d3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp @@ -0,0 +1,98 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Polynomial1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Polynomial1d wrapper +void wrapPolynomial1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Polynomial1d; + + // create the component + python::class_ component( + module, + "Polynomial1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Axes &, + const containers::Values & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("lower_index") = std::nullopt, + python::arg("domain_min") = std::nullopt, + python::arg("domain_max") = std::nullopt, + python::arg("axes"), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "lower_index", + [](const Component &self) { return self.lowerIndex().value(); }, + Component::documentation("lower_index").data() + ) + .def_property_readonly( + "domain_min", + [](const Component &self) { return self.domainMin(); }, + Component::documentation("domain_min").data() + ) + .def_property_readonly( + "domain_max", + [](const Component &self) { return self.domainMax(); }, + Component::documentation("domain_max").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp new file mode 100644 index 000000000..608d278b7 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Regions1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Regions1d wrapper +void wrapRegions1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Regions1d; + + // create the component + python::class_ component( + module, + "Regions1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function1ds & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function1ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "function1ds", + [](const Component &self) { return self.function1ds(); }, + Component::documentation("function1ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp new file mode 100644 index 000000000..8c3494866 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Regions2d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Regions2d wrapper +void wrapRegions2d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Regions2d; + + // create the component + python::class_ component( + module, + "Regions2d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function2ds & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function2ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "function2ds", + [](const Component &self) { return self.function2ds(); }, + Component::documentation("function2ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp new file mode 100644 index 000000000..a6a11db08 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Regions3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Regions3d wrapper +void wrapRegions3d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Regions3d; + + // create the component + python::class_ component( + module, + "Regions3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function3ds & + >(), + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function3ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "function3ds", + [](const Component &self) { return self.function3ds(); }, + Component::documentation("function3ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/String.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/String.python.cpp new file mode 100644 index 000000000..736f8ecb9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/String.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/String.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// String wrapper +void wrapString(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::String; + + // create the component + python::class_ component( + module, + "String", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const XMLName & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Table.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Table.python.cpp new file mode 100644 index 000000000..f40ea19e2 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Table.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Table.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Table wrapper +void wrapTable(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Table; + + // create the component + python::class_ component( + module, + "Table", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Integer32 &, + const Integer32 &, + const std::optional &, + const containers::ColumnHeaders &, + const containers::Data & + >(), + python::arg("columns"), + python::arg("rows"), + python::arg("storage_order") = std::nullopt, + python::arg("column_headers"), + python::arg("data"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "columns", + [](const Component &self) { return self.columns(); }, + Component::documentation("columns").data() + ) + .def_property_readonly( + "rows", + [](const Component &self) { return self.rows(); }, + Component::documentation("rows").data() + ) + .def_property_readonly( + "storage_order", + [](const Component &self) { return self.storageOrder().value(); }, + Component::documentation("storage_order").data() + ) + .def_property_readonly( + "column_headers", + [](const Component &self) { return self.columnHeaders(); }, + Component::documentation("column_headers").data() + ) + .def_property_readonly( + "data", + [](const Component &self) { return self.data(); }, + Component::documentation("data").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Values.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Values.python.cpp new file mode 100644 index 000000000..850f56ac3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Values.python.cpp @@ -0,0 +1,127 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Values.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Values wrapper +void wrapValues(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Values; + + // create the component + python::class_ component( + module, + "Values", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("value_type") = std::nullopt, + python::arg("start") = std::nullopt, + python::arg("length") = std::nullopt, + python::arg("href") = std::nullopt, + python::arg("start_index") = std::nullopt, + python::arg("count") = std::nullopt, + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "value_type", + [](const Component &self) { return self.valueType().value(); }, + Component::documentation("value_type").data() + ) + .def_property_readonly( + "start", + [](const Component &self) { return self.start().value(); }, + Component::documentation("start").data() + ) + .def_property_readonly( + "length", + [](const Component &self) { return self.length(); }, + Component::documentation("length").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + .def_property_readonly( + "start_index", + [](const Component &self) { return self.startIndex(); }, + Component::documentation("start_index").data() + ) + .def_property_readonly( + "count", + [](const Component &self) { return self.count(); }, + Component::documentation("count").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp new file mode 100644 index 000000000..11375d1c7 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/XYs1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// XYs1d wrapper +void wrapXYs1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::XYs1d; + + // create the component + python::class_ component( + module, + "XYs1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Values & + >(), + python::arg("index") = std::nullopt, + python::arg("interpolation") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + [](const Component &self) { return self.index(); }, + Component::documentation("index").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp new file mode 100644 index 000000000..bb1af3f86 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp @@ -0,0 +1,91 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/XYs2d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// XYs2d wrapper +void wrapXYs2d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::XYs2d; + + // create the component + python::class_ component( + module, + "XYs2d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function1ds & + >(), + python::arg("index") = std::nullopt, + python::arg("interpolation") = std::nullopt, + python::arg("interpolation_qualifier") = std::nullopt, + python::arg("outer_domain_value") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function1ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "index", + [](const Component &self) { return self.index(); }, + Component::documentation("index").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "interpolation_qualifier", + [](const Component &self) { return self.interpolationQualifier(); }, + Component::documentation("interpolation_qualifier").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "function1ds", + [](const Component &self) { return self.function1ds(); }, + Component::documentation("function1ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp new file mode 100644 index 000000000..a20099769 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/XYs3d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// XYs3d wrapper +void wrapXYs3d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::XYs3d; + + // create the component + python::class_ component( + module, + "XYs3d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const containers::Function2ds & + >(), + python::arg("interpolation") = std::nullopt, + python::arg("interpolation_qualifier") = std::nullopt, + python::arg("axes") = std::nullopt, + python::arg("function2ds"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "interpolation_qualifier", + [](const Component &self) { return self.interpolationQualifier(); }, + Component::documentation("interpolation_qualifier").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "function2ds", + [](const Component &self) { return self.function2ds(); }, + Component::documentation("function2ds").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Ys1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Ys1d.python.cpp new file mode 100644 index 000000000..57d49c02d --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Ys1d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Ys1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Ys1d wrapper +void wrapYs1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Ys1d; + + // create the component + python::class_ component( + module, + "Ys1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const containers::Axes &, + const containers::Values & + >(), + python::arg("interpolation") = std::nullopt, + python::arg("label") = std::nullopt, + python::arg("axes"), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "interpolation", + [](const Component &self) { return self.interpolation().value(); }, + Component::documentation("interpolation").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "axes", + [](const Component &self) { return self.axes(); }, + Component::documentation("axes").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp index 7f7a39283..648699c3c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp @@ -36,7 +36,7 @@ void wrapColumnSensitivity(python::module &module) component .def( python::init< - const unknownNamespace::Array & + const containers::Array & >(), python::arg("array"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp index da9de1a75..35ea77114 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp @@ -36,7 +36,7 @@ void wrapCovariance(python::module &module) component .def( python::init< - const unknownNamespace::Array & + const containers::Array & >(), python::arg("array"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp index 21998be54..e459535f2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp @@ -25,7 +25,7 @@ void wrapCovarianceMatrix(python::module &module) // type aliases using Component = covariance::CovarianceMatrix; using _t = std::variant< - unknownNamespace::Gridded2d, + containers::Gridded2d, covariance::SandwichProduct >; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp index 44eca571f..fc108fe23 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp @@ -39,7 +39,7 @@ void wrapParameterCovarianceMatrix(python::module &module) const XMLName &, const std::optional &, const covariance::Parameters &, - const unknownNamespace::Array & + const containers::Array & >(), python::arg("label"), python::arg("type") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp index ce3726435..a0d6c9043 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp @@ -36,7 +36,7 @@ void wrapRowSensitivity(python::module &module) component .def( python::init< - const unknownNamespace::Array & + const containers::Array & >(), python::arg("array"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp index ad6a7861e..8c0680778 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp @@ -36,7 +36,7 @@ void wrapSandwichProduct(python::module &module) component .def( python::init< - const unknownNamespace::Axes &, + const containers::Axes &, const covariance::Covariance &, const covariance::RowSensitivity &, const std::optional & diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp index 69e1936bf..334eb60f5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp @@ -39,7 +39,7 @@ void wrapShortRangeSelfScalingVariance(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional & + const std::optional & >(), python::arg("dependence_on_processed_group_width") = std::nullopt, python::arg("label") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp index a759b8a7c..1fe96dbbd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp @@ -36,8 +36,8 @@ void wrapImaginaryInterferenceTerm(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys2d") = std::nullopt, python::arg("regions2d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp index 7b1e2225b..9652cdf91 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp @@ -36,8 +36,8 @@ void wrapNuclearTerm(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys2d") = std::nullopt, python::arg("regions2d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp index 3c782133a..b32c57c7e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp @@ -36,8 +36,8 @@ void wrapRealInterferenceTerm(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys2d") = std::nullopt, python::arg("regions2d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp index e823ae0c3..4605aa4e6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp @@ -36,7 +36,7 @@ void wrapRate(python::module &module) component .def( python::init< - const unknownNamespace::Double & + const containers::Double & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp index a6781b37f..75bb5f396 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp @@ -36,7 +36,7 @@ void wrapDelayedBetaEnergy(python::module &module) component .def( python::init< - const std::optional & + const std::optional & >(), python::arg("polynomial1d") = std::nullopt, Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp index 650b6a03d..53e3536b2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp @@ -36,7 +36,7 @@ void wrapDelayedGammaEnergy(python::module &module) component .def( python::init< - const std::optional & + const std::optional & >(), python::arg("polynomial1d") = std::nullopt, Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp index 631af59fc..1d37f6e8a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp @@ -36,8 +36,8 @@ void wrapDelayedNeutronKE(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("polynomial1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp index f6d9196a7..79fb4b1b7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp @@ -36,7 +36,7 @@ void wrapNeutrinoEnergy(python::module &module) component .def( python::init< - const std::optional & + const std::optional & >(), python::arg("polynomial1d") = std::nullopt, Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp index ee729053c..4203958da 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp @@ -36,7 +36,7 @@ void wrapNonNeutrinoEnergy(python::module &module) component .def( python::init< - const std::optional & + const std::optional & >(), python::arg("polynomial1d") = std::nullopt, Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp index f29602930..991203ab2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp @@ -36,8 +36,8 @@ void wrapPromptGammaEnergy(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("polynomial1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp index 5b9ec278b..bc2a9824d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp @@ -36,8 +36,8 @@ void wrapPromptNeutronKE(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("polynomial1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp index 2a5dc4ae8..3e888ca26 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp @@ -36,8 +36,8 @@ void wrapPromptProductKE(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("polynomial1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp index 7c0df00d0..4259dbff4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp @@ -36,7 +36,7 @@ void wrapT_M(python::module &module) component .def( python::init< - const unknownNamespace::XYs1d & + const containers::XYs1d & >(), python::arg("xys1d"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp index 5bdecd3ba..3c363ec40 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp @@ -36,7 +36,7 @@ void wrapTotalEnergy(python::module &module) component .def( python::init< - const std::optional & + const std::optional & >(), python::arg("polynomial1d") = std::nullopt, Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp index e43234800..191704e59 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp @@ -36,7 +36,7 @@ void wrapEnergy(python::module &module) component .def( python::init< - const unknownNamespace::Double & + const containers::Double & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp index a0912b746..3fa2d80cf 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp @@ -25,8 +25,8 @@ void wrapTime(python::module &module) // type aliases using Component = fpy::Time; using _t = std::variant< - unknownNamespace::Double, - unknownNamespace::String + containers::Double, + containers::String >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp index aab0bb9d1..f60040292 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp @@ -37,7 +37,7 @@ void wrapYields(python::module &module) .def( python::init< const fpy::Nuclides &, - const unknownNamespace::Values &, + const containers::Values &, const std::optional & >(), python::arg("nuclides"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp index 40413e435..20b9a6f3e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp @@ -41,7 +41,7 @@ void wrapBindingEnergy(python::module &module) const XMLName &, const std::optional &, const std::optional &, - const std::optional> & + const std::optional> & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp index 5c9f8a8d3..f3257dd2e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp @@ -25,8 +25,8 @@ void wrapCharge(python::module &module) // type aliases using Component = pops::Charge; using _t = std::variant< - unknownNamespace::Integer, - unknownNamespace::Fraction + containers::Integer, + containers::Fraction >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp index 52aba3981..80d0167b7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp @@ -36,7 +36,7 @@ void wrapContinuum(python::module &module) component .def( python::init< - const std::optional & + const std::optional & >(), python::arg("xys1d") = std::nullopt, Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp index 3bc23aafd..1d837671d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp @@ -41,7 +41,7 @@ void wrapEnergy(python::module &module) const XMLName &, const std::optional &, const std::optional &, - const std::optional> & + const std::optional> & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp index cbef31653..86d1d1908 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp @@ -25,8 +25,8 @@ void wrapHalflife(python::module &module) // type aliases using Component = pops::Halflife; using _t = std::variant< - unknownNamespace::String, - unknownNamespace::Double + containers::String, + containers::Double >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp index 863193a50..0bfb10557 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp @@ -36,7 +36,7 @@ void wrapLogNormal(python::module &module) component .def( python::init< - const unknownNamespace::Double & + const containers::Double & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp index dc43f1367..14f54a301 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp @@ -41,7 +41,7 @@ void wrapMass(python::module &module) const XMLName &, const std::optional &, const std::optional &, - const std::optional & + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp index 83832635d..49ec11d80 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp @@ -41,7 +41,7 @@ void wrapParity(python::module &module) const XMLName &, const std::optional &, const std::optional &, - const std::optional> & + const std::optional> & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp index 107fe5d24..da96eae7e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp @@ -36,8 +36,8 @@ void wrapPdf(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("regions1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp index b7ce1febb..f08087bf5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp @@ -36,7 +36,7 @@ void wrapProbability(python::module &module) component .def( python::init< - const std::vector & + const std::vector & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp index fb3917960..d75f00b49 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp @@ -41,7 +41,7 @@ void wrapQ(python::module &module) const XMLName &, const std::optional &, const std::optional &, - const std::vector & + const std::vector & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp index 9647696eb..b3db5d656 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp @@ -41,7 +41,7 @@ void wrapSpin(python::module &module) const XMLName &, const std::optional &, const std::optional &, - const std::optional> & + const std::optional> & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp index 8bc11c6d4..c2f9b2a85 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp @@ -36,7 +36,7 @@ void wrapStandard(python::module &module) component .def( python::init< - const unknownNamespace::Double & + const containers::Double & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp index 6086edb91..3fc646e44 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp @@ -36,8 +36,8 @@ void wrapAvailableEnergy(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("gridded1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp index 53ec22c34..56c8a2f7c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp @@ -36,8 +36,8 @@ void wrapAvailableMomentum(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("gridded1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp index f9189de0d..3055b996c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp @@ -36,9 +36,9 @@ void wrapAverageProductEnergy(python::module &module) component .def( python::init< - const unknownNamespace::XYs1d &, - const std::optional &, - const std::optional & + const containers::XYs1d &, + const std::optional &, + const std::optional & >(), python::arg("xys1d"), python::arg("gridded1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp index 323a64d26..87e335660 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp @@ -36,9 +36,9 @@ void wrapAverageProductMomentum(python::module &module) component .def( python::init< - const std::optional &, - const std::optional &, - const std::optional & + const std::optional &, + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("gridded1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp index 05567acc5..e2b360ccd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp @@ -38,7 +38,7 @@ void wrapMultiGroup3d(python::module &module) python::init< const XMLName &, const XMLName &, - const unknownNamespace::Gridded3d & + const containers::Gridded3d & >(), python::arg("label"), python::arg("product_frame"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp index 758ea064d..0c65d71a7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp @@ -37,7 +37,7 @@ void wrapExternalRMatrix(python::module &module) .def( python::init< const std::optional &, - const std::vector & + const std::vector & >(), python::arg("type") = std::nullopt, python::arg("double"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp index ca08f2b6e..3f38a84ed 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp @@ -36,7 +36,7 @@ void wrapHardSphereRadius(python::module &module) component .def( python::init< - const unknownNamespace::Constant1d & + const containers::Constant1d & >(), python::arg("constant1d"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp index e3fd04807..56496488e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp @@ -36,9 +36,9 @@ void wrapLevelSpacing(python::module &module) component .def( python::init< - const std::optional &, - const std::optional &, - const std::optional & + const std::optional &, + const std::optional &, + const std::optional & >(), python::arg("constant1d") = std::nullopt, python::arg("xys1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp index e9382de23..6bc5166b6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp @@ -36,7 +36,7 @@ void wrapResonanceParameters(python::module &module) component .def( python::init< - const unknownNamespace::Table & + const containers::Table & >(), python::arg("table"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp index 79e6fa1d9..98d49a224 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp @@ -43,7 +43,7 @@ void wrapResonanceReaction(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const unknownNamespace::Link & + const containers::Link & >(), python::arg("label"), python::arg("ejectile"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp index ef4367952..573cf86aa 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp @@ -25,9 +25,9 @@ void wrapScatteringRadius(python::module &module) // type aliases using Component = resonances::ScatteringRadius; using _t = std::variant< - unknownNamespace::Constant1d, - unknownNamespace::XYs1d, - unknownNamespace::Regions1d + containers::Constant1d, + containers::XYs1d, + containers::Regions1d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp index cdf328748..b50afca50 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp @@ -38,9 +38,9 @@ void wrapWidth(python::module &module) python::init< const std::string &, const Float64 &, - const std::optional &, - const std::optional &, - const std::optional & + const std::optional &, + const std::optional &, + const std::optional & >(), python::arg("resonance_reaction"), python::arg("degrees_of_freedom"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp index 2d7e5b66d..7acd428cf 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp @@ -37,7 +37,7 @@ void wrapFlux(python::module &module) .def( python::init< const XMLName &, - const unknownNamespace::XYs2d & + const containers::XYs2d & >(), python::arg("label"), python::arg("xys2d"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp index 5b65f4958..c920df091 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp @@ -39,7 +39,7 @@ void wrapGriddedCrossSection(python::module &module) const std::string &, const XMLName &, const XMLName &, - const unknownNamespace::Grid &, + const containers::Grid &, const std::optional & >(), python::arg("date"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp index 82d0a2355..172402c8d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp @@ -37,7 +37,7 @@ void wrapInverseSpeed(python::module &module) .def( python::init< const std::optional &, - const unknownNamespace::Gridded1d & + const containers::Gridded1d & >(), python::arg("label") = std::nullopt, python::arg("gridded1d"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp index d7941cabb..34fd9fc8d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp @@ -37,7 +37,7 @@ void wrapMultiGroup(python::module &module) .def( python::init< const XMLName &, - const unknownNamespace::Grid & + const containers::Grid & >(), python::arg("label"), python::arg("grid"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp index 90b106f22..7948e694c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp @@ -37,7 +37,7 @@ void wrapSigmaZeros(python::module &module) .def( python::init< const std::optional &, - const unknownNamespace::Values & + const containers::Values & >(), python::arg("label") = std::nullopt, python::arg("values"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp index fdafadee9..707f9bc7f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp @@ -25,8 +25,8 @@ void wrapA(python::module &module) // type aliases using Component = transport::A; using _t = std::variant< - unknownNamespace::XYs2d, - unknownNamespace::Regions2d + containers::XYs2d, + containers::Regions2d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp index 94fb7ceba..12eb1faf0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp @@ -38,7 +38,7 @@ void wrapAngularEnergy(python::module &module) python::init< const XMLName &, const XMLName &, - const unknownNamespace::XYs3d & + const containers::XYs3d & >(), python::arg("label"), python::arg("product_frame"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp index f3357e51c..8997a9c81 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp @@ -38,8 +38,8 @@ void wrapAngularTwoBody(python::module &module) python::init< const std::optional &, const XMLName &, - const std::optional &, - const std::optional &, + const std::optional &, + const std::optional &, const std::optional &, const std::optional & >(), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp index e08db4aed..f799856a6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp @@ -36,7 +36,7 @@ void wrapAngular_uncorrelated(python::module &module) component .def( python::init< - const std::optional &, + const std::optional &, const std::optional &, const std::optional & >(), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp index 481a0f0c9..fa86d3d03 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp @@ -25,14 +25,14 @@ void wrapCrossSection(python::module &module) // type aliases using Component = transport::CrossSection; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Regions1d, + containers::XYs1d, + containers::Regions1d, transport::ResonancesWithBackground, cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw1d, transport::Reference, - unknownNamespace::Gridded1d, - unknownNamespace::Ys1d, + containers::Gridded1d, + containers::Ys1d, transport::URR_probabilityTables1d >; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp index c86a33954..e7cfdabb9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp @@ -39,7 +39,7 @@ void wrapDiscreteGamma(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional & + const std::optional & >(), python::arg("domain_max") = std::nullopt, python::arg("domain_min") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp index 2471fa7a2..ba82a8286 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp @@ -36,8 +36,8 @@ void wrapDoubleDifferentialCrossSection(python::module &module) component .def( python::init< - const std::optional &, - const std::optional &, + const std::optional &, + const std::optional &, const std::optional &, const std::optional &, const std::optional &, diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp index 2743e3db7..a1b559ef9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp @@ -38,7 +38,7 @@ void wrapEnergyAngular(python::module &module) python::init< const std::optional &, const XMLName &, - const unknownNamespace::XYs3d & + const containers::XYs3d & >(), python::arg("label") = std::nullopt, python::arg("product_frame"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp index ac3f66613..db5ca0844 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp @@ -36,8 +36,8 @@ void wrapEnergy_uncorrelated(python::module &module) component .def( python::init< - const std::optional &, - const std::optional &, + const std::optional &, + const std::optional &, const std::optional &, const std::optional &, const std::optional &, diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp index 41ddaf827..a0037cae7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp @@ -25,8 +25,8 @@ void wrapF(python::module &module) // type aliases using Component = transport::F; using _t = std::variant< - unknownNamespace::XYs2d, - unknownNamespace::Regions2d + containers::XYs2d, + containers::Regions2d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp index 5fae41996..c1b170127 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp @@ -25,8 +25,8 @@ void wrapFastRegion(python::module &module) // type aliases using Component = transport::FastRegion; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Regions1d + containers::XYs1d, + containers::Regions1d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp index 43a3fa576..1f86a0f6f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp @@ -36,8 +36,8 @@ void wrapG(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("regions1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp index fa659f806..9df16eede 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp @@ -38,7 +38,7 @@ void wrapMultiGroup3d(python::module &module) python::init< const XMLName &, const XMLName &, - const unknownNamespace::Gridded3d & + const containers::Gridded3d & >(), python::arg("label"), python::arg("product_frame"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp index 32d95cc14..4614e1bca 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp @@ -25,13 +25,13 @@ void wrapMultiplicity(python::module &module) // type aliases using Component = transport::Multiplicity; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Constant1d, - unknownNamespace::Polynomial1d, + containers::XYs1d, + containers::Constant1d, + containers::Polynomial1d, transport::Branching1d, transport::Reference, - unknownNamespace::Gridded1d, - unknownNamespace::Regions1d + containers::Gridded1d, + containers::Regions1d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp index bda6dacde..47e155818 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp @@ -40,7 +40,7 @@ void wrapPrimaryGamma(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional & + const std::optional & >(), python::arg("domain_max") = std::nullopt, python::arg("domain_min") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp index ff82dcbfb..ec67b9e7a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp @@ -25,8 +25,8 @@ void wrapR(python::module &module) // type aliases using Component = transport::R; using _t = std::variant< - unknownNamespace::XYs2d, - unknownNamespace::Regions2d + containers::XYs2d, + containers::Regions2d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp index 801ee3556..fa09d615a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp @@ -25,8 +25,8 @@ void wrapResolvedRegion(python::module &module) // type aliases using Component = transport::ResolvedRegion; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Regions1d + containers::XYs1d, + containers::Regions1d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp index a73d51ac4..b248c6db4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp @@ -36,8 +36,8 @@ void wrapTheta(python::module &module) component .def( python::init< - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("xys1d") = std::nullopt, python::arg("regions1d") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp index 831ffa551..98dfe0896 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp @@ -25,8 +25,8 @@ void wrapURR_probabilityTables1d(python::module &module) // type aliases using Component = transport::URR_probabilityTables1d; using _t = std::variant< - unknownNamespace::XYs2d, - unknownNamespace::Regions2d + containers::XYs2d, + containers::Regions2d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp index c2fd27399..22b627ea0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp @@ -25,8 +25,8 @@ void wrapUnresolvedRegion(python::module &module) // type aliases using Component = transport::UnresolvedRegion; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Regions1d + containers::XYs1d, + containers::Regions1d >; // create the component diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp index ede54a9d0..72d4afe7b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp @@ -36,8 +36,8 @@ void wrapWeighted(python::module &module) component .def( python::init< - const unknownNamespace::XYs1d &, - const std::optional &, + const containers::XYs1d &, + const std::optional &, const std::optional &, const std::optional &, const std::optional &, diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp index 9027564b1..24b90a973 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp @@ -36,7 +36,7 @@ void wrapBraggEnergy(python::module &module) component .def( python::init< - const unknownNamespace::XYs1d & + const containers::XYs1d & >(), python::arg("xys1d"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp index 40c3634e6..a6f7948e6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp @@ -36,7 +36,7 @@ void wrapDebyeWallerIntegral(python::module &module) component .def( python::init< - const unknownNamespace::XYs1d & + const containers::XYs1d & >(), python::arg("xys1d"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp index d90869fe8..624b3cc1d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp @@ -36,7 +36,7 @@ void wrapDistinctScatteringKernel(python::module &module) component .def( python::init< - const std::optional & + const std::optional & >(), python::arg("gridded3d") = std::nullopt, Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp index 0a012d72a..28fda7dc2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp @@ -36,7 +36,7 @@ void wrapPhononSpectrum(python::module &module) component .def( python::init< - const unknownNamespace::XYs1d & + const containers::XYs1d & >(), python::arg("xys1d"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp index d6d29e830..6eae825d0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp @@ -36,7 +36,7 @@ void wrapS_table(python::module &module) component .def( python::init< - const unknownNamespace::Gridded2d & + const containers::Gridded2d & >(), python::arg("gridded2d"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp index 933bcd049..f3d25cc15 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp @@ -25,7 +25,7 @@ void wrapSelfScatteringKernel(python::module &module) // type aliases using Component = tsl::SelfScatteringKernel; using _t = std::variant< - unknownNamespace::Gridded3d, + containers::Gridded3d, tsl::GaussianApproximation, tsl::SCTApproximation, tsl::FreeGasApproximation diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp index bef84aba2..89b9ba23f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp @@ -36,7 +36,7 @@ void wrapStructureFactor(python::module &module) component .def( python::init< - const unknownNamespace::XYs1d & + const containers::XYs1d & >(), python::arg("xys1d"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp index 86387c1b5..daa4186ae 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp @@ -36,7 +36,7 @@ void wrapT_effective(python::module &module) component .def( python::init< - const unknownNamespace::XYs1d & + const containers::XYs1d & >(), python::arg("xys1d"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/src/try/v2.0.hpp b/standards/gnds-2.0/try/src/try/v2.0.hpp index 967b12ea7..07f67a829 100644 --- a/standards/gnds-2.0/try/src/try/v2.0.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0.hpp @@ -341,4 +341,35 @@ #include "try/v2.0/documentation/Bibitem.hpp" #include "try/v2.0/documentation/EndfCompatible.hpp" +#include "try/v2.0/containers/Double.hpp" +#include "try/v2.0/containers/Integer.hpp" +#include "try/v2.0/containers/Fraction.hpp" +#include "try/v2.0/containers/String.hpp" +#include "try/v2.0/containers/Link.hpp" +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Axis.hpp" +#include "try/v2.0/containers/Grid.hpp" +#include "try/v2.0/containers/Values.hpp" +#include "try/v2.0/containers/Array.hpp" +#include "try/v2.0/containers/Table.hpp" +#include "try/v2.0/containers/ColumnHeaders.hpp" +#include "try/v2.0/containers/Column.hpp" +#include "try/v2.0/containers/Data.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Ys1d.hpp" +#include "try/v2.0/containers/Legendre.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Function1ds.hpp" +#include "try/v2.0/containers/XYs3d.hpp" +#include "try/v2.0/containers/Function2ds.hpp" +#include "try/v2.0/containers/Regions1d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" +#include "try/v2.0/containers/Regions3d.hpp" +#include "try/v2.0/containers/Function3ds.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" +#include "try/v2.0/containers/Gridded2d.hpp" +#include "try/v2.0/containers/Gridded3d.hpp" + #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor.hpp index 7fd39671d..bdf450be9 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_ATOMIC_FORMFACTOR #define TRY_V2_0_ATOMIC_FORMFACTOR -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class FormFactor : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -45,8 +45,8 @@ class FormFactor : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> regions1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class FormFactor : public Component { // default, and from fields explicit FormFactor( - const wrapper> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp index e4206fb71..ffd8d0b29 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR #define TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class ImaginaryAnomalousFactor : public Component{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -45,8 +45,8 @@ class ImaginaryAnomalousFactor : public Component> XYs1d{this}; - Field> regions1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class ImaginaryAnomalousFactor : public Component> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor.hpp index 65c3c4014..b5e823cc0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR #define TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class RealAnomalousFactor : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -45,8 +45,8 @@ class RealAnomalousFactor : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> regions1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class RealAnomalousFactor : public Component { // default, and from fields explicit RealAnomalousFactor( - const wrapper> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp index d214e221e..54d9a0db8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_ATOMIC_SCATTERINGFACTOR #define TRY_V2_0_ATOMIC_SCATTERINGFACTOR -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class ScatteringFactor : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -45,8 +45,8 @@ class ScatteringFactor : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> regions1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class ScatteringFactor : public Component { // default, and from fields explicit ScatteringFactor( - const wrapper> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp index 6d07e4063..3590a5237 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -46,7 +46,7 @@ class Energy : public Component { / --Child<>("documentation") | std::optional{} / --Child<>("uncertainty") | - unknownNamespace::Double{} + containers::Double{} / ++Child<>("Double") ; } @@ -62,7 +62,7 @@ class Energy : public Component { // children Field> documentation{this}; Field> uncertainty{this}; - Field> Double{this}; + Field> Double{this}; // ------------------------ // Constructors @@ -83,7 +83,7 @@ class Energy : public Component { const wrapper> &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, - const wrapper> &Double = {} + const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp index 0dd2a39b7..a5b6573cf 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -46,7 +46,7 @@ class Mass : public Component { / --Child<>("documentation") | std::optional{} / --Child<>("uncertainty") | - unknownNamespace::Double{} + containers::Double{} / ++Child<>("Double") ; } @@ -62,7 +62,7 @@ class Mass : public Component { // children Field> documentation{this}; Field> uncertainty{this}; - Field> Double{this}; + Field> Double{this}; // ------------------------ // Constructors @@ -83,7 +83,7 @@ class Mass : public Component { const wrapper> &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, - const wrapper> &Double = {} + const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp index 7d4e0267e..3b811fa10 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_COMMON_PROBABILITY #define TRY_V2_0_COMMON_PROBABILITY -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class Probability : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class Probability : public Component { using Component::construct; // children - Field> Double{this}; + Field> Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Probability : public Component { // default, and from fields explicit Probability( - const wrapper> &Double = {} + const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp index f28b90c66..9c2bad27a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp @@ -7,11 +7,11 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Constant1d.hpp" -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" -#include "try/v2.0/unknownNamespace/Gridded1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" namespace try { namespace v2_0 { @@ -26,11 +26,11 @@ class Q : public Component { friend class Component; using _t = std::variant< - unknownNamespace::Constant1d, - unknownNamespace::XYs1d, - unknownNamespace::Regions1d, - unknownNamespace::Polynomial1d, - unknownNamespace::Gridded1d + containers::Constant1d, + containers::XYs1d, + containers::Regions1d, + containers::Polynomial1d, + containers::Gridded1d >; // ------------------------ @@ -77,11 +77,11 @@ class Q : public Component { // children - variant Field<_t> _constant1dXYs1dregions1dpolynomial1dgridded1d{this}; - FieldPart constant1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; - FieldPart XYs1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; - FieldPart regions1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; - FieldPart polynomial1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; - FieldPart gridded1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart constant1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart XYs1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart regions1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart polynomial1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; + FieldPart gridded1d{_constant1dXYs1dregions1dpolynomial1dgridded1d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp new file mode 100644 index 000000000..c932863a0 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp @@ -0,0 +1,160 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_ARRAY +#define TRY_V2_0_CONTAINERS_ARRAY + +#include "try/v2.0/containers/Values.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Array +// ----------------------------------------------------------------------------- + +class Array : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Array"; } + static auto FIELD() { return "array"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + IntegerTuple{} + / Meta<>("shape") | + Defaulted{"`none'"} + / Meta<>("compression") | + Defaulted{"`none'"} + / Meta<>("symmetry") | + Defaulted{"`none'"} + / Meta<>("permutation") | + Defaulted{"row-major"} + / Meta<>("storageOrder") | + std::optional{} + / Meta<>("offset") | + // children + std::optional{} + / ++Child<>("values") | + std::optional{} + / ++Child<>("array") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const UTF8Text compression = "`none'"; + static inline const UTF8Text symmetry = "`none'"; + static inline const UTF8Text permutation = "`none'"; + static inline const UTF8Text storageOrder = "row-major"; + } defaults; + + // metadata + Field shape{this}; + Field> compression{this,defaults.compression}; + Field> symmetry{this,defaults.symmetry}; + Field> permutation{this,defaults.permutation}; + Field> storageOrder{this,defaults.storageOrder}; + Field> offset{this}; + + // children + Field>> values{this}; + Field>> array{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->shape, \ + this->compression, \ + this->symmetry, \ + this->permutation, \ + this->storageOrder, \ + this->offset, \ + this->values, \ + this->array) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Array( + const wrapper &shape = {}, + const wrapper> &compression = {}, + const wrapper> &symmetry = {}, + const wrapper> &permutation = {}, + const wrapper> &storageOrder = {}, + const wrapper> &offset = {}, + const wrapper>> &values = {}, + const wrapper>> &array = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + shape(this,shape), + compression(this,defaults.compression,compression), + symmetry(this,defaults.symmetry,symmetry), + permutation(this,defaults.permutation,permutation), + storageOrder(this,defaults.storageOrder,storageOrder), + offset(this,offset), + values(this,values), + array(this,array) + { + Component::finish(); + } + + // from node + explicit Array(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Array(const Array &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Array(Array &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Array &operator=(const Array &) = default; + Array &operator=(Array &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Array/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Array + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Array/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Array/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Array/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axes.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Axes.hpp new file mode 100644 index 000000000..01be0efa4 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Axes.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_AXES +#define TRY_V2_0_CONTAINERS_AXES + +#include "try/v2.0/containers/Axis.hpp" +#include "try/v2.0/containers/Grid.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Axes +// ----------------------------------------------------------------------------- + +class Axes : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Axes"; } + static auto FIELD() { return "axes"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") | + // children + std::optional{} + / ++Child<>("axis") | + std::optional{} + / ++Child<>("grid") + ; + } + +public: + using Component::construct; + + // metadata + Field> href{this}; + + // children + Field>> axis{this}; + Field>> grid{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href, \ + this->axis, \ + this->grid) + + // default, and from fields + explicit Axes( + const wrapper> &href = {}, + const wrapper>> &axis = {}, + const wrapper>> &grid = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href), + axis(this,axis), + grid(this,grid) + { + Component::finish(); + } + + // from node + explicit Axes(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Axes(const Axes &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Axes(Axes &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Axes &operator=(const Axes &) = default; + Axes &operator=(Axes &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Axes/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Axes + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axes/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Axes/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Axes/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp new file mode 100644 index 000000000..34f9f49ad --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_AXIS +#define TRY_V2_0_CONTAINERS_AXIS + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Axis +// ----------------------------------------------------------------------------- + +class Axis : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Axis"; } + static auto FIELD() { return "axis"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("index") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") + ; + } + +public: + using Component::construct; + + // metadata + Field> index{this}; + Field> label{this}; + Field> unit{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->label, \ + this->unit) + + // default, and from fields + explicit Axis( + const wrapper> &index = {}, + const wrapper> &label = {}, + const wrapper> &unit = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + label(this,label), + unit(this,unit) + { + Component::finish(); + } + + // from node + explicit Axis(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Axis(const Axis &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Axis(Axis &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Axis &operator=(const Axis &) = default; + Axis &operator=(Axis &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Axis/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Axis + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axis/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Axis/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Axis/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Column.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Column.hpp new file mode 100644 index 000000000..ed79b1443 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Column.hpp @@ -0,0 +1,124 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_COLUMN +#define TRY_V2_0_CONTAINERS_COLUMN + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Column +// ----------------------------------------------------------------------------- + +class Column : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Column"; } + static auto FIELD() { return "column"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Integer32{} + / Meta<>("index") | + XMLName{} + / Meta<>("name") | + std::optional{} + / Meta<>("unit") | + std::optional{} + / Meta<>("types") + ; + } + +public: + using Component::construct; + + // metadata + Field index{this}; + Field name{this}; + Field> unit{this}; + Field> types{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->name, \ + this->unit, \ + this->types) + + // default, and from fields + explicit Column( + const wrapper &index = {}, + const wrapper &name = {}, + const wrapper> &unit = {}, + const wrapper> &types = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + name(this,name), + unit(this,unit), + types(this,types) + { + Component::finish(); + } + + // from node + explicit Column(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Column(const Column &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Column(Column &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Column &operator=(const Column &) = default; + Column &operator=(Column &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Column/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Column + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Column/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Column/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Column/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders.hpp new file mode 100644 index 000000000..421c9b004 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_COLUMNHEADERS +#define TRY_V2_0_CONTAINERS_COLUMNHEADERS + +#include "try/v2.0/containers/Column.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class ColumnHeaders +// ----------------------------------------------------------------------------- + +class ColumnHeaders : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "ColumnHeaders"; } + static auto FIELD() { return "columnHeaders"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + containers::Column{} + / ++Child<>("column") + ; + } + +public: + using Component::construct; + + // children + Field> column{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->column) + + // default, and from fields + explicit ColumnHeaders( + const wrapper> &column = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + column(this,column) + { + Component::finish(); + } + + // from node + explicit ColumnHeaders(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ColumnHeaders(const ColumnHeaders &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ColumnHeaders(ColumnHeaders &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ColumnHeaders &operator=(const ColumnHeaders &) = default; + ColumnHeaders &operator=(ColumnHeaders &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/ColumnHeaders/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ColumnHeaders + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp new file mode 100644 index 000000000..1e20a6b69 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp @@ -0,0 +1,139 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_CONSTANT1D +#define TRY_V2_0_CONTAINERS_CONSTANT1D + +#include "try/v2.0/containers/Axes.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Constant1d +// ----------------------------------------------------------------------------- + +class Constant1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Constant1d"; } + static auto FIELD() { return "constant1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("value") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + std::optional{} + / Meta<>("domainMin") | + std::optional{} + / Meta<>("domainMax") | + // children + containers::Axes{} + / --Child<>("axes") + ; + } + +public: + using Component::construct; + + // metadata + Field> value{this}; + Field> label{this}; + Field> outerDomainValue{this}; + Field> domainMin{this}; + Field> domainMax{this}; + + // children + Field axes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->value, \ + this->label, \ + this->outerDomainValue, \ + this->domainMin, \ + this->domainMax, \ + this->axes) + + // default, and from fields + explicit Constant1d( + const wrapper> &value = {}, + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &domainMin = {}, + const wrapper> &domainMax = {}, + const wrapper &axes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + value(this,value), + label(this,label), + outerDomainValue(this,outerDomainValue), + domainMin(this,domainMin), + domainMax(this,domainMax), + axes(this,axes) + { + Component::finish(); + } + + // from node + explicit Constant1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Constant1d(const Constant1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Constant1d(Constant1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Constant1d &operator=(const Constant1d &) = default; + Constant1d &operator=(Constant1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Constant1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Constant1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Data.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Data.hpp new file mode 100644 index 000000000..316f0bfd7 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Data.hpp @@ -0,0 +1,121 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_DATA +#define TRY_V2_0_CONTAINERS_DATA + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Data +// ----------------------------------------------------------------------------- + +class Data : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Data"; } + static auto FIELD() { return "data"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"whiteSpace"} + / Meta<>("sep") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const UTF8Text sep = "whiteSpace"; + } defaults; + + // metadata + Field> sep{this,defaults.sep}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->sep) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Data( + const wrapper> &sep = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + sep(this,defaults.sep,sep) + { + Component::finish(); + } + + // from node + explicit Data(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Data(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Data(const Data &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Data(Data &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Data &operator=(const Data &) = default; + Data &operator=(Data &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Data/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Data + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Data/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Data/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Data/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp new file mode 100644 index 000000000..a08b24b2d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_DOUBLE +#define TRY_V2_0_CONTAINERS_DOUBLE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Double +// ----------------------------------------------------------------------------- + +class Double : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Double"; } + static auto FIELD() { return "double"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + Float64{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value) + + // default, and from fields + explicit Double( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit Double(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Double(const Double &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Double(Double &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Double &operator=(const Double &) = default; + Double &operator=(Double &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Double/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Double + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Double/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Double/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Double/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction.hpp new file mode 100644 index 000000000..d13879819 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_FRACTION +#define TRY_V2_0_CONTAINERS_FRACTION + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Fraction +// ----------------------------------------------------------------------------- + +class Fraction : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Fraction"; } + static auto FIELD() { return "fraction"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + Fraction32{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value) + + // default, and from fields + explicit Fraction( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit Fraction(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Fraction(const Fraction &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Fraction(Fraction &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Fraction &operator=(const Fraction &) = default; + Fraction &operator=(Fraction &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Fraction/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Fraction + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds.hpp new file mode 100644 index 000000000..5e1a1ca2f --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds.hpp @@ -0,0 +1,123 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_FUNCTION1DS +#define TRY_V2_0_CONTAINERS_FUNCTION1DS + +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" +#include "try/v2.0/containers/Legendre.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Function1ds +// ----------------------------------------------------------------------------- + +class Function1ds : public Component { + friend class Component; + + using _t = std::variant< + containers::XYs1d, + containers::Constant1d, + containers::Polynomial1d, + containers::Legendre, + containers::Gridded1d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Function1ds"; } + static auto FIELD() { return "function1ds"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / ++(Child<>("XYs1d") || Child<>("constant1d") || Child<>("polynomial1d") || Child<>("Legendre") || Child<>("gridded1d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field> _XYs1dconstant1dpolynomial1dLegendregridded1d{this}; + FieldPart XYs1d{_XYs1dconstant1dpolynomial1dLegendregridded1d}; + FieldPart constant1d{_XYs1dconstant1dpolynomial1dLegendregridded1d}; + FieldPart polynomial1d{_XYs1dconstant1dpolynomial1dLegendregridded1d}; + FieldPart Legendre{_XYs1dconstant1dpolynomial1dLegendregridded1d}; + FieldPart gridded1d{_XYs1dconstant1dpolynomial1dLegendregridded1d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs1dconstant1dpolynomial1dLegendregridded1d) + + // default, and from fields + explicit Function1ds( + const wrapper> &_XYs1dconstant1dpolynomial1dLegendregridded1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs1dconstant1dpolynomial1dLegendregridded1d(this,_XYs1dconstant1dpolynomial1dLegendregridded1d) + { + Component::finish(); + } + + // from node + explicit Function1ds(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Function1ds(const Function1ds &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Function1ds(Function1ds &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Function1ds &operator=(const Function1ds &) = default; + Function1ds &operator=(Function1ds &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Function1ds/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Function1ds + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds.hpp new file mode 100644 index 000000000..147222ca3 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_FUNCTION2DS +#define TRY_V2_0_CONTAINERS_FUNCTION2DS + +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Gridded2d.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Function2ds +// ----------------------------------------------------------------------------- + +class Function2ds : public Component { + friend class Component; + + using _t = std::variant< + containers::XYs2d, + containers::Gridded2d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Function2ds"; } + static auto FIELD() { return "function2ds"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / ++(Child<>("XYs2d") || Child<>("gridded2d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field> _XYs2dgridded2d{this}; + FieldPart XYs2d{_XYs2dgridded2d}; + FieldPart gridded2d{_XYs2dgridded2d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs2dgridded2d) + + // default, and from fields + explicit Function2ds( + const wrapper> &_XYs2dgridded2d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs2dgridded2d(this,_XYs2dgridded2d) + { + Component::finish(); + } + + // from node + explicit Function2ds(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Function2ds(const Function2ds &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Function2ds(Function2ds &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Function2ds &operator=(const Function2ds &) = default; + Function2ds &operator=(Function2ds &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Function2ds/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Function2ds + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds.hpp new file mode 100644 index 000000000..a3f07647c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds.hpp @@ -0,0 +1,114 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_FUNCTION3DS +#define TRY_V2_0_CONTAINERS_FUNCTION3DS + +#include "try/v2.0/containers/XYs3d.hpp" +#include "try/v2.0/containers/Gridded3d.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Function3ds +// ----------------------------------------------------------------------------- + +class Function3ds : public Component { + friend class Component; + + using _t = std::variant< + containers::XYs3d, + containers::Gridded3d + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Function3ds"; } + static auto FIELD() { return "function3ds"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + _t{} + / ++(Child<>("XYs3d") || Child<>("gridded3d")) + ; + } + +public: + using Component::construct; + + // children - variant + Field> _XYs3dgridded3d{this}; + FieldPart XYs3d{_XYs3dgridded3d}; + FieldPart gridded3d{_XYs3dgridded3d}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->_XYs3dgridded3d) + + // default, and from fields + explicit Function3ds( + const wrapper> &_XYs3dgridded3d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + _XYs3dgridded3d(this,_XYs3dgridded3d) + { + Component::finish(); + } + + // from node + explicit Function3ds(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Function3ds(const Function3ds &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Function3ds(Function3ds &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Function3ds &operator=(const Function3ds &) = default; + Function3ds &operator=(Function3ds &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Function3ds/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Function3ds + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Grid.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Grid.hpp new file mode 100644 index 000000000..9f914a0ba --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Grid.hpp @@ -0,0 +1,153 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_GRID +#define TRY_V2_0_CONTAINERS_GRID + +#include "try/v2.0/containers/Values.hpp" +#include "try/v2.0/containers/Link.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Grid +// ----------------------------------------------------------------------------- + +class Grid : public Component { + friend class Component; + + using _t = std::variant< + containers::Values, + containers::Link + >; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Grid"; } + static auto FIELD() { return "grid"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("index") | + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("style") | + std::optional{} + / Meta<>("unit") | + // children + _t{} + / --(Child<>("values") || Child<>("link")) + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // metadata + Field> index{this}; + Field> interpolation{this,defaults.interpolation}; + Field> label{this}; + Field> style{this}; + Field> unit{this}; + + // children - variant + Field<_t> _valueslink{this}; + FieldPart values{_valueslink}; + FieldPart link{_valueslink}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->interpolation, \ + this->label, \ + this->style, \ + this->unit, \ + this->_valueslink) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Grid( + const wrapper> &index = {}, + const wrapper> &interpolation = {}, + const wrapper> &label = {}, + const wrapper> &style = {}, + const wrapper> &unit = {}, + const wrapper<_t> &_valueslink = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + interpolation(this,defaults.interpolation,interpolation), + label(this,label), + style(this,style), + unit(this,unit), + _valueslink(this,_valueslink) + { + Component::finish(); + } + + // from node + explicit Grid(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Grid(const Grid &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Grid(Grid &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Grid &operator=(const Grid &) = default; + Grid &operator=(Grid &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Grid/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Grid + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Grid/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Grid/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Grid/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d.hpp new file mode 100644 index 000000000..541ef4c5c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_GRIDDED1D +#define TRY_V2_0_CONTAINERS_GRIDDED1D + +#include "try/v2.0/containers/Array.hpp" +#include "try/v2.0/containers/Axes.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Gridded1d +// ----------------------------------------------------------------------------- + +class Gridded1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Gridded1d"; } + static auto FIELD() { return "gridded1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + containers::Array{} + / --Child<>("array") | + containers::Axes{} + / --Child<>("axes") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field array{this}; + Field axes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->array, \ + this->axes) + + // default, and from fields + explicit Gridded1d( + const wrapper> &label = {}, + const wrapper &array = {}, + const wrapper &axes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + array(this,array), + axes(this,axes) + { + Component::finish(); + } + + // from node + explicit Gridded1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Gridded1d(const Gridded1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Gridded1d(Gridded1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Gridded1d &operator=(const Gridded1d &) = default; + Gridded1d &operator=(Gridded1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Gridded1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Gridded1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d.hpp new file mode 100644 index 000000000..36d093123 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_GRIDDED2D +#define TRY_V2_0_CONTAINERS_GRIDDED2D + +#include "try/v2.0/containers/Array.hpp" +#include "try/v2.0/containers/Axes.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Gridded2d +// ----------------------------------------------------------------------------- + +class Gridded2d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Gridded2d"; } + static auto FIELD() { return "gridded2d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + containers::Array{} + / --Child<>("array") | + containers::Axes{} + / --Child<>("axes") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field array{this}; + Field axes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->array, \ + this->axes) + + // default, and from fields + explicit Gridded2d( + const wrapper> &label = {}, + const wrapper &array = {}, + const wrapper &axes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + array(this,array), + axes(this,axes) + { + Component::finish(); + } + + // from node + explicit Gridded2d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Gridded2d(const Gridded2d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Gridded2d(Gridded2d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Gridded2d &operator=(const Gridded2d &) = default; + Gridded2d &operator=(Gridded2d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Gridded2d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Gridded2d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d.hpp new file mode 100644 index 000000000..d340db60c --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_GRIDDED3D +#define TRY_V2_0_CONTAINERS_GRIDDED3D + +#include "try/v2.0/containers/Array.hpp" +#include "try/v2.0/containers/Axes.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Gridded3d +// ----------------------------------------------------------------------------- + +class Gridded3d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Gridded3d"; } + static auto FIELD() { return "gridded3d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + // children + containers::Array{} + / --Child<>("array") | + containers::Axes{} + / --Child<>("axes") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + + // children + Field array{this}; + Field axes{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->array, \ + this->axes) + + // default, and from fields + explicit Gridded3d( + const wrapper> &label = {}, + const wrapper &array = {}, + const wrapper &axes = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + array(this,array), + axes(this,axes) + { + Component::finish(); + } + + // from node + explicit Gridded3d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Gridded3d(const Gridded3d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Gridded3d(Gridded3d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Gridded3d &operator=(const Gridded3d &) = default; + Gridded3d &operator=(Gridded3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Gridded3d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Gridded3d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Integer.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Integer.hpp new file mode 100644 index 000000000..05713de30 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Integer.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_INTEGER +#define TRY_V2_0_CONTAINERS_INTEGER + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Integer +// ----------------------------------------------------------------------------- + +class Integer : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Integer"; } + static auto FIELD() { return "integer"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + Integer32{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value) + + // default, and from fields + explicit Integer( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit Integer(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Integer(const Integer &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Integer(Integer &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Integer &operator=(const Integer &) = default; + Integer &operator=(Integer &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Integer/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Integer + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Integer/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Integer/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Integer/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre.hpp new file mode 100644 index 000000000..f78c3eb84 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre.hpp @@ -0,0 +1,147 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_LEGENDRE +#define TRY_V2_0_CONTAINERS_LEGENDRE + +#include "try/v2.0/containers/Values.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Legendre +// ----------------------------------------------------------------------------- + +class Legendre : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Legendre"; } + static auto FIELD() { return "Legendre"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + Defaulted{0} + / Meta<>("lowerIndex") | + Defaulted{-1.0} + / Meta<>("domainMin") | + Defaulted{1.0} + / Meta<>("domainMax") | + // children + containers::Values{} + / --Child<>("values") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const Integer32 lowerIndex = 0; + static inline const Float64 domainMin = -1.0; + static inline const Float64 domainMax = 1.0; + } defaults; + + // metadata + Field> label{this}; + Field> outerDomainValue{this}; + Field> lowerIndex{this,defaults.lowerIndex}; + Field> domainMin{this,defaults.domainMin}; + Field> domainMax{this,defaults.domainMax}; + + // children + Field values{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->outerDomainValue, \ + this->lowerIndex, \ + this->domainMin, \ + this->domainMax, \ + this->values) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Legendre( + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &lowerIndex = {}, + const wrapper> &domainMin = {}, + const wrapper> &domainMax = {}, + const wrapper &values = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + outerDomainValue(this,outerDomainValue), + lowerIndex(this,defaults.lowerIndex,lowerIndex), + domainMin(this,defaults.domainMin,domainMin), + domainMax(this,defaults.domainMax,domainMax), + values(this,values) + { + Component::finish(); + } + + // from node + explicit Legendre(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Legendre(const Legendre &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Legendre(Legendre &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Legendre &operator=(const Legendre &) = default; + Legendre &operator=(Legendre &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Legendre/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Legendre + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp new file mode 100644 index 000000000..116cfca45 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_LINK +#define TRY_V2_0_CONTAINERS_LINK + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Link +// ----------------------------------------------------------------------------- + +class Link : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Link"; } + static auto FIELD() { return "link"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->href) + + // default, and from fields + explicit Link( + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Link(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Link(const Link &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Link(Link &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Link &operator=(const Link &) = default; + Link &operator=(Link &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Link/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Link + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Link/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Link/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Link/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp new file mode 100644 index 000000000..66c33e057 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp @@ -0,0 +1,152 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_POLYNOMIAL1D +#define TRY_V2_0_CONTAINERS_POLYNOMIAL1D + +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Values.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Polynomial1d +// ----------------------------------------------------------------------------- + +class Polynomial1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Polynomial1d"; } + static auto FIELD() { return "polynomial1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + Defaulted{0} + / Meta<>("lowerIndex") | + std::optional{} + / Meta<>("domainMin") | + std::optional{} + / Meta<>("domainMax") | + // children + containers::Axes{} + / --Child<>("axes") | + containers::Values{} + / --Child<>("values") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const Integer32 lowerIndex = 0; + } defaults; + + // metadata + Field> label{this}; + Field> outerDomainValue{this}; + Field> lowerIndex{this,defaults.lowerIndex}; + Field> domainMin{this}; + Field> domainMax{this}; + + // children + Field axes{this}; + Field values{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->outerDomainValue, \ + this->lowerIndex, \ + this->domainMin, \ + this->domainMax, \ + this->axes, \ + this->values) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Polynomial1d( + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &lowerIndex = {}, + const wrapper> &domainMin = {}, + const wrapper> &domainMax = {}, + const wrapper &axes = {}, + const wrapper &values = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + outerDomainValue(this,outerDomainValue), + lowerIndex(this,defaults.lowerIndex,lowerIndex), + domainMin(this,domainMin), + domainMax(this,domainMax), + axes(this,axes), + values(this,values) + { + Component::finish(); + } + + // from node + explicit Polynomial1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Polynomial1d(const Polynomial1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Polynomial1d(Polynomial1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Polynomial1d &operator=(const Polynomial1d &) = default; + Polynomial1d &operator=(Polynomial1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Polynomial1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Polynomial1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp new file mode 100644 index 000000000..d3605a534 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_REGIONS1D +#define TRY_V2_0_CONTAINERS_REGIONS1D + +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Function1ds.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Regions1d +// ----------------------------------------------------------------------------- + +class Regions1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Regions1d"; } + static auto FIELD() { return "regions1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function1ds{} + / --Child<>("function1ds") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> outerDomainValue{this}; + + // children + Field> axes{this}; + Field function1ds{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->outerDomainValue, \ + this->axes, \ + this->function1ds) + + // default, and from fields + explicit Regions1d( + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &axes = {}, + const wrapper &function1ds = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + outerDomainValue(this,outerDomainValue), + axes(this,axes), + function1ds(this,function1ds) + { + Component::finish(); + } + + // from node + explicit Regions1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Regions1d(const Regions1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Regions1d(Regions1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Regions1d &operator=(const Regions1d &) = default; + Regions1d &operator=(Regions1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Regions1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Regions1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp new file mode 100644 index 000000000..87733eaf6 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_REGIONS2D +#define TRY_V2_0_CONTAINERS_REGIONS2D + +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Function2ds.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Regions2d +// ----------------------------------------------------------------------------- + +class Regions2d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Regions2d"; } + static auto FIELD() { return "regions2d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function2ds{} + / --Child<>("function2ds") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> outerDomainValue{this}; + + // children + Field> axes{this}; + Field function2ds{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->outerDomainValue, \ + this->axes, \ + this->function2ds) + + // default, and from fields + explicit Regions2d( + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &axes = {}, + const wrapper &function2ds = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + outerDomainValue(this,outerDomainValue), + axes(this,axes), + function2ds(this,function2ds) + { + Component::finish(); + } + + // from node + explicit Regions2d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Regions2d(const Regions2d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Regions2d(Regions2d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Regions2d &operator=(const Regions2d &) = default; + Regions2d &operator=(Regions2d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Regions2d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Regions2d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp new file mode 100644 index 000000000..a4378cfc2 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp @@ -0,0 +1,128 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_REGIONS3D +#define TRY_V2_0_CONTAINERS_REGIONS3D + +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Function3ds.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Regions3d +// ----------------------------------------------------------------------------- + +class Regions3d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Regions3d"; } + static auto FIELD() { return "regions3d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function3ds{} + / --Child<>("function3ds") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> outerDomainValue{this}; + + // children + Field> axes{this}; + Field function3ds{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->outerDomainValue, \ + this->axes, \ + this->function3ds) + + // default, and from fields + explicit Regions3d( + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &axes = {}, + const wrapper &function3ds = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + outerDomainValue(this,outerDomainValue), + axes(this,axes), + function3ds(this,function3ds) + { + Component::finish(); + } + + // from node + explicit Regions3d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Regions3d(const Regions3d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Regions3d(Regions3d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Regions3d &operator=(const Regions3d &) = default; + Regions3d &operator=(Regions3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Regions3d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Regions3d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/String.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/String.hpp new file mode 100644 index 000000000..232dd224b --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/String.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_STRING +#define TRY_V2_0_CONTAINERS_STRING + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class String +// ----------------------------------------------------------------------------- + +class String : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "String"; } + static auto FIELD() { return "string"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + XMLName{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value) + + // default, and from fields + explicit String( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit String(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + String(const String &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + String(String &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + String &operator=(const String &) = default; + String &operator=(String &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/String/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class String + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/String/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/String/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/String/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Table.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Table.hpp new file mode 100644 index 000000000..76c2ce61d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Table.hpp @@ -0,0 +1,140 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_TABLE +#define TRY_V2_0_CONTAINERS_TABLE + +#include "try/v2.0/containers/ColumnHeaders.hpp" +#include "try/v2.0/containers/Data.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Table +// ----------------------------------------------------------------------------- + +class Table : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Table"; } + static auto FIELD() { return "table"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Integer32{} + / Meta<>("columns") | + Integer32{} + / Meta<>("rows") | + Defaulted{"row-major"} + / Meta<>("storageOrder") | + // children + containers::ColumnHeaders{} + / --Child<>("columnHeaders") | + containers::Data{} + / --Child<>("data") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const XMLName storageOrder = "row-major"; + } defaults; + + // metadata + Field columns{this}; + Field rows{this}; + Field> storageOrder{this,defaults.storageOrder}; + + // children + Field columnHeaders{this}; + Field data{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->columns, \ + this->rows, \ + this->storageOrder, \ + this->columnHeaders, \ + this->data) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Table( + const wrapper &columns = {}, + const wrapper &rows = {}, + const wrapper> &storageOrder = {}, + const wrapper &columnHeaders = {}, + const wrapper &data = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + columns(this,columns), + rows(this,rows), + storageOrder(this,defaults.storageOrder,storageOrder), + columnHeaders(this,columnHeaders), + data(this,data) + { + Component::finish(); + } + + // from node + explicit Table(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Table(const Table &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Table(Table &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Table &operator=(const Table &) = default; + Table &operator=(Table &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Table/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Table + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Table/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Table/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Table/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Values.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Values.hpp new file mode 100644 index 000000000..07019923e --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Values.hpp @@ -0,0 +1,152 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_VALUES +#define TRY_V2_0_CONTAINERS_VALUES + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Values +// ----------------------------------------------------------------------------- + +class Values : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Values"; } + static auto FIELD() { return "values"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{"Float64"} + / Meta<>("valueType") | + Defaulted{0} + / Meta<>("start") | + std::optional{} + / Meta<>("length") | + std::optional{} + / Meta<>("href") | + std::optional{} + / Meta<>("startIndex") | + std::optional{} + / Meta<>("count") + ; + } + +public: + using Component::construct; + using BlockData::operator=; + + // defaults + static inline const struct Defaults { + static inline const UTF8Text valueType = "Float64"; + static inline const Integer32 start = 0; + } defaults; + + // metadata + mutable Field> valueType{this,defaults.valueType}; + mutable Field> start{this,defaults.start}; + mutable Field> length{this}; + Field> href{this}; + Field> startIndex{this}; + Field> count{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->valueType, \ + this->start, \ + this->length, \ + this->href, \ + this->startIndex, \ + this->count) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Values( + const wrapper> &valueType = {}, + const wrapper> &start = {}, + const wrapper> &length = {}, + const wrapper> &href = {}, + const wrapper> &startIndex = {}, + const wrapper> &count = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + valueType(this,defaults.valueType,valueType), + start(this,defaults.start,start), + length(this,length), + href(this,href), + startIndex(this,startIndex), + count(this,count) + { + Component::finish(); + } + + // from node + explicit Values(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // from vector + template>> + Values(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(vector); + } + + // copy + Values(const Values &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Values(Values &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Values &operator=(const Values &) = default; + Values &operator=(Values &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Values/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Values + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Values/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Values/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Values/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp new file mode 100644 index 000000000..25d447a53 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp @@ -0,0 +1,146 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_XYS1D +#define TRY_V2_0_CONTAINERS_XYS1D + +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Values.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class XYs1d +// ----------------------------------------------------------------------------- + +class XYs1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "XYs1d"; } + static auto FIELD() { return "XYs1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("index") | + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Values{} + / --Child<>("values") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // metadata + Field> index{this}; + Field> interpolation{this,defaults.interpolation}; + Field> label{this}; + Field> outerDomainValue{this}; + + // children + Field> axes{this}; + Field values{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->interpolation, \ + this->label, \ + this->outerDomainValue, \ + this->axes, \ + this->values) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit XYs1d( + const wrapper> &index = {}, + const wrapper> &interpolation = {}, + const wrapper> &label = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &axes = {}, + const wrapper &values = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + interpolation(this,defaults.interpolation,interpolation), + label(this,label), + outerDomainValue(this,outerDomainValue), + axes(this,axes), + values(this,values) + { + Component::finish(); + } + + // from node + explicit XYs1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + XYs1d(const XYs1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + XYs1d(XYs1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + XYs1d &operator=(const XYs1d &) = default; + XYs1d &operator=(XYs1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/XYs1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class XYs1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp new file mode 100644 index 000000000..9fd2a521a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp @@ -0,0 +1,146 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_XYS2D +#define TRY_V2_0_CONTAINERS_XYS2D + +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Function1ds.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class XYs2d +// ----------------------------------------------------------------------------- + +class XYs2d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "XYs2d"; } + static auto FIELD() { return "XYs2d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("index") | + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("interpolationQualifier") | + std::optional{} + / Meta<>("outerDomainValue") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function1ds{} + / --Child<>("function1ds") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // metadata + Field> index{this}; + Field> interpolation{this,defaults.interpolation}; + Field> interpolationQualifier{this}; + Field> outerDomainValue{this}; + + // children + Field> axes{this}; + Field function1ds{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->index, \ + this->interpolation, \ + this->interpolationQualifier, \ + this->outerDomainValue, \ + this->axes, \ + this->function1ds) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit XYs2d( + const wrapper> &index = {}, + const wrapper> &interpolation = {}, + const wrapper> &interpolationQualifier = {}, + const wrapper> &outerDomainValue = {}, + const wrapper> &axes = {}, + const wrapper &function1ds = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + index(this,index), + interpolation(this,defaults.interpolation,interpolation), + interpolationQualifier(this,interpolationQualifier), + outerDomainValue(this,outerDomainValue), + axes(this,axes), + function1ds(this,function1ds) + { + Component::finish(); + } + + // from node + explicit XYs2d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + XYs2d(const XYs2d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + XYs2d(XYs2d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + XYs2d &operator=(const XYs2d &) = default; + XYs2d &operator=(XYs2d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/XYs2d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class XYs2d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp new file mode 100644 index 000000000..fafe78613 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_XYS3D +#define TRY_V2_0_CONTAINERS_XYS3D + +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Function2ds.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class XYs3d +// ----------------------------------------------------------------------------- + +class XYs3d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "XYs3d"; } + static auto FIELD() { return "XYs3d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("interpolationQualifier") | + // children + std::optional{} + / --Child<>("axes") | + containers::Function2ds{} + / --Child<>("function2ds") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // metadata + Field> interpolation{this,defaults.interpolation}; + Field> interpolationQualifier{this}; + + // children + Field> axes{this}; + Field function2ds{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->interpolation, \ + this->interpolationQualifier, \ + this->axes, \ + this->function2ds) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit XYs3d( + const wrapper> &interpolation = {}, + const wrapper> &interpolationQualifier = {}, + const wrapper> &axes = {}, + const wrapper &function2ds = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + interpolation(this,defaults.interpolation,interpolation), + interpolationQualifier(this,interpolationQualifier), + axes(this,axes), + function2ds(this,function2ds) + { + Component::finish(); + } + + // from node + explicit XYs3d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + XYs3d(const XYs3d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + XYs3d(XYs3d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + XYs3d &operator=(const XYs3d &) = default; + XYs3d &operator=(XYs3d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/XYs3d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class XYs3d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d.hpp new file mode 100644 index 000000000..0f5c73641 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_YS1D +#define TRY_V2_0_CONTAINERS_YS1D + +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Values.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Ys1d +// ----------------------------------------------------------------------------- + +class Ys1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Ys1d"; } + static auto FIELD() { return "Ys1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Defaulted{enums::Interpolation::linlin} + / Meta<>("interpolation") | + std::optional{} + / Meta<>("label") | + // children + containers::Axes{} + / --Child<>("axes") | + containers::Values{} + / --Child<>("values") + ; + } + +public: + using Component::construct; + + // defaults + static inline const struct Defaults { + static inline const enums::Interpolation interpolation = enums::Interpolation::linlin; + } defaults; + + // metadata + Field> interpolation{this,defaults.interpolation}; + Field> label{this}; + + // children + Field axes{this}; + Field values{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->interpolation, \ + this->label, \ + this->axes, \ + this->values) + + // default, and from fields + // std::optional replaces Defaulted; this class knows the default(s) + explicit Ys1d( + const wrapper> &interpolation = {}, + const wrapper> &label = {}, + const wrapper &axes = {}, + const wrapper &values = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + interpolation(this,defaults.interpolation,interpolation), + label(this,label), + axes(this,axes), + values(this,values) + { + Component::finish(); + } + + // from node + explicit Ys1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Ys1d(const Ys1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Ys1d(Ys1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Ys1d &operator=(const Ys1d &) = default; + Ys1d &operator=(Ys1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Ys1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Ys1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp index a50c88e3e..75224e6d1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY #define TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY -#include "try/v2.0/unknownNamespace/Array.hpp" +#include "try/v2.0/containers/Array.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class ColumnSensitivity : public Component { { return // children - unknownNamespace::Array{} + containers::Array{} / --Child<>("array") ; } @@ -42,7 +42,7 @@ class ColumnSensitivity : public Component { using Component::construct; // children - Field array{this}; + Field array{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class ColumnSensitivity : public Component { // default, and from fields explicit ColumnSensitivity( - const wrapper &array = {} + const wrapper &array = {} ) : GNDSTK_COMPONENT(BlockData{}), array(this,array) diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp index dfd46c840..1b7d68832 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_COVARIANCE_COVARIANCE #define TRY_V2_0_COVARIANCE_COVARIANCE -#include "try/v2.0/unknownNamespace/Array.hpp" +#include "try/v2.0/containers/Array.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class Covariance : public Component { { return // children - unknownNamespace::Array{} + containers::Array{} / --Child<>("array") ; } @@ -42,7 +42,7 @@ class Covariance : public Component { using Component::construct; // children - Field array{this}; + Field array{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Covariance : public Component { // default, and from fields explicit Covariance( - const wrapper &array = {} + const wrapper &array = {} ) : GNDSTK_COMPONENT(BlockData{}), array(this,array) diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp index bdf438307..19c53634c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_COVARIANCE_COVARIANCEMATRIX #define TRY_V2_0_COVARIANCE_COVARIANCEMATRIX -#include "try/v2.0/unknownNamespace/Gridded2d.hpp" +#include "try/v2.0/containers/Gridded2d.hpp" #include "try/v2.0/covariance/SandwichProduct.hpp" namespace try { @@ -21,7 +21,7 @@ class CovarianceMatrix : public Component { friend class Component; using _t = std::variant< - unknownNamespace::Gridded2d, + containers::Gridded2d, covariance::SandwichProduct >; @@ -61,7 +61,7 @@ class CovarianceMatrix : public Component { // children - variant Field<_t> _gridded2dsandwichProduct{this}; - FieldPart gridded2d{_gridded2dsandwichProduct}; + FieldPart gridded2d{_gridded2dsandwichProduct}; FieldPart sandwichProduct{_gridded2dsandwichProduct}; // ------------------------ diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp index 280aa2232..1b6543452 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX #include "try/v2.0/covariance/Parameters.hpp" -#include "try/v2.0/unknownNamespace/Array.hpp" +#include "try/v2.0/containers/Array.hpp" namespace try { namespace v2_0 { @@ -41,7 +41,7 @@ class ParameterCovarianceMatrix : public Component("parameters") | - unknownNamespace::Array{} + containers::Array{} / --Child<>("array") ; } @@ -55,7 +55,7 @@ class ParameterCovarianceMatrix : public Component parameters{this}; - Field array{this}; + Field array{this}; // ------------------------ // Constructors @@ -72,7 +72,7 @@ class ParameterCovarianceMatrix : public Component &label = {}, const wrapper> &type = {}, const wrapper ¶meters = {}, - const wrapper &array = {} + const wrapper &array = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp index 4daa060c4..deb9ede8e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_COVARIANCE_ROWSENSITIVITY #define TRY_V2_0_COVARIANCE_ROWSENSITIVITY -#include "try/v2.0/unknownNamespace/Array.hpp" +#include "try/v2.0/containers/Array.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class RowSensitivity : public Component { { return // children - unknownNamespace::Array{} + containers::Array{} / --Child<>("array") ; } @@ -42,7 +42,7 @@ class RowSensitivity : public Component { using Component::construct; // children - Field array{this}; + Field array{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class RowSensitivity : public Component { // default, and from fields explicit RowSensitivity( - const wrapper &array = {} + const wrapper &array = {} ) : GNDSTK_COMPONENT(BlockData{}), array(this,array) diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp index 196bd3694..223913819 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_COVARIANCE_SANDWICHPRODUCT #define TRY_V2_0_COVARIANCE_SANDWICHPRODUCT -#include "try/v2.0/unknownNamespace/Axes.hpp" +#include "try/v2.0/containers/Axes.hpp" #include "try/v2.0/covariance/Covariance.hpp" #include "try/v2.0/covariance/RowSensitivity.hpp" #include "try/v2.0/covariance/ColumnSensitivity.hpp" @@ -36,7 +36,7 @@ class SandwichProduct : public Component { { return // children - unknownNamespace::Axes{} + containers::Axes{} / --Child<>("axes") | covariance::Covariance{} / --Child<>("covariance") | @@ -51,7 +51,7 @@ class SandwichProduct : public Component { using Component::construct; // children - Field axes{this}; + Field axes{this}; Field covariance{this}; Field rowSensitivity{this}; Field> columnSensitivity{this}; @@ -68,7 +68,7 @@ class SandwichProduct : public Component { // default, and from fields explicit SandwichProduct( - const wrapper &axes = {}, + const wrapper &axes = {}, const wrapper &covariance = {}, const wrapper &rowSensitivity = {}, const wrapper> &columnSensitivity = {} diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp index a07e031fe..79e92e8d5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE #define TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE -#include "try/v2.0/unknownNamespace/Gridded2d.hpp" +#include "try/v2.0/containers/Gridded2d.hpp" namespace try { namespace v2_0 { @@ -40,7 +40,7 @@ class ShortRangeSelfScalingVariance : public Component{} / Meta<>("type") | // children - std::optional{} + std::optional{} / --Child<>("gridded2d") ; } @@ -54,7 +54,7 @@ class ShortRangeSelfScalingVariance : public Component> type{this}; // children - Field> gridded2d{this}; + Field> gridded2d{this}; // ------------------------ // Constructors @@ -71,7 +71,7 @@ class ShortRangeSelfScalingVariance : public Component> &dependenceOnProcessedGroupWidth = {}, const wrapper> &label = {}, const wrapper> &type = {}, - const wrapper> &gridded2d = {} + const wrapper> &gridded2d = {} ) : GNDSTK_COMPONENT(BlockData{}), dependenceOnProcessedGroupWidth(this,dependenceOnProcessedGroupWidth), diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp index bb1796d71..f6e20e293 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM #define TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class ImaginaryInterferenceTerm : public Component{} + std::optional{} / --Child<>("XYs2d") | - std::optional{} + std::optional{} / --Child<>("regions2d") ; } @@ -45,8 +45,8 @@ class ImaginaryInterferenceTerm : public Component> XYs2d{this}; - Field> regions2d{this}; + Field> XYs2d{this}; + Field> regions2d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class ImaginaryInterferenceTerm : public Component> &XYs2d = {}, - const wrapper> ®ions2d = {} + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs2d(this,XYs2d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm.hpp index f6413c1ee..f4ab0cc39 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_CPTRANSPORT_NUCLEARTERM #define TRY_V2_0_CPTRANSPORT_NUCLEARTERM -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class NuclearTerm : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs2d") | - std::optional{} + std::optional{} / --Child<>("regions2d") ; } @@ -45,8 +45,8 @@ class NuclearTerm : public Component { using Component::construct; // children - Field> XYs2d{this}; - Field> regions2d{this}; + Field> XYs2d{this}; + Field> regions2d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class NuclearTerm : public Component { // default, and from fields explicit NuclearTerm( - const wrapper> &XYs2d = {}, - const wrapper> ®ions2d = {} + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs2d(this,XYs2d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp index 48d9360ba..a223df4dc 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM #define TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class RealInterferenceTerm : public Component { return // children - std::optional{} + std::optional{} / --Child<>("XYs2d") | - std::optional{} + std::optional{} / --Child<>("regions2d") ; } @@ -45,8 +45,8 @@ class RealInterferenceTerm : public Component using Component::construct; // children - Field> XYs2d{this}; - Field> regions2d{this}; + Field> XYs2d{this}; + Field> regions2d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class RealInterferenceTerm : public Component // default, and from fields explicit RealInterferenceTerm( - const wrapper> &XYs2d = {}, - const wrapper> ®ions2d = {} + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs2d(this,XYs2d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate.hpp index 7ad7f53e8..49006c64b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_FISSIONFRAGMENTDATA_RATE #define TRY_V2_0_FISSIONFRAGMENTDATA_RATE -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class Rate : public Component { { return // children - unknownNamespace::Double{} + containers::Double{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class Rate : public Component { using Component::construct; // children - Field Double{this}; + Field Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Rate : public Component { // default, and from fields explicit Rate( - const wrapper &Double = {} + const wrapper &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp index beb040424..9dadd3f8f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY #define TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class DelayedBetaEnergy : public Component { return // children - std::optional{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -42,7 +42,7 @@ class DelayedBetaEnergy : public Component using Component::construct; // children - Field> polynomial1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class DelayedBetaEnergy : public Component // default, and from fields explicit DelayedBetaEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp index 64c8dee1b..4c10829c6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY #define TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class DelayedGammaEnergy : public Component{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -42,7 +42,7 @@ class DelayedGammaEnergy : public Component> polynomial1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class DelayedGammaEnergy : public Component> &polynomial1d = {} + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE.hpp index c080e1a01..7a234df9d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE #define TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class DelayedNeutronKE : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -45,8 +45,8 @@ class DelayedNeutronKE : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> polynomial1d{this}; + Field> XYs1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class DelayedNeutronKE : public Component { // default, and from fields explicit DelayedNeutronKE( - const wrapper> &XYs1d = {}, - const wrapper> &polynomial1d = {} + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp index e54a43c98..9d8691521 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY #define TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class NeutrinoEnergy : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -42,7 +42,7 @@ class NeutrinoEnergy : public Component { using Component::construct; // children - Field> polynomial1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class NeutrinoEnergy : public Component { // default, and from fields explicit NeutrinoEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp index 20e7840bd..bf73b0e82 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY #define TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class NonNeutrinoEnergy : public Component { return // children - std::optional{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -42,7 +42,7 @@ class NonNeutrinoEnergy : public Component using Component::construct; // children - Field> polynomial1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class NonNeutrinoEnergy : public Component // default, and from fields explicit NonNeutrinoEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp index 434369985..4d8222960 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY #define TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class PromptGammaEnergy : public Component { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -45,8 +45,8 @@ class PromptGammaEnergy : public Component using Component::construct; // children - Field> XYs1d{this}; - Field> polynomial1d{this}; + Field> XYs1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class PromptGammaEnergy : public Component // default, and from fields explicit PromptGammaEnergy( - const wrapper> &XYs1d = {}, - const wrapper> &polynomial1d = {} + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp index bb8566cf6..fc9c0b0e3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE #define TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class PromptNeutronKE : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -45,8 +45,8 @@ class PromptNeutronKE : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> polynomial1d{this}; + Field> XYs1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class PromptNeutronKE : public Component { // default, and from fields explicit PromptNeutronKE( - const wrapper> &XYs1d = {}, - const wrapper> &polynomial1d = {} + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp index 737d2b5f1..c0f480cdb 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE #define TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class PromptProductKE : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -45,8 +45,8 @@ class PromptProductKE : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> polynomial1d{this}; + Field> XYs1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class PromptProductKE : public Component { // default, and from fields explicit PromptProductKE( - const wrapper> &XYs1d = {}, - const wrapper> &polynomial1d = {} + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M.hpp index c3664a551..bffb16bad 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_T_M #define TRY_V2_0_FISSIONTRANSPORT_T_M -#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class T_M : public Component { { return // children - unknownNamespace::XYs1d{} + containers::XYs1d{} / --Child<>("XYs1d") ; } @@ -42,7 +42,7 @@ class T_M : public Component { using Component::construct; // children - Field XYs1d{this}; + Field XYs1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class T_M : public Component { // default, and from fields explicit T_M( - const wrapper &XYs1d = {} + const wrapper &XYs1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp index 0a64d0ba6..a8f3f138e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY #define TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class TotalEnergy : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("polynomial1d") ; } @@ -42,7 +42,7 @@ class TotalEnergy : public Component { using Component::construct; // children - Field> polynomial1d{this}; + Field> polynomial1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class TotalEnergy : public Component { // default, and from fields explicit TotalEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp index a5f59bb9a..2433ccd9e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_FPY_ENERGY #define TRY_V2_0_FPY_ENERGY -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class Energy : public Component { { return // children - unknownNamespace::Double{} + containers::Double{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class Energy : public Component { using Component::construct; // children - Field Double{this}; + Field Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Energy : public Component { // default, and from fields explicit Energy( - const wrapper &Double = {} + const wrapper &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp index 4cc88e031..771c18809 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_FPY_TIME #define TRY_V2_0_FPY_TIME -#include "try/v2.0/unknownNamespace/Double.hpp" -#include "try/v2.0/unknownNamespace/String.hpp" +#include "try/v2.0/containers/Double.hpp" +#include "try/v2.0/containers/String.hpp" namespace try { namespace v2_0 { @@ -21,8 +21,8 @@ class Time : public Component { friend class Component; using _t = std::variant< - unknownNamespace::Double, - unknownNamespace::String + containers::Double, + containers::String >; // ------------------------ @@ -49,8 +49,8 @@ class Time : public Component { // children - variant Field<_t> _Doublestring{this}; - FieldPart Double{_Doublestring}; - FieldPart string{_Doublestring}; + FieldPart Double{_Doublestring}; + FieldPart string{_Doublestring}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp index 328f71ef6..6839ad1c8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_FPY_YIELDS #include "try/v2.0/fpy/Nuclides.hpp" -#include "try/v2.0/unknownNamespace/Values.hpp" +#include "try/v2.0/containers/Values.hpp" #include "try/v2.0/pops/Uncertainty.hpp" namespace try { @@ -37,7 +37,7 @@ class Yields : public Component { // children fpy::Nuclides{} / --Child<>("nuclides") | - unknownNamespace::Values{} + containers::Values{} / --Child<>("values") | std::optional{} / --Child<>("uncertainty") @@ -49,7 +49,7 @@ class Yields : public Component { // children Field nuclides{this}; - Field values{this}; + Field values{this}; Field> uncertainty{this}; // ------------------------ @@ -64,7 +64,7 @@ class Yields : public Component { // default, and from fields explicit Yields( const wrapper &nuclides = {}, - const wrapper &values = {}, + const wrapper &values = {}, const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/key.hpp b/standards/gnds-2.0/try/src/try/v2.0/key.hpp index 6e643d302..e797344fe 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/key.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/key.hpp @@ -44,10 +44,13 @@ GNDSTK_MAKE_LOOKUP(channelSpin,channelSpin); GNDSTK_MAKE_LOOKUP(checksum,checksum); GNDSTK_MAKE_LOOKUP(coefficient,coefficient); GNDSTK_MAKE_LOOKUP(columnIndex,columnIndex); +GNDSTK_MAKE_LOOKUP(columns,columns); GNDSTK_MAKE_LOOKUP(complete,complete); +GNDSTK_MAKE_LOOKUP(compression,compression); GNDSTK_MAKE_LOOKUP(confidence,confidence); GNDSTK_MAKE_LOOKUP(conserve,conserve); GNDSTK_MAKE_LOOKUP(contributorType,contributorType); +GNDSTK_MAKE_LOOKUP(count,count); GNDSTK_MAKE_LOOKUP(crossTerm,crossTerm); GNDSTK_MAKE_LOOKUP(date,date); GNDSTK_MAKE_LOOKUP(dateType,dateType); @@ -79,9 +82,13 @@ GNDSTK_MAKE_LOOKUP(identicalParticles,identicalParticles); GNDSTK_MAKE_LOOKUP(incoherentApproximation,incoherentApproximation); GNDSTK_MAKE_LOOKUP(index,index); GNDSTK_MAKE_LOOKUP(interaction,interaction); +GNDSTK_MAKE_LOOKUP(interpolation,interpolation); +GNDSTK_MAKE_LOOKUP(interpolationQualifier,interpolationQualifier); GNDSTK_MAKE_LOOKUP(label,label); +GNDSTK_MAKE_LOOKUP(length,length); GNDSTK_MAKE_LOOKUP(library,library); GNDSTK_MAKE_LOOKUP(lower,lower); +GNDSTK_MAKE_LOOKUP(lowerIndex,lowerIndex); GNDSTK_MAKE_LOOKUP(markup,markup); GNDSTK_MAKE_LOOKUP(matrixStartIndex,matrixStartIndex); GNDSTK_MAKE_LOOKUP(max,max); @@ -95,9 +102,12 @@ GNDSTK_MAKE_LOOKUP(numberOfBands,numberOfBands); GNDSTK_MAKE_LOOKUP(numberOfBins,numberOfBins); GNDSTK_MAKE_LOOKUP(numberOfProducts,numberOfProducts); GNDSTK_MAKE_LOOKUP(numberPerMolecule,numberPerMolecule); +GNDSTK_MAKE_LOOKUP(offset,offset); GNDSTK_MAKE_LOOKUP(orcid,orcid); +GNDSTK_MAKE_LOOKUP(outerDomainValue,outerDomainValue); GNDSTK_MAKE_LOOKUP(parity,parity); GNDSTK_MAKE_LOOKUP(path,path); +GNDSTK_MAKE_LOOKUP(permutation,permutation); GNDSTK_MAKE_LOOKUP(pid,pid); GNDSTK_MAKE_LOOKUP(primaryScatterer,primaryScatterer); GNDSTK_MAKE_LOOKUP(process,process); @@ -110,21 +120,31 @@ GNDSTK_MAKE_LOOKUP(resonanceReaction,resonanceReaction); GNDSTK_MAKE_LOOKUP(retrievalDate,retrievalDate); GNDSTK_MAKE_LOOKUP(revisionID,revisionID); GNDSTK_MAKE_LOOKUP(revisionSystem,revisionSystem); +GNDSTK_MAKE_LOOKUP(rows,rows); +GNDSTK_MAKE_LOOKUP(sep,sep); +GNDSTK_MAKE_LOOKUP(shape,shape); GNDSTK_MAKE_LOOKUP(spin,spin); GNDSTK_MAKE_LOOKUP(standardEvaluation,standardEvaluation); GNDSTK_MAKE_LOOKUP(standardTarget,standardTarget); +GNDSTK_MAKE_LOOKUP(start,start); +GNDSTK_MAKE_LOOKUP(startIndex,startIndex); +GNDSTK_MAKE_LOOKUP(storageOrder,storageOrder); +GNDSTK_MAKE_LOOKUP(style,style); GNDSTK_MAKE_LOOKUP(subentry,subentry); GNDSTK_MAKE_LOOKUP(subshell,subshell); GNDSTK_MAKE_LOOKUP(supportsAngularReconstruction,supportsAngularReconstruction); GNDSTK_MAKE_LOOKUP(symbol,symbol); GNDSTK_MAKE_LOOKUP(symmetric,symmetric); +GNDSTK_MAKE_LOOKUP(symmetry,symmetry); GNDSTK_MAKE_LOOKUP(target,target); GNDSTK_MAKE_LOOKUP(type,type); +GNDSTK_MAKE_LOOKUP(types,types); GNDSTK_MAKE_LOOKUP(unit,unit); GNDSTK_MAKE_LOOKUP(upper,upper); GNDSTK_MAKE_LOOKUP(upperCalculatedGroup,upperCalculatedGroup); GNDSTK_MAKE_LOOKUP(useForSelfShieldingOnly,useForSelfShieldingOnly); GNDSTK_MAKE_LOOKUP(value,value); +GNDSTK_MAKE_LOOKUP(valueType,valueType); GNDSTK_MAKE_LOOKUP(version,version); GNDSTK_MAKE_LOOKUP(xref,xref); @@ -191,6 +211,49 @@ using namespace child; } // namespace common +// ----------------------------------------------------------------------------- +// containers::child:: +// ----------------------------------------------------------------------------- + +namespace containers { +namespace child { + +inline const Child<> Double("double"); +inline const Child<> Legendre("Legendre"); +inline const Child<> XYs1d("XYs1d"); +inline const Child<> XYs2d("XYs2d"); +inline const Child<> XYs3d("XYs3d"); +inline const Child<> Ys1d("Ys1d"); +inline const Child<> array("array"); +inline const Child<> axes("axes"); +inline const Child<> axis("axis"); +inline const Child<> column("column"); +inline const Child<> columnHeaders("columnHeaders"); +inline const Child<> constant1d("constant1d"); +inline const Child<> data("data"); +inline const Child<> fraction("fraction"); +inline const Child<> function1ds("function1ds"); +inline const Child<> function2ds("function2ds"); +inline const Child<> function3ds("function3ds"); +inline const Child<> grid("grid"); +inline const Child<> gridded1d("gridded1d"); +inline const Child<> gridded2d("gridded2d"); +inline const Child<> gridded3d("gridded3d"); +inline const Child<> integer("integer"); +inline const Child<> link("link"); +inline const Child<> polynomial1d("polynomial1d"); +inline const Child<> regions1d("regions1d"); +inline const Child<> regions2d("regions2d"); +inline const Child<> regions3d("regions3d"); +inline const Child<> string("string"); +inline const Child<> table("table"); +inline const Child<> values("values"); + +} // namespace child +using namespace child; +} // namespace containers + + // ----------------------------------------------------------------------------- // covariance::child:: // ----------------------------------------------------------------------------- @@ -670,6 +733,7 @@ namespace key { using namespace appData::child; using namespace atomic::child; using namespace common::child; + using namespace containers::child; using namespace covariance::child; using namespace cpTransport::child; using namespace documentation::child; @@ -689,6 +753,7 @@ using namespace key; using namespace appData; using namespace atomic; using namespace common; +using namespace containers; using namespace covariance; using namespace cpTransport; using namespace documentation; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp index fea44716d..b2a9829e0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -46,7 +46,7 @@ class BindingEnergy : public Component { / --Child<>("documentation") | std::optional{} / --Child<>("uncertainty") | - std::optional{} + std::optional{} / ++Child<>("Double") ; } @@ -62,7 +62,7 @@ class BindingEnergy : public Component { // children Field> documentation{this}; Field> uncertainty{this}; - Field>> Double{this}; + Field>> Double{this}; // ------------------------ // Constructors @@ -83,7 +83,7 @@ class BindingEnergy : public Component { const wrapper &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, - const wrapper>> &Double = {} + const wrapper>> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp index 588e93a8f..07920887a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp @@ -7,8 +7,8 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Integer.hpp" -#include "try/v2.0/unknownNamespace/Fraction.hpp" +#include "try/v2.0/containers/Integer.hpp" +#include "try/v2.0/containers/Fraction.hpp" namespace try { namespace v2_0 { @@ -23,8 +23,8 @@ class Charge : public Component { friend class Component; using _t = std::variant< - unknownNamespace::Integer, - unknownNamespace::Fraction + containers::Integer, + containers::Fraction >; // ------------------------ @@ -71,8 +71,8 @@ class Charge : public Component { // children - variant Field<_t> _integerfraction{this}; - FieldPart integer{_integerfraction}; - FieldPart fraction{_integerfraction}; + FieldPart integer{_integerfraction}; + FieldPart fraction{_integerfraction}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp index 58f19e96b..98389c835 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_POPS_CONTINUUM #define TRY_V2_0_POPS_CONTINUUM -#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class Continuum : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") ; } @@ -42,7 +42,7 @@ class Continuum : public Component { using Component::construct; // children - Field> XYs1d{this}; + Field> XYs1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Continuum : public Component { // default, and from fields explicit Continuum( - const wrapper> &XYs1d = {} + const wrapper> &XYs1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp index b47e3a1d1..e331948c7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -46,7 +46,7 @@ class Energy : public Component { / --Child<>("documentation") | std::optional{} / --Child<>("uncertainty") | - std::optional{} + std::optional{} / ++Child<>("Double") ; } @@ -62,7 +62,7 @@ class Energy : public Component { // children Field> documentation{this}; Field> uncertainty{this}; - Field>> Double{this}; + Field>> Double{this}; // ------------------------ // Constructors @@ -83,7 +83,7 @@ class Energy : public Component { const wrapper &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, - const wrapper>> &Double = {} + const wrapper>> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp index b169e94d5..25473bb0f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp @@ -7,8 +7,8 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/String.hpp" -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/String.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -23,8 +23,8 @@ class Halflife : public Component { friend class Component; using _t = std::variant< - unknownNamespace::String, - unknownNamespace::Double + containers::String, + containers::Double >; // ------------------------ @@ -71,8 +71,8 @@ class Halflife : public Component { // children - variant Field<_t> _stringDouble{this}; - FieldPart string{_stringDouble}; - FieldPart Double{_stringDouble}; + FieldPart string{_stringDouble}; + FieldPart Double{_stringDouble}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp index c7d435a55..226e7bcd3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_POPS_LOGNORMAL #define TRY_V2_0_POPS_LOGNORMAL -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class LogNormal : public Component { { return // children - unknownNamespace::Double{} + containers::Double{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class LogNormal : public Component { using Component::construct; // children - Field Double{this}; + Field Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class LogNormal : public Component { // default, and from fields explicit LogNormal( - const wrapper &Double = {} + const wrapper &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp index d7e52e346..242956a1d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -46,7 +46,7 @@ class Mass : public Component { / --Child<>("documentation") | std::optional{} / --Child<>("uncertainty") | - std::optional{} + std::optional{} / --Child<>("Double") ; } @@ -62,7 +62,7 @@ class Mass : public Component { // children Field> documentation{this}; Field> uncertainty{this}; - Field> Double{this}; + Field> Double{this}; // ------------------------ // Constructors @@ -83,7 +83,7 @@ class Mass : public Component { const wrapper &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, - const wrapper> &Double = {} + const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp index 74c8ef1df..60ac1e7c1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Integer.hpp" +#include "try/v2.0/containers/Integer.hpp" namespace try { namespace v2_0 { @@ -46,7 +46,7 @@ class Parity : public Component { / --Child<>("documentation") | std::optional{} / --Child<>("uncertainty") | - std::optional{} + std::optional{} / ++Child<>("integer") ; } @@ -62,7 +62,7 @@ class Parity : public Component { // children Field> documentation{this}; Field> uncertainty{this}; - Field>> integer{this}; + Field>> integer{this}; // ------------------------ // Constructors @@ -83,7 +83,7 @@ class Parity : public Component { const wrapper &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, - const wrapper>> &integer = {} + const wrapper>> &integer = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp index d8cb6d40b..fa1621402 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_POPS_PDF #define TRY_V2_0_POPS_PDF -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class Pdf : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -45,8 +45,8 @@ class Pdf : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> regions1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class Pdf : public Component { // default, and from fields explicit Pdf( - const wrapper> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Probability.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Probability.hpp index a9eab5761..9b208c6f1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Probability.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Probability.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_POPS_PROBABILITY #define TRY_V2_0_POPS_PROBABILITY -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class Probability : public Component { { return // children - unknownNamespace::Double{} + containers::Double{} / ++Child<>("Double") ; } @@ -42,7 +42,7 @@ class Probability : public Component { using Component::construct; // children - Field> Double{this}; + Field> Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Probability : public Component { // default, and from fields explicit Probability( - const wrapper> &Double = {} + const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp index d0ae21cff..2c0ad434e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -46,7 +46,7 @@ class Q : public Component { / --Child<>("documentation") | std::optional{} / --Child<>("uncertainty") | - unknownNamespace::Double{} + containers::Double{} / ++Child<>("Double") ; } @@ -62,7 +62,7 @@ class Q : public Component { // children Field> documentation{this}; Field> uncertainty{this}; - Field> Double{this}; + Field> Double{this}; // ------------------------ // Constructors @@ -83,7 +83,7 @@ class Q : public Component { const wrapper &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, - const wrapper> &Double = {} + const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp index a09a5743d..314bee512 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/documentation/Documentation.hpp" #include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/unknownNamespace/Fraction.hpp" +#include "try/v2.0/containers/Fraction.hpp" namespace try { namespace v2_0 { @@ -46,7 +46,7 @@ class Spin : public Component { / --Child<>("documentation") | std::optional{} / --Child<>("uncertainty") | - std::optional{} + std::optional{} / ++Child<>("fraction") ; } @@ -62,7 +62,7 @@ class Spin : public Component { // children Field> documentation{this}; Field> uncertainty{this}; - Field>> fraction{this}; + Field>> fraction{this}; // ------------------------ // Constructors @@ -83,7 +83,7 @@ class Spin : public Component { const wrapper &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, - const wrapper>> &fraction = {} + const wrapper>> &fraction = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp index dc9511df6..a43c72a85 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_POPS_STANDARD #define TRY_V2_0_POPS_STANDARD -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class Standard : public Component { { return // children - unknownNamespace::Double{} + containers::Double{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class Standard : public Component { using Component::construct; // children - Field Double{this}; + Field Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Standard : public Component { // default, and from fields explicit Standard( - const wrapper &Double = {} + const wrapper &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp index 3dd7ea400..9a1b12770 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_PROCESSED_AVAILABLEENERGY #define TRY_V2_0_PROCESSED_AVAILABLEENERGY -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Gridded1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class AvailableEnergy : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("gridded1d") ; } @@ -45,8 +45,8 @@ class AvailableEnergy : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> gridded1d{this}; + Field> XYs1d{this}; + Field> gridded1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class AvailableEnergy : public Component { // default, and from fields explicit AvailableEnergy( - const wrapper> &XYs1d = {}, - const wrapper> &gridded1d = {} + const wrapper> &XYs1d = {}, + const wrapper> &gridded1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp index 96c2f4b01..599072eb8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM #define TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Gridded1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class AvailableMomentum : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("gridded1d") ; } @@ -45,8 +45,8 @@ class AvailableMomentum : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> gridded1d{this}; + Field> XYs1d{this}; + Field> gridded1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class AvailableMomentum : public Component { // default, and from fields explicit AvailableMomentum( - const wrapper> &XYs1d = {}, - const wrapper> &gridded1d = {} + const wrapper> &XYs1d = {}, + const wrapper> &gridded1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp index a82cdc18d..5ba6dec6c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp @@ -5,9 +5,9 @@ #ifndef TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY #define TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Gridded1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -35,11 +35,11 @@ class AverageProductEnergy : public Component { { return // children - unknownNamespace::XYs1d{} + containers::XYs1d{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("gridded1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -48,9 +48,9 @@ class AverageProductEnergy : public Component { using Component::construct; // children - Field XYs1d{this}; - Field> gridded1d{this}; - Field> regions1d{this}; + Field XYs1d{this}; + Field> gridded1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -63,9 +63,9 @@ class AverageProductEnergy : public Component { // default, and from fields explicit AverageProductEnergy( - const wrapper &XYs1d = {}, - const wrapper> &gridded1d = {}, - const wrapper> ®ions1d = {} + const wrapper &XYs1d = {}, + const wrapper> &gridded1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp index 473ce60da..ee2d18caf 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp @@ -5,9 +5,9 @@ #ifndef TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM #define TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Gridded1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -35,11 +35,11 @@ class AverageProductMomentum : public Component{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("gridded1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -48,9 +48,9 @@ class AverageProductMomentum : public Component> XYs1d{this}; - Field> gridded1d{this}; - Field> regions1d{this}; + Field> XYs1d{this}; + Field> gridded1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -63,9 +63,9 @@ class AverageProductMomentum : public Component> &XYs1d = {}, - const wrapper> &gridded1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &XYs1d = {}, + const wrapper> &gridded1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp index 1be02fdfa..2b9bb0077 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_PROCESSED_MULTIGROUP3D #define TRY_V2_0_PROCESSED_MULTIGROUP3D -#include "try/v2.0/unknownNamespace/Gridded3d.hpp" +#include "try/v2.0/containers/Gridded3d.hpp" namespace try { namespace v2_0 { @@ -38,7 +38,7 @@ class MultiGroup3d : public Component { XMLName{} / Meta<>("productFrame") | // children - unknownNamespace::Gridded3d{} + containers::Gridded3d{} / --Child<>("gridded3d") ; } @@ -51,7 +51,7 @@ class MultiGroup3d : public Component { Field productFrame{this}; // children - Field gridded3d{this}; + Field gridded3d{this}; // ------------------------ // Constructors @@ -66,7 +66,7 @@ class MultiGroup3d : public Component { explicit MultiGroup3d( const wrapper &label = {}, const wrapper &productFrame = {}, - const wrapper &gridded3d = {} + const wrapper &gridded3d = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp index b2bf29f2b..08df844e5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_RESONANCES_EXTERNALRMATRIX #define TRY_V2_0_RESONANCES_EXTERNALRMATRIX -#include "try/v2.0/unknownNamespace/Double.hpp" +#include "try/v2.0/containers/Double.hpp" namespace try { namespace v2_0 { @@ -36,7 +36,7 @@ class ExternalRMatrix : public Component { Defaulted{"Froehner"} / Meta<>("type") | // children - unknownNamespace::Double{} + containers::Double{} / ++Child<>("Double") ; } @@ -53,7 +53,7 @@ class ExternalRMatrix : public Component { Field> type{this,defaults.type}; // children - Field> Double{this}; + Field> Double{this}; // ------------------------ // Constructors @@ -67,7 +67,7 @@ class ExternalRMatrix : public Component { // std::optional replaces Defaulted; this class knows the default(s) explicit ExternalRMatrix( const wrapper> &type = {}, - const wrapper> &Double = {} + const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), type(this,defaults.type,type), diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp index 11426a96a..f8ee66cc1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_RESONANCES_HARDSPHERERADIUS #define TRY_V2_0_RESONANCES_HARDSPHERERADIUS -#include "try/v2.0/unknownNamespace/Constant1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class HardSphereRadius : public Component { { return // children - unknownNamespace::Constant1d{} + containers::Constant1d{} / --Child<>("constant1d") ; } @@ -42,7 +42,7 @@ class HardSphereRadius : public Component { using Component::construct; // children - Field constant1d{this}; + Field constant1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class HardSphereRadius : public Component { // default, and from fields explicit HardSphereRadius( - const wrapper &constant1d = {} + const wrapper &constant1d = {} ) : GNDSTK_COMPONENT(BlockData{}), constant1d(this,constant1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp index 74ed22baa..232a140cd 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp @@ -5,9 +5,9 @@ #ifndef TRY_V2_0_RESONANCES_LEVELSPACING #define TRY_V2_0_RESONANCES_LEVELSPACING -#include "try/v2.0/unknownNamespace/Constant1d.hpp" -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -35,11 +35,11 @@ class LevelSpacing : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("constant1d") | - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -48,9 +48,9 @@ class LevelSpacing : public Component { using Component::construct; // children - Field> constant1d{this}; - Field> XYs1d{this}; - Field> regions1d{this}; + Field> constant1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -63,9 +63,9 @@ class LevelSpacing : public Component { // default, and from fields explicit LevelSpacing( - const wrapper> &constant1d = {}, - const wrapper> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &constant1d = {}, + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), constant1d(this,constant1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp index b0880d727..dfb4f2ccc 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_RESONANCES_RESONANCEPARAMETERS #define TRY_V2_0_RESONANCES_RESONANCEPARAMETERS -#include "try/v2.0/unknownNamespace/Table.hpp" +#include "try/v2.0/containers/Table.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class ResonanceParameters : public Component { { return // children - unknownNamespace::Table{} + containers::Table{} / --Child<>("table") ; } @@ -42,7 +42,7 @@ class ResonanceParameters : public Component { using Component::construct; // children - Field table{this}; + Field table{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class ResonanceParameters : public Component { // default, and from fields explicit ResonanceParameters( - const wrapper &table = {} + const wrapper &table = {} ) : GNDSTK_COMPONENT(BlockData{}), table(this,table) diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp index 65154de7b..ece382f09 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp @@ -8,7 +8,7 @@ #include "try/v2.0/ambiguousNamespace/Q.hpp" #include "try/v2.0/resonances/ScatteringRadius.hpp" #include "try/v2.0/resonances/HardSphereRadius.hpp" -#include "try/v2.0/unknownNamespace/Link.hpp" +#include "try/v2.0/containers/Link.hpp" namespace try { namespace v2_0 { @@ -51,7 +51,7 @@ class ResonanceReaction : public Component { / --Child<>("scatteringRadius") | std::optional{} / --Child<>("hardSphereRadius") | - unknownNamespace::Link{} + containers::Link{} / --Child<>("link") ; } @@ -74,7 +74,7 @@ class ResonanceReaction : public Component { Field> Q{this}; Field> scatteringRadius{this}; Field> hardSphereRadius{this}; - Field link{this}; + Field link{this}; // ------------------------ // Constructors @@ -100,7 +100,7 @@ class ResonanceReaction : public Component { const wrapper> &Q = {}, const wrapper> &scatteringRadius = {}, const wrapper> &hardSphereRadius = {}, - const wrapper &link = {} + const wrapper &link = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp index 267b70254..b879e3043 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp @@ -5,9 +5,9 @@ #ifndef TRY_V2_0_RESONANCES_SCATTERINGRADIUS #define TRY_V2_0_RESONANCES_SCATTERINGRADIUS -#include "try/v2.0/unknownNamespace/Constant1d.hpp" -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -22,9 +22,9 @@ class ScatteringRadius : public Component { friend class Component; using _t = std::variant< - unknownNamespace::Constant1d, - unknownNamespace::XYs1d, - unknownNamespace::Regions1d + containers::Constant1d, + containers::XYs1d, + containers::Regions1d >; // ------------------------ @@ -51,9 +51,9 @@ class ScatteringRadius : public Component { // children - variant Field<_t> _constant1dXYs1dregions1d{this}; - FieldPart constant1d{_constant1dXYs1dregions1d}; - FieldPart XYs1d{_constant1dXYs1dregions1d}; - FieldPart regions1d{_constant1dXYs1dregions1d}; + FieldPart constant1d{_constant1dXYs1dregions1d}; + FieldPart XYs1d{_constant1dXYs1dregions1d}; + FieldPart regions1d{_constant1dXYs1dregions1d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp index a4d300f02..fab370f06 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp @@ -5,9 +5,9 @@ #ifndef TRY_V2_0_RESONANCES_WIDTH #define TRY_V2_0_RESONANCES_WIDTH -#include "try/v2.0/unknownNamespace/Constant1d.hpp" -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -40,11 +40,11 @@ class Width : public Component { Float64{} / Meta<>("degreesOfFreedom") | // children - std::optional{} + std::optional{} / --Child<>("constant1d") | - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -57,9 +57,9 @@ class Width : public Component { Field degreesOfFreedom{this}; // children - Field> constant1d{this}; - Field> XYs1d{this}; - Field> regions1d{this}; + Field> constant1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -76,9 +76,9 @@ class Width : public Component { explicit Width( const wrapper &resonanceReaction = {}, const wrapper °reesOfFreedom = {}, - const wrapper> &constant1d = {}, - const wrapper> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &constant1d = {}, + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), resonanceReaction(this,resonanceReaction), diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp index e5ca19281..3666d4694 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_STYLES_FLUX #define TRY_V2_0_STYLES_FLUX -#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" namespace try { namespace v2_0 { @@ -36,7 +36,7 @@ class Flux : public Component { XMLName{} / Meta<>("label") | // children - unknownNamespace::XYs2d{} + containers::XYs2d{} / --Child<>("XYs2d") ; } @@ -48,7 +48,7 @@ class Flux : public Component { Field label{this}; // children - Field XYs2d{this}; + Field XYs2d{this}; // ------------------------ // Constructors @@ -61,7 +61,7 @@ class Flux : public Component { // default, and from fields explicit Flux( const wrapper &label = {}, - const wrapper &XYs2d = {} + const wrapper &XYs2d = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp index e0bb44c61..b32393ce3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_STYLES_GRIDDEDCROSSSECTION #define TRY_V2_0_STYLES_GRIDDEDCROSSSECTION -#include "try/v2.0/unknownNamespace/Grid.hpp" +#include "try/v2.0/containers/Grid.hpp" #include "try/v2.0/documentation/Documentation.hpp" namespace try { @@ -41,7 +41,7 @@ class GriddedCrossSection : public Component { XMLName{} / Meta<>("label") | // children - unknownNamespace::Grid{} + containers::Grid{} / --Child<>("grid") | std::optional{} / --Child<>("documentation") @@ -57,7 +57,7 @@ class GriddedCrossSection : public Component { Field label{this}; // children - Field grid{this}; + Field grid{this}; Field> documentation{this}; // ------------------------ @@ -76,7 +76,7 @@ class GriddedCrossSection : public Component { const wrapper &date = {}, const wrapper &derivedFrom = {}, const wrapper &label = {}, - const wrapper &grid = {}, + const wrapper &grid = {}, const wrapper> &documentation = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp index 99b433525..ff50f640d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_STYLES_INVERSESPEED #define TRY_V2_0_STYLES_INVERSESPEED -#include "try/v2.0/unknownNamespace/Gridded1d.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" namespace try { namespace v2_0 { @@ -36,7 +36,7 @@ class InverseSpeed : public Component { std::optional{} / Meta<>("label") | // children - unknownNamespace::Gridded1d{} + containers::Gridded1d{} / --Child<>("gridded1d") ; } @@ -48,7 +48,7 @@ class InverseSpeed : public Component { Field> label{this}; // children - Field gridded1d{this}; + Field gridded1d{this}; // ------------------------ // Constructors @@ -61,7 +61,7 @@ class InverseSpeed : public Component { // default, and from fields explicit InverseSpeed( const wrapper> &label = {}, - const wrapper &gridded1d = {} + const wrapper &gridded1d = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp index 912023e12..c928dca05 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_STYLES_MULTIGROUP #define TRY_V2_0_STYLES_MULTIGROUP -#include "try/v2.0/unknownNamespace/Grid.hpp" +#include "try/v2.0/containers/Grid.hpp" namespace try { namespace v2_0 { @@ -36,7 +36,7 @@ class MultiGroup : public Component { XMLName{} / Meta<>("label") | // children - unknownNamespace::Grid{} + containers::Grid{} / --Child<>("grid") ; } @@ -48,7 +48,7 @@ class MultiGroup : public Component { Field label{this}; // children - Field grid{this}; + Field grid{this}; // ------------------------ // Constructors @@ -61,7 +61,7 @@ class MultiGroup : public Component { // default, and from fields explicit MultiGroup( const wrapper &label = {}, - const wrapper &grid = {} + const wrapper &grid = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp index 6de551dd4..8ff2ea656 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_STYLES_SIGMAZEROS #define TRY_V2_0_STYLES_SIGMAZEROS -#include "try/v2.0/unknownNamespace/Values.hpp" +#include "try/v2.0/containers/Values.hpp" namespace try { namespace v2_0 { @@ -36,7 +36,7 @@ class SigmaZeros : public Component { std::optional{} / Meta<>("label") | // children - unknownNamespace::Values{} + containers::Values{} / --Child<>("values") ; } @@ -48,7 +48,7 @@ class SigmaZeros : public Component { Field> label{this}; // children - Field values{this}; + Field values{this}; // ------------------------ // Constructors @@ -61,7 +61,7 @@ class SigmaZeros : public Component { // default, and from fields explicit SigmaZeros( const wrapper> &label = {}, - const wrapper &values = {} + const wrapper &values = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp index 1edd5f26d..2e831950b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_A #define TRY_V2_0_TRANSPORT_A -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" namespace try { namespace v2_0 { @@ -21,8 +21,8 @@ class A : public Component { friend class Component; using _t = std::variant< - unknownNamespace::XYs2d, - unknownNamespace::Regions2d + containers::XYs2d, + containers::Regions2d >; // ------------------------ @@ -49,8 +49,8 @@ class A : public Component { // children - variant Field<_t> _XYs2dregions2d{this}; - FieldPart XYs2d{_XYs2dregions2d}; - FieldPart regions2d{_XYs2dregions2d}; + FieldPart XYs2d{_XYs2dregions2d}; + FieldPart regions2d{_XYs2dregions2d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp index b140663be..bad8c47ad 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TRANSPORT_ANGULARENERGY #define TRY_V2_0_TRANSPORT_ANGULARENERGY -#include "try/v2.0/unknownNamespace/XYs3d.hpp" +#include "try/v2.0/containers/XYs3d.hpp" namespace try { namespace v2_0 { @@ -38,7 +38,7 @@ class AngularEnergy : public Component { XMLName{} / Meta<>("productFrame") | // children - unknownNamespace::XYs3d{} + containers::XYs3d{} / --Child<>("XYs3d") ; } @@ -51,7 +51,7 @@ class AngularEnergy : public Component { Field productFrame{this}; // children - Field XYs3d{this}; + Field XYs3d{this}; // ------------------------ // Constructors @@ -66,7 +66,7 @@ class AngularEnergy : public Component { explicit AngularEnergy( const wrapper &label = {}, const wrapper &productFrame = {}, - const wrapper &XYs3d = {} + const wrapper &XYs3d = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp index d5a6d649a..79c612d76 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_ANGULARTWOBODY #define TRY_V2_0_TRANSPORT_ANGULARTWOBODY -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" #include "try/v2.0/transport/Isotropic2d.hpp" #include "try/v2.0/transport/Recoil.hpp" @@ -41,9 +41,9 @@ class AngularTwoBody : public Component { XMLName{} / Meta<>("productFrame") | // children - std::optional{} + std::optional{} / --Child<>("XYs2d") | - std::optional{} + std::optional{} / --Child<>("regions2d") | std::optional{} / --Child<>("isotropic2d") | @@ -60,8 +60,8 @@ class AngularTwoBody : public Component { Field productFrame{this}; // children - Field> XYs2d{this}; - Field> regions2d{this}; + Field> XYs2d{this}; + Field> regions2d{this}; Field> isotropic2d{this}; Field> recoil{this}; @@ -81,8 +81,8 @@ class AngularTwoBody : public Component { explicit AngularTwoBody( const wrapper> &label = {}, const wrapper &productFrame = {}, - const wrapper> &XYs2d = {}, - const wrapper> ®ions2d = {}, + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {}, const wrapper> &isotropic2d = {}, const wrapper> &recoil = {} ) : diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp index 96238d4c2..3952387f4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED #define TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED -#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" #include "try/v2.0/transport/Isotropic2d.hpp" #include "try/v2.0/transport/Forward.hpp" @@ -35,7 +35,7 @@ class Angular_uncorrelated : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs2d") | std::optional{} / --Child<>("isotropic2d") | @@ -48,7 +48,7 @@ class Angular_uncorrelated : public Component { using Component::construct; // children - Field> XYs2d{this}; + Field> XYs2d{this}; Field> isotropic2d{this}; Field> forward{this}; @@ -63,7 +63,7 @@ class Angular_uncorrelated : public Component { // default, and from fields explicit Angular_uncorrelated( - const wrapper> &XYs2d = {}, + const wrapper> &XYs2d = {}, const wrapper> &isotropic2d = {}, const wrapper> &forward = {} ) : diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp index d77b51ce5..180cda90d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp @@ -5,14 +5,14 @@ #ifndef TRY_V2_0_TRANSPORT_CROSSSECTION #define TRY_V2_0_TRANSPORT_CROSSSECTION -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" #include "try/v2.0/transport/ResonancesWithBackground.hpp" #include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" #include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" #include "try/v2.0/transport/Reference.hpp" -#include "try/v2.0/unknownNamespace/Gridded1d.hpp" -#include "try/v2.0/unknownNamespace/Ys1d.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" +#include "try/v2.0/containers/Ys1d.hpp" #include "try/v2.0/transport/URR_probabilityTables1d.hpp" namespace try { @@ -28,14 +28,14 @@ class CrossSection : public Component { friend class Component; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Regions1d, + containers::XYs1d, + containers::Regions1d, transport::ResonancesWithBackground, cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw1d, transport::Reference, - unknownNamespace::Gridded1d, - unknownNamespace::Ys1d, + containers::Gridded1d, + containers::Ys1d, transport::URR_probabilityTables1d >; @@ -69,14 +69,14 @@ class CrossSection : public Component { // children - variant Field<_t> _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d{this}; - FieldPart XYs1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart regions1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart XYs1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart regions1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; FieldPart resonancesWithBackground{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; FieldPart CoulombPlusNuclearElastic{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; FieldPart thermalNeutronScatteringLaw1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; FieldPart reference{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart gridded1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart Ys1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart gridded1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart Ys1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; FieldPart URR_probabilityTables1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; // ------------------------ diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp index f9f5636c6..5846d2303 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TRANSPORT_DISCRETEGAMMA #define TRY_V2_0_TRANSPORT_DISCRETEGAMMA -#include "try/v2.0/unknownNamespace/Axes.hpp" +#include "try/v2.0/containers/Axes.hpp" namespace try { namespace v2_0 { @@ -40,7 +40,7 @@ class DiscreteGamma : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} + std::optional{} / --Child<>("axes") ; } @@ -54,7 +54,7 @@ class DiscreteGamma : public Component { Field> value{this}; // children - Field> axes{this}; + Field> axes{this}; // ------------------------ // Constructors @@ -71,7 +71,7 @@ class DiscreteGamma : public Component { const wrapper> &domainMax = {}, const wrapper> &domainMin = {}, const wrapper> &value = {}, - const wrapper> &axes = {} + const wrapper> &axes = {} ) : GNDSTK_COMPONENT(BlockData{}), domainMax(this,domainMax), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp index a6f33202f..b05ad30cb 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION #define TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION -#include "try/v2.0/unknownNamespace/Regions3d.hpp" -#include "try/v2.0/unknownNamespace/XYs3d.hpp" +#include "try/v2.0/containers/Regions3d.hpp" +#include "try/v2.0/containers/XYs3d.hpp" #include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" #include "try/v2.0/transport/Reference.hpp" #include "try/v2.0/atomic/CoherentPhotonScattering.hpp" @@ -41,9 +41,9 @@ class DoubleDifferentialCrossSection : public Component{} + std::optional{} / --Child<>("regions3d") | - std::optional{} + std::optional{} / --Child<>("XYs3d") | std::optional{} / --Child<>("CoulombPlusNuclearElastic") | @@ -66,8 +66,8 @@ class DoubleDifferentialCrossSection : public Component> regions3d{this}; - Field> XYs3d{this}; + Field> regions3d{this}; + Field> XYs3d{this}; Field> CoulombPlusNuclearElastic{this}; Field> reference{this}; Field> coherentPhotonScattering{this}; @@ -93,8 +93,8 @@ class DoubleDifferentialCrossSection : public Component> ®ions3d = {}, - const wrapper> &XYs3d = {}, + const wrapper> ®ions3d = {}, + const wrapper> &XYs3d = {}, const wrapper> &CoulombPlusNuclearElastic = {}, const wrapper> &reference = {}, const wrapper> &coherentPhotonScattering = {}, diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular.hpp index 219562830..db0eeb043 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TRANSPORT_ENERGYANGULAR #define TRY_V2_0_TRANSPORT_ENERGYANGULAR -#include "try/v2.0/unknownNamespace/XYs3d.hpp" +#include "try/v2.0/containers/XYs3d.hpp" namespace try { namespace v2_0 { @@ -38,7 +38,7 @@ class EnergyAngular : public Component { XMLName{} / Meta<>("productFrame") | // children - unknownNamespace::XYs3d{} + containers::XYs3d{} / --Child<>("XYs3d") ; } @@ -51,7 +51,7 @@ class EnergyAngular : public Component { Field productFrame{this}; // children - Field XYs3d{this}; + Field XYs3d{this}; // ------------------------ // Constructors @@ -66,7 +66,7 @@ class EnergyAngular : public Component { explicit EnergyAngular( const wrapper> &label = {}, const wrapper &productFrame = {}, - const wrapper &XYs3d = {} + const wrapper &XYs3d = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp index dcc4ce5cf..08d01dbf7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED #define TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" #include "try/v2.0/transport/GeneralEvaporation.hpp" #include "try/v2.0/transport/DiscreteGamma.hpp" #include "try/v2.0/transport/PrimaryGamma.hpp" @@ -43,9 +43,9 @@ class Energy_uncorrelated : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs2d") | - std::optional{} + std::optional{} / --Child<>("regions2d") | std::optional{} / --Child<>("generalEvaporation") | @@ -72,8 +72,8 @@ class Energy_uncorrelated : public Component { using Component::construct; // children - Field> XYs2d{this}; - Field> regions2d{this}; + Field> XYs2d{this}; + Field> regions2d{this}; Field> generalEvaporation{this}; Field> discreteGamma{this}; Field> primaryGamma{this}; @@ -103,8 +103,8 @@ class Energy_uncorrelated : public Component { // default, and from fields explicit Energy_uncorrelated( - const wrapper> &XYs2d = {}, - const wrapper> ®ions2d = {}, + const wrapper> &XYs2d = {}, + const wrapper> ®ions2d = {}, const wrapper> &generalEvaporation = {}, const wrapper> &discreteGamma = {}, const wrapper> &primaryGamma = {}, diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp index 7e290533d..ea5f9044a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_F #define TRY_V2_0_TRANSPORT_F -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" namespace try { namespace v2_0 { @@ -21,8 +21,8 @@ class F : public Component { friend class Component; using _t = std::variant< - unknownNamespace::XYs2d, - unknownNamespace::Regions2d + containers::XYs2d, + containers::Regions2d >; // ------------------------ @@ -49,8 +49,8 @@ class F : public Component { // children - variant Field<_t> _XYs2dregions2d{this}; - FieldPart XYs2d{_XYs2dregions2d}; - FieldPart regions2d{_XYs2dregions2d}; + FieldPart XYs2d{_XYs2dregions2d}; + FieldPart regions2d{_XYs2dregions2d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp index a14550200..9dcbeb1c4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_FASTREGION #define TRY_V2_0_TRANSPORT_FASTREGION -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -21,8 +21,8 @@ class FastRegion : public Component { friend class Component; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Regions1d + containers::XYs1d, + containers::Regions1d >; // ------------------------ @@ -49,8 +49,8 @@ class FastRegion : public Component { // children - variant Field<_t> _XYs1dregions1d{this}; - FieldPart XYs1d{_XYs1dregions1d}; - FieldPart regions1d{_XYs1dregions1d}; + FieldPart XYs1d{_XYs1dregions1d}; + FieldPart regions1d{_XYs1dregions1d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp index 87de92f86..7296ea94c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_G #define TRY_V2_0_TRANSPORT_G -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class G : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -45,8 +45,8 @@ class G : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> regions1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class G : public Component { // default, and from fields explicit G( - const wrapper> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp index 626f5d24e..84b1d1e8c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TRANSPORT_MULTIGROUP3D #define TRY_V2_0_TRANSPORT_MULTIGROUP3D -#include "try/v2.0/unknownNamespace/Gridded3d.hpp" +#include "try/v2.0/containers/Gridded3d.hpp" namespace try { namespace v2_0 { @@ -38,7 +38,7 @@ class MultiGroup3d : public Component { XMLName{} / Meta<>("productFrame") | // children - unknownNamespace::Gridded3d{} + containers::Gridded3d{} / --Child<>("gridded3d") ; } @@ -51,7 +51,7 @@ class MultiGroup3d : public Component { Field productFrame{this}; // children - Field gridded3d{this}; + Field gridded3d{this}; // ------------------------ // Constructors @@ -66,7 +66,7 @@ class MultiGroup3d : public Component { explicit MultiGroup3d( const wrapper &label = {}, const wrapper &productFrame = {}, - const wrapper &gridded3d = {} + const wrapper &gridded3d = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp index c1043cc32..fa535bfc9 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp @@ -5,13 +5,13 @@ #ifndef TRY_V2_0_TRANSPORT_MULTIPLICITY #define TRY_V2_0_TRANSPORT_MULTIPLICITY -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Constant1d.hpp" -#include "try/v2.0/unknownNamespace/Polynomial1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" #include "try/v2.0/transport/Branching1d.hpp" #include "try/v2.0/transport/Reference.hpp" -#include "try/v2.0/unknownNamespace/Gridded1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -26,13 +26,13 @@ class Multiplicity : public Component { friend class Component; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Constant1d, - unknownNamespace::Polynomial1d, + containers::XYs1d, + containers::Constant1d, + containers::Polynomial1d, transport::Branching1d, transport::Reference, - unknownNamespace::Gridded1d, - unknownNamespace::Regions1d + containers::Gridded1d, + containers::Regions1d >; // ------------------------ @@ -59,13 +59,13 @@ class Multiplicity : public Component { // children - variant Field<_t> _XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d{this}; - FieldPart XYs1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; - FieldPart constant1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; - FieldPart polynomial1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart XYs1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart constant1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart polynomial1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; FieldPart branching1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; FieldPart reference{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; - FieldPart gridded1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; - FieldPart regions1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart gridded1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; + FieldPart regions1d{_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma.hpp index 427dbd758..57d60ede1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TRANSPORT_PRIMARYGAMMA #define TRY_V2_0_TRANSPORT_PRIMARYGAMMA -#include "try/v2.0/unknownNamespace/Axes.hpp" +#include "try/v2.0/containers/Axes.hpp" namespace try { namespace v2_0 { @@ -42,7 +42,7 @@ class PrimaryGamma : public Component { std::optional{} / Meta<>("finalState") | // children - std::optional{} + std::optional{} / --Child<>("axes") ; } @@ -57,7 +57,7 @@ class PrimaryGamma : public Component { Field> finalState{this}; // children - Field> axes{this}; + Field> axes{this}; // ------------------------ // Constructors @@ -76,7 +76,7 @@ class PrimaryGamma : public Component { const wrapper> &domainMin = {}, const wrapper> &value = {}, const wrapper> &finalState = {}, - const wrapper> &axes = {} + const wrapper> &axes = {} ) : GNDSTK_COMPONENT(BlockData{}), domainMax(this,domainMax), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp index cd1a59bca..a7a7363f9 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_R #define TRY_V2_0_TRANSPORT_R -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" namespace try { namespace v2_0 { @@ -21,8 +21,8 @@ class R : public Component { friend class Component; using _t = std::variant< - unknownNamespace::XYs2d, - unknownNamespace::Regions2d + containers::XYs2d, + containers::Regions2d >; // ------------------------ @@ -49,8 +49,8 @@ class R : public Component { // children - variant Field<_t> _XYs2dregions2d{this}; - FieldPart XYs2d{_XYs2dregions2d}; - FieldPart regions2d{_XYs2dregions2d}; + FieldPart XYs2d{_XYs2dregions2d}; + FieldPart regions2d{_XYs2dregions2d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp index eb4caaeb9..9c2d2241f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_RESOLVEDREGION #define TRY_V2_0_TRANSPORT_RESOLVEDREGION -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -21,8 +21,8 @@ class ResolvedRegion : public Component { friend class Component; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Regions1d + containers::XYs1d, + containers::Regions1d >; // ------------------------ @@ -49,8 +49,8 @@ class ResolvedRegion : public Component { // children - variant Field<_t> _XYs1dregions1d{this}; - FieldPart XYs1d{_XYs1dregions1d}; - FieldPart regions1d{_XYs1dregions1d}; + FieldPart XYs1d{_XYs1dregions1d}; + FieldPart regions1d{_XYs1dregions1d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp index 5fc525c96..4b849cc74 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_THETA #define TRY_V2_0_TRANSPORT_THETA -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -34,9 +34,9 @@ class Theta : public Component { { return // children - std::optional{} + std::optional{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("regions1d") ; } @@ -45,8 +45,8 @@ class Theta : public Component { using Component::construct; // children - Field> XYs1d{this}; - Field> regions1d{this}; + Field> XYs1d{this}; + Field> regions1d{this}; // ------------------------ // Constructors @@ -58,8 +58,8 @@ class Theta : public Component { // default, and from fields explicit Theta( - const wrapper> &XYs1d = {}, - const wrapper> ®ions1d = {} + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp index 1280d7dd1..62d9bc40b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D #define TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D -#include "try/v2.0/unknownNamespace/XYs2d.hpp" -#include "try/v2.0/unknownNamespace/Regions2d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" namespace try { namespace v2_0 { @@ -21,8 +21,8 @@ class URR_probabilityTables1d : public Component; // ------------------------ @@ -55,8 +55,8 @@ class URR_probabilityTables1d : public Component _XYs2dregions2d{this}; - FieldPart XYs2d{_XYs2dregions2d}; - FieldPart regions2d{_XYs2dregions2d}; + FieldPart XYs2d{_XYs2dregions2d}; + FieldPart regions2d{_XYs2dregions2d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp index 03757d5a2..40dd27cba 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_UNRESOLVEDREGION #define TRY_V2_0_TRANSPORT_UNRESOLVEDREGION -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/Regions1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" namespace try { namespace v2_0 { @@ -21,8 +21,8 @@ class UnresolvedRegion : public Component { friend class Component; using _t = std::variant< - unknownNamespace::XYs1d, - unknownNamespace::Regions1d + containers::XYs1d, + containers::Regions1d >; // ------------------------ @@ -49,8 +49,8 @@ class UnresolvedRegion : public Component { // children - variant Field<_t> _XYs1dregions1d{this}; - FieldPart XYs1d{_XYs1dregions1d}; - FieldPart regions1d{_XYs1dregions1d}; + FieldPart XYs1d{_XYs1dregions1d}; + FieldPart regions1d{_XYs1dregions1d}; // ------------------------ // Constructors diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp index 618bfd733..396069476 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_WEIGHTED #define TRY_V2_0_TRANSPORT_WEIGHTED -#include "try/v2.0/unknownNamespace/XYs1d.hpp" -#include "try/v2.0/unknownNamespace/XYs2d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" #include "try/v2.0/transport/Evaporation.hpp" #include "try/v2.0/transport/GeneralEvaporation.hpp" #include "try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" @@ -39,9 +39,9 @@ class Weighted : public Component { { return // children - unknownNamespace::XYs1d{} + containers::XYs1d{} / --Child<>("XYs1d") | - std::optional{} + std::optional{} / --Child<>("XYs2d") | std::optional{} / --Child<>("evaporation") | @@ -60,8 +60,8 @@ class Weighted : public Component { using Component::construct; // children - Field XYs1d{this}; - Field> XYs2d{this}; + Field XYs1d{this}; + Field> XYs2d{this}; Field> evaporation{this}; Field> generalEvaporation{this}; Field> simpleMaxwellianFission{this}; @@ -83,8 +83,8 @@ class Weighted : public Component { // default, and from fields explicit Weighted( - const wrapper &XYs1d = {}, - const wrapper> &XYs2d = {}, + const wrapper &XYs1d = {}, + const wrapper> &XYs2d = {}, const wrapper> &evaporation = {}, const wrapper> &generalEvaporation = {}, const wrapper> &simpleMaxwellianFission = {}, diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp index 8bfc937b7..4a9576305 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_BRAGGENERGY #define TRY_V2_0_TSL_BRAGGENERGY -#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class BraggEnergy : public Component { { return // children - unknownNamespace::XYs1d{} + containers::XYs1d{} / --Child<>("XYs1d") ; } @@ -42,7 +42,7 @@ class BraggEnergy : public Component { using Component::construct; // children - Field XYs1d{this}; + Field XYs1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class BraggEnergy : public Component { // default, and from fields explicit BraggEnergy( - const wrapper &XYs1d = {} + const wrapper &XYs1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp index 102647843..0576b5e55 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_DEBYEWALLERINTEGRAL #define TRY_V2_0_TSL_DEBYEWALLERINTEGRAL -#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class DebyeWallerIntegral : public Component { { return // children - unknownNamespace::XYs1d{} + containers::XYs1d{} / --Child<>("XYs1d") ; } @@ -42,7 +42,7 @@ class DebyeWallerIntegral : public Component { using Component::construct; // children - Field XYs1d{this}; + Field XYs1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class DebyeWallerIntegral : public Component { // default, and from fields explicit DebyeWallerIntegral( - const wrapper &XYs1d = {} + const wrapper &XYs1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp index a8d86cfd2..fd05d1cd7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL #define TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL -#include "try/v2.0/unknownNamespace/Gridded3d.hpp" +#include "try/v2.0/containers/Gridded3d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class DistinctScatteringKernel : public Component { return // children - std::optional{} + std::optional{} / --Child<>("gridded3d") ; } @@ -42,7 +42,7 @@ class DistinctScatteringKernel : public Component using Component::construct; // children - Field> gridded3d{this}; + Field> gridded3d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class DistinctScatteringKernel : public Component // default, and from fields explicit DistinctScatteringKernel( - const wrapper> &gridded3d = {} + const wrapper> &gridded3d = {} ) : GNDSTK_COMPONENT(BlockData{}), gridded3d(this,gridded3d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp index a3cf238a7..85d61afa5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_PHONONSPECTRUM #define TRY_V2_0_TSL_PHONONSPECTRUM -#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class PhononSpectrum : public Component { { return // children - unknownNamespace::XYs1d{} + containers::XYs1d{} / --Child<>("XYs1d") ; } @@ -42,7 +42,7 @@ class PhononSpectrum : public Component { using Component::construct; // children - Field XYs1d{this}; + Field XYs1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class PhononSpectrum : public Component { // default, and from fields explicit PhononSpectrum( - const wrapper &XYs1d = {} + const wrapper &XYs1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp index 651d418c9..7532d2fd5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_S_TABLE #define TRY_V2_0_TSL_S_TABLE -#include "try/v2.0/unknownNamespace/Gridded2d.hpp" +#include "try/v2.0/containers/Gridded2d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class S_table : public Component { { return // children - unknownNamespace::Gridded2d{} + containers::Gridded2d{} / --Child<>("gridded2d") ; } @@ -42,7 +42,7 @@ class S_table : public Component { using Component::construct; // children - Field gridded2d{this}; + Field gridded2d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class S_table : public Component { // default, and from fields explicit S_table( - const wrapper &gridded2d = {} + const wrapper &gridded2d = {} ) : GNDSTK_COMPONENT(BlockData{}), gridded2d(this,gridded2d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp index b2b1eb480..55bbba5a3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_SELFSCATTERINGKERNEL #define TRY_V2_0_TSL_SELFSCATTERINGKERNEL -#include "try/v2.0/unknownNamespace/Gridded3d.hpp" +#include "try/v2.0/containers/Gridded3d.hpp" #include "try/v2.0/tsl/GaussianApproximation.hpp" #include "try/v2.0/tsl/SCTApproximation.hpp" #include "try/v2.0/tsl/FreeGasApproximation.hpp" @@ -23,7 +23,7 @@ class SelfScatteringKernel : public Component { friend class Component; using _t = std::variant< - unknownNamespace::Gridded3d, + containers::Gridded3d, tsl::GaussianApproximation, tsl::SCTApproximation, tsl::FreeGasApproximation @@ -59,7 +59,7 @@ class SelfScatteringKernel : public Component { // children - variant Field<_t> _gridded3dGaussianApproximationSCTApproximationfreeGasApproximation{this}; - FieldPart gridded3d{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; + FieldPart gridded3d{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; FieldPart GaussianApproximation{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; FieldPart SCTApproximation{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; FieldPart freeGasApproximation{_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp index d5ebe2b3d..00319faf6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_STRUCTUREFACTOR #define TRY_V2_0_TSL_STRUCTUREFACTOR -#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class StructureFactor : public Component { { return // children - unknownNamespace::XYs1d{} + containers::XYs1d{} / --Child<>("XYs1d") ; } @@ -42,7 +42,7 @@ class StructureFactor : public Component { using Component::construct; // children - Field XYs1d{this}; + Field XYs1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class StructureFactor : public Component { // default, and from fields explicit StructureFactor( - const wrapper &XYs1d = {} + const wrapper &XYs1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp index a4d94db7e..698058740 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_T_EFFECTIVE #define TRY_V2_0_TSL_T_EFFECTIVE -#include "try/v2.0/unknownNamespace/XYs1d.hpp" +#include "try/v2.0/containers/XYs1d.hpp" namespace try { namespace v2_0 { @@ -33,7 +33,7 @@ class T_effective : public Component { { return // children - unknownNamespace::XYs1d{} + containers::XYs1d{} / --Child<>("XYs1d") ; } @@ -42,7 +42,7 @@ class T_effective : public Component { using Component::construct; // children - Field XYs1d{this}; + Field XYs1d{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class T_effective : public Component { // default, and from fields explicit T_effective( - const wrapper &XYs1d = {} + const wrapper &XYs1d = {} ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) From b580a9e35966a198fa69ebdec6beb96661272968 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 30 Aug 2022 13:21:46 -0600 Subject: [PATCH 170/235] Reordering. --- standards/gnds-2.0/try/c/src/v2.0.h | 312 +++++++++--------- .../try/python/src/v2.0/common.python.cpp | 8 +- .../try/python/src/v2.0/containers.python.cpp | 16 +- .../src/v2.0/fissionTransport.python.cpp | 32 +- .../try/python/src/v2.0/transport.python.cpp | 40 +-- standards/gnds-2.0/try/src/try/v2.0.hpp | 312 +++++++++--------- 6 files changed, 360 insertions(+), 360 deletions(-) diff --git a/standards/gnds-2.0/try/c/src/v2.0.h b/standards/gnds-2.0/try/c/src/v2.0.h index 5bd34e34f..c867f5a00 100644 --- a/standards/gnds-2.0/try/c/src/v2.0.h +++ b/standards/gnds-2.0/try/c/src/v2.0.h @@ -28,6 +28,16 @@ #include "v2.0/atomic/ScatteringFactor.h" #include "v2.0/atomic/FormFactor.h" +#include "v2.0/common/Q.h" +#include "v2.0/common/Product.h" +#include "v2.0/common/Products.h" +#include "v2.0/common/Mass.h" +#include "v2.0/common/Energy.h" +#include "v2.0/common/Probability.h" +#include "v2.0/common/Temperature.h" +#include "v2.0/common/ExternalFiles.h" +#include "v2.0/common/ExternalFile.h" + #include "v2.0/covariance/CovarianceSuite.h" #include "v2.0/covariance/CovarianceSections.h" #include "v2.0/covariance/CovarianceMatrix.h" @@ -51,16 +61,6 @@ #include "v2.0/covariance/Sum.h" #include "v2.0/covariance/Summand.h" -#include "v2.0/fissionFragmentData/FissionFragmentData.h" -#include "v2.0/fissionFragmentData/DelayedNeutrons.h" -#include "v2.0/fissionFragmentData/DelayedNeutron.h" -#include "v2.0/fissionFragmentData/Rate.h" - -#include "v2.0/map/Map.h" -#include "v2.0/map/Import.h" -#include "v2.0/map/Protare.h" -#include "v2.0/map/TNSL.h" - #include "v2.0/cpTransport/RutherfordScattering.h" #include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" #include "v2.0/cpTransport/NuclearPlusInterference.h" @@ -69,16 +69,50 @@ #include "v2.0/cpTransport/RealInterferenceTerm.h" #include "v2.0/cpTransport/ImaginaryInterferenceTerm.h" -#include "v2.0/fpy/ProductYields.h" -#include "v2.0/fpy/ProductYield.h" -#include "v2.0/fpy/Nuclides.h" -#include "v2.0/fpy/ElapsedTimes.h" -#include "v2.0/fpy/ElapsedTime.h" -#include "v2.0/fpy/Time.h" -#include "v2.0/fpy/Yields.h" -#include "v2.0/fpy/IncidentEnergies.h" -#include "v2.0/fpy/IncidentEnergy.h" -#include "v2.0/fpy/Energy.h" +#include "v2.0/documentation/Documentation.h" +#include "v2.0/documentation/Authors.h" +#include "v2.0/documentation/Author.h" +#include "v2.0/documentation/Contributors.h" +#include "v2.0/documentation/Contributor.h" +#include "v2.0/documentation/Affiliations.h" +#include "v2.0/documentation/Affiliation.h" +#include "v2.0/documentation/Collaborations.h" +#include "v2.0/documentation/Collaboration.h" +#include "v2.0/documentation/Dates.h" +#include "v2.0/documentation/Date.h" +#include "v2.0/documentation/Title.h" +#include "v2.0/documentation/Abstract.h" +#include "v2.0/documentation/Body.h" +#include "v2.0/documentation/Copyright.h" +#include "v2.0/documentation/Version.h" +#include "v2.0/documentation/Acknowledgements.h" +#include "v2.0/documentation/Acknowledgement.h" +#include "v2.0/documentation/RelatedItems.h" +#include "v2.0/documentation/RelatedItem.h" +#include "v2.0/documentation/Keywords.h" +#include "v2.0/documentation/Keyword.h" +#include "v2.0/documentation/ComputerCodes.h" +#include "v2.0/documentation/ComputerCode.h" +#include "v2.0/documentation/CodeRepo.h" +#include "v2.0/documentation/InputDecks.h" +#include "v2.0/documentation/InputDeck.h" +#include "v2.0/documentation/OutputDecks.h" +#include "v2.0/documentation/OutputDeck.h" +#include "v2.0/documentation/ExecutionArguments.h" +#include "v2.0/documentation/ExperimentalDataSets.h" +#include "v2.0/documentation/ExforDataSets.h" +#include "v2.0/documentation/ExforDataSet.h" +#include "v2.0/documentation/CovarianceScript.h" +#include "v2.0/documentation/CorrectionScript.h" +#include "v2.0/documentation/Note.h" +#include "v2.0/documentation/Bibliography.h" +#include "v2.0/documentation/Bibitem.h" +#include "v2.0/documentation/EndfCompatible.h" + +#include "v2.0/fissionFragmentData/FissionFragmentData.h" +#include "v2.0/fissionFragmentData/DelayedNeutrons.h" +#include "v2.0/fissionFragmentData/DelayedNeutron.h" +#include "v2.0/fissionFragmentData/Rate.h" #include "v2.0/fissionTransport/FissionComponents.h" #include "v2.0/fissionTransport/FissionComponent.h" @@ -101,64 +135,52 @@ #include "v2.0/fissionTransport/EFL.h" #include "v2.0/fissionTransport/EFH.h" -#include "v2.0/processed/MultiGroup3d.h" -#include "v2.0/processed/AngularEnergyMC.h" -#include "v2.0/processed/EnergyAngularMC.h" -#include "v2.0/processed/AverageProductEnergy.h" -#include "v2.0/processed/AverageProductMomentum.h" -#include "v2.0/processed/AvailableMomentum.h" -#include "v2.0/processed/AvailableEnergy.h" +#include "v2.0/fpy/ProductYields.h" +#include "v2.0/fpy/ProductYield.h" +#include "v2.0/fpy/Nuclides.h" +#include "v2.0/fpy/ElapsedTimes.h" +#include "v2.0/fpy/ElapsedTime.h" +#include "v2.0/fpy/Time.h" +#include "v2.0/fpy/Yields.h" +#include "v2.0/fpy/IncidentEnergies.h" +#include "v2.0/fpy/IncidentEnergy.h" +#include "v2.0/fpy/Energy.h" -#include "v2.0/tsl/ThermalNeutronScatteringLaw1d.h" -#include "v2.0/tsl/ThermalNeutronScatteringLaw.h" -#include "v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h" -#include "v2.0/tsl/S_table.h" -#include "v2.0/tsl/BraggEdges.h" -#include "v2.0/tsl/BraggEdge.h" -#include "v2.0/tsl/BraggEnergy.h" -#include "v2.0/tsl/StructureFactor.h" -#include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h" -#include "v2.0/tsl/DebyeWallerIntegral.h" -#include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h" -#include "v2.0/tsl/ScatteringAtom.h" -#include "v2.0/tsl/ScatteringAtoms.h" -#include "v2.0/tsl/E_critical.h" -#include "v2.0/tsl/E_max.h" -#include "v2.0/tsl/BoundAtomCrossSection.h" -#include "v2.0/tsl/CoherentAtomCrossSection.h" -#include "v2.0/tsl/SelfScatteringKernel.h" -#include "v2.0/tsl/DistinctScatteringKernel.h" -#include "v2.0/tsl/T_effective.h" -#include "v2.0/tsl/GaussianApproximation.h" -#include "v2.0/tsl/PhononSpectrum.h" -#include "v2.0/tsl/SCTApproximation.h" -#include "v2.0/tsl/FreeGasApproximation.h" +#include "v2.0/containers/Double.h" +#include "v2.0/containers/Integer.h" +#include "v2.0/containers/Fraction.h" +#include "v2.0/containers/String.h" +#include "v2.0/containers/Link.h" +#include "v2.0/containers/Axes.h" +#include "v2.0/containers/Axis.h" +#include "v2.0/containers/Grid.h" +#include "v2.0/containers/Values.h" +#include "v2.0/containers/Array.h" +#include "v2.0/containers/Table.h" +#include "v2.0/containers/ColumnHeaders.h" +#include "v2.0/containers/Column.h" +#include "v2.0/containers/Data.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Ys1d.h" +#include "v2.0/containers/Legendre.h" +#include "v2.0/containers/Polynomial1d.h" +#include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/XYs2d.h" +#include "v2.0/containers/Function1ds.h" +#include "v2.0/containers/XYs3d.h" +#include "v2.0/containers/Function2ds.h" +#include "v2.0/containers/Regions1d.h" +#include "v2.0/containers/Regions2d.h" +#include "v2.0/containers/Regions3d.h" +#include "v2.0/containers/Function3ds.h" +#include "v2.0/containers/Gridded1d.h" +#include "v2.0/containers/Gridded2d.h" +#include "v2.0/containers/Gridded3d.h" -#include "v2.0/resonances/Resonances.h" -#include "v2.0/resonances/ScatteringRadius.h" -#include "v2.0/resonances/HardSphereRadius.h" -#include "v2.0/resonances/ExternalRMatrix.h" -#include "v2.0/resonances/Resolved.h" -#include "v2.0/resonances/EnergyIntervals.h" -#include "v2.0/resonances/EnergyInterval.h" -#include "v2.0/resonances/RMatrix.h" -#include "v2.0/resonances/ResonanceReactions.h" -#include "v2.0/resonances/ResonanceReaction.h" -#include "v2.0/resonances/SpinGroups.h" -#include "v2.0/resonances/SpinGroup.h" -#include "v2.0/resonances/Channels.h" -#include "v2.0/resonances/Channel.h" -#include "v2.0/resonances/ResonanceParameters.h" -#include "v2.0/resonances/BreitWigner.h" -#include "v2.0/resonances/Unresolved.h" -#include "v2.0/resonances/TabulatedWidths.h" -#include "v2.0/resonances/Ls.h" -#include "v2.0/resonances/L.h" -#include "v2.0/resonances/Js.h" -#include "v2.0/resonances/J.h" -#include "v2.0/resonances/LevelSpacing.h" -#include "v2.0/resonances/Widths.h" -#include "v2.0/resonances/Width.h" +#include "v2.0/map/Map.h" +#include "v2.0/map/Import.h" +#include "v2.0/map/Protare.h" +#include "v2.0/map/TNSL.h" #include "v2.0/pops/PoPs_database.h" #include "v2.0/pops/Aliases.h" @@ -218,6 +240,40 @@ #include "v2.0/pops/Interval.h" #include "v2.0/pops/Pdf.h" +#include "v2.0/processed/MultiGroup3d.h" +#include "v2.0/processed/AngularEnergyMC.h" +#include "v2.0/processed/EnergyAngularMC.h" +#include "v2.0/processed/AverageProductEnergy.h" +#include "v2.0/processed/AverageProductMomentum.h" +#include "v2.0/processed/AvailableMomentum.h" +#include "v2.0/processed/AvailableEnergy.h" + +#include "v2.0/resonances/Resonances.h" +#include "v2.0/resonances/ScatteringRadius.h" +#include "v2.0/resonances/HardSphereRadius.h" +#include "v2.0/resonances/ExternalRMatrix.h" +#include "v2.0/resonances/Resolved.h" +#include "v2.0/resonances/EnergyIntervals.h" +#include "v2.0/resonances/EnergyInterval.h" +#include "v2.0/resonances/RMatrix.h" +#include "v2.0/resonances/ResonanceReactions.h" +#include "v2.0/resonances/ResonanceReaction.h" +#include "v2.0/resonances/SpinGroups.h" +#include "v2.0/resonances/SpinGroup.h" +#include "v2.0/resonances/Channels.h" +#include "v2.0/resonances/Channel.h" +#include "v2.0/resonances/ResonanceParameters.h" +#include "v2.0/resonances/BreitWigner.h" +#include "v2.0/resonances/Unresolved.h" +#include "v2.0/resonances/TabulatedWidths.h" +#include "v2.0/resonances/Ls.h" +#include "v2.0/resonances/L.h" +#include "v2.0/resonances/Js.h" +#include "v2.0/resonances/J.h" +#include "v2.0/resonances/LevelSpacing.h" +#include "v2.0/resonances/Widths.h" +#include "v2.0/resonances/Width.h" + #include "v2.0/styles/Styles.h" #include "v2.0/styles/Evaluated.h" #include "v2.0/styles/ProjectileEnergyDomain.h" @@ -302,85 +358,29 @@ #include "v2.0/transport/Weighted.h" #include "v2.0/transport/Reference.h" -#include "v2.0/common/Q.h" -#include "v2.0/common/Product.h" -#include "v2.0/common/Products.h" -#include "v2.0/common/Mass.h" -#include "v2.0/common/Energy.h" -#include "v2.0/common/Probability.h" -#include "v2.0/common/Temperature.h" -#include "v2.0/common/ExternalFiles.h" -#include "v2.0/common/ExternalFile.h" - -#include "v2.0/documentation/Documentation.h" -#include "v2.0/documentation/Authors.h" -#include "v2.0/documentation/Author.h" -#include "v2.0/documentation/Contributors.h" -#include "v2.0/documentation/Contributor.h" -#include "v2.0/documentation/Affiliations.h" -#include "v2.0/documentation/Affiliation.h" -#include "v2.0/documentation/Collaborations.h" -#include "v2.0/documentation/Collaboration.h" -#include "v2.0/documentation/Dates.h" -#include "v2.0/documentation/Date.h" -#include "v2.0/documentation/Title.h" -#include "v2.0/documentation/Abstract.h" -#include "v2.0/documentation/Body.h" -#include "v2.0/documentation/Copyright.h" -#include "v2.0/documentation/Version.h" -#include "v2.0/documentation/Acknowledgements.h" -#include "v2.0/documentation/Acknowledgement.h" -#include "v2.0/documentation/RelatedItems.h" -#include "v2.0/documentation/RelatedItem.h" -#include "v2.0/documentation/Keywords.h" -#include "v2.0/documentation/Keyword.h" -#include "v2.0/documentation/ComputerCodes.h" -#include "v2.0/documentation/ComputerCode.h" -#include "v2.0/documentation/CodeRepo.h" -#include "v2.0/documentation/InputDecks.h" -#include "v2.0/documentation/InputDeck.h" -#include "v2.0/documentation/OutputDecks.h" -#include "v2.0/documentation/OutputDeck.h" -#include "v2.0/documentation/ExecutionArguments.h" -#include "v2.0/documentation/ExperimentalDataSets.h" -#include "v2.0/documentation/ExforDataSets.h" -#include "v2.0/documentation/ExforDataSet.h" -#include "v2.0/documentation/CovarianceScript.h" -#include "v2.0/documentation/CorrectionScript.h" -#include "v2.0/documentation/Note.h" -#include "v2.0/documentation/Bibliography.h" -#include "v2.0/documentation/Bibitem.h" -#include "v2.0/documentation/EndfCompatible.h" - -#include "v2.0/containers/Double.h" -#include "v2.0/containers/Integer.h" -#include "v2.0/containers/Fraction.h" -#include "v2.0/containers/String.h" -#include "v2.0/containers/Link.h" -#include "v2.0/containers/Axes.h" -#include "v2.0/containers/Axis.h" -#include "v2.0/containers/Grid.h" -#include "v2.0/containers/Values.h" -#include "v2.0/containers/Array.h" -#include "v2.0/containers/Table.h" -#include "v2.0/containers/ColumnHeaders.h" -#include "v2.0/containers/Column.h" -#include "v2.0/containers/Data.h" -#include "v2.0/containers/XYs1d.h" -#include "v2.0/containers/Ys1d.h" -#include "v2.0/containers/Legendre.h" -#include "v2.0/containers/Polynomial1d.h" -#include "v2.0/containers/Constant1d.h" -#include "v2.0/containers/XYs2d.h" -#include "v2.0/containers/Function1ds.h" -#include "v2.0/containers/XYs3d.h" -#include "v2.0/containers/Function2ds.h" -#include "v2.0/containers/Regions1d.h" -#include "v2.0/containers/Regions2d.h" -#include "v2.0/containers/Regions3d.h" -#include "v2.0/containers/Function3ds.h" -#include "v2.0/containers/Gridded1d.h" -#include "v2.0/containers/Gridded2d.h" -#include "v2.0/containers/Gridded3d.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw1d.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h" +#include "v2.0/tsl/S_table.h" +#include "v2.0/tsl/BraggEdges.h" +#include "v2.0/tsl/BraggEdge.h" +#include "v2.0/tsl/BraggEnergy.h" +#include "v2.0/tsl/StructureFactor.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h" +#include "v2.0/tsl/DebyeWallerIntegral.h" +#include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h" +#include "v2.0/tsl/ScatteringAtom.h" +#include "v2.0/tsl/ScatteringAtoms.h" +#include "v2.0/tsl/E_critical.h" +#include "v2.0/tsl/E_max.h" +#include "v2.0/tsl/BoundAtomCrossSection.h" +#include "v2.0/tsl/CoherentAtomCrossSection.h" +#include "v2.0/tsl/SelfScatteringKernel.h" +#include "v2.0/tsl/DistinctScatteringKernel.h" +#include "v2.0/tsl/T_effective.h" +#include "v2.0/tsl/GaussianApproximation.h" +#include "v2.0/tsl/PhononSpectrum.h" +#include "v2.0/tsl/SCTApproximation.h" +#include "v2.0/tsl/FreeGasApproximation.h" #endif diff --git a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp index b5902dd6b..9fe2d6998 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp @@ -12,8 +12,6 @@ namespace python_v2_0 { // common declarations namespace python_common { - void wrapExternalFile(python::module &); - void wrapExternalFiles(python::module &); void wrapQ(python::module &); void wrapProduct(python::module &); void wrapProducts(python::module &); @@ -21,6 +19,8 @@ namespace python_common { void wrapEnergy(python::module &); void wrapProbability(python::module &); void wrapTemperature(python::module &); + void wrapExternalFile(python::module &); + void wrapExternalFiles(python::module &); } // namespace python_common // common wrapper @@ -33,8 +33,6 @@ void wrapCommon(python::module &module) ); // wrap common components - python_common::wrapExternalFile(submodule); - python_common::wrapExternalFiles(submodule); python_common::wrapQ(submodule); python_common::wrapProduct(submodule); python_common::wrapProducts(submodule); @@ -42,6 +40,8 @@ void wrapCommon(python::module &module) python_common::wrapEnergy(submodule); python_common::wrapProbability(submodule); python_common::wrapTemperature(submodule); + python_common::wrapExternalFile(submodule); + python_common::wrapExternalFiles(submodule); }; } // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp index 12a5f94c3..5b296cde7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp @@ -28,18 +28,18 @@ namespace python_containers { void wrapDouble(python::module &); void wrapXYs2d(python::module &); void wrapGridded2d(python::module &); - void wrapString(python::module &); void wrapFunction2ds(python::module &); void wrapRegions2d(python::module &); - void wrapYs1d(python::module &); void wrapXYs3d(python::module &); + void wrapYs1d(python::module &); void wrapGridded3d(python::module &); + void wrapString(python::module &); + void wrapInteger(python::module &); + void wrapFraction(python::module &); void wrapColumn(python::module &); void wrapColumnHeaders(python::module &); void wrapData(python::module &); void wrapTable(python::module &); - void wrapInteger(python::module &); - void wrapFraction(python::module &); void wrapFunction3ds(python::module &); void wrapRegions3d(python::module &); } // namespace python_containers @@ -70,18 +70,18 @@ void wrapContainers(python::module &module) python_containers::wrapDouble(submodule); python_containers::wrapXYs2d(submodule); python_containers::wrapGridded2d(submodule); - python_containers::wrapString(submodule); python_containers::wrapFunction2ds(submodule); python_containers::wrapRegions2d(submodule); - python_containers::wrapYs1d(submodule); python_containers::wrapXYs3d(submodule); + python_containers::wrapYs1d(submodule); python_containers::wrapGridded3d(submodule); + python_containers::wrapString(submodule); + python_containers::wrapInteger(submodule); + python_containers::wrapFraction(submodule); python_containers::wrapColumn(submodule); python_containers::wrapColumnHeaders(submodule); python_containers::wrapData(submodule); python_containers::wrapTable(submodule); - python_containers::wrapInteger(submodule); - python_containers::wrapFraction(submodule); python_containers::wrapFunction3ds(submodule); python_containers::wrapRegions3d(submodule); }; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp index d7c7d6535..09226d9b4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp @@ -12,6 +12,14 @@ namespace python_v2_0 { // fissionTransport declarations namespace python_fissionTransport { + void wrapSimpleMaxwellianFission(python::module &); + void wrapA(python::module &); + void wrapB(python::module &); + void wrapWatt(python::module &); + void wrapEFH(python::module &); + void wrapEFL(python::module &); + void wrapT_M(python::module &); + void wrapMadlandNix(python::module &); void wrapDelayedBetaEnergy(python::module &); void wrapDelayedGammaEnergy(python::module &); void wrapDelayedNeutronKE(python::module &); @@ -22,14 +30,6 @@ namespace python_fissionTransport { void wrapPromptProductKE(python::module &); void wrapTotalEnergy(python::module &); void wrapFissionEnergyReleased(python::module &); - void wrapSimpleMaxwellianFission(python::module &); - void wrapA(python::module &); - void wrapB(python::module &); - void wrapWatt(python::module &); - void wrapEFH(python::module &); - void wrapEFL(python::module &); - void wrapT_M(python::module &); - void wrapMadlandNix(python::module &); void wrapFissionComponent(python::module &); void wrapFissionComponents(python::module &); } // namespace python_fissionTransport @@ -44,6 +44,14 @@ void wrapFissionTransport(python::module &module) ); // wrap fissionTransport components + python_fissionTransport::wrapSimpleMaxwellianFission(submodule); + python_fissionTransport::wrapA(submodule); + python_fissionTransport::wrapB(submodule); + python_fissionTransport::wrapWatt(submodule); + python_fissionTransport::wrapEFH(submodule); + python_fissionTransport::wrapEFL(submodule); + python_fissionTransport::wrapT_M(submodule); + python_fissionTransport::wrapMadlandNix(submodule); python_fissionTransport::wrapDelayedBetaEnergy(submodule); python_fissionTransport::wrapDelayedGammaEnergy(submodule); python_fissionTransport::wrapDelayedNeutronKE(submodule); @@ -54,14 +62,6 @@ void wrapFissionTransport(python::module &module) python_fissionTransport::wrapPromptProductKE(submodule); python_fissionTransport::wrapTotalEnergy(submodule); python_fissionTransport::wrapFissionEnergyReleased(submodule); - python_fissionTransport::wrapSimpleMaxwellianFission(submodule); - python_fissionTransport::wrapA(submodule); - python_fissionTransport::wrapB(submodule); - python_fissionTransport::wrapWatt(submodule); - python_fissionTransport::wrapEFH(submodule); - python_fissionTransport::wrapEFL(submodule); - python_fissionTransport::wrapT_M(submodule); - python_fissionTransport::wrapMadlandNix(submodule); python_fissionTransport::wrapFissionComponent(submodule); python_fissionTransport::wrapFissionComponents(submodule); }; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp index 3c1df2e7d..5876e0fb7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp @@ -12,15 +12,9 @@ namespace python_v2_0 { // transport declarations namespace python_transport { - void wrapResonancesLink(python::module &); - void wrapResolvedRegion(python::module &); - void wrapUnresolvedRegion(python::module &); - void wrapFastRegion(python::module &); - void wrapBackground(python::module &); - void wrapResonancesWithBackground(python::module &); + void wrapBranching1d(python::module &); void wrapReference(python::module &); - void wrapURR_probabilityTables1d(python::module &); - void wrapCrossSection(python::module &); + void wrapMultiplicity(python::module &); void wrapIsotropic2d(python::module &); void wrapRecoil(python::module &); void wrapAngularTwoBody(python::module &); @@ -45,6 +39,14 @@ namespace python_transport { void wrapA(python::module &); void wrapKalbachMann(python::module &); void wrapBranching3d(python::module &); + void wrapResonancesLink(python::module &); + void wrapResolvedRegion(python::module &); + void wrapUnresolvedRegion(python::module &); + void wrapFastRegion(python::module &); + void wrapBackground(python::module &); + void wrapResonancesWithBackground(python::module &); + void wrapURR_probabilityTables1d(python::module &); + void wrapCrossSection(python::module &); void wrapUnspecified(python::module &); void wrapMultiGroup3d(python::module &); void wrapDistribution(python::module &); @@ -58,8 +60,6 @@ namespace python_transport { void wrapSummands(python::module &); void wrapCrossSectionSum(python::module &); void wrapCrossSectionSums(python::module &); - void wrapBranching1d(python::module &); - void wrapMultiplicity(python::module &); void wrapMultiplicitySum(python::module &); void wrapMultiplicitySums(python::module &); void wrapSums(python::module &); @@ -82,15 +82,9 @@ void wrapTransport(python::module &module) ); // wrap transport components - python_transport::wrapResonancesLink(submodule); - python_transport::wrapResolvedRegion(submodule); - python_transport::wrapUnresolvedRegion(submodule); - python_transport::wrapFastRegion(submodule); - python_transport::wrapBackground(submodule); - python_transport::wrapResonancesWithBackground(submodule); + python_transport::wrapBranching1d(submodule); python_transport::wrapReference(submodule); - python_transport::wrapURR_probabilityTables1d(submodule); - python_transport::wrapCrossSection(submodule); + python_transport::wrapMultiplicity(submodule); python_transport::wrapIsotropic2d(submodule); python_transport::wrapRecoil(submodule); python_transport::wrapAngularTwoBody(submodule); @@ -115,6 +109,14 @@ void wrapTransport(python::module &module) python_transport::wrapA(submodule); python_transport::wrapKalbachMann(submodule); python_transport::wrapBranching3d(submodule); + python_transport::wrapResonancesLink(submodule); + python_transport::wrapResolvedRegion(submodule); + python_transport::wrapUnresolvedRegion(submodule); + python_transport::wrapFastRegion(submodule); + python_transport::wrapBackground(submodule); + python_transport::wrapResonancesWithBackground(submodule); + python_transport::wrapURR_probabilityTables1d(submodule); + python_transport::wrapCrossSection(submodule); python_transport::wrapUnspecified(submodule); python_transport::wrapMultiGroup3d(submodule); python_transport::wrapDistribution(submodule); @@ -128,8 +130,6 @@ void wrapTransport(python::module &module) python_transport::wrapSummands(submodule); python_transport::wrapCrossSectionSum(submodule); python_transport::wrapCrossSectionSums(submodule); - python_transport::wrapBranching1d(submodule); - python_transport::wrapMultiplicity(submodule); python_transport::wrapMultiplicitySum(submodule); python_transport::wrapMultiplicitySums(submodule); python_transport::wrapSums(submodule); diff --git a/standards/gnds-2.0/try/src/try/v2.0.hpp b/standards/gnds-2.0/try/src/try/v2.0.hpp index 07f67a829..0d57d9d6b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0.hpp @@ -17,6 +17,16 @@ #include "try/v2.0/atomic/ScatteringFactor.hpp" #include "try/v2.0/atomic/FormFactor.hpp" +#include "try/v2.0/common/Q.hpp" +#include "try/v2.0/common/Product.hpp" +#include "try/v2.0/common/Products.hpp" +#include "try/v2.0/common/Mass.hpp" +#include "try/v2.0/common/Energy.hpp" +#include "try/v2.0/common/Probability.hpp" +#include "try/v2.0/common/Temperature.hpp" +#include "try/v2.0/common/ExternalFiles.hpp" +#include "try/v2.0/common/ExternalFile.hpp" + #include "try/v2.0/covariance/CovarianceSuite.hpp" #include "try/v2.0/covariance/CovarianceSections.hpp" #include "try/v2.0/covariance/CovarianceMatrix.hpp" @@ -40,16 +50,6 @@ #include "try/v2.0/covariance/Sum.hpp" #include "try/v2.0/covariance/Summand.hpp" -#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" -#include "try/v2.0/fissionFragmentData/DelayedNeutrons.hpp" -#include "try/v2.0/fissionFragmentData/DelayedNeutron.hpp" -#include "try/v2.0/fissionFragmentData/Rate.hpp" - -#include "try/v2.0/map/Map.hpp" -#include "try/v2.0/map/Import.hpp" -#include "try/v2.0/map/Protare.hpp" -#include "try/v2.0/map/TNSL.hpp" - #include "try/v2.0/cpTransport/RutherfordScattering.hpp" #include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" #include "try/v2.0/cpTransport/NuclearPlusInterference.hpp" @@ -58,16 +58,50 @@ #include "try/v2.0/cpTransport/RealInterferenceTerm.hpp" #include "try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" -#include "try/v2.0/fpy/ProductYields.hpp" -#include "try/v2.0/fpy/ProductYield.hpp" -#include "try/v2.0/fpy/Nuclides.hpp" -#include "try/v2.0/fpy/ElapsedTimes.hpp" -#include "try/v2.0/fpy/ElapsedTime.hpp" -#include "try/v2.0/fpy/Time.hpp" -#include "try/v2.0/fpy/Yields.hpp" -#include "try/v2.0/fpy/IncidentEnergies.hpp" -#include "try/v2.0/fpy/IncidentEnergy.hpp" -#include "try/v2.0/fpy/Energy.hpp" +#include "try/v2.0/documentation/Documentation.hpp" +#include "try/v2.0/documentation/Authors.hpp" +#include "try/v2.0/documentation/Author.hpp" +#include "try/v2.0/documentation/Contributors.hpp" +#include "try/v2.0/documentation/Contributor.hpp" +#include "try/v2.0/documentation/Affiliations.hpp" +#include "try/v2.0/documentation/Affiliation.hpp" +#include "try/v2.0/documentation/Collaborations.hpp" +#include "try/v2.0/documentation/Collaboration.hpp" +#include "try/v2.0/documentation/Dates.hpp" +#include "try/v2.0/documentation/Date.hpp" +#include "try/v2.0/documentation/Title.hpp" +#include "try/v2.0/documentation/Abstract.hpp" +#include "try/v2.0/documentation/Body.hpp" +#include "try/v2.0/documentation/Copyright.hpp" +#include "try/v2.0/documentation/Version.hpp" +#include "try/v2.0/documentation/Acknowledgements.hpp" +#include "try/v2.0/documentation/Acknowledgement.hpp" +#include "try/v2.0/documentation/RelatedItems.hpp" +#include "try/v2.0/documentation/RelatedItem.hpp" +#include "try/v2.0/documentation/Keywords.hpp" +#include "try/v2.0/documentation/Keyword.hpp" +#include "try/v2.0/documentation/ComputerCodes.hpp" +#include "try/v2.0/documentation/ComputerCode.hpp" +#include "try/v2.0/documentation/CodeRepo.hpp" +#include "try/v2.0/documentation/InputDecks.hpp" +#include "try/v2.0/documentation/InputDeck.hpp" +#include "try/v2.0/documentation/OutputDecks.hpp" +#include "try/v2.0/documentation/OutputDeck.hpp" +#include "try/v2.0/documentation/ExecutionArguments.hpp" +#include "try/v2.0/documentation/ExperimentalDataSets.hpp" +#include "try/v2.0/documentation/ExforDataSets.hpp" +#include "try/v2.0/documentation/ExforDataSet.hpp" +#include "try/v2.0/documentation/CovarianceScript.hpp" +#include "try/v2.0/documentation/CorrectionScript.hpp" +#include "try/v2.0/documentation/Note.hpp" +#include "try/v2.0/documentation/Bibliography.hpp" +#include "try/v2.0/documentation/Bibitem.hpp" +#include "try/v2.0/documentation/EndfCompatible.hpp" + +#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" +#include "try/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "try/v2.0/fissionFragmentData/DelayedNeutron.hpp" +#include "try/v2.0/fissionFragmentData/Rate.hpp" #include "try/v2.0/fissionTransport/FissionComponents.hpp" #include "try/v2.0/fissionTransport/FissionComponent.hpp" @@ -90,64 +124,52 @@ #include "try/v2.0/fissionTransport/EFL.hpp" #include "try/v2.0/fissionTransport/EFH.hpp" -#include "try/v2.0/processed/MultiGroup3d.hpp" -#include "try/v2.0/processed/AngularEnergyMC.hpp" -#include "try/v2.0/processed/EnergyAngularMC.hpp" -#include "try/v2.0/processed/AverageProductEnergy.hpp" -#include "try/v2.0/processed/AverageProductMomentum.hpp" -#include "try/v2.0/processed/AvailableMomentum.hpp" -#include "try/v2.0/processed/AvailableEnergy.hpp" +#include "try/v2.0/fpy/ProductYields.hpp" +#include "try/v2.0/fpy/ProductYield.hpp" +#include "try/v2.0/fpy/Nuclides.hpp" +#include "try/v2.0/fpy/ElapsedTimes.hpp" +#include "try/v2.0/fpy/ElapsedTime.hpp" +#include "try/v2.0/fpy/Time.hpp" +#include "try/v2.0/fpy/Yields.hpp" +#include "try/v2.0/fpy/IncidentEnergies.hpp" +#include "try/v2.0/fpy/IncidentEnergy.hpp" +#include "try/v2.0/fpy/Energy.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" -#include "try/v2.0/tsl/S_table.hpp" -#include "try/v2.0/tsl/BraggEdges.hpp" -#include "try/v2.0/tsl/BraggEdge.hpp" -#include "try/v2.0/tsl/BraggEnergy.hpp" -#include "try/v2.0/tsl/StructureFactor.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" -#include "try/v2.0/tsl/DebyeWallerIntegral.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" -#include "try/v2.0/tsl/ScatteringAtom.hpp" -#include "try/v2.0/tsl/ScatteringAtoms.hpp" -#include "try/v2.0/tsl/E_critical.hpp" -#include "try/v2.0/tsl/E_max.hpp" -#include "try/v2.0/tsl/BoundAtomCrossSection.hpp" -#include "try/v2.0/tsl/CoherentAtomCrossSection.hpp" -#include "try/v2.0/tsl/SelfScatteringKernel.hpp" -#include "try/v2.0/tsl/DistinctScatteringKernel.hpp" -#include "try/v2.0/tsl/T_effective.hpp" -#include "try/v2.0/tsl/GaussianApproximation.hpp" -#include "try/v2.0/tsl/PhononSpectrum.hpp" -#include "try/v2.0/tsl/SCTApproximation.hpp" -#include "try/v2.0/tsl/FreeGasApproximation.hpp" +#include "try/v2.0/containers/Double.hpp" +#include "try/v2.0/containers/Integer.hpp" +#include "try/v2.0/containers/Fraction.hpp" +#include "try/v2.0/containers/String.hpp" +#include "try/v2.0/containers/Link.hpp" +#include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Axis.hpp" +#include "try/v2.0/containers/Grid.hpp" +#include "try/v2.0/containers/Values.hpp" +#include "try/v2.0/containers/Array.hpp" +#include "try/v2.0/containers/Table.hpp" +#include "try/v2.0/containers/ColumnHeaders.hpp" +#include "try/v2.0/containers/Column.hpp" +#include "try/v2.0/containers/Data.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Ys1d.hpp" +#include "try/v2.0/containers/Legendre.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" +#include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/XYs2d.hpp" +#include "try/v2.0/containers/Function1ds.hpp" +#include "try/v2.0/containers/XYs3d.hpp" +#include "try/v2.0/containers/Function2ds.hpp" +#include "try/v2.0/containers/Regions1d.hpp" +#include "try/v2.0/containers/Regions2d.hpp" +#include "try/v2.0/containers/Regions3d.hpp" +#include "try/v2.0/containers/Function3ds.hpp" +#include "try/v2.0/containers/Gridded1d.hpp" +#include "try/v2.0/containers/Gridded2d.hpp" +#include "try/v2.0/containers/Gridded3d.hpp" -#include "try/v2.0/resonances/Resonances.hpp" -#include "try/v2.0/resonances/ScatteringRadius.hpp" -#include "try/v2.0/resonances/HardSphereRadius.hpp" -#include "try/v2.0/resonances/ExternalRMatrix.hpp" -#include "try/v2.0/resonances/Resolved.hpp" -#include "try/v2.0/resonances/EnergyIntervals.hpp" -#include "try/v2.0/resonances/EnergyInterval.hpp" -#include "try/v2.0/resonances/RMatrix.hpp" -#include "try/v2.0/resonances/ResonanceReactions.hpp" -#include "try/v2.0/resonances/ResonanceReaction.hpp" -#include "try/v2.0/resonances/SpinGroups.hpp" -#include "try/v2.0/resonances/SpinGroup.hpp" -#include "try/v2.0/resonances/Channels.hpp" -#include "try/v2.0/resonances/Channel.hpp" -#include "try/v2.0/resonances/ResonanceParameters.hpp" -#include "try/v2.0/resonances/BreitWigner.hpp" -#include "try/v2.0/resonances/Unresolved.hpp" -#include "try/v2.0/resonances/TabulatedWidths.hpp" -#include "try/v2.0/resonances/Ls.hpp" -#include "try/v2.0/resonances/L.hpp" -#include "try/v2.0/resonances/Js.hpp" -#include "try/v2.0/resonances/J.hpp" -#include "try/v2.0/resonances/LevelSpacing.hpp" -#include "try/v2.0/resonances/Widths.hpp" -#include "try/v2.0/resonances/Width.hpp" +#include "try/v2.0/map/Map.hpp" +#include "try/v2.0/map/Import.hpp" +#include "try/v2.0/map/Protare.hpp" +#include "try/v2.0/map/TNSL.hpp" #include "try/v2.0/pops/PoPs_database.hpp" #include "try/v2.0/pops/Aliases.hpp" @@ -207,6 +229,40 @@ #include "try/v2.0/pops/Interval.hpp" #include "try/v2.0/pops/Pdf.hpp" +#include "try/v2.0/processed/MultiGroup3d.hpp" +#include "try/v2.0/processed/AngularEnergyMC.hpp" +#include "try/v2.0/processed/EnergyAngularMC.hpp" +#include "try/v2.0/processed/AverageProductEnergy.hpp" +#include "try/v2.0/processed/AverageProductMomentum.hpp" +#include "try/v2.0/processed/AvailableMomentum.hpp" +#include "try/v2.0/processed/AvailableEnergy.hpp" + +#include "try/v2.0/resonances/Resonances.hpp" +#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "try/v2.0/resonances/ExternalRMatrix.hpp" +#include "try/v2.0/resonances/Resolved.hpp" +#include "try/v2.0/resonances/EnergyIntervals.hpp" +#include "try/v2.0/resonances/EnergyInterval.hpp" +#include "try/v2.0/resonances/RMatrix.hpp" +#include "try/v2.0/resonances/ResonanceReactions.hpp" +#include "try/v2.0/resonances/ResonanceReaction.hpp" +#include "try/v2.0/resonances/SpinGroups.hpp" +#include "try/v2.0/resonances/SpinGroup.hpp" +#include "try/v2.0/resonances/Channels.hpp" +#include "try/v2.0/resonances/Channel.hpp" +#include "try/v2.0/resonances/ResonanceParameters.hpp" +#include "try/v2.0/resonances/BreitWigner.hpp" +#include "try/v2.0/resonances/Unresolved.hpp" +#include "try/v2.0/resonances/TabulatedWidths.hpp" +#include "try/v2.0/resonances/Ls.hpp" +#include "try/v2.0/resonances/L.hpp" +#include "try/v2.0/resonances/Js.hpp" +#include "try/v2.0/resonances/J.hpp" +#include "try/v2.0/resonances/LevelSpacing.hpp" +#include "try/v2.0/resonances/Widths.hpp" +#include "try/v2.0/resonances/Width.hpp" + #include "try/v2.0/styles/Styles.hpp" #include "try/v2.0/styles/Evaluated.hpp" #include "try/v2.0/styles/ProjectileEnergyDomain.hpp" @@ -291,85 +347,29 @@ #include "try/v2.0/transport/Weighted.hpp" #include "try/v2.0/transport/Reference.hpp" -#include "try/v2.0/common/Q.hpp" -#include "try/v2.0/common/Product.hpp" -#include "try/v2.0/common/Products.hpp" -#include "try/v2.0/common/Mass.hpp" -#include "try/v2.0/common/Energy.hpp" -#include "try/v2.0/common/Probability.hpp" -#include "try/v2.0/common/Temperature.hpp" -#include "try/v2.0/common/ExternalFiles.hpp" -#include "try/v2.0/common/ExternalFile.hpp" - -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/documentation/Authors.hpp" -#include "try/v2.0/documentation/Author.hpp" -#include "try/v2.0/documentation/Contributors.hpp" -#include "try/v2.0/documentation/Contributor.hpp" -#include "try/v2.0/documentation/Affiliations.hpp" -#include "try/v2.0/documentation/Affiliation.hpp" -#include "try/v2.0/documentation/Collaborations.hpp" -#include "try/v2.0/documentation/Collaboration.hpp" -#include "try/v2.0/documentation/Dates.hpp" -#include "try/v2.0/documentation/Date.hpp" -#include "try/v2.0/documentation/Title.hpp" -#include "try/v2.0/documentation/Abstract.hpp" -#include "try/v2.0/documentation/Body.hpp" -#include "try/v2.0/documentation/Copyright.hpp" -#include "try/v2.0/documentation/Version.hpp" -#include "try/v2.0/documentation/Acknowledgements.hpp" -#include "try/v2.0/documentation/Acknowledgement.hpp" -#include "try/v2.0/documentation/RelatedItems.hpp" -#include "try/v2.0/documentation/RelatedItem.hpp" -#include "try/v2.0/documentation/Keywords.hpp" -#include "try/v2.0/documentation/Keyword.hpp" -#include "try/v2.0/documentation/ComputerCodes.hpp" -#include "try/v2.0/documentation/ComputerCode.hpp" -#include "try/v2.0/documentation/CodeRepo.hpp" -#include "try/v2.0/documentation/InputDecks.hpp" -#include "try/v2.0/documentation/InputDeck.hpp" -#include "try/v2.0/documentation/OutputDecks.hpp" -#include "try/v2.0/documentation/OutputDeck.hpp" -#include "try/v2.0/documentation/ExecutionArguments.hpp" -#include "try/v2.0/documentation/ExperimentalDataSets.hpp" -#include "try/v2.0/documentation/ExforDataSets.hpp" -#include "try/v2.0/documentation/ExforDataSet.hpp" -#include "try/v2.0/documentation/CovarianceScript.hpp" -#include "try/v2.0/documentation/CorrectionScript.hpp" -#include "try/v2.0/documentation/Note.hpp" -#include "try/v2.0/documentation/Bibliography.hpp" -#include "try/v2.0/documentation/Bibitem.hpp" -#include "try/v2.0/documentation/EndfCompatible.hpp" - -#include "try/v2.0/containers/Double.hpp" -#include "try/v2.0/containers/Integer.hpp" -#include "try/v2.0/containers/Fraction.hpp" -#include "try/v2.0/containers/String.hpp" -#include "try/v2.0/containers/Link.hpp" -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Axis.hpp" -#include "try/v2.0/containers/Grid.hpp" -#include "try/v2.0/containers/Values.hpp" -#include "try/v2.0/containers/Array.hpp" -#include "try/v2.0/containers/Table.hpp" -#include "try/v2.0/containers/ColumnHeaders.hpp" -#include "try/v2.0/containers/Column.hpp" -#include "try/v2.0/containers/Data.hpp" -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Ys1d.hpp" -#include "try/v2.0/containers/Legendre.hpp" -#include "try/v2.0/containers/Polynomial1d.hpp" -#include "try/v2.0/containers/Constant1d.hpp" -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Function1ds.hpp" -#include "try/v2.0/containers/XYs3d.hpp" -#include "try/v2.0/containers/Function2ds.hpp" -#include "try/v2.0/containers/Regions1d.hpp" -#include "try/v2.0/containers/Regions2d.hpp" -#include "try/v2.0/containers/Regions3d.hpp" -#include "try/v2.0/containers/Function3ds.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" -#include "try/v2.0/containers/Gridded2d.hpp" -#include "try/v2.0/containers/Gridded3d.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "try/v2.0/tsl/S_table.hpp" +#include "try/v2.0/tsl/BraggEdges.hpp" +#include "try/v2.0/tsl/BraggEdge.hpp" +#include "try/v2.0/tsl/BraggEnergy.hpp" +#include "try/v2.0/tsl/StructureFactor.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "try/v2.0/tsl/DebyeWallerIntegral.hpp" +#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "try/v2.0/tsl/ScatteringAtom.hpp" +#include "try/v2.0/tsl/ScatteringAtoms.hpp" +#include "try/v2.0/tsl/E_critical.hpp" +#include "try/v2.0/tsl/E_max.hpp" +#include "try/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "try/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "try/v2.0/tsl/SelfScatteringKernel.hpp" +#include "try/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "try/v2.0/tsl/T_effective.hpp" +#include "try/v2.0/tsl/GaussianApproximation.hpp" +#include "try/v2.0/tsl/PhononSpectrum.hpp" +#include "try/v2.0/tsl/SCTApproximation.hpp" +#include "try/v2.0/tsl/FreeGasApproximation.hpp" #endif From f2447ed0865932e347ca0389e48142cb2e028ab5 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 30 Aug 2022 14:36:26 -0600 Subject: [PATCH 171/235] Generated code update, after re-adding nodes in summary_gpdc.json. --- standards/gnds-2.0/try/c/src/v2.0.h | 8 + .../gnds-2.0/try/c/src/v2.0/common/Energy.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/common/Energy.h | 2 +- .../gnds-2.0/try/c/src/v2.0/common/Mass.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/common/Mass.h | 2 +- .../gnds-2.0/try/c/src/v2.0/common/Q.cpp | 2 +- standards/gnds-2.0/try/c/src/v2.0/common/Q.h | 2 +- .../try/c/src/v2.0/common/Temperature.cpp | 2 +- .../try/c/src/v2.0/common/Temperature.h | 2 +- .../v2.0/containers/ConfidenceIntervals.cpp | 340 +++++++++++++ .../src/v2.0/containers/ConfidenceIntervals.h | 262 ++++++++++ .../try/c/src/v2.0/containers/Covariance.cpp | 200 ++++++++ .../try/c/src/v2.0/containers/Covariance.h | 175 +++++++ .../try/c/src/v2.0/containers/Interval.cpp | 235 +++++++++ .../try/c/src/v2.0/containers/Interval.h | 195 +++++++ .../src/v2.0/containers/ListOfCovariances.cpp | 295 +++++++++++ .../c/src/v2.0/containers/ListOfCovariances.h | 233 +++++++++ .../try/c/src/v2.0/containers/LogNormal.cpp | 174 +++++++ .../try/c/src/v2.0/containers/LogNormal.h | 159 ++++++ .../try/c/src/v2.0/containers/Pdf.cpp | 217 ++++++++ .../gnds-2.0/try/c/src/v2.0/containers/Pdf.h | 183 +++++++ .../try/c/src/v2.0/containers/Standard.cpp | 174 +++++++ .../try/c/src/v2.0/containers/Standard.h | 159 ++++++ .../try/c/src/v2.0/containers/Uncertainty.cpp | 475 ++++++++++++++++++ .../try/c/src/v2.0/containers/Uncertainty.h | 327 ++++++++++++ .../gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/fpy/Yields.h | 2 +- .../try/c/src/v2.0/styles/Temperature.cpp | 2 +- .../try/c/src/v2.0/styles/Temperature.h | 2 +- .../transport/ResonancesWithBackground.cpp | 2 +- .../v2.0/transport/ResonancesWithBackground.h | 2 +- .../python/src/v2.0/common/Energy.python.cpp | 2 +- .../python/src/v2.0/common/Mass.python.cpp | 2 +- .../try/python/src/v2.0/common/Q.python.cpp | 2 +- .../src/v2.0/common/Temperature.python.cpp | 2 +- .../try/python/src/v2.0/containers.python.cpp | 20 +- .../src/v2.0/containers/Axis.python.cpp | 4 +- .../containers/ConfidenceIntervals.python.cpp | 56 +++ .../src/v2.0/containers/Constant1d.python.cpp | 8 +- .../src/v2.0/containers/Covariance.python.cpp | 63 +++ .../src/v2.0/containers/Interval.python.cpp | 70 +++ .../src/v2.0/containers/Link.python.cpp | 4 +- .../containers/ListOfCovariances.python.cpp | 56 +++ .../src/v2.0/containers/LogNormal.python.cpp | 56 +++ .../python/src/v2.0/containers/Pdf.python.cpp | 63 +++ .../v2.0/containers/Polynomial1d.python.cpp | 8 +- .../src/v2.0/containers/Standard.python.cpp | 56 +++ .../v2.0/containers/Uncertainty.python.cpp | 105 ++++ .../try/python/src/v2.0/fpy/Yields.python.cpp | 2 +- .../try/python/src/v2.0/pops.python.cpp | 12 +- .../src/v2.0/styles/Temperature.python.cpp | 2 +- .../ResonancesWithBackground.python.cpp | 2 +- standards/gnds-2.0/try/src/try/v2.0.hpp | 8 + .../try/src/try/v2.0/common/Energy.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/common/Mass.hpp | 8 +- .../gnds-2.0/try/src/try/v2.0/common/Q.hpp | 8 +- .../try/src/try/v2.0/common/Temperature.hpp | 8 +- .../try/src/try/v2.0/containers/Axis.hpp | 6 +- .../v2.0/containers/ConfidenceIntervals.hpp | 106 ++++ .../ConfidenceIntervals/src/custom.hpp | 4 + .../src/try/v2.0/containers/Constant1d.hpp | 12 +- .../src/try/v2.0/containers/Covariance.hpp | 112 +++++ .../v2.0/containers/Covariance/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Interval.hpp | 118 +++++ .../v2.0/containers/Interval/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Link.hpp | 6 +- .../try/v2.0/containers/ListOfCovariances.hpp | 106 ++++ .../ListOfCovariances/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/LogNormal.hpp | 106 ++++ .../v2.0/containers/LogNormal/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Pdf.hpp | 113 +++++ .../try/v2.0/containers/Pdf/src/custom.hpp | 4 + .../src/try/v2.0/containers/Polynomial1d.hpp | 12 +- .../try/src/try/v2.0/containers/Standard.hpp | 106 ++++ .../v2.0/containers/Standard/src/custom.hpp | 4 + .../src/try/v2.0/containers/Uncertainty.hpp | 155 ++++++ .../containers/Uncertainty/src/custom.hpp | 4 + .../gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp | 8 +- standards/gnds-2.0/try/src/try/v2.0/key.hpp | 8 + .../try/src/try/v2.0/styles/Temperature.hpp | 8 +- .../transport/ResonancesWithBackground.hpp | 8 +- 81 files changed, 5409 insertions(+), 87 deletions(-) create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Interval.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Interval.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Standard.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Standard.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.h create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/ConfidenceIntervals.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Covariance.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Interval.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/ListOfCovariances.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/LogNormal.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Pdf.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Standard.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Uncertainty.python.cpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Covariance.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Covariance/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Interval.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Interval/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Pdf.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Pdf/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Standard.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Standard/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty/src/custom.hpp diff --git a/standards/gnds-2.0/try/c/src/v2.0.h b/standards/gnds-2.0/try/c/src/v2.0.h index c867f5a00..16f99d7a5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0.h +++ b/standards/gnds-2.0/try/c/src/v2.0.h @@ -151,6 +151,14 @@ #include "v2.0/containers/Fraction.h" #include "v2.0/containers/String.h" #include "v2.0/containers/Link.h" +#include "v2.0/containers/Uncertainty.h" +#include "v2.0/containers/ListOfCovariances.h" +#include "v2.0/containers/Covariance.h" +#include "v2.0/containers/Standard.h" +#include "v2.0/containers/LogNormal.h" +#include "v2.0/containers/ConfidenceIntervals.h" +#include "v2.0/containers/Interval.h" +#include "v2.0/containers/Pdf.h" #include "v2.0/containers/Axes.h" #include "v2.0/containers/Axis.h" #include "v2.0/containers/Grid.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp index 25b22cb6a..436d81fd6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp @@ -23,7 +23,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = pops::Uncertainty; +using CPPUncertainty = ambiguousNamespace::Uncertainty; using CPPDouble = containers::Double; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h index 3c366c64e..08cbcc2b3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/pops/Uncertainty.h" +#include "v2.0/ambiguousNamespace/Uncertainty.h" #include "v2.0/containers/Double.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp index 29a09a90a..c6a13c96c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp @@ -23,7 +23,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = pops::Uncertainty; +using CPPUncertainty = ambiguousNamespace::Uncertainty; using CPPDouble = containers::Double; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h index 1732b6089..fc3439e7a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/pops/Uncertainty.h" +#include "v2.0/ambiguousNamespace/Uncertainty.h" #include "v2.0/containers/Double.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp index 8648619e2..ae2d23af0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp @@ -22,7 +22,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = pops::Uncertainty; +using CPPUncertainty = ambiguousNamespace::Uncertainty; using CPPConstant1d = containers::Constant1d; using CPPXYs1d = containers::XYs1d; using CPPRegions1d = containers::Regions1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h b/standards/gnds-2.0/try/c/src/v2.0/common/Q.h index a9be10af7..a1ea2f34e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Q.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/pops/Uncertainty.h" +#include "v2.0/ambiguousNamespace/Uncertainty.h" #include "v2.0/containers/Constant1d.h" #include "v2.0/containers/XYs1d.h" #include "v2.0/containers/Regions1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp index 9bfc8a701..44f8d5325 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp @@ -22,7 +22,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = pops::Uncertainty; +using CPPUncertainty = ambiguousNamespace::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h index ce653d72b..28e1aecd1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/pops/Uncertainty.h" +#include "v2.0/ambiguousNamespace/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.cpp new file mode 100644 index 000000000..c66b22dc6 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/ConfidenceIntervals.hpp" +#include "ConfidenceIntervals.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ConfidenceIntervalsClass; +using CPP = multigroup::ConfidenceIntervals; + +static const std::string CLASSNAME = "ConfidenceIntervals"; + +namespace extract { + static auto interval = [](auto &obj) { return &obj.interval; }; +} + +using CPPInterval = containers::Interval; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstConfidenceIntervals +ConfidenceIntervalsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ConfidenceIntervals +ConfidenceIntervalsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstConfidenceIntervals +ConfidenceIntervalsCreateConst( + ConstHandle2Interval *const interval, const size_t intervalSize +) { + ConstHandle2ConfidenceIntervals handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t IntervalN = 0; IntervalN < intervalSize; ++IntervalN) + ConfidenceIntervalsIntervalAdd(handle, interval[IntervalN]); + return handle; +} + +// Create, general +Handle2ConfidenceIntervals +ConfidenceIntervalsCreate( + ConstHandle2Interval *const interval, const size_t intervalSize +) { + ConstHandle2ConfidenceIntervals handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t IntervalN = 0; IntervalN < intervalSize; ++IntervalN) + ConfidenceIntervalsIntervalAdd(handle, interval[IntervalN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ConfidenceIntervalsAssign(ConstHandle2ConfidenceIntervals This, ConstHandle2ConstConfidenceIntervals from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ConfidenceIntervalsDelete(ConstHandle2ConstConfidenceIntervals This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ConfidenceIntervalsRead(ConstHandle2ConfidenceIntervals This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ConfidenceIntervalsWrite(ConstHandle2ConstConfidenceIntervals This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ConfidenceIntervalsPrint(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ConfidenceIntervalsPrintXML(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ConfidenceIntervalsPrintJSON(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: interval +// ----------------------------------------------------------------------------- + +// Has +int +ConfidenceIntervalsIntervalHas(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"IntervalHas", This, extract::interval); +} + +// Clear +void +ConfidenceIntervalsIntervalClear(ConstHandle2ConfidenceIntervals This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"IntervalClear", This, extract::interval); +} + +// Size +size_t +ConfidenceIntervalsIntervalSize(ConstHandle2ConstConfidenceIntervals This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"IntervalSize", This, extract::interval); +} + +// Add +void +ConfidenceIntervalsIntervalAdd(ConstHandle2ConfidenceIntervals This, ConstHandle2ConstInterval interval) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"IntervalAdd", This, extract::interval, interval); +} + +// Get, by index \in [0,size), const +Handle2ConstInterval +ConfidenceIntervalsIntervalGetConst(ConstHandle2ConstConfidenceIntervals This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IntervalGetConst", This, extract::interval, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Interval +ConfidenceIntervalsIntervalGet(ConstHandle2ConfidenceIntervals This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"IntervalGet", This, extract::interval, index_); +} + +// Set, by index \in [0,size) +void +ConfidenceIntervalsIntervalSet( + ConstHandle2ConfidenceIntervals This, + const size_t index_, + ConstHandle2ConstInterval interval +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"IntervalSet", This, extract::interval, index_, interval); +} + +// Has, by confidence +int +ConfidenceIntervalsIntervalHasByConfidence( + ConstHandle2ConstConfidenceIntervals This, + const Float64 confidence +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntervalHasByConfidence", + This, extract::interval, meta::confidence, confidence); +} + +// Get, by confidence, const +Handle2ConstInterval +ConfidenceIntervalsIntervalGetByConfidenceConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 confidence +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByConfidenceConst", + This, extract::interval, meta::confidence, confidence); +} + +// Get, by confidence, non-const +Handle2Interval +ConfidenceIntervalsIntervalGetByConfidence( + ConstHandle2ConfidenceIntervals This, + const Float64 confidence +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByConfidence", + This, extract::interval, meta::confidence, confidence); +} + +// Set, by confidence +void +ConfidenceIntervalsIntervalSetByConfidence( + ConstHandle2ConfidenceIntervals This, + const Float64 confidence, + ConstHandle2ConstInterval interval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntervalSetByConfidence", + This, extract::interval, meta::confidence, confidence, interval); +} + +// Has, by lower +int +ConfidenceIntervalsIntervalHasByLower( + ConstHandle2ConstConfidenceIntervals This, + const Float64 lower +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntervalHasByLower", + This, extract::interval, meta::lower, lower); +} + +// Get, by lower, const +Handle2ConstInterval +ConfidenceIntervalsIntervalGetByLowerConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 lower +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByLowerConst", + This, extract::interval, meta::lower, lower); +} + +// Get, by lower, non-const +Handle2Interval +ConfidenceIntervalsIntervalGetByLower( + ConstHandle2ConfidenceIntervals This, + const Float64 lower +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByLower", + This, extract::interval, meta::lower, lower); +} + +// Set, by lower +void +ConfidenceIntervalsIntervalSetByLower( + ConstHandle2ConfidenceIntervals This, + const Float64 lower, + ConstHandle2ConstInterval interval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntervalSetByLower", + This, extract::interval, meta::lower, lower, interval); +} + +// Has, by upper +int +ConfidenceIntervalsIntervalHasByUpper( + ConstHandle2ConstConfidenceIntervals This, + const Float64 upper +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"IntervalHasByUpper", + This, extract::interval, meta::upper, upper); +} + +// Get, by upper, const +Handle2ConstInterval +ConfidenceIntervalsIntervalGetByUpperConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 upper +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByUpperConst", + This, extract::interval, meta::upper, upper); +} + +// Get, by upper, non-const +Handle2Interval +ConfidenceIntervalsIntervalGetByUpper( + ConstHandle2ConfidenceIntervals This, + const Float64 upper +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"IntervalGetByUpper", + This, extract::interval, meta::upper, upper); +} + +// Set, by upper +void +ConfidenceIntervalsIntervalSetByUpper( + ConstHandle2ConfidenceIntervals This, + const Float64 upper, + ConstHandle2ConstInterval interval +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"IntervalSetByUpper", + This, extract::interval, meta::upper, upper, interval); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.h b/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.h new file mode 100644 index 000000000..499b063a8 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ConfidenceIntervals is the basic handle type in this file. Example: +// // Create a default ConfidenceIntervals object: +// ConfidenceIntervals handle = ConfidenceIntervalsDefault(); +// Functions involving ConfidenceIntervals are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_CONFIDENCEINTERVALS +#define C_INTERFACE_TRY_V2_0_CONTAINERS_CONFIDENCEINTERVALS + +#include "GNDStk.h" +#include "v2.0/containers/Interval.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ConfidenceIntervalsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ConfidenceIntervals +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ConfidenceIntervalsClass *ConfidenceIntervals; + +// --- Const-aware handles. +typedef const struct ConfidenceIntervalsClass *const ConstHandle2ConstConfidenceIntervals; +typedef struct ConfidenceIntervalsClass *const ConstHandle2ConfidenceIntervals; +typedef const struct ConfidenceIntervalsClass * Handle2ConstConfidenceIntervals; +typedef struct ConfidenceIntervalsClass * Handle2ConfidenceIntervals; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstConfidenceIntervals +ConfidenceIntervalsDefaultConst(); + +// +++ Create, default +extern_c Handle2ConfidenceIntervals +ConfidenceIntervalsDefault(); + +// --- Create, general, const +extern_c Handle2ConstConfidenceIntervals +ConfidenceIntervalsCreateConst( + ConstHandle2Interval *const interval, const size_t intervalSize +); + +// +++ Create, general +extern_c Handle2ConfidenceIntervals +ConfidenceIntervalsCreate( + ConstHandle2Interval *const interval, const size_t intervalSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ConfidenceIntervalsAssign(ConstHandle2ConfidenceIntervals This, ConstHandle2ConstConfidenceIntervals from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ConfidenceIntervalsDelete(ConstHandle2ConstConfidenceIntervals This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ConfidenceIntervalsRead(ConstHandle2ConfidenceIntervals This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ConfidenceIntervalsWrite(ConstHandle2ConstConfidenceIntervals This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ConfidenceIntervalsPrint(ConstHandle2ConstConfidenceIntervals This); + +// +++ Print to standard output, as XML +extern_c int +ConfidenceIntervalsPrintXML(ConstHandle2ConstConfidenceIntervals This); + +// +++ Print to standard output, as JSON +extern_c int +ConfidenceIntervalsPrintJSON(ConstHandle2ConstConfidenceIntervals This); + + +// ----------------------------------------------------------------------------- +// Child: interval +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfidenceIntervalsIntervalHas(ConstHandle2ConstConfidenceIntervals This); + +// +++ Clear +extern_c void +ConfidenceIntervalsIntervalClear(ConstHandle2ConfidenceIntervals This); + +// +++ Size +extern_c size_t +ConfidenceIntervalsIntervalSize(ConstHandle2ConstConfidenceIntervals This); + +// +++ Add +extern_c void +ConfidenceIntervalsIntervalAdd(ConstHandle2ConfidenceIntervals This, ConstHandle2ConstInterval interval); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstInterval +ConfidenceIntervalsIntervalGetConst(ConstHandle2ConstConfidenceIntervals This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Interval +ConfidenceIntervalsIntervalGet(ConstHandle2ConfidenceIntervals This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ConfidenceIntervalsIntervalSet( + ConstHandle2ConfidenceIntervals This, + const size_t index_, + ConstHandle2ConstInterval interval +); + +// +++ Has, by confidence +extern_c int +ConfidenceIntervalsIntervalHasByConfidence( + ConstHandle2ConstConfidenceIntervals This, + const Float64 confidence +); + +// --- Get, by confidence, const +extern_c Handle2ConstInterval +ConfidenceIntervalsIntervalGetByConfidenceConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 confidence +); + +// +++ Get, by confidence, non-const +extern_c Handle2Interval +ConfidenceIntervalsIntervalGetByConfidence( + ConstHandle2ConfidenceIntervals This, + const Float64 confidence +); + +// +++ Set, by confidence +extern_c void +ConfidenceIntervalsIntervalSetByConfidence( + ConstHandle2ConfidenceIntervals This, + const Float64 confidence, + ConstHandle2ConstInterval interval +); + +// +++ Has, by lower +extern_c int +ConfidenceIntervalsIntervalHasByLower( + ConstHandle2ConstConfidenceIntervals This, + const Float64 lower +); + +// --- Get, by lower, const +extern_c Handle2ConstInterval +ConfidenceIntervalsIntervalGetByLowerConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 lower +); + +// +++ Get, by lower, non-const +extern_c Handle2Interval +ConfidenceIntervalsIntervalGetByLower( + ConstHandle2ConfidenceIntervals This, + const Float64 lower +); + +// +++ Set, by lower +extern_c void +ConfidenceIntervalsIntervalSetByLower( + ConstHandle2ConfidenceIntervals This, + const Float64 lower, + ConstHandle2ConstInterval interval +); + +// +++ Has, by upper +extern_c int +ConfidenceIntervalsIntervalHasByUpper( + ConstHandle2ConstConfidenceIntervals This, + const Float64 upper +); + +// --- Get, by upper, const +extern_c Handle2ConstInterval +ConfidenceIntervalsIntervalGetByUpperConst( + ConstHandle2ConstConfidenceIntervals This, + const Float64 upper +); + +// +++ Get, by upper, non-const +extern_c Handle2Interval +ConfidenceIntervalsIntervalGetByUpper( + ConstHandle2ConfidenceIntervals This, + const Float64 upper +); + +// +++ Set, by upper +extern_c void +ConfidenceIntervalsIntervalSetByUpper( + ConstHandle2ConfidenceIntervals This, + const Float64 upper, + ConstHandle2ConstInterval interval +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.cpp new file mode 100644 index 000000000..b5196493e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Covariance.hpp" +#include "Covariance.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = CovarianceClass; +using CPP = multigroup::Covariance; + +static const std::string CLASSNAME = "Covariance"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto href = [](auto &obj) { return &obj.href; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCovariance +CovarianceDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Covariance +CovarianceDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCovariance +CovarianceCreateConst( + const XMLName label, + const char *const href +) { + ConstHandle2Covariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + href + ); + return handle; +} + +// Create, general +Handle2Covariance +CovarianceCreate( + const XMLName label, + const char *const href +) { + ConstHandle2Covariance handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + href + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +CovarianceAssign(ConstHandle2Covariance This, ConstHandle2ConstCovariance from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +CovarianceDelete(ConstHandle2ConstCovariance This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +CovarianceRead(ConstHandle2Covariance This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +CovarianceWrite(ConstHandle2ConstCovariance This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +CovariancePrint(ConstHandle2ConstCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +CovariancePrintXML(ConstHandle2ConstCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +CovariancePrintJSON(ConstHandle2ConstCovariance This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceLabelHas(ConstHandle2ConstCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +CovarianceLabelGet(ConstHandle2ConstCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +CovarianceLabelSet(ConstHandle2Covariance This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// Has +int +CovarianceHrefHas(ConstHandle2ConstCovariance This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"HrefHas", This, extract::href); +} + +// Get +// Returns by value +const char * +CovarianceHrefGet(ConstHandle2ConstCovariance This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"HrefGet", This, extract::href); +} + +// Set +void +CovarianceHrefSet(ConstHandle2Covariance This, const char *const href) +{ + detail::setField + (CLASSNAME, CLASSNAME+"HrefSet", This, extract::href, href); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.h new file mode 100644 index 000000000..1263a6845 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Covariance is the basic handle type in this file. Example: +// // Create a default Covariance object: +// Covariance handle = CovarianceDefault(); +// Functions involving Covariance are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_COVARIANCE +#define C_INTERFACE_TRY_V2_0_CONTAINERS_COVARIANCE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct CovarianceClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Covariance +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct CovarianceClass *Covariance; + +// --- Const-aware handles. +typedef const struct CovarianceClass *const ConstHandle2ConstCovariance; +typedef struct CovarianceClass *const ConstHandle2Covariance; +typedef const struct CovarianceClass * Handle2ConstCovariance; +typedef struct CovarianceClass * Handle2Covariance; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCovariance +CovarianceDefaultConst(); + +// +++ Create, default +extern_c Handle2Covariance +CovarianceDefault(); + +// --- Create, general, const +extern_c Handle2ConstCovariance +CovarianceCreateConst( + const XMLName label, + const char *const href +); + +// +++ Create, general +extern_c Handle2Covariance +CovarianceCreate( + const XMLName label, + const char *const href +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +CovarianceAssign(ConstHandle2Covariance This, ConstHandle2ConstCovariance from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +CovarianceDelete(ConstHandle2ConstCovariance This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +CovarianceRead(ConstHandle2Covariance This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +CovarianceWrite(ConstHandle2ConstCovariance This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +CovariancePrint(ConstHandle2ConstCovariance This); + +// +++ Print to standard output, as XML +extern_c int +CovariancePrintXML(ConstHandle2ConstCovariance This); + +// +++ Print to standard output, as JSON +extern_c int +CovariancePrintJSON(ConstHandle2ConstCovariance This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceLabelHas(ConstHandle2ConstCovariance This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +CovarianceLabelGet(ConstHandle2ConstCovariance This); + +// +++ Set +extern_c void +CovarianceLabelSet(ConstHandle2Covariance This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: href +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +CovarianceHrefHas(ConstHandle2ConstCovariance This); + +// +++ Get +// +++ Returns by value +extern_c const char * +CovarianceHrefGet(ConstHandle2ConstCovariance This); + +// +++ Set +extern_c void +CovarianceHrefSet(ConstHandle2Covariance This, const char *const href); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.cpp new file mode 100644 index 000000000..39298c39b --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Interval.hpp" +#include "Interval.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = IntervalClass; +using CPP = multigroup::Interval; + +static const std::string CLASSNAME = "Interval"; + +namespace extract { + static auto confidence = [](auto &obj) { return &obj.confidence; }; + static auto lower = [](auto &obj) { return &obj.lower; }; + static auto upper = [](auto &obj) { return &obj.upper; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstInterval +IntervalDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Interval +IntervalDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstInterval +IntervalCreateConst( + const Float64 confidence, + const Float64 lower, + const Float64 upper +) { + ConstHandle2Interval handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + confidence, + lower, + upper + ); + return handle; +} + +// Create, general +Handle2Interval +IntervalCreate( + const Float64 confidence, + const Float64 lower, + const Float64 upper +) { + ConstHandle2Interval handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + confidence, + lower, + upper + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +IntervalAssign(ConstHandle2Interval This, ConstHandle2ConstInterval from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +IntervalDelete(ConstHandle2ConstInterval This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +IntervalRead(ConstHandle2Interval This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +IntervalWrite(ConstHandle2ConstInterval This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +IntervalPrint(ConstHandle2ConstInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +IntervalPrintXML(ConstHandle2ConstInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +IntervalPrintJSON(ConstHandle2ConstInterval This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: confidence +// ----------------------------------------------------------------------------- + +// Has +int +IntervalConfidenceHas(ConstHandle2ConstInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfidenceHas", This, extract::confidence); +} + +// Get +// Returns by value +Float64 +IntervalConfidenceGet(ConstHandle2ConstInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfidenceGet", This, extract::confidence); +} + +// Set +void +IntervalConfidenceSet(ConstHandle2Interval This, const Float64 confidence) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConfidenceSet", This, extract::confidence, confidence); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: lower +// ----------------------------------------------------------------------------- + +// Has +int +IntervalLowerHas(ConstHandle2ConstInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LowerHas", This, extract::lower); +} + +// Get +// Returns by value +Float64 +IntervalLowerGet(ConstHandle2ConstInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LowerGet", This, extract::lower); +} + +// Set +void +IntervalLowerSet(ConstHandle2Interval This, const Float64 lower) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LowerSet", This, extract::lower, lower); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: upper +// ----------------------------------------------------------------------------- + +// Has +int +IntervalUpperHas(ConstHandle2ConstInterval This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UpperHas", This, extract::upper); +} + +// Get +// Returns by value +Float64 +IntervalUpperGet(ConstHandle2ConstInterval This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UpperGet", This, extract::upper); +} + +// Set +void +IntervalUpperSet(ConstHandle2Interval This, const Float64 upper) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UpperSet", This, extract::upper, upper); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.h new file mode 100644 index 000000000..39443ce20 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Interval is the basic handle type in this file. Example: +// // Create a default Interval object: +// Interval handle = IntervalDefault(); +// Functions involving Interval are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_INTERVAL +#define C_INTERFACE_TRY_V2_0_CONTAINERS_INTERVAL + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct IntervalClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Interval +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct IntervalClass *Interval; + +// --- Const-aware handles. +typedef const struct IntervalClass *const ConstHandle2ConstInterval; +typedef struct IntervalClass *const ConstHandle2Interval; +typedef const struct IntervalClass * Handle2ConstInterval; +typedef struct IntervalClass * Handle2Interval; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstInterval +IntervalDefaultConst(); + +// +++ Create, default +extern_c Handle2Interval +IntervalDefault(); + +// --- Create, general, const +extern_c Handle2ConstInterval +IntervalCreateConst( + const Float64 confidence, + const Float64 lower, + const Float64 upper +); + +// +++ Create, general +extern_c Handle2Interval +IntervalCreate( + const Float64 confidence, + const Float64 lower, + const Float64 upper +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +IntervalAssign(ConstHandle2Interval This, ConstHandle2ConstInterval from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +IntervalDelete(ConstHandle2ConstInterval This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +IntervalRead(ConstHandle2Interval This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +IntervalWrite(ConstHandle2ConstInterval This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +IntervalPrint(ConstHandle2ConstInterval This); + +// +++ Print to standard output, as XML +extern_c int +IntervalPrintXML(ConstHandle2ConstInterval This); + +// +++ Print to standard output, as JSON +extern_c int +IntervalPrintJSON(ConstHandle2ConstInterval This); + + +// ----------------------------------------------------------------------------- +// Metadatum: confidence +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntervalConfidenceHas(ConstHandle2ConstInterval This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +IntervalConfidenceGet(ConstHandle2ConstInterval This); + +// +++ Set +extern_c void +IntervalConfidenceSet(ConstHandle2Interval This, const Float64 confidence); + + +// ----------------------------------------------------------------------------- +// Metadatum: lower +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntervalLowerHas(ConstHandle2ConstInterval This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +IntervalLowerGet(ConstHandle2ConstInterval This); + +// +++ Set +extern_c void +IntervalLowerSet(ConstHandle2Interval This, const Float64 lower); + + +// ----------------------------------------------------------------------------- +// Metadatum: upper +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +IntervalUpperHas(ConstHandle2ConstInterval This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +IntervalUpperGet(ConstHandle2ConstInterval This); + +// +++ Set +extern_c void +IntervalUpperSet(ConstHandle2Interval This, const Float64 upper); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.cpp new file mode 100644 index 000000000..a84ed9aaf --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/ListOfCovariances.hpp" +#include "ListOfCovariances.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = ListOfCovariancesClass; +using CPP = multigroup::ListOfCovariances; + +static const std::string CLASSNAME = "ListOfCovariances"; + +namespace extract { + static auto covariance = [](auto &obj) { return &obj.covariance; }; +} + +using CPPCovariance = containers::Covariance; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstListOfCovariances +ListOfCovariancesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ListOfCovariances +ListOfCovariancesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstListOfCovariances +ListOfCovariancesCreateConst( + ConstHandle2Covariance *const covariance, const size_t covarianceSize +) { + ConstHandle2ListOfCovariances handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t CovarianceN = 0; CovarianceN < covarianceSize; ++CovarianceN) + ListOfCovariancesCovarianceAdd(handle, covariance[CovarianceN]); + return handle; +} + +// Create, general +Handle2ListOfCovariances +ListOfCovariancesCreate( + ConstHandle2Covariance *const covariance, const size_t covarianceSize +) { + ConstHandle2ListOfCovariances handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t CovarianceN = 0; CovarianceN < covarianceSize; ++CovarianceN) + ListOfCovariancesCovarianceAdd(handle, covariance[CovarianceN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ListOfCovariancesAssign(ConstHandle2ListOfCovariances This, ConstHandle2ConstListOfCovariances from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ListOfCovariancesDelete(ConstHandle2ConstListOfCovariances This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ListOfCovariancesRead(ConstHandle2ListOfCovariances This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ListOfCovariancesWrite(ConstHandle2ConstListOfCovariances This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ListOfCovariancesPrint(ConstHandle2ConstListOfCovariances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ListOfCovariancesPrintXML(ConstHandle2ConstListOfCovariances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ListOfCovariancesPrintJSON(ConstHandle2ConstListOfCovariances This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: covariance +// ----------------------------------------------------------------------------- + +// Has +int +ListOfCovariancesCovarianceHas(ConstHandle2ConstListOfCovariances This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CovarianceHas", This, extract::covariance); +} + +// Clear +void +ListOfCovariancesCovarianceClear(ConstHandle2ListOfCovariances This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"CovarianceClear", This, extract::covariance); +} + +// Size +size_t +ListOfCovariancesCovarianceSize(ConstHandle2ConstListOfCovariances This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"CovarianceSize", This, extract::covariance); +} + +// Add +void +ListOfCovariancesCovarianceAdd(ConstHandle2ListOfCovariances This, ConstHandle2ConstCovariance covariance) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"CovarianceAdd", This, extract::covariance, covariance); +} + +// Get, by index \in [0,size), const +Handle2ConstCovariance +ListOfCovariancesCovarianceGetConst(ConstHandle2ConstListOfCovariances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CovarianceGetConst", This, extract::covariance, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Covariance +ListOfCovariancesCovarianceGet(ConstHandle2ListOfCovariances This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"CovarianceGet", This, extract::covariance, index_); +} + +// Set, by index \in [0,size) +void +ListOfCovariancesCovarianceSet( + ConstHandle2ListOfCovariances This, + const size_t index_, + ConstHandle2ConstCovariance covariance +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"CovarianceSet", This, extract::covariance, index_, covariance); +} + +// Has, by label +int +ListOfCovariancesCovarianceHasByLabel( + ConstHandle2ConstListOfCovariances This, + const XMLName label +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceHasByLabel", + This, extract::covariance, meta::label, label); +} + +// Get, by label, const +Handle2ConstCovariance +ListOfCovariancesCovarianceGetByLabelConst( + ConstHandle2ConstListOfCovariances This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceGetByLabelConst", + This, extract::covariance, meta::label, label); +} + +// Get, by label, non-const +Handle2Covariance +ListOfCovariancesCovarianceGetByLabel( + ConstHandle2ListOfCovariances This, + const XMLName label +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceGetByLabel", + This, extract::covariance, meta::label, label); +} + +// Set, by label +void +ListOfCovariancesCovarianceSetByLabel( + ConstHandle2ListOfCovariances This, + const XMLName label, + ConstHandle2ConstCovariance covariance +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSetByLabel", + This, extract::covariance, meta::label, label, covariance); +} + +// Has, by href +int +ListOfCovariancesCovarianceHasByHref( + ConstHandle2ConstListOfCovariances This, + const char *const href +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceHasByHref", + This, extract::covariance, meta::href, href); +} + +// Get, by href, const +Handle2ConstCovariance +ListOfCovariancesCovarianceGetByHrefConst( + ConstHandle2ConstListOfCovariances This, + const char *const href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceGetByHrefConst", + This, extract::covariance, meta::href, href); +} + +// Get, by href, non-const +Handle2Covariance +ListOfCovariancesCovarianceGetByHref( + ConstHandle2ListOfCovariances This, + const char *const href +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceGetByHref", + This, extract::covariance, meta::href, href); +} + +// Set, by href +void +ListOfCovariancesCovarianceSetByHref( + ConstHandle2ListOfCovariances This, + const char *const href, + ConstHandle2ConstCovariance covariance +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"CovarianceSetByHref", + This, extract::covariance, meta::href, href, covariance); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.h b/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.h new file mode 100644 index 000000000..694576457 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ListOfCovariances is the basic handle type in this file. Example: +// // Create a default ListOfCovariances object: +// ListOfCovariances handle = ListOfCovariancesDefault(); +// Functions involving ListOfCovariances are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_LISTOFCOVARIANCES +#define C_INTERFACE_TRY_V2_0_CONTAINERS_LISTOFCOVARIANCES + +#include "GNDStk.h" +#include "v2.0/containers/Covariance.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ListOfCovariancesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ListOfCovariances +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ListOfCovariancesClass *ListOfCovariances; + +// --- Const-aware handles. +typedef const struct ListOfCovariancesClass *const ConstHandle2ConstListOfCovariances; +typedef struct ListOfCovariancesClass *const ConstHandle2ListOfCovariances; +typedef const struct ListOfCovariancesClass * Handle2ConstListOfCovariances; +typedef struct ListOfCovariancesClass * Handle2ListOfCovariances; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstListOfCovariances +ListOfCovariancesDefaultConst(); + +// +++ Create, default +extern_c Handle2ListOfCovariances +ListOfCovariancesDefault(); + +// --- Create, general, const +extern_c Handle2ConstListOfCovariances +ListOfCovariancesCreateConst( + ConstHandle2Covariance *const covariance, const size_t covarianceSize +); + +// +++ Create, general +extern_c Handle2ListOfCovariances +ListOfCovariancesCreate( + ConstHandle2Covariance *const covariance, const size_t covarianceSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ListOfCovariancesAssign(ConstHandle2ListOfCovariances This, ConstHandle2ConstListOfCovariances from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ListOfCovariancesDelete(ConstHandle2ConstListOfCovariances This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ListOfCovariancesRead(ConstHandle2ListOfCovariances This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ListOfCovariancesWrite(ConstHandle2ConstListOfCovariances This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ListOfCovariancesPrint(ConstHandle2ConstListOfCovariances This); + +// +++ Print to standard output, as XML +extern_c int +ListOfCovariancesPrintXML(ConstHandle2ConstListOfCovariances This); + +// +++ Print to standard output, as JSON +extern_c int +ListOfCovariancesPrintJSON(ConstHandle2ConstListOfCovariances This); + + +// ----------------------------------------------------------------------------- +// Child: covariance +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ListOfCovariancesCovarianceHas(ConstHandle2ConstListOfCovariances This); + +// +++ Clear +extern_c void +ListOfCovariancesCovarianceClear(ConstHandle2ListOfCovariances This); + +// +++ Size +extern_c size_t +ListOfCovariancesCovarianceSize(ConstHandle2ConstListOfCovariances This); + +// +++ Add +extern_c void +ListOfCovariancesCovarianceAdd(ConstHandle2ListOfCovariances This, ConstHandle2ConstCovariance covariance); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstCovariance +ListOfCovariancesCovarianceGetConst(ConstHandle2ConstListOfCovariances This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Covariance +ListOfCovariancesCovarianceGet(ConstHandle2ListOfCovariances This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ListOfCovariancesCovarianceSet( + ConstHandle2ListOfCovariances This, + const size_t index_, + ConstHandle2ConstCovariance covariance +); + +// +++ Has, by label +extern_c int +ListOfCovariancesCovarianceHasByLabel( + ConstHandle2ConstListOfCovariances This, + const XMLName label +); + +// --- Get, by label, const +extern_c Handle2ConstCovariance +ListOfCovariancesCovarianceGetByLabelConst( + ConstHandle2ConstListOfCovariances This, + const XMLName label +); + +// +++ Get, by label, non-const +extern_c Handle2Covariance +ListOfCovariancesCovarianceGetByLabel( + ConstHandle2ListOfCovariances This, + const XMLName label +); + +// +++ Set, by label +extern_c void +ListOfCovariancesCovarianceSetByLabel( + ConstHandle2ListOfCovariances This, + const XMLName label, + ConstHandle2ConstCovariance covariance +); + +// +++ Has, by href +extern_c int +ListOfCovariancesCovarianceHasByHref( + ConstHandle2ConstListOfCovariances This, + const char *const href +); + +// --- Get, by href, const +extern_c Handle2ConstCovariance +ListOfCovariancesCovarianceGetByHrefConst( + ConstHandle2ConstListOfCovariances This, + const char *const href +); + +// +++ Get, by href, non-const +extern_c Handle2Covariance +ListOfCovariancesCovarianceGetByHref( + ConstHandle2ListOfCovariances This, + const char *const href +); + +// +++ Set, by href +extern_c void +ListOfCovariancesCovarianceSetByHref( + ConstHandle2ListOfCovariances This, + const char *const href, + ConstHandle2ConstCovariance covariance +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.cpp new file mode 100644 index 000000000..436c018ea --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/LogNormal.hpp" +#include "LogNormal.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = LogNormalClass; +using CPP = multigroup::LogNormal; + +static const std::string CLASSNAME = "LogNormal"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = containers::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstLogNormal +LogNormalDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2LogNormal +LogNormalDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstLogNormal +LogNormalCreateConst( + ConstHandle2ConstDouble Double +) { + ConstHandle2LogNormal handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2LogNormal +LogNormalCreate( + ConstHandle2ConstDouble Double +) { + ConstHandle2LogNormal handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +LogNormalAssign(ConstHandle2LogNormal This, ConstHandle2ConstLogNormal from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +LogNormalDelete(ConstHandle2ConstLogNormal This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +LogNormalRead(ConstHandle2LogNormal This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +LogNormalWrite(ConstHandle2ConstLogNormal This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +LogNormalPrint(ConstHandle2ConstLogNormal This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +LogNormalPrintXML(ConstHandle2ConstLogNormal This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +LogNormalPrintJSON(ConstHandle2ConstLogNormal This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +LogNormalDoubleHas(ConstHandle2ConstLogNormal This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +LogNormalDoubleGetConst(ConstHandle2ConstLogNormal This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +LogNormalDoubleGet(ConstHandle2LogNormal This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +LogNormalDoubleSet(ConstHandle2LogNormal This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.h b/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.h new file mode 100644 index 000000000..3ad983bf4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// LogNormal is the basic handle type in this file. Example: +// // Create a default LogNormal object: +// LogNormal handle = LogNormalDefault(); +// Functions involving LogNormal are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_LOGNORMAL +#define C_INTERFACE_TRY_V2_0_CONTAINERS_LOGNORMAL + +#include "GNDStk.h" +#include "v2.0/containers/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct LogNormalClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ LogNormal +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct LogNormalClass *LogNormal; + +// --- Const-aware handles. +typedef const struct LogNormalClass *const ConstHandle2ConstLogNormal; +typedef struct LogNormalClass *const ConstHandle2LogNormal; +typedef const struct LogNormalClass * Handle2ConstLogNormal; +typedef struct LogNormalClass * Handle2LogNormal; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstLogNormal +LogNormalDefaultConst(); + +// +++ Create, default +extern_c Handle2LogNormal +LogNormalDefault(); + +// --- Create, general, const +extern_c Handle2ConstLogNormal +LogNormalCreateConst( + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2LogNormal +LogNormalCreate( + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +LogNormalAssign(ConstHandle2LogNormal This, ConstHandle2ConstLogNormal from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +LogNormalDelete(ConstHandle2ConstLogNormal This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +LogNormalRead(ConstHandle2LogNormal This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +LogNormalWrite(ConstHandle2ConstLogNormal This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +LogNormalPrint(ConstHandle2ConstLogNormal This); + +// +++ Print to standard output, as XML +extern_c int +LogNormalPrintXML(ConstHandle2ConstLogNormal This); + +// +++ Print to standard output, as JSON +extern_c int +LogNormalPrintJSON(ConstHandle2ConstLogNormal This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +LogNormalDoubleHas(ConstHandle2ConstLogNormal This); + +// --- Get, const +extern_c Handle2ConstDouble +LogNormalDoubleGetConst(ConstHandle2ConstLogNormal This); + +// +++ Get, non-const +extern_c Handle2Double +LogNormalDoubleGet(ConstHandle2LogNormal This); + +// +++ Set +extern_c void +LogNormalDoubleSet(ConstHandle2LogNormal This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.cpp new file mode 100644 index 000000000..d28179dc3 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.cpp @@ -0,0 +1,217 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Pdf.hpp" +#include "Pdf.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = PdfClass; +using CPP = multigroup::Pdf; + +static const std::string CLASSNAME = "Pdf"; + +namespace extract { + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto regions1d = [](auto &obj) { return &obj.regions1d; }; +} + +using CPPXYs1d = containers::XYs1d; +using CPPRegions1d = containers::Regions1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPdf +PdfDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Pdf +PdfDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPdf +PdfCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2Pdf handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Create, general +Handle2Pdf +PdfCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +) { + ConstHandle2Pdf handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(XYs1d), + detail::tocpp(regions1d) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PdfAssign(ConstHandle2Pdf This, ConstHandle2ConstPdf from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PdfDelete(ConstHandle2ConstPdf This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PdfRead(ConstHandle2Pdf This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PdfWrite(ConstHandle2ConstPdf This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PdfPrint(ConstHandle2ConstPdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PdfPrintXML(ConstHandle2ConstPdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PdfPrintJSON(ConstHandle2ConstPdf This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +PdfXYs1dHas(ConstHandle2ConstPdf This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +PdfXYs1dGetConst(ConstHandle2ConstPdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +PdfXYs1dGet(ConstHandle2Pdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +PdfXYs1dSet(ConstHandle2Pdf This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// Has +int +PdfRegions1dHas(ConstHandle2ConstPdf This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Regions1dHas", This, extract::regions1d); +} + +// Get, const +Handle2ConstRegions1d +PdfRegions1dGetConst(ConstHandle2ConstPdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGetConst", This, extract::regions1d); +} + +// Get, non-const +Handle2Regions1d +PdfRegions1dGet(ConstHandle2Pdf This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Regions1dGet", This, extract::regions1d); +} + +// Set +void +PdfRegions1dSet(ConstHandle2Pdf This, ConstHandle2ConstRegions1d regions1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Regions1dSet", This, extract::regions1d, regions1d); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.h new file mode 100644 index 000000000..50313e026 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.h @@ -0,0 +1,183 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Pdf is the basic handle type in this file. Example: +// // Create a default Pdf object: +// Pdf handle = PdfDefault(); +// Functions involving Pdf are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_PDF +#define C_INTERFACE_TRY_V2_0_CONTAINERS_PDF + +#include "GNDStk.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Regions1d.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PdfClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Pdf +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PdfClass *Pdf; + +// --- Const-aware handles. +typedef const struct PdfClass *const ConstHandle2ConstPdf; +typedef struct PdfClass *const ConstHandle2Pdf; +typedef const struct PdfClass * Handle2ConstPdf; +typedef struct PdfClass * Handle2Pdf; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPdf +PdfDefaultConst(); + +// +++ Create, default +extern_c Handle2Pdf +PdfDefault(); + +// --- Create, general, const +extern_c Handle2ConstPdf +PdfCreateConst( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Create, general +extern_c Handle2Pdf +PdfCreate( + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstRegions1d regions1d +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PdfAssign(ConstHandle2Pdf This, ConstHandle2ConstPdf from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PdfDelete(ConstHandle2ConstPdf This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PdfRead(ConstHandle2Pdf This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PdfWrite(ConstHandle2ConstPdf This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PdfPrint(ConstHandle2ConstPdf This); + +// +++ Print to standard output, as XML +extern_c int +PdfPrintXML(ConstHandle2ConstPdf This); + +// +++ Print to standard output, as JSON +extern_c int +PdfPrintJSON(ConstHandle2ConstPdf This); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PdfXYs1dHas(ConstHandle2ConstPdf This); + +// --- Get, const +extern_c Handle2ConstXYs1d +PdfXYs1dGetConst(ConstHandle2ConstPdf This); + +// +++ Get, non-const +extern_c Handle2XYs1d +PdfXYs1dGet(ConstHandle2Pdf This); + +// +++ Set +extern_c void +PdfXYs1dSet(ConstHandle2Pdf This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: regions1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PdfRegions1dHas(ConstHandle2ConstPdf This); + +// --- Get, const +extern_c Handle2ConstRegions1d +PdfRegions1dGetConst(ConstHandle2ConstPdf This); + +// +++ Get, non-const +extern_c Handle2Regions1d +PdfRegions1dGet(ConstHandle2Pdf This); + +// +++ Set +extern_c void +PdfRegions1dSet(ConstHandle2Pdf This, ConstHandle2ConstRegions1d regions1d); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.cpp new file mode 100644 index 000000000..ed5a934f4 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Standard.hpp" +#include "Standard.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = StandardClass; +using CPP = multigroup::Standard; + +static const std::string CLASSNAME = "Standard"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = containers::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstStandard +StandardDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Standard +StandardDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstStandard +StandardCreateConst( + ConstHandle2ConstDouble Double +) { + ConstHandle2Standard handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2Standard +StandardCreate( + ConstHandle2ConstDouble Double +) { + ConstHandle2Standard handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +StandardAssign(ConstHandle2Standard This, ConstHandle2ConstStandard from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +StandardDelete(ConstHandle2ConstStandard This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +StandardRead(ConstHandle2Standard This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +StandardWrite(ConstHandle2ConstStandard This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +StandardPrint(ConstHandle2ConstStandard This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +StandardPrintXML(ConstHandle2ConstStandard This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +StandardPrintJSON(ConstHandle2ConstStandard This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +StandardDoubleHas(ConstHandle2ConstStandard This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +StandardDoubleGetConst(ConstHandle2ConstStandard This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +StandardDoubleGet(ConstHandle2Standard This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +StandardDoubleSet(ConstHandle2Standard This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.h new file mode 100644 index 000000000..1e8bf2ff7 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Standard is the basic handle type in this file. Example: +// // Create a default Standard object: +// Standard handle = StandardDefault(); +// Functions involving Standard are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_STANDARD +#define C_INTERFACE_TRY_V2_0_CONTAINERS_STANDARD + +#include "GNDStk.h" +#include "v2.0/containers/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct StandardClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Standard +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct StandardClass *Standard; + +// --- Const-aware handles. +typedef const struct StandardClass *const ConstHandle2ConstStandard; +typedef struct StandardClass *const ConstHandle2Standard; +typedef const struct StandardClass * Handle2ConstStandard; +typedef struct StandardClass * Handle2Standard; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstStandard +StandardDefaultConst(); + +// +++ Create, default +extern_c Handle2Standard +StandardDefault(); + +// --- Create, general, const +extern_c Handle2ConstStandard +StandardCreateConst( + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2Standard +StandardCreate( + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +StandardAssign(ConstHandle2Standard This, ConstHandle2ConstStandard from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +StandardDelete(ConstHandle2ConstStandard This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +StandardRead(ConstHandle2Standard This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +StandardWrite(ConstHandle2ConstStandard This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +StandardPrint(ConstHandle2ConstStandard This); + +// +++ Print to standard output, as XML +extern_c int +StandardPrintXML(ConstHandle2ConstStandard This); + +// +++ Print to standard output, as JSON +extern_c int +StandardPrintJSON(ConstHandle2ConstStandard This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StandardDoubleHas(ConstHandle2ConstStandard This); + +// --- Get, const +extern_c Handle2ConstDouble +StandardDoubleGetConst(ConstHandle2ConstStandard This); + +// +++ Get, non-const +extern_c Handle2Double +StandardDoubleGet(ConstHandle2Standard This); + +// +++ Set +extern_c void +StandardDoubleSet(ConstHandle2Standard This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.cpp new file mode 100644 index 000000000..359ce3bce --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.cpp @@ -0,0 +1,475 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Uncertainty.hpp" +#include "Uncertainty.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = UncertaintyClass; +using CPP = multigroup::Uncertainty; + +static const std::string CLASSNAME = "Uncertainty"; + +namespace extract { + static auto standard = [](auto &obj) { return &obj.standard; }; + static auto logNormal = [](auto &obj) { return &obj.logNormal; }; + static auto confidenceIntervals = [](auto &obj) { return &obj.confidenceIntervals; }; + static auto pdf = [](auto &obj) { return &obj.pdf; }; + static auto XYs1d = [](auto &obj) { return &obj.XYs1d; }; + static auto polynomial1d = [](auto &obj) { return &obj.polynomial1d; }; + static auto covariance = [](auto &obj) { return &obj.covariance; }; + static auto listOfCovariances = [](auto &obj) { return &obj.listOfCovariances; }; +} + +using CPPStandard = containers::Standard; +using CPPLogNormal = containers::LogNormal; +using CPPConfidenceIntervals = containers::ConfidenceIntervals; +using CPPPdf = containers::Pdf; +using CPPXYs1d = containers::XYs1d; +using CPPPolynomial1d = containers::Polynomial1d; +using CPPCovariance = containers::Covariance; +using CPPListOfCovariances = containers::ListOfCovariances; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUncertainty +UncertaintyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Uncertainty +UncertaintyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUncertainty +UncertaintyCreateConst( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstPdf pdf, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstListOfCovariances listOfCovariances +) { + ConstHandle2Uncertainty handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(standard), + detail::tocpp(logNormal), + detail::tocpp(confidenceIntervals), + detail::tocpp(pdf), + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d), + detail::tocpp(covariance), + detail::tocpp(listOfCovariances) + ); + return handle; +} + +// Create, general +Handle2Uncertainty +UncertaintyCreate( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstPdf pdf, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstListOfCovariances listOfCovariances +) { + ConstHandle2Uncertainty handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(standard), + detail::tocpp(logNormal), + detail::tocpp(confidenceIntervals), + detail::tocpp(pdf), + detail::tocpp(XYs1d), + detail::tocpp(polynomial1d), + detail::tocpp(covariance), + detail::tocpp(listOfCovariances) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UncertaintyAssign(ConstHandle2Uncertainty This, ConstHandle2ConstUncertainty from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UncertaintyDelete(ConstHandle2ConstUncertainty This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UncertaintyRead(ConstHandle2Uncertainty This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UncertaintyWrite(ConstHandle2ConstUncertainty This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UncertaintyPrint(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UncertaintyPrintXML(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UncertaintyPrintJSON(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: standard +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyStandardHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StandardHas", This, extract::standard); +} + +// Get, const +Handle2ConstStandard +UncertaintyStandardGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StandardGetConst", This, extract::standard); +} + +// Get, non-const +Handle2Standard +UncertaintyStandardGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StandardGet", This, extract::standard); +} + +// Set +void +UncertaintyStandardSet(ConstHandle2Uncertainty This, ConstHandle2ConstStandard standard) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StandardSet", This, extract::standard, standard); +} + + +// ----------------------------------------------------------------------------- +// Child: logNormal +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyLogNormalHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LogNormalHas", This, extract::logNormal); +} + +// Get, const +Handle2ConstLogNormal +UncertaintyLogNormalGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LogNormalGetConst", This, extract::logNormal); +} + +// Get, non-const +Handle2LogNormal +UncertaintyLogNormalGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LogNormalGet", This, extract::logNormal); +} + +// Set +void +UncertaintyLogNormalSet(ConstHandle2Uncertainty This, ConstHandle2ConstLogNormal logNormal) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LogNormalSet", This, extract::logNormal, logNormal); +} + + +// ----------------------------------------------------------------------------- +// Child: confidenceIntervals +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyConfidenceIntervalsHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsHas", This, extract::confidenceIntervals); +} + +// Get, const +Handle2ConstConfidenceIntervals +UncertaintyConfidenceIntervalsGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsGetConst", This, extract::confidenceIntervals); +} + +// Get, non-const +Handle2ConfidenceIntervals +UncertaintyConfidenceIntervalsGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsGet", This, extract::confidenceIntervals); +} + +// Set +void +UncertaintyConfidenceIntervalsSet(ConstHandle2Uncertainty This, ConstHandle2ConstConfidenceIntervals confidenceIntervals) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsSet", This, extract::confidenceIntervals, confidenceIntervals); +} + + +// ----------------------------------------------------------------------------- +// Child: pdf +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyPdfHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PdfHas", This, extract::pdf); +} + +// Get, const +Handle2ConstPdf +UncertaintyPdfGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PdfGetConst", This, extract::pdf); +} + +// Get, non-const +Handle2Pdf +UncertaintyPdfGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PdfGet", This, extract::pdf); +} + +// Set +void +UncertaintyPdfSet(ConstHandle2Uncertainty This, ConstHandle2ConstPdf pdf) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PdfSet", This, extract::pdf, pdf); +} + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyXYs1dHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XYs1dHas", This, extract::XYs1d); +} + +// Get, const +Handle2ConstXYs1d +UncertaintyXYs1dGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGetConst", This, extract::XYs1d); +} + +// Get, non-const +Handle2XYs1d +UncertaintyXYs1dGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XYs1dGet", This, extract::XYs1d); +} + +// Set +void +UncertaintyXYs1dSet(ConstHandle2Uncertainty This, ConstHandle2ConstXYs1d XYs1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XYs1dSet", This, extract::XYs1d, XYs1d); +} + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyPolynomial1dHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"Polynomial1dHas", This, extract::polynomial1d); +} + +// Get, const +Handle2ConstPolynomial1d +UncertaintyPolynomial1dGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGetConst", This, extract::polynomial1d); +} + +// Get, non-const +Handle2Polynomial1d +UncertaintyPolynomial1dGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"Polynomial1dGet", This, extract::polynomial1d); +} + +// Set +void +UncertaintyPolynomial1dSet(ConstHandle2Uncertainty This, ConstHandle2ConstPolynomial1d polynomial1d) +{ + detail::setField + (CLASSNAME, CLASSNAME+"Polynomial1dSet", This, extract::polynomial1d, polynomial1d); +} + + +// ----------------------------------------------------------------------------- +// Child: covariance +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyCovarianceHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CovarianceHas", This, extract::covariance); +} + +// Get, const +Handle2ConstCovariance +UncertaintyCovarianceGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceGetConst", This, extract::covariance); +} + +// Get, non-const +Handle2Covariance +UncertaintyCovarianceGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceGet", This, extract::covariance); +} + +// Set +void +UncertaintyCovarianceSet(ConstHandle2Uncertainty This, ConstHandle2ConstCovariance covariance) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CovarianceSet", This, extract::covariance, covariance); +} + + +// ----------------------------------------------------------------------------- +// Child: listOfCovariances +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyListOfCovariancesHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ListOfCovariancesHas", This, extract::listOfCovariances); +} + +// Get, const +Handle2ConstListOfCovariances +UncertaintyListOfCovariancesGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ListOfCovariancesGetConst", This, extract::listOfCovariances); +} + +// Get, non-const +Handle2ListOfCovariances +UncertaintyListOfCovariancesGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ListOfCovariancesGet", This, extract::listOfCovariances); +} + +// Set +void +UncertaintyListOfCovariancesSet(ConstHandle2Uncertainty This, ConstHandle2ConstListOfCovariances listOfCovariances) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ListOfCovariancesSet", This, extract::listOfCovariances, listOfCovariances); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.h new file mode 100644 index 000000000..3c4046723 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.h @@ -0,0 +1,327 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Uncertainty is the basic handle type in this file. Example: +// // Create a default Uncertainty object: +// Uncertainty handle = UncertaintyDefault(); +// Functions involving Uncertainty are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_UNCERTAINTY +#define C_INTERFACE_TRY_V2_0_CONTAINERS_UNCERTAINTY + +#include "GNDStk.h" +#include "v2.0/containers/Standard.h" +#include "v2.0/containers/LogNormal.h" +#include "v2.0/containers/ConfidenceIntervals.h" +#include "v2.0/containers/Pdf.h" +#include "v2.0/containers/XYs1d.h" +#include "v2.0/containers/Polynomial1d.h" +#include "v2.0/containers/Covariance.h" +#include "v2.0/containers/ListOfCovariances.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UncertaintyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Uncertainty +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UncertaintyClass *Uncertainty; + +// --- Const-aware handles. +typedef const struct UncertaintyClass *const ConstHandle2ConstUncertainty; +typedef struct UncertaintyClass *const ConstHandle2Uncertainty; +typedef const struct UncertaintyClass * Handle2ConstUncertainty; +typedef struct UncertaintyClass * Handle2Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUncertainty +UncertaintyDefaultConst(); + +// +++ Create, default +extern_c Handle2Uncertainty +UncertaintyDefault(); + +// --- Create, general, const +extern_c Handle2ConstUncertainty +UncertaintyCreateConst( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstPdf pdf, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstListOfCovariances listOfCovariances +); + +// +++ Create, general +extern_c Handle2Uncertainty +UncertaintyCreate( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstPdf pdf, + ConstHandle2ConstXYs1d XYs1d, + ConstHandle2ConstPolynomial1d polynomial1d, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstListOfCovariances listOfCovariances +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UncertaintyAssign(ConstHandle2Uncertainty This, ConstHandle2ConstUncertainty from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UncertaintyDelete(ConstHandle2ConstUncertainty This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UncertaintyRead(ConstHandle2Uncertainty This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UncertaintyWrite(ConstHandle2ConstUncertainty This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UncertaintyPrint(ConstHandle2ConstUncertainty This); + +// +++ Print to standard output, as XML +extern_c int +UncertaintyPrintXML(ConstHandle2ConstUncertainty This); + +// +++ Print to standard output, as JSON +extern_c int +UncertaintyPrintJSON(ConstHandle2ConstUncertainty This); + + +// ----------------------------------------------------------------------------- +// Child: standard +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyStandardHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstStandard +UncertaintyStandardGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2Standard +UncertaintyStandardGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyStandardSet(ConstHandle2Uncertainty This, ConstHandle2ConstStandard standard); + + +// ----------------------------------------------------------------------------- +// Child: logNormal +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyLogNormalHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstLogNormal +UncertaintyLogNormalGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2LogNormal +UncertaintyLogNormalGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyLogNormalSet(ConstHandle2Uncertainty This, ConstHandle2ConstLogNormal logNormal); + + +// ----------------------------------------------------------------------------- +// Child: confidenceIntervals +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyConfidenceIntervalsHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstConfidenceIntervals +UncertaintyConfidenceIntervalsGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2ConfidenceIntervals +UncertaintyConfidenceIntervalsGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyConfidenceIntervalsSet(ConstHandle2Uncertainty This, ConstHandle2ConstConfidenceIntervals confidenceIntervals); + + +// ----------------------------------------------------------------------------- +// Child: pdf +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyPdfHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstPdf +UncertaintyPdfGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2Pdf +UncertaintyPdfGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyPdfSet(ConstHandle2Uncertainty This, ConstHandle2ConstPdf pdf); + + +// ----------------------------------------------------------------------------- +// Child: XYs1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyXYs1dHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstXYs1d +UncertaintyXYs1dGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2XYs1d +UncertaintyXYs1dGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyXYs1dSet(ConstHandle2Uncertainty This, ConstHandle2ConstXYs1d XYs1d); + + +// ----------------------------------------------------------------------------- +// Child: polynomial1d +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyPolynomial1dHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstPolynomial1d +UncertaintyPolynomial1dGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2Polynomial1d +UncertaintyPolynomial1dGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyPolynomial1dSet(ConstHandle2Uncertainty This, ConstHandle2ConstPolynomial1d polynomial1d); + + +// ----------------------------------------------------------------------------- +// Child: covariance +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyCovarianceHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstCovariance +UncertaintyCovarianceGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2Covariance +UncertaintyCovarianceGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyCovarianceSet(ConstHandle2Uncertainty This, ConstHandle2ConstCovariance covariance); + + +// ----------------------------------------------------------------------------- +// Child: listOfCovariances +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyListOfCovariancesHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstListOfCovariances +UncertaintyListOfCovariancesGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2ListOfCovariances +UncertaintyListOfCovariancesGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyListOfCovariancesSet(ConstHandle2Uncertainty This, ConstHandle2ConstListOfCovariances listOfCovariances); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp index c9527b81c..009872243 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp @@ -21,7 +21,7 @@ namespace extract { using CPPNuclides = fpy::Nuclides; using CPPValues = containers::Values; -using CPPUncertainty = pops::Uncertainty; +using CPPUncertainty = ambiguousNamespace::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h index bcec1e90a..ee5d04aeb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/fpy/Nuclides.h" #include "v2.0/containers/Values.h" -#include "v2.0/pops/Uncertainty.h" +#include "v2.0/ambiguousNamespace/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp index 7a05673ef..bb2ae1dc0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp @@ -22,7 +22,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = pops::Uncertainty; +using CPPUncertainty = ambiguousNamespace::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h index d57315719..a0ef58e71 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/pops/Uncertainty.h" +#include "v2.0/ambiguousNamespace/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp index 5d5ae8843..2818242b7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp @@ -22,7 +22,7 @@ namespace extract { using CPPResonancesLink = transport::ResonancesLink; using CPPBackground = transport::Background; -using CPPUncertainty = pops::Uncertainty; +using CPPUncertainty = ambiguousNamespace::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h index f9a9a504d..96e876868 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/transport/ResonancesLink.h" #include "v2.0/transport/Background.h" -#include "v2.0/pops/Uncertainty.h" +#include "v2.0/ambiguousNamespace/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp index cba29a688..8c7e36022 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp @@ -40,7 +40,7 @@ void wrapEnergy(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional &, + const std::optional &, const std::vector & >(), python::arg("label") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp index 5058a7d0e..436661844 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp @@ -40,7 +40,7 @@ void wrapMass(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional &, + const std::optional &, const std::vector & >(), python::arg("label") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp index 10bed5e04..900d1a868 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp @@ -47,7 +47,7 @@ void wrapQ(python::module &module) const std::optional &, const XMLName &, const std::optional &, - const std::optional &, + const std::optional &, const _t & >(), python::arg("label") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp index b6494d168..99795072d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp @@ -40,7 +40,7 @@ void wrapTemperature(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional & + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp index 5b296cde7..6d35e9ac2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp @@ -25,7 +25,6 @@ namespace python_containers { void wrapGridded1d(python::module &); void wrapFunction1ds(python::module &); void wrapRegions1d(python::module &); - void wrapDouble(python::module &); void wrapXYs2d(python::module &); void wrapGridded2d(python::module &); void wrapFunction2ds(python::module &); @@ -33,9 +32,18 @@ namespace python_containers { void wrapXYs3d(python::module &); void wrapYs1d(python::module &); void wrapGridded3d(python::module &); + void wrapDouble(python::module &); void wrapString(python::module &); void wrapInteger(python::module &); void wrapFraction(python::module &); + void wrapStandard(python::module &); + void wrapLogNormal(python::module &); + void wrapInterval(python::module &); + void wrapConfidenceIntervals(python::module &); + void wrapPdf(python::module &); + void wrapCovariance(python::module &); + void wrapListOfCovariances(python::module &); + void wrapUncertainty(python::module &); void wrapColumn(python::module &); void wrapColumnHeaders(python::module &); void wrapData(python::module &); @@ -67,7 +75,6 @@ void wrapContainers(python::module &module) python_containers::wrapGridded1d(submodule); python_containers::wrapFunction1ds(submodule); python_containers::wrapRegions1d(submodule); - python_containers::wrapDouble(submodule); python_containers::wrapXYs2d(submodule); python_containers::wrapGridded2d(submodule); python_containers::wrapFunction2ds(submodule); @@ -75,9 +82,18 @@ void wrapContainers(python::module &module) python_containers::wrapXYs3d(submodule); python_containers::wrapYs1d(submodule); python_containers::wrapGridded3d(submodule); + python_containers::wrapDouble(submodule); python_containers::wrapString(submodule); python_containers::wrapInteger(submodule); python_containers::wrapFraction(submodule); + python_containers::wrapStandard(submodule); + python_containers::wrapLogNormal(submodule); + python_containers::wrapInterval(submodule); + python_containers::wrapConfidenceIntervals(submodule); + python_containers::wrapPdf(submodule); + python_containers::wrapCovariance(submodule); + python_containers::wrapListOfCovariances(submodule); + python_containers::wrapUncertainty(submodule); python_containers::wrapColumn(submodule); python_containers::wrapColumnHeaders(submodule); python_containers::wrapData(submodule); diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp index 16eff128a..a5513cc03 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp @@ -37,11 +37,11 @@ void wrapAxis(python::module &module) .def( python::init< const std::optional &, - const std::optional &, + const XMLName &, const std::optional & >(), python::arg("index") = std::nullopt, - python::arg("label") = std::nullopt, + python::arg("label"), python::arg("unit") = std::nullopt, Component::documentation("constructor").data() ) diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/ConfidenceIntervals.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/ConfidenceIntervals.python.cpp new file mode 100644 index 000000000..2937a68d9 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/ConfidenceIntervals.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/ConfidenceIntervals.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// ConfidenceIntervals wrapper +void wrapConfidenceIntervals(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::ConfidenceIntervals; + + // create the component + python::class_ component( + module, + "ConfidenceIntervals", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("interval"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "interval", + [](const Component &self) { return self.interval(); }, + Component::documentation("interval").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp index 61c461b4a..209c3bcea 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp @@ -39,15 +39,15 @@ void wrapConstant1d(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional &, - const std::optional &, + const Float64 &, + const Float64 &, const containers::Axes & >(), python::arg("value") = std::nullopt, python::arg("label") = std::nullopt, python::arg("outer_domain_value") = std::nullopt, - python::arg("domain_min") = std::nullopt, - python::arg("domain_max") = std::nullopt, + python::arg("domain_min"), + python::arg("domain_max"), python::arg("axes"), Component::documentation("constructor").data() ) diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Covariance.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Covariance.python.cpp new file mode 100644 index 000000000..33dfdb76b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Covariance.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Covariance.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Covariance wrapper +void wrapCovariance(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Covariance; + + // create the component + python::class_ component( + module, + "Covariance", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("label") = std::nullopt, + python::arg("href") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "href", + [](const Component &self) { return self.href(); }, + Component::documentation("href").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Interval.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Interval.python.cpp new file mode 100644 index 000000000..04239acf6 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Interval.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Interval.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Interval wrapper +void wrapInterval(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Interval; + + // create the component + python::class_ component( + module, + "Interval", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const Float64 &, + const Float64 &, + const Float64 & + >(), + python::arg("confidence"), + python::arg("lower"), + python::arg("upper"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "confidence", + [](const Component &self) { return self.confidence(); }, + Component::documentation("confidence").data() + ) + .def_property_readonly( + "lower", + [](const Component &self) { return self.lower(); }, + Component::documentation("lower").data() + ) + .def_property_readonly( + "upper", + [](const Component &self) { return self.upper(); }, + Component::documentation("upper").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp index 1a92dff9c..335b8e857 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp @@ -36,9 +36,9 @@ void wrapLink(python::module &module) component .def( python::init< - const std::optional & + const std::string & >(), - python::arg("href") = std::nullopt, + python::arg("href"), Component::documentation("constructor").data() ) .def_property_readonly( diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/ListOfCovariances.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/ListOfCovariances.python.cpp new file mode 100644 index 000000000..2b1d61171 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/ListOfCovariances.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/ListOfCovariances.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// ListOfCovariances wrapper +void wrapListOfCovariances(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::ListOfCovariances; + + // create the component + python::class_ component( + module, + "ListOfCovariances", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("covariance"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "covariance", + [](const Component &self) { return self.covariance(); }, + Component::documentation("covariance").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/LogNormal.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/LogNormal.python.cpp new file mode 100644 index 000000000..a5f8f7c33 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/LogNormal.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/LogNormal.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// LogNormal wrapper +void wrapLogNormal(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::LogNormal; + + // create the component + python::class_ component( + module, + "LogNormal", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf.python.cpp new file mode 100644 index 000000000..a3dda33c6 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Pdf.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Pdf wrapper +void wrapPdf(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Pdf; + + // create the component + python::class_ component( + module, + "Pdf", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional & + >(), + python::arg("xys1d") = std::nullopt, + python::arg("regions1d") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "regions1d", + [](const Component &self) { return self.regions1d(); }, + Component::documentation("regions1d").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp index ae56cb5d3..dc497e3ab 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp @@ -39,16 +39,16 @@ void wrapPolynomial1d(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional &, - const std::optional &, + const Float64 &, + const Float64 &, const containers::Axes &, const containers::Values & >(), python::arg("label") = std::nullopt, python::arg("outer_domain_value") = std::nullopt, python::arg("lower_index") = std::nullopt, - python::arg("domain_min") = std::nullopt, - python::arg("domain_max") = std::nullopt, + python::arg("domain_min"), + python::arg("domain_max"), python::arg("axes"), python::arg("values"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Standard.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Standard.python.cpp new file mode 100644 index 000000000..9414e6eb7 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Standard.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Standard.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Standard wrapper +void wrapStandard(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Standard; + + // create the component + python::class_ component( + module, + "Standard", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Uncertainty.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Uncertainty.python.cpp new file mode 100644 index 000000000..63c49b1f3 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Uncertainty.python.cpp @@ -0,0 +1,105 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Uncertainty.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Uncertainty wrapper +void wrapUncertainty(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Uncertainty; + + // create the component + python::class_ component( + module, + "Uncertainty", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("standard") = std::nullopt, + python::arg("log_normal") = std::nullopt, + python::arg("confidence_intervals") = std::nullopt, + python::arg("pdf") = std::nullopt, + python::arg("xys1d") = std::nullopt, + python::arg("polynomial1d") = std::nullopt, + python::arg("covariance") = std::nullopt, + python::arg("list_of_covariances") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "standard", + [](const Component &self) { return self.standard(); }, + Component::documentation("standard").data() + ) + .def_property_readonly( + "log_normal", + [](const Component &self) { return self.logNormal(); }, + Component::documentation("log_normal").data() + ) + .def_property_readonly( + "confidence_intervals", + [](const Component &self) { return self.confidenceIntervals(); }, + Component::documentation("confidence_intervals").data() + ) + .def_property_readonly( + "pdf", + [](const Component &self) { return self.pdf(); }, + Component::documentation("pdf").data() + ) + .def_property_readonly( + "xys1d", + [](const Component &self) { return self.XYs1d(); }, + Component::documentation("xys1d").data() + ) + .def_property_readonly( + "polynomial1d", + [](const Component &self) { return self.polynomial1d(); }, + Component::documentation("polynomial1d").data() + ) + .def_property_readonly( + "covariance", + [](const Component &self) { return self.covariance(); }, + Component::documentation("covariance").data() + ) + .def_property_readonly( + "list_of_covariances", + [](const Component &self) { return self.listOfCovariances(); }, + Component::documentation("list_of_covariances").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp index f60040292..91614b28a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp @@ -38,7 +38,7 @@ void wrapYields(python::module &module) python::init< const fpy::Nuclides &, const containers::Values &, - const std::optional & + const std::optional & >(), python::arg("nuclides"), python::arg("values"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp index 8d2c7aa6e..463683760 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp @@ -12,15 +12,15 @@ namespace python_v2_0 { // pops declarations namespace python_pops { + void wrapAlias(python::module &); + void wrapMetaStable(python::module &); + void wrapAliases(python::module &); void wrapStandard(python::module &); void wrapLogNormal(python::module &); void wrapInterval(python::module &); void wrapConfidenceIntervals(python::module &); void wrapPdf(python::module &); void wrapUncertainty(python::module &); - void wrapAlias(python::module &); - void wrapMetaStable(python::module &); - void wrapAliases(python::module &); void wrapCharge(python::module &); void wrapHalflife(python::module &); void wrapMass(python::module &); @@ -81,15 +81,15 @@ void wrapPops(python::module &module) ); // wrap pops components + python_pops::wrapAlias(submodule); + python_pops::wrapMetaStable(submodule); + python_pops::wrapAliases(submodule); python_pops::wrapStandard(submodule); python_pops::wrapLogNormal(submodule); python_pops::wrapInterval(submodule); python_pops::wrapConfidenceIntervals(submodule); python_pops::wrapPdf(submodule); python_pops::wrapUncertainty(submodule); - python_pops::wrapAlias(submodule); - python_pops::wrapMetaStable(submodule); - python_pops::wrapAliases(submodule); python_pops::wrapCharge(submodule); python_pops::wrapHalflife(submodule); python_pops::wrapMass(submodule); diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp index 97d9793bf..1056b7690 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp @@ -40,7 +40,7 @@ void wrapTemperature(python::module &module) const Float64 &, const XMLName &, const std::optional &, - const std::optional & + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("value"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp index 7ae5c309d..be8289f03 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp @@ -39,7 +39,7 @@ void wrapResonancesWithBackground(python::module &module) const XMLName &, const transport::ResonancesLink &, const transport::Background &, - const std::optional & + const std::optional & >(), python::arg("label"), python::arg("resonances"), diff --git a/standards/gnds-2.0/try/src/try/v2.0.hpp b/standards/gnds-2.0/try/src/try/v2.0.hpp index 0d57d9d6b..b1323654e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0.hpp @@ -140,6 +140,14 @@ #include "try/v2.0/containers/Fraction.hpp" #include "try/v2.0/containers/String.hpp" #include "try/v2.0/containers/Link.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" +#include "try/v2.0/containers/ListOfCovariances.hpp" +#include "try/v2.0/containers/Covariance.hpp" +#include "try/v2.0/containers/Standard.hpp" +#include "try/v2.0/containers/LogNormal.hpp" +#include "try/v2.0/containers/ConfidenceIntervals.hpp" +#include "try/v2.0/containers/Interval.hpp" +#include "try/v2.0/containers/Pdf.hpp" #include "try/v2.0/containers/Axes.hpp" #include "try/v2.0/containers/Axis.hpp" #include "try/v2.0/containers/Grid.hpp" diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp index 3590a5237..32634386c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COMMON_ENERGY #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" #include "try/v2.0/containers/Double.hpp" namespace try { @@ -44,7 +44,7 @@ class Energy : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") | containers::Double{} / ++Child<>("Double") @@ -61,7 +61,7 @@ class Energy : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; Field> Double{this}; // ------------------------ @@ -82,7 +82,7 @@ class Energy : public Component { const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {}, + const wrapper> &uncertainty = {}, const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp index a5b6573cf..c0601871c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COMMON_MASS #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" #include "try/v2.0/containers/Double.hpp" namespace try { @@ -44,7 +44,7 @@ class Mass : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") | containers::Double{} / ++Child<>("Double") @@ -61,7 +61,7 @@ class Mass : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; Field> Double{this}; // ------------------------ @@ -82,7 +82,7 @@ class Mass : public Component { const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {}, + const wrapper> &uncertainty = {}, const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp index 9c2bad27a..5850c4ea7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COMMON_Q #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" #include "try/v2.0/containers/Constant1d.hpp" #include "try/v2.0/containers/XYs1d.hpp" #include "try/v2.0/containers/Regions1d.hpp" @@ -56,7 +56,7 @@ class Q : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") | _t{} / --(Child<>("constant1d") || Child<>("XYs1d") || Child<>("regions1d") || Child<>("polynomial1d") || Child<>("gridded1d")) @@ -73,7 +73,7 @@ class Q : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // children - variant Field<_t> _constant1dXYs1dregions1dpolynomial1dgridded1d{this}; @@ -101,7 +101,7 @@ class Q : public Component { const wrapper> &unit = {}, const wrapper &value = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {}, + const wrapper> &uncertainty = {}, const wrapper<_t> &_constant1dXYs1dregions1dpolynomial1dgridded1d = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp index 27c800b25..5547f3725 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COMMON_TEMPERATURE #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -43,7 +43,7 @@ class Temperature : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -58,7 +58,7 @@ class Temperature : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -77,7 +77,7 @@ class Temperature : public Component { const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp index 34f9f49ad..a205408d1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp @@ -35,7 +35,7 @@ class Axis : public Component { // metadata std::optional{} / Meta<>("index") | - std::optional{} + XMLName{} / Meta<>("label") | std::optional{} / Meta<>("unit") @@ -47,7 +47,7 @@ class Axis : public Component { // metadata Field> index{this}; - Field> label{this}; + Field label{this}; Field> unit{this}; // ------------------------ @@ -62,7 +62,7 @@ class Axis : public Component { // default, and from fields explicit Axis( const wrapper> &index = {}, - const wrapper> &label = {}, + const wrapper &label = {}, const wrapper> &unit = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals.hpp new file mode 100644 index 000000000..121609dc0 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_CONFIDENCEINTERVALS +#define TRY_V2_0_CONTAINERS_CONFIDENCEINTERVALS + +#include "try/v2.0/containers/Interval.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class ConfidenceIntervals +// ----------------------------------------------------------------------------- + +class ConfidenceIntervals : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "ConfidenceIntervals"; } + static auto FIELD() { return "confidenceIntervals"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + containers::Interval{} + / ++Child<>("interval") + ; + } + +public: + using Component::construct; + + // children + Field> interval{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->interval) + + // default, and from fields + explicit ConfidenceIntervals( + const wrapper> &interval = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + interval(this,interval) + { + Component::finish(); + } + + // from node + explicit ConfidenceIntervals(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ConfidenceIntervals(const ConfidenceIntervals &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ConfidenceIntervals(ConfidenceIntervals &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ConfidenceIntervals &operator=(const ConfidenceIntervals &) = default; + ConfidenceIntervals &operator=(ConfidenceIntervals &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/ConfidenceIntervals/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ConfidenceIntervals + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp index 1e20a6b69..ff27e2cba 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp @@ -39,9 +39,9 @@ class Constant1d : public Component { / Meta<>("label") | std::optional{} / Meta<>("outerDomainValue") | - std::optional{} + Float64{} / Meta<>("domainMin") | - std::optional{} + Float64{} / Meta<>("domainMax") | // children containers::Axes{} @@ -56,8 +56,8 @@ class Constant1d : public Component { Field> value{this}; Field> label{this}; Field> outerDomainValue{this}; - Field> domainMin{this}; - Field> domainMax{this}; + Field domainMin{this}; + Field domainMax{this}; // children Field axes{this}; @@ -79,8 +79,8 @@ class Constant1d : public Component { const wrapper> &value = {}, const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, - const wrapper> &domainMin = {}, - const wrapper> &domainMax = {}, + const wrapper &domainMin = {}, + const wrapper &domainMax = {}, const wrapper &axes = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance.hpp new file mode 100644 index 000000000..7bbf57c27 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_COVARIANCE +#define TRY_V2_0_CONTAINERS_COVARIANCE + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Covariance +// ----------------------------------------------------------------------------- + +class Covariance : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Covariance"; } + static auto FIELD() { return "covariance"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("href") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> href{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->href) + + // default, and from fields + explicit Covariance( + const wrapper> &label = {}, + const wrapper> &href = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + href(this,href) + { + Component::finish(); + } + + // from node + explicit Covariance(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Covariance(const Covariance &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Covariance(Covariance &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Covariance &operator=(const Covariance &) = default; + Covariance &operator=(Covariance &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Covariance/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Covariance + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Interval.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Interval.hpp new file mode 100644 index 000000000..7be333089 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Interval.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_INTERVAL +#define TRY_V2_0_CONTAINERS_INTERVAL + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Interval +// ----------------------------------------------------------------------------- + +class Interval : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Interval"; } + static auto FIELD() { return "interval"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + Float64{} + / Meta<>("confidence") | + Float64{} + / Meta<>("lower") | + Float64{} + / Meta<>("upper") + ; + } + +public: + using Component::construct; + + // metadata + Field confidence{this}; + Field lower{this}; + Field upper{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->confidence, \ + this->lower, \ + this->upper) + + // default, and from fields + explicit Interval( + const wrapper &confidence = {}, + const wrapper &lower = {}, + const wrapper &upper = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + confidence(this,confidence), + lower(this,lower), + upper(this,upper) + { + Component::finish(); + } + + // from node + explicit Interval(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Interval(const Interval &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Interval(Interval &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Interval &operator=(const Interval &) = default; + Interval &operator=(Interval &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Interval/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Interval + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Interval/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Interval/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Interval/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp index 116cfca45..b3c40c011 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp @@ -33,7 +33,7 @@ class Link : public Component { { return // metadata - std::optional{} + std::string{} / Meta<>("href") ; } @@ -42,7 +42,7 @@ class Link : public Component { using Component::construct; // metadata - Field> href{this}; + Field href{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Link : public Component { // default, and from fields explicit Link( - const wrapper> &href = {} + const wrapper &href = {} ) : GNDSTK_COMPONENT(BlockData{}), href(this,href) diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances.hpp new file mode 100644 index 000000000..1b49141e5 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_LISTOFCOVARIANCES +#define TRY_V2_0_CONTAINERS_LISTOFCOVARIANCES + +#include "try/v2.0/containers/Covariance.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class ListOfCovariances +// ----------------------------------------------------------------------------- + +class ListOfCovariances : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "ListOfCovariances"; } + static auto FIELD() { return "listOfCovariances"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + containers::Covariance{} + / ++Child<>("covariance") + ; + } + +public: + using Component::construct; + + // children + Field> covariance{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->covariance) + + // default, and from fields + explicit ListOfCovariances( + const wrapper> &covariance = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + covariance(this,covariance) + { + Component::finish(); + } + + // from node + explicit ListOfCovariances(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + ListOfCovariances(const ListOfCovariances &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + ListOfCovariances(ListOfCovariances &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ListOfCovariances &operator=(const ListOfCovariances &) = default; + ListOfCovariances &operator=(ListOfCovariances &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/ListOfCovariances/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ListOfCovariances + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal.hpp new file mode 100644 index 000000000..ac03e4709 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_LOGNORMAL +#define TRY_V2_0_CONTAINERS_LOGNORMAL + +#include "try/v2.0/containers/Double.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class LogNormal +// ----------------------------------------------------------------------------- + +class LogNormal : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "LogNormal"; } + static auto FIELD() { return "logNormal"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + containers::Double{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit LogNormal( + const wrapper &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit LogNormal(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + LogNormal(const LogNormal &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + LogNormal(LogNormal &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + LogNormal &operator=(const LogNormal &) = default; + LogNormal &operator=(LogNormal &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/LogNormal/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class LogNormal + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf.hpp new file mode 100644 index 000000000..522bab7b3 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf.hpp @@ -0,0 +1,113 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_PDF +#define TRY_V2_0_CONTAINERS_PDF + +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Regions1d.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Pdf +// ----------------------------------------------------------------------------- + +class Pdf : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Pdf"; } + static auto FIELD() { return "pdf"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("regions1d") + ; + } + +public: + using Component::construct; + + // children + Field> XYs1d{this}; + Field> regions1d{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->XYs1d, \ + this->regions1d) + + // default, and from fields + explicit Pdf( + const wrapper> &XYs1d = {}, + const wrapper> ®ions1d = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + XYs1d(this,XYs1d), + regions1d(this,regions1d) + { + Component::finish(); + } + + // from node + explicit Pdf(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Pdf(const Pdf &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Pdf(Pdf &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Pdf &operator=(const Pdf &) = default; + Pdf &operator=(Pdf &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Pdf/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Pdf + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp index 66c33e057..fe816a263 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp @@ -40,9 +40,9 @@ class Polynomial1d : public Component { / Meta<>("outerDomainValue") | Defaulted{0} / Meta<>("lowerIndex") | - std::optional{} + Float64{} / Meta<>("domainMin") | - std::optional{} + Float64{} / Meta<>("domainMax") | // children containers::Axes{} @@ -64,8 +64,8 @@ class Polynomial1d : public Component { Field> label{this}; Field> outerDomainValue{this}; Field> lowerIndex{this,defaults.lowerIndex}; - Field> domainMin{this}; - Field> domainMax{this}; + Field domainMin{this}; + Field domainMax{this}; // children Field axes{this}; @@ -90,8 +90,8 @@ class Polynomial1d : public Component { const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, const wrapper> &lowerIndex = {}, - const wrapper> &domainMin = {}, - const wrapper> &domainMax = {}, + const wrapper &domainMin = {}, + const wrapper &domainMax = {}, const wrapper &axes = {}, const wrapper &values = {} ) : diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Standard.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Standard.hpp new file mode 100644 index 000000000..646d7f437 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Standard.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_STANDARD +#define TRY_V2_0_CONTAINERS_STANDARD + +#include "try/v2.0/containers/Double.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Standard +// ----------------------------------------------------------------------------- + +class Standard : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Standard"; } + static auto FIELD() { return "standard"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + containers::Double{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit Standard( + const wrapper &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + Component::finish(); + } + + // from node + explicit Standard(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Standard(const Standard &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Standard(Standard &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Standard &operator=(const Standard &) = default; + Standard &operator=(Standard &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Standard/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Standard + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Standard/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Standard/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Standard/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty.hpp new file mode 100644 index 000000000..a040b1602 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty.hpp @@ -0,0 +1,155 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_UNCERTAINTY +#define TRY_V2_0_CONTAINERS_UNCERTAINTY + +#include "try/v2.0/containers/Standard.hpp" +#include "try/v2.0/containers/LogNormal.hpp" +#include "try/v2.0/containers/ConfidenceIntervals.hpp" +#include "try/v2.0/containers/Pdf.hpp" +#include "try/v2.0/containers/XYs1d.hpp" +#include "try/v2.0/containers/Polynomial1d.hpp" +#include "try/v2.0/containers/Covariance.hpp" +#include "try/v2.0/containers/ListOfCovariances.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Uncertainty +// ----------------------------------------------------------------------------- + +class Uncertainty : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Uncertainty"; } + static auto FIELD() { return "uncertainty"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("standard") | + std::optional{} + / --Child<>("logNormal") | + std::optional{} + / --Child<>("confidenceIntervals") | + std::optional{} + / --Child<>("pdf") | + std::optional{} + / --Child<>("XYs1d") | + std::optional{} + / --Child<>("polynomial1d") | + std::optional{} + / --Child<>("covariance") | + std::optional{} + / --Child<>("listOfCovariances") + ; + } + +public: + using Component::construct; + + // children + Field> standard{this}; + Field> logNormal{this}; + Field> confidenceIntervals{this}; + Field> pdf{this}; + Field> XYs1d{this}; + Field> polynomial1d{this}; + Field> covariance{this}; + Field> listOfCovariances{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->standard, \ + this->logNormal, \ + this->confidenceIntervals, \ + this->pdf, \ + this->XYs1d, \ + this->polynomial1d, \ + this->covariance, \ + this->listOfCovariances) + + // default, and from fields + explicit Uncertainty( + const wrapper> &standard = {}, + const wrapper> &logNormal = {}, + const wrapper> &confidenceIntervals = {}, + const wrapper> &pdf = {}, + const wrapper> &XYs1d = {}, + const wrapper> &polynomial1d = {}, + const wrapper> &covariance = {}, + const wrapper> &listOfCovariances = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + standard(this,standard), + logNormal(this,logNormal), + confidenceIntervals(this,confidenceIntervals), + pdf(this,pdf), + XYs1d(this,XYs1d), + polynomial1d(this,polynomial1d), + covariance(this,covariance), + listOfCovariances(this,listOfCovariances) + { + Component::finish(); + } + + // from node + explicit Uncertainty(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Uncertainty(const Uncertainty &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Uncertainty(Uncertainty &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Uncertainty &operator=(const Uncertainty &) = default; + Uncertainty &operator=(Uncertainty &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Uncertainty/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Uncertainty + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp index 6839ad1c8..3c751c5d7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/fpy/Nuclides.hpp" #include "try/v2.0/containers/Values.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -39,7 +39,7 @@ class Yields : public Component { / --Child<>("nuclides") | containers::Values{} / --Child<>("values") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -50,7 +50,7 @@ class Yields : public Component { // children Field nuclides{this}; Field values{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -65,7 +65,7 @@ class Yields : public Component { explicit Yields( const wrapper &nuclides = {}, const wrapper &values = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), nuclides(this,nuclides), diff --git a/standards/gnds-2.0/try/src/try/v2.0/key.hpp b/standards/gnds-2.0/try/src/try/v2.0/key.hpp index e797344fe..4d1600980 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/key.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/key.hpp @@ -229,7 +229,9 @@ inline const Child<> axes("axes"); inline const Child<> axis("axis"); inline const Child<> column("column"); inline const Child<> columnHeaders("columnHeaders"); +inline const Child<> confidenceIntervals("confidenceIntervals"); inline const Child<> constant1d("constant1d"); +inline const Child<> covariance("covariance"); inline const Child<> data("data"); inline const Child<> fraction("fraction"); inline const Child<> function1ds("function1ds"); @@ -240,13 +242,19 @@ inline const Child<> gridded1d("gridded1d"); inline const Child<> gridded2d("gridded2d"); inline const Child<> gridded3d("gridded3d"); inline const Child<> integer("integer"); +inline const Child<> interval("interval"); inline const Child<> link("link"); +inline const Child<> listOfCovariances("listOfCovariances"); +inline const Child<> logNormal("logNormal"); +inline const Child<> pdf("pdf"); inline const Child<> polynomial1d("polynomial1d"); inline const Child<> regions1d("regions1d"); inline const Child<> regions2d("regions2d"); inline const Child<> regions3d("regions3d"); +inline const Child<> standard("standard"); inline const Child<> string("string"); inline const Child<> table("table"); +inline const Child<> uncertainty("uncertainty"); inline const Child<> values("values"); } // namespace child diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp index 77b9db393..38a7ef8dc 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_STYLES_TEMPERATURE #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -43,7 +43,7 @@ class Temperature : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -58,7 +58,7 @@ class Temperature : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -77,7 +77,7 @@ class Temperature : public Component { const wrapper &value = {}, const wrapper &unit = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp index 2d9f072e6..c9ff50733 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/transport/ResonancesLink.hpp" #include "try/v2.0/transport/Background.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -42,7 +42,7 @@ class ResonancesWithBackground : public Component("resonances") | transport::Background{} / --Child<>("background") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -56,7 +56,7 @@ class ResonancesWithBackground : public Component resonances{this}; Field background{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -73,7 +73,7 @@ class ResonancesWithBackground : public Component &label = {}, const wrapper &resonances = {}, const wrapper &background = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), From 0f91b565446dedc11ec7077d04b88ab72669a129 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 30 Aug 2022 15:19:44 -0600 Subject: [PATCH 172/235] Put some nodes back in. Updated generated code. --- standards/gnds-2.0/try/c/src/v2.0.h | 4 + .../v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp | 174 +++++++++++ .../src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h | 159 ++++++++++ .../try/c/src/v2.0/containers/Double.cpp | 52 ++- .../try/c/src/v2.0/containers/Double.h | 28 +- .../v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp | 174 +++++++++++ .../src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h | 159 ++++++++++ .../c/src/v2.0/containers/Polynomial1d.cpp | 43 +++ .../try/c/src/v2.0/containers/Polynomial1d.h | 24 ++ .../try/c/src/v2.0/containers/Regions1d.cpp | 51 ++- .../try/c/src/v2.0/containers/Regions1d.h | 28 +- .../try/c/src/v2.0/containers/Regions2d.cpp | 51 ++- .../try/c/src/v2.0/containers/Regions2d.h | 28 +- .../try/c/src/v2.0/containers/Regions3d.cpp | 51 ++- .../try/c/src/v2.0/containers/Regions3d.h | 28 +- .../try/c/src/v2.0/containers/XYs1d.cpp | 43 +++ .../try/c/src/v2.0/containers/XYs1d.h | 24 ++ .../try/c/src/v2.0/containers/XYs2d.cpp | 51 ++- .../try/c/src/v2.0/containers/XYs2d.h | 28 +- .../try/c/src/v2.0/containers/XYs3d.cpp | 51 ++- .../try/c/src/v2.0/containers/XYs3d.h | 28 +- .../v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp | 174 +++++++++++ .../src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h | 159 ++++++++++ .../c/src/v2.0/containers/Xs_pdf_cdf1d.cpp | 295 ++++++++++++++++++ .../try/c/src/v2.0/containers/Xs_pdf_cdf1d.h | 227 ++++++++++++++ .../try/python/src/v2.0/containers.python.cpp | 48 +-- .../containers/Cdf_in_xs_pdf_cdf1d.python.cpp | 56 ++++ .../src/v2.0/containers/Double.python.cpp | 9 +- .../containers/Pdf_in_xs_pdf_cdf1d.python.cpp | 56 ++++ .../v2.0/containers/Polynomial1d.python.cpp | 7 + .../src/v2.0/containers/Regions1d.python.cpp | 9 +- .../src/v2.0/containers/Regions2d.python.cpp | 9 +- .../src/v2.0/containers/Regions3d.python.cpp | 9 +- .../src/v2.0/containers/XYs1d.python.cpp | 7 + .../src/v2.0/containers/XYs2d.python.cpp | 9 +- .../src/v2.0/containers/XYs3d.python.cpp | 9 +- .../containers/Xs_in_xs_pdf_cdf1d.python.cpp | 56 ++++ .../v2.0/containers/Xs_pdf_cdf1d.python.cpp | 77 +++++ standards/gnds-2.0/try/src/try/v2.0.hpp | 4 + .../v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp | 106 +++++++ .../Cdf_in_xs_pdf_cdf1d/src/custom.hpp | 4 + .../try/src/try/v2.0/containers/Double.hpp | 19 +- .../v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp | 106 +++++++ .../Pdf_in_xs_pdf_cdf1d/src/custom.hpp | 4 + .../src/try/v2.0/containers/Polynomial1d.hpp | 7 + .../try/src/try/v2.0/containers/Regions1d.hpp | 15 +- .../try/src/try/v2.0/containers/Regions2d.hpp | 15 +- .../try/src/try/v2.0/containers/Regions3d.hpp | 15 +- .../try/src/try/v2.0/containers/XYs1d.hpp | 7 + .../try/src/try/v2.0/containers/XYs2d.hpp | 15 +- .../try/src/try/v2.0/containers/XYs3d.hpp | 15 +- .../v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp | 106 +++++++ .../Xs_in_xs_pdf_cdf1d/src/custom.hpp | 4 + .../src/try/v2.0/containers/Xs_pdf_cdf1d.hpp | 129 ++++++++ .../containers/Xs_pdf_cdf1d/src/custom.hpp | 4 + standards/gnds-2.0/try/src/try/v2.0/key.hpp | 3 + 56 files changed, 2986 insertions(+), 87 deletions(-) create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp create mode 100644 standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/c/src/v2.0.h b/standards/gnds-2.0/try/c/src/v2.0.h index 16f99d7a5..920df1bee 100644 --- a/standards/gnds-2.0/try/c/src/v2.0.h +++ b/standards/gnds-2.0/try/c/src/v2.0.h @@ -173,6 +173,10 @@ #include "v2.0/containers/Legendre.h" #include "v2.0/containers/Polynomial1d.h" #include "v2.0/containers/Constant1d.h" +#include "v2.0/containers/Xs_pdf_cdf1d.h" +#include "v2.0/containers/Xs_in_xs_pdf_cdf1d.h" +#include "v2.0/containers/Pdf_in_xs_pdf_cdf1d.h" +#include "v2.0/containers/Cdf_in_xs_pdf_cdf1d.h" #include "v2.0/containers/XYs2d.h" #include "v2.0/containers/Function1ds.h" #include "v2.0/containers/XYs3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp new file mode 100644 index 000000000..270a165d9 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Cdf_in_xs_pdf_cdf1d.hpp" +#include "Cdf_in_xs_pdf_cdf1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Cdf_in_xs_pdf_cdf1dClass; +using CPP = multigroup::Cdf_in_xs_pdf_cdf1d; + +static const std::string CLASSNAME = "Cdf_in_xs_pdf_cdf1d"; + +namespace extract { + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstCdf_in_xs_pdf_cdf1d +Cdf_in_xs_pdf_cdf1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Cdf_in_xs_pdf_cdf1d +Cdf_in_xs_pdf_cdf1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstCdf_in_xs_pdf_cdf1d +Cdf_in_xs_pdf_cdf1dCreateConst( + ConstHandle2ConstValues values +) { + ConstHandle2Cdf_in_xs_pdf_cdf1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2Cdf_in_xs_pdf_cdf1d +Cdf_in_xs_pdf_cdf1dCreate( + ConstHandle2ConstValues values +) { + ConstHandle2Cdf_in_xs_pdf_cdf1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Cdf_in_xs_pdf_cdf1dAssign(ConstHandle2Cdf_in_xs_pdf_cdf1d This, ConstHandle2ConstCdf_in_xs_pdf_cdf1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Cdf_in_xs_pdf_cdf1dDelete(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Cdf_in_xs_pdf_cdf1dRead(ConstHandle2Cdf_in_xs_pdf_cdf1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Cdf_in_xs_pdf_cdf1dWrite(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Cdf_in_xs_pdf_cdf1dPrint(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Cdf_in_xs_pdf_cdf1dPrintXML(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Cdf_in_xs_pdf_cdf1dPrintJSON(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +Cdf_in_xs_pdf_cdf1dValuesHas(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +Cdf_in_xs_pdf_cdf1dValuesGetConst(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +Cdf_in_xs_pdf_cdf1dValuesGet(ConstHandle2Cdf_in_xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +Cdf_in_xs_pdf_cdf1dValuesSet(ConstHandle2Cdf_in_xs_pdf_cdf1d This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h new file mode 100644 index 000000000..01cc2aa3f --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Cdf_in_xs_pdf_cdf1d is the basic handle type in this file. Example: +// // Create a default Cdf_in_xs_pdf_cdf1d object: +// Cdf_in_xs_pdf_cdf1d handle = Cdf_in_xs_pdf_cdf1dDefault(); +// Functions involving Cdf_in_xs_pdf_cdf1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D + +#include "GNDStk.h" +#include "v2.0/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Cdf_in_xs_pdf_cdf1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Cdf_in_xs_pdf_cdf1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Cdf_in_xs_pdf_cdf1dClass *Cdf_in_xs_pdf_cdf1d; + +// --- Const-aware handles. +typedef const struct Cdf_in_xs_pdf_cdf1dClass *const ConstHandle2ConstCdf_in_xs_pdf_cdf1d; +typedef struct Cdf_in_xs_pdf_cdf1dClass *const ConstHandle2Cdf_in_xs_pdf_cdf1d; +typedef const struct Cdf_in_xs_pdf_cdf1dClass * Handle2ConstCdf_in_xs_pdf_cdf1d; +typedef struct Cdf_in_xs_pdf_cdf1dClass * Handle2Cdf_in_xs_pdf_cdf1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstCdf_in_xs_pdf_cdf1d +Cdf_in_xs_pdf_cdf1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Cdf_in_xs_pdf_cdf1d +Cdf_in_xs_pdf_cdf1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstCdf_in_xs_pdf_cdf1d +Cdf_in_xs_pdf_cdf1dCreateConst( + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2Cdf_in_xs_pdf_cdf1d +Cdf_in_xs_pdf_cdf1dCreate( + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Cdf_in_xs_pdf_cdf1dAssign(ConstHandle2Cdf_in_xs_pdf_cdf1d This, ConstHandle2ConstCdf_in_xs_pdf_cdf1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Cdf_in_xs_pdf_cdf1dDelete(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Cdf_in_xs_pdf_cdf1dRead(ConstHandle2Cdf_in_xs_pdf_cdf1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Cdf_in_xs_pdf_cdf1dWrite(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Cdf_in_xs_pdf_cdf1dPrint(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This); + +// +++ Print to standard output, as XML +extern_c int +Cdf_in_xs_pdf_cdf1dPrintXML(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This); + +// +++ Print to standard output, as JSON +extern_c int +Cdf_in_xs_pdf_cdf1dPrintJSON(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Cdf_in_xs_pdf_cdf1dValuesHas(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This); + +// --- Get, const +extern_c Handle2ConstValues +Cdf_in_xs_pdf_cdf1dValuesGetConst(ConstHandle2ConstCdf_in_xs_pdf_cdf1d This); + +// +++ Get, non-const +extern_c Handle2Values +Cdf_in_xs_pdf_cdf1dValuesGet(ConstHandle2Cdf_in_xs_pdf_cdf1d This); + +// +++ Set +extern_c void +Cdf_in_xs_pdf_cdf1dValuesSet(ConstHandle2Cdf_in_xs_pdf_cdf1d This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp index 866fd16af..c00f0ba86 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp @@ -17,8 +17,11 @@ namespace extract { static auto label = [](auto &obj) { return &obj.label; }; static auto unit = [](auto &obj) { return &obj.unit; }; static auto value = [](auto &obj) { return &obj.value; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; } +using CPPUncertainty = containers::Uncertainty; + // ----------------------------------------------------------------------------- // Basics @@ -46,13 +49,15 @@ Handle2ConstDouble DoubleCreateConst( const XMLName label, const XMLName unit, - const Float64 value + const Float64 value, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2Double handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", label, unit, - value + value, + detail::tocpp(uncertainty) ); return handle; } @@ -62,13 +67,15 @@ Handle2Double DoubleCreate( const XMLName label, const XMLName unit, - const Float64 value + const Float64 value, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2Double handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", label, unit, - value + value, + detail::tocpp(uncertainty) ); return handle; } @@ -233,3 +240,40 @@ DoubleValueSet(ConstHandle2Double This, const Float64 value) detail::setField (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); } + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +DoubleUncertaintyHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +DoubleUncertaintyGetConst(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +DoubleUncertaintyGet(ConstHandle2Double This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +DoubleUncertaintySet(ConstHandle2Double This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h index 9ee70d3a9..abb6668f8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h @@ -32,6 +32,7 @@ #define C_INTERFACE_TRY_V2_0_CONTAINERS_DOUBLE #include "GNDStk.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" @@ -78,7 +79,8 @@ extern_c Handle2ConstDouble DoubleCreateConst( const XMLName label, const XMLName unit, - const Float64 value + const Float64 value, + ConstHandle2ConstUncertainty uncertainty ); // +++ Create, general @@ -86,7 +88,8 @@ extern_c Handle2Double DoubleCreate( const XMLName label, const XMLName unit, - const Float64 value + const Float64 value, + ConstHandle2ConstUncertainty uncertainty ); // +++ Assign @@ -187,6 +190,27 @@ extern_c void DoubleValueSet(ConstHandle2Double This, const Float64 value); +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleUncertaintyHas(ConstHandle2ConstDouble This); + +// --- Get, const +extern_c Handle2ConstUncertainty +DoubleUncertaintyGetConst(ConstHandle2ConstDouble This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +DoubleUncertaintyGet(ConstHandle2Double This); + +// +++ Set +extern_c void +DoubleUncertaintySet(ConstHandle2Double This, ConstHandle2ConstUncertainty uncertainty); + + // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp new file mode 100644 index 000000000..aa1eef0d2 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Pdf_in_xs_pdf_cdf1d.hpp" +#include "Pdf_in_xs_pdf_cdf1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Pdf_in_xs_pdf_cdf1dClass; +using CPP = multigroup::Pdf_in_xs_pdf_cdf1d; + +static const std::string CLASSNAME = "Pdf_in_xs_pdf_cdf1d"; + +namespace extract { + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPdf_in_xs_pdf_cdf1d +Pdf_in_xs_pdf_cdf1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Pdf_in_xs_pdf_cdf1d +Pdf_in_xs_pdf_cdf1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPdf_in_xs_pdf_cdf1d +Pdf_in_xs_pdf_cdf1dCreateConst( + ConstHandle2ConstValues values +) { + ConstHandle2Pdf_in_xs_pdf_cdf1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2Pdf_in_xs_pdf_cdf1d +Pdf_in_xs_pdf_cdf1dCreate( + ConstHandle2ConstValues values +) { + ConstHandle2Pdf_in_xs_pdf_cdf1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Pdf_in_xs_pdf_cdf1dAssign(ConstHandle2Pdf_in_xs_pdf_cdf1d This, ConstHandle2ConstPdf_in_xs_pdf_cdf1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Pdf_in_xs_pdf_cdf1dDelete(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Pdf_in_xs_pdf_cdf1dRead(ConstHandle2Pdf_in_xs_pdf_cdf1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Pdf_in_xs_pdf_cdf1dWrite(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Pdf_in_xs_pdf_cdf1dPrint(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Pdf_in_xs_pdf_cdf1dPrintXML(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Pdf_in_xs_pdf_cdf1dPrintJSON(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +Pdf_in_xs_pdf_cdf1dValuesHas(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +Pdf_in_xs_pdf_cdf1dValuesGetConst(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +Pdf_in_xs_pdf_cdf1dValuesGet(ConstHandle2Pdf_in_xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +Pdf_in_xs_pdf_cdf1dValuesSet(ConstHandle2Pdf_in_xs_pdf_cdf1d This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h new file mode 100644 index 000000000..7d079082d --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Pdf_in_xs_pdf_cdf1d is the basic handle type in this file. Example: +// // Create a default Pdf_in_xs_pdf_cdf1d object: +// Pdf_in_xs_pdf_cdf1d handle = Pdf_in_xs_pdf_cdf1dDefault(); +// Functions involving Pdf_in_xs_pdf_cdf1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D + +#include "GNDStk.h" +#include "v2.0/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Pdf_in_xs_pdf_cdf1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Pdf_in_xs_pdf_cdf1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Pdf_in_xs_pdf_cdf1dClass *Pdf_in_xs_pdf_cdf1d; + +// --- Const-aware handles. +typedef const struct Pdf_in_xs_pdf_cdf1dClass *const ConstHandle2ConstPdf_in_xs_pdf_cdf1d; +typedef struct Pdf_in_xs_pdf_cdf1dClass *const ConstHandle2Pdf_in_xs_pdf_cdf1d; +typedef const struct Pdf_in_xs_pdf_cdf1dClass * Handle2ConstPdf_in_xs_pdf_cdf1d; +typedef struct Pdf_in_xs_pdf_cdf1dClass * Handle2Pdf_in_xs_pdf_cdf1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPdf_in_xs_pdf_cdf1d +Pdf_in_xs_pdf_cdf1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Pdf_in_xs_pdf_cdf1d +Pdf_in_xs_pdf_cdf1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstPdf_in_xs_pdf_cdf1d +Pdf_in_xs_pdf_cdf1dCreateConst( + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2Pdf_in_xs_pdf_cdf1d +Pdf_in_xs_pdf_cdf1dCreate( + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Pdf_in_xs_pdf_cdf1dAssign(ConstHandle2Pdf_in_xs_pdf_cdf1d This, ConstHandle2ConstPdf_in_xs_pdf_cdf1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Pdf_in_xs_pdf_cdf1dDelete(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Pdf_in_xs_pdf_cdf1dRead(ConstHandle2Pdf_in_xs_pdf_cdf1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Pdf_in_xs_pdf_cdf1dWrite(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Pdf_in_xs_pdf_cdf1dPrint(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This); + +// +++ Print to standard output, as XML +extern_c int +Pdf_in_xs_pdf_cdf1dPrintXML(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This); + +// +++ Print to standard output, as JSON +extern_c int +Pdf_in_xs_pdf_cdf1dPrintJSON(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Pdf_in_xs_pdf_cdf1dValuesHas(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This); + +// --- Get, const +extern_c Handle2ConstValues +Pdf_in_xs_pdf_cdf1dValuesGetConst(ConstHandle2ConstPdf_in_xs_pdf_cdf1d This); + +// +++ Get, non-const +extern_c Handle2Values +Pdf_in_xs_pdf_cdf1dValuesGet(ConstHandle2Pdf_in_xs_pdf_cdf1d This); + +// +++ Set +extern_c void +Pdf_in_xs_pdf_cdf1dValuesSet(ConstHandle2Pdf_in_xs_pdf_cdf1d This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp index 16b843070..40c9cb42c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp @@ -20,10 +20,12 @@ namespace extract { static auto domainMin = [](auto &obj) { return &obj.domainMin; }; static auto domainMax = [](auto &obj) { return &obj.domainMax; }; static auto axes = [](auto &obj) { return &obj.axes; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; static auto values = [](auto &obj) { return &obj.values; }; } using CPPAxes = containers::Axes; +using CPPUncertainty = containers::Uncertainty; using CPPValues = containers::Values; @@ -57,6 +59,7 @@ Polynomial1dCreateConst( const Float64 domainMin, const Float64 domainMax, ConstHandle2ConstAxes axes, + ConstHandle2ConstUncertainty uncertainty, ConstHandle2ConstValues values ) { ConstHandle2Polynomial1d handle = detail::createHandle( @@ -67,6 +70,7 @@ Polynomial1dCreateConst( domainMin, domainMax, detail::tocpp(axes), + detail::tocpp(uncertainty), detail::tocpp(values) ); return handle; @@ -81,6 +85,7 @@ Polynomial1dCreate( const Float64 domainMin, const Float64 domainMax, ConstHandle2ConstAxes axes, + ConstHandle2ConstUncertainty uncertainty, ConstHandle2ConstValues values ) { ConstHandle2Polynomial1d handle = detail::createHandle( @@ -91,6 +96,7 @@ Polynomial1dCreate( domainMin, domainMax, detail::tocpp(axes), + detail::tocpp(uncertainty), detail::tocpp(values) ); return handle; @@ -355,6 +361,43 @@ Polynomial1dAxesSet(ConstHandle2Polynomial1d This, ConstHandle2ConstAxes axes) } +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +Polynomial1dUncertaintyHas(ConstHandle2ConstPolynomial1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +Polynomial1dUncertaintyGetConst(ConstHandle2ConstPolynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +Polynomial1dUncertaintyGet(ConstHandle2Polynomial1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +Polynomial1dUncertaintySet(ConstHandle2Polynomial1d This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + // ----------------------------------------------------------------------------- // Child: values // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h index f02ead238..6aaa95af8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h @@ -33,6 +33,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" +#include "v2.0/containers/Uncertainty.h" #include "v2.0/containers/Values.h" #ifdef __cplusplus @@ -84,6 +85,7 @@ Polynomial1dCreateConst( const Float64 domainMin, const Float64 domainMax, ConstHandle2ConstAxes axes, + ConstHandle2ConstUncertainty uncertainty, ConstHandle2ConstValues values ); @@ -96,6 +98,7 @@ Polynomial1dCreate( const Float64 domainMin, const Float64 domainMax, ConstHandle2ConstAxes axes, + ConstHandle2ConstUncertainty uncertainty, ConstHandle2ConstValues values ); @@ -254,6 +257,27 @@ extern_c void Polynomial1dAxesSet(ConstHandle2Polynomial1d This, ConstHandle2ConstAxes axes); +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Polynomial1dUncertaintyHas(ConstHandle2ConstPolynomial1d This); + +// --- Get, const +extern_c Handle2ConstUncertainty +Polynomial1dUncertaintyGetConst(ConstHandle2ConstPolynomial1d This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +Polynomial1dUncertaintyGet(ConstHandle2Polynomial1d This); + +// +++ Set +extern_c void +Polynomial1dUncertaintySet(ConstHandle2Polynomial1d This, ConstHandle2ConstUncertainty uncertainty); + + // ----------------------------------------------------------------------------- // Child: values // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp index e6cb63935..91dd145fe 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp @@ -18,10 +18,12 @@ namespace extract { static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; static auto axes = [](auto &obj) { return &obj.axes; }; static auto function1ds = [](auto &obj) { return &obj.function1ds; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; } using CPPAxes = containers::Axes; using CPPFunction1ds = containers::Function1ds; +using CPPUncertainty = containers::Uncertainty; // ----------------------------------------------------------------------------- @@ -51,14 +53,16 @@ Regions1dCreateConst( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction1ds function1ds + ConstHandle2ConstFunction1ds function1ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2Regions1d handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", label, outerDomainValue, detail::tocpp(axes), - detail::tocpp(function1ds) + detail::tocpp(function1ds), + detail::tocpp(uncertainty) ); return handle; } @@ -69,14 +73,16 @@ Regions1dCreate( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction1ds function1ds + ConstHandle2ConstFunction1ds function1ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2Regions1d handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", label, outerDomainValue, detail::tocpp(axes), - detail::tocpp(function1ds) + detail::tocpp(function1ds), + detail::tocpp(uncertainty) ); return handle; } @@ -285,3 +291,40 @@ Regions1dFunction1dsSet(ConstHandle2Regions1d This, ConstHandle2ConstFunction1ds detail::setField (CLASSNAME, CLASSNAME+"Function1dsSet", This, extract::function1ds, function1ds); } + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +Regions1dUncertaintyHas(ConstHandle2ConstRegions1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +Regions1dUncertaintyGetConst(ConstHandle2ConstRegions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +Regions1dUncertaintyGet(ConstHandle2Regions1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +Regions1dUncertaintySet(ConstHandle2Regions1d This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h index afba0a031..36916d310 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h @@ -34,6 +34,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" #include "v2.0/containers/Function1ds.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" @@ -81,7 +82,8 @@ Regions1dCreateConst( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction1ds function1ds + ConstHandle2ConstFunction1ds function1ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Create, general @@ -90,7 +92,8 @@ Regions1dCreate( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction1ds function1ds + ConstHandle2ConstFunction1ds function1ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Assign @@ -215,6 +218,27 @@ extern_c void Regions1dFunction1dsSet(ConstHandle2Regions1d This, ConstHandle2ConstFunction1ds function1ds); +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions1dUncertaintyHas(ConstHandle2ConstRegions1d This); + +// --- Get, const +extern_c Handle2ConstUncertainty +Regions1dUncertaintyGetConst(ConstHandle2ConstRegions1d This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +Regions1dUncertaintyGet(ConstHandle2Regions1d This); + +// +++ Set +extern_c void +Regions1dUncertaintySet(ConstHandle2Regions1d This, ConstHandle2ConstUncertainty uncertainty); + + // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp index 462d3d124..94c8547e5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp @@ -18,10 +18,12 @@ namespace extract { static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; static auto axes = [](auto &obj) { return &obj.axes; }; static auto function2ds = [](auto &obj) { return &obj.function2ds; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; } using CPPAxes = containers::Axes; using CPPFunction2ds = containers::Function2ds; +using CPPUncertainty = containers::Uncertainty; // ----------------------------------------------------------------------------- @@ -51,14 +53,16 @@ Regions2dCreateConst( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction2ds function2ds + ConstHandle2ConstFunction2ds function2ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2Regions2d handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", label, outerDomainValue, detail::tocpp(axes), - detail::tocpp(function2ds) + detail::tocpp(function2ds), + detail::tocpp(uncertainty) ); return handle; } @@ -69,14 +73,16 @@ Regions2dCreate( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction2ds function2ds + ConstHandle2ConstFunction2ds function2ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2Regions2d handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", label, outerDomainValue, detail::tocpp(axes), - detail::tocpp(function2ds) + detail::tocpp(function2ds), + detail::tocpp(uncertainty) ); return handle; } @@ -285,3 +291,40 @@ Regions2dFunction2dsSet(ConstHandle2Regions2d This, ConstHandle2ConstFunction2ds detail::setField (CLASSNAME, CLASSNAME+"Function2dsSet", This, extract::function2ds, function2ds); } + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +Regions2dUncertaintyHas(ConstHandle2ConstRegions2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +Regions2dUncertaintyGetConst(ConstHandle2ConstRegions2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +Regions2dUncertaintyGet(ConstHandle2Regions2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +Regions2dUncertaintySet(ConstHandle2Regions2d This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h index 785ecbdca..7510f8afd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h @@ -34,6 +34,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" #include "v2.0/containers/Function2ds.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" @@ -81,7 +82,8 @@ Regions2dCreateConst( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction2ds function2ds + ConstHandle2ConstFunction2ds function2ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Create, general @@ -90,7 +92,8 @@ Regions2dCreate( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction2ds function2ds + ConstHandle2ConstFunction2ds function2ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Assign @@ -215,6 +218,27 @@ extern_c void Regions2dFunction2dsSet(ConstHandle2Regions2d This, ConstHandle2ConstFunction2ds function2ds); +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions2dUncertaintyHas(ConstHandle2ConstRegions2d This); + +// --- Get, const +extern_c Handle2ConstUncertainty +Regions2dUncertaintyGetConst(ConstHandle2ConstRegions2d This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +Regions2dUncertaintyGet(ConstHandle2Regions2d This); + +// +++ Set +extern_c void +Regions2dUncertaintySet(ConstHandle2Regions2d This, ConstHandle2ConstUncertainty uncertainty); + + // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp index 0d91f39a9..28236e5d4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp @@ -18,10 +18,12 @@ namespace extract { static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; static auto axes = [](auto &obj) { return &obj.axes; }; static auto function3ds = [](auto &obj) { return &obj.function3ds; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; } using CPPAxes = containers::Axes; using CPPFunction3ds = containers::Function3ds; +using CPPUncertainty = containers::Uncertainty; // ----------------------------------------------------------------------------- @@ -51,14 +53,16 @@ Regions3dCreateConst( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction3ds function3ds + ConstHandle2ConstFunction3ds function3ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2Regions3d handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", label, outerDomainValue, detail::tocpp(axes), - detail::tocpp(function3ds) + detail::tocpp(function3ds), + detail::tocpp(uncertainty) ); return handle; } @@ -69,14 +73,16 @@ Regions3dCreate( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction3ds function3ds + ConstHandle2ConstFunction3ds function3ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2Regions3d handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", label, outerDomainValue, detail::tocpp(axes), - detail::tocpp(function3ds) + detail::tocpp(function3ds), + detail::tocpp(uncertainty) ); return handle; } @@ -285,3 +291,40 @@ Regions3dFunction3dsSet(ConstHandle2Regions3d This, ConstHandle2ConstFunction3ds detail::setField (CLASSNAME, CLASSNAME+"Function3dsSet", This, extract::function3ds, function3ds); } + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +Regions3dUncertaintyHas(ConstHandle2ConstRegions3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +Regions3dUncertaintyGetConst(ConstHandle2ConstRegions3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +Regions3dUncertaintyGet(ConstHandle2Regions3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +Regions3dUncertaintySet(ConstHandle2Regions3d This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h index b02d6e062..e77650ddf 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h @@ -34,6 +34,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" #include "v2.0/containers/Function3ds.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" @@ -81,7 +82,8 @@ Regions3dCreateConst( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction3ds function3ds + ConstHandle2ConstFunction3ds function3ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Create, general @@ -90,7 +92,8 @@ Regions3dCreate( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction3ds function3ds + ConstHandle2ConstFunction3ds function3ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Assign @@ -215,6 +218,27 @@ extern_c void Regions3dFunction3dsSet(ConstHandle2Regions3d This, ConstHandle2ConstFunction3ds function3ds); +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Regions3dUncertaintyHas(ConstHandle2ConstRegions3d This); + +// --- Get, const +extern_c Handle2ConstUncertainty +Regions3dUncertaintyGetConst(ConstHandle2ConstRegions3d This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +Regions3dUncertaintyGet(ConstHandle2Regions3d This); + +// +++ Set +extern_c void +Regions3dUncertaintySet(ConstHandle2Regions3d This, ConstHandle2ConstUncertainty uncertainty); + + // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp index e3c0ebaa5..5b601ccc1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp @@ -19,10 +19,12 @@ namespace extract { static auto label = [](auto &obj) { return &obj.label; }; static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; static auto axes = [](auto &obj) { return &obj.axes; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; static auto values = [](auto &obj) { return &obj.values; }; } using CPPAxes = containers::Axes; +using CPPUncertainty = containers::Uncertainty; using CPPValues = containers::Values; @@ -55,6 +57,7 @@ XYs1dCreateConst( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, + ConstHandle2ConstUncertainty uncertainty, ConstHandle2ConstValues values ) { ConstHandle2XYs1d handle = detail::createHandle( @@ -64,6 +67,7 @@ XYs1dCreateConst( label, outerDomainValue, detail::tocpp(axes), + detail::tocpp(uncertainty), detail::tocpp(values) ); return handle; @@ -77,6 +81,7 @@ XYs1dCreate( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, + ConstHandle2ConstUncertainty uncertainty, ConstHandle2ConstValues values ) { ConstHandle2XYs1d handle = detail::createHandle( @@ -86,6 +91,7 @@ XYs1dCreate( label, outerDomainValue, detail::tocpp(axes), + detail::tocpp(uncertainty), detail::tocpp(values) ); return handle; @@ -320,6 +326,43 @@ XYs1dAxesSet(ConstHandle2XYs1d This, ConstHandle2ConstAxes axes) } +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +XYs1dUncertaintyHas(ConstHandle2ConstXYs1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +XYs1dUncertaintyGetConst(ConstHandle2ConstXYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +XYs1dUncertaintyGet(ConstHandle2XYs1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +XYs1dUncertaintySet(ConstHandle2XYs1d This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} + + // ----------------------------------------------------------------------------- // Child: values // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h index 9b50deec1..bd44b7518 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h @@ -33,6 +33,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" +#include "v2.0/containers/Uncertainty.h" #include "v2.0/containers/Values.h" #ifdef __cplusplus @@ -83,6 +84,7 @@ XYs1dCreateConst( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, + ConstHandle2ConstUncertainty uncertainty, ConstHandle2ConstValues values ); @@ -94,6 +96,7 @@ XYs1dCreate( const XMLName label, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, + ConstHandle2ConstUncertainty uncertainty, ConstHandle2ConstValues values ); @@ -234,6 +237,27 @@ extern_c void XYs1dAxesSet(ConstHandle2XYs1d This, ConstHandle2ConstAxes axes); +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs1dUncertaintyHas(ConstHandle2ConstXYs1d This); + +// --- Get, const +extern_c Handle2ConstUncertainty +XYs1dUncertaintyGetConst(ConstHandle2ConstXYs1d This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +XYs1dUncertaintyGet(ConstHandle2XYs1d This); + +// +++ Set +extern_c void +XYs1dUncertaintySet(ConstHandle2XYs1d This, ConstHandle2ConstUncertainty uncertainty); + + // ----------------------------------------------------------------------------- // Child: values // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp index b1af7de6b..e638e22ed 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp @@ -20,10 +20,12 @@ namespace extract { static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; static auto axes = [](auto &obj) { return &obj.axes; }; static auto function1ds = [](auto &obj) { return &obj.function1ds; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; } using CPPAxes = containers::Axes; using CPPFunction1ds = containers::Function1ds; +using CPPUncertainty = containers::Uncertainty; // ----------------------------------------------------------------------------- @@ -55,7 +57,8 @@ XYs2dCreateConst( const XMLName interpolationQualifier, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction1ds function1ds + ConstHandle2ConstFunction1ds function1ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2XYs2d handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", @@ -64,7 +67,8 @@ XYs2dCreateConst( interpolationQualifier, outerDomainValue, detail::tocpp(axes), - detail::tocpp(function1ds) + detail::tocpp(function1ds), + detail::tocpp(uncertainty) ); return handle; } @@ -77,7 +81,8 @@ XYs2dCreate( const XMLName interpolationQualifier, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction1ds function1ds + ConstHandle2ConstFunction1ds function1ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2XYs2d handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", @@ -86,7 +91,8 @@ XYs2dCreate( interpolationQualifier, outerDomainValue, detail::tocpp(axes), - detail::tocpp(function1ds) + detail::tocpp(function1ds), + detail::tocpp(uncertainty) ); return handle; } @@ -355,3 +361,40 @@ XYs2dFunction1dsSet(ConstHandle2XYs2d This, ConstHandle2ConstFunction1ds functio detail::setField (CLASSNAME, CLASSNAME+"Function1dsSet", This, extract::function1ds, function1ds); } + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +XYs2dUncertaintyHas(ConstHandle2ConstXYs2d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +XYs2dUncertaintyGetConst(ConstHandle2ConstXYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +XYs2dUncertaintyGet(ConstHandle2XYs2d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +XYs2dUncertaintySet(ConstHandle2XYs2d This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h index 045708922..1955c3db4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h @@ -34,6 +34,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" #include "v2.0/containers/Function1ds.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" @@ -83,7 +84,8 @@ XYs2dCreateConst( const XMLName interpolationQualifier, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction1ds function1ds + ConstHandle2ConstFunction1ds function1ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Create, general @@ -94,7 +96,8 @@ XYs2dCreate( const XMLName interpolationQualifier, const Float64 outerDomainValue, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction1ds function1ds + ConstHandle2ConstFunction1ds function1ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Assign @@ -255,6 +258,27 @@ extern_c void XYs2dFunction1dsSet(ConstHandle2XYs2d This, ConstHandle2ConstFunction1ds function1ds); +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs2dUncertaintyHas(ConstHandle2ConstXYs2d This); + +// --- Get, const +extern_c Handle2ConstUncertainty +XYs2dUncertaintyGetConst(ConstHandle2ConstXYs2d This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +XYs2dUncertaintyGet(ConstHandle2XYs2d This); + +// +++ Set +extern_c void +XYs2dUncertaintySet(ConstHandle2XYs2d This, ConstHandle2ConstUncertainty uncertainty); + + // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp index a1651f0b3..f5e7f2c2f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp @@ -18,10 +18,12 @@ namespace extract { static auto interpolationQualifier = [](auto &obj) { return &obj.interpolationQualifier; }; static auto axes = [](auto &obj) { return &obj.axes; }; static auto function2ds = [](auto &obj) { return &obj.function2ds; }; + static auto uncertainty = [](auto &obj) { return &obj.uncertainty; }; } using CPPAxes = containers::Axes; using CPPFunction2ds = containers::Function2ds; +using CPPUncertainty = containers::Uncertainty; // ----------------------------------------------------------------------------- @@ -51,14 +53,16 @@ XYs3dCreateConst( const enums::Interpolation interpolation, const XMLName interpolationQualifier, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction2ds function2ds + ConstHandle2ConstFunction2ds function2ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2XYs3d handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", interpolation, interpolationQualifier, detail::tocpp(axes), - detail::tocpp(function2ds) + detail::tocpp(function2ds), + detail::tocpp(uncertainty) ); return handle; } @@ -69,14 +73,16 @@ XYs3dCreate( const enums::Interpolation interpolation, const XMLName interpolationQualifier, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction2ds function2ds + ConstHandle2ConstFunction2ds function2ds, + ConstHandle2ConstUncertainty uncertainty ) { ConstHandle2XYs3d handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", interpolation, interpolationQualifier, detail::tocpp(axes), - detail::tocpp(function2ds) + detail::tocpp(function2ds), + detail::tocpp(uncertainty) ); return handle; } @@ -285,3 +291,40 @@ XYs3dFunction2dsSet(ConstHandle2XYs3d This, ConstHandle2ConstFunction2ds functio detail::setField (CLASSNAME, CLASSNAME+"Function2dsSet", This, extract::function2ds, function2ds); } + + +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// Has +int +XYs3dUncertaintyHas(ConstHandle2ConstXYs3d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UncertaintyHas", This, extract::uncertainty); +} + +// Get, const +Handle2ConstUncertainty +XYs3dUncertaintyGetConst(ConstHandle2ConstXYs3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGetConst", This, extract::uncertainty); +} + +// Get, non-const +Handle2Uncertainty +XYs3dUncertaintyGet(ConstHandle2XYs3d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UncertaintyGet", This, extract::uncertainty); +} + +// Set +void +XYs3dUncertaintySet(ConstHandle2XYs3d This, ConstHandle2ConstUncertainty uncertainty) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UncertaintySet", This, extract::uncertainty, uncertainty); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h index 4bea9eadd..80607f319 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h @@ -34,6 +34,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" #include "v2.0/containers/Function2ds.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" @@ -81,7 +82,8 @@ XYs3dCreateConst( const enums::Interpolation interpolation, const XMLName interpolationQualifier, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction2ds function2ds + ConstHandle2ConstFunction2ds function2ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Create, general @@ -90,7 +92,8 @@ XYs3dCreate( const enums::Interpolation interpolation, const XMLName interpolationQualifier, ConstHandle2ConstAxes axes, - ConstHandle2ConstFunction2ds function2ds + ConstHandle2ConstFunction2ds function2ds, + ConstHandle2ConstUncertainty uncertainty ); // +++ Assign @@ -215,6 +218,27 @@ extern_c void XYs3dFunction2dsSet(ConstHandle2XYs3d This, ConstHandle2ConstFunction2ds function2ds); +// ----------------------------------------------------------------------------- +// Child: uncertainty +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +XYs3dUncertaintyHas(ConstHandle2ConstXYs3d This); + +// --- Get, const +extern_c Handle2ConstUncertainty +XYs3dUncertaintyGetConst(ConstHandle2ConstXYs3d This); + +// +++ Get, non-const +extern_c Handle2Uncertainty +XYs3dUncertaintyGet(ConstHandle2XYs3d This); + +// +++ Set +extern_c void +XYs3dUncertaintySet(ConstHandle2XYs3d This, ConstHandle2ConstUncertainty uncertainty); + + // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp new file mode 100644 index 000000000..0de4f3f2e --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Xs_in_xs_pdf_cdf1d.hpp" +#include "Xs_in_xs_pdf_cdf1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Xs_in_xs_pdf_cdf1dClass; +using CPP = multigroup::Xs_in_xs_pdf_cdf1d; + +static const std::string CLASSNAME = "Xs_in_xs_pdf_cdf1d"; + +namespace extract { + static auto values = [](auto &obj) { return &obj.values; }; +} + +using CPPValues = containers::Values; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstXs_in_xs_pdf_cdf1d +Xs_in_xs_pdf_cdf1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Xs_in_xs_pdf_cdf1d +Xs_in_xs_pdf_cdf1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstXs_in_xs_pdf_cdf1d +Xs_in_xs_pdf_cdf1dCreateConst( + ConstHandle2ConstValues values +) { + ConstHandle2Xs_in_xs_pdf_cdf1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(values) + ); + return handle; +} + +// Create, general +Handle2Xs_in_xs_pdf_cdf1d +Xs_in_xs_pdf_cdf1dCreate( + ConstHandle2ConstValues values +) { + ConstHandle2Xs_in_xs_pdf_cdf1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(values) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Xs_in_xs_pdf_cdf1dAssign(ConstHandle2Xs_in_xs_pdf_cdf1d This, ConstHandle2ConstXs_in_xs_pdf_cdf1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Xs_in_xs_pdf_cdf1dDelete(ConstHandle2ConstXs_in_xs_pdf_cdf1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Xs_in_xs_pdf_cdf1dRead(ConstHandle2Xs_in_xs_pdf_cdf1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Xs_in_xs_pdf_cdf1dWrite(ConstHandle2ConstXs_in_xs_pdf_cdf1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Xs_in_xs_pdf_cdf1dPrint(ConstHandle2ConstXs_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Xs_in_xs_pdf_cdf1dPrintXML(ConstHandle2ConstXs_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Xs_in_xs_pdf_cdf1dPrintJSON(ConstHandle2ConstXs_in_xs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// Has +int +Xs_in_xs_pdf_cdf1dValuesHas(ConstHandle2ConstXs_in_xs_pdf_cdf1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValuesHas", This, extract::values); +} + +// Get, const +Handle2ConstValues +Xs_in_xs_pdf_cdf1dValuesGetConst(ConstHandle2ConstXs_in_xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGetConst", This, extract::values); +} + +// Get, non-const +Handle2Values +Xs_in_xs_pdf_cdf1dValuesGet(ConstHandle2Xs_in_xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValuesGet", This, extract::values); +} + +// Set +void +Xs_in_xs_pdf_cdf1dValuesSet(ConstHandle2Xs_in_xs_pdf_cdf1d This, ConstHandle2ConstValues values) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValuesSet", This, extract::values, values); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h new file mode 100644 index 000000000..5a1bf5750 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Xs_in_xs_pdf_cdf1d is the basic handle type in this file. Example: +// // Create a default Xs_in_xs_pdf_cdf1d object: +// Xs_in_xs_pdf_cdf1d handle = Xs_in_xs_pdf_cdf1dDefault(); +// Functions involving Xs_in_xs_pdf_cdf1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D + +#include "GNDStk.h" +#include "v2.0/containers/Values.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Xs_in_xs_pdf_cdf1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Xs_in_xs_pdf_cdf1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Xs_in_xs_pdf_cdf1dClass *Xs_in_xs_pdf_cdf1d; + +// --- Const-aware handles. +typedef const struct Xs_in_xs_pdf_cdf1dClass *const ConstHandle2ConstXs_in_xs_pdf_cdf1d; +typedef struct Xs_in_xs_pdf_cdf1dClass *const ConstHandle2Xs_in_xs_pdf_cdf1d; +typedef const struct Xs_in_xs_pdf_cdf1dClass * Handle2ConstXs_in_xs_pdf_cdf1d; +typedef struct Xs_in_xs_pdf_cdf1dClass * Handle2Xs_in_xs_pdf_cdf1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstXs_in_xs_pdf_cdf1d +Xs_in_xs_pdf_cdf1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Xs_in_xs_pdf_cdf1d +Xs_in_xs_pdf_cdf1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstXs_in_xs_pdf_cdf1d +Xs_in_xs_pdf_cdf1dCreateConst( + ConstHandle2ConstValues values +); + +// +++ Create, general +extern_c Handle2Xs_in_xs_pdf_cdf1d +Xs_in_xs_pdf_cdf1dCreate( + ConstHandle2ConstValues values +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Xs_in_xs_pdf_cdf1dAssign(ConstHandle2Xs_in_xs_pdf_cdf1d This, ConstHandle2ConstXs_in_xs_pdf_cdf1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Xs_in_xs_pdf_cdf1dDelete(ConstHandle2ConstXs_in_xs_pdf_cdf1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Xs_in_xs_pdf_cdf1dRead(ConstHandle2Xs_in_xs_pdf_cdf1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Xs_in_xs_pdf_cdf1dWrite(ConstHandle2ConstXs_in_xs_pdf_cdf1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Xs_in_xs_pdf_cdf1dPrint(ConstHandle2ConstXs_in_xs_pdf_cdf1d This); + +// +++ Print to standard output, as XML +extern_c int +Xs_in_xs_pdf_cdf1dPrintXML(ConstHandle2ConstXs_in_xs_pdf_cdf1d This); + +// +++ Print to standard output, as JSON +extern_c int +Xs_in_xs_pdf_cdf1dPrintJSON(ConstHandle2ConstXs_in_xs_pdf_cdf1d This); + + +// ----------------------------------------------------------------------------- +// Child: values +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Xs_in_xs_pdf_cdf1dValuesHas(ConstHandle2ConstXs_in_xs_pdf_cdf1d This); + +// --- Get, const +extern_c Handle2ConstValues +Xs_in_xs_pdf_cdf1dValuesGetConst(ConstHandle2ConstXs_in_xs_pdf_cdf1d This); + +// +++ Get, non-const +extern_c Handle2Values +Xs_in_xs_pdf_cdf1dValuesGet(ConstHandle2Xs_in_xs_pdf_cdf1d This); + +// +++ Set +extern_c void +Xs_in_xs_pdf_cdf1dValuesSet(ConstHandle2Xs_in_xs_pdf_cdf1d This, ConstHandle2ConstValues values); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp new file mode 100644 index 000000000..851418747 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/containers/Xs_pdf_cdf1d.hpp" +#include "Xs_pdf_cdf1d.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = Xs_pdf_cdf1dClass; +using CPP = multigroup::Xs_pdf_cdf1d; + +static const std::string CLASSNAME = "Xs_pdf_cdf1d"; + +namespace extract { + static auto outerDomainValue = [](auto &obj) { return &obj.outerDomainValue; }; + static auto xs = [](auto &obj) { return &obj.xs; }; + static auto pdf = [](auto &obj) { return &obj.pdf; }; + static auto cdf = [](auto &obj) { return &obj.cdf; }; +} + +using CPPXs = unknownNamespace::Xs; +using CPPPdf = containers::Pdf; +using CPPCdf = unknownNamespace::Cdf; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstXs_pdf_cdf1d +Xs_pdf_cdf1dDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Xs_pdf_cdf1d +Xs_pdf_cdf1dDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstXs_pdf_cdf1d +Xs_pdf_cdf1dCreateConst( + const Float64 outerDomainValue, + ConstHandle2ConstXs xs, + ConstHandle2ConstPdf pdf, + ConstHandle2ConstCdf cdf +) { + ConstHandle2Xs_pdf_cdf1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + outerDomainValue, + detail::tocpp(xs), + detail::tocpp(pdf), + detail::tocpp(cdf) + ); + return handle; +} + +// Create, general +Handle2Xs_pdf_cdf1d +Xs_pdf_cdf1dCreate( + const Float64 outerDomainValue, + ConstHandle2ConstXs xs, + ConstHandle2ConstPdf pdf, + ConstHandle2ConstCdf cdf +) { + ConstHandle2Xs_pdf_cdf1d handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + outerDomainValue, + detail::tocpp(xs), + detail::tocpp(pdf), + detail::tocpp(cdf) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +Xs_pdf_cdf1dAssign(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstXs_pdf_cdf1d from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +Xs_pdf_cdf1dDelete(ConstHandle2ConstXs_pdf_cdf1d This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +Xs_pdf_cdf1dRead(ConstHandle2Xs_pdf_cdf1d This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +Xs_pdf_cdf1dWrite(ConstHandle2ConstXs_pdf_cdf1d This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +Xs_pdf_cdf1dPrint(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +Xs_pdf_cdf1dPrintXML(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +Xs_pdf_cdf1dPrintJSON(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// Has +int +Xs_pdf_cdf1dOuterDomainValueHas(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"OuterDomainValueHas", This, extract::outerDomainValue); +} + +// Get +// Returns by value +Float64 +Xs_pdf_cdf1dOuterDomainValueGet(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"OuterDomainValueGet", This, extract::outerDomainValue); +} + +// Set +void +Xs_pdf_cdf1dOuterDomainValueSet(ConstHandle2Xs_pdf_cdf1d This, const Float64 outerDomainValue) +{ + detail::setField + (CLASSNAME, CLASSNAME+"OuterDomainValueSet", This, extract::outerDomainValue, outerDomainValue); +} + + +// ----------------------------------------------------------------------------- +// Child: xs +// ----------------------------------------------------------------------------- + +// Has +int +Xs_pdf_cdf1dXsHas(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"XsHas", This, extract::xs); +} + +// Get, const +Handle2ConstXs +Xs_pdf_cdf1dXsGetConst(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XsGetConst", This, extract::xs); +} + +// Get, non-const +Handle2Xs +Xs_pdf_cdf1dXsGet(ConstHandle2Xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"XsGet", This, extract::xs); +} + +// Set +void +Xs_pdf_cdf1dXsSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstXs xs) +{ + detail::setField + (CLASSNAME, CLASSNAME+"XsSet", This, extract::xs, xs); +} + + +// ----------------------------------------------------------------------------- +// Child: pdf +// ----------------------------------------------------------------------------- + +// Has +int +Xs_pdf_cdf1dPdfHas(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"PdfHas", This, extract::pdf); +} + +// Get, const +Handle2ConstPdf +Xs_pdf_cdf1dPdfGetConst(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PdfGetConst", This, extract::pdf); +} + +// Get, non-const +Handle2Pdf +Xs_pdf_cdf1dPdfGet(ConstHandle2Xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"PdfGet", This, extract::pdf); +} + +// Set +void +Xs_pdf_cdf1dPdfSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstPdf pdf) +{ + detail::setField + (CLASSNAME, CLASSNAME+"PdfSet", This, extract::pdf, pdf); +} + + +// ----------------------------------------------------------------------------- +// Child: cdf +// ----------------------------------------------------------------------------- + +// Has +int +Xs_pdf_cdf1dCdfHas(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CdfHas", This, extract::cdf); +} + +// Get, const +Handle2ConstCdf +Xs_pdf_cdf1dCdfGetConst(ConstHandle2ConstXs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CdfGetConst", This, extract::cdf); +} + +// Get, non-const +Handle2Cdf +Xs_pdf_cdf1dCdfGet(ConstHandle2Xs_pdf_cdf1d This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CdfGet", This, extract::cdf); +} + +// Set +void +Xs_pdf_cdf1dCdfSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstCdf cdf) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CdfSet", This, extract::cdf, cdf); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h new file mode 100644 index 000000000..e1e0c3877 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h @@ -0,0 +1,227 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Xs_pdf_cdf1d is the basic handle type in this file. Example: +// // Create a default Xs_pdf_cdf1d object: +// Xs_pdf_cdf1d handle = Xs_pdf_cdf1dDefault(); +// Functions involving Xs_pdf_cdf1d are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XS_PDF_CDF1D +#define C_INTERFACE_TRY_V2_0_CONTAINERS_XS_PDF_CDF1D + +#include "GNDStk.h" +#include "v2.0/unknownNamespace/Xs.h" +#include "v2.0/containers/Pdf.h" +#include "v2.0/unknownNamespace/Cdf.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct Xs_pdf_cdf1dClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Xs_pdf_cdf1d +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct Xs_pdf_cdf1dClass *Xs_pdf_cdf1d; + +// --- Const-aware handles. +typedef const struct Xs_pdf_cdf1dClass *const ConstHandle2ConstXs_pdf_cdf1d; +typedef struct Xs_pdf_cdf1dClass *const ConstHandle2Xs_pdf_cdf1d; +typedef const struct Xs_pdf_cdf1dClass * Handle2ConstXs_pdf_cdf1d; +typedef struct Xs_pdf_cdf1dClass * Handle2Xs_pdf_cdf1d; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstXs_pdf_cdf1d +Xs_pdf_cdf1dDefaultConst(); + +// +++ Create, default +extern_c Handle2Xs_pdf_cdf1d +Xs_pdf_cdf1dDefault(); + +// --- Create, general, const +extern_c Handle2ConstXs_pdf_cdf1d +Xs_pdf_cdf1dCreateConst( + const Float64 outerDomainValue, + ConstHandle2ConstXs xs, + ConstHandle2ConstPdf pdf, + ConstHandle2ConstCdf cdf +); + +// +++ Create, general +extern_c Handle2Xs_pdf_cdf1d +Xs_pdf_cdf1dCreate( + const Float64 outerDomainValue, + ConstHandle2ConstXs xs, + ConstHandle2ConstPdf pdf, + ConstHandle2ConstCdf cdf +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +Xs_pdf_cdf1dAssign(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstXs_pdf_cdf1d from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +Xs_pdf_cdf1dDelete(ConstHandle2ConstXs_pdf_cdf1d This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +Xs_pdf_cdf1dRead(ConstHandle2Xs_pdf_cdf1d This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +Xs_pdf_cdf1dWrite(ConstHandle2ConstXs_pdf_cdf1d This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +Xs_pdf_cdf1dPrint(ConstHandle2ConstXs_pdf_cdf1d This); + +// +++ Print to standard output, as XML +extern_c int +Xs_pdf_cdf1dPrintXML(ConstHandle2ConstXs_pdf_cdf1d This); + +// +++ Print to standard output, as JSON +extern_c int +Xs_pdf_cdf1dPrintJSON(ConstHandle2ConstXs_pdf_cdf1d This); + + +// ----------------------------------------------------------------------------- +// Metadatum: outerDomainValue +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Xs_pdf_cdf1dOuterDomainValueHas(ConstHandle2ConstXs_pdf_cdf1d This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +Xs_pdf_cdf1dOuterDomainValueGet(ConstHandle2ConstXs_pdf_cdf1d This); + +// +++ Set +extern_c void +Xs_pdf_cdf1dOuterDomainValueSet(ConstHandle2Xs_pdf_cdf1d This, const Float64 outerDomainValue); + + +// ----------------------------------------------------------------------------- +// Child: xs +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Xs_pdf_cdf1dXsHas(ConstHandle2ConstXs_pdf_cdf1d This); + +// --- Get, const +extern_c Handle2ConstXs +Xs_pdf_cdf1dXsGetConst(ConstHandle2ConstXs_pdf_cdf1d This); + +// +++ Get, non-const +extern_c Handle2Xs +Xs_pdf_cdf1dXsGet(ConstHandle2Xs_pdf_cdf1d This); + +// +++ Set +extern_c void +Xs_pdf_cdf1dXsSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstXs xs); + + +// ----------------------------------------------------------------------------- +// Child: pdf +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Xs_pdf_cdf1dPdfHas(ConstHandle2ConstXs_pdf_cdf1d This); + +// --- Get, const +extern_c Handle2ConstPdf +Xs_pdf_cdf1dPdfGetConst(ConstHandle2ConstXs_pdf_cdf1d This); + +// +++ Get, non-const +extern_c Handle2Pdf +Xs_pdf_cdf1dPdfGet(ConstHandle2Xs_pdf_cdf1d This); + +// +++ Set +extern_c void +Xs_pdf_cdf1dPdfSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstPdf pdf); + + +// ----------------------------------------------------------------------------- +// Child: cdf +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +Xs_pdf_cdf1dCdfHas(ConstHandle2ConstXs_pdf_cdf1d This); + +// --- Get, const +extern_c Handle2ConstCdf +Xs_pdf_cdf1dCdfGetConst(ConstHandle2ConstXs_pdf_cdf1d This); + +// +++ Get, non-const +extern_c Handle2Cdf +Xs_pdf_cdf1dCdfGet(ConstHandle2Xs_pdf_cdf1d This); + +// +++ Set +extern_c void +Xs_pdf_cdf1dCdfSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstCdf cdf); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp index 6d35e9ac2..858b6b6db 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp @@ -17,7 +17,11 @@ namespace python_containers { void wrapLink(python::module &); void wrapGrid(python::module &); void wrapAxes(python::module &); - void wrapXYs1d(python::module &); + void wrapDouble(python::module &); + void wrapStandard(python::module &); + void wrapLogNormal(python::module &); + void wrapInterval(python::module &); + void wrapConfidenceIntervals(python::module &); void wrapConstant1d(python::module &); void wrapPolynomial1d(python::module &); void wrapLegendre(python::module &); @@ -25,6 +29,11 @@ namespace python_containers { void wrapGridded1d(python::module &); void wrapFunction1ds(python::module &); void wrapRegions1d(python::module &); + void wrapPdf(python::module &); + void wrapCovariance(python::module &); + void wrapListOfCovariances(python::module &); + void wrapUncertainty(python::module &); + void wrapXYs1d(python::module &); void wrapXYs2d(python::module &); void wrapGridded2d(python::module &); void wrapFunction2ds(python::module &); @@ -32,22 +41,17 @@ namespace python_containers { void wrapXYs3d(python::module &); void wrapYs1d(python::module &); void wrapGridded3d(python::module &); - void wrapDouble(python::module &); void wrapString(python::module &); void wrapInteger(python::module &); void wrapFraction(python::module &); - void wrapStandard(python::module &); - void wrapLogNormal(python::module &); - void wrapInterval(python::module &); - void wrapConfidenceIntervals(python::module &); - void wrapPdf(python::module &); - void wrapCovariance(python::module &); - void wrapListOfCovariances(python::module &); - void wrapUncertainty(python::module &); void wrapColumn(python::module &); void wrapColumnHeaders(python::module &); void wrapData(python::module &); void wrapTable(python::module &); + void wrapXs_pdf_cdf1d(python::module &); + void wrapXs_in_xs_pdf_cdf1d(python::module &); + void wrapPdf_in_xs_pdf_cdf1d(python::module &); + void wrapCdf_in_xs_pdf_cdf1d(python::module &); void wrapFunction3ds(python::module &); void wrapRegions3d(python::module &); } // namespace python_containers @@ -67,7 +71,11 @@ void wrapContainers(python::module &module) python_containers::wrapLink(submodule); python_containers::wrapGrid(submodule); python_containers::wrapAxes(submodule); - python_containers::wrapXYs1d(submodule); + python_containers::wrapDouble(submodule); + python_containers::wrapStandard(submodule); + python_containers::wrapLogNormal(submodule); + python_containers::wrapInterval(submodule); + python_containers::wrapConfidenceIntervals(submodule); python_containers::wrapConstant1d(submodule); python_containers::wrapPolynomial1d(submodule); python_containers::wrapLegendre(submodule); @@ -75,6 +83,11 @@ void wrapContainers(python::module &module) python_containers::wrapGridded1d(submodule); python_containers::wrapFunction1ds(submodule); python_containers::wrapRegions1d(submodule); + python_containers::wrapPdf(submodule); + python_containers::wrapCovariance(submodule); + python_containers::wrapListOfCovariances(submodule); + python_containers::wrapUncertainty(submodule); + python_containers::wrapXYs1d(submodule); python_containers::wrapXYs2d(submodule); python_containers::wrapGridded2d(submodule); python_containers::wrapFunction2ds(submodule); @@ -82,22 +95,17 @@ void wrapContainers(python::module &module) python_containers::wrapXYs3d(submodule); python_containers::wrapYs1d(submodule); python_containers::wrapGridded3d(submodule); - python_containers::wrapDouble(submodule); python_containers::wrapString(submodule); python_containers::wrapInteger(submodule); python_containers::wrapFraction(submodule); - python_containers::wrapStandard(submodule); - python_containers::wrapLogNormal(submodule); - python_containers::wrapInterval(submodule); - python_containers::wrapConfidenceIntervals(submodule); - python_containers::wrapPdf(submodule); - python_containers::wrapCovariance(submodule); - python_containers::wrapListOfCovariances(submodule); - python_containers::wrapUncertainty(submodule); python_containers::wrapColumn(submodule); python_containers::wrapColumnHeaders(submodule); python_containers::wrapData(submodule); python_containers::wrapTable(submodule); + python_containers::wrapXs_pdf_cdf1d(submodule); + python_containers::wrapXs_in_xs_pdf_cdf1d(submodule); + python_containers::wrapPdf_in_xs_pdf_cdf1d(submodule); + python_containers::wrapCdf_in_xs_pdf_cdf1d(submodule); python_containers::wrapFunction3ds(submodule); python_containers::wrapRegions3d(submodule); }; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp new file mode 100644 index 000000000..19bb4e5d1 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Cdf_in_xs_pdf_cdf1d wrapper +void wrapCdf_in_xs_pdf_cdf1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Cdf_in_xs_pdf_cdf1d; + + // create the component + python::class_ component( + module, + "Cdf_in_xs_pdf_cdf1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Values & + >(), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp index cbe39ed6b..da6298721 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp @@ -38,11 +38,13 @@ void wrapDouble(python::module &module) python::init< const std::optional &, const std::optional &, - const Float64 & + const Float64 &, + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, python::arg("value"), + python::arg("uncertainty") = std::nullopt, Component::documentation("constructor").data() ) .def_property_readonly( @@ -60,6 +62,11 @@ void wrapDouble(python::module &module) [](const Component &self) { return self.value(); }, Component::documentation("value").data() ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) ; // add standard component definitions diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp new file mode 100644 index 000000000..76930079b --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Pdf_in_xs_pdf_cdf1d wrapper +void wrapPdf_in_xs_pdf_cdf1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Pdf_in_xs_pdf_cdf1d; + + // create the component + python::class_ component( + module, + "Pdf_in_xs_pdf_cdf1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Values & + >(), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp index dc497e3ab..012f102af 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp @@ -42,6 +42,7 @@ void wrapPolynomial1d(python::module &module) const Float64 &, const Float64 &, const containers::Axes &, + const std::optional &, const containers::Values & >(), python::arg("label") = std::nullopt, @@ -50,6 +51,7 @@ void wrapPolynomial1d(python::module &module) python::arg("domain_min"), python::arg("domain_max"), python::arg("axes"), + python::arg("uncertainty") = std::nullopt, python::arg("values"), Component::documentation("constructor").data() ) @@ -83,6 +85,11 @@ void wrapPolynomial1d(python::module &module) [](const Component &self) { return self.axes(); }, Component::documentation("axes").data() ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) .def_property_readonly( "values", [](const Component &self) { return self.values(); }, diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp index 608d278b7..a10dd6e24 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp @@ -39,12 +39,14 @@ void wrapRegions1d(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const containers::Function1ds & + const containers::Function1ds &, + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("outer_domain_value") = std::nullopt, python::arg("axes") = std::nullopt, python::arg("function1ds"), + python::arg("uncertainty") = std::nullopt, Component::documentation("constructor").data() ) .def_property_readonly( @@ -67,6 +69,11 @@ void wrapRegions1d(python::module &module) [](const Component &self) { return self.function1ds(); }, Component::documentation("function1ds").data() ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) ; // add standard component definitions diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp index 8c3494866..7e3673a78 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp @@ -39,12 +39,14 @@ void wrapRegions2d(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const containers::Function2ds & + const containers::Function2ds &, + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("outer_domain_value") = std::nullopt, python::arg("axes") = std::nullopt, python::arg("function2ds"), + python::arg("uncertainty") = std::nullopt, Component::documentation("constructor").data() ) .def_property_readonly( @@ -67,6 +69,11 @@ void wrapRegions2d(python::module &module) [](const Component &self) { return self.function2ds(); }, Component::documentation("function2ds").data() ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) ; // add standard component definitions diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp index a6a11db08..deb1cb7b9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp @@ -39,12 +39,14 @@ void wrapRegions3d(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const containers::Function3ds & + const containers::Function3ds &, + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("outer_domain_value") = std::nullopt, python::arg("axes") = std::nullopt, python::arg("function3ds"), + python::arg("uncertainty") = std::nullopt, Component::documentation("constructor").data() ) .def_property_readonly( @@ -67,6 +69,11 @@ void wrapRegions3d(python::module &module) [](const Component &self) { return self.function3ds(); }, Component::documentation("function3ds").data() ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) ; // add standard component definitions diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp index 11375d1c7..bda71830a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp @@ -41,6 +41,7 @@ void wrapXYs1d(python::module &module) const std::optional &, const std::optional &, const std::optional &, + const std::optional &, const containers::Values & >(), python::arg("index") = std::nullopt, @@ -48,6 +49,7 @@ void wrapXYs1d(python::module &module) python::arg("label") = std::nullopt, python::arg("outer_domain_value") = std::nullopt, python::arg("axes") = std::nullopt, + python::arg("uncertainty") = std::nullopt, python::arg("values"), Component::documentation("constructor").data() ) @@ -76,6 +78,11 @@ void wrapXYs1d(python::module &module) [](const Component &self) { return self.axes(); }, Component::documentation("axes").data() ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) .def_property_readonly( "values", [](const Component &self) { return self.values(); }, diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp index bb1af3f86..48d4d1554 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp @@ -41,7 +41,8 @@ void wrapXYs2d(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const containers::Function1ds & + const containers::Function1ds &, + const std::optional & >(), python::arg("index") = std::nullopt, python::arg("interpolation") = std::nullopt, @@ -49,6 +50,7 @@ void wrapXYs2d(python::module &module) python::arg("outer_domain_value") = std::nullopt, python::arg("axes") = std::nullopt, python::arg("function1ds"), + python::arg("uncertainty") = std::nullopt, Component::documentation("constructor").data() ) .def_property_readonly( @@ -81,6 +83,11 @@ void wrapXYs2d(python::module &module) [](const Component &self) { return self.function1ds(); }, Component::documentation("function1ds").data() ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) ; // add standard component definitions diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp index a20099769..25ff26d97 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp @@ -39,12 +39,14 @@ void wrapXYs3d(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const containers::Function2ds & + const containers::Function2ds &, + const std::optional & >(), python::arg("interpolation") = std::nullopt, python::arg("interpolation_qualifier") = std::nullopt, python::arg("axes") = std::nullopt, python::arg("function2ds"), + python::arg("uncertainty") = std::nullopt, Component::documentation("constructor").data() ) .def_property_readonly( @@ -67,6 +69,11 @@ void wrapXYs3d(python::module &module) [](const Component &self) { return self.function2ds(); }, Component::documentation("function2ds").data() ) + .def_property_readonly( + "uncertainty", + [](const Component &self) { return self.uncertainty(); }, + Component::documentation("uncertainty").data() + ) ; // add standard component definitions diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp new file mode 100644 index 000000000..8db770c19 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Xs_in_xs_pdf_cdf1d wrapper +void wrapXs_in_xs_pdf_cdf1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Xs_in_xs_pdf_cdf1d; + + // create the component + python::class_ component( + module, + "Xs_in_xs_pdf_cdf1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const containers::Values & + >(), + python::arg("values"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "values", + [](const Component &self) { return self.values(); }, + Component::documentation("values").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp new file mode 100644 index 000000000..33c83d362 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/containers/Xs_pdf_cdf1d.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_containers { + +// Xs_pdf_cdf1d wrapper +void wrapXs_pdf_cdf1d(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = containers::Xs_pdf_cdf1d; + + // create the component + python::class_ component( + module, + "Xs_pdf_cdf1d", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const unknownNamespace::Xs &, + const containers::Pdf &, + const unknownNamespace::Cdf & + >(), + python::arg("outer_domain_value") = std::nullopt, + python::arg("xs"), + python::arg("pdf"), + python::arg("cdf"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "outer_domain_value", + [](const Component &self) { return self.outerDomainValue(); }, + Component::documentation("outer_domain_value").data() + ) + .def_property_readonly( + "xs", + [](const Component &self) { return self.xs(); }, + Component::documentation("xs").data() + ) + .def_property_readonly( + "pdf", + [](const Component &self) { return self.pdf(); }, + Component::documentation("pdf").data() + ) + .def_property_readonly( + "cdf", + [](const Component &self) { return self.cdf(); }, + Component::documentation("cdf").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_containers +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/src/try/v2.0.hpp b/standards/gnds-2.0/try/src/try/v2.0.hpp index b1323654e..f253232a6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0.hpp @@ -162,6 +162,10 @@ #include "try/v2.0/containers/Legendre.hpp" #include "try/v2.0/containers/Polynomial1d.hpp" #include "try/v2.0/containers/Constant1d.hpp" +#include "try/v2.0/containers/Xs_pdf_cdf1d.hpp" +#include "try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp" +#include "try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp" +#include "try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp" #include "try/v2.0/containers/XYs2d.hpp" #include "try/v2.0/containers/Function1ds.hpp" #include "try/v2.0/containers/XYs3d.hpp" diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp new file mode 100644 index 000000000..a6501a447 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D +#define TRY_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D + +#include "try/v2.0/containers/Values.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Cdf_in_xs_pdf_cdf1d +// ----------------------------------------------------------------------------- + +class Cdf_in_xs_pdf_cdf1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Cdf_in_xs_pdf_cdf1d"; } + static auto FIELD() { return "cdf"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + containers::Values{} + / --Child<>("values") + ; + } + +public: + using Component::construct; + + // children + Field values{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->values) + + // default, and from fields + explicit Cdf_in_xs_pdf_cdf1d( + const wrapper &values = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + values(this,values) + { + Component::finish(); + } + + // from node + explicit Cdf_in_xs_pdf_cdf1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Cdf_in_xs_pdf_cdf1d(const Cdf_in_xs_pdf_cdf1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Cdf_in_xs_pdf_cdf1d(Cdf_in_xs_pdf_cdf1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Cdf_in_xs_pdf_cdf1d &operator=(const Cdf_in_xs_pdf_cdf1d &) = default; + Cdf_in_xs_pdf_cdf1d &operator=(Cdf_in_xs_pdf_cdf1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Cdf_in_xs_pdf_cdf1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp index a08b24b2d..49eaf3a4f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_CONTAINERS_DOUBLE #define TRY_V2_0_CONTAINERS_DOUBLE -#include "try/v2.0/key.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -38,7 +38,10 @@ class Double : public Component { std::optional{} / Meta<>("unit") | Float64{} - / Meta<>("value") + / Meta<>("value") | + // children + std::optional{} + / --Child<>("uncertainty") ; } @@ -50,6 +53,9 @@ class Double : public Component { Field> unit{this}; Field value{this}; + // children + Field> uncertainty{this}; + // ------------------------ // Constructors // ------------------------ @@ -57,18 +63,21 @@ class Double : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->label, \ this->unit, \ - this->value) + this->value, \ + this->uncertainty) // default, and from fields explicit Double( const wrapper> &label = {}, const wrapper> &unit = {}, - const wrapper &value = {} + const wrapper &value = {}, + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), unit(this,unit), - value(this,value) + value(this,value), + uncertainty(this,uncertainty) { Component::finish(); } diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp new file mode 100644 index 000000000..52f48701d --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D +#define TRY_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D + +#include "try/v2.0/containers/Values.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Pdf_in_xs_pdf_cdf1d +// ----------------------------------------------------------------------------- + +class Pdf_in_xs_pdf_cdf1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Pdf_in_xs_pdf_cdf1d"; } + static auto FIELD() { return "pdf"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + containers::Values{} + / --Child<>("values") + ; + } + +public: + using Component::construct; + + // children + Field values{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->values) + + // default, and from fields + explicit Pdf_in_xs_pdf_cdf1d( + const wrapper &values = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + values(this,values) + { + Component::finish(); + } + + // from node + explicit Pdf_in_xs_pdf_cdf1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Pdf_in_xs_pdf_cdf1d(const Pdf_in_xs_pdf_cdf1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Pdf_in_xs_pdf_cdf1d(Pdf_in_xs_pdf_cdf1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Pdf_in_xs_pdf_cdf1d &operator=(const Pdf_in_xs_pdf_cdf1d &) = default; + Pdf_in_xs_pdf_cdf1d &operator=(Pdf_in_xs_pdf_cdf1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Pdf_in_xs_pdf_cdf1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp index fe816a263..73b34bb37 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp @@ -6,6 +6,7 @@ #define TRY_V2_0_CONTAINERS_POLYNOMIAL1D #include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" #include "try/v2.0/containers/Values.hpp" namespace try { @@ -47,6 +48,8 @@ class Polynomial1d : public Component { // children containers::Axes{} / --Child<>("axes") | + std::optional{} + / --Child<>("uncertainty") | containers::Values{} / --Child<>("values") ; @@ -69,6 +72,7 @@ class Polynomial1d : public Component { // children Field axes{this}; + Field> uncertainty{this}; Field values{this}; // ------------------------ @@ -82,6 +86,7 @@ class Polynomial1d : public Component { this->domainMin, \ this->domainMax, \ this->axes, \ + this->uncertainty, \ this->values) // default, and from fields @@ -93,6 +98,7 @@ class Polynomial1d : public Component { const wrapper &domainMin = {}, const wrapper &domainMax = {}, const wrapper &axes = {}, + const wrapper> &uncertainty = {}, const wrapper &values = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -102,6 +108,7 @@ class Polynomial1d : public Component { domainMin(this,domainMin), domainMax(this,domainMax), axes(this,axes), + uncertainty(this,uncertainty), values(this,values) { Component::finish(); diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp index d3605a534..587ab2268 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp @@ -7,6 +7,7 @@ #include "try/v2.0/containers/Axes.hpp" #include "try/v2.0/containers/Function1ds.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -42,7 +43,9 @@ class Regions1d : public Component { std::optional{} / --Child<>("axes") | containers::Function1ds{} - / --Child<>("function1ds") + / --Child<>("function1ds") | + std::optional{} + / --Child<>("uncertainty") ; } @@ -56,6 +59,7 @@ class Regions1d : public Component { // children Field> axes{this}; Field function1ds{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -65,20 +69,23 @@ class Regions1d : public Component { this->label, \ this->outerDomainValue, \ this->axes, \ - this->function1ds) + this->function1ds, \ + this->uncertainty) // default, and from fields explicit Regions1d( const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, - const wrapper &function1ds = {} + const wrapper &function1ds = {}, + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), outerDomainValue(this,outerDomainValue), axes(this,axes), - function1ds(this,function1ds) + function1ds(this,function1ds), + uncertainty(this,uncertainty) { Component::finish(); } diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp index 87733eaf6..48f2ded52 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp @@ -7,6 +7,7 @@ #include "try/v2.0/containers/Axes.hpp" #include "try/v2.0/containers/Function2ds.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -42,7 +43,9 @@ class Regions2d : public Component { std::optional{} / --Child<>("axes") | containers::Function2ds{} - / --Child<>("function2ds") + / --Child<>("function2ds") | + std::optional{} + / --Child<>("uncertainty") ; } @@ -56,6 +59,7 @@ class Regions2d : public Component { // children Field> axes{this}; Field function2ds{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -65,20 +69,23 @@ class Regions2d : public Component { this->label, \ this->outerDomainValue, \ this->axes, \ - this->function2ds) + this->function2ds, \ + this->uncertainty) // default, and from fields explicit Regions2d( const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, - const wrapper &function2ds = {} + const wrapper &function2ds = {}, + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), outerDomainValue(this,outerDomainValue), axes(this,axes), - function2ds(this,function2ds) + function2ds(this,function2ds), + uncertainty(this,uncertainty) { Component::finish(); } diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp index a4378cfc2..f49de6b7e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp @@ -7,6 +7,7 @@ #include "try/v2.0/containers/Axes.hpp" #include "try/v2.0/containers/Function3ds.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -42,7 +43,9 @@ class Regions3d : public Component { std::optional{} / --Child<>("axes") | containers::Function3ds{} - / --Child<>("function3ds") + / --Child<>("function3ds") | + std::optional{} + / --Child<>("uncertainty") ; } @@ -56,6 +59,7 @@ class Regions3d : public Component { // children Field> axes{this}; Field function3ds{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -65,20 +69,23 @@ class Regions3d : public Component { this->label, \ this->outerDomainValue, \ this->axes, \ - this->function3ds) + this->function3ds, \ + this->uncertainty) // default, and from fields explicit Regions3d( const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, - const wrapper &function3ds = {} + const wrapper &function3ds = {}, + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), outerDomainValue(this,outerDomainValue), axes(this,axes), - function3ds(this,function3ds) + function3ds(this,function3ds), + uncertainty(this,uncertainty) { Component::finish(); } diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp index 25d447a53..72f1a1d2b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp @@ -6,6 +6,7 @@ #define TRY_V2_0_CONTAINERS_XYS1D #include "try/v2.0/containers/Axes.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" #include "try/v2.0/containers/Values.hpp" namespace try { @@ -45,6 +46,8 @@ class XYs1d : public Component { // children std::optional{} / --Child<>("axes") | + std::optional{} + / --Child<>("uncertainty") | containers::Values{} / --Child<>("values") ; @@ -66,6 +69,7 @@ class XYs1d : public Component { // children Field> axes{this}; + Field> uncertainty{this}; Field values{this}; // ------------------------ @@ -78,6 +82,7 @@ class XYs1d : public Component { this->label, \ this->outerDomainValue, \ this->axes, \ + this->uncertainty, \ this->values) // default, and from fields @@ -88,6 +93,7 @@ class XYs1d : public Component { const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, + const wrapper> &uncertainty = {}, const wrapper &values = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -96,6 +102,7 @@ class XYs1d : public Component { label(this,label), outerDomainValue(this,outerDomainValue), axes(this,axes), + uncertainty(this,uncertainty), values(this,values) { Component::finish(); diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp index 9fd2a521a..ed2c6c3e2 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp @@ -7,6 +7,7 @@ #include "try/v2.0/containers/Axes.hpp" #include "try/v2.0/containers/Function1ds.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -46,7 +47,9 @@ class XYs2d : public Component { std::optional{} / --Child<>("axes") | containers::Function1ds{} - / --Child<>("function1ds") + / --Child<>("function1ds") | + std::optional{} + / --Child<>("uncertainty") ; } @@ -67,6 +70,7 @@ class XYs2d : public Component { // children Field> axes{this}; Field function1ds{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -78,7 +82,8 @@ class XYs2d : public Component { this->interpolationQualifier, \ this->outerDomainValue, \ this->axes, \ - this->function1ds) + this->function1ds, \ + this->uncertainty) // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) @@ -88,7 +93,8 @@ class XYs2d : public Component { const wrapper> &interpolationQualifier = {}, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, - const wrapper &function1ds = {} + const wrapper &function1ds = {}, + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), index(this,index), @@ -96,7 +102,8 @@ class XYs2d : public Component { interpolationQualifier(this,interpolationQualifier), outerDomainValue(this,outerDomainValue), axes(this,axes), - function1ds(this,function1ds) + function1ds(this,function1ds), + uncertainty(this,uncertainty) { Component::finish(); } diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp index fafe78613..11403b0b1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp @@ -7,6 +7,7 @@ #include "try/v2.0/containers/Axes.hpp" #include "try/v2.0/containers/Function2ds.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -42,7 +43,9 @@ class XYs3d : public Component { std::optional{} / --Child<>("axes") | containers::Function2ds{} - / --Child<>("function2ds") + / --Child<>("function2ds") | + std::optional{} + / --Child<>("uncertainty") ; } @@ -61,6 +64,7 @@ class XYs3d : public Component { // children Field> axes{this}; Field function2ds{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -70,7 +74,8 @@ class XYs3d : public Component { this->interpolation, \ this->interpolationQualifier, \ this->axes, \ - this->function2ds) + this->function2ds, \ + this->uncertainty) // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) @@ -78,13 +83,15 @@ class XYs3d : public Component { const wrapper> &interpolation = {}, const wrapper> &interpolationQualifier = {}, const wrapper> &axes = {}, - const wrapper &function2ds = {} + const wrapper &function2ds = {}, + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), interpolation(this,defaults.interpolation,interpolation), interpolationQualifier(this,interpolationQualifier), axes(this,axes), - function2ds(this,function2ds) + function2ds(this,function2ds), + uncertainty(this,uncertainty) { Component::finish(); } diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp new file mode 100644 index 000000000..13759b0cf --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp @@ -0,0 +1,106 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D +#define TRY_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D + +#include "try/v2.0/containers/Values.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Xs_in_xs_pdf_cdf1d +// ----------------------------------------------------------------------------- + +class Xs_in_xs_pdf_cdf1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Xs_in_xs_pdf_cdf1d"; } + static auto FIELD() { return "xs"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + containers::Values{} + / --Child<>("values") + ; + } + +public: + using Component::construct; + + // children + Field values{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->values) + + // default, and from fields + explicit Xs_in_xs_pdf_cdf1d( + const wrapper &values = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + values(this,values) + { + Component::finish(); + } + + // from node + explicit Xs_in_xs_pdf_cdf1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Xs_in_xs_pdf_cdf1d(const Xs_in_xs_pdf_cdf1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Xs_in_xs_pdf_cdf1d(Xs_in_xs_pdf_cdf1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Xs_in_xs_pdf_cdf1d &operator=(const Xs_in_xs_pdf_cdf1d &) = default; + Xs_in_xs_pdf_cdf1d &operator=(Xs_in_xs_pdf_cdf1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Xs_in_xs_pdf_cdf1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp new file mode 100644 index 000000000..3aa1d1941 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp @@ -0,0 +1,129 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_CONTAINERS_XS_PDF_CDF1D +#define TRY_V2_0_CONTAINERS_XS_PDF_CDF1D + +#include "try/v2.0/unknownNamespace/Xs.hpp" +#include "try/v2.0/containers/Pdf.hpp" +#include "try/v2.0/unknownNamespace/Cdf.hpp" + +namespace try { +namespace v2_0 { +namespace containers { + +// ----------------------------------------------------------------------------- +// containers:: +// class Xs_pdf_cdf1d +// ----------------------------------------------------------------------------- + +class Xs_pdf_cdf1d : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "containers"; } + static auto CLASS() { return "Xs_pdf_cdf1d"; } + static auto FIELD() { return "xs_pdf_cdf1d"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("outerDomainValue") | + // children + unknownNamespace::Xs{} + / --Child<>("xs") | + containers::Pdf{} + / --Child<>("pdf") | + unknownNamespace::Cdf{} + / --Child<>("cdf") + ; + } + +public: + using Component::construct; + + // metadata + Field> outerDomainValue{this}; + + // children + Field xs{this}; + Field pdf{this}; + Field cdf{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->outerDomainValue, \ + this->xs, \ + this->pdf, \ + this->cdf) + + // default, and from fields + explicit Xs_pdf_cdf1d( + const wrapper> &outerDomainValue = {}, + const wrapper &xs = {}, + const wrapper &pdf = {}, + const wrapper &cdf = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + outerDomainValue(this,outerDomainValue), + xs(this,xs), + pdf(this,pdf), + cdf(this,cdf) + { + Component::finish(); + } + + // from node + explicit Xs_pdf_cdf1d(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Xs_pdf_cdf1d(const Xs_pdf_cdf1d &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Xs_pdf_cdf1d(Xs_pdf_cdf1d &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Xs_pdf_cdf1d &operator=(const Xs_pdf_cdf1d &) = default; + Xs_pdf_cdf1d &operator=(Xs_pdf_cdf1d &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Xs_pdf_cdf1d + +} // namespace containers +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/key.hpp b/standards/gnds-2.0/try/src/try/v2.0/key.hpp index 4d1600980..652f796ce 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/key.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/key.hpp @@ -227,6 +227,7 @@ inline const Child<> Ys1d("Ys1d"); inline const Child<> array("array"); inline const Child<> axes("axes"); inline const Child<> axis("axis"); +inline const Child<> cdf("cdf"); inline const Child<> column("column"); inline const Child<> columnHeaders("columnHeaders"); inline const Child<> confidenceIntervals("confidenceIntervals"); @@ -256,6 +257,8 @@ inline const Child<> string("string"); inline const Child<> table("table"); inline const Child<> uncertainty("uncertainty"); inline const Child<> values("values"); +inline const Child<> xs("xs"); +inline const Child<> xs_pdf_cdf1d("xs_pdf_cdf1d"); } // namespace child using namespace child; From 72c864679be9f768e612f9b8ae5b44a4a7364320 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 30 Aug 2022 16:31:29 -0600 Subject: [PATCH 173/235] Changes to handle certain spec "default" values properly. --- autogen/json2class.cpp | 6 ++++-- standards/gnds-2.0/changes.json | 5 +++++ .../src/v2.0/containers/Array.python.cpp | 6 +++--- .../try/src/try/v2.0/containers/Array.hpp | 21 ++++++++----------- 4 files changed, 21 insertions(+), 17 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index bc0b5f205..4f0e2b4ff 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -61,7 +61,7 @@ struct InfoMetadata { // An individual metadatum may be a vector in its own right, as in an XML // construct such as (so that meta is a vector of // integers). We mean here that there isn't a vector of such [meta] entries, - // and shouldn't be (XML wouldn't allow it). + // and there shouldn't be (XML wouldn't allow it). std::string name; std::string type; // underlying type std::string typeFull; // WITH any optional<> or defaulted<> @@ -178,10 +178,12 @@ struct InfoSpecs { // Example: "double" (GNDS v1.9 actually has "double") to "Double" for C++. std::map mapName; - // Changes to apply to metadata/attribute type and default. + // Changes to apply to metadata/attribute type. // Examples: "Boolean" to "bool", "interpolation" to "enums::Interpolation". // We'll give a string ==> std::string type change as a freebie. :-) std::map mapMetaType = {{"string","std::string"}}; + + // Changes to apply to metadata/attribute default. std::map mapMetaDefault; // For each class in the input JSON specifications, the namespace(s) diff --git a/standards/gnds-2.0/changes.json b/standards/gnds-2.0/changes.json index b55ef7085..46579db26 100644 --- a/standards/gnds-2.0/changes.json +++ b/standards/gnds-2.0/changes.json @@ -32,6 +32,11 @@ "// Change json spec's 'default' to a valid GNDStk value" : "", "default" : { + "// values that really mean: no default" : "", + "`' (i.e. unitless)": "", + "`' (no label)": "", + "`none'": "", + "// json spec corrections" : "", "\\\\attr{lin-lin}" : "enums::Interpolation::linlin", diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp index 050282df5..ddba7031c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp @@ -62,17 +62,17 @@ void wrapArray(python::module &module) ) .def_property_readonly( "compression", - [](const Component &self) { return self.compression().value(); }, + [](const Component &self) { return self.compression(); }, Component::documentation("compression").data() ) .def_property_readonly( "symmetry", - [](const Component &self) { return self.symmetry().value(); }, + [](const Component &self) { return self.symmetry(); }, Component::documentation("symmetry").data() ) .def_property_readonly( "permutation", - [](const Component &self) { return self.permutation().value(); }, + [](const Component &self) { return self.permutation(); }, Component::documentation("permutation").data() ) .def_property_readonly( diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp index c932863a0..577753142 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp @@ -35,11 +35,11 @@ class Array : public Component { // metadata IntegerTuple{} / Meta<>("shape") | - Defaulted{"`none'"} + std::optional{} / Meta<>("compression") | - Defaulted{"`none'"} + std::optional{} / Meta<>("symmetry") | - Defaulted{"`none'"} + std::optional{} / Meta<>("permutation") | Defaulted{"row-major"} / Meta<>("storageOrder") | @@ -58,17 +58,14 @@ class Array : public Component { // defaults static inline const struct Defaults { - static inline const UTF8Text compression = "`none'"; - static inline const UTF8Text symmetry = "`none'"; - static inline const UTF8Text permutation = "`none'"; static inline const UTF8Text storageOrder = "row-major"; } defaults; // metadata Field shape{this}; - Field> compression{this,defaults.compression}; - Field> symmetry{this,defaults.symmetry}; - Field> permutation{this,defaults.permutation}; + Field> compression{this}; + Field> symmetry{this}; + Field> permutation{this}; Field> storageOrder{this,defaults.storageOrder}; Field> offset{this}; @@ -104,9 +101,9 @@ class Array : public Component { ) : GNDSTK_COMPONENT(BlockData{}), shape(this,shape), - compression(this,defaults.compression,compression), - symmetry(this,defaults.symmetry,symmetry), - permutation(this,defaults.permutation,permutation), + compression(this,compression), + symmetry(this,symmetry), + permutation(this,permutation), storageOrder(this,defaults.storageOrder,storageOrder), offset(this,offset), values(this,values), From 38a1d2629bf5aa0ca160a3f211c18aa995142295 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 30 Aug 2022 19:19:18 -0600 Subject: [PATCH 174/235] Typo fix + code generation: covarianc ==> covariance --- standards/gnds-2.0/summary_covariance.json | 2 +- .../try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp | 2 +- standards/gnds-2.0/try/src/try/v2.0/key.hpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/standards/gnds-2.0/summary_covariance.json b/standards/gnds-2.0/summary_covariance.json index bb1592512..b8b3a198b 100644 --- a/standards/gnds-2.0/summary_covariance.json +++ b/standards/gnds-2.0/summary_covariance.json @@ -433,7 +433,7 @@ " \\item[absoluteCovariance:] the parameters covariance matrix data is given absolute. ", " \\item[relative:] the parameter covariance matrix data are given relative to the parameters.", "\\end{description}" ], - "name": "parameterCovariancMatrix", + "name": "parameterCovarianceMatrix", "required": false, "rootNode": false }, diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp index 1b6543452..d79552595 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp @@ -27,7 +27,7 @@ class ParameterCovarianceMatrix : public Component covarianceSection("covarianceSection"); inline const Child<> covarianceSections("covarianceSections"); inline const Child<> covarianceSuite("covarianceSuite"); inline const Child<> mixed("mixed"); -inline const Child<> parameterCovariancMatrix("parameterCovariancMatrix"); inline const Child<> parameterCovariance("parameterCovariance"); +inline const Child<> parameterCovarianceMatrix("parameterCovarianceMatrix"); inline const Child<> parameterCovariances("parameterCovariances"); inline const Child<> parameterLink("parameterLink"); inline const Child<> parameters("parameters"); From 781b492830b5a2035ced7b337ae3fcf8e3c198a3 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 31 Aug 2022 12:28:30 -0600 Subject: [PATCH 175/235] Update summary_common.json, per oecd-nea master. Abstract node physicalQuantity contents placed directly into certain nodes. The code generator doesn't do this automatically yet. Added back certain nodes like "uncertainty". Work in progress. We plan to fix the circular-definitions issue. --- standards/gnds-2.0/.gitignore | 1 + standards/gnds-2.0/summary_common.json | 110 +++++++++++++++++++++++-- 2 files changed, 102 insertions(+), 9 deletions(-) create mode 100644 standards/gnds-2.0/.gitignore diff --git a/standards/gnds-2.0/.gitignore b/standards/gnds-2.0/.gitignore new file mode 100644 index 000000000..321656c44 --- /dev/null +++ b/standards/gnds-2.0/.gitignore @@ -0,0 +1 @@ +json2class.exe diff --git a/standards/gnds-2.0/summary_common.json b/standards/gnds-2.0/summary_common.json index 952468fc2..0ac47bf3a 100644 --- a/standards/gnds-2.0/summary_common.json +++ b/standards/gnds-2.0/summary_common.json @@ -2,11 +2,39 @@ "__namespace__":"common", "Q":{ "__class__": "nodes.Node", - "abstractNode": "physicalQuantityNode", - "attributes": {}, + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": null, + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "name": "value", + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childUnique":"yesLabel", "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "constant1d": { "__class__": "nodes.ChildNode", "description": null, @@ -119,10 +147,34 @@ }, "mass":{ "__class__": "nodes.Node", - "abstractNode": "physicalQuantityNode", - "attributes": {}, + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": false, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "double": { "__class__": "nodes.ChildNode", "description": null, @@ -138,10 +190,34 @@ }, "energy":{ "__class__": "nodes.Node", - "abstractNode": "physicalQuantityNode", - "attributes": {}, + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": false, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "double": { "__class__": "nodes.ChildNode", "description": null, @@ -176,8 +252,13 @@ }, "temperature":{ "__class__": "nodes.Node", - "abstractNode": "physicalQuantityNode", + "abstractNode": "physicalQuantity", "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "unit": { "__class__": "nodes.Attribute", "default": null, @@ -196,7 +277,16 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + } + }, "description": null, "name": "temperature", "required": false, @@ -216,7 +306,9 @@ "required": true } }, - "description": "The \\texttt{externalFiles} node is used to link data from multiple GNDS files. The most common use is to establish the link between a \\texttt{reactionSuite} file and one or more corresponding \\texttt{covarianceSuite} files. ", + "description": [ + "The \\element{externalFiles} node is a suite that stores a list of \\element{externalFile} nodes. ", + "An \\element{externalFile} node establishes the link between a \\element{reactionSuite} file and one or more corresponding \\element{covarianceSuite} files. "], "name": "externalFiles", "required": false, "rootNode": false From 06b752bca5d315c6218d8b19c488bce2552ce093 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 31 Aug 2022 12:36:38 -0600 Subject: [PATCH 176/235] Update summary_transport.json, per oecd-nea master. Abstract node contents added where necessary. --- standards/gnds-2.0/summary_transport.json | 38 ++++++++++++++++------- 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json index 0c4b379df..79316ddb5 100644 --- a/standards/gnds-2.0/summary_transport.json +++ b/standards/gnds-2.0/summary_transport.json @@ -87,7 +87,7 @@ }, "reactions": { "__class__": "nodes.ChildNode", - "description": "List of all reactions.", + "description": "List of all exclusive reaction nodes. The sum of the cross sections from each reaction must sum to the total cross section for neutral incident particles.", "name": "reactions", "occurrence": "1", "required": false @@ -256,7 +256,10 @@ "required": false } }, - "description": "The \\element{sums} node contains cross sections that are summations over two or more reaction cross sections, and also multiplicities that are summations over two or more reaction product multiplicities.", + "description": [ + "The \\element{sums} node contains two child nodes: ", + "cross section nodes, which are summations over two or more reaction cross sections, and ", + "multiplicities, which are summations over two or more reaction product multiplicities."], "name": "sums", "required": false, "rootNode": false @@ -333,8 +336,14 @@ }, "crossSection":{ "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, + "abstractNode": "label", + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, "bodyText": null, "childUnique" : "yesLabel", "childNodes": { @@ -402,7 +411,12 @@ "required": false } }, - "description": "The effective target area for a particular reaction or reaction-like quantity on a given target, $\\sigma(E)$. Child elements of a \\element{crossSection} are the various representations of the cross section. At least one element that describes the dependance of the cross section as a function of energy is required and that one contains the \\attr{representation}=\\attrval{eval} attribute.", + "description": [ + "The effective target area for a particular reaction or reaction-like quantity on a given target, ", + "$\\sigma(E)$. Child elements of a \\element{crossSection} correspond to various representations of ", + "the cross section. At least one element that describes the dependance of the cross section as a ", + "function of energy is required. For evaluated files, one element must contain the \\attr{label}=\\attrval{eval} attribute." + ], "name": "crossSection", "required": false, "rootNode": false @@ -1391,7 +1405,7 @@ "required": true } }, - "description": "A valid $P(\\mu,E'|E)$ represented with either a \\XYsThreeD\\ or \\regionsThreeD\\ functional data container. A \\regionsThreeD\\ must contain one or more \\XYsThreeD. Each \\XYsThreeD\\ must contain a list of \\XYsTwoD and/or \\regionsTwoD\\ functional data container. A \\regionsTwoD\\ must contain one or more \\XYsTwoD. Each \\XYsTwoD must contain a list of \\XYsOneD\\ and/or \\regionsOneD\\ functional data container. Each \\regionsOneD\\ must contain one or more \\XYsOneD\\ functional data container.", + "description": "A valid $P(\\mu,E'|E)$ represented with either a \\XYsThreeD\\ or \\regionsThreeD\\ functional data container. A \\regionsThreeD\\ must contain one or more \\XYsThreeD. Each \\XYsThreeD\\ must contain a list of \\XYsTwoD\\ and/or \\regionsTwoD\\ functional data container. A \\regionsTwoD\\ must contain one or more \\XYsTwoD. Each \\XYsTwoD\\ must contain a list of \\XYsOneD\\ and/or \\regionsOneD\\ functional data container. Each \\regionsOneD\\ must contain one or more \\XYsOneD\\ functional data container.", "name": "angularEnergy", "required": false, "rootNode": false @@ -1490,7 +1504,7 @@ "It corresponds to ENDF's File 6, LAW=2 and is very similar to ENDF's File~4.", "Since the energy of a particle emitted", "with a particular scattering cosine $\\mathrm{\\mu}$ is determined by", - "kinematics, it is only necessary to give:", + "kinematics, it is only necessary to specify the angular distribution which is easiest to do using Legendre polynomials:", "\\begin{eqnarray}", " p_i (\\mu ,E) &=& \\int {dE' \\; f_i (\\mu ,E,E')} \\nonumber \\\\", " &=& \\frac{1}{2} + \\sum_{l = 1}^{\\rm NL} {\\frac{{2l + 1}}{2} \\; a_l (E) \\; P_l (\\mu),}", @@ -1547,7 +1561,7 @@ }, "recoil":{ "__class__": "nodes.Node", - "abstractNode": "distributionNode", + "abstractNode": "link", "attributes": { "href": { "__class__": "nodes.Attribute", @@ -1929,8 +1943,8 @@ "description": [ "A \\elemlink{production} node defines a single production reaction.", "Like the \\elemlink{reaction} it contains a cross section and an outputChannel.", - "Unlike a \\elemlink{reaction}, the \\elemlink{production} does not support", - "differentiating between different ways of getting to the same residual. For example,", + "Unlike a \\elemlink{reaction}, the \\elemlink{production} does not force the evaluator to", + "differentiate between different ways of getting to the same residual. For example,", "the `n,d' `n,n+p' and `n,p+n' reactions all end up at the same residual. Inside the", "\\elemlink{reactions} section, evaluators may choose to store each one separately.", "In the \\elemlink{productions} section the three methods can be combined into a single", @@ -1955,7 +1969,7 @@ } }, "description": [ - "Production reactions are used for inventory applications (such as dosimetry, decay heat, activity, etc.) ", + "Production reactions are used for inventory applications (such as dosimetry, decay heat, and activity) ", "and for calculating the amount of ", "material accreted and/or depleted during radiation exposure." ], @@ -1981,7 +1995,7 @@ "The \\element{incompleteReactions} section allows evaluators to include information about reactions ", "without providing complete information. For example, some sub-actinide fission reaction cross sections ", "may be included as only a total fission cross section. This allows simulations to account for the ", "reaction while not considering all of the reaction process (e.g. neutron production and fission ", - "products) or allows the evaluator to provide unused, informative data. It is strongly recommended that", + "products) or allows the evaluator to provide other information. It is strongly recommended that", "this be used only in cases where the reaction cross sections are negligible. " ], "name": "incompleteReactions", From 4ddd08d8139c72f3bbfaedde183d55fa773de2b4 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 31 Aug 2022 12:39:58 -0600 Subject: [PATCH 177/235] Update summary_styles.json, per oecd-nea master. Abstract node contents added where necessary. Child nodes e.g. documentation and uncertainty added. --- standards/gnds-2.0/summary_styles.json | 234 +++++++++++++++++++------ 1 file changed, 176 insertions(+), 58 deletions(-) diff --git a/standards/gnds-2.0/summary_styles.json b/standards/gnds-2.0/summary_styles.json index 7841975a3..77cd475ff 100644 --- a/standards/gnds-2.0/summary_styles.json +++ b/standards/gnds-2.0/summary_styles.json @@ -27,6 +27,13 @@ "occurrence": "1+", "required": false }, + "CoulombPlusNuclearElasticMuCutoff": { + "__class__": "nodes.ChildNode", + "description": "Style for Coulomb elastic scattering, avoiding divergence at small scattering angles.", + "name": "CoulombPlusNuclearElasticMuCutoff", + "occurrence": "1+", + "required": false + }, "heated": { "__class__": "nodes.ChildNode", "description": "Style for cross sections that have been Doppler broadened to account for thermal motion in the target.", @@ -95,7 +102,7 @@ "evaluated":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -108,7 +115,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -116,7 +123,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from. For example, multi-group data are often derived from a \\element{heated} style.", + "description": "The style that the data associated with this style were derived from. For example, multi-group data are often derived from a \\element{heated} style.", "name": "derivedFrom", "required": false, "type": "XMLName" @@ -180,8 +187,13 @@ "projectileEnergyDomain":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "max": { "__class__": "nodes.Attribute", "default": null, @@ -219,8 +231,14 @@ }, "temperature":{ "__class__": "nodes.Node", - "abstractNode": "PhysicalQuantity", + "abstractNode": "physicalQuantity", "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "required": false, + "type": "XMLName" + }, "value": { "__class__": "nodes.Attribute", "default": null, @@ -239,7 +257,22 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation specific to the physical quantity.", + "name": "documentation", + "occurrence": "1", + "required": false + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "The \\elemlink{uncertainty} node.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, "description": [ "Specifies the average temperature of the target. In general the `evaluated' style has a temperature of `0 K', while derived data", "are Doppler broadened to higher temperature." @@ -251,7 +284,7 @@ "crossSectionReconstructed":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -303,7 +336,7 @@ "angularDistributionReconstructed":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -355,7 +388,7 @@ "CoulombPlusNuclearElasticMuCutoff":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -368,7 +401,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -376,7 +409,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -391,7 +424,15 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, "description": [ "For Coulomb interactions the cross section is infinite due to a singularity at $\\mu = 1.0$.", "Because of this, a cross section for Coulomb interactions only represents the integral of the $d\\sigma(E,\\mu)/d\\mu$ from $\\mu = -1.0$ to \\attrval{muCutoff}." @@ -403,7 +444,7 @@ "heated":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -416,7 +457,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -424,7 +465,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -455,7 +496,7 @@ "averageProductData":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -507,7 +548,7 @@ "MonteCarlo_cdf":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -520,7 +561,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -528,7 +569,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -555,7 +596,7 @@ "griddedCrossSection":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -568,7 +609,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -576,7 +617,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -599,7 +640,12 @@ "required": false } }, - "description": "This style signifies that cross section data have been put on a common energy grid as used in Monte Carlo transport. The grid is given in the \\element{grid} child node.", + "description": [ + "This style signifies that cross section data have been put on a common energy grid as used in Monte Carlo transport. ", + "The grid is given in the \\element{grid} child node. ", + "Each \\element{griddedCrossSection} node represents the reaction data for one temperature. ", + "The temperature is specified by a \\element{heated} style which must be in the \\element{derivedFrom} lineage."] + , "name": "griddedCrossSection", "required": false, "rootNode": false @@ -607,7 +653,7 @@ "heatedMultiGroup":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -620,7 +666,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -628,7 +674,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -656,6 +702,13 @@ "name": "inverseSpeed", "occurrence": "1", "required": true + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false } }, "description": [ @@ -670,8 +723,14 @@ "transportables":{ "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, + "abstractNode": "label", + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { "transportable": { @@ -690,7 +749,7 @@ "transportable":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "conserve": { "__class__": "nodes.Attribute", @@ -727,7 +786,7 @@ "multiGroup":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "label": { "__class__": "nodes.Attribute", @@ -756,7 +815,7 @@ "flux":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "label": { "__class__": "nodes.Attribute", @@ -788,8 +847,14 @@ "inverseSpeed":{ "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, + "abstractNode": "label", + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { "gridded1d": { @@ -808,7 +873,7 @@ "SnElasticUpScatter":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -821,7 +886,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -829,7 +894,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -844,7 +909,15 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, "description": "Like style \\element{heatedMultiGroup} but with an upscatter correction included for elastic scattering.", "name": "SnElasticUpScatter", "required": false, @@ -853,7 +926,7 @@ "URR_probabilityTables":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -866,7 +939,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -874,14 +947,22 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, "description": "Indicates that cross section probability tables ($P(\\sigma | E)$) were generated for use in Monte Carlo transport.", "name": "URR_probabilityTables", "required": false, @@ -890,7 +971,7 @@ "Bondarenko":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -903,7 +984,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -911,7 +992,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -925,6 +1006,13 @@ "name": "sigmaZeros", "occurrence": "1", "required": true + }, + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false } }, "description": "Data style for Bondarenko self-shielding factors for deterministic transport.", @@ -934,8 +1022,14 @@ }, "sigmaZeros":{ "__class__": "nodes.Node", - "abstractNode": null, - "attributes": {}, + "abstractNode": "label", + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { "values": { @@ -954,7 +1048,7 @@ "multiBand":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -967,7 +1061,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -975,7 +1069,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -990,7 +1084,15 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, "description": "Data style for a proposed alternative to Bondarenko factors for self-shielding in deterministic transport.", "name": "multiBand", "required": false, @@ -999,7 +1101,7 @@ "equalProbableBins":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -1012,7 +1114,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -1020,7 +1122,7 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" @@ -1035,7 +1137,15 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, "description": "Style for distributions that have been converted to equal-probable bins for faster Monte Carlo sampling.", "name": "equalProbableBins", "required": false, @@ -1044,7 +1154,7 @@ "realization":{ "__class__": "nodes.Node", - "abstractNode": null, + "abstractNode": "label", "attributes": { "date": { "__class__": "nodes.Attribute", @@ -1057,7 +1167,7 @@ "derivedFrom": { "__class__": "nodes.Attribute", "default": null, - "description": "The style that the data assoicated with this style were derived from.", + "description": "The style that the data associated with this style were derived from.", "name": "derivedFrom", "required": true, "type": "XMLName" @@ -1065,14 +1175,22 @@ "label": { "__class__": "nodes.Attribute", "default": null, - "description": "A string identifier for the style and all data assoicated with it. The identifier must be unique among all the styles.", + "description": "A string identifier for the style and all data associated with it. The identifier must be unique among all the styles.", "name": "label", "required": true, "type": "XMLName" } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "__class__": "nodes.ChildNode", + "description": "Documentation for the style.", + "name": "documentation", + "occurrence": "1", + "required": false + } + }, "description": "Style indicating that data were generated by randomly sampling from a covariance matrix, e.g. for uncertainty quantification.", "name": "realization", "required": false, From 997845b1fa77b1cd06712e3925c9ed69b9cf0bfb Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 31 Aug 2022 13:06:47 -0600 Subject: [PATCH 178/235] Updating a couple more JSON files, per the latest on oecd-nea. Abstract node contents added where necessary. Documentation and uncertainty nodes added where necessary. --- standards/gnds-2.0/summary_documentation.json | 484 +++++++++++++++++- standards/gnds-2.0/summary_gpdc.json | 478 ++++++++++++++++- 2 files changed, 922 insertions(+), 40 deletions(-) diff --git a/standards/gnds-2.0/summary_documentation.json b/standards/gnds-2.0/summary_documentation.json index 432856238..5ae1b4d6b 100644 --- a/standards/gnds-2.0/summary_documentation.json +++ b/standards/gnds-2.0/summary_documentation.json @@ -95,6 +95,27 @@ "occurrence": "1", "required": false }, + "title": { + "__class__": "nodes.ChildNode", + "description": "The title of the evaluation", + "name": "title", + "occurrence": "1", + "required": true + }, + "abstract": { + "__class__": "nodes.ChildNode", + "description": "An abstract summarizing the evaluation", + "name": "abstract", + "occurrence": "1", + "required": false + }, + "body": { + "__class__": "nodes.ChildNode", + "description": "The main body of text describing the evaluation. For translated ENDF-6 data, the entire MF1/MT451 text goes here.", + "name": "body", + "occurrence": "1", + "required": true + }, "computerCodes": { "__class__": "nodes.ChildNode", "description": "The list of programs used to perform this evaluation", @@ -115,6 +136,13 @@ "name": "bibliography", "occurrence": "1", "required": false + }, + "endfCompatible": { + "__class__": "nodes.ChildNode", + "description": "Documentation restricted to plain ascii with 66 characters per line, for backwards compatibility with ENDF-6.", + "name": "endfCompatible", + "occurrence": "1", + "required": false } }, "description": null, @@ -151,11 +179,11 @@ "required": true, "type": "UTF8Text" }, - "orcid_id": { + "orcid": { "__class__": "nodes.Attribute", "default": null, "description": "The author's 16-digit ORCID ID number.", - "name": "orcid_id", + "name": "orcid", "required": false, "type": "UTF8Text" }, @@ -172,10 +200,17 @@ "childNodes": { "affiliations": { "__class__": "nodes.ChildNode", - "description": "Institutional affilation(s) of the author", + "description": "Institutional affiliation(s) of the author", "name": "affiliations", "occurrence": "1", "required": false + }, + "note": { + "__class__": "nodes.ChildNode", + "description": "Any special note pertaining to the author", + "name": "note", + "occurrence": "1", + "required": false } }, "description": null, @@ -220,11 +255,11 @@ "required": true, "type": "contributorType" }, - "orcid_id": { + "orcid": { "__class__": "nodes.Attribute", "default": null, "description": "The contributor's 16-digit ORCID ID number.", - "name": "orcid_id", + "name": "orcid", "required": false, "type": "UTF8Text" }, @@ -241,10 +276,17 @@ "childNodes": { "affiliations": { "__class__": "nodes.ChildNode", - "description": "Institutional affilation(s) of the contributor", + "description": "Institutional affiliation(s) of the contributor", "name": "affiliations", "occurrence": "1", "required": false + }, + "note": { + "__class__": "nodes.ChildNode", + "description": "Any special note pertaining to the contributor", + "name": "note", + "occurrence": "1", + "required": false } }, "description": null, @@ -372,18 +414,119 @@ "name": "dateType", "required": true, "type": "dateType" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The evaluation date in the form specified in section~\\ref{format:basic:date}. Date ranges are not supported.", + "name": "value", + "required": true, + "type": "date" } }, - "bodyText": "The evaluation date in the form specified in section~\\ref{format:basic:date}. Date ranges are not supported.", + "bodyText": null, "childNodes": {}, "description": "An important date in the development of the current evaluation.", "name": "date", "rootNode": false }, + "title": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": "Use this markup to provide the title of the evaluation/document.", + "name": "title", + "rootNode": false + }, + "abstract": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": "If needed, use this markup to provide a short summary of the documentation.", + "name": "abstract", + "rootNode": false + }, + "body": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": "Use this markup for the main text of the documentation. An ENDF-6's entire MF1/MT451 file is equivalent to this element.", + "name": "body", + "rootNode": false + }, "copyright": { "__class__": "nodes.Node", "abstractNode": "text", "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "href": { "__class__": "nodes.Attribute", "default": null, @@ -393,12 +536,45 @@ "type": "UTF8Text" } }, - "bodyText": null, + "bodyText": "", "childNodes": {}, "description": "The \\element{copyright} element provides a way for evaluators to add or link to a copyright statement for the (partial) evaluation.", "name": "copyright", "rootNode": false }, + "version": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": [ + "Used to state the version of a document or code using whatever markup is appropriate.", + "Usually versions are simple numbers (e.g. subversion revision numbers),", + "but they can be much more complex (MacOS Sierra for instance). Given this, a", + "\\element{text} low level container is used to store the version information itself.", + "When used at the \\element{documentation} level, it refers to the version of the evaluation", + "and is thus equivalent to ENDF-6's NMOD flag." + ], + "name": "version", + "rootNode": false + }, "acknowledgements": { "__class__": "nodes.Node", "abstractNode": null, @@ -421,6 +597,21 @@ "__class__": "nodes.Node", "abstractNode": "text", "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "type": { "__class__": "nodes.Attribute", "default": null, @@ -430,7 +621,7 @@ "type": "XMLName" } }, - "bodyText": null, + "bodyText": "", "childNodes": {}, "description": [ "This element allows one to acknowledge contributions of some other sort (e.g. funding) not otherwise covered.", @@ -496,15 +687,15 @@ "__class__": "nodes.Node", "description": [ - "Both the American Physical Society and the National Nuclear Data Center use keywording systems to categorize documents. ", + "Both the American Physical Society and the National Nuclear Data Center use keywording systems to categorise documents. ", "The \\element{keywords} element allows us to collect these keywords together. \n\n", "The National Nuclear Data Center uses the Nuclear Science References (NSR) keywording system. ", "The American Physical Society's Physics and Astronomy Classification Scheme (PACS) system is another keywording ", - "system for categorizing documents. ", + "system for categorising documents. ", "The APS has stated that this keyword system is obsolete and will be replaced with the Physics Subject Headings (PhySH)", "system~\\cite{PhySH}.\\footnote{For more information, see \\url{https://journals.aps.org/PACS} and ", - "\\url{https://journals.aps.org/authors/physh}.} We note that it is unlikely that older papers will be recoded or that", - "older papers will have their PACS codes removed. Therefore we expect that the present markup will be relevant for ", + "\\url{https://journals.aps.org/authors/physh}.} Note that it is unlikely that older papers will be recoded or that", + "older papers will have their PACS codes removed. Therefore one expects that the present markup will be relevant for ", "the forseeable future." ], "name": "keywords", @@ -527,6 +718,21 @@ "description": "A NSR, PACS or PhySH keyword associated with this evaluation", "name": "keyword", "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "type": { "__class__": "nodes.Attribute", "default": null, @@ -536,6 +742,7 @@ "type": "XMLName" } }, + "bodyText": "", "childNodes": {}, "occurrence": "1", "required": false @@ -562,6 +769,11 @@ "__class__": "nodes.Node", "abstractNode": "label", "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "name": { "__class__": "nodes.Attribute", "default": null, @@ -586,6 +798,15 @@ }, "bodyText": null, "childNodes": { + "executionArguments": { + "__class__": "nodes.ChildNode", + "description": [ + "The command line arguments used when invoking this code." + ], + "name": "executionArguments", + "occurrence": "1", + "required": false + }, "codeRepo": { "__class__": "nodes.ChildNode", "description": [ @@ -595,6 +816,15 @@ "occurrence": "1", "required": false }, + "note": { + "__class__": "nodes.ChildNode", + "description": [ + "Any note describing extra information needed to run the code in the manner needed to reproduce the evaluation." + ], + "name": "note", + "occurrence": "1", + "required": false + }, "inputDecks": { "__class__": "nodes.ChildNode", "description": "The list of input files for the code used.", @@ -618,6 +848,11 @@ "__class__": "nodes.Node", "abstractNode": "label", "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "revisionSystem": { "__class__": "nodes.Attribute", "default": null, @@ -674,6 +909,21 @@ "__class__": "nodes.Node", "abstractNode": "text", "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "filename": { "__class__": "nodes.Attribute", "default": null, @@ -683,7 +933,7 @@ "type": "XMLName" } }, - "bodyText": null, + "bodyText": "", "childNodes": {}, "description": "The \\element{inputDeck} contains the actual code inputs. The name of the element was chosen to avoid any confusion with other uses of the word ``input'' while evoking the mental image of a stack of punch cards such as used in the early days of nuclear data.", "name": "inputDeck", @@ -711,6 +961,21 @@ "__class__": "nodes.Node", "abstractNode": "text", "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "filename": { "__class__": "nodes.Attribute", "default": null, @@ -720,12 +985,38 @@ "type": "XMLName" } }, - "bodyText": null, + "bodyText": "", "childNodes": {}, "description": "The \\element{outputDeck} contains the actual code outputs.", "name": "outputDeck", "rootNode": false }, + "executionArguments": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": "Use this markup to list any special command line specifics used to invoke this code.", + "name": "executionArguments", + "rootNode": false + }, "experimentalDataSets": { "__class__": "nodes.Node", "abstractNode": null, @@ -790,22 +1081,130 @@ ], "name": "retrievalDate", "required": true, - "type": "XMLName" + "type": "date" } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "covarianceScript": { + "__class__": "nodes.ChildNode", + "description": "The script describing the generation of covariance data..", + "name": "covarianceScript", + "occurrence": "1", + "required": false + }, + "correctionScript": { + "__class__": "nodes.ChildNode", + "description": "The script describing any modifications to the data.", + "name": "correctionScript", + "occurrence": "1", + "required": false + }, + "note": { + "__class__": "nodes.ChildNode", + "description": [ + "A note describing extra information needed to reproduce the evaluation." + ], + "name": "note", + "occurrence": "1", + "required": false + } + }, "description": [ "Contains a reference to a specific EXFOR subentry (specified with the \\attr{SUBENT} attribute) and details of the retrieval and any corrections, rescalings, etc.", "This markup does not contain the full EXFOR entry or subentry -- these are already stored in the master EXFOR database at the IAEA. This markup provides a scheme to reference the datasets only.", "", - "We note that we only support the covariance generate scripts and correction scripts provided by V. Zerkin in his EXFOR Web application \\cite{exforApp}.", + "Note that only the covariance generation and correction scripts provided by V. Zerkin in his EXFOR Web application \\cite{exforApp} are supported.", "Other schemes could be designed but for the present none have been enumerated. If the current markup is insufficient to describe modifications/corrections to a data set,", "the evaluator should consider documenting it in the main \\element{body} element." ], "name": "exforDataSet", "rootNode": false }, + "covarianceScript": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": [ + "V. Zerkin's EXFOR retrieval web application \\cite{exforApp} provides a mechanism for computing covariance matrices based off the statistical and systematic errors presented in an EXFOR entry.", + "This markup provides the means to place this script directly in the documentation for future reference and for reconstructing the covariance used at a later date." + ], + "name": "covarianceScript", + "rootNode": false + }, + "correctionScript": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": [ + "V. Zerkin's EXFOR retrieval web application \\cite{exforApp} provides a mechanism for rudimentary data correction of an EXFOR entry.", + "This markup provides the means to place this script directly in the documentation for future reference and for reconstructing the covariance used at a later date." + ], + "name": "correctionScript", + "rootNode": false + }, + "note": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": "Extra note that the authors may want to include.", + "name": "note", + "rootNode": false + }, "bibliography": { "__class__": "nodes.Node", "abstractNode": null, @@ -832,6 +1231,21 @@ "__class__": "nodes.Node", "abstractNode": "text", "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "xref": { "__class__": "nodes.Attribute", "default": null, @@ -843,7 +1257,7 @@ "type": "XMLName" } }, - "bodyText": null, + "bodyText": "", "childNodes": {}, "description": [ "The \\element{bibitem} element contains the actual bibliographic reference.", @@ -851,5 +1265,37 @@ ], "name": "bibitem", "rootNode": false + }, + "endfCompatible": { + "__class__": "nodes.Node", + "abstractNode": "text", + "attributes": { + "encoding": { + "default": "ascii", + "required": false, + "type": "XMLName" + }, + "markup": { + "default": "none", + "required": false, + "type": "attributeValue" + }, + "label": { + "default": null, + "required": false, + "type": "XMLName" + } + }, + "bodyText": "", + "childNodes": {}, + "description": [ + "Documentation in ENDF-6 is stored in MF1 MT451. This section contains free-form text which cannot be", + "broken up into the various sections supported by the \\element{documentation} node without manual intervention.", + "The \\element{endfCompatible} node is provided to support backwards compatibility and translating back to ENDF-6.", + "This node is expected to eventually be deprecated, but in the meantime evaluators should consider providing a short", + "summary of the documentation in ENDF-6 compatible form." + ], + "name": "endfCompatible", + "rootNode": false } } diff --git a/standards/gnds-2.0/summary_gpdc.json b/standards/gnds-2.0/summary_gpdc.json index 0dc438f06..435860447 100644 --- a/standards/gnds-2.0/summary_gpdc.json +++ b/standards/gnds-2.0/summary_gpdc.json @@ -14,7 +14,7 @@ }, "unit": { "__class__": "nodes.Attribute", - "default": null, + "default": "`' (no label)", "description": "e.g. `kg' or `m'", "name": "unit", "required": false, @@ -30,8 +30,16 @@ } }, "bodyText": null, - "childNodes": {}, - "description": "Stores a double-precision quantity along with a unit, optional label and uncertainty", + "childNodes": { + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Stores the uncertainty on the parent \\element{double}.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": "Stores a \texttt{Float64} quantity along with a unit, optional label and uncertainty", "name": "double", "required": false, "rootNode": false @@ -42,7 +50,7 @@ "attributes": { "label": { "__class__": "nodes.Attribute", - "default": null, + "default": "`' (no label)", "description": "Unique label", "name": "label", "required": false, @@ -50,7 +58,7 @@ }, "unit": { "__class__": "nodes.Attribute", - "default": null, + "default": "`' (i.e. unitless)", "description": "e.g. `kg' or `m'", "name": "unit", "required": false, @@ -84,7 +92,7 @@ "attributes": { "label": { "__class__": "nodes.Attribute", - "default": null, + "default": "`' (no label)", "description": "Unique label", "name": "label", "required": false, @@ -92,7 +100,7 @@ }, "unit": { "__class__": "nodes.Attribute", - "default": null, + "default": "`' (i.e. unitless)", "description": "e.g. `J/s'", "name": "unit", "required": false, @@ -164,7 +172,7 @@ "default": null, "description": "The URL or xpath-like string pointing to the referred-to element", "name": "href", - "required": false, + "required": true, "type": "bodyText" } }, @@ -180,6 +188,279 @@ "rootNode": false }, + "uncertainty":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "standard": { + "__class__": "nodes.ChildNode", + "description": "Stores a normally-distributed uncertainty.", + "name": "standard", + "occurrence": "1", + "required": false + }, + "logNormal": { + "__class__": "nodes.ChildNode", + "description": "Stores a log-normal-distributed uncertainty.", + "name": "logNormal", + "occurrence": "1", + "required": false + }, + "confidenceIntervals": { + "__class__": "nodes.ChildNode", + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "name": "confidenceIntervals", + "occurrence": "1", + "required": false + }, + "pdf": { + "__class__": "nodes.ChildNode", + "description": "Stores a probability distribution as a 1-dimensional function.", + "name": "pdf", + "occurrence": "1", + "required": false + }, + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": [ + "Store the uncertainty for a 1-dimensional function.", + "Uncertainties are assumed to be normally distributed. If uncertainties are correlated,", + "use the \\element{covariance} option instead." + ], + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "polynomial1d": { + "__class__": "nodes.ChildNode", + "description": [ + "Stores uncertainties for each coefficient in a polynomial expansion.", + "Uncertainties are assumed to be normally distributed. If coefficients are correlated,", + "use the \\element{covariance} option instead." + ], + "name": "polynomial1d", + "occurrence": "1", + "required": false + }, + "covariance": { + "__class__": "nodes.ChildNode", + "description": [ + "Stores a covariance matrix (or a link to a covariance matrix),", + "usually for a 1-dimensional function." + ], + "name": "covariance", + "occurrence": "1", + "required": false + }, + "listOfCovariances": { + "__class__": "nodes.ChildNode", + "description": [ + "Stores a list of covariance matrices (or a list of links to covariance matrices).", + "This option is generally used for higher-dimensional functions. For example,", + "if an angular distribution $P(\\mu|E)$ is stored as an energy-dependent list of", + "\\element{Legendre} expansions, the full covariance may be decomposed into energy-dependent", + "covariance matrices for each combination of $L_i$ and $L_j$. The \\element{listOfCovariances}", + "lists all of these covariances." + ], + "name": "listOfCovariances", + "occurrence": "1", + "required": false + } + }, + "description": "Stores the uncertainty for a scalar quantity or a functional data container.", + "name": "uncertainty", + "required": false, + "rootNode": false + }, + "listOfCovariances":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "covariance": { + "__class__": "nodes.ChildNode", + "description": "Covariance matrix (or link to a covariance matrix).", + "name": "covariance", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Stores a list of covariance matrices (or a list of links to covariance matrices).", + "This option is generally used for higher-dimensional functions. For example,", + "if an angular distribution $P(\\mu|E)$ is stored as an energy-dependent list of", + "\\element{Legendre} expansions, the full covariance may be decomposed into energy-dependent", + "covariance matrices for each combination of $L_i$ and $L_j$. The \\element{listOfCovariances}", + "lists all of these covariances." + ], + "name": "listOfCovariances", + "required": false, + "rootNode": false + }, + "covariance":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label for this covariance (required if it resides in a \\elemlink{listOfCovariances}).", + "name": "label", + "required": false, + "type": "XMLName" + }, + "href": { + "__class__": "nodes.Attribute", + "default": null, + "description": "The URL or xpath-like string pointing to the referred-to element. Often points to a covariance inside the \\elemlink{covarianceSuite}.", + "name": "href", + "required": false, + "type": "bodyText" + } + }, + "bodyText": null, + "childNodes": {}, + "description": [ + "Stores a covariance matrix (or a link to a covariance matrix),", + "usually for a 1-dimensional function." + ], + "name": "covariance", + "required": false, + "rootNode": false + }, + + "standard":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Stores $\\sigma$ for the normal distribution.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Used to store the standard deviation of a standard Gaussian uncertainty distribution. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} node." + ], + "name": "standard", + "required": false, + "rootNode": false + }, + "logNormal":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Stores $\\sigma$ for the log-normal distribution.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Used to store the standard deviation $\\sigma$ of a log-normal uncertainty distribution, $X = e^{\\mu + \\sigma Z}$. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "logNormal", + "required": false, + "rootNode": false + }, + "confidenceIntervals":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "interval": { + "__class__": "nodes.ChildNode", + "description": "Stores one confidence interval.", + "name": "interval", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Stores a list of intervals along with the confidence that the `true value' lies within each interval. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "confidenceIntervals", + "required": false, + "rootNode": false + }, + "interval":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "confidence": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A value between 0 and 1, indicating how confident the evaluator is that the `true' value lies between mean - lower and mean + upper.", + "name": "confidence", + "required": true, + "type": "Float64" + }, + "lower": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value to subtract from the mean to obtain the lower limit for this interval.", + "name": "lower", + "required": true, + "type": "Float64" + }, + "upper": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value to add to the mean to obtain the upper limit for this interval.", + "name": "upper", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "name": "interval", + "required": false, + "rootNode": false + }, + "pdf":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as an \\element{XYs1d}.", + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as a \\element{regions1d}.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": "Stores an explicit probability distribution for the parent quantity.", + "name": "pdf", + "required": false, + "rootNode": false + }, + "axes":{ "__class__": "nodes.Node", "abstractNode": "label", @@ -248,7 +529,7 @@ "default": null, "description": "A unique label", "name": "label", - "required": false, + "required": true, "type": "XMLName" }, "unit": { @@ -269,7 +550,7 @@ }, "grid":{ "__class__": "nodes.Node", - "abstractNode": "label", + "abstractNode": "axis", "attributes": { "index": { "__class__": "nodes.Attribute", @@ -505,7 +786,7 @@ "description": [ "Indicates whether the data are stored in row-major ", "or column-major order (i.e. whether the last or first index is varying the fastest). ", - "Allowed values are `row-major' or `column-major'," + "Allowed values are `row-major' or `column-major'." ], "name": "storageOrder", "required": false, @@ -517,7 +798,7 @@ "description": [ "Required if this array is nested inside an \\attrval{embedded} array; not allowed otherwise; ", "Gives the starting indices for a sub-array nested inside an array that uses \\attrval{embedded} compression. ", - "A comma-separated list of integers equal in dimension to the parent array. The integer type is Integer32.," + "A comma-separated list of integers equal in dimension to the parent array. The integer type is Integer32." ], "name": "offset", "required": false, @@ -570,12 +851,12 @@ "other node contains the array data and its \\attr{label} attribute must ", "not be used. ", "", - "\\item[compression=`flattened':] In this case the array contains three \\element{values} nodes.", + "\\item[compression=`flattened':] in this case the array contains three \\element{values} nodes.", " One node contains a list of starting indices in the flattened array and has \\attr{label}=``starts''. Another node", " contains the number of values given after each `start' and has \\attr{label}=``lengths''.", " The third node contains the array data and its \\attr{label} attribute shall", " not be used. The \\attr{starts} and \\attr{lengths} both shall have data", - " type Integer32, and must have the same size.", + " type Integer32, and must have the same number of values.", "", "\\item[compression=`embedded':] contains 0 or more child \\element{array} nodes.", " Each child array shall have the same data type as the parent array,", @@ -797,6 +1078,13 @@ "occurrence": "1", "required": false }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this one-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + }, "values": { "__class__": "nodes.ChildNode", "description": "Contains the list of the $n$ pairs of $x_i, y_i$ as the list $x_0\\ y_0\\ x_1\\ y_1\\ ...\\ x_{n-1}\\ y_{n-1}$.", @@ -966,7 +1254,7 @@ "default": null, "description": "$y(x_1)$ is only valid (i.e. defined) over the domain \\attr{domainMin} $\\le x_1 \\le$ \\attr{domainMax}. \\attr{domainMin} must be less than or equal to \\attr{domainMax}.", "name": "domainMin", - "required": false, + "required": true, "type": "Float64" }, "domainMax": { @@ -974,7 +1262,7 @@ "default": null, "description": "See \\attr{domainMin}.", "name": "domainMax", - "required": false, + "required": true, "type": "Float64" } }, @@ -987,6 +1275,13 @@ "occurrence": "1", "required": true }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this one-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false + }, "values": { "__class__": "nodes.ChildNode", "description": [ @@ -1036,7 +1331,7 @@ "default": null, "description": "$y(x_1)$ is only valid (i.e. defined) over the domain \\attr{domainMin} $\\le x_1 \\le$ \\attr{domainMax}. \\attr{domainMin} must be less than or equal to \\attr{domainMax}.", "name": "domainMin", - "required": false, + "required": true, "type": "Float64" }, "domainMax": { @@ -1044,7 +1339,7 @@ "default": null, "description": "See \\attr{domainMin}.", "name": "domainMax", - "required": false, + "required": true, "type": "Float64" } }, @@ -1064,6 +1359,112 @@ "rootNode": false }, + "xs_pdf_cdf1d":{ + "__class__": "nodes.Node", + "abstractNode": "functional", + "attributes": { + "outerDomainValue": { + "__class__": "nodes.Attribute", + "default": null, + "description": "When the xs\\_pdf\\_cdf1d container appears inside a higher-dimensional container, the outerDomainValue corresponds to the next higher dimension.", + "name": "outerDomainValue", + "required": false, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "xs": { + "__class__": "nodes.ChildNode", + "description": "Defines the common list of $x$ values for the pdf and cdf.", + "name": "xs", + "occurrence": "1", + "required": true + }, + "pdf": { + "__class__": "nodes.ChildNode", + "description": "Stores the pdf evaluated at each corresponding $x$ value.", + "name": "pdf", + "occurrence": "1", + "required": true + }, + "cdf": { + "__class__": "nodes.ChildNode", + "description": "Stores the cdf evaluated at each corresponding $x$ value.", + "name": "cdf", + "occurrence": "1", + "required": true + } + }, + "description": [ + "For Monte-Carlo sampling it is often useful to store both the probability density (pdf) and cumulative probability density (cdf)", + "on the same grid. The sampling routine can then draw a random number in the range [0,1), do a bisection search through the cdf", + "to determine which interval the random number lies in, and then use the pdf to sample within that interval. The \\element{xs\\_pdf\\_cdf1d}", + "container provides a way to store these three related quantities together. The number of values in the \\element{xs}, \\element{pdf}", + "and \\element{cdf} must be the same." + ], + "name": "xs_pdf_cdf1d", + "required": false, + "rootNode": false + }, + "xs_in_xs_pdf_cdf1d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": "Stores the common list of $x$ values for use in an \\element{xs\\_pdf\\_cdf1d}.", + "name": "xs", + "required": false, + "rootNode": false + }, + "pdf_in_xs_pdf_cdf1d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": "Stores the value of the pdf at each $x$ in an \\element{xs\\_pdf\\_cdf1d}.", + "name": "pdf", + "required": false, + "rootNode": false + }, + "cdf_in_xs_pdf_cdf1d":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "values": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "values", + "occurrence": "1", + "required": true + } + }, + "description": "Stores the value of the cdf at each $x$ in an \\element{xs\\_pdf\\_cdf1d}.", + "name": "cdf", + "required": false, + "rootNode": false + }, + "XYs2d":{ "__class__": "nodes.Node", "abstractNode": "functional", @@ -1116,11 +1517,18 @@ "name": "function1ds", "occurrence": "1", "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this two-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false } }, "description": [ "This node stores a 2-dimensional function $x_0(x_2, x_1)$ as a list of 1-dimensional functions at various $x_2$ values. Each 1-dimensional ", "function stores its $x_2$ point in its \\attr{value} attribute. The attributes \\attr{interpolation} and \\attr{interpolationQualifier}", - " instruct how to interpolate $x_2$ and $x_0$ between two adjacent 1-dimensional functions." ], + " instruct how to interpolate $x_2$ and $x_1$ between two adjacent 1-dimensional functions." ], "name": "XYs2d", "required": false, "rootNode": false @@ -1210,6 +1618,13 @@ "name": "function2ds", "occurrence": "1", "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this three-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false } }, "description": [ "This node stores a 3-dimensional function $x_0(x_3, x_2, x_1)$ as a list of 2-dimensional functions at various $x_3$ values. Each 2-dimensional ", @@ -1239,7 +1654,7 @@ "name": "gridded2d", "occurrence": "choice+", "required": false - } + } }, "description": "This node stores a list of 2-dimensional functions.", "name": "function2ds", @@ -1284,6 +1699,13 @@ "name": "function1ds", "occurrence": "1", "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this one-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false } }, "description": null, @@ -1329,6 +1751,13 @@ "name": "function2ds", "occurrence": "1", "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this two-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false } }, "description": null, @@ -1374,6 +1803,13 @@ "name": "function3ds", "occurrence": "1", "required": true + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty and/or covariance for this three-dimensional function.", + "name": "uncertainty", + "occurrence": "1", + "required": false } }, "description": null, @@ -1468,7 +1904,7 @@ }, "axes": { "__class__": "nodes.ChildNode", - "description": "An \\element{axes} element containing the \\element{grid} elements.", + "description": "An \\element{axes} element containing the \\element{grid} elements for the independent axes and an axis node for the dependent axis.", "name": "axes", "occurrence": "1", "required": true From b5ecb0ad2cf5d5f6a5eb0b543e1529c38a9ba964 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 31 Aug 2022 14:46:20 -0600 Subject: [PATCH 179/235] Updated summary_pops.json based on the latest main branch on oecd-nea. Added abstractNode base attributes where needed. Added documentation and uncertainty nodes, per the latest standard. Added another "default" mapping in the changes.json file. --- standards/gnds-2.0/changes.json | 1 + standards/gnds-2.0/summary_pops.json | 489 +++++++++++++++++- .../try/python/src/v2.0/pops/Shell.python.cpp | 2 +- .../gnds-2.0/try/src/try/v2.0/pops/Shell.hpp | 12 +- 4 files changed, 481 insertions(+), 23 deletions(-) diff --git a/standards/gnds-2.0/changes.json b/standards/gnds-2.0/changes.json index 46579db26..5a6522847 100644 --- a/standards/gnds-2.0/changes.json +++ b/standards/gnds-2.0/changes.json @@ -33,6 +33,7 @@ "default" : { "// values that really mean: no default" : "", + " \\\\kern-1ex": "", "`' (i.e. unitless)": "", "`' (no label)": "", "`none'": "", diff --git a/standards/gnds-2.0/summary_pops.json b/standards/gnds-2.0/summary_pops.json index 4dfb015b2..c2e371084 100644 --- a/standards/gnds-2.0/summary_pops.json +++ b/standards/gnds-2.0/summary_pops.json @@ -622,9 +622,33 @@ "bindingEnergy":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", - "attributes": {}, + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "double": { "__class__": "nodes.ChildNode", "description": "Binding energy. Recommended unit: `eV', or `keV'", @@ -931,9 +955,33 @@ "mass":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", - "attributes": {}, + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "double": { "__class__": "nodes.ChildNode", "description": "Particle mass. Recommended units are `amu' or `MeV/c/c'.", @@ -950,10 +998,34 @@ "spin":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", - "attributes": {}, + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childUnique":"yesLabel", "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "fraction": { "__class__": "nodes.ChildNode", "description": "Spin assignment. Recommended unit is `hbar'. Multiple `fraction' entries may be used to indicate uncertain spin assignments.", @@ -970,10 +1042,34 @@ "parity":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", - "attributes": {}, + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childUnique":"yesLabel", "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "integer": { "__class__": "nodes.ChildNode", "description": "Parity assignment (unitless). Multiple `integer' entries may be used to indicate uncertain parity assignment.", @@ -990,9 +1086,33 @@ "charge":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", - "attributes": {}, + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "integer": { "__class__": "nodes.ChildNode", "description": "Net charge. Recommended unit is the elementary charge `e'.", @@ -1016,9 +1136,33 @@ "energy":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", - "attributes": {}, + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "double": { "__class__": "nodes.ChildNode", "description": "Excitation energy. Recommended unit: `eV', `MeV', etc.", @@ -1035,10 +1179,34 @@ "halflife":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", - "attributes": {}, + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childUnique":"yesLabel", "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "string": { "__class__": "nodes.ChildNode", "description": "Mainly used for stable particles, i.e. halflife = `stable'.", @@ -1258,6 +1426,37 @@ "required": false, "rootNode": false }, +"positronEmissionIntensity":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Intensity of positron emission.", + "name": "value", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": { + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, + "description": [ + "Contains a list of intensities for transitions in which internal conversion for a particular electron shell is ", + "accompanied by photon emission." + ], + "name": "positronEmissionIntensity", + "required": false, + "rootNode": false +}, "shell":{ "__class__": "nodes.Node", "abstractNode": null, @@ -1301,9 +1500,33 @@ "Q":{ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", - "attributes": {}, + "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, + "value": { + "default": null, + "required": true, + "type": "XMLName" + } + }, "bodyText": null, "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + }, "double": { "__class__": "nodes.ChildNode", "description": "Numeric value of the decay Q-value, recommended unit `eV' or `MeV'.", @@ -1581,6 +1804,13 @@ "name": "photonEmissionProbabilities", "occurrence": "1", "required": false + }, + "positronEmissionIntensity": { + "__class__": "nodes.ChildNode", + "description": "Intensity of transitions in which positrons are emitted as part of the decay.", + "name": "positronEmissionIntensity", + "occurrence": "1", + "required": false } }, "description": "Stores a single discrete particle emission, including the energy of the emitted particle and the intensity of emission.", @@ -1593,6 +1823,11 @@ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "value": { "__class__": "nodes.Attribute", "default": null, @@ -1611,9 +1846,21 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty on the intensity.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, "description": "This is the energy of the discrete emitted particle.", - "name": "energy", + "name": "discreteEnergy", "required": false, "rootNode": false }, @@ -1621,6 +1868,16 @@ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, + "unit": { + "default": null, + "required": false, + "type": "XMLName" + }, "value": { "__class__": "nodes.Attribute", "default": null, @@ -1631,7 +1888,19 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": "Uncertainty on the intensity.", + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, "description": "Relative intensity of this decay branch (usually normalised so the most intense branch has intenisty = 1).", "name": "intensity", "required": false, @@ -1641,6 +1910,11 @@ "__class__": "nodes.Node", "abstractNode": "physicalQuantity", "attributes": { + "label": { + "default": null, + "required": false, + "type": "XMLName" + }, "value": { "__class__": "nodes.Attribute", "default": null, @@ -1659,7 +1933,16 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "occurrence": "1", + "required": false + } + }, "description": "Related to the probability of forming an electron/positron pair.", "name": "internalPairFormationCoefficient", "required": false, @@ -1718,7 +2001,19 @@ } }, "bodyText": null, - "childNodes": {}, + "childNodes": { + "documentation": { + "occurrence": "1", + "required": false + }, + "uncertainty": { + "__class__": "nodes.ChildNode", + "description": null, + "name": "uncertainty", + "occurrence": "1", + "required": false + } + }, "description": [ "Stores the mean outgoing energy for one type of decay product, e.g. `n', `photon' or `e-'. ", "Note that the type of product is identified by the `label' attribute, but in the future this may change to a `pid'." @@ -1726,6 +2021,174 @@ "name": "averageEnergy", "required": false, "rootNode": false +}, +"uncertainty":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "standard": { + "__class__": "nodes.ChildNode", + "description": "Stores a normally-distributed uncertainty.", + "name": "standard", + "occurrence": "1", + "required": false + }, + "logNormal": { + "__class__": "nodes.ChildNode", + "description": "Stores a log-normal-distributed uncertainty.", + "name": "logNormal", + "occurrence": "1", + "required": false + }, + "confidenceIntervals": { + "__class__": "nodes.ChildNode", + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "name": "confidenceIntervals", + "occurrence": "1", + "required": false + }, + "pdf": { + "__class__": "nodes.ChildNode", + "description": "Stores a probability distribution as a 1-dimensional function.", + "name": "pdf", + "occurrence": "1", + "required": false + } + }, + "description": "Stores the uncertainty for a scalar quantity, e.g. probability or mean energy.", + "name": "uncertainty", + "required": false, + "rootNode": false +}, +"standard":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Stores $\\sigma$ for the normal distribution.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Used to store the standard deviation of a standard Gaussian uncertainty distribution. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "standard", + "required": false, + "rootNode": false +}, +"logNormal":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "double": { + "__class__": "nodes.ChildNode", + "description": "Stores $\\sigma$ for the log-normal distribution.", + "name": "double", + "occurrence": "1", + "required": true + } + }, + "description": [ + "Used to store the standard deviation $\\sigma$ of a log-normal uncertainty distribution, $X = \\exp{\\mu + \\sigma Z}$. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "logNormal", + "required": false, + "rootNode": false +}, +"confidenceIntervals":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "interval": { + "__class__": "nodes.ChildNode", + "description": "Stores one confidence interval.", + "name": "interval", + "occurrence": "1+", + "required": true + } + }, + "description": [ + "Stores a list of intervals along with the confidence that the `true value' lies within each interval. The mean value and unit are ", + "stored higher up in the hierarchy, for example in the parent \\element{double} or \\element{averageEnergy} node." + ], + "name": "confidenceIntervals", + "required": false, + "rootNode": false +}, +"interval":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": { + "confidence": { + "__class__": "nodes.Attribute", + "default": null, + "description": "A value between 0 and 1, indicating how confident the evaluator is that the `true' value lies between mean - lower and mean + upper.", + "name": "confidence", + "required": true, + "type": "Float64" + }, + "lower": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value to subtract from the mean to obtain the lower limit for this interval.", + "name": "lower", + "required": true, + "type": "Float64" + }, + "upper": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Value to add to the mean to obtain the upper limit for this interval.", + "name": "upper", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "name": "interval", + "required": false, + "rootNode": false +}, +"pdf":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "XYs1d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as an XYs1d.", + "name": "XYs1d", + "occurrence": "1", + "required": false + }, + "regions1d": { + "__class__": "nodes.ChildNode", + "description": "Probability distribution stored as a regions1d.", + "name": "regions1d", + "occurrence": "1", + "required": false + } + }, + "description": "Stores an explicit probability distribution for the parent quantity.", + "name": "pdf", + "required": false, + "rootNode": false } } diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp index adbe003bb..e11a2afde 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp @@ -57,7 +57,7 @@ void wrapShell(python::module &module) ) .def_property_readonly( "unit", - [](const Component &self) { return self.unit().value(); }, + [](const Component &self) { return self.unit(); }, Component::documentation("unit").data() ) ; diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp index d860e82f6..ce1cab938 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp @@ -37,7 +37,7 @@ class Shell : public Component { / Meta<>("label") | Float64{} / Meta<>("value") | - Defaulted{" \\kern-1ex"} + std::optional{} / Meta<>("unit") ; } @@ -45,15 +45,10 @@ class Shell : public Component { public: using Component::construct; - // defaults - static inline const struct Defaults { - static inline const XMLName unit = " \\kern-1ex"; - } defaults; - // metadata Field label{this}; Field value{this}; - Field> unit{this,defaults.unit}; + Field> unit{this}; // ------------------------ // Constructors @@ -65,7 +60,6 @@ class Shell : public Component { this->unit) // default, and from fields - // std::optional replaces Defaulted; this class knows the default(s) explicit Shell( const wrapper &label = {}, const wrapper &value = {}, @@ -74,7 +68,7 @@ class Shell : public Component { GNDSTK_COMPONENT(BlockData{}), label(this,label), value(this,value), - unit(this,defaults.unit,unit) + unit(this,unit) { Component::finish(); } From f032706caec2e06ff7e2edf8bc2b0a7dfbf60fdc Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 2 Sep 2022 22:23:10 -0600 Subject: [PATCH 180/235] Added a minimal "mass" node to summary_tsl.json. And, to use it, stipulated the "tsl" namespace for mass in scatteringAtom. The above is meant as a fix, for now, of one of several ambiguities that the code generator reports during GNDS 2.0 code generation. scatteringAtom in summary_tsl.json gives mass as a child node. However, prior to the above change, there was no "mass" in tsl (the present namespace), but a "mass" in each of summary_common.json and summary_pops.json. There was no mechanism for the code generator to figure out which one was intended! So, I examined the tsl-*.xml files I have from GNDS 1.9, and observed that all nodes looked something like this: Judging from that, I placed a serviceable such "mass" class into "tsl". The above fix is intended to be temporary, until the GNDS 2.0 spec clarifies precisely what "mass" in "scatteringAtom" should allow. --- autogen/simple/.gitignore | 1 + autogen/simple/compile-cpp | 2 +- autogen/simple/example-01.c | 2 +- .../simple/{example.cpp => example-01.cpp} | 0 standards/gnds-2.0/summary_pops.json | 2 +- standards/gnds-2.0/summary_tsl.json | 14 ++ standards/gnds-2.0/try/c/src/v2.0.h | 1 + .../gnds-2.0/try/c/src/v2.0/tsl/Mass.cpp | 200 ++++++++++++++++++ standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.h | 175 +++++++++++++++ .../try/c/src/v2.0/tsl/ScatteringAtom.cpp | 2 +- .../try/c/src/v2.0/tsl/ScatteringAtom.h | 2 +- .../try/python/src/v2.0/pops/Mass.python.cpp | 4 +- .../try/python/src/v2.0/tsl.python.cpp | 2 + .../try/python/src/v2.0/tsl/Mass.python.cpp | 63 ++++++ .../src/v2.0/tsl/ScatteringAtom.python.cpp | 2 +- standards/gnds-2.0/try/src/try/v2.0.hpp | 1 + standards/gnds-2.0/try/src/try/v2.0/key.hpp | 1 + .../gnds-2.0/try/src/try/v2.0/pops/Mass.hpp | 6 +- .../gnds-2.0/try/src/try/v2.0/tsl/Mass.hpp | 112 ++++++++++ .../try/src/try/v2.0/tsl/Mass/src/custom.hpp | 4 + .../try/src/try/v2.0/tsl/ScatteringAtom.hpp | 8 +- 21 files changed, 589 insertions(+), 15 deletions(-) rename autogen/simple/{example.cpp => example-01.cpp} (100%) create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.cpp create mode 100644 standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.h create mode 100644 standards/gnds-2.0/try/python/src/v2.0/tsl/Mass.python.cpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/Mass.hpp create mode 100644 standards/gnds-2.0/try/src/try/v2.0/tsl/Mass/src/custom.hpp diff --git a/autogen/simple/.gitignore b/autogen/simple/.gitignore index 17795dd9c..ff33ead56 100644 --- a/autogen/simple/.gitignore +++ b/autogen/simple/.gitignore @@ -13,3 +13,4 @@ file.h5 file.json file.xml out +foobar.json diff --git a/autogen/simple/compile-cpp b/autogen/simple/compile-cpp index 9298ab495..412c9aa4e 100755 --- a/autogen/simple/compile-cpp +++ b/autogen/simple/compile-cpp @@ -25,4 +25,4 @@ $COMPILE ../../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c fi # Compile -$COMPILE example.cpp pugixml.o -o cpp.exe +$COMPILE example-01.cpp pugixml.o -o cpp.exe diff --git a/autogen/simple/example-01.c b/autogen/simple/example-01.c index 49a66f0bf..6c27db3ec 100644 --- a/autogen/simple/example-01.c +++ b/autogen/simple/example-01.c @@ -5,7 +5,7 @@ int main() { // colorize diagnostics and prettyprinting - colors(1); + color(1); Foobar one = FoobarDefault(); Foobar two = FoobarDefault(); diff --git a/autogen/simple/example.cpp b/autogen/simple/example-01.cpp similarity index 100% rename from autogen/simple/example.cpp rename to autogen/simple/example-01.cpp diff --git a/standards/gnds-2.0/summary_pops.json b/standards/gnds-2.0/summary_pops.json index c2e371084..adf224e01 100644 --- a/standards/gnds-2.0/summary_pops.json +++ b/standards/gnds-2.0/summary_pops.json @@ -968,7 +968,7 @@ }, "value": { "default": null, - "required": true, + "required": false, "type": "XMLName" } }, diff --git a/standards/gnds-2.0/summary_tsl.json b/standards/gnds-2.0/summary_tsl.json index 8d11fd6c7..9d14599a3 100644 --- a/standards/gnds-2.0/summary_tsl.json +++ b/standards/gnds-2.0/summary_tsl.json @@ -470,6 +470,19 @@ "required": false, "rootNode": false }, + "mass":{ + "attributes": { + "unit": { + "required": true, + "type": "XMLName" + }, + "value": { + "required": true, + "type": "Float64" + } + }, + "childNodes": {} + }, "scatteringAtom":{ "__class__": "nodes.Node", "abstractNode": null, @@ -504,6 +517,7 @@ "mass": { "__class__": "nodes.ChildNode", "description": "Mass of this scattering atom. Note that unlike ENDF-6, the mass is for a single atom (not multiplied by the number of atoms/molecule).", + "namespace": "tsl", "name": "mass", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/try/c/src/v2.0.h b/standards/gnds-2.0/try/c/src/v2.0.h index 920df1bee..2f8f29b38 100644 --- a/standards/gnds-2.0/try/c/src/v2.0.h +++ b/standards/gnds-2.0/try/c/src/v2.0.h @@ -381,6 +381,7 @@ #include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h" #include "v2.0/tsl/DebyeWallerIntegral.h" #include "v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h" +#include "v2.0/tsl/Mass.h" #include "v2.0/tsl/ScatteringAtom.h" #include "v2.0/tsl/ScatteringAtoms.h" #include "v2.0/tsl/E_critical.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.cpp new file mode 100644 index 000000000..60f349ffa --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "try/v2_0/tsl/Mass.hpp" +#include "Mass.h" + +using namespace njoy::GNDStk; +using namespace try::v2_0; + +using C = MassClass; +using CPP = multigroup::Mass; + +static const std::string CLASSNAME = "Mass"; + +namespace extract { + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstMass +MassDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Mass +MassDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstMass +MassCreateConst( + const XMLName unit, + const Float64 value +) { + ConstHandle2Mass handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + unit, + value + ); + return handle; +} + +// Create, general +Handle2Mass +MassCreate( + const XMLName unit, + const Float64 value +) { + ConstHandle2Mass handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +MassAssign(ConstHandle2Mass This, ConstHandle2ConstMass from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +MassDelete(ConstHandle2ConstMass This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +MassRead(ConstHandle2Mass This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +MassWrite(ConstHandle2ConstMass This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +MassPrint(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +MassPrintXML(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +MassPrintJSON(ConstHandle2ConstMass This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +MassUnitHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +MassUnitGet(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +MassUnitSet(ConstHandle2Mass This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +MassValueHas(ConstHandle2ConstMass This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +MassValueGet(ConstHandle2ConstMass This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +MassValueSet(ConstHandle2Mass This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.h new file mode 100644 index 000000000..cc53b6324 --- /dev/null +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Mass is the basic handle type in this file. Example: +// // Create a default Mass object: +// Mass handle = MassDefault(); +// Functions involving Mass are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TRY_V2_0_TSL_MASS +#define C_INTERFACE_TRY_V2_0_TSL_MASS + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct MassClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Mass +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct MassClass *Mass; + +// --- Const-aware handles. +typedef const struct MassClass *const ConstHandle2ConstMass; +typedef struct MassClass *const ConstHandle2Mass; +typedef const struct MassClass * Handle2ConstMass; +typedef struct MassClass * Handle2Mass; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstMass +MassDefaultConst(); + +// +++ Create, default +extern_c Handle2Mass +MassDefault(); + +// --- Create, general, const +extern_c Handle2ConstMass +MassCreateConst( + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2Mass +MassCreate( + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +MassAssign(ConstHandle2Mass This, ConstHandle2ConstMass from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +MassDelete(ConstHandle2ConstMass This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +MassRead(ConstHandle2Mass This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +MassWrite(ConstHandle2ConstMass This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +MassPrint(ConstHandle2ConstMass This); + +// +++ Print to standard output, as XML +extern_c int +MassPrintXML(ConstHandle2ConstMass This); + +// +++ Print to standard output, as JSON +extern_c int +MassPrintJSON(ConstHandle2ConstMass This); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassUnitHas(ConstHandle2ConstMass This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +MassUnitGet(ConstHandle2ConstMass This); + +// +++ Set +extern_c void +MassUnitSet(ConstHandle2Mass This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +MassValueHas(ConstHandle2ConstMass This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +MassValueGet(ConstHandle2ConstMass This); + +// +++ Set +extern_c void +MassValueSet(ConstHandle2Mass This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp index 15f55ff7c..237bcf7a6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp @@ -27,7 +27,7 @@ namespace extract { static auto T_effective = [](auto &obj) { return &obj.T_effective; }; } -using CPPMass = ambiguousNamespace::Mass; +using CPPMass = tsl::Mass; using CPPE_critical = tsl::E_critical; using CPPE_max = tsl::E_max; using CPPBoundAtomCrossSection = tsl::BoundAtomCrossSection; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h index 1cba6252a..257949970 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h +++ b/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOM #include "GNDStk.h" -#include "v2.0/ambiguousNamespace/Mass.h" +#include "v2.0/tsl/Mass.h" #include "v2.0/tsl/E_critical.h" #include "v2.0/tsl/E_max.h" #include "v2.0/tsl/BoundAtomCrossSection.h" diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp index 14f54a301..ef1ab7ba7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp @@ -38,14 +38,14 @@ void wrapMass(python::module &module) python::init< const std::optional &, const std::optional &, - const XMLName &, + const std::optional &, const std::optional &, const std::optional &, const std::optional & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, - python::arg("value"), + python::arg("value") = std::nullopt, python::arg("documentation") = std::nullopt, python::arg("uncertainty") = std::nullopt, python::arg("double") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp index 81dd04437..ff108c88c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp @@ -23,6 +23,7 @@ namespace python_tsl { void wrapBoundAtomCrossSection(python::module &); void wrapDebyeWallerIntegral(python::module &); void wrapThermalNeutronScatteringLaw_incoherentElastic(python::module &); + void wrapMass(python::module &); void wrapE_critical(python::module &); void wrapE_max(python::module &); void wrapCoherentAtomCrossSection(python::module &); @@ -59,6 +60,7 @@ void wrapTsl(python::module &module) python_tsl::wrapBoundAtomCrossSection(submodule); python_tsl::wrapDebyeWallerIntegral(submodule); python_tsl::wrapThermalNeutronScatteringLaw_incoherentElastic(submodule); + python_tsl::wrapMass(submodule); python_tsl::wrapE_critical(submodule); python_tsl::wrapE_max(submodule); python_tsl::wrapCoherentAtomCrossSection(submodule); diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/Mass.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/Mass.python.cpp new file mode 100644 index 000000000..61168ea84 --- /dev/null +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/Mass.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "try/v2.0/tsl/Mass.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_tsl { + +// Mass wrapper +void wrapMass(python::module &module) +{ + using namespace try; + using namespace try::v2_0; + + // type aliases + using Component = tsl::Mass; + + // create the component + python::class_ component( + module, + "Mass", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const XMLName &, + const Float64 & + >(), + python::arg("unit"), + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_tsl +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp index 7ccb4b881..1f86de8be 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp @@ -39,7 +39,7 @@ void wrapScatteringAtom(python::module &module) const XMLName &, const bool &, const Integer32 &, - const ambiguousNamespace::Mass &, + const tsl::Mass &, const std::optional &, const tsl::E_max &, const tsl::BoundAtomCrossSection &, diff --git a/standards/gnds-2.0/try/src/try/v2.0.hpp b/standards/gnds-2.0/try/src/try/v2.0.hpp index f253232a6..56746a8d2 100644 --- a/standards/gnds-2.0/try/src/try/v2.0.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0.hpp @@ -370,6 +370,7 @@ #include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" #include "try/v2.0/tsl/DebyeWallerIntegral.hpp" #include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "try/v2.0/tsl/Mass.hpp" #include "try/v2.0/tsl/ScatteringAtom.hpp" #include "try/v2.0/tsl/ScatteringAtoms.hpp" #include "try/v2.0/tsl/E_critical.hpp" diff --git a/standards/gnds-2.0/try/src/try/v2.0/key.hpp b/standards/gnds-2.0/try/src/try/v2.0/key.hpp index 86b65fe18..b7c7f6fff 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/key.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/key.hpp @@ -719,6 +719,7 @@ inline const Child<> distinctScatteringKernel("distinctScatteringKernel"); inline const Child<> e_critical("e_critical"); inline const Child<> e_max("e_max"); inline const Child<> freeGasApproximation("freeGasApproximation"); +inline const Child<> mass("mass"); inline const Child<> phononSpectrum("phononSpectrum"); inline const Child<> scatteringAtom("scatteringAtom"); inline const Child<> scatteringAtoms("scatteringAtoms"); diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp b/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp index 242956a1d..87af92453 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp @@ -39,7 +39,7 @@ class Mass : public Component { / Meta<>("label") | std::optional{} / Meta<>("unit") | - XMLName{} + std::optional{} / Meta<>("value") | // children std::optional{} @@ -57,7 +57,7 @@ class Mass : public Component { // metadata Field> label{this}; Field> unit{this}; - Field value{this}; + Field> value{this}; // children Field> documentation{this}; @@ -80,7 +80,7 @@ class Mass : public Component { explicit Mass( const wrapper> &label = {}, const wrapper> &unit = {}, - const wrapper &value = {}, + const wrapper> &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, const wrapper> &Double = {} diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass.hpp new file mode 100644 index 000000000..3d35d4599 --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass.hpp @@ -0,0 +1,112 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TRY_V2_0_TSL_MASS +#define TRY_V2_0_TSL_MASS + +#include "try/v2.0/key.hpp" + +namespace try { +namespace v2_0 { +namespace tsl { + +// ----------------------------------------------------------------------------- +// tsl:: +// class Mass +// ----------------------------------------------------------------------------- + +class Mass : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "tsl"; } + static auto CLASS() { return "Mass"; } + static auto FIELD() { return "mass"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + XMLName{} + / Meta<>("unit") | + Float64{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->unit, \ + this->value) + + // default, and from fields + explicit Mass( + const wrapper &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit Mass(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Mass(const Mass &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Mass(Mass &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Mass &operator=(const Mass &) = default; + Mass &operator=(Mass &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "try/v2.0/tsl/Mass/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Mass + +} // namespace tsl +} // namespace v2_0 +} // namespace try + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass/src/custom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp index 0fefb6c37..c5e29b105 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TSL_SCATTERINGATOM #define TRY_V2_0_TSL_SCATTERINGATOM -#include "try/v2.0/ambiguousNamespace/Mass.hpp" +#include "try/v2.0/tsl/Mass.hpp" #include "try/v2.0/tsl/E_critical.hpp" #include "try/v2.0/tsl/E_max.hpp" #include "try/v2.0/tsl/BoundAtomCrossSection.hpp" @@ -47,7 +47,7 @@ class ScatteringAtom : public Component { Integer32{} / Meta<>("numberPerMolecule") | // children - ambiguousNamespace::Mass{} + tsl::Mass{} / --Child<>("mass") | std::optional{} / --Child<>("e_critical") | @@ -75,7 +75,7 @@ class ScatteringAtom : public Component { Field numberPerMolecule{this}; // children - Field mass{this}; + Field mass{this}; Field> e_critical{this}; Field e_max{this}; Field boundAtomCrossSection{this}; @@ -106,7 +106,7 @@ class ScatteringAtom : public Component { const wrapper &pid = {}, const wrapper &primaryScatterer = {}, const wrapper &numberPerMolecule = {}, - const wrapper &mass = {}, + const wrapper &mass = {}, const wrapper> &e_critical = {}, const wrapper &e_max = {}, const wrapper &boundAtomCrossSection = {}, From cde5f1c1c0ea1dcc2616558da88759f01866808b Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 2 Sep 2022 22:45:43 -0600 Subject: [PATCH 181/235] Got transport::NBodyPhaseSpace working by stipulating namespace "tsl" for its "mass" child node. Judging from GNDS 1.9 files I have, nodes inside nodes always have attributes value and unit, and nothing else. The "mass" I added earlier in namespace tsl:: fits the bill. We'll therefore implement this minimal fix for now, until the GNDS 2.0 specs clarify the matter. --- standards/gnds-2.0/summary_transport.json | 1 + .../gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h | 2 +- .../python/src/v2.0/transport/NBodyPhaseSpace.python.cpp | 2 +- standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp | 4 ++-- .../try/src/try/v2.0/transport/NBodyPhaseSpace.hpp | 8 ++++---- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json index 79316ddb5..56b580245 100644 --- a/standards/gnds-2.0/summary_transport.json +++ b/standards/gnds-2.0/summary_transport.json @@ -1241,6 +1241,7 @@ "mass": { "__class__": "nodes.ChildNode", "description": "The total mass of the products being treated by this distribution.", + "namespace": "tsl", "name": "mass", "occurrence": "1", "required": false diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp index bfd7779d8..f0293b63c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp @@ -18,7 +18,7 @@ namespace extract { static auto mass = [](auto &obj) { return &obj.mass; }; } -using CPPMass = ambiguousNamespace::Mass; +using CPPMass = tsl::Mass; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h b/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h index b3dcf7ede..56b4da5ce 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_NBODYPHASESPACE #include "GNDStk.h" -#include "v2.0/ambiguousNamespace/Mass.h" +#include "v2.0/tsl/Mass.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp index 8170e3d56..adae9d83a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp @@ -37,7 +37,7 @@ void wrapNBodyPhaseSpace(python::module &module) .def( python::init< const std::optional &, - const std::optional & + const std::optional & >(), python::arg("number_of_products") = std::nullopt, python::arg("mass") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp index ff108c88c..60b2e32ae 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp @@ -12,6 +12,7 @@ namespace python_v2_0 { // tsl declarations namespace python_tsl { + void wrapMass(python::module &); void wrapThermalNeutronScatteringLaw1d(python::module &); void wrapThermalNeutronScatteringLaw(python::module &); void wrapS_table(python::module &); @@ -23,7 +24,6 @@ namespace python_tsl { void wrapBoundAtomCrossSection(python::module &); void wrapDebyeWallerIntegral(python::module &); void wrapThermalNeutronScatteringLaw_incoherentElastic(python::module &); - void wrapMass(python::module &); void wrapE_critical(python::module &); void wrapE_max(python::module &); void wrapCoherentAtomCrossSection(python::module &); @@ -49,6 +49,7 @@ void wrapTsl(python::module &module) ); // wrap tsl components + python_tsl::wrapMass(submodule); python_tsl::wrapThermalNeutronScatteringLaw1d(submodule); python_tsl::wrapThermalNeutronScatteringLaw(submodule); python_tsl::wrapS_table(submodule); @@ -60,7 +61,6 @@ void wrapTsl(python::module &module) python_tsl::wrapBoundAtomCrossSection(submodule); python_tsl::wrapDebyeWallerIntegral(submodule); python_tsl::wrapThermalNeutronScatteringLaw_incoherentElastic(submodule); - python_tsl::wrapMass(submodule); python_tsl::wrapE_critical(submodule); python_tsl::wrapE_max(submodule); python_tsl::wrapCoherentAtomCrossSection(submodule); diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp index f1ec8e4d8..7d553738a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TRANSPORT_NBODYPHASESPACE #define TRY_V2_0_TRANSPORT_NBODYPHASESPACE -#include "try/v2.0/ambiguousNamespace/Mass.hpp" +#include "try/v2.0/tsl/Mass.hpp" namespace try { namespace v2_0 { @@ -36,7 +36,7 @@ class NBodyPhaseSpace : public Component { std::optional{} / Meta<>("numberOfProducts") | // children - std::optional{} + std::optional{} / --Child<>("mass") ; } @@ -48,7 +48,7 @@ class NBodyPhaseSpace : public Component { Field> numberOfProducts{this}; // children - Field> mass{this}; + Field> mass{this}; // ------------------------ // Constructors @@ -61,7 +61,7 @@ class NBodyPhaseSpace : public Component { // default, and from fields explicit NBodyPhaseSpace( const wrapper> &numberOfProducts = {}, - const wrapper> &mass = {} + const wrapper> &mass = {} ) : GNDSTK_COMPONENT(BlockData{}), numberOfProducts(this,numberOfProducts), From 767f64cf0392533f19c47e5e9aa22d284ef5dd83 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 14:33:28 -0600 Subject: [PATCH 182/235] Added "namespace" key/value pair, to clarify some child nodes. --- standards/gnds-2.0/summary_common.json | 1 + standards/gnds-2.0/summary_covariance.json | 1 + .../gnds-2.0/summary_fissionTransport.json | 1 + standards/gnds-2.0/summary_fpy.json | 3 ++ standards/gnds-2.0/summary_gpdc.json | 16 ++++++++++ standards/gnds-2.0/summary_pops.json | 32 +++++++++++++++++++ standards/gnds-2.0/summary_styles.json | 5 +++ standards/gnds-2.0/summary_transport.json | 2 ++ 8 files changed, 61 insertions(+) diff --git a/standards/gnds-2.0/summary_common.json b/standards/gnds-2.0/summary_common.json index 0ac47bf3a..c0e192d3c 100644 --- a/standards/gnds-2.0/summary_common.json +++ b/standards/gnds-2.0/summary_common.json @@ -135,6 +135,7 @@ "product": { "__class__": "nodes.ChildNode", "description": "One or more \\element{product} child element.", + "namespace": "common", "name": "product", "occurrence": "1+", "required": false diff --git a/standards/gnds-2.0/summary_covariance.json b/standards/gnds-2.0/summary_covariance.json index b8b3a198b..a3e0fb097 100644 --- a/standards/gnds-2.0/summary_covariance.json +++ b/standards/gnds-2.0/summary_covariance.json @@ -201,6 +201,7 @@ "covariance": { "__class__": "nodes.ChildNode", "description": "Array containing the inner portion of the sandwich product.", + "namespace": "covariance", "name": "covariance", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/summary_fissionTransport.json b/standards/gnds-2.0/summary_fissionTransport.json index 3b410e0f7..cc090c639 100644 --- a/standards/gnds-2.0/summary_fissionTransport.json +++ b/standards/gnds-2.0/summary_fissionTransport.json @@ -383,6 +383,7 @@ "a": { "__class__": "nodes.ChildNode", "description": "Contains one \\XYsOneD\\ or \\regionsOneD\\ functional data container that represents a valid $a(E)$.", + "namespace": "fissionTransport", "name": "a", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/summary_fpy.json b/standards/gnds-2.0/summary_fpy.json index 73898240e..12afc9338 100644 --- a/standards/gnds-2.0/summary_fpy.json +++ b/standards/gnds-2.0/summary_fpy.json @@ -37,6 +37,7 @@ "nuclides": { "__class__": "nodes.ChildNode", "description": "List of nuclide id's. For spontaneous yields, all \\element{elapsedTimes} use the same list of nuclides.", + "namespace": "fpy", "name": "nuclides", "occurrence": "1", "required": false @@ -187,6 +188,7 @@ "nuclides": { "__class__": "nodes.ChildNode", "description": "List of nuclide id's or href pointing to another \\element{nuclides} node.", + "namespace": "fpy", "name": "nuclides", "occurrence": "1", "required": true @@ -248,6 +250,7 @@ "energy": { "__class__": "nodes.ChildNode", "description": "The projectile's incident energy.", + "namespace": "fpy", "name": "energy", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/summary_gpdc.json b/standards/gnds-2.0/summary_gpdc.json index 435860447..bf9542ee4 100644 --- a/standards/gnds-2.0/summary_gpdc.json +++ b/standards/gnds-2.0/summary_gpdc.json @@ -34,6 +34,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Stores the uncertainty on the parent \\element{double}.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false @@ -197,6 +198,7 @@ "standard": { "__class__": "nodes.ChildNode", "description": "Stores a normally-distributed uncertainty.", + "namespace": "containers", "name": "standard", "occurrence": "1", "required": false @@ -204,6 +206,7 @@ "logNormal": { "__class__": "nodes.ChildNode", "description": "Stores a log-normal-distributed uncertainty.", + "namespace": "containers", "name": "logNormal", "occurrence": "1", "required": false @@ -211,6 +214,7 @@ "confidenceIntervals": { "__class__": "nodes.ChildNode", "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "namespace": "containers", "name": "confidenceIntervals", "occurrence": "1", "required": false @@ -218,6 +222,7 @@ "pdf": { "__class__": "nodes.ChildNode", "description": "Stores a probability distribution as a 1-dimensional function.", + "namespace": "containers", "name": "pdf", "occurrence": "1", "required": false @@ -250,6 +255,7 @@ "Stores a covariance matrix (or a link to a covariance matrix),", "usually for a 1-dimensional function." ], + "namespace": "containers", "name": "covariance", "occurrence": "1", "required": false @@ -283,6 +289,7 @@ "covariance": { "__class__": "nodes.ChildNode", "description": "Covariance matrix (or link to a covariance matrix).", + "namespace": "containers", "name": "covariance", "occurrence": "1+", "required": true @@ -385,6 +392,7 @@ "interval": { "__class__": "nodes.ChildNode", "description": "Stores one confidence interval.", + "namespace": "containers", "name": "interval", "occurrence": "1+", "required": true @@ -1081,6 +1089,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this one-dimensional function.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false @@ -1278,6 +1287,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this one-dimensional function.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false @@ -1384,6 +1394,7 @@ "pdf": { "__class__": "nodes.ChildNode", "description": "Stores the pdf evaluated at each corresponding $x$ value.", + "namespace": "containers", "name": "pdf", "occurrence": "1", "required": true @@ -1521,6 +1532,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this two-dimensional function.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false @@ -1622,6 +1634,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this three-dimensional function.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false @@ -1703,6 +1716,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this one-dimensional function.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false @@ -1755,6 +1769,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this two-dimensional function.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false @@ -1807,6 +1822,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this three-dimensional function.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false diff --git a/standards/gnds-2.0/summary_pops.json b/standards/gnds-2.0/summary_pops.json index adf224e01..6db2b11d0 100644 --- a/standards/gnds-2.0/summary_pops.json +++ b/standards/gnds-2.0/summary_pops.json @@ -256,6 +256,7 @@ "mass": { "__class__": "nodes.ChildNode", "description": "", + "namespace": "pops", "name": "mass", "occurrence": "1", "required": false @@ -347,6 +348,7 @@ "mass": { "__class__": "nodes.ChildNode", "description": "", + "namespace": "pops", "name": "mass", "occurrence": "1", "required": false @@ -430,6 +432,7 @@ "mass": { "__class__": "nodes.ChildNode", "description": "", + "namespace": "pops", "name": "mass", "occurrence": "1", "required": false @@ -646,6 +649,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false }, @@ -708,6 +712,7 @@ "nuclides": { "__class__": "nodes.ChildNode", "description": "", + "namespace": "pops", "name": "nuclides", "occurrence": "1", "required": false @@ -766,6 +771,7 @@ "mass": { "__class__": "nodes.ChildNode", "description": "", + "namespace": "pops", "name": "mass", "occurrence": "1", "required": false @@ -847,6 +853,7 @@ "energy": { "__class__": "nodes.ChildNode", "description": "", + "namespace": "pops", "name": "energy", "occurrence": "1", "required": false @@ -937,6 +944,7 @@ "mass": { "__class__": "nodes.ChildNode", "description": "", + "namespace": "pops", "name": "mass", "occurrence": "1", "required": false @@ -979,6 +987,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false }, @@ -1023,6 +1032,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false }, @@ -1067,6 +1077,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false }, @@ -1110,6 +1121,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false }, @@ -1160,6 +1172,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false }, @@ -1204,6 +1217,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false }, @@ -1313,6 +1327,7 @@ "probability": { "__class__": "nodes.ChildNode", "description": "Probability that this decay mode occurs. Probability of all `decayMode' nodes should sum to 1.0.", + "namespace": "pops", "name": "probability", "occurrence": "1", "required": true @@ -1327,6 +1342,7 @@ "photonEmissionProbabilities": { "__class__": "nodes.ChildNode", "description": "Probability that photons are emitted as part of the decay.", + "namespace": "pops", "name": "photonEmissionProbabilities", "occurrence": "1", "required": false @@ -1334,6 +1350,7 @@ "Q": { "__class__": "nodes.ChildNode", "description": "Decay Q-value.", + "namespace": "pops", "name": "Q", "occurrence": "1", "required": false @@ -1444,6 +1461,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": null, + "namespace": "pops", "name": "uncertainty", "occurrence": "1", "required": false @@ -1524,6 +1542,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false }, @@ -1603,6 +1622,7 @@ "products": { "__class__": "nodes.ChildNode", "description": "List of decay products.", + "namespace": "pops", "name": "products", "occurrence": "1", "required": false @@ -1622,6 +1642,7 @@ "product": { "__class__": "nodes.ChildNode", "description": "Single decay product.", + "namespace": "pops", "name": "product", "occurrence": "1+", "required": true @@ -1773,6 +1794,7 @@ "discreteEnergy": { "__class__": "nodes.ChildNode", "description": "Emitted particle energy.", + "namespace": "pops", "name": "energy", "occurrence": "1", "required": true @@ -1801,6 +1823,7 @@ "photonEmissionProbabilities": { "__class__": "nodes.ChildNode", "description": "Probability that photons are emitted as part of the decay.", + "namespace": "pops", "name": "photonEmissionProbabilities", "occurrence": "1", "required": false @@ -1854,6 +1877,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty on the intensity.", + "namespace": "pops", "name": "uncertainty", "occurrence": "1", "required": false @@ -1896,6 +1920,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty on the intensity.", + "namespace": "pops", "name": "uncertainty", "occurrence": "1", "required": false @@ -1939,6 +1964,7 @@ "required": false }, "uncertainty": { + "namespace": "pops", "occurrence": "1", "required": false } @@ -2009,6 +2035,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": null, + "namespace": "pops", "name": "uncertainty", "occurrence": "1", "required": false @@ -2031,6 +2058,7 @@ "standard": { "__class__": "nodes.ChildNode", "description": "Stores a normally-distributed uncertainty.", + "namespace": "pops", "name": "standard", "occurrence": "1", "required": false @@ -2038,6 +2066,7 @@ "logNormal": { "__class__": "nodes.ChildNode", "description": "Stores a log-normal-distributed uncertainty.", + "namespace": "pops", "name": "logNormal", "occurrence": "1", "required": false @@ -2045,6 +2074,7 @@ "confidenceIntervals": { "__class__": "nodes.ChildNode", "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "namespace": "pops", "name": "confidenceIntervals", "occurrence": "1", "required": false @@ -2052,6 +2082,7 @@ "pdf": { "__class__": "nodes.ChildNode", "description": "Stores a probability distribution as a 1-dimensional function.", + "namespace": "pops", "name": "pdf", "occurrence": "1", "required": false @@ -2115,6 +2146,7 @@ "interval": { "__class__": "nodes.ChildNode", "description": "Stores one confidence interval.", + "namespace": "pops", "name": "interval", "occurrence": "1+", "required": true diff --git a/standards/gnds-2.0/summary_styles.json b/standards/gnds-2.0/summary_styles.json index 77cd475ff..2c6de6273 100644 --- a/standards/gnds-2.0/summary_styles.json +++ b/standards/gnds-2.0/summary_styles.json @@ -157,6 +157,7 @@ "temperature": { "__class__": "nodes.ChildNode", "description": "The temperature the data are evaluated at.", + "namespace": "styles", "name": "temperature", "occurrence": "1", "required": true @@ -316,6 +317,7 @@ "temperature": { "__class__": "nodes.ChildNode", "description": "The temperature the data are evalauted at.", + "namespace": "styles", "name": "temperature", "occurrence": "1", "required": false @@ -368,6 +370,7 @@ "temperature": { "__class__": "nodes.ChildNode", "description": "The temperature the data are evalauted at.", + "namespace": "styles", "name": "temperature", "occurrence": "1", "required": false @@ -476,6 +479,7 @@ "temperature": { "__class__": "nodes.ChildNode", "description": "The temperature the data for this style were heated to.", + "namespace": "styles", "name": "temperature", "occurrence": "1", "required": true @@ -528,6 +532,7 @@ "temperature": { "__class__": "nodes.ChildNode", "description": "The temperature the data for this style were heated to.", + "namespace": "styles", "name": "temperature", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json index 56b580245..7e2dbe0d2 100644 --- a/standards/gnds-2.0/summary_transport.json +++ b/standards/gnds-2.0/summary_transport.json @@ -1132,6 +1132,7 @@ "multiGroup3d": { "__class__": "nodes.ChildNode", "description": "(appears only in processed data files). This is a multi-group Legendre expanded representation with grouped integration over $E$ and $E'$. The representation is used by deterministic transport codes.", + "namespace": "transport", "name": "multiGroup3d", "occurrence": "choice", "required": false @@ -1620,6 +1621,7 @@ "a": { "__class__": "nodes.ChildNode", "description": "Kalbach-Mann $a$ parameter.", + "namespace": "transport", "name": "a", "occurrence": "1", "required": false From d5d42a965172978200b0cd212d673b61afd41d08 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 16:42:12 -0600 Subject: [PATCH 183/235] Disambiguated "uncertainty" in transport and fpy. Based on the content I'm seeing in GNDS files, the "uncertainty" child node in (1) summary_transport.json, and (2) summary_fpy.json, must be containers::uncertainty, not pops::uncertainty. The latter doesn't have sufficient child nodes of its own to cover what I see in the GNDS files. --- standards/gnds-2.0/summary_fpy.json | 1 + standards/gnds-2.0/summary_transport.json | 1 + 2 files changed, 2 insertions(+) diff --git a/standards/gnds-2.0/summary_fpy.json b/standards/gnds-2.0/summary_fpy.json index 12afc9338..9ef072562 100644 --- a/standards/gnds-2.0/summary_fpy.json +++ b/standards/gnds-2.0/summary_fpy.json @@ -203,6 +203,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty/covariance on the actual values, in the order given by the corresponding \\element{nuclides} element.", + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json index 7e2dbe0d2..1b3fcb3fd 100644 --- a/standards/gnds-2.0/summary_transport.json +++ b/standards/gnds-2.0/summary_transport.json @@ -453,6 +453,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": null, + "namespace": "containers", "name": "uncertainty", "occurrence": "1", "required": false From a2df1ced3d1534b5a41446cd08b86ca94980d07f Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 16:45:59 -0600 Subject: [PATCH 184/235] Updated generated code. --- standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp | 2 +- standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h | 2 +- .../try/c/src/v2.0/transport/ResonancesWithBackground.cpp | 2 +- .../try/c/src/v2.0/transport/ResonancesWithBackground.h | 2 +- .../gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp | 2 +- .../v2.0/transport/ResonancesWithBackground.python.cpp | 2 +- standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp | 8 ++++---- .../src/try/v2.0/transport/ResonancesWithBackground.hpp | 8 ++++---- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp index 009872243..e877d0eda 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp @@ -21,7 +21,7 @@ namespace extract { using CPPNuclides = fpy::Nuclides; using CPPValues = containers::Values; -using CPPUncertainty = ambiguousNamespace::Uncertainty; +using CPPUncertainty = containers::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h index ee5d04aeb..3168ac5c3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/fpy/Nuclides.h" #include "v2.0/containers/Values.h" -#include "v2.0/ambiguousNamespace/Uncertainty.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp index 2818242b7..24a2f5a62 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp @@ -22,7 +22,7 @@ namespace extract { using CPPResonancesLink = transport::ResonancesLink; using CPPBackground = transport::Background; -using CPPUncertainty = ambiguousNamespace::Uncertainty; +using CPPUncertainty = containers::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h index 96e876868..ac622c3e2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/transport/ResonancesLink.h" #include "v2.0/transport/Background.h" -#include "v2.0/ambiguousNamespace/Uncertainty.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp index 91614b28a..89fed917c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp @@ -38,7 +38,7 @@ void wrapYields(python::module &module) python::init< const fpy::Nuclides &, const containers::Values &, - const std::optional & + const std::optional & >(), python::arg("nuclides"), python::arg("values"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp index be8289f03..0c7d1ada9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp @@ -39,7 +39,7 @@ void wrapResonancesWithBackground(python::module &module) const XMLName &, const transport::ResonancesLink &, const transport::Background &, - const std::optional & + const std::optional & >(), python::arg("label"), python::arg("resonances"), diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp index 3c751c5d7..18b209ae9 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/fpy/Nuclides.hpp" #include "try/v2.0/containers/Values.hpp" -#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -39,7 +39,7 @@ class Yields : public Component { / --Child<>("nuclides") | containers::Values{} / --Child<>("values") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -50,7 +50,7 @@ class Yields : public Component { // children Field nuclides{this}; Field values{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -65,7 +65,7 @@ class Yields : public Component { explicit Yields( const wrapper &nuclides = {}, const wrapper &values = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), nuclides(this,nuclides), diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp index c9ff50733..072680493 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/transport/ResonancesLink.hpp" #include "try/v2.0/transport/Background.hpp" -#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -42,7 +42,7 @@ class ResonancesWithBackground : public Component("resonances") | transport::Background{} / --Child<>("background") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -56,7 +56,7 @@ class ResonancesWithBackground : public Component resonances{this}; Field background{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -73,7 +73,7 @@ class ResonancesWithBackground : public Component &label = {}, const wrapper &resonances = {}, const wrapper &background = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), From c540f242363232b90a2a2a7df4f9069d73009e47 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 16:53:07 -0600 Subject: [PATCH 185/235] Disambiguated temperature's uncertainty in styles. It appears that this uncertainty can be pops::uncertainty, given that this temperature is a scalar. containers::uncertainty is more expansive, and appears to be overkill for a scalar. --- standards/gnds-2.0/summary_styles.json | 1 + .../gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/styles/Temperature.h | 2 +- .../gnds-2.0/try/python/src/v2.0/pops.python.cpp | 12 ++++++------ .../python/src/v2.0/styles/Temperature.python.cpp | 2 +- .../gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp | 8 ++++---- 6 files changed, 14 insertions(+), 13 deletions(-) diff --git a/standards/gnds-2.0/summary_styles.json b/standards/gnds-2.0/summary_styles.json index 2c6de6273..487473ecb 100644 --- a/standards/gnds-2.0/summary_styles.json +++ b/standards/gnds-2.0/summary_styles.json @@ -269,6 +269,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "The \\elemlink{uncertainty} node.", + "namespace": "pops", "name": "uncertainty", "occurrence": "1", "required": false diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp index bb2ae1dc0..7a05673ef 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp @@ -22,7 +22,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = ambiguousNamespace::Uncertainty; +using CPPUncertainty = pops::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h index a0ef58e71..d57315719 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h +++ b/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/ambiguousNamespace/Uncertainty.h" +#include "v2.0/pops/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp index 463683760..8d2c7aa6e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp @@ -12,15 +12,15 @@ namespace python_v2_0 { // pops declarations namespace python_pops { - void wrapAlias(python::module &); - void wrapMetaStable(python::module &); - void wrapAliases(python::module &); void wrapStandard(python::module &); void wrapLogNormal(python::module &); void wrapInterval(python::module &); void wrapConfidenceIntervals(python::module &); void wrapPdf(python::module &); void wrapUncertainty(python::module &); + void wrapAlias(python::module &); + void wrapMetaStable(python::module &); + void wrapAliases(python::module &); void wrapCharge(python::module &); void wrapHalflife(python::module &); void wrapMass(python::module &); @@ -81,15 +81,15 @@ void wrapPops(python::module &module) ); // wrap pops components - python_pops::wrapAlias(submodule); - python_pops::wrapMetaStable(submodule); - python_pops::wrapAliases(submodule); python_pops::wrapStandard(submodule); python_pops::wrapLogNormal(submodule); python_pops::wrapInterval(submodule); python_pops::wrapConfidenceIntervals(submodule); python_pops::wrapPdf(submodule); python_pops::wrapUncertainty(submodule); + python_pops::wrapAlias(submodule); + python_pops::wrapMetaStable(submodule); + python_pops::wrapAliases(submodule); python_pops::wrapCharge(submodule); python_pops::wrapHalflife(submodule); python_pops::wrapMass(submodule); diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp index 1056b7690..97d9793bf 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp @@ -40,7 +40,7 @@ void wrapTemperature(python::module &module) const Float64 &, const XMLName &, const std::optional &, - const std::optional & + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("value"), diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp b/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp index 38a7ef8dc..77b9db393 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_STYLES_TEMPERATURE #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" +#include "try/v2.0/pops/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -43,7 +43,7 @@ class Temperature : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -58,7 +58,7 @@ class Temperature : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -77,7 +77,7 @@ class Temperature : public Component { const wrapper &value = {}, const wrapper &unit = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), From 7271396fa0a5fa8298175140a36025d3efaf7d4a Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 17:13:34 -0600 Subject: [PATCH 186/235] Disambiguated delayedNeutron's "product" child. This is in: summary_fissionFragmentData.json. The "product" node appears in two namespaces: pops and common. The pops version includes two attributes (label and pid), and no child nodes. The common version include the same two attributes, as well as children multiplicity, distribution, and outputChannel. The "product" description in summary_fissionFragmentData.json says, "Product describing this delayed neutron. Includes average multiplicity and distribution info." So, I infer that the common:: version, not the pops:: version, is required, and I specified "namespace" in order to make this happen. Generated codes are updated accordingly. --- standards/gnds-2.0/summary_fissionFragmentData.json | 1 + .../try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp | 2 +- .../try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h | 2 +- .../v2.0/fissionFragmentData/DelayedNeutron.python.cpp | 2 +- .../src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp | 8 ++++---- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/standards/gnds-2.0/summary_fissionFragmentData.json b/standards/gnds-2.0/summary_fissionFragmentData.json index 113742d9b..1516fd896 100644 --- a/standards/gnds-2.0/summary_fissionFragmentData.json +++ b/standards/gnds-2.0/summary_fissionFragmentData.json @@ -86,6 +86,7 @@ "product": { "__class__": "nodes.ChildNode", "description": "Product describing this delayed neutron. Includes average multiplicity and distribution info.", + "namespace": "common", "name": "product", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp index 94c99fc35..a16de4c8e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp @@ -20,7 +20,7 @@ namespace extract { } using CPPRate = fissionFragmentData::Rate; -using CPPProduct = ambiguousNamespace::Product; +using CPPProduct = common::Product; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h index f6ba0c113..b6bd9a72e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h +++ b/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/fissionFragmentData/Rate.h" -#include "v2.0/ambiguousNamespace/Product.h" +#include "v2.0/common/Product.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp index a766de424..c82141bee 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp @@ -38,7 +38,7 @@ void wrapDelayedNeutron(python::module &module) python::init< const XMLName &, const fissionFragmentData::Rate &, - const ambiguousNamespace::Product & + const common::Product & >(), python::arg("label"), python::arg("rate"), diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp index eeaec586f..ba21915e4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON #include "try/v2.0/fissionFragmentData/Rate.hpp" -#include "try/v2.0/ambiguousNamespace/Product.hpp" +#include "try/v2.0/common/Product.hpp" namespace try { namespace v2_0 { @@ -39,7 +39,7 @@ class DelayedNeutron : public Component { // children fissionFragmentData::Rate{} / --Child<>("rate") | - ambiguousNamespace::Product{} + common::Product{} / --Child<>("product") ; } @@ -52,7 +52,7 @@ class DelayedNeutron : public Component { // children Field rate{this}; - Field product{this}; + Field product{this}; // ------------------------ // Constructors @@ -67,7 +67,7 @@ class DelayedNeutron : public Component { explicit DelayedNeutron( const wrapper &label = {}, const wrapper &rate = {}, - const wrapper &product = {} + const wrapper &product = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), From 08147a116e0d26f1cf79be0bd3129182f7cc8016 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 17:41:57 -0600 Subject: [PATCH 187/235] Inferred three cases of "namespace" in summary_transport.json. Two cases of child node "Q", and one case of child node "products", were inferred, based on content in some GNDS 1.9 files, to be the ones in common::, not the ones in pops::. Generated codes were updated accordingly. --- standards/gnds-2.0/summary_transport.json | 3 +++ .../try/c/src/v2.0/transport/CrossSectionSum.cpp | 2 +- .../try/c/src/v2.0/transport/CrossSectionSum.h | 2 +- .../try/c/src/v2.0/transport/OutputChannel.cpp | 4 ++-- .../try/c/src/v2.0/transport/OutputChannel.h | 4 ++-- .../try/python/src/v2.0/common.python.cpp | 4 ++-- .../v2.0/transport/CrossSectionSum.python.cpp | 2 +- .../src/v2.0/transport/OutputChannel.python.cpp | 4 ++-- .../src/try/v2.0/transport/CrossSectionSum.hpp | 8 ++++---- .../try/src/try/v2.0/transport/OutputChannel.hpp | 16 ++++++++-------- 10 files changed, 26 insertions(+), 23 deletions(-) diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json index 1b3fcb3fd..2d9199714 100644 --- a/standards/gnds-2.0/summary_transport.json +++ b/standards/gnds-2.0/summary_transport.json @@ -290,6 +290,7 @@ "Q": { "__class__": "nodes.ChildNode", "description": "The $Q$-value of the reaction. Fission reactions have a different format than other reactions.", + "namespace": "common", "name": "Q", "occurrence": "1", "required": false @@ -297,6 +298,7 @@ "products": { "__class__": "nodes.ChildNode", "description": "A list of secondary products from the reaction", + "namespace": "common", "name": "products", "occurrence": "1", "required": false @@ -686,6 +688,7 @@ "Q": { "__class__": "nodes.ChildNode", "description": "The $Q$-value of the summed reaction.", + "namespace": "common", "name": "Q", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp index ba05d34b5..4617a6cae 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp @@ -21,7 +21,7 @@ namespace extract { static auto summands = [](auto &obj) { return &obj.summands; }; } -using CPPQ = ambiguousNamespace::Q; +using CPPQ = common::Q; using CPPCrossSection = transport::CrossSection; using CPPSummands = transport::Summands; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h index bd84c645f..75ead2d60 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUM #include "GNDStk.h" -#include "v2.0/ambiguousNamespace/Q.h" +#include "v2.0/common/Q.h" #include "v2.0/transport/CrossSection.h" #include "v2.0/transport/Summands.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp index a50d064d5..1429243ab 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp @@ -21,8 +21,8 @@ namespace extract { static auto fissionFragmentData = [](auto &obj) { return &obj.fissionFragmentData; }; } -using CPPQ = ambiguousNamespace::Q; -using CPPProducts = ambiguousNamespace::Products; +using CPPQ = common::Q; +using CPPProducts = common::Products; using CPPFissionFragmentData = fissionFragmentData::FissionFragmentData; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h b/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h index 64e8b4d05..f58aae2e9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h @@ -32,8 +32,8 @@ #define C_INTERFACE_TRY_V2_0_TRANSPORT_OUTPUTCHANNEL #include "GNDStk.h" -#include "v2.0/ambiguousNamespace/Q.h" -#include "v2.0/ambiguousNamespace/Products.h" +#include "v2.0/common/Q.h" +#include "v2.0/common/Products.h" #include "v2.0/fissionFragmentData/FissionFragmentData.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp index 9fe2d6998..3b2e37e29 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp @@ -13,8 +13,8 @@ namespace python_v2_0 { // common declarations namespace python_common { void wrapQ(python::module &); - void wrapProduct(python::module &); void wrapProducts(python::module &); + void wrapProduct(python::module &); void wrapMass(python::module &); void wrapEnergy(python::module &); void wrapProbability(python::module &); @@ -34,8 +34,8 @@ void wrapCommon(python::module &module) // wrap common components python_common::wrapQ(submodule); - python_common::wrapProduct(submodule); python_common::wrapProducts(submodule); + python_common::wrapProduct(submodule); python_common::wrapMass(submodule); python_common::wrapEnergy(submodule); python_common::wrapProbability(submodule); diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp index ed8358e1d..d91ab0ffc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp @@ -38,7 +38,7 @@ void wrapCrossSectionSum(python::module &module) python::init< const std::optional &, const XMLName &, - const ambiguousNamespace::Q &, + const common::Q &, const transport::CrossSection &, const transport::Summands & >(), diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp index 0ea29a5b1..86c32a50d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp @@ -38,8 +38,8 @@ void wrapOutputChannel(python::module &module) python::init< const std::optional &, const std::optional &, - const std::optional &, - const std::optional &, + const std::optional &, + const std::optional &, const std::optional & >(), python::arg("genre") = std::nullopt, diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp index d7e7b2ba4..e44480780 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_TRANSPORT_CROSSSECTIONSUM #define TRY_V2_0_TRANSPORT_CROSSSECTIONSUM -#include "try/v2.0/ambiguousNamespace/Q.hpp" +#include "try/v2.0/common/Q.hpp" #include "try/v2.0/transport/CrossSection.hpp" #include "try/v2.0/transport/Summands.hpp" @@ -40,7 +40,7 @@ class CrossSectionSum : public Component { XMLName{} / Meta<>("label") | // children - ambiguousNamespace::Q{} + common::Q{} / --Child<>("Q") | transport::CrossSection{} / --Child<>("crossSection") | @@ -57,7 +57,7 @@ class CrossSectionSum : public Component { Field label{this}; // children - Field Q{this}; + Field Q{this}; Field crossSection{this}; Field summands{this}; @@ -76,7 +76,7 @@ class CrossSectionSum : public Component { explicit CrossSectionSum( const wrapper> &ENDF_MT = {}, const wrapper &label = {}, - const wrapper &Q = {}, + const wrapper &Q = {}, const wrapper &crossSection = {}, const wrapper &summands = {} ) : diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp index c7a7eceed..96bc27a1d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp @@ -5,8 +5,8 @@ #ifndef TRY_V2_0_TRANSPORT_OUTPUTCHANNEL #define TRY_V2_0_TRANSPORT_OUTPUTCHANNEL -#include "try/v2.0/ambiguousNamespace/Q.hpp" -#include "try/v2.0/ambiguousNamespace/Products.hpp" +#include "try/v2.0/common/Q.hpp" +#include "try/v2.0/common/Products.hpp" #include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" namespace try { @@ -40,9 +40,9 @@ class OutputChannel : public Component { std::optional{} / Meta<>("process") | // children - std::optional{} + std::optional{} / --Child<>("Q") | - std::optional{} + std::optional{} / --Child<>("products") | std::optional{} / --Child<>("fissionFragmentData") @@ -57,8 +57,8 @@ class OutputChannel : public Component { Field> process{this}; // children - Field> Q{this}; - Field> products{this}; + Field> Q{this}; + Field> products{this}; Field> fissionFragmentData{this}; // ------------------------ @@ -76,8 +76,8 @@ class OutputChannel : public Component { explicit OutputChannel( const wrapper> &genre = {}, const wrapper> &process = {}, - const wrapper> &Q = {}, - const wrapper> &products = {}, + const wrapper> &Q = {}, + const wrapper> &products = {}, const wrapper> &fissionFragmentData = {} ) : GNDSTK_COMPONENT(BlockData{}), From efe80e2f7917275cf07d6e96b44ebe92092be9e9 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 18:02:24 -0600 Subject: [PATCH 188/235] Best guess at correct namespace. In summary_resonance.json, resonanceReaction has child node Q. This could be either common::Q or pops::Q. The description for this Q says: "An optional override for the Q value of the reaction given in the reaction node." Q isn't directly in any nodes I see, but I see it in nodes within nodes. Those s I see have , which only common::Q, not pops::Q, allows for. So, I'm going to infer that namespace common is the correct one. --- standards/gnds-2.0/summary_resonance.json | 1 + .../try/c/src/v2.0/resonances/ResonanceReaction.cpp | 2 +- .../try/c/src/v2.0/resonances/ResonanceReaction.h | 2 +- .../src/v2.0/resonances/ResonanceReaction.python.cpp | 2 +- .../try/src/try/v2.0/resonances/ResonanceReaction.hpp | 8 ++++---- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/standards/gnds-2.0/summary_resonance.json b/standards/gnds-2.0/summary_resonance.json index 6080f1c7e..1aee1fff6 100644 --- a/standards/gnds-2.0/summary_resonance.json +++ b/standards/gnds-2.0/summary_resonance.json @@ -604,6 +604,7 @@ "__class__": "nodes.ChildNode", "description": [ "An optional override for the Q value of the reaction given ", "in the \\texttt{reaction} node." ], + "namespace": "common", "name": "Q", "occurrence": "1", "required": false diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp index 71a906849..b478615a1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp @@ -24,7 +24,7 @@ namespace extract { static auto link = [](auto &obj) { return &obj.link; }; } -using CPPQ = ambiguousNamespace::Q; +using CPPQ = common::Q; using CPPScatteringRadius = resonances::ScatteringRadius; using CPPHardSphereRadius = resonances::HardSphereRadius; using CPPLink = containers::Link; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h index fad7872ac..43c7f2c48 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTION #include "GNDStk.h" -#include "v2.0/ambiguousNamespace/Q.h" +#include "v2.0/common/Q.h" #include "v2.0/resonances/ScatteringRadius.h" #include "v2.0/resonances/HardSphereRadius.h" #include "v2.0/containers/Link.h" diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp index 98d49a224..1021760dc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp @@ -40,7 +40,7 @@ void wrapResonanceReaction(python::module &module) const XMLName &, const std::optional &, const std::optional &, - const std::optional &, + const std::optional &, const std::optional &, const std::optional &, const containers::Link & diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp index ece382f09..066ead800 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_RESONANCES_RESONANCEREACTION #define TRY_V2_0_RESONANCES_RESONANCEREACTION -#include "try/v2.0/ambiguousNamespace/Q.hpp" +#include "try/v2.0/common/Q.hpp" #include "try/v2.0/resonances/ScatteringRadius.hpp" #include "try/v2.0/resonances/HardSphereRadius.hpp" #include "try/v2.0/containers/Link.hpp" @@ -45,7 +45,7 @@ class ResonanceReaction : public Component { Defaulted{false} / Meta<>("eliminated") | // children - std::optional{} + std::optional{} / --Child<>("Q") | std::optional{} / --Child<>("scatteringRadius") | @@ -71,7 +71,7 @@ class ResonanceReaction : public Component { Field> eliminated{this,defaults.eliminated}; // children - Field> Q{this}; + Field> Q{this}; Field> scatteringRadius{this}; Field> hardSphereRadius{this}; Field link{this}; @@ -97,7 +97,7 @@ class ResonanceReaction : public Component { const wrapper &ejectile = {}, const wrapper> &boundaryConditionValue = {}, const wrapper> &eliminated = {}, - const wrapper> &Q = {}, + const wrapper> &Q = {}, const wrapper> &scatteringRadius = {}, const wrapper> &hardSphereRadius = {}, const wrapper &link = {} From 881bd6e6350b8798ce2f4c639ea226d2fea4cf01 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 19:02:56 -0600 Subject: [PATCH 189/235] Added "namespace". In four case in summary_common.json, I assumed that containers::uncertainty, not pops::uncertainty, was the intended uncertainty. --- standards/gnds-2.0/summary_common.json | 4 ++++ standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp | 2 +- standards/gnds-2.0/try/c/src/v2.0/common/Energy.h | 2 +- standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp | 2 +- standards/gnds-2.0/try/c/src/v2.0/common/Mass.h | 2 +- standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp | 2 +- standards/gnds-2.0/try/c/src/v2.0/common/Q.h | 2 +- standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp | 2 +- standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h | 2 +- .../gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp | 2 +- .../gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp | 2 +- .../gnds-2.0/try/python/src/v2.0/common/Q.python.cpp | 2 +- .../try/python/src/v2.0/common/Temperature.python.cpp | 2 +- standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp | 8 ++++---- standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp | 8 ++++---- standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp | 8 ++++---- .../gnds-2.0/try/src/try/v2.0/common/Temperature.hpp | 8 ++++---- 17 files changed, 32 insertions(+), 28 deletions(-) diff --git a/standards/gnds-2.0/summary_common.json b/standards/gnds-2.0/summary_common.json index c0e192d3c..996112a9e 100644 --- a/standards/gnds-2.0/summary_common.json +++ b/standards/gnds-2.0/summary_common.json @@ -32,6 +32,7 @@ "required": false }, "uncertainty": { + "namespace": "containers", "occurrence": "1", "required": false }, @@ -173,6 +174,7 @@ "required": false }, "uncertainty": { + "namespace": "containers", "occurrence": "1", "required": false }, @@ -216,6 +218,7 @@ "required": false }, "uncertainty": { + "namespace": "containers", "occurrence": "1", "required": false }, @@ -284,6 +287,7 @@ "required": false }, "uncertainty": { + "namespace": "containers", "occurrence": "1", "required": false } diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp index 436d81fd6..0d757ccb6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp @@ -23,7 +23,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = ambiguousNamespace::Uncertainty; +using CPPUncertainty = containers::Uncertainty; using CPPDouble = containers::Double; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h index 08cbcc2b3..ce0323ca4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/ambiguousNamespace/Uncertainty.h" +#include "v2.0/containers/Uncertainty.h" #include "v2.0/containers/Double.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp index c6a13c96c..eb55be156 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp @@ -23,7 +23,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = ambiguousNamespace::Uncertainty; +using CPPUncertainty = containers::Uncertainty; using CPPDouble = containers::Double; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h index fc3439e7a..60fdef181 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/ambiguousNamespace/Uncertainty.h" +#include "v2.0/containers/Uncertainty.h" #include "v2.0/containers/Double.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp index ae2d23af0..6ee72e2fa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp @@ -22,7 +22,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = ambiguousNamespace::Uncertainty; +using CPPUncertainty = containers::Uncertainty; using CPPConstant1d = containers::Constant1d; using CPPXYs1d = containers::XYs1d; using CPPRegions1d = containers::Regions1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h b/standards/gnds-2.0/try/c/src/v2.0/common/Q.h index a1ea2f34e..10fb7aa32 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Q.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/ambiguousNamespace/Uncertainty.h" +#include "v2.0/containers/Uncertainty.h" #include "v2.0/containers/Constant1d.h" #include "v2.0/containers/XYs1d.h" #include "v2.0/containers/Regions1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp index 44f8d5325..946810e77 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp @@ -22,7 +22,7 @@ namespace extract { } using CPPDocumentation = documentation::Documentation; -using CPPUncertainty = ambiguousNamespace::Uncertainty; +using CPPUncertainty = containers::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h index 28e1aecd1..084fd2b0a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h +++ b/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" -#include "v2.0/ambiguousNamespace/Uncertainty.h" +#include "v2.0/containers/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp index 8c7e36022..ea144f1ec 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp @@ -40,7 +40,7 @@ void wrapEnergy(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional &, + const std::optional &, const std::vector & >(), python::arg("label") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp index 436661844..30896823b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp @@ -40,7 +40,7 @@ void wrapMass(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional &, + const std::optional &, const std::vector & >(), python::arg("label") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp index 900d1a868..f3057f488 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp @@ -47,7 +47,7 @@ void wrapQ(python::module &module) const std::optional &, const XMLName &, const std::optional &, - const std::optional &, + const std::optional &, const _t & >(), python::arg("label") = std::nullopt, diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp index 99795072d..bee883aa3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp @@ -40,7 +40,7 @@ void wrapTemperature(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional & + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp index 32634386c..40b604823 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COMMON_ENERGY #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" #include "try/v2.0/containers/Double.hpp" namespace try { @@ -44,7 +44,7 @@ class Energy : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") | containers::Double{} / ++Child<>("Double") @@ -61,7 +61,7 @@ class Energy : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; Field> Double{this}; // ------------------------ @@ -82,7 +82,7 @@ class Energy : public Component { const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {}, + const wrapper> &uncertainty = {}, const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp index c0601871c..8f86d3fd2 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COMMON_MASS #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" #include "try/v2.0/containers/Double.hpp" namespace try { @@ -44,7 +44,7 @@ class Mass : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") | containers::Double{} / ++Child<>("Double") @@ -61,7 +61,7 @@ class Mass : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; Field> Double{this}; // ------------------------ @@ -82,7 +82,7 @@ class Mass : public Component { const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {}, + const wrapper> &uncertainty = {}, const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp index 5850c4ea7..1dbb4fa1b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COMMON_Q #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" #include "try/v2.0/containers/Constant1d.hpp" #include "try/v2.0/containers/XYs1d.hpp" #include "try/v2.0/containers/Regions1d.hpp" @@ -56,7 +56,7 @@ class Q : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") | _t{} / --(Child<>("constant1d") || Child<>("XYs1d") || Child<>("regions1d") || Child<>("polynomial1d") || Child<>("gridded1d")) @@ -73,7 +73,7 @@ class Q : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // children - variant Field<_t> _constant1dXYs1dregions1dpolynomial1dgridded1d{this}; @@ -101,7 +101,7 @@ class Q : public Component { const wrapper> &unit = {}, const wrapper &value = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {}, + const wrapper> &uncertainty = {}, const wrapper<_t> &_constant1dXYs1dregions1dpolynomial1dgridded1d = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp b/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp index 5547f3725..d48173d3a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp @@ -6,7 +6,7 @@ #define TRY_V2_0_COMMON_TEMPERATURE #include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/ambiguousNamespace/Uncertainty.hpp" +#include "try/v2.0/containers/Uncertainty.hpp" namespace try { namespace v2_0 { @@ -43,7 +43,7 @@ class Temperature : public Component { // children std::optional{} / --Child<>("documentation") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -58,7 +58,7 @@ class Temperature : public Component { // children Field> documentation{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -77,7 +77,7 @@ class Temperature : public Component { const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), From 266fef0b9e5fa4f70225b5eaf1eef5446944234b Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Sep 2022 20:23:40 -0600 Subject: [PATCH 190/235] Disambiguated an "energy" child node in summary_processed.json. A node named "energy" appears in three namespaces: common, fpy, and pops. Based on a remark Caleb made to me, "...[energy] inside the...'energyAngularMC' distribution type...stores the outgoing energy distribution P(E' | E)." I'm thinking that common::energy appears to be the correct one. --- standards/gnds-2.0/summary_processed.json | 1 + .../gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp | 2 +- .../gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h | 2 +- standards/gnds-2.0/try/python/src/v2.0/common.python.cpp | 4 ++-- .../python/src/v2.0/processed/EnergyAngularMC.python.cpp | 2 +- .../try/src/try/v2.0/processed/EnergyAngularMC.hpp | 8 ++++---- 6 files changed, 10 insertions(+), 9 deletions(-) diff --git a/standards/gnds-2.0/summary_processed.json b/standards/gnds-2.0/summary_processed.json index 21da7c8e5..8b21050be 100644 --- a/standards/gnds-2.0/summary_processed.json +++ b/standards/gnds-2.0/summary_processed.json @@ -111,6 +111,7 @@ "energy": { "__class__": "nodes.ChildNode", "description": "The outgoing particle $E'$ distribution $P(E'|E)$ give the projectile energy using a \\element{XYs2d} or \\element{regions2d} with a list of \\element{xs\\_pdf\\_cdf1d} for its function1d's.", + "namespace": "common", "name": "energy", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp index 0a70f0719..78282d954 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp @@ -20,7 +20,7 @@ namespace extract { static auto energyAngular = [](auto &obj) { return &obj.energyAngular; }; } -using CPPEnergy = ambiguousNamespace::Energy; +using CPPEnergy = common::Energy; using CPPEnergyAngular = transport::EnergyAngular; diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h b/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h index dedc8f5ee..4e5c8db06 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_PROCESSED_ENERGYANGULARMC #include "GNDStk.h" -#include "v2.0/ambiguousNamespace/Energy.h" +#include "v2.0/common/Energy.h" #include "v2.0/transport/EnergyAngular.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp index 3b2e37e29..ed69cf8fa 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp @@ -13,10 +13,10 @@ namespace python_v2_0 { // common declarations namespace python_common { void wrapQ(python::module &); + void wrapEnergy(python::module &); void wrapProducts(python::module &); void wrapProduct(python::module &); void wrapMass(python::module &); - void wrapEnergy(python::module &); void wrapProbability(python::module &); void wrapTemperature(python::module &); void wrapExternalFile(python::module &); @@ -34,10 +34,10 @@ void wrapCommon(python::module &module) // wrap common components python_common::wrapQ(submodule); + python_common::wrapEnergy(submodule); python_common::wrapProducts(submodule); python_common::wrapProduct(submodule); python_common::wrapMass(submodule); - python_common::wrapEnergy(submodule); python_common::wrapProbability(submodule); python_common::wrapTemperature(submodule); python_common::wrapExternalFile(submodule); diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp index 9f20505aa..c3f871484 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp @@ -38,7 +38,7 @@ void wrapEnergyAngularMC(python::module &module) python::init< const XMLName &, const XMLName &, - const ambiguousNamespace::Energy &, + const common::Energy &, const transport::EnergyAngular & >(), python::arg("label"), diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC.hpp index c7d9d49b6..e751ae0ce 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_PROCESSED_ENERGYANGULARMC #define TRY_V2_0_PROCESSED_ENERGYANGULARMC -#include "try/v2.0/ambiguousNamespace/Energy.hpp" +#include "try/v2.0/common/Energy.hpp" #include "try/v2.0/transport/EnergyAngular.hpp" namespace try { @@ -39,7 +39,7 @@ class EnergyAngularMC : public Component { XMLName{} / Meta<>("productFrame") | // children - ambiguousNamespace::Energy{} + common::Energy{} / --Child<>("energy") | transport::EnergyAngular{} / --Child<>("energyAngular") @@ -54,7 +54,7 @@ class EnergyAngularMC : public Component { Field productFrame{this}; // children - Field energy{this}; + Field energy{this}; Field energyAngular{this}; // ------------------------ @@ -71,7 +71,7 @@ class EnergyAngularMC : public Component { explicit EnergyAngularMC( const wrapper &label = {}, const wrapper &productFrame = {}, - const wrapper &energy = {}, + const wrapper &energy = {}, const wrapper &energyAngular = {} ) : GNDSTK_COMPONENT(BlockData{}), From 6958b418f311f60975ca93589717bb08b10d26b6 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 7 Sep 2022 14:13:33 -0600 Subject: [PATCH 191/235] Pointed to proper child nodes. Child node keys (as opposed to the given "name" value) should refer to node names, not to node "name" values. So... In summary_gpdc.json: xs ==> xs_in_xs_pdf_cdf1d cdf ==> cdf_in_xs_pdf_cdf1d In summary_processed.json: angular ==> angular_uncorrelated In summary_resonance.json: PoPs ==> PoPs_database In summary_transport.json: PoPs ==> PoPs_database --- standards/gnds-2.0/summary_gpdc.json | 4 +- standards/gnds-2.0/summary_processed.json | 2 +- standards/gnds-2.0/summary_resonance.json | 6 +- standards/gnds-2.0/summary_transport.json | 2 +- .../c/src/v2.0/containers/Xs_pdf_cdf1d.cpp | 72 +++++++++---------- .../try/c/src/v2.0/containers/Xs_pdf_cdf1d.h | 36 +++++----- .../c/src/v2.0/processed/AngularEnergyMC.cpp | 36 +++++----- .../c/src/v2.0/processed/AngularEnergyMC.h | 18 ++--- .../try/c/src/v2.0/resonances/BreitWigner.cpp | 36 +++++----- .../try/c/src/v2.0/resonances/BreitWigner.h | 18 ++--- .../try/c/src/v2.0/resonances/RMatrix.cpp | 36 +++++----- .../try/c/src/v2.0/resonances/RMatrix.h | 18 ++--- .../c/src/v2.0/resonances/TabulatedWidths.cpp | 36 +++++----- .../c/src/v2.0/resonances/TabulatedWidths.h | 18 ++--- .../c/src/v2.0/transport/ReactionSuite.cpp | 36 +++++----- .../try/c/src/v2.0/transport/ReactionSuite.h | 18 ++--- .../try/python/src/v2.0/containers.python.cpp | 8 +-- .../v2.0/containers/Xs_pdf_cdf1d.python.cpp | 4 +- .../v2.0/processed/AngularEnergyMC.python.cpp | 2 +- .../v2.0/resonances/BreitWigner.python.cpp | 2 +- .../src/v2.0/resonances/RMatrix.python.cpp | 2 +- .../resonances/TabulatedWidths.python.cpp | 2 +- .../v2.0/transport/ReactionSuite.python.cpp | 2 +- .../src/try/v2.0/containers/Xs_pdf_cdf1d.hpp | 16 ++--- .../try/v2.0/processed/AngularEnergyMC.hpp | 8 +-- .../src/try/v2.0/resonances/BreitWigner.hpp | 8 +-- .../try/src/try/v2.0/resonances/RMatrix.hpp | 8 +-- .../try/v2.0/resonances/TabulatedWidths.hpp | 8 +-- .../src/try/v2.0/transport/ReactionSuite.hpp | 8 +-- 29 files changed, 235 insertions(+), 235 deletions(-) diff --git a/standards/gnds-2.0/summary_gpdc.json b/standards/gnds-2.0/summary_gpdc.json index bf9542ee4..65d2fe7ab 100644 --- a/standards/gnds-2.0/summary_gpdc.json +++ b/standards/gnds-2.0/summary_gpdc.json @@ -1384,7 +1384,7 @@ }, "bodyText": null, "childNodes": { - "xs": { + "xs_in_xs_pdf_cdf1d": { "__class__": "nodes.ChildNode", "description": "Defines the common list of $x$ values for the pdf and cdf.", "name": "xs", @@ -1399,7 +1399,7 @@ "occurrence": "1", "required": true }, - "cdf": { + "cdf_in_xs_pdf_cdf1d": { "__class__": "nodes.ChildNode", "description": "Stores the cdf evaluated at each corresponding $x$ value.", "name": "cdf", diff --git a/standards/gnds-2.0/summary_processed.json b/standards/gnds-2.0/summary_processed.json index 8b21050be..e4a5ab114 100644 --- a/standards/gnds-2.0/summary_processed.json +++ b/standards/gnds-2.0/summary_processed.json @@ -59,7 +59,7 @@ }, "bodyText": null, "childNodes": { - "angular": { + "angular_uncorrelated": { "__class__": "nodes.ChildNode", "description": "The outgoing particle $\\mu$ distribution $P(\\mu|E)$ give the projectile energy using a \\element{XYs2d} or \\element{regions2d} is a list of \\element{xs\\_pdf\\_cdf1d} for its function1d's.", "name": "angular", diff --git a/standards/gnds-2.0/summary_resonance.json b/standards/gnds-2.0/summary_resonance.json index 1aee1fff6..e5ae9547a 100644 --- a/standards/gnds-2.0/summary_resonance.json +++ b/standards/gnds-2.0/summary_resonance.json @@ -488,7 +488,7 @@ }, "bodyText": null, "childNodes": { - "PoPs": { + "PoPs_database": { "__class__": "nodes.ChildNode", "description": [ "Particle database to be used for the resonance reconstruction. ", "This element only needs to be given if mass or spin values ", @@ -934,7 +934,7 @@ }, "bodyText": null, "childNodes": { - "PoPs": { + "PoPs_database": { "__class__": "nodes.ChildNode", "description": [ "Particle database to be used for the resonance reconstruction. ", "This element only needs to be given if mass or spin values ", @@ -1063,7 +1063,7 @@ }, "bodyText": null, "childNodes": { - "PoPs": { + "PoPs_database": { "__class__": "nodes.ChildNode", "description": [ "Particle database to be used for the resonance reconstruction. ", "This element only needs to be given if mass or spin values ", diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json index 2d9199714..b5e521968 100644 --- a/standards/gnds-2.0/summary_transport.json +++ b/standards/gnds-2.0/summary_transport.json @@ -71,7 +71,7 @@ "occurrence": "1", "required": true }, - "PoPs": { + "PoPs_database": { "__class__": "nodes.ChildNode", "description": "Particle database, as described in document~\\cite{PoPs}. The database describes all particles involved in the reactionSuite, including projectile, target and reaction products.", "name": "PoPs", diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp index 851418747..d785b2de0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp @@ -20,9 +20,9 @@ namespace extract { static auto cdf = [](auto &obj) { return &obj.cdf; }; } -using CPPXs = unknownNamespace::Xs; +using CPPXs_in_xs_pdf_cdf1d = containers::Xs_in_xs_pdf_cdf1d; using CPPPdf = containers::Pdf; -using CPPCdf = unknownNamespace::Cdf; +using CPPCdf_in_xs_pdf_cdf1d = containers::Cdf_in_xs_pdf_cdf1d; // ----------------------------------------------------------------------------- @@ -50,16 +50,16 @@ Xs_pdf_cdf1dDefault() Handle2ConstXs_pdf_cdf1d Xs_pdf_cdf1dCreateConst( const Float64 outerDomainValue, - ConstHandle2ConstXs xs, + ConstHandle2ConstXs_in_xs_pdf_cdf1d xs, ConstHandle2ConstPdf pdf, - ConstHandle2ConstCdf cdf + ConstHandle2ConstCdf_in_xs_pdf_cdf1d cdf ) { ConstHandle2Xs_pdf_cdf1d handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", outerDomainValue, - detail::tocpp(xs), + detail::tocpp(xs), detail::tocpp(pdf), - detail::tocpp(cdf) + detail::tocpp(cdf) ); return handle; } @@ -68,16 +68,16 @@ Xs_pdf_cdf1dCreateConst( Handle2Xs_pdf_cdf1d Xs_pdf_cdf1dCreate( const Float64 outerDomainValue, - ConstHandle2ConstXs xs, + ConstHandle2ConstXs_in_xs_pdf_cdf1d xs, ConstHandle2ConstPdf pdf, - ConstHandle2ConstCdf cdf + ConstHandle2ConstCdf_in_xs_pdf_cdf1d cdf ) { ConstHandle2Xs_pdf_cdf1d handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", outerDomainValue, - detail::tocpp(xs), + detail::tocpp(xs), detail::tocpp(pdf), - detail::tocpp(cdf) + detail::tocpp(cdf) ); return handle; } @@ -190,34 +190,34 @@ Xs_pdf_cdf1dOuterDomainValueSet(ConstHandle2Xs_pdf_cdf1d This, const Float64 out // Has int -Xs_pdf_cdf1dXsHas(ConstHandle2ConstXs_pdf_cdf1d This) +Xs_pdf_cdf1dXs_in_xs_pdf_cdf1dHas(ConstHandle2ConstXs_pdf_cdf1d This) { return detail::hasField - (CLASSNAME, CLASSNAME+"XsHas", This, extract::xs); + (CLASSNAME, CLASSNAME+"Xs_in_xs_pdf_cdf1dHas", This, extract::xs); } // Get, const -Handle2ConstXs -Xs_pdf_cdf1dXsGetConst(ConstHandle2ConstXs_pdf_cdf1d This) +Handle2ConstXs_in_xs_pdf_cdf1d +Xs_pdf_cdf1dXs_in_xs_pdf_cdf1dGetConst(ConstHandle2ConstXs_pdf_cdf1d This) { - return detail::getField - (CLASSNAME, CLASSNAME+"XsGetConst", This, extract::xs); + return detail::getField + (CLASSNAME, CLASSNAME+"Xs_in_xs_pdf_cdf1dGetConst", This, extract::xs); } // Get, non-const -Handle2Xs -Xs_pdf_cdf1dXsGet(ConstHandle2Xs_pdf_cdf1d This) +Handle2Xs_in_xs_pdf_cdf1d +Xs_pdf_cdf1dXs_in_xs_pdf_cdf1dGet(ConstHandle2Xs_pdf_cdf1d This) { - return detail::getField - (CLASSNAME, CLASSNAME+"XsGet", This, extract::xs); + return detail::getField + (CLASSNAME, CLASSNAME+"Xs_in_xs_pdf_cdf1dGet", This, extract::xs); } // Set void -Xs_pdf_cdf1dXsSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstXs xs) +Xs_pdf_cdf1dXs_in_xs_pdf_cdf1dSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstXs_in_xs_pdf_cdf1d xs) { - detail::setField - (CLASSNAME, CLASSNAME+"XsSet", This, extract::xs, xs); + detail::setField + (CLASSNAME, CLASSNAME+"Xs_in_xs_pdf_cdf1dSet", This, extract::xs, xs); } @@ -264,32 +264,32 @@ Xs_pdf_cdf1dPdfSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstPdf pdf) // Has int -Xs_pdf_cdf1dCdfHas(ConstHandle2ConstXs_pdf_cdf1d This) +Xs_pdf_cdf1dCdf_in_xs_pdf_cdf1dHas(ConstHandle2ConstXs_pdf_cdf1d This) { return detail::hasField - (CLASSNAME, CLASSNAME+"CdfHas", This, extract::cdf); + (CLASSNAME, CLASSNAME+"Cdf_in_xs_pdf_cdf1dHas", This, extract::cdf); } // Get, const -Handle2ConstCdf -Xs_pdf_cdf1dCdfGetConst(ConstHandle2ConstXs_pdf_cdf1d This) +Handle2ConstCdf_in_xs_pdf_cdf1d +Xs_pdf_cdf1dCdf_in_xs_pdf_cdf1dGetConst(ConstHandle2ConstXs_pdf_cdf1d This) { - return detail::getField - (CLASSNAME, CLASSNAME+"CdfGetConst", This, extract::cdf); + return detail::getField + (CLASSNAME, CLASSNAME+"Cdf_in_xs_pdf_cdf1dGetConst", This, extract::cdf); } // Get, non-const -Handle2Cdf -Xs_pdf_cdf1dCdfGet(ConstHandle2Xs_pdf_cdf1d This) +Handle2Cdf_in_xs_pdf_cdf1d +Xs_pdf_cdf1dCdf_in_xs_pdf_cdf1dGet(ConstHandle2Xs_pdf_cdf1d This) { - return detail::getField - (CLASSNAME, CLASSNAME+"CdfGet", This, extract::cdf); + return detail::getField + (CLASSNAME, CLASSNAME+"Cdf_in_xs_pdf_cdf1dGet", This, extract::cdf); } // Set void -Xs_pdf_cdf1dCdfSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstCdf cdf) +Xs_pdf_cdf1dCdf_in_xs_pdf_cdf1dSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstCdf_in_xs_pdf_cdf1d cdf) { - detail::setField - (CLASSNAME, CLASSNAME+"CdfSet", This, extract::cdf, cdf); + detail::setField + (CLASSNAME, CLASSNAME+"Cdf_in_xs_pdf_cdf1dSet", This, extract::cdf, cdf); } diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h index e1e0c3877..1671cb8a5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h @@ -32,9 +32,9 @@ #define C_INTERFACE_TRY_V2_0_CONTAINERS_XS_PDF_CDF1D #include "GNDStk.h" -#include "v2.0/unknownNamespace/Xs.h" +#include "v2.0/containers/Xs_in_xs_pdf_cdf1d.h" #include "v2.0/containers/Pdf.h" -#include "v2.0/unknownNamespace/Cdf.h" +#include "v2.0/containers/Cdf_in_xs_pdf_cdf1d.h" #ifdef __cplusplus #define extern_c extern "C" @@ -80,18 +80,18 @@ Xs_pdf_cdf1dDefault(); extern_c Handle2ConstXs_pdf_cdf1d Xs_pdf_cdf1dCreateConst( const Float64 outerDomainValue, - ConstHandle2ConstXs xs, + ConstHandle2ConstXs_in_xs_pdf_cdf1d xs, ConstHandle2ConstPdf pdf, - ConstHandle2ConstCdf cdf + ConstHandle2ConstCdf_in_xs_pdf_cdf1d cdf ); // +++ Create, general extern_c Handle2Xs_pdf_cdf1d Xs_pdf_cdf1dCreate( const Float64 outerDomainValue, - ConstHandle2ConstXs xs, + ConstHandle2ConstXs_in_xs_pdf_cdf1d xs, ConstHandle2ConstPdf pdf, - ConstHandle2ConstCdf cdf + ConstHandle2ConstCdf_in_xs_pdf_cdf1d cdf ); // +++ Assign @@ -162,19 +162,19 @@ Xs_pdf_cdf1dOuterDomainValueSet(ConstHandle2Xs_pdf_cdf1d This, const Float64 out // +++ Has extern_c int -Xs_pdf_cdf1dXsHas(ConstHandle2ConstXs_pdf_cdf1d This); +Xs_pdf_cdf1dXs_in_xs_pdf_cdf1dHas(ConstHandle2ConstXs_pdf_cdf1d This); // --- Get, const -extern_c Handle2ConstXs -Xs_pdf_cdf1dXsGetConst(ConstHandle2ConstXs_pdf_cdf1d This); +extern_c Handle2ConstXs_in_xs_pdf_cdf1d +Xs_pdf_cdf1dXs_in_xs_pdf_cdf1dGetConst(ConstHandle2ConstXs_pdf_cdf1d This); // +++ Get, non-const -extern_c Handle2Xs -Xs_pdf_cdf1dXsGet(ConstHandle2Xs_pdf_cdf1d This); +extern_c Handle2Xs_in_xs_pdf_cdf1d +Xs_pdf_cdf1dXs_in_xs_pdf_cdf1dGet(ConstHandle2Xs_pdf_cdf1d This); // +++ Set extern_c void -Xs_pdf_cdf1dXsSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstXs xs); +Xs_pdf_cdf1dXs_in_xs_pdf_cdf1dSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstXs_in_xs_pdf_cdf1d xs); // ----------------------------------------------------------------------------- @@ -204,19 +204,19 @@ Xs_pdf_cdf1dPdfSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstPdf pdf); // +++ Has extern_c int -Xs_pdf_cdf1dCdfHas(ConstHandle2ConstXs_pdf_cdf1d This); +Xs_pdf_cdf1dCdf_in_xs_pdf_cdf1dHas(ConstHandle2ConstXs_pdf_cdf1d This); // --- Get, const -extern_c Handle2ConstCdf -Xs_pdf_cdf1dCdfGetConst(ConstHandle2ConstXs_pdf_cdf1d This); +extern_c Handle2ConstCdf_in_xs_pdf_cdf1d +Xs_pdf_cdf1dCdf_in_xs_pdf_cdf1dGetConst(ConstHandle2ConstXs_pdf_cdf1d This); // +++ Get, non-const -extern_c Handle2Cdf -Xs_pdf_cdf1dCdfGet(ConstHandle2Xs_pdf_cdf1d This); +extern_c Handle2Cdf_in_xs_pdf_cdf1d +Xs_pdf_cdf1dCdf_in_xs_pdf_cdf1dGet(ConstHandle2Xs_pdf_cdf1d This); // +++ Set extern_c void -Xs_pdf_cdf1dCdfSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstCdf cdf); +Xs_pdf_cdf1dCdf_in_xs_pdf_cdf1dSet(ConstHandle2Xs_pdf_cdf1d This, ConstHandle2ConstCdf_in_xs_pdf_cdf1d cdf); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp b/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp index 1ac99153e..6079bb65a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp @@ -20,7 +20,7 @@ namespace extract { static auto angularEnergy = [](auto &obj) { return &obj.angularEnergy; }; } -using CPPAngular = unknownNamespace::Angular; +using CPPAngular_uncorrelated = transport::Angular_uncorrelated; using CPPAngularEnergy = transport::AngularEnergy; @@ -50,14 +50,14 @@ Handle2ConstAngularEnergyMC AngularEnergyMCCreateConst( const XMLName label, const XMLName productFrame, - ConstHandle2ConstAngular angular, + ConstHandle2ConstAngular_uncorrelated angular, ConstHandle2ConstAngularEnergy angularEnergy ) { ConstHandle2AngularEnergyMC handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", label, productFrame, - detail::tocpp(angular), + detail::tocpp(angular), detail::tocpp(angularEnergy) ); return handle; @@ -68,14 +68,14 @@ Handle2AngularEnergyMC AngularEnergyMCCreate( const XMLName label, const XMLName productFrame, - ConstHandle2ConstAngular angular, + ConstHandle2ConstAngular_uncorrelated angular, ConstHandle2ConstAngularEnergy angularEnergy ) { ConstHandle2AngularEnergyMC handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", label, productFrame, - detail::tocpp(angular), + detail::tocpp(angular), detail::tocpp(angularEnergy) ); return handle; @@ -219,34 +219,34 @@ AngularEnergyMCProductFrameSet(ConstHandle2AngularEnergyMC This, const XMLName p // Has int -AngularEnergyMCAngularHas(ConstHandle2ConstAngularEnergyMC This) +AngularEnergyMCAngular_uncorrelatedHas(ConstHandle2ConstAngularEnergyMC This) { return detail::hasField - (CLASSNAME, CLASSNAME+"AngularHas", This, extract::angular); + (CLASSNAME, CLASSNAME+"Angular_uncorrelatedHas", This, extract::angular); } // Get, const -Handle2ConstAngular -AngularEnergyMCAngularGetConst(ConstHandle2ConstAngularEnergyMC This) +Handle2ConstAngular_uncorrelated +AngularEnergyMCAngular_uncorrelatedGetConst(ConstHandle2ConstAngularEnergyMC This) { - return detail::getField - (CLASSNAME, CLASSNAME+"AngularGetConst", This, extract::angular); + return detail::getField + (CLASSNAME, CLASSNAME+"Angular_uncorrelatedGetConst", This, extract::angular); } // Get, non-const -Handle2Angular -AngularEnergyMCAngularGet(ConstHandle2AngularEnergyMC This) +Handle2Angular_uncorrelated +AngularEnergyMCAngular_uncorrelatedGet(ConstHandle2AngularEnergyMC This) { - return detail::getField - (CLASSNAME, CLASSNAME+"AngularGet", This, extract::angular); + return detail::getField + (CLASSNAME, CLASSNAME+"Angular_uncorrelatedGet", This, extract::angular); } // Set void -AngularEnergyMCAngularSet(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngular angular) +AngularEnergyMCAngular_uncorrelatedSet(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngular_uncorrelated angular) { - detail::setField - (CLASSNAME, CLASSNAME+"AngularSet", This, extract::angular, angular); + detail::setField + (CLASSNAME, CLASSNAME+"Angular_uncorrelatedSet", This, extract::angular, angular); } diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h b/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h index 7ce511c9d..e07a7b485 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h +++ b/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_PROCESSED_ANGULARENERGYMC #include "GNDStk.h" -#include "v2.0/unknownNamespace/Angular.h" +#include "v2.0/transport/Angular_uncorrelated.h" #include "v2.0/transport/AngularEnergy.h" #ifdef __cplusplus @@ -80,7 +80,7 @@ extern_c Handle2ConstAngularEnergyMC AngularEnergyMCCreateConst( const XMLName label, const XMLName productFrame, - ConstHandle2ConstAngular angular, + ConstHandle2ConstAngular_uncorrelated angular, ConstHandle2ConstAngularEnergy angularEnergy ); @@ -89,7 +89,7 @@ extern_c Handle2AngularEnergyMC AngularEnergyMCCreate( const XMLName label, const XMLName productFrame, - ConstHandle2ConstAngular angular, + ConstHandle2ConstAngular_uncorrelated angular, ConstHandle2ConstAngularEnergy angularEnergy ); @@ -179,19 +179,19 @@ AngularEnergyMCProductFrameSet(ConstHandle2AngularEnergyMC This, const XMLName p // +++ Has extern_c int -AngularEnergyMCAngularHas(ConstHandle2ConstAngularEnergyMC This); +AngularEnergyMCAngular_uncorrelatedHas(ConstHandle2ConstAngularEnergyMC This); // --- Get, const -extern_c Handle2ConstAngular -AngularEnergyMCAngularGetConst(ConstHandle2ConstAngularEnergyMC This); +extern_c Handle2ConstAngular_uncorrelated +AngularEnergyMCAngular_uncorrelatedGetConst(ConstHandle2ConstAngularEnergyMC This); // +++ Get, non-const -extern_c Handle2Angular -AngularEnergyMCAngularGet(ConstHandle2AngularEnergyMC This); +extern_c Handle2Angular_uncorrelated +AngularEnergyMCAngular_uncorrelatedGet(ConstHandle2AngularEnergyMC This); // +++ Set extern_c void -AngularEnergyMCAngularSet(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngular angular); +AngularEnergyMCAngular_uncorrelatedSet(ConstHandle2AngularEnergyMC This, ConstHandle2ConstAngular_uncorrelated angular); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp index 4b93c43e4..a66f4ec2c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp @@ -24,7 +24,7 @@ namespace extract { static auto resonanceParameters = [](auto &obj) { return &obj.resonanceParameters; }; } -using CPPPoPs = unknownNamespace::PoPs; +using CPPPoPs_database = pops::PoPs_database; using CPPScatteringRadius = resonances::ScatteringRadius; using CPPHardSphereRadius = resonances::HardSphereRadius; using CPPResonanceParameters = resonances::ResonanceParameters; @@ -58,7 +58,7 @@ BreitWignerCreateConst( const XMLName approximation, const bool calculateChannelRadius, const bool useForSelfShieldingOnly, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstScatteringRadius scatteringRadius, ConstHandle2ConstHardSphereRadius hardSphereRadius, ConstHandle2ConstResonanceParameters resonanceParameters @@ -69,7 +69,7 @@ BreitWignerCreateConst( approximation, calculateChannelRadius, useForSelfShieldingOnly, - detail::tocpp(PoPs), + detail::tocpp(PoPs), detail::tocpp(scatteringRadius), detail::tocpp(hardSphereRadius), detail::tocpp(resonanceParameters) @@ -84,7 +84,7 @@ BreitWignerCreate( const XMLName approximation, const bool calculateChannelRadius, const bool useForSelfShieldingOnly, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstScatteringRadius scatteringRadius, ConstHandle2ConstHardSphereRadius hardSphereRadius, ConstHandle2ConstResonanceParameters resonanceParameters @@ -95,7 +95,7 @@ BreitWignerCreate( approximation, calculateChannelRadius, useForSelfShieldingOnly, - detail::tocpp(PoPs), + detail::tocpp(PoPs), detail::tocpp(scatteringRadius), detail::tocpp(hardSphereRadius), detail::tocpp(resonanceParameters) @@ -301,34 +301,34 @@ BreitWignerUseForSelfShieldingOnlySet(ConstHandle2BreitWigner This, const bool u // Has int -BreitWignerPoPsHas(ConstHandle2ConstBreitWigner This) +BreitWignerPoPs_databaseHas(ConstHandle2ConstBreitWigner This) { return detail::hasField - (CLASSNAME, CLASSNAME+"PoPsHas", This, extract::PoPs); + (CLASSNAME, CLASSNAME+"PoPs_databaseHas", This, extract::PoPs); } // Get, const -Handle2ConstPoPs -BreitWignerPoPsGetConst(ConstHandle2ConstBreitWigner This) +Handle2ConstPoPs_database +BreitWignerPoPs_databaseGetConst(ConstHandle2ConstBreitWigner This) { - return detail::getField - (CLASSNAME, CLASSNAME+"PoPsGetConst", This, extract::PoPs); + return detail::getField + (CLASSNAME, CLASSNAME+"PoPs_databaseGetConst", This, extract::PoPs); } // Get, non-const -Handle2PoPs -BreitWignerPoPsGet(ConstHandle2BreitWigner This) +Handle2PoPs_database +BreitWignerPoPs_databaseGet(ConstHandle2BreitWigner This) { - return detail::getField - (CLASSNAME, CLASSNAME+"PoPsGet", This, extract::PoPs); + return detail::getField + (CLASSNAME, CLASSNAME+"PoPs_databaseGet", This, extract::PoPs); } // Set void -BreitWignerPoPsSet(ConstHandle2BreitWigner This, ConstHandle2ConstPoPs PoPs) +BreitWignerPoPs_databaseSet(ConstHandle2BreitWigner This, ConstHandle2ConstPoPs_database PoPs) { - detail::setField - (CLASSNAME, CLASSNAME+"PoPsSet", This, extract::PoPs, PoPs); + detail::setField + (CLASSNAME, CLASSNAME+"PoPs_databaseSet", This, extract::PoPs, PoPs); } diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h index 27f37e40f..ed13eaa03 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_BREITWIGNER #include "GNDStk.h" -#include "v2.0/unknownNamespace/PoPs.h" +#include "v2.0/pops/PoPs_database.h" #include "v2.0/resonances/ScatteringRadius.h" #include "v2.0/resonances/HardSphereRadius.h" #include "v2.0/resonances/ResonanceParameters.h" @@ -84,7 +84,7 @@ BreitWignerCreateConst( const XMLName approximation, const bool calculateChannelRadius, const bool useForSelfShieldingOnly, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstScatteringRadius scatteringRadius, ConstHandle2ConstHardSphereRadius hardSphereRadius, ConstHandle2ConstResonanceParameters resonanceParameters @@ -97,7 +97,7 @@ BreitWignerCreate( const XMLName approximation, const bool calculateChannelRadius, const bool useForSelfShieldingOnly, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstScatteringRadius scatteringRadius, ConstHandle2ConstHardSphereRadius hardSphereRadius, ConstHandle2ConstResonanceParameters resonanceParameters @@ -225,19 +225,19 @@ BreitWignerUseForSelfShieldingOnlySet(ConstHandle2BreitWigner This, const bool u // +++ Has extern_c int -BreitWignerPoPsHas(ConstHandle2ConstBreitWigner This); +BreitWignerPoPs_databaseHas(ConstHandle2ConstBreitWigner This); // --- Get, const -extern_c Handle2ConstPoPs -BreitWignerPoPsGetConst(ConstHandle2ConstBreitWigner This); +extern_c Handle2ConstPoPs_database +BreitWignerPoPs_databaseGetConst(ConstHandle2ConstBreitWigner This); // +++ Get, non-const -extern_c Handle2PoPs -BreitWignerPoPsGet(ConstHandle2BreitWigner This); +extern_c Handle2PoPs_database +BreitWignerPoPs_databaseGet(ConstHandle2BreitWigner This); // +++ Set extern_c void -BreitWignerPoPsSet(ConstHandle2BreitWigner This, ConstHandle2ConstPoPs PoPs); +BreitWignerPoPs_databaseSet(ConstHandle2BreitWigner This, ConstHandle2ConstPoPs_database PoPs); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp index f3ac74819..b005e60d5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp @@ -27,7 +27,7 @@ namespace extract { static auto spinGroups = [](auto &obj) { return &obj.spinGroups; }; } -using CPPPoPs = unknownNamespace::PoPs; +using CPPPoPs_database = pops::PoPs_database; using CPPResonanceReactions = resonances::ResonanceReactions; using CPPSpinGroups = resonances::SpinGroups; @@ -64,7 +64,7 @@ RMatrixCreateConst( const bool calculatePenetrability, const bool useForSelfShieldingOnly, const bool supportsAngularReconstruction, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstResonanceReactions resonanceReactions, ConstHandle2ConstSpinGroups spinGroups ) { @@ -78,7 +78,7 @@ RMatrixCreateConst( calculatePenetrability, useForSelfShieldingOnly, supportsAngularReconstruction, - detail::tocpp(PoPs), + detail::tocpp(PoPs), detail::tocpp(resonanceReactions), detail::tocpp(spinGroups) ); @@ -96,7 +96,7 @@ RMatrixCreate( const bool calculatePenetrability, const bool useForSelfShieldingOnly, const bool supportsAngularReconstruction, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstResonanceReactions resonanceReactions, ConstHandle2ConstSpinGroups spinGroups ) { @@ -110,7 +110,7 @@ RMatrixCreate( calculatePenetrability, useForSelfShieldingOnly, supportsAngularReconstruction, - detail::tocpp(PoPs), + detail::tocpp(PoPs), detail::tocpp(resonanceReactions), detail::tocpp(spinGroups) ); @@ -435,34 +435,34 @@ RMatrixSupportsAngularReconstructionSet(ConstHandle2RMatrix This, const bool sup // Has int -RMatrixPoPsHas(ConstHandle2ConstRMatrix This) +RMatrixPoPs_databaseHas(ConstHandle2ConstRMatrix This) { return detail::hasField - (CLASSNAME, CLASSNAME+"PoPsHas", This, extract::PoPs); + (CLASSNAME, CLASSNAME+"PoPs_databaseHas", This, extract::PoPs); } // Get, const -Handle2ConstPoPs -RMatrixPoPsGetConst(ConstHandle2ConstRMatrix This) +Handle2ConstPoPs_database +RMatrixPoPs_databaseGetConst(ConstHandle2ConstRMatrix This) { - return detail::getField - (CLASSNAME, CLASSNAME+"PoPsGetConst", This, extract::PoPs); + return detail::getField + (CLASSNAME, CLASSNAME+"PoPs_databaseGetConst", This, extract::PoPs); } // Get, non-const -Handle2PoPs -RMatrixPoPsGet(ConstHandle2RMatrix This) +Handle2PoPs_database +RMatrixPoPs_databaseGet(ConstHandle2RMatrix This) { - return detail::getField - (CLASSNAME, CLASSNAME+"PoPsGet", This, extract::PoPs); + return detail::getField + (CLASSNAME, CLASSNAME+"PoPs_databaseGet", This, extract::PoPs); } // Set void -RMatrixPoPsSet(ConstHandle2RMatrix This, ConstHandle2ConstPoPs PoPs) +RMatrixPoPs_databaseSet(ConstHandle2RMatrix This, ConstHandle2ConstPoPs_database PoPs) { - detail::setField - (CLASSNAME, CLASSNAME+"PoPsSet", This, extract::PoPs, PoPs); + detail::setField + (CLASSNAME, CLASSNAME+"PoPs_databaseSet", This, extract::PoPs, PoPs); } diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h index 5940ed25d..07fb295b2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_RMATRIX #include "GNDStk.h" -#include "v2.0/unknownNamespace/PoPs.h" +#include "v2.0/pops/PoPs_database.h" #include "v2.0/resonances/ResonanceReactions.h" #include "v2.0/resonances/SpinGroups.h" @@ -87,7 +87,7 @@ RMatrixCreateConst( const bool calculatePenetrability, const bool useForSelfShieldingOnly, const bool supportsAngularReconstruction, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstResonanceReactions resonanceReactions, ConstHandle2ConstSpinGroups spinGroups ); @@ -103,7 +103,7 @@ RMatrixCreate( const bool calculatePenetrability, const bool useForSelfShieldingOnly, const bool supportsAngularReconstruction, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstResonanceReactions resonanceReactions, ConstHandle2ConstSpinGroups spinGroups ); @@ -302,19 +302,19 @@ RMatrixSupportsAngularReconstructionSet(ConstHandle2RMatrix This, const bool sup // +++ Has extern_c int -RMatrixPoPsHas(ConstHandle2ConstRMatrix This); +RMatrixPoPs_databaseHas(ConstHandle2ConstRMatrix This); // --- Get, const -extern_c Handle2ConstPoPs -RMatrixPoPsGetConst(ConstHandle2ConstRMatrix This); +extern_c Handle2ConstPoPs_database +RMatrixPoPs_databaseGetConst(ConstHandle2ConstRMatrix This); // +++ Get, non-const -extern_c Handle2PoPs -RMatrixPoPsGet(ConstHandle2RMatrix This); +extern_c Handle2PoPs_database +RMatrixPoPs_databaseGet(ConstHandle2RMatrix This); // +++ Set extern_c void -RMatrixPoPsSet(ConstHandle2RMatrix This, ConstHandle2ConstPoPs PoPs); +RMatrixPoPs_databaseSet(ConstHandle2RMatrix This, ConstHandle2ConstPoPs_database PoPs); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp b/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp index 9f188c733..d7e88eb15 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp @@ -24,7 +24,7 @@ namespace extract { static auto Ls = [](auto &obj) { return &obj.Ls; }; } -using CPPPoPs = unknownNamespace::PoPs; +using CPPPoPs_database = pops::PoPs_database; using CPPScatteringRadius = resonances::ScatteringRadius; using CPPHardSphereRadius = resonances::HardSphereRadius; using CPPResonanceReactions = resonances::ResonanceReactions; @@ -58,7 +58,7 @@ TabulatedWidthsCreateConst( const XMLName label, const XMLName approximation, const bool useForSelfShieldingOnly, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstScatteringRadius scatteringRadius, ConstHandle2ConstHardSphereRadius hardSphereRadius, ConstHandle2ConstResonanceReactions resonanceReactions, @@ -69,7 +69,7 @@ TabulatedWidthsCreateConst( label, approximation, useForSelfShieldingOnly, - detail::tocpp(PoPs), + detail::tocpp(PoPs), detail::tocpp(scatteringRadius), detail::tocpp(hardSphereRadius), detail::tocpp(resonanceReactions), @@ -84,7 +84,7 @@ TabulatedWidthsCreate( const XMLName label, const XMLName approximation, const bool useForSelfShieldingOnly, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstScatteringRadius scatteringRadius, ConstHandle2ConstHardSphereRadius hardSphereRadius, ConstHandle2ConstResonanceReactions resonanceReactions, @@ -95,7 +95,7 @@ TabulatedWidthsCreate( label, approximation, useForSelfShieldingOnly, - detail::tocpp(PoPs), + detail::tocpp(PoPs), detail::tocpp(scatteringRadius), detail::tocpp(hardSphereRadius), detail::tocpp(resonanceReactions), @@ -272,34 +272,34 @@ TabulatedWidthsUseForSelfShieldingOnlySet(ConstHandle2TabulatedWidths This, cons // Has int -TabulatedWidthsPoPsHas(ConstHandle2ConstTabulatedWidths This) +TabulatedWidthsPoPs_databaseHas(ConstHandle2ConstTabulatedWidths This) { return detail::hasField - (CLASSNAME, CLASSNAME+"PoPsHas", This, extract::PoPs); + (CLASSNAME, CLASSNAME+"PoPs_databaseHas", This, extract::PoPs); } // Get, const -Handle2ConstPoPs -TabulatedWidthsPoPsGetConst(ConstHandle2ConstTabulatedWidths This) +Handle2ConstPoPs_database +TabulatedWidthsPoPs_databaseGetConst(ConstHandle2ConstTabulatedWidths This) { - return detail::getField - (CLASSNAME, CLASSNAME+"PoPsGetConst", This, extract::PoPs); + return detail::getField + (CLASSNAME, CLASSNAME+"PoPs_databaseGetConst", This, extract::PoPs); } // Get, non-const -Handle2PoPs -TabulatedWidthsPoPsGet(ConstHandle2TabulatedWidths This) +Handle2PoPs_database +TabulatedWidthsPoPs_databaseGet(ConstHandle2TabulatedWidths This) { - return detail::getField - (CLASSNAME, CLASSNAME+"PoPsGet", This, extract::PoPs); + return detail::getField + (CLASSNAME, CLASSNAME+"PoPs_databaseGet", This, extract::PoPs); } // Set void -TabulatedWidthsPoPsSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstPoPs PoPs) +TabulatedWidthsPoPs_databaseSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstPoPs_database PoPs) { - detail::setField - (CLASSNAME, CLASSNAME+"PoPsSet", This, extract::PoPs, PoPs); + detail::setField + (CLASSNAME, CLASSNAME+"PoPs_databaseSet", This, extract::PoPs, PoPs); } diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h b/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h index d0adaa6d9..d8369027e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h +++ b/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TRY_V2_0_RESONANCES_TABULATEDWIDTHS #include "GNDStk.h" -#include "v2.0/unknownNamespace/PoPs.h" +#include "v2.0/pops/PoPs_database.h" #include "v2.0/resonances/ScatteringRadius.h" #include "v2.0/resonances/HardSphereRadius.h" #include "v2.0/resonances/ResonanceReactions.h" @@ -84,7 +84,7 @@ TabulatedWidthsCreateConst( const XMLName label, const XMLName approximation, const bool useForSelfShieldingOnly, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstScatteringRadius scatteringRadius, ConstHandle2ConstHardSphereRadius hardSphereRadius, ConstHandle2ConstResonanceReactions resonanceReactions, @@ -97,7 +97,7 @@ TabulatedWidthsCreate( const XMLName label, const XMLName approximation, const bool useForSelfShieldingOnly, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstScatteringRadius scatteringRadius, ConstHandle2ConstHardSphereRadius hardSphereRadius, ConstHandle2ConstResonanceReactions resonanceReactions, @@ -208,19 +208,19 @@ TabulatedWidthsUseForSelfShieldingOnlySet(ConstHandle2TabulatedWidths This, cons // +++ Has extern_c int -TabulatedWidthsPoPsHas(ConstHandle2ConstTabulatedWidths This); +TabulatedWidthsPoPs_databaseHas(ConstHandle2ConstTabulatedWidths This); // --- Get, const -extern_c Handle2ConstPoPs -TabulatedWidthsPoPsGetConst(ConstHandle2ConstTabulatedWidths This); +extern_c Handle2ConstPoPs_database +TabulatedWidthsPoPs_databaseGetConst(ConstHandle2ConstTabulatedWidths This); // +++ Get, non-const -extern_c Handle2PoPs -TabulatedWidthsPoPsGet(ConstHandle2TabulatedWidths This); +extern_c Handle2PoPs_database +TabulatedWidthsPoPs_databaseGet(ConstHandle2TabulatedWidths This); // +++ Set extern_c void -TabulatedWidthsPoPsSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstPoPs PoPs); +TabulatedWidthsPoPs_databaseSet(ConstHandle2TabulatedWidths This, ConstHandle2ConstPoPs_database PoPs); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp b/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp index 23e378bfb..045f4ee65 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp @@ -35,7 +35,7 @@ namespace extract { using CPPExternalFiles = common::ExternalFiles; using CPPStyles = styles::Styles; -using CPPPoPs = unknownNamespace::PoPs; +using CPPPoPs_database = pops::PoPs_database; using CPPResonances = resonances::Resonances; using CPPReactions = transport::Reactions; using CPPOrphanProducts = transport::OrphanProducts; @@ -78,7 +78,7 @@ ReactionSuiteCreateConst( const enums::Interaction interaction, ConstHandle2ConstExternalFiles externalFiles, ConstHandle2ConstStyles styles, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstResonances resonances, ConstHandle2ConstReactions reactions, ConstHandle2ConstOrphanProducts orphanProducts, @@ -98,7 +98,7 @@ ReactionSuiteCreateConst( interaction, detail::tocpp(externalFiles), detail::tocpp(styles), - detail::tocpp(PoPs), + detail::tocpp(PoPs), detail::tocpp(resonances), detail::tocpp(reactions), detail::tocpp(orphanProducts), @@ -122,7 +122,7 @@ ReactionSuiteCreate( const enums::Interaction interaction, ConstHandle2ConstExternalFiles externalFiles, ConstHandle2ConstStyles styles, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstResonances resonances, ConstHandle2ConstReactions reactions, ConstHandle2ConstOrphanProducts orphanProducts, @@ -142,7 +142,7 @@ ReactionSuiteCreate( interaction, detail::tocpp(externalFiles), detail::tocpp(styles), - detail::tocpp(PoPs), + detail::tocpp(PoPs), detail::tocpp(resonances), detail::tocpp(reactions), detail::tocpp(orphanProducts), @@ -487,34 +487,34 @@ ReactionSuiteStylesSet(ConstHandle2ReactionSuite This, ConstHandle2ConstStyles s // Has int -ReactionSuitePoPsHas(ConstHandle2ConstReactionSuite This) +ReactionSuitePoPs_databaseHas(ConstHandle2ConstReactionSuite This) { return detail::hasField - (CLASSNAME, CLASSNAME+"PoPsHas", This, extract::PoPs); + (CLASSNAME, CLASSNAME+"PoPs_databaseHas", This, extract::PoPs); } // Get, const -Handle2ConstPoPs -ReactionSuitePoPsGetConst(ConstHandle2ConstReactionSuite This) +Handle2ConstPoPs_database +ReactionSuitePoPs_databaseGetConst(ConstHandle2ConstReactionSuite This) { - return detail::getField - (CLASSNAME, CLASSNAME+"PoPsGetConst", This, extract::PoPs); + return detail::getField + (CLASSNAME, CLASSNAME+"PoPs_databaseGetConst", This, extract::PoPs); } // Get, non-const -Handle2PoPs -ReactionSuitePoPsGet(ConstHandle2ReactionSuite This) +Handle2PoPs_database +ReactionSuitePoPs_databaseGet(ConstHandle2ReactionSuite This) { - return detail::getField - (CLASSNAME, CLASSNAME+"PoPsGet", This, extract::PoPs); + return detail::getField + (CLASSNAME, CLASSNAME+"PoPs_databaseGet", This, extract::PoPs); } // Set void -ReactionSuitePoPsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstPoPs PoPs) +ReactionSuitePoPs_databaseSet(ConstHandle2ReactionSuite This, ConstHandle2ConstPoPs_database PoPs) { - detail::setField - (CLASSNAME, CLASSNAME+"PoPsSet", This, extract::PoPs, PoPs); + detail::setField + (CLASSNAME, CLASSNAME+"PoPs_databaseSet", This, extract::PoPs, PoPs); } diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h b/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h index 69b8e97dc..c73f068b5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h +++ b/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/common/ExternalFiles.h" #include "v2.0/styles/Styles.h" -#include "v2.0/unknownNamespace/PoPs.h" +#include "v2.0/pops/PoPs_database.h" #include "v2.0/resonances/Resonances.h" #include "v2.0/transport/Reactions.h" #include "v2.0/transport/OrphanProducts.h" @@ -95,7 +95,7 @@ ReactionSuiteCreateConst( const enums::Interaction interaction, ConstHandle2ConstExternalFiles externalFiles, ConstHandle2ConstStyles styles, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstResonances resonances, ConstHandle2ConstReactions reactions, ConstHandle2ConstOrphanProducts orphanProducts, @@ -117,7 +117,7 @@ ReactionSuiteCreate( const enums::Interaction interaction, ConstHandle2ConstExternalFiles externalFiles, ConstHandle2ConstStyles styles, - ConstHandle2ConstPoPs PoPs, + ConstHandle2ConstPoPs_database PoPs, ConstHandle2ConstResonances resonances, ConstHandle2ConstReactions reactions, ConstHandle2ConstOrphanProducts orphanProducts, @@ -328,19 +328,19 @@ ReactionSuiteStylesSet(ConstHandle2ReactionSuite This, ConstHandle2ConstStyles s // +++ Has extern_c int -ReactionSuitePoPsHas(ConstHandle2ConstReactionSuite This); +ReactionSuitePoPs_databaseHas(ConstHandle2ConstReactionSuite This); // --- Get, const -extern_c Handle2ConstPoPs -ReactionSuitePoPsGetConst(ConstHandle2ConstReactionSuite This); +extern_c Handle2ConstPoPs_database +ReactionSuitePoPs_databaseGetConst(ConstHandle2ConstReactionSuite This); // +++ Get, non-const -extern_c Handle2PoPs -ReactionSuitePoPsGet(ConstHandle2ReactionSuite This); +extern_c Handle2PoPs_database +ReactionSuitePoPs_databaseGet(ConstHandle2ReactionSuite This); // +++ Set extern_c void -ReactionSuitePoPsSet(ConstHandle2ReactionSuite This, ConstHandle2ConstPoPs PoPs); +ReactionSuitePoPs_databaseSet(ConstHandle2ReactionSuite This, ConstHandle2ConstPoPs_database PoPs); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp index 858b6b6db..7865659dc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp @@ -48,10 +48,10 @@ namespace python_containers { void wrapColumnHeaders(python::module &); void wrapData(python::module &); void wrapTable(python::module &); - void wrapXs_pdf_cdf1d(python::module &); void wrapXs_in_xs_pdf_cdf1d(python::module &); - void wrapPdf_in_xs_pdf_cdf1d(python::module &); void wrapCdf_in_xs_pdf_cdf1d(python::module &); + void wrapXs_pdf_cdf1d(python::module &); + void wrapPdf_in_xs_pdf_cdf1d(python::module &); void wrapFunction3ds(python::module &); void wrapRegions3d(python::module &); } // namespace python_containers @@ -102,10 +102,10 @@ void wrapContainers(python::module &module) python_containers::wrapColumnHeaders(submodule); python_containers::wrapData(submodule); python_containers::wrapTable(submodule); - python_containers::wrapXs_pdf_cdf1d(submodule); python_containers::wrapXs_in_xs_pdf_cdf1d(submodule); - python_containers::wrapPdf_in_xs_pdf_cdf1d(submodule); python_containers::wrapCdf_in_xs_pdf_cdf1d(submodule); + python_containers::wrapXs_pdf_cdf1d(submodule); + python_containers::wrapPdf_in_xs_pdf_cdf1d(submodule); python_containers::wrapFunction3ds(submodule); python_containers::wrapRegions3d(submodule); }; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp index 33c83d362..2faf76b76 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp @@ -37,9 +37,9 @@ void wrapXs_pdf_cdf1d(python::module &module) .def( python::init< const std::optional &, - const unknownNamespace::Xs &, + const containers::Xs_in_xs_pdf_cdf1d &, const containers::Pdf &, - const unknownNamespace::Cdf & + const containers::Cdf_in_xs_pdf_cdf1d & >(), python::arg("outer_domain_value") = std::nullopt, python::arg("xs"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp index d22a9b5f5..fcabebd38 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp @@ -38,7 +38,7 @@ void wrapAngularEnergyMC(python::module &module) python::init< const XMLName &, const XMLName &, - const unknownNamespace::Angular &, + const transport::Angular_uncorrelated &, const transport::AngularEnergy & >(), python::arg("label"), diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp index d90b27df9..87721686b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp @@ -40,7 +40,7 @@ void wrapBreitWigner(python::module &module) const XMLName &, const std::optional &, const std::optional &, - const std::optional &, + const std::optional &, const std::optional &, const std::optional &, const std::optional & diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp index 591b6d3f5..0d641726d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp @@ -44,7 +44,7 @@ void wrapRMatrix(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional &, + const std::optional &, const resonances::ResonanceReactions &, const resonances::SpinGroups & >(), diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp index 4f5dd7e89..5bb1a34fe 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp @@ -39,7 +39,7 @@ void wrapTabulatedWidths(python::module &module) const XMLName &, const XMLName &, const std::optional &, - const std::optional &, + const std::optional &, const std::optional &, const std::optional &, const resonances::ResonanceReactions &, diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp b/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp index 4ce950222..f6bada605 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp +++ b/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp @@ -44,7 +44,7 @@ void wrapReactionSuite(python::module &module) const enums::Interaction &, const std::optional &, const styles::Styles &, - const unknownNamespace::PoPs &, + const pops::PoPs_database &, const std::optional &, const std::optional &, const std::optional &, diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp index 3aa1d1941..860a4498c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp @@ -5,9 +5,9 @@ #ifndef TRY_V2_0_CONTAINERS_XS_PDF_CDF1D #define TRY_V2_0_CONTAINERS_XS_PDF_CDF1D -#include "try/v2.0/unknownNamespace/Xs.hpp" +#include "try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp" #include "try/v2.0/containers/Pdf.hpp" -#include "try/v2.0/unknownNamespace/Cdf.hpp" +#include "try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp" namespace try { namespace v2_0 { @@ -38,11 +38,11 @@ class Xs_pdf_cdf1d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - unknownNamespace::Xs{} + containers::Xs_in_xs_pdf_cdf1d{} / --Child<>("xs") | containers::Pdf{} / --Child<>("pdf") | - unknownNamespace::Cdf{} + containers::Cdf_in_xs_pdf_cdf1d{} / --Child<>("cdf") ; } @@ -54,9 +54,9 @@ class Xs_pdf_cdf1d : public Component { Field> outerDomainValue{this}; // children - Field xs{this}; + Field xs{this}; Field pdf{this}; - Field cdf{this}; + Field cdf{this}; // ------------------------ // Constructors @@ -71,9 +71,9 @@ class Xs_pdf_cdf1d : public Component { // default, and from fields explicit Xs_pdf_cdf1d( const wrapper> &outerDomainValue = {}, - const wrapper &xs = {}, + const wrapper &xs = {}, const wrapper &pdf = {}, - const wrapper &cdf = {} + const wrapper &cdf = {} ) : GNDSTK_COMPONENT(BlockData{}), outerDomainValue(this,outerDomainValue), diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp b/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp index 52eb53845..0d6accf1e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_PROCESSED_ANGULARENERGYMC #define TRY_V2_0_PROCESSED_ANGULARENERGYMC -#include "try/v2.0/unknownNamespace/Angular.hpp" +#include "try/v2.0/transport/Angular_uncorrelated.hpp" #include "try/v2.0/transport/AngularEnergy.hpp" namespace try { @@ -39,7 +39,7 @@ class AngularEnergyMC : public Component { XMLName{} / Meta<>("productFrame") | // children - unknownNamespace::Angular{} + transport::Angular_uncorrelated{} / --Child<>("angular") | transport::AngularEnergy{} / --Child<>("angularEnergy") @@ -54,7 +54,7 @@ class AngularEnergyMC : public Component { Field productFrame{this}; // children - Field angular{this}; + Field angular{this}; Field angularEnergy{this}; // ------------------------ @@ -71,7 +71,7 @@ class AngularEnergyMC : public Component { explicit AngularEnergyMC( const wrapper &label = {}, const wrapper &productFrame = {}, - const wrapper &angular = {}, + const wrapper &angular = {}, const wrapper &angularEnergy = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp index c8b64152c..cb1f05c2b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_RESONANCES_BREITWIGNER #define TRY_V2_0_RESONANCES_BREITWIGNER -#include "try/v2.0/unknownNamespace/PoPs.hpp" +#include "try/v2.0/pops/PoPs_database.hpp" #include "try/v2.0/resonances/ScatteringRadius.hpp" #include "try/v2.0/resonances/HardSphereRadius.hpp" #include "try/v2.0/resonances/ResonanceParameters.hpp" @@ -45,7 +45,7 @@ class BreitWigner : public Component { Defaulted{false} / Meta<>("useForSelfShieldingOnly") | // children - std::optional{} + std::optional{} / --Child<>("PoPs") | std::optional{} / --Child<>("scatteringRadius") | @@ -72,7 +72,7 @@ class BreitWigner : public Component { Field> useForSelfShieldingOnly{this,defaults.useForSelfShieldingOnly}; // children - Field> PoPs{this}; + Field> PoPs{this}; Field> scatteringRadius{this}; Field> hardSphereRadius{this}; Field> resonanceParameters{this}; @@ -98,7 +98,7 @@ class BreitWigner : public Component { const wrapper &approximation = {}, const wrapper> &calculateChannelRadius = {}, const wrapper> &useForSelfShieldingOnly = {}, - const wrapper> &PoPs = {}, + const wrapper> &PoPs = {}, const wrapper> &scatteringRadius = {}, const wrapper> &hardSphereRadius = {}, const wrapper> &resonanceParameters = {} diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp index f16997832..9720d3402 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_RESONANCES_RMATRIX #define TRY_V2_0_RESONANCES_RMATRIX -#include "try/v2.0/unknownNamespace/PoPs.hpp" +#include "try/v2.0/pops/PoPs_database.hpp" #include "try/v2.0/resonances/ResonanceReactions.hpp" #include "try/v2.0/resonances/SpinGroups.hpp" @@ -52,7 +52,7 @@ class RMatrix : public Component { Defaulted{false} / Meta<>("supportsAngularReconstruction") | // children - std::optional{} + std::optional{} / --Child<>("PoPs") | resonances::ResonanceReactions{} / --Child<>("resonanceReactions") | @@ -84,7 +84,7 @@ class RMatrix : public Component { Field> supportsAngularReconstruction{this,defaults.supportsAngularReconstruction}; // children - Field> PoPs{this}; + Field> PoPs{this}; Field resonanceReactions{this}; Field spinGroups{this}; @@ -116,7 +116,7 @@ class RMatrix : public Component { const wrapper> &calculatePenetrability = {}, const wrapper> &useForSelfShieldingOnly = {}, const wrapper> &supportsAngularReconstruction = {}, - const wrapper> &PoPs = {}, + const wrapper> &PoPs = {}, const wrapper &resonanceReactions = {}, const wrapper &spinGroups = {} ) : diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp b/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp index 86cd8e8ce..d33033cf9 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp @@ -5,7 +5,7 @@ #ifndef TRY_V2_0_RESONANCES_TABULATEDWIDTHS #define TRY_V2_0_RESONANCES_TABULATEDWIDTHS -#include "try/v2.0/unknownNamespace/PoPs.hpp" +#include "try/v2.0/pops/PoPs_database.hpp" #include "try/v2.0/resonances/ScatteringRadius.hpp" #include "try/v2.0/resonances/HardSphereRadius.hpp" #include "try/v2.0/resonances/ResonanceReactions.hpp" @@ -44,7 +44,7 @@ class TabulatedWidths : public Component { Defaulted{false} / Meta<>("useForSelfShieldingOnly") | // children - std::optional{} + std::optional{} / --Child<>("PoPs") | std::optional{} / --Child<>("scatteringRadius") | @@ -71,7 +71,7 @@ class TabulatedWidths : public Component { Field> useForSelfShieldingOnly{this,defaults.useForSelfShieldingOnly}; // children - Field> PoPs{this}; + Field> PoPs{this}; Field> scatteringRadius{this}; Field> hardSphereRadius{this}; Field resonanceReactions{this}; @@ -97,7 +97,7 @@ class TabulatedWidths : public Component { const wrapper &label = {}, const wrapper &approximation = {}, const wrapper> &useForSelfShieldingOnly = {}, - const wrapper> &PoPs = {}, + const wrapper> &PoPs = {}, const wrapper> &scatteringRadius = {}, const wrapper> &hardSphereRadius = {}, const wrapper &resonanceReactions = {}, diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp b/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp index 7c6911b17..981d67211 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp +++ b/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp @@ -7,7 +7,7 @@ #include "try/v2.0/common/ExternalFiles.hpp" #include "try/v2.0/styles/Styles.hpp" -#include "try/v2.0/unknownNamespace/PoPs.hpp" +#include "try/v2.0/pops/PoPs_database.hpp" #include "try/v2.0/resonances/Resonances.hpp" #include "try/v2.0/transport/Reactions.hpp" #include "try/v2.0/transport/OrphanProducts.hpp" @@ -60,7 +60,7 @@ class ReactionSuite : public Component { / --Child<>("externalFiles") | styles::Styles{} / --Child<>("styles") | - unknownNamespace::PoPs{} + pops::PoPs_database{} / --Child<>("PoPs") | std::optional{} / --Child<>("resonances") | @@ -95,7 +95,7 @@ class ReactionSuite : public Component { // children Field> externalFiles{this}; Field styles{this}; - Field PoPs{this}; + Field PoPs{this}; Field> resonances{this}; Field> reactions{this}; Field> orphanProducts{this}; @@ -138,7 +138,7 @@ class ReactionSuite : public Component { const wrapper &interaction = {}, const wrapper> &externalFiles = {}, const wrapper &styles = {}, - const wrapper &PoPs = {}, + const wrapper &PoPs = {}, const wrapper> &resonances = {}, const wrapper> &reactions = {}, const wrapper> &orphanProducts = {}, From 3b1391a4dfc4ebb70f074178ca2480cde1cc1d33 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 8 Sep 2022 12:12:40 -0600 Subject: [PATCH 192/235] Directory name change. --- standards/gnds-2.0/.gitignore | 1 + standards/gnds-2.0/gnds-2.0.json | 2 +- standards/gnds-2.0/{try => test}/c/src/v2.0.h | 6 +- .../c/src/v2.0/appData/ApplicationData.cpp | 4 +- .../c/src/v2.0/appData/ApplicationData.h | 4 +- .../c/src/v2.0/appData/Conversion.cpp | 4 +- .../c/src/v2.0/appData/Conversion.h | 4 +- .../src/v2.0/appData/ENDFconversionFlags.cpp | 4 +- .../c/src/v2.0/appData/ENDFconversionFlags.h | 4 +- .../c/src/v2.0/appData/Institution.cpp | 4 +- .../c/src/v2.0/appData/Institution.h | 4 +- .../v2.0/atomic/CoherentPhotonScattering.cpp | 4 +- .../v2.0/atomic/CoherentPhotonScattering.h | 4 +- .../c/src/v2.0/atomic/FormFactor.cpp | 4 +- .../c/src/v2.0/atomic/FormFactor.h | 4 +- .../v2.0/atomic/ImaginaryAnomalousFactor.cpp | 4 +- .../v2.0/atomic/ImaginaryAnomalousFactor.h | 4 +- .../atomic/IncoherentPhotonScattering.cpp | 4 +- .../v2.0/atomic/IncoherentPhotonScattering.h | 4 +- .../c/src/v2.0/atomic/RealAnomalousFactor.cpp | 4 +- .../c/src/v2.0/atomic/RealAnomalousFactor.h | 4 +- .../c/src/v2.0/atomic/ScatteringFactor.cpp | 4 +- .../c/src/v2.0/atomic/ScatteringFactor.h | 4 +- .../c/src/v2.0/common/Energy.cpp | 4 +- .../{try => test}/c/src/v2.0/common/Energy.h | 4 +- .../c/src/v2.0/common/ExternalFile.cpp | 4 +- .../c/src/v2.0/common/ExternalFile.h | 4 +- .../c/src/v2.0/common/ExternalFiles.cpp | 4 +- .../c/src/v2.0/common/ExternalFiles.h | 4 +- .../{try => test}/c/src/v2.0/common/Mass.cpp | 4 +- .../{try => test}/c/src/v2.0/common/Mass.h | 4 +- .../c/src/v2.0/common/Probability.cpp | 4 +- .../c/src/v2.0/common/Probability.h | 4 +- .../c/src/v2.0/common/Product.cpp | 4 +- .../{try => test}/c/src/v2.0/common/Product.h | 4 +- .../c/src/v2.0/common/Products.cpp | 4 +- .../c/src/v2.0/common/Products.h | 4 +- .../{try => test}/c/src/v2.0/common/Q.cpp | 4 +- .../{try => test}/c/src/v2.0/common/Q.h | 4 +- .../c/src/v2.0/common/Temperature.cpp | 4 +- .../c/src/v2.0/common/Temperature.h | 4 +- .../c/src/v2.0/containers/Array.cpp | 4 +- .../c/src/v2.0/containers/Array.h | 4 +- .../c/src/v2.0/containers/Axes.cpp | 4 +- .../c/src/v2.0/containers/Axes.h | 4 +- .../c/src/v2.0/containers/Axis.cpp | 4 +- .../c/src/v2.0/containers/Axis.h | 4 +- .../v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp | 4 +- .../src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h | 4 +- .../c/src/v2.0/containers/Column.cpp | 4 +- .../c/src/v2.0/containers/Column.h | 4 +- .../c/src/v2.0/containers/ColumnHeaders.cpp | 4 +- .../c/src/v2.0/containers/ColumnHeaders.h | 4 +- .../v2.0/containers/ConfidenceIntervals.cpp | 4 +- .../src/v2.0/containers/ConfidenceIntervals.h | 4 +- .../c/src/v2.0/containers/Constant1d.cpp | 4 +- .../c/src/v2.0/containers/Constant1d.h | 4 +- .../c/src/v2.0/containers/Covariance.cpp | 4 +- .../c/src/v2.0/containers/Covariance.h | 4 +- .../c/src/v2.0/containers/Data.cpp | 4 +- .../c/src/v2.0/containers/Data.h | 4 +- .../c/src/v2.0/containers/Double.cpp | 4 +- .../c/src/v2.0/containers/Double.h | 4 +- .../c/src/v2.0/containers/Fraction.cpp | 4 +- .../c/src/v2.0/containers/Fraction.h | 4 +- .../c/src/v2.0/containers/Function1ds.cpp | 4 +- .../c/src/v2.0/containers/Function1ds.h | 4 +- .../c/src/v2.0/containers/Function2ds.cpp | 4 +- .../c/src/v2.0/containers/Function2ds.h | 4 +- .../c/src/v2.0/containers/Function3ds.cpp | 4 +- .../c/src/v2.0/containers/Function3ds.h | 4 +- .../c/src/v2.0/containers/Grid.cpp | 4 +- .../c/src/v2.0/containers/Grid.h | 4 +- .../c/src/v2.0/containers/Gridded1d.cpp | 4 +- .../c/src/v2.0/containers/Gridded1d.h | 4 +- .../c/src/v2.0/containers/Gridded2d.cpp | 4 +- .../c/src/v2.0/containers/Gridded2d.h | 4 +- .../c/src/v2.0/containers/Gridded3d.cpp | 4 +- .../c/src/v2.0/containers/Gridded3d.h | 4 +- .../c/src/v2.0/containers/Integer.cpp | 4 +- .../c/src/v2.0/containers/Integer.h | 4 +- .../c/src/v2.0/containers/Interval.cpp | 4 +- .../c/src/v2.0/containers/Interval.h | 4 +- .../c/src/v2.0/containers/Legendre.cpp | 4 +- .../c/src/v2.0/containers/Legendre.h | 4 +- .../c/src/v2.0/containers/Link.cpp | 4 +- .../c/src/v2.0/containers/Link.h | 4 +- .../src/v2.0/containers/ListOfCovariances.cpp | 4 +- .../c/src/v2.0/containers/ListOfCovariances.h | 4 +- .../c/src/v2.0/containers/LogNormal.cpp | 4 +- .../c/src/v2.0/containers/LogNormal.h | 4 +- .../c/src/v2.0/containers/Pdf.cpp | 4 +- .../{try => test}/c/src/v2.0/containers/Pdf.h | 4 +- .../v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp | 4 +- .../src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h | 4 +- .../c/src/v2.0/containers/Polynomial1d.cpp | 4 +- .../c/src/v2.0/containers/Polynomial1d.h | 4 +- .../c/src/v2.0/containers/Regions1d.cpp | 4 +- .../c/src/v2.0/containers/Regions1d.h | 4 +- .../c/src/v2.0/containers/Regions2d.cpp | 4 +- .../c/src/v2.0/containers/Regions2d.h | 4 +- .../c/src/v2.0/containers/Regions3d.cpp | 4 +- .../c/src/v2.0/containers/Regions3d.h | 4 +- .../c/src/v2.0/containers/Standard.cpp | 4 +- .../c/src/v2.0/containers/Standard.h | 4 +- .../c/src/v2.0/containers/String.cpp | 4 +- .../c/src/v2.0/containers/String.h | 4 +- .../c/src/v2.0/containers/Table.cpp | 4 +- .../c/src/v2.0/containers/Table.h | 4 +- .../c/src/v2.0/containers/Uncertainty.cpp | 4 +- .../c/src/v2.0/containers/Uncertainty.h | 4 +- .../c/src/v2.0/containers/Values.cpp | 4 +- .../c/src/v2.0/containers/Values.h | 4 +- .../c/src/v2.0/containers/XYs1d.cpp | 4 +- .../c/src/v2.0/containers/XYs1d.h | 4 +- .../c/src/v2.0/containers/XYs2d.cpp | 4 +- .../c/src/v2.0/containers/XYs2d.h | 4 +- .../c/src/v2.0/containers/XYs3d.cpp | 4 +- .../c/src/v2.0/containers/XYs3d.h | 4 +- .../v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp | 4 +- .../src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h | 4 +- .../c/src/v2.0/containers/Xs_pdf_cdf1d.cpp | 4 +- .../c/src/v2.0/containers/Xs_pdf_cdf1d.h | 4 +- .../c/src/v2.0/containers/Ys1d.cpp | 4 +- .../c/src/v2.0/containers/Ys1d.h | 4 +- .../covariance/AverageParameterCovariance.cpp | 4 +- .../covariance/AverageParameterCovariance.h | 4 +- .../c/src/v2.0/covariance/ColumnData.cpp | 4 +- .../c/src/v2.0/covariance/ColumnData.h | 4 +- .../src/v2.0/covariance/ColumnSensitivity.cpp | 4 +- .../c/src/v2.0/covariance/ColumnSensitivity.h | 4 +- .../c/src/v2.0/covariance/Covariance.cpp | 4 +- .../c/src/v2.0/covariance/Covariance.h | 4 +- .../src/v2.0/covariance/CovarianceMatrix.cpp | 4 +- .../c/src/v2.0/covariance/CovarianceMatrix.h | 4 +- .../src/v2.0/covariance/CovarianceSection.cpp | 4 +- .../c/src/v2.0/covariance/CovarianceSection.h | 4 +- .../v2.0/covariance/CovarianceSections.cpp | 4 +- .../src/v2.0/covariance/CovarianceSections.h | 4 +- .../c/src/v2.0/covariance/CovarianceSuite.cpp | 4 +- .../c/src/v2.0/covariance/CovarianceSuite.h | 4 +- .../c/src/v2.0/covariance/Mixed.cpp | 4 +- .../c/src/v2.0/covariance/Mixed.h | 4 +- .../v2.0/covariance/ParameterCovariance.cpp | 4 +- .../src/v2.0/covariance/ParameterCovariance.h | 4 +- .../covariance/ParameterCovarianceMatrix.cpp | 4 +- .../covariance/ParameterCovarianceMatrix.h | 4 +- .../v2.0/covariance/ParameterCovariances.cpp | 4 +- .../v2.0/covariance/ParameterCovariances.h | 4 +- .../c/src/v2.0/covariance/ParameterLink.cpp | 4 +- .../c/src/v2.0/covariance/ParameterLink.h | 4 +- .../c/src/v2.0/covariance/Parameters.cpp | 4 +- .../c/src/v2.0/covariance/Parameters.h | 4 +- .../c/src/v2.0/covariance/RowData.cpp | 4 +- .../c/src/v2.0/covariance/RowData.h | 4 +- .../c/src/v2.0/covariance/RowSensitivity.cpp | 4 +- .../c/src/v2.0/covariance/RowSensitivity.h | 4 +- .../c/src/v2.0/covariance/SandwichProduct.cpp | 4 +- .../c/src/v2.0/covariance/SandwichProduct.h | 4 +- .../ShortRangeSelfScalingVariance.cpp | 4 +- .../ShortRangeSelfScalingVariance.h | 4 +- .../c/src/v2.0/covariance/Slice.cpp | 4 +- .../c/src/v2.0/covariance/Slice.h | 4 +- .../c/src/v2.0/covariance/Slices.cpp | 4 +- .../c/src/v2.0/covariance/Slices.h | 4 +- .../c/src/v2.0/covariance/Sum.cpp | 4 +- .../{try => test}/c/src/v2.0/covariance/Sum.h | 4 +- .../c/src/v2.0/covariance/Summand.cpp | 4 +- .../c/src/v2.0/covariance/Summand.h | 4 +- .../cpTransport/CoulombPlusNuclearElastic.cpp | 4 +- .../cpTransport/CoulombPlusNuclearElastic.h | 4 +- .../cpTransport/ImaginaryInterferenceTerm.cpp | 4 +- .../cpTransport/ImaginaryInterferenceTerm.h | 4 +- .../cpTransport/NuclearAmplitudeExpansion.cpp | 4 +- .../cpTransport/NuclearAmplitudeExpansion.h | 4 +- .../cpTransport/NuclearPlusInterference.cpp | 4 +- .../cpTransport/NuclearPlusInterference.h | 4 +- .../c/src/v2.0/cpTransport/NuclearTerm.cpp | 4 +- .../c/src/v2.0/cpTransport/NuclearTerm.h | 4 +- .../v2.0/cpTransport/RealInterferenceTerm.cpp | 4 +- .../v2.0/cpTransport/RealInterferenceTerm.h | 4 +- .../v2.0/cpTransport/RutherfordScattering.cpp | 4 +- .../v2.0/cpTransport/RutherfordScattering.h | 4 +- .../c/src/v2.0/documentation/Abstract.cpp | 4 +- .../c/src/v2.0/documentation/Abstract.h | 4 +- .../v2.0/documentation/Acknowledgement.cpp | 4 +- .../src/v2.0/documentation/Acknowledgement.h | 4 +- .../v2.0/documentation/Acknowledgements.cpp | 4 +- .../src/v2.0/documentation/Acknowledgements.h | 4 +- .../c/src/v2.0/documentation/Affiliation.cpp | 4 +- .../c/src/v2.0/documentation/Affiliation.h | 4 +- .../c/src/v2.0/documentation/Affiliations.cpp | 4 +- .../c/src/v2.0/documentation/Affiliations.h | 4 +- .../c/src/v2.0/documentation/Author.cpp | 4 +- .../c/src/v2.0/documentation/Author.h | 4 +- .../c/src/v2.0/documentation/Authors.cpp | 4 +- .../c/src/v2.0/documentation/Authors.h | 4 +- .../c/src/v2.0/documentation/Bibitem.cpp | 4 +- .../c/src/v2.0/documentation/Bibitem.h | 4 +- .../c/src/v2.0/documentation/Bibliography.cpp | 4 +- .../c/src/v2.0/documentation/Bibliography.h | 4 +- .../c/src/v2.0/documentation/Body.cpp | 4 +- .../c/src/v2.0/documentation/Body.h | 4 +- .../c/src/v2.0/documentation/CodeRepo.cpp | 4 +- .../c/src/v2.0/documentation/CodeRepo.h | 4 +- .../src/v2.0/documentation/Collaboration.cpp | 4 +- .../c/src/v2.0/documentation/Collaboration.h | 4 +- .../src/v2.0/documentation/Collaborations.cpp | 4 +- .../c/src/v2.0/documentation/Collaborations.h | 4 +- .../c/src/v2.0/documentation/ComputerCode.cpp | 4 +- .../c/src/v2.0/documentation/ComputerCode.h | 4 +- .../src/v2.0/documentation/ComputerCodes.cpp | 4 +- .../c/src/v2.0/documentation/ComputerCodes.h | 4 +- .../c/src/v2.0/documentation/Contributor.cpp | 4 +- .../c/src/v2.0/documentation/Contributor.h | 4 +- .../c/src/v2.0/documentation/Contributors.cpp | 4 +- .../c/src/v2.0/documentation/Contributors.h | 4 +- .../c/src/v2.0/documentation/Copyright.cpp | 4 +- .../c/src/v2.0/documentation/Copyright.h | 4 +- .../v2.0/documentation/CorrectionScript.cpp | 4 +- .../src/v2.0/documentation/CorrectionScript.h | 4 +- .../v2.0/documentation/CovarianceScript.cpp | 4 +- .../src/v2.0/documentation/CovarianceScript.h | 4 +- .../c/src/v2.0/documentation/Date.cpp | 4 +- .../c/src/v2.0/documentation/Date.h | 4 +- .../c/src/v2.0/documentation/Dates.cpp | 4 +- .../c/src/v2.0/documentation/Dates.h | 4 +- .../src/v2.0/documentation/Documentation.cpp | 4 +- .../c/src/v2.0/documentation/Documentation.h | 4 +- .../src/v2.0/documentation/EndfCompatible.cpp | 4 +- .../c/src/v2.0/documentation/EndfCompatible.h | 4 +- .../v2.0/documentation/ExecutionArguments.cpp | 4 +- .../v2.0/documentation/ExecutionArguments.h | 4 +- .../c/src/v2.0/documentation/ExforDataSet.cpp | 4 +- .../c/src/v2.0/documentation/ExforDataSet.h | 4 +- .../src/v2.0/documentation/ExforDataSets.cpp | 4 +- .../c/src/v2.0/documentation/ExforDataSets.h | 4 +- .../documentation/ExperimentalDataSets.cpp | 4 +- .../v2.0/documentation/ExperimentalDataSets.h | 4 +- .../c/src/v2.0/documentation/InputDeck.cpp | 4 +- .../c/src/v2.0/documentation/InputDeck.h | 4 +- .../c/src/v2.0/documentation/InputDecks.cpp | 4 +- .../c/src/v2.0/documentation/InputDecks.h | 4 +- .../c/src/v2.0/documentation/Keyword.cpp | 4 +- .../c/src/v2.0/documentation/Keyword.h | 4 +- .../c/src/v2.0/documentation/Keywords.cpp | 4 +- .../c/src/v2.0/documentation/Keywords.h | 4 +- .../c/src/v2.0/documentation/Note.cpp | 4 +- .../c/src/v2.0/documentation/Note.h | 4 +- .../c/src/v2.0/documentation/OutputDeck.cpp | 4 +- .../c/src/v2.0/documentation/OutputDeck.h | 4 +- .../c/src/v2.0/documentation/OutputDecks.cpp | 4 +- .../c/src/v2.0/documentation/OutputDecks.h | 4 +- .../c/src/v2.0/documentation/RelatedItem.cpp | 4 +- .../c/src/v2.0/documentation/RelatedItem.h | 4 +- .../c/src/v2.0/documentation/RelatedItems.cpp | 4 +- .../c/src/v2.0/documentation/RelatedItems.h | 4 +- .../c/src/v2.0/documentation/Title.cpp | 4 +- .../c/src/v2.0/documentation/Title.h | 4 +- .../c/src/v2.0/documentation/Version.cpp | 4 +- .../c/src/v2.0/documentation/Version.h | 4 +- .../fissionFragmentData/DelayedNeutron.cpp | 4 +- .../v2.0/fissionFragmentData/DelayedNeutron.h | 4 +- .../fissionFragmentData/DelayedNeutrons.cpp | 4 +- .../fissionFragmentData/DelayedNeutrons.h | 4 +- .../FissionFragmentData.cpp | 4 +- .../fissionFragmentData/FissionFragmentData.h | 4 +- .../c/src/v2.0/fissionFragmentData/Rate.cpp | 4 +- .../c/src/v2.0/fissionFragmentData/Rate.h | 4 +- .../c/src/v2.0/fissionTransport/A.cpp | 4 +- .../c/src/v2.0/fissionTransport/A.h | 4 +- .../c/src/v2.0/fissionTransport/B.cpp | 4 +- .../c/src/v2.0/fissionTransport/B.h | 4 +- .../fissionTransport/DelayedBetaEnergy.cpp | 4 +- .../v2.0/fissionTransport/DelayedBetaEnergy.h | 4 +- .../fissionTransport/DelayedGammaEnergy.cpp | 4 +- .../fissionTransport/DelayedGammaEnergy.h | 4 +- .../fissionTransport/DelayedNeutronKE.cpp | 4 +- .../v2.0/fissionTransport/DelayedNeutronKE.h | 4 +- .../c/src/v2.0/fissionTransport/EFH.cpp | 4 +- .../c/src/v2.0/fissionTransport/EFH.h | 4 +- .../c/src/v2.0/fissionTransport/EFL.cpp | 4 +- .../c/src/v2.0/fissionTransport/EFL.h | 4 +- .../fissionTransport/FissionComponent.cpp | 4 +- .../v2.0/fissionTransport/FissionComponent.h | 4 +- .../fissionTransport/FissionComponents.cpp | 4 +- .../v2.0/fissionTransport/FissionComponents.h | 4 +- .../FissionEnergyReleased.cpp | 4 +- .../fissionTransport/FissionEnergyReleased.h | 4 +- .../src/v2.0/fissionTransport/MadlandNix.cpp | 4 +- .../c/src/v2.0/fissionTransport/MadlandNix.h | 4 +- .../v2.0/fissionTransport/NeutrinoEnergy.cpp | 4 +- .../v2.0/fissionTransport/NeutrinoEnergy.h | 4 +- .../fissionTransport/NonNeutrinoEnergy.cpp | 4 +- .../v2.0/fissionTransport/NonNeutrinoEnergy.h | 4 +- .../fissionTransport/PromptGammaEnergy.cpp | 4 +- .../v2.0/fissionTransport/PromptGammaEnergy.h | 4 +- .../v2.0/fissionTransport/PromptNeutronKE.cpp | 4 +- .../v2.0/fissionTransport/PromptNeutronKE.h | 4 +- .../v2.0/fissionTransport/PromptProductKE.cpp | 4 +- .../v2.0/fissionTransport/PromptProductKE.h | 4 +- .../SimpleMaxwellianFission.cpp | 4 +- .../SimpleMaxwellianFission.h | 4 +- .../c/src/v2.0/fissionTransport/T_M.cpp | 4 +- .../c/src/v2.0/fissionTransport/T_M.h | 4 +- .../src/v2.0/fissionTransport/TotalEnergy.cpp | 4 +- .../c/src/v2.0/fissionTransport/TotalEnergy.h | 4 +- .../c/src/v2.0/fissionTransport/Watt.cpp | 4 +- .../c/src/v2.0/fissionTransport/Watt.h | 4 +- .../c/src/v2.0/fpy/ElapsedTime.cpp | 4 +- .../c/src/v2.0/fpy/ElapsedTime.h | 4 +- .../c/src/v2.0/fpy/ElapsedTimes.cpp | 4 +- .../c/src/v2.0/fpy/ElapsedTimes.h | 4 +- .../{try => test}/c/src/v2.0/fpy/Energy.cpp | 4 +- .../{try => test}/c/src/v2.0/fpy/Energy.h | 4 +- .../c/src/v2.0/fpy/IncidentEnergies.cpp | 4 +- .../c/src/v2.0/fpy/IncidentEnergies.h | 4 +- .../c/src/v2.0/fpy/IncidentEnergy.cpp | 4 +- .../c/src/v2.0/fpy/IncidentEnergy.h | 4 +- .../{try => test}/c/src/v2.0/fpy/Nuclides.cpp | 4 +- .../{try => test}/c/src/v2.0/fpy/Nuclides.h | 4 +- .../c/src/v2.0/fpy/ProductYield.cpp | 4 +- .../c/src/v2.0/fpy/ProductYield.h | 4 +- .../c/src/v2.0/fpy/ProductYields.cpp | 4 +- .../c/src/v2.0/fpy/ProductYields.h | 4 +- .../{try => test}/c/src/v2.0/fpy/Time.cpp | 4 +- .../{try => test}/c/src/v2.0/fpy/Time.h | 4 +- .../{try => test}/c/src/v2.0/fpy/Yields.cpp | 4 +- .../{try => test}/c/src/v2.0/fpy/Yields.h | 4 +- .../{try => test}/c/src/v2.0/map/Import.cpp | 4 +- .../{try => test}/c/src/v2.0/map/Import.h | 4 +- .../{try => test}/c/src/v2.0/map/Map.cpp | 4 +- .../{try => test}/c/src/v2.0/map/Map.h | 4 +- .../{try => test}/c/src/v2.0/map/Protare.cpp | 4 +- .../{try => test}/c/src/v2.0/map/Protare.h | 4 +- .../{try => test}/c/src/v2.0/map/TNSL.cpp | 4 +- .../{try => test}/c/src/v2.0/map/TNSL.h | 4 +- .../{try => test}/c/src/v2.0/pops/Alias.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Alias.h | 4 +- .../{try => test}/c/src/v2.0/pops/Aliases.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Aliases.h | 4 +- .../{try => test}/c/src/v2.0/pops/Atomic.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Atomic.h | 4 +- .../c/src/v2.0/pops/AverageEnergies.cpp | 4 +- .../c/src/v2.0/pops/AverageEnergies.h | 4 +- .../c/src/v2.0/pops/AverageEnergy.cpp | 4 +- .../c/src/v2.0/pops/AverageEnergy.h | 4 +- .../{try => test}/c/src/v2.0/pops/Baryon.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Baryon.h | 4 +- .../{try => test}/c/src/v2.0/pops/Baryons.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Baryons.h | 4 +- .../c/src/v2.0/pops/BindingEnergy.cpp | 4 +- .../c/src/v2.0/pops/BindingEnergy.h | 4 +- .../{try => test}/c/src/v2.0/pops/Charge.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Charge.h | 4 +- .../c/src/v2.0/pops/ChemicalElement.cpp | 4 +- .../c/src/v2.0/pops/ChemicalElement.h | 4 +- .../c/src/v2.0/pops/ChemicalElements.cpp | 4 +- .../c/src/v2.0/pops/ChemicalElements.h | 4 +- .../c/src/v2.0/pops/ConfidenceIntervals.cpp | 4 +- .../c/src/v2.0/pops/ConfidenceIntervals.h | 4 +- .../c/src/v2.0/pops/Configuration.cpp | 4 +- .../c/src/v2.0/pops/Configuration.h | 4 +- .../c/src/v2.0/pops/Configurations.cpp | 4 +- .../c/src/v2.0/pops/Configurations.h | 4 +- .../c/src/v2.0/pops/Continuum.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Continuum.h | 4 +- .../{try => test}/c/src/v2.0/pops/Decay.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Decay.h | 4 +- .../c/src/v2.0/pops/DecayData.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/DecayData.h | 4 +- .../c/src/v2.0/pops/DecayMode.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/DecayMode.h | 4 +- .../c/src/v2.0/pops/DecayModes.cpp | 4 +- .../c/src/v2.0/pops/DecayModes.h | 4 +- .../c/src/v2.0/pops/DecayPath.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/DecayPath.h | 4 +- .../c/src/v2.0/pops/Discrete.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Discrete.h | 4 +- .../c/src/v2.0/pops/DiscreteEnergy.cpp | 4 +- .../c/src/v2.0/pops/DiscreteEnergy.h | 4 +- .../{try => test}/c/src/v2.0/pops/Energy.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Energy.h | 4 +- .../c/src/v2.0/pops/GaugeBoson.cpp | 4 +- .../c/src/v2.0/pops/GaugeBoson.h | 4 +- .../c/src/v2.0/pops/GaugeBosons.cpp | 4 +- .../c/src/v2.0/pops/GaugeBosons.h | 4 +- .../c/src/v2.0/pops/Halflife.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Halflife.h | 4 +- .../c/src/v2.0/pops/Intensity.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Intensity.h | 4 +- .../pops/InternalConversionCoefficients.cpp | 4 +- .../pops/InternalConversionCoefficients.h | 4 +- .../pops/InternalPairFormationCoefficient.cpp | 4 +- .../pops/InternalPairFormationCoefficient.h | 4 +- .../c/src/v2.0/pops/Interval.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Interval.h | 4 +- .../{try => test}/c/src/v2.0/pops/Isotope.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Isotope.h | 4 +- .../c/src/v2.0/pops/Isotopes.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Isotopes.h | 4 +- .../{try => test}/c/src/v2.0/pops/Lepton.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Lepton.h | 4 +- .../{try => test}/c/src/v2.0/pops/Leptons.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Leptons.h | 4 +- .../c/src/v2.0/pops/LogNormal.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/LogNormal.h | 4 +- .../{try => test}/c/src/v2.0/pops/Mass.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Mass.h | 4 +- .../c/src/v2.0/pops/MetaStable.cpp | 4 +- .../c/src/v2.0/pops/MetaStable.h | 4 +- .../{try => test}/c/src/v2.0/pops/Nucleus.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Nucleus.h | 4 +- .../{try => test}/c/src/v2.0/pops/Nuclide.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Nuclide.h | 4 +- .../c/src/v2.0/pops/Nuclides.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Nuclides.h | 4 +- .../{try => test}/c/src/v2.0/pops/Parity.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Parity.h | 4 +- .../{try => test}/c/src/v2.0/pops/Pdf.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Pdf.h | 4 +- .../v2.0/pops/PhotonEmissionProbabilities.cpp | 4 +- .../v2.0/pops/PhotonEmissionProbabilities.h | 4 +- .../c/src/v2.0/pops/PoPs_database.cpp | 4 +- .../c/src/v2.0/pops/PoPs_database.h | 4 +- .../v2.0/pops/PositronEmissionIntensity.cpp | 4 +- .../src/v2.0/pops/PositronEmissionIntensity.h | 4 +- .../c/src/v2.0/pops/Probability.cpp | 4 +- .../c/src/v2.0/pops/Probability.h | 4 +- .../{try => test}/c/src/v2.0/pops/Product.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Product.h | 4 +- .../c/src/v2.0/pops/Products.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Products.h | 4 +- .../{try => test}/c/src/v2.0/pops/Q.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Q.h | 4 +- .../{try => test}/c/src/v2.0/pops/Shell.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Shell.h | 4 +- .../{try => test}/c/src/v2.0/pops/Spectra.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Spectra.h | 4 +- .../c/src/v2.0/pops/Spectrum.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Spectrum.h | 4 +- .../{try => test}/c/src/v2.0/pops/Spin.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Spin.h | 4 +- .../c/src/v2.0/pops/Standard.cpp | 4 +- .../{try => test}/c/src/v2.0/pops/Standard.h | 4 +- .../c/src/v2.0/pops/Uncertainty.cpp | 4 +- .../c/src/v2.0/pops/Uncertainty.h | 4 +- .../c/src/v2.0/pops/Unorthodox.cpp | 4 +- .../c/src/v2.0/pops/Unorthodox.h | 4 +- .../c/src/v2.0/pops/Unorthodoxes.cpp | 4 +- .../c/src/v2.0/pops/Unorthodoxes.h | 4 +- .../c/src/v2.0/processed/AngularEnergyMC.cpp | 4 +- .../c/src/v2.0/processed/AngularEnergyMC.h | 4 +- .../c/src/v2.0/processed/AvailableEnergy.cpp | 4 +- .../c/src/v2.0/processed/AvailableEnergy.h | 4 +- .../src/v2.0/processed/AvailableMomentum.cpp | 4 +- .../c/src/v2.0/processed/AvailableMomentum.h | 4 +- .../v2.0/processed/AverageProductEnergy.cpp | 4 +- .../src/v2.0/processed/AverageProductEnergy.h | 4 +- .../v2.0/processed/AverageProductMomentum.cpp | 4 +- .../v2.0/processed/AverageProductMomentum.h | 4 +- .../c/src/v2.0/processed/EnergyAngularMC.cpp | 4 +- .../c/src/v2.0/processed/EnergyAngularMC.h | 4 +- .../c/src/v2.0/processed/MultiGroup3d.cpp | 4 +- .../c/src/v2.0/processed/MultiGroup3d.h | 4 +- .../c/src/v2.0/resonances/BreitWigner.cpp | 4 +- .../c/src/v2.0/resonances/BreitWigner.h | 4 +- .../c/src/v2.0/resonances/Channel.cpp | 4 +- .../c/src/v2.0/resonances/Channel.h | 4 +- .../c/src/v2.0/resonances/Channels.cpp | 4 +- .../c/src/v2.0/resonances/Channels.h | 4 +- .../c/src/v2.0/resonances/EnergyInterval.cpp | 4 +- .../c/src/v2.0/resonances/EnergyInterval.h | 4 +- .../c/src/v2.0/resonances/EnergyIntervals.cpp | 4 +- .../c/src/v2.0/resonances/EnergyIntervals.h | 4 +- .../c/src/v2.0/resonances/ExternalRMatrix.cpp | 4 +- .../c/src/v2.0/resonances/ExternalRMatrix.h | 4 +- .../src/v2.0/resonances/HardSphereRadius.cpp | 4 +- .../c/src/v2.0/resonances/HardSphereRadius.h | 4 +- .../{try => test}/c/src/v2.0/resonances/J.cpp | 4 +- .../{try => test}/c/src/v2.0/resonances/J.h | 4 +- .../c/src/v2.0/resonances/Js.cpp | 4 +- .../{try => test}/c/src/v2.0/resonances/Js.h | 4 +- .../{try => test}/c/src/v2.0/resonances/L.cpp | 4 +- .../{try => test}/c/src/v2.0/resonances/L.h | 4 +- .../c/src/v2.0/resonances/LevelSpacing.cpp | 4 +- .../c/src/v2.0/resonances/LevelSpacing.h | 4 +- .../c/src/v2.0/resonances/Ls.cpp | 4 +- .../{try => test}/c/src/v2.0/resonances/Ls.h | 4 +- .../c/src/v2.0/resonances/RMatrix.cpp | 4 +- .../c/src/v2.0/resonances/RMatrix.h | 4 +- .../c/src/v2.0/resonances/Resolved.cpp | 4 +- .../c/src/v2.0/resonances/Resolved.h | 4 +- .../v2.0/resonances/ResonanceParameters.cpp | 4 +- .../src/v2.0/resonances/ResonanceParameters.h | 4 +- .../src/v2.0/resonances/ResonanceReaction.cpp | 4 +- .../c/src/v2.0/resonances/ResonanceReaction.h | 4 +- .../v2.0/resonances/ResonanceReactions.cpp | 4 +- .../src/v2.0/resonances/ResonanceReactions.h | 4 +- .../c/src/v2.0/resonances/Resonances.cpp | 4 +- .../c/src/v2.0/resonances/Resonances.h | 4 +- .../src/v2.0/resonances/ScatteringRadius.cpp | 4 +- .../c/src/v2.0/resonances/ScatteringRadius.h | 4 +- .../c/src/v2.0/resonances/SpinGroup.cpp | 4 +- .../c/src/v2.0/resonances/SpinGroup.h | 4 +- .../c/src/v2.0/resonances/SpinGroups.cpp | 4 +- .../c/src/v2.0/resonances/SpinGroups.h | 4 +- .../c/src/v2.0/resonances/TabulatedWidths.cpp | 4 +- .../c/src/v2.0/resonances/TabulatedWidths.h | 4 +- .../c/src/v2.0/resonances/Unresolved.cpp | 4 +- .../c/src/v2.0/resonances/Unresolved.h | 4 +- .../c/src/v2.0/resonances/Width.cpp | 4 +- .../c/src/v2.0/resonances/Width.h | 4 +- .../c/src/v2.0/resonances/Widths.cpp | 4 +- .../c/src/v2.0/resonances/Widths.h | 4 +- .../AngularDistributionReconstructed.cpp | 4 +- .../styles/AngularDistributionReconstructed.h | 4 +- .../c/src/v2.0/styles/AverageProductData.cpp | 4 +- .../c/src/v2.0/styles/AverageProductData.h | 4 +- .../c/src/v2.0/styles/Bondarenko.cpp | 4 +- .../c/src/v2.0/styles/Bondarenko.h | 4 +- .../CoulombPlusNuclearElasticMuCutoff.cpp | 4 +- .../CoulombPlusNuclearElasticMuCutoff.h | 4 +- .../v2.0/styles/CrossSectionReconstructed.cpp | 4 +- .../v2.0/styles/CrossSectionReconstructed.h | 4 +- .../c/src/v2.0/styles/EqualProbableBins.cpp | 4 +- .../c/src/v2.0/styles/EqualProbableBins.h | 4 +- .../c/src/v2.0/styles/Evaluated.cpp | 4 +- .../c/src/v2.0/styles/Evaluated.h | 4 +- .../{try => test}/c/src/v2.0/styles/Flux.cpp | 4 +- .../{try => test}/c/src/v2.0/styles/Flux.h | 4 +- .../c/src/v2.0/styles/GriddedCrossSection.cpp | 4 +- .../c/src/v2.0/styles/GriddedCrossSection.h | 4 +- .../c/src/v2.0/styles/Heated.cpp | 4 +- .../{try => test}/c/src/v2.0/styles/Heated.h | 4 +- .../c/src/v2.0/styles/HeatedMultiGroup.cpp | 4 +- .../c/src/v2.0/styles/HeatedMultiGroup.h | 4 +- .../c/src/v2.0/styles/InverseSpeed.cpp | 4 +- .../c/src/v2.0/styles/InverseSpeed.h | 4 +- .../c/src/v2.0/styles/MonteCarlo_cdf.cpp | 4 +- .../c/src/v2.0/styles/MonteCarlo_cdf.h | 4 +- .../c/src/v2.0/styles/MultiBand.cpp | 4 +- .../c/src/v2.0/styles/MultiBand.h | 4 +- .../c/src/v2.0/styles/MultiGroup.cpp | 4 +- .../c/src/v2.0/styles/MultiGroup.h | 4 +- .../v2.0/styles/ProjectileEnergyDomain.cpp | 4 +- .../src/v2.0/styles/ProjectileEnergyDomain.h | 4 +- .../c/src/v2.0/styles/Realization.cpp | 4 +- .../c/src/v2.0/styles/Realization.h | 4 +- .../c/src/v2.0/styles/SigmaZeros.cpp | 4 +- .../c/src/v2.0/styles/SigmaZeros.h | 4 +- .../c/src/v2.0/styles/SnElasticUpScatter.cpp | 4 +- .../c/src/v2.0/styles/SnElasticUpScatter.h | 4 +- .../c/src/v2.0/styles/Styles.cpp | 4 +- .../{try => test}/c/src/v2.0/styles/Styles.h | 4 +- .../c/src/v2.0/styles/Temperature.cpp | 4 +- .../c/src/v2.0/styles/Temperature.h | 4 +- .../c/src/v2.0/styles/Transportable.cpp | 4 +- .../c/src/v2.0/styles/Transportable.h | 4 +- .../c/src/v2.0/styles/Transportables.cpp | 4 +- .../c/src/v2.0/styles/Transportables.h | 4 +- .../src/v2.0/styles/URR_probabilityTables.cpp | 4 +- .../c/src/v2.0/styles/URR_probabilityTables.h | 4 +- .../{try => test}/c/src/v2.0/transport/A.cpp | 4 +- .../{try => test}/c/src/v2.0/transport/A.h | 4 +- .../c/src/v2.0/transport/Add.cpp | 4 +- .../{try => test}/c/src/v2.0/transport/Add.h | 4 +- .../c/src/v2.0/transport/AngularEnergy.cpp | 4 +- .../c/src/v2.0/transport/AngularEnergy.h | 4 +- .../c/src/v2.0/transport/AngularTwoBody.cpp | 4 +- .../c/src/v2.0/transport/AngularTwoBody.h | 4 +- .../v2.0/transport/Angular_uncorrelated.cpp | 4 +- .../src/v2.0/transport/Angular_uncorrelated.h | 4 +- .../c/src/v2.0/transport/Background.cpp | 4 +- .../c/src/v2.0/transport/Background.h | 4 +- .../c/src/v2.0/transport/Branching1d.cpp | 4 +- .../c/src/v2.0/transport/Branching1d.h | 4 +- .../c/src/v2.0/transport/Branching3d.cpp | 4 +- .../c/src/v2.0/transport/Branching3d.h | 4 +- .../c/src/v2.0/transport/CoherentPhoton.cpp | 4 +- .../c/src/v2.0/transport/CoherentPhoton.h | 4 +- .../c/src/v2.0/transport/CrossSection.cpp | 4 +- .../c/src/v2.0/transport/CrossSection.h | 4 +- .../c/src/v2.0/transport/CrossSectionSum.cpp | 4 +- .../c/src/v2.0/transport/CrossSectionSum.h | 4 +- .../c/src/v2.0/transport/CrossSectionSums.cpp | 4 +- .../c/src/v2.0/transport/CrossSectionSums.h | 4 +- .../c/src/v2.0/transport/DiscreteGamma.cpp | 4 +- .../c/src/v2.0/transport/DiscreteGamma.h | 4 +- .../c/src/v2.0/transport/Distribution.cpp | 4 +- .../c/src/v2.0/transport/Distribution.h | 4 +- .../DoubleDifferentialCrossSection.cpp | 4 +- .../DoubleDifferentialCrossSection.h | 4 +- .../c/src/v2.0/transport/EnergyAngular.cpp | 4 +- .../c/src/v2.0/transport/EnergyAngular.h | 4 +- .../v2.0/transport/Energy_uncorrelated.cpp | 4 +- .../src/v2.0/transport/Energy_uncorrelated.h | 4 +- .../c/src/v2.0/transport/Evaporation.cpp | 4 +- .../c/src/v2.0/transport/Evaporation.h | 4 +- .../{try => test}/c/src/v2.0/transport/F.cpp | 4 +- .../{try => test}/c/src/v2.0/transport/F.h | 4 +- .../c/src/v2.0/transport/FastRegion.cpp | 4 +- .../c/src/v2.0/transport/FastRegion.h | 4 +- .../c/src/v2.0/transport/Forward.cpp | 4 +- .../c/src/v2.0/transport/Forward.h | 4 +- .../{try => test}/c/src/v2.0/transport/G.cpp | 4 +- .../{try => test}/c/src/v2.0/transport/G.h | 4 +- .../src/v2.0/transport/GeneralEvaporation.cpp | 4 +- .../c/src/v2.0/transport/GeneralEvaporation.h | 4 +- .../c/src/v2.0/transport/IncoherentPhoton.cpp | 4 +- .../c/src/v2.0/transport/IncoherentPhoton.h | 4 +- .../v2.0/transport/IncompleteReactions.cpp | 4 +- .../src/v2.0/transport/IncompleteReactions.h | 4 +- .../c/src/v2.0/transport/Isotropic2d.cpp | 4 +- .../c/src/v2.0/transport/Isotropic2d.h | 4 +- .../c/src/v2.0/transport/KalbachMann.cpp | 4 +- .../c/src/v2.0/transport/KalbachMann.h | 4 +- .../c/src/v2.0/transport/MultiGroup3d.cpp | 4 +- .../c/src/v2.0/transport/MultiGroup3d.h | 4 +- .../c/src/v2.0/transport/Multiplicity.cpp | 4 +- .../c/src/v2.0/transport/Multiplicity.h | 4 +- .../c/src/v2.0/transport/MultiplicitySum.cpp | 4 +- .../c/src/v2.0/transport/MultiplicitySum.h | 4 +- .../c/src/v2.0/transport/MultiplicitySums.cpp | 4 +- .../c/src/v2.0/transport/MultiplicitySums.h | 4 +- .../c/src/v2.0/transport/NBodyPhaseSpace.cpp | 4 +- .../c/src/v2.0/transport/NBodyPhaseSpace.h | 4 +- .../c/src/v2.0/transport/OrphanProduct.cpp | 4 +- .../c/src/v2.0/transport/OrphanProduct.h | 4 +- .../c/src/v2.0/transport/OrphanProducts.cpp | 4 +- .../c/src/v2.0/transport/OrphanProducts.h | 4 +- .../c/src/v2.0/transport/OutputChannel.cpp | 4 +- .../c/src/v2.0/transport/OutputChannel.h | 4 +- .../transport/PhotonEmissionProbabilities.cpp | 4 +- .../transport/PhotonEmissionProbabilities.h | 4 +- .../c/src/v2.0/transport/PrimaryGamma.cpp | 4 +- .../c/src/v2.0/transport/PrimaryGamma.h | 4 +- .../c/src/v2.0/transport/Production.cpp | 4 +- .../c/src/v2.0/transport/Production.h | 4 +- .../c/src/v2.0/transport/Productions.cpp | 4 +- .../c/src/v2.0/transport/Productions.h | 4 +- .../{try => test}/c/src/v2.0/transport/R.cpp | 4 +- .../{try => test}/c/src/v2.0/transport/R.h | 4 +- .../c/src/v2.0/transport/Reaction.cpp | 4 +- .../c/src/v2.0/transport/Reaction.h | 4 +- .../c/src/v2.0/transport/ReactionSuite.cpp | 4 +- .../c/src/v2.0/transport/ReactionSuite.h | 4 +- .../c/src/v2.0/transport/Reactions.cpp | 4 +- .../c/src/v2.0/transport/Reactions.h | 4 +- .../c/src/v2.0/transport/Recoil.cpp | 4 +- .../c/src/v2.0/transport/Recoil.h | 4 +- .../c/src/v2.0/transport/Reference.cpp | 4 +- .../c/src/v2.0/transport/Reference.h | 4 +- .../c/src/v2.0/transport/ResolvedRegion.cpp | 4 +- .../c/src/v2.0/transport/ResolvedRegion.h | 4 +- .../c/src/v2.0/transport/ResonancesLink.cpp | 4 +- .../c/src/v2.0/transport/ResonancesLink.h | 4 +- .../transport/ResonancesWithBackground.cpp | 4 +- .../v2.0/transport/ResonancesWithBackground.h | 4 +- .../c/src/v2.0/transport/Summands.cpp | 4 +- .../c/src/v2.0/transport/Summands.h | 4 +- .../c/src/v2.0/transport/Sums.cpp | 4 +- .../{try => test}/c/src/v2.0/transport/Sums.h | 4 +- .../c/src/v2.0/transport/Theta.cpp | 4 +- .../c/src/v2.0/transport/Theta.h | 4 +- .../{try => test}/c/src/v2.0/transport/U.cpp | 4 +- .../{try => test}/c/src/v2.0/transport/U.h | 4 +- .../transport/URR_probabilityTables1d.cpp | 4 +- .../v2.0/transport/URR_probabilityTables1d.h | 4 +- .../c/src/v2.0/transport/Uncorrelated.cpp | 4 +- .../c/src/v2.0/transport/Uncorrelated.h | 4 +- .../c/src/v2.0/transport/UnresolvedRegion.cpp | 4 +- .../c/src/v2.0/transport/UnresolvedRegion.h | 4 +- .../c/src/v2.0/transport/Unspecified.cpp | 4 +- .../c/src/v2.0/transport/Unspecified.h | 4 +- .../c/src/v2.0/transport/Weighted.cpp | 4 +- .../c/src/v2.0/transport/Weighted.h | 4 +- .../v2.0/transport/WeightedFunctionals.cpp | 4 +- .../src/v2.0/transport/WeightedFunctionals.h | 4 +- .../c/src/v2.0/tsl/BoundAtomCrossSection.cpp | 4 +- .../c/src/v2.0/tsl/BoundAtomCrossSection.h | 4 +- .../c/src/v2.0/tsl/BraggEdge.cpp | 4 +- .../{try => test}/c/src/v2.0/tsl/BraggEdge.h | 4 +- .../c/src/v2.0/tsl/BraggEdges.cpp | 4 +- .../{try => test}/c/src/v2.0/tsl/BraggEdges.h | 4 +- .../c/src/v2.0/tsl/BraggEnergy.cpp | 4 +- .../c/src/v2.0/tsl/BraggEnergy.h | 4 +- .../src/v2.0/tsl/CoherentAtomCrossSection.cpp | 4 +- .../c/src/v2.0/tsl/CoherentAtomCrossSection.h | 4 +- .../c/src/v2.0/tsl/DebyeWallerIntegral.cpp | 4 +- .../c/src/v2.0/tsl/DebyeWallerIntegral.h | 4 +- .../src/v2.0/tsl/DistinctScatteringKernel.cpp | 4 +- .../c/src/v2.0/tsl/DistinctScatteringKernel.h | 4 +- .../c/src/v2.0/tsl/E_critical.cpp | 4 +- .../{try => test}/c/src/v2.0/tsl/E_critical.h | 4 +- .../{try => test}/c/src/v2.0/tsl/E_max.cpp | 4 +- .../{try => test}/c/src/v2.0/tsl/E_max.h | 4 +- .../c/src/v2.0/tsl/FreeGasApproximation.cpp | 4 +- .../c/src/v2.0/tsl/FreeGasApproximation.h | 4 +- .../c/src/v2.0/tsl/GaussianApproximation.cpp | 4 +- .../c/src/v2.0/tsl/GaussianApproximation.h | 4 +- .../{try => test}/c/src/v2.0/tsl/Mass.cpp | 4 +- .../{try => test}/c/src/v2.0/tsl/Mass.h | 4 +- .../c/src/v2.0/tsl/PhononSpectrum.cpp | 4 +- .../c/src/v2.0/tsl/PhononSpectrum.h | 4 +- .../c/src/v2.0/tsl/SCTApproximation.cpp | 4 +- .../c/src/v2.0/tsl/SCTApproximation.h | 4 +- .../{try => test}/c/src/v2.0/tsl/S_table.cpp | 4 +- .../{try => test}/c/src/v2.0/tsl/S_table.h | 4 +- .../c/src/v2.0/tsl/ScatteringAtom.cpp | 4 +- .../c/src/v2.0/tsl/ScatteringAtom.h | 4 +- .../c/src/v2.0/tsl/ScatteringAtoms.cpp | 4 +- .../c/src/v2.0/tsl/ScatteringAtoms.h | 4 +- .../c/src/v2.0/tsl/SelfScatteringKernel.cpp | 4 +- .../c/src/v2.0/tsl/SelfScatteringKernel.h | 4 +- .../c/src/v2.0/tsl/StructureFactor.cpp | 4 +- .../c/src/v2.0/tsl/StructureFactor.h | 4 +- .../c/src/v2.0/tsl/T_effective.cpp | 4 +- .../c/src/v2.0/tsl/T_effective.h | 4 +- .../v2.0/tsl/ThermalNeutronScatteringLaw.cpp | 4 +- .../v2.0/tsl/ThermalNeutronScatteringLaw.h | 4 +- .../tsl/ThermalNeutronScatteringLaw1d.cpp | 4 +- .../v2.0/tsl/ThermalNeutronScatteringLaw1d.h | 4 +- ...alNeutronScatteringLaw_coherentElastic.cpp | 4 +- ...rmalNeutronScatteringLaw_coherentElastic.h | 4 +- ...NeutronScatteringLaw_incoherentElastic.cpp | 4 +- ...alNeutronScatteringLaw_incoherentElastic.h | 4 +- ...utronScatteringLaw_incoherentInelastic.cpp | 4 +- ...NeutronScatteringLaw_incoherentInelastic.h | 4 +- .../python/src/v2.0/appData.python.cpp | 2 +- .../v2.0/appData/ApplicationData.python.cpp | 6 +- .../src/v2.0/appData/Conversion.python.cpp | 6 +- .../appData/ENDFconversionFlags.python.cpp | 6 +- .../src/v2.0/appData/Institution.python.cpp | 6 +- .../python/src/v2.0/atomic.python.cpp | 2 +- .../CoherentPhotonScattering.python.cpp | 6 +- .../src/v2.0/atomic/FormFactor.python.cpp | 6 +- .../ImaginaryAnomalousFactor.python.cpp | 6 +- .../IncoherentPhotonScattering.python.cpp | 6 +- .../atomic/RealAnomalousFactor.python.cpp | 6 +- .../v2.0/atomic/ScatteringFactor.python.cpp | 6 +- .../python/src/v2.0/common.python.cpp | 2 +- .../python/src/v2.0/common/Energy.python.cpp | 6 +- .../src/v2.0/common/ExternalFile.python.cpp | 6 +- .../src/v2.0/common/ExternalFiles.python.cpp | 6 +- .../python/src/v2.0/common/Mass.python.cpp | 6 +- .../src/v2.0/common/Probability.python.cpp | 6 +- .../python/src/v2.0/common/Product.python.cpp | 6 +- .../src/v2.0/common/Products.python.cpp | 6 +- .../python/src/v2.0/common/Q.python.cpp | 6 +- .../src/v2.0/common/Temperature.python.cpp | 6 +- .../python/src/v2.0/containers.python.cpp | 2 +- .../src/v2.0/containers/Array.python.cpp | 6 +- .../src/v2.0/containers/Axes.python.cpp | 6 +- .../src/v2.0/containers/Axis.python.cpp | 6 +- .../containers/Cdf_in_xs_pdf_cdf1d.python.cpp | 6 +- .../src/v2.0/containers/Column.python.cpp | 6 +- .../v2.0/containers/ColumnHeaders.python.cpp | 6 +- .../containers/ConfidenceIntervals.python.cpp | 6 +- .../src/v2.0/containers/Constant1d.python.cpp | 6 +- .../src/v2.0/containers/Covariance.python.cpp | 6 +- .../src/v2.0/containers/Data.python.cpp | 6 +- .../src/v2.0/containers/Double.python.cpp | 6 +- .../src/v2.0/containers/Fraction.python.cpp | 6 +- .../v2.0/containers/Function1ds.python.cpp | 6 +- .../v2.0/containers/Function2ds.python.cpp | 6 +- .../v2.0/containers/Function3ds.python.cpp | 6 +- .../src/v2.0/containers/Grid.python.cpp | 6 +- .../src/v2.0/containers/Gridded1d.python.cpp | 6 +- .../src/v2.0/containers/Gridded2d.python.cpp | 6 +- .../src/v2.0/containers/Gridded3d.python.cpp | 6 +- .../src/v2.0/containers/Integer.python.cpp | 6 +- .../src/v2.0/containers/Interval.python.cpp | 6 +- .../src/v2.0/containers/Legendre.python.cpp | 6 +- .../src/v2.0/containers/Link.python.cpp | 6 +- .../containers/ListOfCovariances.python.cpp | 6 +- .../src/v2.0/containers/LogNormal.python.cpp | 6 +- .../python/src/v2.0/containers/Pdf.python.cpp | 6 +- .../containers/Pdf_in_xs_pdf_cdf1d.python.cpp | 6 +- .../v2.0/containers/Polynomial1d.python.cpp | 6 +- .../src/v2.0/containers/Regions1d.python.cpp | 6 +- .../src/v2.0/containers/Regions2d.python.cpp | 6 +- .../src/v2.0/containers/Regions3d.python.cpp | 6 +- .../src/v2.0/containers/Standard.python.cpp | 6 +- .../src/v2.0/containers/String.python.cpp | 6 +- .../src/v2.0/containers/Table.python.cpp | 6 +- .../v2.0/containers/Uncertainty.python.cpp | 6 +- .../src/v2.0/containers/Values.python.cpp | 6 +- .../src/v2.0/containers/XYs1d.python.cpp | 6 +- .../src/v2.0/containers/XYs2d.python.cpp | 6 +- .../src/v2.0/containers/XYs3d.python.cpp | 6 +- .../containers/Xs_in_xs_pdf_cdf1d.python.cpp | 6 +- .../v2.0/containers/Xs_pdf_cdf1d.python.cpp | 6 +- .../src/v2.0/containers/Ys1d.python.cpp | 6 +- .../python/src/v2.0/covariance.python.cpp | 2 +- .../AverageParameterCovariance.python.cpp | 6 +- .../src/v2.0/covariance/ColumnData.python.cpp | 6 +- .../covariance/ColumnSensitivity.python.cpp | 6 +- .../src/v2.0/covariance/Covariance.python.cpp | 6 +- .../covariance/CovarianceMatrix.python.cpp | 6 +- .../covariance/CovarianceSection.python.cpp | 6 +- .../covariance/CovarianceSections.python.cpp | 6 +- .../covariance/CovarianceSuite.python.cpp | 6 +- .../src/v2.0/covariance/Mixed.python.cpp | 6 +- .../covariance/ParameterCovariance.python.cpp | 6 +- .../ParameterCovarianceMatrix.python.cpp | 6 +- .../ParameterCovariances.python.cpp | 6 +- .../v2.0/covariance/ParameterLink.python.cpp | 6 +- .../src/v2.0/covariance/Parameters.python.cpp | 6 +- .../src/v2.0/covariance/RowData.python.cpp | 6 +- .../v2.0/covariance/RowSensitivity.python.cpp | 6 +- .../covariance/SandwichProduct.python.cpp | 6 +- .../ShortRangeSelfScalingVariance.python.cpp | 6 +- .../src/v2.0/covariance/Slice.python.cpp | 6 +- .../src/v2.0/covariance/Slices.python.cpp | 6 +- .../python/src/v2.0/covariance/Sum.python.cpp | 6 +- .../src/v2.0/covariance/Summand.python.cpp | 6 +- .../python/src/v2.0/cpTransport.python.cpp | 2 +- .../CoulombPlusNuclearElastic.python.cpp | 6 +- .../ImaginaryInterferenceTerm.python.cpp | 6 +- .../NuclearAmplitudeExpansion.python.cpp | 6 +- .../NuclearPlusInterference.python.cpp | 6 +- .../v2.0/cpTransport/NuclearTerm.python.cpp | 6 +- .../RealInterferenceTerm.python.cpp | 6 +- .../RutherfordScattering.python.cpp | 6 +- .../python/src/v2.0/documentation.python.cpp | 2 +- .../v2.0/documentation/Abstract.python.cpp | 6 +- .../documentation/Acknowledgement.python.cpp | 6 +- .../documentation/Acknowledgements.python.cpp | 6 +- .../v2.0/documentation/Affiliation.python.cpp | 6 +- .../documentation/Affiliations.python.cpp | 6 +- .../src/v2.0/documentation/Author.python.cpp | 6 +- .../src/v2.0/documentation/Authors.python.cpp | 6 +- .../src/v2.0/documentation/Bibitem.python.cpp | 6 +- .../documentation/Bibliography.python.cpp | 6 +- .../src/v2.0/documentation/Body.python.cpp | 6 +- .../v2.0/documentation/CodeRepo.python.cpp | 6 +- .../documentation/Collaboration.python.cpp | 6 +- .../documentation/Collaborations.python.cpp | 6 +- .../documentation/ComputerCode.python.cpp | 6 +- .../documentation/ComputerCodes.python.cpp | 6 +- .../v2.0/documentation/Contributor.python.cpp | 6 +- .../documentation/Contributors.python.cpp | 6 +- .../v2.0/documentation/Copyright.python.cpp | 6 +- .../documentation/CorrectionScript.python.cpp | 6 +- .../documentation/CovarianceScript.python.cpp | 6 +- .../src/v2.0/documentation/Date.python.cpp | 6 +- .../src/v2.0/documentation/Dates.python.cpp | 6 +- .../documentation/Documentation.python.cpp | 6 +- .../documentation/EndfCompatible.python.cpp | 6 +- .../ExecutionArguments.python.cpp | 6 +- .../documentation/ExforDataSet.python.cpp | 6 +- .../documentation/ExforDataSets.python.cpp | 6 +- .../ExperimentalDataSets.python.cpp | 6 +- .../v2.0/documentation/InputDeck.python.cpp | 6 +- .../v2.0/documentation/InputDecks.python.cpp | 6 +- .../src/v2.0/documentation/Keyword.python.cpp | 6 +- .../v2.0/documentation/Keywords.python.cpp | 6 +- .../src/v2.0/documentation/Note.python.cpp | 6 +- .../v2.0/documentation/OutputDeck.python.cpp | 6 +- .../v2.0/documentation/OutputDecks.python.cpp | 6 +- .../v2.0/documentation/RelatedItem.python.cpp | 6 +- .../documentation/RelatedItems.python.cpp | 6 +- .../src/v2.0/documentation/Title.python.cpp | 6 +- .../src/v2.0/documentation/Version.python.cpp | 6 +- .../src/v2.0/fissionFragmentData.python.cpp | 2 +- .../DelayedNeutron.python.cpp | 6 +- .../DelayedNeutrons.python.cpp | 6 +- .../FissionFragmentData.python.cpp | 6 +- .../v2.0/fissionFragmentData/Rate.python.cpp | 6 +- .../src/v2.0/fissionTransport.python.cpp | 2 +- .../src/v2.0/fissionTransport/A.python.cpp | 6 +- .../src/v2.0/fissionTransport/B.python.cpp | 6 +- .../DelayedBetaEnergy.python.cpp | 6 +- .../DelayedGammaEnergy.python.cpp | 6 +- .../DelayedNeutronKE.python.cpp | 6 +- .../src/v2.0/fissionTransport/EFH.python.cpp | 6 +- .../src/v2.0/fissionTransport/EFL.python.cpp | 6 +- .../FissionComponent.python.cpp | 6 +- .../FissionComponents.python.cpp | 6 +- .../FissionEnergyReleased.python.cpp | 6 +- .../fissionTransport/MadlandNix.python.cpp | 6 +- .../NeutrinoEnergy.python.cpp | 6 +- .../NonNeutrinoEnergy.python.cpp | 6 +- .../PromptGammaEnergy.python.cpp | 6 +- .../PromptNeutronKE.python.cpp | 6 +- .../PromptProductKE.python.cpp | 6 +- .../SimpleMaxwellianFission.python.cpp | 6 +- .../src/v2.0/fissionTransport/T_M.python.cpp | 6 +- .../fissionTransport/TotalEnergy.python.cpp | 6 +- .../src/v2.0/fissionTransport/Watt.python.cpp | 6 +- .../python/src/v2.0/fpy.python.cpp | 2 +- .../src/v2.0/fpy/ElapsedTime.python.cpp | 6 +- .../src/v2.0/fpy/ElapsedTimes.python.cpp | 6 +- .../python/src/v2.0/fpy/Energy.python.cpp | 6 +- .../src/v2.0/fpy/IncidentEnergies.python.cpp | 6 +- .../src/v2.0/fpy/IncidentEnergy.python.cpp | 6 +- .../python/src/v2.0/fpy/Nuclides.python.cpp | 6 +- .../src/v2.0/fpy/ProductYield.python.cpp | 6 +- .../src/v2.0/fpy/ProductYields.python.cpp | 6 +- .../python/src/v2.0/fpy/Time.python.cpp | 6 +- .../python/src/v2.0/fpy/Yields.python.cpp | 6 +- .../python/src/v2.0/map.python.cpp | 2 +- .../python/src/v2.0/map/Import.python.cpp | 6 +- .../python/src/v2.0/map/Map.python.cpp | 6 +- .../python/src/v2.0/map/Protare.python.cpp | 6 +- .../python/src/v2.0/map/TNSL.python.cpp | 6 +- .../python/src/v2.0/pops.python.cpp | 2 +- .../python/src/v2.0/pops/Alias.python.cpp | 6 +- .../python/src/v2.0/pops/Aliases.python.cpp | 6 +- .../python/src/v2.0/pops/Atomic.python.cpp | 6 +- .../src/v2.0/pops/AverageEnergies.python.cpp | 6 +- .../src/v2.0/pops/AverageEnergy.python.cpp | 6 +- .../python/src/v2.0/pops/Baryon.python.cpp | 6 +- .../python/src/v2.0/pops/Baryons.python.cpp | 6 +- .../src/v2.0/pops/BindingEnergy.python.cpp | 6 +- .../python/src/v2.0/pops/Charge.python.cpp | 6 +- .../src/v2.0/pops/ChemicalElement.python.cpp | 6 +- .../src/v2.0/pops/ChemicalElements.python.cpp | 6 +- .../v2.0/pops/ConfidenceIntervals.python.cpp | 6 +- .../src/v2.0/pops/Configuration.python.cpp | 6 +- .../src/v2.0/pops/Configurations.python.cpp | 6 +- .../python/src/v2.0/pops/Continuum.python.cpp | 6 +- .../python/src/v2.0/pops/Decay.python.cpp | 6 +- .../python/src/v2.0/pops/DecayData.python.cpp | 6 +- .../python/src/v2.0/pops/DecayMode.python.cpp | 6 +- .../src/v2.0/pops/DecayModes.python.cpp | 6 +- .../python/src/v2.0/pops/DecayPath.python.cpp | 6 +- .../python/src/v2.0/pops/Discrete.python.cpp | 6 +- .../src/v2.0/pops/DiscreteEnergy.python.cpp | 6 +- .../python/src/v2.0/pops/Energy.python.cpp | 6 +- .../src/v2.0/pops/GaugeBoson.python.cpp | 6 +- .../src/v2.0/pops/GaugeBosons.python.cpp | 6 +- .../python/src/v2.0/pops/Halflife.python.cpp | 6 +- .../python/src/v2.0/pops/Intensity.python.cpp | 6 +- .../InternalConversionCoefficients.python.cpp | 6 +- ...nternalPairFormationCoefficient.python.cpp | 6 +- .../python/src/v2.0/pops/Interval.python.cpp | 6 +- .../python/src/v2.0/pops/Isotope.python.cpp | 6 +- .../python/src/v2.0/pops/Isotopes.python.cpp | 6 +- .../python/src/v2.0/pops/Lepton.python.cpp | 6 +- .../python/src/v2.0/pops/Leptons.python.cpp | 6 +- .../python/src/v2.0/pops/LogNormal.python.cpp | 6 +- .../python/src/v2.0/pops/Mass.python.cpp | 6 +- .../src/v2.0/pops/MetaStable.python.cpp | 6 +- .../python/src/v2.0/pops/Nucleus.python.cpp | 6 +- .../python/src/v2.0/pops/Nuclide.python.cpp | 6 +- .../python/src/v2.0/pops/Nuclides.python.cpp | 6 +- .../python/src/v2.0/pops/Parity.python.cpp | 6 +- .../python/src/v2.0/pops/Pdf.python.cpp | 6 +- .../PhotonEmissionProbabilities.python.cpp | 6 +- .../src/v2.0/pops/PoPs_database.python.cpp | 6 +- .../pops/PositronEmissionIntensity.python.cpp | 6 +- .../src/v2.0/pops/Probability.python.cpp | 6 +- .../python/src/v2.0/pops/Product.python.cpp | 6 +- .../python/src/v2.0/pops/Products.python.cpp | 6 +- .../python/src/v2.0/pops/Q.python.cpp | 6 +- .../python/src/v2.0/pops/Shell.python.cpp | 6 +- .../python/src/v2.0/pops/Spectra.python.cpp | 6 +- .../python/src/v2.0/pops/Spectrum.python.cpp | 6 +- .../python/src/v2.0/pops/Spin.python.cpp | 6 +- .../python/src/v2.0/pops/Standard.python.cpp | 6 +- .../src/v2.0/pops/Uncertainty.python.cpp | 6 +- .../src/v2.0/pops/Unorthodox.python.cpp | 6 +- .../src/v2.0/pops/Unorthodoxes.python.cpp | 6 +- .../python/src/v2.0/processed.python.cpp | 2 +- .../v2.0/processed/AngularEnergyMC.python.cpp | 6 +- .../v2.0/processed/AvailableEnergy.python.cpp | 6 +- .../processed/AvailableMomentum.python.cpp | 6 +- .../processed/AverageProductEnergy.python.cpp | 6 +- .../AverageProductMomentum.python.cpp | 6 +- .../v2.0/processed/EnergyAngularMC.python.cpp | 6 +- .../v2.0/processed/MultiGroup3d.python.cpp | 6 +- .../python/src/v2.0/resonances.python.cpp | 2 +- .../v2.0/resonances/BreitWigner.python.cpp | 6 +- .../src/v2.0/resonances/Channel.python.cpp | 6 +- .../src/v2.0/resonances/Channels.python.cpp | 6 +- .../v2.0/resonances/EnergyInterval.python.cpp | 6 +- .../resonances/EnergyIntervals.python.cpp | 6 +- .../resonances/ExternalRMatrix.python.cpp | 6 +- .../resonances/HardSphereRadius.python.cpp | 6 +- .../python/src/v2.0/resonances/J.python.cpp | 6 +- .../python/src/v2.0/resonances/Js.python.cpp | 6 +- .../python/src/v2.0/resonances/L.python.cpp | 6 +- .../v2.0/resonances/LevelSpacing.python.cpp | 6 +- .../python/src/v2.0/resonances/Ls.python.cpp | 6 +- .../src/v2.0/resonances/RMatrix.python.cpp | 6 +- .../src/v2.0/resonances/Resolved.python.cpp | 6 +- .../resonances/ResonanceParameters.python.cpp | 6 +- .../resonances/ResonanceReaction.python.cpp | 6 +- .../resonances/ResonanceReactions.python.cpp | 6 +- .../src/v2.0/resonances/Resonances.python.cpp | 6 +- .../resonances/ScatteringRadius.python.cpp | 6 +- .../src/v2.0/resonances/SpinGroup.python.cpp | 6 +- .../src/v2.0/resonances/SpinGroups.python.cpp | 6 +- .../resonances/TabulatedWidths.python.cpp | 6 +- .../src/v2.0/resonances/Unresolved.python.cpp | 6 +- .../src/v2.0/resonances/Width.python.cpp | 6 +- .../src/v2.0/resonances/Widths.python.cpp | 6 +- .../python/src/v2.0/styles.python.cpp | 2 +- ...ngularDistributionReconstructed.python.cpp | 6 +- .../v2.0/styles/AverageProductData.python.cpp | 6 +- .../src/v2.0/styles/Bondarenko.python.cpp | 6 +- ...ulombPlusNuclearElasticMuCutoff.python.cpp | 6 +- .../CrossSectionReconstructed.python.cpp | 6 +- .../v2.0/styles/EqualProbableBins.python.cpp | 6 +- .../src/v2.0/styles/Evaluated.python.cpp | 6 +- .../python/src/v2.0/styles/Flux.python.cpp | 6 +- .../styles/GriddedCrossSection.python.cpp | 6 +- .../python/src/v2.0/styles/Heated.python.cpp | 6 +- .../v2.0/styles/HeatedMultiGroup.python.cpp | 6 +- .../src/v2.0/styles/InverseSpeed.python.cpp | 6 +- .../src/v2.0/styles/MonteCarlo_cdf.python.cpp | 6 +- .../src/v2.0/styles/MultiBand.python.cpp | 6 +- .../src/v2.0/styles/MultiGroup.python.cpp | 6 +- .../styles/ProjectileEnergyDomain.python.cpp | 6 +- .../src/v2.0/styles/Realization.python.cpp | 6 +- .../src/v2.0/styles/SigmaZeros.python.cpp | 6 +- .../v2.0/styles/SnElasticUpScatter.python.cpp | 6 +- .../python/src/v2.0/styles/Styles.python.cpp | 6 +- .../src/v2.0/styles/Temperature.python.cpp | 6 +- .../src/v2.0/styles/Transportable.python.cpp | 6 +- .../src/v2.0/styles/Transportables.python.cpp | 6 +- .../styles/URR_probabilityTables.python.cpp | 6 +- .../python/src/v2.0/transport.python.cpp | 2 +- .../python/src/v2.0/transport/A.python.cpp | 6 +- .../python/src/v2.0/transport/Add.python.cpp | 6 +- .../v2.0/transport/AngularEnergy.python.cpp | 6 +- .../v2.0/transport/AngularTwoBody.python.cpp | 6 +- .../transport/Angular_uncorrelated.python.cpp | 6 +- .../src/v2.0/transport/Background.python.cpp | 6 +- .../src/v2.0/transport/Branching1d.python.cpp | 6 +- .../src/v2.0/transport/Branching3d.python.cpp | 6 +- .../v2.0/transport/CoherentPhoton.python.cpp | 6 +- .../v2.0/transport/CrossSection.python.cpp | 6 +- .../v2.0/transport/CrossSectionSum.python.cpp | 6 +- .../transport/CrossSectionSums.python.cpp | 6 +- .../v2.0/transport/DiscreteGamma.python.cpp | 6 +- .../v2.0/transport/Distribution.python.cpp | 6 +- .../DoubleDifferentialCrossSection.python.cpp | 6 +- .../v2.0/transport/EnergyAngular.python.cpp | 6 +- .../transport/Energy_uncorrelated.python.cpp | 6 +- .../src/v2.0/transport/Evaporation.python.cpp | 6 +- .../python/src/v2.0/transport/F.python.cpp | 6 +- .../src/v2.0/transport/FastRegion.python.cpp | 6 +- .../src/v2.0/transport/Forward.python.cpp | 6 +- .../python/src/v2.0/transport/G.python.cpp | 6 +- .../transport/GeneralEvaporation.python.cpp | 6 +- .../transport/IncoherentPhoton.python.cpp | 6 +- .../transport/IncompleteReactions.python.cpp | 6 +- .../src/v2.0/transport/Isotropic2d.python.cpp | 6 +- .../src/v2.0/transport/KalbachMann.python.cpp | 6 +- .../v2.0/transport/MultiGroup3d.python.cpp | 6 +- .../v2.0/transport/Multiplicity.python.cpp | 6 +- .../v2.0/transport/MultiplicitySum.python.cpp | 6 +- .../transport/MultiplicitySums.python.cpp | 6 +- .../v2.0/transport/NBodyPhaseSpace.python.cpp | 6 +- .../v2.0/transport/OrphanProduct.python.cpp | 6 +- .../v2.0/transport/OrphanProducts.python.cpp | 6 +- .../v2.0/transport/OutputChannel.python.cpp | 6 +- .../PhotonEmissionProbabilities.python.cpp | 6 +- .../v2.0/transport/PrimaryGamma.python.cpp | 6 +- .../src/v2.0/transport/Production.python.cpp | 6 +- .../src/v2.0/transport/Productions.python.cpp | 6 +- .../python/src/v2.0/transport/R.python.cpp | 6 +- .../src/v2.0/transport/Reaction.python.cpp | 6 +- .../v2.0/transport/ReactionSuite.python.cpp | 6 +- .../src/v2.0/transport/Reactions.python.cpp | 6 +- .../src/v2.0/transport/Recoil.python.cpp | 6 +- .../src/v2.0/transport/Reference.python.cpp | 6 +- .../v2.0/transport/ResolvedRegion.python.cpp | 6 +- .../v2.0/transport/ResonancesLink.python.cpp | 6 +- .../ResonancesWithBackground.python.cpp | 6 +- .../src/v2.0/transport/Summands.python.cpp | 6 +- .../python/src/v2.0/transport/Sums.python.cpp | 6 +- .../src/v2.0/transport/Theta.python.cpp | 6 +- .../python/src/v2.0/transport/U.python.cpp | 6 +- .../URR_probabilityTables1d.python.cpp | 6 +- .../v2.0/transport/Uncorrelated.python.cpp | 6 +- .../transport/UnresolvedRegion.python.cpp | 6 +- .../src/v2.0/transport/Unspecified.python.cpp | 6 +- .../src/v2.0/transport/Weighted.python.cpp | 6 +- .../transport/WeightedFunctionals.python.cpp | 6 +- .../python/src/v2.0/tsl.python.cpp | 2 +- .../v2.0/tsl/BoundAtomCrossSection.python.cpp | 6 +- .../python/src/v2.0/tsl/BraggEdge.python.cpp | 6 +- .../python/src/v2.0/tsl/BraggEdges.python.cpp | 6 +- .../src/v2.0/tsl/BraggEnergy.python.cpp | 6 +- .../tsl/CoherentAtomCrossSection.python.cpp | 6 +- .../v2.0/tsl/DebyeWallerIntegral.python.cpp | 6 +- .../tsl/DistinctScatteringKernel.python.cpp | 6 +- .../python/src/v2.0/tsl/E_critical.python.cpp | 6 +- .../python/src/v2.0/tsl/E_max.python.cpp | 6 +- .../v2.0/tsl/FreeGasApproximation.python.cpp | 6 +- .../v2.0/tsl/GaussianApproximation.python.cpp | 6 +- .../python/src/v2.0/tsl/Mass.python.cpp | 6 +- .../src/v2.0/tsl/PhononSpectrum.python.cpp | 6 +- .../src/v2.0/tsl/SCTApproximation.python.cpp | 6 +- .../python/src/v2.0/tsl/S_table.python.cpp | 6 +- .../src/v2.0/tsl/ScatteringAtom.python.cpp | 6 +- .../src/v2.0/tsl/ScatteringAtoms.python.cpp | 6 +- .../v2.0/tsl/SelfScatteringKernel.python.cpp | 6 +- .../src/v2.0/tsl/StructureFactor.python.cpp | 6 +- .../src/v2.0/tsl/T_effective.python.cpp | 6 +- .../ThermalNeutronScatteringLaw.python.cpp | 6 +- .../ThermalNeutronScatteringLaw1d.python.cpp | 6 +- ...onScatteringLaw_coherentElastic.python.cpp | 6 +- ...ScatteringLaw_incoherentElastic.python.cpp | 6 +- ...atteringLaw_incoherentInelastic.python.cpp | 6 +- standards/gnds-2.0/test/src/test/v2.0.hpp | 391 ++++++++++++++++++ .../test}/v2.0/appData/ApplicationData.hpp | 12 +- .../appData/ApplicationData/src/custom.hpp | 0 .../src/test}/v2.0/appData/Conversion.hpp | 12 +- .../v2.0/appData/Conversion/src/custom.hpp | 0 .../v2.0/appData/ENDFconversionFlags.hpp | 12 +- .../ENDFconversionFlags/src/custom.hpp | 0 .../src/test}/v2.0/appData/Institution.hpp | 12 +- .../v2.0/appData/Institution/src/custom.hpp | 0 .../v2.0/atomic/CoherentPhotonScattering.hpp | 16 +- .../CoherentPhotonScattering/src/custom.hpp | 0 .../src/test}/v2.0/atomic/FormFactor.hpp | 14 +- .../v2.0/atomic/FormFactor/src/custom.hpp | 0 .../v2.0/atomic/ImaginaryAnomalousFactor.hpp | 14 +- .../ImaginaryAnomalousFactor/src/custom.hpp | 0 .../atomic/IncoherentPhotonScattering.hpp | 12 +- .../IncoherentPhotonScattering/src/custom.hpp | 0 .../test}/v2.0/atomic/RealAnomalousFactor.hpp | 14 +- .../atomic/RealAnomalousFactor/src/custom.hpp | 0 .../test}/v2.0/atomic/ScatteringFactor.hpp | 14 +- .../atomic/ScatteringFactor/src/custom.hpp | 0 .../src/test}/v2.0/common/Energy.hpp | 16 +- .../test}/v2.0/common/Energy/src/custom.hpp | 0 .../src/test}/v2.0/common/ExternalFile.hpp | 12 +- .../v2.0/common/ExternalFile/src/custom.hpp | 0 .../src/test}/v2.0/common/ExternalFiles.hpp | 12 +- .../v2.0/common/ExternalFiles/src/custom.hpp | 0 .../src/test}/v2.0/common/Mass.hpp | 16 +- .../src/test}/v2.0/common/Mass/src/custom.hpp | 0 .../src/test}/v2.0/common/Probability.hpp | 12 +- .../v2.0/common/Probability/src/custom.hpp | 0 .../src/test}/v2.0/common/Product.hpp | 16 +- .../test}/v2.0/common/Product/src/custom.hpp | 0 .../src/test}/v2.0/common/Products.hpp | 12 +- .../test}/v2.0/common/Products/src/custom.hpp | 0 .../try => test/src/test}/v2.0/common/Q.hpp | 28 +- .../src/test}/v2.0/common/Q/src/custom.hpp | 0 .../src/test}/v2.0/common/Temperature.hpp | 14 +- .../v2.0/common/Temperature/src/custom.hpp | 0 .../src/test}/v2.0/containers/Array.hpp | 12 +- .../v2.0/containers/Array/src/custom.hpp | 0 .../src/test}/v2.0/containers/Axes.hpp | 14 +- .../test}/v2.0/containers/Axes/src/custom.hpp | 0 .../src/test}/v2.0/containers/Axis.hpp | 12 +- .../test}/v2.0/containers/Axis/src/custom.hpp | 0 .../v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp | 12 +- .../Cdf_in_xs_pdf_cdf1d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Column.hpp | 12 +- .../v2.0/containers/Column/src/custom.hpp | 0 .../test}/v2.0/containers/ColumnHeaders.hpp | 12 +- .../containers/ColumnHeaders/src/custom.hpp | 0 .../v2.0/containers/ConfidenceIntervals.hpp | 12 +- .../ConfidenceIntervals/src/custom.hpp | 0 .../src/test}/v2.0/containers/Constant1d.hpp | 12 +- .../v2.0/containers/Constant1d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Covariance.hpp | 12 +- .../v2.0/containers/Covariance/src/custom.hpp | 0 .../src/test}/v2.0/containers/Data.hpp | 12 +- .../test}/v2.0/containers/Data/src/custom.hpp | 0 .../src/test}/v2.0/containers/Double.hpp | 12 +- .../v2.0/containers/Double/src/custom.hpp | 0 .../src/test}/v2.0/containers/Fraction.hpp | 12 +- .../v2.0/containers/Fraction/src/custom.hpp | 0 .../src/test}/v2.0/containers/Function1ds.hpp | 20 +- .../containers/Function1ds/src/custom.hpp | 0 .../src/test}/v2.0/containers/Function2ds.hpp | 14 +- .../containers/Function2ds/src/custom.hpp | 0 .../src/test}/v2.0/containers/Function3ds.hpp | 14 +- .../containers/Function3ds/src/custom.hpp | 0 .../src/test}/v2.0/containers/Grid.hpp | 14 +- .../test}/v2.0/containers/Grid/src/custom.hpp | 0 .../src/test}/v2.0/containers/Gridded1d.hpp | 14 +- .../v2.0/containers/Gridded1d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Gridded2d.hpp | 14 +- .../v2.0/containers/Gridded2d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Gridded3d.hpp | 14 +- .../v2.0/containers/Gridded3d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Integer.hpp | 12 +- .../v2.0/containers/Integer/src/custom.hpp | 0 .../src/test}/v2.0/containers/Interval.hpp | 12 +- .../v2.0/containers/Interval/src/custom.hpp | 0 .../src/test}/v2.0/containers/Legendre.hpp | 12 +- .../v2.0/containers/Legendre/src/custom.hpp | 0 .../src/test}/v2.0/containers/Link.hpp | 12 +- .../test}/v2.0/containers/Link/src/custom.hpp | 0 .../v2.0/containers/ListOfCovariances.hpp | 12 +- .../ListOfCovariances/src/custom.hpp | 0 .../src/test}/v2.0/containers/LogNormal.hpp | 12 +- .../v2.0/containers/LogNormal/src/custom.hpp | 0 .../src/test}/v2.0/containers/Pdf.hpp | 14 +- .../test}/v2.0/containers/Pdf/src/custom.hpp | 0 .../v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp | 12 +- .../Pdf_in_xs_pdf_cdf1d/src/custom.hpp | 0 .../test}/v2.0/containers/Polynomial1d.hpp | 16 +- .../containers/Polynomial1d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Regions1d.hpp | 16 +- .../v2.0/containers/Regions1d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Regions2d.hpp | 16 +- .../v2.0/containers/Regions2d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Regions3d.hpp | 16 +- .../v2.0/containers/Regions3d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Standard.hpp | 12 +- .../v2.0/containers/Standard/src/custom.hpp | 0 .../src/test}/v2.0/containers/String.hpp | 12 +- .../v2.0/containers/String/src/custom.hpp | 0 .../src/test}/v2.0/containers/Table.hpp | 14 +- .../v2.0/containers/Table/src/custom.hpp | 0 .../src/test}/v2.0/containers/Uncertainty.hpp | 30 +- .../containers/Uncertainty/src/custom.hpp | 0 .../src/test}/v2.0/containers/Values.hpp | 12 +- .../v2.0/containers/Values/src/custom.hpp | 0 .../src/test}/v2.0/containers/XYs1d.hpp | 16 +- .../v2.0/containers/XYs1d/src/custom.hpp | 0 .../src/test}/v2.0/containers/XYs2d.hpp | 16 +- .../v2.0/containers/XYs2d/src/custom.hpp | 0 .../src/test}/v2.0/containers/XYs3d.hpp | 16 +- .../v2.0/containers/XYs3d/src/custom.hpp | 0 .../v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp | 12 +- .../Xs_in_xs_pdf_cdf1d/src/custom.hpp | 0 .../test}/v2.0/containers/Xs_pdf_cdf1d.hpp | 16 +- .../containers/Xs_pdf_cdf1d/src/custom.hpp | 0 .../src/test}/v2.0/containers/Ys1d.hpp | 14 +- .../test}/v2.0/containers/Ys1d/src/custom.hpp | 0 .../covariance/AverageParameterCovariance.hpp | 16 +- .../AverageParameterCovariance/src/custom.hpp | 0 .../src/test}/v2.0/covariance/ColumnData.hpp | 12 +- .../v2.0/covariance/ColumnData/src/custom.hpp | 0 .../v2.0/covariance/ColumnSensitivity.hpp | 12 +- .../ColumnSensitivity/src/custom.hpp | 0 .../src/test}/v2.0/covariance/Covariance.hpp | 12 +- .../v2.0/covariance/Covariance/src/custom.hpp | 0 .../v2.0/covariance/CovarianceMatrix.hpp | 14 +- .../CovarianceMatrix/src/custom.hpp | 0 .../v2.0/covariance/CovarianceSection.hpp | 20 +- .../CovarianceSection/src/custom.hpp | 0 .../v2.0/covariance/CovarianceSections.hpp | 12 +- .../CovarianceSections/src/custom.hpp | 0 .../test}/v2.0/covariance/CovarianceSuite.hpp | 18 +- .../covariance/CovarianceSuite/src/custom.hpp | 0 .../src/test}/v2.0/covariance/Mixed.hpp | 16 +- .../v2.0/covariance/Mixed/src/custom.hpp | 0 .../v2.0/covariance/ParameterCovariance.hpp | 14 +- .../ParameterCovariance/src/custom.hpp | 0 .../covariance/ParameterCovarianceMatrix.hpp | 14 +- .../ParameterCovarianceMatrix/src/custom.hpp | 0 .../v2.0/covariance/ParameterCovariances.hpp | 14 +- .../ParameterCovariances/src/custom.hpp | 0 .../test}/v2.0/covariance/ParameterLink.hpp | 12 +- .../covariance/ParameterLink/src/custom.hpp | 0 .../src/test}/v2.0/covariance/Parameters.hpp | 12 +- .../v2.0/covariance/Parameters/src/custom.hpp | 0 .../src/test}/v2.0/covariance/RowData.hpp | 12 +- .../v2.0/covariance/RowData/src/custom.hpp | 0 .../test}/v2.0/covariance/RowSensitivity.hpp | 12 +- .../covariance/RowSensitivity/src/custom.hpp | 0 .../test}/v2.0/covariance/SandwichProduct.hpp | 18 +- .../covariance/SandwichProduct/src/custom.hpp | 0 .../ShortRangeSelfScalingVariance.hpp | 12 +- .../src/custom.hpp | 0 .../src/test}/v2.0/covariance/Slice.hpp | 12 +- .../v2.0/covariance/Slice/src/custom.hpp | 0 .../src/test}/v2.0/covariance/Slices.hpp | 12 +- .../v2.0/covariance/Slices/src/custom.hpp | 0 .../src/test}/v2.0/covariance/Sum.hpp | 12 +- .../test}/v2.0/covariance/Sum/src/custom.hpp | 0 .../src/test}/v2.0/covariance/Summand.hpp | 12 +- .../v2.0/covariance/Summand/src/custom.hpp | 0 .../cpTransport/CoulombPlusNuclearElastic.hpp | 16 +- .../CoulombPlusNuclearElastic/src/custom.hpp | 0 .../cpTransport/ImaginaryInterferenceTerm.hpp | 14 +- .../ImaginaryInterferenceTerm/src/custom.hpp | 0 .../cpTransport/NuclearAmplitudeExpansion.hpp | 16 +- .../NuclearAmplitudeExpansion/src/custom.hpp | 0 .../cpTransport/NuclearPlusInterference.hpp | 14 +- .../NuclearPlusInterference/src/custom.hpp | 0 .../test}/v2.0/cpTransport/NuclearTerm.hpp | 14 +- .../cpTransport/NuclearTerm/src/custom.hpp | 0 .../v2.0/cpTransport/RealInterferenceTerm.hpp | 14 +- .../RealInterferenceTerm/src/custom.hpp | 0 .../v2.0/cpTransport/RutherfordScattering.hpp | 12 +- .../RutherfordScattering/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Abstract.hpp | 12 +- .../documentation/Abstract/src/custom.hpp | 0 .../v2.0/documentation/Acknowledgement.hpp | 12 +- .../Acknowledgement/src/custom.hpp | 0 .../v2.0/documentation/Acknowledgements.hpp | 12 +- .../Acknowledgements/src/custom.hpp | 0 .../test}/v2.0/documentation/Affiliation.hpp | 12 +- .../documentation/Affiliation/src/custom.hpp | 0 .../test}/v2.0/documentation/Affiliations.hpp | 12 +- .../documentation/Affiliations/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Author.hpp | 14 +- .../v2.0/documentation/Author/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Authors.hpp | 12 +- .../v2.0/documentation/Authors/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Bibitem.hpp | 12 +- .../v2.0/documentation/Bibitem/src/custom.hpp | 0 .../test}/v2.0/documentation/Bibliography.hpp | 12 +- .../documentation/Bibliography/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Body.hpp | 12 +- .../v2.0/documentation/Body/src/custom.hpp | 0 .../src/test}/v2.0/documentation/CodeRepo.hpp | 12 +- .../documentation/CodeRepo/src/custom.hpp | 0 .../v2.0/documentation/Collaboration.hpp | 12 +- .../Collaboration/src/custom.hpp | 0 .../v2.0/documentation/Collaborations.hpp | 12 +- .../Collaborations/src/custom.hpp | 0 .../test}/v2.0/documentation/ComputerCode.hpp | 20 +- .../documentation/ComputerCode/src/custom.hpp | 0 .../v2.0/documentation/ComputerCodes.hpp | 12 +- .../ComputerCodes/src/custom.hpp | 0 .../test}/v2.0/documentation/Contributor.hpp | 14 +- .../documentation/Contributor/src/custom.hpp | 0 .../test}/v2.0/documentation/Contributors.hpp | 12 +- .../documentation/Contributors/src/custom.hpp | 0 .../test}/v2.0/documentation/Copyright.hpp | 12 +- .../documentation/Copyright/src/custom.hpp | 0 .../v2.0/documentation/CorrectionScript.hpp | 12 +- .../CorrectionScript/src/custom.hpp | 0 .../v2.0/documentation/CovarianceScript.hpp | 12 +- .../CovarianceScript/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Date.hpp | 12 +- .../v2.0/documentation/Date/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Dates.hpp | 12 +- .../v2.0/documentation/Dates/src/custom.hpp | 0 .../v2.0/documentation/Documentation.hpp | 44 +- .../Documentation/src/custom.hpp | 0 .../v2.0/documentation/EndfCompatible.hpp | 12 +- .../EndfCompatible/src/custom.hpp | 0 .../v2.0/documentation/ExecutionArguments.hpp | 12 +- .../ExecutionArguments/src/custom.hpp | 0 .../test}/v2.0/documentation/ExforDataSet.hpp | 16 +- .../documentation/ExforDataSet/src/custom.hpp | 0 .../v2.0/documentation/ExforDataSets.hpp | 12 +- .../ExforDataSets/src/custom.hpp | 0 .../documentation/ExperimentalDataSets.hpp | 12 +- .../ExperimentalDataSets/src/custom.hpp | 0 .../test}/v2.0/documentation/InputDeck.hpp | 12 +- .../documentation/InputDeck/src/custom.hpp | 0 .../test}/v2.0/documentation/InputDecks.hpp | 12 +- .../documentation/InputDecks/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Keyword.hpp | 12 +- .../v2.0/documentation/Keyword/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Keywords.hpp | 12 +- .../documentation/Keywords/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Note.hpp | 12 +- .../v2.0/documentation/Note/src/custom.hpp | 0 .../test}/v2.0/documentation/OutputDeck.hpp | 12 +- .../documentation/OutputDeck/src/custom.hpp | 0 .../test}/v2.0/documentation/OutputDecks.hpp | 12 +- .../documentation/OutputDecks/src/custom.hpp | 0 .../test}/v2.0/documentation/RelatedItem.hpp | 12 +- .../documentation/RelatedItem/src/custom.hpp | 0 .../test}/v2.0/documentation/RelatedItems.hpp | 12 +- .../documentation/RelatedItems/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Title.hpp | 12 +- .../v2.0/documentation/Title/src/custom.hpp | 0 .../src/test}/v2.0/documentation/Version.hpp | 12 +- .../v2.0/documentation/Version/src/custom.hpp | 0 .../fissionFragmentData/DelayedNeutron.hpp | 14 +- .../DelayedNeutron/src/custom.hpp | 0 .../fissionFragmentData/DelayedNeutrons.hpp | 12 +- .../DelayedNeutrons/src/custom.hpp | 0 .../FissionFragmentData.hpp | 16 +- .../FissionFragmentData/src/custom.hpp | 0 .../test}/v2.0/fissionFragmentData/Rate.hpp | 12 +- .../fissionFragmentData/Rate/src/custom.hpp | 0 .../src/test}/v2.0/fissionTransport/A.hpp | 12 +- .../v2.0/fissionTransport/A/src/custom.hpp | 0 .../src/test}/v2.0/fissionTransport/B.hpp | 12 +- .../v2.0/fissionTransport/B/src/custom.hpp | 0 .../fissionTransport/DelayedBetaEnergy.hpp | 12 +- .../DelayedBetaEnergy/src/custom.hpp | 0 .../fissionTransport/DelayedGammaEnergy.hpp | 12 +- .../DelayedGammaEnergy/src/custom.hpp | 0 .../fissionTransport/DelayedNeutronKE.hpp | 14 +- .../DelayedNeutronKE/src/custom.hpp | 0 .../src/test}/v2.0/fissionTransport/EFH.hpp | 12 +- .../v2.0/fissionTransport/EFH/src/custom.hpp | 0 .../src/test}/v2.0/fissionTransport/EFL.hpp | 12 +- .../v2.0/fissionTransport/EFL/src/custom.hpp | 0 .../fissionTransport/FissionComponent.hpp | 14 +- .../FissionComponent/src/custom.hpp | 0 .../fissionTransport/FissionComponents.hpp | 12 +- .../FissionComponents/src/custom.hpp | 0 .../FissionEnergyReleased.hpp | 32 +- .../FissionEnergyReleased/src/custom.hpp | 0 .../v2.0/fissionTransport/MadlandNix.hpp | 16 +- .../MadlandNix/src/custom.hpp | 0 .../v2.0/fissionTransport/NeutrinoEnergy.hpp | 12 +- .../NeutrinoEnergy/src/custom.hpp | 0 .../fissionTransport/NonNeutrinoEnergy.hpp | 12 +- .../NonNeutrinoEnergy/src/custom.hpp | 0 .../fissionTransport/PromptGammaEnergy.hpp | 14 +- .../PromptGammaEnergy/src/custom.hpp | 0 .../v2.0/fissionTransport/PromptNeutronKE.hpp | 14 +- .../PromptNeutronKE/src/custom.hpp | 0 .../v2.0/fissionTransport/PromptProductKE.hpp | 14 +- .../PromptProductKE/src/custom.hpp | 0 .../SimpleMaxwellianFission.hpp | 14 +- .../SimpleMaxwellianFission/src/custom.hpp | 0 .../src/test}/v2.0/fissionTransport/T_M.hpp | 12 +- .../v2.0/fissionTransport/T_M/src/custom.hpp | 0 .../v2.0/fissionTransport/TotalEnergy.hpp | 12 +- .../TotalEnergy/src/custom.hpp | 0 .../src/test}/v2.0/fissionTransport/Watt.hpp | 16 +- .../v2.0/fissionTransport/Watt/src/custom.hpp | 0 .../src/test}/v2.0/fpy/ElapsedTime.hpp | 16 +- .../test}/v2.0/fpy/ElapsedTime/src/custom.hpp | 0 .../src/test}/v2.0/fpy/ElapsedTimes.hpp | 12 +- .../v2.0/fpy/ElapsedTimes/src/custom.hpp | 0 .../try => test/src/test}/v2.0/fpy/Energy.hpp | 12 +- .../src/test}/v2.0/fpy/Energy/src/custom.hpp | 0 .../src/test}/v2.0/fpy/IncidentEnergies.hpp | 12 +- .../v2.0/fpy/IncidentEnergies/src/custom.hpp | 0 .../src/test}/v2.0/fpy/IncidentEnergy.hpp | 14 +- .../v2.0/fpy/IncidentEnergy/src/custom.hpp | 0 .../src/test}/v2.0/fpy/Nuclides.hpp | 12 +- .../test}/v2.0/fpy/Nuclides/src/custom.hpp | 0 .../src/test}/v2.0/fpy/ProductYield.hpp | 14 +- .../v2.0/fpy/ProductYield/src/custom.hpp | 0 .../src/test}/v2.0/fpy/ProductYields.hpp | 12 +- .../v2.0/fpy/ProductYields/src/custom.hpp | 0 .../try => test/src/test}/v2.0/fpy/Time.hpp | 14 +- .../src/test}/v2.0/fpy/Time/src/custom.hpp | 0 .../try => test/src/test}/v2.0/fpy/Yields.hpp | 16 +- .../src/test}/v2.0/fpy/Yields/src/custom.hpp | 0 .../src/try => test/src/test}/v2.0/key.hpp | 8 +- .../try => test/src/test}/v2.0/map/Import.hpp | 12 +- .../src/test}/v2.0/map/Import/src/custom.hpp | 0 .../try => test/src/test}/v2.0/map/Map.hpp | 16 +- .../src/test}/v2.0/map/Map/src/custom.hpp | 0 .../src/test}/v2.0/map/Protare.hpp | 12 +- .../src/test}/v2.0/map/Protare/src/custom.hpp | 0 .../try => test/src/test}/v2.0/map/TNSL.hpp | 12 +- .../src/test}/v2.0/map/TNSL/src/custom.hpp | 0 .../try => test/src/test}/v2.0/pops/Alias.hpp | 12 +- .../src/test}/v2.0/pops/Alias/src/custom.hpp | 0 .../src/test}/v2.0/pops/Aliases.hpp | 14 +- .../test}/v2.0/pops/Aliases/src/custom.hpp | 0 .../src/test}/v2.0/pops/Atomic.hpp | 12 +- .../src/test}/v2.0/pops/Atomic/src/custom.hpp | 0 .../src/test}/v2.0/pops/AverageEnergies.hpp | 12 +- .../v2.0/pops/AverageEnergies/src/custom.hpp | 0 .../src/test}/v2.0/pops/AverageEnergy.hpp | 14 +- .../v2.0/pops/AverageEnergy/src/custom.hpp | 0 .../src/test}/v2.0/pops/Baryon.hpp | 22 +- .../src/test}/v2.0/pops/Baryon/src/custom.hpp | 0 .../src/test}/v2.0/pops/Baryons.hpp | 12 +- .../test}/v2.0/pops/Baryons/src/custom.hpp | 0 .../src/test}/v2.0/pops/BindingEnergy.hpp | 16 +- .../v2.0/pops/BindingEnergy/src/custom.hpp | 0 .../src/test}/v2.0/pops/Charge.hpp | 18 +- .../src/test}/v2.0/pops/Charge/src/custom.hpp | 0 .../src/test}/v2.0/pops/ChemicalElement.hpp | 14 +- .../v2.0/pops/ChemicalElement/src/custom.hpp | 0 .../src/test}/v2.0/pops/ChemicalElements.hpp | 12 +- .../v2.0/pops/ChemicalElements/src/custom.hpp | 0 .../test}/v2.0/pops/ConfidenceIntervals.hpp | 12 +- .../pops/ConfidenceIntervals/src/custom.hpp | 0 .../src/test}/v2.0/pops/Configuration.hpp | 14 +- .../v2.0/pops/Configuration/src/custom.hpp | 0 .../src/test}/v2.0/pops/Configurations.hpp | 12 +- .../v2.0/pops/Configurations/src/custom.hpp | 0 .../src/test}/v2.0/pops/Continuum.hpp | 12 +- .../test}/v2.0/pops/Continuum/src/custom.hpp | 0 .../try => test/src/test}/v2.0/pops/Decay.hpp | 12 +- .../src/test}/v2.0/pops/Decay/src/custom.hpp | 0 .../src/test}/v2.0/pops/DecayData.hpp | 14 +- .../test}/v2.0/pops/DecayData/src/custom.hpp | 0 .../src/test}/v2.0/pops/DecayMode.hpp | 22 +- .../test}/v2.0/pops/DecayMode/src/custom.hpp | 0 .../src/test}/v2.0/pops/DecayModes.hpp | 12 +- .../test}/v2.0/pops/DecayModes/src/custom.hpp | 0 .../src/test}/v2.0/pops/DecayPath.hpp | 12 +- .../test}/v2.0/pops/DecayPath/src/custom.hpp | 0 .../src/test}/v2.0/pops/Discrete.hpp | 22 +- .../test}/v2.0/pops/Discrete/src/custom.hpp | 0 .../src/test}/v2.0/pops/DiscreteEnergy.hpp | 14 +- .../v2.0/pops/DiscreteEnergy/src/custom.hpp | 0 .../src/test}/v2.0/pops/Energy.hpp | 16 +- .../src/test}/v2.0/pops/Energy/src/custom.hpp | 0 .../src/test}/v2.0/pops/GaugeBoson.hpp | 22 +- .../test}/v2.0/pops/GaugeBoson/src/custom.hpp | 0 .../src/test}/v2.0/pops/GaugeBosons.hpp | 12 +- .../v2.0/pops/GaugeBosons/src/custom.hpp | 0 .../src/test}/v2.0/pops/Halflife.hpp | 18 +- .../test}/v2.0/pops/Halflife/src/custom.hpp | 0 .../src/test}/v2.0/pops/Intensity.hpp | 14 +- .../test}/v2.0/pops/Intensity/src/custom.hpp | 0 .../pops/InternalConversionCoefficients.hpp | 12 +- .../src/custom.hpp | 0 .../pops/InternalPairFormationCoefficient.hpp | 14 +- .../src/custom.hpp | 0 .../src/test}/v2.0/pops/Interval.hpp | 12 +- .../test}/v2.0/pops/Interval/src/custom.hpp | 0 .../src/test}/v2.0/pops/Isotope.hpp | 12 +- .../test}/v2.0/pops/Isotope/src/custom.hpp | 0 .../src/test}/v2.0/pops/Isotopes.hpp | 12 +- .../test}/v2.0/pops/Isotopes/src/custom.hpp | 0 .../src/test}/v2.0/pops/Lepton.hpp | 22 +- .../src/test}/v2.0/pops/Lepton/src/custom.hpp | 0 .../src/test}/v2.0/pops/Leptons.hpp | 12 +- .../test}/v2.0/pops/Leptons/src/custom.hpp | 0 .../src/test}/v2.0/pops/LogNormal.hpp | 12 +- .../test}/v2.0/pops/LogNormal/src/custom.hpp | 0 .../try => test/src/test}/v2.0/pops/Mass.hpp | 16 +- .../src/test}/v2.0/pops/Mass/src/custom.hpp | 0 .../src/test}/v2.0/pops/MetaStable.hpp | 12 +- .../test}/v2.0/pops/MetaStable/src/custom.hpp | 0 .../src/test}/v2.0/pops/Nucleus.hpp | 28 +- .../test}/v2.0/pops/Nucleus/src/custom.hpp | 0 .../src/test}/v2.0/pops/Nuclide.hpp | 28 +- .../test}/v2.0/pops/Nuclide/src/custom.hpp | 0 .../src/test}/v2.0/pops/Nuclides.hpp | 12 +- .../test}/v2.0/pops/Nuclides/src/custom.hpp | 0 .../src/test}/v2.0/pops/Parity.hpp | 16 +- .../src/test}/v2.0/pops/Parity/src/custom.hpp | 0 .../try => test/src/test}/v2.0/pops/Pdf.hpp | 14 +- .../src/test}/v2.0/pops/Pdf/src/custom.hpp | 0 .../v2.0/pops/PhotonEmissionProbabilities.hpp | 12 +- .../src/custom.hpp | 0 .../src/test}/v2.0/pops/PoPs_database.hpp | 30 +- .../v2.0/pops/PoPs_database/src/custom.hpp | 0 .../v2.0/pops/PositronEmissionIntensity.hpp | 12 +- .../PositronEmissionIntensity/src/custom.hpp | 0 .../src/test}/v2.0/pops/Probability.hpp | 12 +- .../v2.0/pops/Probability/src/custom.hpp | 0 .../src/test}/v2.0/pops/Product.hpp | 12 +- .../test}/v2.0/pops/Product/src/custom.hpp | 0 .../src/test}/v2.0/pops/Products.hpp | 12 +- .../test}/v2.0/pops/Products/src/custom.hpp | 0 .../src/try => test/src/test}/v2.0/pops/Q.hpp | 16 +- .../src/test}/v2.0/pops/Q/src/custom.hpp | 0 .../try => test/src/test}/v2.0/pops/Shell.hpp | 12 +- .../src/test}/v2.0/pops/Shell/src/custom.hpp | 0 .../src/test}/v2.0/pops/Spectra.hpp | 12 +- .../test}/v2.0/pops/Spectra/src/custom.hpp | 0 .../src/test}/v2.0/pops/Spectrum.hpp | 14 +- .../test}/v2.0/pops/Spectrum/src/custom.hpp | 0 .../try => test/src/test}/v2.0/pops/Spin.hpp | 16 +- .../src/test}/v2.0/pops/Spin/src/custom.hpp | 0 .../src/test}/v2.0/pops/Standard.hpp | 12 +- .../test}/v2.0/pops/Standard/src/custom.hpp | 0 .../src/test}/v2.0/pops/Uncertainty.hpp | 18 +- .../v2.0/pops/Uncertainty/src/custom.hpp | 0 .../src/test}/v2.0/pops/Unorthodox.hpp | 14 +- .../test}/v2.0/pops/Unorthodox/src/custom.hpp | 0 .../src/test}/v2.0/pops/Unorthodoxes.hpp | 12 +- .../v2.0/pops/Unorthodoxes/src/custom.hpp | 0 .../test}/v2.0/processed/AngularEnergyMC.hpp | 14 +- .../processed/AngularEnergyMC/src/custom.hpp | 0 .../test}/v2.0/processed/AvailableEnergy.hpp | 14 +- .../processed/AvailableEnergy/src/custom.hpp | 0 .../v2.0/processed/AvailableMomentum.hpp | 14 +- .../AvailableMomentum/src/custom.hpp | 0 .../v2.0/processed/AverageProductEnergy.hpp | 16 +- .../AverageProductEnergy/src/custom.hpp | 0 .../v2.0/processed/AverageProductMomentum.hpp | 16 +- .../AverageProductMomentum/src/custom.hpp | 0 .../test}/v2.0/processed/EnergyAngularMC.hpp | 14 +- .../processed/EnergyAngularMC/src/custom.hpp | 0 .../src/test}/v2.0/processed/MultiGroup3d.hpp | 12 +- .../processed/MultiGroup3d/src/custom.hpp | 0 .../src/test}/v2.0/resonances/BreitWigner.hpp | 18 +- .../resonances/BreitWigner/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Channel.hpp | 16 +- .../v2.0/resonances/Channel/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Channels.hpp | 12 +- .../v2.0/resonances/Channels/src/custom.hpp | 0 .../test}/v2.0/resonances/EnergyInterval.hpp | 14 +- .../resonances/EnergyInterval/src/custom.hpp | 0 .../test}/v2.0/resonances/EnergyIntervals.hpp | 12 +- .../resonances/EnergyIntervals/src/custom.hpp | 0 .../test}/v2.0/resonances/ExternalRMatrix.hpp | 12 +- .../resonances/ExternalRMatrix/src/custom.hpp | 0 .../v2.0/resonances/HardSphereRadius.hpp | 12 +- .../HardSphereRadius/src/custom.hpp | 0 .../src/test}/v2.0/resonances/J.hpp | 14 +- .../test}/v2.0/resonances/J/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Js.hpp | 12 +- .../test}/v2.0/resonances/Js/src/custom.hpp | 0 .../src/test}/v2.0/resonances/L.hpp | 12 +- .../test}/v2.0/resonances/L/src/custom.hpp | 0 .../test}/v2.0/resonances/LevelSpacing.hpp | 16 +- .../resonances/LevelSpacing/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Ls.hpp | 12 +- .../test}/v2.0/resonances/Ls/src/custom.hpp | 0 .../src/test}/v2.0/resonances/RMatrix.hpp | 16 +- .../v2.0/resonances/RMatrix/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Resolved.hpp | 16 +- .../v2.0/resonances/Resolved/src/custom.hpp | 0 .../v2.0/resonances/ResonanceParameters.hpp | 12 +- .../ResonanceParameters/src/custom.hpp | 0 .../v2.0/resonances/ResonanceReaction.hpp | 18 +- .../ResonanceReaction/src/custom.hpp | 0 .../v2.0/resonances/ResonanceReactions.hpp | 12 +- .../ResonanceReactions/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Resonances.hpp | 18 +- .../v2.0/resonances/Resonances/src/custom.hpp | 0 .../v2.0/resonances/ScatteringRadius.hpp | 16 +- .../ScatteringRadius/src/custom.hpp | 0 .../src/test}/v2.0/resonances/SpinGroup.hpp | 14 +- .../v2.0/resonances/SpinGroup/src/custom.hpp | 0 .../src/test}/v2.0/resonances/SpinGroups.hpp | 12 +- .../v2.0/resonances/SpinGroups/src/custom.hpp | 0 .../test}/v2.0/resonances/TabulatedWidths.hpp | 20 +- .../resonances/TabulatedWidths/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Unresolved.hpp | 12 +- .../v2.0/resonances/Unresolved/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Width.hpp | 16 +- .../v2.0/resonances/Width/src/custom.hpp | 0 .../src/test}/v2.0/resonances/Widths.hpp | 12 +- .../v2.0/resonances/Widths/src/custom.hpp | 0 .../AngularDistributionReconstructed.hpp | 14 +- .../src/custom.hpp | 0 .../test}/v2.0/styles/AverageProductData.hpp | 14 +- .../styles/AverageProductData/src/custom.hpp | 0 .../src/test}/v2.0/styles/Bondarenko.hpp | 14 +- .../v2.0/styles/Bondarenko/src/custom.hpp | 0 .../CoulombPlusNuclearElasticMuCutoff.hpp | 12 +- .../src/custom.hpp | 0 .../v2.0/styles/CrossSectionReconstructed.hpp | 14 +- .../CrossSectionReconstructed/src/custom.hpp | 0 .../test}/v2.0/styles/EqualProbableBins.hpp | 12 +- .../styles/EqualProbableBins/src/custom.hpp | 0 .../src/test}/v2.0/styles/Evaluated.hpp | 16 +- .../v2.0/styles/Evaluated/src/custom.hpp | 0 .../src/test}/v2.0/styles/Flux.hpp | 12 +- .../src/test}/v2.0/styles/Flux/src/custom.hpp | 0 .../test}/v2.0/styles/GriddedCrossSection.hpp | 14 +- .../styles/GriddedCrossSection/src/custom.hpp | 0 .../src/test}/v2.0/styles/Heated.hpp | 14 +- .../test}/v2.0/styles/Heated/src/custom.hpp | 0 .../test}/v2.0/styles/HeatedMultiGroup.hpp | 18 +- .../styles/HeatedMultiGroup/src/custom.hpp | 0 .../src/test}/v2.0/styles/InverseSpeed.hpp | 12 +- .../v2.0/styles/InverseSpeed/src/custom.hpp | 0 .../src/test}/v2.0/styles/MonteCarlo_cdf.hpp | 12 +- .../v2.0/styles/MonteCarlo_cdf/src/custom.hpp | 0 .../src/test}/v2.0/styles/MultiBand.hpp | 12 +- .../v2.0/styles/MultiBand/src/custom.hpp | 0 .../src/test}/v2.0/styles/MultiGroup.hpp | 12 +- .../v2.0/styles/MultiGroup/src/custom.hpp | 0 .../v2.0/styles/ProjectileEnergyDomain.hpp | 12 +- .../ProjectileEnergyDomain/src/custom.hpp | 0 .../src/test}/v2.0/styles/Realization.hpp | 12 +- .../v2.0/styles/Realization/src/custom.hpp | 0 .../src/test}/v2.0/styles/SigmaZeros.hpp | 12 +- .../v2.0/styles/SigmaZeros/src/custom.hpp | 0 .../test}/v2.0/styles/SnElasticUpScatter.hpp | 12 +- .../styles/SnElasticUpScatter/src/custom.hpp | 0 .../src/test}/v2.0/styles/Styles.hpp | 36 +- .../test}/v2.0/styles/Styles/src/custom.hpp | 0 .../src/test}/v2.0/styles/Temperature.hpp | 14 +- .../v2.0/styles/Temperature/src/custom.hpp | 0 .../src/test}/v2.0/styles/Transportable.hpp | 12 +- .../v2.0/styles/Transportable/src/custom.hpp | 0 .../src/test}/v2.0/styles/Transportables.hpp | 12 +- .../v2.0/styles/Transportables/src/custom.hpp | 0 .../v2.0/styles/URR_probabilityTables.hpp | 12 +- .../URR_probabilityTables/src/custom.hpp | 0 .../src/test}/v2.0/transport/A.hpp | 14 +- .../src/test}/v2.0/transport/A/src/custom.hpp | 0 .../src/test}/v2.0/transport/Add.hpp | 12 +- .../test}/v2.0/transport/Add/src/custom.hpp | 0 .../test}/v2.0/transport/AngularEnergy.hpp | 12 +- .../transport/AngularEnergy/src/custom.hpp | 0 .../test}/v2.0/transport/AngularTwoBody.hpp | 18 +- .../transport/AngularTwoBody/src/custom.hpp | 0 .../v2.0/transport/Angular_uncorrelated.hpp | 16 +- .../Angular_uncorrelated/src/custom.hpp | 0 .../src/test}/v2.0/transport/Background.hpp | 16 +- .../v2.0/transport/Background/src/custom.hpp | 0 .../src/test}/v2.0/transport/Branching1d.hpp | 12 +- .../v2.0/transport/Branching1d/src/custom.hpp | 0 .../src/test}/v2.0/transport/Branching3d.hpp | 12 +- .../v2.0/transport/Branching3d/src/custom.hpp | 0 .../test}/v2.0/transport/CoherentPhoton.hpp | 12 +- .../transport/CoherentPhoton/src/custom.hpp | 0 .../src/test}/v2.0/transport/CrossSection.hpp | 32 +- .../transport/CrossSection/src/custom.hpp | 0 .../test}/v2.0/transport/CrossSectionSum.hpp | 16 +- .../transport/CrossSectionSum/src/custom.hpp | 0 .../test}/v2.0/transport/CrossSectionSums.hpp | 12 +- .../transport/CrossSectionSums/src/custom.hpp | 0 .../test}/v2.0/transport/DiscreteGamma.hpp | 12 +- .../transport/DiscreteGamma/src/custom.hpp | 0 .../src/test}/v2.0/transport/Distribution.hpp | 44 +- .../transport/Distribution/src/custom.hpp | 0 .../DoubleDifferentialCrossSection.hpp | 32 +- .../src/custom.hpp | 0 .../test}/v2.0/transport/EnergyAngular.hpp | 12 +- .../transport/EnergyAngular/src/custom.hpp | 0 .../v2.0/transport/Energy_uncorrelated.hpp | 36 +- .../Energy_uncorrelated/src/custom.hpp | 0 .../src/test}/v2.0/transport/Evaporation.hpp | 14 +- .../v2.0/transport/Evaporation/src/custom.hpp | 0 .../src/test}/v2.0/transport/F.hpp | 14 +- .../src/test}/v2.0/transport/F/src/custom.hpp | 0 .../src/test}/v2.0/transport/FastRegion.hpp | 14 +- .../v2.0/transport/FastRegion/src/custom.hpp | 0 .../src/test}/v2.0/transport/Forward.hpp | 12 +- .../v2.0/transport/Forward/src/custom.hpp | 0 .../src/test}/v2.0/transport/G.hpp | 14 +- .../src/test}/v2.0/transport/G/src/custom.hpp | 0 .../v2.0/transport/GeneralEvaporation.hpp | 16 +- .../GeneralEvaporation/src/custom.hpp | 0 .../test}/v2.0/transport/IncoherentPhoton.hpp | 12 +- .../transport/IncoherentPhoton/src/custom.hpp | 0 .../v2.0/transport/IncompleteReactions.hpp | 12 +- .../IncompleteReactions/src/custom.hpp | 0 .../src/test}/v2.0/transport/Isotropic2d.hpp | 12 +- .../v2.0/transport/Isotropic2d/src/custom.hpp | 0 .../src/test}/v2.0/transport/KalbachMann.hpp | 16 +- .../v2.0/transport/KalbachMann/src/custom.hpp | 0 .../src/test}/v2.0/transport/MultiGroup3d.hpp | 12 +- .../transport/MultiGroup3d/src/custom.hpp | 0 .../src/test}/v2.0/transport/Multiplicity.hpp | 28 +- .../transport/Multiplicity/src/custom.hpp | 0 .../test}/v2.0/transport/MultiplicitySum.hpp | 14 +- .../transport/MultiplicitySum/src/custom.hpp | 0 .../test}/v2.0/transport/MultiplicitySums.hpp | 12 +- .../transport/MultiplicitySums/src/custom.hpp | 0 .../test}/v2.0/transport/NBodyPhaseSpace.hpp | 12 +- .../transport/NBodyPhaseSpace/src/custom.hpp | 0 .../test}/v2.0/transport/OrphanProduct.hpp | 14 +- .../transport/OrphanProduct/src/custom.hpp | 0 .../test}/v2.0/transport/OrphanProducts.hpp | 12 +- .../transport/OrphanProducts/src/custom.hpp | 0 .../test}/v2.0/transport/OutputChannel.hpp | 16 +- .../transport/OutputChannel/src/custom.hpp | 0 .../transport/PhotonEmissionProbabilities.hpp | 12 +- .../src/custom.hpp | 0 .../src/test}/v2.0/transport/PrimaryGamma.hpp | 12 +- .../transport/PrimaryGamma/src/custom.hpp | 0 .../src/test}/v2.0/transport/Production.hpp | 14 +- .../v2.0/transport/Production/src/custom.hpp | 0 .../src/test}/v2.0/transport/Productions.hpp | 12 +- .../v2.0/transport/Productions/src/custom.hpp | 0 .../src/test}/v2.0/transport/R.hpp | 14 +- .../src/test}/v2.0/transport/R/src/custom.hpp | 0 .../src/test}/v2.0/transport/Reaction.hpp | 16 +- .../v2.0/transport/Reaction/src/custom.hpp | 0 .../test}/v2.0/transport/ReactionSuite.hpp | 36 +- .../transport/ReactionSuite/src/custom.hpp | 0 .../src/test}/v2.0/transport/Reactions.hpp | 12 +- .../v2.0/transport/Reactions/src/custom.hpp | 0 .../src/test}/v2.0/transport/Recoil.hpp | 12 +- .../v2.0/transport/Recoil/src/custom.hpp | 0 .../src/test}/v2.0/transport/Reference.hpp | 12 +- .../v2.0/transport/Reference/src/custom.hpp | 0 .../test}/v2.0/transport/ResolvedRegion.hpp | 14 +- .../transport/ResolvedRegion/src/custom.hpp | 0 .../test}/v2.0/transport/ResonancesLink.hpp | 12 +- .../transport/ResonancesLink/src/custom.hpp | 0 .../transport/ResonancesWithBackground.hpp | 16 +- .../ResonancesWithBackground/src/custom.hpp | 0 .../src/test}/v2.0/transport/Summands.hpp | 12 +- .../v2.0/transport/Summands/src/custom.hpp | 0 .../src/test}/v2.0/transport/Sums.hpp | 14 +- .../test}/v2.0/transport/Sums/src/custom.hpp | 0 .../src/test}/v2.0/transport/Theta.hpp | 14 +- .../test}/v2.0/transport/Theta/src/custom.hpp | 0 .../src/test}/v2.0/transport/U.hpp | 12 +- .../src/test}/v2.0/transport/U/src/custom.hpp | 0 .../transport/URR_probabilityTables1d.hpp | 14 +- .../URR_probabilityTables1d/src/custom.hpp | 0 .../src/test}/v2.0/transport/Uncorrelated.hpp | 14 +- .../transport/Uncorrelated/src/custom.hpp | 0 .../test}/v2.0/transport/UnresolvedRegion.hpp | 14 +- .../transport/UnresolvedRegion/src/custom.hpp | 0 .../src/test}/v2.0/transport/Unspecified.hpp | 12 +- .../v2.0/transport/Unspecified/src/custom.hpp | 0 .../src/test}/v2.0/transport/Weighted.hpp | 28 +- .../v2.0/transport/Weighted/src/custom.hpp | 0 .../v2.0/transport/WeightedFunctionals.hpp | 12 +- .../WeightedFunctionals/src/custom.hpp | 0 .../test}/v2.0/tsl/BoundAtomCrossSection.hpp | 12 +- .../tsl/BoundAtomCrossSection/src/custom.hpp | 0 .../src/test}/v2.0/tsl/BraggEdge.hpp | 14 +- .../test}/v2.0/tsl/BraggEdge/src/custom.hpp | 0 .../src/test}/v2.0/tsl/BraggEdges.hpp | 12 +- .../test}/v2.0/tsl/BraggEdges/src/custom.hpp | 0 .../src/test}/v2.0/tsl/BraggEnergy.hpp | 12 +- .../test}/v2.0/tsl/BraggEnergy/src/custom.hpp | 0 .../v2.0/tsl/CoherentAtomCrossSection.hpp | 12 +- .../CoherentAtomCrossSection/src/custom.hpp | 0 .../test}/v2.0/tsl/DebyeWallerIntegral.hpp | 12 +- .../tsl/DebyeWallerIntegral/src/custom.hpp | 0 .../v2.0/tsl/DistinctScatteringKernel.hpp | 12 +- .../DistinctScatteringKernel/src/custom.hpp | 0 .../src/test}/v2.0/tsl/E_critical.hpp | 12 +- .../test}/v2.0/tsl/E_critical/src/custom.hpp | 0 .../try => test/src/test}/v2.0/tsl/E_max.hpp | 12 +- .../src/test}/v2.0/tsl/E_max/src/custom.hpp | 0 .../test}/v2.0/tsl/FreeGasApproximation.hpp | 12 +- .../tsl/FreeGasApproximation/src/custom.hpp | 0 .../test}/v2.0/tsl/GaussianApproximation.hpp | 12 +- .../tsl/GaussianApproximation/src/custom.hpp | 0 .../try => test/src/test}/v2.0/tsl/Mass.hpp | 12 +- .../src/test}/v2.0/tsl/Mass/src/custom.hpp | 0 .../src/test}/v2.0/tsl/PhononSpectrum.hpp | 12 +- .../v2.0/tsl/PhononSpectrum/src/custom.hpp | 0 .../src/test}/v2.0/tsl/SCTApproximation.hpp | 12 +- .../v2.0/tsl/SCTApproximation/src/custom.hpp | 0 .../src/test}/v2.0/tsl/S_table.hpp | 12 +- .../src/test}/v2.0/tsl/S_table/src/custom.hpp | 0 .../src/test}/v2.0/tsl/ScatteringAtom.hpp | 30 +- .../v2.0/tsl/ScatteringAtom/src/custom.hpp | 0 .../src/test}/v2.0/tsl/ScatteringAtoms.hpp | 12 +- .../v2.0/tsl/ScatteringAtoms/src/custom.hpp | 0 .../test}/v2.0/tsl/SelfScatteringKernel.hpp | 18 +- .../tsl/SelfScatteringKernel/src/custom.hpp | 0 .../src/test}/v2.0/tsl/StructureFactor.hpp | 12 +- .../v2.0/tsl/StructureFactor/src/custom.hpp | 0 .../src/test}/v2.0/tsl/T_effective.hpp | 12 +- .../test}/v2.0/tsl/T_effective/src/custom.hpp | 0 .../v2.0/tsl/ThermalNeutronScatteringLaw.hpp | 12 +- .../src/custom.hpp | 0 .../tsl/ThermalNeutronScatteringLaw1d.hpp | 12 +- .../src/custom.hpp | 0 ...alNeutronScatteringLaw_coherentElastic.hpp | 14 +- .../src/custom.hpp | 0 ...NeutronScatteringLaw_incoherentElastic.hpp | 14 +- .../src/custom.hpp | 0 ...utronScatteringLaw_incoherentInelastic.hpp | 12 +- .../src/custom.hpp | 0 standards/gnds-2.0/try/src/try/v2.0.hpp | 388 ----------------- 1838 files changed, 5545 insertions(+), 5541 deletions(-) rename standards/gnds-2.0/{try => test}/c/src/v2.0.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/appData/ApplicationData.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/appData/ApplicationData.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/appData/Conversion.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/appData/Conversion.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/appData/ENDFconversionFlags.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/appData/ENDFconversionFlags.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/appData/Institution.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/appData/Institution.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/CoherentPhotonScattering.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/CoherentPhotonScattering.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/FormFactor.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/FormFactor.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/IncoherentPhotonScattering.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/RealAnomalousFactor.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/RealAnomalousFactor.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/ScatteringFactor.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/atomic/ScatteringFactor.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Energy.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Energy.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/ExternalFile.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/ExternalFile.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/ExternalFiles.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/ExternalFiles.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Mass.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Mass.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Probability.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Probability.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Product.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Product.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Products.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Products.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Q.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Q.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Temperature.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/common/Temperature.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Array.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Array.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Axes.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Axes.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Axis.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Axis.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Column.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Column.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/ColumnHeaders.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/ColumnHeaders.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/ConfidenceIntervals.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/ConfidenceIntervals.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Constant1d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Constant1d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Covariance.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Covariance.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Data.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Data.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Double.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Double.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Fraction.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Fraction.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Function1ds.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Function1ds.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Function2ds.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Function2ds.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Function3ds.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Function3ds.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Grid.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Grid.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Gridded1d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Gridded1d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Gridded2d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Gridded2d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Gridded3d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Gridded3d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Integer.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Integer.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Interval.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Interval.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Legendre.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Legendre.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Link.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Link.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/ListOfCovariances.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/ListOfCovariances.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/LogNormal.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/LogNormal.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Pdf.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Pdf.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Polynomial1d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Polynomial1d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Regions1d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Regions1d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Regions2d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Regions2d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Regions3d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Regions3d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Standard.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Standard.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/String.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/String.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Table.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Table.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Uncertainty.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Uncertainty.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Values.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Values.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/XYs1d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/XYs1d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/XYs2d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/XYs2d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/XYs3d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/XYs3d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Xs_pdf_cdf1d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Ys1d.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/containers/Ys1d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/AverageParameterCovariance.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/AverageParameterCovariance.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ColumnData.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ColumnData.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ColumnSensitivity.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ColumnSensitivity.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Covariance.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Covariance.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/CovarianceMatrix.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/CovarianceMatrix.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/CovarianceSection.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/CovarianceSection.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/CovarianceSections.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/CovarianceSections.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/CovarianceSuite.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/CovarianceSuite.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Mixed.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Mixed.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ParameterCovariance.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ParameterCovariance.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ParameterCovarianceMatrix.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ParameterCovariances.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ParameterCovariances.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ParameterLink.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ParameterLink.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Parameters.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Parameters.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/RowData.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/RowData.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/RowSensitivity.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/RowSensitivity.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/SandwichProduct.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/SandwichProduct.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Slice.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Slice.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Slices.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Slices.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Sum.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Sum.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Summand.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/covariance/Summand.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/NuclearPlusInterference.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/NuclearTerm.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/NuclearTerm.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/RealInterferenceTerm.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/RutherfordScattering.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/cpTransport/RutherfordScattering.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Abstract.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Abstract.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Acknowledgement.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Acknowledgement.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Acknowledgements.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Acknowledgements.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Affiliation.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Affiliation.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Affiliations.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Affiliations.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Author.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Author.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Authors.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Authors.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Bibitem.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Bibitem.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Bibliography.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Bibliography.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Body.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Body.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/CodeRepo.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/CodeRepo.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Collaboration.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Collaboration.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Collaborations.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Collaborations.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ComputerCode.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ComputerCode.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ComputerCodes.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ComputerCodes.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Contributor.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Contributor.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Contributors.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Contributors.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Copyright.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Copyright.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/CorrectionScript.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/CorrectionScript.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/CovarianceScript.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/CovarianceScript.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Date.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Date.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Dates.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Dates.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Documentation.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Documentation.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/EndfCompatible.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/EndfCompatible.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ExecutionArguments.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ExecutionArguments.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ExforDataSet.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ExforDataSet.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ExforDataSets.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ExforDataSets.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ExperimentalDataSets.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/ExperimentalDataSets.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/InputDeck.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/InputDeck.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/InputDecks.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/InputDecks.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Keyword.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Keyword.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Keywords.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Keywords.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Note.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Note.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/OutputDeck.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/OutputDeck.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/OutputDecks.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/OutputDecks.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/RelatedItem.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/RelatedItem.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/RelatedItems.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/RelatedItems.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Title.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Title.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Version.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/documentation/Version.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionFragmentData/DelayedNeutron.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionFragmentData/FissionFragmentData.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionFragmentData/Rate.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionFragmentData/Rate.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/A.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/A.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/B.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/B.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/DelayedNeutronKE.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/EFH.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/EFH.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/EFL.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/EFL.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/FissionComponent.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/FissionComponent.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/FissionComponents.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/FissionComponents.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/FissionEnergyReleased.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/MadlandNix.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/MadlandNix.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/NeutrinoEnergy.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/PromptGammaEnergy.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/PromptNeutronKE.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/PromptProductKE.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/PromptProductKE.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/T_M.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/T_M.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/TotalEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/TotalEnergy.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/Watt.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fissionTransport/Watt.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/ElapsedTime.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/ElapsedTime.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/ElapsedTimes.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/ElapsedTimes.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/Energy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/Energy.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/IncidentEnergies.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/IncidentEnergies.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/IncidentEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/IncidentEnergy.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/Nuclides.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/Nuclides.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/ProductYield.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/ProductYield.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/ProductYields.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/ProductYields.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/Time.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/Time.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/Yields.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/fpy/Yields.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/map/Import.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/map/Import.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/map/Map.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/map/Map.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/map/Protare.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/map/Protare.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/map/TNSL.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/map/TNSL.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Alias.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Alias.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Aliases.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Aliases.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Atomic.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Atomic.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/AverageEnergies.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/AverageEnergies.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/AverageEnergy.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/AverageEnergy.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Baryon.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Baryon.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Baryons.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Baryons.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/BindingEnergy.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/BindingEnergy.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Charge.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Charge.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/ChemicalElement.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/ChemicalElement.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/ChemicalElements.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/ChemicalElements.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/ConfidenceIntervals.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/ConfidenceIntervals.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Configuration.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Configuration.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Configurations.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Configurations.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Continuum.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Continuum.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Decay.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Decay.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DecayData.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DecayData.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DecayMode.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DecayMode.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DecayModes.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DecayModes.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DecayPath.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DecayPath.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Discrete.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Discrete.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DiscreteEnergy.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/DiscreteEnergy.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Energy.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Energy.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/GaugeBoson.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/GaugeBoson.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/GaugeBosons.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/GaugeBosons.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Halflife.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Halflife.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Intensity.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Intensity.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/InternalConversionCoefficients.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/InternalConversionCoefficients.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/InternalPairFormationCoefficient.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Interval.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Interval.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Isotope.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Isotope.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Isotopes.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Isotopes.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Lepton.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Lepton.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Leptons.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Leptons.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/LogNormal.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/LogNormal.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Mass.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Mass.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/MetaStable.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/MetaStable.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Nucleus.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Nucleus.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Nuclide.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Nuclide.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Nuclides.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Nuclides.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Parity.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Parity.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Pdf.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Pdf.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/PhotonEmissionProbabilities.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/PoPs_database.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/PoPs_database.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/PositronEmissionIntensity.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/PositronEmissionIntensity.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Probability.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Probability.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Product.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Product.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Products.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Products.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Q.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Q.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Shell.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Shell.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Spectra.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Spectra.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Spectrum.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Spectrum.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Spin.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Spin.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Standard.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Standard.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Uncertainty.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Uncertainty.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Unorthodox.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Unorthodox.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Unorthodoxes.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/pops/Unorthodoxes.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AngularEnergyMC.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AngularEnergyMC.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AvailableEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AvailableEnergy.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AvailableMomentum.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AvailableMomentum.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AverageProductEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AverageProductEnergy.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AverageProductMomentum.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/AverageProductMomentum.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/EnergyAngularMC.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/EnergyAngularMC.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/MultiGroup3d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/processed/MultiGroup3d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/BreitWigner.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/BreitWigner.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Channel.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Channel.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Channels.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Channels.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/EnergyInterval.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/EnergyInterval.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/EnergyIntervals.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/EnergyIntervals.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ExternalRMatrix.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ExternalRMatrix.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/HardSphereRadius.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/HardSphereRadius.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/J.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/J.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Js.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Js.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/L.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/L.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/LevelSpacing.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/LevelSpacing.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Ls.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Ls.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/RMatrix.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/RMatrix.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Resolved.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Resolved.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ResonanceParameters.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ResonanceParameters.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ResonanceReaction.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ResonanceReaction.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ResonanceReactions.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ResonanceReactions.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Resonances.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Resonances.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ScatteringRadius.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/ScatteringRadius.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/SpinGroup.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/SpinGroup.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/SpinGroups.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/SpinGroups.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/TabulatedWidths.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/TabulatedWidths.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Unresolved.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Unresolved.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Width.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Width.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Widths.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/resonances/Widths.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/AngularDistributionReconstructed.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/AngularDistributionReconstructed.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/AverageProductData.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/AverageProductData.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Bondarenko.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Bondarenko.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/CrossSectionReconstructed.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/CrossSectionReconstructed.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/EqualProbableBins.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/EqualProbableBins.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Evaluated.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Evaluated.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Flux.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Flux.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/GriddedCrossSection.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/GriddedCrossSection.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Heated.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Heated.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/HeatedMultiGroup.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/HeatedMultiGroup.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/InverseSpeed.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/InverseSpeed.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/MonteCarlo_cdf.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/MonteCarlo_cdf.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/MultiBand.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/MultiBand.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/MultiGroup.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/MultiGroup.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/ProjectileEnergyDomain.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/ProjectileEnergyDomain.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Realization.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Realization.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/SigmaZeros.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/SigmaZeros.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/SnElasticUpScatter.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/SnElasticUpScatter.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Styles.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Styles.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Temperature.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Temperature.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Transportable.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Transportable.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Transportables.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/Transportables.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/URR_probabilityTables.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/styles/URR_probabilityTables.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/A.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/A.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Add.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Add.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/AngularEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/AngularEnergy.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/AngularTwoBody.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/AngularTwoBody.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Angular_uncorrelated.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Angular_uncorrelated.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Background.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Background.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Branching1d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Branching1d.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Branching3d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Branching3d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/CoherentPhoton.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/CoherentPhoton.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/CrossSection.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/CrossSection.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/CrossSectionSum.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/CrossSectionSum.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/CrossSectionSums.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/CrossSectionSums.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/DiscreteGamma.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/DiscreteGamma.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Distribution.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Distribution.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/DoubleDifferentialCrossSection.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/EnergyAngular.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/EnergyAngular.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Energy_uncorrelated.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Energy_uncorrelated.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Evaporation.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Evaporation.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/F.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/F.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/FastRegion.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/FastRegion.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Forward.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Forward.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/G.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/G.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/GeneralEvaporation.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/GeneralEvaporation.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/IncoherentPhoton.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/IncoherentPhoton.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/IncompleteReactions.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/IncompleteReactions.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Isotropic2d.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Isotropic2d.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/KalbachMann.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/KalbachMann.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/MultiGroup3d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/MultiGroup3d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Multiplicity.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Multiplicity.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/MultiplicitySum.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/MultiplicitySum.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/MultiplicitySums.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/MultiplicitySums.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/NBodyPhaseSpace.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/NBodyPhaseSpace.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/OrphanProduct.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/OrphanProduct.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/OrphanProducts.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/OrphanProducts.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/OutputChannel.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/OutputChannel.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/PhotonEmissionProbabilities.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/PrimaryGamma.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/PrimaryGamma.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Production.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Production.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Productions.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Productions.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/R.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/R.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Reaction.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Reaction.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/ReactionSuite.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/ReactionSuite.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Reactions.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Reactions.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Recoil.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Recoil.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Reference.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Reference.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/ResolvedRegion.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/ResolvedRegion.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/ResonancesLink.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/ResonancesLink.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/ResonancesWithBackground.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/ResonancesWithBackground.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Summands.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Summands.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Sums.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Sums.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Theta.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Theta.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/U.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/U.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/URR_probabilityTables1d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/URR_probabilityTables1d.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Uncorrelated.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Uncorrelated.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/UnresolvedRegion.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/UnresolvedRegion.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Unspecified.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Unspecified.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Weighted.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/Weighted.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/WeightedFunctionals.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/transport/WeightedFunctionals.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/BoundAtomCrossSection.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/BoundAtomCrossSection.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/BraggEdge.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/BraggEdge.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/BraggEdges.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/BraggEdges.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/BraggEnergy.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/BraggEnergy.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/CoherentAtomCrossSection.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/DebyeWallerIntegral.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/DebyeWallerIntegral.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/DistinctScatteringKernel.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/DistinctScatteringKernel.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/E_critical.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/E_critical.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/E_max.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/E_max.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/FreeGasApproximation.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/FreeGasApproximation.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/GaussianApproximation.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/GaussianApproximation.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/Mass.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/Mass.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/PhononSpectrum.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/PhononSpectrum.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/SCTApproximation.cpp (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/SCTApproximation.h (97%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/S_table.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/S_table.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ScatteringAtom.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ScatteringAtom.h (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ScatteringAtoms.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ScatteringAtoms.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/SelfScatteringKernel.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/SelfScatteringKernel.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/StructureFactor.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/StructureFactor.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/T_effective.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/T_effective.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h (98%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp (99%) rename standards/gnds-2.0/{try => test}/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/appData.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/appData/ApplicationData.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/appData/Conversion.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/appData/ENDFconversionFlags.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/appData/Institution.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/atomic.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/atomic/FormFactor.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/atomic/ScatteringFactor.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/Energy.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/ExternalFile.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/ExternalFiles.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/Mass.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/Probability.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/Product.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/Products.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/Q.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/common/Temperature.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers.python.cpp (99%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Array.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Axes.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Axis.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Column.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/ColumnHeaders.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/ConfidenceIntervals.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Constant1d.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Covariance.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Data.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Double.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Fraction.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Function1ds.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Function2ds.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Function3ds.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Grid.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Gridded1d.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Gridded2d.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Gridded3d.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Integer.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Interval.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Legendre.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Link.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/ListOfCovariances.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/LogNormal.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Pdf.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Polynomial1d.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Regions1d.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Regions2d.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Regions3d.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Standard.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/String.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Table.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Uncertainty.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Values.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/XYs1d.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/XYs2d.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/XYs3d.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/containers/Ys1d.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/ColumnData.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/ColumnSensitivity.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/Covariance.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/CovarianceMatrix.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/CovarianceSection.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/CovarianceSections.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/CovarianceSuite.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/Mixed.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/ParameterCovariance.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/ParameterCovariances.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/ParameterLink.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/Parameters.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/RowData.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/RowSensitivity.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/SandwichProduct.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/Slice.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/Slices.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/Sum.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/covariance/Summand.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/cpTransport.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/cpTransport/NuclearTerm.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation.python.cpp (99%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Abstract.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Acknowledgement.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Acknowledgements.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Affiliation.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Affiliations.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Author.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Authors.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Bibitem.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Bibliography.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Body.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/CodeRepo.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Collaboration.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Collaborations.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/ComputerCode.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/ComputerCodes.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Contributor.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Contributors.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Copyright.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/CorrectionScript.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/CovarianceScript.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Date.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Dates.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Documentation.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/EndfCompatible.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/ExecutionArguments.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/ExforDataSet.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/ExforDataSets.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/InputDeck.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/InputDecks.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Keyword.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Keywords.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Note.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/OutputDeck.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/OutputDecks.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/RelatedItem.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/RelatedItems.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Title.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/documentation/Version.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionFragmentData.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionFragmentData/Rate.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/A.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/B.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/EFH.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/EFL.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/FissionComponent.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/FissionComponents.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/MadlandNix.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/T_M.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fissionTransport/Watt.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/ElapsedTime.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/ElapsedTimes.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/Energy.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/IncidentEnergies.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/IncidentEnergy.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/Nuclides.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/ProductYield.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/ProductYields.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/Time.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/fpy/Yields.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/map.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/map/Import.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/map/Map.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/map/Protare.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/map/TNSL.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops.python.cpp (99%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Alias.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Aliases.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Atomic.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/AverageEnergies.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/AverageEnergy.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Baryon.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Baryons.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/BindingEnergy.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Charge.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/ChemicalElement.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/ChemicalElements.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/ConfidenceIntervals.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Configuration.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Configurations.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Continuum.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Decay.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/DecayData.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/DecayMode.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/DecayModes.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/DecayPath.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Discrete.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/DiscreteEnergy.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Energy.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/GaugeBoson.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/GaugeBosons.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Halflife.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Intensity.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Interval.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Isotope.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Isotopes.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Lepton.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Leptons.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/LogNormal.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Mass.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/MetaStable.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Nucleus.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Nuclide.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Nuclides.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Parity.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Pdf.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/PoPs_database.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Probability.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Product.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Products.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Q.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Shell.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Spectra.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Spectrum.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Spin.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Standard.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Uncertainty.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Unorthodox.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/pops/Unorthodoxes.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/processed.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/processed/AngularEnergyMC.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/processed/AvailableEnergy.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/processed/AvailableMomentum.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/processed/AverageProductEnergy.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/processed/AverageProductMomentum.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/processed/EnergyAngularMC.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/processed/MultiGroup3d.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/BreitWigner.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Channel.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Channels.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/EnergyInterval.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/EnergyIntervals.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/ExternalRMatrix.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/HardSphereRadius.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/J.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Js.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/L.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/LevelSpacing.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Ls.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/RMatrix.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Resolved.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/ResonanceParameters.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/ResonanceReaction.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/ResonanceReactions.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Resonances.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/ScatteringRadius.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/SpinGroup.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/SpinGroups.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/TabulatedWidths.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Unresolved.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Width.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/resonances/Widths.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles.python.cpp (99%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/AverageProductData.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Bondarenko.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/EqualProbableBins.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Evaluated.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Flux.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/GriddedCrossSection.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Heated.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/HeatedMultiGroup.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/InverseSpeed.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/MultiBand.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/MultiGroup.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Realization.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/SigmaZeros.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/SnElasticUpScatter.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Styles.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Temperature.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Transportable.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/Transportables.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/styles/URR_probabilityTables.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport.python.cpp (99%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/A.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Add.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/AngularEnergy.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/AngularTwoBody.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Angular_uncorrelated.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Background.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Branching1d.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Branching3d.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/CoherentPhoton.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/CrossSection.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/CrossSectionSum.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/CrossSectionSums.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/DiscreteGamma.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Distribution.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/EnergyAngular.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Energy_uncorrelated.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Evaporation.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/F.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/FastRegion.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Forward.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/G.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/GeneralEvaporation.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/IncoherentPhoton.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/IncompleteReactions.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Isotropic2d.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/KalbachMann.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/MultiGroup3d.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Multiplicity.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/MultiplicitySum.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/MultiplicitySums.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/OrphanProduct.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/OrphanProducts.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/OutputChannel.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/PrimaryGamma.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Production.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Productions.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/R.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Reaction.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/ReactionSuite.python.cpp (98%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Reactions.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Recoil.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Reference.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/ResolvedRegion.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/ResonancesLink.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/ResonancesWithBackground.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Summands.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Sums.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Theta.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/U.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Uncorrelated.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/UnresolvedRegion.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Unspecified.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/Weighted.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/transport/WeightedFunctionals.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl.python.cpp (99%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/BraggEdge.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/BraggEdges.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/BraggEnergy.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/E_critical.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/E_max.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/FreeGasApproximation.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/GaussianApproximation.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/Mass.python.cpp (93%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/PhononSpectrum.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/SCTApproximation.python.cpp (89%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/S_table.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/ScatteringAtom.python.cpp (97%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/ScatteringAtoms.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp (96%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/StructureFactor.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/T_effective.python.cpp (91%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp (92%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp (95%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp (94%) rename standards/gnds-2.0/{try => test}/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp (95%) create mode 100644 standards/gnds-2.0/test/src/test/v2.0.hpp rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/appData/ApplicationData.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/appData/ApplicationData/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/appData/Conversion.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/appData/Conversion/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/appData/ENDFconversionFlags.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/appData/ENDFconversionFlags/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/appData/Institution.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/appData/Institution/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/CoherentPhotonScattering.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/CoherentPhotonScattering/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/FormFactor.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/FormFactor/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/ImaginaryAnomalousFactor.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/ImaginaryAnomalousFactor/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/IncoherentPhotonScattering.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/IncoherentPhotonScattering/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/RealAnomalousFactor.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/RealAnomalousFactor/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/ScatteringFactor.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/atomic/ScatteringFactor/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Energy.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Energy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/ExternalFile.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/ExternalFile/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/ExternalFiles.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/ExternalFiles/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Mass.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Mass/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Probability.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Probability/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Product.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Product/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Products.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Products/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Q.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Q/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Temperature.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/common/Temperature/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Array.hpp (95%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Array/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Axes.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Axes/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Axis.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Axis/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Column.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Column/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/ColumnHeaders.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/ColumnHeaders/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/ConfidenceIntervals.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/ConfidenceIntervals/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Constant1d.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Constant1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Covariance.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Covariance/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Data.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Data/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Double.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Double/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Fraction.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Fraction/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Function1ds.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Function1ds/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Function2ds.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Function2ds/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Function3ds.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Function3ds/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Grid.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Grid/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Gridded1d.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Gridded1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Gridded2d.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Gridded2d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Gridded3d.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Gridded3d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Integer.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Integer/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Interval.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Interval/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Legendre.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Legendre/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Link.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Link/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/ListOfCovariances.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/ListOfCovariances/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/LogNormal.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/LogNormal/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Pdf.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Pdf/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Polynomial1d.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Polynomial1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Regions1d.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Regions1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Regions2d.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Regions2d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Regions3d.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Regions3d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Standard.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Standard/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/String.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/String/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Table.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Table/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Uncertainty.hpp (88%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Uncertainty/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Values.hpp (95%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Values/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/XYs1d.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/XYs1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/XYs2d.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/XYs2d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/XYs3d.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/XYs3d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Xs_pdf_cdf1d.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Ys1d.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/containers/Ys1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/AverageParameterCovariance.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/AverageParameterCovariance/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ColumnData.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ColumnData/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ColumnSensitivity.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ColumnSensitivity/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Covariance.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Covariance/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/CovarianceMatrix.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/CovarianceMatrix/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/CovarianceSection.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/CovarianceSection/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/CovarianceSections.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/CovarianceSections/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/CovarianceSuite.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/CovarianceSuite/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Mixed.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Mixed/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ParameterCovariance.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ParameterCovariance/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ParameterCovarianceMatrix.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ParameterCovarianceMatrix/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ParameterCovariances.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ParameterCovariances/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ParameterLink.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ParameterLink/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Parameters.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Parameters/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/RowData.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/RowData/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/RowSensitivity.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/RowSensitivity/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/SandwichProduct.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/SandwichProduct/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ShortRangeSelfScalingVariance.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/ShortRangeSelfScalingVariance/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Slice.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Slice/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Slices.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Slices/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Sum.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Sum/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Summand.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/covariance/Summand/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/CoulombPlusNuclearElastic/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/ImaginaryInterferenceTerm/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/NuclearAmplitudeExpansion/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/NuclearPlusInterference.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/NuclearPlusInterference/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/NuclearTerm.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/NuclearTerm/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/RealInterferenceTerm.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/RutherfordScattering.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/cpTransport/RutherfordScattering/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Abstract.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Abstract/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Acknowledgement.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Acknowledgement/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Acknowledgements.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Acknowledgements/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Affiliation.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Affiliation/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Affiliations.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Affiliations/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Author.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Author/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Authors.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Authors/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Bibitem.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Bibitem/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Bibliography.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Bibliography/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Body.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Body/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/CodeRepo.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/CodeRepo/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Collaboration.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Collaboration/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Collaborations.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Collaborations/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ComputerCode.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ComputerCode/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ComputerCodes.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ComputerCodes/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Contributor.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Contributor/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Contributors.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Contributors/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Copyright.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Copyright/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/CorrectionScript.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/CorrectionScript/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/CovarianceScript.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/CovarianceScript/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Date.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Date/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Dates.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Dates/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Documentation.hpp (88%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Documentation/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/EndfCompatible.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/EndfCompatible/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ExecutionArguments.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ExecutionArguments/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ExforDataSet.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ExforDataSet/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ExforDataSets.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ExforDataSets/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ExperimentalDataSets.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/ExperimentalDataSets/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/InputDeck.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/InputDeck/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/InputDecks.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/InputDecks/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Keyword.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Keyword/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Keywords.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Keywords/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Note.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Note/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/OutputDeck.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/OutputDeck/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/OutputDecks.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/OutputDecks/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/RelatedItem.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/RelatedItem/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/RelatedItems.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/RelatedItems/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Title.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Title/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Version.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/documentation/Version/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionFragmentData/DelayedNeutron.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionFragmentData/DelayedNeutrons.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionFragmentData/FissionFragmentData.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionFragmentData/FissionFragmentData/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionFragmentData/Rate.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionFragmentData/Rate/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/A.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/A/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/B.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/B/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/DelayedBetaEnergy.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/DelayedGammaEnergy.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/DelayedGammaEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/DelayedNeutronKE.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/EFH.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/EFH/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/EFL.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/EFL/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/FissionComponent.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/FissionComponent/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/FissionComponents.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/FissionComponents/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/FissionEnergyReleased.hpp (88%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/FissionEnergyReleased/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/MadlandNix.hpp (88%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/MadlandNix/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/NeutrinoEnergy.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/NonNeutrinoEnergy.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/PromptGammaEnergy.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/PromptNeutronKE.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/PromptProductKE.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/PromptProductKE/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/SimpleMaxwellianFission.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/SimpleMaxwellianFission/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/T_M.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/T_M/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/TotalEnergy.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/TotalEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/Watt.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fissionTransport/Watt/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/ElapsedTime.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/ElapsedTime/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/ElapsedTimes.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/ElapsedTimes/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/Energy.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/Energy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/IncidentEnergies.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/IncidentEnergies/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/IncidentEnergy.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/IncidentEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/Nuclides.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/Nuclides/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/ProductYield.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/ProductYield/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/ProductYields.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/ProductYields/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/Time.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/Time/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/Yields.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/fpy/Yields/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/key.hpp (99%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/map/Import.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/map/Import/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/map/Map.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/map/Map/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/map/Protare.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/map/Protare/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/map/TNSL.hpp (95%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/map/TNSL/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Alias.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Alias/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Aliases.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Aliases/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Atomic.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Atomic/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/AverageEnergies.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/AverageEnergies/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/AverageEnergy.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/AverageEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Baryon.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Baryon/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Baryons.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Baryons/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/BindingEnergy.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/BindingEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Charge.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Charge/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/ChemicalElement.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/ChemicalElement/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/ChemicalElements.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/ChemicalElements/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/ConfidenceIntervals.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/ConfidenceIntervals/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Configuration.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Configuration/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Configurations.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Configurations/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Continuum.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Continuum/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Decay.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Decay/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DecayData.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DecayData/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DecayMode.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DecayMode/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DecayModes.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DecayModes/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DecayPath.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DecayPath/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Discrete.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Discrete/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DiscreteEnergy.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/DiscreteEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Energy.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Energy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/GaugeBoson.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/GaugeBoson/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/GaugeBosons.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/GaugeBosons/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Halflife.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Halflife/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Intensity.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Intensity/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/InternalConversionCoefficients.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/InternalConversionCoefficients/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/InternalPairFormationCoefficient.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/InternalPairFormationCoefficient/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Interval.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Interval/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Isotope.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Isotope/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Isotopes.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Isotopes/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Lepton.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Lepton/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Leptons.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Leptons/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/LogNormal.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/LogNormal/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Mass.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Mass/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/MetaStable.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/MetaStable/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Nucleus.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Nucleus/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Nuclide.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Nuclide/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Nuclides.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Nuclides/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Parity.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Parity/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Pdf.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Pdf/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/PhotonEmissionProbabilities.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/PhotonEmissionProbabilities/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/PoPs_database.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/PoPs_database/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/PositronEmissionIntensity.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/PositronEmissionIntensity/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Probability.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Probability/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Product.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Product/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Products.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Products/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Q.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Q/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Shell.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Shell/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Spectra.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Spectra/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Spectrum.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Spectrum/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Spin.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Spin/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Standard.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Standard/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Uncertainty.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Uncertainty/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Unorthodox.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Unorthodox/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Unorthodoxes.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/pops/Unorthodoxes/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AngularEnergyMC.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AngularEnergyMC/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AvailableEnergy.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AvailableEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AvailableMomentum.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AvailableMomentum/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AverageProductEnergy.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AverageProductEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AverageProductMomentum.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/AverageProductMomentum/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/EnergyAngularMC.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/EnergyAngularMC/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/MultiGroup3d.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/processed/MultiGroup3d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/BreitWigner.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/BreitWigner/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Channel.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Channel/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Channels.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Channels/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/EnergyInterval.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/EnergyInterval/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/EnergyIntervals.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/EnergyIntervals/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ExternalRMatrix.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ExternalRMatrix/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/HardSphereRadius.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/HardSphereRadius/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/J.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/J/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Js.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Js/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/L.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/L/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/LevelSpacing.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/LevelSpacing/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Ls.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Ls/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/RMatrix.hpp (95%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/RMatrix/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Resolved.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Resolved/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ResonanceParameters.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ResonanceParameters/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ResonanceReaction.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ResonanceReaction/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ResonanceReactions.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ResonanceReactions/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Resonances.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Resonances/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ScatteringRadius.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/ScatteringRadius/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/SpinGroup.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/SpinGroup/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/SpinGroups.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/SpinGroups/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/TabulatedWidths.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/TabulatedWidths/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Unresolved.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Unresolved/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Width.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Width/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Widths.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/resonances/Widths/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/AngularDistributionReconstructed.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/AngularDistributionReconstructed/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/AverageProductData.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/AverageProductData/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Bondarenko.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Bondarenko/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/CoulombPlusNuclearElasticMuCutoff/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/CrossSectionReconstructed.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/CrossSectionReconstructed/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/EqualProbableBins.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/EqualProbableBins/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Evaluated.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Evaluated/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Flux.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Flux/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/GriddedCrossSection.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/GriddedCrossSection/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Heated.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Heated/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/HeatedMultiGroup.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/HeatedMultiGroup/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/InverseSpeed.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/InverseSpeed/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/MonteCarlo_cdf.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/MonteCarlo_cdf/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/MultiBand.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/MultiBand/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/MultiGroup.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/MultiGroup/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/ProjectileEnergyDomain.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Realization.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Realization/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/SigmaZeros.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/SigmaZeros/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/SnElasticUpScatter.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/SnElasticUpScatter/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Styles.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Styles/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Temperature.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Temperature/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Transportable.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Transportable/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Transportables.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/Transportables/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/URR_probabilityTables.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/styles/URR_probabilityTables/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/A.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/A/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Add.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Add/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/AngularEnergy.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/AngularEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/AngularTwoBody.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/AngularTwoBody/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Angular_uncorrelated.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Angular_uncorrelated/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Background.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Background/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Branching1d.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Branching1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Branching3d.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Branching3d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/CoherentPhoton.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/CoherentPhoton/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/CrossSection.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/CrossSection/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/CrossSectionSum.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/CrossSectionSum/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/CrossSectionSums.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/CrossSectionSums/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/DiscreteGamma.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/DiscreteGamma/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Distribution.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Distribution/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/DoubleDifferentialCrossSection.hpp (88%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/DoubleDifferentialCrossSection/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/EnergyAngular.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/EnergyAngular/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Energy_uncorrelated.hpp (88%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Energy_uncorrelated/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Evaporation.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Evaporation/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/F.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/F/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/FastRegion.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/FastRegion/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Forward.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Forward/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/G.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/G/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/GeneralEvaporation.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/GeneralEvaporation/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/IncoherentPhoton.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/IncoherentPhoton/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/IncompleteReactions.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/IncompleteReactions/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Isotropic2d.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Isotropic2d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/KalbachMann.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/KalbachMann/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/MultiGroup3d.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/MultiGroup3d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Multiplicity.hpp (89%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Multiplicity/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/MultiplicitySum.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/MultiplicitySum/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/MultiplicitySums.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/MultiplicitySums/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/NBodyPhaseSpace.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/NBodyPhaseSpace/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/OrphanProduct.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/OrphanProduct/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/OrphanProducts.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/OrphanProducts/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/OutputChannel.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/OutputChannel/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/PhotonEmissionProbabilities.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/PhotonEmissionProbabilities/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/PrimaryGamma.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/PrimaryGamma/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Production.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Production/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Productions.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Productions/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/R.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/R/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Reaction.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Reaction/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/ReactionSuite.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/ReactionSuite/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Reactions.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Reactions/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Recoil.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Recoil/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Reference.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Reference/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/ResolvedRegion.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/ResolvedRegion/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/ResonancesLink.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/ResonancesLink/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/ResonancesWithBackground.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/ResonancesWithBackground/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Summands.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Summands/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Sums.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Sums/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Theta.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Theta/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/U.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/U/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/URR_probabilityTables1d.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/URR_probabilityTables1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Uncorrelated.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Uncorrelated/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/UnresolvedRegion.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/UnresolvedRegion/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Unspecified.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Unspecified/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Weighted.hpp (88%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/Weighted/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/WeightedFunctionals.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/transport/WeightedFunctionals/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/BoundAtomCrossSection.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/BraggEdge.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/BraggEdge/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/BraggEdges.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/BraggEdges/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/BraggEnergy.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/BraggEnergy/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/CoherentAtomCrossSection.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/DebyeWallerIntegral.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/DistinctScatteringKernel.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/E_critical.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/E_critical/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/E_max.hpp (93%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/E_max/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/FreeGasApproximation.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/FreeGasApproximation/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/GaussianApproximation.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/GaussianApproximation/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/Mass.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/Mass/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/PhononSpectrum.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/PhononSpectrum/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/SCTApproximation.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/SCTApproximation/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/S_table.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/S_table/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ScatteringAtom.hpp (90%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ScatteringAtom/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ScatteringAtoms.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ScatteringAtoms/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/SelfScatteringKernel.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/SelfScatteringKernel/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/StructureFactor.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/StructureFactor/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/T_effective.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/T_effective/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw1d/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp (92%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp (91%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic/src/custom.hpp (100%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp (94%) rename standards/gnds-2.0/{try/src/try => test/src/test}/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic/src/custom.hpp (100%) delete mode 100644 standards/gnds-2.0/try/src/try/v2.0.hpp diff --git a/standards/gnds-2.0/.gitignore b/standards/gnds-2.0/.gitignore index 321656c44..0a88b3bd1 100644 --- a/standards/gnds-2.0/.gitignore +++ b/standards/gnds-2.0/.gitignore @@ -1 +1,2 @@ + json2class.exe diff --git a/standards/gnds-2.0/gnds-2.0.json b/standards/gnds-2.0/gnds-2.0.json index 0996051dd..e879ae90c 100644 --- a/standards/gnds-2.0/gnds-2.0.json +++ b/standards/gnds-2.0/gnds-2.0.json @@ -1,6 +1,6 @@ { "Path": ".", - "Project": "try", + "Project": "test", "Version": "v2.0", "JSONDir": ".", diff --git a/standards/gnds-2.0/try/c/src/v2.0.h b/standards/gnds-2.0/test/c/src/v2.0.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0.h rename to standards/gnds-2.0/test/c/src/v2.0.h index 2f8f29b38..ecfe29fcb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0.h +++ b/standards/gnds-2.0/test/c/src/v2.0.h @@ -6,14 +6,14 @@ // This header file is designed to work with both C and C++ // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0 -#define C_INTERFACE_TRY_V2_0 +#ifndef C_INTERFACE_TEST_V2_0 +#define C_INTERFACE_TEST_V2_0 #include "GNDStk.h" #ifdef __cplusplus // For C++ - #include "try/v2_0.hpp" + #include "test/v2_0.hpp" #endif #include "v2.0/appData/ApplicationData.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.cpp b/standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.cpp rename to standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.cpp index f019e12dd..e5481b993 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/appData/ApplicationData.hpp" +#include "test/v2_0/appData/ApplicationData.hpp" #include "ApplicationData.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ApplicationDataClass; using CPP = multigroup::ApplicationData; diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.h b/standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.h rename to standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.h index 82909e8d9..bd1a139c3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/appData/ApplicationData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_APPDATA_APPLICATIONDATA -#define C_INTERFACE_TRY_V2_0_APPDATA_APPLICATIONDATA +#ifndef C_INTERFACE_TEST_V2_0_APPDATA_APPLICATIONDATA +#define C_INTERFACE_TEST_V2_0_APPDATA_APPLICATIONDATA #include "GNDStk.h" #include "v2.0/appData/Institution.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.cpp b/standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.cpp rename to standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.cpp index 63610b85c..e399a3243 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/appData/Conversion.hpp" +#include "test/v2_0/appData/Conversion.hpp" #include "Conversion.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ConversionClass; using CPP = multigroup::Conversion; diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.h b/standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.h rename to standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.h index d497bf02f..5d2509387 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/appData/Conversion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_APPDATA_CONVERSION -#define C_INTERFACE_TRY_V2_0_APPDATA_CONVERSION +#ifndef C_INTERFACE_TEST_V2_0_APPDATA_CONVERSION +#define C_INTERFACE_TEST_V2_0_APPDATA_CONVERSION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.cpp b/standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.cpp rename to standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.cpp index a3294d944..71a025429 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/appData/ENDFconversionFlags.hpp" +#include "test/v2_0/appData/ENDFconversionFlags.hpp" #include "ENDFconversionFlags.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ENDFconversionFlagsClass; using CPP = multigroup::ENDFconversionFlags; diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.h b/standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.h rename to standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.h index 338a391da..023fa9d5e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/appData/ENDFconversionFlags.h +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_APPDATA_ENDFCONVERSIONFLAGS -#define C_INTERFACE_TRY_V2_0_APPDATA_ENDFCONVERSIONFLAGS +#ifndef C_INTERFACE_TEST_V2_0_APPDATA_ENDFCONVERSIONFLAGS +#define C_INTERFACE_TEST_V2_0_APPDATA_ENDFCONVERSIONFLAGS #include "GNDStk.h" #include "v2.0/appData/Conversion.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.cpp b/standards/gnds-2.0/test/c/src/v2.0/appData/Institution.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/appData/Institution.cpp rename to standards/gnds-2.0/test/c/src/v2.0/appData/Institution.cpp index c66741482..d38f1afcd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/Institution.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/appData/Institution.hpp" +#include "test/v2_0/appData/Institution.hpp" #include "Institution.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = InstitutionClass; using CPP = multigroup::Institution; diff --git a/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.h b/standards/gnds-2.0/test/c/src/v2.0/appData/Institution.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/appData/Institution.h rename to standards/gnds-2.0/test/c/src/v2.0/appData/Institution.h index 4d532b681..a62576878 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/appData/Institution.h +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/Institution.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_APPDATA_INSTITUTION -#define C_INTERFACE_TRY_V2_0_APPDATA_INSTITUTION +#ifndef C_INTERFACE_TEST_V2_0_APPDATA_INSTITUTION +#define C_INTERFACE_TEST_V2_0_APPDATA_INSTITUTION #include "GNDStk.h" #include "v2.0/appData/ENDFconversionFlags.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.cpp b/standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.cpp rename to standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.cpp index 503a199bc..21c6e157a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/atomic/CoherentPhotonScattering.hpp" +#include "test/v2_0/atomic/CoherentPhotonScattering.hpp" #include "CoherentPhotonScattering.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CoherentPhotonScatteringClass; using CPP = multigroup::CoherentPhotonScattering; diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.h rename to standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.h index 36f5c4fd7..b2cbfcca1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/CoherentPhotonScattering.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_COHERENTPHOTONSCATTERING -#define C_INTERFACE_TRY_V2_0_ATOMIC_COHERENTPHOTONSCATTERING +#ifndef C_INTERFACE_TEST_V2_0_ATOMIC_COHERENTPHOTONSCATTERING +#define C_INTERFACE_TEST_V2_0_ATOMIC_COHERENTPHOTONSCATTERING #include "GNDStk.h" #include "v2.0/atomic/FormFactor.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp b/standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp rename to standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.cpp index e6a322a24..6c4ff02e7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/atomic/FormFactor.hpp" +#include "test/v2_0/atomic/FormFactor.hpp" #include "FormFactor.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FormFactorClass; using CPP = multigroup::FormFactor; diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h rename to standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.h index e5c119713..551e5fd3c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/FormFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_FORMFACTOR -#define C_INTERFACE_TRY_V2_0_ATOMIC_FORMFACTOR +#ifndef C_INTERFACE_TEST_V2_0_ATOMIC_FORMFACTOR +#define C_INTERFACE_TEST_V2_0_ATOMIC_FORMFACTOR #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp b/standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp rename to standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp index 178ed8464..d86449c6f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/atomic/ImaginaryAnomalousFactor.hpp" +#include "test/v2_0/atomic/ImaginaryAnomalousFactor.hpp" #include "ImaginaryAnomalousFactor.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ImaginaryAnomalousFactorClass; using CPP = multigroup::ImaginaryAnomalousFactor; diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h rename to standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h index 4c74fa0fc..671fc64c3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR -#define C_INTERFACE_TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR +#ifndef C_INTERFACE_TEST_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR +#define C_INTERFACE_TEST_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp b/standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp rename to standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp index 3bafe9117..72c95de6b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/atomic/IncoherentPhotonScattering.hpp" +#include "test/v2_0/atomic/IncoherentPhotonScattering.hpp" #include "IncoherentPhotonScattering.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IncoherentPhotonScatteringClass; using CPP = multigroup::IncoherentPhotonScattering; diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.h rename to standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.h index 738c147c6..adc6126fd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/IncoherentPhotonScattering.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_INCOHERENTPHOTONSCATTERING -#define C_INTERFACE_TRY_V2_0_ATOMIC_INCOHERENTPHOTONSCATTERING +#ifndef C_INTERFACE_TEST_V2_0_ATOMIC_INCOHERENTPHOTONSCATTERING +#define C_INTERFACE_TEST_V2_0_ATOMIC_INCOHERENTPHOTONSCATTERING #include "GNDStk.h" #include "v2.0/atomic/ScatteringFactor.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp b/standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp rename to standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.cpp index f8bc7291d..105b1e41f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/atomic/RealAnomalousFactor.hpp" +#include "test/v2_0/atomic/RealAnomalousFactor.hpp" #include "RealAnomalousFactor.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RealAnomalousFactorClass; using CPP = multigroup::RealAnomalousFactor; diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h rename to standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.h index 71b1ca802..36819e770 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/RealAnomalousFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR -#define C_INTERFACE_TRY_V2_0_ATOMIC_REALANOMALOUSFACTOR +#ifndef C_INTERFACE_TEST_V2_0_ATOMIC_REALANOMALOUSFACTOR +#define C_INTERFACE_TEST_V2_0_ATOMIC_REALANOMALOUSFACTOR #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp b/standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp rename to standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.cpp index e27a5db22..37b69b141 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/atomic/ScatteringFactor.hpp" +#include "test/v2_0/atomic/ScatteringFactor.hpp" #include "ScatteringFactor.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ScatteringFactorClass; using CPP = multigroup::ScatteringFactor; diff --git a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h rename to standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.h index 6fdc3d34e..2d1aaa1af 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/atomic/ScatteringFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_ATOMIC_SCATTERINGFACTOR -#define C_INTERFACE_TRY_V2_0_ATOMIC_SCATTERINGFACTOR +#ifndef C_INTERFACE_TEST_V2_0_ATOMIC_SCATTERINGFACTOR +#define C_INTERFACE_TEST_V2_0_ATOMIC_SCATTERINGFACTOR #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/Energy.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/Energy.cpp index 0d757ccb6..b5e6a85ed 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Energy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/Energy.hpp" +#include "test/v2_0/common/Energy.hpp" #include "Energy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EnergyClass; using CPP = multigroup::Energy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h b/standards/gnds-2.0/test/c/src/v2.0/common/Energy.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/Energy.h rename to standards/gnds-2.0/test/c/src/v2.0/common/Energy.h index ce0323ca4..1f0639a13 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Energy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Energy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_ENERGY -#define C_INTERFACE_TRY_V2_0_COMMON_ENERGY +#ifndef C_INTERFACE_TEST_V2_0_COMMON_ENERGY +#define C_INTERFACE_TEST_V2_0_COMMON_ENERGY #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.cpp index c8c0807dc..d7102714c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/ExternalFile.hpp" +#include "test/v2_0/common/ExternalFile.hpp" #include "ExternalFile.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ExternalFileClass; using CPP = multigroup::ExternalFile; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.h b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.h rename to standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h index ea512eacd..e8dcc8d36 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFile.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_EXTERNALFILE -#define C_INTERFACE_TRY_V2_0_COMMON_EXTERNALFILE +#ifndef C_INTERFACE_TEST_V2_0_COMMON_EXTERNALFILE +#define C_INTERFACE_TEST_V2_0_COMMON_EXTERNALFILE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.cpp index 523a7fcaa..db1197a27 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/ExternalFiles.hpp" +#include "test/v2_0/common/ExternalFiles.hpp" #include "ExternalFiles.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ExternalFilesClass; using CPP = multigroup::ExternalFiles; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.h b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.h rename to standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h index 4b64a8320..b2eeb1013 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/ExternalFiles.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_EXTERNALFILES -#define C_INTERFACE_TRY_V2_0_COMMON_EXTERNALFILES +#ifndef C_INTERFACE_TEST_V2_0_COMMON_EXTERNALFILES +#define C_INTERFACE_TEST_V2_0_COMMON_EXTERNALFILES #include "GNDStk.h" #include "v2.0/common/ExternalFile.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/Mass.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/Mass.cpp index eb55be156..3ffec4166 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Mass.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/Mass.hpp" +#include "test/v2_0/common/Mass.hpp" #include "Mass.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MassClass; using CPP = multigroup::Mass; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h b/standards/gnds-2.0/test/c/src/v2.0/common/Mass.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/Mass.h rename to standards/gnds-2.0/test/c/src/v2.0/common/Mass.h index 60fdef181..d0742796c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Mass.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Mass.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_MASS -#define C_INTERFACE_TRY_V2_0_COMMON_MASS +#ifndef C_INTERFACE_TEST_V2_0_COMMON_MASS +#define C_INTERFACE_TEST_V2_0_COMMON_MASS #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/Probability.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/Probability.cpp index da02974a3..ee11952aa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Probability.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/Probability.hpp" +#include "test/v2_0/common/Probability.hpp" #include "Probability.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProbabilityClass; using CPP = multigroup::Probability; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h b/standards/gnds-2.0/test/c/src/v2.0/common/Probability.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/Probability.h rename to standards/gnds-2.0/test/c/src/v2.0/common/Probability.h index 87c8e93b3..7615a8a4f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Probability.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Probability.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_PROBABILITY -#define C_INTERFACE_TRY_V2_0_COMMON_PROBABILITY +#ifndef C_INTERFACE_TEST_V2_0_COMMON_PROBABILITY +#define C_INTERFACE_TEST_V2_0_COMMON_PROBABILITY #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Product.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/Product.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/Product.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/Product.cpp index 26f36386f..b64899e01 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Product.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Product.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/Product.hpp" +#include "test/v2_0/common/Product.hpp" #include "Product.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProductClass; using CPP = multigroup::Product; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Product.h b/standards/gnds-2.0/test/c/src/v2.0/common/Product.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/Product.h rename to standards/gnds-2.0/test/c/src/v2.0/common/Product.h index 4fa53d6d2..181422a49 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Product.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Product.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_PRODUCT -#define C_INTERFACE_TRY_V2_0_COMMON_PRODUCT +#ifndef C_INTERFACE_TEST_V2_0_COMMON_PRODUCT +#define C_INTERFACE_TEST_V2_0_COMMON_PRODUCT #include "GNDStk.h" #include "v2.0/transport/Multiplicity.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Products.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/Products.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/Products.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/Products.cpp index 5658ebdde..a1dc2ef87 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Products.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Products.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/Products.hpp" +#include "test/v2_0/common/Products.hpp" #include "Products.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProductsClass; using CPP = multigroup::Products; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Products.h b/standards/gnds-2.0/test/c/src/v2.0/common/Products.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/Products.h rename to standards/gnds-2.0/test/c/src/v2.0/common/Products.h index 52fe0c351..56eb51ee2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Products.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Products.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_PRODUCTS -#define C_INTERFACE_TRY_V2_0_COMMON_PRODUCTS +#ifndef C_INTERFACE_TEST_V2_0_COMMON_PRODUCTS +#define C_INTERFACE_TEST_V2_0_COMMON_PRODUCTS #include "GNDStk.h" #include "v2.0/common/Product.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/Q.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/Q.cpp index 6ee72e2fa..9a2a59469 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Q.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Q.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/Q.hpp" +#include "test/v2_0/common/Q.hpp" #include "Q.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = QClass; using CPP = multigroup::Q; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h b/standards/gnds-2.0/test/c/src/v2.0/common/Q.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/Q.h rename to standards/gnds-2.0/test/c/src/v2.0/common/Q.h index 10fb7aa32..735c81e72 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Q.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Q.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_Q -#define C_INTERFACE_TRY_V2_0_COMMON_Q +#ifndef C_INTERFACE_TEST_V2_0_COMMON_Q +#define C_INTERFACE_TEST_V2_0_COMMON_Q #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/Temperature.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp rename to standards/gnds-2.0/test/c/src/v2.0/common/Temperature.cpp index 946810e77..9652860e7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Temperature.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/common/Temperature.hpp" +#include "test/v2_0/common/Temperature.hpp" #include "Temperature.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TemperatureClass; using CPP = multigroup::Temperature; diff --git a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h b/standards/gnds-2.0/test/c/src/v2.0/common/Temperature.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h rename to standards/gnds-2.0/test/c/src/v2.0/common/Temperature.h index 084fd2b0a..6f3eea539 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/common/Temperature.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Temperature.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COMMON_TEMPERATURE -#define C_INTERFACE_TRY_V2_0_COMMON_TEMPERATURE +#ifndef C_INTERFACE_TEST_V2_0_COMMON_TEMPERATURE +#define C_INTERFACE_TEST_V2_0_COMMON_TEMPERATURE #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Array.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Array.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Array.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Array.cpp index 216a5b948..eda29f95d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Array.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Array.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Array.hpp" +#include "test/v2_0/containers/Array.hpp" #include "Array.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ArrayClass; using CPP = multigroup::Array; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Array.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Array.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Array.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Array.h index 56bf098eb..53d33d92b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Array.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Array.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_ARRAY -#define C_INTERFACE_TRY_V2_0_CONTAINERS_ARRAY +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_ARRAY +#define C_INTERFACE_TEST_V2_0_CONTAINERS_ARRAY #include "GNDStk.h" #include "v2.0/containers/Values.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Axes.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Axes.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Axes.cpp index 3bb6451db..ebe7740ad 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Axes.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Axes.hpp" +#include "test/v2_0/containers/Axes.hpp" #include "Axes.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AxesClass; using CPP = multigroup::Axes; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Axes.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Axes.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Axes.h index 2a8155c36..6da276525 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Axes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Axes.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_AXES -#define C_INTERFACE_TRY_V2_0_CONTAINERS_AXES +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_AXES +#define C_INTERFACE_TEST_V2_0_CONTAINERS_AXES #include "GNDStk.h" #include "v2.0/containers/Axis.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Axis.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Axis.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Axis.cpp index 7a46a0101..28a4edef2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Axis.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Axis.hpp" +#include "test/v2_0/containers/Axis.hpp" #include "Axis.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AxisClass; using CPP = multigroup::Axis; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Axis.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Axis.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Axis.h index b0aa290f7..361e8e58d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Axis.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Axis.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_AXIS -#define C_INTERFACE_TRY_V2_0_CONTAINERS_AXIS +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_AXIS +#define C_INTERFACE_TEST_V2_0_CONTAINERS_AXIS #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp index 270a165d9..478cc57c0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Cdf_in_xs_pdf_cdf1d.hpp" +#include "test/v2_0/containers/Cdf_in_xs_pdf_cdf1d.hpp" #include "Cdf_in_xs_pdf_cdf1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Cdf_in_xs_pdf_cdf1dClass; using CPP = multigroup::Cdf_in_xs_pdf_cdf1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h index 01cc2aa3f..badafddb2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D #include "GNDStk.h" #include "v2.0/containers/Values.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Column.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Column.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Column.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Column.cpp index bf40d49e4..0487e1800 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Column.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Column.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Column.hpp" +#include "test/v2_0/containers/Column.hpp" #include "Column.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ColumnClass; using CPP = multigroup::Column; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Column.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Column.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Column.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Column.h index bb0148eb9..fa263f6c1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Column.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Column.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_COLUMN -#define C_INTERFACE_TRY_V2_0_CONTAINERS_COLUMN +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_COLUMN +#define C_INTERFACE_TEST_V2_0_CONTAINERS_COLUMN #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.cpp index 97f6111e3..f7675b30d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/ColumnHeaders.hpp" +#include "test/v2_0/containers/ColumnHeaders.hpp" #include "ColumnHeaders.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ColumnHeadersClass; using CPP = multigroup::ColumnHeaders; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.h b/standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.h index 332550838..14fd28fbc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/ColumnHeaders.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_COLUMNHEADERS -#define C_INTERFACE_TRY_V2_0_CONTAINERS_COLUMNHEADERS +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_COLUMNHEADERS +#define C_INTERFACE_TEST_V2_0_CONTAINERS_COLUMNHEADERS #include "GNDStk.h" #include "v2.0/containers/Column.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.cpp index c66b22dc6..2e7c094d1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/ConfidenceIntervals.hpp" +#include "test/v2_0/containers/ConfidenceIntervals.hpp" #include "ConfidenceIntervals.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ConfidenceIntervalsClass; using CPP = multigroup::ConfidenceIntervals; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.h b/standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.h index 499b063a8..79f9e4cf0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/ConfidenceIntervals.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_CONFIDENCEINTERVALS -#define C_INTERFACE_TRY_V2_0_CONTAINERS_CONFIDENCEINTERVALS +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_CONFIDENCEINTERVALS +#define C_INTERFACE_TEST_V2_0_CONTAINERS_CONFIDENCEINTERVALS #include "GNDStk.h" #include "v2.0/containers/Interval.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.cpp index be255d0b8..4d24c5609 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Constant1d.hpp" +#include "test/v2_0/containers/Constant1d.hpp" #include "Constant1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Constant1dClass; using CPP = multigroup::Constant1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.h index 2c0a45af5..46c73dedc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Constant1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_CONSTANT1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_CONSTANT1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_CONSTANT1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_CONSTANT1D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.cpp index b5196493e..3904526e5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Covariance.hpp" +#include "test/v2_0/containers/Covariance.hpp" #include "Covariance.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CovarianceClass; using CPP = multigroup::Covariance; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.h index 1263a6845..8d2e9d0d2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Covariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_COVARIANCE -#define C_INTERFACE_TRY_V2_0_CONTAINERS_COVARIANCE +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_COVARIANCE +#define C_INTERFACE_TEST_V2_0_CONTAINERS_COVARIANCE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Data.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Data.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Data.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Data.cpp index 01ace4979..57bead32f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Data.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Data.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Data.hpp" +#include "test/v2_0/containers/Data.hpp" #include "Data.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DataClass; using CPP = multigroup::Data; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Data.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Data.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Data.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Data.h index 128321ae8..027cf42ba 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Data.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Data.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_DATA -#define C_INTERFACE_TRY_V2_0_CONTAINERS_DATA +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_DATA +#define C_INTERFACE_TEST_V2_0_CONTAINERS_DATA #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Double.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Double.cpp index c00f0ba86..d813393a0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Double.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Double.hpp" +#include "test/v2_0/containers/Double.hpp" #include "Double.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DoubleClass; using CPP = multigroup::Double; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Double.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Double.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Double.h index abb6668f8..2668b9a50 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Double.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Double.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_DOUBLE -#define C_INTERFACE_TRY_V2_0_CONTAINERS_DOUBLE +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_DOUBLE +#define C_INTERFACE_TEST_V2_0_CONTAINERS_DOUBLE #include "GNDStk.h" #include "v2.0/containers/Uncertainty.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.cpp index bc316d44a..414aff709 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Fraction.hpp" +#include "test/v2_0/containers/Fraction.hpp" #include "Fraction.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FractionClass; using CPP = multigroup::Fraction; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.h index 391421188..a02a13d94 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Fraction.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_FRACTION -#define C_INTERFACE_TRY_V2_0_CONTAINERS_FRACTION +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_FRACTION +#define C_INTERFACE_TEST_V2_0_CONTAINERS_FRACTION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.cpp index 7501afb53..209dd25d4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Function1ds.hpp" +#include "test/v2_0/containers/Function1ds.hpp" #include "Function1ds.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Function1dsClass; using CPP = multigroup::Function1ds; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.h index 348a21c43..f1fa10d59 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Function1ds.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION1DS -#define C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION1DS +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_FUNCTION1DS +#define C_INTERFACE_TEST_V2_0_CONTAINERS_FUNCTION1DS #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.cpp index 664f533dd..779b5ea53 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Function2ds.hpp" +#include "test/v2_0/containers/Function2ds.hpp" #include "Function2ds.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Function2dsClass; using CPP = multigroup::Function2ds; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.h index 29d580f54..b18290fc3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Function2ds.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION2DS -#define C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION2DS +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_FUNCTION2DS +#define C_INTERFACE_TEST_V2_0_CONTAINERS_FUNCTION2DS #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.cpp index 3e8e5aace..13cca9e17 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Function3ds.hpp" +#include "test/v2_0/containers/Function3ds.hpp" #include "Function3ds.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Function3dsClass; using CPP = multigroup::Function3ds; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.h index 38d8edd53..bcf305169 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Function3ds.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION3DS -#define C_INTERFACE_TRY_V2_0_CONTAINERS_FUNCTION3DS +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_FUNCTION3DS +#define C_INTERFACE_TEST_V2_0_CONTAINERS_FUNCTION3DS #include "GNDStk.h" #include "v2.0/containers/XYs3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Grid.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Grid.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Grid.cpp index 7862c70db..99577a79a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Grid.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Grid.hpp" +#include "test/v2_0/containers/Grid.hpp" #include "Grid.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = GridClass; using CPP = multigroup::Grid; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Grid.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Grid.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Grid.h index e855b7339..871bce55b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Grid.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Grid.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_GRID -#define C_INTERFACE_TRY_V2_0_CONTAINERS_GRID +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_GRID +#define C_INTERFACE_TEST_V2_0_CONTAINERS_GRID #include "GNDStk.h" #include "v2.0/containers/Values.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.cpp index dadb47547..c9ca32de9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Gridded1d.hpp" +#include "test/v2_0/containers/Gridded1d.hpp" #include "Gridded1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Gridded1dClass; using CPP = multigroup::Gridded1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.h index 66ec4a535..b4b3958fe 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_GRIDDED1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_GRIDDED1D #include "GNDStk.h" #include "v2.0/containers/Array.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.cpp index 3296ef029..98e7c113c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Gridded2d.hpp" +#include "test/v2_0/containers/Gridded2d.hpp" #include "Gridded2d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Gridded2dClass; using CPP = multigroup::Gridded2d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.h index d923d8be6..d0ee6e74d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded2d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED2D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED2D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_GRIDDED2D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_GRIDDED2D #include "GNDStk.h" #include "v2.0/containers/Array.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.cpp index 5ed874e71..045e8b70b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Gridded3d.hpp" +#include "test/v2_0/containers/Gridded3d.hpp" #include "Gridded3d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Gridded3dClass; using CPP = multigroup::Gridded3d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.h index d22e4e78c..0b23a65da 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Gridded3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED3D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_GRIDDED3D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_GRIDDED3D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_GRIDDED3D #include "GNDStk.h" #include "v2.0/containers/Array.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Integer.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Integer.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Integer.cpp index 5c4871339..f9d8aacf0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Integer.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Integer.hpp" +#include "test/v2_0/containers/Integer.hpp" #include "Integer.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IntegerClass; using CPP = multigroup::Integer; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Integer.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Integer.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Integer.h index 784232ffa..9702e3077 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Integer.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Integer.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_INTEGER -#define C_INTERFACE_TRY_V2_0_CONTAINERS_INTEGER +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_INTEGER +#define C_INTERFACE_TEST_V2_0_CONTAINERS_INTEGER #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Interval.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Interval.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Interval.cpp index 39298c39b..bfb789cfd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Interval.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Interval.hpp" +#include "test/v2_0/containers/Interval.hpp" #include "Interval.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IntervalClass; using CPP = multigroup::Interval; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Interval.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Interval.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Interval.h index 39443ce20..617709239 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Interval.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Interval.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_INTERVAL -#define C_INTERFACE_TRY_V2_0_CONTAINERS_INTERVAL +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_INTERVAL +#define C_INTERFACE_TEST_V2_0_CONTAINERS_INTERVAL #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.cpp index 8befe7546..ee28588c8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Legendre.hpp" +#include "test/v2_0/containers/Legendre.hpp" #include "Legendre.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LegendreClass; using CPP = multigroup::Legendre; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.h index b0593730f..b8b206d3a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Legendre.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_LEGENDRE -#define C_INTERFACE_TRY_V2_0_CONTAINERS_LEGENDRE +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_LEGENDRE +#define C_INTERFACE_TEST_V2_0_CONTAINERS_LEGENDRE #include "GNDStk.h" #include "v2.0/containers/Values.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Link.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Link.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Link.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Link.cpp index 767e6c68f..ee948e08b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Link.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Link.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Link.hpp" +#include "test/v2_0/containers/Link.hpp" #include "Link.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LinkClass; using CPP = multigroup::Link; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Link.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Link.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Link.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Link.h index 08ef61718..10585c32f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Link.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Link.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_LINK -#define C_INTERFACE_TRY_V2_0_CONTAINERS_LINK +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_LINK +#define C_INTERFACE_TEST_V2_0_CONTAINERS_LINK #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.cpp index a84ed9aaf..830bca354 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/ListOfCovariances.hpp" +#include "test/v2_0/containers/ListOfCovariances.hpp" #include "ListOfCovariances.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ListOfCovariancesClass; using CPP = multigroup::ListOfCovariances; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.h b/standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.h index 694576457..d26a7a6e6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/ListOfCovariances.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_LISTOFCOVARIANCES -#define C_INTERFACE_TRY_V2_0_CONTAINERS_LISTOFCOVARIANCES +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_LISTOFCOVARIANCES +#define C_INTERFACE_TEST_V2_0_CONTAINERS_LISTOFCOVARIANCES #include "GNDStk.h" #include "v2.0/containers/Covariance.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.cpp index 436c018ea..4ff18fc0b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/LogNormal.hpp" +#include "test/v2_0/containers/LogNormal.hpp" #include "LogNormal.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LogNormalClass; using CPP = multigroup::LogNormal; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.h b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h index 3ad983bf4..a84830b3a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/LogNormal.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_LOGNORMAL -#define C_INTERFACE_TRY_V2_0_CONTAINERS_LOGNORMAL +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_LOGNORMAL +#define C_INTERFACE_TEST_V2_0_CONTAINERS_LOGNORMAL #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.cpp index d28179dc3..5114ee168 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Pdf.hpp" +#include "test/v2_0/containers/Pdf.hpp" #include "Pdf.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PdfClass; using CPP = multigroup::Pdf; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.h index 50313e026..c4fff26c1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_PDF -#define C_INTERFACE_TRY_V2_0_CONTAINERS_PDF +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_PDF +#define C_INTERFACE_TEST_V2_0_CONTAINERS_PDF #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp index aa1eef0d2..366772002 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Pdf_in_xs_pdf_cdf1d.hpp" +#include "test/v2_0/containers/Pdf_in_xs_pdf_cdf1d.hpp" #include "Pdf_in_xs_pdf_cdf1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Pdf_in_xs_pdf_cdf1dClass; using CPP = multigroup::Pdf_in_xs_pdf_cdf1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h index 7d079082d..67a8539c9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D #include "GNDStk.h" #include "v2.0/containers/Values.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.cpp index 40c9cb42c..b2b5ee942 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Polynomial1d.hpp" +#include "test/v2_0/containers/Polynomial1d.hpp" #include "Polynomial1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Polynomial1dClass; using CPP = multigroup::Polynomial1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h index 6aaa95af8..460b15b17 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Polynomial1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_POLYNOMIAL1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_POLYNOMIAL1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_POLYNOMIAL1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_POLYNOMIAL1D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.cpp index 91dd145fe..67082139d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Regions1d.hpp" +#include "test/v2_0/containers/Regions1d.hpp" #include "Regions1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Regions1dClass; using CPP = multigroup::Regions1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h index 36916d310..e185152a2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_REGIONS1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_REGIONS1D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.cpp index 94c8547e5..0e3aaed46 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Regions2d.hpp" +#include "test/v2_0/containers/Regions2d.hpp" #include "Regions2d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Regions2dClass; using CPP = multigroup::Regions2d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.h index 7510f8afd..c7727ef6c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions2d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS2D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS2D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_REGIONS2D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_REGIONS2D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.cpp index 28236e5d4..d1779aee1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Regions3d.hpp" +#include "test/v2_0/containers/Regions3d.hpp" #include "Regions3d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Regions3dClass; using CPP = multigroup::Regions3d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.h index e77650ddf..bd4567ab2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Regions3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS3D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_REGIONS3D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_REGIONS3D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_REGIONS3D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Standard.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Standard.cpp index ed5a934f4..d56699f1b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Standard.hpp" +#include "test/v2_0/containers/Standard.hpp" #include "Standard.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = StandardClass; using CPP = multigroup::Standard; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Standard.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h index 1e8bf2ff7..3556c30e4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Standard.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_STANDARD -#define C_INTERFACE_TRY_V2_0_CONTAINERS_STANDARD +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_STANDARD +#define C_INTERFACE_TEST_V2_0_CONTAINERS_STANDARD #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/String.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/String.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/String.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/String.cpp index 18ddddcaf..11225bcc5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/String.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/String.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/String.hpp" +#include "test/v2_0/containers/String.hpp" #include "String.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = StringClass; using CPP = multigroup::String; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/String.h b/standards/gnds-2.0/test/c/src/v2.0/containers/String.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/String.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/String.h index 35cdd87eb..eb3685470 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/String.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/String.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_STRING -#define C_INTERFACE_TRY_V2_0_CONTAINERS_STRING +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_STRING +#define C_INTERFACE_TEST_V2_0_CONTAINERS_STRING #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Table.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Table.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Table.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Table.cpp index cfc055b23..3122d7de2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Table.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Table.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Table.hpp" +#include "test/v2_0/containers/Table.hpp" #include "Table.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TableClass; using CPP = multigroup::Table; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Table.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Table.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Table.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Table.h index 1dee5bc8a..2d56344bf 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Table.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Table.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_TABLE -#define C_INTERFACE_TRY_V2_0_CONTAINERS_TABLE +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_TABLE +#define C_INTERFACE_TEST_V2_0_CONTAINERS_TABLE #include "GNDStk.h" #include "v2.0/containers/ColumnHeaders.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.cpp index 359ce3bce..d1f2656bd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Uncertainty.hpp" +#include "test/v2_0/containers/Uncertainty.hpp" #include "Uncertainty.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UncertaintyClass; using CPP = multigroup::Uncertainty; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.h index 3c4046723..37fe69753 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Uncertainty.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_UNCERTAINTY -#define C_INTERFACE_TRY_V2_0_CONTAINERS_UNCERTAINTY +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_UNCERTAINTY +#define C_INTERFACE_TEST_V2_0_CONTAINERS_UNCERTAINTY #include "GNDStk.h" #include "v2.0/containers/Standard.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Values.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Values.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Values.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Values.cpp index c51af9218..dc8bb4227 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Values.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Values.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Values.hpp" +#include "test/v2_0/containers/Values.hpp" #include "Values.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ValuesClass; using CPP = multigroup::Values; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Values.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Values.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Values.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Values.h index d29404d29..fcdb28e56 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Values.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Values.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_VALUES -#define C_INTERFACE_TRY_V2_0_CONTAINERS_VALUES +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_VALUES +#define C_INTERFACE_TEST_V2_0_CONTAINERS_VALUES #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.cpp index 5b601ccc1..619f267d8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/XYs1d.hpp" +#include "test/v2_0/containers/XYs1d.hpp" #include "XYs1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = XYs1dClass; using CPP = multigroup::XYs1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h index bd44b7518..62c18dd25 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XYS1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_XYS1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_XYS1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_XYS1D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.cpp index e638e22ed..53ec21aea 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/XYs2d.hpp" +#include "test/v2_0/containers/XYs2d.hpp" #include "XYs2d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = XYs2dClass; using CPP = multigroup::XYs2d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.h index 1955c3db4..7c65cf02e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs2d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XYS2D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_XYS2D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_XYS2D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_XYS2D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.cpp index f5e7f2c2f..5e1402582 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/XYs3d.hpp" +#include "test/v2_0/containers/XYs3d.hpp" #include "XYs3d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = XYs3dClass; using CPP = multigroup::XYs3d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.h index 80607f319..2a313cafa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/XYs3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XYS3D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_XYS3D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_XYS3D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_XYS3D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp index 0de4f3f2e..452c5802f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Xs_in_xs_pdf_cdf1d.hpp" +#include "test/v2_0/containers/Xs_in_xs_pdf_cdf1d.hpp" #include "Xs_in_xs_pdf_cdf1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Xs_in_xs_pdf_cdf1dClass; using CPP = multigroup::Xs_in_xs_pdf_cdf1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h index 5a1bf5750..f08a390a9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D #include "GNDStk.h" #include "v2.0/containers/Values.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp index d785b2de0..b8ee57f13 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Xs_pdf_cdf1d.hpp" +#include "test/v2_0/containers/Xs_pdf_cdf1d.hpp" #include "Xs_pdf_cdf1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Xs_pdf_cdf1dClass; using CPP = multigroup::Xs_pdf_cdf1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.h index 1671cb8a5..02859d285 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_XS_PDF_CDF1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_XS_PDF_CDF1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_XS_PDF_CDF1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_XS_PDF_CDF1D #include "GNDStk.h" #include "v2.0/containers/Xs_in_xs_pdf_cdf1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.cpp index e2756130d..a055f7ebd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/containers/Ys1d.hpp" +#include "test/v2_0/containers/Ys1d.hpp" #include "Ys1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Ys1dClass; using CPP = multigroup::Ys1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.h rename to standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.h index ce7e0b86c..0910763d2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/containers/Ys1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CONTAINERS_YS1D -#define C_INTERFACE_TRY_V2_0_CONTAINERS_YS1D +#ifndef C_INTERFACE_TEST_V2_0_CONTAINERS_YS1D +#define C_INTERFACE_TEST_V2_0_CONTAINERS_YS1D #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.cpp index 8ff475588..456dbc6ae 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/AverageParameterCovariance.hpp" +#include "test/v2_0/covariance/AverageParameterCovariance.hpp" #include "AverageParameterCovariance.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AverageParameterCovarianceClass; using CPP = multigroup::AverageParameterCovariance; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.h index ce94bf471..8ea6b44f6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/AverageParameterCovariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE -#define C_INTERFACE_TRY_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE +#define C_INTERFACE_TEST_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE #include "GNDStk.h" #include "v2.0/covariance/ColumnData.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.cpp index 7cce0bc92..bb9d45e1c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/ColumnData.hpp" +#include "test/v2_0/covariance/ColumnData.hpp" #include "ColumnData.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ColumnDataClass; using CPP = multigroup::ColumnData; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.h index c7c19a89a..52733e9d2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNDATA -#define C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNDATA +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_COLUMNDATA +#define C_INTERFACE_TEST_V2_0_COVARIANCE_COLUMNDATA #include "GNDStk.h" #include "v2.0/covariance/Slices.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.cpp index ac016ed17..26c4d441f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/ColumnSensitivity.hpp" +#include "test/v2_0/covariance/ColumnSensitivity.hpp" #include "ColumnSensitivity.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ColumnSensitivityClass; using CPP = multigroup::ColumnSensitivity; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.h index 3cc96ddad..ba3ee2120 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ColumnSensitivity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY -#define C_INTERFACE_TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_COLUMNSENSITIVITY +#define C_INTERFACE_TEST_V2_0_COVARIANCE_COLUMNSENSITIVITY #include "GNDStk.h" #include "v2.0/containers/Array.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.cpp index 80384341b..698c11e17 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/Covariance.hpp" +#include "test/v2_0/covariance/Covariance.hpp" #include "Covariance.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CovarianceClass; using CPP = multigroup::Covariance; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.h index 865b9772a..1110e15a4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Covariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCE -#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCE +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCE +#define C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCE #include "GNDStk.h" #include "v2.0/containers/Array.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.cpp index da6f610b9..4bc4c4051 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/CovarianceMatrix.hpp" +#include "test/v2_0/covariance/CovarianceMatrix.hpp" #include "CovarianceMatrix.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CovarianceMatrixClass; using CPP = multigroup::CovarianceMatrix; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.h index cafabe41c..fdb45788c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceMatrix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCEMATRIX -#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCEMATRIX +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCEMATRIX +#define C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCEMATRIX #include "GNDStk.h" #include "v2.0/containers/Gridded2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.cpp index 2d9809b09..63e14eb48 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/CovarianceSection.hpp" +#include "test/v2_0/covariance/CovarianceSection.hpp" #include "CovarianceSection.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CovarianceSectionClass; using CPP = multigroup::CovarianceSection; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.h index cea317e8d..6a7eea951 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESECTION -#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESECTION +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCESECTION +#define C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCESECTION #include "GNDStk.h" #include "v2.0/covariance/RowData.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.cpp index 0c77b1d2e..1d3c8adff 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/CovarianceSections.hpp" +#include "test/v2_0/covariance/CovarianceSections.hpp" #include "CovarianceSections.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CovarianceSectionsClass; using CPP = multigroup::CovarianceSections; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.h index 842501795..cf4ec80e7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSections.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESECTIONS -#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESECTIONS +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCESECTIONS +#define C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCESECTIONS #include "GNDStk.h" #include "v2.0/covariance/CovarianceSection.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.cpp index eb49d2e09..3028dc61f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/CovarianceSuite.hpp" +#include "test/v2_0/covariance/CovarianceSuite.hpp" #include "CovarianceSuite.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CovarianceSuiteClass; using CPP = multigroup::CovarianceSuite; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.h index be075da15..55cba6d7e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/CovarianceSuite.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESUITE -#define C_INTERFACE_TRY_V2_0_COVARIANCE_COVARIANCESUITE +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCESUITE +#define C_INTERFACE_TEST_V2_0_COVARIANCE_COVARIANCESUITE #include "GNDStk.h" #include "v2.0/common/ExternalFiles.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.cpp index 85cc8dfbc..a30e86be8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/Mixed.hpp" +#include "test/v2_0/covariance/Mixed.hpp" #include "Mixed.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MixedClass; using CPP = multigroup::Mixed; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.h index cc14626aa..8fc934bae 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Mixed.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_MIXED -#define C_INTERFACE_TRY_V2_0_COVARIANCE_MIXED +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_MIXED +#define C_INTERFACE_TEST_V2_0_COVARIANCE_MIXED #include "GNDStk.h" #include "v2.0/covariance/CovarianceMatrix.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.cpp index 44c973310..315ddbcbf 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/ParameterCovariance.hpp" +#include "test/v2_0/covariance/ParameterCovariance.hpp" #include "ParameterCovariance.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ParameterCovarianceClass; using CPP = multigroup::ParameterCovariance; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.h index f9b2a7c1c..280fb8e45 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCE -#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCE +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCE +#define C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCE #include "GNDStk.h" #include "v2.0/covariance/RowData.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp index ae440b6af..0aab4778f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/ParameterCovarianceMatrix.hpp" +#include "test/v2_0/covariance/ParameterCovarianceMatrix.hpp" #include "ParameterCovarianceMatrix.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ParameterCovarianceMatrixClass; using CPP = multigroup::ParameterCovarianceMatrix; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.h index f0e6afb46..19d4ea062 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovarianceMatrix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX -#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX +#define C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX #include "GNDStk.h" #include "v2.0/covariance/Parameters.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.cpp index 1f10e43c2..1090a8015 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/ParameterCovariances.hpp" +#include "test/v2_0/covariance/ParameterCovariances.hpp" #include "ParameterCovariances.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ParameterCovariancesClass; using CPP = multigroup::ParameterCovariances; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.h index bc116633e..4ed5faa28 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterCovariances.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCES -#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCES +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCES +#define C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCES #include "GNDStk.h" #include "v2.0/covariance/AverageParameterCovariance.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.cpp index a95846127..d5b2907ce 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/ParameterLink.hpp" +#include "test/v2_0/covariance/ParameterLink.hpp" #include "ParameterLink.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ParameterLinkClass; using CPP = multigroup::ParameterLink; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.h index 408c81a9f..e11d750da 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ParameterLink.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERLINK -#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERLINK +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERLINK +#define C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERLINK #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.cpp index 3277cc7b5..0576211f1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/Parameters.hpp" +#include "test/v2_0/covariance/Parameters.hpp" #include "Parameters.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ParametersClass; using CPP = multigroup::Parameters; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.h index 9916a3376..db499e41f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Parameters.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERS -#define C_INTERFACE_TRY_V2_0_COVARIANCE_PARAMETERS +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERS +#define C_INTERFACE_TEST_V2_0_COVARIANCE_PARAMETERS #include "GNDStk.h" #include "v2.0/covariance/ParameterLink.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.cpp index 793a9d243..65e2613b9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/RowData.hpp" +#include "test/v2_0/covariance/RowData.hpp" #include "RowData.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RowDataClass; using CPP = multigroup::RowData; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.h index eb593dbcb..da4c08b6c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_ROWDATA -#define C_INTERFACE_TRY_V2_0_COVARIANCE_ROWDATA +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_ROWDATA +#define C_INTERFACE_TEST_V2_0_COVARIANCE_ROWDATA #include "GNDStk.h" #include "v2.0/covariance/Slices.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.cpp index 00532bd91..e098e356d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/RowSensitivity.hpp" +#include "test/v2_0/covariance/RowSensitivity.hpp" #include "RowSensitivity.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RowSensitivityClass; using CPP = multigroup::RowSensitivity; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.h index 7ecf3827a..e821d1fd9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/RowSensitivity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_ROWSENSITIVITY -#define C_INTERFACE_TRY_V2_0_COVARIANCE_ROWSENSITIVITY +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_ROWSENSITIVITY +#define C_INTERFACE_TEST_V2_0_COVARIANCE_ROWSENSITIVITY #include "GNDStk.h" #include "v2.0/containers/Array.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.cpp index af12d2ff2..b56d34db0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/SandwichProduct.hpp" +#include "test/v2_0/covariance/SandwichProduct.hpp" #include "SandwichProduct.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SandwichProductClass; using CPP = multigroup::SandwichProduct; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.h index 391a90ce9..a1d1604d4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/SandwichProduct.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SANDWICHPRODUCT -#define C_INTERFACE_TRY_V2_0_COVARIANCE_SANDWICHPRODUCT +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_SANDWICHPRODUCT +#define C_INTERFACE_TEST_V2_0_COVARIANCE_SANDWICHPRODUCT #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp index 9e5f62ab4..2815e8a36 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "test/v2_0/covariance/ShortRangeSelfScalingVariance.hpp" #include "ShortRangeSelfScalingVariance.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ShortRangeSelfScalingVarianceClass; using CPP = multigroup::ShortRangeSelfScalingVariance; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h index 4017b47ed..1bbc798bc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE -#define C_INTERFACE_TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE +#define C_INTERFACE_TEST_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE #include "GNDStk.h" #include "v2.0/containers/Gridded2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.cpp index 8976af9bc..391cdc5db 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/Slice.hpp" +#include "test/v2_0/covariance/Slice.hpp" #include "Slice.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SliceClass; using CPP = multigroup::Slice; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.h index c7efd4758..a1749e1aa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slice.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SLICE -#define C_INTERFACE_TRY_V2_0_COVARIANCE_SLICE +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_SLICE +#define C_INTERFACE_TEST_V2_0_COVARIANCE_SLICE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.cpp index 1d11d915d..d76517f74 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/Slices.hpp" +#include "test/v2_0/covariance/Slices.hpp" #include "Slices.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SlicesClass; using CPP = multigroup::Slices; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.h index cccf3cb48..677dc4f18 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Slices.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SLICES -#define C_INTERFACE_TRY_V2_0_COVARIANCE_SLICES +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_SLICES +#define C_INTERFACE_TEST_V2_0_COVARIANCE_SLICES #include "GNDStk.h" #include "v2.0/covariance/Slice.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.cpp index 46e48735f..2dd09a295 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/Sum.hpp" +#include "test/v2_0/covariance/Sum.hpp" #include "Sum.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SumClass; using CPP = multigroup::Sum; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.h index c299b9690..ad1169d75 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Sum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SUM -#define C_INTERFACE_TRY_V2_0_COVARIANCE_SUM +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_SUM +#define C_INTERFACE_TEST_V2_0_COVARIANCE_SUM #include "GNDStk.h" #include "v2.0/covariance/Summand.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.cpp b/standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.cpp rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.cpp index f8323a0e4..bb2f0cb0e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/covariance/Summand.hpp" +#include "test/v2_0/covariance/Summand.hpp" #include "Summand.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SummandClass; using CPP = multigroup::Summand; diff --git a/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.h rename to standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.h index e625e23e2..a0a746d34 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/covariance/Summand.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_COVARIANCE_SUMMAND -#define C_INTERFACE_TRY_V2_0_COVARIANCE_SUMMAND +#ifndef C_INTERFACE_TEST_V2_0_COVARIANCE_SUMMAND +#define C_INTERFACE_TEST_V2_0_COVARIANCE_SUMMAND #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp index 3c0807d6a..7cc381b86 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "test/v2_0/cpTransport/CoulombPlusNuclearElastic.hpp" #include "CoulombPlusNuclearElastic.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CoulombPlusNuclearElasticClass; using CPP = multigroup::CoulombPlusNuclearElastic; diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h index 77f9e0a30..791aced8f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC -#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC +#ifndef C_INTERFACE_TEST_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC +#define C_INTERFACE_TEST_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC #include "GNDStk.h" #include "v2.0/cpTransport/RutherfordScattering.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp index a2b112ac2..960b789eb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/cpTransport/ImaginaryInterferenceTerm.hpp" +#include "test/v2_0/cpTransport/ImaginaryInterferenceTerm.hpp" #include "ImaginaryInterferenceTerm.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ImaginaryInterferenceTermClass; using CPP = multigroup::ImaginaryInterferenceTerm; diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h index 4b22c3f94..08b8f62ec 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM -#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM +#ifndef C_INTERFACE_TEST_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM +#define C_INTERFACE_TEST_V2_0_CPTRANSPORT_IMAGINARYINTERFERENCETERM #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp index fd6379ce3..fc7b5b3e3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "test/v2_0/cpTransport/NuclearAmplitudeExpansion.hpp" #include "NuclearAmplitudeExpansion.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NuclearAmplitudeExpansionClass; using CPP = multigroup::NuclearAmplitudeExpansion; diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h index 46893d519..1c4904292 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARAMPLITUDEEXPANSION -#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARAMPLITUDEEXPANSION +#ifndef C_INTERFACE_TEST_V2_0_CPTRANSPORT_NUCLEARAMPLITUDEEXPANSION +#define C_INTERFACE_TEST_V2_0_CPTRANSPORT_NUCLEARAMPLITUDEEXPANSION #include "GNDStk.h" #include "v2.0/cpTransport/NuclearTerm.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp index f52a923e5..0080c24cb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/cpTransport/NuclearPlusInterference.hpp" +#include "test/v2_0/cpTransport/NuclearPlusInterference.hpp" #include "NuclearPlusInterference.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NuclearPlusInterferenceClass; using CPP = multigroup::NuclearPlusInterference; diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.h rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.h index 2e07e067e..07a95a47a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearPlusInterference.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARPLUSINTERFERENCE -#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARPLUSINTERFERENCE +#ifndef C_INTERFACE_TEST_V2_0_CPTRANSPORT_NUCLEARPLUSINTERFERENCE +#define C_INTERFACE_TEST_V2_0_CPTRANSPORT_NUCLEARPLUSINTERFERENCE #include "GNDStk.h" #include "v2.0/transport/CrossSection.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.cpp index ea76b004d..30c6e1d65 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/cpTransport/NuclearTerm.hpp" +#include "test/v2_0/cpTransport/NuclearTerm.hpp" #include "NuclearTerm.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NuclearTermClass; using CPP = multigroup::NuclearTerm; diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.h index 3cf241d22..f8599d4bb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/NuclearTerm.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARTERM -#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_NUCLEARTERM +#ifndef C_INTERFACE_TEST_V2_0_CPTRANSPORT_NUCLEARTERM +#define C_INTERFACE_TEST_V2_0_CPTRANSPORT_NUCLEARTERM #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp index 4ab55def9..64b44d64f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/cpTransport/RealInterferenceTerm.hpp" +#include "test/v2_0/cpTransport/RealInterferenceTerm.hpp" #include "RealInterferenceTerm.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RealInterferenceTermClass; using CPP = multigroup::RealInterferenceTerm; diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.h index 3be78c733..aa93defa0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RealInterferenceTerm.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM -#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM +#ifndef C_INTERFACE_TEST_V2_0_CPTRANSPORT_REALINTERFERENCETERM +#define C_INTERFACE_TEST_V2_0_CPTRANSPORT_REALINTERFERENCETERM #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.cpp b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.cpp rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.cpp index f08df9c19..77da73a23 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/cpTransport/RutherfordScattering.hpp" +#include "test/v2_0/cpTransport/RutherfordScattering.hpp" #include "RutherfordScattering.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RutherfordScatteringClass; using CPP = multigroup::RutherfordScattering; diff --git a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.h rename to standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.h index cd1332473..c02c84387 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/cpTransport/RutherfordScattering.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING -#define C_INTERFACE_TRY_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING +#ifndef C_INTERFACE_TEST_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING +#define C_INTERFACE_TEST_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.cpp index 649dfa0da..0968a676c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Abstract.hpp" +#include "test/v2_0/documentation/Abstract.hpp" #include "Abstract.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AbstractClass; using CPP = multigroup::Abstract; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.h index 9499e2f87..bc8df5d81 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Abstract.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_ABSTRACT -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_ABSTRACT +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_ABSTRACT +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_ABSTRACT #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.cpp index 4dcdae137..6c15aa9a8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Acknowledgement.hpp" +#include "test/v2_0/documentation/Acknowledgement.hpp" #include "Acknowledgement.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AcknowledgementClass; using CPP = multigroup::Acknowledgement; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h index 841fd220d..82f1ceb10 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgement.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.cpp index e8760c377..3e0c9a717 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Acknowledgements.hpp" +#include "test/v2_0/documentation/Acknowledgements.hpp" #include "Acknowledgements.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AcknowledgementsClass; using CPP = multigroup::Acknowledgements; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h index 2bec33a77..5415b7491 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Acknowledgements.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS #include "GNDStk.h" #include "v2.0/documentation/Acknowledgement.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.cpp index 06cfae9d4..602a64082 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Affiliation.hpp" +#include "test/v2_0/documentation/Affiliation.hpp" #include "Affiliation.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AffiliationClass; using CPP = multigroup::Affiliation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.h index c78e343c7..a68a613c6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_AFFILIATION -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_AFFILIATION +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_AFFILIATION +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_AFFILIATION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.cpp index 6e0573db5..0e2fdcfc8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Affiliations.hpp" +#include "test/v2_0/documentation/Affiliations.hpp" #include "Affiliations.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AffiliationsClass; using CPP = multigroup::Affiliations; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.h index c61ca4fe9..7dd427709 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Affiliations.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_AFFILIATIONS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_AFFILIATIONS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_AFFILIATIONS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_AFFILIATIONS #include "GNDStk.h" #include "v2.0/documentation/Affiliation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Author.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Author.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Author.cpp index 4884ec809..87dc6260e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Author.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Author.hpp" +#include "test/v2_0/documentation/Author.hpp" #include "Author.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AuthorClass; using CPP = multigroup::Author; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Author.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Author.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Author.h index 5d41adf8f..6b91ec5e4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Author.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Author.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_AUTHOR -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_AUTHOR +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_AUTHOR +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_AUTHOR #include "GNDStk.h" #include "v2.0/documentation/Affiliations.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.cpp index c675aa222..84f7d8099 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Authors.hpp" +#include "test/v2_0/documentation/Authors.hpp" #include "Authors.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AuthorsClass; using CPP = multigroup::Authors; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.h index 061d3bada..4cb41106b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Authors.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_AUTHORS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_AUTHORS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_AUTHORS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_AUTHORS #include "GNDStk.h" #include "v2.0/documentation/Author.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.cpp index d86c183e9..2f7d749be 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Bibitem.hpp" +#include "test/v2_0/documentation/Bibitem.hpp" #include "Bibitem.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BibitemClass; using CPP = multigroup::Bibitem; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.h index f79aa1f2f..fe71b8ad5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibitem.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_BIBITEM -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_BIBITEM +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_BIBITEM +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_BIBITEM #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.cpp index df2fff9f5..209533808 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Bibliography.hpp" +#include "test/v2_0/documentation/Bibliography.hpp" #include "Bibliography.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BibliographyClass; using CPP = multigroup::Bibliography; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.h index cf95a03ab..7394c145f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Bibliography.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_BIBLIOGRAPHY -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_BIBLIOGRAPHY +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_BIBLIOGRAPHY +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_BIBLIOGRAPHY #include "GNDStk.h" #include "v2.0/documentation/Bibitem.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Body.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Body.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Body.cpp index 0d67524d7..72453a31c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Body.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Body.hpp" +#include "test/v2_0/documentation/Body.hpp" #include "Body.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BodyClass; using CPP = multigroup::Body; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Body.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Body.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Body.h index aaf8f8a91..eefe0cdf2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Body.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Body.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_BODY -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_BODY +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_BODY +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_BODY #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.cpp index 8c7ef06df..02b7ec75c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/CodeRepo.hpp" +#include "test/v2_0/documentation/CodeRepo.hpp" #include "CodeRepo.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CodeRepoClass; using CPP = multigroup::CodeRepo; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.h index 8819b8206..5cb57e93f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/CodeRepo.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_CODEREPO -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_CODEREPO +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_CODEREPO +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_CODEREPO #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.cpp index 60da15867..e0c3b12a5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Collaboration.hpp" +#include "test/v2_0/documentation/Collaboration.hpp" #include "Collaboration.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CollaborationClass; using CPP = multigroup::Collaboration; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.h index cc71563b1..338278568 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaboration.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COLLABORATION -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COLLABORATION +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_COLLABORATION +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_COLLABORATION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.cpp index f5c5c140d..f52c4b28f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Collaborations.hpp" +#include "test/v2_0/documentation/Collaborations.hpp" #include "Collaborations.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CollaborationsClass; using CPP = multigroup::Collaborations; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.h index c41ddd1f8..69ec8888a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Collaborations.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COLLABORATIONS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COLLABORATIONS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_COLLABORATIONS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_COLLABORATIONS #include "GNDStk.h" #include "v2.0/documentation/Collaboration.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.cpp index a75d52c1a..ad3accceb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/ComputerCode.hpp" +#include "test/v2_0/documentation/ComputerCode.hpp" #include "ComputerCode.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ComputerCodeClass; using CPP = multigroup::ComputerCode; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.h index e311198db..d4d768753 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCode.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COMPUTERCODE -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COMPUTERCODE +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_COMPUTERCODE +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_COMPUTERCODE #include "GNDStk.h" #include "v2.0/documentation/ExecutionArguments.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.cpp index 8adb9ea73..6449980a6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/ComputerCodes.hpp" +#include "test/v2_0/documentation/ComputerCodes.hpp" #include "ComputerCodes.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ComputerCodesClass; using CPP = multigroup::ComputerCodes; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.h index 5a5768f38..c7ac6aec5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ComputerCodes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COMPUTERCODES -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COMPUTERCODES +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_COMPUTERCODES +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_COMPUTERCODES #include "GNDStk.h" #include "v2.0/documentation/ComputerCode.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.cpp index 700a986f8..cee5773a9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Contributor.hpp" +#include "test/v2_0/documentation/Contributor.hpp" #include "Contributor.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ContributorClass; using CPP = multigroup::Contributor; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.h index 1695f3f20..bdce8028f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_CONTRIBUTOR -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_CONTRIBUTOR +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_CONTRIBUTOR +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_CONTRIBUTOR #include "GNDStk.h" #include "v2.0/documentation/Affiliations.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.cpp index 16d15a3d9..7f7d531f9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Contributors.hpp" +#include "test/v2_0/documentation/Contributors.hpp" #include "Contributors.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ContributorsClass; using CPP = multigroup::Contributors; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.h index 567f20650..a95e7ffd2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Contributors.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_CONTRIBUTORS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_CONTRIBUTORS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_CONTRIBUTORS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_CONTRIBUTORS #include "GNDStk.h" #include "v2.0/documentation/Author.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.cpp index 7f646adc6..301526b2f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Copyright.hpp" +#include "test/v2_0/documentation/Copyright.hpp" #include "Copyright.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CopyrightClass; using CPP = multigroup::Copyright; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.h index 64da2290a..afe598375 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Copyright.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COPYRIGHT -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COPYRIGHT +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_COPYRIGHT +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_COPYRIGHT #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.cpp index 51ee6eb80..897f349e7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/CorrectionScript.hpp" +#include "test/v2_0/documentation/CorrectionScript.hpp" #include "CorrectionScript.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CorrectionScriptClass; using CPP = multigroup::CorrectionScript; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.h index 76d4faf75..2b490792e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/CorrectionScript.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_CORRECTIONSCRIPT -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_CORRECTIONSCRIPT +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_CORRECTIONSCRIPT +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_CORRECTIONSCRIPT #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.cpp index ede25c944..10e5b4914 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/CovarianceScript.hpp" +#include "test/v2_0/documentation/CovarianceScript.hpp" #include "CovarianceScript.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CovarianceScriptClass; using CPP = multigroup::CovarianceScript; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.h index 984ab42cc..66f164a9d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/CovarianceScript.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_COVARIANCESCRIPT -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_COVARIANCESCRIPT +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_COVARIANCESCRIPT +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_COVARIANCESCRIPT #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Date.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Date.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Date.cpp index 263f94d82..cb9eca823 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Date.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Date.hpp" +#include "test/v2_0/documentation/Date.hpp" #include "Date.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DateClass; using CPP = multigroup::Date; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Date.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Date.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Date.h index dcef4509f..e1892e242 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Date.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Date.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_DATE -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_DATE +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_DATE +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_DATE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.cpp index fd0c1df70..f1a2ee6d3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Dates.hpp" +#include "test/v2_0/documentation/Dates.hpp" #include "Dates.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DatesClass; using CPP = multigroup::Dates; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.h index d039c624f..e6fc5d0d6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Dates.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_DATES -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_DATES +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_DATES +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_DATES #include "GNDStk.h" #include "v2.0/documentation/Date.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.cpp index f05d10ab0..936ef185b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Documentation.hpp" +#include "test/v2_0/documentation/Documentation.hpp" #include "Documentation.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DocumentationClass; using CPP = multigroup::Documentation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.h index 4f7b6e649..a33f863bd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Documentation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_DOCUMENTATION -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_DOCUMENTATION +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_DOCUMENTATION +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_DOCUMENTATION #include "GNDStk.h" #include "v2.0/documentation/Authors.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.cpp index cfd0bfa38..51464053b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/EndfCompatible.hpp" +#include "test/v2_0/documentation/EndfCompatible.hpp" #include "EndfCompatible.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EndfCompatibleClass; using CPP = multigroup::EndfCompatible; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.h index 4b500a9db..abdace5a6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/EndfCompatible.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_ENDFCOMPATIBLE -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_ENDFCOMPATIBLE +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_ENDFCOMPATIBLE +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_ENDFCOMPATIBLE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.cpp index efaa2f1c8..8ccf83384 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/ExecutionArguments.hpp" +#include "test/v2_0/documentation/ExecutionArguments.hpp" #include "ExecutionArguments.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ExecutionArgumentsClass; using CPP = multigroup::ExecutionArguments; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.h index 987e709ed..998d637f2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExecutionArguments.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.cpp index ceb32de02..9c976de65 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/ExforDataSet.hpp" +#include "test/v2_0/documentation/ExforDataSet.hpp" #include "ExforDataSet.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ExforDataSetClass; using CPP = multigroup::ExforDataSet; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.h index 52e1cdb26..2ac308273 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSet.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXFORDATASET -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXFORDATASET +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_EXFORDATASET +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_EXFORDATASET #include "GNDStk.h" #include "v2.0/documentation/CovarianceScript.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.cpp index c0424bfda..1354a2307 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/ExforDataSets.hpp" +#include "test/v2_0/documentation/ExforDataSets.hpp" #include "ExforDataSets.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ExforDataSetsClass; using CPP = multigroup::ExforDataSets; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.h index 87121a1a7..3fac61018 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExforDataSets.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXFORDATASETS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXFORDATASETS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_EXFORDATASETS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_EXFORDATASETS #include "GNDStk.h" #include "v2.0/documentation/ExforDataSet.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.cpp index 110e529ce..12a9e3882 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/ExperimentalDataSets.hpp" +#include "test/v2_0/documentation/ExperimentalDataSets.hpp" #include "ExperimentalDataSets.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ExperimentalDataSetsClass; using CPP = multigroup::ExperimentalDataSets; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.h index 37696065d..55c4b2bb5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/ExperimentalDataSets.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS #include "GNDStk.h" #include "v2.0/documentation/ExforDataSets.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.cpp index 07695f04d..7445f20dd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/InputDeck.hpp" +#include "test/v2_0/documentation/InputDeck.hpp" #include "InputDeck.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = InputDeckClass; using CPP = multigroup::InputDeck; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.h index 74f3490bb..a1a95da50 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDeck.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_INPUTDECK -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_INPUTDECK +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_INPUTDECK +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_INPUTDECK #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.cpp index 55b1d7ae4..995447b09 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/InputDecks.hpp" +#include "test/v2_0/documentation/InputDecks.hpp" #include "InputDecks.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = InputDecksClass; using CPP = multigroup::InputDecks; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.h index 431effa93..9def3c3d5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/InputDecks.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_INPUTDECKS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_INPUTDECKS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_INPUTDECKS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_INPUTDECKS #include "GNDStk.h" #include "v2.0/documentation/InputDeck.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.cpp index b2e73518a..96885a59d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Keyword.hpp" +#include "test/v2_0/documentation/Keyword.hpp" #include "Keyword.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = KeywordClass; using CPP = multigroup::Keyword; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.h index ece9216bc..060f97227 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keyword.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_KEYWORD -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_KEYWORD +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_KEYWORD +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_KEYWORD #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.cpp index 2efdcf389..3de7763f7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Keywords.hpp" +#include "test/v2_0/documentation/Keywords.hpp" #include "Keywords.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = KeywordsClass; using CPP = multigroup::Keywords; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.h index 01733d360..031accaea 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Keywords.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_KEYWORDS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_KEYWORDS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_KEYWORDS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_KEYWORDS #include "GNDStk.h" #include "v2.0/documentation/Keyword.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Note.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Note.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Note.cpp index 6d84f52ce..91402dc71 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Note.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Note.hpp" +#include "test/v2_0/documentation/Note.hpp" #include "Note.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NoteClass; using CPP = multigroup::Note; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Note.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Note.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Note.h index d8f5da742..9fa8851d5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Note.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Note.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_NOTE -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_NOTE +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_NOTE +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_NOTE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.cpp index 73ec05e27..8873e8118 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/OutputDeck.hpp" +#include "test/v2_0/documentation/OutputDeck.hpp" #include "OutputDeck.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = OutputDeckClass; using CPP = multigroup::OutputDeck; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.h index c293276a2..c4acea82f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDeck.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_OUTPUTDECK -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_OUTPUTDECK +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_OUTPUTDECK +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_OUTPUTDECK #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.cpp index 6e369e47e..11de27cc8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/OutputDecks.hpp" +#include "test/v2_0/documentation/OutputDecks.hpp" #include "OutputDecks.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = OutputDecksClass; using CPP = multigroup::OutputDecks; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.h index 86505432d..22a879543 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/OutputDecks.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_OUTPUTDECKS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_OUTPUTDECKS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_OUTPUTDECKS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_OUTPUTDECKS #include "GNDStk.h" #include "v2.0/documentation/OutputDeck.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.cpp index 382392db3..2b5536ab5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/RelatedItem.hpp" +#include "test/v2_0/documentation/RelatedItem.hpp" #include "RelatedItem.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RelatedItemClass; using CPP = multigroup::RelatedItem; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.h index 519837dc4..e4900cd66 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItem.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_RELATEDITEM -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_RELATEDITEM +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_RELATEDITEM +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_RELATEDITEM #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.cpp index ec93621bb..7d975a4bf 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/RelatedItems.hpp" +#include "test/v2_0/documentation/RelatedItems.hpp" #include "RelatedItems.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RelatedItemsClass; using CPP = multigroup::RelatedItems; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.h index 0009575ad..262e5e6fe 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/RelatedItems.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_RELATEDITEMS -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_RELATEDITEMS +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_RELATEDITEMS +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_RELATEDITEMS #include "GNDStk.h" #include "v2.0/documentation/RelatedItem.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Title.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Title.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Title.cpp index 11ffa9aae..e1e8096ee 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Title.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Title.hpp" +#include "test/v2_0/documentation/Title.hpp" #include "Title.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TitleClass; using CPP = multigroup::Title; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Title.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Title.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Title.h index b8e86a24b..a6fc386bb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Title.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Title.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_TITLE -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_TITLE +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_TITLE +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_TITLE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Version.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Version.cpp rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Version.cpp index 53fe448c4..d322ce027 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Version.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/documentation/Version.hpp" +#include "test/v2_0/documentation/Version.hpp" #include "Version.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = VersionClass; using CPP = multigroup::Version; diff --git a/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Version.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/documentation/Version.h rename to standards/gnds-2.0/test/c/src/v2.0/documentation/Version.h index 6e6c246c7..3e3b350c5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/documentation/Version.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Version.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_DOCUMENTATION_VERSION -#define C_INTERFACE_TRY_V2_0_DOCUMENTATION_VERSION +#ifndef C_INTERFACE_TEST_V2_0_DOCUMENTATION_VERSION +#define C_INTERFACE_TEST_V2_0_DOCUMENTATION_VERSION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp index a16de4c8e..fd0cf7bee 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionFragmentData/DelayedNeutron.hpp" +#include "test/v2_0/fissionFragmentData/DelayedNeutron.hpp" #include "DelayedNeutron.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DelayedNeutronClass; using CPP = multigroup::DelayedNeutron; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.h index b6bd9a72e..d4c7d1edc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutron.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON -#define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON +#ifndef C_INTERFACE_TEST_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON +#define C_INTERFACE_TEST_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON #include "GNDStk.h" #include "v2.0/fissionFragmentData/Rate.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp index 0ab6bbb2f..490c3c5f6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionFragmentData/DelayedNeutrons.hpp" +#include "test/v2_0/fissionFragmentData/DelayedNeutrons.hpp" #include "DelayedNeutrons.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DelayedNeutronsClass; using CPP = multigroup::DelayedNeutrons; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h index 80113d8eb..04b9a531a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS -#define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS +#ifndef C_INTERFACE_TEST_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS +#define C_INTERFACE_TEST_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS #include "GNDStk.h" #include "v2.0/fissionFragmentData/DelayedNeutron.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp index f4c8c9ab3..5c4427065 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionFragmentData/FissionFragmentData.hpp" +#include "test/v2_0/fissionFragmentData/FissionFragmentData.hpp" #include "FissionFragmentData.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FissionFragmentDataClass; using CPP = multigroup::FissionFragmentData; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.h b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.h index 94d1e693d..bcefd8064 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/FissionFragmentData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA -#define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA +#ifndef C_INTERFACE_TEST_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA +#define C_INTERFACE_TEST_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA #include "GNDStk.h" #include "v2.0/fissionFragmentData/DelayedNeutrons.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.cpp index b72e08e35..c9a8bb4ef 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionFragmentData/Rate.hpp" +#include "test/v2_0/fissionFragmentData/Rate.hpp" #include "Rate.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RateClass; using CPP = multigroup::Rate; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.h index dade76428..13d71a283 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionFragmentData/Rate.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_RATE -#define C_INTERFACE_TRY_V2_0_FISSIONFRAGMENTDATA_RATE +#ifndef C_INTERFACE_TEST_V2_0_FISSIONFRAGMENTDATA_RATE +#define C_INTERFACE_TEST_V2_0_FISSIONFRAGMENTDATA_RATE #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.cpp index 8120f412a..c16293d83 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/A.hpp" +#include "test/v2_0/fissionTransport/A.hpp" #include "A.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AClass; using CPP = multigroup::A; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.h index f5f0ac239..739147d35 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/A.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_A -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_A +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_A +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_A #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.cpp index 1cc2142b5..99c216de3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/B.hpp" +#include "test/v2_0/fissionTransport/B.hpp" #include "B.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BClass; using CPP = multigroup::B; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.h index 76caea624..fcfc29840 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/B.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_B -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_B +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_B +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_B #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp index 672afed95..db3083f62 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/DelayedBetaEnergy.hpp" +#include "test/v2_0/fissionTransport/DelayedBetaEnergy.hpp" #include "DelayedBetaEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DelayedBetaEnergyClass; using CPP = multigroup::DelayedBetaEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h index f3af0dc6f..b9bd6ae45 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY #include "GNDStk.h" #include "v2.0/containers/Polynomial1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp index f55ccd5b8..f2de4e44b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/DelayedGammaEnergy.hpp" +#include "test/v2_0/fissionTransport/DelayedGammaEnergy.hpp" #include "DelayedGammaEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DelayedGammaEnergyClass; using CPP = multigroup::DelayedGammaEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h index 0f8eaaaf2..50e793b81 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY #include "GNDStk.h" #include "v2.0/containers/Polynomial1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp index 111f4105c..e6589166a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/DelayedNeutronKE.hpp" +#include "test/v2_0/fissionTransport/DelayedNeutronKE.hpp" #include "DelayedNeutronKE.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DelayedNeutronKEClass; using CPP = multigroup::DelayedNeutronKE; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.h index 3f7103295..a6e49fe73 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/DelayedNeutronKE.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_DELAYEDNEUTRONKE #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.cpp index 61e94d19d..0f4b7677f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/EFH.hpp" +#include "test/v2_0/fissionTransport/EFH.hpp" #include "EFH.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EFHClass; using CPP = multigroup::EFH; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.h index 8ee243420..c254554cc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFH.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_EFH -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_EFH +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_EFH +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_EFH #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.cpp index 9fec0eb5c..0f46918d1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/EFL.hpp" +#include "test/v2_0/fissionTransport/EFL.hpp" #include "EFL.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EFLClass; using CPP = multigroup::EFL; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.h index d43484fcd..92edbfd13 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/EFL.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_EFL -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_EFL +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_EFL +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_EFL #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.cpp index 1961f0585..ea4293c94 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/FissionComponent.hpp" +#include "test/v2_0/fissionTransport/FissionComponent.hpp" #include "FissionComponent.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FissionComponentClass; using CPP = multigroup::FissionComponent; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.h index c494b2269..d696ea2ca 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponent.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT #include "GNDStk.h" #include "v2.0/transport/CrossSection.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.cpp index 248e3cae9..967bac7f2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/FissionComponents.hpp" +#include "test/v2_0/fissionTransport/FissionComponents.hpp" #include "FissionComponents.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FissionComponentsClass; using CPP = multigroup::FissionComponents; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.h index 7fec6c670..5727189eb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionComponents.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS #include "GNDStk.h" #include "v2.0/fissionTransport/FissionComponent.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp index bae2300b3..7bb39ce8e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/FissionEnergyReleased.hpp" +#include "test/v2_0/fissionTransport/FissionEnergyReleased.hpp" #include "FissionEnergyReleased.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FissionEnergyReleasedClass; using CPP = multigroup::FissionEnergyReleased; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.h index 15fd405bc..cee7295ba 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/FissionEnergyReleased.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED #include "GNDStk.h" #include "v2.0/fissionTransport/DelayedBetaEnergy.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.cpp index 231ef4061..59bf4d68f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/MadlandNix.hpp" +#include "test/v2_0/fissionTransport/MadlandNix.hpp" #include "MadlandNix.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MadlandNixClass; using CPP = multigroup::MadlandNix; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.h index e15743ad1..858be8b29 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/MadlandNix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_MADLANDNIX -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_MADLANDNIX +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_MADLANDNIX +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_MADLANDNIX #include "GNDStk.h" #include "v2.0/fissionTransport/EFH.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp index f03ac5767..3eb621b35 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/NeutrinoEnergy.hpp" +#include "test/v2_0/fissionTransport/NeutrinoEnergy.hpp" #include "NeutrinoEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NeutrinoEnergyClass; using CPP = multigroup::NeutrinoEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.h index 98ef494cd..1fed7d346 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NeutrinoEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY #include "GNDStk.h" #include "v2.0/containers/Polynomial1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp index 6012dbad0..2b3420313 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "test/v2_0/fissionTransport/NonNeutrinoEnergy.hpp" #include "NonNeutrinoEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NonNeutrinoEnergyClass; using CPP = multigroup::NonNeutrinoEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h index f1e65dd27..b1e55a8a3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY #include "GNDStk.h" #include "v2.0/containers/Polynomial1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp index 9179135e2..51373d4e6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/PromptGammaEnergy.hpp" +#include "test/v2_0/fissionTransport/PromptGammaEnergy.hpp" #include "PromptGammaEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PromptGammaEnergyClass; using CPP = multigroup::PromptGammaEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.h index a5e962349..72b0e7def 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptGammaEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp index 51940de12..676e402bf 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/PromptNeutronKE.hpp" +#include "test/v2_0/fissionTransport/PromptNeutronKE.hpp" #include "PromptNeutronKE.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PromptNeutronKEClass; using CPP = multigroup::PromptNeutronKE; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.h index bc9650429..9a3d313ca 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptNeutronKE.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.cpp index 416431718..c54721f30 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/PromptProductKE.hpp" +#include "test/v2_0/fissionTransport/PromptProductKE.hpp" #include "PromptProductKE.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PromptProductKEClass; using CPP = multigroup::PromptProductKE; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.h index ed10f15b8..efc9a8ba9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/PromptProductKE.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp index 5b2a90a1c..d5d21f4c2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "test/v2_0/fissionTransport/SimpleMaxwellianFission.hpp" #include "SimpleMaxwellianFission.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SimpleMaxwellianFissionClass; using CPP = multigroup::SimpleMaxwellianFission; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h index 6ac8fada7..bf7a76dca 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION #include "GNDStk.h" #include "v2.0/transport/U.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.cpp index 585b01f3a..6453c3f74 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/T_M.hpp" +#include "test/v2_0/fissionTransport/T_M.hpp" #include "T_M.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = T_MClass; using CPP = multigroup::T_M; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.h index 12be5b282..8bb7aa89e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/T_M.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_T_M -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_T_M +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_T_M +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_T_M #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.cpp index 42d3bf895..49e1bce68 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/TotalEnergy.hpp" +#include "test/v2_0/fissionTransport/TotalEnergy.hpp" #include "TotalEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TotalEnergyClass; using CPP = multigroup::TotalEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.h index c3f733596..77d11272a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/TotalEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_TOTALENERGY +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_TOTALENERGY #include "GNDStk.h" #include "v2.0/containers/Polynomial1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.cpp b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.cpp index 9279c1c93..060719351 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fissionTransport/Watt.hpp" +#include "test/v2_0/fissionTransport/Watt.hpp" #include "Watt.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = WattClass; using CPP = multigroup::Watt; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.h rename to standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.h index cfeae22a9..2038bac12 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fissionTransport/Watt.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_WATT -#define C_INTERFACE_TRY_V2_0_FISSIONTRANSPORT_WATT +#ifndef C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_WATT +#define C_INTERFACE_TEST_V2_0_FISSIONTRANSPORT_WATT #include "GNDStk.h" #include "v2.0/transport/U.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.cpp index a9bf8a73f..ffcd868ac 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/ElapsedTime.hpp" +#include "test/v2_0/fpy/ElapsedTime.hpp" #include "ElapsedTime.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ElapsedTimeClass; using CPP = multigroup::ElapsedTime; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.h index a860c9e89..accba7dd0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTime.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_ELAPSEDTIME -#define C_INTERFACE_TRY_V2_0_FPY_ELAPSEDTIME +#ifndef C_INTERFACE_TEST_V2_0_FPY_ELAPSEDTIME +#define C_INTERFACE_TEST_V2_0_FPY_ELAPSEDTIME #include "GNDStk.h" #include "v2.0/fpy/Time.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.cpp index 92b0805c3..58adc2207 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/ElapsedTimes.hpp" +#include "test/v2_0/fpy/ElapsedTimes.hpp" #include "ElapsedTimes.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ElapsedTimesClass; using CPP = multigroup::ElapsedTimes; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.h index 6c711ca5e..fab6a35a9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/ElapsedTimes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_ELAPSEDTIMES -#define C_INTERFACE_TRY_V2_0_FPY_ELAPSEDTIMES +#ifndef C_INTERFACE_TEST_V2_0_FPY_ELAPSEDTIMES +#define C_INTERFACE_TEST_V2_0_FPY_ELAPSEDTIMES #include "GNDStk.h" #include "v2.0/fpy/ElapsedTime.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.cpp index 11a7d28f5..0f1239c33 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/Energy.hpp" +#include "test/v2_0/fpy/Energy.hpp" #include "Energy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EnergyClass; using CPP = multigroup::Energy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.h index 02b2b97c2..50f371318 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Energy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_ENERGY -#define C_INTERFACE_TRY_V2_0_FPY_ENERGY +#ifndef C_INTERFACE_TEST_V2_0_FPY_ENERGY +#define C_INTERFACE_TEST_V2_0_FPY_ENERGY #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.cpp index a0982db9e..c203a5a14 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/IncidentEnergies.hpp" +#include "test/v2_0/fpy/IncidentEnergies.hpp" #include "IncidentEnergies.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IncidentEnergiesClass; using CPP = multigroup::IncidentEnergies; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.h index 628ea9873..47d77d27a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergies.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_INCIDENTENERGIES -#define C_INTERFACE_TRY_V2_0_FPY_INCIDENTENERGIES +#ifndef C_INTERFACE_TEST_V2_0_FPY_INCIDENTENERGIES +#define C_INTERFACE_TEST_V2_0_FPY_INCIDENTENERGIES #include "GNDStk.h" #include "v2.0/fpy/IncidentEnergy.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.cpp index 812480c11..a289fd369 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/IncidentEnergy.hpp" +#include "test/v2_0/fpy/IncidentEnergy.hpp" #include "IncidentEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IncidentEnergyClass; using CPP = multigroup::IncidentEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.h index ed76de37e..1bf8911a7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/IncidentEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_INCIDENTENERGY -#define C_INTERFACE_TRY_V2_0_FPY_INCIDENTENERGY +#ifndef C_INTERFACE_TEST_V2_0_FPY_INCIDENTENERGY +#define C_INTERFACE_TEST_V2_0_FPY_INCIDENTENERGY #include "GNDStk.h" #include "v2.0/fpy/Energy.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.cpp index 26f3fe47e..28ed44815 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/Nuclides.hpp" +#include "test/v2_0/fpy/Nuclides.hpp" #include "Nuclides.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NuclidesClass; using CPP = multigroup::Nuclides; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.h index 5a589d930..c51fbec2c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Nuclides.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_NUCLIDES -#define C_INTERFACE_TRY_V2_0_FPY_NUCLIDES +#ifndef C_INTERFACE_TEST_V2_0_FPY_NUCLIDES +#define C_INTERFACE_TEST_V2_0_FPY_NUCLIDES #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.cpp index 9040f7c5f..9d8cf4ae8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/ProductYield.hpp" +#include "test/v2_0/fpy/ProductYield.hpp" #include "ProductYield.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProductYieldClass; using CPP = multigroup::ProductYield; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.h index a952b49a7..a970985c1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYield.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_PRODUCTYIELD -#define C_INTERFACE_TRY_V2_0_FPY_PRODUCTYIELD +#ifndef C_INTERFACE_TEST_V2_0_FPY_PRODUCTYIELD +#define C_INTERFACE_TEST_V2_0_FPY_PRODUCTYIELD #include "GNDStk.h" #include "v2.0/fpy/Nuclides.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.cpp index 6b7500a87..0328fac44 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/ProductYields.hpp" +#include "test/v2_0/fpy/ProductYields.hpp" #include "ProductYields.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProductYieldsClass; using CPP = multigroup::ProductYields; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.h index b23f3c4af..6f7161044 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/ProductYields.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_PRODUCTYIELDS -#define C_INTERFACE_TRY_V2_0_FPY_PRODUCTYIELDS +#ifndef C_INTERFACE_TEST_V2_0_FPY_PRODUCTYIELDS +#define C_INTERFACE_TEST_V2_0_FPY_PRODUCTYIELDS #include "GNDStk.h" #include "v2.0/fpy/ProductYield.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/Time.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/Time.cpp index 5675406c3..ee90e35fa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Time.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/Time.hpp" +#include "test/v2_0/fpy/Time.hpp" #include "Time.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TimeClass; using CPP = multigroup::Time; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/Time.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/Time.h index 4ef737d8d..6ec56ff29 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Time.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Time.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_TIME -#define C_INTERFACE_TRY_V2_0_FPY_TIME +#ifndef C_INTERFACE_TEST_V2_0_FPY_TIME +#define C_INTERFACE_TEST_V2_0_FPY_TIME #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp b/standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp rename to standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.cpp index e877d0eda..d91bfd66d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/fpy/Yields.hpp" +#include "test/v2_0/fpy/Yields.hpp" #include "Yields.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = YieldsClass; using CPP = multigroup::Yields; diff --git a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h rename to standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.h index 3168ac5c3..e75a94d00 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/fpy/Yields.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_FPY_YIELDS -#define C_INTERFACE_TRY_V2_0_FPY_YIELDS +#ifndef C_INTERFACE_TEST_V2_0_FPY_YIELDS +#define C_INTERFACE_TEST_V2_0_FPY_YIELDS #include "GNDStk.h" #include "v2.0/fpy/Nuclides.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Import.cpp b/standards/gnds-2.0/test/c/src/v2.0/map/Import.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/map/Import.cpp rename to standards/gnds-2.0/test/c/src/v2.0/map/Import.cpp index b1a054cad..b801a68ad 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/map/Import.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Import.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/map/Import.hpp" +#include "test/v2_0/map/Import.hpp" #include "Import.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ImportClass; using CPP = multigroup::Import; diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Import.h b/standards/gnds-2.0/test/c/src/v2.0/map/Import.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/map/Import.h rename to standards/gnds-2.0/test/c/src/v2.0/map/Import.h index f435c706b..7ee2b38c9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/map/Import.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Import.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_MAP_IMPORT -#define C_INTERFACE_TRY_V2_0_MAP_IMPORT +#ifndef C_INTERFACE_TEST_V2_0_MAP_IMPORT +#define C_INTERFACE_TEST_V2_0_MAP_IMPORT #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Map.cpp b/standards/gnds-2.0/test/c/src/v2.0/map/Map.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/map/Map.cpp rename to standards/gnds-2.0/test/c/src/v2.0/map/Map.cpp index f7fc4c44d..401f00622 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/map/Map.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Map.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/map/Map.hpp" +#include "test/v2_0/map/Map.hpp" #include "Map.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MapClass; using CPP = multigroup::Map; diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Map.h b/standards/gnds-2.0/test/c/src/v2.0/map/Map.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/map/Map.h rename to standards/gnds-2.0/test/c/src/v2.0/map/Map.h index 2c7a97fca..2617ae180 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/map/Map.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Map.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_MAP_MAP -#define C_INTERFACE_TRY_V2_0_MAP_MAP +#ifndef C_INTERFACE_TEST_V2_0_MAP_MAP +#define C_INTERFACE_TEST_V2_0_MAP_MAP #include "GNDStk.h" #include "v2.0/map/Import.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Protare.cpp b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/map/Protare.cpp rename to standards/gnds-2.0/test/c/src/v2.0/map/Protare.cpp index 4a1c4c9c1..842a56c39 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/map/Protare.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/map/Protare.hpp" +#include "test/v2_0/map/Protare.hpp" #include "Protare.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProtareClass; using CPP = multigroup::Protare; diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/Protare.h b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/map/Protare.h rename to standards/gnds-2.0/test/c/src/v2.0/map/Protare.h index 036d083b0..dfe9f98d7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/map/Protare.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_MAP_PROTARE -#define C_INTERFACE_TRY_V2_0_MAP_PROTARE +#ifndef C_INTERFACE_TEST_V2_0_MAP_PROTARE +#define C_INTERFACE_TEST_V2_0_MAP_PROTARE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.cpp b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/map/TNSL.cpp rename to standards/gnds-2.0/test/c/src/v2.0/map/TNSL.cpp index cb827cf45..a1384ef77 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/map/TNSL.hpp" +#include "test/v2_0/map/TNSL.hpp" #include "TNSL.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TNSLClass; using CPP = multigroup::TNSL; diff --git a/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.h b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/map/TNSL.h rename to standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h index a335edb5c..8f217844d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/map/TNSL.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_MAP_TNSL -#define C_INTERFACE_TRY_V2_0_MAP_TNSL +#ifndef C_INTERFACE_TEST_V2_0_MAP_TNSL +#define C_INTERFACE_TEST_V2_0_MAP_TNSL #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Alias.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Alias.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Alias.cpp index dbb93e169..bfaa3f712 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Alias.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Alias.hpp" +#include "test/v2_0/pops/Alias.hpp" #include "Alias.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AliasClass; using CPP = multigroup::Alias; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Alias.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Alias.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Alias.h index 3a7463fbf..712e24deb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Alias.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Alias.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_ALIAS -#define C_INTERFACE_TRY_V2_0_POPS_ALIAS +#ifndef C_INTERFACE_TEST_V2_0_POPS_ALIAS +#define C_INTERFACE_TEST_V2_0_POPS_ALIAS #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.cpp index d351f4f70..9b991cea1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Aliases.hpp" +#include "test/v2_0/pops/Aliases.hpp" #include "Aliases.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AliasesClass; using CPP = multigroup::Aliases; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.h index 307f0e435..579cd079a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Aliases.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_ALIASES -#define C_INTERFACE_TRY_V2_0_POPS_ALIASES +#ifndef C_INTERFACE_TEST_V2_0_POPS_ALIASES +#define C_INTERFACE_TEST_V2_0_POPS_ALIASES #include "GNDStk.h" #include "v2.0/pops/Alias.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.cpp index 59ddbcab0..061d72e06 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Atomic.hpp" +#include "test/v2_0/pops/Atomic.hpp" #include "Atomic.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AtomicClass; using CPP = multigroup::Atomic; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.h index 2f789fff5..33057d338 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Atomic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_ATOMIC -#define C_INTERFACE_TRY_V2_0_POPS_ATOMIC +#ifndef C_INTERFACE_TEST_V2_0_POPS_ATOMIC +#define C_INTERFACE_TEST_V2_0_POPS_ATOMIC #include "GNDStk.h" #include "v2.0/pops/Configurations.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.cpp index 502c9698c..cefab85f2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/AverageEnergies.hpp" +#include "test/v2_0/pops/AverageEnergies.hpp" #include "AverageEnergies.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AverageEnergiesClass; using CPP = multigroup::AverageEnergies; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.h b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.h index 84f03c12d..2a5282e45 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergies.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_AVERAGEENERGIES -#define C_INTERFACE_TRY_V2_0_POPS_AVERAGEENERGIES +#ifndef C_INTERFACE_TEST_V2_0_POPS_AVERAGEENERGIES +#define C_INTERFACE_TEST_V2_0_POPS_AVERAGEENERGIES #include "GNDStk.h" #include "v2.0/pops/AverageEnergy.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.cpp index bdb71a5ab..5cb38b6f4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/AverageEnergy.hpp" +#include "test/v2_0/pops/AverageEnergy.hpp" #include "AverageEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AverageEnergyClass; using CPP = multigroup::AverageEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.h index 39b3859c8..ecf7be5d9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/AverageEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_AVERAGEENERGY -#define C_INTERFACE_TRY_V2_0_POPS_AVERAGEENERGY +#ifndef C_INTERFACE_TEST_V2_0_POPS_AVERAGEENERGY +#define C_INTERFACE_TEST_V2_0_POPS_AVERAGEENERGY #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.cpp index 025d11023..fd7a66674 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Baryon.hpp" +#include "test/v2_0/pops/Baryon.hpp" #include "Baryon.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BaryonClass; using CPP = multigroup::Baryon; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.h index 50fff87e7..33cfd6418 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryon.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_BARYON -#define C_INTERFACE_TRY_V2_0_POPS_BARYON +#ifndef C_INTERFACE_TEST_V2_0_POPS_BARYON +#define C_INTERFACE_TEST_V2_0_POPS_BARYON #include "GNDStk.h" #include "v2.0/pops/Charge.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.cpp index 9c35411f2..ded0d5d70 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Baryons.hpp" +#include "test/v2_0/pops/Baryons.hpp" #include "Baryons.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BaryonsClass; using CPP = multigroup::Baryons; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.h index cec9beb31..8ab1b201e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Baryons.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_BARYONS -#define C_INTERFACE_TRY_V2_0_POPS_BARYONS +#ifndef C_INTERFACE_TEST_V2_0_POPS_BARYONS +#define C_INTERFACE_TEST_V2_0_POPS_BARYONS #include "GNDStk.h" #include "v2.0/pops/Baryon.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.cpp index d2a58f36b..d672d701c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/BindingEnergy.hpp" +#include "test/v2_0/pops/BindingEnergy.hpp" #include "BindingEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BindingEnergyClass; using CPP = multigroup::BindingEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.h index 98c3b50b0..11e25cb2c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/BindingEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_BINDINGENERGY -#define C_INTERFACE_TRY_V2_0_POPS_BINDINGENERGY +#ifndef C_INTERFACE_TEST_V2_0_POPS_BINDINGENERGY +#define C_INTERFACE_TEST_V2_0_POPS_BINDINGENERGY #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Charge.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Charge.cpp index fa1dac9db..647c40010 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Charge.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Charge.hpp" +#include "test/v2_0/pops/Charge.hpp" #include "Charge.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ChargeClass; using CPP = multigroup::Charge; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Charge.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Charge.h index 34c9a0f03..767a0e013 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Charge.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Charge.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_CHARGE -#define C_INTERFACE_TRY_V2_0_POPS_CHARGE +#ifndef C_INTERFACE_TEST_V2_0_POPS_CHARGE +#define C_INTERFACE_TEST_V2_0_POPS_CHARGE #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.cpp index e3853543c..f8b3b1371 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/ChemicalElement.hpp" +#include "test/v2_0/pops/ChemicalElement.hpp" #include "ChemicalElement.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ChemicalElementClass; using CPP = multigroup::ChemicalElement; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.h b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.h index b7986b131..8023ee2aa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElement.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_CHEMICALELEMENT -#define C_INTERFACE_TRY_V2_0_POPS_CHEMICALELEMENT +#ifndef C_INTERFACE_TEST_V2_0_POPS_CHEMICALELEMENT +#define C_INTERFACE_TEST_V2_0_POPS_CHEMICALELEMENT #include "GNDStk.h" #include "v2.0/pops/Atomic.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.cpp index c7498af96..f7a27747e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/ChemicalElements.hpp" +#include "test/v2_0/pops/ChemicalElements.hpp" #include "ChemicalElements.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ChemicalElementsClass; using CPP = multigroup::ChemicalElements; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.h b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.h index 46441bfc5..e3ac27419 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/ChemicalElements.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_CHEMICALELEMENTS -#define C_INTERFACE_TRY_V2_0_POPS_CHEMICALELEMENTS +#ifndef C_INTERFACE_TEST_V2_0_POPS_CHEMICALELEMENTS +#define C_INTERFACE_TEST_V2_0_POPS_CHEMICALELEMENTS #include "GNDStk.h" #include "v2.0/pops/ChemicalElement.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.cpp index a879ea60f..47dbe0473 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/ConfidenceIntervals.hpp" +#include "test/v2_0/pops/ConfidenceIntervals.hpp" #include "ConfidenceIntervals.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ConfidenceIntervalsClass; using CPP = multigroup::ConfidenceIntervals; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.h b/standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.h index 11fc83e62..a0e9be81f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/ConfidenceIntervals.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_CONFIDENCEINTERVALS -#define C_INTERFACE_TRY_V2_0_POPS_CONFIDENCEINTERVALS +#ifndef C_INTERFACE_TEST_V2_0_POPS_CONFIDENCEINTERVALS +#define C_INTERFACE_TEST_V2_0_POPS_CONFIDENCEINTERVALS #include "GNDStk.h" #include "v2.0/pops/Interval.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.cpp index 4050df172..c56c4260c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Configuration.hpp" +#include "test/v2_0/pops/Configuration.hpp" #include "Configuration.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ConfigurationClass; using CPP = multigroup::Configuration; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.h index 96c659041..2faa9c36b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Configuration.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_CONFIGURATION -#define C_INTERFACE_TRY_V2_0_POPS_CONFIGURATION +#ifndef C_INTERFACE_TEST_V2_0_POPS_CONFIGURATION +#define C_INTERFACE_TEST_V2_0_POPS_CONFIGURATION #include "GNDStk.h" #include "v2.0/pops/BindingEnergy.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.cpp index 54fe3f692..e11ac7ad6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Configurations.hpp" +#include "test/v2_0/pops/Configurations.hpp" #include "Configurations.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ConfigurationsClass; using CPP = multigroup::Configurations; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.h index 7883a5c91..c5b1e8cd5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Configurations.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_CONFIGURATIONS -#define C_INTERFACE_TRY_V2_0_POPS_CONFIGURATIONS +#ifndef C_INTERFACE_TEST_V2_0_POPS_CONFIGURATIONS +#define C_INTERFACE_TEST_V2_0_POPS_CONFIGURATIONS #include "GNDStk.h" #include "v2.0/pops/Configuration.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.cpp index 9e4a31c7f..e26c36c6b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Continuum.hpp" +#include "test/v2_0/pops/Continuum.hpp" #include "Continuum.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ContinuumClass; using CPP = multigroup::Continuum; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.h index a0b5d3f3c..0f8a1beb4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Continuum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_CONTINUUM -#define C_INTERFACE_TRY_V2_0_POPS_CONTINUUM +#ifndef C_INTERFACE_TEST_V2_0_POPS_CONTINUUM +#define C_INTERFACE_TEST_V2_0_POPS_CONTINUUM #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Decay.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Decay.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Decay.cpp index c38b1488c..2fb4deb07 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Decay.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Decay.hpp" +#include "test/v2_0/pops/Decay.hpp" #include "Decay.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DecayClass; using CPP = multigroup::Decay; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Decay.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Decay.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Decay.h index f5ba43cb2..12fbd1984 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Decay.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Decay.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAY -#define C_INTERFACE_TRY_V2_0_POPS_DECAY +#ifndef C_INTERFACE_TEST_V2_0_POPS_DECAY +#define C_INTERFACE_TEST_V2_0_POPS_DECAY #include "GNDStk.h" #include "v2.0/pops/Products.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.cpp index 37c59ee02..e36cb919f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/DecayData.hpp" +#include "test/v2_0/pops/DecayData.hpp" #include "DecayData.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DecayDataClass; using CPP = multigroup::DecayData; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.h index 9dd83c401..6ab51c570 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAYDATA -#define C_INTERFACE_TRY_V2_0_POPS_DECAYDATA +#ifndef C_INTERFACE_TEST_V2_0_POPS_DECAYDATA +#define C_INTERFACE_TEST_V2_0_POPS_DECAYDATA #include "GNDStk.h" #include "v2.0/pops/DecayModes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.cpp index 124fcc8d5..9ec1ab74d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/DecayMode.hpp" +#include "test/v2_0/pops/DecayMode.hpp" #include "DecayMode.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DecayModeClass; using CPP = multigroup::DecayMode; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.h index 5c695cc15..9be3cbb59 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayMode.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAYMODE -#define C_INTERFACE_TRY_V2_0_POPS_DECAYMODE +#ifndef C_INTERFACE_TEST_V2_0_POPS_DECAYMODE +#define C_INTERFACE_TEST_V2_0_POPS_DECAYMODE #include "GNDStk.h" #include "v2.0/pops/Probability.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.cpp index ba4296a4d..9bc0ceb80 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/DecayModes.hpp" +#include "test/v2_0/pops/DecayModes.hpp" #include "DecayModes.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DecayModesClass; using CPP = multigroup::DecayModes; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.h index ab9389bf7..c232b915a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayModes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAYMODES -#define C_INTERFACE_TRY_V2_0_POPS_DECAYMODES +#ifndef C_INTERFACE_TEST_V2_0_POPS_DECAYMODES +#define C_INTERFACE_TEST_V2_0_POPS_DECAYMODES #include "GNDStk.h" #include "v2.0/pops/DecayMode.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.cpp index beb09dbc5..0916fe7da 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/DecayPath.hpp" +#include "test/v2_0/pops/DecayPath.hpp" #include "DecayPath.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DecayPathClass; using CPP = multigroup::DecayPath; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.h index 0bdc5397b..23232365b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DecayPath.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_DECAYPATH -#define C_INTERFACE_TRY_V2_0_POPS_DECAYPATH +#ifndef C_INTERFACE_TEST_V2_0_POPS_DECAYPATH +#define C_INTERFACE_TEST_V2_0_POPS_DECAYPATH #include "GNDStk.h" #include "v2.0/pops/Decay.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.cpp index 1025f0e1b..f8cc31a85 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Discrete.hpp" +#include "test/v2_0/pops/Discrete.hpp" #include "Discrete.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DiscreteClass; using CPP = multigroup::Discrete; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.h index dd1128c84..d4245f092 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Discrete.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_DISCRETE -#define C_INTERFACE_TRY_V2_0_POPS_DISCRETE +#ifndef C_INTERFACE_TEST_V2_0_POPS_DISCRETE +#define C_INTERFACE_TEST_V2_0_POPS_DISCRETE #include "GNDStk.h" #include "v2.0/pops/DiscreteEnergy.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.cpp index b72d669cc..d18066dc9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/DiscreteEnergy.hpp" +#include "test/v2_0/pops/DiscreteEnergy.hpp" #include "DiscreteEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DiscreteEnergyClass; using CPP = multigroup::DiscreteEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.h index 275732286..583315a7d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/DiscreteEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_DISCRETEENERGY -#define C_INTERFACE_TRY_V2_0_POPS_DISCRETEENERGY +#ifndef C_INTERFACE_TEST_V2_0_POPS_DISCRETEENERGY +#define C_INTERFACE_TEST_V2_0_POPS_DISCRETEENERGY #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Energy.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Energy.cpp index 67d0ca3e0..7e1d2bb05 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Energy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Energy.hpp" +#include "test/v2_0/pops/Energy.hpp" #include "Energy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EnergyClass; using CPP = multigroup::Energy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Energy.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Energy.h index bdc8cab16..e638fde59 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Energy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Energy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_ENERGY -#define C_INTERFACE_TRY_V2_0_POPS_ENERGY +#ifndef C_INTERFACE_TEST_V2_0_POPS_ENERGY +#define C_INTERFACE_TEST_V2_0_POPS_ENERGY #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.cpp index eac8284d7..4e0307795 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/GaugeBoson.hpp" +#include "test/v2_0/pops/GaugeBoson.hpp" #include "GaugeBoson.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = GaugeBosonClass; using CPP = multigroup::GaugeBoson; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.h b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.h index f6a4ef179..3f156bb22 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBoson.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_GAUGEBOSON -#define C_INTERFACE_TRY_V2_0_POPS_GAUGEBOSON +#ifndef C_INTERFACE_TEST_V2_0_POPS_GAUGEBOSON +#define C_INTERFACE_TEST_V2_0_POPS_GAUGEBOSON #include "GNDStk.h" #include "v2.0/pops/Charge.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.cpp index a33853a67..1c21a6099 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/GaugeBosons.hpp" +#include "test/v2_0/pops/GaugeBosons.hpp" #include "GaugeBosons.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = GaugeBosonsClass; using CPP = multigroup::GaugeBosons; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.h b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.h index acbe3629d..3bf9cb9fd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/GaugeBosons.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_GAUGEBOSONS -#define C_INTERFACE_TRY_V2_0_POPS_GAUGEBOSONS +#ifndef C_INTERFACE_TEST_V2_0_POPS_GAUGEBOSONS +#define C_INTERFACE_TEST_V2_0_POPS_GAUGEBOSONS #include "GNDStk.h" #include "v2.0/pops/GaugeBoson.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.cpp index a01781a25..4fee61783 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Halflife.hpp" +#include "test/v2_0/pops/Halflife.hpp" #include "Halflife.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = HalflifeClass; using CPP = multigroup::Halflife; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.h index 816395f6d..c09c66da1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Halflife.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_HALFLIFE -#define C_INTERFACE_TRY_V2_0_POPS_HALFLIFE +#ifndef C_INTERFACE_TEST_V2_0_POPS_HALFLIFE +#define C_INTERFACE_TEST_V2_0_POPS_HALFLIFE #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.cpp index e457539c6..eb2ec488b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Intensity.hpp" +#include "test/v2_0/pops/Intensity.hpp" #include "Intensity.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IntensityClass; using CPP = multigroup::Intensity; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.h index 7d2f84490..b7808e5b4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Intensity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_INTENSITY -#define C_INTERFACE_TRY_V2_0_POPS_INTENSITY +#ifndef C_INTERFACE_TEST_V2_0_POPS_INTENSITY +#define C_INTERFACE_TEST_V2_0_POPS_INTENSITY #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.cpp index 97d53f26b..e95178c7e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/InternalConversionCoefficients.hpp" +#include "test/v2_0/pops/InternalConversionCoefficients.hpp" #include "InternalConversionCoefficients.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = InternalConversionCoefficientsClass; using CPP = multigroup::InternalConversionCoefficients; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.h b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.h index 9e37c4665..63b499c88 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalConversionCoefficients.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS -#define C_INTERFACE_TRY_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS +#ifndef C_INTERFACE_TEST_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS +#define C_INTERFACE_TEST_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS #include "GNDStk.h" #include "v2.0/pops/Shell.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp index 61a0039cc..cc239bd75 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/InternalPairFormationCoefficient.hpp" +#include "test/v2_0/pops/InternalPairFormationCoefficient.hpp" #include "InternalPairFormationCoefficient.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = InternalPairFormationCoefficientClass; using CPP = multigroup::InternalPairFormationCoefficient; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.h b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.h index 421e1077c..f72ece1cb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/InternalPairFormationCoefficient.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_INTERNALPAIRFORMATIONCOEFFICIENT -#define C_INTERFACE_TRY_V2_0_POPS_INTERNALPAIRFORMATIONCOEFFICIENT +#ifndef C_INTERFACE_TEST_V2_0_POPS_INTERNALPAIRFORMATIONCOEFFICIENT +#define C_INTERFACE_TEST_V2_0_POPS_INTERNALPAIRFORMATIONCOEFFICIENT #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Interval.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Interval.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Interval.cpp index 08946c504..5e5aa58d2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Interval.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Interval.hpp" +#include "test/v2_0/pops/Interval.hpp" #include "Interval.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IntervalClass; using CPP = multigroup::Interval; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Interval.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Interval.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Interval.h index b15babe41..892087acd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Interval.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Interval.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_INTERVAL -#define C_INTERFACE_TRY_V2_0_POPS_INTERVAL +#ifndef C_INTERFACE_TEST_V2_0_POPS_INTERVAL +#define C_INTERFACE_TEST_V2_0_POPS_INTERVAL #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.cpp index e489ceff4..61faa4c2b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Isotope.hpp" +#include "test/v2_0/pops/Isotope.hpp" #include "Isotope.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IsotopeClass; using CPP = multigroup::Isotope; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.h index a6e00e4b7..fc7436fcc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotope.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_ISOTOPE -#define C_INTERFACE_TRY_V2_0_POPS_ISOTOPE +#ifndef C_INTERFACE_TEST_V2_0_POPS_ISOTOPE +#define C_INTERFACE_TEST_V2_0_POPS_ISOTOPE #include "GNDStk.h" #include "v2.0/pops/Nuclides.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.cpp index 6d47ba5e4..edcb4cda6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Isotopes.hpp" +#include "test/v2_0/pops/Isotopes.hpp" #include "Isotopes.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IsotopesClass; using CPP = multigroup::Isotopes; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.h index 5893dc92b..5706ec170 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Isotopes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_ISOTOPES -#define C_INTERFACE_TRY_V2_0_POPS_ISOTOPES +#ifndef C_INTERFACE_TEST_V2_0_POPS_ISOTOPES +#define C_INTERFACE_TEST_V2_0_POPS_ISOTOPES #include "GNDStk.h" #include "v2.0/pops/Isotope.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.cpp index 4de29bf51..6c69d9de4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Lepton.hpp" +#include "test/v2_0/pops/Lepton.hpp" #include "Lepton.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LeptonClass; using CPP = multigroup::Lepton; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.h index 00754660c..eaa06098d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Lepton.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_LEPTON -#define C_INTERFACE_TRY_V2_0_POPS_LEPTON +#ifndef C_INTERFACE_TEST_V2_0_POPS_LEPTON +#define C_INTERFACE_TEST_V2_0_POPS_LEPTON #include "GNDStk.h" #include "v2.0/pops/Charge.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.cpp index 605590cf0..38a258cbc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Leptons.hpp" +#include "test/v2_0/pops/Leptons.hpp" #include "Leptons.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LeptonsClass; using CPP = multigroup::Leptons; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.h index de36c581f..a6a1747bd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Leptons.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_LEPTONS -#define C_INTERFACE_TRY_V2_0_POPS_LEPTONS +#ifndef C_INTERFACE_TEST_V2_0_POPS_LEPTONS +#define C_INTERFACE_TEST_V2_0_POPS_LEPTONS #include "GNDStk.h" #include "v2.0/pops/Lepton.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.cpp index 1c5851674..c4c41a8e3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/LogNormal.hpp" +#include "test/v2_0/pops/LogNormal.hpp" #include "LogNormal.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LogNormalClass; using CPP = multigroup::LogNormal; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h index eac1a52a9..a053f6bae 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/LogNormal.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_LOGNORMAL -#define C_INTERFACE_TRY_V2_0_POPS_LOGNORMAL +#ifndef C_INTERFACE_TEST_V2_0_POPS_LOGNORMAL +#define C_INTERFACE_TEST_V2_0_POPS_LOGNORMAL #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Mass.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Mass.cpp index 1519f6ae3..134a8747e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Mass.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Mass.hpp" +#include "test/v2_0/pops/Mass.hpp" #include "Mass.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MassClass; using CPP = multigroup::Mass; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Mass.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Mass.h index e9311e969..2481f1f91 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Mass.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Mass.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_MASS -#define C_INTERFACE_TRY_V2_0_POPS_MASS +#ifndef C_INTERFACE_TEST_V2_0_POPS_MASS +#define C_INTERFACE_TEST_V2_0_POPS_MASS #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.cpp index d78368373..df2021723 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/MetaStable.hpp" +#include "test/v2_0/pops/MetaStable.hpp" #include "MetaStable.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MetaStableClass; using CPP = multigroup::MetaStable; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.h b/standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.h index d1a678c3c..c6d61cafd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/MetaStable.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_METASTABLE -#define C_INTERFACE_TRY_V2_0_POPS_METASTABLE +#ifndef C_INTERFACE_TEST_V2_0_POPS_METASTABLE +#define C_INTERFACE_TEST_V2_0_POPS_METASTABLE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.cpp index 6c785cb41..77cce24ae 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Nucleus.hpp" +#include "test/v2_0/pops/Nucleus.hpp" #include "Nucleus.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NucleusClass; using CPP = multigroup::Nucleus; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.h index 5015511ad..811573a0c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Nucleus.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_NUCLEUS -#define C_INTERFACE_TRY_V2_0_POPS_NUCLEUS +#ifndef C_INTERFACE_TEST_V2_0_POPS_NUCLEUS +#define C_INTERFACE_TEST_V2_0_POPS_NUCLEUS #include "GNDStk.h" #include "v2.0/pops/Charge.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.cpp index 2ab346ca2..906f5e208 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Nuclide.hpp" +#include "test/v2_0/pops/Nuclide.hpp" #include "Nuclide.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NuclideClass; using CPP = multigroup::Nuclide; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.h index 538777a44..48b5fb2be 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclide.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_NUCLIDE -#define C_INTERFACE_TRY_V2_0_POPS_NUCLIDE +#ifndef C_INTERFACE_TEST_V2_0_POPS_NUCLIDE +#define C_INTERFACE_TEST_V2_0_POPS_NUCLIDE #include "GNDStk.h" #include "v2.0/pops/Charge.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.cpp index 897c62fc3..16474f7fa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Nuclides.hpp" +#include "test/v2_0/pops/Nuclides.hpp" #include "Nuclides.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NuclidesClass; using CPP = multigroup::Nuclides; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.h index 83a3298aa..4e32d3b06 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Nuclides.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_NUCLIDES -#define C_INTERFACE_TRY_V2_0_POPS_NUCLIDES +#ifndef C_INTERFACE_TEST_V2_0_POPS_NUCLIDES +#define C_INTERFACE_TEST_V2_0_POPS_NUCLIDES #include "GNDStk.h" #include "v2.0/pops/Nuclide.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Parity.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Parity.cpp index 868618f6c..985ed720b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Parity.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Parity.hpp" +#include "test/v2_0/pops/Parity.hpp" #include "Parity.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ParityClass; using CPP = multigroup::Parity; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Parity.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Parity.h index eab2b5645..e3181e602 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Parity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Parity.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_PARITY -#define C_INTERFACE_TRY_V2_0_POPS_PARITY +#ifndef C_INTERFACE_TEST_V2_0_POPS_PARITY +#define C_INTERFACE_TEST_V2_0_POPS_PARITY #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.cpp index 63f985ceb..7a6511d81 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Pdf.hpp" +#include "test/v2_0/pops/Pdf.hpp" #include "Pdf.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PdfClass; using CPP = multigroup::Pdf; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.h index 71455df6c..4b0c9d046 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Pdf.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_PDF -#define C_INTERFACE_TRY_V2_0_POPS_PDF +#ifndef C_INTERFACE_TEST_V2_0_POPS_PDF +#define C_INTERFACE_TEST_V2_0_POPS_PDF #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp index 642d8693a..298a8eeef 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/PhotonEmissionProbabilities.hpp" +#include "test/v2_0/pops/PhotonEmissionProbabilities.hpp" #include "PhotonEmissionProbabilities.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PhotonEmissionProbabilitiesClass; using CPP = multigroup::PhotonEmissionProbabilities; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.h b/standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.h index c3df459b5..8c3766607 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/PhotonEmissionProbabilities.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_PHOTONEMISSIONPROBABILITIES -#define C_INTERFACE_TRY_V2_0_POPS_PHOTONEMISSIONPROBABILITIES +#ifndef C_INTERFACE_TEST_V2_0_POPS_PHOTONEMISSIONPROBABILITIES +#define C_INTERFACE_TEST_V2_0_POPS_PHOTONEMISSIONPROBABILITIES #include "GNDStk.h" #include "v2.0/pops/Shell.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.cpp index 2187e3323..9629d680c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/PoPs_database.hpp" +#include "test/v2_0/pops/PoPs_database.hpp" #include "PoPs_database.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PoPs_databaseClass; using CPP = multigroup::PoPs_database; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.h b/standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.h index 58caa829a..8054db1ff 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/PoPs_database.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_POPS_DATABASE -#define C_INTERFACE_TRY_V2_0_POPS_POPS_DATABASE +#ifndef C_INTERFACE_TEST_V2_0_POPS_POPS_DATABASE +#define C_INTERFACE_TEST_V2_0_POPS_POPS_DATABASE #include "GNDStk.h" #include "v2.0/styles/Styles.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.cpp index 0315e1a73..ae6b84344 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/PositronEmissionIntensity.hpp" +#include "test/v2_0/pops/PositronEmissionIntensity.hpp" #include "PositronEmissionIntensity.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PositronEmissionIntensityClass; using CPP = multigroup::PositronEmissionIntensity; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.h b/standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.h index e7fb6c791..28dc4ddb5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/PositronEmissionIntensity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_POSITRONEMISSIONINTENSITY -#define C_INTERFACE_TRY_V2_0_POPS_POSITRONEMISSIONINTENSITY +#ifndef C_INTERFACE_TEST_V2_0_POPS_POSITRONEMISSIONINTENSITY +#define C_INTERFACE_TEST_V2_0_POPS_POSITRONEMISSIONINTENSITY #include "GNDStk.h" #include "v2.0/pops/Uncertainty.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Probability.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Probability.cpp index e840f487a..da13d6037 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Probability.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Probability.hpp" +#include "test/v2_0/pops/Probability.hpp" #include "Probability.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProbabilityClass; using CPP = multigroup::Probability; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Probability.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Probability.h index 4594ac1f0..3ce49d2c5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Probability.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Probability.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_PROBABILITY -#define C_INTERFACE_TRY_V2_0_POPS_PROBABILITY +#ifndef C_INTERFACE_TEST_V2_0_POPS_PROBABILITY +#define C_INTERFACE_TEST_V2_0_POPS_PROBABILITY #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Product.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Product.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Product.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Product.cpp index 1024d22cc..ba89c72f2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Product.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Product.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Product.hpp" +#include "test/v2_0/pops/Product.hpp" #include "Product.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProductClass; using CPP = multigroup::Product; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Product.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Product.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Product.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Product.h index 36e6b0dbb..59fd11039 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Product.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Product.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_PRODUCT -#define C_INTERFACE_TRY_V2_0_POPS_PRODUCT +#ifndef C_INTERFACE_TEST_V2_0_POPS_PRODUCT +#define C_INTERFACE_TEST_V2_0_POPS_PRODUCT #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Products.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Products.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Products.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Products.cpp index 2c3576cf0..d7a6b82d9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Products.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Products.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Products.hpp" +#include "test/v2_0/pops/Products.hpp" #include "Products.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProductsClass; using CPP = multigroup::Products; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Products.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Products.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Products.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Products.h index 0fb5ded80..34a6b6e88 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Products.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Products.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_PRODUCTS -#define C_INTERFACE_TRY_V2_0_POPS_PRODUCTS +#ifndef C_INTERFACE_TEST_V2_0_POPS_PRODUCTS +#define C_INTERFACE_TEST_V2_0_POPS_PRODUCTS #include "GNDStk.h" #include "v2.0/pops/Product.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Q.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Q.cpp index 4aab7b99a..0e1844e96 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Q.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Q.hpp" +#include "test/v2_0/pops/Q.hpp" #include "Q.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = QClass; using CPP = multigroup::Q; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Q.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Q.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Q.h index 7d0cce467..9dc487943 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Q.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Q.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_Q -#define C_INTERFACE_TRY_V2_0_POPS_Q +#ifndef C_INTERFACE_TEST_V2_0_POPS_Q +#define C_INTERFACE_TEST_V2_0_POPS_Q #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Shell.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Shell.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Shell.cpp index 739a2e972..e57f12ec1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Shell.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Shell.hpp" +#include "test/v2_0/pops/Shell.hpp" #include "Shell.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ShellClass; using CPP = multigroup::Shell; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Shell.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Shell.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Shell.h index af3de764c..6843479dc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Shell.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Shell.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_SHELL -#define C_INTERFACE_TRY_V2_0_POPS_SHELL +#ifndef C_INTERFACE_TEST_V2_0_POPS_SHELL +#define C_INTERFACE_TEST_V2_0_POPS_SHELL #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.cpp index 3a457a3fb..d9272b134 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Spectra.hpp" +#include "test/v2_0/pops/Spectra.hpp" #include "Spectra.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SpectraClass; using CPP = multigroup::Spectra; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.h index b0a92342b..442f70c9f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectra.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_SPECTRA -#define C_INTERFACE_TRY_V2_0_POPS_SPECTRA +#ifndef C_INTERFACE_TEST_V2_0_POPS_SPECTRA +#define C_INTERFACE_TEST_V2_0_POPS_SPECTRA #include "GNDStk.h" #include "v2.0/pops/Spectrum.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.cpp index 0c853a048..ca200a080 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Spectrum.hpp" +#include "test/v2_0/pops/Spectrum.hpp" #include "Spectrum.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SpectrumClass; using CPP = multigroup::Spectrum; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.h index e65c53a7e..0e69c7b0a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Spectrum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_SPECTRUM -#define C_INTERFACE_TRY_V2_0_POPS_SPECTRUM +#ifndef C_INTERFACE_TEST_V2_0_POPS_SPECTRUM +#define C_INTERFACE_TEST_V2_0_POPS_SPECTRUM #include "GNDStk.h" #include "v2.0/pops/Continuum.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Spin.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Spin.cpp index 484cd5880..7a2fedced 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spin.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Spin.hpp" +#include "test/v2_0/pops/Spin.hpp" #include "Spin.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SpinClass; using CPP = multigroup::Spin; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Spin.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Spin.h index a3a10a929..f94c5f097 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Spin.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spin.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_SPIN -#define C_INTERFACE_TRY_V2_0_POPS_SPIN +#ifndef C_INTERFACE_TEST_V2_0_POPS_SPIN +#define C_INTERFACE_TEST_V2_0_POPS_SPIN #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Standard.cpp index 46bbfad0e..c7e8dba0c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Standard.hpp" +#include "test/v2_0/pops/Standard.hpp" #include "Standard.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = StandardClass; using CPP = multigroup::Standard; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h index 1daf26926..5f49421eb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Standard.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_STANDARD -#define C_INTERFACE_TRY_V2_0_POPS_STANDARD +#ifndef C_INTERFACE_TEST_V2_0_POPS_STANDARD +#define C_INTERFACE_TEST_V2_0_POPS_STANDARD #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.cpp index c66ed0bac..e704ba66f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Uncertainty.hpp" +#include "test/v2_0/pops/Uncertainty.hpp" #include "Uncertainty.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UncertaintyClass; using CPP = multigroup::Uncertainty; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.h index b2a25412d..f58e35fcb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Uncertainty.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_UNCERTAINTY -#define C_INTERFACE_TRY_V2_0_POPS_UNCERTAINTY +#ifndef C_INTERFACE_TEST_V2_0_POPS_UNCERTAINTY +#define C_INTERFACE_TEST_V2_0_POPS_UNCERTAINTY #include "GNDStk.h" #include "v2.0/pops/Standard.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.cpp index b073f1731..2e10d4987 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Unorthodox.hpp" +#include "test/v2_0/pops/Unorthodox.hpp" #include "Unorthodox.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UnorthodoxClass; using CPP = multigroup::Unorthodox; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.h index 344d1d477..c5aaa4a31 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodox.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_UNORTHODOX -#define C_INTERFACE_TRY_V2_0_POPS_UNORTHODOX +#ifndef C_INTERFACE_TEST_V2_0_POPS_UNORTHODOX +#define C_INTERFACE_TEST_V2_0_POPS_UNORTHODOX #include "GNDStk.h" #include "v2.0/pops/Charge.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.cpp rename to standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.cpp index 74be030a0..bbe033fb2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/pops/Unorthodoxes.hpp" +#include "test/v2_0/pops/Unorthodoxes.hpp" #include "Unorthodoxes.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UnorthodoxesClass; using CPP = multigroup::Unorthodoxes; diff --git a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.h rename to standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.h index 7bf00260e..cc0861436 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/pops/Unorthodoxes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_POPS_UNORTHODOXES -#define C_INTERFACE_TRY_V2_0_POPS_UNORTHODOXES +#ifndef C_INTERFACE_TEST_V2_0_POPS_UNORTHODOXES +#define C_INTERFACE_TEST_V2_0_POPS_UNORTHODOXES #include "GNDStk.h" #include "v2.0/pops/Nuclide.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp b/standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp rename to standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.cpp index 6079bb65a..955d026e3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/processed/AngularEnergyMC.hpp" +#include "test/v2_0/processed/AngularEnergyMC.hpp" #include "AngularEnergyMC.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AngularEnergyMCClass; using CPP = multigroup::AngularEnergyMC; diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h rename to standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.h index e07a7b485..0dfae0440 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AngularEnergyMC.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_ANGULARENERGYMC -#define C_INTERFACE_TRY_V2_0_PROCESSED_ANGULARENERGYMC +#ifndef C_INTERFACE_TEST_V2_0_PROCESSED_ANGULARENERGYMC +#define C_INTERFACE_TEST_V2_0_PROCESSED_ANGULARENERGYMC #include "GNDStk.h" #include "v2.0/transport/Angular_uncorrelated.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.cpp index 21fe51386..c2c4bece9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/processed/AvailableEnergy.hpp" +#include "test/v2_0/processed/AvailableEnergy.hpp" #include "AvailableEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AvailableEnergyClass; using CPP = multigroup::AvailableEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.h index aa76f92a1..f227476a7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEENERGY -#define C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEENERGY +#ifndef C_INTERFACE_TEST_V2_0_PROCESSED_AVAILABLEENERGY +#define C_INTERFACE_TEST_V2_0_PROCESSED_AVAILABLEENERGY #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp rename to standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.cpp index 6c7d59e15..661caffa2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/processed/AvailableMomentum.hpp" +#include "test/v2_0/processed/AvailableMomentum.hpp" #include "AvailableMomentum.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AvailableMomentumClass; using CPP = multigroup::AvailableMomentum; diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h rename to standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.h index e80c82cbe..5c26f38b6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AvailableMomentum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM -#define C_INTERFACE_TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM +#ifndef C_INTERFACE_TEST_V2_0_PROCESSED_AVAILABLEMOMENTUM +#define C_INTERFACE_TEST_V2_0_PROCESSED_AVAILABLEMOMENTUM #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.cpp index 6cf2f3461..6327fe9f8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/processed/AverageProductEnergy.hpp" +#include "test/v2_0/processed/AverageProductEnergy.hpp" #include "AverageProductEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AverageProductEnergyClass; using CPP = multigroup::AverageProductEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.h index 8cb69024f..54c970bee 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY -#define C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY +#ifndef C_INTERFACE_TEST_V2_0_PROCESSED_AVERAGEPRODUCTENERGY +#define C_INTERFACE_TEST_V2_0_PROCESSED_AVERAGEPRODUCTENERGY #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp rename to standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.cpp index eb2077950..9ac282698 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/processed/AverageProductMomentum.hpp" +#include "test/v2_0/processed/AverageProductMomentum.hpp" #include "AverageProductMomentum.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AverageProductMomentumClass; using CPP = multigroup::AverageProductMomentum; diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h rename to standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.h index 4249593ab..42956264c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/AverageProductMomentum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM -#define C_INTERFACE_TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM +#ifndef C_INTERFACE_TEST_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM +#define C_INTERFACE_TEST_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp b/standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp rename to standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.cpp index 78282d954..19a2ef284 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/processed/EnergyAngularMC.hpp" +#include "test/v2_0/processed/EnergyAngularMC.hpp" #include "EnergyAngularMC.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EnergyAngularMCClass; using CPP = multigroup::EnergyAngularMC; diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h b/standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h rename to standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.h index 4e5c8db06..174ebc328 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/EnergyAngularMC.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_ENERGYANGULARMC -#define C_INTERFACE_TRY_V2_0_PROCESSED_ENERGYANGULARMC +#ifndef C_INTERFACE_TEST_V2_0_PROCESSED_ENERGYANGULARMC +#define C_INTERFACE_TEST_V2_0_PROCESSED_ENERGYANGULARMC #include "GNDStk.h" #include "v2.0/common/Energy.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp b/standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.cpp index 72e396a21..0cd557bc9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/processed/MultiGroup3d.hpp" +#include "test/v2_0/processed/MultiGroup3d.hpp" #include "MultiGroup3d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MultiGroup3dClass; using CPP = multigroup::MultiGroup3d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h b/standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h rename to standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.h index c5cbaf057..e7a798cd8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/processed/MultiGroup3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_PROCESSED_MULTIGROUP3D -#define C_INTERFACE_TRY_V2_0_PROCESSED_MULTIGROUP3D +#ifndef C_INTERFACE_TEST_V2_0_PROCESSED_MULTIGROUP3D +#define C_INTERFACE_TEST_V2_0_PROCESSED_MULTIGROUP3D #include "GNDStk.h" #include "v2.0/containers/Gridded3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.cpp index a66f4ec2c..d94cef667 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/BreitWigner.hpp" +#include "test/v2_0/resonances/BreitWigner.hpp" #include "BreitWigner.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BreitWignerClass; using CPP = multigroup::BreitWigner; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.h index ed13eaa03..af86755bf 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/BreitWigner.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_BREITWIGNER -#define C_INTERFACE_TRY_V2_0_RESONANCES_BREITWIGNER +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_BREITWIGNER +#define C_INTERFACE_TEST_V2_0_RESONANCES_BREITWIGNER #include "GNDStk.h" #include "v2.0/pops/PoPs_database.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.cpp index d4f799a15..6c7227e77 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Channel.hpp" +#include "test/v2_0/resonances/Channel.hpp" #include "Channel.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ChannelClass; using CPP = multigroup::Channel; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.h index 093febe8b..bb796b30e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channel.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_CHANNEL -#define C_INTERFACE_TRY_V2_0_RESONANCES_CHANNEL +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_CHANNEL +#define C_INTERFACE_TEST_V2_0_RESONANCES_CHANNEL #include "GNDStk.h" #include "v2.0/resonances/ExternalRMatrix.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.cpp index 4e4876b4b..9d0c3d89c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Channels.hpp" +#include "test/v2_0/resonances/Channels.hpp" #include "Channels.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ChannelsClass; using CPP = multigroup::Channels; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.h index b62a91cf1..8c156bba9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Channels.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_CHANNELS -#define C_INTERFACE_TRY_V2_0_RESONANCES_CHANNELS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_CHANNELS +#define C_INTERFACE_TEST_V2_0_RESONANCES_CHANNELS #include "GNDStk.h" #include "v2.0/resonances/Channel.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.cpp index d1e329863..e8d8b86f4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/EnergyInterval.hpp" +#include "test/v2_0/resonances/EnergyInterval.hpp" #include "EnergyInterval.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EnergyIntervalClass; using CPP = multigroup::EnergyInterval; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.h index f662856b2..b6aa8f001 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyInterval.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_ENERGYINTERVAL -#define C_INTERFACE_TRY_V2_0_RESONANCES_ENERGYINTERVAL +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_ENERGYINTERVAL +#define C_INTERFACE_TEST_V2_0_RESONANCES_ENERGYINTERVAL #include "GNDStk.h" #include "v2.0/resonances/RMatrix.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.cpp index d6bbc42d3..e6919ee91 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/EnergyIntervals.hpp" +#include "test/v2_0/resonances/EnergyIntervals.hpp" #include "EnergyIntervals.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EnergyIntervalsClass; using CPP = multigroup::EnergyIntervals; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.h index 26e399f4c..8b0a5fb1e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/EnergyIntervals.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_ENERGYINTERVALS -#define C_INTERFACE_TRY_V2_0_RESONANCES_ENERGYINTERVALS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_ENERGYINTERVALS +#define C_INTERFACE_TEST_V2_0_RESONANCES_ENERGYINTERVALS #include "GNDStk.h" #include "v2.0/resonances/EnergyInterval.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.cpp index f200882e9..5cbd0085c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/ExternalRMatrix.hpp" +#include "test/v2_0/resonances/ExternalRMatrix.hpp" #include "ExternalRMatrix.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ExternalRMatrixClass; using CPP = multigroup::ExternalRMatrix; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.h index 8d7a9412a..ad59f20ba 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ExternalRMatrix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_EXTERNALRMATRIX -#define C_INTERFACE_TRY_V2_0_RESONANCES_EXTERNALRMATRIX +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_EXTERNALRMATRIX +#define C_INTERFACE_TEST_V2_0_RESONANCES_EXTERNALRMATRIX #include "GNDStk.h" #include "v2.0/containers/Double.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.cpp index 3a09d9e4b..9b2ae9c63 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/HardSphereRadius.hpp" +#include "test/v2_0/resonances/HardSphereRadius.hpp" #include "HardSphereRadius.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = HardSphereRadiusClass; using CPP = multigroup::HardSphereRadius; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.h index ac4591748..0049f980b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/HardSphereRadius.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_HARDSPHERERADIUS -#define C_INTERFACE_TRY_V2_0_RESONANCES_HARDSPHERERADIUS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_HARDSPHERERADIUS +#define C_INTERFACE_TEST_V2_0_RESONANCES_HARDSPHERERADIUS #include "GNDStk.h" #include "v2.0/containers/Constant1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/J.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/J.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/J.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/J.cpp index 954575deb..e7c4730a8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/J.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/J.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/J.hpp" +#include "test/v2_0/resonances/J.hpp" #include "J.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = JClass; using CPP = multigroup::J; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/J.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/J.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/J.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/J.h index a63e92822..310cecd7c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/J.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/J.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_J -#define C_INTERFACE_TRY_V2_0_RESONANCES_J +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_J +#define C_INTERFACE_TEST_V2_0_RESONANCES_J #include "GNDStk.h" #include "v2.0/resonances/LevelSpacing.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Js.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Js.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Js.cpp index c11c085d0..9439182c6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Js.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Js.hpp" +#include "test/v2_0/resonances/Js.hpp" #include "Js.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = JsClass; using CPP = multigroup::Js; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Js.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Js.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Js.h index 755e8cf09..f14598d0e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Js.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Js.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_JS -#define C_INTERFACE_TRY_V2_0_RESONANCES_JS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_JS +#define C_INTERFACE_TEST_V2_0_RESONANCES_JS #include "GNDStk.h" #include "v2.0/resonances/J.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/L.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/L.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/L.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/L.cpp index 6c3f5ece2..940095b00 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/L.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/L.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/L.hpp" +#include "test/v2_0/resonances/L.hpp" #include "L.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LClass; using CPP = multigroup::L; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/L.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/L.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/L.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/L.h index c70082ff9..4d6bbbda4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/L.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/L.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_L -#define C_INTERFACE_TRY_V2_0_RESONANCES_L +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_L +#define C_INTERFACE_TEST_V2_0_RESONANCES_L #include "GNDStk.h" #include "v2.0/resonances/Js.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.cpp index 7c3527b2f..924507c3f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/LevelSpacing.hpp" +#include "test/v2_0/resonances/LevelSpacing.hpp" #include "LevelSpacing.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LevelSpacingClass; using CPP = multigroup::LevelSpacing; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.h index d7e6cd1ba..01538d871 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/LevelSpacing.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_LEVELSPACING -#define C_INTERFACE_TRY_V2_0_RESONANCES_LEVELSPACING +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_LEVELSPACING +#define C_INTERFACE_TEST_V2_0_RESONANCES_LEVELSPACING #include "GNDStk.h" #include "v2.0/containers/Constant1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.cpp index b032a4e59..3c87bbf84 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Ls.hpp" +#include "test/v2_0/resonances/Ls.hpp" #include "Ls.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = LsClass; using CPP = multigroup::Ls; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.h index 480260d55..a13828961 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Ls.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_LS -#define C_INTERFACE_TRY_V2_0_RESONANCES_LS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_LS +#define C_INTERFACE_TEST_V2_0_RESONANCES_LS #include "GNDStk.h" #include "v2.0/resonances/L.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.cpp index b005e60d5..4d6387ee9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/RMatrix.hpp" +#include "test/v2_0/resonances/RMatrix.hpp" #include "RMatrix.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RMatrixClass; using CPP = multigroup::RMatrix; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.h index 07fb295b2..83065ed40 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/RMatrix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RMATRIX -#define C_INTERFACE_TRY_V2_0_RESONANCES_RMATRIX +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_RMATRIX +#define C_INTERFACE_TEST_V2_0_RESONANCES_RMATRIX #include "GNDStk.h" #include "v2.0/pops/PoPs_database.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.cpp index 97defd0a7..d6d639bed 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Resolved.hpp" +#include "test/v2_0/resonances/Resolved.hpp" #include "Resolved.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ResolvedClass; using CPP = multigroup::Resolved; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.h index 56cbf8d10..4b3939a64 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resolved.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESOLVED -#define C_INTERFACE_TRY_V2_0_RESONANCES_RESOLVED +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_RESOLVED +#define C_INTERFACE_TEST_V2_0_RESONANCES_RESOLVED #include "GNDStk.h" #include "v2.0/resonances/RMatrix.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.cpp index 09e3eb213..8a40155cc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/ResonanceParameters.hpp" +#include "test/v2_0/resonances/ResonanceParameters.hpp" #include "ResonanceParameters.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ResonanceParametersClass; using CPP = multigroup::ResonanceParameters; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.h index ec08d79dc..5e4030132 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceParameters.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEPARAMETERS -#define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEPARAMETERS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_RESONANCEPARAMETERS +#define C_INTERFACE_TEST_V2_0_RESONANCES_RESONANCEPARAMETERS #include "GNDStk.h" #include "v2.0/containers/Table.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.cpp index b478615a1..b8c05ba10 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/ResonanceReaction.hpp" +#include "test/v2_0/resonances/ResonanceReaction.hpp" #include "ResonanceReaction.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ResonanceReactionClass; using CPP = multigroup::ResonanceReaction; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.h index 43c7f2c48..a567db9d9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReaction.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTION -#define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTION +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_RESONANCEREACTION +#define C_INTERFACE_TEST_V2_0_RESONANCES_RESONANCEREACTION #include "GNDStk.h" #include "v2.0/common/Q.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.cpp index 12cd23882..921413c53 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/ResonanceReactions.hpp" +#include "test/v2_0/resonances/ResonanceReactions.hpp" #include "ResonanceReactions.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ResonanceReactionsClass; using CPP = multigroup::ResonanceReactions; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.h index 1df902f60..ef65f63d5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ResonanceReactions.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTIONS -#define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCEREACTIONS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_RESONANCEREACTIONS +#define C_INTERFACE_TEST_V2_0_RESONANCES_RESONANCEREACTIONS #include "GNDStk.h" #include "v2.0/resonances/ResonanceReaction.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.cpp index aed12a62b..e5bcbb30d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Resonances.hpp" +#include "test/v2_0/resonances/Resonances.hpp" #include "Resonances.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ResonancesClass; using CPP = multigroup::Resonances; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.h index 87f7ea40a..5eb96a91d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Resonances.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCES -#define C_INTERFACE_TRY_V2_0_RESONANCES_RESONANCES +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_RESONANCES +#define C_INTERFACE_TEST_V2_0_RESONANCES_RESONANCES #include "GNDStk.h" #include "v2.0/resonances/ScatteringRadius.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.cpp index acec77f12..eaaab0e5b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/ScatteringRadius.hpp" +#include "test/v2_0/resonances/ScatteringRadius.hpp" #include "ScatteringRadius.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ScatteringRadiusClass; using CPP = multigroup::ScatteringRadius; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.h index 35267dd1a..2f00b283a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/ScatteringRadius.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_SCATTERINGRADIUS -#define C_INTERFACE_TRY_V2_0_RESONANCES_SCATTERINGRADIUS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_SCATTERINGRADIUS +#define C_INTERFACE_TEST_V2_0_RESONANCES_SCATTERINGRADIUS #include "GNDStk.h" #include "v2.0/containers/Constant1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.cpp index f6e7ba26f..2ea3b7a04 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/SpinGroup.hpp" +#include "test/v2_0/resonances/SpinGroup.hpp" #include "SpinGroup.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SpinGroupClass; using CPP = multigroup::SpinGroup; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.h index c2481c6f9..7fe588915 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroup.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_SPINGROUP -#define C_INTERFACE_TRY_V2_0_RESONANCES_SPINGROUP +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_SPINGROUP +#define C_INTERFACE_TEST_V2_0_RESONANCES_SPINGROUP #include "GNDStk.h" #include "v2.0/resonances/Channels.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.cpp index c8ccf9224..a9bff16e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/SpinGroups.hpp" +#include "test/v2_0/resonances/SpinGroups.hpp" #include "SpinGroups.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SpinGroupsClass; using CPP = multigroup::SpinGroups; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.h index 2ed4aca7d..54ebb524a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/SpinGroups.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_SPINGROUPS -#define C_INTERFACE_TRY_V2_0_RESONANCES_SPINGROUPS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_SPINGROUPS +#define C_INTERFACE_TEST_V2_0_RESONANCES_SPINGROUPS #include "GNDStk.h" #include "v2.0/resonances/SpinGroup.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.cpp index d7e88eb15..55b10924c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/TabulatedWidths.hpp" +#include "test/v2_0/resonances/TabulatedWidths.hpp" #include "TabulatedWidths.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TabulatedWidthsClass; using CPP = multigroup::TabulatedWidths; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.h index d8369027e..b0083f438 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/TabulatedWidths.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_TABULATEDWIDTHS -#define C_INTERFACE_TRY_V2_0_RESONANCES_TABULATEDWIDTHS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_TABULATEDWIDTHS +#define C_INTERFACE_TEST_V2_0_RESONANCES_TABULATEDWIDTHS #include "GNDStk.h" #include "v2.0/pops/PoPs_database.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.cpp index 90dd829ab..973c464e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Unresolved.hpp" +#include "test/v2_0/resonances/Unresolved.hpp" #include "Unresolved.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UnresolvedClass; using CPP = multigroup::Unresolved; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.h index d4c2e0a84..6e73b9a33 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Unresolved.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_UNRESOLVED -#define C_INTERFACE_TRY_V2_0_RESONANCES_UNRESOLVED +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_UNRESOLVED +#define C_INTERFACE_TEST_V2_0_RESONANCES_UNRESOLVED #include "GNDStk.h" #include "v2.0/resonances/TabulatedWidths.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Width.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Width.cpp index 6094a84d9..21dee9b64 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Width.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Width.hpp" +#include "test/v2_0/resonances/Width.hpp" #include "Width.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = WidthClass; using CPP = multigroup::Width; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Width.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Width.h index 37746ac01..ecc4404c4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Width.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Width.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_WIDTH -#define C_INTERFACE_TRY_V2_0_RESONANCES_WIDTH +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_WIDTH +#define C_INTERFACE_TEST_V2_0_RESONANCES_WIDTH #include "GNDStk.h" #include "v2.0/containers/Constant1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.cpp b/standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.cpp rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.cpp index 6bb9922fc..25f5c1d16 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/resonances/Widths.hpp" +#include "test/v2_0/resonances/Widths.hpp" #include "Widths.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = WidthsClass; using CPP = multigroup::Widths; diff --git a/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.h rename to standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.h index 1004745ff..ad471525e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/resonances/Widths.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_RESONANCES_WIDTHS -#define C_INTERFACE_TRY_V2_0_RESONANCES_WIDTHS +#ifndef C_INTERFACE_TEST_V2_0_RESONANCES_WIDTHS +#define C_INTERFACE_TEST_V2_0_RESONANCES_WIDTHS #include "GNDStk.h" #include "v2.0/resonances/Width.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.cpp index 339eb81fe..2bd8c92e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/AngularDistributionReconstructed.hpp" +#include "test/v2_0/styles/AngularDistributionReconstructed.hpp" #include "AngularDistributionReconstructed.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AngularDistributionReconstructedClass; using CPP = multigroup::AngularDistributionReconstructed; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.h b/standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.h index 2e52704c3..d42101c24 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/AngularDistributionReconstructed.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED -#define C_INTERFACE_TRY_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED +#ifndef C_INTERFACE_TEST_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED +#define C_INTERFACE_TEST_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED #include "GNDStk.h" #include "v2.0/styles/Temperature.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.cpp index b07c908b5..28878108b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/AverageProductData.hpp" +#include "test/v2_0/styles/AverageProductData.hpp" #include "AverageProductData.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AverageProductDataClass; using CPP = multigroup::AverageProductData; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.h b/standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.h index 01226dc72..3eac2c09f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/AverageProductData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_AVERAGEPRODUCTDATA -#define C_INTERFACE_TRY_V2_0_STYLES_AVERAGEPRODUCTDATA +#ifndef C_INTERFACE_TEST_V2_0_STYLES_AVERAGEPRODUCTDATA +#define C_INTERFACE_TEST_V2_0_STYLES_AVERAGEPRODUCTDATA #include "GNDStk.h" #include "v2.0/styles/Temperature.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.cpp index 883673e05..e2885ffd8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Bondarenko.hpp" +#include "test/v2_0/styles/Bondarenko.hpp" #include "Bondarenko.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BondarenkoClass; using CPP = multigroup::Bondarenko; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.h index e61786b85..512511682 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Bondarenko.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_BONDARENKO -#define C_INTERFACE_TRY_V2_0_STYLES_BONDARENKO +#ifndef C_INTERFACE_TEST_V2_0_STYLES_BONDARENKO +#define C_INTERFACE_TEST_V2_0_STYLES_BONDARENKO #include "GNDStk.h" #include "v2.0/styles/SigmaZeros.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp index fc8733d7d..47f4ababe 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "test/v2_0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" #include "CoulombPlusNuclearElasticMuCutoff.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CoulombPlusNuclearElasticMuCutoffClass; using CPP = multigroup::CoulombPlusNuclearElasticMuCutoff; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h b/standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h index ba1580b23..5d772d8c3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF -#define C_INTERFACE_TRY_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF +#ifndef C_INTERFACE_TEST_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF +#define C_INTERFACE_TEST_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.cpp index 82264cb53..9535ea73b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/CrossSectionReconstructed.hpp" +#include "test/v2_0/styles/CrossSectionReconstructed.hpp" #include "CrossSectionReconstructed.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CrossSectionReconstructedClass; using CPP = multigroup::CrossSectionReconstructed; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.h b/standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.h index 8cc184d20..c3e5e084f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/CrossSectionReconstructed.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_CROSSSECTIONRECONSTRUCTED -#define C_INTERFACE_TRY_V2_0_STYLES_CROSSSECTIONRECONSTRUCTED +#ifndef C_INTERFACE_TEST_V2_0_STYLES_CROSSSECTIONRECONSTRUCTED +#define C_INTERFACE_TEST_V2_0_STYLES_CROSSSECTIONRECONSTRUCTED #include "GNDStk.h" #include "v2.0/styles/Temperature.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.cpp index fc4db2379..421aba70f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/EqualProbableBins.hpp" +#include "test/v2_0/styles/EqualProbableBins.hpp" #include "EqualProbableBins.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EqualProbableBinsClass; using CPP = multigroup::EqualProbableBins; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.h b/standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.h index 91ef4e88d..4607a1660 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/EqualProbableBins.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_EQUALPROBABLEBINS -#define C_INTERFACE_TRY_V2_0_STYLES_EQUALPROBABLEBINS +#ifndef C_INTERFACE_TEST_V2_0_STYLES_EQUALPROBABLEBINS +#define C_INTERFACE_TEST_V2_0_STYLES_EQUALPROBABLEBINS #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.cpp index 6af26e2d0..de2129580 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Evaluated.hpp" +#include "test/v2_0/styles/Evaluated.hpp" #include "Evaluated.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EvaluatedClass; using CPP = multigroup::Evaluated; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.h index c42989064..c22c6906f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Evaluated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_EVALUATED -#define C_INTERFACE_TRY_V2_0_STYLES_EVALUATED +#ifndef C_INTERFACE_TEST_V2_0_STYLES_EVALUATED +#define C_INTERFACE_TEST_V2_0_STYLES_EVALUATED #include "GNDStk.h" #include "v2.0/styles/ProjectileEnergyDomain.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Flux.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Flux.cpp index 999280ce8..87c0a6e35 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Flux.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Flux.hpp" +#include "test/v2_0/styles/Flux.hpp" #include "Flux.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FluxClass; using CPP = multigroup::Flux; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Flux.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Flux.h index d7575098f..f1783b297 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Flux.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Flux.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_FLUX -#define C_INTERFACE_TRY_V2_0_STYLES_FLUX +#ifndef C_INTERFACE_TEST_V2_0_STYLES_FLUX +#define C_INTERFACE_TEST_V2_0_STYLES_FLUX #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.cpp index ee9c081fe..ddd073bfd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/GriddedCrossSection.hpp" +#include "test/v2_0/styles/GriddedCrossSection.hpp" #include "GriddedCrossSection.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = GriddedCrossSectionClass; using CPP = multigroup::GriddedCrossSection; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.h index 1d12d3c56..f09a23afa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/GriddedCrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_GRIDDEDCROSSSECTION -#define C_INTERFACE_TRY_V2_0_STYLES_GRIDDEDCROSSSECTION +#ifndef C_INTERFACE_TEST_V2_0_STYLES_GRIDDEDCROSSSECTION +#define C_INTERFACE_TEST_V2_0_STYLES_GRIDDEDCROSSSECTION #include "GNDStk.h" #include "v2.0/containers/Grid.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Heated.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Heated.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Heated.cpp index b5c292cd8..bff8b1c29 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Heated.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Heated.hpp" +#include "test/v2_0/styles/Heated.hpp" #include "Heated.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = HeatedClass; using CPP = multigroup::Heated; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Heated.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Heated.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Heated.h index 79ee93b24..7177213c0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Heated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Heated.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_HEATED -#define C_INTERFACE_TRY_V2_0_STYLES_HEATED +#ifndef C_INTERFACE_TEST_V2_0_STYLES_HEATED +#define C_INTERFACE_TEST_V2_0_STYLES_HEATED #include "GNDStk.h" #include "v2.0/styles/Temperature.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.cpp index 3f891bf2c..be4da7738 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/HeatedMultiGroup.hpp" +#include "test/v2_0/styles/HeatedMultiGroup.hpp" #include "HeatedMultiGroup.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = HeatedMultiGroupClass; using CPP = multigroup::HeatedMultiGroup; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.h b/standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.h index f3db700c2..53b8ed744 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/HeatedMultiGroup.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_HEATEDMULTIGROUP -#define C_INTERFACE_TRY_V2_0_STYLES_HEATEDMULTIGROUP +#ifndef C_INTERFACE_TEST_V2_0_STYLES_HEATEDMULTIGROUP +#define C_INTERFACE_TEST_V2_0_STYLES_HEATEDMULTIGROUP #include "GNDStk.h" #include "v2.0/styles/Transportables.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.cpp index 15a65b2d6..5d27cba43 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/InverseSpeed.hpp" +#include "test/v2_0/styles/InverseSpeed.hpp" #include "InverseSpeed.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = InverseSpeedClass; using CPP = multigroup::InverseSpeed; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h b/standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.h index e5451abcd..9c171d4be 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/InverseSpeed.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_INVERSESPEED -#define C_INTERFACE_TRY_V2_0_STYLES_INVERSESPEED +#ifndef C_INTERFACE_TEST_V2_0_STYLES_INVERSESPEED +#define C_INTERFACE_TEST_V2_0_STYLES_INVERSESPEED #include "GNDStk.h" #include "v2.0/containers/Gridded1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.cpp index d77aac9fc..ba0e56118 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/MonteCarlo_cdf.hpp" +#include "test/v2_0/styles/MonteCarlo_cdf.hpp" #include "MonteCarlo_cdf.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MonteCarlo_cdfClass; using CPP = multigroup::MonteCarlo_cdf; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.h b/standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.h index 47c8b98ac..d071db519 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/MonteCarlo_cdf.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_MONTECARLO_CDF -#define C_INTERFACE_TRY_V2_0_STYLES_MONTECARLO_CDF +#ifndef C_INTERFACE_TEST_V2_0_STYLES_MONTECARLO_CDF +#define C_INTERFACE_TEST_V2_0_STYLES_MONTECARLO_CDF #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.cpp index a28545723..59ca69ac4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/MultiBand.hpp" +#include "test/v2_0/styles/MultiBand.hpp" #include "MultiBand.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MultiBandClass; using CPP = multigroup::MultiBand; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.h b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.h index 95bc36f46..3dbc1116a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiBand.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_MULTIBAND -#define C_INTERFACE_TRY_V2_0_STYLES_MULTIBAND +#ifndef C_INTERFACE_TEST_V2_0_STYLES_MULTIBAND +#define C_INTERFACE_TEST_V2_0_STYLES_MULTIBAND #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.cpp index 4ec87a616..23ec2fe50 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/MultiGroup.hpp" +#include "test/v2_0/styles/MultiGroup.hpp" #include "MultiGroup.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MultiGroupClass; using CPP = multigroup::MultiGroup; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.h index 8f7f7cea8..b84d2b17d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/MultiGroup.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_MULTIGROUP -#define C_INTERFACE_TRY_V2_0_STYLES_MULTIGROUP +#ifndef C_INTERFACE_TEST_V2_0_STYLES_MULTIGROUP +#define C_INTERFACE_TEST_V2_0_STYLES_MULTIGROUP #include "GNDStk.h" #include "v2.0/containers/Grid.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.cpp index d012e5749..62356732b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/ProjectileEnergyDomain.hpp" +#include "test/v2_0/styles/ProjectileEnergyDomain.hpp" #include "ProjectileEnergyDomain.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProjectileEnergyDomainClass; using CPP = multigroup::ProjectileEnergyDomain; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.h b/standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.h index 5b770e564..fa50afae3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/ProjectileEnergyDomain.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_PROJECTILEENERGYDOMAIN -#define C_INTERFACE_TRY_V2_0_STYLES_PROJECTILEENERGYDOMAIN +#ifndef C_INTERFACE_TEST_V2_0_STYLES_PROJECTILEENERGYDOMAIN +#define C_INTERFACE_TEST_V2_0_STYLES_PROJECTILEENERGYDOMAIN #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Realization.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Realization.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Realization.cpp index e2e885abc..b52a8ed70 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Realization.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Realization.hpp" +#include "test/v2_0/styles/Realization.hpp" #include "Realization.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RealizationClass; using CPP = multigroup::Realization; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Realization.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Realization.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Realization.h index 511a091fb..6beb4eceb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Realization.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Realization.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_REALIZATION -#define C_INTERFACE_TRY_V2_0_STYLES_REALIZATION +#ifndef C_INTERFACE_TEST_V2_0_STYLES_REALIZATION +#define C_INTERFACE_TEST_V2_0_STYLES_REALIZATION #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.cpp index 6252a1b6c..5c2e9ae78 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/SigmaZeros.hpp" +#include "test/v2_0/styles/SigmaZeros.hpp" #include "SigmaZeros.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SigmaZerosClass; using CPP = multigroup::SigmaZeros; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h b/standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.h index e85f198b4..ead6ab0a2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/SigmaZeros.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_SIGMAZEROS -#define C_INTERFACE_TRY_V2_0_STYLES_SIGMAZEROS +#ifndef C_INTERFACE_TEST_V2_0_STYLES_SIGMAZEROS +#define C_INTERFACE_TEST_V2_0_STYLES_SIGMAZEROS #include "GNDStk.h" #include "v2.0/containers/Values.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.cpp index addfde1ec..6341208e2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/SnElasticUpScatter.hpp" +#include "test/v2_0/styles/SnElasticUpScatter.hpp" #include "SnElasticUpScatter.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SnElasticUpScatterClass; using CPP = multigroup::SnElasticUpScatter; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.h b/standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.h index 16cad9b33..0e183ab63 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/SnElasticUpScatter.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_SNELASTICUPSCATTER -#define C_INTERFACE_TRY_V2_0_STYLES_SNELASTICUPSCATTER +#ifndef C_INTERFACE_TEST_V2_0_STYLES_SNELASTICUPSCATTER +#define C_INTERFACE_TEST_V2_0_STYLES_SNELASTICUPSCATTER #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Styles.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Styles.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Styles.cpp index e71ee7815..4c59e9452 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Styles.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Styles.hpp" +#include "test/v2_0/styles/Styles.hpp" #include "Styles.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = StylesClass; using CPP = multigroup::Styles; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Styles.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Styles.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Styles.h index 257b5c379..60c96bdee 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Styles.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Styles.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_STYLES -#define C_INTERFACE_TRY_V2_0_STYLES_STYLES +#ifndef C_INTERFACE_TEST_V2_0_STYLES_STYLES +#define C_INTERFACE_TEST_V2_0_STYLES_STYLES #include "GNDStk.h" #include "v2.0/styles/Evaluated.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.cpp index 7a05673ef..b9bd33246 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Temperature.hpp" +#include "test/v2_0/styles/Temperature.hpp" #include "Temperature.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TemperatureClass; using CPP = multigroup::Temperature; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.h index d57315719..7f73e92ce 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Temperature.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_TEMPERATURE -#define C_INTERFACE_TRY_V2_0_STYLES_TEMPERATURE +#ifndef C_INTERFACE_TEST_V2_0_STYLES_TEMPERATURE +#define C_INTERFACE_TEST_V2_0_STYLES_TEMPERATURE #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.cpp index d173e18aa..6c0f14843 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Transportable.hpp" +#include "test/v2_0/styles/Transportable.hpp" #include "Transportable.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TransportableClass; using CPP = multigroup::Transportable; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.h index 9d55d0094..ca37aebc1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportable.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_TRANSPORTABLE -#define C_INTERFACE_TRY_V2_0_STYLES_TRANSPORTABLE +#ifndef C_INTERFACE_TEST_V2_0_STYLES_TRANSPORTABLE +#define C_INTERFACE_TEST_V2_0_STYLES_TRANSPORTABLE #include "GNDStk.h" #include "v2.0/styles/MultiGroup.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.cpp index 3aa4699df..473f241f4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/Transportables.hpp" +#include "test/v2_0/styles/Transportables.hpp" #include "Transportables.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = TransportablesClass; using CPP = multigroup::Transportables; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.h index d56d66736..390b4f300 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/Transportables.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_TRANSPORTABLES -#define C_INTERFACE_TRY_V2_0_STYLES_TRANSPORTABLES +#ifndef C_INTERFACE_TEST_V2_0_STYLES_TRANSPORTABLES +#define C_INTERFACE_TEST_V2_0_STYLES_TRANSPORTABLES #include "GNDStk.h" #include "v2.0/styles/Transportable.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.cpp b/standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.cpp rename to standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.cpp index 9d16bd34f..7129fefe3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/styles/URR_probabilityTables.hpp" +#include "test/v2_0/styles/URR_probabilityTables.hpp" #include "URR_probabilityTables.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = URR_probabilityTablesClass; using CPP = multigroup::URR_probabilityTables; diff --git a/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.h b/standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.h rename to standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.h index 003044c13..00ef40468 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/styles/URR_probabilityTables.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_STYLES_URR_PROBABILITYTABLES -#define C_INTERFACE_TRY_V2_0_STYLES_URR_PROBABILITYTABLES +#ifndef C_INTERFACE_TEST_V2_0_STYLES_URR_PROBABILITYTABLES +#define C_INTERFACE_TEST_V2_0_STYLES_URR_PROBABILITYTABLES #include "GNDStk.h" #include "v2.0/documentation/Documentation.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/A.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/A.cpp index 5c247b42f..10f080f3d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/A.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/A.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/A.hpp" +#include "test/v2_0/transport/A.hpp" #include "A.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AClass; using CPP = multigroup::A; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/A.h b/standards/gnds-2.0/test/c/src/v2.0/transport/A.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/A.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/A.h index 3d63f0b3c..ce31f9b64 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/A.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/A.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_A -#define C_INTERFACE_TRY_V2_0_TRANSPORT_A +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_A +#define C_INTERFACE_TEST_V2_0_TRANSPORT_A #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Add.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Add.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Add.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Add.cpp index a4fd9c966..177acd00f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Add.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Add.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Add.hpp" +#include "test/v2_0/transport/Add.hpp" #include "Add.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AddClass; using CPP = multigroup::Add; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Add.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Add.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Add.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Add.h index 33c0b646d..d984c2ae9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Add.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Add.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ADD -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ADD +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ADD +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ADD #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.cpp index d85bebeca..1346cef2f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/AngularEnergy.hpp" +#include "test/v2_0/transport/AngularEnergy.hpp" #include "AngularEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AngularEnergyClass; using CPP = multigroup::AngularEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.h index a55592f7e..ff4b0c658 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARENERGY -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARENERGY +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ANGULARENERGY +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ANGULARENERGY #include "GNDStk.h" #include "v2.0/containers/XYs3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.cpp index 6de733204..0ce03690b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/AngularTwoBody.hpp" +#include "test/v2_0/transport/AngularTwoBody.hpp" #include "AngularTwoBody.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = AngularTwoBodyClass; using CPP = multigroup::AngularTwoBody; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.h index 280453ede..2b67c49bd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/AngularTwoBody.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARTWOBODY -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULARTWOBODY +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ANGULARTWOBODY +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ANGULARTWOBODY #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.cpp index 30b71d6dd..9a4719532 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Angular_uncorrelated.hpp" +#include "test/v2_0/transport/Angular_uncorrelated.hpp" #include "Angular_uncorrelated.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Angular_uncorrelatedClass; using CPP = multigroup::Angular_uncorrelated; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.h index d49278fc9..48d9efb5d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Angular_uncorrelated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ANGULAR_UNCORRELATED +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ANGULAR_UNCORRELATED #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Background.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Background.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Background.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Background.cpp index 331a2fbe6..55ebfdcba 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Background.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Background.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Background.hpp" +#include "test/v2_0/transport/Background.hpp" #include "Background.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BackgroundClass; using CPP = multigroup::Background; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Background.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Background.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Background.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Background.h index abbfaed6b..a8d9b94e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Background.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Background.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_BACKGROUND -#define C_INTERFACE_TRY_V2_0_TRANSPORT_BACKGROUND +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_BACKGROUND +#define C_INTERFACE_TEST_V2_0_TRANSPORT_BACKGROUND #include "GNDStk.h" #include "v2.0/transport/ResolvedRegion.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.cpp index 6ce0bd808..c63664dab 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Branching1d.hpp" +#include "test/v2_0/transport/Branching1d.hpp" #include "Branching1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Branching1dClass; using CPP = multigroup::Branching1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.h index a98df36c5..e65ec3239 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_BRANCHING1D -#define C_INTERFACE_TRY_V2_0_TRANSPORT_BRANCHING1D +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_BRANCHING1D +#define C_INTERFACE_TEST_V2_0_TRANSPORT_BRANCHING1D #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.cpp index afc3fa6af..b4bd0c4f8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Branching3d.hpp" +#include "test/v2_0/transport/Branching3d.hpp" #include "Branching3d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Branching3dClass; using CPP = multigroup::Branching3d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.h index 49304c398..674ef1511 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Branching3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_BRANCHING3D -#define C_INTERFACE_TRY_V2_0_TRANSPORT_BRANCHING3D +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_BRANCHING3D +#define C_INTERFACE_TEST_V2_0_TRANSPORT_BRANCHING3D #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.cpp index 38b206743..822fedce7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/CoherentPhoton.hpp" +#include "test/v2_0/transport/CoherentPhoton.hpp" #include "CoherentPhoton.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CoherentPhotonClass; using CPP = multigroup::CoherentPhoton; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.h index 7158a5ad7..8686637b8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CoherentPhoton.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_COHERENTPHOTON -#define C_INTERFACE_TRY_V2_0_TRANSPORT_COHERENTPHOTON +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_COHERENTPHOTON +#define C_INTERFACE_TEST_V2_0_TRANSPORT_COHERENTPHOTON #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp index d89335cff..d834e595c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/CrossSection.hpp" +#include "test/v2_0/transport/CrossSection.hpp" #include "CrossSection.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CrossSectionClass; using CPP = multigroup::CrossSection; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h index 639a5093a..fa64cdece 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_CROSSSECTION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_CROSSSECTION #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.cpp index 4617a6cae..b0dc3cbfa 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/CrossSectionSum.hpp" +#include "test/v2_0/transport/CrossSectionSum.hpp" #include "CrossSectionSum.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CrossSectionSumClass; using CPP = multigroup::CrossSectionSum; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.h index 75ead2d60..f44b0294d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUM -#define C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUM +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_CROSSSECTIONSUM +#define C_INTERFACE_TEST_V2_0_TRANSPORT_CROSSSECTIONSUM #include "GNDStk.h" #include "v2.0/common/Q.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.cpp index 2496efd95..8a3b6d5ff 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/CrossSectionSums.hpp" +#include "test/v2_0/transport/CrossSectionSums.hpp" #include "CrossSectionSums.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CrossSectionSumsClass; using CPP = multigroup::CrossSectionSums; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.h index 9df990113..fdc2e1b02 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/CrossSectionSums.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUMS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_CROSSSECTIONSUMS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_CROSSSECTIONSUMS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_CROSSSECTIONSUMS #include "GNDStk.h" #include "v2.0/transport/CrossSectionSum.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.cpp index 2388c7be4..5c0001d30 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/DiscreteGamma.hpp" +#include "test/v2_0/transport/DiscreteGamma.hpp" #include "DiscreteGamma.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DiscreteGammaClass; using CPP = multigroup::DiscreteGamma; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h b/standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.h index ca65c501e..6f702c9e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/DiscreteGamma.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_DISCRETEGAMMA -#define C_INTERFACE_TRY_V2_0_TRANSPORT_DISCRETEGAMMA +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_DISCRETEGAMMA +#define C_INTERFACE_TEST_V2_0_TRANSPORT_DISCRETEGAMMA #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp index d25049a50..add2d011c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Distribution.hpp" +#include "test/v2_0/transport/Distribution.hpp" #include "Distribution.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DistributionClass; using CPP = multigroup::Distribution; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h index 8e0d42d00..dbd3933c7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Distribution.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_DISTRIBUTION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_DISTRIBUTION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_DISTRIBUTION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_DISTRIBUTION #include "GNDStk.h" #include "v2.0/transport/AngularTwoBody.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp index 4b3d5a2e0..8bf909034 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/DoubleDifferentialCrossSection.hpp" +#include "test/v2_0/transport/DoubleDifferentialCrossSection.hpp" #include "DoubleDifferentialCrossSection.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DoubleDifferentialCrossSectionClass; using CPP = multigroup::DoubleDifferentialCrossSection; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.h index 7b2fa0c91..8d0ae70ce 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/DoubleDifferentialCrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION #include "GNDStk.h" #include "v2.0/containers/Regions3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.cpp index a184cfef0..b8744b5a5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/EnergyAngular.hpp" +#include "test/v2_0/transport/EnergyAngular.hpp" #include "EnergyAngular.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EnergyAngularClass; using CPP = multigroup::EnergyAngular; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h b/standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.h index 8bbc65659..02fc8dc61 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/EnergyAngular.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGYANGULAR -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGYANGULAR +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ENERGYANGULAR +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ENERGYANGULAR #include "GNDStk.h" #include "v2.0/containers/XYs3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.cpp index a5bf288db..7c4f1976c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Energy_uncorrelated.hpp" +#include "test/v2_0/transport/Energy_uncorrelated.hpp" #include "Energy_uncorrelated.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Energy_uncorrelatedClass; using CPP = multigroup::Energy_uncorrelated; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.h index 24495e790..3633a60a4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Energy_uncorrelated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ENERGY_UNCORRELATED +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ENERGY_UNCORRELATED #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.cpp index 7f4c3da8d..0782225df 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Evaporation.hpp" +#include "test/v2_0/transport/Evaporation.hpp" #include "Evaporation.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = EvaporationClass; using CPP = multigroup::Evaporation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.h index a048fc5d4..7f89fd599 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Evaporation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_EVAPORATION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_EVAPORATION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_EVAPORATION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_EVAPORATION #include "GNDStk.h" #include "v2.0/transport/U.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/F.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/F.cpp index 541d7c114..0005e1ad1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/F.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/F.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/F.hpp" +#include "test/v2_0/transport/F.hpp" #include "F.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FClass; using CPP = multigroup::F; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/F.h b/standards/gnds-2.0/test/c/src/v2.0/transport/F.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/F.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/F.h index da4e0ae9d..fa2f00304 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/F.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/F.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_F -#define C_INTERFACE_TRY_V2_0_TRANSPORT_F +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_F +#define C_INTERFACE_TEST_V2_0_TRANSPORT_F #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.cpp index 83db3028c..4afe30fb7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/FastRegion.hpp" +#include "test/v2_0/transport/FastRegion.hpp" #include "FastRegion.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FastRegionClass; using CPP = multigroup::FastRegion; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h b/standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.h index 091371dfb..2d2043cdb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/FastRegion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_FASTREGION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_FASTREGION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_FASTREGION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_FASTREGION #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Forward.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Forward.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Forward.cpp index b04a7372b..6940a69fc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Forward.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Forward.hpp" +#include "test/v2_0/transport/Forward.hpp" #include "Forward.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ForwardClass; using CPP = multigroup::Forward; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Forward.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Forward.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Forward.h index 81cd3d9c8..8373f852b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Forward.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Forward.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_FORWARD -#define C_INTERFACE_TRY_V2_0_TRANSPORT_FORWARD +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_FORWARD +#define C_INTERFACE_TEST_V2_0_TRANSPORT_FORWARD #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/G.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/G.cpp index 54a9947a9..cd4be3223 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/G.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/G.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/G.hpp" +#include "test/v2_0/transport/G.hpp" #include "G.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = GClass; using CPP = multigroup::G; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/G.h b/standards/gnds-2.0/test/c/src/v2.0/transport/G.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/G.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/G.h index 814d0d28e..6dc78a756 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/G.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/G.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_G -#define C_INTERFACE_TRY_V2_0_TRANSPORT_G +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_G +#define C_INTERFACE_TEST_V2_0_TRANSPORT_G #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.cpp index 2c78f7a44..65b5357e8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/GeneralEvaporation.hpp" +#include "test/v2_0/transport/GeneralEvaporation.hpp" #include "GeneralEvaporation.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = GeneralEvaporationClass; using CPP = multigroup::GeneralEvaporation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.h b/standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.h index 7b812961f..3a5ba6a67 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/GeneralEvaporation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_GENERALEVAPORATION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_GENERALEVAPORATION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_GENERALEVAPORATION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_GENERALEVAPORATION #include "GNDStk.h" #include "v2.0/transport/U.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.cpp index 76e9b889a..249390221 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/IncoherentPhoton.hpp" +#include "test/v2_0/transport/IncoherentPhoton.hpp" #include "IncoherentPhoton.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IncoherentPhotonClass; using CPP = multigroup::IncoherentPhoton; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.h b/standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.h index 6e0500725..2abcab9ed 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/IncoherentPhoton.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_INCOHERENTPHOTON -#define C_INTERFACE_TRY_V2_0_TRANSPORT_INCOHERENTPHOTON +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_INCOHERENTPHOTON +#define C_INTERFACE_TEST_V2_0_TRANSPORT_INCOHERENTPHOTON #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.cpp index 8a27e5e3e..3031f132b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/IncompleteReactions.hpp" +#include "test/v2_0/transport/IncompleteReactions.hpp" #include "IncompleteReactions.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = IncompleteReactionsClass; using CPP = multigroup::IncompleteReactions; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.h b/standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.h index 62659e2f0..9661f37f3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/IncompleteReactions.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_INCOMPLETEREACTIONS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_INCOMPLETEREACTIONS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_INCOMPLETEREACTIONS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_INCOMPLETEREACTIONS #include "GNDStk.h" #include "v2.0/transport/Reaction.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.cpp index ddf3c1bf5..a02571ffe 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Isotropic2d.hpp" +#include "test/v2_0/transport/Isotropic2d.hpp" #include "Isotropic2d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = Isotropic2dClass; using CPP = multigroup::Isotropic2d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.h index b0ecd5a5b..f591221bc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Isotropic2d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ISOTROPIC2D -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ISOTROPIC2D +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ISOTROPIC2D +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ISOTROPIC2D #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.cpp index bb8e9fda9..dc849afe5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/KalbachMann.hpp" +#include "test/v2_0/transport/KalbachMann.hpp" #include "KalbachMann.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = KalbachMannClass; using CPP = multigroup::KalbachMann; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.h b/standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.h index 9f6430eb3..5cf1141cd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/KalbachMann.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_KALBACHMANN -#define C_INTERFACE_TRY_V2_0_TRANSPORT_KALBACHMANN +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_KALBACHMANN +#define C_INTERFACE_TEST_V2_0_TRANSPORT_KALBACHMANN #include "GNDStk.h" #include "v2.0/transport/F.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.cpp index 9bc95f77f..9d6ff5463 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/MultiGroup3d.hpp" +#include "test/v2_0/transport/MultiGroup3d.hpp" #include "MultiGroup3d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MultiGroup3dClass; using CPP = multigroup::MultiGroup3d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.h index 897db6b1d..ff23ff3a0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiGroup3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIGROUP3D -#define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIGROUP3D +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_MULTIGROUP3D +#define C_INTERFACE_TEST_V2_0_TRANSPORT_MULTIGROUP3D #include "GNDStk.h" #include "v2.0/containers/Gridded3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.cpp index d07a0b7ce..48211af08 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Multiplicity.hpp" +#include "test/v2_0/transport/Multiplicity.hpp" #include "Multiplicity.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MultiplicityClass; using CPP = multigroup::Multiplicity; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.h index 351c90d66..df9c87f23 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Multiplicity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITY -#define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITY +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_MULTIPLICITY +#define C_INTERFACE_TEST_V2_0_TRANSPORT_MULTIPLICITY #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.cpp index bdba301c7..099eb5aac 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/MultiplicitySum.hpp" +#include "test/v2_0/transport/MultiplicitySum.hpp" #include "MultiplicitySum.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MultiplicitySumClass; using CPP = multigroup::MultiplicitySum; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.h b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.h index ec48f1a12..9c7fd19cc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITYSUM -#define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITYSUM +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_MULTIPLICITYSUM +#define C_INTERFACE_TEST_V2_0_TRANSPORT_MULTIPLICITYSUM #include "GNDStk.h" #include "v2.0/transport/Multiplicity.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.cpp index dff4e3388..09d93fae3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/MultiplicitySums.hpp" +#include "test/v2_0/transport/MultiplicitySums.hpp" #include "MultiplicitySums.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MultiplicitySumsClass; using CPP = multigroup::MultiplicitySums; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.h b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.h index 090c377e6..c9cf8004a 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/MultiplicitySums.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITYSUMS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_MULTIPLICITYSUMS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_MULTIPLICITYSUMS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_MULTIPLICITYSUMS #include "GNDStk.h" #include "v2.0/transport/MultiplicitySum.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.cpp index f0293b63c..e45de033b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/NBodyPhaseSpace.hpp" +#include "test/v2_0/transport/NBodyPhaseSpace.hpp" #include "NBodyPhaseSpace.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = NBodyPhaseSpaceClass; using CPP = multigroup::NBodyPhaseSpace; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h b/standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.h index 56b4da5ce..c4cebe293 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/NBodyPhaseSpace.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_NBODYPHASESPACE -#define C_INTERFACE_TRY_V2_0_TRANSPORT_NBODYPHASESPACE +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_NBODYPHASESPACE +#define C_INTERFACE_TEST_V2_0_TRANSPORT_NBODYPHASESPACE #include "GNDStk.h" #include "v2.0/tsl/Mass.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.cpp index 86714652c..d0bbb23f2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/OrphanProduct.hpp" +#include "test/v2_0/transport/OrphanProduct.hpp" #include "OrphanProduct.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = OrphanProductClass; using CPP = multigroup::OrphanProduct; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.h b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.h index 507d98350..a394d0d28 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProduct.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ORPHANPRODUCT -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ORPHANPRODUCT +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ORPHANPRODUCT +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ORPHANPRODUCT #include "GNDStk.h" #include "v2.0/transport/CrossSection.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.cpp index 375eb0df3..272f85901 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/OrphanProducts.hpp" +#include "test/v2_0/transport/OrphanProducts.hpp" #include "OrphanProducts.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = OrphanProductsClass; using CPP = multigroup::OrphanProducts; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.h b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.h index 0c1f4f2e0..ecc0a249c 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/OrphanProducts.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_ORPHANPRODUCTS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_ORPHANPRODUCTS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_ORPHANPRODUCTS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_ORPHANPRODUCTS #include "GNDStk.h" #include "v2.0/transport/OrphanProduct.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.cpp index 1429243ab..1b97d3573 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/OutputChannel.hpp" +#include "test/v2_0/transport/OutputChannel.hpp" #include "OutputChannel.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = OutputChannelClass; using CPP = multigroup::OutputChannel; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h b/standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.h index f58aae2e9..fcec3c9c7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/OutputChannel.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_OUTPUTCHANNEL -#define C_INTERFACE_TRY_V2_0_TRANSPORT_OUTPUTCHANNEL +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_OUTPUTCHANNEL +#define C_INTERFACE_TEST_V2_0_TRANSPORT_OUTPUTCHANNEL #include "GNDStk.h" #include "v2.0/common/Q.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp index 751e8c699..f496a2070 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/PhotonEmissionProbabilities.hpp" +#include "test/v2_0/transport/PhotonEmissionProbabilities.hpp" #include "PhotonEmissionProbabilities.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PhotonEmissionProbabilitiesClass; using CPP = multigroup::PhotonEmissionProbabilities; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.h b/standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.h index c3c82b05a..d1c0699c6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/PhotonEmissionProbabilities.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES -#define C_INTERFACE_TRY_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES +#define C_INTERFACE_TEST_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES #include "GNDStk.h" #include "v2.0/pops/Shell.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.cpp index 162583460..ff7ba1094 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/PrimaryGamma.hpp" +#include "test/v2_0/transport/PrimaryGamma.hpp" #include "PrimaryGamma.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PrimaryGammaClass; using CPP = multigroup::PrimaryGamma; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h b/standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.h index 01df94dca..96026feb4 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/PrimaryGamma.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_PRIMARYGAMMA -#define C_INTERFACE_TRY_V2_0_TRANSPORT_PRIMARYGAMMA +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_PRIMARYGAMMA +#define C_INTERFACE_TEST_V2_0_TRANSPORT_PRIMARYGAMMA #include "GNDStk.h" #include "v2.0/containers/Axes.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Production.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Production.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Production.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Production.cpp index 3f9a48336..d137e6c6e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Production.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Production.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Production.hpp" +#include "test/v2_0/transport/Production.hpp" #include "Production.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProductionClass; using CPP = multigroup::Production; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Production.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Production.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Production.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Production.h index ed61dbd1f..131ef7cae 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Production.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Production.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_PRODUCTION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_PRODUCTION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_PRODUCTION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_PRODUCTION #include "GNDStk.h" #include "v2.0/transport/CrossSection.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Productions.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Productions.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Productions.cpp index 02bfc9356..5b38d3746 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Productions.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Productions.hpp" +#include "test/v2_0/transport/Productions.hpp" #include "Productions.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ProductionsClass; using CPP = multigroup::Productions; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Productions.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Productions.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Productions.h index 4893b4e23..fde8dd6e5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Productions.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Productions.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_PRODUCTIONS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_PRODUCTIONS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_PRODUCTIONS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_PRODUCTIONS #include "GNDStk.h" #include "v2.0/transport/Production.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/R.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/R.cpp index 0946c1910..2c3b0eecd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/R.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/R.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/R.hpp" +#include "test/v2_0/transport/R.hpp" #include "R.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RClass; using CPP = multigroup::R; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/R.h b/standards/gnds-2.0/test/c/src/v2.0/transport/R.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/R.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/R.h index 4e189a98e..19b0c05c6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/R.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/R.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_R -#define C_INTERFACE_TRY_V2_0_TRANSPORT_R +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_R +#define C_INTERFACE_TEST_V2_0_TRANSPORT_R #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.cpp index 941948bd3..0748a99b8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Reaction.hpp" +#include "test/v2_0/transport/Reaction.hpp" #include "Reaction.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ReactionClass; using CPP = multigroup::Reaction; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.h index a6d7c2708..51ec0f6d1 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Reaction.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_REACTION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_REACTION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_REACTION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_REACTION #include "GNDStk.h" #include "v2.0/transport/DoubleDifferentialCrossSection.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.cpp index 045f4ee65..c3d4835a8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/ReactionSuite.hpp" +#include "test/v2_0/transport/ReactionSuite.hpp" #include "ReactionSuite.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ReactionSuiteClass; using CPP = multigroup::ReactionSuite; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h b/standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.h index c73f068b5..af498f0cc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ReactionSuite.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_REACTIONSUITE -#define C_INTERFACE_TRY_V2_0_TRANSPORT_REACTIONSUITE +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_REACTIONSUITE +#define C_INTERFACE_TEST_V2_0_TRANSPORT_REACTIONSUITE #include "GNDStk.h" #include "v2.0/common/ExternalFiles.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.cpp index d0b258c4b..9628ed685 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Reactions.hpp" +#include "test/v2_0/transport/Reactions.hpp" #include "Reactions.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ReactionsClass; using CPP = multigroup::Reactions; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.h index 6ddf9db0a..08b3f1668 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Reactions.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_REACTIONS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_REACTIONS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_REACTIONS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_REACTIONS #include "GNDStk.h" #include "v2.0/transport/Reaction.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.cpp index 9994ffa77..fffe28454 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Recoil.hpp" +#include "test/v2_0/transport/Recoil.hpp" #include "Recoil.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = RecoilClass; using CPP = multigroup::Recoil; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.h index d76fc17e5..748ffc842 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Recoil.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_RECOIL -#define C_INTERFACE_TRY_V2_0_TRANSPORT_RECOIL +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_RECOIL +#define C_INTERFACE_TEST_V2_0_TRANSPORT_RECOIL #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Reference.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Reference.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Reference.cpp index 257be5af6..76905e9a0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reference.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Reference.hpp" +#include "test/v2_0/transport/Reference.hpp" #include "Reference.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ReferenceClass; using CPP = multigroup::Reference; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Reference.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Reference.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Reference.h index 3b8f88dd9..ddc387a12 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Reference.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reference.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_REFERENCE -#define C_INTERFACE_TRY_V2_0_TRANSPORT_REFERENCE +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_REFERENCE +#define C_INTERFACE_TEST_V2_0_TRANSPORT_REFERENCE #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.cpp index f28588f2b..e5f164d73 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/ResolvedRegion.hpp" +#include "test/v2_0/transport/ResolvedRegion.hpp" #include "ResolvedRegion.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ResolvedRegionClass; using CPP = multigroup::ResolvedRegion; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h b/standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.h index f721711e0..1fc989342 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResolvedRegion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_RESOLVEDREGION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_RESOLVEDREGION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_RESOLVEDREGION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_RESOLVEDREGION #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.cpp index f1d315916..7c920c38d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/ResonancesLink.hpp" +#include "test/v2_0/transport/ResonancesLink.hpp" #include "ResonancesLink.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ResonancesLinkClass; using CPP = multigroup::ResonancesLink; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.h b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.h index 1ab615f8c..f91415c75 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesLink.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_RESONANCESLINK -#define C_INTERFACE_TRY_V2_0_TRANSPORT_RESONANCESLINK +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_RESONANCESLINK +#define C_INTERFACE_TEST_V2_0_TRANSPORT_RESONANCESLINK #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.cpp index 24a2f5a62..22b71ab05 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/ResonancesWithBackground.hpp" +#include "test/v2_0/transport/ResonancesWithBackground.hpp" #include "ResonancesWithBackground.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ResonancesWithBackgroundClass; using CPP = multigroup::ResonancesWithBackground; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.h index ac622c3e2..b60f0cb20 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/ResonancesWithBackground.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND -#define C_INTERFACE_TRY_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND +#define C_INTERFACE_TEST_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND #include "GNDStk.h" #include "v2.0/transport/ResonancesLink.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Summands.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Summands.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Summands.cpp index 07e8787da..a4dcc1d1b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Summands.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Summands.hpp" +#include "test/v2_0/transport/Summands.hpp" #include "Summands.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SummandsClass; using CPP = multigroup::Summands; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Summands.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Summands.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Summands.h index e6624f0d4..1094dde74 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Summands.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Summands.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_SUMMANDS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_SUMMANDS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_SUMMANDS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_SUMMANDS #include "GNDStk.h" #include "v2.0/transport/Add.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Sums.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Sums.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Sums.cpp index 807ed634c..eb64d9d35 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Sums.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Sums.hpp" +#include "test/v2_0/transport/Sums.hpp" #include "Sums.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SumsClass; using CPP = multigroup::Sums; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Sums.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Sums.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Sums.h index 5891dafc9..9cd505283 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Sums.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Sums.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_SUMS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_SUMS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_SUMS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_SUMS #include "GNDStk.h" #include "v2.0/transport/CrossSectionSums.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Theta.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Theta.cpp index 8172e8ded..8292a23d7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Theta.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Theta.hpp" +#include "test/v2_0/transport/Theta.hpp" #include "Theta.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ThetaClass; using CPP = multigroup::Theta; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Theta.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Theta.h index f0bedbeac..988f1e49b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Theta.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Theta.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_THETA -#define C_INTERFACE_TRY_V2_0_TRANSPORT_THETA +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_THETA +#define C_INTERFACE_TEST_V2_0_TRANSPORT_THETA #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/U.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/U.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/U.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/U.cpp index d8136ffb1..858e607db 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/U.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/U.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/U.hpp" +#include "test/v2_0/transport/U.hpp" #include "U.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UClass; using CPP = multigroup::U; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/U.h b/standards/gnds-2.0/test/c/src/v2.0/transport/U.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/U.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/U.h index 1335041c8..0bebcdebb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/U.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/U.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_U -#define C_INTERFACE_TRY_V2_0_TRANSPORT_U +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_U +#define C_INTERFACE_TEST_V2_0_TRANSPORT_U #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.cpp index 19b233e9c..8c268477f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/URR_probabilityTables1d.hpp" +#include "test/v2_0/transport/URR_probabilityTables1d.hpp" #include "URR_probabilityTables1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = URR_probabilityTables1dClass; using CPP = multigroup::URR_probabilityTables1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.h index 6ce1ba95d..c948f4a18 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/URR_probabilityTables1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D -#define C_INTERFACE_TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D +#define C_INTERFACE_TEST_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D #include "GNDStk.h" #include "v2.0/containers/XYs2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.cpp index 42238050a..98eb59d0b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Uncorrelated.hpp" +#include "test/v2_0/transport/Uncorrelated.hpp" #include "Uncorrelated.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UncorrelatedClass; using CPP = multigroup::Uncorrelated; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.h index d1c4d29e1..bbd9ae5bf 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Uncorrelated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_UNCORRELATED -#define C_INTERFACE_TRY_V2_0_TRANSPORT_UNCORRELATED +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_UNCORRELATED +#define C_INTERFACE_TEST_V2_0_TRANSPORT_UNCORRELATED #include "GNDStk.h" #include "v2.0/transport/Angular_uncorrelated.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.cpp index df4c6dddd..a49dedc04 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/UnresolvedRegion.hpp" +#include "test/v2_0/transport/UnresolvedRegion.hpp" #include "UnresolvedRegion.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UnresolvedRegionClass; using CPP = multigroup::UnresolvedRegion; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h b/standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.h index 8f7b7c962..d5c5d7fdd 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/UnresolvedRegion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_UNRESOLVEDREGION -#define C_INTERFACE_TRY_V2_0_TRANSPORT_UNRESOLVEDREGION +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_UNRESOLVEDREGION +#define C_INTERFACE_TEST_V2_0_TRANSPORT_UNRESOLVEDREGION #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.cpp index 63d9c4903..8345bd7f6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Unspecified.hpp" +#include "test/v2_0/transport/Unspecified.hpp" #include "Unspecified.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = UnspecifiedClass; using CPP = multigroup::Unspecified; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.h index d83a8d9a0..2f2fa72de 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Unspecified.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_UNSPECIFIED -#define C_INTERFACE_TRY_V2_0_TRANSPORT_UNSPECIFIED +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_UNSPECIFIED +#define C_INTERFACE_TEST_V2_0_TRANSPORT_UNSPECIFIED #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.cpp index 23cf9e5e0..c3005b24f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/Weighted.hpp" +#include "test/v2_0/transport/Weighted.hpp" #include "Weighted.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = WeightedClass; using CPP = multigroup::Weighted; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.h index 26591c15a..d01757753 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/Weighted.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTED -#define C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTED +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_WEIGHTED +#define C_INTERFACE_TEST_V2_0_TRANSPORT_WEIGHTED #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.cpp rename to standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.cpp index 96f86018a..23a8c83f5 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/transport/WeightedFunctionals.hpp" +#include "test/v2_0/transport/WeightedFunctionals.hpp" #include "WeightedFunctionals.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = WeightedFunctionalsClass; using CPP = multigroup::WeightedFunctionals; diff --git a/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.h b/standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.h rename to standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.h index b73e25d49..6f0c32990 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/transport/WeightedFunctionals.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS -#define C_INTERFACE_TRY_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS +#ifndef C_INTERFACE_TEST_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS +#define C_INTERFACE_TEST_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS #include "GNDStk.h" #include "v2.0/transport/Weighted.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.cpp index aa5fab3a2..e3eaf9638 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/BoundAtomCrossSection.hpp" +#include "test/v2_0/tsl/BoundAtomCrossSection.hpp" #include "BoundAtomCrossSection.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BoundAtomCrossSectionClass; using CPP = multigroup::BoundAtomCrossSection; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.h index c8fd2b308..ea09358a7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BoundAtomCrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_BOUNDATOMCROSSSECTION -#define C_INTERFACE_TRY_V2_0_TSL_BOUNDATOMCROSSSECTION +#ifndef C_INTERFACE_TEST_V2_0_TSL_BOUNDATOMCROSSSECTION +#define C_INTERFACE_TEST_V2_0_TSL_BOUNDATOMCROSSSECTION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.cpp index 9077fa91e..93daa26f6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/BraggEdge.hpp" +#include "test/v2_0/tsl/BraggEdge.hpp" #include "BraggEdge.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BraggEdgeClass; using CPP = multigroup::BraggEdge; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.h index 97df04df6..945ac70e0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdge.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_BRAGGEDGE -#define C_INTERFACE_TRY_V2_0_TSL_BRAGGEDGE +#ifndef C_INTERFACE_TEST_V2_0_TSL_BRAGGEDGE +#define C_INTERFACE_TEST_V2_0_TSL_BRAGGEDGE #include "GNDStk.h" #include "v2.0/tsl/BraggEnergy.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.cpp index fb78bbe23..347f4a903 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/BraggEdges.hpp" +#include "test/v2_0/tsl/BraggEdges.hpp" #include "BraggEdges.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BraggEdgesClass; using CPP = multigroup::BraggEdges; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.h index 99bcb7164..c0b7d3da0 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEdges.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_BRAGGEDGES -#define C_INTERFACE_TRY_V2_0_TSL_BRAGGEDGES +#ifndef C_INTERFACE_TEST_V2_0_TSL_BRAGGEDGES +#define C_INTERFACE_TEST_V2_0_TSL_BRAGGEDGES #include "GNDStk.h" #include "v2.0/tsl/BraggEdge.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.cpp index 5f67c94e7..6590deb0b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/BraggEnergy.hpp" +#include "test/v2_0/tsl/BraggEnergy.hpp" #include "BraggEnergy.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = BraggEnergyClass; using CPP = multigroup::BraggEnergy; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.h index 46650f441..ec1a71f34 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/BraggEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_BRAGGENERGY -#define C_INTERFACE_TRY_V2_0_TSL_BRAGGENERGY +#ifndef C_INTERFACE_TEST_V2_0_TSL_BRAGGENERGY +#define C_INTERFACE_TEST_V2_0_TSL_BRAGGENERGY #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp index d77db2937..fe26587f3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/CoherentAtomCrossSection.hpp" +#include "test/v2_0/tsl/CoherentAtomCrossSection.hpp" #include "CoherentAtomCrossSection.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = CoherentAtomCrossSectionClass; using CPP = multigroup::CoherentAtomCrossSection; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.h index bef7372ee..90f7559df 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/CoherentAtomCrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_COHERENTATOMCROSSSECTION -#define C_INTERFACE_TRY_V2_0_TSL_COHERENTATOMCROSSSECTION +#ifndef C_INTERFACE_TEST_V2_0_TSL_COHERENTATOMCROSSSECTION +#define C_INTERFACE_TEST_V2_0_TSL_COHERENTATOMCROSSSECTION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.cpp index c83e2ad3b..fd612258e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/DebyeWallerIntegral.hpp" +#include "test/v2_0/tsl/DebyeWallerIntegral.hpp" #include "DebyeWallerIntegral.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DebyeWallerIntegralClass; using CPP = multigroup::DebyeWallerIntegral; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.h index 5aaa63746..a6102b2d9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/DebyeWallerIntegral.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_DEBYEWALLERINTEGRAL -#define C_INTERFACE_TRY_V2_0_TSL_DEBYEWALLERINTEGRAL +#ifndef C_INTERFACE_TEST_V2_0_TSL_DEBYEWALLERINTEGRAL +#define C_INTERFACE_TEST_V2_0_TSL_DEBYEWALLERINTEGRAL #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.cpp index c5377fafe..c4f792d21 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/DistinctScatteringKernel.hpp" +#include "test/v2_0/tsl/DistinctScatteringKernel.hpp" #include "DistinctScatteringKernel.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = DistinctScatteringKernelClass; using CPP = multigroup::DistinctScatteringKernel; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.h index cd3183ab0..02f92a974 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/DistinctScatteringKernel.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL -#define C_INTERFACE_TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL +#ifndef C_INTERFACE_TEST_V2_0_TSL_DISTINCTSCATTERINGKERNEL +#define C_INTERFACE_TEST_V2_0_TSL_DISTINCTSCATTERINGKERNEL #include "GNDStk.h" #include "v2.0/containers/Gridded3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.cpp index 4e41f8fe1..a254e3929 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/E_critical.hpp" +#include "test/v2_0/tsl/E_critical.hpp" #include "E_critical.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = E_criticalClass; using CPP = multigroup::E_critical; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.h index 5806d0d86..4d5e9b8d7 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_critical.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_E_CRITICAL -#define C_INTERFACE_TRY_V2_0_TSL_E_CRITICAL +#ifndef C_INTERFACE_TEST_V2_0_TSL_E_CRITICAL +#define C_INTERFACE_TEST_V2_0_TSL_E_CRITICAL #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.cpp index c21dff16c..e8ea34bfb 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/E_max.hpp" +#include "test/v2_0/tsl/E_max.hpp" #include "E_max.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = E_maxClass; using CPP = multigroup::E_max; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.h index c60ad5cf1..d83bddb88 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/E_max.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_E_MAX -#define C_INTERFACE_TRY_V2_0_TSL_E_MAX +#ifndef C_INTERFACE_TEST_V2_0_TSL_E_MAX +#define C_INTERFACE_TEST_V2_0_TSL_E_MAX #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.cpp index 04f03f205..8dbbbe12e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/FreeGasApproximation.hpp" +#include "test/v2_0/tsl/FreeGasApproximation.hpp" #include "FreeGasApproximation.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = FreeGasApproximationClass; using CPP = multigroup::FreeGasApproximation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.h index f485dcfdd..3e445c025 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/FreeGasApproximation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_FREEGASAPPROXIMATION -#define C_INTERFACE_TRY_V2_0_TSL_FREEGASAPPROXIMATION +#ifndef C_INTERFACE_TEST_V2_0_TSL_FREEGASAPPROXIMATION +#define C_INTERFACE_TEST_V2_0_TSL_FREEGASAPPROXIMATION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.cpp index 055856724..81c521719 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/GaussianApproximation.hpp" +#include "test/v2_0/tsl/GaussianApproximation.hpp" #include "GaussianApproximation.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = GaussianApproximationClass; using CPP = multigroup::GaussianApproximation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.h index 26939c815..5f4ee9eea 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/GaussianApproximation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_GAUSSIANAPPROXIMATION -#define C_INTERFACE_TRY_V2_0_TSL_GAUSSIANAPPROXIMATION +#ifndef C_INTERFACE_TEST_V2_0_TSL_GAUSSIANAPPROXIMATION +#define C_INTERFACE_TEST_V2_0_TSL_GAUSSIANAPPROXIMATION #include "GNDStk.h" #include "v2.0/tsl/PhononSpectrum.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.cpp index 60f349ffa..a0838b244 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/Mass.hpp" +#include "test/v2_0/tsl/Mass.hpp" #include "Mass.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = MassClass; using CPP = multigroup::Mass; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.h index cc53b6324..301c32932 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/Mass.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_MASS -#define C_INTERFACE_TRY_V2_0_TSL_MASS +#ifndef C_INTERFACE_TEST_V2_0_TSL_MASS +#define C_INTERFACE_TEST_V2_0_TSL_MASS #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.cpp index 2031d2358..2cc667c39 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/PhononSpectrum.hpp" +#include "test/v2_0/tsl/PhononSpectrum.hpp" #include "PhononSpectrum.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = PhononSpectrumClass; using CPP = multigroup::PhononSpectrum; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.h index 549bc2019..1386f8a93 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/PhononSpectrum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_PHONONSPECTRUM -#define C_INTERFACE_TRY_V2_0_TSL_PHONONSPECTRUM +#ifndef C_INTERFACE_TEST_V2_0_TSL_PHONONSPECTRUM +#define C_INTERFACE_TEST_V2_0_TSL_PHONONSPECTRUM #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.cpp similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.cpp index 1dade862f..b08a5c3b2 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/SCTApproximation.hpp" +#include "test/v2_0/tsl/SCTApproximation.hpp" #include "SCTApproximation.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SCTApproximationClass; using CPP = multigroup::SCTApproximation; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.h similarity index 97% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.h index d20f8dff9..128020e3b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/SCTApproximation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_SCTAPPROXIMATION -#define C_INTERFACE_TRY_V2_0_TSL_SCTAPPROXIMATION +#ifndef C_INTERFACE_TEST_V2_0_TSL_SCTAPPROXIMATION +#define C_INTERFACE_TEST_V2_0_TSL_SCTAPPROXIMATION #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.cpp index a2079cd93..74173c6d8 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/S_table.hpp" +#include "test/v2_0/tsl/S_table.hpp" #include "S_table.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = S_tableClass; using CPP = multigroup::S_table; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.h index 74ecfa2ea..7bcb0db4d 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/S_table.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_S_TABLE -#define C_INTERFACE_TRY_V2_0_TSL_S_TABLE +#ifndef C_INTERFACE_TEST_V2_0_TSL_S_TABLE +#define C_INTERFACE_TEST_V2_0_TSL_S_TABLE #include "GNDStk.h" #include "v2.0/containers/Gridded2d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.cpp index 237bcf7a6..8adfa0cd3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/ScatteringAtom.hpp" +#include "test/v2_0/tsl/ScatteringAtom.hpp" #include "ScatteringAtom.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ScatteringAtomClass; using CPP = multigroup::ScatteringAtom; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.h similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.h index 257949970..ee4fc8a4e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtom.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOM -#define C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOM +#ifndef C_INTERFACE_TEST_V2_0_TSL_SCATTERINGATOM +#define C_INTERFACE_TEST_V2_0_TSL_SCATTERINGATOM #include "GNDStk.h" #include "v2.0/tsl/Mass.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.cpp index 6fd109b84..a14a180a3 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/ScatteringAtoms.hpp" +#include "test/v2_0/tsl/ScatteringAtoms.hpp" #include "ScatteringAtoms.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ScatteringAtomsClass; using CPP = multigroup::ScatteringAtoms; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.h index 515ba8284..3f801362e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ScatteringAtoms.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOMS -#define C_INTERFACE_TRY_V2_0_TSL_SCATTERINGATOMS +#ifndef C_INTERFACE_TEST_V2_0_TSL_SCATTERINGATOMS +#define C_INTERFACE_TEST_V2_0_TSL_SCATTERINGATOMS #include "GNDStk.h" #include "v2.0/tsl/ScatteringAtom.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.cpp index 87106805f..3eab7506e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/SelfScatteringKernel.hpp" +#include "test/v2_0/tsl/SelfScatteringKernel.hpp" #include "SelfScatteringKernel.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = SelfScatteringKernelClass; using CPP = multigroup::SelfScatteringKernel; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.h index 4702dd482..a21f21327 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/SelfScatteringKernel.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_SELFSCATTERINGKERNEL -#define C_INTERFACE_TRY_V2_0_TSL_SELFSCATTERINGKERNEL +#ifndef C_INTERFACE_TEST_V2_0_TSL_SELFSCATTERINGKERNEL +#define C_INTERFACE_TEST_V2_0_TSL_SELFSCATTERINGKERNEL #include "GNDStk.h" #include "v2.0/containers/Gridded3d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.cpp index f4f0bbf8a..2b725bc5e 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/StructureFactor.hpp" +#include "test/v2_0/tsl/StructureFactor.hpp" #include "StructureFactor.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = StructureFactorClass; using CPP = multigroup::StructureFactor; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.h index 903457a89..f2108d008 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/StructureFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_STRUCTUREFACTOR -#define C_INTERFACE_TRY_V2_0_TSL_STRUCTUREFACTOR +#ifndef C_INTERFACE_TEST_V2_0_TSL_STRUCTUREFACTOR +#define C_INTERFACE_TEST_V2_0_TSL_STRUCTUREFACTOR #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.cpp index 1f29b6bfd..bc903a3dc 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/T_effective.hpp" +#include "test/v2_0/tsl/T_effective.hpp" #include "T_effective.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = T_effectiveClass; using CPP = multigroup::T_effective; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.h index 3a1b1bd6f..c71c6612b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/T_effective.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_T_EFFECTIVE -#define C_INTERFACE_TRY_V2_0_TSL_T_EFFECTIVE +#ifndef C_INTERFACE_TEST_V2_0_TSL_T_EFFECTIVE +#define C_INTERFACE_TEST_V2_0_TSL_T_EFFECTIVE #include "GNDStk.h" #include "v2.0/containers/XYs1d.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp index ab0bea235..451f54236 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "test/v2_0/tsl/ThermalNeutronScatteringLaw.hpp" #include "ThermalNeutronScatteringLaw.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ThermalNeutronScatteringLawClass; using CPP = multigroup::ThermalNeutronScatteringLaw; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h index 8fc339109..102681b72 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW -#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW +#ifndef C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW +#define C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp index ac051ea4a..e7018e83b 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "test/v2_0/tsl/ThermalNeutronScatteringLaw1d.hpp" #include "ThermalNeutronScatteringLaw1d.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ThermalNeutronScatteringLaw1dClass; using CPP = multigroup::ThermalNeutronScatteringLaw1d; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h index 80c5f7957..6c8876763 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW1D -#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW1D +#ifndef C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW1D +#define C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW1D #include "GNDStk.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp index d4ac19a21..639334e20 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "test/v2_0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" #include "ThermalNeutronScatteringLaw_coherentElastic.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ThermalNeutronScatteringLaw_coherentElasticClass; using CPP = multigroup::ThermalNeutronScatteringLaw_coherentElastic; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h index 6568e4046..64f421c4f 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_COHERENTELASTIC -#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_COHERENTELASTIC +#ifndef C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_COHERENTELASTIC +#define C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_COHERENTELASTIC #include "GNDStk.h" #include "v2.0/tsl/S_table.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp index c912769b1..8e5a9f630 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "test/v2_0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" #include "ThermalNeutronScatteringLaw_incoherentElastic.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ThermalNeutronScatteringLaw_incoherentElasticClass; using CPP = multigroup::ThermalNeutronScatteringLaw_incoherentElastic; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h index 89c32807a..a56a14aa6 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTELASTIC -#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTELASTIC +#ifndef C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTELASTIC +#define C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTELASTIC #include "GNDStk.h" #include "v2.0/tsl/BoundAtomCrossSection.h" diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp similarity index 99% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp index b1ec34609..703976ca9 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "try/v2_0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "test/v2_0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" #include "ThermalNeutronScatteringLaw_incoherentInelastic.h" using namespace njoy::GNDStk; -using namespace try::v2_0; +using namespace test::v2_0; using C = ThermalNeutronScatteringLaw_incoherentInelasticClass; using CPP = multigroup::ThermalNeutronScatteringLaw_incoherentInelastic; diff --git a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h similarity index 98% rename from standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h rename to standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h index b71f1a02e..e7aa9a649 100644 --- a/standards/gnds-2.0/try/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTINELASTIC -#define C_INTERFACE_TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTINELASTIC +#ifndef C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTINELASTIC +#define C_INTERFACE_TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW_INCOHERENTINELASTIC #include "GNDStk.h" #include "v2.0/tsl/ScatteringAtoms.h" diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/appData.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/appData.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/appData.python.cpp index 615e6ba0c..bd451fb9f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/appData.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/appData.python.cpp @@ -24,7 +24,7 @@ void wrapAppData(python::module &module) // create the appData submodule python::module submodule = module.def_submodule( "appData", - "try v2.0 appData" + "test v2.0 appData" ); // wrap appData components diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData/ApplicationData.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/appData/ApplicationData.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/appData/ApplicationData.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/appData/ApplicationData.python.cpp index ea861e828..f411217fb 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/appData/ApplicationData.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/appData/ApplicationData.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/appData/ApplicationData.hpp" +#include "test/v2.0/appData/ApplicationData.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_appData { // ApplicationData wrapper void wrapApplicationData(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = appData::ApplicationData; diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData/Conversion.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/appData/Conversion.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/appData/Conversion.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/appData/Conversion.python.cpp index 4d4a19adf..be16b3299 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/appData/Conversion.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/appData/Conversion.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/appData/Conversion.hpp" +#include "test/v2.0/appData/Conversion.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_appData { // Conversion wrapper void wrapConversion(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = appData::Conversion; diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData/ENDFconversionFlags.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/appData/ENDFconversionFlags.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/appData/ENDFconversionFlags.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/appData/ENDFconversionFlags.python.cpp index 165749309..281913bed 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/appData/ENDFconversionFlags.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/appData/ENDFconversionFlags.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/appData/ENDFconversionFlags.hpp" +#include "test/v2.0/appData/ENDFconversionFlags.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_appData { // ENDFconversionFlags wrapper void wrapENDFconversionFlags(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = appData::ENDFconversionFlags; diff --git a/standards/gnds-2.0/try/python/src/v2.0/appData/Institution.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/appData/Institution.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/appData/Institution.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/appData/Institution.python.cpp index 16f92d2f6..b24c968f2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/appData/Institution.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/appData/Institution.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/appData/Institution.hpp" +#include "test/v2.0/appData/Institution.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_appData { // Institution wrapper void wrapInstitution(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = appData::Institution; diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/atomic.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/atomic.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/atomic.python.cpp index 8beeb3c1d..0951c6e69 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/atomic.python.cpp @@ -26,7 +26,7 @@ void wrapAtomic(python::module &module) // create the atomic submodule python::module submodule = module.def_submodule( "atomic", - "try v2.0 atomic" + "test v2.0 atomic" ); // wrap atomic components diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp index fc4abe044..b96123cc1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/atomic/CoherentPhotonScattering.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "test/v2.0/atomic/CoherentPhotonScattering.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_atomic { // CoherentPhotonScattering wrapper void wrapCoherentPhotonScattering(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = atomic::CoherentPhotonScattering; diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/atomic/FormFactor.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/atomic/FormFactor.python.cpp index 458efb46c..9814d9cf4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/FormFactor.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/atomic/FormFactor.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/atomic/FormFactor.hpp" +#include "test/v2.0/atomic/FormFactor.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_atomic { // FormFactor wrapper void wrapFormFactor(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = atomic::FormFactor; diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp index 49a262dfc..e46c1e247 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/atomic/ImaginaryAnomalousFactor.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/atomic/ImaginaryAnomalousFactor.hpp" +#include "test/v2.0/atomic/ImaginaryAnomalousFactor.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_atomic { // ImaginaryAnomalousFactor wrapper void wrapImaginaryAnomalousFactor(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = atomic::ImaginaryAnomalousFactor; diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp index 89ef39301..b483cc8a1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/atomic/IncoherentPhotonScattering.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "test/v2.0/atomic/IncoherentPhotonScattering.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_atomic { // IncoherentPhotonScattering wrapper void wrapIncoherentPhotonScattering(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = atomic::IncoherentPhotonScattering; diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp index 8c387da11..e584d0e2e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/atomic/RealAnomalousFactor.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/atomic/RealAnomalousFactor.hpp" +#include "test/v2.0/atomic/RealAnomalousFactor.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_atomic { // RealAnomalousFactor wrapper void wrapRealAnomalousFactor(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = atomic::RealAnomalousFactor; diff --git a/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/atomic/ScatteringFactor.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/atomic/ScatteringFactor.python.cpp index 5d17a21ed..10c2dcf72 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/atomic/ScatteringFactor.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/atomic/ScatteringFactor.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/atomic/ScatteringFactor.hpp" +#include "test/v2.0/atomic/ScatteringFactor.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_atomic { // ScatteringFactor wrapper void wrapScatteringFactor(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = atomic::ScatteringFactor; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/common.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common.python.cpp index ed69cf8fa..3ec7a142e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common.python.cpp @@ -29,7 +29,7 @@ void wrapCommon(python::module &module) // create the common submodule python::module submodule = module.def_submodule( "common", - "try v2.0 common" + "test v2.0 common" ); // wrap common components diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/Energy.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/Energy.python.cpp index ea144f1ec..e23ab2d70 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Energy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/Energy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/Energy.hpp" +#include "test/v2.0/common/Energy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // Energy wrapper void wrapEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::Energy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFile.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/ExternalFile.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/common/ExternalFile.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/ExternalFile.python.cpp index a1986a5f2..ac51dd90a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFile.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/ExternalFile.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/ExternalFile.hpp" +#include "test/v2.0/common/ExternalFile.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // ExternalFile wrapper void wrapExternalFile(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::ExternalFile; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFiles.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/ExternalFiles.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/common/ExternalFiles.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/ExternalFiles.python.cpp index 679701925..db7bf5970 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/ExternalFiles.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/ExternalFiles.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/ExternalFiles.hpp" +#include "test/v2.0/common/ExternalFiles.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // ExternalFiles wrapper void wrapExternalFiles(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::ExternalFiles; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/Mass.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/Mass.python.cpp index 30896823b..e8271b871 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Mass.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/Mass.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/Mass.hpp" +#include "test/v2.0/common/Mass.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // Mass wrapper void wrapMass(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::Mass; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/Probability.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/Probability.python.cpp index a58ec753a..3e0147bee 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Probability.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/Probability.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/Probability.hpp" +#include "test/v2.0/common/Probability.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // Probability wrapper void wrapProbability(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::Probability; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Product.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/Product.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/common/Product.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/Product.python.cpp index cbb1f46dd..fbe7432d3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Product.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/Product.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/Product.hpp" +#include "test/v2.0/common/Product.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // Product wrapper void wrapProduct(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::Product; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Products.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/Products.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/common/Products.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/Products.python.cpp index 36f141072..746c14ee8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Products.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/Products.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/Products.hpp" +#include "test/v2.0/common/Products.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // Products wrapper void wrapProducts(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::Products; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/Q.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/Q.python.cpp index f3057f488..08a74a9cb 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Q.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/Q.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/Q.hpp" +#include "test/v2.0/common/Q.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // Q wrapper void wrapQ(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::Q; diff --git a/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/Temperature.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/common/Temperature.python.cpp index bee883aa3..8cd7942a4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/common/Temperature.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/Temperature.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/common/Temperature.hpp" +#include "test/v2.0/common/Temperature.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_common { // Temperature wrapper void wrapTemperature(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = common::Temperature; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp similarity index 99% rename from standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp index 7865659dc..2649ff9c6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp @@ -62,7 +62,7 @@ void wrapContainers(python::module &module) // create the containers submodule python::module submodule = module.def_submodule( "containers", - "try v2.0 containers" + "test v2.0 containers" ); // wrap containers components diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Array.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Array.python.cpp index ddba7031c..a5ff3e35d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Array.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Array.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Array.hpp" +#include "test/v2.0/containers/Array.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Array wrapper void wrapArray(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Array; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Axes.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Axes.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Axes.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Axes.python.cpp index 8d632b4f4..2aee1d6ec 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Axes.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Axes.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Axes.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Axes wrapper void wrapAxes(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Axes; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Axis.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Axis.python.cpp index a5513cc03..2eb6f282a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Axis.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Axis.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Axis.hpp" +#include "test/v2.0/containers/Axis.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Axis wrapper void wrapAxis(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Axis; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp index 19bb4e5d1..03ccbe899 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Cdf_in_xs_pdf_cdf1d wrapper void wrapCdf_in_xs_pdf_cdf1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Cdf_in_xs_pdf_cdf1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Column.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Column.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Column.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Column.python.cpp index d44aa1120..47d466dd9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Column.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Column.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Column.hpp" +#include "test/v2.0/containers/Column.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Column wrapper void wrapColumn(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Column; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/ColumnHeaders.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/ColumnHeaders.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/ColumnHeaders.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/ColumnHeaders.python.cpp index 990f01856..c6dfcb8f4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/ColumnHeaders.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/ColumnHeaders.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/ColumnHeaders.hpp" +#include "test/v2.0/containers/ColumnHeaders.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // ColumnHeaders wrapper void wrapColumnHeaders(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::ColumnHeaders; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/ConfidenceIntervals.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/ConfidenceIntervals.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/ConfidenceIntervals.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/ConfidenceIntervals.python.cpp index 2937a68d9..b0f73e9b5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/ConfidenceIntervals.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/ConfidenceIntervals.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/ConfidenceIntervals.hpp" +#include "test/v2.0/containers/ConfidenceIntervals.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // ConfidenceIntervals wrapper void wrapConfidenceIntervals(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::ConfidenceIntervals; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Constant1d.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Constant1d.python.cpp index 209c3bcea..0e85770bb 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Constant1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Constant1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/Constant1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Constant1d wrapper void wrapConstant1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Constant1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Covariance.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Covariance.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Covariance.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Covariance.python.cpp index 33dfdb76b..121c67cee 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Covariance.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Covariance.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Covariance.hpp" +#include "test/v2.0/containers/Covariance.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Covariance wrapper void wrapCovariance(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Covariance; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Data.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Data.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Data.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Data.python.cpp index 2251cf217..7384ee3f1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Data.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Data.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Data.hpp" +#include "test/v2.0/containers/Data.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Data wrapper void wrapData(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Data; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Double.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Double.python.cpp index da6298721..cbd0f9237 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Double.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Double.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Double.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Double wrapper void wrapDouble(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Double; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Fraction.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Fraction.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Fraction.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Fraction.python.cpp index c3ec55eb6..19c4c204d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Fraction.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Fraction.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Fraction.hpp" +#include "test/v2.0/containers/Fraction.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Fraction wrapper void wrapFraction(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Fraction; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Function1ds.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Function1ds.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Function1ds.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Function1ds.python.cpp index dc6a2ff18..7bb6b7d62 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Function1ds.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Function1ds.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Function1ds.hpp" +#include "test/v2.0/containers/Function1ds.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Function1ds wrapper void wrapFunction1ds(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Function1ds; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Function2ds.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Function2ds.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Function2ds.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Function2ds.python.cpp index b203e2a44..1a1760221 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Function2ds.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Function2ds.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Function2ds.hpp" +#include "test/v2.0/containers/Function2ds.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Function2ds wrapper void wrapFunction2ds(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Function2ds; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Function3ds.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Function3ds.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Function3ds.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Function3ds.python.cpp index 846fea2cc..046cfa54b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Function3ds.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Function3ds.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Function3ds.hpp" +#include "test/v2.0/containers/Function3ds.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Function3ds wrapper void wrapFunction3ds(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Function3ds; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Grid.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Grid.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Grid.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Grid.python.cpp index 923c9eb3c..da85879a1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Grid.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Grid.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Grid.hpp" +#include "test/v2.0/containers/Grid.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Grid wrapper void wrapGrid(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Grid; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Gridded1d.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Gridded1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Gridded1d.python.cpp index def4f526d..8429d27bc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Gridded1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Gridded1d wrapper void wrapGridded1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Gridded1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded2d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Gridded2d.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Gridded2d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Gridded2d.python.cpp index 424ab1341..198cd5486 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded2d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Gridded2d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Gridded2d.hpp" +#include "test/v2.0/containers/Gridded2d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Gridded2d wrapper void wrapGridded2d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Gridded2d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded3d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Gridded3d.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Gridded3d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Gridded3d.python.cpp index fb30f640f..2b36416c0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Gridded3d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Gridded3d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Gridded3d.hpp" +#include "test/v2.0/containers/Gridded3d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Gridded3d wrapper void wrapGridded3d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Gridded3d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Integer.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Integer.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Integer.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Integer.python.cpp index 0bc4dae05..f30b775c9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Integer.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Integer.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Integer.hpp" +#include "test/v2.0/containers/Integer.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Integer wrapper void wrapInteger(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Integer; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Interval.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Interval.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Interval.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Interval.python.cpp index 04239acf6..34ca09ebb 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Interval.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Interval.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Interval.hpp" +#include "test/v2.0/containers/Interval.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Interval wrapper void wrapInterval(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Interval; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Legendre.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Legendre.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Legendre.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Legendre.python.cpp index 3711b2655..4f32f8e1d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Legendre.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Legendre.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Legendre.hpp" +#include "test/v2.0/containers/Legendre.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Legendre wrapper void wrapLegendre(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Legendre; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Link.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Link.python.cpp index 335b8e857..2628474ee 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Link.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Link.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Link.hpp" +#include "test/v2.0/containers/Link.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Link wrapper void wrapLink(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Link; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/ListOfCovariances.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/ListOfCovariances.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/ListOfCovariances.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/ListOfCovariances.python.cpp index 2b1d61171..b03917b94 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/ListOfCovariances.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/ListOfCovariances.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/ListOfCovariances.hpp" +#include "test/v2.0/containers/ListOfCovariances.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // ListOfCovariances wrapper void wrapListOfCovariances(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::ListOfCovariances; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/LogNormal.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/LogNormal.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/LogNormal.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/LogNormal.python.cpp index a5f8f7c33..38a1e75f5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/LogNormal.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/LogNormal.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/LogNormal.hpp" +#include "test/v2.0/containers/LogNormal.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // LogNormal wrapper void wrapLogNormal(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::LogNormal; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Pdf.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Pdf.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Pdf.python.cpp index a3dda33c6..c4c9276de 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Pdf.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Pdf.hpp" +#include "test/v2.0/containers/Pdf.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Pdf wrapper void wrapPdf(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Pdf; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp index 76930079b..5f1fec901 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Pdf_in_xs_pdf_cdf1d wrapper void wrapPdf_in_xs_pdf_cdf1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Pdf_in_xs_pdf_cdf1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Polynomial1d.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Polynomial1d.python.cpp index 012f102af..5dce737c4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Polynomial1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Polynomial1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Polynomial1d wrapper void wrapPolynomial1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Polynomial1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Regions1d.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Regions1d.python.cpp index a10dd6e24..cacbf9e69 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Regions1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Regions1d wrapper void wrapRegions1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Regions1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Regions2d.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Regions2d.python.cpp index 7e3673a78..f865fee8a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions2d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Regions2d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Regions2d wrapper void wrapRegions2d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Regions2d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Regions3d.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Regions3d.python.cpp index deb1cb7b9..40c7020f4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Regions3d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Regions3d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Regions3d.hpp" +#include "test/v2.0/containers/Regions3d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Regions3d wrapper void wrapRegions3d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Regions3d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Standard.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Standard.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Standard.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Standard.python.cpp index 9414e6eb7..9ec0db0cf 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Standard.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Standard.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Standard.hpp" +#include "test/v2.0/containers/Standard.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Standard wrapper void wrapStandard(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Standard; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/String.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/String.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/String.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/String.python.cpp index 736f8ecb9..7e177fe17 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/String.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/String.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/String.hpp" +#include "test/v2.0/containers/String.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // String wrapper void wrapString(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::String; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Table.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Table.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Table.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Table.python.cpp index f40ea19e2..147223c07 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Table.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Table.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Table.hpp" +#include "test/v2.0/containers/Table.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Table wrapper void wrapTable(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Table; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Uncertainty.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Uncertainty.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Uncertainty.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Uncertainty.python.cpp index 63c49b1f3..62e6fef27 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Uncertainty.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Uncertainty.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Uncertainty wrapper void wrapUncertainty(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Uncertainty; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Values.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Values.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Values.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Values.python.cpp index 850f56ac3..fabff581d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Values.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Values.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Values.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Values wrapper void wrapValues(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Values; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/XYs1d.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/XYs1d.python.cpp index bda71830a..82033d118 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/XYs1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // XYs1d wrapper void wrapXYs1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::XYs1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/XYs2d.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/XYs2d.python.cpp index 48d4d1554..12c4bb51c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs2d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/XYs2d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // XYs2d wrapper void wrapXYs2d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::XYs2d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/XYs3d.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/XYs3d.python.cpp index 25ff26d97..5b784c3c5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/XYs3d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/XYs3d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/XYs3d.hpp" +#include "test/v2.0/containers/XYs3d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // XYs3d wrapper void wrapXYs3d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::XYs3d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp index 8db770c19..50f648e4b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Xs_in_xs_pdf_cdf1d wrapper void wrapXs_in_xs_pdf_cdf1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Xs_in_xs_pdf_cdf1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp index 2faf76b76..156e5d504 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Xs_pdf_cdf1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Xs_pdf_cdf1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Xs_pdf_cdf1d wrapper void wrapXs_pdf_cdf1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Xs_pdf_cdf1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/containers/Ys1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Ys1d.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/containers/Ys1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/containers/Ys1d.python.cpp index 57d49c02d..971e8a37f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/containers/Ys1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Ys1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/containers/Ys1d.hpp" +#include "test/v2.0/containers/Ys1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_containers { // Ys1d wrapper void wrapYs1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = containers::Ys1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/covariance.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance.python.cpp index 0e2b3814d..562dacac4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance.python.cpp @@ -42,7 +42,7 @@ void wrapCovariance(python::module &module) // create the covariance submodule python::module submodule = module.def_submodule( "covariance", - "try v2.0 covariance" + "test v2.0 covariance" ); // wrap covariance components diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp index da1b9565c..218393a39 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/AverageParameterCovariance.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/AverageParameterCovariance.hpp" +#include "test/v2.0/covariance/AverageParameterCovariance.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // AverageParameterCovariance wrapper void wrapAverageParameterCovariance(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::AverageParameterCovariance; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnData.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/ColumnData.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnData.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/ColumnData.python.cpp index 16ca9afdb..e1c47c138 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnData.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/ColumnData.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/ColumnData.hpp" +#include "test/v2.0/covariance/ColumnData.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // ColumnData wrapper void wrapColumnData(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::ColumnData; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/ColumnSensitivity.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/ColumnSensitivity.python.cpp index 648699c3c..210534da1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ColumnSensitivity.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/ColumnSensitivity.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/ColumnSensitivity.hpp" +#include "test/v2.0/covariance/ColumnSensitivity.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // ColumnSensitivity wrapper void wrapColumnSensitivity(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::ColumnSensitivity; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/Covariance.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/Covariance.python.cpp index 35ea77114..e4933f41c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/Covariance.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/Covariance.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/Covariance.hpp" +#include "test/v2.0/covariance/Covariance.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // Covariance wrapper void wrapCovariance(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::Covariance; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceMatrix.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceMatrix.python.cpp index e459535f2..f0bedcbd5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceMatrix.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceMatrix.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/CovarianceMatrix.hpp" +#include "test/v2.0/covariance/CovarianceMatrix.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // CovarianceMatrix wrapper void wrapCovarianceMatrix(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::CovarianceMatrix; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSection.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSection.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSection.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSection.python.cpp index 3b8e8b9cb..1ea168ee6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSection.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSection.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/CovarianceSection.hpp" +#include "test/v2.0/covariance/CovarianceSection.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // CovarianceSection wrapper void wrapCovarianceSection(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::CovarianceSection; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSections.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSections.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSections.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSections.python.cpp index 2674d3c9e..a19b90031 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSections.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSections.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/CovarianceSections.hpp" +#include "test/v2.0/covariance/CovarianceSections.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // CovarianceSections wrapper void wrapCovarianceSections(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::CovarianceSections; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSuite.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSuite.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSuite.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSuite.python.cpp index 0cf08b557..0051c5057 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/CovarianceSuite.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/CovarianceSuite.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/CovarianceSuite.hpp" +#include "test/v2.0/covariance/CovarianceSuite.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // CovarianceSuite wrapper void wrapCovarianceSuite(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::CovarianceSuite; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Mixed.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/Mixed.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/Mixed.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/Mixed.python.cpp index 8476db00c..5868297ab 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/Mixed.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/Mixed.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/Mixed.hpp" +#include "test/v2.0/covariance/Mixed.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // Mixed wrapper void wrapMixed(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::Mixed; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariance.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovariance.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariance.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovariance.python.cpp index 6386137aa..b192d1c90 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariance.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovariance.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/ParameterCovariance.hpp" +#include "test/v2.0/covariance/ParameterCovariance.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // ParameterCovariance wrapper void wrapParameterCovariance(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::ParameterCovariance; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp index fc108fe23..442af08b6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovarianceMatrix.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/ParameterCovarianceMatrix.hpp" +#include "test/v2.0/covariance/ParameterCovarianceMatrix.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // ParameterCovarianceMatrix wrapper void wrapParameterCovarianceMatrix(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::ParameterCovarianceMatrix; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariances.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovariances.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariances.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovariances.python.cpp index df5efef3f..db5211518 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterCovariances.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterCovariances.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/ParameterCovariances.hpp" +#include "test/v2.0/covariance/ParameterCovariances.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // ParameterCovariances wrapper void wrapParameterCovariances(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::ParameterCovariances; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterLink.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterLink.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterLink.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterLink.python.cpp index b931cd1d9..789a6c73d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ParameterLink.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/ParameterLink.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/ParameterLink.hpp" +#include "test/v2.0/covariance/ParameterLink.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // ParameterLink wrapper void wrapParameterLink(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::ParameterLink; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Parameters.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/Parameters.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/Parameters.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/Parameters.python.cpp index 3585e0024..0855ad6ef 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/Parameters.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/Parameters.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/Parameters.hpp" +#include "test/v2.0/covariance/Parameters.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // Parameters wrapper void wrapParameters(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::Parameters; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/RowData.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/RowData.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/RowData.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/RowData.python.cpp index 187174b51..97e6fbf1a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/RowData.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/RowData.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/RowData.hpp" +#include "test/v2.0/covariance/RowData.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // RowData wrapper void wrapRowData(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::RowData; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/RowSensitivity.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/RowSensitivity.python.cpp index a0d6c9043..83827d99b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/RowSensitivity.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/RowSensitivity.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/RowSensitivity.hpp" +#include "test/v2.0/covariance/RowSensitivity.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // RowSensitivity wrapper void wrapRowSensitivity(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::RowSensitivity; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/SandwichProduct.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/SandwichProduct.python.cpp index 8c0680778..9284bf9fc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/SandwichProduct.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/SandwichProduct.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/SandwichProduct.hpp" +#include "test/v2.0/covariance/SandwichProduct.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // SandwichProduct wrapper void wrapSandwichProduct(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::SandwichProduct; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp index 334eb60f5..1248cf5bc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/ShortRangeSelfScalingVariance.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // ShortRangeSelfScalingVariance wrapper void wrapShortRangeSelfScalingVariance(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::ShortRangeSelfScalingVariance; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Slice.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/Slice.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/Slice.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/Slice.python.cpp index 99178453e..883022d04 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/Slice.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/Slice.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/Slice.hpp" +#include "test/v2.0/covariance/Slice.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // Slice wrapper void wrapSlice(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::Slice; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Slices.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/Slices.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/Slices.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/Slices.python.cpp index 7b844d6aa..0b0a8f4fb 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/Slices.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/Slices.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/Slices.hpp" +#include "test/v2.0/covariance/Slices.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // Slices wrapper void wrapSlices(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::Slices; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Sum.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/Sum.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/Sum.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/Sum.python.cpp index e61089264..40567b1c0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/Sum.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/Sum.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/Sum.hpp" +#include "test/v2.0/covariance/Sum.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // Sum wrapper void wrapSum(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::Sum; diff --git a/standards/gnds-2.0/try/python/src/v2.0/covariance/Summand.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/covariance/Summand.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/covariance/Summand.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/covariance/Summand.python.cpp index d6e5189b2..010f7a877 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/covariance/Summand.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/covariance/Summand.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/covariance/Summand.hpp" +#include "test/v2.0/covariance/Summand.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_covariance { // Summand wrapper void wrapSummand(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = covariance::Summand; diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/cpTransport.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/cpTransport.python.cpp index 64a04f6ed..1b8380246 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport.python.cpp @@ -27,7 +27,7 @@ void wrapCpTransport(python::module &module) // create the cpTransport submodule python::module submodule = module.def_submodule( "cpTransport", - "try v2.0 cpTransport" + "test v2.0 cpTransport" ); // wrap cpTransport components diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp index a6302d6ec..0d5b116ba 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_cpTransport { // CoulombPlusNuclearElastic wrapper void wrapCoulombPlusNuclearElastic(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = cpTransport::CoulombPlusNuclearElastic; diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp index 1fe96dbbd..a05c1485c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/ImaginaryInterferenceTerm.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" +#include "test/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_cpTransport { // ImaginaryInterferenceTerm wrapper void wrapImaginaryInterferenceTerm(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = cpTransport::ImaginaryInterferenceTerm; diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp index 8e4492286..c1d5fb0b3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearAmplitudeExpansion.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "test/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_cpTransport { // NuclearAmplitudeExpansion wrapper void wrapNuclearAmplitudeExpansion(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = cpTransport::NuclearAmplitudeExpansion; diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp index d13f0d440..64e2d92b0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearPlusInterference.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/cpTransport/NuclearPlusInterference.hpp" +#include "test/v2.0/cpTransport/NuclearPlusInterference.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_cpTransport { // NuclearPlusInterference wrapper void wrapNuclearPlusInterference(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = cpTransport::NuclearPlusInterference; diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearTerm.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearTerm.python.cpp index 9652cdf91..50c0b8bce 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/NuclearTerm.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/NuclearTerm.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/cpTransport/NuclearTerm.hpp" +#include "test/v2.0/cpTransport/NuclearTerm.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_cpTransport { // NuclearTerm wrapper void wrapNuclearTerm(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = cpTransport::NuclearTerm; diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp index b32c57c7e..9469b2877 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/RealInterferenceTerm.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/cpTransport/RealInterferenceTerm.hpp" +#include "test/v2.0/cpTransport/RealInterferenceTerm.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_cpTransport { // RealInterferenceTerm wrapper void wrapRealInterferenceTerm(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = cpTransport::RealInterferenceTerm; diff --git a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp index 0ab78b656..53abba3b2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/RutherfordScattering.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/cpTransport/RutherfordScattering.hpp" +#include "test/v2.0/cpTransport/RutherfordScattering.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_cpTransport { // RutherfordScattering wrapper void wrapRutherfordScattering(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = cpTransport::RutherfordScattering; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation.python.cpp similarity index 99% rename from standards/gnds-2.0/try/python/src/v2.0/documentation.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation.python.cpp index aaf72d270..36d08a9e5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation.python.cpp @@ -59,7 +59,7 @@ void wrapDocumentation(python::module &module) // create the documentation submodule python::module submodule = module.def_submodule( "documentation", - "try v2.0 documentation" + "test v2.0 documentation" ); // wrap documentation components diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Abstract.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Abstract.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Abstract.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Abstract.python.cpp index 50c3dbf6f..d230d08d3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Abstract.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Abstract.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Abstract.hpp" +#include "test/v2.0/documentation/Abstract.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Abstract wrapper void wrapAbstract(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Abstract; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgement.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgement.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgement.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgement.python.cpp index 58361de1b..63325e4f8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgement.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgement.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Acknowledgement.hpp" +#include "test/v2.0/documentation/Acknowledgement.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Acknowledgement wrapper void wrapAcknowledgement(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Acknowledgement; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgements.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgements.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgements.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgements.python.cpp index 204e7020a..3e379bf0c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Acknowledgements.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgements.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Acknowledgements.hpp" +#include "test/v2.0/documentation/Acknowledgements.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Acknowledgements wrapper void wrapAcknowledgements(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Acknowledgements; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliation.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Affiliation.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliation.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Affiliation.python.cpp index 8097a9666..3c3e73510 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliation.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Affiliation.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Affiliation.hpp" +#include "test/v2.0/documentation/Affiliation.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Affiliation wrapper void wrapAffiliation(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Affiliation; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliations.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Affiliations.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliations.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Affiliations.python.cpp index f2395e190..b44538a45 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Affiliations.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Affiliations.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Affiliations.hpp" +#include "test/v2.0/documentation/Affiliations.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Affiliations wrapper void wrapAffiliations(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Affiliations; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Author.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Author.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Author.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Author.python.cpp index b25ae98f9..b3edc0353 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Author.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Author.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Author.hpp" +#include "test/v2.0/documentation/Author.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Author wrapper void wrapAuthor(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Author; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Authors.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Authors.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Authors.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Authors.python.cpp index 859046a9a..4361af3ba 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Authors.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Authors.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Authors.hpp" +#include "test/v2.0/documentation/Authors.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Authors wrapper void wrapAuthors(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Authors; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibitem.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Bibitem.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Bibitem.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Bibitem.python.cpp index ec9d76cb6..381a55054 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibitem.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Bibitem.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Bibitem.hpp" +#include "test/v2.0/documentation/Bibitem.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Bibitem wrapper void wrapBibitem(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Bibitem; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibliography.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Bibliography.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Bibliography.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Bibliography.python.cpp index e017e20cf..b81568ee1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Bibliography.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Bibliography.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Bibliography.hpp" +#include "test/v2.0/documentation/Bibliography.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Bibliography wrapper void wrapBibliography(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Bibliography; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Body.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Body.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Body.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Body.python.cpp index 51bd6169d..478897611 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Body.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Body.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Body.hpp" +#include "test/v2.0/documentation/Body.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Body wrapper void wrapBody(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Body; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/CodeRepo.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/CodeRepo.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/CodeRepo.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/CodeRepo.python.cpp index 71ed7f0d8..d6e6a20e6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/CodeRepo.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/CodeRepo.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/CodeRepo.hpp" +#include "test/v2.0/documentation/CodeRepo.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // CodeRepo wrapper void wrapCodeRepo(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::CodeRepo; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaboration.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Collaboration.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Collaboration.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Collaboration.python.cpp index 2962efdae..12e30a0ca 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaboration.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Collaboration.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Collaboration.hpp" +#include "test/v2.0/documentation/Collaboration.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Collaboration wrapper void wrapCollaboration(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Collaboration; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaborations.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Collaborations.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Collaborations.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Collaborations.python.cpp index 3f7a821dc..3b1abaaaf 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Collaborations.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Collaborations.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Collaborations.hpp" +#include "test/v2.0/documentation/Collaborations.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Collaborations wrapper void wrapCollaborations(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Collaborations; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCode.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/ComputerCode.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCode.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/ComputerCode.python.cpp index 1c91daa30..eb472f121 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCode.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/ComputerCode.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/ComputerCode.hpp" +#include "test/v2.0/documentation/ComputerCode.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // ComputerCode wrapper void wrapComputerCode(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::ComputerCode; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCodes.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/ComputerCodes.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCodes.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/ComputerCodes.python.cpp index 0db6b70ac..4b61ae61b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/ComputerCodes.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/ComputerCodes.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/ComputerCodes.hpp" +#include "test/v2.0/documentation/ComputerCodes.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // ComputerCodes wrapper void wrapComputerCodes(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::ComputerCodes; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributor.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Contributor.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Contributor.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Contributor.python.cpp index 914d4b21e..0a833a9d9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributor.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Contributor.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Contributor.hpp" +#include "test/v2.0/documentation/Contributor.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Contributor wrapper void wrapContributor(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Contributor; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributors.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Contributors.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Contributors.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Contributors.python.cpp index bd51ea7bb..1e5062232 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Contributors.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Contributors.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Contributors.hpp" +#include "test/v2.0/documentation/Contributors.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Contributors wrapper void wrapContributors(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Contributors; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Copyright.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Copyright.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Copyright.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Copyright.python.cpp index 6609b8b6d..636a1cf08 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Copyright.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Copyright.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Copyright.hpp" +#include "test/v2.0/documentation/Copyright.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Copyright wrapper void wrapCopyright(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Copyright; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/CorrectionScript.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/CorrectionScript.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/CorrectionScript.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/CorrectionScript.python.cpp index b63e9670b..18911c03f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/CorrectionScript.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/CorrectionScript.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/CorrectionScript.hpp" +#include "test/v2.0/documentation/CorrectionScript.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // CorrectionScript wrapper void wrapCorrectionScript(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::CorrectionScript; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/CovarianceScript.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/CovarianceScript.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/CovarianceScript.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/CovarianceScript.python.cpp index 7396e4f2b..e66762e2d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/CovarianceScript.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/CovarianceScript.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/CovarianceScript.hpp" +#include "test/v2.0/documentation/CovarianceScript.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // CovarianceScript wrapper void wrapCovarianceScript(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::CovarianceScript; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Date.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Date.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Date.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Date.python.cpp index 356b4feff..8e7443bda 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Date.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Date.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Date.hpp" +#include "test/v2.0/documentation/Date.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Date wrapper void wrapDate(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Date; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Dates.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Dates.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Dates.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Dates.python.cpp index d1ea69bb0..250f24088 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Dates.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Dates.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Dates.hpp" +#include "test/v2.0/documentation/Dates.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Dates wrapper void wrapDates(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Dates; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Documentation.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Documentation.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Documentation.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Documentation.python.cpp index 6867c3fb4..a5df4857d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Documentation.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Documentation.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/documentation/Documentation.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Documentation wrapper void wrapDocumentation(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Documentation; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/EndfCompatible.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/EndfCompatible.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/EndfCompatible.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/EndfCompatible.python.cpp index 19cd12cb1..644f5a5fd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/EndfCompatible.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/EndfCompatible.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/EndfCompatible.hpp" +#include "test/v2.0/documentation/EndfCompatible.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // EndfCompatible wrapper void wrapEndfCompatible(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::EndfCompatible; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExecutionArguments.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/ExecutionArguments.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/ExecutionArguments.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/ExecutionArguments.python.cpp index f680562c2..d580b6471 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExecutionArguments.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/ExecutionArguments.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/ExecutionArguments.hpp" +#include "test/v2.0/documentation/ExecutionArguments.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // ExecutionArguments wrapper void wrapExecutionArguments(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::ExecutionArguments; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSet.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/ExforDataSet.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSet.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/ExforDataSet.python.cpp index ffe4c2bdc..f7d71d795 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSet.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/ExforDataSet.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/ExforDataSet.hpp" +#include "test/v2.0/documentation/ExforDataSet.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // ExforDataSet wrapper void wrapExforDataSet(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::ExforDataSet; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSets.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/ExforDataSets.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSets.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/ExforDataSets.python.cpp index 6139e8792..09b1b5c97 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExforDataSets.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/ExforDataSets.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/ExforDataSets.hpp" +#include "test/v2.0/documentation/ExforDataSets.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // ExforDataSets wrapper void wrapExforDataSets(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::ExforDataSets; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp index a9e75f54b..6ffa91308 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/ExperimentalDataSets.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/ExperimentalDataSets.hpp" +#include "test/v2.0/documentation/ExperimentalDataSets.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // ExperimentalDataSets wrapper void wrapExperimentalDataSets(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::ExperimentalDataSets; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDeck.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/InputDeck.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/InputDeck.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/InputDeck.python.cpp index 4e10d87b9..1de068a6a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDeck.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/InputDeck.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/InputDeck.hpp" +#include "test/v2.0/documentation/InputDeck.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // InputDeck wrapper void wrapInputDeck(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::InputDeck; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDecks.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/InputDecks.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/InputDecks.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/InputDecks.python.cpp index 6f790d825..366458bc1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/InputDecks.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/InputDecks.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/InputDecks.hpp" +#include "test/v2.0/documentation/InputDecks.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // InputDecks wrapper void wrapInputDecks(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::InputDecks; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Keyword.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Keyword.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Keyword.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Keyword.python.cpp index 09e15759a..8f6966de8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Keyword.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Keyword.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Keyword.hpp" +#include "test/v2.0/documentation/Keyword.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Keyword wrapper void wrapKeyword(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Keyword; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Keywords.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Keywords.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Keywords.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Keywords.python.cpp index da5fcb124..6efc68a20 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Keywords.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Keywords.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Keywords.hpp" +#include "test/v2.0/documentation/Keywords.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Keywords wrapper void wrapKeywords(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Keywords; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Note.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Note.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Note.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Note.python.cpp index 6450659b7..6a33fc89d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Note.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Note.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Note.hpp" +#include "test/v2.0/documentation/Note.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Note wrapper void wrapNote(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Note; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDeck.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/OutputDeck.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDeck.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/OutputDeck.python.cpp index b30f3b807..2d701a34e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDeck.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/OutputDeck.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/OutputDeck.hpp" +#include "test/v2.0/documentation/OutputDeck.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // OutputDeck wrapper void wrapOutputDeck(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::OutputDeck; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDecks.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/OutputDecks.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDecks.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/OutputDecks.python.cpp index 0835bdc0a..af2948a23 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/OutputDecks.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/OutputDecks.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/OutputDecks.hpp" +#include "test/v2.0/documentation/OutputDecks.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // OutputDecks wrapper void wrapOutputDecks(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::OutputDecks; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItem.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/RelatedItem.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItem.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/RelatedItem.python.cpp index b5424ba24..8521dd599 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItem.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/RelatedItem.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/RelatedItem.hpp" +#include "test/v2.0/documentation/RelatedItem.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // RelatedItem wrapper void wrapRelatedItem(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::RelatedItem; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItems.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/RelatedItems.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItems.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/RelatedItems.python.cpp index 2bda4b54c..dfaa7be74 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/RelatedItems.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/RelatedItems.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/RelatedItems.hpp" +#include "test/v2.0/documentation/RelatedItems.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // RelatedItems wrapper void wrapRelatedItems(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::RelatedItems; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Title.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Title.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Title.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Title.python.cpp index 45bf722d8..d18b88f12 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Title.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Title.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Title.hpp" +#include "test/v2.0/documentation/Title.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Title wrapper void wrapTitle(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Title; diff --git a/standards/gnds-2.0/try/python/src/v2.0/documentation/Version.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Version.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/documentation/Version.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/documentation/Version.python.cpp index 473d43dee..ec865a25b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/documentation/Version.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Version.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/documentation/Version.hpp" +#include "test/v2.0/documentation/Version.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_documentation { // Version wrapper void wrapVersion(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = documentation::Version; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData.python.cpp index 97a69626e..333dcfe6e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData.python.cpp @@ -24,7 +24,7 @@ void wrapFissionFragmentData(python::module &module) // create the fissionFragmentData submodule python::module submodule = module.def_submodule( "fissionFragmentData", - "try v2.0 fissionFragmentData" + "test v2.0 fissionFragmentData" ); // wrap fissionFragmentData components diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp index c82141bee..9a7e7ca74 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/DelayedNeutron.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionFragmentData/DelayedNeutron.hpp" +#include "test/v2.0/fissionFragmentData/DelayedNeutron.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionFragmentData { // DelayedNeutron wrapper void wrapDelayedNeutron(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionFragmentData::DelayedNeutron; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp index 8e79926f5..43460a87f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/DelayedNeutrons.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "test/v2.0/fissionFragmentData/DelayedNeutrons.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionFragmentData { // DelayedNeutrons wrapper void wrapDelayedNeutrons(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionFragmentData::DelayedNeutrons; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp index 0193c000e..9e474ddf7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/FissionFragmentData.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" +#include "test/v2.0/fissionFragmentData/FissionFragmentData.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionFragmentData { // FissionFragmentData wrapper void wrapFissionFragmentData(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionFragmentData::FissionFragmentData; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/Rate.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/Rate.python.cpp index 4605aa4e6..b23ea6338 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionFragmentData/Rate.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionFragmentData/Rate.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionFragmentData/Rate.hpp" +#include "test/v2.0/fissionFragmentData/Rate.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionFragmentData { // Rate wrapper void wrapRate(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionFragmentData::Rate; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport.python.cpp index 09226d9b4..d65ac81be 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport.python.cpp @@ -40,7 +40,7 @@ void wrapFissionTransport(python::module &module) // create the fissionTransport submodule python::module submodule = module.def_submodule( "fissionTransport", - "try v2.0 fissionTransport" + "test v2.0 fissionTransport" ); // wrap fissionTransport components diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/A.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/A.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/A.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/A.python.cpp index c6d21b190..84acd34f6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/A.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/A.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/A.hpp" +#include "test/v2.0/fissionTransport/A.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // A wrapper void wrapA(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::A; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/B.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/B.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/B.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/B.python.cpp index 0c8c1b223..b03471b20 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/B.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/B.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/B.hpp" +#include "test/v2.0/fissionTransport/B.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // B wrapper void wrapB(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::B; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp index 75bb5f396..c11bba17a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedBetaEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/DelayedBetaEnergy.hpp" +#include "test/v2.0/fissionTransport/DelayedBetaEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // DelayedBetaEnergy wrapper void wrapDelayedBetaEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::DelayedBetaEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp index 53e3536b2..922f34671 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedGammaEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/DelayedGammaEnergy.hpp" +#include "test/v2.0/fissionTransport/DelayedGammaEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // DelayedGammaEnergy wrapper void wrapDelayedGammaEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::DelayedGammaEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp index 1d37f6e8a..58c3b678c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/DelayedNeutronKE.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/DelayedNeutronKE.hpp" +#include "test/v2.0/fissionTransport/DelayedNeutronKE.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // DelayedNeutronKE wrapper void wrapDelayedNeutronKE(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::DelayedNeutronKE; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFH.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/EFH.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFH.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/EFH.python.cpp index 36310c546..5116c53fe 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFH.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/EFH.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/EFH.hpp" +#include "test/v2.0/fissionTransport/EFH.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // EFH wrapper void wrapEFH(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::EFH; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFL.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/EFL.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFL.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/EFL.python.cpp index 7f1650d8f..3b209121c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/EFL.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/EFL.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/EFL.hpp" +#include "test/v2.0/fissionTransport/EFL.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // EFL wrapper void wrapEFL(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::EFL; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponent.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionComponent.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponent.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionComponent.python.cpp index f60817fca..5606c3397 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponent.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionComponent.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/FissionComponent.hpp" +#include "test/v2.0/fissionTransport/FissionComponent.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // FissionComponent wrapper void wrapFissionComponent(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::FissionComponent; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponents.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionComponents.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponents.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionComponents.python.cpp index 2e0d47186..13e6b265e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionComponents.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionComponents.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/FissionComponents.hpp" +#include "test/v2.0/fissionTransport/FissionComponents.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // FissionComponents wrapper void wrapFissionComponents(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::FissionComponents; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp index 4625c1860..959e4ef60 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/FissionEnergyReleased.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/FissionEnergyReleased.hpp" +#include "test/v2.0/fissionTransport/FissionEnergyReleased.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // FissionEnergyReleased wrapper void wrapFissionEnergyReleased(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::FissionEnergyReleased; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/MadlandNix.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/MadlandNix.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/MadlandNix.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/MadlandNix.python.cpp index 3eaef2070..2807c1629 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/MadlandNix.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/MadlandNix.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/MadlandNix.hpp" +#include "test/v2.0/fissionTransport/MadlandNix.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // MadlandNix wrapper void wrapMadlandNix(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::MadlandNix; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp index 79fb4b1b7..21335c1d8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/NeutrinoEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/NeutrinoEnergy.hpp" +#include "test/v2.0/fissionTransport/NeutrinoEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // NeutrinoEnergy wrapper void wrapNeutrinoEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::NeutrinoEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp index 4203958da..6a24b5d69 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/NonNeutrinoEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // NonNeutrinoEnergy wrapper void wrapNonNeutrinoEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::NonNeutrinoEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp index 991203ab2..125662f56 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptGammaEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/PromptGammaEnergy.hpp" +#include "test/v2.0/fissionTransport/PromptGammaEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // PromptGammaEnergy wrapper void wrapPromptGammaEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::PromptGammaEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp index bc2a9824d..7a25fe5cd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptNeutronKE.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/PromptNeutronKE.hpp" +#include "test/v2.0/fissionTransport/PromptNeutronKE.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // PromptNeutronKE wrapper void wrapPromptNeutronKE(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::PromptNeutronKE; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp index 3e888ca26..e35725314 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/PromptProductKE.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/PromptProductKE.hpp" +#include "test/v2.0/fissionTransport/PromptProductKE.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // PromptProductKE wrapper void wrapPromptProductKE(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::PromptProductKE; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp index ff1bc5b99..a732cac6d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/SimpleMaxwellianFission.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // SimpleMaxwellianFission wrapper void wrapSimpleMaxwellianFission(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::SimpleMaxwellianFission; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/T_M.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/T_M.python.cpp index 4259dbff4..3be73b758 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/T_M.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/T_M.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/T_M.hpp" +#include "test/v2.0/fissionTransport/T_M.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // T_M wrapper void wrapT_M(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::T_M; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp index 3c363ec40..522e00d7e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/TotalEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/TotalEnergy.hpp" +#include "test/v2.0/fissionTransport/TotalEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // TotalEnergy wrapper void wrapTotalEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::TotalEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/Watt.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/Watt.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/fissionTransport/Watt.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fissionTransport/Watt.python.cpp index ba60af390..c76e60050 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fissionTransport/Watt.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fissionTransport/Watt.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fissionTransport/Watt.hpp" +#include "test/v2.0/fissionTransport/Watt.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fissionTransport { // Watt wrapper void wrapWatt(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fissionTransport::Watt; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/fpy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy.python.cpp index 8cbd0665e..5a19fcf38 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy.python.cpp @@ -30,7 +30,7 @@ void wrapFpy(python::module &module) // create the fpy submodule python::module submodule = module.def_submodule( "fpy", - "try v2.0 fpy" + "test v2.0 fpy" ); // wrap fpy components diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTime.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/ElapsedTime.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTime.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/ElapsedTime.python.cpp index 748b4ff2a..2a10d3055 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTime.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/ElapsedTime.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/ElapsedTime.hpp" +#include "test/v2.0/fpy/ElapsedTime.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // ElapsedTime wrapper void wrapElapsedTime(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::ElapsedTime; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTimes.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/ElapsedTimes.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTimes.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/ElapsedTimes.python.cpp index 7a69f529e..f459af4ed 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/ElapsedTimes.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/ElapsedTimes.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/ElapsedTimes.hpp" +#include "test/v2.0/fpy/ElapsedTimes.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // ElapsedTimes wrapper void wrapElapsedTimes(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::ElapsedTimes; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/Energy.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/Energy.python.cpp index 191704e59..250e50887 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Energy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/Energy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/Energy.hpp" +#include "test/v2.0/fpy/Energy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // Energy wrapper void wrapEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::Energy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergies.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/IncidentEnergies.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergies.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/IncidentEnergies.python.cpp index 6dd2ad992..9bc5ff10a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergies.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/IncidentEnergies.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/IncidentEnergies.hpp" +#include "test/v2.0/fpy/IncidentEnergies.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // IncidentEnergies wrapper void wrapIncidentEnergies(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::IncidentEnergies; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/IncidentEnergy.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/IncidentEnergy.python.cpp index 4a49912fa..e0cb99db5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/IncidentEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/IncidentEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/IncidentEnergy.hpp" +#include "test/v2.0/fpy/IncidentEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // IncidentEnergy wrapper void wrapIncidentEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::IncidentEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Nuclides.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/Nuclides.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/Nuclides.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/Nuclides.python.cpp index 357dc16af..cb0352132 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Nuclides.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/Nuclides.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/Nuclides.hpp" +#include "test/v2.0/fpy/Nuclides.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // Nuclides wrapper void wrapNuclides(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::Nuclides; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYield.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/ProductYield.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYield.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/ProductYield.python.cpp index 62649ac2b..2af1d51c7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYield.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/ProductYield.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/ProductYield.hpp" +#include "test/v2.0/fpy/ProductYield.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // ProductYield wrapper void wrapProductYield(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::ProductYield; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYields.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/ProductYields.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYields.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/ProductYields.python.cpp index c47b52555..9dd647129 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/ProductYields.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/ProductYields.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/ProductYields.hpp" +#include "test/v2.0/fpy/ProductYields.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // ProductYields wrapper void wrapProductYields(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::ProductYields; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/Time.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/Time.python.cpp index 3fa2d80cf..066a874c2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Time.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/Time.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/Time.hpp" +#include "test/v2.0/fpy/Time.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // Time wrapper void wrapTime(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::Time; diff --git a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/fpy/Yields.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/fpy/Yields.python.cpp index 89fed917c..c6e014146 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/fpy/Yields.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/fpy/Yields.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/fpy/Yields.hpp" +#include "test/v2.0/fpy/Yields.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_fpy { // Yields wrapper void wrapYields(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = fpy::Yields; diff --git a/standards/gnds-2.0/try/python/src/v2.0/map.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/map.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/map.python.cpp index 40e0bd00f..a111a649f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/map.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map.python.cpp @@ -24,7 +24,7 @@ void wrapMap(python::module &module) // create the map submodule python::module submodule = module.def_submodule( "map", - "try v2.0 map" + "test v2.0 map" ); // wrap map components diff --git a/standards/gnds-2.0/try/python/src/v2.0/map/Import.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map/Import.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/map/Import.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/map/Import.python.cpp index 1d6f9de25..da4dc0e20 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/map/Import.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map/Import.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/map/Import.hpp" +#include "test/v2.0/map/Import.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_map { // Import wrapper void wrapImport(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = map::Import; diff --git a/standards/gnds-2.0/try/python/src/v2.0/map/Map.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map/Map.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/map/Map.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/map/Map.python.cpp index a59e7cb15..b8a790804 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/map/Map.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map/Map.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/map/Map.hpp" +#include "test/v2.0/map/Map.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_map { // Map wrapper void wrapMap(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = map::Map; diff --git a/standards/gnds-2.0/try/python/src/v2.0/map/Protare.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map/Protare.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/map/Protare.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/map/Protare.python.cpp index 0b9f20254..ed3c358a2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/map/Protare.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map/Protare.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/map/Protare.hpp" +#include "test/v2.0/map/Protare.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_map { // Protare wrapper void wrapProtare(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = map::Protare; diff --git a/standards/gnds-2.0/try/python/src/v2.0/map/TNSL.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map/TNSL.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/map/TNSL.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/map/TNSL.python.cpp index b3b23ccba..503b88e6f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/map/TNSL.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map/TNSL.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/map/TNSL.hpp" +#include "test/v2.0/map/TNSL.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_map { // TNSL wrapper void wrapTNSL(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = map::TNSL; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops.python.cpp similarity index 99% rename from standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops.python.cpp index 8d2c7aa6e..ba9f33aeb 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops.python.cpp @@ -77,7 +77,7 @@ void wrapPops(python::module &module) // create the pops submodule python::module submodule = module.def_submodule( "pops", - "try v2.0 pops" + "test v2.0 pops" ); // wrap pops components diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Alias.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Alias.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Alias.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Alias.python.cpp index 2d9c0be3b..810f3a128 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Alias.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Alias.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Alias.hpp" +#include "test/v2.0/pops/Alias.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Alias wrapper void wrapAlias(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Alias; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Aliases.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Aliases.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Aliases.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Aliases.python.cpp index 6e391e905..ef13c35c2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Aliases.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Aliases.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Aliases.hpp" +#include "test/v2.0/pops/Aliases.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Aliases wrapper void wrapAliases(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Aliases; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Atomic.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Atomic.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Atomic.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Atomic.python.cpp index c3822dc05..72b9dc8ad 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Atomic.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Atomic.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Atomic.hpp" +#include "test/v2.0/pops/Atomic.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Atomic wrapper void wrapAtomic(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Atomic; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergies.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/AverageEnergies.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergies.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/AverageEnergies.python.cpp index ec8481e5a..068933fb7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergies.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/AverageEnergies.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/AverageEnergies.hpp" +#include "test/v2.0/pops/AverageEnergies.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // AverageEnergies wrapper void wrapAverageEnergies(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::AverageEnergies; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/AverageEnergy.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/AverageEnergy.python.cpp index a3dab22df..a0bd50607 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/AverageEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/AverageEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/AverageEnergy.hpp" +#include "test/v2.0/pops/AverageEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // AverageEnergy wrapper void wrapAverageEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::AverageEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Baryon.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Baryon.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Baryon.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Baryon.python.cpp index b689f2a3b..b93710163 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Baryon.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Baryon.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Baryon.hpp" +#include "test/v2.0/pops/Baryon.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Baryon wrapper void wrapBaryon(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Baryon; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Baryons.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Baryons.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Baryons.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Baryons.python.cpp index 78bb46c61..02bc25896 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Baryons.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Baryons.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Baryons.hpp" +#include "test/v2.0/pops/Baryons.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Baryons wrapper void wrapBaryons(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Baryons; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/BindingEnergy.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/BindingEnergy.python.cpp index 20b9a6f3e..ffe2694cb 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/BindingEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/BindingEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/BindingEnergy.hpp" +#include "test/v2.0/pops/BindingEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // BindingEnergy wrapper void wrapBindingEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::BindingEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Charge.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Charge.python.cpp index f3257dd2e..252eaa49d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Charge.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Charge.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Charge.hpp" +#include "test/v2.0/pops/Charge.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Charge wrapper void wrapCharge(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Charge; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElement.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/ChemicalElement.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElement.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/ChemicalElement.python.cpp index 644da5b31..5488b288a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElement.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/ChemicalElement.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/ChemicalElement.hpp" +#include "test/v2.0/pops/ChemicalElement.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // ChemicalElement wrapper void wrapChemicalElement(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::ChemicalElement; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElements.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/ChemicalElements.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElements.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/ChemicalElements.python.cpp index 6fcdfe4d5..f154872f8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/ChemicalElements.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/ChemicalElements.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/ChemicalElements.hpp" +#include "test/v2.0/pops/ChemicalElements.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // ChemicalElements wrapper void wrapChemicalElements(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::ChemicalElements; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/ConfidenceIntervals.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/ConfidenceIntervals.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/pops/ConfidenceIntervals.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/ConfidenceIntervals.python.cpp index 32510ed19..03267e00d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/ConfidenceIntervals.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/ConfidenceIntervals.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/ConfidenceIntervals.hpp" +#include "test/v2.0/pops/ConfidenceIntervals.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // ConfidenceIntervals wrapper void wrapConfidenceIntervals(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::ConfidenceIntervals; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Configuration.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Configuration.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Configuration.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Configuration.python.cpp index 54bc2e601..db53e6448 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Configuration.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Configuration.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Configuration.hpp" +#include "test/v2.0/pops/Configuration.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Configuration wrapper void wrapConfiguration(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Configuration; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Configurations.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Configurations.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Configurations.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Configurations.python.cpp index dee40fc1a..0d611891c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Configurations.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Configurations.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Configurations.hpp" +#include "test/v2.0/pops/Configurations.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Configurations wrapper void wrapConfigurations(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Configurations; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Continuum.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Continuum.python.cpp index 80d0167b7..997cff711 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Continuum.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Continuum.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Continuum.hpp" +#include "test/v2.0/pops/Continuum.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Continuum wrapper void wrapContinuum(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Continuum; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Decay.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Decay.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Decay.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Decay.python.cpp index 411cb7dd3..bd95c6c1f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Decay.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Decay.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Decay.hpp" +#include "test/v2.0/pops/Decay.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Decay wrapper void wrapDecay(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Decay; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayData.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/DecayData.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/pops/DecayData.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/DecayData.python.cpp index b04305ad7..0f3ad6b30 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayData.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/DecayData.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/DecayData.hpp" +#include "test/v2.0/pops/DecayData.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // DecayData wrapper void wrapDecayData(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::DecayData; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayMode.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/DecayMode.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/pops/DecayMode.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/DecayMode.python.cpp index 59db2de41..8f441f79c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayMode.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/DecayMode.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/DecayMode.hpp" +#include "test/v2.0/pops/DecayMode.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // DecayMode wrapper void wrapDecayMode(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::DecayMode; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayModes.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/DecayModes.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/DecayModes.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/DecayModes.python.cpp index 000c12287..642dfa1f4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayModes.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/DecayModes.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/DecayModes.hpp" +#include "test/v2.0/pops/DecayModes.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // DecayModes wrapper void wrapDecayModes(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::DecayModes; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayPath.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/DecayPath.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/DecayPath.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/DecayPath.python.cpp index 1a21f577a..a144602e6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/DecayPath.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/DecayPath.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/DecayPath.hpp" +#include "test/v2.0/pops/DecayPath.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // DecayPath wrapper void wrapDecayPath(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::DecayPath; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Discrete.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Discrete.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Discrete.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Discrete.python.cpp index c81537efd..e96d77e53 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Discrete.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Discrete.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Discrete.hpp" +#include "test/v2.0/pops/Discrete.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Discrete wrapper void wrapDiscrete(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Discrete; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/DiscreteEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/DiscreteEnergy.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/DiscreteEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/DiscreteEnergy.python.cpp index f71efcd1c..062d3c5e4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/DiscreteEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/DiscreteEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/DiscreteEnergy.hpp" +#include "test/v2.0/pops/DiscreteEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // DiscreteEnergy wrapper void wrapDiscreteEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::DiscreteEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Energy.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Energy.python.cpp index 1d837671d..1b85b12b5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Energy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Energy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Energy.hpp" +#include "test/v2.0/pops/Energy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Energy wrapper void wrapEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Energy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBoson.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/GaugeBoson.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBoson.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/GaugeBoson.python.cpp index f07bdbac0..6444bc55a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBoson.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/GaugeBoson.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/GaugeBoson.hpp" +#include "test/v2.0/pops/GaugeBoson.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // GaugeBoson wrapper void wrapGaugeBoson(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::GaugeBoson; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBosons.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/GaugeBosons.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBosons.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/GaugeBosons.python.cpp index 9faf06efa..ae0d166f8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/GaugeBosons.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/GaugeBosons.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/GaugeBosons.hpp" +#include "test/v2.0/pops/GaugeBosons.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // GaugeBosons wrapper void wrapGaugeBosons(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::GaugeBosons; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Halflife.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Halflife.python.cpp index 86d1d1908..742ab63fc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Halflife.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Halflife.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Halflife.hpp" +#include "test/v2.0/pops/Halflife.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Halflife wrapper void wrapHalflife(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Halflife; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Intensity.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Intensity.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Intensity.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Intensity.python.cpp index bbbb644b1..4dad5cbba 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Intensity.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Intensity.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Intensity.hpp" +#include "test/v2.0/pops/Intensity.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Intensity wrapper void wrapIntensity(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Intensity; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp index 0c3f5ebd1..479bc233a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/InternalConversionCoefficients.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/InternalConversionCoefficients.hpp" +#include "test/v2.0/pops/InternalConversionCoefficients.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // InternalConversionCoefficients wrapper void wrapInternalConversionCoefficients(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::InternalConversionCoefficients; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp index 511417e7e..23deec912 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/InternalPairFormationCoefficient.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/InternalPairFormationCoefficient.hpp" +#include "test/v2.0/pops/InternalPairFormationCoefficient.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // InternalPairFormationCoefficient wrapper void wrapInternalPairFormationCoefficient(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::InternalPairFormationCoefficient; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Interval.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Interval.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Interval.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Interval.python.cpp index 33e9e1cae..289b182c1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Interval.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Interval.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Interval.hpp" +#include "test/v2.0/pops/Interval.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Interval wrapper void wrapInterval(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Interval; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Isotope.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Isotope.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Isotope.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Isotope.python.cpp index 6af22b4e0..b10ffb01b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Isotope.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Isotope.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Isotope.hpp" +#include "test/v2.0/pops/Isotope.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Isotope wrapper void wrapIsotope(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Isotope; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Isotopes.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Isotopes.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Isotopes.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Isotopes.python.cpp index 6cde20fc9..779f7a0f3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Isotopes.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Isotopes.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Isotopes.hpp" +#include "test/v2.0/pops/Isotopes.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Isotopes wrapper void wrapIsotopes(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Isotopes; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Lepton.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Lepton.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Lepton.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Lepton.python.cpp index f8f378999..265ec25b0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Lepton.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Lepton.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Lepton.hpp" +#include "test/v2.0/pops/Lepton.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Lepton wrapper void wrapLepton(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Lepton; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Leptons.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Leptons.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Leptons.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Leptons.python.cpp index 847e28ef4..6a186bf6e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Leptons.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Leptons.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Leptons.hpp" +#include "test/v2.0/pops/Leptons.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Leptons wrapper void wrapLeptons(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Leptons; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/LogNormal.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/LogNormal.python.cpp index 0bfb10557..061c28145 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/LogNormal.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/LogNormal.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/LogNormal.hpp" +#include "test/v2.0/pops/LogNormal.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // LogNormal wrapper void wrapLogNormal(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::LogNormal; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Mass.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Mass.python.cpp index ef1ab7ba7..125b5d319 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Mass.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Mass.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Mass.hpp" +#include "test/v2.0/pops/Mass.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Mass wrapper void wrapMass(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Mass; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/MetaStable.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/MetaStable.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/pops/MetaStable.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/MetaStable.python.cpp index e40ec79ea..74c26d10b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/MetaStable.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/MetaStable.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/MetaStable.hpp" +#include "test/v2.0/pops/MetaStable.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // MetaStable wrapper void wrapMetaStable(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::MetaStable; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Nucleus.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Nucleus.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Nucleus.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Nucleus.python.cpp index 03a345471..9da9e111e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Nucleus.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Nucleus.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Nucleus.hpp" +#include "test/v2.0/pops/Nucleus.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Nucleus wrapper void wrapNucleus(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Nucleus; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclide.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Nuclide.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Nuclide.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Nuclide.python.cpp index 2eaffed4c..d13d86491 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclide.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Nuclide.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Nuclide.hpp" +#include "test/v2.0/pops/Nuclide.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Nuclide wrapper void wrapNuclide(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Nuclide; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclides.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Nuclides.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Nuclides.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Nuclides.python.cpp index f64c1334b..8b7794226 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Nuclides.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Nuclides.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Nuclides.hpp" +#include "test/v2.0/pops/Nuclides.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Nuclides wrapper void wrapNuclides(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Nuclides; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Parity.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Parity.python.cpp index 49ec11d80..b6c635ddc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Parity.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Parity.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Parity.hpp" +#include "test/v2.0/pops/Parity.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Parity wrapper void wrapParity(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Parity; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Pdf.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Pdf.python.cpp index da96eae7e..43e480a0f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Pdf.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Pdf.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Pdf.hpp" +#include "test/v2.0/pops/Pdf.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Pdf wrapper void wrapPdf(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Pdf; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp index 1a1cd8757..7e5429e2f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/PhotonEmissionProbabilities.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "test/v2.0/pops/PhotonEmissionProbabilities.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // PhotonEmissionProbabilities wrapper void wrapPhotonEmissionProbabilities(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::PhotonEmissionProbabilities; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/PoPs_database.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/PoPs_database.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/pops/PoPs_database.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/PoPs_database.python.cpp index 39bcf0b87..017d78088 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/PoPs_database.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/PoPs_database.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/PoPs_database.hpp" +#include "test/v2.0/pops/PoPs_database.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // PoPs_database wrapper void wrapPoPs_database(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::PoPs_database; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp index 35d942ace..5de78133b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/PositronEmissionIntensity.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/PositronEmissionIntensity.hpp" +#include "test/v2.0/pops/PositronEmissionIntensity.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // PositronEmissionIntensity wrapper void wrapPositronEmissionIntensity(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::PositronEmissionIntensity; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Probability.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Probability.python.cpp index f08087bf5..6c8eea717 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Probability.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Probability.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Probability.hpp" +#include "test/v2.0/pops/Probability.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Probability wrapper void wrapProbability(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Probability; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Product.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Product.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Product.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Product.python.cpp index 0f04b3ca0..f2d1b4971 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Product.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Product.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Product.hpp" +#include "test/v2.0/pops/Product.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Product wrapper void wrapProduct(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Product; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Products.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Products.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Products.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Products.python.cpp index ccc2481ad..1168bac51 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Products.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Products.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Products.hpp" +#include "test/v2.0/pops/Products.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Products wrapper void wrapProducts(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Products; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Q.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Q.python.cpp index d75f00b49..85b90de9f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Q.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Q.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Q.hpp" +#include "test/v2.0/pops/Q.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Q wrapper void wrapQ(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Q; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Shell.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Shell.python.cpp index e11a2afde..94d574b8e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Shell.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Shell.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Shell.hpp" +#include "test/v2.0/pops/Shell.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Shell wrapper void wrapShell(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Shell; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Spectra.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Spectra.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Spectra.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Spectra.python.cpp index 451d45b1d..8594d92bd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Spectra.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Spectra.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Spectra.hpp" +#include "test/v2.0/pops/Spectra.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Spectra wrapper void wrapSpectra(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Spectra; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Spectrum.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Spectrum.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Spectrum.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Spectrum.python.cpp index 28f32e241..697fc5c99 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Spectrum.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Spectrum.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Spectrum.hpp" +#include "test/v2.0/pops/Spectrum.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Spectrum wrapper void wrapSpectrum(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Spectrum; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Spin.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Spin.python.cpp index b3db5d656..1fbd181fa 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Spin.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Spin.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Spin.hpp" +#include "test/v2.0/pops/Spin.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Spin wrapper void wrapSpin(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Spin; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Standard.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Standard.python.cpp index c2f9b2a85..5013e2477 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Standard.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Standard.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Standard.hpp" +#include "test/v2.0/pops/Standard.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Standard wrapper void wrapStandard(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Standard; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Uncertainty.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Uncertainty.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Uncertainty.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Uncertainty.python.cpp index 683c57d88..705f572f3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Uncertainty.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Uncertainty.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Uncertainty wrapper void wrapUncertainty(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Uncertainty; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodox.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Unorthodox.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodox.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Unorthodox.python.cpp index f2d77cf9a..1b2bcd2c5 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodox.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Unorthodox.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Unorthodox.hpp" +#include "test/v2.0/pops/Unorthodox.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Unorthodox wrapper void wrapUnorthodox(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Unorthodox; diff --git a/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodoxes.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Unorthodoxes.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodoxes.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/pops/Unorthodoxes.python.cpp index c853dd431..40fd5c0ca 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/pops/Unorthodoxes.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Unorthodoxes.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/pops/Unorthodoxes.hpp" +#include "test/v2.0/pops/Unorthodoxes.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_pops { // Unorthodoxes wrapper void wrapUnorthodoxes(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = pops::Unorthodoxes; diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/processed.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/processed.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/processed.python.cpp index cdd04f149..9d1f32b18 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/processed.python.cpp @@ -27,7 +27,7 @@ void wrapProcessed(python::module &module) // create the processed submodule python::module submodule = module.def_submodule( "processed", - "try v2.0 processed" + "test v2.0 processed" ); // wrap processed components diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/processed/AngularEnergyMC.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/processed/AngularEnergyMC.python.cpp index fcabebd38..257efc5cc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AngularEnergyMC.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/processed/AngularEnergyMC.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/processed/AngularEnergyMC.hpp" +#include "test/v2.0/processed/AngularEnergyMC.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_processed { // AngularEnergyMC wrapper void wrapAngularEnergyMC(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = processed::AngularEnergyMC; diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/processed/AvailableEnergy.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/processed/AvailableEnergy.python.cpp index 3fc646e44..b1ee18f67 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/processed/AvailableEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/processed/AvailableEnergy.hpp" +#include "test/v2.0/processed/AvailableEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_processed { // AvailableEnergy wrapper void wrapAvailableEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = processed::AvailableEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/processed/AvailableMomentum.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/processed/AvailableMomentum.python.cpp index 56c8a2f7c..eeef04363 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AvailableMomentum.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/processed/AvailableMomentum.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/processed/AvailableMomentum.hpp" +#include "test/v2.0/processed/AvailableMomentum.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_processed { // AvailableMomentum wrapper void wrapAvailableMomentum(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = processed::AvailableMomentum; diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/processed/AverageProductEnergy.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/processed/AverageProductEnergy.python.cpp index 3055b996c..ee0fbbc37 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/processed/AverageProductEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/processed/AverageProductEnergy.hpp" +#include "test/v2.0/processed/AverageProductEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_processed { // AverageProductEnergy wrapper void wrapAverageProductEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = processed::AverageProductEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/processed/AverageProductMomentum.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/processed/AverageProductMomentum.python.cpp index 87e335660..6ae2bb596 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/AverageProductMomentum.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/processed/AverageProductMomentum.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/processed/AverageProductMomentum.hpp" +#include "test/v2.0/processed/AverageProductMomentum.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_processed { // AverageProductMomentum wrapper void wrapAverageProductMomentum(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = processed::AverageProductMomentum; diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/processed/EnergyAngularMC.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/processed/EnergyAngularMC.python.cpp index c3f871484..2e606d7d8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/EnergyAngularMC.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/processed/EnergyAngularMC.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/processed/EnergyAngularMC.hpp" +#include "test/v2.0/processed/EnergyAngularMC.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_processed { // EnergyAngularMC wrapper void wrapEnergyAngularMC(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = processed::EnergyAngularMC; diff --git a/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/processed/MultiGroup3d.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/processed/MultiGroup3d.python.cpp index e2b360ccd..bf06830f2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/processed/MultiGroup3d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/processed/MultiGroup3d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/processed/MultiGroup3d.hpp" +#include "test/v2.0/processed/MultiGroup3d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_processed { // MultiGroup3d wrapper void wrapMultiGroup3d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = processed::MultiGroup3d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/resonances.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances.python.cpp index a287eb004..e9e5f9ae8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances.python.cpp @@ -45,7 +45,7 @@ void wrapResonances(python::module &module) // create the resonances submodule python::module submodule = module.def_submodule( "resonances", - "try v2.0 resonances" + "test v2.0 resonances" ); // wrap resonances components diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/BreitWigner.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/BreitWigner.python.cpp index 87721686b..0360bd06b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/BreitWigner.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/BreitWigner.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/BreitWigner.hpp" +#include "test/v2.0/resonances/BreitWigner.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // BreitWigner wrapper void wrapBreitWigner(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::BreitWigner; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Channel.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Channel.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Channel.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Channel.python.cpp index 3c64ce863..a657cec75 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Channel.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Channel.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Channel.hpp" +#include "test/v2.0/resonances/Channel.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Channel wrapper void wrapChannel(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Channel; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Channels.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Channels.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Channels.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Channels.python.cpp index ad23db3a5..04d4a9231 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Channels.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Channels.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Channels.hpp" +#include "test/v2.0/resonances/Channels.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Channels wrapper void wrapChannels(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Channels; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyInterval.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/EnergyInterval.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyInterval.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/EnergyInterval.python.cpp index 2d0f9c455..a29ac9f83 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyInterval.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/EnergyInterval.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/EnergyInterval.hpp" +#include "test/v2.0/resonances/EnergyInterval.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // EnergyInterval wrapper void wrapEnergyInterval(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::EnergyInterval; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyIntervals.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/EnergyIntervals.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyIntervals.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/EnergyIntervals.python.cpp index 7ff690341..ec9adb024 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/EnergyIntervals.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/EnergyIntervals.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/EnergyIntervals.hpp" +#include "test/v2.0/resonances/EnergyIntervals.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // EnergyIntervals wrapper void wrapEnergyIntervals(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::EnergyIntervals; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/ExternalRMatrix.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/ExternalRMatrix.python.cpp index 0c65d71a7..2c41feff3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ExternalRMatrix.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/ExternalRMatrix.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/ExternalRMatrix.hpp" +#include "test/v2.0/resonances/ExternalRMatrix.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // ExternalRMatrix wrapper void wrapExternalRMatrix(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::ExternalRMatrix; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/HardSphereRadius.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/HardSphereRadius.python.cpp index 3f38a84ed..2682ade49 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/HardSphereRadius.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/HardSphereRadius.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "test/v2.0/resonances/HardSphereRadius.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // HardSphereRadius wrapper void wrapHardSphereRadius(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::HardSphereRadius; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/J.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/J.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/J.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/J.python.cpp index 84d2eb674..299f08480 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/J.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/J.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/J.hpp" +#include "test/v2.0/resonances/J.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // J wrapper void wrapJ(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::J; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Js.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Js.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Js.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Js.python.cpp index 7e0147444..e9f44b705 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Js.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Js.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Js.hpp" +#include "test/v2.0/resonances/Js.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Js wrapper void wrapJs(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Js; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/L.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/L.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/L.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/L.python.cpp index a565ca96d..d348dab90 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/L.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/L.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/L.hpp" +#include "test/v2.0/resonances/L.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // L wrapper void wrapL(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::L; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/LevelSpacing.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/LevelSpacing.python.cpp index 56496488e..a18e108c7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/LevelSpacing.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/LevelSpacing.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/LevelSpacing.hpp" +#include "test/v2.0/resonances/LevelSpacing.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // LevelSpacing wrapper void wrapLevelSpacing(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::LevelSpacing; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Ls.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Ls.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Ls.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Ls.python.cpp index 3ad23797e..6fad7258a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Ls.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Ls.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Ls.hpp" +#include "test/v2.0/resonances/Ls.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Ls wrapper void wrapLs(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Ls; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/RMatrix.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/RMatrix.python.cpp index 0d641726d..1a02b9741 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/RMatrix.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/RMatrix.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/RMatrix.hpp" +#include "test/v2.0/resonances/RMatrix.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // RMatrix wrapper void wrapRMatrix(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::RMatrix; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Resolved.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Resolved.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Resolved.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Resolved.python.cpp index b4f8ec777..7247a346c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Resolved.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Resolved.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Resolved.hpp" +#include "test/v2.0/resonances/Resolved.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Resolved wrapper void wrapResolved(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Resolved; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceParameters.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceParameters.python.cpp index 6bc5166b6..778ce4fae 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceParameters.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceParameters.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/ResonanceParameters.hpp" +#include "test/v2.0/resonances/ResonanceParameters.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // ResonanceParameters wrapper void wrapResonanceParameters(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::ResonanceParameters; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceReaction.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceReaction.python.cpp index 1021760dc..cca9faac4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReaction.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceReaction.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/ResonanceReaction.hpp" +#include "test/v2.0/resonances/ResonanceReaction.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // ResonanceReaction wrapper void wrapResonanceReaction(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::ResonanceReaction; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReactions.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceReactions.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReactions.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceReactions.python.cpp index 018d04714..45909d69a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ResonanceReactions.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/ResonanceReactions.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/ResonanceReactions.hpp" +#include "test/v2.0/resonances/ResonanceReactions.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // ResonanceReactions wrapper void wrapResonanceReactions(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::ResonanceReactions; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Resonances.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Resonances.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Resonances.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Resonances.python.cpp index 274a0d4be..2ad6562b6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Resonances.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Resonances.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Resonances.hpp" +#include "test/v2.0/resonances/Resonances.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Resonances wrapper void wrapResonances(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Resonances; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/ScatteringRadius.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/ScatteringRadius.python.cpp index 573cf86aa..40d9cdf16 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/ScatteringRadius.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/ScatteringRadius.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/ScatteringRadius.hpp" +#include "test/v2.0/resonances/ScatteringRadius.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // ScatteringRadius wrapper void wrapScatteringRadius(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::ScatteringRadius; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroup.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/SpinGroup.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroup.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/SpinGroup.python.cpp index e0e6a25e4..87f245120 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroup.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/SpinGroup.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/SpinGroup.hpp" +#include "test/v2.0/resonances/SpinGroup.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // SpinGroup wrapper void wrapSpinGroup(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::SpinGroup; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroups.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/SpinGroups.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroups.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/SpinGroups.python.cpp index 1f86b32b4..3ba8b6616 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/SpinGroups.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/SpinGroups.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/SpinGroups.hpp" +#include "test/v2.0/resonances/SpinGroups.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // SpinGroups wrapper void wrapSpinGroups(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::SpinGroups; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/TabulatedWidths.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/TabulatedWidths.python.cpp index 5bb1a34fe..3cea9a8ca 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/TabulatedWidths.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/TabulatedWidths.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/TabulatedWidths.hpp" +#include "test/v2.0/resonances/TabulatedWidths.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // TabulatedWidths wrapper void wrapTabulatedWidths(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::TabulatedWidths; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Unresolved.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Unresolved.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Unresolved.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Unresolved.python.cpp index be036b4e9..9232089f9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Unresolved.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Unresolved.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Unresolved.hpp" +#include "test/v2.0/resonances/Unresolved.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Unresolved wrapper void wrapUnresolved(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Unresolved; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Width.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Width.python.cpp index b50afca50..1e616a303 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Width.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Width.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Width.hpp" +#include "test/v2.0/resonances/Width.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Width wrapper void wrapWidth(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Width; diff --git a/standards/gnds-2.0/try/python/src/v2.0/resonances/Widths.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/resonances/Widths.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/resonances/Widths.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/resonances/Widths.python.cpp index ace6b3c4a..6b97468f7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/resonances/Widths.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/resonances/Widths.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/resonances/Widths.hpp" +#include "test/v2.0/resonances/Widths.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_resonances { // Widths wrapper void wrapWidths(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = resonances::Widths; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles.python.cpp similarity index 99% rename from standards/gnds-2.0/try/python/src/v2.0/styles.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles.python.cpp index 3c576c2f9..3709e13a4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles.python.cpp @@ -44,7 +44,7 @@ void wrapStyles(python::module &module) // create the styles submodule python::module submodule = module.def_submodule( "styles", - "try v2.0 styles" + "test v2.0 styles" ); // wrap styles components diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp index 5f7574cc1..4bd7f13c2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/AngularDistributionReconstructed.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/AngularDistributionReconstructed.hpp" +#include "test/v2.0/styles/AngularDistributionReconstructed.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // AngularDistributionReconstructed wrapper void wrapAngularDistributionReconstructed(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::AngularDistributionReconstructed; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/AverageProductData.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/AverageProductData.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/AverageProductData.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/AverageProductData.python.cpp index 2e74cedfb..05769fa7f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/AverageProductData.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/AverageProductData.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/AverageProductData.hpp" +#include "test/v2.0/styles/AverageProductData.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // AverageProductData wrapper void wrapAverageProductData(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::AverageProductData; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Bondarenko.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Bondarenko.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Bondarenko.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Bondarenko.python.cpp index 8fa20ce16..129894066 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Bondarenko.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Bondarenko.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Bondarenko.hpp" +#include "test/v2.0/styles/Bondarenko.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Bondarenko wrapper void wrapBondarenko(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Bondarenko; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp index eb685bbc9..3f2e62917 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // CoulombPlusNuclearElasticMuCutoff wrapper void wrapCoulombPlusNuclearElasticMuCutoff(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::CoulombPlusNuclearElasticMuCutoff; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp index 4e00c4db3..d321531af 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/CrossSectionReconstructed.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/CrossSectionReconstructed.hpp" +#include "test/v2.0/styles/CrossSectionReconstructed.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // CrossSectionReconstructed wrapper void wrapCrossSectionReconstructed(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::CrossSectionReconstructed; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/EqualProbableBins.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/EqualProbableBins.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/EqualProbableBins.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/EqualProbableBins.python.cpp index 83279f163..52567235c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/EqualProbableBins.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/EqualProbableBins.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/EqualProbableBins.hpp" +#include "test/v2.0/styles/EqualProbableBins.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // EqualProbableBins wrapper void wrapEqualProbableBins(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::EqualProbableBins; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Evaluated.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Evaluated.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Evaluated.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Evaluated.python.cpp index 6ca20c5b9..4af926294 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Evaluated.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Evaluated.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Evaluated.hpp" +#include "test/v2.0/styles/Evaluated.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Evaluated wrapper void wrapEvaluated(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Evaluated; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Flux.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Flux.python.cpp index 7acd428cf..f96d3348d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Flux.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Flux.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Flux.hpp" +#include "test/v2.0/styles/Flux.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Flux wrapper void wrapFlux(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Flux; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/GriddedCrossSection.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/GriddedCrossSection.python.cpp index c920df091..b035c1dea 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/GriddedCrossSection.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/GriddedCrossSection.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/GriddedCrossSection.hpp" +#include "test/v2.0/styles/GriddedCrossSection.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // GriddedCrossSection wrapper void wrapGriddedCrossSection(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::GriddedCrossSection; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Heated.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Heated.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Heated.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Heated.python.cpp index 09c2058b0..6eef9359d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Heated.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Heated.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Heated.hpp" +#include "test/v2.0/styles/Heated.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Heated wrapper void wrapHeated(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Heated; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/HeatedMultiGroup.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/HeatedMultiGroup.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/styles/HeatedMultiGroup.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/HeatedMultiGroup.python.cpp index 616cfac2e..d6422b2f0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/HeatedMultiGroup.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/HeatedMultiGroup.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/HeatedMultiGroup.hpp" +#include "test/v2.0/styles/HeatedMultiGroup.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // HeatedMultiGroup wrapper void wrapHeatedMultiGroup(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::HeatedMultiGroup; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/InverseSpeed.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/InverseSpeed.python.cpp index 172402c8d..56843e27c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/InverseSpeed.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/InverseSpeed.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/InverseSpeed.hpp" +#include "test/v2.0/styles/InverseSpeed.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // InverseSpeed wrapper void wrapInverseSpeed(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::InverseSpeed; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp index af71c70d3..8326ff581 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/MonteCarlo_cdf.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/MonteCarlo_cdf.hpp" +#include "test/v2.0/styles/MonteCarlo_cdf.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // MonteCarlo_cdf wrapper void wrapMonteCarlo_cdf(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::MonteCarlo_cdf; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/MultiBand.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/MultiBand.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/MultiBand.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/MultiBand.python.cpp index 2e8ad1ab5..d12883844 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/MultiBand.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/MultiBand.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/MultiBand.hpp" +#include "test/v2.0/styles/MultiBand.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // MultiBand wrapper void wrapMultiBand(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::MultiBand; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/MultiGroup.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/MultiGroup.python.cpp index 34fd9fc8d..87a583340 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/MultiGroup.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/MultiGroup.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/MultiGroup.hpp" +#include "test/v2.0/styles/MultiGroup.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // MultiGroup wrapper void wrapMultiGroup(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::MultiGroup; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp index dcfde9e8b..b9e369564 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/ProjectileEnergyDomain.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/ProjectileEnergyDomain.hpp" +#include "test/v2.0/styles/ProjectileEnergyDomain.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // ProjectileEnergyDomain wrapper void wrapProjectileEnergyDomain(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::ProjectileEnergyDomain; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Realization.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Realization.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Realization.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Realization.python.cpp index a7d42a065..1f88d8206 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Realization.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Realization.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Realization.hpp" +#include "test/v2.0/styles/Realization.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Realization wrapper void wrapRealization(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Realization; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/SigmaZeros.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/SigmaZeros.python.cpp index 7948e694c..ee7787a83 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/SigmaZeros.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/SigmaZeros.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/SigmaZeros.hpp" +#include "test/v2.0/styles/SigmaZeros.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // SigmaZeros wrapper void wrapSigmaZeros(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::SigmaZeros; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/SnElasticUpScatter.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/SnElasticUpScatter.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/SnElasticUpScatter.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/SnElasticUpScatter.python.cpp index cde1671a5..d36fda765 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/SnElasticUpScatter.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/SnElasticUpScatter.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/SnElasticUpScatter.hpp" +#include "test/v2.0/styles/SnElasticUpScatter.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // SnElasticUpScatter wrapper void wrapSnElasticUpScatter(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::SnElasticUpScatter; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Styles.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Styles.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Styles.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Styles.python.cpp index cfc6e9ef4..74241d5af 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Styles.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Styles.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Styles.hpp" +#include "test/v2.0/styles/Styles.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Styles wrapper void wrapStyles(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Styles; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Temperature.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Temperature.python.cpp index 97d9793bf..b0a6b2a10 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Temperature.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Temperature.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Temperature.hpp" +#include "test/v2.0/styles/Temperature.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Temperature wrapper void wrapTemperature(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Temperature; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Transportable.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Transportable.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Transportable.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Transportable.python.cpp index f4af1c35e..23d1b037b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Transportable.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Transportable.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Transportable.hpp" +#include "test/v2.0/styles/Transportable.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Transportable wrapper void wrapTransportable(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Transportable; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/Transportables.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/Transportables.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/styles/Transportables.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/Transportables.python.cpp index 5d235afc9..d399e08f3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/Transportables.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/Transportables.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/Transportables.hpp" +#include "test/v2.0/styles/Transportables.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // Transportables wrapper void wrapTransportables(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::Transportables; diff --git a/standards/gnds-2.0/try/python/src/v2.0/styles/URR_probabilityTables.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/styles/URR_probabilityTables.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/styles/URR_probabilityTables.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/styles/URR_probabilityTables.python.cpp index 08edb8679..8f47c8c58 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/styles/URR_probabilityTables.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/styles/URR_probabilityTables.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/styles/URR_probabilityTables.hpp" +#include "test/v2.0/styles/URR_probabilityTables.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_styles { // URR_probabilityTables wrapper void wrapURR_probabilityTables(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = styles::URR_probabilityTables; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport.python.cpp similarity index 99% rename from standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport.python.cpp index 5876e0fb7..031246ffd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport.python.cpp @@ -78,7 +78,7 @@ void wrapTransport(python::module &module) // create the transport submodule python::module submodule = module.def_submodule( "transport", - "try v2.0 transport" + "test v2.0 transport" ); // wrap transport components diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/A.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/A.python.cpp index 707f9bc7f..11e9ce2eb 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/A.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/A.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/A.hpp" +#include "test/v2.0/transport/A.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // A wrapper void wrapA(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::A; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Add.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Add.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Add.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Add.python.cpp index 15dc612a3..73c70e69e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Add.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Add.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Add.hpp" +#include "test/v2.0/transport/Add.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Add wrapper void wrapAdd(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Add; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/AngularEnergy.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/AngularEnergy.python.cpp index 12eb1faf0..00c7d2ef3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/AngularEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/AngularEnergy.hpp" +#include "test/v2.0/transport/AngularEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // AngularEnergy wrapper void wrapAngularEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::AngularEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/AngularTwoBody.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/AngularTwoBody.python.cpp index 8997a9c81..ce9451585 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/AngularTwoBody.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/AngularTwoBody.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/AngularTwoBody.hpp" +#include "test/v2.0/transport/AngularTwoBody.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // AngularTwoBody wrapper void wrapAngularTwoBody(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::AngularTwoBody; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Angular_uncorrelated.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Angular_uncorrelated.python.cpp index f799856a6..72449b27f 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Angular_uncorrelated.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Angular_uncorrelated.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Angular_uncorrelated.hpp" +#include "test/v2.0/transport/Angular_uncorrelated.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Angular_uncorrelated wrapper void wrapAngular_uncorrelated(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Angular_uncorrelated; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Background.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Background.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Background.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Background.python.cpp index 2cc89bd31..296c2c2dc 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Background.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Background.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Background.hpp" +#include "test/v2.0/transport/Background.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Background wrapper void wrapBackground(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Background; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Branching1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Branching1d.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Branching1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Branching1d.python.cpp index ea54296cd..235ad7612 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Branching1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Branching1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Branching1d.hpp" +#include "test/v2.0/transport/Branching1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Branching1d wrapper void wrapBranching1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Branching1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Branching3d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Branching3d.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Branching3d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Branching3d.python.cpp index fa7e2bb4e..0a261564d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Branching3d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Branching3d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Branching3d.hpp" +#include "test/v2.0/transport/Branching3d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Branching3d wrapper void wrapBranching3d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Branching3d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CoherentPhoton.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/CoherentPhoton.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/transport/CoherentPhoton.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/CoherentPhoton.python.cpp index 41a636963..22ffd2c1b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/CoherentPhoton.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/CoherentPhoton.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/CoherentPhoton.hpp" +#include "test/v2.0/transport/CoherentPhoton.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // CoherentPhoton wrapper void wrapCoherentPhoton(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::CoherentPhoton; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp index fa86d3d03..067d47b66 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSection.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/CrossSection.hpp" +#include "test/v2.0/transport/CrossSection.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // CrossSection wrapper void wrapCrossSection(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::CrossSection; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSectionSum.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/CrossSectionSum.python.cpp index d91ab0ffc..aae9e4847 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSum.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSectionSum.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/CrossSectionSum.hpp" +#include "test/v2.0/transport/CrossSectionSum.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // CrossSectionSum wrapper void wrapCrossSectionSum(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::CrossSectionSum; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSums.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSectionSums.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSums.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/CrossSectionSums.python.cpp index 632e66def..37e6288d3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/CrossSectionSums.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSectionSums.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/CrossSectionSums.hpp" +#include "test/v2.0/transport/CrossSectionSums.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // CrossSectionSums wrapper void wrapCrossSectionSums(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::CrossSectionSums; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/DiscreteGamma.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/DiscreteGamma.python.cpp index e7cfdabb9..4833081e1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/DiscreteGamma.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/DiscreteGamma.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/DiscreteGamma.hpp" +#include "test/v2.0/transport/DiscreteGamma.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // DiscreteGamma wrapper void wrapDiscreteGamma(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::DiscreteGamma; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Distribution.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Distribution.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp index 1ce74d166..1b99aa85e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Distribution.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Distribution.hpp" +#include "test/v2.0/transport/Distribution.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Distribution wrapper void wrapDistribution(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Distribution; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp index ba82a8286..88ff7f506 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/DoubleDifferentialCrossSection.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/DoubleDifferentialCrossSection.hpp" +#include "test/v2.0/transport/DoubleDifferentialCrossSection.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // DoubleDifferentialCrossSection wrapper void wrapDoubleDifferentialCrossSection(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::DoubleDifferentialCrossSection; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/EnergyAngular.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/EnergyAngular.python.cpp index a1b559ef9..708adb437 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/EnergyAngular.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/EnergyAngular.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/EnergyAngular.hpp" +#include "test/v2.0/transport/EnergyAngular.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // EnergyAngular wrapper void wrapEnergyAngular(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::EnergyAngular; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Energy_uncorrelated.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Energy_uncorrelated.python.cpp index db5ca0844..4ab690311 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Energy_uncorrelated.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Energy_uncorrelated.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Energy_uncorrelated.hpp" +#include "test/v2.0/transport/Energy_uncorrelated.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Energy_uncorrelated wrapper void wrapEnergy_uncorrelated(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Energy_uncorrelated; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Evaporation.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Evaporation.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Evaporation.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Evaporation.python.cpp index 3587f35ff..897e05a4e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Evaporation.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Evaporation.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Evaporation.hpp" +#include "test/v2.0/transport/Evaporation.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Evaporation wrapper void wrapEvaporation(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Evaporation; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/F.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/F.python.cpp index a0037cae7..3e12aa87c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/F.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/F.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/F.hpp" +#include "test/v2.0/transport/F.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // F wrapper void wrapF(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::F; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/FastRegion.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/FastRegion.python.cpp index c1b170127..f94343163 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/FastRegion.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/FastRegion.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/FastRegion.hpp" +#include "test/v2.0/transport/FastRegion.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // FastRegion wrapper void wrapFastRegion(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::FastRegion; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Forward.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Forward.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Forward.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Forward.python.cpp index f3eb44375..2d575df10 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Forward.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Forward.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Forward.hpp" +#include "test/v2.0/transport/Forward.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Forward wrapper void wrapForward(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Forward; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/G.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/G.python.cpp index 1f86a0f6f..33c421c61 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/G.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/G.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/G.hpp" +#include "test/v2.0/transport/G.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // G wrapper void wrapG(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::G; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/GeneralEvaporation.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/GeneralEvaporation.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/GeneralEvaporation.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/GeneralEvaporation.python.cpp index daf205cd2..853e24114 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/GeneralEvaporation.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/GeneralEvaporation.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/GeneralEvaporation.hpp" +#include "test/v2.0/transport/GeneralEvaporation.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // GeneralEvaporation wrapper void wrapGeneralEvaporation(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::GeneralEvaporation; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/IncoherentPhoton.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/IncoherentPhoton.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/transport/IncoherentPhoton.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/IncoherentPhoton.python.cpp index 066cc2d5b..510828b46 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/IncoherentPhoton.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/IncoherentPhoton.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/IncoherentPhoton.hpp" +#include "test/v2.0/transport/IncoherentPhoton.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // IncoherentPhoton wrapper void wrapIncoherentPhoton(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::IncoherentPhoton; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/IncompleteReactions.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/IncompleteReactions.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/IncompleteReactions.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/IncompleteReactions.python.cpp index 0c5f50ca4..1aa630cd6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/IncompleteReactions.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/IncompleteReactions.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/IncompleteReactions.hpp" +#include "test/v2.0/transport/IncompleteReactions.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // IncompleteReactions wrapper void wrapIncompleteReactions(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::IncompleteReactions; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Isotropic2d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Isotropic2d.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Isotropic2d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Isotropic2d.python.cpp index 215851384..c2bdabc8d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Isotropic2d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Isotropic2d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Isotropic2d.hpp" +#include "test/v2.0/transport/Isotropic2d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Isotropic2d wrapper void wrapIsotropic2d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Isotropic2d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/KalbachMann.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/KalbachMann.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/transport/KalbachMann.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/KalbachMann.python.cpp index 470a4e4ee..ac9577950 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/KalbachMann.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/KalbachMann.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/KalbachMann.hpp" +#include "test/v2.0/transport/KalbachMann.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // KalbachMann wrapper void wrapKalbachMann(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::KalbachMann; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/MultiGroup3d.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/MultiGroup3d.python.cpp index 9df16eede..d25caf2ff 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiGroup3d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/MultiGroup3d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/MultiGroup3d.hpp" +#include "test/v2.0/transport/MultiGroup3d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // MultiGroup3d wrapper void wrapMultiGroup3d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::MultiGroup3d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Multiplicity.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Multiplicity.python.cpp index 4614e1bca..adc26f565 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Multiplicity.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Multiplicity.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Multiplicity.hpp" +#include "test/v2.0/transport/Multiplicity.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Multiplicity wrapper void wrapMultiplicity(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Multiplicity; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySum.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/MultiplicitySum.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySum.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/MultiplicitySum.python.cpp index 56ed817f8..c6864bce1 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySum.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/MultiplicitySum.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/MultiplicitySum.hpp" +#include "test/v2.0/transport/MultiplicitySum.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // MultiplicitySum wrapper void wrapMultiplicitySum(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::MultiplicitySum; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySums.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/MultiplicitySums.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySums.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/MultiplicitySums.python.cpp index 002c735e3..8bcb8c7d7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/MultiplicitySums.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/MultiplicitySums.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/MultiplicitySums.hpp" +#include "test/v2.0/transport/MultiplicitySums.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // MultiplicitySums wrapper void wrapMultiplicitySums(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::MultiplicitySums; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp index adae9d83a..6844edcc9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/NBodyPhaseSpace.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/NBodyPhaseSpace.hpp" +#include "test/v2.0/transport/NBodyPhaseSpace.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // NBodyPhaseSpace wrapper void wrapNBodyPhaseSpace(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::NBodyPhaseSpace; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProduct.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/OrphanProduct.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProduct.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/OrphanProduct.python.cpp index 2ece5e5a9..019e27248 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProduct.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/OrphanProduct.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/OrphanProduct.hpp" +#include "test/v2.0/transport/OrphanProduct.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // OrphanProduct wrapper void wrapOrphanProduct(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::OrphanProduct; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProducts.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/OrphanProducts.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProducts.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/OrphanProducts.python.cpp index cb5934924..b5f3ddde0 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/OrphanProducts.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/OrphanProducts.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/OrphanProducts.hpp" +#include "test/v2.0/transport/OrphanProducts.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // OrphanProducts wrapper void wrapOrphanProducts(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::OrphanProducts; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/OutputChannel.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/OutputChannel.python.cpp index 86c32a50d..afe002979 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/OutputChannel.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/OutputChannel.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/OutputChannel.hpp" +#include "test/v2.0/transport/OutputChannel.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // OutputChannel wrapper void wrapOutputChannel(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::OutputChannel; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp index e8d9cd19b..18a52913b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/PhotonEmissionProbabilities.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/PhotonEmissionProbabilities.hpp" +#include "test/v2.0/transport/PhotonEmissionProbabilities.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // PhotonEmissionProbabilities wrapper void wrapPhotonEmissionProbabilities(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::PhotonEmissionProbabilities; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/PrimaryGamma.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/PrimaryGamma.python.cpp index 47e155818..0db9942f2 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/PrimaryGamma.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/PrimaryGamma.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/PrimaryGamma.hpp" +#include "test/v2.0/transport/PrimaryGamma.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // PrimaryGamma wrapper void wrapPrimaryGamma(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::PrimaryGamma; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Production.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Production.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Production.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Production.python.cpp index 56d06612d..cc63459ea 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Production.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Production.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Production.hpp" +#include "test/v2.0/transport/Production.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Production wrapper void wrapProduction(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Production; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Productions.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Productions.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Productions.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Productions.python.cpp index 6341a5bcc..18c9ab00e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Productions.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Productions.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Productions.hpp" +#include "test/v2.0/transport/Productions.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Productions wrapper void wrapProductions(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Productions; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/R.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/R.python.cpp index ec67b9e7a..6c09eba31 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/R.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/R.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/R.hpp" +#include "test/v2.0/transport/R.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // R wrapper void wrapR(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::R; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Reaction.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Reaction.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Reaction.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Reaction.python.cpp index 75aebe2bf..da7453935 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Reaction.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Reaction.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Reaction.hpp" +#include "test/v2.0/transport/Reaction.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Reaction wrapper void wrapReaction(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Reaction; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/ReactionSuite.python.cpp similarity index 98% rename from standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/ReactionSuite.python.cpp index f6bada605..a257b8607 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/ReactionSuite.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/ReactionSuite.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/ReactionSuite.hpp" +#include "test/v2.0/transport/ReactionSuite.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // ReactionSuite wrapper void wrapReactionSuite(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::ReactionSuite; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Reactions.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Reactions.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Reactions.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Reactions.python.cpp index 9f25da619..f2b4ce03c 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Reactions.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Reactions.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Reactions.hpp" +#include "test/v2.0/transport/Reactions.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Reactions wrapper void wrapReactions(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Reactions; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Recoil.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Recoil.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Recoil.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Recoil.python.cpp index d403b4245..389f8dd83 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Recoil.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Recoil.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Recoil.hpp" +#include "test/v2.0/transport/Recoil.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Recoil wrapper void wrapRecoil(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Recoil; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Reference.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Reference.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Reference.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Reference.python.cpp index 4de519ac1..f98ff98fd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Reference.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Reference.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Reference.hpp" +#include "test/v2.0/transport/Reference.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Reference wrapper void wrapReference(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Reference; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/ResolvedRegion.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/ResolvedRegion.python.cpp index fa09d615a..98c72bf02 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/ResolvedRegion.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/ResolvedRegion.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/ResolvedRegion.hpp" +#include "test/v2.0/transport/ResolvedRegion.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // ResolvedRegion wrapper void wrapResolvedRegion(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::ResolvedRegion; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesLink.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/ResonancesLink.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesLink.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/ResonancesLink.python.cpp index dd4179d9e..a9935ee6e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesLink.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/ResonancesLink.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/ResonancesLink.hpp" +#include "test/v2.0/transport/ResonancesLink.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // ResonancesLink wrapper void wrapResonancesLink(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::ResonancesLink; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/ResonancesWithBackground.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/ResonancesWithBackground.python.cpp index 0c7d1ada9..567e6e1ba 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/ResonancesWithBackground.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/ResonancesWithBackground.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/ResonancesWithBackground.hpp" +#include "test/v2.0/transport/ResonancesWithBackground.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // ResonancesWithBackground wrapper void wrapResonancesWithBackground(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::ResonancesWithBackground; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Summands.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Summands.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Summands.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Summands.python.cpp index 258faa2fc..a16ff58e9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Summands.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Summands.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Summands.hpp" +#include "test/v2.0/transport/Summands.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Summands wrapper void wrapSummands(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Summands; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Sums.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Sums.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Sums.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Sums.python.cpp index b97103768..a1a955641 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Sums.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Sums.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Sums.hpp" +#include "test/v2.0/transport/Sums.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Sums wrapper void wrapSums(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Sums; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Theta.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Theta.python.cpp index b248c6db4..91c4e6c37 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Theta.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Theta.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Theta.hpp" +#include "test/v2.0/transport/Theta.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Theta wrapper void wrapTheta(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Theta; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/U.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/U.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/U.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/U.python.cpp index e97429be3..9ae9a1c37 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/U.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/U.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/U.hpp" +#include "test/v2.0/transport/U.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // U wrapper void wrapU(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::U; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp index 98dfe0896..c37ce0a9e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/URR_probabilityTables1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/URR_probabilityTables1d.hpp" +#include "test/v2.0/transport/URR_probabilityTables1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // URR_probabilityTables1d wrapper void wrapURR_probabilityTables1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::URR_probabilityTables1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Uncorrelated.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Uncorrelated.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Uncorrelated.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Uncorrelated.python.cpp index da4dec173..e4d1d0189 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Uncorrelated.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Uncorrelated.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Uncorrelated.hpp" +#include "test/v2.0/transport/Uncorrelated.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Uncorrelated wrapper void wrapUncorrelated(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Uncorrelated; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/UnresolvedRegion.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/UnresolvedRegion.python.cpp index 22b627ea0..75f5c442a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/UnresolvedRegion.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/UnresolvedRegion.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/UnresolvedRegion.hpp" +#include "test/v2.0/transport/UnresolvedRegion.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // UnresolvedRegion wrapper void wrapUnresolvedRegion(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::UnresolvedRegion; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Unspecified.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Unspecified.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Unspecified.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Unspecified.python.cpp index 0669abf0c..af8a85e68 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Unspecified.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Unspecified.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Unspecified.hpp" +#include "test/v2.0/transport/Unspecified.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Unspecified wrapper void wrapUnspecified(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Unspecified; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Weighted.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/Weighted.python.cpp index 72d4afe7b..02adb9036 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/Weighted.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Weighted.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/Weighted.hpp" +#include "test/v2.0/transport/Weighted.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // Weighted wrapper void wrapWeighted(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::Weighted; diff --git a/standards/gnds-2.0/try/python/src/v2.0/transport/WeightedFunctionals.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/WeightedFunctionals.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/transport/WeightedFunctionals.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/transport/WeightedFunctionals.python.cpp index 8c8cace57..d8f3df6a9 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/transport/WeightedFunctionals.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/WeightedFunctionals.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/transport/WeightedFunctionals.hpp" +#include "test/v2.0/transport/WeightedFunctionals.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_transport { // WeightedFunctionals wrapper void wrapWeightedFunctionals(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = transport::WeightedFunctionals; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl.python.cpp similarity index 99% rename from standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl.python.cpp index 60b2e32ae..d0b8d193d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl.python.cpp @@ -45,7 +45,7 @@ void wrapTsl(python::module &module) // create the tsl submodule python::module submodule = module.def_submodule( "tsl", - "try v2.0 tsl" + "test v2.0 tsl" ); // wrap tsl components diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp index 22978f138..b9cc8ae26 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/BoundAtomCrossSection.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "test/v2.0/tsl/BoundAtomCrossSection.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // BoundAtomCrossSection wrapper void wrapBoundAtomCrossSection(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::BoundAtomCrossSection; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdge.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEdge.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdge.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEdge.python.cpp index 0cb7a6a95..ef2c8bfb8 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdge.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEdge.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/BraggEdge.hpp" +#include "test/v2.0/tsl/BraggEdge.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // BraggEdge wrapper void wrapBraggEdge(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::BraggEdge; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdges.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEdges.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdges.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEdges.python.cpp index 53c57897e..97fc2666a 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEdges.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEdges.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/BraggEdges.hpp" +#include "test/v2.0/tsl/BraggEdges.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // BraggEdges wrapper void wrapBraggEdges(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::BraggEdges; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEnergy.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEnergy.python.cpp index 24b90a973..0d9ec115d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/BraggEnergy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/BraggEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/BraggEnergy.hpp" +#include "test/v2.0/tsl/BraggEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // BraggEnergy wrapper void wrapBraggEnergy(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::BraggEnergy; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp index dd230b17f..eac6291a4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/CoherentAtomCrossSection.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "test/v2.0/tsl/CoherentAtomCrossSection.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // CoherentAtomCrossSection wrapper void wrapCoherentAtomCrossSection(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::CoherentAtomCrossSection; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp index a6f7948e6..fdd3ab9e3 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/DebyeWallerIntegral.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/DebyeWallerIntegral.hpp" +#include "test/v2.0/tsl/DebyeWallerIntegral.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // DebyeWallerIntegral wrapper void wrapDebyeWallerIntegral(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::DebyeWallerIntegral; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp index 624b3cc1d..fb00a7e22 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/DistinctScatteringKernel.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "test/v2.0/tsl/DistinctScatteringKernel.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // DistinctScatteringKernel wrapper void wrapDistinctScatteringKernel(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::DistinctScatteringKernel; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/E_critical.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/E_critical.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/E_critical.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/E_critical.python.cpp index c167dfe76..183818172 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/E_critical.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/E_critical.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/E_critical.hpp" +#include "test/v2.0/tsl/E_critical.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // E_critical wrapper void wrapE_critical(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::E_critical; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/E_max.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/E_max.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/E_max.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/E_max.python.cpp index 11b6c4371..17c4dbaa4 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/E_max.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/E_max.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/E_max.hpp" +#include "test/v2.0/tsl/E_max.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // E_max wrapper void wrapE_max(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::E_max; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/FreeGasApproximation.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/FreeGasApproximation.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/FreeGasApproximation.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/FreeGasApproximation.python.cpp index d16edd845..f62a2c430 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/FreeGasApproximation.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/FreeGasApproximation.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/FreeGasApproximation.hpp" +#include "test/v2.0/tsl/FreeGasApproximation.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // FreeGasApproximation wrapper void wrapFreeGasApproximation(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::FreeGasApproximation; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/GaussianApproximation.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/GaussianApproximation.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/GaussianApproximation.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/GaussianApproximation.python.cpp index 17167166b..ef7b05694 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/GaussianApproximation.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/GaussianApproximation.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/GaussianApproximation.hpp" +#include "test/v2.0/tsl/GaussianApproximation.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // GaussianApproximation wrapper void wrapGaussianApproximation(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::GaussianApproximation; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/Mass.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/Mass.python.cpp similarity index 93% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/Mass.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/Mass.python.cpp index 61168ea84..ab672b33b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/Mass.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/Mass.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/Mass.hpp" +#include "test/v2.0/tsl/Mass.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // Mass wrapper void wrapMass(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::Mass; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/PhononSpectrum.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/PhononSpectrum.python.cpp index 28fda7dc2..74a5eeedd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/PhononSpectrum.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/PhononSpectrum.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/PhononSpectrum.hpp" +#include "test/v2.0/tsl/PhononSpectrum.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // PhononSpectrum wrapper void wrapPhononSpectrum(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::PhononSpectrum; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/SCTApproximation.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/SCTApproximation.python.cpp similarity index 89% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/SCTApproximation.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/SCTApproximation.python.cpp index c54158066..a57d10926 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/SCTApproximation.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/SCTApproximation.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/SCTApproximation.hpp" +#include "test/v2.0/tsl/SCTApproximation.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // SCTApproximation wrapper void wrapSCTApproximation(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::SCTApproximation; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/S_table.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/S_table.python.cpp index 6eae825d0..59d83d443 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/S_table.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/S_table.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/S_table.hpp" +#include "test/v2.0/tsl/S_table.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // S_table wrapper void wrapS_table(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::S_table; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/ScatteringAtom.python.cpp similarity index 97% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/ScatteringAtom.python.cpp index 1f86de8be..3e9df7f51 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtom.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/ScatteringAtom.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/ScatteringAtom.hpp" +#include "test/v2.0/tsl/ScatteringAtom.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // ScatteringAtom wrapper void wrapScatteringAtom(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::ScatteringAtom; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtoms.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/ScatteringAtoms.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtoms.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/ScatteringAtoms.python.cpp index bc6e975ac..7956e6b26 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/ScatteringAtoms.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/ScatteringAtoms.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/ScatteringAtoms.hpp" +#include "test/v2.0/tsl/ScatteringAtoms.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // ScatteringAtoms wrapper void wrapScatteringAtoms(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::ScatteringAtoms; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp similarity index 96% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp index f3d25cc15..003d317fa 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/SelfScatteringKernel.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/SelfScatteringKernel.hpp" +#include "test/v2.0/tsl/SelfScatteringKernel.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // SelfScatteringKernel wrapper void wrapSelfScatteringKernel(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::SelfScatteringKernel; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/StructureFactor.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/StructureFactor.python.cpp index 89b9ba23f..6246815f6 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/StructureFactor.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/StructureFactor.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/StructureFactor.hpp" +#include "test/v2.0/tsl/StructureFactor.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // StructureFactor wrapper void wrapStructureFactor(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::StructureFactor; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/T_effective.python.cpp similarity index 91% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/T_effective.python.cpp index daa4186ae..c0aea513e 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/T_effective.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/T_effective.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/T_effective.hpp" +#include "test/v2.0/tsl/T_effective.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // T_effective wrapper void wrapT_effective(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::T_effective; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp index 6e6cdff95..19ce81acd 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // ThermalNeutronScatteringLaw wrapper void wrapThermalNeutronScatteringLaw(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::ThermalNeutronScatteringLaw; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp similarity index 92% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp index 98f773b42..2719da64b 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // ThermalNeutronScatteringLaw1d wrapper void wrapThermalNeutronScatteringLaw1d(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::ThermalNeutronScatteringLaw1d; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp index 4e57ea904..ce5621794 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // ThermalNeutronScatteringLaw_coherentElastic wrapper void wrapThermalNeutronScatteringLaw_coherentElastic(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::ThermalNeutronScatteringLaw_coherentElastic; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp similarity index 94% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp index fea8e538c..c9976aa4d 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // ThermalNeutronScatteringLaw_incoherentElastic wrapper void wrapThermalNeutronScatteringLaw_incoherentElastic(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::ThermalNeutronScatteringLaw_incoherentElastic; diff --git a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp similarity index 95% rename from standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp rename to standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp index 49334151e..e43ccedc7 100644 --- a/standards/gnds-2.0/try/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_tsl { // ThermalNeutronScatteringLaw_incoherentInelastic wrapper void wrapThermalNeutronScatteringLaw_incoherentInelastic(python::module &module) { - using namespace try; - using namespace try::v2_0; + using namespace test; + using namespace test::v2_0; // type aliases using Component = tsl::ThermalNeutronScatteringLaw_incoherentInelastic; diff --git a/standards/gnds-2.0/test/src/test/v2.0.hpp b/standards/gnds-2.0/test/src/test/v2.0.hpp new file mode 100644 index 000000000..b2b90e0c0 --- /dev/null +++ b/standards/gnds-2.0/test/src/test/v2.0.hpp @@ -0,0 +1,391 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0 +#define TEST_V2_0 + +#include "test/v2.0/appData/ApplicationData.hpp" + +/* +#include "test/v2.0/appData/Institution.hpp" +#include "test/v2.0/appData/ENDFconversionFlags.hpp" +#include "test/v2.0/appData/Conversion.hpp" + +#include "test/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "test/v2.0/atomic/ImaginaryAnomalousFactor.hpp" +#include "test/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "test/v2.0/atomic/RealAnomalousFactor.hpp" +#include "test/v2.0/atomic/ScatteringFactor.hpp" +#include "test/v2.0/atomic/FormFactor.hpp" + +#include "test/v2.0/common/Q.hpp" +#include "test/v2.0/common/Product.hpp" +#include "test/v2.0/common/Products.hpp" +#include "test/v2.0/common/Mass.hpp" +#include "test/v2.0/common/Energy.hpp" +#include "test/v2.0/common/Probability.hpp" +#include "test/v2.0/common/Temperature.hpp" +#include "test/v2.0/common/ExternalFiles.hpp" +#include "test/v2.0/common/ExternalFile.hpp" + +#include "test/v2.0/covariance/CovarianceSuite.hpp" +#include "test/v2.0/covariance/CovarianceSections.hpp" +#include "test/v2.0/covariance/CovarianceMatrix.hpp" +#include "test/v2.0/covariance/SandwichProduct.hpp" +#include "test/v2.0/covariance/Covariance.hpp" +#include "test/v2.0/covariance/RowSensitivity.hpp" +#include "test/v2.0/covariance/ColumnSensitivity.hpp" +#include "test/v2.0/covariance/ParameterCovariances.hpp" +#include "test/v2.0/covariance/Parameters.hpp" +#include "test/v2.0/covariance/ParameterCovariance.hpp" +#include "test/v2.0/covariance/ParameterCovarianceMatrix.hpp" +#include "test/v2.0/covariance/ParameterLink.hpp" +#include "test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "test/v2.0/covariance/Mixed.hpp" +#include "test/v2.0/covariance/AverageParameterCovariance.hpp" +#include "test/v2.0/covariance/CovarianceSection.hpp" +#include "test/v2.0/covariance/RowData.hpp" +#include "test/v2.0/covariance/ColumnData.hpp" +#include "test/v2.0/covariance/Slices.hpp" +#include "test/v2.0/covariance/Slice.hpp" +#include "test/v2.0/covariance/Sum.hpp" +#include "test/v2.0/covariance/Summand.hpp" + +#include "test/v2.0/cpTransport/RutherfordScattering.hpp" +#include "test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "test/v2.0/cpTransport/NuclearPlusInterference.hpp" +#include "test/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "test/v2.0/cpTransport/NuclearTerm.hpp" +#include "test/v2.0/cpTransport/RealInterferenceTerm.hpp" +#include "test/v2.0/cpTransport/ImaginaryInterferenceTerm.hpp" + +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/documentation/Authors.hpp" +#include "test/v2.0/documentation/Author.hpp" +#include "test/v2.0/documentation/Contributors.hpp" +#include "test/v2.0/documentation/Contributor.hpp" +#include "test/v2.0/documentation/Affiliations.hpp" +#include "test/v2.0/documentation/Affiliation.hpp" +#include "test/v2.0/documentation/Collaborations.hpp" +#include "test/v2.0/documentation/Collaboration.hpp" +#include "test/v2.0/documentation/Dates.hpp" +#include "test/v2.0/documentation/Date.hpp" +#include "test/v2.0/documentation/Title.hpp" +#include "test/v2.0/documentation/Abstract.hpp" +#include "test/v2.0/documentation/Body.hpp" +#include "test/v2.0/documentation/Copyright.hpp" +#include "test/v2.0/documentation/Version.hpp" +#include "test/v2.0/documentation/Acknowledgements.hpp" +#include "test/v2.0/documentation/Acknowledgement.hpp" +#include "test/v2.0/documentation/RelatedItems.hpp" +#include "test/v2.0/documentation/RelatedItem.hpp" +#include "test/v2.0/documentation/Keywords.hpp" +#include "test/v2.0/documentation/Keyword.hpp" +#include "test/v2.0/documentation/ComputerCodes.hpp" +#include "test/v2.0/documentation/ComputerCode.hpp" +#include "test/v2.0/documentation/CodeRepo.hpp" +#include "test/v2.0/documentation/InputDecks.hpp" +#include "test/v2.0/documentation/InputDeck.hpp" +#include "test/v2.0/documentation/OutputDecks.hpp" +#include "test/v2.0/documentation/OutputDeck.hpp" +#include "test/v2.0/documentation/ExecutionArguments.hpp" +#include "test/v2.0/documentation/ExperimentalDataSets.hpp" +#include "test/v2.0/documentation/ExforDataSets.hpp" +#include "test/v2.0/documentation/ExforDataSet.hpp" +#include "test/v2.0/documentation/CovarianceScript.hpp" +#include "test/v2.0/documentation/CorrectionScript.hpp" +#include "test/v2.0/documentation/Note.hpp" +#include "test/v2.0/documentation/Bibliography.hpp" +#include "test/v2.0/documentation/Bibitem.hpp" +#include "test/v2.0/documentation/EndfCompatible.hpp" + +#include "test/v2.0/fissionFragmentData/FissionFragmentData.hpp" +#include "test/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "test/v2.0/fissionFragmentData/DelayedNeutron.hpp" +#include "test/v2.0/fissionFragmentData/Rate.hpp" + +#include "test/v2.0/fissionTransport/FissionComponents.hpp" +#include "test/v2.0/fissionTransport/FissionComponent.hpp" +#include "test/v2.0/fissionTransport/FissionEnergyReleased.hpp" +#include "test/v2.0/fissionTransport/DelayedBetaEnergy.hpp" +#include "test/v2.0/fissionTransport/TotalEnergy.hpp" +#include "test/v2.0/fissionTransport/DelayedGammaEnergy.hpp" +#include "test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "test/v2.0/fissionTransport/PromptGammaEnergy.hpp" +#include "test/v2.0/fissionTransport/NeutrinoEnergy.hpp" +#include "test/v2.0/fissionTransport/PromptProductKE.hpp" +#include "test/v2.0/fissionTransport/PromptNeutronKE.hpp" +#include "test/v2.0/fissionTransport/DelayedNeutronKE.hpp" +#include "test/v2.0/fissionTransport/Watt.hpp" +#include "test/v2.0/fissionTransport/A.hpp" +#include "test/v2.0/fissionTransport/B.hpp" +#include "test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "test/v2.0/fissionTransport/MadlandNix.hpp" +#include "test/v2.0/fissionTransport/T_M.hpp" +#include "test/v2.0/fissionTransport/EFL.hpp" +#include "test/v2.0/fissionTransport/EFH.hpp" + +#include "test/v2.0/fpy/ProductYields.hpp" +#include "test/v2.0/fpy/ProductYield.hpp" +#include "test/v2.0/fpy/Nuclides.hpp" +#include "test/v2.0/fpy/ElapsedTimes.hpp" +#include "test/v2.0/fpy/ElapsedTime.hpp" +#include "test/v2.0/fpy/Time.hpp" +#include "test/v2.0/fpy/Yields.hpp" +#include "test/v2.0/fpy/IncidentEnergies.hpp" +#include "test/v2.0/fpy/IncidentEnergy.hpp" +#include "test/v2.0/fpy/Energy.hpp" + +#include "test/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Integer.hpp" +#include "test/v2.0/containers/Fraction.hpp" +#include "test/v2.0/containers/String.hpp" +#include "test/v2.0/containers/Link.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/ListOfCovariances.hpp" +#include "test/v2.0/containers/Covariance.hpp" +#include "test/v2.0/containers/Standard.hpp" +#include "test/v2.0/containers/LogNormal.hpp" +#include "test/v2.0/containers/ConfidenceIntervals.hpp" +#include "test/v2.0/containers/Interval.hpp" +#include "test/v2.0/containers/Pdf.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Axis.hpp" +#include "test/v2.0/containers/Grid.hpp" +#include "test/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Array.hpp" +#include "test/v2.0/containers/Table.hpp" +#include "test/v2.0/containers/ColumnHeaders.hpp" +#include "test/v2.0/containers/Column.hpp" +#include "test/v2.0/containers/Data.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Ys1d.hpp" +#include "test/v2.0/containers/Legendre.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/Xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Function1ds.hpp" +#include "test/v2.0/containers/XYs3d.hpp" +#include "test/v2.0/containers/Function2ds.hpp" +#include "test/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/containers/Regions3d.hpp" +#include "test/v2.0/containers/Function3ds.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/Gridded2d.hpp" +#include "test/v2.0/containers/Gridded3d.hpp" + +#include "test/v2.0/map/Map.hpp" +#include "test/v2.0/map/Import.hpp" +#include "test/v2.0/map/Protare.hpp" +#include "test/v2.0/map/TNSL.hpp" + +#include "test/v2.0/pops/PoPs_database.hpp" +#include "test/v2.0/pops/Aliases.hpp" +#include "test/v2.0/pops/Alias.hpp" +#include "test/v2.0/pops/MetaStable.hpp" +#include "test/v2.0/pops/GaugeBosons.hpp" +#include "test/v2.0/pops/GaugeBoson.hpp" +#include "test/v2.0/pops/Leptons.hpp" +#include "test/v2.0/pops/Lepton.hpp" +#include "test/v2.0/pops/Baryons.hpp" +#include "test/v2.0/pops/Baryon.hpp" +#include "test/v2.0/pops/ChemicalElements.hpp" +#include "test/v2.0/pops/ChemicalElement.hpp" +#include "test/v2.0/pops/Atomic.hpp" +#include "test/v2.0/pops/Configurations.hpp" +#include "test/v2.0/pops/Configuration.hpp" +#include "test/v2.0/pops/BindingEnergy.hpp" +#include "test/v2.0/pops/Isotopes.hpp" +#include "test/v2.0/pops/Isotope.hpp" +#include "test/v2.0/pops/Nuclides.hpp" +#include "test/v2.0/pops/Nuclide.hpp" +#include "test/v2.0/pops/Nucleus.hpp" +#include "test/v2.0/pops/Unorthodoxes.hpp" +#include "test/v2.0/pops/Unorthodox.hpp" +#include "test/v2.0/pops/Mass.hpp" +#include "test/v2.0/pops/Spin.hpp" +#include "test/v2.0/pops/Parity.hpp" +#include "test/v2.0/pops/Charge.hpp" +#include "test/v2.0/pops/Energy.hpp" +#include "test/v2.0/pops/Halflife.hpp" +#include "test/v2.0/pops/DecayData.hpp" +#include "test/v2.0/pops/DecayModes.hpp" +#include "test/v2.0/pops/DecayMode.hpp" +#include "test/v2.0/pops/Probability.hpp" +#include "test/v2.0/pops/InternalConversionCoefficients.hpp" +#include "test/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "test/v2.0/pops/PositronEmissionIntensity.hpp" +#include "test/v2.0/pops/Shell.hpp" +#include "test/v2.0/pops/Q.hpp" +#include "test/v2.0/pops/DecayPath.hpp" +#include "test/v2.0/pops/Decay.hpp" +#include "test/v2.0/pops/Products.hpp" +#include "test/v2.0/pops/Product.hpp" +#include "test/v2.0/pops/Spectra.hpp" +#include "test/v2.0/pops/Spectrum.hpp" +#include "test/v2.0/pops/Continuum.hpp" +#include "test/v2.0/pops/Discrete.hpp" +#include "test/v2.0/pops/DiscreteEnergy.hpp" +#include "test/v2.0/pops/Intensity.hpp" +#include "test/v2.0/pops/InternalPairFormationCoefficient.hpp" +#include "test/v2.0/pops/AverageEnergies.hpp" +#include "test/v2.0/pops/AverageEnergy.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/pops/Standard.hpp" +#include "test/v2.0/pops/LogNormal.hpp" +#include "test/v2.0/pops/ConfidenceIntervals.hpp" +#include "test/v2.0/pops/Interval.hpp" +#include "test/v2.0/pops/Pdf.hpp" + +#include "test/v2.0/processed/MultiGroup3d.hpp" +#include "test/v2.0/processed/AngularEnergyMC.hpp" +#include "test/v2.0/processed/EnergyAngularMC.hpp" +#include "test/v2.0/processed/AverageProductEnergy.hpp" +#include "test/v2.0/processed/AverageProductMomentum.hpp" +#include "test/v2.0/processed/AvailableMomentum.hpp" +#include "test/v2.0/processed/AvailableEnergy.hpp" + +#include "test/v2.0/resonances/Resonances.hpp" +#include "test/v2.0/resonances/ScatteringRadius.hpp" +#include "test/v2.0/resonances/HardSphereRadius.hpp" +#include "test/v2.0/resonances/ExternalRMatrix.hpp" +#include "test/v2.0/resonances/Resolved.hpp" +#include "test/v2.0/resonances/EnergyIntervals.hpp" +#include "test/v2.0/resonances/EnergyInterval.hpp" +#include "test/v2.0/resonances/RMatrix.hpp" +#include "test/v2.0/resonances/ResonanceReactions.hpp" +#include "test/v2.0/resonances/ResonanceReaction.hpp" +#include "test/v2.0/resonances/SpinGroups.hpp" +#include "test/v2.0/resonances/SpinGroup.hpp" +#include "test/v2.0/resonances/Channels.hpp" +#include "test/v2.0/resonances/Channel.hpp" +#include "test/v2.0/resonances/ResonanceParameters.hpp" +#include "test/v2.0/resonances/BreitWigner.hpp" +#include "test/v2.0/resonances/Unresolved.hpp" +#include "test/v2.0/resonances/TabulatedWidths.hpp" +#include "test/v2.0/resonances/Ls.hpp" +#include "test/v2.0/resonances/L.hpp" +#include "test/v2.0/resonances/Js.hpp" +#include "test/v2.0/resonances/J.hpp" +#include "test/v2.0/resonances/LevelSpacing.hpp" +#include "test/v2.0/resonances/Widths.hpp" +#include "test/v2.0/resonances/Width.hpp" + +#include "test/v2.0/styles/Styles.hpp" +#include "test/v2.0/styles/Evaluated.hpp" +#include "test/v2.0/styles/ProjectileEnergyDomain.hpp" +#include "test/v2.0/styles/Temperature.hpp" +#include "test/v2.0/styles/CrossSectionReconstructed.hpp" +#include "test/v2.0/styles/AngularDistributionReconstructed.hpp" +#include "test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "test/v2.0/styles/Heated.hpp" +#include "test/v2.0/styles/AverageProductData.hpp" +#include "test/v2.0/styles/MonteCarlo_cdf.hpp" +#include "test/v2.0/styles/GriddedCrossSection.hpp" +#include "test/v2.0/styles/HeatedMultiGroup.hpp" +#include "test/v2.0/styles/Transportables.hpp" +#include "test/v2.0/styles/Transportable.hpp" +#include "test/v2.0/styles/MultiGroup.hpp" +#include "test/v2.0/styles/Flux.hpp" +#include "test/v2.0/styles/InverseSpeed.hpp" +#include "test/v2.0/styles/SnElasticUpScatter.hpp" +#include "test/v2.0/styles/URR_probabilityTables.hpp" +#include "test/v2.0/styles/Bondarenko.hpp" +#include "test/v2.0/styles/SigmaZeros.hpp" +#include "test/v2.0/styles/MultiBand.hpp" +#include "test/v2.0/styles/EqualProbableBins.hpp" +#include "test/v2.0/styles/Realization.hpp" + +#include "test/v2.0/transport/ReactionSuite.hpp" +#include "test/v2.0/transport/Reactions.hpp" +#include "test/v2.0/transport/Reaction.hpp" +#include "test/v2.0/transport/Sums.hpp" +#include "test/v2.0/transport/OutputChannel.hpp" +#include "test/v2.0/transport/CrossSectionSums.hpp" +#include "test/v2.0/transport/CrossSection.hpp" +#include "test/v2.0/transport/ResonancesWithBackground.hpp" +#include "test/v2.0/transport/ResonancesLink.hpp" +#include "test/v2.0/transport/Background.hpp" +#include "test/v2.0/transport/ResolvedRegion.hpp" +#include "test/v2.0/transport/UnresolvedRegion.hpp" +#include "test/v2.0/transport/FastRegion.hpp" +#include "test/v2.0/transport/URR_probabilityTables1d.hpp" +#include "test/v2.0/transport/CrossSectionSum.hpp" +#include "test/v2.0/transport/DoubleDifferentialCrossSection.hpp" +#include "test/v2.0/transport/CoherentPhoton.hpp" +#include "test/v2.0/transport/IncoherentPhoton.hpp" +#include "test/v2.0/transport/MultiplicitySums.hpp" +#include "test/v2.0/transport/Multiplicity.hpp" +#include "test/v2.0/transport/Branching1d.hpp" +#include "test/v2.0/transport/OrphanProducts.hpp" +#include "test/v2.0/transport/OrphanProduct.hpp" +#include "test/v2.0/transport/MultiplicitySum.hpp" +#include "test/v2.0/transport/Distribution.hpp" +#include "test/v2.0/transport/Branching3d.hpp" +#include "test/v2.0/transport/MultiGroup3d.hpp" +#include "test/v2.0/transport/NBodyPhaseSpace.hpp" +#include "test/v2.0/transport/Angular_uncorrelated.hpp" +#include "test/v2.0/transport/Energy_uncorrelated.hpp" +#include "test/v2.0/transport/AngularEnergy.hpp" +#include "test/v2.0/transport/EnergyAngular.hpp" +#include "test/v2.0/transport/AngularTwoBody.hpp" +#include "test/v2.0/transport/Uncorrelated.hpp" +#include "test/v2.0/transport/Recoil.hpp" +#include "test/v2.0/transport/KalbachMann.hpp" +#include "test/v2.0/transport/GeneralEvaporation.hpp" +#include "test/v2.0/transport/WeightedFunctionals.hpp" +#include "test/v2.0/transport/Evaporation.hpp" +#include "test/v2.0/transport/Unspecified.hpp" +#include "test/v2.0/transport/DiscreteGamma.hpp" +#include "test/v2.0/transport/PhotonEmissionProbabilities.hpp" +#include "test/v2.0/transport/PrimaryGamma.hpp" +#include "test/v2.0/transport/Production.hpp" +#include "test/v2.0/transport/Productions.hpp" +#include "test/v2.0/transport/IncompleteReactions.hpp" +#include "test/v2.0/transport/Summands.hpp" +#include "test/v2.0/transport/Add.hpp" +#include "test/v2.0/transport/F.hpp" +#include "test/v2.0/transport/G.hpp" +#include "test/v2.0/transport/R.hpp" +#include "test/v2.0/transport/A.hpp" +#include "test/v2.0/transport/Theta.hpp" +#include "test/v2.0/transport/U.hpp" +#include "test/v2.0/transport/Forward.hpp" +#include "test/v2.0/transport/Isotropic2d.hpp" +#include "test/v2.0/transport/Weighted.hpp" +#include "test/v2.0/transport/Reference.hpp" + +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "test/v2.0/tsl/S_table.hpp" +#include "test/v2.0/tsl/BraggEdges.hpp" +#include "test/v2.0/tsl/BraggEdge.hpp" +#include "test/v2.0/tsl/BraggEnergy.hpp" +#include "test/v2.0/tsl/StructureFactor.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "test/v2.0/tsl/DebyeWallerIntegral.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" +#include "test/v2.0/tsl/Mass.hpp" +#include "test/v2.0/tsl/ScatteringAtom.hpp" +#include "test/v2.0/tsl/ScatteringAtoms.hpp" +#include "test/v2.0/tsl/E_critical.hpp" +#include "test/v2.0/tsl/E_max.hpp" +#include "test/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "test/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "test/v2.0/tsl/SelfScatteringKernel.hpp" +#include "test/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "test/v2.0/tsl/T_effective.hpp" +#include "test/v2.0/tsl/GaussianApproximation.hpp" +#include "test/v2.0/tsl/PhononSpectrum.hpp" +#include "test/v2.0/tsl/SCTApproximation.hpp" +#include "test/v2.0/tsl/FreeGasApproximation.hpp" +*/ + +#endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData.hpp rename to standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData.hpp index 6915d1a87..7ba130c89 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_APPDATA_APPLICATIONDATA -#define TRY_V2_0_APPDATA_APPLICATIONDATA +#ifndef TEST_V2_0_APPDATA_APPLICATIONDATA +#define TEST_V2_0_APPDATA_APPLICATIONDATA -#include "try/v2.0/appData/Institution.hpp" +#include "test/v2.0/appData/Institution.hpp" -namespace try { +namespace test { namespace v2_0 { namespace appData { @@ -95,12 +95,12 @@ class ApplicationData : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/appData/ApplicationData/src/custom.hpp" + #include "test/v2.0/appData/ApplicationData/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ApplicationData } // namespace appData } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/appData/ApplicationData/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/Conversion.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/appData/Conversion.hpp rename to standards/gnds-2.0/test/src/test/v2.0/appData/Conversion.hpp index 33d93afb1..ce0d1a1c3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/appData/Conversion.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_APPDATA_CONVERSION -#define TRY_V2_0_APPDATA_CONVERSION +#ifndef TEST_V2_0_APPDATA_CONVERSION +#define TEST_V2_0_APPDATA_CONVERSION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace appData { @@ -101,12 +101,12 @@ class Conversion : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/appData/Conversion/src/custom.hpp" + #include "test/v2.0/appData/Conversion/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Conversion } // namespace appData } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/Conversion/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/Conversion/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/appData/Conversion/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/appData/Conversion/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags.hpp rename to standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags.hpp index 3ef0f6a2e..917a6fc6f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_APPDATA_ENDFCONVERSIONFLAGS -#define TRY_V2_0_APPDATA_ENDFCONVERSIONFLAGS +#ifndef TEST_V2_0_APPDATA_ENDFCONVERSIONFLAGS +#define TEST_V2_0_APPDATA_ENDFCONVERSIONFLAGS -#include "try/v2.0/appData/Conversion.hpp" +#include "test/v2.0/appData/Conversion.hpp" -namespace try { +namespace test { namespace v2_0 { namespace appData { @@ -95,12 +95,12 @@ class ENDFconversionFlags : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/appData/ENDFconversionFlags/src/custom.hpp" + #include "test/v2.0/appData/ENDFconversionFlags/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ENDFconversionFlags } // namespace appData } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/appData/ENDFconversionFlags/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/Institution.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/Institution.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/appData/Institution.hpp rename to standards/gnds-2.0/test/src/test/v2.0/appData/Institution.hpp index 8492ac557..2e98f4730 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/appData/Institution.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/appData/Institution.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_APPDATA_INSTITUTION -#define TRY_V2_0_APPDATA_INSTITUTION +#ifndef TEST_V2_0_APPDATA_INSTITUTION +#define TEST_V2_0_APPDATA_INSTITUTION -#include "try/v2.0/appData/ENDFconversionFlags.hpp" +#include "test/v2.0/appData/ENDFconversionFlags.hpp" -namespace try { +namespace test { namespace v2_0 { namespace appData { @@ -104,12 +104,12 @@ class Institution : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/appData/Institution/src/custom.hpp" + #include "test/v2.0/appData/Institution/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Institution } // namespace appData } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/appData/Institution/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/Institution/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/appData/Institution/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/appData/Institution/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/CoherentPhotonScattering.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering.hpp rename to standards/gnds-2.0/test/src/test/v2.0/atomic/CoherentPhotonScattering.hpp index ed30c2af9..726cd2cbe 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/atomic/CoherentPhotonScattering.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/atomic/CoherentPhotonScattering.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_ATOMIC_COHERENTPHOTONSCATTERING -#define TRY_V2_0_ATOMIC_COHERENTPHOTONSCATTERING +#ifndef TEST_V2_0_ATOMIC_COHERENTPHOTONSCATTERING +#define TEST_V2_0_ATOMIC_COHERENTPHOTONSCATTERING -#include "try/v2.0/atomic/FormFactor.hpp" -#include "try/v2.0/atomic/RealAnomalousFactor.hpp" -#include "try/v2.0/atomic/ImaginaryAnomalousFactor.hpp" +#include "test/v2.0/atomic/FormFactor.hpp" +#include "test/v2.0/atomic/RealAnomalousFactor.hpp" +#include "test/v2.0/atomic/ImaginaryAnomalousFactor.hpp" -namespace try { +namespace test { namespace v2_0 { namespace atomic { @@ -136,12 +136,12 @@ class CoherentPhotonScattering : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/atomic/FormFactor/src/custom.hpp" + #include "test/v2.0/atomic/FormFactor/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class FormFactor } // namespace atomic } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/FormFactor/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/atomic/FormFactor/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/atomic/FormFactor/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/ImaginaryAnomalousFactor.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp rename to standards/gnds-2.0/test/src/test/v2.0/atomic/ImaginaryAnomalousFactor.hpp index ffd8d0b29..885716c41 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/atomic/ImaginaryAnomalousFactor.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/atomic/ImaginaryAnomalousFactor.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR -#define TRY_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR +#ifndef TEST_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR +#define TEST_V2_0_ATOMIC_IMAGINARYANOMALOUSFACTOR -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace atomic { @@ -102,12 +102,12 @@ class ImaginaryAnomalousFactor : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/atomic/RealAnomalousFactor/src/custom.hpp" + #include "test/v2.0/atomic/RealAnomalousFactor/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class RealAnomalousFactor } // namespace atomic } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/RealAnomalousFactor/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/atomic/RealAnomalousFactor/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/atomic/RealAnomalousFactor/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp rename to standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor.hpp index 54d9a0db8..9649fb0c6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_ATOMIC_SCATTERINGFACTOR -#define TRY_V2_0_ATOMIC_SCATTERINGFACTOR +#ifndef TEST_V2_0_ATOMIC_SCATTERINGFACTOR +#define TEST_V2_0_ATOMIC_SCATTERINGFACTOR -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace atomic { @@ -102,12 +102,12 @@ class ScatteringFactor : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/atomic/ScatteringFactor/src/custom.hpp" + #include "test/v2.0/atomic/ScatteringFactor/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ScatteringFactor } // namespace atomic } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/atomic/ScatteringFactor/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Energy.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Energy.hpp index 40b604823..f477707b8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Energy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Energy.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_ENERGY -#define TRY_V2_0_COMMON_ENERGY +#ifndef TEST_V2_0_COMMON_ENERGY +#define TEST_V2_0_COMMON_ENERGY -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace common { @@ -130,12 +130,12 @@ class Energy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/Energy/src/custom.hpp" + #include "test/v2.0/common/Energy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Energy } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Energy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Energy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/Energy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Energy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp index 717e38da0..fce80afd8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_EXTERNALFILE -#define TRY_V2_0_COMMON_EXTERNALFILE +#ifndef TEST_V2_0_COMMON_EXTERNALFILE +#define TEST_V2_0_COMMON_EXTERNALFILE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace common { @@ -113,12 +113,12 @@ class ExternalFile : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/ExternalFile/src/custom.hpp" + #include "test/v2.0/common/ExternalFile/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ExternalFile } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/ExternalFile/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles.hpp index daeabd2f3..c16cc6c76 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_EXTERNALFILES -#define TRY_V2_0_COMMON_EXTERNALFILES +#ifndef TEST_V2_0_COMMON_EXTERNALFILES +#define TEST_V2_0_COMMON_EXTERNALFILES -#include "try/v2.0/common/ExternalFile.hpp" +#include "test/v2.0/common/ExternalFile.hpp" -namespace try { +namespace test { namespace v2_0 { namespace common { @@ -95,12 +95,12 @@ class ExternalFiles : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/ExternalFiles/src/custom.hpp" + #include "test/v2.0/common/ExternalFiles/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ExternalFiles } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/ExternalFiles/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Mass.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Mass.hpp index 8f86d3fd2..83cd8187f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Mass.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Mass.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_MASS -#define TRY_V2_0_COMMON_MASS +#ifndef TEST_V2_0_COMMON_MASS +#define TEST_V2_0_COMMON_MASS -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace common { @@ -130,12 +130,12 @@ class Mass : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/Mass/src/custom.hpp" + #include "test/v2.0/common/Mass/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Mass } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Mass/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Mass/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/Mass/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Mass/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Probability.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Probability.hpp index 3b811fa10..df93ec17f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Probability.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Probability.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_PROBABILITY -#define TRY_V2_0_COMMON_PROBABILITY +#ifndef TEST_V2_0_COMMON_PROBABILITY +#define TEST_V2_0_COMMON_PROBABILITY -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace common { @@ -95,12 +95,12 @@ class Probability : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/Probability/src/custom.hpp" + #include "test/v2.0/common/Probability/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Probability } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Probability/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Probability/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/Probability/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Probability/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Product.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/common/Product.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp index 95a70183f..32f547d06 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Product.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_PRODUCT -#define TRY_V2_0_COMMON_PRODUCT +#ifndef TEST_V2_0_COMMON_PRODUCT +#define TEST_V2_0_COMMON_PRODUCT -#include "try/v2.0/transport/Multiplicity.hpp" -#include "try/v2.0/transport/Distribution.hpp" -#include "try/v2.0/transport/OutputChannel.hpp" +#include "test/v2.0/transport/Multiplicity.hpp" +#include "test/v2.0/transport/Distribution.hpp" +#include "test/v2.0/transport/OutputChannel.hpp" -namespace try { +namespace test { namespace v2_0 { namespace common { @@ -124,12 +124,12 @@ class Product : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/Product/src/custom.hpp" + #include "test/v2.0/common/Product/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Product } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Product/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Product/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/Product/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Product/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Products.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Products.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/common/Products.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Products.hpp index 50dc8331e..41b808c98 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Products.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Products.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_PRODUCTS -#define TRY_V2_0_COMMON_PRODUCTS +#ifndef TEST_V2_0_COMMON_PRODUCTS +#define TEST_V2_0_COMMON_PRODUCTS -#include "try/v2.0/common/Product.hpp" +#include "test/v2.0/common/Product.hpp" -namespace try { +namespace test { namespace v2_0 { namespace common { @@ -95,12 +95,12 @@ class Products : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/Products/src/custom.hpp" + #include "test/v2.0/common/Products/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Products } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Products/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Products/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/Products/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Products/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Q.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Q.hpp index 1dbb4fa1b..34123a70e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Q.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Q.hpp @@ -2,18 +2,18 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_Q -#define TRY_V2_0_COMMON_Q - -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" -#include "try/v2.0/containers/Constant1d.hpp" -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" -#include "try/v2.0/containers/Polynomial1d.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" - -namespace try { +#ifndef TEST_V2_0_COMMON_Q +#define TEST_V2_0_COMMON_Q + +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" + +namespace test { namespace v2_0 { namespace common { @@ -149,12 +149,12 @@ class Q : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/Q/src/custom.hpp" + #include "test/v2.0/common/Q/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Q } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Q/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Q/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/Q/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Q/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Temperature.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Temperature.hpp index d48173d3a..7ff65032b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Temperature.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COMMON_TEMPERATURE -#define TRY_V2_0_COMMON_TEMPERATURE +#ifndef TEST_V2_0_COMMON_TEMPERATURE +#define TEST_V2_0_COMMON_TEMPERATURE -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace common { @@ -123,12 +123,12 @@ class Temperature : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/common/Temperature/src/custom.hpp" + #include "test/v2.0/common/Temperature/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Temperature } // namespace common } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/common/Temperature/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Temperature/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/common/Temperature/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/common/Temperature/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Array.hpp similarity index 95% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Array.hpp index 577753142..ac205911c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Array.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Array.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_ARRAY -#define TRY_V2_0_CONTAINERS_ARRAY +#ifndef TEST_V2_0_CONTAINERS_ARRAY +#define TEST_V2_0_CONTAINERS_ARRAY -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -146,12 +146,12 @@ class Array : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Array/src/custom.hpp" + #include "test/v2.0/containers/Array/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Array } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Array/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Array/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Array/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Array/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axes.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Axes.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Axes.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Axes.hpp index 01be0efa4..2fb45a997 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Axes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Axes.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_AXES -#define TRY_V2_0_CONTAINERS_AXES +#ifndef TEST_V2_0_CONTAINERS_AXES +#define TEST_V2_0_CONTAINERS_AXES -#include "try/v2.0/containers/Axis.hpp" -#include "try/v2.0/containers/Grid.hpp" +#include "test/v2.0/containers/Axis.hpp" +#include "test/v2.0/containers/Grid.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -111,12 +111,12 @@ class Axes : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Axes/src/custom.hpp" + #include "test/v2.0/containers/Axes/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Axes } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axes/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Axes/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Axes/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Axes/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Axis.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Axis.hpp index a205408d1..0203f7fc8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Axis.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Axis.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_AXIS -#define TRY_V2_0_CONTAINERS_AXIS +#ifndef TEST_V2_0_CONTAINERS_AXIS +#define TEST_V2_0_CONTAINERS_AXIS -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -107,12 +107,12 @@ class Axis : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Axis/src/custom.hpp" + #include "test/v2.0/containers/Axis/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Axis } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Axis/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Axis/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Axis/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Axis/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp index a6501a447..0fe96cb8c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D -#define TRY_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D +#ifndef TEST_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D +#define TEST_V2_0_CONTAINERS_CDF_IN_XS_PDF_CDF1D -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class Cdf_in_xs_pdf_cdf1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp" + #include "test/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Cdf_in_xs_pdf_cdf1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Column.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Column.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Column.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Column.hpp index ed79b1443..7a890de5a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Column.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Column.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_COLUMN -#define TRY_V2_0_CONTAINERS_COLUMN +#ifndef TEST_V2_0_CONTAINERS_COLUMN +#define TEST_V2_0_CONTAINERS_COLUMN -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -113,12 +113,12 @@ class Column : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Column/src/custom.hpp" + #include "test/v2.0/containers/Column/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Column } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Column/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Column/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Column/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Column/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders.hpp index 421c9b004..83124da7d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_COLUMNHEADERS -#define TRY_V2_0_CONTAINERS_COLUMNHEADERS +#ifndef TEST_V2_0_CONTAINERS_COLUMNHEADERS +#define TEST_V2_0_CONTAINERS_COLUMNHEADERS -#include "try/v2.0/containers/Column.hpp" +#include "test/v2.0/containers/Column.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class ColumnHeaders : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/ColumnHeaders/src/custom.hpp" + #include "test/v2.0/containers/ColumnHeaders/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ColumnHeaders } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/ColumnHeaders/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals.hpp index 121609dc0..298c7ddd0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_CONFIDENCEINTERVALS -#define TRY_V2_0_CONTAINERS_CONFIDENCEINTERVALS +#ifndef TEST_V2_0_CONTAINERS_CONFIDENCEINTERVALS +#define TEST_V2_0_CONTAINERS_CONFIDENCEINTERVALS -#include "try/v2.0/containers/Interval.hpp" +#include "test/v2.0/containers/Interval.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class ConfidenceIntervals : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/ConfidenceIntervals/src/custom.hpp" + #include "test/v2.0/containers/ConfidenceIntervals/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ConfidenceIntervals } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/ConfidenceIntervals/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d.hpp index ff27e2cba..d548b3a56 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_CONSTANT1D -#define TRY_V2_0_CONTAINERS_CONSTANT1D +#ifndef TEST_V2_0_CONTAINERS_CONSTANT1D +#define TEST_V2_0_CONTAINERS_CONSTANT1D -#include "try/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Axes.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -128,12 +128,12 @@ class Constant1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Constant1d/src/custom.hpp" + #include "test/v2.0/containers/Constant1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Constant1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Constant1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Covariance.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Covariance.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Covariance.hpp index 7bbf57c27..9bc7acad0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Covariance.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_COVARIANCE -#define TRY_V2_0_CONTAINERS_COVARIANCE +#ifndef TEST_V2_0_CONTAINERS_COVARIANCE +#define TEST_V2_0_CONTAINERS_COVARIANCE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -101,12 +101,12 @@ class Covariance : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Covariance/src/custom.hpp" + #include "test/v2.0/containers/Covariance/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Covariance } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Covariance/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Covariance/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Covariance/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Covariance/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Data.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Data.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Data.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Data.hpp index 316f0bfd7..eebafa128 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Data.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Data.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_DATA -#define TRY_V2_0_CONTAINERS_DATA +#ifndef TEST_V2_0_CONTAINERS_DATA +#define TEST_V2_0_CONTAINERS_DATA -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -110,12 +110,12 @@ class Data : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Data/src/custom.hpp" + #include "test/v2.0/containers/Data/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Data } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Data/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Data/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Data/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Data/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Double.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Double.hpp index 49eaf3a4f..eb5c60943 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Double.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Double.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_DOUBLE -#define TRY_V2_0_CONTAINERS_DOUBLE +#ifndef TEST_V2_0_CONTAINERS_DOUBLE +#define TEST_V2_0_CONTAINERS_DOUBLE -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -116,12 +116,12 @@ class Double : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Double/src/custom.hpp" + #include "test/v2.0/containers/Double/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Double } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Double/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Double/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Double/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Double/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Fraction.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Fraction.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Fraction.hpp index d13879819..3f3199b4d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Fraction.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_FRACTION -#define TRY_V2_0_CONTAINERS_FRACTION +#ifndef TEST_V2_0_CONTAINERS_FRACTION +#define TEST_V2_0_CONTAINERS_FRACTION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -107,12 +107,12 @@ class Fraction : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Fraction/src/custom.hpp" + #include "test/v2.0/containers/Fraction/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Fraction } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Fraction/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Fraction/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Fraction/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Fraction/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds.hpp index 5e1a1ca2f..53a9c3f38 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds.hpp @@ -2,16 +2,16 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_FUNCTION1DS -#define TRY_V2_0_CONTAINERS_FUNCTION1DS +#ifndef TEST_V2_0_CONTAINERS_FUNCTION1DS +#define TEST_V2_0_CONTAINERS_FUNCTION1DS -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Constant1d.hpp" -#include "try/v2.0/containers/Polynomial1d.hpp" -#include "try/v2.0/containers/Legendre.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Legendre.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -112,12 +112,12 @@ class Function1ds : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Function1ds/src/custom.hpp" + #include "test/v2.0/containers/Function1ds/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Function1ds } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Function1ds/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds.hpp index 147222ca3..a44a12e06 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_FUNCTION2DS -#define TRY_V2_0_CONTAINERS_FUNCTION2DS +#ifndef TEST_V2_0_CONTAINERS_FUNCTION2DS +#define TEST_V2_0_CONTAINERS_FUNCTION2DS -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Gridded2d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Gridded2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -103,12 +103,12 @@ class Function2ds : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Function2ds/src/custom.hpp" + #include "test/v2.0/containers/Function2ds/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Function2ds } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Function2ds/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds.hpp index a3f07647c..8a1686011 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_FUNCTION3DS -#define TRY_V2_0_CONTAINERS_FUNCTION3DS +#ifndef TEST_V2_0_CONTAINERS_FUNCTION3DS +#define TEST_V2_0_CONTAINERS_FUNCTION3DS -#include "try/v2.0/containers/XYs3d.hpp" -#include "try/v2.0/containers/Gridded3d.hpp" +#include "test/v2.0/containers/XYs3d.hpp" +#include "test/v2.0/containers/Gridded3d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -103,12 +103,12 @@ class Function3ds : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Function3ds/src/custom.hpp" + #include "test/v2.0/containers/Function3ds/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Function3ds } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Function3ds/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Grid.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Grid.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Grid.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Grid.hpp index 9f914a0ba..f1cd0a696 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Grid.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Grid.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_GRID -#define TRY_V2_0_CONTAINERS_GRID +#ifndef TEST_V2_0_CONTAINERS_GRID +#define TEST_V2_0_CONTAINERS_GRID -#include "try/v2.0/containers/Values.hpp" -#include "try/v2.0/containers/Link.hpp" +#include "test/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Link.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -142,12 +142,12 @@ class Grid : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Grid/src/custom.hpp" + #include "test/v2.0/containers/Grid/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Grid } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Grid/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Grid/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Grid/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Grid/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d.hpp index 541ef4c5c..e44f51b46 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_GRIDDED1D -#define TRY_V2_0_CONTAINERS_GRIDDED1D +#ifndef TEST_V2_0_CONTAINERS_GRIDDED1D +#define TEST_V2_0_CONTAINERS_GRIDDED1D -#include "try/v2.0/containers/Array.hpp" -#include "try/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Array.hpp" +#include "test/v2.0/containers/Axes.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -111,12 +111,12 @@ class Gridded1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Gridded1d/src/custom.hpp" + #include "test/v2.0/containers/Gridded1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Gridded1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Gridded1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d.hpp index 36d093123..865fe1c49 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_GRIDDED2D -#define TRY_V2_0_CONTAINERS_GRIDDED2D +#ifndef TEST_V2_0_CONTAINERS_GRIDDED2D +#define TEST_V2_0_CONTAINERS_GRIDDED2D -#include "try/v2.0/containers/Array.hpp" -#include "try/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Array.hpp" +#include "test/v2.0/containers/Axes.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -111,12 +111,12 @@ class Gridded2d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Gridded2d/src/custom.hpp" + #include "test/v2.0/containers/Gridded2d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Gridded2d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Gridded2d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d.hpp index d340db60c..d9d8eb34c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_GRIDDED3D -#define TRY_V2_0_CONTAINERS_GRIDDED3D +#ifndef TEST_V2_0_CONTAINERS_GRIDDED3D +#define TEST_V2_0_CONTAINERS_GRIDDED3D -#include "try/v2.0/containers/Array.hpp" -#include "try/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Array.hpp" +#include "test/v2.0/containers/Axes.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -111,12 +111,12 @@ class Gridded3d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Gridded3d/src/custom.hpp" + #include "test/v2.0/containers/Gridded3d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Gridded3d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Gridded3d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Integer.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Integer.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Integer.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Integer.hpp index 05713de30..ecf87dc4f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Integer.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Integer.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_INTEGER -#define TRY_V2_0_CONTAINERS_INTEGER +#ifndef TEST_V2_0_CONTAINERS_INTEGER +#define TEST_V2_0_CONTAINERS_INTEGER -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -107,12 +107,12 @@ class Integer : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Integer/src/custom.hpp" + #include "test/v2.0/containers/Integer/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Integer } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Integer/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Integer/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Integer/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Integer/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Interval.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Interval.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Interval.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Interval.hpp index 7be333089..04e5864dd 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Interval.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Interval.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_INTERVAL -#define TRY_V2_0_CONTAINERS_INTERVAL +#ifndef TEST_V2_0_CONTAINERS_INTERVAL +#define TEST_V2_0_CONTAINERS_INTERVAL -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -107,12 +107,12 @@ class Interval : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Interval/src/custom.hpp" + #include "test/v2.0/containers/Interval/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Interval } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Interval/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Interval/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Interval/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Interval/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Legendre.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Legendre.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Legendre.hpp index f78c3eb84..f2fde7b48 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Legendre.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_LEGENDRE -#define TRY_V2_0_CONTAINERS_LEGENDRE +#ifndef TEST_V2_0_CONTAINERS_LEGENDRE +#define TEST_V2_0_CONTAINERS_LEGENDRE -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -136,12 +136,12 @@ class Legendre : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Legendre/src/custom.hpp" + #include "test/v2.0/containers/Legendre/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Legendre } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Legendre/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Legendre/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Legendre/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Legendre/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Link.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Link.hpp index b3c40c011..f890c10b8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Link.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Link.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_LINK -#define TRY_V2_0_CONTAINERS_LINK +#ifndef TEST_V2_0_CONTAINERS_LINK +#define TEST_V2_0_CONTAINERS_LINK -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class Link : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Link/src/custom.hpp" + #include "test/v2.0/containers/Link/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Link } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Link/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Link/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Link/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Link/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances.hpp index 1b49141e5..d464eec16 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_LISTOFCOVARIANCES -#define TRY_V2_0_CONTAINERS_LISTOFCOVARIANCES +#ifndef TEST_V2_0_CONTAINERS_LISTOFCOVARIANCES +#define TEST_V2_0_CONTAINERS_LISTOFCOVARIANCES -#include "try/v2.0/containers/Covariance.hpp" +#include "test/v2.0/containers/Covariance.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class ListOfCovariances : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/ListOfCovariances/src/custom.hpp" + #include "test/v2.0/containers/ListOfCovariances/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ListOfCovariances } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/ListOfCovariances/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp index ac03e4709..eecc7d6fe 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_LOGNORMAL -#define TRY_V2_0_CONTAINERS_LOGNORMAL +#ifndef TEST_V2_0_CONTAINERS_LOGNORMAL +#define TEST_V2_0_CONTAINERS_LOGNORMAL -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class LogNormal : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/LogNormal/src/custom.hpp" + #include "test/v2.0/containers/LogNormal/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class LogNormal } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/LogNormal/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Pdf.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Pdf.hpp index 522bab7b3..06ab4e3e8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_PDF -#define TRY_V2_0_CONTAINERS_PDF +#ifndef TEST_V2_0_CONTAINERS_PDF +#define TEST_V2_0_CONTAINERS_PDF -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -102,12 +102,12 @@ class Pdf : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Pdf/src/custom.hpp" + #include "test/v2.0/containers/Pdf/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Pdf } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Pdf/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Pdf/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp index 52f48701d..18f9b6509 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D -#define TRY_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D +#ifndef TEST_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D +#define TEST_V2_0_CONTAINERS_PDF_IN_XS_PDF_CDF1D -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class Pdf_in_xs_pdf_cdf1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp" + #include "test/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Pdf_in_xs_pdf_cdf1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp index 73b34bb37..cfc1780e3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_POLYNOMIAL1D -#define TRY_V2_0_CONTAINERS_POLYNOMIAL1D +#ifndef TEST_V2_0_CONTAINERS_POLYNOMIAL1D +#define TEST_V2_0_CONTAINERS_POLYNOMIAL1D -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -148,12 +148,12 @@ class Polynomial1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Polynomial1d/src/custom.hpp" + #include "test/v2.0/containers/Polynomial1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Polynomial1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Polynomial1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp index 587ab2268..20b4d106e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_REGIONS1D -#define TRY_V2_0_CONTAINERS_REGIONS1D +#ifndef TEST_V2_0_CONTAINERS_REGIONS1D +#define TEST_V2_0_CONTAINERS_REGIONS1D -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Function1ds.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Function1ds.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -124,12 +124,12 @@ class Regions1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Regions1d/src/custom.hpp" + #include "test/v2.0/containers/Regions1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Regions1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Regions1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d.hpp index 48f2ded52..46137773d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_REGIONS2D -#define TRY_V2_0_CONTAINERS_REGIONS2D +#ifndef TEST_V2_0_CONTAINERS_REGIONS2D +#define TEST_V2_0_CONTAINERS_REGIONS2D -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Function2ds.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Function2ds.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -124,12 +124,12 @@ class Regions2d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Regions2d/src/custom.hpp" + #include "test/v2.0/containers/Regions2d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Regions2d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Regions2d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d.hpp index f49de6b7e..624cf7890 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_REGIONS3D -#define TRY_V2_0_CONTAINERS_REGIONS3D +#ifndef TEST_V2_0_CONTAINERS_REGIONS3D +#define TEST_V2_0_CONTAINERS_REGIONS3D -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Function3ds.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Function3ds.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -124,12 +124,12 @@ class Regions3d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Regions3d/src/custom.hpp" + #include "test/v2.0/containers/Regions3d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Regions3d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Regions3d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Standard.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Standard.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp index 646d7f437..5e3de005b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Standard.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_STANDARD -#define TRY_V2_0_CONTAINERS_STANDARD +#ifndef TEST_V2_0_CONTAINERS_STANDARD +#define TEST_V2_0_CONTAINERS_STANDARD -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class Standard : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Standard/src/custom.hpp" + #include "test/v2.0/containers/Standard/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Standard } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Standard/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Standard/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Standard/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Standard/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/String.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/String.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/String.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/String.hpp index 232dd224b..3c076513a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/String.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/String.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_STRING -#define TRY_V2_0_CONTAINERS_STRING +#ifndef TEST_V2_0_CONTAINERS_STRING +#define TEST_V2_0_CONTAINERS_STRING -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -107,12 +107,12 @@ class String : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/String/src/custom.hpp" + #include "test/v2.0/containers/String/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class String } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/String/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/String/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/String/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/String/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Table.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Table.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Table.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Table.hpp index 76c2ce61d..d20173154 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Table.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Table.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_TABLE -#define TRY_V2_0_CONTAINERS_TABLE +#ifndef TEST_V2_0_CONTAINERS_TABLE +#define TEST_V2_0_CONTAINERS_TABLE -#include "try/v2.0/containers/ColumnHeaders.hpp" -#include "try/v2.0/containers/Data.hpp" +#include "test/v2.0/containers/ColumnHeaders.hpp" +#include "test/v2.0/containers/Data.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -129,12 +129,12 @@ class Table : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Table/src/custom.hpp" + #include "test/v2.0/containers/Table/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Table } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Table/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Table/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Table/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Table/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty.hpp similarity index 88% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty.hpp index a040b1602..b07cf6b49 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty.hpp @@ -2,19 +2,19 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_UNCERTAINTY -#define TRY_V2_0_CONTAINERS_UNCERTAINTY - -#include "try/v2.0/containers/Standard.hpp" -#include "try/v2.0/containers/LogNormal.hpp" -#include "try/v2.0/containers/ConfidenceIntervals.hpp" -#include "try/v2.0/containers/Pdf.hpp" -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Polynomial1d.hpp" -#include "try/v2.0/containers/Covariance.hpp" -#include "try/v2.0/containers/ListOfCovariances.hpp" - -namespace try { +#ifndef TEST_V2_0_CONTAINERS_UNCERTAINTY +#define TEST_V2_0_CONTAINERS_UNCERTAINTY + +#include "test/v2.0/containers/Standard.hpp" +#include "test/v2.0/containers/LogNormal.hpp" +#include "test/v2.0/containers/ConfidenceIntervals.hpp" +#include "test/v2.0/containers/Pdf.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Covariance.hpp" +#include "test/v2.0/containers/ListOfCovariances.hpp" + +namespace test { namespace v2_0 { namespace containers { @@ -144,12 +144,12 @@ class Uncertainty : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Uncertainty/src/custom.hpp" + #include "test/v2.0/containers/Uncertainty/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Uncertainty } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Uncertainty/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Values.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Values.hpp similarity index 95% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Values.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Values.hpp index 07019923e..0d160eff6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Values.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Values.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_VALUES -#define TRY_V2_0_CONTAINERS_VALUES +#ifndef TEST_V2_0_CONTAINERS_VALUES +#define TEST_V2_0_CONTAINERS_VALUES -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -141,12 +141,12 @@ class Values : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Values/src/custom.hpp" + #include "test/v2.0/containers/Values/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Values } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Values/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Values/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Values/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Values/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp index 72f1a1d2b..060f5ee57 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_XYS1D -#define TRY_V2_0_CONTAINERS_XYS1D +#ifndef TEST_V2_0_CONTAINERS_XYS1D +#define TEST_V2_0_CONTAINERS_XYS1D -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -142,12 +142,12 @@ class XYs1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/XYs1d/src/custom.hpp" + #include "test/v2.0/containers/XYs1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class XYs1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/XYs1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d.hpp index ed2c6c3e2..06dd130a1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_XYS2D -#define TRY_V2_0_CONTAINERS_XYS2D +#ifndef TEST_V2_0_CONTAINERS_XYS2D +#define TEST_V2_0_CONTAINERS_XYS2D -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Function1ds.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Function1ds.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -142,12 +142,12 @@ class XYs2d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/XYs2d/src/custom.hpp" + #include "test/v2.0/containers/XYs2d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class XYs2d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/XYs2d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d.hpp index 11403b0b1..58dedb3dd 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_XYS3D -#define TRY_V2_0_CONTAINERS_XYS3D +#ifndef TEST_V2_0_CONTAINERS_XYS3D +#define TEST_V2_0_CONTAINERS_XYS3D -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Function2ds.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Function2ds.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -130,12 +130,12 @@ class XYs3d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/XYs3d/src/custom.hpp" + #include "test/v2.0/containers/XYs3d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class XYs3d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/XYs3d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp index 13759b0cf..95af38e36 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D -#define TRY_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D +#ifndef TEST_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D +#define TEST_V2_0_CONTAINERS_XS_IN_XS_PDF_CDF1D -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -95,12 +95,12 @@ class Xs_in_xs_pdf_cdf1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp" + #include "test/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Xs_in_xs_pdf_cdf1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d.hpp index 860a4498c..e96497a1e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_XS_PDF_CDF1D -#define TRY_V2_0_CONTAINERS_XS_PDF_CDF1D +#ifndef TEST_V2_0_CONTAINERS_XS_PDF_CDF1D +#define TEST_V2_0_CONTAINERS_XS_PDF_CDF1D -#include "try/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp" -#include "try/v2.0/containers/Pdf.hpp" -#include "try/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp" +#include "test/v2.0/containers/Pdf.hpp" +#include "test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -118,12 +118,12 @@ class Xs_pdf_cdf1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp" + #include "test/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Xs_pdf_cdf1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d.hpp index 0f5c73641..329d34a75 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CONTAINERS_YS1D -#define TRY_V2_0_CONTAINERS_YS1D +#ifndef TEST_V2_0_CONTAINERS_YS1D +#define TEST_V2_0_CONTAINERS_YS1D -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace containers { @@ -123,12 +123,12 @@ class Ys1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/containers/Ys1d/src/custom.hpp" + #include "test/v2.0/containers/Ys1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Ys1d } // namespace containers } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/containers/Ys1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/AverageParameterCovariance.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/AverageParameterCovariance.hpp index f7bb7640d..752eb3417 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/AverageParameterCovariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/AverageParameterCovariance.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE -#define TRY_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE +#ifndef TEST_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE +#define TEST_V2_0_COVARIANCE_AVERAGEPARAMETERCOVARIANCE -#include "try/v2.0/covariance/ColumnData.hpp" -#include "try/v2.0/covariance/RowData.hpp" -#include "try/v2.0/covariance/CovarianceMatrix.hpp" +#include "test/v2.0/covariance/ColumnData.hpp" +#include "test/v2.0/covariance/RowData.hpp" +#include "test/v2.0/covariance/CovarianceMatrix.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -131,12 +131,12 @@ class AverageParameterCovariance : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/ColumnData/src/custom.hpp" + #include "test/v2.0/covariance/ColumnData/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ColumnData } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnData/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnData/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnData/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity.hpp index 75224e6d1..c72eae3cf 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY -#define TRY_V2_0_COVARIANCE_COLUMNSENSITIVITY +#ifndef TEST_V2_0_COVARIANCE_COLUMNSENSITIVITY +#define TEST_V2_0_COVARIANCE_COLUMNSENSITIVITY -#include "try/v2.0/containers/Array.hpp" +#include "test/v2.0/containers/Array.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -95,12 +95,12 @@ class ColumnSensitivity : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/ColumnSensitivity/src/custom.hpp" + #include "test/v2.0/covariance/ColumnSensitivity/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ColumnSensitivity } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ColumnSensitivity/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance.hpp index 1b7d68832..c0521effd 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_COVARIANCE -#define TRY_V2_0_COVARIANCE_COVARIANCE +#ifndef TEST_V2_0_COVARIANCE_COVARIANCE +#define TEST_V2_0_COVARIANCE_COVARIANCE -#include "try/v2.0/containers/Array.hpp" +#include "test/v2.0/containers/Array.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -95,12 +95,12 @@ class Covariance : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/Covariance/src/custom.hpp" + #include "test/v2.0/covariance/Covariance/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Covariance } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Covariance/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix.hpp index 19c53634c..3b7ec6de6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_COVARIANCEMATRIX -#define TRY_V2_0_COVARIANCE_COVARIANCEMATRIX +#ifndef TEST_V2_0_COVARIANCE_COVARIANCEMATRIX +#define TEST_V2_0_COVARIANCE_COVARIANCEMATRIX -#include "try/v2.0/containers/Gridded2d.hpp" -#include "try/v2.0/covariance/SandwichProduct.hpp" +#include "test/v2.0/containers/Gridded2d.hpp" +#include "test/v2.0/covariance/SandwichProduct.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -124,12 +124,12 @@ class CovarianceMatrix : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/CovarianceMatrix/src/custom.hpp" + #include "test/v2.0/covariance/CovarianceMatrix/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CovarianceMatrix } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceMatrix/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection.hpp index d23a49e4d..3b0fb218b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection.hpp @@ -2,16 +2,16 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_COVARIANCESECTION -#define TRY_V2_0_COVARIANCE_COVARIANCESECTION +#ifndef TEST_V2_0_COVARIANCE_COVARIANCESECTION +#define TEST_V2_0_COVARIANCE_COVARIANCESECTION -#include "try/v2.0/covariance/RowData.hpp" -#include "try/v2.0/covariance/ColumnData.hpp" -#include "try/v2.0/covariance/CovarianceMatrix.hpp" -#include "try/v2.0/covariance/Sum.hpp" -#include "try/v2.0/covariance/Mixed.hpp" +#include "test/v2.0/covariance/RowData.hpp" +#include "test/v2.0/covariance/ColumnData.hpp" +#include "test/v2.0/covariance/CovarianceMatrix.hpp" +#include "test/v2.0/covariance/Sum.hpp" +#include "test/v2.0/covariance/Mixed.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -143,12 +143,12 @@ class CovarianceSection : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/CovarianceSection/src/custom.hpp" + #include "test/v2.0/covariance/CovarianceSection/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CovarianceSection } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSection/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections.hpp index 89be27a09..6af028bb2 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_COVARIANCESECTIONS -#define TRY_V2_0_COVARIANCE_COVARIANCESECTIONS +#ifndef TEST_V2_0_COVARIANCE_COVARIANCESECTIONS +#define TEST_V2_0_COVARIANCE_COVARIANCESECTIONS -#include "try/v2.0/covariance/CovarianceSection.hpp" +#include "test/v2.0/covariance/CovarianceSection.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -95,12 +95,12 @@ class CovarianceSections : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/CovarianceSections/src/custom.hpp" + #include "test/v2.0/covariance/CovarianceSections/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CovarianceSections } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSections/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite.hpp index 873ea517c..694840c06 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_COVARIANCESUITE -#define TRY_V2_0_COVARIANCE_COVARIANCESUITE +#ifndef TEST_V2_0_COVARIANCE_COVARIANCESUITE +#define TEST_V2_0_COVARIANCE_COVARIANCESUITE -#include "try/v2.0/common/ExternalFiles.hpp" -#include "try/v2.0/styles/Styles.hpp" -#include "try/v2.0/covariance/CovarianceSections.hpp" -#include "try/v2.0/covariance/ParameterCovariances.hpp" +#include "test/v2.0/common/ExternalFiles.hpp" +#include "test/v2.0/styles/Styles.hpp" +#include "test/v2.0/covariance/CovarianceSections.hpp" +#include "test/v2.0/covariance/ParameterCovariances.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -149,12 +149,12 @@ class CovarianceSuite : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/CovarianceSuite/src/custom.hpp" + #include "test/v2.0/covariance/CovarianceSuite/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CovarianceSuite } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/CovarianceSuite/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed.hpp index eb98e4c5a..49f4dc676 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_MIXED -#define TRY_V2_0_COVARIANCE_MIXED +#ifndef TEST_V2_0_COVARIANCE_MIXED +#define TEST_V2_0_COVARIANCE_MIXED -#include "try/v2.0/covariance/CovarianceMatrix.hpp" -#include "try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" -#include "try/v2.0/covariance/Sum.hpp" +#include "test/v2.0/covariance/CovarianceMatrix.hpp" +#include "test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp" +#include "test/v2.0/covariance/Sum.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -118,12 +118,12 @@ class Mixed : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/Mixed/src/custom.hpp" + #include "test/v2.0/covariance/Mixed/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Mixed } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Mixed/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance.hpp index d3bdd07aa..1b81b18b2 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCE -#define TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCE +#ifndef TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCE +#define TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCE -#include "try/v2.0/covariance/RowData.hpp" -#include "try/v2.0/covariance/ParameterCovarianceMatrix.hpp" +#include "test/v2.0/covariance/RowData.hpp" +#include "test/v2.0/covariance/ParameterCovarianceMatrix.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -111,12 +111,12 @@ class ParameterCovariance : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/ParameterCovariance/src/custom.hpp" + #include "test/v2.0/covariance/ParameterCovariance/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ParameterCovariance } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariance/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovarianceMatrix.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovarianceMatrix.hpp index d79552595..2f431d8e7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovarianceMatrix.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovarianceMatrix.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX -#define TRY_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX +#ifndef TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX +#define TEST_V2_0_COVARIANCE_PARAMETERCOVARIANCEMATRIX -#include "try/v2.0/covariance/Parameters.hpp" -#include "try/v2.0/containers/Array.hpp" +#include "test/v2.0/covariance/Parameters.hpp" +#include "test/v2.0/containers/Array.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -117,12 +117,12 @@ class ParameterCovarianceMatrix : public Component // Custom functionality // ------------------------ - #include "try/v2.0/covariance/ParameterCovariances/src/custom.hpp" + #include "test/v2.0/covariance/ParameterCovariances/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ParameterCovariances } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariances/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterCovariances/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariances/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink.hpp index 99f9180c8..d9f4d47b6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_PARAMETERLINK -#define TRY_V2_0_COVARIANCE_PARAMETERLINK +#ifndef TEST_V2_0_COVARIANCE_PARAMETERLINK +#define TEST_V2_0_COVARIANCE_PARAMETERLINK -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -120,12 +120,12 @@ class ParameterLink : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/ParameterLink/src/custom.hpp" + #include "test/v2.0/covariance/ParameterLink/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ParameterLink } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ParameterLink/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters.hpp index 267fe9a75..2624897ea 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_PARAMETERS -#define TRY_V2_0_COVARIANCE_PARAMETERS +#ifndef TEST_V2_0_COVARIANCE_PARAMETERS +#define TEST_V2_0_COVARIANCE_PARAMETERS -#include "try/v2.0/covariance/ParameterLink.hpp" +#include "test/v2.0/covariance/ParameterLink.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -95,12 +95,12 @@ class Parameters : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/Parameters/src/custom.hpp" + #include "test/v2.0/covariance/Parameters/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Parameters } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Parameters/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowData.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/RowData.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/RowData.hpp index 471282404..d0e7cecd5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowData.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_ROWDATA -#define TRY_V2_0_COVARIANCE_ROWDATA +#ifndef TEST_V2_0_COVARIANCE_ROWDATA +#define TEST_V2_0_COVARIANCE_ROWDATA -#include "try/v2.0/covariance/Slices.hpp" +#include "test/v2.0/covariance/Slices.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -116,12 +116,12 @@ class RowData : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/RowData/src/custom.hpp" + #include "test/v2.0/covariance/RowData/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class RowData } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowData/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowData/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/RowData/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/RowData/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity.hpp index deb9ede8e..7bdd8d0fe 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_ROWSENSITIVITY -#define TRY_V2_0_COVARIANCE_ROWSENSITIVITY +#ifndef TEST_V2_0_COVARIANCE_ROWSENSITIVITY +#define TEST_V2_0_COVARIANCE_ROWSENSITIVITY -#include "try/v2.0/containers/Array.hpp" +#include "test/v2.0/containers/Array.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -95,12 +95,12 @@ class RowSensitivity : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/RowSensitivity/src/custom.hpp" + #include "test/v2.0/covariance/RowSensitivity/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class RowSensitivity } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/RowSensitivity/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct.hpp index 223913819..b16848d6d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_SANDWICHPRODUCT -#define TRY_V2_0_COVARIANCE_SANDWICHPRODUCT +#ifndef TEST_V2_0_COVARIANCE_SANDWICHPRODUCT +#define TEST_V2_0_COVARIANCE_SANDWICHPRODUCT -#include "try/v2.0/containers/Axes.hpp" -#include "try/v2.0/covariance/Covariance.hpp" -#include "try/v2.0/covariance/RowSensitivity.hpp" -#include "try/v2.0/covariance/ColumnSensitivity.hpp" +#include "test/v2.0/containers/Axes.hpp" +#include "test/v2.0/covariance/Covariance.hpp" +#include "test/v2.0/covariance/RowSensitivity.hpp" +#include "test/v2.0/covariance/ColumnSensitivity.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -116,12 +116,12 @@ class SandwichProduct : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/SandwichProduct/src/custom.hpp" + #include "test/v2.0/covariance/SandwichProduct/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class SandwichProduct } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/SandwichProduct/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp index 79e92e8d5..2d76fbd27 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/ShortRangeSelfScalingVariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE -#define TRY_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE +#ifndef TEST_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE +#define TEST_V2_0_COVARIANCE_SHORTRANGESELFSCALINGVARIANCE -#include "try/v2.0/containers/Gridded2d.hpp" +#include "test/v2.0/containers/Gridded2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -116,12 +116,12 @@ class ShortRangeSelfScalingVariance : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/Slice/src/custom.hpp" + #include "test/v2.0/covariance/Slice/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Slice } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Slice/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Slice/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Slice/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Slice/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Slices.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Slices.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Slices.hpp index bf0a87396..9289779c8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Slices.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_SLICES -#define TRY_V2_0_COVARIANCE_SLICES +#ifndef TEST_V2_0_COVARIANCE_SLICES +#define TEST_V2_0_COVARIANCE_SLICES -#include "try/v2.0/covariance/Slice.hpp" +#include "test/v2.0/covariance/Slice.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -95,12 +95,12 @@ class Slices : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/Slices/src/custom.hpp" + #include "test/v2.0/covariance/Slices/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Slices } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Slices/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Slices/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Slices/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Slices/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Sum.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Sum.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Sum.hpp index 59f792c92..0168ab57e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Sum.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_SUM -#define TRY_V2_0_COVARIANCE_SUM +#ifndef TEST_V2_0_COVARIANCE_SUM +#define TEST_V2_0_COVARIANCE_SUM -#include "try/v2.0/covariance/Summand.hpp" +#include "test/v2.0/covariance/Summand.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -122,12 +122,12 @@ class Sum : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/Sum/src/custom.hpp" + #include "test/v2.0/covariance/Sum/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Sum } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Sum/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Sum/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Sum/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Sum/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Summand.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Summand.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Summand.hpp index 5c1305a2b..b78e1138c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Summand.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_COVARIANCE_SUMMAND -#define TRY_V2_0_COVARIANCE_SUMMAND +#ifndef TEST_V2_0_COVARIANCE_SUMMAND +#define TEST_V2_0_COVARIANCE_SUMMAND -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace covariance { @@ -107,12 +107,12 @@ class Summand : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/covariance/Summand/src/custom.hpp" + #include "test/v2.0/covariance/Summand/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Summand } // namespace covariance } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/covariance/Summand/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Summand/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/covariance/Summand/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/covariance/Summand/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp rename to standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp index 46a66a047..6229ca396 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC -#define TRY_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC +#ifndef TEST_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC +#define TEST_V2_0_CPTRANSPORT_COULOMBPLUSNUCLEARELASTIC -#include "try/v2.0/cpTransport/RutherfordScattering.hpp" -#include "try/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" -#include "try/v2.0/cpTransport/NuclearPlusInterference.hpp" +#include "test/v2.0/cpTransport/RutherfordScattering.hpp" +#include "test/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" +#include "test/v2.0/cpTransport/NuclearPlusInterference.hpp" -namespace try { +namespace test { namespace v2_0 { namespace cpTransport { @@ -148,12 +148,12 @@ class CoulombPlusNuclearElastic : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/cpTransport/NuclearTerm/src/custom.hpp" + #include "test/v2.0/cpTransport/NuclearTerm/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class NuclearTerm } // namespace cpTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/NuclearTerm/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/cpTransport/NuclearTerm/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/cpTransport/NuclearTerm/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp rename to standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm.hpp index a223df4dc..4b4ee55f6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM -#define TRY_V2_0_CPTRANSPORT_REALINTERFERENCETERM +#ifndef TEST_V2_0_CPTRANSPORT_REALINTERFERENCETERM +#define TEST_V2_0_CPTRANSPORT_REALINTERFERENCETERM -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace cpTransport { @@ -102,12 +102,12 @@ class RealInterferenceTerm : public Component // Custom functionality // ------------------------ - #include "try/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp" + #include "test/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class RealInterferenceTerm } // namespace cpTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering.hpp rename to standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering.hpp index 5a9dc3509..8be0a2c2f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING -#define TRY_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING +#ifndef TEST_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING +#define TEST_V2_0_CPTRANSPORT_RUTHERFORDSCATTERING -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace cpTransport { @@ -84,12 +84,12 @@ class RutherfordScattering : public Component // Custom functionality // ------------------------ - #include "try/v2.0/cpTransport/RutherfordScattering/src/custom.hpp" + #include "test/v2.0/cpTransport/RutherfordScattering/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class RutherfordScattering } // namespace cpTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/cpTransport/RutherfordScattering/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract.hpp index 44aef4c3a..4db41953c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_ABSTRACT -#define TRY_V2_0_DOCUMENTATION_ABSTRACT +#ifndef TEST_V2_0_DOCUMENTATION_ABSTRACT +#define TEST_V2_0_DOCUMENTATION_ABSTRACT -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class Abstract : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Abstract/src/custom.hpp" + #include "test/v2.0/documentation/Abstract/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Abstract } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Abstract/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp index 70d7eca1c..11315561b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT -#define TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT +#ifndef TEST_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT +#define TEST_V2_0_DOCUMENTATION_ACKNOWLEDGEMENT -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -129,12 +129,12 @@ class Acknowledgement : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Acknowledgement/src/custom.hpp" + #include "test/v2.0/documentation/Acknowledgement/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Acknowledgement } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgement/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements.hpp index 97042df14..b8a7f8913 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS -#define TRY_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS +#ifndef TEST_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS +#define TEST_V2_0_DOCUMENTATION_ACKNOWLEDGEMENTS -#include "try/v2.0/documentation/Acknowledgement.hpp" +#include "test/v2.0/documentation/Acknowledgement.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class Acknowledgements : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Acknowledgements/src/custom.hpp" + #include "test/v2.0/documentation/Acknowledgements/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Acknowledgements } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Acknowledgements/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation.hpp index 46df60284..36c7c0879 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_AFFILIATION -#define TRY_V2_0_DOCUMENTATION_AFFILIATION +#ifndef TEST_V2_0_DOCUMENTATION_AFFILIATION +#define TEST_V2_0_DOCUMENTATION_AFFILIATION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -101,12 +101,12 @@ class Affiliation : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Affiliation/src/custom.hpp" + #include "test/v2.0/documentation/Affiliation/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Affiliation } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliation/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations.hpp index 25696406c..f4f83e244 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_AFFILIATIONS -#define TRY_V2_0_DOCUMENTATION_AFFILIATIONS +#ifndef TEST_V2_0_DOCUMENTATION_AFFILIATIONS +#define TEST_V2_0_DOCUMENTATION_AFFILIATIONS -#include "try/v2.0/documentation/Affiliation.hpp" +#include "test/v2.0/documentation/Affiliation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class Affiliations : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Affiliations/src/custom.hpp" + #include "test/v2.0/documentation/Affiliations/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Affiliations } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Affiliations/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Author.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Author.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Author.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Author.hpp index 095c81bba..62da8c221 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Author.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Author.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_AUTHOR -#define TRY_V2_0_DOCUMENTATION_AUTHOR +#ifndef TEST_V2_0_DOCUMENTATION_AUTHOR +#define TEST_V2_0_DOCUMENTATION_AUTHOR -#include "try/v2.0/documentation/Affiliations.hpp" -#include "try/v2.0/documentation/Note.hpp" +#include "test/v2.0/documentation/Affiliations.hpp" +#include "test/v2.0/documentation/Note.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class Author : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Author/src/custom.hpp" + #include "test/v2.0/documentation/Author/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Author } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Author/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Author/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Author/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Author/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Authors.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Authors.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Authors.hpp index d73f3659e..ed57e8ad3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Authors.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_AUTHORS -#define TRY_V2_0_DOCUMENTATION_AUTHORS +#ifndef TEST_V2_0_DOCUMENTATION_AUTHORS +#define TEST_V2_0_DOCUMENTATION_AUTHORS -#include "try/v2.0/documentation/Author.hpp" +#include "test/v2.0/documentation/Author.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class Authors : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Authors/src/custom.hpp" + #include "test/v2.0/documentation/Authors/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Authors } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Authors/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Authors/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Authors/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Authors/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem.hpp index 7deb76016..58ee9a588 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_BIBITEM -#define TRY_V2_0_DOCUMENTATION_BIBITEM +#ifndef TEST_V2_0_DOCUMENTATION_BIBITEM +#define TEST_V2_0_DOCUMENTATION_BIBITEM -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -129,12 +129,12 @@ class Bibitem : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Bibitem/src/custom.hpp" + #include "test/v2.0/documentation/Bibitem/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Bibitem } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Bibitem/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography.hpp index f11bd8500..46c49916e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_BIBLIOGRAPHY -#define TRY_V2_0_DOCUMENTATION_BIBLIOGRAPHY +#ifndef TEST_V2_0_DOCUMENTATION_BIBLIOGRAPHY +#define TEST_V2_0_DOCUMENTATION_BIBLIOGRAPHY -#include "try/v2.0/documentation/Bibitem.hpp" +#include "test/v2.0/documentation/Bibitem.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class Bibliography : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Bibliography/src/custom.hpp" + #include "test/v2.0/documentation/Bibliography/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Bibliography } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Bibliography/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Body.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Body.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Body.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Body.hpp index 18b521954..2531a7370 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Body.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Body.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_BODY -#define TRY_V2_0_DOCUMENTATION_BODY +#ifndef TEST_V2_0_DOCUMENTATION_BODY +#define TEST_V2_0_DOCUMENTATION_BODY -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class Body : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Body/src/custom.hpp" + #include "test/v2.0/documentation/Body/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Body } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Body/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Body/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Body/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Body/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo.hpp index 50a7fa8e4..3b554a277 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_CODEREPO -#define TRY_V2_0_DOCUMENTATION_CODEREPO +#ifndef TEST_V2_0_DOCUMENTATION_CODEREPO +#define TEST_V2_0_DOCUMENTATION_CODEREPO -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -113,12 +113,12 @@ class CodeRepo : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/CodeRepo/src/custom.hpp" + #include "test/v2.0/documentation/CodeRepo/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CodeRepo } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/CodeRepo/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration.hpp index 1ce19a7ed..6424ad5ac 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_COLLABORATION -#define TRY_V2_0_DOCUMENTATION_COLLABORATION +#ifndef TEST_V2_0_DOCUMENTATION_COLLABORATION +#define TEST_V2_0_DOCUMENTATION_COLLABORATION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -101,12 +101,12 @@ class Collaboration : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Collaboration/src/custom.hpp" + #include "test/v2.0/documentation/Collaboration/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Collaboration } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Collaboration/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations.hpp index 68728f1ef..5c321b13e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_COLLABORATIONS -#define TRY_V2_0_DOCUMENTATION_COLLABORATIONS +#ifndef TEST_V2_0_DOCUMENTATION_COLLABORATIONS +#define TEST_V2_0_DOCUMENTATION_COLLABORATIONS -#include "try/v2.0/documentation/Collaboration.hpp" +#include "test/v2.0/documentation/Collaboration.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class Collaborations : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Collaborations/src/custom.hpp" + #include "test/v2.0/documentation/Collaborations/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Collaborations } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Collaborations/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode.hpp index abfc70a94..5e1c1df21 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode.hpp @@ -2,16 +2,16 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_COMPUTERCODE -#define TRY_V2_0_DOCUMENTATION_COMPUTERCODE +#ifndef TEST_V2_0_DOCUMENTATION_COMPUTERCODE +#define TEST_V2_0_DOCUMENTATION_COMPUTERCODE -#include "try/v2.0/documentation/ExecutionArguments.hpp" -#include "try/v2.0/documentation/CodeRepo.hpp" -#include "try/v2.0/documentation/Note.hpp" -#include "try/v2.0/documentation/InputDecks.hpp" -#include "try/v2.0/documentation/OutputDecks.hpp" +#include "test/v2.0/documentation/ExecutionArguments.hpp" +#include "test/v2.0/documentation/CodeRepo.hpp" +#include "test/v2.0/documentation/Note.hpp" +#include "test/v2.0/documentation/InputDecks.hpp" +#include "test/v2.0/documentation/OutputDecks.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -144,12 +144,12 @@ class ComputerCode : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/ComputerCode/src/custom.hpp" + #include "test/v2.0/documentation/ComputerCode/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ComputerCode } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCode/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes.hpp index f2fcdb97a..3975fdc05 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_COMPUTERCODES -#define TRY_V2_0_DOCUMENTATION_COMPUTERCODES +#ifndef TEST_V2_0_DOCUMENTATION_COMPUTERCODES +#define TEST_V2_0_DOCUMENTATION_COMPUTERCODES -#include "try/v2.0/documentation/ComputerCode.hpp" +#include "test/v2.0/documentation/ComputerCode.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class ComputerCodes : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/ComputerCodes/src/custom.hpp" + #include "test/v2.0/documentation/ComputerCodes/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ComputerCodes } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ComputerCodes/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor.hpp index 0a9f2ccb6..af36d948b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_CONTRIBUTOR -#define TRY_V2_0_DOCUMENTATION_CONTRIBUTOR +#ifndef TEST_V2_0_DOCUMENTATION_CONTRIBUTOR +#define TEST_V2_0_DOCUMENTATION_CONTRIBUTOR -#include "try/v2.0/documentation/Affiliations.hpp" -#include "try/v2.0/documentation/Note.hpp" +#include "test/v2.0/documentation/Affiliations.hpp" +#include "test/v2.0/documentation/Note.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -129,12 +129,12 @@ class Contributor : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Contributor/src/custom.hpp" + #include "test/v2.0/documentation/Contributor/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Contributor } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Contributor/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors.hpp index ae0e3936d..3a1381749 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_CONTRIBUTORS -#define TRY_V2_0_DOCUMENTATION_CONTRIBUTORS +#ifndef TEST_V2_0_DOCUMENTATION_CONTRIBUTORS +#define TEST_V2_0_DOCUMENTATION_CONTRIBUTORS -#include "try/v2.0/documentation/Author.hpp" +#include "test/v2.0/documentation/Author.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class Contributors : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Contributors/src/custom.hpp" + #include "test/v2.0/documentation/Contributors/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Contributors } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Contributors/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright.hpp index e2654d3f5..1cd9f730e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_COPYRIGHT -#define TRY_V2_0_DOCUMENTATION_COPYRIGHT +#ifndef TEST_V2_0_DOCUMENTATION_COPYRIGHT +#define TEST_V2_0_DOCUMENTATION_COPYRIGHT -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -129,12 +129,12 @@ class Copyright : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Copyright/src/custom.hpp" + #include "test/v2.0/documentation/Copyright/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Copyright } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Copyright/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript.hpp index e8afadfea..605a9a812 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_CORRECTIONSCRIPT -#define TRY_V2_0_DOCUMENTATION_CORRECTIONSCRIPT +#ifndef TEST_V2_0_DOCUMENTATION_CORRECTIONSCRIPT +#define TEST_V2_0_DOCUMENTATION_CORRECTIONSCRIPT -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class CorrectionScript : public Component // Custom functionality // ------------------------ - #include "try/v2.0/documentation/CorrectionScript/src/custom.hpp" + #include "test/v2.0/documentation/CorrectionScript/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CorrectionScript } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/CorrectionScript/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript.hpp index c3a22c10d..8267690a6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_COVARIANCESCRIPT -#define TRY_V2_0_DOCUMENTATION_COVARIANCESCRIPT +#ifndef TEST_V2_0_DOCUMENTATION_COVARIANCESCRIPT +#define TEST_V2_0_DOCUMENTATION_COVARIANCESCRIPT -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class CovarianceScript : public Component // Custom functionality // ------------------------ - #include "try/v2.0/documentation/CovarianceScript/src/custom.hpp" + #include "test/v2.0/documentation/CovarianceScript/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CovarianceScript } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/CovarianceScript/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Date.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Date.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Date.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Date.hpp index 8455d2364..9a439938d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Date.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Date.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_DATE -#define TRY_V2_0_DOCUMENTATION_DATE +#ifndef TEST_V2_0_DOCUMENTATION_DATE +#define TEST_V2_0_DOCUMENTATION_DATE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -101,12 +101,12 @@ class Date : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Date/src/custom.hpp" + #include "test/v2.0/documentation/Date/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Date } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Date/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Date/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Date/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Date/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Dates.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Dates.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Dates.hpp index 3ef623c52..bb0eef855 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Dates.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_DATES -#define TRY_V2_0_DOCUMENTATION_DATES +#ifndef TEST_V2_0_DOCUMENTATION_DATES +#define TEST_V2_0_DOCUMENTATION_DATES -#include "try/v2.0/documentation/Date.hpp" +#include "test/v2.0/documentation/Date.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class Dates : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Dates/src/custom.hpp" + #include "test/v2.0/documentation/Dates/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Dates } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Dates/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Dates/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Dates/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Dates/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation.hpp similarity index 88% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation.hpp index c01908f79..26cb6b964 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation.hpp @@ -2,26 +2,26 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_DOCUMENTATION -#define TRY_V2_0_DOCUMENTATION_DOCUMENTATION - -#include "try/v2.0/documentation/Authors.hpp" -#include "try/v2.0/documentation/Contributors.hpp" -#include "try/v2.0/documentation/Collaborations.hpp" -#include "try/v2.0/documentation/Dates.hpp" -#include "try/v2.0/documentation/Copyright.hpp" -#include "try/v2.0/documentation/Acknowledgements.hpp" -#include "try/v2.0/documentation/Keywords.hpp" -#include "try/v2.0/documentation/RelatedItems.hpp" -#include "try/v2.0/documentation/Title.hpp" -#include "try/v2.0/documentation/Abstract.hpp" -#include "try/v2.0/documentation/Body.hpp" -#include "try/v2.0/documentation/ComputerCodes.hpp" -#include "try/v2.0/documentation/ExperimentalDataSets.hpp" -#include "try/v2.0/documentation/Bibliography.hpp" -#include "try/v2.0/documentation/EndfCompatible.hpp" - -namespace try { +#ifndef TEST_V2_0_DOCUMENTATION_DOCUMENTATION +#define TEST_V2_0_DOCUMENTATION_DOCUMENTATION + +#include "test/v2.0/documentation/Authors.hpp" +#include "test/v2.0/documentation/Contributors.hpp" +#include "test/v2.0/documentation/Collaborations.hpp" +#include "test/v2.0/documentation/Dates.hpp" +#include "test/v2.0/documentation/Copyright.hpp" +#include "test/v2.0/documentation/Acknowledgements.hpp" +#include "test/v2.0/documentation/Keywords.hpp" +#include "test/v2.0/documentation/RelatedItems.hpp" +#include "test/v2.0/documentation/Title.hpp" +#include "test/v2.0/documentation/Abstract.hpp" +#include "test/v2.0/documentation/Body.hpp" +#include "test/v2.0/documentation/ComputerCodes.hpp" +#include "test/v2.0/documentation/ExperimentalDataSets.hpp" +#include "test/v2.0/documentation/Bibliography.hpp" +#include "test/v2.0/documentation/EndfCompatible.hpp" + +namespace test { namespace v2_0 { namespace documentation { @@ -214,12 +214,12 @@ class Documentation : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Documentation/src/custom.hpp" + #include "test/v2.0/documentation/Documentation/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Documentation } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Documentation/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible.hpp index 2db396ded..ce6a86313 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_ENDFCOMPATIBLE -#define TRY_V2_0_DOCUMENTATION_ENDFCOMPATIBLE +#ifndef TEST_V2_0_DOCUMENTATION_ENDFCOMPATIBLE +#define TEST_V2_0_DOCUMENTATION_ENDFCOMPATIBLE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class EndfCompatible : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/EndfCompatible/src/custom.hpp" + #include "test/v2.0/documentation/EndfCompatible/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EndfCompatible } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/EndfCompatible/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExecutionArguments.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ExecutionArguments.hpp index b653606bb..ac6ae58d1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExecutionArguments.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExecutionArguments.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS -#define TRY_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS +#ifndef TEST_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS +#define TEST_V2_0_DOCUMENTATION_EXECUTIONARGUMENTS -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class ExecutionArguments : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/ExforDataSet/src/custom.hpp" + #include "test/v2.0/documentation/ExforDataSet/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ExforDataSet } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSet/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSet/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSet/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets.hpp index 65c3c5fdf..a1a10efa3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_EXFORDATASETS -#define TRY_V2_0_DOCUMENTATION_EXFORDATASETS +#ifndef TEST_V2_0_DOCUMENTATION_EXFORDATASETS +#define TEST_V2_0_DOCUMENTATION_EXFORDATASETS -#include "try/v2.0/documentation/ExforDataSet.hpp" +#include "test/v2.0/documentation/ExforDataSet.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class ExforDataSets : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/ExforDataSets/src/custom.hpp" + #include "test/v2.0/documentation/ExforDataSets/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ExforDataSets } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ExforDataSets/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExperimentalDataSets.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/ExperimentalDataSets.hpp index 9135bae89..aaffb75b8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/ExperimentalDataSets.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExperimentalDataSets.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS -#define TRY_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS +#ifndef TEST_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS +#define TEST_V2_0_DOCUMENTATION_EXPERIMENTALDATASETS -#include "try/v2.0/documentation/ExforDataSets.hpp" +#include "test/v2.0/documentation/ExforDataSets.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class ExperimentalDataSets : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/InputDeck/src/custom.hpp" + #include "test/v2.0/documentation/InputDeck/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class InputDeck } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/InputDeck/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/InputDeck/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/InputDeck/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks.hpp index f73f71c2b..ad82dec9b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_INPUTDECKS -#define TRY_V2_0_DOCUMENTATION_INPUTDECKS +#ifndef TEST_V2_0_DOCUMENTATION_INPUTDECKS +#define TEST_V2_0_DOCUMENTATION_INPUTDECKS -#include "try/v2.0/documentation/InputDeck.hpp" +#include "test/v2.0/documentation/InputDeck.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class InputDecks : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/InputDecks/src/custom.hpp" + #include "test/v2.0/documentation/InputDecks/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class InputDecks } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/InputDecks/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword.hpp index 217416ce5..989b0946d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_KEYWORD -#define TRY_V2_0_DOCUMENTATION_KEYWORD +#ifndef TEST_V2_0_DOCUMENTATION_KEYWORD +#define TEST_V2_0_DOCUMENTATION_KEYWORD -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -129,12 +129,12 @@ class Keyword : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Keyword/src/custom.hpp" + #include "test/v2.0/documentation/Keyword/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Keyword } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Keyword/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords.hpp index 92bffcbe3..7832d1904 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_KEYWORDS -#define TRY_V2_0_DOCUMENTATION_KEYWORDS +#ifndef TEST_V2_0_DOCUMENTATION_KEYWORDS +#define TEST_V2_0_DOCUMENTATION_KEYWORDS -#include "try/v2.0/documentation/Keyword.hpp" +#include "test/v2.0/documentation/Keyword.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class Keywords : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Keywords/src/custom.hpp" + #include "test/v2.0/documentation/Keywords/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Keywords } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Keywords/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Note.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Note.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Note.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Note.hpp index 86c485572..109d33528 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Note.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Note.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_NOTE -#define TRY_V2_0_DOCUMENTATION_NOTE +#ifndef TEST_V2_0_DOCUMENTATION_NOTE +#define TEST_V2_0_DOCUMENTATION_NOTE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class Note : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Note/src/custom.hpp" + #include "test/v2.0/documentation/Note/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Note } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Note/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Note/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Note/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Note/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck.hpp index 11e045e5f..25ba5cf03 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_OUTPUTDECK -#define TRY_V2_0_DOCUMENTATION_OUTPUTDECK +#ifndef TEST_V2_0_DOCUMENTATION_OUTPUTDECK +#define TEST_V2_0_DOCUMENTATION_OUTPUTDECK -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -129,12 +129,12 @@ class OutputDeck : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/OutputDeck/src/custom.hpp" + #include "test/v2.0/documentation/OutputDeck/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class OutputDeck } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDeck/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks.hpp index 12213d467..6eb234428 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_OUTPUTDECKS -#define TRY_V2_0_DOCUMENTATION_OUTPUTDECKS +#ifndef TEST_V2_0_DOCUMENTATION_OUTPUTDECKS +#define TEST_V2_0_DOCUMENTATION_OUTPUTDECKS -#include "try/v2.0/documentation/OutputDeck.hpp" +#include "test/v2.0/documentation/OutputDeck.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class OutputDecks : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/OutputDecks/src/custom.hpp" + #include "test/v2.0/documentation/OutputDecks/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class OutputDecks } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/OutputDecks/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem.hpp index ff36a3a65..df889fd8f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_RELATEDITEM -#define TRY_V2_0_DOCUMENTATION_RELATEDITEM +#ifndef TEST_V2_0_DOCUMENTATION_RELATEDITEM +#define TEST_V2_0_DOCUMENTATION_RELATEDITEM -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -107,12 +107,12 @@ class RelatedItem : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/RelatedItem/src/custom.hpp" + #include "test/v2.0/documentation/RelatedItem/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class RelatedItem } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItem/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems.hpp index 533085b65..e09343860 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_RELATEDITEMS -#define TRY_V2_0_DOCUMENTATION_RELATEDITEMS +#ifndef TEST_V2_0_DOCUMENTATION_RELATEDITEMS +#define TEST_V2_0_DOCUMENTATION_RELATEDITEMS -#include "try/v2.0/documentation/RelatedItem.hpp" +#include "test/v2.0/documentation/RelatedItem.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -95,12 +95,12 @@ class RelatedItems : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/RelatedItems/src/custom.hpp" + #include "test/v2.0/documentation/RelatedItems/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class RelatedItems } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/RelatedItems/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Title.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Title.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Title.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Title.hpp index b6f73a2d4..cce300605 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Title.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Title.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_TITLE -#define TRY_V2_0_DOCUMENTATION_TITLE +#ifndef TEST_V2_0_DOCUMENTATION_TITLE +#define TEST_V2_0_DOCUMENTATION_TITLE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class Title : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Title/src/custom.hpp" + #include "test/v2.0/documentation/Title/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Title } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Title/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Title/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Title/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Title/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Version.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Version.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Version.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Version.hpp index cadf0d1b2..7820a55a4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/documentation/Version.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Version.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_DOCUMENTATION_VERSION -#define TRY_V2_0_DOCUMENTATION_VERSION +#ifndef TEST_V2_0_DOCUMENTATION_VERSION +#define TEST_V2_0_DOCUMENTATION_VERSION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace documentation { @@ -123,12 +123,12 @@ class Version : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/documentation/Version/src/custom.hpp" + #include "test/v2.0/documentation/Version/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Version } // namespace documentation } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/documentation/Version/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Version/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/documentation/Version/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/documentation/Version/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron.hpp index ba21915e4..24f8adf18 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON -#define TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON +#ifndef TEST_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON +#define TEST_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRON -#include "try/v2.0/fissionFragmentData/Rate.hpp" -#include "try/v2.0/common/Product.hpp" +#include "test/v2.0/fissionFragmentData/Rate.hpp" +#include "test/v2.0/common/Product.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionFragmentData { @@ -111,12 +111,12 @@ class DelayedNeutron : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp" + #include "test/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DelayedNeutron } // namespace fissionFragmentData } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons.hpp index b320a9e83..dfb87aa92 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS -#define TRY_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS +#ifndef TEST_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS +#define TEST_V2_0_FISSIONFRAGMENTDATA_DELAYEDNEUTRONS -#include "try/v2.0/fissionFragmentData/DelayedNeutron.hpp" +#include "test/v2.0/fissionFragmentData/DelayedNeutron.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionFragmentData { @@ -95,12 +95,12 @@ class DelayedNeutrons : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp" + #include "test/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DelayedNeutrons } // namespace fissionFragmentData } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/FissionFragmentData.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/FissionFragmentData.hpp index ec947056d..b980753bd 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/FissionFragmentData.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/FissionFragmentData.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA -#define TRY_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA +#ifndef TEST_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA +#define TEST_V2_0_FISSIONFRAGMENTDATA_FISSIONFRAGMENTDATA -#include "try/v2.0/fissionFragmentData/DelayedNeutrons.hpp" -#include "try/v2.0/fissionTransport/FissionEnergyReleased.hpp" -#include "try/v2.0/fpy/ProductYields.hpp" +#include "test/v2.0/fissionFragmentData/DelayedNeutrons.hpp" +#include "test/v2.0/fissionTransport/FissionEnergyReleased.hpp" +#include "test/v2.0/fpy/ProductYields.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionFragmentData { @@ -109,12 +109,12 @@ class FissionFragmentData : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionFragmentData/Rate/src/custom.hpp" + #include "test/v2.0/fissionFragmentData/Rate/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Rate } // namespace fissionFragmentData } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/Rate/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionFragmentData/Rate/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/Rate/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A.hpp index 34066a396..1e374f2cc 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_A -#define TRY_V2_0_FISSIONTRANSPORT_A +#ifndef TEST_V2_0_FISSIONTRANSPORT_A +#define TEST_V2_0_FISSIONTRANSPORT_A -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -84,12 +84,12 @@ class A : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/A/src/custom.hpp" + #include "test/v2.0/fissionTransport/A/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class A } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/A/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B.hpp index c2f3df3b7..5130e351b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_B -#define TRY_V2_0_FISSIONTRANSPORT_B +#ifndef TEST_V2_0_FISSIONTRANSPORT_B +#define TEST_V2_0_FISSIONTRANSPORT_B -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -84,12 +84,12 @@ class B : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/B/src/custom.hpp" + #include "test/v2.0/fissionTransport/B/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class B } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/B/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy.hpp index 9dadd3f8f..06bf8595b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY -#define TRY_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY +#ifndef TEST_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY +#define TEST_V2_0_FISSIONTRANSPORT_DELAYEDBETAENERGY -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -95,12 +95,12 @@ class DelayedBetaEnergy : public Component // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp" + #include "test/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DelayedBetaEnergy } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedGammaEnergy.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedGammaEnergy.hpp index 4c10829c6..19d7bed3b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedGammaEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedGammaEnergy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY -#define TRY_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY +#ifndef TEST_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY +#define TEST_V2_0_FISSIONTRANSPORT_DELAYEDGAMMAENERGY -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -95,12 +95,12 @@ class DelayedGammaEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp" + #include "test/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DelayedNeutronKE } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedNeutronKE/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH.hpp index cd367630d..2b59e65ee 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_EFH -#define TRY_V2_0_FISSIONTRANSPORT_EFH +#ifndef TEST_V2_0_FISSIONTRANSPORT_EFH +#define TEST_V2_0_FISSIONTRANSPORT_EFH -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -101,12 +101,12 @@ class EFH : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/EFH/src/custom.hpp" + #include "test/v2.0/fissionTransport/EFH/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EFH } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFH/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL.hpp index 77f9c997e..2789a0985 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_EFL -#define TRY_V2_0_FISSIONTRANSPORT_EFL +#ifndef TEST_V2_0_FISSIONTRANSPORT_EFL +#define TEST_V2_0_FISSIONTRANSPORT_EFL -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -101,12 +101,12 @@ class EFL : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/EFL/src/custom.hpp" + #include "test/v2.0/fissionTransport/EFL/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EFL } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/EFL/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent.hpp index 0f931e232..62ed7f844 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT -#define TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT +#ifndef TEST_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT +#define TEST_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENT -#include "try/v2.0/transport/CrossSection.hpp" -#include "try/v2.0/transport/OutputChannel.hpp" +#include "test/v2.0/transport/CrossSection.hpp" +#include "test/v2.0/transport/OutputChannel.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -123,12 +123,12 @@ class FissionComponent : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/FissionComponent/src/custom.hpp" + #include "test/v2.0/fissionTransport/FissionComponent/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class FissionComponent } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponent/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents.hpp index 1af32acc7..e2f2eb8c6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS -#define TRY_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS +#ifndef TEST_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS +#define TEST_V2_0_FISSIONTRANSPORT_FISSIONCOMPONENTS -#include "try/v2.0/fissionTransport/FissionComponent.hpp" +#include "test/v2.0/fissionTransport/FissionComponent.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -95,12 +95,12 @@ class FissionComponents : public Component // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/FissionComponents/src/custom.hpp" + #include "test/v2.0/fissionTransport/FissionComponents/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class FissionComponents } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionComponents/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionEnergyReleased.hpp similarity index 88% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionEnergyReleased.hpp index 2427d8872..dd42e6482 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/FissionEnergyReleased.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionEnergyReleased.hpp @@ -2,20 +2,20 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED -#define TRY_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED - -#include "try/v2.0/fissionTransport/DelayedBetaEnergy.hpp" -#include "try/v2.0/fissionTransport/DelayedGammaEnergy.hpp" -#include "try/v2.0/fissionTransport/DelayedNeutronKE.hpp" -#include "try/v2.0/fissionTransport/NeutrinoEnergy.hpp" -#include "try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" -#include "try/v2.0/fissionTransport/PromptGammaEnergy.hpp" -#include "try/v2.0/fissionTransport/PromptNeutronKE.hpp" -#include "try/v2.0/fissionTransport/PromptProductKE.hpp" -#include "try/v2.0/fissionTransport/TotalEnergy.hpp" - -namespace try { +#ifndef TEST_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED +#define TEST_V2_0_FISSIONTRANSPORT_FISSIONENERGYRELEASED + +#include "test/v2.0/fissionTransport/DelayedBetaEnergy.hpp" +#include "test/v2.0/fissionTransport/DelayedGammaEnergy.hpp" +#include "test/v2.0/fissionTransport/DelayedNeutronKE.hpp" +#include "test/v2.0/fissionTransport/NeutrinoEnergy.hpp" +#include "test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp" +#include "test/v2.0/fissionTransport/PromptGammaEnergy.hpp" +#include "test/v2.0/fissionTransport/PromptNeutronKE.hpp" +#include "test/v2.0/fissionTransport/PromptProductKE.hpp" +#include "test/v2.0/fissionTransport/TotalEnergy.hpp" + +namespace test { namespace v2_0 { namespace fissionTransport { @@ -160,12 +160,12 @@ class FissionEnergyReleased : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/MadlandNix/src/custom.hpp" + #include "test/v2.0/fissionTransport/MadlandNix/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MadlandNix } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/MadlandNix/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/MadlandNix/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/MadlandNix/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy.hpp index 9d8691521..4753d9756 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY -#define TRY_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY +#ifndef TEST_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY +#define TEST_V2_0_FISSIONTRANSPORT_NEUTRINOENERGY -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -95,12 +95,12 @@ class NeutrinoEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp" + #include "test/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class NeutrinoEnergy } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp index bf73b0e82..09c529815 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY -#define TRY_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY +#ifndef TEST_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY +#define TEST_V2_0_FISSIONTRANSPORT_NONNEUTRINOENERGY -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -95,12 +95,12 @@ class NonNeutrinoEnergy : public Component // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp" + #include "test/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class NonNeutrinoEnergy } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy.hpp index 4d8222960..7230b47b7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY -#define TRY_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY +#ifndef TEST_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY +#define TEST_V2_0_FISSIONTRANSPORT_PROMPTGAMMAENERGY -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -102,12 +102,12 @@ class PromptGammaEnergy : public Component // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp" + #include "test/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class PromptGammaEnergy } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE.hpp index fc9c0b0e3..80f42f768 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE -#define TRY_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE +#ifndef TEST_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE +#define TEST_V2_0_FISSIONTRANSPORT_PROMPTNEUTRONKE -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -102,12 +102,12 @@ class PromptNeutronKE : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp" + #include "test/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class PromptNeutronKE } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE.hpp index c0f480cdb..60649e600 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE -#define TRY_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE +#ifndef TEST_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE +#define TEST_V2_0_FISSIONTRANSPORT_PROMPTPRODUCTKE -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -102,12 +102,12 @@ class PromptProductKE : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/PromptProductKE/src/custom.hpp" + #include "test/v2.0/fissionTransport/PromptProductKE/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class PromptProductKE } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/PromptProductKE/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp index 652bd4570..69f8cf641 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION -#define TRY_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION +#ifndef TEST_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION +#define TEST_V2_0_FISSIONTRANSPORT_SIMPLEMAXWELLIANFISSION -#include "try/v2.0/transport/U.hpp" -#include "try/v2.0/transport/Theta.hpp" +#include "test/v2.0/transport/U.hpp" +#include "test/v2.0/transport/Theta.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -102,12 +102,12 @@ class SimpleMaxwellianFission : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/T_M/src/custom.hpp" + #include "test/v2.0/fissionTransport/T_M/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class T_M } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/T_M/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/T_M/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/T_M/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy.hpp index a8f3f138e..32462416a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY -#define TRY_V2_0_FISSIONTRANSPORT_TOTALENERGY +#ifndef TEST_V2_0_FISSIONTRANSPORT_TOTALENERGY +#define TEST_V2_0_FISSIONTRANSPORT_TOTALENERGY -#include "try/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -95,12 +95,12 @@ class TotalEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/TotalEnergy/src/custom.hpp" + #include "test/v2.0/fissionTransport/TotalEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class TotalEnergy } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/TotalEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt.hpp index ac2982682..b87d62a04 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FISSIONTRANSPORT_WATT -#define TRY_V2_0_FISSIONTRANSPORT_WATT +#ifndef TEST_V2_0_FISSIONTRANSPORT_WATT +#define TEST_V2_0_FISSIONTRANSPORT_WATT -#include "try/v2.0/transport/U.hpp" -#include "try/v2.0/fissionTransport/A.hpp" -#include "try/v2.0/fissionTransport/B.hpp" +#include "test/v2.0/transport/U.hpp" +#include "test/v2.0/fissionTransport/A.hpp" +#include "test/v2.0/fissionTransport/B.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fissionTransport { @@ -109,12 +109,12 @@ class Watt : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fissionTransport/Watt/src/custom.hpp" + #include "test/v2.0/fissionTransport/Watt/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Watt } // namespace fissionTransport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fissionTransport/Watt/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime.hpp index 89cc0649e..c466c7dd3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_ELAPSEDTIME -#define TRY_V2_0_FPY_ELAPSEDTIME +#ifndef TEST_V2_0_FPY_ELAPSEDTIME +#define TEST_V2_0_FPY_ELAPSEDTIME -#include "try/v2.0/fpy/Time.hpp" -#include "try/v2.0/fpy/Yields.hpp" -#include "try/v2.0/fpy/IncidentEnergies.hpp" +#include "test/v2.0/fpy/Time.hpp" +#include "test/v2.0/fpy/Yields.hpp" +#include "test/v2.0/fpy/IncidentEnergies.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -121,12 +121,12 @@ class ElapsedTime : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/ElapsedTime/src/custom.hpp" + #include "test/v2.0/fpy/ElapsedTime/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ElapsedTime } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTime/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes.hpp index 2e6309431..c438e89e1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_ELAPSEDTIMES -#define TRY_V2_0_FPY_ELAPSEDTIMES +#ifndef TEST_V2_0_FPY_ELAPSEDTIMES +#define TEST_V2_0_FPY_ELAPSEDTIMES -#include "try/v2.0/fpy/ElapsedTime.hpp" +#include "test/v2.0/fpy/ElapsedTime.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -95,12 +95,12 @@ class ElapsedTimes : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/ElapsedTimes/src/custom.hpp" + #include "test/v2.0/fpy/ElapsedTimes/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ElapsedTimes } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/ElapsedTimes/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Energy.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/Energy.hpp index 2433ccd9e..15abb44a8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/Energy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_ENERGY -#define TRY_V2_0_FPY_ENERGY +#ifndef TEST_V2_0_FPY_ENERGY +#define TEST_V2_0_FPY_ENERGY -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -95,12 +95,12 @@ class Energy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/Energy/src/custom.hpp" + #include "test/v2.0/fpy/Energy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Energy } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Energy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Energy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/Energy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/Energy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies.hpp index 0bd6be65d..f94df24be 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_INCIDENTENERGIES -#define TRY_V2_0_FPY_INCIDENTENERGIES +#ifndef TEST_V2_0_FPY_INCIDENTENERGIES +#define TEST_V2_0_FPY_INCIDENTENERGIES -#include "try/v2.0/fpy/IncidentEnergy.hpp" +#include "test/v2.0/fpy/IncidentEnergy.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -95,12 +95,12 @@ class IncidentEnergies : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/IncidentEnergies/src/custom.hpp" + #include "test/v2.0/fpy/IncidentEnergies/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class IncidentEnergies } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergies/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy.hpp index 63fc2c78d..18b06ae6a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_INCIDENTENERGY -#define TRY_V2_0_FPY_INCIDENTENERGY +#ifndef TEST_V2_0_FPY_INCIDENTENERGY +#define TEST_V2_0_FPY_INCIDENTENERGY -#include "try/v2.0/fpy/Energy.hpp" -#include "try/v2.0/fpy/Yields.hpp" +#include "test/v2.0/fpy/Energy.hpp" +#include "test/v2.0/fpy/Yields.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -111,12 +111,12 @@ class IncidentEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/IncidentEnergy/src/custom.hpp" + #include "test/v2.0/fpy/IncidentEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class IncidentEnergy } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/IncidentEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides.hpp index 566b57683..cc13332dc 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_NUCLIDES -#define TRY_V2_0_FPY_NUCLIDES +#ifndef TEST_V2_0_FPY_NUCLIDES +#define TEST_V2_0_FPY_NUCLIDES -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -104,12 +104,12 @@ class Nuclides : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/Nuclides/src/custom.hpp" + #include "test/v2.0/fpy/Nuclides/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Nuclides } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/Nuclides/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield.hpp index 9d8090870..9b76b80f7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_PRODUCTYIELD -#define TRY_V2_0_FPY_PRODUCTYIELD +#ifndef TEST_V2_0_FPY_PRODUCTYIELD +#define TEST_V2_0_FPY_PRODUCTYIELD -#include "try/v2.0/fpy/Nuclides.hpp" -#include "try/v2.0/fpy/ElapsedTimes.hpp" +#include "test/v2.0/fpy/Nuclides.hpp" +#include "test/v2.0/fpy/ElapsedTimes.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -111,12 +111,12 @@ class ProductYield : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/ProductYield/src/custom.hpp" + #include "test/v2.0/fpy/ProductYield/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ProductYield } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYield/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields.hpp index 5b47c824e..1cc1f3898 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_PRODUCTYIELDS -#define TRY_V2_0_FPY_PRODUCTYIELDS +#ifndef TEST_V2_0_FPY_PRODUCTYIELDS +#define TEST_V2_0_FPY_PRODUCTYIELDS -#include "try/v2.0/fpy/ProductYield.hpp" +#include "test/v2.0/fpy/ProductYield.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -95,12 +95,12 @@ class ProductYields : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/ProductYields/src/custom.hpp" + #include "test/v2.0/fpy/ProductYields/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ProductYields } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/ProductYields/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Time.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/Time.hpp index 771c18809..2f4ef8bef 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Time.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/Time.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_TIME -#define TRY_V2_0_FPY_TIME +#ifndef TEST_V2_0_FPY_TIME +#define TEST_V2_0_FPY_TIME -#include "try/v2.0/containers/Double.hpp" -#include "try/v2.0/containers/String.hpp" +#include "test/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/String.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -103,12 +103,12 @@ class Time : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/Time/src/custom.hpp" + #include "test/v2.0/fpy/Time/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Time } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Time/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Time/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/Time/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/Time/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Yields.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/Yields.hpp index 18b209ae9..e05b6f12e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/Yields.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_FPY_YIELDS -#define TRY_V2_0_FPY_YIELDS +#ifndef TEST_V2_0_FPY_YIELDS +#define TEST_V2_0_FPY_YIELDS -#include "try/v2.0/fpy/Nuclides.hpp" -#include "try/v2.0/containers/Values.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/fpy/Nuclides.hpp" +#include "test/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace fpy { @@ -109,12 +109,12 @@ class Yields : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/fpy/Yields/src/custom.hpp" + #include "test/v2.0/fpy/Yields/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Yields } // namespace fpy } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/fpy/Yields/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Yields/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/fpy/Yields/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/fpy/Yields/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/key.hpp b/standards/gnds-2.0/test/src/test/v2.0/key.hpp similarity index 99% rename from standards/gnds-2.0/try/src/try/v2.0/key.hpp rename to standards/gnds-2.0/test/src/test/v2.0/key.hpp index b7c7f6fff..ba2f25dc7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/key.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/key.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_KEY -#define TRY_V2_0_KEY +#ifndef TEST_V2_0_KEY +#define TEST_V2_0_KEY // GNDStk Core Interface #include "GNDStk.hpp" -namespace try { +namespace test { namespace v2_0 { using namespace njoy::GNDStk; @@ -785,6 +785,6 @@ using namespace tsl; // ----------------------------------------------------------------------------- } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Import.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/map/Import.hpp rename to standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp index 9b4bed97d..b0c997640 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/map/Import.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_MAP_IMPORT -#define TRY_V2_0_MAP_IMPORT +#ifndef TEST_V2_0_MAP_IMPORT +#define TEST_V2_0_MAP_IMPORT -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace map { @@ -107,12 +107,12 @@ class Import : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/map/Import/src/custom.hpp" + #include "test/v2.0/map/Import/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Import } // namespace map } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Import/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Import/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/map/Import/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/map/Import/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Map.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/map/Map.hpp rename to standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp index 43b7d1f54..9415e33c7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/map/Map.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_MAP_MAP -#define TRY_V2_0_MAP_MAP +#ifndef TEST_V2_0_MAP_MAP +#define TEST_V2_0_MAP_MAP -#include "try/v2.0/map/Import.hpp" -#include "try/v2.0/map/Protare.hpp" -#include "try/v2.0/map/TNSL.hpp" +#include "test/v2.0/map/Import.hpp" +#include "test/v2.0/map/Protare.hpp" +#include "test/v2.0/map/TNSL.hpp" -namespace try { +namespace test { namespace v2_0 { namespace map { @@ -136,12 +136,12 @@ class Map : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/map/Map/src/custom.hpp" + #include "test/v2.0/map/Map/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Map } // namespace map } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Map/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Map/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/map/Map/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/map/Map/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Protare.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/map/Protare.hpp rename to standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp index 0c537f4cb..e846c5482 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/map/Protare.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_MAP_PROTARE -#define TRY_V2_0_MAP_PROTARE +#ifndef TEST_V2_0_MAP_PROTARE +#define TEST_V2_0_MAP_PROTARE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace map { @@ -131,12 +131,12 @@ class Protare : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/map/Protare/src/custom.hpp" + #include "test/v2.0/map/Protare/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Protare } // namespace map } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/Protare/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Protare/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/map/Protare/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/map/Protare/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/TNSL.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp similarity index 95% rename from standards/gnds-2.0/try/src/try/v2.0/map/TNSL.hpp rename to standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp index e4108b0ce..4efec08fc 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/map/TNSL.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_MAP_TNSL -#define TRY_V2_0_MAP_TNSL +#ifndef TEST_V2_0_MAP_TNSL +#define TEST_V2_0_MAP_TNSL -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace map { @@ -143,12 +143,12 @@ class TNSL : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/map/TNSL/src/custom.hpp" + #include "test/v2.0/map/TNSL/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class TNSL } // namespace map } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/map/TNSL/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/TNSL/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/map/TNSL/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/map/TNSL/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Alias.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Alias.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Alias.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Alias.hpp index 35058e528..d012ae773 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Alias.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Alias.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_ALIAS -#define TRY_V2_0_POPS_ALIAS +#ifndef TEST_V2_0_POPS_ALIAS +#define TEST_V2_0_POPS_ALIAS -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -101,12 +101,12 @@ class Alias : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Alias/src/custom.hpp" + #include "test/v2.0/pops/Alias/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Alias } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Alias/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Alias/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Alias/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Alias/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Aliases.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Aliases.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Aliases.hpp index 0af7a2462..e0a49cf46 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Aliases.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_ALIASES -#define TRY_V2_0_POPS_ALIASES +#ifndef TEST_V2_0_POPS_ALIASES +#define TEST_V2_0_POPS_ALIASES -#include "try/v2.0/pops/Alias.hpp" -#include "try/v2.0/pops/MetaStable.hpp" +#include "test/v2.0/pops/Alias.hpp" +#include "test/v2.0/pops/MetaStable.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -102,12 +102,12 @@ class Aliases : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Aliases/src/custom.hpp" + #include "test/v2.0/pops/Aliases/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Aliases } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Aliases/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Aliases/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Aliases/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Aliases/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Atomic.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Atomic.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Atomic.hpp index b9c8d031f..e2e70e446 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Atomic.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_ATOMIC -#define TRY_V2_0_POPS_ATOMIC +#ifndef TEST_V2_0_POPS_ATOMIC +#define TEST_V2_0_POPS_ATOMIC -#include "try/v2.0/pops/Configurations.hpp" +#include "test/v2.0/pops/Configurations.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Atomic : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Atomic/src/custom.hpp" + #include "test/v2.0/pops/Atomic/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Atomic } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Atomic/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Atomic/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Atomic/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Atomic/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies.hpp index 38c87e586..486f05b60 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_AVERAGEENERGIES -#define TRY_V2_0_POPS_AVERAGEENERGIES +#ifndef TEST_V2_0_POPS_AVERAGEENERGIES +#define TEST_V2_0_POPS_AVERAGEENERGIES -#include "try/v2.0/pops/AverageEnergy.hpp" +#include "test/v2.0/pops/AverageEnergy.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class AverageEnergies : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/AverageEnergies/src/custom.hpp" + #include "test/v2.0/pops/AverageEnergies/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AverageEnergies } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergies/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy.hpp index b81450e20..e6ea4a2a1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_AVERAGEENERGY -#define TRY_V2_0_POPS_AVERAGEENERGY +#ifndef TEST_V2_0_POPS_AVERAGEENERGY +#define TEST_V2_0_POPS_AVERAGEENERGY -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -123,12 +123,12 @@ class AverageEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/AverageEnergy/src/custom.hpp" + #include "test/v2.0/pops/AverageEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AverageEnergy } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/AverageEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryon.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Baryon.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Baryon.hpp index dba3e7ccd..78cb19648 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryon.hpp @@ -2,17 +2,17 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_BARYON -#define TRY_V2_0_POPS_BARYON +#ifndef TEST_V2_0_POPS_BARYON +#define TEST_V2_0_POPS_BARYON -#include "try/v2.0/pops/Charge.hpp" -#include "try/v2.0/pops/Halflife.hpp" -#include "try/v2.0/pops/Mass.hpp" -#include "try/v2.0/pops/Spin.hpp" -#include "try/v2.0/pops/Parity.hpp" -#include "try/v2.0/pops/DecayData.hpp" +#include "test/v2.0/pops/Charge.hpp" +#include "test/v2.0/pops/Halflife.hpp" +#include "test/v2.0/pops/Mass.hpp" +#include "test/v2.0/pops/Spin.hpp" +#include "test/v2.0/pops/Parity.hpp" +#include "test/v2.0/pops/DecayData.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -139,12 +139,12 @@ class Baryon : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Baryon/src/custom.hpp" + #include "test/v2.0/pops/Baryon/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Baryon } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryon/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryon/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Baryon/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Baryon/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryons.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Baryons.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Baryons.hpp index a8da8fd51..b8d99e0eb 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryons.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_BARYONS -#define TRY_V2_0_POPS_BARYONS +#ifndef TEST_V2_0_POPS_BARYONS +#define TEST_V2_0_POPS_BARYONS -#include "try/v2.0/pops/Baryon.hpp" +#include "test/v2.0/pops/Baryon.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Baryons : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Baryons/src/custom.hpp" + #include "test/v2.0/pops/Baryons/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Baryons } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Baryons/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryons/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Baryons/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Baryons/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy.hpp index b2a9829e0..ae902270a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_BINDINGENERGY -#define TRY_V2_0_POPS_BINDINGENERGY +#ifndef TEST_V2_0_POPS_BINDINGENERGY +#define TEST_V2_0_POPS_BINDINGENERGY -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -130,12 +130,12 @@ class BindingEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/BindingEnergy/src/custom.hpp" + #include "test/v2.0/pops/BindingEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class BindingEnergy } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/BindingEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp index 07920887a..9569870f1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Charge.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_CHARGE -#define TRY_V2_0_POPS_CHARGE +#ifndef TEST_V2_0_POPS_CHARGE +#define TEST_V2_0_POPS_CHARGE -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/containers/Integer.hpp" -#include "try/v2.0/containers/Fraction.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/containers/Integer.hpp" +#include "test/v2.0/containers/Fraction.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -140,12 +140,12 @@ class Charge : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Charge/src/custom.hpp" + #include "test/v2.0/pops/Charge/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Charge } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Charge/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Charge/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Charge/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Charge/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement.hpp index be6be681d..d24851641 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_CHEMICALELEMENT -#define TRY_V2_0_POPS_CHEMICALELEMENT +#ifndef TEST_V2_0_POPS_CHEMICALELEMENT +#define TEST_V2_0_POPS_CHEMICALELEMENT -#include "try/v2.0/pops/Atomic.hpp" -#include "try/v2.0/pops/Isotopes.hpp" +#include "test/v2.0/pops/Atomic.hpp" +#include "test/v2.0/pops/Isotopes.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -123,12 +123,12 @@ class ChemicalElement : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/ChemicalElement/src/custom.hpp" + #include "test/v2.0/pops/ChemicalElement/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ChemicalElement } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElement/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements.hpp index 26a1e2e65..1860de9e4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_CHEMICALELEMENTS -#define TRY_V2_0_POPS_CHEMICALELEMENTS +#ifndef TEST_V2_0_POPS_CHEMICALELEMENTS +#define TEST_V2_0_POPS_CHEMICALELEMENTS -#include "try/v2.0/pops/ChemicalElement.hpp" +#include "test/v2.0/pops/ChemicalElement.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class ChemicalElements : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/ChemicalElements/src/custom.hpp" + #include "test/v2.0/pops/ChemicalElements/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ChemicalElements } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/ChemicalElements/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals.hpp index 75d243f42..e727ca535 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_CONFIDENCEINTERVALS -#define TRY_V2_0_POPS_CONFIDENCEINTERVALS +#ifndef TEST_V2_0_POPS_CONFIDENCEINTERVALS +#define TEST_V2_0_POPS_CONFIDENCEINTERVALS -#include "try/v2.0/pops/Interval.hpp" +#include "test/v2.0/pops/Interval.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class ConfidenceIntervals : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/ConfidenceIntervals/src/custom.hpp" + #include "test/v2.0/pops/ConfidenceIntervals/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ConfidenceIntervals } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/ConfidenceIntervals/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Configuration.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Configuration.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Configuration.hpp index 13b055580..3c3ca30c6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Configuration.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_CONFIGURATION -#define TRY_V2_0_POPS_CONFIGURATION +#ifndef TEST_V2_0_POPS_CONFIGURATION +#define TEST_V2_0_POPS_CONFIGURATION -#include "try/v2.0/pops/BindingEnergy.hpp" -#include "try/v2.0/pops/DecayData.hpp" +#include "test/v2.0/pops/BindingEnergy.hpp" +#include "test/v2.0/pops/DecayData.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -117,12 +117,12 @@ class Configuration : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Configuration/src/custom.hpp" + #include "test/v2.0/pops/Configuration/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Configuration } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Configuration/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Configuration/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Configuration/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Configuration/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Configurations.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Configurations.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Configurations.hpp index f5859f558..d8460cb1b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Configurations.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_CONFIGURATIONS -#define TRY_V2_0_POPS_CONFIGURATIONS +#ifndef TEST_V2_0_POPS_CONFIGURATIONS +#define TEST_V2_0_POPS_CONFIGURATIONS -#include "try/v2.0/pops/Configuration.hpp" +#include "test/v2.0/pops/Configuration.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Configurations : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Configurations/src/custom.hpp" + #include "test/v2.0/pops/Configurations/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Configurations } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Configurations/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Configurations/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Configurations/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Configurations/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Continuum.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Continuum.hpp index 98389c835..c8e8cbbe4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Continuum.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_CONTINUUM -#define TRY_V2_0_POPS_CONTINUUM +#ifndef TEST_V2_0_POPS_CONTINUUM +#define TEST_V2_0_POPS_CONTINUUM -#include "try/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Continuum : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Continuum/src/custom.hpp" + #include "test/v2.0/pops/Continuum/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Continuum } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Continuum/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Continuum/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Continuum/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Continuum/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Decay.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Decay.hpp similarity index 94% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Decay.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Decay.hpp index 036a82ac8..36e612db6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Decay.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Decay.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_DECAY -#define TRY_V2_0_POPS_DECAY +#ifndef TEST_V2_0_POPS_DECAY +#define TEST_V2_0_POPS_DECAY -#include "try/v2.0/pops/Products.hpp" +#include "test/v2.0/pops/Products.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -122,12 +122,12 @@ class Decay : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Decay/src/custom.hpp" + #include "test/v2.0/pops/Decay/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Decay } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Decay/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Decay/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Decay/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Decay/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayData.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DecayData.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DecayData.hpp index e08bd4c04..df0aeb75c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayData.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_DECAYDATA -#define TRY_V2_0_POPS_DECAYDATA +#ifndef TEST_V2_0_POPS_DECAYDATA +#define TEST_V2_0_POPS_DECAYDATA -#include "try/v2.0/pops/DecayModes.hpp" -#include "try/v2.0/pops/AverageEnergies.hpp" +#include "test/v2.0/pops/DecayModes.hpp" +#include "test/v2.0/pops/AverageEnergies.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -102,12 +102,12 @@ class DecayData : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/DecayData/src/custom.hpp" + #include "test/v2.0/pops/DecayData/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DecayData } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayData/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayData/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DecayData/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DecayData/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode.hpp index d4e697380..72d1ccf25 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode.hpp @@ -2,17 +2,17 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_DECAYMODE -#define TRY_V2_0_POPS_DECAYMODE +#ifndef TEST_V2_0_POPS_DECAYMODE +#define TEST_V2_0_POPS_DECAYMODE -#include "try/v2.0/pops/Probability.hpp" -#include "try/v2.0/pops/InternalConversionCoefficients.hpp" -#include "try/v2.0/pops/PhotonEmissionProbabilities.hpp" -#include "try/v2.0/pops/Q.hpp" -#include "try/v2.0/pops/DecayPath.hpp" -#include "try/v2.0/pops/Spectra.hpp" +#include "test/v2.0/pops/Probability.hpp" +#include "test/v2.0/pops/InternalConversionCoefficients.hpp" +#include "test/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "test/v2.0/pops/Q.hpp" +#include "test/v2.0/pops/DecayPath.hpp" +#include "test/v2.0/pops/Spectra.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -145,12 +145,12 @@ class DecayMode : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/DecayMode/src/custom.hpp" + #include "test/v2.0/pops/DecayMode/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DecayMode } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DecayMode/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes.hpp index 4b5a91d6e..862b707fa 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_DECAYMODES -#define TRY_V2_0_POPS_DECAYMODES +#ifndef TEST_V2_0_POPS_DECAYMODES +#define TEST_V2_0_POPS_DECAYMODES -#include "try/v2.0/pops/DecayMode.hpp" +#include "test/v2.0/pops/DecayMode.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class DecayModes : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/DecayModes/src/custom.hpp" + #include "test/v2.0/pops/DecayModes/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DecayModes } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DecayModes/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath.hpp index 1165fc548..949a1364b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_DECAYPATH -#define TRY_V2_0_POPS_DECAYPATH +#ifndef TEST_V2_0_POPS_DECAYPATH +#define TEST_V2_0_POPS_DECAYPATH -#include "try/v2.0/pops/Decay.hpp" +#include "test/v2.0/pops/Decay.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class DecayPath : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/DecayPath/src/custom.hpp" + #include "test/v2.0/pops/DecayPath/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DecayPath } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DecayPath/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Discrete.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Discrete.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Discrete.hpp index 3590102cc..6ce944c18 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Discrete.hpp @@ -2,17 +2,17 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_DISCRETE -#define TRY_V2_0_POPS_DISCRETE +#ifndef TEST_V2_0_POPS_DISCRETE +#define TEST_V2_0_POPS_DISCRETE -#include "try/v2.0/pops/DiscreteEnergy.hpp" -#include "try/v2.0/pops/Intensity.hpp" -#include "try/v2.0/pops/InternalConversionCoefficients.hpp" -#include "try/v2.0/pops/InternalPairFormationCoefficient.hpp" -#include "try/v2.0/pops/PhotonEmissionProbabilities.hpp" -#include "try/v2.0/pops/PositronEmissionIntensity.hpp" +#include "test/v2.0/pops/DiscreteEnergy.hpp" +#include "test/v2.0/pops/Intensity.hpp" +#include "test/v2.0/pops/InternalConversionCoefficients.hpp" +#include "test/v2.0/pops/InternalPairFormationCoefficient.hpp" +#include "test/v2.0/pops/PhotonEmissionProbabilities.hpp" +#include "test/v2.0/pops/PositronEmissionIntensity.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -139,12 +139,12 @@ class Discrete : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Discrete/src/custom.hpp" + #include "test/v2.0/pops/Discrete/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Discrete } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Discrete/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Discrete/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Discrete/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Discrete/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy.hpp index 4e66c457f..57223d000 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_DISCRETEENERGY -#define TRY_V2_0_POPS_DISCRETEENERGY +#ifndef TEST_V2_0_POPS_DISCRETEENERGY +#define TEST_V2_0_POPS_DISCRETEENERGY -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -123,12 +123,12 @@ class DiscreteEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/DiscreteEnergy/src/custom.hpp" + #include "test/v2.0/pops/DiscreteEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DiscreteEnergy } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/DiscreteEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp index e331948c7..b2881931a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Energy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_ENERGY -#define TRY_V2_0_POPS_ENERGY +#ifndef TEST_V2_0_POPS_ENERGY +#define TEST_V2_0_POPS_ENERGY -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -130,12 +130,12 @@ class Energy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Energy/src/custom.hpp" + #include "test/v2.0/pops/Energy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Energy } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Energy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Energy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Energy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Energy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson.hpp index cd6a3c861..c1ac332cb 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson.hpp @@ -2,17 +2,17 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_GAUGEBOSON -#define TRY_V2_0_POPS_GAUGEBOSON +#ifndef TEST_V2_0_POPS_GAUGEBOSON +#define TEST_V2_0_POPS_GAUGEBOSON -#include "try/v2.0/pops/Charge.hpp" -#include "try/v2.0/pops/Halflife.hpp" -#include "try/v2.0/pops/Mass.hpp" -#include "try/v2.0/pops/Spin.hpp" -#include "try/v2.0/pops/Parity.hpp" -#include "try/v2.0/pops/DecayData.hpp" +#include "test/v2.0/pops/Charge.hpp" +#include "test/v2.0/pops/Halflife.hpp" +#include "test/v2.0/pops/Mass.hpp" +#include "test/v2.0/pops/Spin.hpp" +#include "test/v2.0/pops/Parity.hpp" +#include "test/v2.0/pops/DecayData.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -139,12 +139,12 @@ class GaugeBoson : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/GaugeBoson/src/custom.hpp" + #include "test/v2.0/pops/GaugeBoson/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class GaugeBoson } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBoson/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons.hpp index a693f1d77..38c61228f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_GAUGEBOSONS -#define TRY_V2_0_POPS_GAUGEBOSONS +#ifndef TEST_V2_0_POPS_GAUGEBOSONS +#define TEST_V2_0_POPS_GAUGEBOSONS -#include "try/v2.0/pops/GaugeBoson.hpp" +#include "test/v2.0/pops/GaugeBoson.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class GaugeBosons : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/GaugeBosons/src/custom.hpp" + #include "test/v2.0/pops/GaugeBosons/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class GaugeBosons } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/GaugeBosons/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp index 25473bb0f..4acabbe95 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_HALFLIFE -#define TRY_V2_0_POPS_HALFLIFE +#ifndef TEST_V2_0_POPS_HALFLIFE +#define TEST_V2_0_POPS_HALFLIFE -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/containers/String.hpp" -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/containers/String.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -140,12 +140,12 @@ class Halflife : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Halflife/src/custom.hpp" + #include "test/v2.0/pops/Halflife/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Halflife } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Halflife/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Halflife/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Halflife/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Intensity.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Intensity.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Intensity.hpp index ac98690ad..14ae8102b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Intensity.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_INTENSITY -#define TRY_V2_0_POPS_INTENSITY +#ifndef TEST_V2_0_POPS_INTENSITY +#define TEST_V2_0_POPS_INTENSITY -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -123,12 +123,12 @@ class Intensity : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Intensity/src/custom.hpp" + #include "test/v2.0/pops/Intensity/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Intensity } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Intensity/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Intensity/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Intensity/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Intensity/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/InternalConversionCoefficients.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/InternalConversionCoefficients.hpp index 580a0bb71..1e64f788d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/InternalConversionCoefficients.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/InternalConversionCoefficients.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS -#define TRY_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS +#ifndef TEST_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS +#define TEST_V2_0_POPS_INTERNALCONVERSIONCOEFFICIENTS -#include "try/v2.0/pops/Shell.hpp" +#include "test/v2.0/pops/Shell.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class InternalConversionCoefficients : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Interval/src/custom.hpp" + #include "test/v2.0/pops/Interval/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Interval } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Interval/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Interval/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Interval/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Interval/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotope.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Isotope.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Isotope.hpp index 1a351fd9b..aa6e7f108 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotope.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_ISOTOPE -#define TRY_V2_0_POPS_ISOTOPE +#ifndef TEST_V2_0_POPS_ISOTOPE +#define TEST_V2_0_POPS_ISOTOPE -#include "try/v2.0/pops/Nuclides.hpp" +#include "test/v2.0/pops/Nuclides.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -110,12 +110,12 @@ class Isotope : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Isotope/src/custom.hpp" + #include "test/v2.0/pops/Isotope/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Isotope } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotope/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotope/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Isotope/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Isotope/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes.hpp index eca806707..dd3ea83ee 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_ISOTOPES -#define TRY_V2_0_POPS_ISOTOPES +#ifndef TEST_V2_0_POPS_ISOTOPES +#define TEST_V2_0_POPS_ISOTOPES -#include "try/v2.0/pops/Isotope.hpp" +#include "test/v2.0/pops/Isotope.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Isotopes : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Isotopes/src/custom.hpp" + #include "test/v2.0/pops/Isotopes/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Isotopes } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Isotopes/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Lepton.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Lepton.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Lepton.hpp index a7b99da6c..c48627d04 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Lepton.hpp @@ -2,17 +2,17 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_LEPTON -#define TRY_V2_0_POPS_LEPTON +#ifndef TEST_V2_0_POPS_LEPTON +#define TEST_V2_0_POPS_LEPTON -#include "try/v2.0/pops/Charge.hpp" -#include "try/v2.0/pops/Halflife.hpp" -#include "try/v2.0/pops/Mass.hpp" -#include "try/v2.0/pops/Spin.hpp" -#include "try/v2.0/pops/Parity.hpp" -#include "try/v2.0/pops/DecayData.hpp" +#include "test/v2.0/pops/Charge.hpp" +#include "test/v2.0/pops/Halflife.hpp" +#include "test/v2.0/pops/Mass.hpp" +#include "test/v2.0/pops/Spin.hpp" +#include "test/v2.0/pops/Parity.hpp" +#include "test/v2.0/pops/DecayData.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -145,12 +145,12 @@ class Lepton : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Lepton/src/custom.hpp" + #include "test/v2.0/pops/Lepton/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Lepton } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Lepton/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Lepton/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Lepton/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Lepton/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Leptons.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Leptons.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Leptons.hpp index 0cd032443..bb76122ad 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Leptons.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_LEPTONS -#define TRY_V2_0_POPS_LEPTONS +#ifndef TEST_V2_0_POPS_LEPTONS +#define TEST_V2_0_POPS_LEPTONS -#include "try/v2.0/pops/Lepton.hpp" +#include "test/v2.0/pops/Lepton.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Leptons : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Leptons/src/custom.hpp" + #include "test/v2.0/pops/Leptons/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Leptons } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Leptons/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Leptons/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Leptons/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Leptons/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp index 226e7bcd3..7016e6ebc 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_LOGNORMAL -#define TRY_V2_0_POPS_LOGNORMAL +#ifndef TEST_V2_0_POPS_LOGNORMAL +#define TEST_V2_0_POPS_LOGNORMAL -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class LogNormal : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/LogNormal/src/custom.hpp" + #include "test/v2.0/pops/LogNormal/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class LogNormal } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/LogNormal/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Mass.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Mass.hpp index 87af92453..9320d82f6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Mass.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_MASS -#define TRY_V2_0_POPS_MASS +#ifndef TEST_V2_0_POPS_MASS +#define TEST_V2_0_POPS_MASS -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -130,12 +130,12 @@ class Mass : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Mass/src/custom.hpp" + #include "test/v2.0/pops/Mass/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Mass } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Mass/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Mass/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Mass/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Mass/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable.hpp index 5a5f85032..939c2be82 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_METASTABLE -#define TRY_V2_0_POPS_METASTABLE +#ifndef TEST_V2_0_POPS_METASTABLE +#define TEST_V2_0_POPS_METASTABLE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -107,12 +107,12 @@ class MetaStable : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/MetaStable/src/custom.hpp" + #include "test/v2.0/pops/MetaStable/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MetaStable } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/MetaStable/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus.hpp index 9c8bb9004..a4002246e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus.hpp @@ -2,18 +2,18 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_NUCLEUS -#define TRY_V2_0_POPS_NUCLEUS - -#include "try/v2.0/pops/Charge.hpp" -#include "try/v2.0/pops/Energy.hpp" -#include "try/v2.0/pops/Halflife.hpp" -#include "try/v2.0/pops/Spin.hpp" -#include "try/v2.0/pops/Parity.hpp" -#include "try/v2.0/pops/DecayData.hpp" -#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" - -namespace try { +#ifndef TEST_V2_0_POPS_NUCLEUS +#define TEST_V2_0_POPS_NUCLEUS + +#include "test/v2.0/pops/Charge.hpp" +#include "test/v2.0/pops/Energy.hpp" +#include "test/v2.0/pops/Halflife.hpp" +#include "test/v2.0/pops/Spin.hpp" +#include "test/v2.0/pops/Parity.hpp" +#include "test/v2.0/pops/DecayData.hpp" +#include "test/v2.0/fissionFragmentData/FissionFragmentData.hpp" + +namespace test { namespace v2_0 { namespace pops { @@ -152,12 +152,12 @@ class Nucleus : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Nucleus/src/custom.hpp" + #include "test/v2.0/pops/Nucleus/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Nucleus } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Nucleus/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide.hpp index 7ab309ba5..2ab1760dc 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide.hpp @@ -2,18 +2,18 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_NUCLIDE -#define TRY_V2_0_POPS_NUCLIDE - -#include "try/v2.0/pops/Charge.hpp" -#include "try/v2.0/pops/Mass.hpp" -#include "try/v2.0/pops/Spin.hpp" -#include "try/v2.0/pops/Parity.hpp" -#include "try/v2.0/pops/Nucleus.hpp" -#include "try/v2.0/pops/DecayData.hpp" -#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" - -namespace try { +#ifndef TEST_V2_0_POPS_NUCLIDE +#define TEST_V2_0_POPS_NUCLIDE + +#include "test/v2.0/pops/Charge.hpp" +#include "test/v2.0/pops/Mass.hpp" +#include "test/v2.0/pops/Spin.hpp" +#include "test/v2.0/pops/Parity.hpp" +#include "test/v2.0/pops/Nucleus.hpp" +#include "test/v2.0/pops/DecayData.hpp" +#include "test/v2.0/fissionFragmentData/FissionFragmentData.hpp" + +namespace test { namespace v2_0 { namespace pops { @@ -146,12 +146,12 @@ class Nuclide : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Nuclide/src/custom.hpp" + #include "test/v2.0/pops/Nuclide/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Nuclide } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Nuclide/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides.hpp index 2fd8f7a3a..ae86ce5f4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_NUCLIDES -#define TRY_V2_0_POPS_NUCLIDES +#ifndef TEST_V2_0_POPS_NUCLIDES +#define TEST_V2_0_POPS_NUCLIDES -#include "try/v2.0/pops/Nuclide.hpp" +#include "test/v2.0/pops/Nuclide.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Nuclides : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Nuclides/src/custom.hpp" + #include "test/v2.0/pops/Nuclides/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Nuclides } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Nuclides/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp index 60ac1e7c1..49848f272 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Parity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_PARITY -#define TRY_V2_0_POPS_PARITY +#ifndef TEST_V2_0_POPS_PARITY +#define TEST_V2_0_POPS_PARITY -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/containers/Integer.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/containers/Integer.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -130,12 +130,12 @@ class Parity : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Parity/src/custom.hpp" + #include "test/v2.0/pops/Parity/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Parity } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Parity/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Parity/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Parity/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Parity/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Pdf.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Pdf.hpp index fa1621402..4c9a6f45f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Pdf.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_PDF -#define TRY_V2_0_POPS_PDF +#ifndef TEST_V2_0_POPS_PDF +#define TEST_V2_0_POPS_PDF -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -102,12 +102,12 @@ class Pdf : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Pdf/src/custom.hpp" + #include "test/v2.0/pops/Pdf/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Pdf } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Pdf/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Pdf/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Pdf/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Pdf/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/PhotonEmissionProbabilities.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/PhotonEmissionProbabilities.hpp index f5baeb60b..839010444 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/PhotonEmissionProbabilities.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/PhotonEmissionProbabilities.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_PHOTONEMISSIONPROBABILITIES -#define TRY_V2_0_POPS_PHOTONEMISSIONPROBABILITIES +#ifndef TEST_V2_0_POPS_PHOTONEMISSIONPROBABILITIES +#define TEST_V2_0_POPS_PHOTONEMISSIONPROBABILITIES -#include "try/v2.0/pops/Shell.hpp" +#include "test/v2.0/pops/Shell.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class PhotonEmissionProbabilities : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/PoPs_database/src/custom.hpp" + #include "test/v2.0/pops/PoPs_database/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class PoPs_database } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/PoPs_database/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/PoPs_database/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/PoPs_database/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/PositronEmissionIntensity.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/PositronEmissionIntensity.hpp index 4f5b9de71..dc0e3d9fd 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/PositronEmissionIntensity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/PositronEmissionIntensity.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_POSITRONEMISSIONINTENSITY -#define TRY_V2_0_POPS_POSITRONEMISSIONINTENSITY +#ifndef TEST_V2_0_POPS_POSITRONEMISSIONINTENSITY +#define TEST_V2_0_POPS_POSITRONEMISSIONINTENSITY -#include "try/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -104,12 +104,12 @@ class PositronEmissionIntensity : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Probability/src/custom.hpp" + #include "test/v2.0/pops/Probability/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Probability } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Probability/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Probability/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Probability/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Probability/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Product.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Product.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Product.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Product.hpp index 7a8cb463a..670277bf6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Product.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Product.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_PRODUCT -#define TRY_V2_0_POPS_PRODUCT +#ifndef TEST_V2_0_POPS_PRODUCT +#define TEST_V2_0_POPS_PRODUCT -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -101,12 +101,12 @@ class Product : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Product/src/custom.hpp" + #include "test/v2.0/pops/Product/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Product } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Product/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Product/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Product/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Product/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Products.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Products.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Products.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Products.hpp index 582b32402..24e7ba4e3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Products.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Products.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_PRODUCTS -#define TRY_V2_0_POPS_PRODUCTS +#ifndef TEST_V2_0_POPS_PRODUCTS +#define TEST_V2_0_POPS_PRODUCTS -#include "try/v2.0/pops/Product.hpp" +#include "test/v2.0/pops/Product.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Products : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Products/src/custom.hpp" + #include "test/v2.0/pops/Products/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Products } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Products/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Products/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Products/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Products/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Q.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Q.hpp index 2c0ad434e..a164f5da5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Q.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Q.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_Q -#define TRY_V2_0_POPS_Q +#ifndef TEST_V2_0_POPS_Q +#define TEST_V2_0_POPS_Q -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -130,12 +130,12 @@ class Q : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Q/src/custom.hpp" + #include "test/v2.0/pops/Q/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Q } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Q/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Q/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Q/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Q/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Shell.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Shell.hpp index ce1cab938..aa60e2ce5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Shell.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Shell.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_SHELL -#define TRY_V2_0_POPS_SHELL +#ifndef TEST_V2_0_POPS_SHELL +#define TEST_V2_0_POPS_SHELL -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -107,12 +107,12 @@ class Shell : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Shell/src/custom.hpp" + #include "test/v2.0/pops/Shell/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Shell } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Shell/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Shell/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Shell/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Shell/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectra.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Spectra.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Spectra.hpp index 835a1cfa0..d5451edb2 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectra.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_SPECTRA -#define TRY_V2_0_POPS_SPECTRA +#ifndef TEST_V2_0_POPS_SPECTRA +#define TEST_V2_0_POPS_SPECTRA -#include "try/v2.0/pops/Spectrum.hpp" +#include "test/v2.0/pops/Spectrum.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Spectra : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Spectra/src/custom.hpp" + #include "test/v2.0/pops/Spectra/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Spectra } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectra/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectra/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Spectra/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Spectra/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum.hpp index bc79be96f..184e74118 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_SPECTRUM -#define TRY_V2_0_POPS_SPECTRUM +#ifndef TEST_V2_0_POPS_SPECTRUM +#define TEST_V2_0_POPS_SPECTRUM -#include "try/v2.0/pops/Continuum.hpp" -#include "try/v2.0/pops/Discrete.hpp" +#include "test/v2.0/pops/Continuum.hpp" +#include "test/v2.0/pops/Discrete.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -117,12 +117,12 @@ class Spectrum : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Spectrum/src/custom.hpp" + #include "test/v2.0/pops/Spectrum/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Spectrum } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Spectrum/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp index 314bee512..f10e5840d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Spin.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_SPIN -#define TRY_V2_0_POPS_SPIN +#ifndef TEST_V2_0_POPS_SPIN +#define TEST_V2_0_POPS_SPIN -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" -#include "try/v2.0/containers/Fraction.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/containers/Fraction.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -130,12 +130,12 @@ class Spin : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Spin/src/custom.hpp" + #include "test/v2.0/pops/Spin/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Spin } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Spin/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spin/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Spin/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Spin/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp index a43c72a85..57b908738 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Standard.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_STANDARD -#define TRY_V2_0_POPS_STANDARD +#ifndef TEST_V2_0_POPS_STANDARD +#define TEST_V2_0_POPS_STANDARD -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Standard : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Standard/src/custom.hpp" + #include "test/v2.0/pops/Standard/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Standard } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Standard/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Standard/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Standard/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Standard/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty.hpp index d63486bc7..f3e29bc61 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_UNCERTAINTY -#define TRY_V2_0_POPS_UNCERTAINTY +#ifndef TEST_V2_0_POPS_UNCERTAINTY +#define TEST_V2_0_POPS_UNCERTAINTY -#include "try/v2.0/pops/Standard.hpp" -#include "try/v2.0/pops/LogNormal.hpp" -#include "try/v2.0/pops/ConfidenceIntervals.hpp" -#include "try/v2.0/pops/Pdf.hpp" +#include "test/v2.0/pops/Standard.hpp" +#include "test/v2.0/pops/LogNormal.hpp" +#include "test/v2.0/pops/ConfidenceIntervals.hpp" +#include "test/v2.0/pops/Pdf.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -116,12 +116,12 @@ class Uncertainty : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Uncertainty/src/custom.hpp" + #include "test/v2.0/pops/Uncertainty/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Uncertainty } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Uncertainty/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox.hpp index f72df9aa2..8797b5151 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_UNORTHODOX -#define TRY_V2_0_POPS_UNORTHODOX +#ifndef TEST_V2_0_POPS_UNORTHODOX +#define TEST_V2_0_POPS_UNORTHODOX -#include "try/v2.0/pops/Charge.hpp" -#include "try/v2.0/pops/Mass.hpp" +#include "test/v2.0/pops/Charge.hpp" +#include "test/v2.0/pops/Mass.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -111,12 +111,12 @@ class Unorthodox : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Unorthodox/src/custom.hpp" + #include "test/v2.0/pops/Unorthodox/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Unorthodox } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodox/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes.hpp index 04616f9a7..1ab7ba4ba 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_POPS_UNORTHODOXES -#define TRY_V2_0_POPS_UNORTHODOXES +#ifndef TEST_V2_0_POPS_UNORTHODOXES +#define TEST_V2_0_POPS_UNORTHODOXES -#include "try/v2.0/pops/Nuclide.hpp" +#include "test/v2.0/pops/Nuclide.hpp" -namespace try { +namespace test { namespace v2_0 { namespace pops { @@ -95,12 +95,12 @@ class Unorthodoxes : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/pops/Unorthodoxes/src/custom.hpp" + #include "test/v2.0/pops/Unorthodoxes/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Unorthodoxes } // namespace pops } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/pops/Unorthodoxes/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC.hpp index 0d6accf1e..5a99ebc8b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_PROCESSED_ANGULARENERGYMC -#define TRY_V2_0_PROCESSED_ANGULARENERGYMC +#ifndef TEST_V2_0_PROCESSED_ANGULARENERGYMC +#define TEST_V2_0_PROCESSED_ANGULARENERGYMC -#include "try/v2.0/transport/Angular_uncorrelated.hpp" -#include "try/v2.0/transport/AngularEnergy.hpp" +#include "test/v2.0/transport/Angular_uncorrelated.hpp" +#include "test/v2.0/transport/AngularEnergy.hpp" -namespace try { +namespace test { namespace v2_0 { namespace processed { @@ -117,12 +117,12 @@ class AngularEnergyMC : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/processed/AngularEnergyMC/src/custom.hpp" + #include "test/v2.0/processed/AngularEnergyMC/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AngularEnergyMC } // namespace processed } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AngularEnergyMC/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy.hpp index 9a1b12770..18a78f47d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_PROCESSED_AVAILABLEENERGY -#define TRY_V2_0_PROCESSED_AVAILABLEENERGY +#ifndef TEST_V2_0_PROCESSED_AVAILABLEENERGY +#define TEST_V2_0_PROCESSED_AVAILABLEENERGY -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace processed { @@ -102,12 +102,12 @@ class AvailableEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/processed/AvailableEnergy/src/custom.hpp" + #include "test/v2.0/processed/AvailableEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AvailableEnergy } // namespace processed } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AvailableEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum.hpp index 599072eb8..5b9d3caef 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM -#define TRY_V2_0_PROCESSED_AVAILABLEMOMENTUM +#ifndef TEST_V2_0_PROCESSED_AVAILABLEMOMENTUM +#define TEST_V2_0_PROCESSED_AVAILABLEMOMENTUM -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace processed { @@ -102,12 +102,12 @@ class AvailableMomentum : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/processed/AvailableMomentum/src/custom.hpp" + #include "test/v2.0/processed/AvailableMomentum/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AvailableMomentum } // namespace processed } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AvailableMomentum/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy.hpp index 5ba6dec6c..11f84f167 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY -#define TRY_V2_0_PROCESSED_AVERAGEPRODUCTENERGY +#ifndef TEST_V2_0_PROCESSED_AVERAGEPRODUCTENERGY +#define TEST_V2_0_PROCESSED_AVERAGEPRODUCTENERGY -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace processed { @@ -109,12 +109,12 @@ class AverageProductEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/processed/AverageProductEnergy/src/custom.hpp" + #include "test/v2.0/processed/AverageProductEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AverageProductEnergy } // namespace processed } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductMomentum.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductMomentum.hpp index ee2d18caf..fefa92de3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/AverageProductMomentum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductMomentum.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM -#define TRY_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM +#ifndef TEST_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM +#define TEST_V2_0_PROCESSED_AVERAGEPRODUCTMOMENTUM -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace processed { @@ -109,12 +109,12 @@ class AverageProductMomentum : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/processed/EnergyAngularMC/src/custom.hpp" + #include "test/v2.0/processed/EnergyAngularMC/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EnergyAngularMC } // namespace processed } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/EnergyAngularMC/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/processed/EnergyAngularMC/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/EnergyAngularMC/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d.hpp index 2b9bb0077..0f71074f0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_PROCESSED_MULTIGROUP3D -#define TRY_V2_0_PROCESSED_MULTIGROUP3D +#ifndef TEST_V2_0_PROCESSED_MULTIGROUP3D +#define TEST_V2_0_PROCESSED_MULTIGROUP3D -#include "try/v2.0/containers/Gridded3d.hpp" +#include "test/v2.0/containers/Gridded3d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace processed { @@ -110,12 +110,12 @@ class MultiGroup3d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/processed/MultiGroup3d/src/custom.hpp" + #include "test/v2.0/processed/MultiGroup3d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MultiGroup3d } // namespace processed } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/processed/MultiGroup3d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner.hpp index cb1f05c2b..ba025dd82 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_BREITWIGNER -#define TRY_V2_0_RESONANCES_BREITWIGNER +#ifndef TEST_V2_0_RESONANCES_BREITWIGNER +#define TEST_V2_0_RESONANCES_BREITWIGNER -#include "try/v2.0/pops/PoPs_database.hpp" -#include "try/v2.0/resonances/ScatteringRadius.hpp" -#include "try/v2.0/resonances/HardSphereRadius.hpp" -#include "try/v2.0/resonances/ResonanceParameters.hpp" +#include "test/v2.0/pops/PoPs_database.hpp" +#include "test/v2.0/resonances/ScatteringRadius.hpp" +#include "test/v2.0/resonances/HardSphereRadius.hpp" +#include "test/v2.0/resonances/ResonanceParameters.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -150,12 +150,12 @@ class BreitWigner : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/BreitWigner/src/custom.hpp" + #include "test/v2.0/resonances/BreitWigner/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class BreitWigner } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/BreitWigner/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channel.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Channel.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Channel.hpp index 3a3a29c5f..f5b1584cd 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channel.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_CHANNEL -#define TRY_V2_0_RESONANCES_CHANNEL +#ifndef TEST_V2_0_RESONANCES_CHANNEL +#define TEST_V2_0_RESONANCES_CHANNEL -#include "try/v2.0/resonances/ExternalRMatrix.hpp" -#include "try/v2.0/resonances/ScatteringRadius.hpp" -#include "try/v2.0/resonances/HardSphereRadius.hpp" +#include "test/v2.0/resonances/ExternalRMatrix.hpp" +#include "test/v2.0/resonances/ScatteringRadius.hpp" +#include "test/v2.0/resonances/HardSphereRadius.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -148,12 +148,12 @@ class Channel : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Channel/src/custom.hpp" + #include "test/v2.0/resonances/Channel/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Channel } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channel/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channel/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Channel/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Channel/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channels.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Channels.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Channels.hpp index 26a592aee..ed6646391 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channels.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_CHANNELS -#define TRY_V2_0_RESONANCES_CHANNELS +#ifndef TEST_V2_0_RESONANCES_CHANNELS +#define TEST_V2_0_RESONANCES_CHANNELS -#include "try/v2.0/resonances/Channel.hpp" +#include "test/v2.0/resonances/Channel.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -95,12 +95,12 @@ class Channels : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Channels/src/custom.hpp" + #include "test/v2.0/resonances/Channels/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Channels } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Channels/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channels/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Channels/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Channels/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval.hpp index 5337fd1f3..c79940526 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_ENERGYINTERVAL -#define TRY_V2_0_RESONANCES_ENERGYINTERVAL +#ifndef TEST_V2_0_RESONANCES_ENERGYINTERVAL +#define TEST_V2_0_RESONANCES_ENERGYINTERVAL -#include "try/v2.0/resonances/RMatrix.hpp" -#include "try/v2.0/resonances/BreitWigner.hpp" +#include "test/v2.0/resonances/RMatrix.hpp" +#include "test/v2.0/resonances/BreitWigner.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -130,12 +130,12 @@ class EnergyInterval : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/EnergyInterval/src/custom.hpp" + #include "test/v2.0/resonances/EnergyInterval/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EnergyInterval } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyInterval/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals.hpp index 3c9a6207a..a74c5a76c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_ENERGYINTERVALS -#define TRY_V2_0_RESONANCES_ENERGYINTERVALS +#ifndef TEST_V2_0_RESONANCES_ENERGYINTERVALS +#define TEST_V2_0_RESONANCES_ENERGYINTERVALS -#include "try/v2.0/resonances/EnergyInterval.hpp" +#include "test/v2.0/resonances/EnergyInterval.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -104,12 +104,12 @@ class EnergyIntervals : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/EnergyIntervals/src/custom.hpp" + #include "test/v2.0/resonances/EnergyIntervals/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EnergyIntervals } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/EnergyIntervals/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix.hpp index 08df844e5..78e05453b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_EXTERNALRMATRIX -#define TRY_V2_0_RESONANCES_EXTERNALRMATRIX +#ifndef TEST_V2_0_RESONANCES_EXTERNALRMATRIX +#define TEST_V2_0_RESONANCES_EXTERNALRMATRIX -#include "try/v2.0/containers/Double.hpp" +#include "test/v2.0/containers/Double.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -110,12 +110,12 @@ class ExternalRMatrix : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/ExternalRMatrix/src/custom.hpp" + #include "test/v2.0/resonances/ExternalRMatrix/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ExternalRMatrix } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ExternalRMatrix/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius.hpp index f8ee66cc1..9c9191f3b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_HARDSPHERERADIUS -#define TRY_V2_0_RESONANCES_HARDSPHERERADIUS +#ifndef TEST_V2_0_RESONANCES_HARDSPHERERADIUS +#define TEST_V2_0_RESONANCES_HARDSPHERERADIUS -#include "try/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/Constant1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -95,12 +95,12 @@ class HardSphereRadius : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/HardSphereRadius/src/custom.hpp" + #include "test/v2.0/resonances/HardSphereRadius/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class HardSphereRadius } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/HardSphereRadius/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/J.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/J.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/J.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/J.hpp index d908e1c43..4bb66550a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/J.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/J.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_J -#define TRY_V2_0_RESONANCES_J +#ifndef TEST_V2_0_RESONANCES_J +#define TEST_V2_0_RESONANCES_J -#include "try/v2.0/resonances/LevelSpacing.hpp" -#include "try/v2.0/resonances/Widths.hpp" +#include "test/v2.0/resonances/LevelSpacing.hpp" +#include "test/v2.0/resonances/Widths.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -117,12 +117,12 @@ class J : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/J/src/custom.hpp" + #include "test/v2.0/resonances/J/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class J } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/J/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/J/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/J/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/J/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Js.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Js.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Js.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Js.hpp index dfd4c9995..f58880d75 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Js.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Js.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_JS -#define TRY_V2_0_RESONANCES_JS +#ifndef TEST_V2_0_RESONANCES_JS +#define TEST_V2_0_RESONANCES_JS -#include "try/v2.0/resonances/J.hpp" +#include "test/v2.0/resonances/J.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -95,12 +95,12 @@ class Js : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Js/src/custom.hpp" + #include "test/v2.0/resonances/Js/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Js } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Js/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Js/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Js/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Js/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/L.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/L.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/L.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/L.hpp index 9c0885879..235db981e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/L.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/L.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_L -#define TRY_V2_0_RESONANCES_L +#ifndef TEST_V2_0_RESONANCES_L +#define TEST_V2_0_RESONANCES_L -#include "try/v2.0/resonances/Js.hpp" +#include "test/v2.0/resonances/Js.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -110,12 +110,12 @@ class L : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/L/src/custom.hpp" + #include "test/v2.0/resonances/L/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class L } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/L/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/L/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/L/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/L/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing.hpp index 232a140cd..c6cc09144 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_LEVELSPACING -#define TRY_V2_0_RESONANCES_LEVELSPACING +#ifndef TEST_V2_0_RESONANCES_LEVELSPACING +#define TEST_V2_0_RESONANCES_LEVELSPACING -#include "try/v2.0/containers/Constant1d.hpp" -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -109,12 +109,12 @@ class LevelSpacing : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/LevelSpacing/src/custom.hpp" + #include "test/v2.0/resonances/LevelSpacing/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class LevelSpacing } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/LevelSpacing/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Ls.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Ls.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Ls.hpp index 10b3c43e6..dce456500 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Ls.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_LS -#define TRY_V2_0_RESONANCES_LS +#ifndef TEST_V2_0_RESONANCES_LS +#define TEST_V2_0_RESONANCES_LS -#include "try/v2.0/resonances/L.hpp" +#include "test/v2.0/resonances/L.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -95,12 +95,12 @@ class Ls : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Ls/src/custom.hpp" + #include "test/v2.0/resonances/Ls/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Ls } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Ls/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Ls/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Ls/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Ls/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix.hpp similarity index 95% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix.hpp index 9720d3402..5ed44b05d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_RMATRIX -#define TRY_V2_0_RESONANCES_RMATRIX +#ifndef TEST_V2_0_RESONANCES_RMATRIX +#define TEST_V2_0_RESONANCES_RMATRIX -#include "try/v2.0/pops/PoPs_database.hpp" -#include "try/v2.0/resonances/ResonanceReactions.hpp" -#include "try/v2.0/resonances/SpinGroups.hpp" +#include "test/v2.0/pops/PoPs_database.hpp" +#include "test/v2.0/resonances/ResonanceReactions.hpp" +#include "test/v2.0/resonances/SpinGroups.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -170,12 +170,12 @@ class RMatrix : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/RMatrix/src/custom.hpp" + #include "test/v2.0/resonances/RMatrix/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class RMatrix } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/RMatrix/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved.hpp index 7b82fc87f..254992fd4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_RESOLVED -#define TRY_V2_0_RESONANCES_RESOLVED +#ifndef TEST_V2_0_RESONANCES_RESOLVED +#define TEST_V2_0_RESONANCES_RESOLVED -#include "try/v2.0/resonances/RMatrix.hpp" -#include "try/v2.0/resonances/BreitWigner.hpp" -#include "try/v2.0/resonances/EnergyIntervals.hpp" +#include "test/v2.0/resonances/RMatrix.hpp" +#include "test/v2.0/resonances/BreitWigner.hpp" +#include "test/v2.0/resonances/EnergyIntervals.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -127,12 +127,12 @@ class Resolved : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Resolved/src/custom.hpp" + #include "test/v2.0/resonances/Resolved/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Resolved } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Resolved/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters.hpp index dfb4f2ccc..c338cd077 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_RESONANCEPARAMETERS -#define TRY_V2_0_RESONANCES_RESONANCEPARAMETERS +#ifndef TEST_V2_0_RESONANCES_RESONANCEPARAMETERS +#define TEST_V2_0_RESONANCES_RESONANCEPARAMETERS -#include "try/v2.0/containers/Table.hpp" +#include "test/v2.0/containers/Table.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -95,12 +95,12 @@ class ResonanceParameters : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/ResonanceParameters/src/custom.hpp" + #include "test/v2.0/resonances/ResonanceParameters/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ResonanceParameters } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceParameters/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction.hpp index 066ead800..165185ec3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_RESONANCEREACTION -#define TRY_V2_0_RESONANCES_RESONANCEREACTION +#ifndef TEST_V2_0_RESONANCES_RESONANCEREACTION +#define TEST_V2_0_RESONANCES_RESONANCEREACTION -#include "try/v2.0/common/Q.hpp" -#include "try/v2.0/resonances/ScatteringRadius.hpp" -#include "try/v2.0/resonances/HardSphereRadius.hpp" -#include "try/v2.0/containers/Link.hpp" +#include "test/v2.0/common/Q.hpp" +#include "test/v2.0/resonances/ScatteringRadius.hpp" +#include "test/v2.0/resonances/HardSphereRadius.hpp" +#include "test/v2.0/containers/Link.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -149,12 +149,12 @@ class ResonanceReaction : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/ResonanceReaction/src/custom.hpp" + #include "test/v2.0/resonances/ResonanceReaction/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ResonanceReaction } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReaction/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions.hpp index b65e57df5..2b24538e6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_RESONANCEREACTIONS -#define TRY_V2_0_RESONANCES_RESONANCEREACTIONS +#ifndef TEST_V2_0_RESONANCES_RESONANCEREACTIONS +#define TEST_V2_0_RESONANCES_RESONANCEREACTIONS -#include "try/v2.0/resonances/ResonanceReaction.hpp" +#include "test/v2.0/resonances/ResonanceReaction.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -95,12 +95,12 @@ class ResonanceReactions : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/ResonanceReactions/src/custom.hpp" + #include "test/v2.0/resonances/ResonanceReactions/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ResonanceReactions } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ResonanceReactions/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances.hpp index d0c01960f..26411ec24 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_RESONANCES -#define TRY_V2_0_RESONANCES_RESONANCES +#ifndef TEST_V2_0_RESONANCES_RESONANCES +#define TEST_V2_0_RESONANCES_RESONANCES -#include "try/v2.0/resonances/ScatteringRadius.hpp" -#include "try/v2.0/resonances/HardSphereRadius.hpp" -#include "try/v2.0/resonances/Resolved.hpp" -#include "try/v2.0/resonances/Unresolved.hpp" +#include "test/v2.0/resonances/ScatteringRadius.hpp" +#include "test/v2.0/resonances/HardSphereRadius.hpp" +#include "test/v2.0/resonances/Resolved.hpp" +#include "test/v2.0/resonances/Unresolved.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -125,12 +125,12 @@ class Resonances : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Resonances/src/custom.hpp" + #include "test/v2.0/resonances/Resonances/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Resonances } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Resonances/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius.hpp index b879e3043..d00bbd260 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_SCATTERINGRADIUS -#define TRY_V2_0_RESONANCES_SCATTERINGRADIUS +#ifndef TEST_V2_0_RESONANCES_SCATTERINGRADIUS +#define TEST_V2_0_RESONANCES_SCATTERINGRADIUS -#include "try/v2.0/containers/Constant1d.hpp" -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -106,12 +106,12 @@ class ScatteringRadius : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/ScatteringRadius/src/custom.hpp" + #include "test/v2.0/resonances/ScatteringRadius/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ScatteringRadius } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/ScatteringRadius/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup.hpp index 3d5724442..5ddca4e4a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_SPINGROUP -#define TRY_V2_0_RESONANCES_SPINGROUP +#ifndef TEST_V2_0_RESONANCES_SPINGROUP +#define TEST_V2_0_RESONANCES_SPINGROUP -#include "try/v2.0/resonances/Channels.hpp" -#include "try/v2.0/resonances/ResonanceParameters.hpp" +#include "test/v2.0/resonances/Channels.hpp" +#include "test/v2.0/resonances/ResonanceParameters.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -129,12 +129,12 @@ class SpinGroup : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/SpinGroup/src/custom.hpp" + #include "test/v2.0/resonances/SpinGroup/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class SpinGroup } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroup/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups.hpp index b412c5536..e996a6447 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_SPINGROUPS -#define TRY_V2_0_RESONANCES_SPINGROUPS +#ifndef TEST_V2_0_RESONANCES_SPINGROUPS +#define TEST_V2_0_RESONANCES_SPINGROUPS -#include "try/v2.0/resonances/SpinGroup.hpp" +#include "test/v2.0/resonances/SpinGroup.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -95,12 +95,12 @@ class SpinGroups : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/SpinGroups/src/custom.hpp" + #include "test/v2.0/resonances/SpinGroups/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class SpinGroups } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/SpinGroups/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths.hpp index d33033cf9..2a49e125b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths.hpp @@ -2,16 +2,16 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_TABULATEDWIDTHS -#define TRY_V2_0_RESONANCES_TABULATEDWIDTHS +#ifndef TEST_V2_0_RESONANCES_TABULATEDWIDTHS +#define TEST_V2_0_RESONANCES_TABULATEDWIDTHS -#include "try/v2.0/pops/PoPs_database.hpp" -#include "try/v2.0/resonances/ScatteringRadius.hpp" -#include "try/v2.0/resonances/HardSphereRadius.hpp" -#include "try/v2.0/resonances/ResonanceReactions.hpp" -#include "try/v2.0/resonances/Ls.hpp" +#include "test/v2.0/pops/PoPs_database.hpp" +#include "test/v2.0/resonances/ScatteringRadius.hpp" +#include "test/v2.0/resonances/HardSphereRadius.hpp" +#include "test/v2.0/resonances/ResonanceReactions.hpp" +#include "test/v2.0/resonances/Ls.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -150,12 +150,12 @@ class TabulatedWidths : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/TabulatedWidths/src/custom.hpp" + #include "test/v2.0/resonances/TabulatedWidths/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class TabulatedWidths } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/TabulatedWidths/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved.hpp index 265da35ae..efa8f6b3b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_UNRESOLVED -#define TRY_V2_0_RESONANCES_UNRESOLVED +#ifndef TEST_V2_0_RESONANCES_UNRESOLVED +#define TEST_V2_0_RESONANCES_UNRESOLVED -#include "try/v2.0/resonances/TabulatedWidths.hpp" +#include "test/v2.0/resonances/TabulatedWidths.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -121,12 +121,12 @@ class Unresolved : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Unresolved/src/custom.hpp" + #include "test/v2.0/resonances/Unresolved/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Unresolved } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Unresolved/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Width.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Width.hpp index fab370f06..83f5c228a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Width.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Width.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_WIDTH -#define TRY_V2_0_RESONANCES_WIDTH +#ifndef TEST_V2_0_RESONANCES_WIDTH +#define TEST_V2_0_RESONANCES_WIDTH -#include "try/v2.0/containers/Constant1d.hpp" -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -124,12 +124,12 @@ class Width : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Width/src/custom.hpp" + #include "test/v2.0/resonances/Width/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Width } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Width/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Width/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Width/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Width/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Widths.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Widths.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Widths.hpp index 4666a3b98..51c63d157 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Widths.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_RESONANCES_WIDTHS -#define TRY_V2_0_RESONANCES_WIDTHS +#ifndef TEST_V2_0_RESONANCES_WIDTHS +#define TEST_V2_0_RESONANCES_WIDTHS -#include "try/v2.0/resonances/Width.hpp" +#include "test/v2.0/resonances/Width.hpp" -namespace try { +namespace test { namespace v2_0 { namespace resonances { @@ -95,12 +95,12 @@ class Widths : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/resonances/Widths/src/custom.hpp" + #include "test/v2.0/resonances/Widths/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Widths } // namespace resonances } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/resonances/Widths/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Widths/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/resonances/Widths/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/resonances/Widths/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/AngularDistributionReconstructed.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/AngularDistributionReconstructed.hpp index 3e39f07b2..f89762a22 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/AngularDistributionReconstructed.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/AngularDistributionReconstructed.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED -#define TRY_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED +#ifndef TEST_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED +#define TEST_V2_0_STYLES_ANGULARDISTRIBUTIONRECONSTRUCTED -#include "try/v2.0/styles/Temperature.hpp" -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/styles/Temperature.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -123,12 +123,12 @@ class AngularDistributionReconstructed : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/AverageProductData/src/custom.hpp" + #include "test/v2.0/styles/AverageProductData/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AverageProductData } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/AverageProductData/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/AverageProductData/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/AverageProductData/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko.hpp index 822f37f13..b337a7055 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_BONDARENKO -#define TRY_V2_0_STYLES_BONDARENKO +#ifndef TEST_V2_0_STYLES_BONDARENKO +#define TEST_V2_0_STYLES_BONDARENKO -#include "try/v2.0/styles/SigmaZeros.hpp" -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/styles/SigmaZeros.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -123,12 +123,12 @@ class Bondarenko : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Bondarenko/src/custom.hpp" + #include "test/v2.0/styles/Bondarenko/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Bondarenko } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Bondarenko/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp index 714d1ee64..8aa691e1f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF -#define TRY_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF +#ifndef TEST_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF +#define TEST_V2_0_STYLES_COULOMBPLUSNUCLEARELASTICMUCUTOFF -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -122,12 +122,12 @@ class CoulombPlusNuclearElasticMuCutoff : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/EqualProbableBins/src/custom.hpp" + #include "test/v2.0/styles/EqualProbableBins/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EqualProbableBins } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/EqualProbableBins/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/EqualProbableBins/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/EqualProbableBins/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated.hpp index 9c52d4452..6d471d6e5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_EVALUATED -#define TRY_V2_0_STYLES_EVALUATED +#ifndef TEST_V2_0_STYLES_EVALUATED +#define TEST_V2_0_STYLES_EVALUATED -#include "try/v2.0/styles/ProjectileEnergyDomain.hpp" -#include "try/v2.0/styles/Temperature.hpp" -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/styles/ProjectileEnergyDomain.hpp" +#include "test/v2.0/styles/Temperature.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -142,12 +142,12 @@ class Evaluated : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Evaluated/src/custom.hpp" + #include "test/v2.0/styles/Evaluated/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Evaluated } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Evaluated/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Flux.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Flux.hpp index 3666d4694..41325d2a1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Flux.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Flux.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_FLUX -#define TRY_V2_0_STYLES_FLUX +#ifndef TEST_V2_0_STYLES_FLUX +#define TEST_V2_0_STYLES_FLUX -#include "try/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -104,12 +104,12 @@ class Flux : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Flux/src/custom.hpp" + #include "test/v2.0/styles/Flux/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Flux } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Flux/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Flux/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Flux/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Flux/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection.hpp index b32393ce3..67836633f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_GRIDDEDCROSSSECTION -#define TRY_V2_0_STYLES_GRIDDEDCROSSSECTION +#ifndef TEST_V2_0_STYLES_GRIDDEDCROSSSECTION +#define TEST_V2_0_STYLES_GRIDDEDCROSSSECTION -#include "try/v2.0/containers/Grid.hpp" -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/containers/Grid.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -123,12 +123,12 @@ class GriddedCrossSection : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/GriddedCrossSection/src/custom.hpp" + #include "test/v2.0/styles/GriddedCrossSection/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class GriddedCrossSection } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/GriddedCrossSection/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Heated.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Heated.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Heated.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Heated.hpp index 7fcbba54d..de911e6f7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Heated.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Heated.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_HEATED -#define TRY_V2_0_STYLES_HEATED +#ifndef TEST_V2_0_STYLES_HEATED +#define TEST_V2_0_STYLES_HEATED -#include "try/v2.0/styles/Temperature.hpp" -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/styles/Temperature.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -123,12 +123,12 @@ class Heated : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Heated/src/custom.hpp" + #include "test/v2.0/styles/Heated/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Heated } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Heated/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Heated/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Heated/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Heated/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup.hpp index 6d8f18f05..2970a0b57 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_HEATEDMULTIGROUP -#define TRY_V2_0_STYLES_HEATEDMULTIGROUP +#ifndef TEST_V2_0_STYLES_HEATEDMULTIGROUP +#define TEST_V2_0_STYLES_HEATEDMULTIGROUP -#include "try/v2.0/styles/Transportables.hpp" -#include "try/v2.0/styles/Flux.hpp" -#include "try/v2.0/styles/InverseSpeed.hpp" -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/styles/Transportables.hpp" +#include "test/v2.0/styles/Flux.hpp" +#include "test/v2.0/styles/InverseSpeed.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -137,12 +137,12 @@ class HeatedMultiGroup : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/HeatedMultiGroup/src/custom.hpp" + #include "test/v2.0/styles/HeatedMultiGroup/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class HeatedMultiGroup } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/HeatedMultiGroup/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed.hpp index ff50f640d..7ded286a8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_INVERSESPEED -#define TRY_V2_0_STYLES_INVERSESPEED +#ifndef TEST_V2_0_STYLES_INVERSESPEED +#define TEST_V2_0_STYLES_INVERSESPEED -#include "try/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -104,12 +104,12 @@ class InverseSpeed : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/InverseSpeed/src/custom.hpp" + #include "test/v2.0/styles/InverseSpeed/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class InverseSpeed } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/InverseSpeed/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf.hpp index 1909e9d69..401c6940d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_MONTECARLO_CDF -#define TRY_V2_0_STYLES_MONTECARLO_CDF +#ifndef TEST_V2_0_STYLES_MONTECARLO_CDF +#define TEST_V2_0_STYLES_MONTECARLO_CDF -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -116,12 +116,12 @@ class MonteCarlo_cdf : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/MonteCarlo_cdf/src/custom.hpp" + #include "test/v2.0/styles/MonteCarlo_cdf/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MonteCarlo_cdf } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/MonteCarlo_cdf/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand.hpp index bb889d1bf..235b7d39f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_MULTIBAND -#define TRY_V2_0_STYLES_MULTIBAND +#ifndef TEST_V2_0_STYLES_MULTIBAND +#define TEST_V2_0_STYLES_MULTIBAND -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -122,12 +122,12 @@ class MultiBand : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/MultiBand/src/custom.hpp" + #include "test/v2.0/styles/MultiBand/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MultiBand } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/MultiBand/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup.hpp index c928dca05..f708f65a1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_MULTIGROUP -#define TRY_V2_0_STYLES_MULTIGROUP +#ifndef TEST_V2_0_STYLES_MULTIGROUP +#define TEST_V2_0_STYLES_MULTIGROUP -#include "try/v2.0/containers/Grid.hpp" +#include "test/v2.0/containers/Grid.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -104,12 +104,12 @@ class MultiGroup : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/MultiGroup/src/custom.hpp" + #include "test/v2.0/styles/MultiGroup/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MultiGroup } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/MultiGroup/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain.hpp index f50be687d..c16d23187 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_PROJECTILEENERGYDOMAIN -#define TRY_V2_0_STYLES_PROJECTILEENERGYDOMAIN +#ifndef TEST_V2_0_STYLES_PROJECTILEENERGYDOMAIN +#define TEST_V2_0_STYLES_PROJECTILEENERGYDOMAIN -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -113,12 +113,12 @@ class ProjectileEnergyDomain : public Component // Custom functionality // ------------------------ - #include "try/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp" + #include "test/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ProjectileEnergyDomain } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Realization.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Realization.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Realization.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Realization.hpp index 6c2053623..29fc5d6af 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Realization.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Realization.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_REALIZATION -#define TRY_V2_0_STYLES_REALIZATION +#ifndef TEST_V2_0_STYLES_REALIZATION +#define TEST_V2_0_STYLES_REALIZATION -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -116,12 +116,12 @@ class Realization : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Realization/src/custom.hpp" + #include "test/v2.0/styles/Realization/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Realization } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Realization/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Realization/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Realization/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Realization/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros.hpp index 8ff2ea656..fe8c28eca 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_SIGMAZEROS -#define TRY_V2_0_STYLES_SIGMAZEROS +#ifndef TEST_V2_0_STYLES_SIGMAZEROS +#define TEST_V2_0_STYLES_SIGMAZEROS -#include "try/v2.0/containers/Values.hpp" +#include "test/v2.0/containers/Values.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -104,12 +104,12 @@ class SigmaZeros : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/SigmaZeros/src/custom.hpp" + #include "test/v2.0/styles/SigmaZeros/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class SigmaZeros } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/SigmaZeros/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter.hpp index 78a4ba9d9..9d627bf0f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_SNELASTICUPSCATTER -#define TRY_V2_0_STYLES_SNELASTICUPSCATTER +#ifndef TEST_V2_0_STYLES_SNELASTICUPSCATTER +#define TEST_V2_0_STYLES_SNELASTICUPSCATTER -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -122,12 +122,12 @@ class SnElasticUpScatter : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/SnElasticUpScatter/src/custom.hpp" + #include "test/v2.0/styles/SnElasticUpScatter/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class SnElasticUpScatter } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/SnElasticUpScatter/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Styles.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Styles.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Styles.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Styles.hpp index 8c781f052..8164a3318 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Styles.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Styles.hpp @@ -2,22 +2,22 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_STYLES -#define TRY_V2_0_STYLES_STYLES - -#include "try/v2.0/styles/Evaluated.hpp" -#include "try/v2.0/styles/CrossSectionReconstructed.hpp" -#include "try/v2.0/styles/AngularDistributionReconstructed.hpp" -#include "try/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" -#include "try/v2.0/styles/Heated.hpp" -#include "try/v2.0/styles/AverageProductData.hpp" -#include "try/v2.0/styles/MonteCarlo_cdf.hpp" -#include "try/v2.0/styles/GriddedCrossSection.hpp" -#include "try/v2.0/styles/URR_probabilityTables.hpp" -#include "try/v2.0/styles/HeatedMultiGroup.hpp" -#include "try/v2.0/styles/SnElasticUpScatter.hpp" - -namespace try { +#ifndef TEST_V2_0_STYLES_STYLES +#define TEST_V2_0_STYLES_STYLES + +#include "test/v2.0/styles/Evaluated.hpp" +#include "test/v2.0/styles/CrossSectionReconstructed.hpp" +#include "test/v2.0/styles/AngularDistributionReconstructed.hpp" +#include "test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp" +#include "test/v2.0/styles/Heated.hpp" +#include "test/v2.0/styles/AverageProductData.hpp" +#include "test/v2.0/styles/MonteCarlo_cdf.hpp" +#include "test/v2.0/styles/GriddedCrossSection.hpp" +#include "test/v2.0/styles/URR_probabilityTables.hpp" +#include "test/v2.0/styles/HeatedMultiGroup.hpp" +#include "test/v2.0/styles/SnElasticUpScatter.hpp" + +namespace test { namespace v2_0 { namespace styles { @@ -165,12 +165,12 @@ class Styles : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Styles/src/custom.hpp" + #include "test/v2.0/styles/Styles/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Styles } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Styles/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Styles/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Styles/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Styles/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Temperature.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Temperature.hpp index 77b9db393..dcfb1af19 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Temperature.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_TEMPERATURE -#define TRY_V2_0_STYLES_TEMPERATURE +#ifndef TEST_V2_0_STYLES_TEMPERATURE +#define TEST_V2_0_STYLES_TEMPERATURE -#include "try/v2.0/documentation/Documentation.hpp" -#include "try/v2.0/pops/Uncertainty.hpp" +#include "test/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/pops/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -123,12 +123,12 @@ class Temperature : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Temperature/src/custom.hpp" + #include "test/v2.0/styles/Temperature/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Temperature } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Temperature/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Temperature/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Temperature/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Temperature/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportable.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Transportable.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Transportable.hpp index 5398fc1f0..24305f0a7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportable.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_TRANSPORTABLE -#define TRY_V2_0_STYLES_TRANSPORTABLE +#ifndef TEST_V2_0_STYLES_TRANSPORTABLE +#define TEST_V2_0_STYLES_TRANSPORTABLE -#include "try/v2.0/styles/MultiGroup.hpp" +#include "test/v2.0/styles/MultiGroup.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -116,12 +116,12 @@ class Transportable : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Transportable/src/custom.hpp" + #include "test/v2.0/styles/Transportable/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Transportable } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportable/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportable/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Transportable/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Transportable/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportables.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Transportables.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Transportables.hpp index 293610e6d..3834d4cac 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportables.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_TRANSPORTABLES -#define TRY_V2_0_STYLES_TRANSPORTABLES +#ifndef TEST_V2_0_STYLES_TRANSPORTABLES +#define TEST_V2_0_STYLES_TRANSPORTABLES -#include "try/v2.0/styles/Transportable.hpp" +#include "test/v2.0/styles/Transportable.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -104,12 +104,12 @@ class Transportables : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/Transportables/src/custom.hpp" + #include "test/v2.0/styles/Transportables/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Transportables } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/Transportables/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportables/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/Transportables/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/Transportables/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables.hpp index 82c9ed55b..21964c644 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_STYLES_URR_PROBABILITYTABLES -#define TRY_V2_0_STYLES_URR_PROBABILITYTABLES +#ifndef TEST_V2_0_STYLES_URR_PROBABILITYTABLES +#define TEST_V2_0_STYLES_URR_PROBABILITYTABLES -#include "try/v2.0/documentation/Documentation.hpp" +#include "test/v2.0/documentation/Documentation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace styles { @@ -116,12 +116,12 @@ class URR_probabilityTables : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/styles/URR_probabilityTables/src/custom.hpp" + #include "test/v2.0/styles/URR_probabilityTables/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class URR_probabilityTables } // namespace styles } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/styles/URR_probabilityTables/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/A.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/A.hpp index 2e831950b..76c43dbff 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/A.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/A.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_A -#define TRY_V2_0_TRANSPORT_A +#ifndef TEST_V2_0_TRANSPORT_A +#define TEST_V2_0_TRANSPORT_A -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -103,12 +103,12 @@ class A : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/A/src/custom.hpp" + #include "test/v2.0/transport/A/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class A } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/A/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/A/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/A/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/A/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Add.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Add.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Add.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Add.hpp index 8c4dc941c..9e91bd57f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Add.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Add.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_ADD -#define TRY_V2_0_TRANSPORT_ADD +#ifndef TEST_V2_0_TRANSPORT_ADD +#define TEST_V2_0_TRANSPORT_ADD -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class Add : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Add/src/custom.hpp" + #include "test/v2.0/transport/Add/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Add } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Add/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Add/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Add/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Add/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy.hpp index bad8c47ad..a260c230a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_ANGULARENERGY -#define TRY_V2_0_TRANSPORT_ANGULARENERGY +#ifndef TEST_V2_0_TRANSPORT_ANGULARENERGY +#define TEST_V2_0_TRANSPORT_ANGULARENERGY -#include "try/v2.0/containers/XYs3d.hpp" +#include "test/v2.0/containers/XYs3d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -110,12 +110,12 @@ class AngularEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/AngularEnergy/src/custom.hpp" + #include "test/v2.0/transport/AngularEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AngularEnergy } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/AngularEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody.hpp index 79c612d76..7d9a42755 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_ANGULARTWOBODY -#define TRY_V2_0_TRANSPORT_ANGULARTWOBODY +#ifndef TEST_V2_0_TRANSPORT_ANGULARTWOBODY +#define TEST_V2_0_TRANSPORT_ANGULARTWOBODY -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Regions2d.hpp" -#include "try/v2.0/transport/Isotropic2d.hpp" -#include "try/v2.0/transport/Recoil.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/transport/Isotropic2d.hpp" +#include "test/v2.0/transport/Recoil.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -131,12 +131,12 @@ class AngularTwoBody : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/AngularTwoBody/src/custom.hpp" + #include "test/v2.0/transport/AngularTwoBody/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class AngularTwoBody } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/AngularTwoBody/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated.hpp index 3952387f4..7ca428f85 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED -#define TRY_V2_0_TRANSPORT_ANGULAR_UNCORRELATED +#ifndef TEST_V2_0_TRANSPORT_ANGULAR_UNCORRELATED +#define TEST_V2_0_TRANSPORT_ANGULAR_UNCORRELATED -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/transport/Isotropic2d.hpp" -#include "try/v2.0/transport/Forward.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/transport/Isotropic2d.hpp" +#include "test/v2.0/transport/Forward.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -109,12 +109,12 @@ class Angular_uncorrelated : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Angular_uncorrelated/src/custom.hpp" + #include "test/v2.0/transport/Angular_uncorrelated/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Angular_uncorrelated } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Angular_uncorrelated/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Background.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Background.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Background.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Background.hpp index 1d55f8b41..14a2892e7 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Background.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Background.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_BACKGROUND -#define TRY_V2_0_TRANSPORT_BACKGROUND +#ifndef TEST_V2_0_TRANSPORT_BACKGROUND +#define TEST_V2_0_TRANSPORT_BACKGROUND -#include "try/v2.0/transport/ResolvedRegion.hpp" -#include "try/v2.0/transport/UnresolvedRegion.hpp" -#include "try/v2.0/transport/FastRegion.hpp" +#include "test/v2.0/transport/ResolvedRegion.hpp" +#include "test/v2.0/transport/UnresolvedRegion.hpp" +#include "test/v2.0/transport/FastRegion.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -109,12 +109,12 @@ class Background : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Background/src/custom.hpp" + #include "test/v2.0/transport/Background/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Background } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Background/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Background/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Background/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Background/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d.hpp index 24112cd4b..df205e2a2 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_BRANCHING1D -#define TRY_V2_0_TRANSPORT_BRANCHING1D +#ifndef TEST_V2_0_TRANSPORT_BRANCHING1D +#define TEST_V2_0_TRANSPORT_BRANCHING1D -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class Branching1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Branching1d/src/custom.hpp" + #include "test/v2.0/transport/Branching1d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Branching1d } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Branching1d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d.hpp index d4aaac7b8..ce8a069ef 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_BRANCHING3D -#define TRY_V2_0_TRANSPORT_BRANCHING3D +#ifndef TEST_V2_0_TRANSPORT_BRANCHING3D +#define TEST_V2_0_TRANSPORT_BRANCHING3D -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -101,12 +101,12 @@ class Branching3d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Branching3d/src/custom.hpp" + #include "test/v2.0/transport/Branching3d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Branching3d } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Branching3d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton.hpp index 3285b38ba..3db95ad2b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_COHERENTPHOTON -#define TRY_V2_0_TRANSPORT_COHERENTPHOTON +#ifndef TEST_V2_0_TRANSPORT_COHERENTPHOTON +#define TEST_V2_0_TRANSPORT_COHERENTPHOTON -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -84,12 +84,12 @@ class CoherentPhoton : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/CoherentPhoton/src/custom.hpp" + #include "test/v2.0/transport/CoherentPhoton/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CoherentPhoton } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/CoherentPhoton/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp index 180cda90d..df9943322 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp @@ -2,20 +2,20 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_CROSSSECTION -#define TRY_V2_0_TRANSPORT_CROSSSECTION - -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" -#include "try/v2.0/transport/ResonancesWithBackground.hpp" -#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" -#include "try/v2.0/transport/Reference.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" -#include "try/v2.0/containers/Ys1d.hpp" -#include "try/v2.0/transport/URR_probabilityTables1d.hpp" - -namespace try { +#ifndef TEST_V2_0_TRANSPORT_CROSSSECTION +#define TEST_V2_0_TRANSPORT_CROSSSECTION + +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/transport/ResonancesWithBackground.hpp" +#include "test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" +#include "test/v2.0/transport/Reference.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/Ys1d.hpp" +#include "test/v2.0/transport/URR_probabilityTables1d.hpp" + +namespace test { namespace v2_0 { namespace transport { @@ -133,12 +133,12 @@ class CrossSection : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/CrossSection/src/custom.hpp" + #include "test/v2.0/transport/CrossSection/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CrossSection } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/CrossSection/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum.hpp index e44480780..5391ab765 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_CROSSSECTIONSUM -#define TRY_V2_0_TRANSPORT_CROSSSECTIONSUM +#ifndef TEST_V2_0_TRANSPORT_CROSSSECTIONSUM +#define TEST_V2_0_TRANSPORT_CROSSSECTIONSUM -#include "try/v2.0/common/Q.hpp" -#include "try/v2.0/transport/CrossSection.hpp" -#include "try/v2.0/transport/Summands.hpp" +#include "test/v2.0/common/Q.hpp" +#include "test/v2.0/transport/CrossSection.hpp" +#include "test/v2.0/transport/Summands.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -124,12 +124,12 @@ class CrossSectionSum : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/CrossSectionSum/src/custom.hpp" + #include "test/v2.0/transport/CrossSectionSum/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CrossSectionSum } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSum/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums.hpp index 34e4ed464..a8502c2f1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_CROSSSECTIONSUMS -#define TRY_V2_0_TRANSPORT_CROSSSECTIONSUMS +#ifndef TEST_V2_0_TRANSPORT_CROSSSECTIONSUMS +#define TEST_V2_0_TRANSPORT_CROSSSECTIONSUMS -#include "try/v2.0/transport/CrossSectionSum.hpp" +#include "test/v2.0/transport/CrossSectionSum.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class CrossSectionSums : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/CrossSectionSums/src/custom.hpp" + #include "test/v2.0/transport/CrossSectionSums/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CrossSectionSums } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/CrossSectionSums/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma.hpp index 5846d2303..2c441163d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_DISCRETEGAMMA -#define TRY_V2_0_TRANSPORT_DISCRETEGAMMA +#ifndef TEST_V2_0_TRANSPORT_DISCRETEGAMMA +#define TEST_V2_0_TRANSPORT_DISCRETEGAMMA -#include "try/v2.0/containers/Axes.hpp" +#include "test/v2.0/containers/Axes.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -116,12 +116,12 @@ class DiscreteGamma : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/DiscreteGamma/src/custom.hpp" + #include "test/v2.0/transport/DiscreteGamma/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DiscreteGamma } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/DiscreteGamma/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Distribution.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp index 0e1a89a23..fec59be28 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp @@ -2,26 +2,26 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_DISTRIBUTION -#define TRY_V2_0_TRANSPORT_DISTRIBUTION - -#include "try/v2.0/transport/AngularTwoBody.hpp" -#include "try/v2.0/transport/Uncorrelated.hpp" -#include "try/v2.0/transport/AngularEnergy.hpp" -#include "try/v2.0/transport/EnergyAngular.hpp" -#include "try/v2.0/transport/KalbachMann.hpp" -#include "try/v2.0/transport/Reference.hpp" -#include "try/v2.0/transport/Branching3d.hpp" -#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" -#include "try/v2.0/atomic/CoherentPhotonScattering.hpp" -#include "try/v2.0/atomic/IncoherentPhotonScattering.hpp" -#include "try/v2.0/transport/Unspecified.hpp" -#include "try/v2.0/transport/MultiGroup3d.hpp" -#include "try/v2.0/processed/AngularEnergyMC.hpp" -#include "try/v2.0/processed/EnergyAngularMC.hpp" - -namespace try { +#ifndef TEST_V2_0_TRANSPORT_DISTRIBUTION +#define TEST_V2_0_TRANSPORT_DISTRIBUTION + +#include "test/v2.0/transport/AngularTwoBody.hpp" +#include "test/v2.0/transport/Uncorrelated.hpp" +#include "test/v2.0/transport/AngularEnergy.hpp" +#include "test/v2.0/transport/EnergyAngular.hpp" +#include "test/v2.0/transport/KalbachMann.hpp" +#include "test/v2.0/transport/Reference.hpp" +#include "test/v2.0/transport/Branching3d.hpp" +#include "test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" +#include "test/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "test/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "test/v2.0/transport/Unspecified.hpp" +#include "test/v2.0/transport/MultiGroup3d.hpp" +#include "test/v2.0/processed/AngularEnergyMC.hpp" +#include "test/v2.0/processed/EnergyAngularMC.hpp" + +namespace test { namespace v2_0 { namespace transport { @@ -142,12 +142,12 @@ class Distribution : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Distribution/src/custom.hpp" + #include "test/v2.0/transport/Distribution/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Distribution } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Distribution/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Distribution/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Distribution/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/DoubleDifferentialCrossSection.hpp similarity index 88% rename from standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/DoubleDifferentialCrossSection.hpp index b05ad30cb..5787718a0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/DoubleDifferentialCrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/DoubleDifferentialCrossSection.hpp @@ -2,20 +2,20 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION -#define TRY_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION - -#include "try/v2.0/containers/Regions3d.hpp" -#include "try/v2.0/containers/XYs3d.hpp" -#include "try/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" -#include "try/v2.0/transport/Reference.hpp" -#include "try/v2.0/atomic/CoherentPhotonScattering.hpp" -#include "try/v2.0/atomic/IncoherentPhotonScattering.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" -#include "try/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" - -namespace try { +#ifndef TEST_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION +#define TEST_V2_0_TRANSPORT_DOUBLEDIFFERENTIALCROSSSECTION + +#include "test/v2.0/containers/Regions3d.hpp" +#include "test/v2.0/containers/XYs3d.hpp" +#include "test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" +#include "test/v2.0/transport/Reference.hpp" +#include "test/v2.0/atomic/CoherentPhotonScattering.hpp" +#include "test/v2.0/atomic/IncoherentPhotonScattering.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.hpp" +#include "test/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.hpp" + +namespace test { namespace v2_0 { namespace transport { @@ -151,12 +151,12 @@ class DoubleDifferentialCrossSection : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/EnergyAngular/src/custom.hpp" + #include "test/v2.0/transport/EnergyAngular/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EnergyAngular } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/EnergyAngular/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/EnergyAngular/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/EnergyAngular/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated.hpp similarity index 88% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated.hpp index 08d01dbf7..cd28a066a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated.hpp @@ -2,22 +2,22 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED -#define TRY_V2_0_TRANSPORT_ENERGY_UNCORRELATED - -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Regions2d.hpp" -#include "try/v2.0/transport/GeneralEvaporation.hpp" -#include "try/v2.0/transport/DiscreteGamma.hpp" -#include "try/v2.0/transport/PrimaryGamma.hpp" -#include "try/v2.0/transport/NBodyPhaseSpace.hpp" -#include "try/v2.0/transport/Evaporation.hpp" -#include "try/v2.0/transport/WeightedFunctionals.hpp" -#include "try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" -#include "try/v2.0/fissionTransport/Watt.hpp" -#include "try/v2.0/fissionTransport/MadlandNix.hpp" - -namespace try { +#ifndef TEST_V2_0_TRANSPORT_ENERGY_UNCORRELATED +#define TEST_V2_0_TRANSPORT_ENERGY_UNCORRELATED + +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/transport/GeneralEvaporation.hpp" +#include "test/v2.0/transport/DiscreteGamma.hpp" +#include "test/v2.0/transport/PrimaryGamma.hpp" +#include "test/v2.0/transport/NBodyPhaseSpace.hpp" +#include "test/v2.0/transport/Evaporation.hpp" +#include "test/v2.0/transport/WeightedFunctionals.hpp" +#include "test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "test/v2.0/fissionTransport/Watt.hpp" +#include "test/v2.0/fissionTransport/MadlandNix.hpp" + +namespace test { namespace v2_0 { namespace transport { @@ -165,12 +165,12 @@ class Energy_uncorrelated : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Energy_uncorrelated/src/custom.hpp" + #include "test/v2.0/transport/Energy_uncorrelated/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Energy_uncorrelated } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Energy_uncorrelated/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation.hpp index 577515b21..8ba563a5a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_EVAPORATION -#define TRY_V2_0_TRANSPORT_EVAPORATION +#ifndef TEST_V2_0_TRANSPORT_EVAPORATION +#define TEST_V2_0_TRANSPORT_EVAPORATION -#include "try/v2.0/transport/U.hpp" -#include "try/v2.0/transport/Theta.hpp" +#include "test/v2.0/transport/U.hpp" +#include "test/v2.0/transport/Theta.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -102,12 +102,12 @@ class Evaporation : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Evaporation/src/custom.hpp" + #include "test/v2.0/transport/Evaporation/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Evaporation } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Evaporation/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/F.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/F.hpp index ea5f9044a..b99155dd8 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/F.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/F.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_F -#define TRY_V2_0_TRANSPORT_F +#ifndef TEST_V2_0_TRANSPORT_F +#define TEST_V2_0_TRANSPORT_F -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -103,12 +103,12 @@ class F : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/F/src/custom.hpp" + #include "test/v2.0/transport/F/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class F } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/F/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/F/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/F/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/F/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion.hpp index 9dcbeb1c4..7d97bfeec 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_FASTREGION -#define TRY_V2_0_TRANSPORT_FASTREGION +#ifndef TEST_V2_0_TRANSPORT_FASTREGION +#define TEST_V2_0_TRANSPORT_FASTREGION -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -103,12 +103,12 @@ class FastRegion : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/FastRegion/src/custom.hpp" + #include "test/v2.0/transport/FastRegion/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class FastRegion } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/FastRegion/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Forward.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Forward.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Forward.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Forward.hpp index 911659ef2..85e98683d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Forward.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Forward.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_FORWARD -#define TRY_V2_0_TRANSPORT_FORWARD +#ifndef TEST_V2_0_TRANSPORT_FORWARD +#define TEST_V2_0_TRANSPORT_FORWARD -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -84,12 +84,12 @@ class Forward : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Forward/src/custom.hpp" + #include "test/v2.0/transport/Forward/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Forward } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Forward/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Forward/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Forward/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Forward/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/G.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/G.hpp index 7296ea94c..1403607af 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/G.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/G.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_G -#define TRY_V2_0_TRANSPORT_G +#ifndef TEST_V2_0_TRANSPORT_G +#define TEST_V2_0_TRANSPORT_G -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -102,12 +102,12 @@ class G : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/G/src/custom.hpp" + #include "test/v2.0/transport/G/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class G } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/G/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/G/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/G/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/G/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation.hpp index 9a55bf83e..c839757c1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_GENERALEVAPORATION -#define TRY_V2_0_TRANSPORT_GENERALEVAPORATION +#ifndef TEST_V2_0_TRANSPORT_GENERALEVAPORATION +#define TEST_V2_0_TRANSPORT_GENERALEVAPORATION -#include "try/v2.0/transport/U.hpp" -#include "try/v2.0/transport/G.hpp" -#include "try/v2.0/transport/Theta.hpp" +#include "test/v2.0/transport/U.hpp" +#include "test/v2.0/transport/G.hpp" +#include "test/v2.0/transport/Theta.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -109,12 +109,12 @@ class GeneralEvaporation : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/GeneralEvaporation/src/custom.hpp" + #include "test/v2.0/transport/GeneralEvaporation/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class GeneralEvaporation } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/GeneralEvaporation/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton.hpp index d6d2e0638..a429240d0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_INCOHERENTPHOTON -#define TRY_V2_0_TRANSPORT_INCOHERENTPHOTON +#ifndef TEST_V2_0_TRANSPORT_INCOHERENTPHOTON +#define TEST_V2_0_TRANSPORT_INCOHERENTPHOTON -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -84,12 +84,12 @@ class IncoherentPhoton : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/IncoherentPhoton/src/custom.hpp" + #include "test/v2.0/transport/IncoherentPhoton/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class IncoherentPhoton } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/IncoherentPhoton/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions.hpp index ecfd79b72..226bb202c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_INCOMPLETEREACTIONS -#define TRY_V2_0_TRANSPORT_INCOMPLETEREACTIONS +#ifndef TEST_V2_0_TRANSPORT_INCOMPLETEREACTIONS +#define TEST_V2_0_TRANSPORT_INCOMPLETEREACTIONS -#include "try/v2.0/transport/Reaction.hpp" +#include "test/v2.0/transport/Reaction.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class IncompleteReactions : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/IncompleteReactions/src/custom.hpp" + #include "test/v2.0/transport/IncompleteReactions/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class IncompleteReactions } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/IncompleteReactions/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d.hpp index f12a06ddd..8aab4b351 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_ISOTROPIC2D -#define TRY_V2_0_TRANSPORT_ISOTROPIC2D +#ifndef TEST_V2_0_TRANSPORT_ISOTROPIC2D +#define TEST_V2_0_TRANSPORT_ISOTROPIC2D -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -84,12 +84,12 @@ class Isotropic2d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Isotropic2d/src/custom.hpp" + #include "test/v2.0/transport/Isotropic2d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Isotropic2d } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Isotropic2d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann.hpp index 64f6352cb..61261922c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_KALBACHMANN -#define TRY_V2_0_TRANSPORT_KALBACHMANN +#ifndef TEST_V2_0_TRANSPORT_KALBACHMANN +#define TEST_V2_0_TRANSPORT_KALBACHMANN -#include "try/v2.0/transport/F.hpp" -#include "try/v2.0/transport/R.hpp" -#include "try/v2.0/transport/A.hpp" +#include "test/v2.0/transport/F.hpp" +#include "test/v2.0/transport/R.hpp" +#include "test/v2.0/transport/A.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -124,12 +124,12 @@ class KalbachMann : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/KalbachMann/src/custom.hpp" + #include "test/v2.0/transport/KalbachMann/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class KalbachMann } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/KalbachMann/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d.hpp index 84b1d1e8c..8459e30c0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_MULTIGROUP3D -#define TRY_V2_0_TRANSPORT_MULTIGROUP3D +#ifndef TEST_V2_0_TRANSPORT_MULTIGROUP3D +#define TEST_V2_0_TRANSPORT_MULTIGROUP3D -#include "try/v2.0/containers/Gridded3d.hpp" +#include "test/v2.0/containers/Gridded3d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -110,12 +110,12 @@ class MultiGroup3d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/MultiGroup3d/src/custom.hpp" + #include "test/v2.0/transport/MultiGroup3d/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MultiGroup3d } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/MultiGroup3d/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity.hpp similarity index 89% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity.hpp index fa535bfc9..9f17ff057 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity.hpp @@ -2,18 +2,18 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_MULTIPLICITY -#define TRY_V2_0_TRANSPORT_MULTIPLICITY - -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Constant1d.hpp" -#include "try/v2.0/containers/Polynomial1d.hpp" -#include "try/v2.0/transport/Branching1d.hpp" -#include "try/v2.0/transport/Reference.hpp" -#include "try/v2.0/containers/Gridded1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" - -namespace try { +#ifndef TEST_V2_0_TRANSPORT_MULTIPLICITY +#define TEST_V2_0_TRANSPORT_MULTIPLICITY + +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Constant1d.hpp" +#include "test/v2.0/containers/Polynomial1d.hpp" +#include "test/v2.0/transport/Branching1d.hpp" +#include "test/v2.0/transport/Reference.hpp" +#include "test/v2.0/containers/Gridded1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" + +namespace test { namespace v2_0 { namespace transport { @@ -118,12 +118,12 @@ class Multiplicity : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Multiplicity/src/custom.hpp" + #include "test/v2.0/transport/Multiplicity/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Multiplicity } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Multiplicity/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum.hpp index 24ffd93e0..e34db6fc0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_MULTIPLICITYSUM -#define TRY_V2_0_TRANSPORT_MULTIPLICITYSUM +#ifndef TEST_V2_0_TRANSPORT_MULTIPLICITYSUM +#define TEST_V2_0_TRANSPORT_MULTIPLICITYSUM -#include "try/v2.0/transport/Multiplicity.hpp" -#include "try/v2.0/transport/Summands.hpp" +#include "test/v2.0/transport/Multiplicity.hpp" +#include "test/v2.0/transport/Summands.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -117,12 +117,12 @@ class MultiplicitySum : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/MultiplicitySum/src/custom.hpp" + #include "test/v2.0/transport/MultiplicitySum/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MultiplicitySum } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySum/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums.hpp index 0302b5876..1bfcbeb2e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_MULTIPLICITYSUMS -#define TRY_V2_0_TRANSPORT_MULTIPLICITYSUMS +#ifndef TEST_V2_0_TRANSPORT_MULTIPLICITYSUMS +#define TEST_V2_0_TRANSPORT_MULTIPLICITYSUMS -#include "try/v2.0/transport/MultiplicitySum.hpp" +#include "test/v2.0/transport/MultiplicitySum.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class MultiplicitySums : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/MultiplicitySums/src/custom.hpp" + #include "test/v2.0/transport/MultiplicitySums/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class MultiplicitySums } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/MultiplicitySums/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace.hpp index 7d553738a..8ec0f9d0c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_NBODYPHASESPACE -#define TRY_V2_0_TRANSPORT_NBODYPHASESPACE +#ifndef TEST_V2_0_TRANSPORT_NBODYPHASESPACE +#define TEST_V2_0_TRANSPORT_NBODYPHASESPACE -#include "try/v2.0/tsl/Mass.hpp" +#include "test/v2.0/tsl/Mass.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -104,12 +104,12 @@ class NBodyPhaseSpace : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/NBodyPhaseSpace/src/custom.hpp" + #include "test/v2.0/transport/NBodyPhaseSpace/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class NBodyPhaseSpace } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/NBodyPhaseSpace/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct.hpp index 4bf5fd9df..03235c386 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_ORPHANPRODUCT -#define TRY_V2_0_TRANSPORT_ORPHANPRODUCT +#ifndef TEST_V2_0_TRANSPORT_ORPHANPRODUCT +#define TEST_V2_0_TRANSPORT_ORPHANPRODUCT -#include "try/v2.0/transport/CrossSection.hpp" -#include "try/v2.0/transport/OutputChannel.hpp" +#include "test/v2.0/transport/CrossSection.hpp" +#include "test/v2.0/transport/OutputChannel.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -117,12 +117,12 @@ class OrphanProduct : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/OrphanProduct/src/custom.hpp" + #include "test/v2.0/transport/OrphanProduct/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class OrphanProduct } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProduct/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts.hpp index 2c6142207..14a088ce0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_ORPHANPRODUCTS -#define TRY_V2_0_TRANSPORT_ORPHANPRODUCTS +#ifndef TEST_V2_0_TRANSPORT_ORPHANPRODUCTS +#define TEST_V2_0_TRANSPORT_ORPHANPRODUCTS -#include "try/v2.0/transport/OrphanProduct.hpp" +#include "test/v2.0/transport/OrphanProduct.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class OrphanProducts : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/OrphanProducts/src/custom.hpp" + #include "test/v2.0/transport/OrphanProducts/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class OrphanProducts } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/OrphanProducts/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel.hpp index 96bc27a1d..825a30fdb 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_OUTPUTCHANNEL -#define TRY_V2_0_TRANSPORT_OUTPUTCHANNEL +#ifndef TEST_V2_0_TRANSPORT_OUTPUTCHANNEL +#define TEST_V2_0_TRANSPORT_OUTPUTCHANNEL -#include "try/v2.0/common/Q.hpp" -#include "try/v2.0/common/Products.hpp" -#include "try/v2.0/fissionFragmentData/FissionFragmentData.hpp" +#include "test/v2.0/common/Q.hpp" +#include "test/v2.0/common/Products.hpp" +#include "test/v2.0/fissionFragmentData/FissionFragmentData.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -124,12 +124,12 @@ class OutputChannel : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/OutputChannel/src/custom.hpp" + #include "test/v2.0/transport/OutputChannel/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class OutputChannel } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/OutputChannel/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/PhotonEmissionProbabilities.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/PhotonEmissionProbabilities.hpp index 6c17cf8f8..1b7ba80e6 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/PhotonEmissionProbabilities.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/PhotonEmissionProbabilities.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES -#define TRY_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES +#ifndef TEST_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES +#define TEST_V2_0_TRANSPORT_PHOTONEMISSIONPROBABILITIES -#include "try/v2.0/pops/Shell.hpp" +#include "test/v2.0/pops/Shell.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class PhotonEmissionProbabilities : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/PrimaryGamma/src/custom.hpp" + #include "test/v2.0/transport/PrimaryGamma/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class PrimaryGamma } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/PrimaryGamma/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/PrimaryGamma/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/PrimaryGamma/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Production.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Production.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Production.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Production.hpp index 2b5528e4e..82994da3e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Production.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Production.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_PRODUCTION -#define TRY_V2_0_TRANSPORT_PRODUCTION +#ifndef TEST_V2_0_TRANSPORT_PRODUCTION +#define TEST_V2_0_TRANSPORT_PRODUCTION -#include "try/v2.0/transport/CrossSection.hpp" -#include "try/v2.0/transport/OutputChannel.hpp" +#include "test/v2.0/transport/CrossSection.hpp" +#include "test/v2.0/transport/OutputChannel.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -117,12 +117,12 @@ class Production : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Production/src/custom.hpp" + #include "test/v2.0/transport/Production/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Production } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Production/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Production/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Production/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Production/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Productions.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Productions.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Productions.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Productions.hpp index cd942e9a4..cd8423373 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Productions.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Productions.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_PRODUCTIONS -#define TRY_V2_0_TRANSPORT_PRODUCTIONS +#ifndef TEST_V2_0_TRANSPORT_PRODUCTIONS +#define TEST_V2_0_TRANSPORT_PRODUCTIONS -#include "try/v2.0/transport/Production.hpp" +#include "test/v2.0/transport/Production.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class Productions : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Productions/src/custom.hpp" + #include "test/v2.0/transport/Productions/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Productions } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Productions/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Productions/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Productions/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Productions/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/R.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/R.hpp index a7a7363f9..3568a1395 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/R.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/R.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_R -#define TRY_V2_0_TRANSPORT_R +#ifndef TEST_V2_0_TRANSPORT_R +#define TEST_V2_0_TRANSPORT_R -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -103,12 +103,12 @@ class R : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/R/src/custom.hpp" + #include "test/v2.0/transport/R/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class R } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/R/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/R/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/R/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/R/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reaction.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Reaction.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Reaction.hpp index e0588f61f..25f3ad61e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Reaction.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_REACTION -#define TRY_V2_0_TRANSPORT_REACTION +#ifndef TEST_V2_0_TRANSPORT_REACTION +#define TEST_V2_0_TRANSPORT_REACTION -#include "try/v2.0/transport/DoubleDifferentialCrossSection.hpp" -#include "try/v2.0/transport/CrossSection.hpp" -#include "try/v2.0/transport/OutputChannel.hpp" +#include "test/v2.0/transport/DoubleDifferentialCrossSection.hpp" +#include "test/v2.0/transport/CrossSection.hpp" +#include "test/v2.0/transport/OutputChannel.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -130,12 +130,12 @@ class Reaction : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Reaction/src/custom.hpp" + #include "test/v2.0/transport/Reaction/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Reaction } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reaction/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reaction/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Reaction/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Reaction/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite.hpp index 981d67211..18912edae 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite.hpp @@ -2,22 +2,22 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_REACTIONSUITE -#define TRY_V2_0_TRANSPORT_REACTIONSUITE - -#include "try/v2.0/common/ExternalFiles.hpp" -#include "try/v2.0/styles/Styles.hpp" -#include "try/v2.0/pops/PoPs_database.hpp" -#include "try/v2.0/resonances/Resonances.hpp" -#include "try/v2.0/transport/Reactions.hpp" -#include "try/v2.0/transport/OrphanProducts.hpp" -#include "try/v2.0/transport/Sums.hpp" -#include "try/v2.0/fissionTransport/FissionComponents.hpp" -#include "try/v2.0/transport/Productions.hpp" -#include "try/v2.0/transport/IncompleteReactions.hpp" -#include "try/v2.0/appData/ApplicationData.hpp" - -namespace try { +#ifndef TEST_V2_0_TRANSPORT_REACTIONSUITE +#define TEST_V2_0_TRANSPORT_REACTIONSUITE + +#include "test/v2.0/common/ExternalFiles.hpp" +#include "test/v2.0/styles/Styles.hpp" +#include "test/v2.0/pops/PoPs_database.hpp" +#include "test/v2.0/resonances/Resonances.hpp" +#include "test/v2.0/transport/Reactions.hpp" +#include "test/v2.0/transport/OrphanProducts.hpp" +#include "test/v2.0/transport/Sums.hpp" +#include "test/v2.0/fissionTransport/FissionComponents.hpp" +#include "test/v2.0/transport/Productions.hpp" +#include "test/v2.0/transport/IncompleteReactions.hpp" +#include "test/v2.0/appData/ApplicationData.hpp" + +namespace test { namespace v2_0 { namespace transport { @@ -204,12 +204,12 @@ class ReactionSuite : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/ReactionSuite/src/custom.hpp" + #include "test/v2.0/transport/ReactionSuite/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ReactionSuite } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/ReactionSuite/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reactions.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Reactions.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Reactions.hpp index 6fa241327..eed437433 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Reactions.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_REACTIONS -#define TRY_V2_0_TRANSPORT_REACTIONS +#ifndef TEST_V2_0_TRANSPORT_REACTIONS +#define TEST_V2_0_TRANSPORT_REACTIONS -#include "try/v2.0/transport/Reaction.hpp" +#include "test/v2.0/transport/Reaction.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class Reactions : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Reactions/src/custom.hpp" + #include "test/v2.0/transport/Reactions/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Reactions } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reactions/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reactions/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Reactions/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Reactions/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Recoil.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Recoil.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Recoil.hpp index 504f389e4..1fdacf934 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Recoil.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_RECOIL -#define TRY_V2_0_TRANSPORT_RECOIL +#ifndef TEST_V2_0_TRANSPORT_RECOIL +#define TEST_V2_0_TRANSPORT_RECOIL -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class Recoil : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Recoil/src/custom.hpp" + #include "test/v2.0/transport/Recoil/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Recoil } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Recoil/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Recoil/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Recoil/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Recoil/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reference.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reference.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Reference.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Reference.hpp index 7711c2761..aabd1cfd3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Reference.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Reference.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_REFERENCE -#define TRY_V2_0_TRANSPORT_REFERENCE +#ifndef TEST_V2_0_TRANSPORT_REFERENCE +#define TEST_V2_0_TRANSPORT_REFERENCE -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -101,12 +101,12 @@ class Reference : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Reference/src/custom.hpp" + #include "test/v2.0/transport/Reference/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Reference } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Reference/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reference/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Reference/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Reference/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion.hpp index 9c2d2241f..1bec650da 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_RESOLVEDREGION -#define TRY_V2_0_TRANSPORT_RESOLVEDREGION +#ifndef TEST_V2_0_TRANSPORT_RESOLVEDREGION +#define TEST_V2_0_TRANSPORT_RESOLVEDREGION -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -103,12 +103,12 @@ class ResolvedRegion : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/ResolvedRegion/src/custom.hpp" + #include "test/v2.0/transport/ResolvedRegion/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ResolvedRegion } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/ResolvedRegion/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink.hpp index a4cfbcbfe..cead1a3c3 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_RESONANCESLINK -#define TRY_V2_0_TRANSPORT_RESONANCESLINK +#ifndef TEST_V2_0_TRANSPORT_RESONANCESLINK +#define TEST_V2_0_TRANSPORT_RESONANCESLINK -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -101,12 +101,12 @@ class ResonancesLink : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/ResonancesLink/src/custom.hpp" + #include "test/v2.0/transport/ResonancesLink/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ResonancesLink } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesLink/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesWithBackground.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesWithBackground.hpp index 072680493..b196e6014 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/ResonancesWithBackground.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesWithBackground.hpp @@ -2,14 +2,14 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND -#define TRY_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND +#ifndef TEST_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND +#define TEST_V2_0_TRANSPORT_RESONANCESWITHBACKGROUND -#include "try/v2.0/transport/ResonancesLink.hpp" -#include "try/v2.0/transport/Background.hpp" -#include "try/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/transport/ResonancesLink.hpp" +#include "test/v2.0/transport/Background.hpp" +#include "test/v2.0/containers/Uncertainty.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -118,12 +118,12 @@ class ResonancesWithBackground : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Summands/src/custom.hpp" + #include "test/v2.0/transport/Summands/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Summands } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Summands/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Summands/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Summands/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Summands/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Sums.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Sums.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Sums.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Sums.hpp index 0e57d49e5..d50ff42a0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Sums.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Sums.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_SUMS -#define TRY_V2_0_TRANSPORT_SUMS +#ifndef TEST_V2_0_TRANSPORT_SUMS +#define TEST_V2_0_TRANSPORT_SUMS -#include "try/v2.0/transport/CrossSectionSums.hpp" -#include "try/v2.0/transport/MultiplicitySums.hpp" +#include "test/v2.0/transport/CrossSectionSums.hpp" +#include "test/v2.0/transport/MultiplicitySums.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -102,12 +102,12 @@ class Sums : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Sums/src/custom.hpp" + #include "test/v2.0/transport/Sums/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Sums } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Sums/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Sums/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Sums/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Sums/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Theta.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Theta.hpp index 4b849cc74..aeb4683a1 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Theta.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Theta.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_THETA -#define TRY_V2_0_TRANSPORT_THETA +#ifndef TEST_V2_0_TRANSPORT_THETA +#define TEST_V2_0_TRANSPORT_THETA -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -102,12 +102,12 @@ class Theta : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Theta/src/custom.hpp" + #include "test/v2.0/transport/Theta/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Theta } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Theta/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Theta/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Theta/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Theta/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/U.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/U.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/transport/U.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/U.hpp index ecde56afc..8cea485d0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/U.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/U.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_U -#define TRY_V2_0_TRANSPORT_U +#ifndef TEST_V2_0_TRANSPORT_U +#define TEST_V2_0_TRANSPORT_U -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -101,12 +101,12 @@ class U : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/U/src/custom.hpp" + #include "test/v2.0/transport/U/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class U } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/U/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/U/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/U/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/U/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/URR_probabilityTables1d.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/URR_probabilityTables1d.hpp index 62d9bc40b..562bf12e4 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/URR_probabilityTables1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/URR_probabilityTables1d.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D -#define TRY_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D +#ifndef TEST_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D +#define TEST_V2_0_TRANSPORT_URR_PROBABILITYTABLES1D -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/containers/Regions2d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/containers/Regions2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -112,12 +112,12 @@ class URR_probabilityTables1d : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Uncorrelated/src/custom.hpp" + #include "test/v2.0/transport/Uncorrelated/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Uncorrelated } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Uncorrelated/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Uncorrelated/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Uncorrelated/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion.hpp index 40dd27cba..5eacc36e0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_UNRESOLVEDREGION -#define TRY_V2_0_TRANSPORT_UNRESOLVEDREGION +#ifndef TEST_V2_0_TRANSPORT_UNRESOLVEDREGION +#define TEST_V2_0_TRANSPORT_UNRESOLVEDREGION -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/Regions1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/Regions1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -103,12 +103,12 @@ class UnresolvedRegion : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/UnresolvedRegion/src/custom.hpp" + #include "test/v2.0/transport/UnresolvedRegion/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class UnresolvedRegion } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/UnresolvedRegion/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified.hpp index 1189574b1..ea1496aef 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_UNSPECIFIED -#define TRY_V2_0_TRANSPORT_UNSPECIFIED +#ifndef TEST_V2_0_TRANSPORT_UNSPECIFIED +#define TEST_V2_0_TRANSPORT_UNSPECIFIED -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -101,12 +101,12 @@ class Unspecified : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Unspecified/src/custom.hpp" + #include "test/v2.0/transport/Unspecified/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Unspecified } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Unspecified/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Weighted.hpp similarity index 88% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Weighted.hpp index 396069476..2fee2f79f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Weighted.hpp @@ -2,18 +2,18 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_WEIGHTED -#define TRY_V2_0_TRANSPORT_WEIGHTED - -#include "try/v2.0/containers/XYs1d.hpp" -#include "try/v2.0/containers/XYs2d.hpp" -#include "try/v2.0/transport/Evaporation.hpp" -#include "try/v2.0/transport/GeneralEvaporation.hpp" -#include "try/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" -#include "try/v2.0/fissionTransport/Watt.hpp" -#include "try/v2.0/fissionTransport/MadlandNix.hpp" - -namespace try { +#ifndef TEST_V2_0_TRANSPORT_WEIGHTED +#define TEST_V2_0_TRANSPORT_WEIGHTED + +#include "test/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/XYs2d.hpp" +#include "test/v2.0/transport/Evaporation.hpp" +#include "test/v2.0/transport/GeneralEvaporation.hpp" +#include "test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp" +#include "test/v2.0/fissionTransport/Watt.hpp" +#include "test/v2.0/fissionTransport/MadlandNix.hpp" + +namespace test { namespace v2_0 { namespace transport { @@ -137,12 +137,12 @@ class Weighted : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/Weighted/src/custom.hpp" + #include "test/v2.0/transport/Weighted/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Weighted } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/Weighted/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Weighted/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/Weighted/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/Weighted/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals.hpp index e0a32f23d..c349a7d4f 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS -#define TRY_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS +#ifndef TEST_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS +#define TEST_V2_0_TRANSPORT_WEIGHTEDFUNCTIONALS -#include "try/v2.0/transport/Weighted.hpp" +#include "test/v2.0/transport/Weighted.hpp" -namespace try { +namespace test { namespace v2_0 { namespace transport { @@ -95,12 +95,12 @@ class WeightedFunctionals : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/transport/WeightedFunctionals/src/custom.hpp" + #include "test/v2.0/transport/WeightedFunctionals/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class WeightedFunctionals } // namespace transport } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/transport/WeightedFunctionals/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection.hpp index e278a373f..2549e4414 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_BOUNDATOMCROSSSECTION -#define TRY_V2_0_TSL_BOUNDATOMCROSSSECTION +#ifndef TEST_V2_0_TSL_BOUNDATOMCROSSSECTION +#define TEST_V2_0_TSL_BOUNDATOMCROSSSECTION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -101,12 +101,12 @@ class BoundAtomCrossSection : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp" + #include "test/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class BoundAtomCrossSection } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge.hpp index 5069d047b..d386d8208 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_BRAGGEDGE -#define TRY_V2_0_TSL_BRAGGEDGE +#ifndef TEST_V2_0_TSL_BRAGGEDGE +#define TEST_V2_0_TSL_BRAGGEDGE -#include "try/v2.0/tsl/BraggEnergy.hpp" -#include "try/v2.0/tsl/StructureFactor.hpp" +#include "test/v2.0/tsl/BraggEnergy.hpp" +#include "test/v2.0/tsl/StructureFactor.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -111,12 +111,12 @@ class BraggEdge : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/BraggEdge/src/custom.hpp" + #include "test/v2.0/tsl/BraggEdge/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class BraggEdge } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdge/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges.hpp index 500e1df4d..530b42382 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_BRAGGEDGES -#define TRY_V2_0_TSL_BRAGGEDGES +#ifndef TEST_V2_0_TSL_BRAGGEDGES +#define TEST_V2_0_TSL_BRAGGEDGES -#include "try/v2.0/tsl/BraggEdge.hpp" +#include "test/v2.0/tsl/BraggEdge.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class BraggEdges : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/BraggEdges/src/custom.hpp" + #include "test/v2.0/tsl/BraggEdges/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class BraggEdges } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEdges/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy.hpp index 4a9576305..0d5666e18 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_BRAGGENERGY -#define TRY_V2_0_TSL_BRAGGENERGY +#ifndef TEST_V2_0_TSL_BRAGGENERGY +#define TEST_V2_0_TSL_BRAGGENERGY -#include "try/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class BraggEnergy : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/BraggEnergy/src/custom.hpp" + #include "test/v2.0/tsl/BraggEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class BraggEnergy } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/BraggEnergy/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection.hpp index 54b713408..5a4d45991 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_COHERENTATOMCROSSSECTION -#define TRY_V2_0_TSL_COHERENTATOMCROSSSECTION +#ifndef TEST_V2_0_TSL_COHERENTATOMCROSSSECTION +#define TEST_V2_0_TSL_COHERENTATOMCROSSSECTION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -101,12 +101,12 @@ class CoherentAtomCrossSection : public Component // Custom functionality // ------------------------ - #include "try/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp" + #include "test/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class CoherentAtomCrossSection } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral.hpp index 0576b5e55..68cd6c442 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_DEBYEWALLERINTEGRAL -#define TRY_V2_0_TSL_DEBYEWALLERINTEGRAL +#ifndef TEST_V2_0_TSL_DEBYEWALLERINTEGRAL +#define TEST_V2_0_TSL_DEBYEWALLERINTEGRAL -#include "try/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class DebyeWallerIntegral : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp" + #include "test/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DebyeWallerIntegral } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel.hpp index fd05d1cd7..66ac69b8e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL -#define TRY_V2_0_TSL_DISTINCTSCATTERINGKERNEL +#ifndef TEST_V2_0_TSL_DISTINCTSCATTERINGKERNEL +#define TEST_V2_0_TSL_DISTINCTSCATTERINGKERNEL -#include "try/v2.0/containers/Gridded3d.hpp" +#include "test/v2.0/containers/Gridded3d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class DistinctScatteringKernel : public Component // Custom functionality // ------------------------ - #include "try/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp" + #include "test/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class DistinctScatteringKernel } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical.hpp index 8be03c958..3305e7a59 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_E_CRITICAL -#define TRY_V2_0_TSL_E_CRITICAL +#ifndef TEST_V2_0_TSL_E_CRITICAL +#define TEST_V2_0_TSL_E_CRITICAL -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -101,12 +101,12 @@ class E_critical : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/E_critical/src/custom.hpp" + #include "test/v2.0/tsl/E_critical/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class E_critical } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/E_critical/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_max.hpp similarity index 93% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/E_max.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/E_max.hpp index c07c40e35..926bc565c 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_max.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_E_MAX -#define TRY_V2_0_TSL_E_MAX +#ifndef TEST_V2_0_TSL_E_MAX +#define TEST_V2_0_TSL_E_MAX -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -101,12 +101,12 @@ class E_max : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/E_max/src/custom.hpp" + #include "test/v2.0/tsl/E_max/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class E_max } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/E_max/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_max/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/E_max/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/E_max/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation.hpp index 7d421bc9b..e4892ae72 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_FREEGASAPPROXIMATION -#define TRY_V2_0_TSL_FREEGASAPPROXIMATION +#ifndef TEST_V2_0_TSL_FREEGASAPPROXIMATION +#define TEST_V2_0_TSL_FREEGASAPPROXIMATION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -84,12 +84,12 @@ class FreeGasApproximation : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/FreeGasApproximation/src/custom.hpp" + #include "test/v2.0/tsl/FreeGasApproximation/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class FreeGasApproximation } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/FreeGasApproximation/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation.hpp index 8cbd5afd6..47470d154 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_GAUSSIANAPPROXIMATION -#define TRY_V2_0_TSL_GAUSSIANAPPROXIMATION +#ifndef TEST_V2_0_TSL_GAUSSIANAPPROXIMATION +#define TEST_V2_0_TSL_GAUSSIANAPPROXIMATION -#include "try/v2.0/tsl/PhononSpectrum.hpp" +#include "test/v2.0/tsl/PhononSpectrum.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class GaussianApproximation : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/GaussianApproximation/src/custom.hpp" + #include "test/v2.0/tsl/GaussianApproximation/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class GaussianApproximation } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/GaussianApproximation/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/Mass.hpp similarity index 92% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/Mass.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/Mass.hpp index 3d35d4599..fa41395d0 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/Mass.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_MASS -#define TRY_V2_0_TSL_MASS +#ifndef TEST_V2_0_TSL_MASS +#define TEST_V2_0_TSL_MASS -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -101,12 +101,12 @@ class Mass : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/Mass/src/custom.hpp" + #include "test/v2.0/tsl/Mass/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Mass } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/Mass/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/Mass/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/Mass/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/Mass/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum.hpp index 85d61afa5..c0b84fc20 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_PHONONSPECTRUM -#define TRY_V2_0_TSL_PHONONSPECTRUM +#ifndef TEST_V2_0_TSL_PHONONSPECTRUM +#define TEST_V2_0_TSL_PHONONSPECTRUM -#include "try/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class PhononSpectrum : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/PhononSpectrum/src/custom.hpp" + #include "test/v2.0/tsl/PhononSpectrum/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class PhononSpectrum } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/PhononSpectrum/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation.hpp index 62a13c309..ff136b39a 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_SCTAPPROXIMATION -#define TRY_V2_0_TSL_SCTAPPROXIMATION +#ifndef TEST_V2_0_TSL_SCTAPPROXIMATION +#define TEST_V2_0_TSL_SCTAPPROXIMATION -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -84,12 +84,12 @@ class SCTApproximation : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/SCTApproximation/src/custom.hpp" + #include "test/v2.0/tsl/SCTApproximation/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class SCTApproximation } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/SCTApproximation/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/S_table.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/S_table.hpp index 7532d2fd5..1b73f69c5 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/S_table.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_S_TABLE -#define TRY_V2_0_TSL_S_TABLE +#ifndef TEST_V2_0_TSL_S_TABLE +#define TEST_V2_0_TSL_S_TABLE -#include "try/v2.0/containers/Gridded2d.hpp" +#include "test/v2.0/containers/Gridded2d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class S_table : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/S_table/src/custom.hpp" + #include "test/v2.0/tsl/S_table/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class S_table } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/S_table/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/S_table/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/S_table/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/S_table/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom.hpp similarity index 90% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom.hpp index c5e29b105..2577b4835 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom.hpp @@ -2,19 +2,19 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_SCATTERINGATOM -#define TRY_V2_0_TSL_SCATTERINGATOM - -#include "try/v2.0/tsl/Mass.hpp" -#include "try/v2.0/tsl/E_critical.hpp" -#include "try/v2.0/tsl/E_max.hpp" -#include "try/v2.0/tsl/BoundAtomCrossSection.hpp" -#include "try/v2.0/tsl/CoherentAtomCrossSection.hpp" -#include "try/v2.0/tsl/DistinctScatteringKernel.hpp" -#include "try/v2.0/tsl/SelfScatteringKernel.hpp" -#include "try/v2.0/tsl/T_effective.hpp" - -namespace try { +#ifndef TEST_V2_0_TSL_SCATTERINGATOM +#define TEST_V2_0_TSL_SCATTERINGATOM + +#include "test/v2.0/tsl/Mass.hpp" +#include "test/v2.0/tsl/E_critical.hpp" +#include "test/v2.0/tsl/E_max.hpp" +#include "test/v2.0/tsl/BoundAtomCrossSection.hpp" +#include "test/v2.0/tsl/CoherentAtomCrossSection.hpp" +#include "test/v2.0/tsl/DistinctScatteringKernel.hpp" +#include "test/v2.0/tsl/SelfScatteringKernel.hpp" +#include "test/v2.0/tsl/T_effective.hpp" + +namespace test { namespace v2_0 { namespace tsl { @@ -165,12 +165,12 @@ class ScatteringAtom : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/ScatteringAtom/src/custom.hpp" + #include "test/v2.0/tsl/ScatteringAtom/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ScatteringAtom } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtom/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms.hpp index 5a1676767..0ce3c5d8d 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_SCATTERINGATOMS -#define TRY_V2_0_TSL_SCATTERINGATOMS +#ifndef TEST_V2_0_TSL_SCATTERINGATOMS +#define TEST_V2_0_TSL_SCATTERINGATOMS -#include "try/v2.0/tsl/ScatteringAtom.hpp" +#include "test/v2.0/tsl/ScatteringAtom.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class ScatteringAtoms : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/ScatteringAtoms/src/custom.hpp" + #include "test/v2.0/tsl/ScatteringAtoms/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ScatteringAtoms } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/ScatteringAtoms/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel.hpp index 55bbba5a3..b3dc22a8b 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel.hpp @@ -2,15 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_SELFSCATTERINGKERNEL -#define TRY_V2_0_TSL_SELFSCATTERINGKERNEL +#ifndef TEST_V2_0_TSL_SELFSCATTERINGKERNEL +#define TEST_V2_0_TSL_SELFSCATTERINGKERNEL -#include "try/v2.0/containers/Gridded3d.hpp" -#include "try/v2.0/tsl/GaussianApproximation.hpp" -#include "try/v2.0/tsl/SCTApproximation.hpp" -#include "try/v2.0/tsl/FreeGasApproximation.hpp" +#include "test/v2.0/containers/Gridded3d.hpp" +#include "test/v2.0/tsl/GaussianApproximation.hpp" +#include "test/v2.0/tsl/SCTApproximation.hpp" +#include "test/v2.0/tsl/FreeGasApproximation.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -118,12 +118,12 @@ class SelfScatteringKernel : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/SelfScatteringKernel/src/custom.hpp" + #include "test/v2.0/tsl/SelfScatteringKernel/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class SelfScatteringKernel } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/SelfScatteringKernel/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor.hpp index 00319faf6..f3bc94e15 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_STRUCTUREFACTOR -#define TRY_V2_0_TSL_STRUCTUREFACTOR +#ifndef TEST_V2_0_TSL_STRUCTUREFACTOR +#define TEST_V2_0_TSL_STRUCTUREFACTOR -#include "try/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class StructureFactor : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/StructureFactor/src/custom.hpp" + #include "test/v2.0/tsl/StructureFactor/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class StructureFactor } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/StructureFactor/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective.hpp index 698058740..afa436c9e 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_T_EFFECTIVE -#define TRY_V2_0_TSL_T_EFFECTIVE +#ifndef TEST_V2_0_TSL_T_EFFECTIVE +#define TEST_V2_0_TSL_T_EFFECTIVE -#include "try/v2.0/containers/XYs1d.hpp" +#include "test/v2.0/containers/XYs1d.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -95,12 +95,12 @@ class T_effective : public Component { // Custom functionality // ------------------------ - #include "try/v2.0/tsl/T_effective/src/custom.hpp" + #include "test/v2.0/tsl/T_effective/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class T_effective } // namespace tsl } // namespace v2_0 -} // namespace try +} // namespace test #endif diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective/src/custom.hpp similarity index 100% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/T_effective/src/custom.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective/src/custom.hpp diff --git a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp similarity index 91% rename from standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp rename to standards/gnds-2.0/test/src/test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp index fce470273..db0b08a33 100644 --- a/standards/gnds-2.0/try/src/try/v2.0/tsl/ThermalNeutronScatteringLaw.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW -#define TRY_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW +#ifndef TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW +#define TEST_V2_0_TSL_THERMALNEUTRONSCATTERINGLAW -#include "try/v2.0/key.hpp" +#include "test/v2.0/key.hpp" -namespace try { +namespace test { namespace v2_0 { namespace tsl { @@ -101,12 +101,12 @@ class ThermalNeutronScatteringLaw : public Component Date: Mon, 12 Sep 2022 11:30:49 -0600 Subject: [PATCH 193/235] Added the summary_extra.json file. This will serve, for now, as a place to store alternative versions of certain classes, for the purpose of avoiding circular class references. --- standards/gnds-2.0/gnds-2.0.json | 1 + standards/gnds-2.0/summary_extra.json | 110 ++++++++++++++++++++++++++ 2 files changed, 111 insertions(+) create mode 100644 standards/gnds-2.0/summary_extra.json diff --git a/standards/gnds-2.0/gnds-2.0.json b/standards/gnds-2.0/gnds-2.0.json index e879ae90c..dc9b64318 100644 --- a/standards/gnds-2.0/gnds-2.0.json +++ b/standards/gnds-2.0/gnds-2.0.json @@ -5,6 +5,7 @@ "JSONDir": ".", "JSONFiles": [ + "summary_extra.json", "summary_appData.json", "summary_atomic.json", "summary_common.json", diff --git a/standards/gnds-2.0/summary_extra.json b/standards/gnds-2.0/summary_extra.json new file mode 100644 index 000000000..311c0b3f6 --- /dev/null +++ b/standards/gnds-2.0/summary_extra.json @@ -0,0 +1,110 @@ +{ + "__namespace__":"extra", + + "// ALTERNATIVE double" : [ + "Without uncertainty" + ], + "double":{ + "__class__": "nodes.Node", + "abstractNode": "physicalQuantity", + "attributes": { + "label": { + "__class__": "nodes.Attribute", + "default": null, + "description": "Unique label", + "name": "label", + "required": false, + "type": "XMLName" + }, + "unit": { + "__class__": "nodes.Attribute", + "default": "`' (no label)", + "description": "e.g. `kg' or `m'", + "name": "unit", + "required": false, + "type": "XMLName" + }, + "value": { + "__class__": "nodes.Attribute", + "default": null, + "description": "numeric value", + "name": "value", + "required": true, + "type": "Float64" + } + }, + "bodyText": null, + "childNodes": {}, + "description": "Stores a \texttt{Float64} quantity along with an optional unit and optional label", + "name": "double", + "required": false, + "rootNode": false + }, + + "// ALTERNATIVE uncertainty" : [ + "Without pdf", + "Without XYs1d", + "Without polynomial1d" + ], + "uncertainty":{ + "__class__": "nodes.Node", + "abstractNode": null, + "attributes": {}, + "bodyText": null, + "childNodes": { + "standard": { + "__class__": "nodes.ChildNode", + "description": "Stores a normally-distributed uncertainty.", + "namespace": "containers", + "name": "standard", + "occurrence": "1", + "required": false + }, + "logNormal": { + "__class__": "nodes.ChildNode", + "description": "Stores a log-normal-distributed uncertainty.", + "namespace": "containers", + "name": "logNormal", + "occurrence": "1", + "required": false + }, + "confidenceIntervals": { + "__class__": "nodes.ChildNode", + "description": "Stores a list of intervals along with the confidence that the `true value' lies within each interval.", + "namespace": "containers", + "name": "confidenceIntervals", + "occurrence": "1", + "required": false + }, + "covariance": { + "__class__": "nodes.ChildNode", + "description": [ + "Stores a covariance matrix (or a link to a covariance matrix),", + "usually for a 1-dimensional function." + ], + "namespace": "containers", + "name": "covariance", + "occurrence": "1", + "required": false + }, + "listOfCovariances": { + "__class__": "nodes.ChildNode", + "description": [ + "Stores a list of covariance matrices (or a list of links to covariance matrices).", + "This option is generally used for higher-dimensional functions. For example,", + "if an angular distribution $P(\\mu|E)$ is stored as an energy-dependent list of", + "\\element{Legendre} expansions, the full covariance may be decomposed into energy-dependent", + "covariance matrices for each combination of $L_i$ and $L_j$. The \\element{listOfCovariances}", + "lists all of these covariances." + ], + "name": "listOfCovariances", + "occurrence": "1", + "required": false + } + }, + "description": "Stores the uncertainty for a scalar quantity or a functional data container.", + "name": "uncertainty", + "required": false, + "rootNode": false + } +} From 8abc8a447dfaaf21e8e0e8684c3deec482b75dc1 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 12 Sep 2022 11:45:15 -0600 Subject: [PATCH 194/235] Namespaces, for disambiguation. --- standards/gnds-2.0/summary_common.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/standards/gnds-2.0/summary_common.json b/standards/gnds-2.0/summary_common.json index 996112a9e..e9c3e72a4 100644 --- a/standards/gnds-2.0/summary_common.json +++ b/standards/gnds-2.0/summary_common.json @@ -181,6 +181,7 @@ "double": { "__class__": "nodes.ChildNode", "description": null, + "namespace": "containers", "name": "double", "occurrence": "1+", "required": true @@ -225,6 +226,7 @@ "double": { "__class__": "nodes.ChildNode", "description": null, + "namespace": "containers", "name": "double", "occurrence": "1+", "required": true @@ -244,6 +246,7 @@ "double": { "__class__": "nodes.ChildNode", "description": null, + "namespace": "containers", "name": "double", "occurrence": "1", "required": false From 05570afdd090c147d86839babed3038639aedc84 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 12 Sep 2022 11:57:55 -0600 Subject: [PATCH 195/235] Fixed "type" attribute name: "type", not "label". More namespaces, for disambiguation. Updated generated code. --- standards/gnds-2.0/.gitignore | 1 + standards/gnds-2.0/summary_documentation.json | 2 +- .../gnds-2.0/summary_fissionFragmentData.json | 1 + standards/gnds-2.0/summary_fpy.json | 2 + standards/gnds-2.0/summary_gpdc.json | 7 +- standards/gnds-2.0/summary_pops.json | 8 + standards/gnds-2.0/summary_resonance.json | 1 + standards/gnds-2.0/test/c/src/v2.0.h | 3 + .../test/c/src/v2.0/containers/LogNormal.cpp | 2 +- .../test/c/src/v2.0/containers/LogNormal.h | 2 +- .../c/src/v2.0/containers/Polynomial1d.cpp | 2 +- .../test/c/src/v2.0/containers/Polynomial1d.h | 2 +- .../test/c/src/v2.0/containers/Regions1d.cpp | 2 +- .../test/c/src/v2.0/containers/Regions1d.h | 2 +- .../test/c/src/v2.0/containers/Standard.cpp | 2 +- .../test/c/src/v2.0/containers/Standard.h | 2 +- .../test/c/src/v2.0/containers/XYs1d.cpp | 2 +- .../test/c/src/v2.0/containers/XYs1d.h | 2 +- .../v2.0/documentation/Acknowledgement.cpp | 24 +- .../src/v2.0/documentation/Acknowledgement.h | 12 +- .../v2.0/documentation/Acknowledgements.cpp | 40 +- .../src/v2.0/documentation/Acknowledgements.h | 24 +- .../gnds-2.0/test/c/src/v2.0/extra/Double.cpp | 235 ++++++++++++ .../gnds-2.0/test/c/src/v2.0/extra/Double.h | 195 ++++++++++ .../test/c/src/v2.0/extra/Uncertainty.cpp | 346 ++++++++++++++++++ .../test/c/src/v2.0/extra/Uncertainty.h | 255 +++++++++++++ .../test/c/src/v2.0/pops/LogNormal.cpp | 2 +- .../gnds-2.0/test/c/src/v2.0/pops/LogNormal.h | 2 +- .../test/c/src/v2.0/pops/Standard.cpp | 2 +- .../gnds-2.0/test/c/src/v2.0/pops/Standard.h | 2 +- .../python/src/v2.0/containers.python.cpp | 32 +- .../src/v2.0/containers/LogNormal.python.cpp | 2 +- .../v2.0/containers/Polynomial1d.python.cpp | 2 +- .../src/v2.0/containers/Regions1d.python.cpp | 2 +- .../src/v2.0/containers/Standard.python.cpp | 2 +- .../src/v2.0/containers/XYs1d.python.cpp | 2 +- .../documentation/Acknowledgement.python.cpp | 8 +- .../test/python/src/v2.0/extra.python.cpp | 33 ++ .../python/src/v2.0/extra/Double.python.cpp | 70 ++++ .../src/v2.0/extra/Uncertainty.python.cpp | 84 +++++ .../python/src/v2.0/pops/LogNormal.python.cpp | 2 +- .../python/src/v2.0/pops/Standard.python.cpp | 2 +- standards/gnds-2.0/test/src/test/v2.0.hpp | 6 +- .../src/test/v2.0/containers/LogNormal.hpp | 8 +- .../src/test/v2.0/containers/Polynomial1d.hpp | 8 +- .../src/test/v2.0/containers/Regions1d.hpp | 8 +- .../src/test/v2.0/containers/Standard.hpp | 8 +- .../test/src/test/v2.0/containers/XYs1d.hpp | 8 +- .../v2.0/documentation/Acknowledgement.hpp | 10 +- .../test/src/test/v2.0/extra/Double.hpp | 118 ++++++ .../src/test/v2.0/extra/Double/src/custom.hpp | 4 + .../test/src/test/v2.0/extra/Uncertainty.hpp | 134 +++++++ .../v2.0/extra/Uncertainty/src/custom.hpp | 4 + standards/gnds-2.0/test/src/test/v2.0/key.hpp | 17 + .../test/src/test/v2.0/pops/LogNormal.hpp | 8 +- .../test/src/test/v2.0/pops/Standard.hpp | 8 +- 56 files changed, 1644 insertions(+), 130 deletions(-) create mode 100644 standards/gnds-2.0/test/c/src/v2.0/extra/Double.cpp create mode 100644 standards/gnds-2.0/test/c/src/v2.0/extra/Double.h create mode 100644 standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.cpp create mode 100644 standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.h create mode 100644 standards/gnds-2.0/test/python/src/v2.0/extra.python.cpp create mode 100644 standards/gnds-2.0/test/python/src/v2.0/extra/Double.python.cpp create mode 100644 standards/gnds-2.0/test/python/src/v2.0/extra/Uncertainty.python.cpp create mode 100644 standards/gnds-2.0/test/src/test/v2.0/extra/Double.hpp create mode 100644 standards/gnds-2.0/test/src/test/v2.0/extra/Double/src/custom.hpp create mode 100644 standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty.hpp create mode 100644 standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty/src/custom.hpp diff --git a/standards/gnds-2.0/.gitignore b/standards/gnds-2.0/.gitignore index 0a88b3bd1..753cbb9db 100644 --- a/standards/gnds-2.0/.gitignore +++ b/standards/gnds-2.0/.gitignore @@ -1,2 +1,3 @@ json2class.exe +try diff --git a/standards/gnds-2.0/summary_documentation.json b/standards/gnds-2.0/summary_documentation.json index 5ae1b4d6b..246c04c6d 100644 --- a/standards/gnds-2.0/summary_documentation.json +++ b/standards/gnds-2.0/summary_documentation.json @@ -616,7 +616,7 @@ "__class__": "nodes.Attribute", "default": null, "description": "The {\\em unique} reference to the acknowledgement.", - "name": "label", + "name": "type", "required": true, "type": "XMLName" } diff --git a/standards/gnds-2.0/summary_fissionFragmentData.json b/standards/gnds-2.0/summary_fissionFragmentData.json index 1516fd896..d217ad64d 100644 --- a/standards/gnds-2.0/summary_fissionFragmentData.json +++ b/standards/gnds-2.0/summary_fissionFragmentData.json @@ -106,6 +106,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Defines the decay rate. Recommended units are `1/s' or equivalent.", + "namespace": "containers", "name": "double", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/summary_fpy.json b/standards/gnds-2.0/summary_fpy.json index 9ef072562..7eb90e48d 100644 --- a/standards/gnds-2.0/summary_fpy.json +++ b/standards/gnds-2.0/summary_fpy.json @@ -157,6 +157,7 @@ "double": { "__class__": "nodes.ChildNode", "description": null, + "namespace": "containers", "name": "double", "occurrence": "choice", "required": false @@ -278,6 +279,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "The actual energy.", + "namespace": "containers", "name": "double", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/summary_gpdc.json b/standards/gnds-2.0/summary_gpdc.json index 65d2fe7ab..4a3c707a1 100644 --- a/standards/gnds-2.0/summary_gpdc.json +++ b/standards/gnds-2.0/summary_gpdc.json @@ -348,6 +348,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Stores $\\sigma$ for the normal distribution.", + "namespace": "extra", "name": "double", "occurrence": "1", "required": true @@ -370,6 +371,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Stores $\\sigma$ for the log-normal distribution.", + "namespace": "extra", "name": "double", "occurrence": "1", "required": true @@ -1089,7 +1091,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this one-dimensional function.", - "namespace": "containers", + "namespace": "extra", "name": "uncertainty", "occurrence": "1", "required": false @@ -1288,6 +1290,7 @@ "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this one-dimensional function.", "namespace": "containers", + "namespace": "extra", "name": "uncertainty", "occurrence": "1", "required": false @@ -1716,7 +1719,7 @@ "uncertainty": { "__class__": "nodes.ChildNode", "description": "Uncertainty and/or covariance for this one-dimensional function.", - "namespace": "containers", + "namespace": "extra", "name": "uncertainty", "occurrence": "1", "required": false diff --git a/standards/gnds-2.0/summary_pops.json b/standards/gnds-2.0/summary_pops.json index 6db2b11d0..feb4bd87a 100644 --- a/standards/gnds-2.0/summary_pops.json +++ b/standards/gnds-2.0/summary_pops.json @@ -656,6 +656,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Binding energy. Recommended unit: `eV', or `keV'", + "namespace": "containers", "name": "double", "occurrence": "1+", "required": false @@ -994,6 +995,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Particle mass. Recommended units are `amu' or `MeV/c/c'.", + "namespace": "containers", "name": "double", "occurrence": "1", "required": false @@ -1179,6 +1181,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Excitation energy. Recommended unit: `eV', `MeV', etc.", + "namespace": "containers", "name": "double", "occurrence": "1+", "required": false @@ -1231,6 +1234,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Numeric value of halflife. Recommended unit = `s'.", + "namespace": "containers", "name": "double", "occurrence": "choice", "required": false @@ -1388,6 +1392,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Numeric value of the probability (unitless). Should be in the range (0, 1]", + "namespace": "containers", "name": "double", "occurrence": "1+", "required": true @@ -1549,6 +1554,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Numeric value of the decay Q-value, recommended unit `eV' or `MeV'.", + "namespace": "containers", "name": "double", "occurrence": "1+", "required": true @@ -2102,6 +2108,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Stores $\\sigma$ for the normal distribution.", + "namespace": "extra", "name": "double", "occurrence": "1", "required": true @@ -2124,6 +2131,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Stores $\\sigma$ for the log-normal distribution.", + "namespace": "extra", "name": "double", "occurrence": "1", "required": true diff --git a/standards/gnds-2.0/summary_resonance.json b/standards/gnds-2.0/summary_resonance.json index e5ae9547a..c0ca8c759 100644 --- a/standards/gnds-2.0/summary_resonance.json +++ b/standards/gnds-2.0/summary_resonance.json @@ -146,6 +146,7 @@ "double": { "__class__": "nodes.ChildNode", "description": "Each of the terms in the Froehner or SAMMY formalisms", + "namespace": "containers", "name": "double", "occurrence": "1+", "required": true diff --git a/standards/gnds-2.0/test/c/src/v2.0.h b/standards/gnds-2.0/test/c/src/v2.0.h index ecfe29fcb..752bab8df 100644 --- a/standards/gnds-2.0/test/c/src/v2.0.h +++ b/standards/gnds-2.0/test/c/src/v2.0.h @@ -16,6 +16,9 @@ #include "test/v2_0.hpp" #endif +#include "v2.0/extra/Double.h" +#include "v2.0/extra/Uncertainty.h" + #include "v2.0/appData/ApplicationData.h" #include "v2.0/appData/Institution.h" #include "v2.0/appData/ENDFconversionFlags.h" diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.cpp index 4ff18fc0b..d3ac6ad1e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = containers::Double; +using CPPDouble = extra::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h index a84830b3a..7ad0ce907 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TEST_V2_0_CONTAINERS_LOGNORMAL #include "GNDStk.h" -#include "v2.0/containers/Double.h" +#include "v2.0/extra/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.cpp index b2b5ee942..c50019c3a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.cpp @@ -25,7 +25,7 @@ namespace extract { } using CPPAxes = containers::Axes; -using CPPUncertainty = containers::Uncertainty; +using CPPUncertainty = extra::Uncertainty; using CPPValues = containers::Values; diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h index 460b15b17..5d098ba18 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" -#include "v2.0/containers/Uncertainty.h" +#include "v2.0/extra/Uncertainty.h" #include "v2.0/containers/Values.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.cpp index 67082139d..aa9581aa7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.cpp @@ -23,7 +23,7 @@ namespace extract { using CPPAxes = containers::Axes; using CPPFunction1ds = containers::Function1ds; -using CPPUncertainty = containers::Uncertainty; +using CPPUncertainty = extra::Uncertainty; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h index e185152a2..bd1f10708 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h @@ -34,7 +34,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" #include "v2.0/containers/Function1ds.h" -#include "v2.0/containers/Uncertainty.h" +#include "v2.0/extra/Uncertainty.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.cpp index d56699f1b..47168a641 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = containers::Double; +using CPPDouble = extra::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h index 3556c30e4..7a09fe11c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TEST_V2_0_CONTAINERS_STANDARD #include "GNDStk.h" -#include "v2.0/containers/Double.h" +#include "v2.0/extra/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.cpp b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.cpp index 619f267d8..ccc6fd52e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.cpp @@ -24,7 +24,7 @@ namespace extract { } using CPPAxes = containers::Axes; -using CPPUncertainty = containers::Uncertainty; +using CPPUncertainty = extra::Uncertainty; using CPPValues = containers::Values; diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h index 62c18dd25..cc1c70c5d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h @@ -33,7 +33,7 @@ #include "GNDStk.h" #include "v2.0/containers/Axes.h" -#include "v2.0/containers/Uncertainty.h" +#include "v2.0/extra/Uncertainty.h" #include "v2.0/containers/Values.h" #ifdef __cplusplus diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.cpp index 6c15aa9a8..9b40ca790 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.cpp @@ -17,7 +17,7 @@ namespace extract { static auto encoding = [](auto &obj) { return &obj.encoding; }; static auto markup = [](auto &obj) { return &obj.markup; }; static auto label = [](auto &obj) { return &obj.label; }; - static auto label = [](auto &obj) { return &obj.label; }; + static auto type = [](auto &obj) { return &obj.type; }; } @@ -48,14 +48,14 @@ AcknowledgementCreateConst( const XMLName encoding, const char *const markup, const XMLName label, - const XMLName label + const XMLName type ) { ConstHandle2Acknowledgement handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", encoding, markup, label, - label + type ); return handle; } @@ -66,14 +66,14 @@ AcknowledgementCreate( const XMLName encoding, const char *const markup, const XMLName label, - const XMLName label + const XMLName type ) { ConstHandle2Acknowledgement handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", encoding, markup, label, - label + type ); return handle; } @@ -494,30 +494,30 @@ AcknowledgementLabelSet(ConstHandle2Acknowledgement This, const XMLName label) // ----------------------------------------------------------------------------- -// Metadatum: label +// Metadatum: type // ----------------------------------------------------------------------------- // Has int -AcknowledgementLabelHas(ConstHandle2ConstAcknowledgement This) +AcknowledgementTypeHas(ConstHandle2ConstAcknowledgement This) { return detail::hasField - (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); + (CLASSNAME, CLASSNAME+"TypeHas", This, extract::type); } // Get // Returns by value XMLName -AcknowledgementLabelGet(ConstHandle2ConstAcknowledgement This) +AcknowledgementTypeGet(ConstHandle2ConstAcknowledgement This) { return detail::getField - (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); + (CLASSNAME, CLASSNAME+"TypeGet", This, extract::type); } // Set void -AcknowledgementLabelSet(ConstHandle2Acknowledgement This, const XMLName label) +AcknowledgementTypeSet(ConstHandle2Acknowledgement This, const XMLName type) { detail::setField - (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); + (CLASSNAME, CLASSNAME+"TypeSet", This, extract::type, type); } diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h index 82f1ceb10..e21408880 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h @@ -79,7 +79,7 @@ AcknowledgementCreateConst( const XMLName encoding, const char *const markup, const XMLName label, - const XMLName label + const XMLName type ); // +++ Create, general @@ -88,7 +88,7 @@ AcknowledgementCreate( const XMLName encoding, const char *const markup, const XMLName label, - const XMLName label + const XMLName type ); // +++ Assign @@ -331,21 +331,21 @@ AcknowledgementLabelSet(ConstHandle2Acknowledgement This, const XMLName label); // ----------------------------------------------------------------------------- -// Metadatum: label +// Metadatum: type // ----------------------------------------------------------------------------- // +++ Has extern_c int -AcknowledgementLabelHas(ConstHandle2ConstAcknowledgement This); +AcknowledgementTypeHas(ConstHandle2ConstAcknowledgement This); // +++ Get // +++ Returns by value extern_c XMLName -AcknowledgementLabelGet(ConstHandle2ConstAcknowledgement This); +AcknowledgementTypeGet(ConstHandle2ConstAcknowledgement This); // +++ Set extern_c void -AcknowledgementLabelSet(ConstHandle2Acknowledgement This, const XMLName label); +AcknowledgementTypeSet(ConstHandle2Acknowledgement This, const XMLName type); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.cpp b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.cpp index 3e0c9a717..1467024b2 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.cpp @@ -339,47 +339,47 @@ AcknowledgementsAcknowledgementSetByLabel( This, extract::acknowledgement, meta::label, label, acknowledgement); } -// Has, by label +// Has, by type int -AcknowledgementsAcknowledgementHasByLabel( +AcknowledgementsAcknowledgementHasByType( ConstHandle2ConstAcknowledgements This, - const XMLName label + const XMLName type ) { return detail::hasByMetadatum - (CLASSNAME, CLASSNAME+"AcknowledgementHasByLabel", - This, extract::acknowledgement, meta::label, label); + (CLASSNAME, CLASSNAME+"AcknowledgementHasByType", + This, extract::acknowledgement, meta::type, type); } -// Get, by label, const +// Get, by type, const Handle2ConstAcknowledgement -AcknowledgementsAcknowledgementGetByLabelConst( +AcknowledgementsAcknowledgementGetByTypeConst( ConstHandle2ConstAcknowledgements This, - const XMLName label + const XMLName type ) { return detail::getByMetadatum - (CLASSNAME, CLASSNAME+"AcknowledgementGetByLabelConst", - This, extract::acknowledgement, meta::label, label); + (CLASSNAME, CLASSNAME+"AcknowledgementGetByTypeConst", + This, extract::acknowledgement, meta::type, type); } -// Get, by label, non-const +// Get, by type, non-const Handle2Acknowledgement -AcknowledgementsAcknowledgementGetByLabel( +AcknowledgementsAcknowledgementGetByType( ConstHandle2Acknowledgements This, - const XMLName label + const XMLName type ) { return detail::getByMetadatum - (CLASSNAME, CLASSNAME+"AcknowledgementGetByLabel", - This, extract::acknowledgement, meta::label, label); + (CLASSNAME, CLASSNAME+"AcknowledgementGetByType", + This, extract::acknowledgement, meta::type, type); } -// Set, by label +// Set, by type void -AcknowledgementsAcknowledgementSetByLabel( +AcknowledgementsAcknowledgementSetByType( ConstHandle2Acknowledgements This, - const XMLName label, + const XMLName type, ConstHandle2ConstAcknowledgement acknowledgement ) { detail::setByMetadatum - (CLASSNAME, CLASSNAME+"AcknowledgementSetByLabel", - This, extract::acknowledgement, meta::label, label, acknowledgement); + (CLASSNAME, CLASSNAME+"AcknowledgementSetByType", + This, extract::acknowledgement, meta::type, type, acknowledgement); } diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h index 5415b7491..1d3c422e7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h @@ -253,32 +253,32 @@ AcknowledgementsAcknowledgementSetByLabel( ConstHandle2ConstAcknowledgement acknowledgement ); -// +++ Has, by label +// +++ Has, by type extern_c int -AcknowledgementsAcknowledgementHasByLabel( +AcknowledgementsAcknowledgementHasByType( ConstHandle2ConstAcknowledgements This, - const XMLName label + const XMLName type ); -// --- Get, by label, const +// --- Get, by type, const extern_c Handle2ConstAcknowledgement -AcknowledgementsAcknowledgementGetByLabelConst( +AcknowledgementsAcknowledgementGetByTypeConst( ConstHandle2ConstAcknowledgements This, - const XMLName label + const XMLName type ); -// +++ Get, by label, non-const +// +++ Get, by type, non-const extern_c Handle2Acknowledgement -AcknowledgementsAcknowledgementGetByLabel( +AcknowledgementsAcknowledgementGetByType( ConstHandle2Acknowledgements This, - const XMLName label + const XMLName type ); -// +++ Set, by label +// +++ Set, by type extern_c void -AcknowledgementsAcknowledgementSetByLabel( +AcknowledgementsAcknowledgementSetByType( ConstHandle2Acknowledgements This, - const XMLName label, + const XMLName type, ConstHandle2ConstAcknowledgement acknowledgement ); diff --git a/standards/gnds-2.0/test/c/src/v2.0/extra/Double.cpp b/standards/gnds-2.0/test/c/src/v2.0/extra/Double.cpp new file mode 100644 index 000000000..e6db83b1b --- /dev/null +++ b/standards/gnds-2.0/test/c/src/v2.0/extra/Double.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/extra/Double.hpp" +#include "Double.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = DoubleClass; +using CPP = multigroup::Double; + +static const std::string CLASSNAME = "Double"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto unit = [](auto &obj) { return &obj.unit; }; + static auto value = [](auto &obj) { return &obj.value; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDouble +DoubleDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Double +DoubleDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDouble +DoubleCreateConst( + const XMLName label, + const XMLName unit, + const Float64 value +) { + ConstHandle2Double handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + unit, + value + ); + return handle; +} + +// Create, general +Handle2Double +DoubleCreate( + const XMLName label, + const XMLName unit, + const Float64 value +) { + ConstHandle2Double handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + unit, + value + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DoubleAssign(ConstHandle2Double This, ConstHandle2ConstDouble from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DoubleDelete(ConstHandle2ConstDouble This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DoubleRead(ConstHandle2Double This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DoubleWrite(ConstHandle2ConstDouble This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DoublePrint(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DoublePrintXML(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DoublePrintJSON(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +DoubleLabelHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +XMLName +DoubleLabelGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +DoubleLabelSet(ConstHandle2Double This, const XMLName label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +DoubleUnitHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +XMLName +DoubleUnitGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +DoubleUnitSet(ConstHandle2Double This, const XMLName unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +DoubleValueHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +Float64 +DoubleValueGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +DoubleValueSet(ConstHandle2Double This, const Float64 value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/standards/gnds-2.0/test/c/src/v2.0/extra/Double.h b/standards/gnds-2.0/test/c/src/v2.0/extra/Double.h new file mode 100644 index 000000000..c4a88d48f --- /dev/null +++ b/standards/gnds-2.0/test/c/src/v2.0/extra/Double.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Double is the basic handle type in this file. Example: +// // Create a default Double object: +// Double handle = DoubleDefault(); +// Functions involving Double are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_EXTRA_DOUBLE +#define C_INTERFACE_TEST_V2_0_EXTRA_DOUBLE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DoubleClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Double +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DoubleClass *Double; + +// --- Const-aware handles. +typedef const struct DoubleClass *const ConstHandle2ConstDouble; +typedef struct DoubleClass *const ConstHandle2Double; +typedef const struct DoubleClass * Handle2ConstDouble; +typedef struct DoubleClass * Handle2Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDouble +DoubleDefaultConst(); + +// +++ Create, default +extern_c Handle2Double +DoubleDefault(); + +// --- Create, general, const +extern_c Handle2ConstDouble +DoubleCreateConst( + const XMLName label, + const XMLName unit, + const Float64 value +); + +// +++ Create, general +extern_c Handle2Double +DoubleCreate( + const XMLName label, + const XMLName unit, + const Float64 value +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DoubleAssign(ConstHandle2Double This, ConstHandle2ConstDouble from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DoubleDelete(ConstHandle2ConstDouble This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DoubleRead(ConstHandle2Double This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DoubleWrite(ConstHandle2ConstDouble This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DoublePrint(ConstHandle2ConstDouble This); + +// +++ Print to standard output, as XML +extern_c int +DoublePrintXML(ConstHandle2ConstDouble This); + +// +++ Print to standard output, as JSON +extern_c int +DoublePrintJSON(ConstHandle2ConstDouble This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleLabelHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DoubleLabelGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleLabelSet(ConstHandle2Double This, const XMLName label); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleUnitHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c XMLName +DoubleUnitGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleUnitSet(ConstHandle2Double This, const XMLName unit); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleValueHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c Float64 +DoubleValueGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleValueSet(ConstHandle2Double This, const Float64 value); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.cpp b/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.cpp new file mode 100644 index 000000000..868923077 --- /dev/null +++ b/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.cpp @@ -0,0 +1,346 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/extra/Uncertainty.hpp" +#include "Uncertainty.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = UncertaintyClass; +using CPP = multigroup::Uncertainty; + +static const std::string CLASSNAME = "Uncertainty"; + +namespace extract { + static auto standard = [](auto &obj) { return &obj.standard; }; + static auto logNormal = [](auto &obj) { return &obj.logNormal; }; + static auto confidenceIntervals = [](auto &obj) { return &obj.confidenceIntervals; }; + static auto covariance = [](auto &obj) { return &obj.covariance; }; + static auto listOfCovariances = [](auto &obj) { return &obj.listOfCovariances; }; +} + +using CPPStandard = containers::Standard; +using CPPLogNormal = containers::LogNormal; +using CPPConfidenceIntervals = containers::ConfidenceIntervals; +using CPPCovariance = containers::Covariance; +using CPPListOfCovariances = containers::ListOfCovariances; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstUncertainty +UncertaintyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Uncertainty +UncertaintyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstUncertainty +UncertaintyCreateConst( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstListOfCovariances listOfCovariances +) { + ConstHandle2Uncertainty handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(standard), + detail::tocpp(logNormal), + detail::tocpp(confidenceIntervals), + detail::tocpp(covariance), + detail::tocpp(listOfCovariances) + ); + return handle; +} + +// Create, general +Handle2Uncertainty +UncertaintyCreate( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstListOfCovariances listOfCovariances +) { + ConstHandle2Uncertainty handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(standard), + detail::tocpp(logNormal), + detail::tocpp(confidenceIntervals), + detail::tocpp(covariance), + detail::tocpp(listOfCovariances) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +UncertaintyAssign(ConstHandle2Uncertainty This, ConstHandle2ConstUncertainty from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +UncertaintyDelete(ConstHandle2ConstUncertainty This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +UncertaintyRead(ConstHandle2Uncertainty This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +UncertaintyWrite(ConstHandle2ConstUncertainty This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +UncertaintyPrint(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +UncertaintyPrintXML(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +UncertaintyPrintJSON(ConstHandle2ConstUncertainty This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: standard +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyStandardHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StandardHas", This, extract::standard); +} + +// Get, const +Handle2ConstStandard +UncertaintyStandardGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StandardGetConst", This, extract::standard); +} + +// Get, non-const +Handle2Standard +UncertaintyStandardGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StandardGet", This, extract::standard); +} + +// Set +void +UncertaintyStandardSet(ConstHandle2Uncertainty This, ConstHandle2ConstStandard standard) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StandardSet", This, extract::standard, standard); +} + + +// ----------------------------------------------------------------------------- +// Child: logNormal +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyLogNormalHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LogNormalHas", This, extract::logNormal); +} + +// Get, const +Handle2ConstLogNormal +UncertaintyLogNormalGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LogNormalGetConst", This, extract::logNormal); +} + +// Get, non-const +Handle2LogNormal +UncertaintyLogNormalGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LogNormalGet", This, extract::logNormal); +} + +// Set +void +UncertaintyLogNormalSet(ConstHandle2Uncertainty This, ConstHandle2ConstLogNormal logNormal) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LogNormalSet", This, extract::logNormal, logNormal); +} + + +// ----------------------------------------------------------------------------- +// Child: confidenceIntervals +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyConfidenceIntervalsHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsHas", This, extract::confidenceIntervals); +} + +// Get, const +Handle2ConstConfidenceIntervals +UncertaintyConfidenceIntervalsGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsGetConst", This, extract::confidenceIntervals); +} + +// Get, non-const +Handle2ConfidenceIntervals +UncertaintyConfidenceIntervalsGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsGet", This, extract::confidenceIntervals); +} + +// Set +void +UncertaintyConfidenceIntervalsSet(ConstHandle2Uncertainty This, ConstHandle2ConstConfidenceIntervals confidenceIntervals) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConfidenceIntervalsSet", This, extract::confidenceIntervals, confidenceIntervals); +} + + +// ----------------------------------------------------------------------------- +// Child: covariance +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyCovarianceHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"CovarianceHas", This, extract::covariance); +} + +// Get, const +Handle2ConstCovariance +UncertaintyCovarianceGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceGetConst", This, extract::covariance); +} + +// Get, non-const +Handle2Covariance +UncertaintyCovarianceGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"CovarianceGet", This, extract::covariance); +} + +// Set +void +UncertaintyCovarianceSet(ConstHandle2Uncertainty This, ConstHandle2ConstCovariance covariance) +{ + detail::setField + (CLASSNAME, CLASSNAME+"CovarianceSet", This, extract::covariance, covariance); +} + + +// ----------------------------------------------------------------------------- +// Child: listOfCovariances +// ----------------------------------------------------------------------------- + +// Has +int +UncertaintyListOfCovariancesHas(ConstHandle2ConstUncertainty This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ListOfCovariancesHas", This, extract::listOfCovariances); +} + +// Get, const +Handle2ConstListOfCovariances +UncertaintyListOfCovariancesGetConst(ConstHandle2ConstUncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ListOfCovariancesGetConst", This, extract::listOfCovariances); +} + +// Get, non-const +Handle2ListOfCovariances +UncertaintyListOfCovariancesGet(ConstHandle2Uncertainty This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ListOfCovariancesGet", This, extract::listOfCovariances); +} + +// Set +void +UncertaintyListOfCovariancesSet(ConstHandle2Uncertainty This, ConstHandle2ConstListOfCovariances listOfCovariances) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ListOfCovariancesSet", This, extract::listOfCovariances, listOfCovariances); +} diff --git a/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.h b/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.h new file mode 100644 index 000000000..6abeda0e8 --- /dev/null +++ b/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.h @@ -0,0 +1,255 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Uncertainty is the basic handle type in this file. Example: +// // Create a default Uncertainty object: +// Uncertainty handle = UncertaintyDefault(); +// Functions involving Uncertainty are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_EXTRA_UNCERTAINTY +#define C_INTERFACE_TEST_V2_0_EXTRA_UNCERTAINTY + +#include "GNDStk.h" +#include "v2.0/containers/Standard.h" +#include "v2.0/containers/LogNormal.h" +#include "v2.0/containers/ConfidenceIntervals.h" +#include "v2.0/containers/Covariance.h" +#include "v2.0/containers/ListOfCovariances.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct UncertaintyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Uncertainty +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct UncertaintyClass *Uncertainty; + +// --- Const-aware handles. +typedef const struct UncertaintyClass *const ConstHandle2ConstUncertainty; +typedef struct UncertaintyClass *const ConstHandle2Uncertainty; +typedef const struct UncertaintyClass * Handle2ConstUncertainty; +typedef struct UncertaintyClass * Handle2Uncertainty; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstUncertainty +UncertaintyDefaultConst(); + +// +++ Create, default +extern_c Handle2Uncertainty +UncertaintyDefault(); + +// --- Create, general, const +extern_c Handle2ConstUncertainty +UncertaintyCreateConst( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstListOfCovariances listOfCovariances +); + +// +++ Create, general +extern_c Handle2Uncertainty +UncertaintyCreate( + ConstHandle2ConstStandard standard, + ConstHandle2ConstLogNormal logNormal, + ConstHandle2ConstConfidenceIntervals confidenceIntervals, + ConstHandle2ConstCovariance covariance, + ConstHandle2ConstListOfCovariances listOfCovariances +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +UncertaintyAssign(ConstHandle2Uncertainty This, ConstHandle2ConstUncertainty from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +UncertaintyDelete(ConstHandle2ConstUncertainty This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +UncertaintyRead(ConstHandle2Uncertainty This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +UncertaintyWrite(ConstHandle2ConstUncertainty This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +UncertaintyPrint(ConstHandle2ConstUncertainty This); + +// +++ Print to standard output, as XML +extern_c int +UncertaintyPrintXML(ConstHandle2ConstUncertainty This); + +// +++ Print to standard output, as JSON +extern_c int +UncertaintyPrintJSON(ConstHandle2ConstUncertainty This); + + +// ----------------------------------------------------------------------------- +// Child: standard +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyStandardHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstStandard +UncertaintyStandardGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2Standard +UncertaintyStandardGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyStandardSet(ConstHandle2Uncertainty This, ConstHandle2ConstStandard standard); + + +// ----------------------------------------------------------------------------- +// Child: logNormal +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyLogNormalHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstLogNormal +UncertaintyLogNormalGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2LogNormal +UncertaintyLogNormalGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyLogNormalSet(ConstHandle2Uncertainty This, ConstHandle2ConstLogNormal logNormal); + + +// ----------------------------------------------------------------------------- +// Child: confidenceIntervals +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyConfidenceIntervalsHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstConfidenceIntervals +UncertaintyConfidenceIntervalsGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2ConfidenceIntervals +UncertaintyConfidenceIntervalsGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyConfidenceIntervalsSet(ConstHandle2Uncertainty This, ConstHandle2ConstConfidenceIntervals confidenceIntervals); + + +// ----------------------------------------------------------------------------- +// Child: covariance +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyCovarianceHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstCovariance +UncertaintyCovarianceGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2Covariance +UncertaintyCovarianceGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyCovarianceSet(ConstHandle2Uncertainty This, ConstHandle2ConstCovariance covariance); + + +// ----------------------------------------------------------------------------- +// Child: listOfCovariances +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +UncertaintyListOfCovariancesHas(ConstHandle2ConstUncertainty This); + +// --- Get, const +extern_c Handle2ConstListOfCovariances +UncertaintyListOfCovariancesGetConst(ConstHandle2ConstUncertainty This); + +// +++ Get, non-const +extern_c Handle2ListOfCovariances +UncertaintyListOfCovariancesGet(ConstHandle2Uncertainty This); + +// +++ Set +extern_c void +UncertaintyListOfCovariancesSet(ConstHandle2Uncertainty This, ConstHandle2ConstListOfCovariances listOfCovariances); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.cpp index c4c41a8e3..9ca93016e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = containers::Double; +using CPPDouble = extra::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h index a053f6bae..0c819025e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TEST_V2_0_POPS_LOGNORMAL #include "GNDStk.h" -#include "v2.0/containers/Double.h" +#include "v2.0/extra/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.cpp b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.cpp index c7e8dba0c..eaab16a4c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.cpp @@ -17,7 +17,7 @@ namespace extract { static auto Double = [](auto &obj) { return &obj.Double; }; } -using CPPDouble = containers::Double; +using CPPDouble = extra::Double; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h index 5f49421eb..3c3834ddc 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h @@ -32,7 +32,7 @@ #define C_INTERFACE_TEST_V2_0_POPS_STANDARD #include "GNDStk.h" -#include "v2.0/containers/Double.h" +#include "v2.0/extra/Double.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp index 2649ff9c6..33ed87ba7 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp @@ -12,16 +12,18 @@ namespace python_v2_0 { // containers declarations namespace python_containers { + void wrapStandard(python::module &); + void wrapLogNormal(python::module &); + void wrapInterval(python::module &); + void wrapConfidenceIntervals(python::module &); + void wrapCovariance(python::module &); + void wrapListOfCovariances(python::module &); void wrapAxis(python::module &); void wrapValues(python::module &); void wrapLink(python::module &); void wrapGrid(python::module &); void wrapAxes(python::module &); - void wrapDouble(python::module &); - void wrapStandard(python::module &); - void wrapLogNormal(python::module &); - void wrapInterval(python::module &); - void wrapConfidenceIntervals(python::module &); + void wrapXYs1d(python::module &); void wrapConstant1d(python::module &); void wrapPolynomial1d(python::module &); void wrapLegendre(python::module &); @@ -30,10 +32,7 @@ namespace python_containers { void wrapFunction1ds(python::module &); void wrapRegions1d(python::module &); void wrapPdf(python::module &); - void wrapCovariance(python::module &); - void wrapListOfCovariances(python::module &); void wrapUncertainty(python::module &); - void wrapXYs1d(python::module &); void wrapXYs2d(python::module &); void wrapGridded2d(python::module &); void wrapFunction2ds(python::module &); @@ -41,6 +40,7 @@ namespace python_containers { void wrapXYs3d(python::module &); void wrapYs1d(python::module &); void wrapGridded3d(python::module &); + void wrapDouble(python::module &); void wrapString(python::module &); void wrapInteger(python::module &); void wrapFraction(python::module &); @@ -66,16 +66,18 @@ void wrapContainers(python::module &module) ); // wrap containers components + python_containers::wrapStandard(submodule); + python_containers::wrapLogNormal(submodule); + python_containers::wrapInterval(submodule); + python_containers::wrapConfidenceIntervals(submodule); + python_containers::wrapCovariance(submodule); + python_containers::wrapListOfCovariances(submodule); python_containers::wrapAxis(submodule); python_containers::wrapValues(submodule); python_containers::wrapLink(submodule); python_containers::wrapGrid(submodule); python_containers::wrapAxes(submodule); - python_containers::wrapDouble(submodule); - python_containers::wrapStandard(submodule); - python_containers::wrapLogNormal(submodule); - python_containers::wrapInterval(submodule); - python_containers::wrapConfidenceIntervals(submodule); + python_containers::wrapXYs1d(submodule); python_containers::wrapConstant1d(submodule); python_containers::wrapPolynomial1d(submodule); python_containers::wrapLegendre(submodule); @@ -84,10 +86,7 @@ void wrapContainers(python::module &module) python_containers::wrapFunction1ds(submodule); python_containers::wrapRegions1d(submodule); python_containers::wrapPdf(submodule); - python_containers::wrapCovariance(submodule); - python_containers::wrapListOfCovariances(submodule); python_containers::wrapUncertainty(submodule); - python_containers::wrapXYs1d(submodule); python_containers::wrapXYs2d(submodule); python_containers::wrapGridded2d(submodule); python_containers::wrapFunction2ds(submodule); @@ -95,6 +94,7 @@ void wrapContainers(python::module &module) python_containers::wrapXYs3d(submodule); python_containers::wrapYs1d(submodule); python_containers::wrapGridded3d(submodule); + python_containers::wrapDouble(submodule); python_containers::wrapString(submodule); python_containers::wrapInteger(submodule); python_containers::wrapFraction(submodule); diff --git a/standards/gnds-2.0/test/python/src/v2.0/containers/LogNormal.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/LogNormal.python.cpp index 38a1e75f5..982d20db4 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/containers/LogNormal.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/LogNormal.python.cpp @@ -36,7 +36,7 @@ void wrapLogNormal(python::module &module) component .def( python::init< - const containers::Double & + const extra::Double & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/test/python/src/v2.0/containers/Polynomial1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Polynomial1d.python.cpp index 5dce737c4..5933fdd16 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/containers/Polynomial1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Polynomial1d.python.cpp @@ -42,7 +42,7 @@ void wrapPolynomial1d(python::module &module) const Float64 &, const Float64 &, const containers::Axes &, - const std::optional &, + const std::optional &, const containers::Values & >(), python::arg("label") = std::nullopt, diff --git a/standards/gnds-2.0/test/python/src/v2.0/containers/Regions1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Regions1d.python.cpp index cacbf9e69..3d9e9a855 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/containers/Regions1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Regions1d.python.cpp @@ -40,7 +40,7 @@ void wrapRegions1d(python::module &module) const std::optional &, const std::optional &, const containers::Function1ds &, - const std::optional & + const std::optional & >(), python::arg("label") = std::nullopt, python::arg("outer_domain_value") = std::nullopt, diff --git a/standards/gnds-2.0/test/python/src/v2.0/containers/Standard.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/Standard.python.cpp index 9ec0db0cf..6edbed4f6 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/containers/Standard.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/Standard.python.cpp @@ -36,7 +36,7 @@ void wrapStandard(python::module &module) component .def( python::init< - const containers::Double & + const extra::Double & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/test/python/src/v2.0/containers/XYs1d.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers/XYs1d.python.cpp index 82033d118..3faaf12ca 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/containers/XYs1d.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers/XYs1d.python.cpp @@ -41,7 +41,7 @@ void wrapXYs1d(python::module &module) const std::optional &, const std::optional &, const std::optional &, - const std::optional &, + const std::optional &, const containers::Values & >(), python::arg("index") = std::nullopt, diff --git a/standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgement.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgement.python.cpp index 63325e4f8..7a3b452fa 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgement.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/documentation/Acknowledgement.python.cpp @@ -44,7 +44,7 @@ void wrapAcknowledgement(python::module &module) python::arg("encoding") = std::nullopt, python::arg("markup") = std::nullopt, python::arg("label") = std::nullopt, - python::arg("label"), + python::arg("type"), Component::documentation("constructor").data() ) .def( @@ -84,9 +84,9 @@ void wrapAcknowledgement(python::module &module) Component::documentation("label").data() ) .def_property_readonly( - "label", - [](const Component &self) { return self.label(); }, - Component::documentation("label").data() + "type", + [](const Component &self) { return self.type(); }, + Component::documentation("type").data() ) .def_property_readonly( "ints", diff --git a/standards/gnds-2.0/test/python/src/v2.0/extra.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/extra.python.cpp new file mode 100644 index 000000000..af50d7a58 --- /dev/null +++ b/standards/gnds-2.0/test/python/src/v2.0/extra.python.cpp @@ -0,0 +1,33 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// extra declarations +namespace python_extra { + void wrapDouble(python::module &); + void wrapUncertainty(python::module &); +} // namespace python_extra + +// extra wrapper +void wrapExtra(python::module &module) +{ + // create the extra submodule + python::module submodule = module.def_submodule( + "extra", + "test v2.0 extra" + ); + + // wrap extra components + python_extra::wrapDouble(submodule); + python_extra::wrapUncertainty(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/test/python/src/v2.0/extra/Double.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/extra/Double.python.cpp new file mode 100644 index 000000000..32f123106 --- /dev/null +++ b/standards/gnds-2.0/test/python/src/v2.0/extra/Double.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/extra/Double.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_extra { + +// Double wrapper +void wrapDouble(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = extra::Double; + + // create the component + python::class_ component( + module, + "Double", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const Float64 & + >(), + python::arg("label") = std::nullopt, + python::arg("unit") = std::nullopt, + python::arg("value"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_extra +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/test/python/src/v2.0/extra/Uncertainty.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/extra/Uncertainty.python.cpp new file mode 100644 index 000000000..d4e04b62f --- /dev/null +++ b/standards/gnds-2.0/test/python/src/v2.0/extra/Uncertainty.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/extra/Uncertainty.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_extra { + +// Uncertainty wrapper +void wrapUncertainty(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = extra::Uncertainty; + + // create the component + python::class_ component( + module, + "Uncertainty", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional &, + const std::optional & + >(), + python::arg("standard") = std::nullopt, + python::arg("log_normal") = std::nullopt, + python::arg("confidence_intervals") = std::nullopt, + python::arg("covariance") = std::nullopt, + python::arg("list_of_covariances") = std::nullopt, + Component::documentation("constructor").data() + ) + .def_property_readonly( + "standard", + [](const Component &self) { return self.standard(); }, + Component::documentation("standard").data() + ) + .def_property_readonly( + "log_normal", + [](const Component &self) { return self.logNormal(); }, + Component::documentation("log_normal").data() + ) + .def_property_readonly( + "confidence_intervals", + [](const Component &self) { return self.confidenceIntervals(); }, + Component::documentation("confidence_intervals").data() + ) + .def_property_readonly( + "covariance", + [](const Component &self) { return self.covariance(); }, + Component::documentation("covariance").data() + ) + .def_property_readonly( + "list_of_covariances", + [](const Component &self) { return self.listOfCovariances(); }, + Component::documentation("list_of_covariances").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_extra +} // namespace python_v2_0 diff --git a/standards/gnds-2.0/test/python/src/v2.0/pops/LogNormal.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/LogNormal.python.cpp index 061c28145..c9d8343fb 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/pops/LogNormal.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/LogNormal.python.cpp @@ -36,7 +36,7 @@ void wrapLogNormal(python::module &module) component .def( python::init< - const containers::Double & + const extra::Double & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/test/python/src/v2.0/pops/Standard.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Standard.python.cpp index 5013e2477..e4f425667 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/pops/Standard.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Standard.python.cpp @@ -36,7 +36,7 @@ void wrapStandard(python::module &module) component .def( python::init< - const containers::Double & + const extra::Double & >(), python::arg("double"), Component::documentation("constructor").data() diff --git a/standards/gnds-2.0/test/src/test/v2.0.hpp b/standards/gnds-2.0/test/src/test/v2.0.hpp index b2b90e0c0..3b064d4de 100644 --- a/standards/gnds-2.0/test/src/test/v2.0.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0.hpp @@ -5,9 +5,10 @@ #ifndef TEST_V2_0 #define TEST_V2_0 -#include "test/v2.0/appData/ApplicationData.hpp" +#include "test/v2.0/extra/Double.hpp" +#include "test/v2.0/extra/Uncertainty.hpp" -/* +#include "test/v2.0/appData/ApplicationData.hpp" #include "test/v2.0/appData/Institution.hpp" #include "test/v2.0/appData/ENDFconversionFlags.hpp" #include "test/v2.0/appData/Conversion.hpp" @@ -386,6 +387,5 @@ #include "test/v2.0/tsl/PhononSpectrum.hpp" #include "test/v2.0/tsl/SCTApproximation.hpp" #include "test/v2.0/tsl/FreeGasApproximation.hpp" -*/ #endif diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp index eecc7d6fe..25315e7e0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp @@ -5,7 +5,7 @@ #ifndef TEST_V2_0_CONTAINERS_LOGNORMAL #define TEST_V2_0_CONTAINERS_LOGNORMAL -#include "test/v2.0/containers/Double.hpp" +#include "test/v2.0/extra/Double.hpp" namespace test { namespace v2_0 { @@ -33,7 +33,7 @@ class LogNormal : public Component { { return // children - containers::Double{} + extra::Double{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class LogNormal : public Component { using Component::construct; // children - Field Double{this}; + Field Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class LogNormal : public Component { // default, and from fields explicit LogNormal( - const wrapper &Double = {} + const wrapper &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp index cfc1780e3..6e385606e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp @@ -6,7 +6,7 @@ #define TEST_V2_0_CONTAINERS_POLYNOMIAL1D #include "test/v2.0/containers/Axes.hpp" -#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/extra/Uncertainty.hpp" #include "test/v2.0/containers/Values.hpp" namespace test { @@ -48,7 +48,7 @@ class Polynomial1d : public Component { // children containers::Axes{} / --Child<>("axes") | - std::optional{} + std::optional{} / --Child<>("uncertainty") | containers::Values{} / --Child<>("values") @@ -72,7 +72,7 @@ class Polynomial1d : public Component { // children Field axes{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; Field values{this}; // ------------------------ @@ -98,7 +98,7 @@ class Polynomial1d : public Component { const wrapper &domainMin = {}, const wrapper &domainMax = {}, const wrapper &axes = {}, - const wrapper> &uncertainty = {}, + const wrapper> &uncertainty = {}, const wrapper &values = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp index 20b4d106e..b8f4494d7 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp @@ -7,7 +7,7 @@ #include "test/v2.0/containers/Axes.hpp" #include "test/v2.0/containers/Function1ds.hpp" -#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/extra/Uncertainty.hpp" namespace test { namespace v2_0 { @@ -44,7 +44,7 @@ class Regions1d : public Component { / --Child<>("axes") | containers::Function1ds{} / --Child<>("function1ds") | - std::optional{} + std::optional{} / --Child<>("uncertainty") ; } @@ -59,7 +59,7 @@ class Regions1d : public Component { // children Field> axes{this}; Field function1ds{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; // ------------------------ // Constructors @@ -78,7 +78,7 @@ class Regions1d : public Component { const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, const wrapper &function1ds = {}, - const wrapper> &uncertainty = {} + const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp index 5e3de005b..57eb007a6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp @@ -5,7 +5,7 @@ #ifndef TEST_V2_0_CONTAINERS_STANDARD #define TEST_V2_0_CONTAINERS_STANDARD -#include "test/v2.0/containers/Double.hpp" +#include "test/v2.0/extra/Double.hpp" namespace test { namespace v2_0 { @@ -33,7 +33,7 @@ class Standard : public Component { { return // children - containers::Double{} + extra::Double{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class Standard : public Component { using Component::construct; // children - Field Double{this}; + Field Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Standard : public Component { // default, and from fields explicit Standard( - const wrapper &Double = {} + const wrapper &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp index 060f5ee57..76b3e532f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp @@ -6,7 +6,7 @@ #define TEST_V2_0_CONTAINERS_XYS1D #include "test/v2.0/containers/Axes.hpp" -#include "test/v2.0/containers/Uncertainty.hpp" +#include "test/v2.0/extra/Uncertainty.hpp" #include "test/v2.0/containers/Values.hpp" namespace test { @@ -46,7 +46,7 @@ class XYs1d : public Component { // children std::optional{} / --Child<>("axes") | - std::optional{} + std::optional{} / --Child<>("uncertainty") | containers::Values{} / --Child<>("values") @@ -69,7 +69,7 @@ class XYs1d : public Component { // children Field> axes{this}; - Field> uncertainty{this}; + Field> uncertainty{this}; Field values{this}; // ------------------------ @@ -93,7 +93,7 @@ class XYs1d : public Component { const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, - const wrapper> &uncertainty = {}, + const wrapper> &uncertainty = {}, const wrapper &values = {} ) : GNDSTK_COMPONENT(BlockData{}), diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp index 11315561b..b4013001f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp @@ -40,7 +40,7 @@ class Acknowledgement : public Component { std::optional{} / Meta<>("label") | XMLName{} - / Meta<>("label") + / Meta<>("type") ; } @@ -58,7 +58,7 @@ class Acknowledgement : public Component { Field> encoding{this,defaults.encoding}; Field> markup{this,defaults.markup}; Field> label{this}; - Field label{this}; + Field type{this}; // ------------------------ // Constructors @@ -68,7 +68,7 @@ class Acknowledgement : public Component { this->encoding, \ this->markup, \ this->label, \ - this->label) + this->type) // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) @@ -76,13 +76,13 @@ class Acknowledgement : public Component { const wrapper> &encoding = {}, const wrapper> &markup = {}, const wrapper> &label = {}, - const wrapper &label = {} + const wrapper &type = {} ) : GNDSTK_COMPONENT(BlockData{}), encoding(this,defaults.encoding,encoding), markup(this,defaults.markup,markup), label(this,label), - label(this,label) + type(this,type) { Component::finish(); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/extra/Double.hpp b/standards/gnds-2.0/test/src/test/v2.0/extra/Double.hpp new file mode 100644 index 000000000..c897bc938 --- /dev/null +++ b/standards/gnds-2.0/test/src/test/v2.0/extra/Double.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_EXTRA_DOUBLE +#define TEST_V2_0_EXTRA_DOUBLE + +#include "test/v2.0/key.hpp" + +namespace test { +namespace v2_0 { +namespace extra { + +// ----------------------------------------------------------------------------- +// extra:: +// class Double +// ----------------------------------------------------------------------------- + +class Double : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "extra"; } + static auto CLASS() { return "Double"; } + static auto FIELD() { return "double"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::optional{} + / Meta<>("label") | + std::optional{} + / Meta<>("unit") | + Float64{} + / Meta<>("value") + ; + } + +public: + using Component::construct; + + // metadata + Field> label{this}; + Field> unit{this}; + Field value{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->unit, \ + this->value) + + // default, and from fields + explicit Double( + const wrapper> &label = {}, + const wrapper> &unit = {}, + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + unit(this,unit), + value(this,value) + { + Component::finish(); + } + + // from node + explicit Double(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Double(const Double &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Double(Double &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Double &operator=(const Double &) = default; + Double &operator=(Double &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/extra/Double/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Double + +} // namespace extra +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/gnds-2.0/test/src/test/v2.0/extra/Double/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/extra/Double/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/test/src/test/v2.0/extra/Double/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty.hpp b/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty.hpp new file mode 100644 index 000000000..ee6577a5a --- /dev/null +++ b/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty.hpp @@ -0,0 +1,134 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_EXTRA_UNCERTAINTY +#define TEST_V2_0_EXTRA_UNCERTAINTY + +#include "test/v2.0/containers/Standard.hpp" +#include "test/v2.0/containers/LogNormal.hpp" +#include "test/v2.0/containers/ConfidenceIntervals.hpp" +#include "test/v2.0/containers/Covariance.hpp" +#include "test/v2.0/containers/ListOfCovariances.hpp" + +namespace test { +namespace v2_0 { +namespace extra { + +// ----------------------------------------------------------------------------- +// extra:: +// class Uncertainty +// ----------------------------------------------------------------------------- + +class Uncertainty : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "extra"; } + static auto CLASS() { return "Uncertainty"; } + static auto FIELD() { return "uncertainty"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + std::optional{} + / --Child<>("standard") | + std::optional{} + / --Child<>("logNormal") | + std::optional{} + / --Child<>("confidenceIntervals") | + std::optional{} + / --Child<>("covariance") | + std::optional{} + / --Child<>("listOfCovariances") + ; + } + +public: + using Component::construct; + + // children + Field> standard{this}; + Field> logNormal{this}; + Field> confidenceIntervals{this}; + Field> covariance{this}; + Field> listOfCovariances{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->standard, \ + this->logNormal, \ + this->confidenceIntervals, \ + this->covariance, \ + this->listOfCovariances) + + // default, and from fields + explicit Uncertainty( + const wrapper> &standard = {}, + const wrapper> &logNormal = {}, + const wrapper> &confidenceIntervals = {}, + const wrapper> &covariance = {}, + const wrapper> &listOfCovariances = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + standard(this,standard), + logNormal(this,logNormal), + confidenceIntervals(this,confidenceIntervals), + covariance(this,covariance), + listOfCovariances(this,listOfCovariances) + { + Component::finish(); + } + + // from node + explicit Uncertainty(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(node); + } + + // copy + Uncertainty(const Uncertainty &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = other; + Component::finish(other); + } + + // move + Uncertainty(Uncertainty &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Uncertainty &operator=(const Uncertainty &) = default; + Uncertainty &operator=(Uncertainty &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/extra/Uncertainty/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Uncertainty + +} // namespace extra +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty/src/custom.hpp b/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/gnds-2.0/test/src/test/v2.0/key.hpp b/standards/gnds-2.0/test/src/test/v2.0/key.hpp index ba2f25dc7..94c2409a8 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/key.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/key.hpp @@ -372,6 +372,21 @@ using namespace child; } // namespace documentation +// ----------------------------------------------------------------------------- +// extra::child:: +// ----------------------------------------------------------------------------- + +namespace extra { +namespace child { + +inline const Child<> Double("double"); +inline const Child<> uncertainty("uncertainty"); + +} // namespace child +using namespace child; +} // namespace extra + + // ----------------------------------------------------------------------------- // fissionFragmentData::child:: // ----------------------------------------------------------------------------- @@ -749,6 +764,7 @@ namespace key { using namespace covariance::child; using namespace cpTransport::child; using namespace documentation::child; + using namespace extra::child; using namespace fissionFragmentData::child; using namespace fissionTransport::child; using namespace fpy::child; @@ -769,6 +785,7 @@ using namespace containers; using namespace covariance; using namespace cpTransport; using namespace documentation; +using namespace extra; using namespace fissionFragmentData; using namespace fissionTransport; using namespace fpy; diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp index 7016e6ebc..7c814211b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp @@ -5,7 +5,7 @@ #ifndef TEST_V2_0_POPS_LOGNORMAL #define TEST_V2_0_POPS_LOGNORMAL -#include "test/v2.0/containers/Double.hpp" +#include "test/v2.0/extra/Double.hpp" namespace test { namespace v2_0 { @@ -33,7 +33,7 @@ class LogNormal : public Component { { return // children - containers::Double{} + extra::Double{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class LogNormal : public Component { using Component::construct; // children - Field Double{this}; + Field Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class LogNormal : public Component { // default, and from fields explicit LogNormal( - const wrapper &Double = {} + const wrapper &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp index 57b908738..95408bdab 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp @@ -5,7 +5,7 @@ #ifndef TEST_V2_0_POPS_STANDARD #define TEST_V2_0_POPS_STANDARD -#include "test/v2.0/containers/Double.hpp" +#include "test/v2.0/extra/Double.hpp" namespace test { namespace v2_0 { @@ -33,7 +33,7 @@ class Standard : public Component { { return // children - containers::Double{} + extra::Double{} / --Child<>("Double") ; } @@ -42,7 +42,7 @@ class Standard : public Component { using Component::construct; // children - Field Double{this}; + Field Double{this}; // ------------------------ // Constructors @@ -53,7 +53,7 @@ class Standard : public Component { // default, and from fields explicit Standard( - const wrapper &Double = {} + const wrapper &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) From b5e2f583e01d8f208e11b08ff8b74ad784519488 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 12 Sep 2022 16:39:11 -0600 Subject: [PATCH 196/235] Debug printing in json2class, to help analyze GNDS 2.0 specs. Changes in some example specs; will help to analyze a JSON-format issue. --- autogen/json2class.cpp | 103 ++++++++++++++---- autogen/simple/.gitignore | 1 + autogen/simple/compile-cpp | 5 +- autogen/simple/example-01.cpp | 3 +- autogen/simple/example-02.cpp | 16 +++ autogen/simple/multi-classes.json | 7 +- .../multi/c/src/v1/multigroup/Foobar.cpp | 50 ++++++++- .../simple/multi/c/src/v1/multigroup/Foobar.h | 26 ++++- .../src/v1/multigroup/Foobar.python.cpp | 7 ++ autogen/simple/multi/src/multi/v1/key.hpp | 1 + .../multi/src/multi/v1/multigroup/Foobar.hpp | 21 +++- src/GNDStk/utility.hpp | 8 +- 12 files changed, 208 insertions(+), 40 deletions(-) create mode 100644 autogen/simple/example-02.cpp diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 4f0e2b4ff..d005fd411 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -11,13 +11,16 @@ using namespace njoy::GNDStk; // Where these exist, a simplification of the spec may be worth considering. const bool singletons = true; +// Extra debug/informational printing? +const bool debugging = false; + // ----------------------------------------------------------------------------- // Data structures // ----------------------------------------------------------------------------- // KeyValue -// Too bad the JSON library doesn't provide this more straightforwardly +// Too bad the JSON library doesn't provide this directly using KeyValue = nlohmann::detail::iteration_proxy_value< nlohmann::detail::iter_impl >; @@ -213,7 +216,15 @@ struct InfoSpecs { // Print text describing an action the code is about to take void action(const std::string &str) { - std::cout << colors::plain::blue << str << colors::reset << std::endl; + static const std::string inverse = "\033[7m"; + static const std::string background(80,' '); + std::cout + << inverse << colors::plain::blue << '\n' + << background << '\n' + << std::setw(80) << std::left << str << '\n' + << background << '\n' + << colors::reset + << std::endl; } // Is the string all whitespace? @@ -372,9 +383,25 @@ std::string sep(int &count, const int total) // ----------------------------------------------------------------------------- // nameGNDS -// Name in GNDS (e.g., name of an XML element) -std::string nameGNDS(const KeyValue &keyval) -{ +// Name in a GNDS file (e.g., name of an XML element) +std::string nameGNDS( + const KeyValue &keyval, + const std::string &nsname = "", + const bool print = false +) { + if (debugging && print) { + const std::string key = keyval.key(); + const std::string name = keyval.value().contains("name") + ? std::string(keyval.value()["name"]) + : key; + std::cout + << "class: " + << std::setw(20) << std::left << nsname << " " + << std::setw(48) << std::left << key << " " + << (key == name ? " " : "*") << " " + << std::left << name << std::endl; + } + // As-is, directly as stipulated in the key in the JSON spec, except // that we allow a "name" entry in the key's value to override the key. return keyval.value().contains("name") @@ -1065,8 +1092,31 @@ void writeClassContentChildren(writer &out, const PerClass &per) out(); out(1,"// children"); } - for (const auto &c : per.children) + for (const auto &c : per.children) { out(1,"Field<@> @{this};", c.typeFull, c.name); + + if (debugging && c.name == "xs") { + // todo + // Consider some terminology changes... + // ns ==> nsname + // plain ==> key (as in, the JSON key) + // typeFull ==> ? + // typeHalf ==> ? + // Also ordering: + // nsname + // key + // name + // type + // typeFull + // typeHalf + std::cout << "name == " << c.name << std::endl; + std::cout << "ns == " << c.ns << std::endl; + std::cout << "plain == " << c.plain << std::endl; + std::cout << "type == " << c.type << std::endl; + std::cout << "typeFull == " << c.typeFull << std::endl; + std::cout << "typeHalf == " << c.typeHalf << std::endl; + } + } } // writeClassContentVariants @@ -1303,11 +1353,11 @@ orderedJSON readJSONFile(const std::string &file, const bool print = false) static const std::string underlineON = "\033[4m"; static const std::string underlineOFF = "\033[24m"; - // Depending on call context, we might want to print the file name + // Depending on the call context, we might or might not print the file name if (print) { - std::cout << " "; - std::cout << underlineON << "File:" << underlineOFF << " "; - std::cout << '"' << colors::vivid::green << file << colors::reset << '"'; + const std::string f = beginsin(file,"./") ? std::string(&file[2]) : file; + std::cout << "File: "; + std::cout << '"' << colors::plain::purple << f << colors::reset << '"'; std::cout << std::endl; } @@ -1415,9 +1465,11 @@ void printSingletons(const std::string &file) const bool body = rhs.contains("bodyText") && !rhs["bodyText"].is_null(); if (metadata.size() == 0 && children.size() == 0 && !data && !body) - log::info("Class \"{}\" has no metadata, children, or data", parent); - if (metadata.size() == 0 && children.size() == 1) - log::info("Class \"{}\" has no metadata and just one child", parent); + log::info("This class has no metadata, data, or children: " + "\"{}\"", parent); + if (metadata.size() == 0 && children.size() == 1 && !data && !body) + log::info("This class has no metadata or data, and just one child: " + "\"{}\"", parent); } } // printSingletons @@ -1494,10 +1546,9 @@ void commandLine( // Report on "singletons" if (singletons) { - action("\nFinding possible simplifications..."); + action("Finding Possible Simplifications"); for (const std::string &file : specs.JSONFiles) printSingletons(file); - action("Done."); } // Changes? @@ -1602,7 +1653,7 @@ void preprocessClass( // names are computed as part of the "information" for the maps just mentioned. void preprocessFiles(InfoSpecs &specs) { - action("\nPreprocessing input files..."); + action("Preprocessing"); // files for (const std::string &file : specs.JSONFiles) { const orderedJSON jmain = readJSONFile(file,true); @@ -1611,7 +1662,6 @@ void preprocessFiles(InfoSpecs &specs) for (const auto &cl : jmain.items()) preprocessClass(specs, nsname, cl); } - action("Done."); } // preprocessFiles @@ -1644,6 +1694,20 @@ void validateChildren(const orderedJSON &children, const PerClass &per) const std::string times = getTimes(per,field.key(),field.value()); if (times == "0+" || times == "choice" || times == "choice+") assert(!field.value()["required"]); // not required + + if (debugging) { + const std::string key = field.key(); + const std::string name = field.value().contains("name") + ? std::string(field.value()["name"]) + : key; + std::cout + << "child: " + << std::setw(20) << std::left << per.nsname << " " + << std::setw(48) << std::left << per.clname << " " + << std::setw(48) << std::left << key << " " + << (key == name ? " " : "*") << " " + << std::left << name << std::endl; + } } } @@ -1669,7 +1733,7 @@ void getClass( // names per.nsname = nsname; per.clname = clname; - per.nameGNDS = nameGNDS(keyval); + per.nameGNDS = nameGNDS(keyval,nsname,true); // metadata/children information const orderedJSON attrs = getMetadataJSON(classRHS); @@ -1706,7 +1770,7 @@ void getClass( // getFiles void getFiles(InfoSpecs &specs) { - action("\nCreating classes..."); + action("Generating Code"); // files for (const std::string &file : specs.JSONFiles) { const orderedJSON jmain = readJSONFile(file,true); @@ -1715,7 +1779,6 @@ void getFiles(InfoSpecs &specs) for (const auto &cl : jmain.items()) getClass(specs, nsname, cl); } - action("Done."); } // getFiles diff --git a/autogen/simple/.gitignore b/autogen/simple/.gitignore index ff33ead56..ac71b6a84 100644 --- a/autogen/simple/.gitignore +++ b/autogen/simple/.gitignore @@ -14,3 +14,4 @@ file.json file.xml out foobar.json +m diff --git a/autogen/simple/compile-cpp b/autogen/simple/compile-cpp index 412c9aa4e..7411e1bba 100755 --- a/autogen/simple/compile-cpp +++ b/autogen/simple/compile-cpp @@ -25,4 +25,7 @@ $COMPILE ../../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp -c fi # Compile -$COMPILE example-01.cpp pugixml.o -o cpp.exe +$COMPILE example-01.cpp pugixml.o -o cpp-01.exe & +$COMPILE example-02.cpp pugixml.o -o cpp-02.exe & + +wait $(jobs -p) diff --git a/autogen/simple/example-01.cpp b/autogen/simple/example-01.cpp index 53764e559..80950cf96 100644 --- a/autogen/simple/example-01.cpp +++ b/autogen/simple/example-01.cpp @@ -4,6 +4,8 @@ using namespace multi::v1; int main() { + color = true; + // Make some elements. We can make elements ("outer // objects") first, then add isotopes ("inner objects"). Element H ("H", 1); @@ -67,6 +69,5 @@ int main() multi.write("file.h5"); // Prettyprint. - color = true; multi.print(); } diff --git a/autogen/simple/example-02.cpp b/autogen/simple/example-02.cpp new file mode 100644 index 000000000..57ef66b5d --- /dev/null +++ b/autogen/simple/example-02.cpp @@ -0,0 +1,16 @@ + +#include "multi/v1.hpp" +using namespace multi::v1; + +int main() +{ + color = true; + + // Try a Foobar all by itself. Note that class Foobar has only data, + // no metadata or child nodes. + { + Foobar f(std::vector{ 1, 2, 3, 4, 5 }); + f.write("foobar.json"); + f.read ("foobar.json"); + } +} diff --git a/autogen/simple/multi-classes.json b/autogen/simple/multi-classes.json index 34b24ded6..eeabd8395 100644 --- a/autogen/simple/multi-classes.json +++ b/autogen/simple/multi-classes.json @@ -67,7 +67,12 @@ }, "foobar": { - "metadata": { }, + "metadata": { + "value": { + "type": "string", + "required": true + } + }, "children": { }, "data": "double" } diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index 1549e2a5d..82eabc01d 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -13,6 +13,10 @@ using CPP = multigroup::Foobar; static const std::string CLASSNAME = "Foobar"; +namespace extract { + static auto value = [](auto &obj) { return &obj.value; }; +} + // ----------------------------------------------------------------------------- // Basics @@ -37,20 +41,24 @@ FoobarDefault() // Create, general, const Handle2ConstFoobar -FoobarCreateConst() -{ +FoobarCreateConst( + const char *const value +) { ConstHandle2Foobar handle = detail::createHandle( - CLASSNAME, CLASSNAME+"CreateConst" + CLASSNAME, CLASSNAME+"CreateConst", + value ); return handle; } // Create, general Handle2Foobar -FoobarCreate() -{ +FoobarCreate( + const char *const value +) { ConstHandle2Foobar handle = detail::createHandle( - CLASSNAME, CLASSNAME+"Create" + CLASSNAME, CLASSNAME+"Create", + value ); return handle; } @@ -188,3 +196,33 @@ FoobarDoublesSetArray(ConstHandle2Foobar This, const double *const values, const return detail::vectorSet (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); } + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +FoobarValueHas(ConstHandle2ConstFoobar This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +const char * +FoobarValueGet(ConstHandle2ConstFoobar This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +FoobarValueSet(ConstHandle2Foobar This, const char *const value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index a33d1c11c..055a0adae 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -75,11 +75,15 @@ FoobarDefault(); // --- Create, general, const extern_c Handle2ConstFoobar -FoobarCreateConst(); +FoobarCreateConst( + const char *const value +); // +++ Create, general extern_c Handle2Foobar -FoobarCreate(); +FoobarCreate( + const char *const value +); // +++ Assign // +++ Use this to assign one handled object to another. Don't assign handles, @@ -160,6 +164,24 @@ extern_c void FoobarDoublesSetArray(ConstHandle2Foobar This, const double *const values, const size_t size); +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +FoobarValueHas(ConstHandle2ConstFoobar This); + +// +++ Get +// +++ Returns by value +extern_c const char * +FoobarValueGet(ConstHandle2ConstFoobar This); + +// +++ Set +extern_c void +FoobarValueSet(ConstHandle2Foobar This, const char *const value); + + // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/autogen/simple/multi/python/src/v1/multigroup/Foobar.python.cpp b/autogen/simple/multi/python/src/v1/multigroup/Foobar.python.cpp index 934a63d12..4ab4891cf 100644 --- a/autogen/simple/multi/python/src/v1/multigroup/Foobar.python.cpp +++ b/autogen/simple/multi/python/src/v1/multigroup/Foobar.python.cpp @@ -36,7 +36,9 @@ void wrapFoobar(python::module &module) component .def( python::init< + const std::string & >(), + python::arg("value"), Component::documentation("constructor").data() ) .def( @@ -46,6 +48,11 @@ void wrapFoobar(python::module &module) python::arg("doubles"), Component::documentation("constructor").data() ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) .def_property_readonly( "doubles", [] (const Component &self) { return self.doubles(); }, diff --git a/autogen/simple/multi/src/multi/v1/key.hpp b/autogen/simple/multi/src/multi/v1/key.hpp index 70dc50952..fa64a18da 100644 --- a/autogen/simple/multi/src/multi/v1/key.hpp +++ b/autogen/simple/multi/src/multi/v1/key.hpp @@ -33,6 +33,7 @@ GNDSTK_MAKE_LOOKUP(mass_number,mass_number); GNDSTK_MAKE_LOOKUP(name,name); GNDSTK_MAKE_LOOKUP(projectile,projectile); GNDSTK_MAKE_LOOKUP(symbol,symbol); +GNDSTK_MAKE_LOOKUP(value,value); #undef GNDSTK_MAKE_LOOKUP diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp index 1d22a934b..85a319bea 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp @@ -31,22 +31,33 @@ class Foobar : public Component { // Core Interface multi-query to extract metadata and child nodes static auto KEYS() { - return std::tuple<>{}; + return + // metadata + std::string{} + / Meta<>("value") + ; } public: using Component::construct; using BlockData::operator=; + // metadata + Field value{this}; + // ------------------------ // Constructors // ------------------------ - #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->value) - // default - Foobar() : - GNDSTK_COMPONENT(BlockData{}) + // default, and from fields + explicit Foobar( + const wrapper &value = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + value(this,value) { Component::finish(); } diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index b05bd6eb3..98262eb01 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -125,10 +125,10 @@ inline std::string diagnostic( // this is just something to be aware of. static std::map codes = { - { "info", "\033[36;21m" }, // cyan - { "warning", "\033[33;1m" }, // yellow - { "error", "\033[31;1m" }, // red - { "debug", "\033[37;1m" } // white + { "info", "\033[32;1m" }, // green + { "warning", "\033[33;1m" }, // yellow + { "error", "\033[31;1m" }, // red + { "debug", "\033[37;1m" } // white }; static const std::string under = "\033[4m"; // underline on static const std::string unoff = "\033[24m"; // underline off From c62d3a772a3aacc48acee81c5127ca69d8c28740 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 14 Sep 2022 19:09:10 -0600 Subject: [PATCH 197/235] Fixed a JSON-related glitch, for a user. Simplified and clarified some of the JSON-related code. Updated some example/test codes. --- autogen/simple/.gitignore | 3 + autogen/simple/example-02.cpp | 25 ++- src/GNDStk/convert/src/Node.hpp | 43 +--- src/GNDStk/convert/src/detail-json2node.hpp | 227 +++++++++----------- 4 files changed, 134 insertions(+), 164 deletions(-) diff --git a/autogen/simple/.gitignore b/autogen/simple/.gitignore index ac71b6a84..05d6da7a4 100644 --- a/autogen/simple/.gitignore +++ b/autogen/simple/.gitignore @@ -1,5 +1,6 @@ [a-z] +[0-9] *.o *~ @@ -13,5 +14,7 @@ file.h5 file.json file.xml out +foobar.xml foobar.json +foobar.h5 m diff --git a/autogen/simple/example-02.cpp b/autogen/simple/example-02.cpp index 57ef66b5d..b5b38bca7 100644 --- a/autogen/simple/example-02.cpp +++ b/autogen/simple/example-02.cpp @@ -6,11 +6,30 @@ int main() { color = true; - // Try a Foobar all by itself. Note that class Foobar has only data, - // no metadata or child nodes. + // Try a Foobar all by itself { Foobar f(std::vector{ 1, 2, 3, 4, 5 }); + f.write("foobar.xml"); f.write("foobar.json"); - f.read ("foobar.json"); + f.write("foobar.h5"); + f.print(); + + // read from xml + std::cout << "\nTrying to read XML:" << std::endl; + f.read("foobar.xml"); + std::cout << "Back from XML:" << std::endl; + f.print(); + + // read from json + std::cout << "\nTrying to read JSON:" << std::endl; + f.read("foobar.json"); + std::cout << "Back from JSON:" << std::endl; + f.print(); + + // read from h5 + std::cout << "\nTrying to read H5:" << std::endl; + f.read("foobar.h5"); + std::cout << "Back from H5:" << std::endl; + f.print(); } } diff --git a/src/GNDStk/convert/src/Node.hpp b/src/GNDStk/convert/src/Node.hpp index 464a16437..8b29c29ab 100644 --- a/src/GNDStk/convert/src/Node.hpp +++ b/src/GNDStk/convert/src/Node.hpp @@ -106,10 +106,6 @@ inline bool convert(const JSON &j, Node &node, const bool &DECL) { const bool decl = detail::getDecl(node,DECL); - // ------------------------ - // bookkeeping - // ------------------------ - // clear the receiving node node.clear(); @@ -124,41 +120,18 @@ inline bool convert(const JSON &j, Node &node, const bool &DECL) return true; try { - - // ------------------------ - // validate - // ------------------------ - - // possibly redundant with the earlier empty() test, but harmless - const std::size_t size = j.doc.size(); - if (size == 0) - return true; - - // a json document should have one main node, although we may at some - // point want to find a way to relax this - if (size != 1) { - log::error("More than one main node in the JSON"); - throw std::exception{}; - } - - // ------------------------ - // convert the nodes - // ------------------------ - - // visit the node, and its children recursively - if (!detail::json2node( - j.doc.begin().key(), *j.doc.begin(), - decl ? node.add() : node - )) - return false; - + // j.doc gives a JSON "object": {...}, i.e. a JSON brace construct, + // as opposed to a JSON key/value pair or specific JSON entity such + // as integer or boolean. Elsewhere, in recursive calls to the below + // function, we'd have already determined a node's name from a key. + // In this context, however, we don't have a key. The trailing "true" + // tells json2node to infer node.name from the contents of the {...}. + detail::json2node(j.doc, decl ? node.add() : node, true); + return true; } catch (...) { log::function("convert(JSON,Node)"); throw; } - - // done - return true; } diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 606138bd9..644bcf3be 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -8,38 +8,32 @@ inline void json2node_error(const std::string &message) throw std::exception{}; } -// json2node: forward declaration +// Forward declaration template -bool json2node(const std::string &, const orderedJSON &, NODE &); +void json2node(const orderedJSON &, NODE &, const bool inferNodeName = false); // ----------------------------------------------------------------------------- // json_array // ----------------------------------------------------------------------------- -inline std::string json_array(const orderedJSON &meta) +inline std::string json_array(const orderedJSON &array) { + assert(array.is_array()); + std::ostringstream oss; int count = 0; - for (const orderedJSON &m : meta) { + for (const orderedJSON &element : array) { + // separator oss << (count++ ? " " : ""); - if (m.is_number_integer()) { - // *** number: integer - oss << m.get(); - } else if (m.is_number_unsigned()) { - // *** number: unsigned - oss << m.get(); - } else if (m.is_number_float()) { - // *** number: double - oss << m.get(); - } else if (m.is_string()) { - // *** string - oss << m.get(); - } else { - // *** unexpected - json2node_error("JSON array element has unexpected type"); - } + // array element types we use + element.is_number_integer () ? (oss << element.get()) + : element.is_number_unsigned() ? (oss << element.get()) + : element.is_number_float () ? (oss << element.get()) + : element.is_string () ? (oss << element.get()) + : // unexpected + (json2node_error("JSON array element is of unexpected type"), oss); } return oss.str(); @@ -51,58 +45,54 @@ inline std::string json_array(const orderedJSON &meta) // ----------------------------------------------------------------------------- template -bool json_pair( - NODE &node, const orderedJSON &siblings, - const std::string &key, const orderedJSON &value, const bool metadatum +void json_pair( + const std::string &key, const orderedJSON &val, + const orderedJSON &peers, NODE &node ) { - if (value.is_null()) { - // *** null - node.add(key); - } else if (value.is_boolean()) { - // *** boolean - node.add(key, value.get() ? "true" : "false"); - } else if (value.is_number_integer()) { - // *** number: integer - node.add(key, value.get()); - } else if (value.is_number_unsigned()) { - // *** number: unsigned - node.add(key, value.get()); - } else if (value.is_number_float()) { - // *** number: double - node.add(key, value.get()); - } else if (value.is_string()) { - // *** string - node.add(key, value.get()); - } else if (value.is_array()) { - // *** array - if (metadatum) - node.add(key, json_array(value)); + if (val.is_null()) { + // null; nothing to do + } else if (val.is_boolean()) { + // boolean + node.add(key, val.get() ? "true" : "false"); + } else if (val.is_number_integer()) { + // number: integer + node.add(key, val.get()); + } else if (val.is_number_unsigned()) { + // number: unsigned + node.add(key, val.get()); + } else if (val.is_number_float()) { + // number: double + node.add(key, val.get()); + } else if (val.is_string()) { + // string + node.add(key, val.get()); + } else if (val.is_array()) { + // array + if (peers.size() == 0) + node.add(key, json_array(val)); // context is such that it's metadata else { - Node &child = node.add(key); - child.add(special::pcdata).add(special::text, json_array(value)); - for (const auto &sib : siblings.items()) { - if (sib.key() == key + special::nodename) - child.name = sib.value().get(); - else if (sib.key() == key + special::metadata) - for (const auto &m : sib.value().items()) - json_pair(child, orderedJSON{}, m.key(), m.value(), true); + node.add(special::pcdata).add(special::text, json_array(val)); + for (const auto &peer : peers.items()) { + if (peer.key() == key + special::nodename) + node.name = peer.value().get(); + if (peer.key() == key + special::metadata) { + for (const auto &m : peer.value().items()) + json_pair(m.key(), m.value(), orderedJSON{}, node); + } } } - } else if (value.is_object()) { - // *** object + } else if (val.is_object()) { + // object try { - if (!json2node(key, value, node.add())) - return false; + json2node(val,node); } catch (...) { log::function("json2node()"); throw; } } else { - // *** unexpected - json2node_error("JSON value has unexpected type"); + // unexpected + json2node_error("JSON key/value pair's value is of unexpected type"); } - - return true; } @@ -110,84 +100,69 @@ bool json_pair( // json2node // ----------------------------------------------------------------------------- -// NODE is GNDStk::Node, which is an "incomplete type" to the compiler here. +// NODE is GNDStk::Node, an incomplete type to the compiler here. +// Note: the object parameter is a JSON "object", i.e. {...}. template -bool json2node(const std::string &key, const orderedJSON &siblings, NODE &node) +void json2node(const orderedJSON &object, NODE &node, bool inferNodeName) { - // The node sent here should be fresh, ready to receive entries - if (!node.empty()) - json2node_error("Node is not empty"); - - // Non-(JSON "objects") should have been handled in the caller - if (!siblings.is_object()) - json2node_error("JSON value !is_object(), but need object here"); - - // The following cases should have been handled in the caller - if (endsin(key, special::nodename)) - json2node_error( - "JSON key ends in \"" + special::nodename + "\": not expected here"); - if (endsin(key, special::metadata)) - json2node_error( - "JSON key ends in \"" + special::metadata + "\": not expected here"); - - // Node name: from key - // For special nodes (ones that begin with special::prefix), - // we know that we can, and should, remove trailing digits. - node.name = key; + // The node sent here shouldn't already have metadata or children + if (node.metadata.size() != 0 || node.children.size() != 0) + json2node_error("Node should be empty, but has metadata and/or children"); + + // Special node names (special::prefix...) need trailing digits removed if (node.name != "" && node.name[0] == special::prefix) while (isdigit(node.name.back())) node.name.pop_back(); - // ------------------------ - // JSON object's elements - // ==> metadata - // ==> children - // ------------------------ - - for (const auto &child : siblings.items()) { - const std::string &childkey = child.key(); - const orderedJSON &childval = child.value(); - - if (childkey == special::nodename) { - // *** NODENAME - node.name = childval.get(); - } else if (childkey == special::metadata) { - // *** METADATA - for (const auto &m : childval.items()) - json_pair(node, orderedJSON{}, m.key(), m.value(), true); + // For each key/value pair + for (const auto &pair : object.items()) { + const std::string &key = pair.key(); + const orderedJSON &val = pair.value(); + + if (inferNodeName && key.find(special::prefix) == std::string::npos) { + // Infer the node name from this (non-special) key + node.name = key; + inferNodeName = false; + json_pair(key, val, object, node); + } else if (key == special::nodename) { + // Special key: nodename + node.name = val.get(); + inferNodeName = false; + } else if (key == special::metadata) { + // Special key: metadata + for (const auto &m : val.items()) + json_pair(m.key(), m.value(), orderedJSON{}, node); } else if ( - beginsin(childkey,special::cdata) || - beginsin(childkey,special::comment) || - beginsin(childkey,special::pcdata) + beginsin(key,special::cdata) || + beginsin(key,special::comment) || + beginsin(key,special::pcdata) ) { - // *** CDATA[N], COMMENT[N], PCDATA[N] - if (childval.is_object()) + // Special key: cdata, comment, or pcdata, with optional suffix + if (val.is_object()) { try { - if (!json2node(childkey, childval, node.add())) - return false; + json2node(val, node.add(key)); } catch (...) { log::function("json2node()"); throw; } - else - beginsin(childkey,special::pcdata) - ? node.add(special::pcdata) - .add(special::text, json_array(childval)) - : beginsin(childkey,special::cdata) - ? node.add(special::cdata) - .add(special::text, childval.get()) - : node.add(special::comment) - .add(special::text, childval.get()); - } else if (endsin(childkey,special::nodename) || - endsin(childkey,special::metadata)) { - // *** Ignore, in this context. Note that childkey *equal* to either - // *** of those strings - not just endsin() them - was handled above. + } else { + using namespace special; + beginsin(key,pcdata) + ? node.add(pcdata ).add(text, json_array(val)) + : beginsin(key,cdata) + ? node.add(cdata ).add(text, val.get()) + : node.add(comment).add(text, val.get()); + } + } else if (endsin(key,special::nodename) || + endsin(key,special::metadata)) { + // Special key: with nodename or metadata *suffix* + // Ignore, in this context. Note that key *equal* to either of those + // was handled earlier. The cases here are dealt with in json_pair(), + // called below. There, we process e.g. "foo", and scan object.items() + // to process "foo*" where * is either of the relevant suffixes. } else { - // *** General case - json_pair(node, siblings, childkey, childval, false); + // Normal key + json_pair(key, val, object, node.add(key)); } - } - - // done - return true; + } // key/value pairs } From 5ecb938b27a88b0323c861fde20f4470bf38349b Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 19 Sep 2022 15:16:50 -0600 Subject: [PATCH 198/235] Have the code generator ignore child nodes beginning with "//". It's a convenient way to temporarily "comment out" a child node that's involved in a circular definition (of which the specs have many), until a proper solution is found. --- autogen/json2class.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index d005fd411..325fee38d 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -596,10 +596,12 @@ void getClassChildren( PerClass &per, Class2Dependencies &dep ) { for (const auto &field : j.items()) { + if (beginsin(field.key(), "//")) + continue; const auto &elemRHS = field.value(); // Choice children are handled elsewhere - const std::string times = getTimes(per,field.key(),elemRHS); + const std::string times = getTimes(per, field.key(), elemRHS); if (times == "choice" || times == "choice+" || times == "choice2+") continue; @@ -674,6 +676,9 @@ void getClassVariants( // Collect "variant" names, and if ever it's absent, a to-be-determined // name for all choice children for which it's absent for (const auto &field : j.items()) { + if (beginsin(field.key(), "//")) + continue; + // Is it a choice child? const auto &elemRHS = field.value(); const std::string times = getTimes(per,field.key(),elemRHS); @@ -689,6 +694,9 @@ void getClassVariants( // Pass 2 for (const auto &field : j.items()) { + if (beginsin(field.key(), "//")) + continue; + // Is it a choice child? const auto &elemRHS = field.value(); const std::string times = getTimes(per,field.key(),elemRHS); From 1e6e297b8c954b461ee4841b5dcdea73b0a84f40 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 19 Sep 2022 15:21:42 -0600 Subject: [PATCH 199/235] Maps: checksum to std::string, algorithm to HashAlgorithm. I'm guessing that the specs really shouldn't have both "algorithm" and "hashAlgorithm". --- standards/gnds-2.0/changes.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/standards/gnds-2.0/changes.json b/standards/gnds-2.0/changes.json index 5a6522847..e35c0ecc0 100644 --- a/standards/gnds-2.0/changes.json +++ b/standards/gnds-2.0/changes.json @@ -12,6 +12,7 @@ "bodyText" : "std::string", "attributeValue" : "std::string", "date" : "std::string", + "checksum" : "std::string", "Boolean" : "bool", "// enumerator types" : "", @@ -23,6 +24,7 @@ "interpolation" : "enums::Interpolation", "interpolationQualifier" : "enums::InterpolationQualifier", "hashAlgorithm" : "enums::HashAlgorithm", + "algorithm" : "enums::HashAlgorithm", "decayType" : "enums::DecayType", "gridStyle" : "enums::GridStyle", "boundaryCondition" : "enums::BoundaryCondition", From 40903705271e84b877c7d07180d46433811a2ac3 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 19 Sep 2022 15:23:25 -0600 Subject: [PATCH 200/235] Temporary fix to some circular definitions, using "// ...". --- standards/gnds-2.0/summary_common.json | 2 +- standards/gnds-2.0/summary_transport.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/standards/gnds-2.0/summary_common.json b/standards/gnds-2.0/summary_common.json index e9c3e72a4..d0b530685 100644 --- a/standards/gnds-2.0/summary_common.json +++ b/standards/gnds-2.0/summary_common.json @@ -114,7 +114,7 @@ "occurrence": "1", "required": true }, - "outputChannel": { + "// outputChannel": { "__class__": "nodes.ChildNode", "description": "Used if the product breaks up into fragments (e.g. \\attrval{Be8 -> He4 + He4})", "name": "outputChannel", diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json index b5e521968..710e2fa3f 100644 --- a/standards/gnds-2.0/summary_transport.json +++ b/standards/gnds-2.0/summary_transport.json @@ -370,7 +370,7 @@ "occurrence": "choice", "required": false }, - "CoulombPlusNuclearElastic": { + "// CoulombPlusNuclearElastic": { "__class__": "nodes.ChildNode", "description": "This is either a container holding the differential charged particle scattering cross section or a reference to said container.", "name": "CoulombPlusNuclearElastic", @@ -1098,7 +1098,7 @@ "occurrence": "choice", "required": false }, - "CoulombPlusNuclearElastic": { + "// CoulombPlusNuclearElastic": { "__class__": "nodes.ChildNode", "description": "This is either a container holding the differential charged particle scattering cross section or a reference to said container.", "name": "CoulombPlusNuclearElastic", From e3cefdb8bebbfecd68352a157ba68c46b4347d37 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 19 Sep 2022 15:25:41 -0600 Subject: [PATCH 201/235] Regenerated GNDS 2.0 code. --- .../test/c/src/v2.0/common/ExternalFile.cpp | 16 ++--- .../test/c/src/v2.0/common/ExternalFile.h | 16 ++--- .../test/c/src/v2.0/common/ExternalFiles.cpp | 16 ++--- .../test/c/src/v2.0/common/ExternalFiles.h | 16 ++--- .../test/c/src/v2.0/common/Product.cpp | 51 ++------------- .../gnds-2.0/test/c/src/v2.0/common/Product.h | 28 +------- .../gnds-2.0/test/c/src/v2.0/map/Import.cpp | 16 ++--- .../gnds-2.0/test/c/src/v2.0/map/Import.h | 16 ++--- .../gnds-2.0/test/c/src/v2.0/map/Map.cpp | 64 +++++++++---------- standards/gnds-2.0/test/c/src/v2.0/map/Map.h | 64 +++++++++---------- .../gnds-2.0/test/c/src/v2.0/map/Protare.cpp | 16 ++--- .../gnds-2.0/test/c/src/v2.0/map/Protare.h | 16 ++--- .../gnds-2.0/test/c/src/v2.0/map/TNSL.cpp | 16 ++--- standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h | 16 ++--- .../c/src/v2.0/transport/CrossSection.cpp | 1 - .../test/c/src/v2.0/transport/CrossSection.h | 1 - .../c/src/v2.0/transport/Distribution.cpp | 1 - .../test/c/src/v2.0/transport/Distribution.h | 1 - .../test/python/src/v2.0/common.python.cpp | 4 +- .../src/v2.0/common/ExternalFile.python.cpp | 4 +- .../python/src/v2.0/common/Product.python.cpp | 9 +-- .../python/src/v2.0/containers.python.cpp | 4 +- .../python/src/v2.0/map/Import.python.cpp | 4 +- .../test/python/src/v2.0/map/Map.python.cpp | 4 +- .../python/src/v2.0/map/Protare.python.cpp | 4 +- .../test/python/src/v2.0/map/TNSL.python.cpp | 4 +- .../test/python/src/v2.0/transport.python.cpp | 12 ++-- .../v2.0/transport/CrossSection.python.cpp | 14 ++-- .../v2.0/transport/Distribution.python.cpp | 14 ++-- .../test/python/src/v2.0/tsl.python.cpp | 4 +- .../src/test/v2.0/common/ExternalFile.hpp | 12 ++-- .../test/src/test/v2.0/common/Product.hpp | 15 ++--- .../test/src/test/v2.0/map/Import.hpp | 12 ++-- .../gnds-2.0/test/src/test/v2.0/map/Map.hpp | 12 ++-- .../test/src/test/v2.0/map/Protare.hpp | 12 ++-- .../gnds-2.0/test/src/test/v2.0/map/TNSL.hpp | 12 ++-- .../src/test/v2.0/transport/CrossSection.hpp | 29 ++++----- .../src/test/v2.0/transport/Distribution.hpp | 41 ++++++------ 38 files changed, 247 insertions(+), 350 deletions(-) diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.cpp index d7102714c..a413f71e4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.cpp @@ -47,8 +47,8 @@ Handle2ConstExternalFile ExternalFileCreateConst( const XMLName label, const XMLName path, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ) { ConstHandle2ExternalFile handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", @@ -65,8 +65,8 @@ Handle2ExternalFile ExternalFileCreate( const XMLName label, const XMLName path, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ) { ConstHandle2ExternalFile handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", @@ -224,7 +224,7 @@ ExternalFileChecksumHas(ConstHandle2ConstExternalFile This) // Get // Returns by value -checksum +const char * ExternalFileChecksumGet(ConstHandle2ConstExternalFile This) { return detail::getField @@ -233,7 +233,7 @@ ExternalFileChecksumGet(ConstHandle2ConstExternalFile This) // Set void -ExternalFileChecksumSet(ConstHandle2ExternalFile This, const checksum checksum) +ExternalFileChecksumSet(ConstHandle2ExternalFile This, const char *const checksum) { detail::setField (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); @@ -254,7 +254,7 @@ ExternalFileAlgorithmHas(ConstHandle2ConstExternalFile This) // Get // Returns by value -algorithm +enums::HashAlgorithm ExternalFileAlgorithmGet(ConstHandle2ConstExternalFile This) { return detail::getField @@ -263,7 +263,7 @@ ExternalFileAlgorithmGet(ConstHandle2ConstExternalFile This) // Set void -ExternalFileAlgorithmSet(ConstHandle2ExternalFile This, const algorithm algorithm) +ExternalFileAlgorithmSet(ConstHandle2ExternalFile This, const enums::HashAlgorithm algorithm) { detail::setField (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h index e8dcc8d36..273a78e3e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h @@ -78,8 +78,8 @@ extern_c Handle2ConstExternalFile ExternalFileCreateConst( const XMLName label, const XMLName path, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ); // +++ Create, general @@ -87,8 +87,8 @@ extern_c Handle2ExternalFile ExternalFileCreate( const XMLName label, const XMLName path, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ); // +++ Assign @@ -181,12 +181,12 @@ ExternalFileChecksumHas(ConstHandle2ConstExternalFile This); // +++ Get // +++ Returns by value -extern_c checksum +extern_c const char * ExternalFileChecksumGet(ConstHandle2ConstExternalFile This); // +++ Set extern_c void -ExternalFileChecksumSet(ConstHandle2ExternalFile This, const checksum checksum); +ExternalFileChecksumSet(ConstHandle2ExternalFile This, const char *const checksum); // ----------------------------------------------------------------------------- @@ -199,12 +199,12 @@ ExternalFileAlgorithmHas(ConstHandle2ConstExternalFile This); // +++ Get // +++ Returns by value -extern_c algorithm +extern_c enums::HashAlgorithm ExternalFileAlgorithmGet(ConstHandle2ConstExternalFile This); // +++ Set extern_c void -ExternalFileAlgorithmSet(ConstHandle2ExternalFile This, const algorithm algorithm); +ExternalFileAlgorithmSet(ConstHandle2ExternalFile This, const enums::HashAlgorithm algorithm); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.cpp index db1197a27..7d0e0a350 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.cpp @@ -298,7 +298,7 @@ ExternalFilesExternalFileSetByPath( int ExternalFilesExternalFileHasByChecksum( ConstHandle2ConstExternalFiles This, - const checksum checksum + const char *const checksum ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"ExternalFileHasByChecksum", @@ -309,7 +309,7 @@ ExternalFilesExternalFileHasByChecksum( Handle2ConstExternalFile ExternalFilesExternalFileGetByChecksumConst( ConstHandle2ConstExternalFiles This, - const checksum checksum + const char *const checksum ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ExternalFileGetByChecksumConst", @@ -320,7 +320,7 @@ ExternalFilesExternalFileGetByChecksumConst( Handle2ExternalFile ExternalFilesExternalFileGetByChecksum( ConstHandle2ExternalFiles This, - const checksum checksum + const char *const checksum ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ExternalFileGetByChecksum", @@ -331,7 +331,7 @@ ExternalFilesExternalFileGetByChecksum( void ExternalFilesExternalFileSetByChecksum( ConstHandle2ExternalFiles This, - const checksum checksum, + const char *const checksum, ConstHandle2ConstExternalFile externalFile ) { detail::setByMetadatum @@ -343,7 +343,7 @@ ExternalFilesExternalFileSetByChecksum( int ExternalFilesExternalFileHasByAlgorithm( ConstHandle2ConstExternalFiles This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"ExternalFileHasByAlgorithm", @@ -354,7 +354,7 @@ ExternalFilesExternalFileHasByAlgorithm( Handle2ConstExternalFile ExternalFilesExternalFileGetByAlgorithmConst( ConstHandle2ConstExternalFiles This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ExternalFileGetByAlgorithmConst", @@ -365,7 +365,7 @@ ExternalFilesExternalFileGetByAlgorithmConst( Handle2ExternalFile ExternalFilesExternalFileGetByAlgorithm( ConstHandle2ExternalFiles This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ExternalFileGetByAlgorithm", @@ -376,7 +376,7 @@ ExternalFilesExternalFileGetByAlgorithm( void ExternalFilesExternalFileSetByAlgorithm( ConstHandle2ExternalFiles This, - const algorithm algorithm, + const enums::HashAlgorithm algorithm, ConstHandle2ConstExternalFile externalFile ) { detail::setByMetadatum diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h index b2eeb1013..0bc7366e7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h @@ -228,28 +228,28 @@ ExternalFilesExternalFileSetByPath( extern_c int ExternalFilesExternalFileHasByChecksum( ConstHandle2ConstExternalFiles This, - const checksum checksum + const char *const checksum ); // --- Get, by checksum, const extern_c Handle2ConstExternalFile ExternalFilesExternalFileGetByChecksumConst( ConstHandle2ConstExternalFiles This, - const checksum checksum + const char *const checksum ); // +++ Get, by checksum, non-const extern_c Handle2ExternalFile ExternalFilesExternalFileGetByChecksum( ConstHandle2ExternalFiles This, - const checksum checksum + const char *const checksum ); // +++ Set, by checksum extern_c void ExternalFilesExternalFileSetByChecksum( ConstHandle2ExternalFiles This, - const checksum checksum, + const char *const checksum, ConstHandle2ConstExternalFile externalFile ); @@ -257,28 +257,28 @@ ExternalFilesExternalFileSetByChecksum( extern_c int ExternalFilesExternalFileHasByAlgorithm( ConstHandle2ConstExternalFiles This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // --- Get, by algorithm, const extern_c Handle2ConstExternalFile ExternalFilesExternalFileGetByAlgorithmConst( ConstHandle2ConstExternalFiles This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // +++ Get, by algorithm, non-const extern_c Handle2ExternalFile ExternalFilesExternalFileGetByAlgorithm( ConstHandle2ExternalFiles This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // +++ Set, by algorithm extern_c void ExternalFilesExternalFileSetByAlgorithm( ConstHandle2ExternalFiles This, - const algorithm algorithm, + const enums::HashAlgorithm algorithm, ConstHandle2ConstExternalFile externalFile ); diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Product.cpp b/standards/gnds-2.0/test/c/src/v2.0/common/Product.cpp index b64899e01..cf3fed0db 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Product.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Product.cpp @@ -18,12 +18,10 @@ namespace extract { static auto pid = [](auto &obj) { return &obj.pid; }; static auto multiplicity = [](auto &obj) { return &obj.multiplicity; }; static auto distribution = [](auto &obj) { return &obj.distribution; }; - static auto outputChannel = [](auto &obj) { return &obj.outputChannel; }; } using CPPMultiplicity = transport::Multiplicity; using CPPDistribution = transport::Distribution; -using CPPOutputChannel = transport::OutputChannel; // ----------------------------------------------------------------------------- @@ -53,16 +51,14 @@ ProductCreateConst( const XMLName label, const XMLName pid, ConstHandle2ConstMultiplicity multiplicity, - ConstHandle2ConstDistribution distribution, - ConstHandle2ConstOutputChannel outputChannel + ConstHandle2ConstDistribution distribution ) { ConstHandle2Product handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", label, pid, detail::tocpp(multiplicity), - detail::tocpp(distribution), - detail::tocpp(outputChannel) + detail::tocpp(distribution) ); return handle; } @@ -73,16 +69,14 @@ ProductCreate( const XMLName label, const XMLName pid, ConstHandle2ConstMultiplicity multiplicity, - ConstHandle2ConstDistribution distribution, - ConstHandle2ConstOutputChannel outputChannel + ConstHandle2ConstDistribution distribution ) { ConstHandle2Product handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", label, pid, detail::tocpp(multiplicity), - detail::tocpp(distribution), - detail::tocpp(outputChannel) + detail::tocpp(distribution) ); return handle; } @@ -291,40 +285,3 @@ ProductDistributionSet(ConstHandle2Product This, ConstHandle2ConstDistribution d detail::setField (CLASSNAME, CLASSNAME+"DistributionSet", This, extract::distribution, distribution); } - - -// ----------------------------------------------------------------------------- -// Child: outputChannel -// ----------------------------------------------------------------------------- - -// Has -int -ProductOutputChannelHas(ConstHandle2ConstProduct This) -{ - return detail::hasField - (CLASSNAME, CLASSNAME+"OutputChannelHas", This, extract::outputChannel); -} - -// Get, const -Handle2ConstOutputChannel -ProductOutputChannelGetConst(ConstHandle2ConstProduct This) -{ - return detail::getField - (CLASSNAME, CLASSNAME+"OutputChannelGetConst", This, extract::outputChannel); -} - -// Get, non-const -Handle2OutputChannel -ProductOutputChannelGet(ConstHandle2Product This) -{ - return detail::getField - (CLASSNAME, CLASSNAME+"OutputChannelGet", This, extract::outputChannel); -} - -// Set -void -ProductOutputChannelSet(ConstHandle2Product This, ConstHandle2ConstOutputChannel outputChannel) -{ - detail::setField - (CLASSNAME, CLASSNAME+"OutputChannelSet", This, extract::outputChannel, outputChannel); -} diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Product.h b/standards/gnds-2.0/test/c/src/v2.0/common/Product.h index 181422a49..8e89994fb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Product.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Product.h @@ -34,7 +34,6 @@ #include "GNDStk.h" #include "v2.0/transport/Multiplicity.h" #include "v2.0/transport/Distribution.h" -#include "v2.0/transport/OutputChannel.h" #ifdef __cplusplus #define extern_c extern "C" @@ -82,8 +81,7 @@ ProductCreateConst( const XMLName label, const XMLName pid, ConstHandle2ConstMultiplicity multiplicity, - ConstHandle2ConstDistribution distribution, - ConstHandle2ConstOutputChannel outputChannel + ConstHandle2ConstDistribution distribution ); // +++ Create, general @@ -92,8 +90,7 @@ ProductCreate( const XMLName label, const XMLName pid, ConstHandle2ConstMultiplicity multiplicity, - ConstHandle2ConstDistribution distribution, - ConstHandle2ConstOutputChannel outputChannel + ConstHandle2ConstDistribution distribution ); // +++ Assign @@ -218,27 +215,6 @@ extern_c void ProductDistributionSet(ConstHandle2Product This, ConstHandle2ConstDistribution distribution); -// ----------------------------------------------------------------------------- -// Child: outputChannel -// ----------------------------------------------------------------------------- - -// +++ Has -extern_c int -ProductOutputChannelHas(ConstHandle2ConstProduct This); - -// --- Get, const -extern_c Handle2ConstOutputChannel -ProductOutputChannelGetConst(ConstHandle2ConstProduct This); - -// +++ Get, non-const -extern_c Handle2OutputChannel -ProductOutputChannelGet(ConstHandle2Product This); - -// +++ Set -extern_c void -ProductOutputChannelSet(ConstHandle2Product This, ConstHandle2ConstOutputChannel outputChannel); - - // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Import.cpp b/standards/gnds-2.0/test/c/src/v2.0/map/Import.cpp index b801a68ad..f350e1764 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Import.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Import.cpp @@ -45,8 +45,8 @@ ImportDefault() Handle2ConstImport ImportCreateConst( const XMLName path, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ) { ConstHandle2Import handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", @@ -61,8 +61,8 @@ ImportCreateConst( Handle2Import ImportCreate( const XMLName path, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ) { ConstHandle2Import handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", @@ -189,7 +189,7 @@ ImportChecksumHas(ConstHandle2ConstImport This) // Get // Returns by value -checksum +const char * ImportChecksumGet(ConstHandle2ConstImport This) { return detail::getField @@ -198,7 +198,7 @@ ImportChecksumGet(ConstHandle2ConstImport This) // Set void -ImportChecksumSet(ConstHandle2Import This, const checksum checksum) +ImportChecksumSet(ConstHandle2Import This, const char *const checksum) { detail::setField (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); @@ -219,7 +219,7 @@ ImportAlgorithmHas(ConstHandle2ConstImport This) // Get // Returns by value -algorithm +enums::HashAlgorithm ImportAlgorithmGet(ConstHandle2ConstImport This) { return detail::getField @@ -228,7 +228,7 @@ ImportAlgorithmGet(ConstHandle2ConstImport This) // Set void -ImportAlgorithmSet(ConstHandle2Import This, const algorithm algorithm) +ImportAlgorithmSet(ConstHandle2Import This, const enums::HashAlgorithm algorithm) { detail::setField (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Import.h b/standards/gnds-2.0/test/c/src/v2.0/map/Import.h index 7ee2b38c9..3d30aac37 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Import.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Import.h @@ -77,16 +77,16 @@ ImportDefault(); extern_c Handle2ConstImport ImportCreateConst( const XMLName path, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ); // +++ Create, general extern_c Handle2Import ImportCreate( const XMLName path, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ); // +++ Assign @@ -161,12 +161,12 @@ ImportChecksumHas(ConstHandle2ConstImport This); // +++ Get // +++ Returns by value -extern_c checksum +extern_c const char * ImportChecksumGet(ConstHandle2ConstImport This); // +++ Set extern_c void -ImportChecksumSet(ConstHandle2Import This, const checksum checksum); +ImportChecksumSet(ConstHandle2Import This, const char *const checksum); // ----------------------------------------------------------------------------- @@ -179,12 +179,12 @@ ImportAlgorithmHas(ConstHandle2ConstImport This); // +++ Get // +++ Returns by value -extern_c algorithm +extern_c enums::HashAlgorithm ImportAlgorithmGet(ConstHandle2ConstImport This); // +++ Set extern_c void -ImportAlgorithmSet(ConstHandle2Import This, const algorithm algorithm); +ImportAlgorithmSet(ConstHandle2Import This, const enums::HashAlgorithm algorithm); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Map.cpp b/standards/gnds-2.0/test/c/src/v2.0/map/Map.cpp index 401f00622..102c55d56 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Map.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Map.cpp @@ -54,8 +54,8 @@ Handle2ConstMap MapCreateConst( const XMLName library, const XMLName format, - const checksum checksum, - const algorithm algorithm, + const char *const checksum, + const enums::HashAlgorithm algorithm, ConstHandle2Import *const import, const size_t importSize, ConstHandle2Protare *const protare, const size_t protareSize, ConstHandle2TNSL *const TNSL, const size_t TNSLSize @@ -84,8 +84,8 @@ Handle2Map MapCreate( const XMLName library, const XMLName format, - const checksum checksum, - const algorithm algorithm, + const char *const checksum, + const enums::HashAlgorithm algorithm, ConstHandle2Import *const import, const size_t importSize, ConstHandle2Protare *const protare, const size_t protareSize, ConstHandle2TNSL *const TNSL, const size_t TNSLSize @@ -255,7 +255,7 @@ MapChecksumHas(ConstHandle2ConstMap This) // Get // Returns by value -checksum +const char * MapChecksumGet(ConstHandle2ConstMap This) { return detail::getField @@ -264,7 +264,7 @@ MapChecksumGet(ConstHandle2ConstMap This) // Set void -MapChecksumSet(ConstHandle2Map This, const checksum checksum) +MapChecksumSet(ConstHandle2Map This, const char *const checksum) { detail::setField (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); @@ -285,7 +285,7 @@ MapAlgorithmHas(ConstHandle2ConstMap This) // Get // Returns by value -algorithm +enums::HashAlgorithm MapAlgorithmGet(ConstHandle2ConstMap This) { return detail::getField @@ -294,7 +294,7 @@ MapAlgorithmGet(ConstHandle2ConstMap This) // Set void -MapAlgorithmSet(ConstHandle2Map This, const algorithm algorithm) +MapAlgorithmSet(ConstHandle2Map This, const enums::HashAlgorithm algorithm) { detail::setField (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); @@ -413,7 +413,7 @@ MapImportSetByPath( int MapImportHasByChecksum( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"ImportHasByChecksum", @@ -424,7 +424,7 @@ MapImportHasByChecksum( Handle2ConstImport MapImportGetByChecksumConst( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ImportGetByChecksumConst", @@ -435,7 +435,7 @@ MapImportGetByChecksumConst( Handle2Import MapImportGetByChecksum( ConstHandle2Map This, - const checksum checksum + const char *const checksum ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ImportGetByChecksum", @@ -446,7 +446,7 @@ MapImportGetByChecksum( void MapImportSetByChecksum( ConstHandle2Map This, - const checksum checksum, + const char *const checksum, ConstHandle2ConstImport import ) { detail::setByMetadatum @@ -458,7 +458,7 @@ MapImportSetByChecksum( int MapImportHasByAlgorithm( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"ImportHasByAlgorithm", @@ -469,7 +469,7 @@ MapImportHasByAlgorithm( Handle2ConstImport MapImportGetByAlgorithmConst( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ImportGetByAlgorithmConst", @@ -480,7 +480,7 @@ MapImportGetByAlgorithmConst( Handle2Import MapImportGetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ImportGetByAlgorithm", @@ -491,7 +491,7 @@ MapImportGetByAlgorithm( void MapImportSetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm, + const enums::HashAlgorithm algorithm, ConstHandle2ConstImport import ) { detail::setByMetadatum @@ -792,7 +792,7 @@ MapProtareSetByInteraction( int MapProtareHasByChecksum( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"ProtareHasByChecksum", @@ -803,7 +803,7 @@ MapProtareHasByChecksum( Handle2ConstProtare MapProtareGetByChecksumConst( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ProtareGetByChecksumConst", @@ -814,7 +814,7 @@ MapProtareGetByChecksumConst( Handle2Protare MapProtareGetByChecksum( ConstHandle2Map This, - const checksum checksum + const char *const checksum ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ProtareGetByChecksum", @@ -825,7 +825,7 @@ MapProtareGetByChecksum( void MapProtareSetByChecksum( ConstHandle2Map This, - const checksum checksum, + const char *const checksum, ConstHandle2ConstProtare protare ) { detail::setByMetadatum @@ -837,7 +837,7 @@ MapProtareSetByChecksum( int MapProtareHasByAlgorithm( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"ProtareHasByAlgorithm", @@ -848,7 +848,7 @@ MapProtareHasByAlgorithm( Handle2ConstProtare MapProtareGetByAlgorithmConst( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ProtareGetByAlgorithmConst", @@ -859,7 +859,7 @@ MapProtareGetByAlgorithmConst( Handle2Protare MapProtareGetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"ProtareGetByAlgorithm", @@ -870,7 +870,7 @@ MapProtareGetByAlgorithm( void MapProtareSetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm, + const enums::HashAlgorithm algorithm, ConstHandle2ConstProtare protare ) { detail::setByMetadatum @@ -1171,7 +1171,7 @@ MapTNSLSetByInteraction( int MapTNSLHasByChecksum( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"TNSLHasByChecksum", @@ -1182,7 +1182,7 @@ MapTNSLHasByChecksum( Handle2ConstTNSL MapTNSLGetByChecksumConst( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"TNSLGetByChecksumConst", @@ -1193,7 +1193,7 @@ MapTNSLGetByChecksumConst( Handle2TNSL MapTNSLGetByChecksum( ConstHandle2Map This, - const checksum checksum + const char *const checksum ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"TNSLGetByChecksum", @@ -1204,7 +1204,7 @@ MapTNSLGetByChecksum( void MapTNSLSetByChecksum( ConstHandle2Map This, - const checksum checksum, + const char *const checksum, ConstHandle2ConstTNSL TNSL ) { detail::setByMetadatum @@ -1216,7 +1216,7 @@ MapTNSLSetByChecksum( int MapTNSLHasByAlgorithm( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::hasByMetadatum (CLASSNAME, CLASSNAME+"TNSLHasByAlgorithm", @@ -1227,7 +1227,7 @@ MapTNSLHasByAlgorithm( Handle2ConstTNSL MapTNSLGetByAlgorithmConst( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"TNSLGetByAlgorithmConst", @@ -1238,7 +1238,7 @@ MapTNSLGetByAlgorithmConst( Handle2TNSL MapTNSLGetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ) { return detail::getByMetadatum (CLASSNAME, CLASSNAME+"TNSLGetByAlgorithm", @@ -1249,7 +1249,7 @@ MapTNSLGetByAlgorithm( void MapTNSLSetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm, + const enums::HashAlgorithm algorithm, ConstHandle2ConstTNSL TNSL ) { detail::setByMetadatum diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Map.h b/standards/gnds-2.0/test/c/src/v2.0/map/Map.h index 2617ae180..3f9da8194 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Map.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Map.h @@ -81,8 +81,8 @@ extern_c Handle2ConstMap MapCreateConst( const XMLName library, const XMLName format, - const checksum checksum, - const algorithm algorithm, + const char *const checksum, + const enums::HashAlgorithm algorithm, ConstHandle2Import *const import, const size_t importSize, ConstHandle2Protare *const protare, const size_t protareSize, ConstHandle2TNSL *const TNSL, const size_t TNSLSize @@ -93,8 +93,8 @@ extern_c Handle2Map MapCreate( const XMLName library, const XMLName format, - const checksum checksum, - const algorithm algorithm, + const char *const checksum, + const enums::HashAlgorithm algorithm, ConstHandle2Import *const import, const size_t importSize, ConstHandle2Protare *const protare, const size_t protareSize, ConstHandle2TNSL *const TNSL, const size_t TNSLSize @@ -190,12 +190,12 @@ MapChecksumHas(ConstHandle2ConstMap This); // +++ Get // +++ Returns by value -extern_c checksum +extern_c const char * MapChecksumGet(ConstHandle2ConstMap This); // +++ Set extern_c void -MapChecksumSet(ConstHandle2Map This, const checksum checksum); +MapChecksumSet(ConstHandle2Map This, const char *const checksum); // ----------------------------------------------------------------------------- @@ -208,12 +208,12 @@ MapAlgorithmHas(ConstHandle2ConstMap This); // +++ Get // +++ Returns by value -extern_c algorithm +extern_c enums::HashAlgorithm MapAlgorithmGet(ConstHandle2ConstMap This); // +++ Set extern_c void -MapAlgorithmSet(ConstHandle2Map This, const algorithm algorithm); +MapAlgorithmSet(ConstHandle2Map This, const enums::HashAlgorithm algorithm); // ----------------------------------------------------------------------------- @@ -285,28 +285,28 @@ MapImportSetByPath( extern_c int MapImportHasByChecksum( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ); // --- Get, by checksum, const extern_c Handle2ConstImport MapImportGetByChecksumConst( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ); // +++ Get, by checksum, non-const extern_c Handle2Import MapImportGetByChecksum( ConstHandle2Map This, - const checksum checksum + const char *const checksum ); // +++ Set, by checksum extern_c void MapImportSetByChecksum( ConstHandle2Map This, - const checksum checksum, + const char *const checksum, ConstHandle2ConstImport import ); @@ -314,28 +314,28 @@ MapImportSetByChecksum( extern_c int MapImportHasByAlgorithm( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // --- Get, by algorithm, const extern_c Handle2ConstImport MapImportGetByAlgorithmConst( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // +++ Get, by algorithm, non-const extern_c Handle2Import MapImportGetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // +++ Set, by algorithm extern_c void MapImportSetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm, + const enums::HashAlgorithm algorithm, ConstHandle2ConstImport import ); @@ -525,28 +525,28 @@ MapProtareSetByInteraction( extern_c int MapProtareHasByChecksum( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ); // --- Get, by checksum, const extern_c Handle2ConstProtare MapProtareGetByChecksumConst( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ); // +++ Get, by checksum, non-const extern_c Handle2Protare MapProtareGetByChecksum( ConstHandle2Map This, - const checksum checksum + const char *const checksum ); // +++ Set, by checksum extern_c void MapProtareSetByChecksum( ConstHandle2Map This, - const checksum checksum, + const char *const checksum, ConstHandle2ConstProtare protare ); @@ -554,28 +554,28 @@ MapProtareSetByChecksum( extern_c int MapProtareHasByAlgorithm( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // --- Get, by algorithm, const extern_c Handle2ConstProtare MapProtareGetByAlgorithmConst( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // +++ Get, by algorithm, non-const extern_c Handle2Protare MapProtareGetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // +++ Set, by algorithm extern_c void MapProtareSetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm, + const enums::HashAlgorithm algorithm, ConstHandle2ConstProtare protare ); @@ -765,28 +765,28 @@ MapTNSLSetByInteraction( extern_c int MapTNSLHasByChecksum( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ); // --- Get, by checksum, const extern_c Handle2ConstTNSL MapTNSLGetByChecksumConst( ConstHandle2ConstMap This, - const checksum checksum + const char *const checksum ); // +++ Get, by checksum, non-const extern_c Handle2TNSL MapTNSLGetByChecksum( ConstHandle2Map This, - const checksum checksum + const char *const checksum ); // +++ Set, by checksum extern_c void MapTNSLSetByChecksum( ConstHandle2Map This, - const checksum checksum, + const char *const checksum, ConstHandle2ConstTNSL TNSL ); @@ -794,28 +794,28 @@ MapTNSLSetByChecksum( extern_c int MapTNSLHasByAlgorithm( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // --- Get, by algorithm, const extern_c Handle2ConstTNSL MapTNSLGetByAlgorithmConst( ConstHandle2ConstMap This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // +++ Get, by algorithm, non-const extern_c Handle2TNSL MapTNSLGetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm + const enums::HashAlgorithm algorithm ); // +++ Set, by algorithm extern_c void MapTNSLSetByAlgorithm( ConstHandle2Map This, - const algorithm algorithm, + const enums::HashAlgorithm algorithm, ConstHandle2ConstTNSL TNSL ); diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Protare.cpp b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.cpp index 842a56c39..b2b343b95 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Protare.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.cpp @@ -53,8 +53,8 @@ ProtareCreateConst( const XMLName evaluation, const XMLName path, const XMLName interaction, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ) { ConstHandle2Protare handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", @@ -77,8 +77,8 @@ ProtareCreate( const XMLName evaluation, const XMLName path, const XMLName interaction, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ) { ConstHandle2Protare handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", @@ -329,7 +329,7 @@ ProtareChecksumHas(ConstHandle2ConstProtare This) // Get // Returns by value -checksum +const char * ProtareChecksumGet(ConstHandle2ConstProtare This) { return detail::getField @@ -338,7 +338,7 @@ ProtareChecksumGet(ConstHandle2ConstProtare This) // Set void -ProtareChecksumSet(ConstHandle2Protare This, const checksum checksum) +ProtareChecksumSet(ConstHandle2Protare This, const char *const checksum) { detail::setField (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); @@ -359,7 +359,7 @@ ProtareAlgorithmHas(ConstHandle2ConstProtare This) // Get // Returns by value -algorithm +enums::HashAlgorithm ProtareAlgorithmGet(ConstHandle2ConstProtare This) { return detail::getField @@ -368,7 +368,7 @@ ProtareAlgorithmGet(ConstHandle2ConstProtare This) // Set void -ProtareAlgorithmSet(ConstHandle2Protare This, const algorithm algorithm) +ProtareAlgorithmSet(ConstHandle2Protare This, const enums::HashAlgorithm algorithm) { detail::setField (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h index dfe9f98d7..f75137809 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h @@ -81,8 +81,8 @@ ProtareCreateConst( const XMLName evaluation, const XMLName path, const XMLName interaction, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ); // +++ Create, general @@ -93,8 +93,8 @@ ProtareCreate( const XMLName evaluation, const XMLName path, const XMLName interaction, - const checksum checksum, - const algorithm algorithm + const char *const checksum, + const enums::HashAlgorithm algorithm ); // +++ Assign @@ -241,12 +241,12 @@ ProtareChecksumHas(ConstHandle2ConstProtare This); // +++ Get // +++ Returns by value -extern_c checksum +extern_c const char * ProtareChecksumGet(ConstHandle2ConstProtare This); // +++ Set extern_c void -ProtareChecksumSet(ConstHandle2Protare This, const checksum checksum); +ProtareChecksumSet(ConstHandle2Protare This, const char *const checksum); // ----------------------------------------------------------------------------- @@ -259,12 +259,12 @@ ProtareAlgorithmHas(ConstHandle2ConstProtare This); // +++ Get // +++ Returns by value -extern_c algorithm +extern_c enums::HashAlgorithm ProtareAlgorithmGet(ConstHandle2ConstProtare This); // +++ Set extern_c void -ProtareAlgorithmSet(ConstHandle2Protare This, const algorithm algorithm); +ProtareAlgorithmSet(ConstHandle2Protare This, const enums::HashAlgorithm algorithm); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.cpp b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.cpp index a1384ef77..3ea1d5fe0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.cpp @@ -55,8 +55,8 @@ TNSLCreateConst( const XMLName evaluation, const XMLName path, const XMLName interaction, - const checksum checksum, - const algorithm algorithm, + const char *const checksum, + const enums::HashAlgorithm algorithm, const XMLName standardTarget, const XMLName standardEvaluation ) { @@ -83,8 +83,8 @@ TNSLCreate( const XMLName evaluation, const XMLName path, const XMLName interaction, - const checksum checksum, - const algorithm algorithm, + const char *const checksum, + const enums::HashAlgorithm algorithm, const XMLName standardTarget, const XMLName standardEvaluation ) { @@ -339,7 +339,7 @@ TNSLChecksumHas(ConstHandle2ConstTNSL This) // Get // Returns by value -checksum +const char * TNSLChecksumGet(ConstHandle2ConstTNSL This) { return detail::getField @@ -348,7 +348,7 @@ TNSLChecksumGet(ConstHandle2ConstTNSL This) // Set void -TNSLChecksumSet(ConstHandle2TNSL This, const checksum checksum) +TNSLChecksumSet(ConstHandle2TNSL This, const char *const checksum) { detail::setField (CLASSNAME, CLASSNAME+"ChecksumSet", This, extract::checksum, checksum); @@ -369,7 +369,7 @@ TNSLAlgorithmHas(ConstHandle2ConstTNSL This) // Get // Returns by value -algorithm +enums::HashAlgorithm TNSLAlgorithmGet(ConstHandle2ConstTNSL This) { return detail::getField @@ -378,7 +378,7 @@ TNSLAlgorithmGet(ConstHandle2ConstTNSL This) // Set void -TNSLAlgorithmSet(ConstHandle2TNSL This, const algorithm algorithm) +TNSLAlgorithmSet(ConstHandle2TNSL This, const enums::HashAlgorithm algorithm) { detail::setField (CLASSNAME, CLASSNAME+"AlgorithmSet", This, extract::algorithm, algorithm); diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h index 8f217844d..d5cea66eb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h @@ -81,8 +81,8 @@ TNSLCreateConst( const XMLName evaluation, const XMLName path, const XMLName interaction, - const checksum checksum, - const algorithm algorithm, + const char *const checksum, + const enums::HashAlgorithm algorithm, const XMLName standardTarget, const XMLName standardEvaluation ); @@ -95,8 +95,8 @@ TNSLCreate( const XMLName evaluation, const XMLName path, const XMLName interaction, - const checksum checksum, - const algorithm algorithm, + const char *const checksum, + const enums::HashAlgorithm algorithm, const XMLName standardTarget, const XMLName standardEvaluation ); @@ -245,12 +245,12 @@ TNSLChecksumHas(ConstHandle2ConstTNSL This); // +++ Get // +++ Returns by value -extern_c checksum +extern_c const char * TNSLChecksumGet(ConstHandle2ConstTNSL This); // +++ Set extern_c void -TNSLChecksumSet(ConstHandle2TNSL This, const checksum checksum); +TNSLChecksumSet(ConstHandle2TNSL This, const char *const checksum); // ----------------------------------------------------------------------------- @@ -263,12 +263,12 @@ TNSLAlgorithmHas(ConstHandle2ConstTNSL This); // +++ Get // +++ Returns by value -extern_c algorithm +extern_c enums::HashAlgorithm TNSLAlgorithmGet(ConstHandle2ConstTNSL This); // +++ Set extern_c void -TNSLAlgorithmSet(ConstHandle2TNSL This, const algorithm algorithm); +TNSLAlgorithmSet(ConstHandle2TNSL This, const enums::HashAlgorithm algorithm); // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp index d834e595c..a577bdf01 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp @@ -20,7 +20,6 @@ namespace extract { using CPPXYs1d = containers::XYs1d; using CPPRegions1d = containers::Regions1d; using CPPResonancesWithBackground = transport::ResonancesWithBackground; -using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; using CPPThermalNeutronScatteringLaw1d = tsl::ThermalNeutronScatteringLaw1d; using CPPReference = transport::Reference; using CPPGridded1d = containers::Gridded1d; diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h index fa64cdece..896cbf126 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h @@ -35,7 +35,6 @@ #include "v2.0/containers/XYs1d.h" #include "v2.0/containers/Regions1d.h" #include "v2.0/transport/ResonancesWithBackground.h" -#include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" #include "v2.0/tsl/ThermalNeutronScatteringLaw1d.h" #include "v2.0/transport/Reference.h" #include "v2.0/containers/Gridded1d.h" diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp index add2d011c..27dde9c3b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp @@ -23,7 +23,6 @@ using CPPEnergyAngular = transport::EnergyAngular; using CPPKalbachMann = transport::KalbachMann; using CPPReference = transport::Reference; using CPPBranching3d = transport::Branching3d; -using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; using CPPThermalNeutronScatteringLaw = tsl::ThermalNeutronScatteringLaw; using CPPCoherentPhotonScattering = atomic::CoherentPhotonScattering; using CPPIncoherentPhotonScattering = atomic::IncoherentPhotonScattering; diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h index dbd3933c7..d9b0bbd4d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h @@ -39,7 +39,6 @@ #include "v2.0/transport/KalbachMann.h" #include "v2.0/transport/Reference.h" #include "v2.0/transport/Branching3d.h" -#include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" #include "v2.0/tsl/ThermalNeutronScatteringLaw.h" #include "v2.0/atomic/CoherentPhotonScattering.h" #include "v2.0/atomic/IncoherentPhotonScattering.h" diff --git a/standards/gnds-2.0/test/python/src/v2.0/common.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common.python.cpp index 3ec7a142e..0ff5d439d 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/common.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common.python.cpp @@ -14,8 +14,8 @@ namespace python_v2_0 { namespace python_common { void wrapQ(python::module &); void wrapEnergy(python::module &); - void wrapProducts(python::module &); void wrapProduct(python::module &); + void wrapProducts(python::module &); void wrapMass(python::module &); void wrapProbability(python::module &); void wrapTemperature(python::module &); @@ -35,8 +35,8 @@ void wrapCommon(python::module &module) // wrap common components python_common::wrapQ(submodule); python_common::wrapEnergy(submodule); - python_common::wrapProducts(submodule); python_common::wrapProduct(submodule); + python_common::wrapProducts(submodule); python_common::wrapMass(submodule); python_common::wrapProbability(submodule); python_common::wrapTemperature(submodule); diff --git a/standards/gnds-2.0/test/python/src/v2.0/common/ExternalFile.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/ExternalFile.python.cpp index ac51dd90a..6657f2a09 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/common/ExternalFile.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/ExternalFile.python.cpp @@ -38,8 +38,8 @@ void wrapExternalFile(python::module &module) python::init< const XMLName &, const XMLName &, - const std::optional &, - const std::optional & + const std::optional &, + const std::optional & >(), python::arg("label"), python::arg("path"), diff --git a/standards/gnds-2.0/test/python/src/v2.0/common/Product.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/common/Product.python.cpp index fbe7432d3..e81f435d3 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/common/Product.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/common/Product.python.cpp @@ -39,14 +39,12 @@ void wrapProduct(python::module &module) const XMLName &, const XMLName &, const transport::Multiplicity &, - const transport::Distribution &, - const std::optional & + const transport::Distribution & >(), python::arg("label"), python::arg("pid"), python::arg("multiplicity"), python::arg("distribution"), - python::arg("output_channel") = std::nullopt, Component::documentation("constructor").data() ) .def_property_readonly( @@ -69,11 +67,6 @@ void wrapProduct(python::module &module) [](const Component &self) { return self.distribution(); }, Component::documentation("distribution").data() ) - .def_property_readonly( - "output_channel", - [](const Component &self) { return self.outputChannel(); }, - Component::documentation("output_channel").data() - ) ; // add standard component definitions diff --git a/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp index 33ed87ba7..43ae2c6b5 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/containers.python.cpp @@ -38,9 +38,9 @@ namespace python_containers { void wrapFunction2ds(python::module &); void wrapRegions2d(python::module &); void wrapXYs3d(python::module &); - void wrapYs1d(python::module &); void wrapGridded3d(python::module &); void wrapDouble(python::module &); + void wrapYs1d(python::module &); void wrapString(python::module &); void wrapInteger(python::module &); void wrapFraction(python::module &); @@ -92,9 +92,9 @@ void wrapContainers(python::module &module) python_containers::wrapFunction2ds(submodule); python_containers::wrapRegions2d(submodule); python_containers::wrapXYs3d(submodule); - python_containers::wrapYs1d(submodule); python_containers::wrapGridded3d(submodule); python_containers::wrapDouble(submodule); + python_containers::wrapYs1d(submodule); python_containers::wrapString(submodule); python_containers::wrapInteger(submodule); python_containers::wrapFraction(submodule); diff --git a/standards/gnds-2.0/test/python/src/v2.0/map/Import.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map/Import.python.cpp index da4dc0e20..343c5c75b 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/map/Import.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map/Import.python.cpp @@ -37,8 +37,8 @@ void wrapImport(python::module &module) .def( python::init< const XMLName &, - const checksum &, - const std::optional & + const std::string &, + const std::optional & >(), python::arg("path"), python::arg("checksum"), diff --git a/standards/gnds-2.0/test/python/src/v2.0/map/Map.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map/Map.python.cpp index b8a790804..f0e8ae6b8 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/map/Map.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map/Map.python.cpp @@ -38,8 +38,8 @@ void wrapMap(python::module &module) python::init< const XMLName &, const XMLName &, - const checksum &, - const algorithm &, + const std::string &, + const enums::HashAlgorithm &, const std::optional> &, const std::optional> &, const std::optional> & diff --git a/standards/gnds-2.0/test/python/src/v2.0/map/Protare.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map/Protare.python.cpp index ed3c358a2..414612e09 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/map/Protare.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map/Protare.python.cpp @@ -41,8 +41,8 @@ void wrapProtare(python::module &module) const XMLName &, const XMLName &, const XMLName &, - const checksum &, - const std::optional & + const std::string &, + const std::optional & >(), python::arg("projectile"), python::arg("target"), diff --git a/standards/gnds-2.0/test/python/src/v2.0/map/TNSL.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/map/TNSL.python.cpp index 503b88e6f..4ab77fd81 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/map/TNSL.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/map/TNSL.python.cpp @@ -41,8 +41,8 @@ void wrapTNSL(python::module &module) const XMLName &, const XMLName &, const std::optional &, - const checksum &, - const std::optional &, + const std::string &, + const std::optional &, const XMLName &, const XMLName & >(), diff --git a/standards/gnds-2.0/test/python/src/v2.0/transport.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport.python.cpp index 031246ffd..e845fd71b 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/transport.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport.python.cpp @@ -39,6 +39,9 @@ namespace python_transport { void wrapA(python::module &); void wrapKalbachMann(python::module &); void wrapBranching3d(python::module &); + void wrapUnspecified(python::module &); + void wrapMultiGroup3d(python::module &); + void wrapDistribution(python::module &); void wrapResonancesLink(python::module &); void wrapResolvedRegion(python::module &); void wrapUnresolvedRegion(python::module &); @@ -47,9 +50,6 @@ namespace python_transport { void wrapResonancesWithBackground(python::module &); void wrapURR_probabilityTables1d(python::module &); void wrapCrossSection(python::module &); - void wrapUnspecified(python::module &); - void wrapMultiGroup3d(python::module &); - void wrapDistribution(python::module &); void wrapOutputChannel(python::module &); void wrapDoubleDifferentialCrossSection(python::module &); void wrapReaction(python::module &); @@ -109,6 +109,9 @@ void wrapTransport(python::module &module) python_transport::wrapA(submodule); python_transport::wrapKalbachMann(submodule); python_transport::wrapBranching3d(submodule); + python_transport::wrapUnspecified(submodule); + python_transport::wrapMultiGroup3d(submodule); + python_transport::wrapDistribution(submodule); python_transport::wrapResonancesLink(submodule); python_transport::wrapResolvedRegion(submodule); python_transport::wrapUnresolvedRegion(submodule); @@ -117,9 +120,6 @@ void wrapTransport(python::module &module) python_transport::wrapResonancesWithBackground(submodule); python_transport::wrapURR_probabilityTables1d(submodule); python_transport::wrapCrossSection(submodule); - python_transport::wrapUnspecified(submodule); - python_transport::wrapMultiGroup3d(submodule); - python_transport::wrapDistribution(submodule); python_transport::wrapOutputChannel(submodule); python_transport::wrapDoubleDifferentialCrossSection(submodule); python_transport::wrapReaction(submodule); diff --git a/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp index 067d47b66..52d3a86b1 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp @@ -28,7 +28,6 @@ void wrapCrossSection(python::module &module) containers::XYs1d, containers::Regions1d, transport::ResonancesWithBackground, - cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw1d, transport::Reference, containers::Gridded1d, @@ -51,7 +50,7 @@ void wrapCrossSection(python::module &module) const _t & >(), python::arg("label") = std::nullopt, - python::arg("_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d"), + python::arg("_xys1dregions1dresonances_with_backgroundthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d"), Component::documentation("constructor").data() ) .def_property_readonly( @@ -74,11 +73,6 @@ void wrapCrossSection(python::module &module) [](const Component &self) { return self.resonancesWithBackground(); }, Component::documentation("resonances_with_background").data() ) - .def_property_readonly( - "coulomb_plus_nuclear_elastic", - [](const Component &self) { return self.CoulombPlusNuclearElastic(); }, - Component::documentation("coulomb_plus_nuclear_elastic").data() - ) .def_property_readonly( "thermal_neutron_scattering_law1d", [](const Component &self) { return self.thermalNeutronScatteringLaw1d(); }, @@ -105,9 +99,9 @@ void wrapCrossSection(python::module &module) Component::documentation("urr_probability_tables1d").data() ) .def_property_readonly( - "_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d", - [](const Component &self) { return self._XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(); }, - Component::documentation("_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d").data() + "_xys1dregions1dresonances_with_backgroundthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d", + [](const Component &self) { return self._XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(); }, + Component::documentation("_xys1dregions1dresonances_with_backgroundthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d").data() ) ; diff --git a/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp index 1b99aa85e..a7ad015f5 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp @@ -32,7 +32,6 @@ void wrapDistribution(python::module &module) transport::KalbachMann, transport::Reference, transport::Branching3d, - cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw, atomic::CoherentPhotonScattering, atomic::IncoherentPhotonScattering, @@ -55,7 +54,7 @@ void wrapDistribution(python::module &module) python::init< const _t & >(), - python::arg("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc"), + python::arg("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3dthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc"), Component::documentation("constructor").data() ) .def_property_readonly( @@ -93,11 +92,6 @@ void wrapDistribution(python::module &module) [](const Component &self) { return self.branching3d(); }, Component::documentation("branching3d").data() ) - .def_property_readonly( - "coulomb_plus_nuclear_elastic", - [](const Component &self) { return self.CoulombPlusNuclearElastic(); }, - Component::documentation("coulomb_plus_nuclear_elastic").data() - ) .def_property_readonly( "thermal_neutron_scattering_law", [](const Component &self) { return self.thermalNeutronScatteringLaw(); }, @@ -134,9 +128,9 @@ void wrapDistribution(python::module &module) Component::documentation("energy_angular_mc").data() ) .def_property_readonly( - "_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc", - [](const Component &self) { return self._angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC(); }, - Component::documentation("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc").data() + "_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3dthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc", + [](const Component &self) { return self._angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC(); }, + Component::documentation("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3dthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc").data() ) ; diff --git a/standards/gnds-2.0/test/python/src/v2.0/tsl.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/tsl.python.cpp index d0b8d193d..0aad44371 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/tsl.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/tsl.python.cpp @@ -13,8 +13,8 @@ namespace python_v2_0 { // tsl declarations namespace python_tsl { void wrapMass(python::module &); - void wrapThermalNeutronScatteringLaw1d(python::module &); void wrapThermalNeutronScatteringLaw(python::module &); + void wrapThermalNeutronScatteringLaw1d(python::module &); void wrapS_table(python::module &); void wrapBraggEnergy(python::module &); void wrapStructureFactor(python::module &); @@ -50,8 +50,8 @@ void wrapTsl(python::module &module) // wrap tsl components python_tsl::wrapMass(submodule); - python_tsl::wrapThermalNeutronScatteringLaw1d(submodule); python_tsl::wrapThermalNeutronScatteringLaw(submodule); + python_tsl::wrapThermalNeutronScatteringLaw1d(submodule); python_tsl::wrapS_table(submodule); python_tsl::wrapBraggEnergy(submodule); python_tsl::wrapStructureFactor(submodule); diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp index fce80afd8..a3cd5b05a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp @@ -37,9 +37,9 @@ class ExternalFile : public Component { / Meta<>("label") | XMLName{} / Meta<>("path") | - std::optional{} + std::optional{} / Meta<>("checksum") | - std::optional{} + std::optional{} / Meta<>("algorithm") ; } @@ -50,8 +50,8 @@ class ExternalFile : public Component { // metadata Field label{this}; Field path{this}; - Field> checksum{this}; - Field> algorithm{this}; + Field> checksum{this}; + Field> algorithm{this}; // ------------------------ // Constructors @@ -67,8 +67,8 @@ class ExternalFile : public Component { explicit ExternalFile( const wrapper &label = {}, const wrapper &path = {}, - const wrapper> &checksum = {}, - const wrapper> &algorithm = {} + const wrapper> &checksum = {}, + const wrapper> &algorithm = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp index 32f547d06..e4c22b50c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp @@ -7,7 +7,6 @@ #include "test/v2.0/transport/Multiplicity.hpp" #include "test/v2.0/transport/Distribution.hpp" -#include "test/v2.0/transport/OutputChannel.hpp" namespace test { namespace v2_0 { @@ -43,9 +42,7 @@ class Product : public Component { transport::Multiplicity{} / --Child<>("multiplicity") | transport::Distribution{} - / --Child<>("distribution") | - std::optional{} - / --Child<>("outputChannel") + / --Child<>("distribution") ; } @@ -59,7 +56,6 @@ class Product : public Component { // children Field multiplicity{this}; Field distribution{this}; - Field> outputChannel{this}; // ------------------------ // Constructors @@ -69,23 +65,20 @@ class Product : public Component { this->label, \ this->pid, \ this->multiplicity, \ - this->distribution, \ - this->outputChannel) + this->distribution) // default, and from fields explicit Product( const wrapper &label = {}, const wrapper &pid = {}, const wrapper &multiplicity = {}, - const wrapper &distribution = {}, - const wrapper> &outputChannel = {} + const wrapper &distribution = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), pid(this,pid), multiplicity(this,multiplicity), - distribution(this,distribution), - outputChannel(this,outputChannel) + distribution(this,distribution) { Component::finish(); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp index b0c997640..0beb28a60 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp @@ -35,9 +35,9 @@ class Import : public Component { // metadata XMLName{} / Meta<>("path") | - checksum{} + std::string{} / Meta<>("checksum") | - std::optional{} + std::optional{} / Meta<>("algorithm") ; } @@ -47,8 +47,8 @@ class Import : public Component { // metadata Field path{this}; - Field checksum{this}; - Field> algorithm{this}; + Field checksum{this}; + Field> algorithm{this}; // ------------------------ // Constructors @@ -62,8 +62,8 @@ class Import : public Component { // default, and from fields explicit Import( const wrapper &path = {}, - const wrapper &checksum = {}, - const wrapper> &algorithm = {} + const wrapper &checksum = {}, + const wrapper> &algorithm = {} ) : GNDSTK_COMPONENT(BlockData{}), path(this,path), diff --git a/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp index 9415e33c7..78d1cf70e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp @@ -39,9 +39,9 @@ class Map : public Component { / Meta<>("library") | XMLName{} / Meta<>("format") | - checksum{} + std::string{} / Meta<>("checksum") | - algorithm{} + enums::HashAlgorithm{} / Meta<>("algorithm") | // children std::optional{} @@ -59,8 +59,8 @@ class Map : public Component { // metadata Field library{this}; Field format{this}; - Field checksum{this}; - Field algorithm{this}; + Field checksum{this}; + Field algorithm{this}; // children Field>> import{this}; @@ -84,8 +84,8 @@ class Map : public Component { explicit Map( const wrapper &library = {}, const wrapper &format = {}, - const wrapper &checksum = {}, - const wrapper &algorithm = {}, + const wrapper &checksum = {}, + const wrapper &algorithm = {}, const wrapper>> &import = {}, const wrapper>> &protare = {}, const wrapper>> &TNSL = {} diff --git a/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp index e846c5482..e29e98de6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp @@ -43,9 +43,9 @@ class Protare : public Component { / Meta<>("path") | XMLName{} / Meta<>("interaction") | - checksum{} + std::string{} / Meta<>("checksum") | - std::optional{} + std::optional{} / Meta<>("algorithm") ; } @@ -59,8 +59,8 @@ class Protare : public Component { Field evaluation{this}; Field path{this}; Field interaction{this}; - Field checksum{this}; - Field> algorithm{this}; + Field checksum{this}; + Field> algorithm{this}; // ------------------------ // Constructors @@ -82,8 +82,8 @@ class Protare : public Component { const wrapper &evaluation = {}, const wrapper &path = {}, const wrapper &interaction = {}, - const wrapper &checksum = {}, - const wrapper> &algorithm = {} + const wrapper &checksum = {}, + const wrapper> &algorithm = {} ) : GNDSTK_COMPONENT(BlockData{}), projectile(this,projectile), diff --git a/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp index 4efec08fc..2678c69a5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp @@ -43,9 +43,9 @@ class TNSL : public Component { / Meta<>("path") | std::optional{} / Meta<>("interaction") | - checksum{} + std::string{} / Meta<>("checksum") | - std::optional{} + std::optional{} / Meta<>("algorithm") | XMLName{} / Meta<>("standardTarget") | @@ -63,8 +63,8 @@ class TNSL : public Component { Field evaluation{this}; Field path{this}; Field> interaction{this}; - Field checksum{this}; - Field> algorithm{this}; + Field checksum{this}; + Field> algorithm{this}; Field standardTarget{this}; Field standardEvaluation{this}; @@ -90,8 +90,8 @@ class TNSL : public Component { const wrapper &evaluation = {}, const wrapper &path = {}, const wrapper> &interaction = {}, - const wrapper &checksum = {}, - const wrapper> &algorithm = {}, + const wrapper &checksum = {}, + const wrapper> &algorithm = {}, const wrapper &standardTarget = {}, const wrapper &standardEvaluation = {} ) : diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp index df9943322..41f328c59 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp @@ -8,7 +8,6 @@ #include "test/v2.0/containers/XYs1d.hpp" #include "test/v2.0/containers/Regions1d.hpp" #include "test/v2.0/transport/ResonancesWithBackground.hpp" -#include "test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" #include "test/v2.0/tsl/ThermalNeutronScatteringLaw1d.hpp" #include "test/v2.0/transport/Reference.hpp" #include "test/v2.0/containers/Gridded1d.hpp" @@ -31,7 +30,6 @@ class CrossSection : public Component { containers::XYs1d, containers::Regions1d, transport::ResonancesWithBackground, - cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw1d, transport::Reference, containers::Gridded1d, @@ -57,7 +55,7 @@ class CrossSection : public Component { / Meta<>("label") | // children _t{} - / --(Child<>("XYs1d") || Child<>("regions1d") || Child<>("resonancesWithBackground") || Child<>("CoulombPlusNuclearElastic") || Child<>("thermalNeutronScatteringLaw1d") || Child<>("reference") || Child<>("gridded1d") || Child<>("Ys1d") || Child<>("URR_probabilityTables1d")) + / --(Child<>("XYs1d") || Child<>("regions1d") || Child<>("resonancesWithBackground") || Child<>("thermalNeutronScatteringLaw1d") || Child<>("reference") || Child<>("gridded1d") || Child<>("Ys1d") || Child<>("URR_probabilityTables1d")) ; } @@ -68,16 +66,15 @@ class CrossSection : public Component { Field> label{this}; // children - variant - Field<_t> _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d{this}; - FieldPart XYs1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart regions1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart resonancesWithBackground{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart CoulombPlusNuclearElastic{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart thermalNeutronScatteringLaw1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart reference{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart gridded1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart Ys1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart URR_probabilityTables1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + Field<_t> _XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d{this}; + FieldPart XYs1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart regions1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart resonancesWithBackground{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart thermalNeutronScatteringLaw1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart reference{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart gridded1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart Ys1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart URR_probabilityTables1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; // ------------------------ // Constructors @@ -85,16 +82,16 @@ class CrossSection : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->label, \ - this->_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) + this->_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) // default, and from fields explicit CrossSection( const wrapper> &label = {}, - const wrapper<_t> &_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d = {} + const wrapper<_t> &_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), - _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(this,_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) + _XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(this,_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) { Component::finish(); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp index fec59be28..19d24c337 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp @@ -12,7 +12,6 @@ #include "test/v2.0/transport/KalbachMann.hpp" #include "test/v2.0/transport/Reference.hpp" #include "test/v2.0/transport/Branching3d.hpp" -#include "test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" #include "test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" #include "test/v2.0/atomic/CoherentPhotonScattering.hpp" #include "test/v2.0/atomic/IncoherentPhotonScattering.hpp" @@ -41,7 +40,6 @@ class Distribution : public Component { transport::KalbachMann, transport::Reference, transport::Branching3d, - cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw, atomic::CoherentPhotonScattering, atomic::IncoherentPhotonScattering, @@ -66,7 +64,7 @@ class Distribution : public Component { return // children _t{} - / --(Child<>("angularTwoBody") || Child<>("uncorrelated") || Child<>("angularEnergy") || Child<>("energyAngular") || Child<>("KalbachMann") || Child<>("reference") || Child<>("branching3d") || Child<>("CoulombPlusNuclearElastic") || Child<>("thermalNeutronScatteringLaw") || Child<>("coherentPhotonScattering") || Child<>("incoherentPhotonScattering") || Child<>("unspecified") || Child<>("multiGroup3d") || Child<>("angularEnergyMC") || Child<>("energyAngularMC")) + / --(Child<>("angularTwoBody") || Child<>("uncorrelated") || Child<>("angularEnergy") || Child<>("energyAngular") || Child<>("KalbachMann") || Child<>("reference") || Child<>("branching3d") || Child<>("thermalNeutronScatteringLaw") || Child<>("coherentPhotonScattering") || Child<>("incoherentPhotonScattering") || Child<>("unspecified") || Child<>("multiGroup3d") || Child<>("angularEnergyMC") || Child<>("energyAngularMC")) ; } @@ -74,36 +72,35 @@ class Distribution : public Component { using Component::construct; // children - variant - Field<_t> _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC{this}; - FieldPart angularTwoBody{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart uncorrelated{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart angularEnergy{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart energyAngular{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart KalbachMann{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart reference{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart branching3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart CoulombPlusNuclearElastic{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart thermalNeutronScatteringLaw{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart coherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart incoherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart unspecified{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart multiGroup3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart angularEnergyMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart energyAngularMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + Field<_t> _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC{this}; + FieldPart angularTwoBody{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart uncorrelated{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart angularEnergy{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart energyAngular{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart KalbachMann{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart reference{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart branching3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart thermalNeutronScatteringLaw{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart coherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart incoherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart unspecified{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart multiGroup3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart angularEnergyMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + FieldPart energyAngularMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; // ------------------------ // Constructors // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ - this->_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC) + this->_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC) // default, and from fields explicit Distribution( - const wrapper<_t> &_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC = {} + const wrapper<_t> &_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC = {} ) : GNDSTK_COMPONENT(BlockData{}), - _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC(this,_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC) + _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC(this,_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC) { Component::finish(); } From 38081e4e98b168ea4e92239b2f2a7814d070b5d2 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 19 Sep 2022 15:32:36 -0600 Subject: [PATCH 202/235] Well, it *compiles*, for what that's worth. That is, I added a very simple (for now) code that #includes the generated "GNDS 2.0" classes. The code compiles, which is great. However, given the condition of the GNDS 2.0 specs, more work is needed to make this code successfully read and write GNDS 2.0 files. --- standards/gnds-2.0/.gitignore | 1 - standards/gnds-2.0/try/.gitignore | 3 +++ standards/gnds-2.0/try/0.cpp | 27 ++++++++++++++++++++++++++ standards/gnds-2.0/try/compile | 32 +++++++++++++++++++++++++++++++ 4 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 standards/gnds-2.0/try/.gitignore create mode 100644 standards/gnds-2.0/try/0.cpp create mode 100755 standards/gnds-2.0/try/compile diff --git a/standards/gnds-2.0/.gitignore b/standards/gnds-2.0/.gitignore index 753cbb9db..0a88b3bd1 100644 --- a/standards/gnds-2.0/.gitignore +++ b/standards/gnds-2.0/.gitignore @@ -1,3 +1,2 @@ json2class.exe -try diff --git a/standards/gnds-2.0/try/.gitignore b/standards/gnds-2.0/try/.gitignore new file mode 100644 index 000000000..1416210ea --- /dev/null +++ b/standards/gnds-2.0/try/.gitignore @@ -0,0 +1,3 @@ + +m +pugixml.o diff --git a/standards/gnds-2.0/try/0.cpp b/standards/gnds-2.0/try/0.cpp new file mode 100644 index 000000000..34e0dc24d --- /dev/null +++ b/standards/gnds-2.0/try/0.cpp @@ -0,0 +1,27 @@ + +#include "test/v2.0.hpp" +using namespace njoy::GNDStk; +using namespace test::v2_0; + +int main(const int argc, const char *const *const argv) +{ + // color, for diagnostics + color = true; + + // usage + if (argc < 2) { + std::cout << "Usage: " << argv[0] << " file ..." << std::endl; + exit(EXIT_FAILURE); + } + + // files + for (int n = 1; n < argc; ++n) { + const std::string filename = argv[n]; + std::cout << "File: \"" << filename << '"' << std::endl; + transport::ReactionSuite r; + if (r.read(filename)) + std::cout << " yes" << std::endl; + else + std::cout << " no" << std::endl; + } +} diff --git a/standards/gnds-2.0/try/compile b/standards/gnds-2.0/try/compile new file mode 100755 index 000000000..03c663516 --- /dev/null +++ b/standards/gnds-2.0/try/compile @@ -0,0 +1,32 @@ +#!/bin/bash + +COMPILE=" + clang++ -std=c++17 + -I../../../../GNDStk/src + -I../../../../GNDStk/standards/gnds-2.0/test/src + -I../../../../GNDStk/build/_deps/pugixml-adapter-src/src/src + -I../../../../GNDStk/build/_deps/hdf5-src/include + -I../../../../GNDStk/build/_deps/json-src/include + -I../../../../GNDStk/build/_deps/json-src/include/nlohmann + -I../../../../GNDStk/build/_deps/log-src/src + -I../../../../GNDStk/build/_deps/spdlog-src/include + -I/usr/include/hdf5/serial + -DHIGHFIVE_USE_BOOST=OFF + -L/usr/lib/x86_64-linux-gnu/hdf5/serial + -lhdf5 + -fno-show-column + -Wno-unused-command-line-argument + -Wall -Wextra -Wpedantic " + +if [ ! -f "pugixml.o" ]; then +echo 'Compiling pugixml.cpp...' +$COMPILE \ + ../../../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp \ + -c -o pugixml.o +fi + +# Compile examples +echo 'Compiling...' +$COMPILE 0.cpp pugixml.o -o 0 + +# wait $(jobs -p) From 86655ebc65b49d1be842bc8c87cf87de7d5dcdd0 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 22 Sep 2022 14:57:29 -0600 Subject: [PATCH 203/235] Some work that might improve performance with GNDS 2.0, or any autogenerated classes. Un-required some things in the spec, where I saw in the the GNDS 2.0 files that the values weren't there (so, obviously, couldn't be required). --- src/GNDStk/Component.hpp | 15 ++-- src/GNDStk/Component/src/ctor.hpp | 2 + src/GNDStk/Component/src/getter.hpp | 12 +-- src/GNDStk/Component/src/print.hpp | 8 +- src/GNDStk/Component/test/Component.test.cpp | 12 ++- src/GNDStk/Component/test/ctor.test.cpp | 4 + src/GNDStk/Component/test/detail.test.cpp | 1 + src/GNDStk/Component/test/getter.test.cpp | 1 + src/GNDStk/Node/src/call-keytuple.hpp | 88 ++++++++----------- src/GNDStk/Node/src/child.hpp | 29 +++--- src/GNDStk/Node/src/detail.hpp | 25 +++++- src/GNDStk/Node/src/meta.hpp | 2 +- standards/gnds-2.0/summary_pops.json | 10 +-- .../python/src/v2.0/pops/Charge.python.cpp | 4 +- .../python/src/v2.0/pops/Energy.python.cpp | 4 +- .../python/src/v2.0/pops/Halflife.python.cpp | 4 +- .../python/src/v2.0/pops/Parity.python.cpp | 4 +- .../test/python/src/v2.0/pops/Spin.python.cpp | 4 +- .../test/src/test/v2.0/pops/Charge.hpp | 6 +- .../test/src/test/v2.0/pops/Energy.hpp | 6 +- .../test/src/test/v2.0/pops/Halflife.hpp | 6 +- .../test/src/test/v2.0/pops/Parity.hpp | 6 +- .../gnds-2.0/test/src/test/v2.0/pops/Spin.hpp | 6 +- standards/gnds-2.0/try/.gitignore | 3 + standards/gnds-2.0/try/0.cpp | 22 ++++- standards/gnds-2.0/try/compile | 1 + 26 files changed, 154 insertions(+), 131 deletions(-) diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index ae8c1d1cc..c12052ad8 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -74,8 +74,8 @@ class Component : public BlockData #include "GNDStk/Component/src/sort.hpp" #include "GNDStk/Component/src/toNode.hpp" // conversion to Node - // You can (but need not) override the following in DERIVED - static std::string NAMESPACE() { return ""; } + // Namespace + static std::string Namespace() { return DERIVED::NAMESPACE(); } // baseBlockData // Convenient access to the BlockData base class @@ -124,7 +124,8 @@ class Component : public BlockData return false; } - static std::string CLASS() { return DERIVED::CLASS(); } + // Class + static std::string Class() { return DERIVED::CLASS(); } // Component << string // Like Node << string, but for Component's derived class. @@ -135,7 +136,7 @@ class Component : public BlockData node << str; derived() = DERIVED(node); } catch (...) { - log::function("{} << string", CLASS()); + log::function("{} << string", Class()); throw; } } @@ -147,7 +148,7 @@ class Component : public BlockData try { Node(*this) >> str; } catch (...) { - log::function("{} >> string", CLASS()); + log::function("{} >> string", Class()); throw; } } @@ -175,7 +176,7 @@ std::istream &operator>>( try { return comp.read(is); } catch (...) { - log::function("istream >> {}", comp.CLASS()); + log::function("istream >> {}", comp.Class()); throw; } } @@ -189,7 +190,7 @@ std::ostream &operator<<( try { return comp.print(os,0); } catch (...) { - log::function("ostream << {}", comp.CLASS()); + log::function("ostream << {}", comp.Class()); throw; } } diff --git a/src/GNDStk/Component/src/ctor.hpp b/src/GNDStk/Component/src/ctor.hpp index 52d70fdc2..dbaf23f0c 100644 --- a/src/GNDStk/Component/src/ctor.hpp +++ b/src/GNDStk/Component/src/ctor.hpp @@ -28,5 +28,7 @@ Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) ); // Create links + ///std::cout << "ctor: " << Class() << std::endl; + links.reserve(sizeof...(args)); (links.push_back(fieldAddress(args)), ...); } diff --git a/src/GNDStk/Component/src/getter.hpp b/src/GNDStk/Component/src/getter.hpp index 27befc82b..63a40658f 100644 --- a/src/GNDStk/Component/src/getter.hpp +++ b/src/GNDStk/Component/src/getter.hpp @@ -27,9 +27,7 @@ decltype(auto) getter( const KEY &key, // index, label, or Lookup const std::string &fieldName = "" ) const { - return detail::getter( - vec, key, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName - ); + return detail::getter(vec, key, Namespace(), Class(), fieldName); } // non-const @@ -69,9 +67,7 @@ const RETURN *getter( const std::variant &var, const std::string &fieldName = "" ) const { - return detail::getter( - var, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName - ); + return detail::getter(var, Namespace(), Class(), fieldName); } // non-const @@ -105,9 +101,7 @@ const RETURN *getter( const KEY &key, const std::string &fieldName = "" ) const { - return detail::getter( - vecvar, key, DERIVED::NAMESPACE(), DERIVED::CLASS(), fieldName - ); + return detail::getter(vecvar, key, Namespace(), Class(), fieldName); } // non-const diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index f83743e61..10679d913 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -63,7 +63,7 @@ std::ostream &print(std::ostream &os, const int level) const detail::indentString( os, level, detail::colorize_component( - detail::fullName(DERIVED::NAMESPACE(), DERIVED::CLASS()) + detail::fullName(Namespace(), Class()) ) + " " + detail::colorize_brace("{") + "\n" ); @@ -162,11 +162,7 @@ std::ostream &print(std::ostream &os, const int level) const + (comments ? " " + detail::colorize_comment( - std::string("// ") + - detail::fullName( - DERIVED::NAMESPACE(), - DERIVED::CLASS() - ) + std::string("// ") + detail::fullName(Namespace(), Class()) ) : "" ) diff --git a/src/GNDStk/Component/test/Component.test.cpp b/src/GNDStk/Component/test/Component.test.cpp index 9d6899fd2..a983a1097 100644 --- a/src/GNDStk/Component/test/Component.test.cpp +++ b/src/GNDStk/Component/test/Component.test.cpp @@ -48,16 +48,16 @@ class DerivedF : public Component // DerivedData // A Component-derived class with some data in it. -// Note that this class doesn't have help or NAMESPACE(); so we'll also use -// this class to test that Component's functionality that uses those still works -// properly, as it should in that case. +// Note that this class doesn't have help. So, we'll also use this class +// to test that Component's functionality that uses it still works properly, +// as it should in that case. class DerivedData : public Component { public: friend class Component; + static auto NAMESPACE() { return ""; } static auto CLASS() { return "DerivedData"; } static auto FIELD() { return "data"; } - static auto KEYS() { return @@ -149,9 +149,7 @@ SCENARIO("Testing GNDStk Component") { WHEN("We test NAMESPACE()") { // For these two we need the std::string() only because the functions // were written (above, in the class definitions) with an auto return - // of a plain character string. Where Component needs NAMESPACE(), - // it converts to std::string, so it's fine to write it that way. Here, - // though, in this test file, it means we need the std::string(). + // of a plain character string. CHECK(der1.NAMESPACE() == std::string("hello")); CHECK(der2.NAMESPACE() == std::string("world")); DerivedData der; diff --git a/src/GNDStk/Component/test/ctor.test.cpp b/src/GNDStk/Component/test/ctor.test.cpp index 6a38b5744..a0e2f7b22 100644 --- a/src/GNDStk/Component/test/ctor.test.cpp +++ b/src/GNDStk/Component/test/ctor.test.cpp @@ -26,6 +26,8 @@ class DerivedNothing : public Component { friend class Component; + static auto NAMESPACE() { return ""; } + static auto CLASS() { return "DerivedNothing"; } static auto KEYS() { return std::tuple<>{}; @@ -46,6 +48,8 @@ class DerivedSomething : public Component { friend class Component; + static auto NAMESPACE() { return ""; } + static auto CLASS() { return "DerivedSomething"; } static auto KEYS() { return diff --git a/src/GNDStk/Component/test/detail.test.cpp b/src/GNDStk/Component/test/detail.test.cpp index 508ef293e..85a6fabef 100644 --- a/src/GNDStk/Component/test/detail.test.cpp +++ b/src/GNDStk/Component/test/detail.test.cpp @@ -77,6 +77,7 @@ class Derived : public Component { public: friend class Component; + static auto NAMESPACE() { return ""; } static auto CLASS() { return "Derived"; } static auto FIELD() { return "none"; } diff --git a/src/GNDStk/Component/test/getter.test.cpp b/src/GNDStk/Component/test/getter.test.cpp index 4ccf83d92..7d1bdbf11 100644 --- a/src/GNDStk/Component/test/getter.test.cpp +++ b/src/GNDStk/Component/test/getter.test.cpp @@ -18,6 +18,7 @@ class TestGetter : public Component { friend class Component; + static auto NAMESPACE() { return ""; } static auto CLASS() { return "TestGetter"; } // static auto FIELD() - not actually needed here static auto KEYS() diff --git a/src/GNDStk/Node/src/call-keytuple.hpp b/src/GNDStk/Node/src/call-keytuple.hpp index 975022f7e..1c51c4da3 100644 --- a/src/GNDStk/Node/src/call-keytuple.hpp +++ b/src/GNDStk/Node/src/call-keytuple.hpp @@ -3,67 +3,46 @@ // Multi-query // ----------------------------------------------------------------------------- -// ------------------------ +// ----------------------------------------------------------------------------- // Private helpers -// ------------------------ +// ----------------------------------------------------------------------------- private: -// (tuple<>) -auto operator()( - const std::tuple<> &, - bool &found, - std::vector & +// Note: In these, notice that we use decltype(auto), not auto. Where the input +// query tuple has Meta and/or Child, with the decltype(auto) we'll +// get *references* (not copies) in the output tuple - just as we would with a +// single-value query. (Of course, where we use a non- Meta or Child, the +// output object is of some prescribed type and is created on-the-fly. So, there +// aren't references in those cases in any event.) + +// tupleApplyHead +template +decltype(auto) tupleApplyHead( + const T &head, + bool &found, // overall "found" + std::vector &missing ) GNDSTK_CONST { - found = true; - return std::tuple<>{}; + bool f = true; // head-specific "found" + decltype(auto) ret = operator()(head, f); + if (!f) + missing.push_back("\n" + detail::keyname(head)); + found = found && f; + return ret; } - -// (tuple<...>) -template -auto operator()( +// tupleApply +template +decltype(auto) tupleApply( const std::tuple &tup, bool &found, - std::vector &missing + std::vector &missing, + const std::index_sequence & ) GNDSTK_CONST { - - // Process tup's <0> - // We *don't* simply write: - // std::make_tuple(operator()(std::get<0>(tup),head_found)), - // because doing so would decay references to non-references. That would - // mean, ultimately, that Meta and Child instances inside - // our KeyTuple<...> objects, which are returned by our | (or) operators, - // would no longer produce [possibly const] *references* to std::string - // and Node, respectively, but would surreptitiously lose the references. - // We don't want to lose the references, though, because our multi-query - // system is far more awesome if we keep them. For the same reason - not - // losing the references - we also need the explicit on - // std::tuple, even though this would be syntactically valid without it. - bool head_found = true; - - const auto head = std::tuple(tup))) - >( operator()(std::get<0>(tup), head_found) ); - - if (!head_found) - missing.push_back("\n" + detail::keyname(std::get<0>(tup))); - - // Process tup's <1...> - bool tail_found = true; - - const auto tail = operator()( // <== gives a tuple - std::apply( - [](auto, auto... tail) { return std::make_tuple(tail...); }, - tup - ), - tail_found, - missing + return typename detail::keys2outputs>::type( + tupleApplyHead(std::get(tup), found, missing) + ... ); - - // Done - found = head_found && tail_found; - return std::tuple_cat(head,tail); } @@ -81,14 +60,21 @@ auto operator()( ) GNDSTK_CONST { std::vector missing; + try { - const auto ret = operator()(keytup.tup, found, missing); + found = true; + const auto ret = tupleApply( + keytup.tup, found, missing, + std::make_index_sequence{} + ); + // As it does with other query functions, GNDStk returns with no error // if either the requested data were found, or if the "found" flag was // sent here explicitly. Either way, found == did we find the data? if (found || detail::sent(found)) return ret; throw std::exception{}; + } catch (...) { // Construct and print an error. The message is short and generic if // an error other than !found occurred in the try{} - which we suppose diff --git a/src/GNDStk/Node/src/child.hpp b/src/GNDStk/Node/src/child.hpp index 844869161..31e279a3d 100644 --- a/src/GNDStk/Node/src/child.hpp +++ b/src/GNDStk/Node/src/child.hpp @@ -122,7 +122,7 @@ void variant_find_one( ); } else { // not already global "found"... // convert the Node to an object of the n-th variant alternative - std::variant_alternative_t> alt; + static std::variant_alternative_t> alt; kwd.converter(node,alt); var = alt; selectedAlternative = n; @@ -162,31 +162,36 @@ child( bool &found = detail::default_bool ) const { try { - TYPE obj = kwd.object; - if constexpr (detail::isVariant::value) { // ------------------------ // variant obj // ------------------------ + static TYPE obj = kwd.object; const auto names = detail::name_split(kwd); found = false; variant_find_one<0,std::variant_size_v>(kwd,names,found,obj,0); + return obj; } else { // ------------------------ // non-variant obj // ------------------------ - // call one(string), with the Child's key const Node &node = one(kwd.name, kwd.filter, found); - // convert the node, if found, to an object of the appropriate type - if (found) + if (found) { + // Many nodes are optional in GNDS, and may not appear at all in a + // given GNDS file. Consider that such a node is slated to go into + // some user-defined (or generated) class that may be expensive to + // construct. I've found that creating obj only "if (found)", as we + // do right here, tends to improve performance in the event that an + // input file could - but doesn't - contain any such nodes. + static TYPE obj = kwd.object; kwd.converter(node,obj); + return obj; + } + return kwd.object; // !found, so the return shouldn't be used anyway } - - return obj; - } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::one)"); throw; @@ -330,7 +335,7 @@ bool variant_find_many( } else { // not (found) // convert the Node to an object of the n-th variant alternative - std::variant_alternative_t> alt; + static std::variant_alternative_t> alt; kwd.converter(c,alt); container.push_back(alt); selectedAlternative = n; @@ -389,7 +394,7 @@ child( // "" // meaning: return a container with the converted-to-TYPE current Node if (kwd.name == "") { - TYPE obj = kwd.object; + static TYPE obj = kwd.object; kwd.converter(*this,obj); container.push_back(obj); found = true; @@ -400,7 +405,7 @@ child( kwd.filter(*c) ) { // convert *c to an object of the appropriate type - TYPE obj = kwd.object; + static TYPE obj = kwd.object; kwd.converter(*c,obj); container.push_back(obj); found = true; diff --git a/src/GNDStk/Node/src/detail.hpp b/src/GNDStk/Node/src/detail.hpp index 703a60961..72aa679fc 100644 --- a/src/GNDStk/Node/src/detail.hpp +++ b/src/GNDStk/Node/src/detail.hpp @@ -186,7 +186,7 @@ class apply_converter { template void operator()(const KEYWORD &kwd, const Node &node) const { - TYPE obj = kwd.object; + static TYPE obj = kwd.object; kwd.converter(node,obj); } }; @@ -391,7 +391,7 @@ class MetaRef { // to TYPE operator TYPE() const { - TYPE obj{}; + static TYPE obj{}; kwd.converter(metaValueRef,obj); return obj; } @@ -495,7 +495,7 @@ class ChildRef // to TYPE operator TYPE() const { - TYPE obj{}; + static TYPE obj{}; kwd.converter(childNodeRef,obj); return obj; } @@ -647,7 +647,7 @@ class ChildRef std::vector vec; vec.reserve(size()); for (auto &elem : childNodePtr) { - TYPE obj{}; + static TYPE obj{}; kwd.converter(*elem,obj); vec.push_back(obj); } @@ -752,4 +752,21 @@ auto name_split(const Child &kwd) return names; } + + +// ----------------------------------------------------------------------------- +// keys2outputs +// ----------------------------------------------------------------------------- + +template +struct keys2outputs; + +template +struct keys2outputs> +{ + using type = std::tuple< + decltype(NODE{}.operator()(std::declval()))... + >; +}; + } // namespace detail diff --git a/src/GNDStk/Node/src/meta.hpp b/src/GNDStk/Node/src/meta.hpp index 896525cd6..da5fd2371 100644 --- a/src/GNDStk/Node/src/meta.hpp +++ b/src/GNDStk/Node/src/meta.hpp @@ -89,7 +89,7 @@ meta( // call meta(string), with the Meta's key const std::string &value = meta(kwd.name,found); // convert value, if any, to an object of the appropriate type - TYPE obj = kwd.object; + static TYPE obj = kwd.object; if (found) kwd.converter(value,obj); return obj; diff --git a/standards/gnds-2.0/summary_pops.json b/standards/gnds-2.0/summary_pops.json index feb4bd87a..2280a393b 100644 --- a/standards/gnds-2.0/summary_pops.json +++ b/standards/gnds-2.0/summary_pops.json @@ -1022,7 +1022,7 @@ }, "value": { "default": null, - "required": true, + "required": false, "type": "XMLName" } }, @@ -1067,7 +1067,7 @@ }, "value": { "default": null, - "required": true, + "required": false, "type": "XMLName" } }, @@ -1112,7 +1112,7 @@ }, "value": { "default": null, - "required": true, + "required": false, "type": "XMLName" } }, @@ -1163,7 +1163,7 @@ }, "value": { "default": null, - "required": true, + "required": false, "type": "XMLName" } }, @@ -1208,7 +1208,7 @@ }, "value": { "default": null, - "required": true, + "required": false, "type": "XMLName" } }, diff --git a/standards/gnds-2.0/test/python/src/v2.0/pops/Charge.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Charge.python.cpp index 252eaa49d..25527c5ec 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/pops/Charge.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Charge.python.cpp @@ -42,14 +42,14 @@ void wrapCharge(python::module &module) python::init< const std::optional &, const std::optional &, - const XMLName &, + const std::optional &, const std::optional &, const std::optional &, const _t & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, - python::arg("value"), + python::arg("value") = std::nullopt, python::arg("documentation") = std::nullopt, python::arg("uncertainty") = std::nullopt, python::arg("_integerfraction"), diff --git a/standards/gnds-2.0/test/python/src/v2.0/pops/Energy.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Energy.python.cpp index 1b85b12b5..b33cbb85f 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/pops/Energy.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Energy.python.cpp @@ -38,14 +38,14 @@ void wrapEnergy(python::module &module) python::init< const std::optional &, const std::optional &, - const XMLName &, + const std::optional &, const std::optional &, const std::optional &, const std::optional> & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, - python::arg("value"), + python::arg("value") = std::nullopt, python::arg("documentation") = std::nullopt, python::arg("uncertainty") = std::nullopt, python::arg("double") = std::nullopt, diff --git a/standards/gnds-2.0/test/python/src/v2.0/pops/Halflife.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Halflife.python.cpp index 742ab63fc..27eb25ff1 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/pops/Halflife.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Halflife.python.cpp @@ -42,14 +42,14 @@ void wrapHalflife(python::module &module) python::init< const std::optional &, const std::optional &, - const XMLName &, + const std::optional &, const std::optional &, const std::optional &, const _t & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, - python::arg("value"), + python::arg("value") = std::nullopt, python::arg("documentation") = std::nullopt, python::arg("uncertainty") = std::nullopt, python::arg("_string_double"), diff --git a/standards/gnds-2.0/test/python/src/v2.0/pops/Parity.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Parity.python.cpp index b6c635ddc..9a23c3b0e 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/pops/Parity.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Parity.python.cpp @@ -38,14 +38,14 @@ void wrapParity(python::module &module) python::init< const std::optional &, const std::optional &, - const XMLName &, + const std::optional &, const std::optional &, const std::optional &, const std::optional> & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, - python::arg("value"), + python::arg("value") = std::nullopt, python::arg("documentation") = std::nullopt, python::arg("uncertainty") = std::nullopt, python::arg("integer") = std::nullopt, diff --git a/standards/gnds-2.0/test/python/src/v2.0/pops/Spin.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/pops/Spin.python.cpp index 1fbd181fa..2a4b124f3 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/pops/Spin.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/pops/Spin.python.cpp @@ -38,14 +38,14 @@ void wrapSpin(python::module &module) python::init< const std::optional &, const std::optional &, - const XMLName &, + const std::optional &, const std::optional &, const std::optional &, const std::optional> & >(), python::arg("label") = std::nullopt, python::arg("unit") = std::nullopt, - python::arg("value"), + python::arg("value") = std::nullopt, python::arg("documentation") = std::nullopt, python::arg("uncertainty") = std::nullopt, python::arg("fraction") = std::nullopt, diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp index 9569870f1..dbc242df4 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp @@ -45,7 +45,7 @@ class Charge : public Component { / Meta<>("label") | std::optional{} / Meta<>("unit") | - XMLName{} + std::optional{} / Meta<>("value") | // children std::optional{} @@ -63,7 +63,7 @@ class Charge : public Component { // metadata Field> label{this}; Field> unit{this}; - Field value{this}; + Field> value{this}; // children Field> documentation{this}; @@ -90,7 +90,7 @@ class Charge : public Component { explicit Charge( const wrapper> &label = {}, const wrapper> &unit = {}, - const wrapper &value = {}, + const wrapper> &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, const wrapper<_t> &_integerfraction = {} diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp index b2881931a..8a069fde5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp @@ -39,7 +39,7 @@ class Energy : public Component { / Meta<>("label") | std::optional{} / Meta<>("unit") | - XMLName{} + std::optional{} / Meta<>("value") | // children std::optional{} @@ -57,7 +57,7 @@ class Energy : public Component { // metadata Field> label{this}; Field> unit{this}; - Field value{this}; + Field> value{this}; // children Field> documentation{this}; @@ -80,7 +80,7 @@ class Energy : public Component { explicit Energy( const wrapper> &label = {}, const wrapper> &unit = {}, - const wrapper &value = {}, + const wrapper> &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, const wrapper>> &Double = {} diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp index 4acabbe95..91c15080d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp @@ -45,7 +45,7 @@ class Halflife : public Component { / Meta<>("label") | std::optional{} / Meta<>("unit") | - XMLName{} + std::optional{} / Meta<>("value") | // children std::optional{} @@ -63,7 +63,7 @@ class Halflife : public Component { // metadata Field> label{this}; Field> unit{this}; - Field value{this}; + Field> value{this}; // children Field> documentation{this}; @@ -90,7 +90,7 @@ class Halflife : public Component { explicit Halflife( const wrapper> &label = {}, const wrapper> &unit = {}, - const wrapper &value = {}, + const wrapper> &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, const wrapper<_t> &_stringDouble = {} diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp index 49848f272..117e2bdf6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp @@ -39,7 +39,7 @@ class Parity : public Component { / Meta<>("label") | std::optional{} / Meta<>("unit") | - XMLName{} + std::optional{} / Meta<>("value") | // children std::optional{} @@ -57,7 +57,7 @@ class Parity : public Component { // metadata Field> label{this}; Field> unit{this}; - Field value{this}; + Field> value{this}; // children Field> documentation{this}; @@ -80,7 +80,7 @@ class Parity : public Component { explicit Parity( const wrapper> &label = {}, const wrapper> &unit = {}, - const wrapper &value = {}, + const wrapper> &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, const wrapper>> &integer = {} diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp index f10e5840d..af486e1ff 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp @@ -39,7 +39,7 @@ class Spin : public Component { / Meta<>("label") | std::optional{} / Meta<>("unit") | - XMLName{} + std::optional{} / Meta<>("value") | // children std::optional{} @@ -57,7 +57,7 @@ class Spin : public Component { // metadata Field> label{this}; Field> unit{this}; - Field value{this}; + Field> value{this}; // children Field> documentation{this}; @@ -80,7 +80,7 @@ class Spin : public Component { explicit Spin( const wrapper> &label = {}, const wrapper> &unit = {}, - const wrapper &value = {}, + const wrapper> &value = {}, const wrapper> &documentation = {}, const wrapper> &uncertainty = {}, const wrapper>> &fraction = {} diff --git a/standards/gnds-2.0/try/.gitignore b/standards/gnds-2.0/try/.gitignore index 1416210ea..a6577f98c 100644 --- a/standards/gnds-2.0/try/.gitignore +++ b/standards/gnds-2.0/try/.gitignore @@ -1,3 +1,6 @@ +0 m pugixml.o +*.xml +out diff --git a/standards/gnds-2.0/try/0.cpp b/standards/gnds-2.0/try/0.cpp index 34e0dc24d..4ac5eb697 100644 --- a/standards/gnds-2.0/try/0.cpp +++ b/standards/gnds-2.0/try/0.cpp @@ -1,5 +1,6 @@ #include "test/v2.0.hpp" + using namespace njoy::GNDStk; using namespace test::v2_0; @@ -14,14 +15,27 @@ int main(const int argc, const char *const *const argv) exit(EXIT_FAILURE); } + // double + containers::Double d; + d << ""; + std::cout << d << std::endl; + // files for (int n = 1; n < argc; ++n) { const std::string filename = argv[n]; std::cout << "File: \"" << filename << '"' << std::endl; + + std::cout << "ReactionSuite begin" << std::endl; transport::ReactionSuite r; - if (r.read(filename)) - std::cout << " yes" << std::endl; - else - std::cout << " no" << std::endl; + std::cout << "ReactionSuite end" << std::endl; + + try { + if (r.read(filename)) + std::cout << " yes" << std::endl; + else + std::cout << " no" << std::endl; + } catch (...) { + r.print(); + } } } diff --git a/standards/gnds-2.0/try/compile b/standards/gnds-2.0/try/compile index 03c663516..a2c84a088 100755 --- a/standards/gnds-2.0/try/compile +++ b/standards/gnds-2.0/try/compile @@ -17,6 +17,7 @@ COMPILE=" -fno-show-column -Wno-unused-command-line-argument -Wall -Wextra -Wpedantic " +# -g -O3 if [ ! -f "pugixml.o" ]; then echo 'Compiling pugixml.cpp...' From 670e54597a632acbd7cab43193fa13a1a1ebf1ac Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 24 Oct 2022 15:02:21 -0600 Subject: [PATCH 204/235] Began an "incremental" GNDS 2.0 spec build, in standards/incremental. Sorting of vectors in Component-derived classes is now optional, and OFF by default. That's really the right thing to do. For GNDS data (which is billed as being order-independent), it may seem convenient to sort vectors of objects according to an index or label metadatum in the object. However, (1) doing so takes time, and (2) we think that by default, at least, the order in which somebody enters such vector elements should be preserved. Modified a couple of the GNDS 2.0 JSON specs, based on experience with trying to load GNDS 2.0 files. --- autogen/json2class.cpp | 19 +- .../v1.9/containers/Axes/test/Axes.test.cpp | 1 + .../Regions1d/test/Regions1d.test.cpp | 1 + .../v1.9/containers/XYs1d/test/XYs1d.test.cpp | 1 + src/GNDStk/Component/src/field.hpp | 11 +- src/GNDStk/Component/src/forward.hpp | 2 +- src/GNDStk/Component/src/sort.hpp | 4 + src/GNDStk/Component/test/finish.test.cpp | 1 + src/GNDStk/Node/src/child.hpp | 4 + src/GNDStk/utility.hpp | 5 +- standards/gnds-2.0/summary_cpTransport.json | 6 +- standards/gnds-2.0/summary_transport.json | 8 +- .../cpTransport/CoulombPlusNuclearElastic.cpp | 51 +-- .../cpTransport/CoulombPlusNuclearElastic.h | 28 +- .../c/src/v2.0/transport/CrossSection.cpp | 1 + .../test/c/src/v2.0/transport/CrossSection.h | 1 + .../c/src/v2.0/transport/Distribution.cpp | 2 + .../test/c/src/v2.0/transport/Distribution.h | 2 + .../python/src/v2.0/cpTransport.python.cpp | 4 +- .../CoulombPlusNuclearElastic.python.cpp | 17 +- .../v2.0/transport/CrossSection.python.cpp | 14 +- .../v2.0/transport/Distribution.python.cpp | 22 +- .../cpTransport/CoulombPlusNuclearElastic.hpp | 27 +- .../src/test/v2.0/transport/CrossSection.hpp | 29 +- .../src/test/v2.0/transport/Distribution.hpp | 46 ++- standards/incremental/.gitignore | 3 + standards/incremental/changes.json | 175 ++++++++ standards/incremental/code/c/src/v2.0.h | 38 ++ .../code/c/src/v2.0/gnds/Atomic.cpp | 174 ++++++++ .../incremental/code/c/src/v2.0/gnds/Atomic.h | 159 ++++++++ .../code/c/src/v2.0/gnds/Author.cpp | 165 ++++++++ .../incremental/code/c/src/v2.0/gnds/Author.h | 155 +++++++ .../code/c/src/v2.0/gnds/Authors.cpp | 250 ++++++++++++ .../code/c/src/v2.0/gnds/Authors.h | 204 ++++++++++ .../code/c/src/v2.0/gnds/BindingEnergy.cpp | 174 ++++++++ .../code/c/src/v2.0/gnds/BindingEnergy.h | 159 ++++++++ .../incremental/code/c/src/v2.0/gnds/Body.cpp | 380 ++++++++++++++++++ .../incremental/code/c/src/v2.0/gnds/Body.h | 274 +++++++++++++ .../code/c/src/v2.0/gnds/ChemicalElement.cpp | 279 +++++++++++++ .../code/c/src/v2.0/gnds/ChemicalElement.h | 219 ++++++++++ .../code/c/src/v2.0/gnds/ChemicalElements.cpp | 340 ++++++++++++++++ .../code/c/src/v2.0/gnds/ChemicalElements.h | 262 ++++++++++++ .../code/c/src/v2.0/gnds/Configuration.cpp | 200 +++++++++ .../code/c/src/v2.0/gnds/Configuration.h | 175 ++++++++ .../code/c/src/v2.0/gnds/Configurations.cpp | 295 ++++++++++++++ .../code/c/src/v2.0/gnds/Configurations.h | 233 +++++++++++ .../incremental/code/c/src/v2.0/gnds/Date.cpp | 200 +++++++++ .../incremental/code/c/src/v2.0/gnds/Date.h | 175 ++++++++ .../code/c/src/v2.0/gnds/Dates.cpp | 295 ++++++++++++++ .../incremental/code/c/src/v2.0/gnds/Dates.h | 233 +++++++++++ .../code/c/src/v2.0/gnds/Documentation.cpp | 346 ++++++++++++++++ .../code/c/src/v2.0/gnds/Documentation.h | 255 ++++++++++++ .../code/c/src/v2.0/gnds/Double.cpp | 235 +++++++++++ .../incremental/code/c/src/v2.0/gnds/Double.h | 195 +++++++++ .../code/c/src/v2.0/gnds/EndfCompatible.cpp | 380 ++++++++++++++++++ .../code/c/src/v2.0/gnds/EndfCompatible.h | 274 +++++++++++++ .../code/c/src/v2.0/gnds/Evaluated.cpp | 314 +++++++++++++++ .../code/c/src/v2.0/gnds/Evaluated.h | 239 +++++++++++ .../incremental/code/c/src/v2.0/gnds/PoPs.cpp | 322 +++++++++++++++ .../incremental/code/c/src/v2.0/gnds/PoPs.h | 243 +++++++++++ .../code/c/src/v2.0/gnds/Styles.cpp | 174 ++++++++ .../incremental/code/c/src/v2.0/gnds/Styles.h | 159 ++++++++ .../code/c/src/v2.0/gnds/Title.cpp | 380 ++++++++++++++++++ .../incremental/code/c/src/v2.0/gnds/Title.h | 274 +++++++++++++ .../code/python/src/v2.0/gnds.python.cpp | 65 +++ .../python/src/v2.0/gnds/Atomic.python.cpp | 56 +++ .../python/src/v2.0/gnds/Author.python.cpp | 56 +++ .../python/src/v2.0/gnds/Authors.python.cpp | 56 +++ .../src/v2.0/gnds/BindingEnergy.python.cpp | 56 +++ .../code/python/src/v2.0/gnds/Body.python.cpp | 85 ++++ .../src/v2.0/gnds/ChemicalElement.python.cpp | 77 ++++ .../src/v2.0/gnds/ChemicalElements.python.cpp | 56 +++ .../src/v2.0/gnds/Configuration.python.cpp | 63 +++ .../src/v2.0/gnds/Configurations.python.cpp | 56 +++ .../code/python/src/v2.0/gnds/Date.python.cpp | 63 +++ .../python/src/v2.0/gnds/Dates.python.cpp | 56 +++ .../src/v2.0/gnds/Documentation.python.cpp | 84 ++++ .../python/src/v2.0/gnds/Double.python.cpp | 70 ++++ .../src/v2.0/gnds/EndfCompatible.python.cpp | 85 ++++ .../python/src/v2.0/gnds/Evaluated.python.cpp | 84 ++++ .../code/python/src/v2.0/gnds/PoPs.python.cpp | 84 ++++ .../python/src/v2.0/gnds/Styles.python.cpp | 56 +++ .../python/src/v2.0/gnds/Title.python.cpp | 85 ++++ standards/incremental/code/src/code/v2.0.hpp | 27 ++ .../code/src/code/v2.0/gnds/Atomic.hpp | 110 +++++ .../src/code/v2.0/gnds/Atomic/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Author.hpp | 110 +++++ .../src/code/v2.0/gnds/Author/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Authors.hpp | 118 ++++++ .../src/code/v2.0/gnds/Authors/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/BindingEnergy.hpp | 110 +++++ .../v2.0/gnds/BindingEnergy/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Body.hpp | 109 +++++ .../src/code/v2.0/gnds/Body/src/custom.hpp | 4 + .../src/code/v2.0/gnds/ChemicalElement.hpp | 131 ++++++ .../v2.0/gnds/ChemicalElement/src/custom.hpp | 4 + .../src/code/v2.0/gnds/ChemicalElements.hpp | 110 +++++ .../v2.0/gnds/ChemicalElements/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Configuration.hpp | 116 ++++++ .../v2.0/gnds/Configuration/src/custom.hpp | 4 + .../src/code/v2.0/gnds/Configurations.hpp | 110 +++++ .../v2.0/gnds/Configurations/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Date.hpp | 116 ++++++ .../src/code/v2.0/gnds/Date/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Dates.hpp | 110 +++++ .../src/code/v2.0/gnds/Dates/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Documentation.hpp | 150 +++++++ .../v2.0/gnds/Documentation/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Double.hpp | 122 ++++++ .../src/code/v2.0/gnds/Double/src/custom.hpp | 4 + .../src/code/v2.0/gnds/EndfCompatible.hpp | 109 +++++ .../v2.0/gnds/EndfCompatible/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Evaluated.hpp | 137 +++++++ .../code/v2.0/gnds/Evaluated/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/PoPs.hpp | 138 +++++++ .../src/code/v2.0/gnds/PoPs/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Styles.hpp | 110 +++++ .../src/code/v2.0/gnds/Styles/src/custom.hpp | 4 + .../code/src/code/v2.0/gnds/Title.hpp | 109 +++++ .../src/code/v2.0/gnds/Title/src/custom.hpp | 4 + .../incremental/code/src/code/v2.0/key.hpp | 100 +++++ standards/incremental/example/.gitignore | 7 + standards/incremental/example/0.cpp | 54 +++ standards/incremental/example/compile | 33 ++ .../incremental/incremental-classes.json | 256 ++++++++++++ standards/incremental/incremental.json | 12 + 126 files changed, 13132 insertions(+), 160 deletions(-) create mode 100644 standards/incremental/.gitignore create mode 100644 standards/incremental/changes.json create mode 100644 standards/incremental/code/c/src/v2.0.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Atomic.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Author.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Author.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Authors.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Authors.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Body.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Body.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Configuration.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Configurations.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Date.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Date.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Dates.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Dates.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Documentation.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Double.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Double.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Evaluated.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/PoPs.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Styles.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Styles.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Title.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Title.h create mode 100644 standards/incremental/code/python/src/v2.0/gnds.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Atomic.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Author.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Authors.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/BindingEnergy.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Body.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/ChemicalElement.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/ChemicalElements.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Configurations.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Date.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Dates.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Documentation.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Double.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/EndfCompatible.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Evaluated.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/PoPs.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Styles.python.cpp create mode 100644 standards/incremental/code/python/src/v2.0/gnds/Title.python.cpp create mode 100644 standards/incremental/code/src/code/v2.0.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Atomic/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Author.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Author/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Authors.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Authors/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/BindingEnergy/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Body.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Body/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/ChemicalElement/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/ChemicalElements/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Configuration/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Configurations/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Date.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Date/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Dates.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Dates/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Documentation/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Double.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Double/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/EndfCompatible/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Evaluated/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/PoPs/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Styles.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Styles/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Title.hpp create mode 100644 standards/incremental/code/src/code/v2.0/gnds/Title/src/custom.hpp create mode 100644 standards/incremental/code/src/code/v2.0/key.hpp create mode 100644 standards/incremental/example/.gitignore create mode 100644 standards/incremental/example/0.cpp create mode 100755 standards/incremental/example/compile create mode 100644 standards/incremental/incremental-classes.json create mode 100644 standards/incremental/incremental.json diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 325fee38d..f05a367a9 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -14,6 +14,9 @@ const bool singletons = true; // Extra debug/informational printing? const bool debugging = false; +// Put print statement in constructor calls. For debugging. +const bool printCtorCalls = false; + // ----------------------------------------------------------------------------- // Data structures @@ -1161,9 +1164,13 @@ void writeClassCtorComponent( // writeClassCtorBody void writeClassCtorBody( - writer &out, const std::string &line, const std::string &argName + writer &out, + const std::string &kind, const std::string &clname, + const std::string &line, const std::string &argName ) { out(1,"{"); + if (printCtorCalls) + out(2,"std::cout << \"ctor: @: @\" << std::endl;", clname, kind); if (line != "") out(2,line); out(2,"Component::finish(@);", argName); @@ -1246,7 +1253,7 @@ void writeClassCtors(writer &out, const PerClass &per) } // body - writeClassCtorBody(out, "", ""); + writeClassCtorBody(out, "1. default/parameters", per.clname, "", ""); // ------------------------ // ctor: node @@ -1256,7 +1263,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// from node"); out(1,"explicit @(const Node &node) :", per.clname); writeClassCtorComponent(out, per, false); - writeClassCtorBody(out, "", "node"); + writeClassCtorBody(out, "2. node", per.clname, "", "node"); // ------------------------ // ctor: vector @@ -1269,7 +1276,7 @@ void writeClassCtors(writer &out, const PerClass &per) "std::enable_if_t>>"); out(1,"@(const std::vector &vector) :", per.clname); writeClassCtorComponent(out, per, false); - writeClassCtorBody(out, "", "vector"); + writeClassCtorBody(out, "3. vector", per.clname, "", "vector"); } // ------------------------ @@ -1280,7 +1287,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// copy"); out(1,"@(const @ &other) :", per.clname, per.clname); writeClassCtorComponent(out, per, true); - writeClassCtorBody(out, "*this = other;", "other"); + writeClassCtorBody(out, "4. copy", per.clname, "*this = other;", "other"); // ------------------------ // ctor: move @@ -1290,7 +1297,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// move"); out(1,"@(@ &&other) :", per.clname, per.clname); writeClassCtorComponent(out, per, true); - writeClassCtorBody(out, "*this = std::move(other);", "other"); + writeClassCtorBody(out, "5. move", per.clname, "*this = std::move(other);", "other"); } // writeClassCtors diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/Axes.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/Axes.test.cpp index 395446943..ffa2a2ae5 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/Axes.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Axes/test/Axes.test.cpp @@ -21,6 +21,7 @@ void verifyChunk( const Axes& ); std::string invalidName(); SCENARIO( "Axes" ) { + njoy::GNDStk::sort = true; GIVEN( "valid data for the component" ) { diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/Regions1d.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/Regions1d.test.cpp index 7fcc97829..3175fa715 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/Regions1d.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d/test/Regions1d.test.cpp @@ -23,6 +23,7 @@ void verifyChunk( const Regions1d& ); std::string invalidName(); SCENARIO( "Regions1d" ) { + njoy::GNDStk::sort = true; GIVEN( "valid data for the component" ) { diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/XYs1d.test.cpp b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/XYs1d.test.cpp index 689c180df..1429a2a15 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/XYs1d.test.cpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d/test/XYs1d.test.cpp @@ -22,6 +22,7 @@ void verifyChunk( const XYs1d& ); std::string invalidName(); SCENARIO( "XYs1d" ) { + njoy::GNDStk::sort = true; GIVEN( "valid data for the component" ) { diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index a4fd7f388..5cc4f82ac 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -35,8 +35,17 @@ class Field { // The following accept DERIVED*, not DERIVED&, so that we can write "this", // not "*this", where Field objects are constructed. It's just a bit shorter. + // parent + // This could be rolled into the (parent, value) constructor below, but the + // compiler seems to be better able to optimize the construction of objects + // with class Field data members if we split it out. + explicit Field(DERIVED *const parent) : + parent(*parent), + wrappedValue(T{}) + { } + // parent, value - explicit Field(DERIVED *const parent, const T &v = T{}) : + explicit Field(DERIVED *const parent, const T &v) : parent(*parent), wrappedValue(v) { } diff --git a/src/GNDStk/Component/src/forward.hpp b/src/GNDStk/Component/src/forward.hpp index 97379863a..4886f7f2a 100644 --- a/src/GNDStk/Component/src/forward.hpp +++ b/src/GNDStk/Component/src/forward.hpp @@ -6,7 +6,7 @@ Elsewhere in GNDStk, we often refer to objects of type Meta or Child as "keys". However, in the context of classes generated by our code generator, and in general when working with classes that derive from Component, we sometimes use -the term "key" to mean some sort of "lookup key". +the term "key" to mean some kind of "lookup key". Code that appears later in this file involves both of the above contexts. So, in order to keep confusion to a minimum, we'll write "MC" or "mc" (where we diff --git a/src/GNDStk/Component/src/sort.hpp b/src/GNDStk/Component/src/sort.hpp index 11e696927..bf4f2ba25 100644 --- a/src/GNDStk/Component/src/sort.hpp +++ b/src/GNDStk/Component/src/sort.hpp @@ -5,6 +5,9 @@ void sort() { + if (!njoy::GNDStk::sort) + return; + try { // Consistency check assert(std::tuple_size_v == links.size()); @@ -20,6 +23,7 @@ void sort() }, Keys().tup ); + } catch (...) { log::member("Component.sort()"); throw; diff --git a/src/GNDStk/Component/test/finish.test.cpp b/src/GNDStk/Component/test/finish.test.cpp index d999b1a8c..0cb05a749 100644 --- a/src/GNDStk/Component/test/finish.test.cpp +++ b/src/GNDStk/Component/test/finish.test.cpp @@ -320,6 +320,7 @@ class DerivedPlain : public Component // Detailed tests of those other functions aren't done *here*. SCENARIO("Component finish()") { + njoy::GNDStk::sort = true; GIVEN("A component-derived class that has block data") { const std::vector sorted = diff --git a/src/GNDStk/Node/src/child.hpp b/src/GNDStk/Node/src/child.hpp index 31e279a3d..9619aa467 100644 --- a/src/GNDStk/Node/src/child.hpp +++ b/src/GNDStk/Node/src/child.hpp @@ -399,6 +399,10 @@ child( container.push_back(obj); found = true; } else { + // prepare container + // todo Should do something similar for the variant case, above + container.reserve(count(kwd)); + // search in the current Node's children for (auto &c : children) if (std::regex_match(c->name, std::regex(kwd.name)) && diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 98262eb01..5a535f57c 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -164,13 +164,16 @@ inline std::string context(const std::string &type, const std::string &name) // ----------------------------------------------------------------------------- -// Miscellaneous output/printing related flags +// Miscellaneous flags // ----------------------------------------------------------------------------- // ------------------------ // re: Component class // ------------------------ +// Should vectors in Component-derived classes be sorted automatically? +inline bool sort = false; + // Should Component's generic print() function print comments? inline bool comments = true; diff --git a/standards/gnds-2.0/summary_cpTransport.json b/standards/gnds-2.0/summary_cpTransport.json index e77a02d4c..b92acddd1 100644 --- a/standards/gnds-2.0/summary_cpTransport.json +++ b/standards/gnds-2.0/summary_cpTransport.json @@ -57,7 +57,7 @@ "default": null, "description": "The particle identifier of the outgoing particle.", "name": "pid", - "required": true, + "required": false, "type": "XMLName" }, "productFrame": { @@ -65,7 +65,7 @@ "default": null, "description": "The frame that the product data are defined in.", "name": "productFrame", - "required": true, + "required": false, "type": "frame" } }, @@ -85,7 +85,7 @@ "occurrence": "1", "required": false }, - "nuclearPlusInterference": { + "// nuclearPlusInterference": { "__class__": "nodes.ChildNode", "description": "This differential cross section is given by the nuclear plus interference approach.", "name": "nuclearPlusInterference", diff --git a/standards/gnds-2.0/summary_transport.json b/standards/gnds-2.0/summary_transport.json index 710e2fa3f..76a1da8a2 100644 --- a/standards/gnds-2.0/summary_transport.json +++ b/standards/gnds-2.0/summary_transport.json @@ -370,7 +370,7 @@ "occurrence": "choice", "required": false }, - "// CoulombPlusNuclearElastic": { + "CoulombPlusNuclearElastic": { "__class__": "nodes.ChildNode", "description": "This is either a container holding the differential charged particle scattering cross section or a reference to said container.", "name": "CoulombPlusNuclearElastic", @@ -1098,7 +1098,7 @@ "occurrence": "choice", "required": false }, - "// CoulombPlusNuclearElastic": { + "CoulombPlusNuclearElastic": { "__class__": "nodes.ChildNode", "description": "This is either a container holding the differential charged particle scattering cross section or a reference to said container.", "name": "CoulombPlusNuclearElastic", @@ -1154,6 +1154,10 @@ "name": "energyAngularMC", "occurrence": "choice", "required": false + }, + "XYs2d": { + "occurrence": "choice", + "required": false } }, "description": "Container for all (un)correlated energy-angle distributions.", diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp index 7cc381b86..34c8d261a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.cpp @@ -21,12 +21,10 @@ namespace extract { static auto productFrame = [](auto &obj) { return &obj.productFrame; }; static auto RutherfordScattering = [](auto &obj) { return &obj.RutherfordScattering; }; static auto nuclearAmplitudeExpansion = [](auto &obj) { return &obj.nuclearAmplitudeExpansion; }; - static auto nuclearPlusInterference = [](auto &obj) { return &obj.nuclearPlusInterference; }; } using CPPRutherfordScattering = cpTransport::RutherfordScattering; using CPPNuclearAmplitudeExpansion = cpTransport::NuclearAmplitudeExpansion; -using CPPNuclearPlusInterference = cpTransport::NuclearPlusInterference; // ----------------------------------------------------------------------------- @@ -59,8 +57,7 @@ CoulombPlusNuclearElasticCreateConst( const XMLName pid, const enums::Frame productFrame, ConstHandle2ConstRutherfordScattering RutherfordScattering, - ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion, - ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference + ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion ) { ConstHandle2CoulombPlusNuclearElastic handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", @@ -70,8 +67,7 @@ CoulombPlusNuclearElasticCreateConst( pid, productFrame, detail::tocpp(RutherfordScattering), - detail::tocpp(nuclearAmplitudeExpansion), - detail::tocpp(nuclearPlusInterference) + detail::tocpp(nuclearAmplitudeExpansion) ); return handle; } @@ -85,8 +81,7 @@ CoulombPlusNuclearElasticCreate( const XMLName pid, const enums::Frame productFrame, ConstHandle2ConstRutherfordScattering RutherfordScattering, - ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion, - ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference + ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion ) { ConstHandle2CoulombPlusNuclearElastic handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", @@ -96,8 +91,7 @@ CoulombPlusNuclearElasticCreate( pid, productFrame, detail::tocpp(RutherfordScattering), - detail::tocpp(nuclearAmplitudeExpansion), - detail::tocpp(nuclearPlusInterference) + detail::tocpp(nuclearAmplitudeExpansion) ); return handle; } @@ -396,40 +390,3 @@ CoulombPlusNuclearElasticNuclearAmplitudeExpansionSet(ConstHandle2CoulombPlusNuc detail::setField (CLASSNAME, CLASSNAME+"NuclearAmplitudeExpansionSet", This, extract::nuclearAmplitudeExpansion, nuclearAmplitudeExpansion); } - - -// ----------------------------------------------------------------------------- -// Child: nuclearPlusInterference -// ----------------------------------------------------------------------------- - -// Has -int -CoulombPlusNuclearElasticNuclearPlusInterferenceHas(ConstHandle2ConstCoulombPlusNuclearElastic This) -{ - return detail::hasField - (CLASSNAME, CLASSNAME+"NuclearPlusInterferenceHas", This, extract::nuclearPlusInterference); -} - -// Get, const -Handle2ConstNuclearPlusInterference -CoulombPlusNuclearElasticNuclearPlusInterferenceGetConst(ConstHandle2ConstCoulombPlusNuclearElastic This) -{ - return detail::getField - (CLASSNAME, CLASSNAME+"NuclearPlusInterferenceGetConst", This, extract::nuclearPlusInterference); -} - -// Get, non-const -Handle2NuclearPlusInterference -CoulombPlusNuclearElasticNuclearPlusInterferenceGet(ConstHandle2CoulombPlusNuclearElastic This) -{ - return detail::getField - (CLASSNAME, CLASSNAME+"NuclearPlusInterferenceGet", This, extract::nuclearPlusInterference); -} - -// Set -void -CoulombPlusNuclearElasticNuclearPlusInterferenceSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference) -{ - detail::setField - (CLASSNAME, CLASSNAME+"NuclearPlusInterferenceSet", This, extract::nuclearPlusInterference, nuclearPlusInterference); -} diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h index 791aced8f..4e69663c8 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h @@ -34,7 +34,6 @@ #include "GNDStk.h" #include "v2.0/cpTransport/RutherfordScattering.h" #include "v2.0/cpTransport/NuclearAmplitudeExpansion.h" -#include "v2.0/cpTransport/NuclearPlusInterference.h" #ifdef __cplusplus #define extern_c extern "C" @@ -85,8 +84,7 @@ CoulombPlusNuclearElasticCreateConst( const XMLName pid, const enums::Frame productFrame, ConstHandle2ConstRutherfordScattering RutherfordScattering, - ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion, - ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference + ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion ); // +++ Create, general @@ -98,8 +96,7 @@ CoulombPlusNuclearElasticCreate( const XMLName pid, const enums::Frame productFrame, ConstHandle2ConstRutherfordScattering RutherfordScattering, - ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion, - ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference + ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion ); // +++ Assign @@ -278,27 +275,6 @@ extern_c void CoulombPlusNuclearElasticNuclearAmplitudeExpansionSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstNuclearAmplitudeExpansion nuclearAmplitudeExpansion); -// ----------------------------------------------------------------------------- -// Child: nuclearPlusInterference -// ----------------------------------------------------------------------------- - -// +++ Has -extern_c int -CoulombPlusNuclearElasticNuclearPlusInterferenceHas(ConstHandle2ConstCoulombPlusNuclearElastic This); - -// --- Get, const -extern_c Handle2ConstNuclearPlusInterference -CoulombPlusNuclearElasticNuclearPlusInterferenceGetConst(ConstHandle2ConstCoulombPlusNuclearElastic This); - -// +++ Get, non-const -extern_c Handle2NuclearPlusInterference -CoulombPlusNuclearElasticNuclearPlusInterferenceGet(ConstHandle2CoulombPlusNuclearElastic This); - -// +++ Set -extern_c void -CoulombPlusNuclearElasticNuclearPlusInterferenceSet(ConstHandle2CoulombPlusNuclearElastic This, ConstHandle2ConstNuclearPlusInterference nuclearPlusInterference); - - // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp index a577bdf01..d834e595c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.cpp @@ -20,6 +20,7 @@ namespace extract { using CPPXYs1d = containers::XYs1d; using CPPRegions1d = containers::Regions1d; using CPPResonancesWithBackground = transport::ResonancesWithBackground; +using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; using CPPThermalNeutronScatteringLaw1d = tsl::ThermalNeutronScatteringLaw1d; using CPPReference = transport::Reference; using CPPGridded1d = containers::Gridded1d; diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h index 896cbf126..fa64cdece 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h @@ -35,6 +35,7 @@ #include "v2.0/containers/XYs1d.h" #include "v2.0/containers/Regions1d.h" #include "v2.0/transport/ResonancesWithBackground.h" +#include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" #include "v2.0/tsl/ThermalNeutronScatteringLaw1d.h" #include "v2.0/transport/Reference.h" #include "v2.0/containers/Gridded1d.h" diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp index 27dde9c3b..aed73a1aa 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.cpp @@ -23,6 +23,7 @@ using CPPEnergyAngular = transport::EnergyAngular; using CPPKalbachMann = transport::KalbachMann; using CPPReference = transport::Reference; using CPPBranching3d = transport::Branching3d; +using CPPCoulombPlusNuclearElastic = cpTransport::CoulombPlusNuclearElastic; using CPPThermalNeutronScatteringLaw = tsl::ThermalNeutronScatteringLaw; using CPPCoherentPhotonScattering = atomic::CoherentPhotonScattering; using CPPIncoherentPhotonScattering = atomic::IncoherentPhotonScattering; @@ -30,6 +31,7 @@ using CPPUnspecified = transport::Unspecified; using CPPMultiGroup3d = transport::MultiGroup3d; using CPPAngularEnergyMC = processed::AngularEnergyMC; using CPPEnergyAngularMC = processed::EnergyAngularMC; +using CPPXYs2d = containers::XYs2d; // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h index d9b0bbd4d..37839af8b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h @@ -39,6 +39,7 @@ #include "v2.0/transport/KalbachMann.h" #include "v2.0/transport/Reference.h" #include "v2.0/transport/Branching3d.h" +#include "v2.0/cpTransport/CoulombPlusNuclearElastic.h" #include "v2.0/tsl/ThermalNeutronScatteringLaw.h" #include "v2.0/atomic/CoherentPhotonScattering.h" #include "v2.0/atomic/IncoherentPhotonScattering.h" @@ -46,6 +47,7 @@ #include "v2.0/transport/MultiGroup3d.h" #include "v2.0/processed/AngularEnergyMC.h" #include "v2.0/processed/EnergyAngularMC.h" +#include "v2.0/containers/XYs2d.h" #ifdef __cplusplus #define extern_c extern "C" diff --git a/standards/gnds-2.0/test/python/src/v2.0/cpTransport.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport.python.cpp index 1b8380246..b4057c4b8 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/cpTransport.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport.python.cpp @@ -17,8 +17,8 @@ namespace python_cpTransport { void wrapRealInterferenceTerm(python::module &); void wrapImaginaryInterferenceTerm(python::module &); void wrapNuclearAmplitudeExpansion(python::module &); - void wrapNuclearPlusInterference(python::module &); void wrapCoulombPlusNuclearElastic(python::module &); + void wrapNuclearPlusInterference(python::module &); } // namespace python_cpTransport // cpTransport wrapper @@ -36,8 +36,8 @@ void wrapCpTransport(python::module &module) python_cpTransport::wrapRealInterferenceTerm(submodule); python_cpTransport::wrapImaginaryInterferenceTerm(submodule); python_cpTransport::wrapNuclearAmplitudeExpansion(submodule); - python_cpTransport::wrapNuclearPlusInterference(submodule); python_cpTransport::wrapCoulombPlusNuclearElastic(submodule); + python_cpTransport::wrapNuclearPlusInterference(submodule); }; } // namespace python_v2_0 diff --git a/standards/gnds-2.0/test/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp index 0d5b116ba..2a99fe341 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/cpTransport/CoulombPlusNuclearElastic.python.cpp @@ -39,20 +39,18 @@ void wrapCoulombPlusNuclearElastic(python::module &module) const std::optional &, const std::optional &, const XMLName &, - const XMLName &, - const enums::Frame &, + const std::optional &, + const std::optional &, const std::optional &, - const std::optional &, - const std::optional & + const std::optional & >(), python::arg("href") = std::nullopt, python::arg("identical_particles") = std::nullopt, python::arg("label"), - python::arg("pid"), - python::arg("product_frame"), + python::arg("pid") = std::nullopt, + python::arg("product_frame") = std::nullopt, python::arg("rutherford_scattering") = std::nullopt, python::arg("nuclear_amplitude_expansion") = std::nullopt, - python::arg("nuclear_plus_interference") = std::nullopt, Component::documentation("constructor").data() ) .def_property_readonly( @@ -90,11 +88,6 @@ void wrapCoulombPlusNuclearElastic(python::module &module) [](const Component &self) { return self.nuclearAmplitudeExpansion(); }, Component::documentation("nuclear_amplitude_expansion").data() ) - .def_property_readonly( - "nuclear_plus_interference", - [](const Component &self) { return self.nuclearPlusInterference(); }, - Component::documentation("nuclear_plus_interference").data() - ) ; // add standard component definitions diff --git a/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp index 52d3a86b1..067d47b66 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/CrossSection.python.cpp @@ -28,6 +28,7 @@ void wrapCrossSection(python::module &module) containers::XYs1d, containers::Regions1d, transport::ResonancesWithBackground, + cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw1d, transport::Reference, containers::Gridded1d, @@ -50,7 +51,7 @@ void wrapCrossSection(python::module &module) const _t & >(), python::arg("label") = std::nullopt, - python::arg("_xys1dregions1dresonances_with_backgroundthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d"), + python::arg("_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d"), Component::documentation("constructor").data() ) .def_property_readonly( @@ -73,6 +74,11 @@ void wrapCrossSection(python::module &module) [](const Component &self) { return self.resonancesWithBackground(); }, Component::documentation("resonances_with_background").data() ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic", + [](const Component &self) { return self.CoulombPlusNuclearElastic(); }, + Component::documentation("coulomb_plus_nuclear_elastic").data() + ) .def_property_readonly( "thermal_neutron_scattering_law1d", [](const Component &self) { return self.thermalNeutronScatteringLaw1d(); }, @@ -99,9 +105,9 @@ void wrapCrossSection(python::module &module) Component::documentation("urr_probability_tables1d").data() ) .def_property_readonly( - "_xys1dregions1dresonances_with_backgroundthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d", - [](const Component &self) { return self._XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(); }, - Component::documentation("_xys1dregions1dresonances_with_backgroundthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d").data() + "_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d", + [](const Component &self) { return self._XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(); }, + Component::documentation("_xys1dregions1dresonances_with_background_coulomb_plus_nuclear_elasticthermal_neutron_scattering_law1dreferencegridded1d_ys1d_urr_probability_tables1d").data() ) ; diff --git a/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp b/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp index a7ad015f5..4a6651b36 100644 --- a/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp +++ b/standards/gnds-2.0/test/python/src/v2.0/transport/Distribution.python.cpp @@ -32,13 +32,15 @@ void wrapDistribution(python::module &module) transport::KalbachMann, transport::Reference, transport::Branching3d, + cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw, atomic::CoherentPhotonScattering, atomic::IncoherentPhotonScattering, transport::Unspecified, transport::MultiGroup3d, processed::AngularEnergyMC, - processed::EnergyAngularMC + processed::EnergyAngularMC, + containers::XYs2d >; // create the component @@ -54,7 +56,7 @@ void wrapDistribution(python::module &module) python::init< const _t & >(), - python::arg("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3dthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc"), + python::arg("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mcxys2d"), Component::documentation("constructor").data() ) .def_property_readonly( @@ -92,6 +94,11 @@ void wrapDistribution(python::module &module) [](const Component &self) { return self.branching3d(); }, Component::documentation("branching3d").data() ) + .def_property_readonly( + "coulomb_plus_nuclear_elastic", + [](const Component &self) { return self.CoulombPlusNuclearElastic(); }, + Component::documentation("coulomb_plus_nuclear_elastic").data() + ) .def_property_readonly( "thermal_neutron_scattering_law", [](const Component &self) { return self.thermalNeutronScatteringLaw(); }, @@ -128,9 +135,14 @@ void wrapDistribution(python::module &module) Component::documentation("energy_angular_mc").data() ) .def_property_readonly( - "_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3dthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc", - [](const Component &self) { return self._angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC(); }, - Component::documentation("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3dthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mc").data() + "xys2d", + [](const Component &self) { return self.XYs2d(); }, + Component::documentation("xys2d").data() + ) + .def_property_readonly( + "_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mcxys2d", + [](const Component &self) { return self._angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d(); }, + Component::documentation("_angular_two_bodyuncorrelatedangular_energyenergy_angular_kalbach_mannreferencebranching3d_coulomb_plus_nuclear_elasticthermal_neutron_scattering_lawcoherent_photon_scatteringincoherent_photon_scatteringunspecifiedmulti_group3dangular_energy_mcenergy_angular_mcxys2d").data() ) ; diff --git a/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp index 6229ca396..c4b150fbc 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp @@ -7,7 +7,6 @@ #include "test/v2.0/cpTransport/RutherfordScattering.hpp" #include "test/v2.0/cpTransport/NuclearAmplitudeExpansion.hpp" -#include "test/v2.0/cpTransport/NuclearPlusInterference.hpp" namespace test { namespace v2_0 { @@ -41,17 +40,15 @@ class CoulombPlusNuclearElastic : public Component("identicalParticles") | XMLName{} / Meta<>("label") | - XMLName{} + std::optional{} / Meta<>("pid") | - enums::Frame{} + std::optional{} / Meta<>("productFrame") | // children std::optional{} / --Child<>("RutherfordScattering") | std::optional{} - / --Child<>("nuclearAmplitudeExpansion") | - std::optional{} - / --Child<>("nuclearPlusInterference") + / --Child<>("nuclearAmplitudeExpansion") ; } @@ -67,13 +64,12 @@ class CoulombPlusNuclearElastic : public Component> href{this}; Field> identicalParticles{this,defaults.identicalParticles}; Field label{this}; - Field pid{this}; - Field productFrame{this}; + Field> pid{this}; + Field> productFrame{this}; // children Field> RutherfordScattering{this}; Field> nuclearAmplitudeExpansion{this}; - Field> nuclearPlusInterference{this}; // ------------------------ // Constructors @@ -86,8 +82,7 @@ class CoulombPlusNuclearElastic : public Componentpid, \ this->productFrame, \ this->RutherfordScattering, \ - this->nuclearAmplitudeExpansion, \ - this->nuclearPlusInterference) + this->nuclearAmplitudeExpansion) // default, and from fields // std::optional replaces Defaulted; this class knows the default(s) @@ -95,11 +90,10 @@ class CoulombPlusNuclearElastic : public Component> &href = {}, const wrapper> &identicalParticles = {}, const wrapper &label = {}, - const wrapper &pid = {}, - const wrapper &productFrame = {}, + const wrapper> &pid = {}, + const wrapper> &productFrame = {}, const wrapper> &RutherfordScattering = {}, - const wrapper> &nuclearAmplitudeExpansion = {}, - const wrapper> &nuclearPlusInterference = {} + const wrapper> &nuclearAmplitudeExpansion = {} ) : GNDSTK_COMPONENT(BlockData{}), href(this,href), @@ -108,8 +102,7 @@ class CoulombPlusNuclearElastic : public Component { containers::XYs1d, containers::Regions1d, transport::ResonancesWithBackground, + cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw1d, transport::Reference, containers::Gridded1d, @@ -55,7 +57,7 @@ class CrossSection : public Component { / Meta<>("label") | // children _t{} - / --(Child<>("XYs1d") || Child<>("regions1d") || Child<>("resonancesWithBackground") || Child<>("thermalNeutronScatteringLaw1d") || Child<>("reference") || Child<>("gridded1d") || Child<>("Ys1d") || Child<>("URR_probabilityTables1d")) + / --(Child<>("XYs1d") || Child<>("regions1d") || Child<>("resonancesWithBackground") || Child<>("CoulombPlusNuclearElastic") || Child<>("thermalNeutronScatteringLaw1d") || Child<>("reference") || Child<>("gridded1d") || Child<>("Ys1d") || Child<>("URR_probabilityTables1d")) ; } @@ -66,15 +68,16 @@ class CrossSection : public Component { Field> label{this}; // children - variant - Field<_t> _XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d{this}; - FieldPart XYs1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart regions1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart resonancesWithBackground{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart thermalNeutronScatteringLaw1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart reference{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart gridded1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart Ys1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; - FieldPart URR_probabilityTables1d{_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + Field<_t> _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d{this}; + FieldPart XYs1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart regions1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart resonancesWithBackground{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart CoulombPlusNuclearElastic{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart thermalNeutronScatteringLaw1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart reference{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart gridded1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart Ys1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; + FieldPart URR_probabilityTables1d{_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d}; // ------------------------ // Constructors @@ -82,16 +85,16 @@ class CrossSection : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->label, \ - this->_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) + this->_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) // default, and from fields explicit CrossSection( const wrapper> &label = {}, - const wrapper<_t> &_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d = {} + const wrapper<_t> &_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d = {} ) : GNDSTK_COMPONENT(BlockData{}), label(this,label), - _XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(this,_XYs1dregions1dresonancesWithBackgroundthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) + _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(this,_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) { Component::finish(); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp index 19d24c337..0ac5fbd19 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp @@ -12,6 +12,7 @@ #include "test/v2.0/transport/KalbachMann.hpp" #include "test/v2.0/transport/Reference.hpp" #include "test/v2.0/transport/Branching3d.hpp" +#include "test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp" #include "test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp" #include "test/v2.0/atomic/CoherentPhotonScattering.hpp" #include "test/v2.0/atomic/IncoherentPhotonScattering.hpp" @@ -19,6 +20,7 @@ #include "test/v2.0/transport/MultiGroup3d.hpp" #include "test/v2.0/processed/AngularEnergyMC.hpp" #include "test/v2.0/processed/EnergyAngularMC.hpp" +#include "test/v2.0/containers/XYs2d.hpp" namespace test { namespace v2_0 { @@ -40,13 +42,15 @@ class Distribution : public Component { transport::KalbachMann, transport::Reference, transport::Branching3d, + cpTransport::CoulombPlusNuclearElastic, tsl::ThermalNeutronScatteringLaw, atomic::CoherentPhotonScattering, atomic::IncoherentPhotonScattering, transport::Unspecified, transport::MultiGroup3d, processed::AngularEnergyMC, - processed::EnergyAngularMC + processed::EnergyAngularMC, + containers::XYs2d >; // ------------------------ @@ -64,7 +68,7 @@ class Distribution : public Component { return // children _t{} - / --(Child<>("angularTwoBody") || Child<>("uncorrelated") || Child<>("angularEnergy") || Child<>("energyAngular") || Child<>("KalbachMann") || Child<>("reference") || Child<>("branching3d") || Child<>("thermalNeutronScatteringLaw") || Child<>("coherentPhotonScattering") || Child<>("incoherentPhotonScattering") || Child<>("unspecified") || Child<>("multiGroup3d") || Child<>("angularEnergyMC") || Child<>("energyAngularMC")) + / --(Child<>("angularTwoBody") || Child<>("uncorrelated") || Child<>("angularEnergy") || Child<>("energyAngular") || Child<>("KalbachMann") || Child<>("reference") || Child<>("branching3d") || Child<>("CoulombPlusNuclearElastic") || Child<>("thermalNeutronScatteringLaw") || Child<>("coherentPhotonScattering") || Child<>("incoherentPhotonScattering") || Child<>("unspecified") || Child<>("multiGroup3d") || Child<>("angularEnergyMC") || Child<>("energyAngularMC") || Child<>("XYs2d")) ; } @@ -72,35 +76,37 @@ class Distribution : public Component { using Component::construct; // children - variant - Field<_t> _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC{this}; - FieldPart angularTwoBody{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart uncorrelated{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart angularEnergy{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart energyAngular{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart KalbachMann{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart reference{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart branching3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart thermalNeutronScatteringLaw{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart coherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart incoherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart unspecified{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart multiGroup3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart angularEnergyMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; - FieldPart energyAngularMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC}; + Field<_t> _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d{this}; + FieldPart angularTwoBody{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart uncorrelated{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart angularEnergy{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart energyAngular{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart KalbachMann{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart reference{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart branching3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart CoulombPlusNuclearElastic{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart thermalNeutronScatteringLaw{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart coherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart incoherentPhotonScattering{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart unspecified{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart multiGroup3d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart angularEnergyMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart energyAngularMC{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; + FieldPart XYs2d{_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d}; // ------------------------ // Constructors // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ - this->_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC) + this->_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d) // default, and from fields explicit Distribution( - const wrapper<_t> &_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC = {} + const wrapper<_t> &_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d = {} ) : GNDSTK_COMPONENT(BlockData{}), - _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC(this,_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMC) + _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d(this,_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d) { Component::finish(); } diff --git a/standards/incremental/.gitignore b/standards/incremental/.gitignore new file mode 100644 index 000000000..05f772216 --- /dev/null +++ b/standards/incremental/.gitignore @@ -0,0 +1,3 @@ + +json2class.exe +old.json diff --git a/standards/incremental/changes.json b/standards/incremental/changes.json new file mode 100644 index 000000000..e35c0ecc0 --- /dev/null +++ b/standards/incremental/changes.json @@ -0,0 +1,175 @@ +{ + "// Changes to node names" : "", + "name" : { + "double" : "Double" + }, + + "// Changes to node metadata a.k.a. attributes: type and default" : "", + "metadata" : { + "// Change json spec's 'type' to a valid GNDStk type" : "", + "type" : { + "// json spec corrections" : "", + "bodyText" : "std::string", + "attributeValue" : "std::string", + "date" : "std::string", + "checksum" : "std::string", + "Boolean" : "bool", + + "// enumerator types" : "", + "dateType" : "enums::DateType", + "contributorType" : "enums::ContributorType", + "relationType" : "enums::RelationType", + "parity" : "enums::Parity", + "frame" : "enums::Frame", + "interpolation" : "enums::Interpolation", + "interpolationQualifier" : "enums::InterpolationQualifier", + "hashAlgorithm" : "enums::HashAlgorithm", + "algorithm" : "enums::HashAlgorithm", + "decayType" : "enums::DecayType", + "gridStyle" : "enums::GridStyle", + "boundaryCondition" : "enums::BoundaryCondition", + "interaction" : "enums::Interaction" + }, + + "// Change json spec's 'default' to a valid GNDStk value" : "", + "default" : { + + "// values that really mean: no default" : "", + " \\\\kern-1ex": "", + "`' (i.e. unitless)": "", + "`' (no label)": "", + "`none'": "", + + "// json spec corrections" : "", + "\\\\attr{lin-lin}" : "enums::Interpolation::linlin", + + "// dateType" : "", + "accepted" : "enums::DateType::accepted", + "available" : "enums::DateType::available", + "copyrighted" : "enums::DateType::copyrighted", + "collected" : "enums::DateType::collected", + "created" : "enums::DateType::created", + "issued" : "enums::DateType::issued", + "submitted" : "enums::DateType::submitted", + "updated" : "enums::DateType::updated", + "valid" : "enums::DateType::valid", + "withdrawn" : "enums::DateType::withdrawn", + + "// contributorType" : "", + "ContactPerson" : "enums::ContributorType::ContactPerson", + "DataCollector" : "enums::ContributorType::DataCollector", + "DataCurator" : "enums::ContributorType::DataCurator", + "DataManager" : "enums::ContributorType::DataManager", + "Distributor" : "enums::ContributorType::Distributor", + "Editor" : "enums::ContributorType::Editor", + "HostingInstitution" : "enums::ContributorType::HostingInstitution", + "Producer" : "enums::ContributorType::Producer", + "ProjectLeader" : "enums::ContributorType::ProjectLeader", + "ProjectManager" : "enums::ContributorType::ProjectManager", + "ProjectMember" : "enums::ContributorType::ProjectMember", + "RegistrationAgency" : "enums::ContributorType::RegistrationAgency", + "RegistrationAuthority" : "enums::ContributorType::RegistrationAuthority", + "RelatedPerson" : "enums::ContributorType::RelatedPerson", + "Researcher" : "enums::ContributorType::Researcher", + "ResearchGroup" : "enums::ContributorType::ResearchGroup", + "RightsHolder" : "enums::ContributorType::RightsHolder", + "Sponsor" : "enums::ContributorType::Sponsor", + "Supervisor" : "enums::ContributorType::Supervisor", + "WorkPackageLeader" : "enums::ContributorType::WorkPackageLeader", + "Other" : "enums::ContributorType::Other", + + "// relationType" : "", + "IsCitedBy" : "enums::RelationType::IsCitedBy", + "Cites" : "enums::RelationType::Cites", + "IsSupplementTo" : "enums::RelationType::IsSupplementTo", + "IsSupplementedBy" : "enums::RelationType::IsSupplementedBy", + "IsContinuedBy" : "enums::RelationType::IsContinuedBy", + "Continues" : "enums::RelationType::Continues", + "Describes" : "enums::RelationType::Describes", + "IsDescribedBy" : "enums::RelationType::IsDescribedBy", + "HasMetadata" : "enums::RelationType::HasMetadata", + "IsMetadataFor" : "enums::RelationType::IsMetadataFor", + "HasVersion" : "enums::RelationType::HasVersion", + "IsVersionOf" : "enums::RelationType::IsVersionOf", + "IsNewVersionOf" : "enums::RelationType::IsNewVersionOf", + "IsPreviousVersionOf" : "enums::RelationType::IsPreviousVersionOf", + "IsPartOf" : "enums::RelationType::IsPartOf", + "HasPart" : "enums::RelationType::HasPart", + "IsPublishedIn" : "enums::RelationType::IsPublishedIn", + "IsReferencedBy" : "enums::RelationType::IsReferencedBy", + "References" : "enums::RelationType::References", + "IsDocumentedBy" : "enums::RelationType::IsDocumentedBy", + "Documents" : "enums::RelationType::Documents", + "IsCompiledBy" : "enums::RelationType::IsCompiledBy", + "Compiles" : "enums::RelationType::Compiles", + "IsVariantFormOf" : "enums::RelationType::IsVariantFormOf", + "IsOriginalFormOf" : "enums::RelationType::IsOriginalFormOf", + "IsIdenticalTo" : "enums::RelationType::IsIdenticalTo", + "IsReviewedBy" : "enums::RelationType::IsReviewedBy", + "Reviews" : "enums::RelationType::Reviews", + "IsDerivedFrom" : "enums::RelationType::IsDerivedFrom", + "IsSourceOf" : "enums::RelationType::IsSourceOf", + "IsRequiredBy" : "enums::RelationType::IsRequiredBy", + "Requires" : "enums::RelationType::Requires", + "Obsoletes" : "enums::RelationType::Obsoletes", + "IsObsoletedBy" : "enums::RelationType::IsObsoletedBy", + + "// parity" : "", + "-1" : "enums::Parity::minus", + "+1" : "enums::Parity::plus", + + "// frame" : "", + "lab" : "enums::Frame::lab", + "centerOfMass" : "enums::Frame::centerOfMass", + + "// interpolation" : "", + "flat" : "enums::Interpolation::flat", + "charged-particle" : "enums::Interpolation::chargedparticle", + "lin-lin" : "enums::Interpolation::linlin", + "lin-log" : "enums::Interpolation::linlog", + "log-lin" : "enums::Interpolation::loglin", + "log-log" : "enums::Interpolation::loglog", + + "// interpolationQualifier" : "", + "direct" : "enums::InterpolationQualifier::direct", + "unitBase" : "enums::InterpolationQualifier::unitBase", + "correspondingEnergies" : "enums::InterpolationQualifier::correspondingEnergies", + "correspondingPoints" : "enums::InterpolationQualifier::correspondingPoints", + + "// hashAlgorithm" : "", + "md5" : "enums::HashAlgorithm::md5", + "sha1" : "enums::HashAlgorithm::sha1", + + "// decayType" : "", + "SF" : "enums::DecayType::SpontaneousFission", + "beta-" : "enums::DecayType::BetaMinus", + "beta+" : "enums::DecayType::BetaPlus", + "EC" : "enums::DecayType::ElectronCapture", + "electroMagnetic" : "enums::DecayType::ElectroMagnetic", + "IT" : "enums::DecayType::IsomericTransition", + "n" : "enums::DecayType::Neutron", + "p" : "enums::DecayType::Proton", + "d" : "enums::DecayType::Deuteron", + "t" : "enums::DecayType::Triton", + "alpha" : "enums::DecayType::Alpha", + "atomicRelaxation" : "enums::DecayType::AtomicRelaxation", + + "// gridStyle" : "", + "none" : "enums::GridStyle::none", + "points" : "enums::GridStyle::points", + "boundaries" : "enums::GridStyle::boundaries", + "parameters" : "enums::GridStyle::parameters", + + "// boundaryCondition" : "", + "EliminateShiftFunction" : "enums::BoundaryCondition::EliminateShiftFunction", + "NegativeOrbitalMomentum" : "enums::BoundaryCondition::NegativeOrbitalMomentum", + "Brune" : "enums::BoundaryCondition::Brune", + "Given" : "enums::BoundaryCondition::Given", + + "// interaction" : "", + "nuclear" : "enums::Interaction::nuclear", + "atomic" : "enums::Interaction::atomic", + "thermalNeutronScatteringLaw" : "enums::Interaction::thermalNeutronScatteringLaw" + } + } +} diff --git a/standards/incremental/code/c/src/v2.0.h b/standards/incremental/code/c/src/v2.0.h new file mode 100644 index 000000000..dfdfa5687 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0.h @@ -0,0 +1,38 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// ----------------------------------------------------------------------------- +// This header file is designed to work with both C and C++ +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0 +#define C_INTERFACE_TEST_V2_0 + +#include "GNDStk.h" + +#ifdef __cplusplus + // For C++ + #include "test/v2_0.hpp" +#endif + +#include "v2.0/gnds/PoPs.h" +#include "v2.0/gnds/Styles.h" +#include "v2.0/gnds/Evaluated.h" +#include "v2.0/gnds/Documentation.h" +#include "v2.0/gnds/Authors.h" +#include "v2.0/gnds/Author.h" +#include "v2.0/gnds/Dates.h" +#include "v2.0/gnds/Date.h" +#include "v2.0/gnds/Title.h" +#include "v2.0/gnds/Body.h" +#include "v2.0/gnds/EndfCompatible.h" +#include "v2.0/gnds/ChemicalElements.h" +#include "v2.0/gnds/ChemicalElement.h" +#include "v2.0/gnds/Atomic.h" +#include "v2.0/gnds/Configurations.h" +#include "v2.0/gnds/Configuration.h" +#include "v2.0/gnds/BindingEnergy.h" +#include "v2.0/gnds/Double.h" + +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp b/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp new file mode 100644 index 000000000..04ff40a5a --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Atomic.hpp" +#include "Atomic.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = AtomicClass; +using CPP = multigroup::Atomic; + +static const std::string CLASSNAME = "Atomic"; + +namespace extract { + static auto configurations = [](auto &obj) { return &obj.configurations; }; +} + +using CPPConfigurations = gnds::Configurations; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAtomic +AtomicDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Atomic +AtomicDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAtomic +AtomicCreateConst( + ConstHandle2ConstConfigurations configurations +) { + ConstHandle2Atomic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(configurations) + ); + return handle; +} + +// Create, general +Handle2Atomic +AtomicCreate( + ConstHandle2ConstConfigurations configurations +) { + ConstHandle2Atomic handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(configurations) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AtomicAssign(ConstHandle2Atomic This, ConstHandle2ConstAtomic from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AtomicDelete(ConstHandle2ConstAtomic This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AtomicRead(ConstHandle2Atomic This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AtomicWrite(ConstHandle2ConstAtomic This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AtomicPrint(ConstHandle2ConstAtomic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AtomicPrintXML(ConstHandle2ConstAtomic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AtomicPrintJSON(ConstHandle2ConstAtomic This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: configurations +// ----------------------------------------------------------------------------- + +// Has +int +AtomicConfigurationsHas(ConstHandle2ConstAtomic This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfigurationsHas", This, extract::configurations); +} + +// Get, const +Handle2ConstConfigurations +AtomicConfigurationsGetConst(ConstHandle2ConstAtomic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfigurationsGetConst", This, extract::configurations); +} + +// Get, non-const +Handle2Configurations +AtomicConfigurationsGet(ConstHandle2Atomic This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ConfigurationsGet", This, extract::configurations); +} + +// Set +void +AtomicConfigurationsSet(ConstHandle2Atomic This, ConstHandle2ConstConfigurations configurations) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ConfigurationsSet", This, extract::configurations, configurations); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Atomic.h b/standards/incremental/code/c/src/v2.0/gnds/Atomic.h new file mode 100644 index 000000000..b8754e035 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Atomic.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Atomic is the basic handle type in this file. Example: +// // Create a default Atomic object: +// Atomic handle = AtomicDefault(); +// Functions involving Atomic are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_ATOMIC +#define C_INTERFACE_TEST_V2_0_GNDS_ATOMIC + +#include "GNDStk.h" +#include "v2.0/gnds/Configurations.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AtomicClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Atomic +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AtomicClass *Atomic; + +// --- Const-aware handles. +typedef const struct AtomicClass *const ConstHandle2ConstAtomic; +typedef struct AtomicClass *const ConstHandle2Atomic; +typedef const struct AtomicClass * Handle2ConstAtomic; +typedef struct AtomicClass * Handle2Atomic; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAtomic +AtomicDefaultConst(); + +// +++ Create, default +extern_c Handle2Atomic +AtomicDefault(); + +// --- Create, general, const +extern_c Handle2ConstAtomic +AtomicCreateConst( + ConstHandle2ConstConfigurations configurations +); + +// +++ Create, general +extern_c Handle2Atomic +AtomicCreate( + ConstHandle2ConstConfigurations configurations +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AtomicAssign(ConstHandle2Atomic This, ConstHandle2ConstAtomic from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AtomicDelete(ConstHandle2ConstAtomic This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AtomicRead(ConstHandle2Atomic This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AtomicWrite(ConstHandle2ConstAtomic This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AtomicPrint(ConstHandle2ConstAtomic This); + +// +++ Print to standard output, as XML +extern_c int +AtomicPrintXML(ConstHandle2ConstAtomic This); + +// +++ Print to standard output, as JSON +extern_c int +AtomicPrintJSON(ConstHandle2ConstAtomic This); + + +// ----------------------------------------------------------------------------- +// Child: configurations +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AtomicConfigurationsHas(ConstHandle2ConstAtomic This); + +// --- Get, const +extern_c Handle2ConstConfigurations +AtomicConfigurationsGetConst(ConstHandle2ConstAtomic This); + +// +++ Get, non-const +extern_c Handle2Configurations +AtomicConfigurationsGet(ConstHandle2Atomic This); + +// +++ Set +extern_c void +AtomicConfigurationsSet(ConstHandle2Atomic This, ConstHandle2ConstConfigurations configurations); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Author.cpp b/standards/incremental/code/c/src/v2.0/gnds/Author.cpp new file mode 100644 index 000000000..ab058b361 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Author.cpp @@ -0,0 +1,165 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Author.hpp" +#include "Author.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = AuthorClass; +using CPP = multigroup::Author; + +static const std::string CLASSNAME = "Author"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAuthor +AuthorDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Author +AuthorDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAuthor +AuthorCreateConst( + const char *const name +) { + ConstHandle2Author handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name + ); + return handle; +} + +// Create, general +Handle2Author +AuthorCreate( + const char *const name +) { + ConstHandle2Author handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AuthorAssign(ConstHandle2Author This, ConstHandle2ConstAuthor from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AuthorDelete(ConstHandle2ConstAuthor This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AuthorRead(ConstHandle2Author This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AuthorWrite(ConstHandle2ConstAuthor This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AuthorPrint(ConstHandle2ConstAuthor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AuthorPrintXML(ConstHandle2ConstAuthor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AuthorPrintJSON(ConstHandle2ConstAuthor This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +AuthorNameHas(ConstHandle2ConstAuthor This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +const char * +AuthorNameGet(ConstHandle2ConstAuthor This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +AuthorNameSet(ConstHandle2Author This, const char *const name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Author.h b/standards/incremental/code/c/src/v2.0/gnds/Author.h new file mode 100644 index 000000000..eb966cde2 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Author.h @@ -0,0 +1,155 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Author is the basic handle type in this file. Example: +// // Create a default Author object: +// Author handle = AuthorDefault(); +// Functions involving Author are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_AUTHOR +#define C_INTERFACE_TEST_V2_0_GNDS_AUTHOR + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AuthorClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Author +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AuthorClass *Author; + +// --- Const-aware handles. +typedef const struct AuthorClass *const ConstHandle2ConstAuthor; +typedef struct AuthorClass *const ConstHandle2Author; +typedef const struct AuthorClass * Handle2ConstAuthor; +typedef struct AuthorClass * Handle2Author; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAuthor +AuthorDefaultConst(); + +// +++ Create, default +extern_c Handle2Author +AuthorDefault(); + +// --- Create, general, const +extern_c Handle2ConstAuthor +AuthorCreateConst( + const char *const name +); + +// +++ Create, general +extern_c Handle2Author +AuthorCreate( + const char *const name +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AuthorAssign(ConstHandle2Author This, ConstHandle2ConstAuthor from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AuthorDelete(ConstHandle2ConstAuthor This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AuthorRead(ConstHandle2Author This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AuthorWrite(ConstHandle2ConstAuthor This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AuthorPrint(ConstHandle2ConstAuthor This); + +// +++ Print to standard output, as XML +extern_c int +AuthorPrintXML(ConstHandle2ConstAuthor This); + +// +++ Print to standard output, as JSON +extern_c int +AuthorPrintJSON(ConstHandle2ConstAuthor This); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AuthorNameHas(ConstHandle2ConstAuthor This); + +// +++ Get +// +++ Returns by value +extern_c const char * +AuthorNameGet(ConstHandle2ConstAuthor This); + +// +++ Set +extern_c void +AuthorNameSet(ConstHandle2Author This, const char *const name); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp b/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp new file mode 100644 index 000000000..2829132fd --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp @@ -0,0 +1,250 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Authors.hpp" +#include "Authors.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = AuthorsClass; +using CPP = multigroup::Authors; + +static const std::string CLASSNAME = "Authors"; + +namespace extract { + static auto author = [](auto &obj) { return &obj.author; }; +} + +using CPPAuthor = gnds::Author; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstAuthors +AuthorsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Authors +AuthorsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstAuthors +AuthorsCreateConst( + ConstHandle2Author *const author, const size_t authorSize +) { + ConstHandle2Authors handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t AuthorN = 0; AuthorN < authorSize; ++AuthorN) + AuthorsAuthorAdd(handle, author[AuthorN]); + return handle; +} + +// Create, general +Handle2Authors +AuthorsCreate( + ConstHandle2Author *const author, const size_t authorSize +) { + ConstHandle2Authors handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t AuthorN = 0; AuthorN < authorSize; ++AuthorN) + AuthorsAuthorAdd(handle, author[AuthorN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +AuthorsAssign(ConstHandle2Authors This, ConstHandle2ConstAuthors from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +AuthorsDelete(ConstHandle2ConstAuthors This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +AuthorsRead(ConstHandle2Authors This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +AuthorsWrite(ConstHandle2ConstAuthors This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +AuthorsPrint(ConstHandle2ConstAuthors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +AuthorsPrintXML(ConstHandle2ConstAuthors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +AuthorsPrintJSON(ConstHandle2ConstAuthors This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: author +// ----------------------------------------------------------------------------- + +// Has +int +AuthorsAuthorHas(ConstHandle2ConstAuthors This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AuthorHas", This, extract::author); +} + +// Clear +void +AuthorsAuthorClear(ConstHandle2Authors This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"AuthorClear", This, extract::author); +} + +// Size +size_t +AuthorsAuthorSize(ConstHandle2ConstAuthors This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"AuthorSize", This, extract::author); +} + +// Add +void +AuthorsAuthorAdd(ConstHandle2Authors This, ConstHandle2ConstAuthor author) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"AuthorAdd", This, extract::author, author); +} + +// Get, by index \in [0,size), const +Handle2ConstAuthor +AuthorsAuthorGetConst(ConstHandle2ConstAuthors This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AuthorGetConst", This, extract::author, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Author +AuthorsAuthorGet(ConstHandle2Authors This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"AuthorGet", This, extract::author, index_); +} + +// Set, by index \in [0,size) +void +AuthorsAuthorSet( + ConstHandle2Authors This, + const size_t index_, + ConstHandle2ConstAuthor author +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"AuthorSet", This, extract::author, index_, author); +} + +// Has, by name +int +AuthorsAuthorHasByName( + ConstHandle2ConstAuthors This, + const char *const name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"AuthorHasByName", + This, extract::author, meta::name, name); +} + +// Get, by name, const +Handle2ConstAuthor +AuthorsAuthorGetByNameConst( + ConstHandle2ConstAuthors This, + const char *const name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByNameConst", + This, extract::author, meta::name, name); +} + +// Get, by name, non-const +Handle2Author +AuthorsAuthorGetByName( + ConstHandle2Authors This, + const char *const name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"AuthorGetByName", + This, extract::author, meta::name, name); +} + +// Set, by name +void +AuthorsAuthorSetByName( + ConstHandle2Authors This, + const char *const name, + ConstHandle2ConstAuthor author +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"AuthorSetByName", + This, extract::author, meta::name, name, author); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Authors.h b/standards/incremental/code/c/src/v2.0/gnds/Authors.h new file mode 100644 index 000000000..7f845324f --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Authors.h @@ -0,0 +1,204 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Authors is the basic handle type in this file. Example: +// // Create a default Authors object: +// Authors handle = AuthorsDefault(); +// Functions involving Authors are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_AUTHORS +#define C_INTERFACE_TEST_V2_0_GNDS_AUTHORS + +#include "GNDStk.h" +#include "v2.0/gnds/Author.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct AuthorsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Authors +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct AuthorsClass *Authors; + +// --- Const-aware handles. +typedef const struct AuthorsClass *const ConstHandle2ConstAuthors; +typedef struct AuthorsClass *const ConstHandle2Authors; +typedef const struct AuthorsClass * Handle2ConstAuthors; +typedef struct AuthorsClass * Handle2Authors; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstAuthors +AuthorsDefaultConst(); + +// +++ Create, default +extern_c Handle2Authors +AuthorsDefault(); + +// --- Create, general, const +extern_c Handle2ConstAuthors +AuthorsCreateConst( + ConstHandle2Author *const author, const size_t authorSize +); + +// +++ Create, general +extern_c Handle2Authors +AuthorsCreate( + ConstHandle2Author *const author, const size_t authorSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +AuthorsAssign(ConstHandle2Authors This, ConstHandle2ConstAuthors from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +AuthorsDelete(ConstHandle2ConstAuthors This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +AuthorsRead(ConstHandle2Authors This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +AuthorsWrite(ConstHandle2ConstAuthors This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +AuthorsPrint(ConstHandle2ConstAuthors This); + +// +++ Print to standard output, as XML +extern_c int +AuthorsPrintXML(ConstHandle2ConstAuthors This); + +// +++ Print to standard output, as JSON +extern_c int +AuthorsPrintJSON(ConstHandle2ConstAuthors This); + + +// ----------------------------------------------------------------------------- +// Child: author +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +AuthorsAuthorHas(ConstHandle2ConstAuthors This); + +// +++ Clear +extern_c void +AuthorsAuthorClear(ConstHandle2Authors This); + +// +++ Size +extern_c size_t +AuthorsAuthorSize(ConstHandle2ConstAuthors This); + +// +++ Add +extern_c void +AuthorsAuthorAdd(ConstHandle2Authors This, ConstHandle2ConstAuthor author); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstAuthor +AuthorsAuthorGetConst(ConstHandle2ConstAuthors This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Author +AuthorsAuthorGet(ConstHandle2Authors This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +AuthorsAuthorSet( + ConstHandle2Authors This, + const size_t index_, + ConstHandle2ConstAuthor author +); + +// +++ Has, by name +extern_c int +AuthorsAuthorHasByName( + ConstHandle2ConstAuthors This, + const char *const name +); + +// --- Get, by name, const +extern_c Handle2ConstAuthor +AuthorsAuthorGetByNameConst( + ConstHandle2ConstAuthors This, + const char *const name +); + +// +++ Get, by name, non-const +extern_c Handle2Author +AuthorsAuthorGetByName( + ConstHandle2Authors This, + const char *const name +); + +// +++ Set, by name +extern_c void +AuthorsAuthorSetByName( + ConstHandle2Authors This, + const char *const name, + ConstHandle2ConstAuthor author +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp new file mode 100644 index 000000000..a4e59caa0 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/BindingEnergy.hpp" +#include "BindingEnergy.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = BindingEnergyClass; +using CPP = multigroup::BindingEnergy; + +static const std::string CLASSNAME = "BindingEnergy"; + +namespace extract { + static auto Double = [](auto &obj) { return &obj.Double; }; +} + +using CPPDouble = gnds::Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBindingEnergy +BindingEnergyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2BindingEnergy +BindingEnergyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBindingEnergy +BindingEnergyCreateConst( + ConstHandle2ConstDouble Double +) { + ConstHandle2BindingEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(Double) + ); + return handle; +} + +// Create, general +Handle2BindingEnergy +BindingEnergyCreate( + ConstHandle2ConstDouble Double +) { + ConstHandle2BindingEnergy handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(Double) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BindingEnergyAssign(ConstHandle2BindingEnergy This, ConstHandle2ConstBindingEnergy from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BindingEnergyDelete(ConstHandle2ConstBindingEnergy This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BindingEnergyRead(ConstHandle2BindingEnergy This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BindingEnergyWrite(ConstHandle2ConstBindingEnergy This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BindingEnergyPrint(ConstHandle2ConstBindingEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BindingEnergyPrintXML(ConstHandle2ConstBindingEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BindingEnergyPrintJSON(ConstHandle2ConstBindingEnergy This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// Has +int +BindingEnergyDoubleHas(ConstHandle2ConstBindingEnergy This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DoubleHas", This, extract::Double); +} + +// Get, const +Handle2ConstDouble +BindingEnergyDoubleGetConst(ConstHandle2ConstBindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGetConst", This, extract::Double); +} + +// Get, non-const +Handle2Double +BindingEnergyDoubleGet(ConstHandle2BindingEnergy This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DoubleGet", This, extract::Double); +} + +// Set +void +BindingEnergyDoubleSet(ConstHandle2BindingEnergy This, ConstHandle2ConstDouble Double) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h new file mode 100644 index 000000000..c51a732c3 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// BindingEnergy is the basic handle type in this file. Example: +// // Create a default BindingEnergy object: +// BindingEnergy handle = BindingEnergyDefault(); +// Functions involving BindingEnergy are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_BINDINGENERGY +#define C_INTERFACE_TEST_V2_0_GNDS_BINDINGENERGY + +#include "GNDStk.h" +#include "v2.0/gnds/Double.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BindingEnergyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ BindingEnergy +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BindingEnergyClass *BindingEnergy; + +// --- Const-aware handles. +typedef const struct BindingEnergyClass *const ConstHandle2ConstBindingEnergy; +typedef struct BindingEnergyClass *const ConstHandle2BindingEnergy; +typedef const struct BindingEnergyClass * Handle2ConstBindingEnergy; +typedef struct BindingEnergyClass * Handle2BindingEnergy; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBindingEnergy +BindingEnergyDefaultConst(); + +// +++ Create, default +extern_c Handle2BindingEnergy +BindingEnergyDefault(); + +// --- Create, general, const +extern_c Handle2ConstBindingEnergy +BindingEnergyCreateConst( + ConstHandle2ConstDouble Double +); + +// +++ Create, general +extern_c Handle2BindingEnergy +BindingEnergyCreate( + ConstHandle2ConstDouble Double +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BindingEnergyAssign(ConstHandle2BindingEnergy This, ConstHandle2ConstBindingEnergy from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BindingEnergyDelete(ConstHandle2ConstBindingEnergy This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BindingEnergyRead(ConstHandle2BindingEnergy This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BindingEnergyWrite(ConstHandle2ConstBindingEnergy This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BindingEnergyPrint(ConstHandle2ConstBindingEnergy This); + +// +++ Print to standard output, as XML +extern_c int +BindingEnergyPrintXML(ConstHandle2ConstBindingEnergy This); + +// +++ Print to standard output, as JSON +extern_c int +BindingEnergyPrintJSON(ConstHandle2ConstBindingEnergy This); + + +// ----------------------------------------------------------------------------- +// Child: Double +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +BindingEnergyDoubleHas(ConstHandle2ConstBindingEnergy This); + +// --- Get, const +extern_c Handle2ConstDouble +BindingEnergyDoubleGetConst(ConstHandle2ConstBindingEnergy This); + +// +++ Get, non-const +extern_c Handle2Double +BindingEnergyDoubleGet(ConstHandle2BindingEnergy This); + +// +++ Set +extern_c void +BindingEnergyDoubleSet(ConstHandle2BindingEnergy This, ConstHandle2ConstDouble Double); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Body.cpp b/standards/incremental/code/c/src/v2.0/gnds/Body.cpp new file mode 100644 index 000000000..72be52d92 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Body.cpp @@ -0,0 +1,380 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Body.hpp" +#include "Body.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = BodyClass; +using CPP = multigroup::Body; + +static const std::string CLASSNAME = "Body"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstBody +BodyDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Body +BodyDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstBody +BodyCreateConst() +{ + ConstHandle2Body handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Body +BodyCreate() +{ + ConstHandle2Body handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +BodyAssign(ConstHandle2Body This, ConstHandle2ConstBody from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +BodyDelete(ConstHandle2ConstBody This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +BodyRead(ConstHandle2Body This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +BodyWrite(ConstHandle2ConstBody This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +BodyPrint(ConstHandle2ConstBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +BodyPrintXML(ConstHandle2ConstBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +BodyPrintJSON(ConstHandle2ConstBody This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +BodyIntsClear(ConstHandle2Body This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +BodyIntsSize(ConstHandle2ConstBody This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +BodyIntsGet(ConstHandle2ConstBody This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BodyIntsSet(ConstHandle2Body This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +BodyIntsGetArrayConst(ConstHandle2ConstBody This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +BodyIntsGetArray(ConstHandle2Body This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +BodyIntsSetArray(ConstHandle2Body This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +BodyUnsignedsClear(ConstHandle2Body This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +BodyUnsignedsSize(ConstHandle2ConstBody This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +BodyUnsignedsGet(ConstHandle2ConstBody This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BodyUnsignedsSet(ConstHandle2Body This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +BodyUnsignedsGetArrayConst(ConstHandle2ConstBody This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +BodyUnsignedsGetArray(ConstHandle2Body This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +BodyUnsignedsSetArray(ConstHandle2Body This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +BodyFloatsClear(ConstHandle2Body This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +BodyFloatsSize(ConstHandle2ConstBody This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +BodyFloatsGet(ConstHandle2ConstBody This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BodyFloatsSet(ConstHandle2Body This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +BodyFloatsGetArrayConst(ConstHandle2ConstBody This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +BodyFloatsGetArray(ConstHandle2Body This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +BodyFloatsSetArray(ConstHandle2Body This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +BodyDoublesClear(ConstHandle2Body This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +BodyDoublesSize(ConstHandle2ConstBody This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +BodyDoublesGet(ConstHandle2ConstBody This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +BodyDoublesSet(ConstHandle2Body This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +BodyDoublesGetArrayConst(ConstHandle2ConstBody This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +BodyDoublesGetArray(ConstHandle2Body This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +BodyDoublesSetArray(ConstHandle2Body This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Body.h b/standards/incremental/code/c/src/v2.0/gnds/Body.h new file mode 100644 index 000000000..a9a5eaf4e --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Body.h @@ -0,0 +1,274 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Body is the basic handle type in this file. Example: +// // Create a default Body object: +// Body handle = BodyDefault(); +// Functions involving Body are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_BODY +#define C_INTERFACE_TEST_V2_0_GNDS_BODY + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct BodyClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Body +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct BodyClass *Body; + +// --- Const-aware handles. +typedef const struct BodyClass *const ConstHandle2ConstBody; +typedef struct BodyClass *const ConstHandle2Body; +typedef const struct BodyClass * Handle2ConstBody; +typedef struct BodyClass * Handle2Body; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstBody +BodyDefaultConst(); + +// +++ Create, default +extern_c Handle2Body +BodyDefault(); + +// --- Create, general, const +extern_c Handle2ConstBody +BodyCreateConst(); + +// +++ Create, general +extern_c Handle2Body +BodyCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +BodyAssign(ConstHandle2Body This, ConstHandle2ConstBody from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +BodyDelete(ConstHandle2ConstBody This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +BodyRead(ConstHandle2Body This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +BodyWrite(ConstHandle2ConstBody This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +BodyPrint(ConstHandle2ConstBody This); + +// +++ Print to standard output, as XML +extern_c int +BodyPrintXML(ConstHandle2ConstBody This); + +// +++ Print to standard output, as JSON +extern_c int +BodyPrintJSON(ConstHandle2ConstBody This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +BodyIntsClear(ConstHandle2Body This); + +// +++ Get size +extern_c size_t +BodyIntsSize(ConstHandle2ConstBody This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +BodyIntsGet(ConstHandle2ConstBody This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BodyIntsSet(ConstHandle2Body This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +BodyIntsGetArrayConst(ConstHandle2ConstBody This); + +// +++ Get pointer to existing values, non-const +extern_c int * +BodyIntsGetArray(ConstHandle2Body This); + +// +++ Set completely new values and size +extern_c void +BodyIntsSetArray(ConstHandle2Body This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +BodyUnsignedsClear(ConstHandle2Body This); + +// +++ Get size +extern_c size_t +BodyUnsignedsSize(ConstHandle2ConstBody This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +BodyUnsignedsGet(ConstHandle2ConstBody This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BodyUnsignedsSet(ConstHandle2Body This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +BodyUnsignedsGetArrayConst(ConstHandle2ConstBody This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +BodyUnsignedsGetArray(ConstHandle2Body This); + +// +++ Set completely new values and size +extern_c void +BodyUnsignedsSetArray(ConstHandle2Body This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +BodyFloatsClear(ConstHandle2Body This); + +// +++ Get size +extern_c size_t +BodyFloatsSize(ConstHandle2ConstBody This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +BodyFloatsGet(ConstHandle2ConstBody This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BodyFloatsSet(ConstHandle2Body This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +BodyFloatsGetArrayConst(ConstHandle2ConstBody This); + +// +++ Get pointer to existing values, non-const +extern_c float * +BodyFloatsGetArray(ConstHandle2Body This); + +// +++ Set completely new values and size +extern_c void +BodyFloatsSetArray(ConstHandle2Body This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +BodyDoublesClear(ConstHandle2Body This); + +// +++ Get size +extern_c size_t +BodyDoublesSize(ConstHandle2ConstBody This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +BodyDoublesGet(ConstHandle2ConstBody This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +BodyDoublesSet(ConstHandle2Body This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +BodyDoublesGetArrayConst(ConstHandle2ConstBody This); + +// +++ Get pointer to existing values, non-const +extern_c double * +BodyDoublesGetArray(ConstHandle2Body This); + +// +++ Set completely new values and size +extern_c void +BodyDoublesSetArray(ConstHandle2Body This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp new file mode 100644 index 000000000..91ad1e09c --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp @@ -0,0 +1,279 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/ChemicalElement.hpp" +#include "ChemicalElement.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = ChemicalElementClass; +using CPP = multigroup::ChemicalElement; + +static const std::string CLASSNAME = "ChemicalElement"; + +namespace extract { + static auto symbol = [](auto &obj) { return &obj.symbol; }; + static auto Z = [](auto &obj) { return &obj.Z; }; + static auto name = [](auto &obj) { return &obj.name; }; + static auto atomic = [](auto &obj) { return &obj.atomic; }; +} + +using CPPAtomic = gnds::Atomic; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstChemicalElement +ChemicalElementDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ChemicalElement +ChemicalElementDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstChemicalElement +ChemicalElementCreateConst( + const char *const symbol, + const int Z, + const char *const name, + ConstHandle2ConstAtomic atomic +) { + ConstHandle2ChemicalElement handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + symbol, + Z, + name, + detail::tocpp(atomic) + ); + return handle; +} + +// Create, general +Handle2ChemicalElement +ChemicalElementCreate( + const char *const symbol, + const int Z, + const char *const name, + ConstHandle2ConstAtomic atomic +) { + ConstHandle2ChemicalElement handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + symbol, + Z, + name, + detail::tocpp(atomic) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ChemicalElementAssign(ConstHandle2ChemicalElement This, ConstHandle2ConstChemicalElement from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ChemicalElementDelete(ConstHandle2ConstChemicalElement This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ChemicalElementRead(ConstHandle2ChemicalElement This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ChemicalElementWrite(ConstHandle2ConstChemicalElement This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ChemicalElementPrint(ConstHandle2ConstChemicalElement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ChemicalElementPrintXML(ConstHandle2ConstChemicalElement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ChemicalElementPrintJSON(ConstHandle2ConstChemicalElement This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: symbol +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementSymbolHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SymbolHas", This, extract::symbol); +} + +// Get +// Returns by value +const char * +ChemicalElementSymbolGet(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SymbolGet", This, extract::symbol); +} + +// Set +void +ChemicalElementSymbolSet(ConstHandle2ChemicalElement This, const char *const symbol) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SymbolSet", This, extract::symbol, symbol); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: Z +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementZHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ZHas", This, extract::Z); +} + +// Get +// Returns by value +int +ChemicalElementZGet(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ZGet", This, extract::Z); +} + +// Set +void +ChemicalElementZSet(ConstHandle2ChemicalElement This, const int Z) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ZSet", This, extract::Z, Z); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementNameHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +const char * +ChemicalElementNameGet(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +ChemicalElementNameSet(ConstHandle2ChemicalElement This, const char *const name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Child: atomic +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementAtomicHas(ConstHandle2ConstChemicalElement This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AtomicHas", This, extract::atomic); +} + +// Get, const +Handle2ConstAtomic +ChemicalElementAtomicGetConst(ConstHandle2ConstChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AtomicGetConst", This, extract::atomic); +} + +// Get, non-const +Handle2Atomic +ChemicalElementAtomicGet(ConstHandle2ChemicalElement This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AtomicGet", This, extract::atomic); +} + +// Set +void +ChemicalElementAtomicSet(ConstHandle2ChemicalElement This, ConstHandle2ConstAtomic atomic) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AtomicSet", This, extract::atomic, atomic); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h new file mode 100644 index 000000000..8a0884ddf --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h @@ -0,0 +1,219 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ChemicalElement is the basic handle type in this file. Example: +// // Create a default ChemicalElement object: +// ChemicalElement handle = ChemicalElementDefault(); +// Functions involving ChemicalElement are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_CHEMICALELEMENT +#define C_INTERFACE_TEST_V2_0_GNDS_CHEMICALELEMENT + +#include "GNDStk.h" +#include "v2.0/gnds/Atomic.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ChemicalElementClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ChemicalElement +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ChemicalElementClass *ChemicalElement; + +// --- Const-aware handles. +typedef const struct ChemicalElementClass *const ConstHandle2ConstChemicalElement; +typedef struct ChemicalElementClass *const ConstHandle2ChemicalElement; +typedef const struct ChemicalElementClass * Handle2ConstChemicalElement; +typedef struct ChemicalElementClass * Handle2ChemicalElement; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstChemicalElement +ChemicalElementDefaultConst(); + +// +++ Create, default +extern_c Handle2ChemicalElement +ChemicalElementDefault(); + +// --- Create, general, const +extern_c Handle2ConstChemicalElement +ChemicalElementCreateConst( + const char *const symbol, + const int Z, + const char *const name, + ConstHandle2ConstAtomic atomic +); + +// +++ Create, general +extern_c Handle2ChemicalElement +ChemicalElementCreate( + const char *const symbol, + const int Z, + const char *const name, + ConstHandle2ConstAtomic atomic +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ChemicalElementAssign(ConstHandle2ChemicalElement This, ConstHandle2ConstChemicalElement from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ChemicalElementDelete(ConstHandle2ConstChemicalElement This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ChemicalElementRead(ConstHandle2ChemicalElement This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ChemicalElementWrite(ConstHandle2ConstChemicalElement This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ChemicalElementPrint(ConstHandle2ConstChemicalElement This); + +// +++ Print to standard output, as XML +extern_c int +ChemicalElementPrintXML(ConstHandle2ConstChemicalElement This); + +// +++ Print to standard output, as JSON +extern_c int +ChemicalElementPrintJSON(ConstHandle2ConstChemicalElement This); + + +// ----------------------------------------------------------------------------- +// Metadatum: symbol +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementSymbolHas(ConstHandle2ConstChemicalElement This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ChemicalElementSymbolGet(ConstHandle2ConstChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementSymbolSet(ConstHandle2ChemicalElement This, const char *const symbol); + + +// ----------------------------------------------------------------------------- +// Metadatum: Z +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementZHas(ConstHandle2ConstChemicalElement This); + +// +++ Get +// +++ Returns by value +extern_c int +ChemicalElementZGet(ConstHandle2ConstChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementZSet(ConstHandle2ChemicalElement This, const int Z); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementNameHas(ConstHandle2ConstChemicalElement This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ChemicalElementNameGet(ConstHandle2ConstChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementNameSet(ConstHandle2ChemicalElement This, const char *const name); + + +// ----------------------------------------------------------------------------- +// Child: atomic +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementAtomicHas(ConstHandle2ConstChemicalElement This); + +// --- Get, const +extern_c Handle2ConstAtomic +ChemicalElementAtomicGetConst(ConstHandle2ConstChemicalElement This); + +// +++ Get, non-const +extern_c Handle2Atomic +ChemicalElementAtomicGet(ConstHandle2ChemicalElement This); + +// +++ Set +extern_c void +ChemicalElementAtomicSet(ConstHandle2ChemicalElement This, ConstHandle2ConstAtomic atomic); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp new file mode 100644 index 000000000..38f36b53f --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp @@ -0,0 +1,340 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/ChemicalElements.hpp" +#include "ChemicalElements.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = ChemicalElementsClass; +using CPP = multigroup::ChemicalElements; + +static const std::string CLASSNAME = "ChemicalElements"; + +namespace extract { + static auto chemicalElement = [](auto &obj) { return &obj.chemicalElement; }; +} + +using CPPChemicalElement = gnds::ChemicalElement; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstChemicalElements +ChemicalElementsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2ChemicalElements +ChemicalElementsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstChemicalElements +ChemicalElementsCreateConst( + ConstHandle2ChemicalElement *const chemicalElement, const size_t chemicalElementSize +) { + ConstHandle2ChemicalElements handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ChemicalElementN = 0; ChemicalElementN < chemicalElementSize; ++ChemicalElementN) + ChemicalElementsChemicalElementAdd(handle, chemicalElement[ChemicalElementN]); + return handle; +} + +// Create, general +Handle2ChemicalElements +ChemicalElementsCreate( + ConstHandle2ChemicalElement *const chemicalElement, const size_t chemicalElementSize +) { + ConstHandle2ChemicalElements handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ChemicalElementN = 0; ChemicalElementN < chemicalElementSize; ++ChemicalElementN) + ChemicalElementsChemicalElementAdd(handle, chemicalElement[ChemicalElementN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ChemicalElementsAssign(ConstHandle2ChemicalElements This, ConstHandle2ConstChemicalElements from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ChemicalElementsDelete(ConstHandle2ConstChemicalElements This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ChemicalElementsRead(ConstHandle2ChemicalElements This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ChemicalElementsWrite(ConstHandle2ConstChemicalElements This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ChemicalElementsPrint(ConstHandle2ConstChemicalElements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ChemicalElementsPrintXML(ConstHandle2ConstChemicalElements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ChemicalElementsPrintJSON(ConstHandle2ConstChemicalElements This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: chemicalElement +// ----------------------------------------------------------------------------- + +// Has +int +ChemicalElementsChemicalElementHas(ConstHandle2ConstChemicalElements This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChemicalElementHas", This, extract::chemicalElement); +} + +// Clear +void +ChemicalElementsChemicalElementClear(ConstHandle2ChemicalElements This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ChemicalElementClear", This, extract::chemicalElement); +} + +// Size +size_t +ChemicalElementsChemicalElementSize(ConstHandle2ConstChemicalElements This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ChemicalElementSize", This, extract::chemicalElement); +} + +// Add +void +ChemicalElementsChemicalElementAdd(ConstHandle2ChemicalElements This, ConstHandle2ConstChemicalElement chemicalElement) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ChemicalElementAdd", This, extract::chemicalElement, chemicalElement); +} + +// Get, by index \in [0,size), const +Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetConst(ConstHandle2ConstChemicalElements This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ChemicalElementGetConst", This, extract::chemicalElement, index_); +} + +// Get, by index \in [0,size), non-const +Handle2ChemicalElement +ChemicalElementsChemicalElementGet(ConstHandle2ChemicalElements This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ChemicalElementGet", This, extract::chemicalElement, index_); +} + +// Set, by index \in [0,size) +void +ChemicalElementsChemicalElementSet( + ConstHandle2ChemicalElements This, + const size_t index_, + ConstHandle2ConstChemicalElement chemicalElement +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ChemicalElementSet", This, extract::chemicalElement, index_, chemicalElement); +} + +// Has, by symbol +int +ChemicalElementsChemicalElementHasBySymbol( + ConstHandle2ConstChemicalElements This, + const char *const symbol +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementHasBySymbol", + This, extract::chemicalElement, meta::symbol, symbol); +} + +// Get, by symbol, const +Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetBySymbolConst( + ConstHandle2ConstChemicalElements This, + const char *const symbol +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetBySymbolConst", + This, extract::chemicalElement, meta::symbol, symbol); +} + +// Get, by symbol, non-const +Handle2ChemicalElement +ChemicalElementsChemicalElementGetBySymbol( + ConstHandle2ChemicalElements This, + const char *const symbol +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetBySymbol", + This, extract::chemicalElement, meta::symbol, symbol); +} + +// Set, by symbol +void +ChemicalElementsChemicalElementSetBySymbol( + ConstHandle2ChemicalElements This, + const char *const symbol, + ConstHandle2ConstChemicalElement chemicalElement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementSetBySymbol", + This, extract::chemicalElement, meta::symbol, symbol, chemicalElement); +} + +// Has, by Z +int +ChemicalElementsChemicalElementHasByZ( + ConstHandle2ConstChemicalElements This, + const int Z +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementHasByZ", + This, extract::chemicalElement, meta::Z, Z); +} + +// Get, by Z, const +Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetByZConst( + ConstHandle2ConstChemicalElements This, + const int Z +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetByZConst", + This, extract::chemicalElement, meta::Z, Z); +} + +// Get, by Z, non-const +Handle2ChemicalElement +ChemicalElementsChemicalElementGetByZ( + ConstHandle2ChemicalElements This, + const int Z +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetByZ", + This, extract::chemicalElement, meta::Z, Z); +} + +// Set, by Z +void +ChemicalElementsChemicalElementSetByZ( + ConstHandle2ChemicalElements This, + const int Z, + ConstHandle2ConstChemicalElement chemicalElement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementSetByZ", + This, extract::chemicalElement, meta::Z, Z, chemicalElement); +} + +// Has, by name +int +ChemicalElementsChemicalElementHasByName( + ConstHandle2ConstChemicalElements This, + const char *const name +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementHasByName", + This, extract::chemicalElement, meta::name, name); +} + +// Get, by name, const +Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetByNameConst( + ConstHandle2ConstChemicalElements This, + const char *const name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetByNameConst", + This, extract::chemicalElement, meta::name, name); +} + +// Get, by name, non-const +Handle2ChemicalElement +ChemicalElementsChemicalElementGetByName( + ConstHandle2ChemicalElements This, + const char *const name +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementGetByName", + This, extract::chemicalElement, meta::name, name); +} + +// Set, by name +void +ChemicalElementsChemicalElementSetByName( + ConstHandle2ChemicalElements This, + const char *const name, + ConstHandle2ConstChemicalElement chemicalElement +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ChemicalElementSetByName", + This, extract::chemicalElement, meta::name, name, chemicalElement); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h new file mode 100644 index 000000000..7a3c961bc --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h @@ -0,0 +1,262 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// ChemicalElements is the basic handle type in this file. Example: +// // Create a default ChemicalElements object: +// ChemicalElements handle = ChemicalElementsDefault(); +// Functions involving ChemicalElements are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_CHEMICALELEMENTS +#define C_INTERFACE_TEST_V2_0_GNDS_CHEMICALELEMENTS + +#include "GNDStk.h" +#include "v2.0/gnds/ChemicalElement.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ChemicalElementsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ ChemicalElements +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ChemicalElementsClass *ChemicalElements; + +// --- Const-aware handles. +typedef const struct ChemicalElementsClass *const ConstHandle2ConstChemicalElements; +typedef struct ChemicalElementsClass *const ConstHandle2ChemicalElements; +typedef const struct ChemicalElementsClass * Handle2ConstChemicalElements; +typedef struct ChemicalElementsClass * Handle2ChemicalElements; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstChemicalElements +ChemicalElementsDefaultConst(); + +// +++ Create, default +extern_c Handle2ChemicalElements +ChemicalElementsDefault(); + +// --- Create, general, const +extern_c Handle2ConstChemicalElements +ChemicalElementsCreateConst( + ConstHandle2ChemicalElement *const chemicalElement, const size_t chemicalElementSize +); + +// +++ Create, general +extern_c Handle2ChemicalElements +ChemicalElementsCreate( + ConstHandle2ChemicalElement *const chemicalElement, const size_t chemicalElementSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ChemicalElementsAssign(ConstHandle2ChemicalElements This, ConstHandle2ConstChemicalElements from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ChemicalElementsDelete(ConstHandle2ConstChemicalElements This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ChemicalElementsRead(ConstHandle2ChemicalElements This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ChemicalElementsWrite(ConstHandle2ConstChemicalElements This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ChemicalElementsPrint(ConstHandle2ConstChemicalElements This); + +// +++ Print to standard output, as XML +extern_c int +ChemicalElementsPrintXML(ConstHandle2ConstChemicalElements This); + +// +++ Print to standard output, as JSON +extern_c int +ChemicalElementsPrintJSON(ConstHandle2ConstChemicalElements This); + + +// ----------------------------------------------------------------------------- +// Child: chemicalElement +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ChemicalElementsChemicalElementHas(ConstHandle2ConstChemicalElements This); + +// +++ Clear +extern_c void +ChemicalElementsChemicalElementClear(ConstHandle2ChemicalElements This); + +// +++ Size +extern_c size_t +ChemicalElementsChemicalElementSize(ConstHandle2ConstChemicalElements This); + +// +++ Add +extern_c void +ChemicalElementsChemicalElementAdd(ConstHandle2ChemicalElements This, ConstHandle2ConstChemicalElement chemicalElement); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetConst(ConstHandle2ConstChemicalElements This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2ChemicalElement +ChemicalElementsChemicalElementGet(ConstHandle2ChemicalElements This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ChemicalElementsChemicalElementSet( + ConstHandle2ChemicalElements This, + const size_t index_, + ConstHandle2ConstChemicalElement chemicalElement +); + +// +++ Has, by symbol +extern_c int +ChemicalElementsChemicalElementHasBySymbol( + ConstHandle2ConstChemicalElements This, + const char *const symbol +); + +// --- Get, by symbol, const +extern_c Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetBySymbolConst( + ConstHandle2ConstChemicalElements This, + const char *const symbol +); + +// +++ Get, by symbol, non-const +extern_c Handle2ChemicalElement +ChemicalElementsChemicalElementGetBySymbol( + ConstHandle2ChemicalElements This, + const char *const symbol +); + +// +++ Set, by symbol +extern_c void +ChemicalElementsChemicalElementSetBySymbol( + ConstHandle2ChemicalElements This, + const char *const symbol, + ConstHandle2ConstChemicalElement chemicalElement +); + +// +++ Has, by Z +extern_c int +ChemicalElementsChemicalElementHasByZ( + ConstHandle2ConstChemicalElements This, + const int Z +); + +// --- Get, by Z, const +extern_c Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetByZConst( + ConstHandle2ConstChemicalElements This, + const int Z +); + +// +++ Get, by Z, non-const +extern_c Handle2ChemicalElement +ChemicalElementsChemicalElementGetByZ( + ConstHandle2ChemicalElements This, + const int Z +); + +// +++ Set, by Z +extern_c void +ChemicalElementsChemicalElementSetByZ( + ConstHandle2ChemicalElements This, + const int Z, + ConstHandle2ConstChemicalElement chemicalElement +); + +// +++ Has, by name +extern_c int +ChemicalElementsChemicalElementHasByName( + ConstHandle2ConstChemicalElements This, + const char *const name +); + +// --- Get, by name, const +extern_c Handle2ConstChemicalElement +ChemicalElementsChemicalElementGetByNameConst( + ConstHandle2ConstChemicalElements This, + const char *const name +); + +// +++ Get, by name, non-const +extern_c Handle2ChemicalElement +ChemicalElementsChemicalElementGetByName( + ConstHandle2ChemicalElements This, + const char *const name +); + +// +++ Set, by name +extern_c void +ChemicalElementsChemicalElementSetByName( + ConstHandle2ChemicalElements This, + const char *const name, + ConstHandle2ConstChemicalElement chemicalElement +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp new file mode 100644 index 000000000..46b4207af --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Configuration.hpp" +#include "Configuration.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = ConfigurationClass; +using CPP = multigroup::Configuration; + +static const std::string CLASSNAME = "Configuration"; + +namespace extract { + static auto subshell = [](auto &obj) { return &obj.subshell; }; + static auto electronNumber = [](auto &obj) { return &obj.electronNumber; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstConfiguration +ConfigurationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Configuration +ConfigurationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstConfiguration +ConfigurationCreateConst( + const char *const subshell, + const char *const electronNumber +) { + ConstHandle2Configuration handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + subshell, + electronNumber + ); + return handle; +} + +// Create, general +Handle2Configuration +ConfigurationCreate( + const char *const subshell, + const char *const electronNumber +) { + ConstHandle2Configuration handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + subshell, + electronNumber + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ConfigurationAssign(ConstHandle2Configuration This, ConstHandle2ConstConfiguration from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ConfigurationDelete(ConstHandle2ConstConfiguration This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ConfigurationRead(ConstHandle2Configuration This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ConfigurationWrite(ConstHandle2ConstConfiguration This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ConfigurationPrint(ConstHandle2ConstConfiguration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ConfigurationPrintXML(ConstHandle2ConstConfiguration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ConfigurationPrintJSON(ConstHandle2ConstConfiguration This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: subshell +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationSubshellHas(ConstHandle2ConstConfiguration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"SubshellHas", This, extract::subshell); +} + +// Get +// Returns by value +const char * +ConfigurationSubshellGet(ConstHandle2ConstConfiguration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"SubshellGet", This, extract::subshell); +} + +// Set +void +ConfigurationSubshellSet(ConstHandle2Configuration This, const char *const subshell) +{ + detail::setField + (CLASSNAME, CLASSNAME+"SubshellSet", This, extract::subshell, subshell); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: electronNumber +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationElectronNumberHas(ConstHandle2ConstConfiguration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ElectronNumberHas", This, extract::electronNumber); +} + +// Get +// Returns by value +const char * +ConfigurationElectronNumberGet(ConstHandle2ConstConfiguration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ElectronNumberGet", This, extract::electronNumber); +} + +// Set +void +ConfigurationElectronNumberSet(ConstHandle2Configuration This, const char *const electronNumber) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ElectronNumberSet", This, extract::electronNumber, electronNumber); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration.h b/standards/incremental/code/c/src/v2.0/gnds/Configuration.h new file mode 100644 index 000000000..f001bfdce --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Configuration.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Configuration is the basic handle type in this file. Example: +// // Create a default Configuration object: +// Configuration handle = ConfigurationDefault(); +// Functions involving Configuration are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_CONFIGURATION +#define C_INTERFACE_TEST_V2_0_GNDS_CONFIGURATION + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ConfigurationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Configuration +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ConfigurationClass *Configuration; + +// --- Const-aware handles. +typedef const struct ConfigurationClass *const ConstHandle2ConstConfiguration; +typedef struct ConfigurationClass *const ConstHandle2Configuration; +typedef const struct ConfigurationClass * Handle2ConstConfiguration; +typedef struct ConfigurationClass * Handle2Configuration; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstConfiguration +ConfigurationDefaultConst(); + +// +++ Create, default +extern_c Handle2Configuration +ConfigurationDefault(); + +// --- Create, general, const +extern_c Handle2ConstConfiguration +ConfigurationCreateConst( + const char *const subshell, + const char *const electronNumber +); + +// +++ Create, general +extern_c Handle2Configuration +ConfigurationCreate( + const char *const subshell, + const char *const electronNumber +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ConfigurationAssign(ConstHandle2Configuration This, ConstHandle2ConstConfiguration from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ConfigurationDelete(ConstHandle2ConstConfiguration This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ConfigurationRead(ConstHandle2Configuration This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ConfigurationWrite(ConstHandle2ConstConfiguration This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ConfigurationPrint(ConstHandle2ConstConfiguration This); + +// +++ Print to standard output, as XML +extern_c int +ConfigurationPrintXML(ConstHandle2ConstConfiguration This); + +// +++ Print to standard output, as JSON +extern_c int +ConfigurationPrintJSON(ConstHandle2ConstConfiguration This); + + +// ----------------------------------------------------------------------------- +// Metadatum: subshell +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationSubshellHas(ConstHandle2ConstConfiguration This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ConfigurationSubshellGet(ConstHandle2ConstConfiguration This); + +// +++ Set +extern_c void +ConfigurationSubshellSet(ConstHandle2Configuration This, const char *const subshell); + + +// ----------------------------------------------------------------------------- +// Metadatum: electronNumber +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationElectronNumberHas(ConstHandle2ConstConfiguration This); + +// +++ Get +// +++ Returns by value +extern_c const char * +ConfigurationElectronNumberGet(ConstHandle2ConstConfiguration This); + +// +++ Set +extern_c void +ConfigurationElectronNumberSet(ConstHandle2Configuration This, const char *const electronNumber); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp new file mode 100644 index 000000000..a339fb6d0 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Configurations.hpp" +#include "Configurations.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = ConfigurationsClass; +using CPP = multigroup::Configurations; + +static const std::string CLASSNAME = "Configurations"; + +namespace extract { + static auto configuration = [](auto &obj) { return &obj.configuration; }; +} + +using CPPConfiguration = gnds::Configuration; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstConfigurations +ConfigurationsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Configurations +ConfigurationsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstConfigurations +ConfigurationsCreateConst( + ConstHandle2Configuration *const configuration, const size_t configurationSize +) { + ConstHandle2Configurations handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t ConfigurationN = 0; ConfigurationN < configurationSize; ++ConfigurationN) + ConfigurationsConfigurationAdd(handle, configuration[ConfigurationN]); + return handle; +} + +// Create, general +Handle2Configurations +ConfigurationsCreate( + ConstHandle2Configuration *const configuration, const size_t configurationSize +) { + ConstHandle2Configurations handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t ConfigurationN = 0; ConfigurationN < configurationSize; ++ConfigurationN) + ConfigurationsConfigurationAdd(handle, configuration[ConfigurationN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +ConfigurationsAssign(ConstHandle2Configurations This, ConstHandle2ConstConfigurations from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +ConfigurationsDelete(ConstHandle2ConstConfigurations This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +ConfigurationsRead(ConstHandle2Configurations This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +ConfigurationsWrite(ConstHandle2ConstConfigurations This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +ConfigurationsPrint(ConstHandle2ConstConfigurations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +ConfigurationsPrintXML(ConstHandle2ConstConfigurations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +ConfigurationsPrintJSON(ConstHandle2ConstConfigurations This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: configuration +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationsConfigurationHas(ConstHandle2ConstConfigurations This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ConfigurationHas", This, extract::configuration); +} + +// Clear +void +ConfigurationsConfigurationClear(ConstHandle2Configurations This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"ConfigurationClear", This, extract::configuration); +} + +// Size +size_t +ConfigurationsConfigurationSize(ConstHandle2ConstConfigurations This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"ConfigurationSize", This, extract::configuration); +} + +// Add +void +ConfigurationsConfigurationAdd(ConstHandle2Configurations This, ConstHandle2ConstConfiguration configuration) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"ConfigurationAdd", This, extract::configuration, configuration); +} + +// Get, by index \in [0,size), const +Handle2ConstConfiguration +ConfigurationsConfigurationGetConst(ConstHandle2ConstConfigurations This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ConfigurationGetConst", This, extract::configuration, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Configuration +ConfigurationsConfigurationGet(ConstHandle2Configurations This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"ConfigurationGet", This, extract::configuration, index_); +} + +// Set, by index \in [0,size) +void +ConfigurationsConfigurationSet( + ConstHandle2Configurations This, + const size_t index_, + ConstHandle2ConstConfiguration configuration +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"ConfigurationSet", This, extract::configuration, index_, configuration); +} + +// Has, by subshell +int +ConfigurationsConfigurationHasBySubshell( + ConstHandle2ConstConfigurations This, + const char *const subshell +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationHasBySubshell", + This, extract::configuration, meta::subshell, subshell); +} + +// Get, by subshell, const +Handle2ConstConfiguration +ConfigurationsConfigurationGetBySubshellConst( + ConstHandle2ConstConfigurations This, + const char *const subshell +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationGetBySubshellConst", + This, extract::configuration, meta::subshell, subshell); +} + +// Get, by subshell, non-const +Handle2Configuration +ConfigurationsConfigurationGetBySubshell( + ConstHandle2Configurations This, + const char *const subshell +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationGetBySubshell", + This, extract::configuration, meta::subshell, subshell); +} + +// Set, by subshell +void +ConfigurationsConfigurationSetBySubshell( + ConstHandle2Configurations This, + const char *const subshell, + ConstHandle2ConstConfiguration configuration +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationSetBySubshell", + This, extract::configuration, meta::subshell, subshell, configuration); +} + +// Has, by electronNumber +int +ConfigurationsConfigurationHasByElectronNumber( + ConstHandle2ConstConfigurations This, + const char *const electronNumber +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationHasByElectronNumber", + This, extract::configuration, meta::electronNumber, electronNumber); +} + +// Get, by electronNumber, const +Handle2ConstConfiguration +ConfigurationsConfigurationGetByElectronNumberConst( + ConstHandle2ConstConfigurations This, + const char *const electronNumber +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationGetByElectronNumberConst", + This, extract::configuration, meta::electronNumber, electronNumber); +} + +// Get, by electronNumber, non-const +Handle2Configuration +ConfigurationsConfigurationGetByElectronNumber( + ConstHandle2Configurations This, + const char *const electronNumber +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationGetByElectronNumber", + This, extract::configuration, meta::electronNumber, electronNumber); +} + +// Set, by electronNumber +void +ConfigurationsConfigurationSetByElectronNumber( + ConstHandle2Configurations This, + const char *const electronNumber, + ConstHandle2ConstConfiguration configuration +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"ConfigurationSetByElectronNumber", + This, extract::configuration, meta::electronNumber, electronNumber, configuration); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configurations.h b/standards/incremental/code/c/src/v2.0/gnds/Configurations.h new file mode 100644 index 000000000..84b6b1cba --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Configurations.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Configurations is the basic handle type in this file. Example: +// // Create a default Configurations object: +// Configurations handle = ConfigurationsDefault(); +// Functions involving Configurations are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_CONFIGURATIONS +#define C_INTERFACE_TEST_V2_0_GNDS_CONFIGURATIONS + +#include "GNDStk.h" +#include "v2.0/gnds/Configuration.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct ConfigurationsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Configurations +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct ConfigurationsClass *Configurations; + +// --- Const-aware handles. +typedef const struct ConfigurationsClass *const ConstHandle2ConstConfigurations; +typedef struct ConfigurationsClass *const ConstHandle2Configurations; +typedef const struct ConfigurationsClass * Handle2ConstConfigurations; +typedef struct ConfigurationsClass * Handle2Configurations; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstConfigurations +ConfigurationsDefaultConst(); + +// +++ Create, default +extern_c Handle2Configurations +ConfigurationsDefault(); + +// --- Create, general, const +extern_c Handle2ConstConfigurations +ConfigurationsCreateConst( + ConstHandle2Configuration *const configuration, const size_t configurationSize +); + +// +++ Create, general +extern_c Handle2Configurations +ConfigurationsCreate( + ConstHandle2Configuration *const configuration, const size_t configurationSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +ConfigurationsAssign(ConstHandle2Configurations This, ConstHandle2ConstConfigurations from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +ConfigurationsDelete(ConstHandle2ConstConfigurations This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +ConfigurationsRead(ConstHandle2Configurations This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +ConfigurationsWrite(ConstHandle2ConstConfigurations This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +ConfigurationsPrint(ConstHandle2ConstConfigurations This); + +// +++ Print to standard output, as XML +extern_c int +ConfigurationsPrintXML(ConstHandle2ConstConfigurations This); + +// +++ Print to standard output, as JSON +extern_c int +ConfigurationsPrintJSON(ConstHandle2ConstConfigurations This); + + +// ----------------------------------------------------------------------------- +// Child: configuration +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationsConfigurationHas(ConstHandle2ConstConfigurations This); + +// +++ Clear +extern_c void +ConfigurationsConfigurationClear(ConstHandle2Configurations This); + +// +++ Size +extern_c size_t +ConfigurationsConfigurationSize(ConstHandle2ConstConfigurations This); + +// +++ Add +extern_c void +ConfigurationsConfigurationAdd(ConstHandle2Configurations This, ConstHandle2ConstConfiguration configuration); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstConfiguration +ConfigurationsConfigurationGetConst(ConstHandle2ConstConfigurations This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Configuration +ConfigurationsConfigurationGet(ConstHandle2Configurations This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +ConfigurationsConfigurationSet( + ConstHandle2Configurations This, + const size_t index_, + ConstHandle2ConstConfiguration configuration +); + +// +++ Has, by subshell +extern_c int +ConfigurationsConfigurationHasBySubshell( + ConstHandle2ConstConfigurations This, + const char *const subshell +); + +// --- Get, by subshell, const +extern_c Handle2ConstConfiguration +ConfigurationsConfigurationGetBySubshellConst( + ConstHandle2ConstConfigurations This, + const char *const subshell +); + +// +++ Get, by subshell, non-const +extern_c Handle2Configuration +ConfigurationsConfigurationGetBySubshell( + ConstHandle2Configurations This, + const char *const subshell +); + +// +++ Set, by subshell +extern_c void +ConfigurationsConfigurationSetBySubshell( + ConstHandle2Configurations This, + const char *const subshell, + ConstHandle2ConstConfiguration configuration +); + +// +++ Has, by electronNumber +extern_c int +ConfigurationsConfigurationHasByElectronNumber( + ConstHandle2ConstConfigurations This, + const char *const electronNumber +); + +// --- Get, by electronNumber, const +extern_c Handle2ConstConfiguration +ConfigurationsConfigurationGetByElectronNumberConst( + ConstHandle2ConstConfigurations This, + const char *const electronNumber +); + +// +++ Get, by electronNumber, non-const +extern_c Handle2Configuration +ConfigurationsConfigurationGetByElectronNumber( + ConstHandle2Configurations This, + const char *const electronNumber +); + +// +++ Set, by electronNumber +extern_c void +ConfigurationsConfigurationSetByElectronNumber( + ConstHandle2Configurations This, + const char *const electronNumber, + ConstHandle2ConstConfiguration configuration +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Date.cpp b/standards/incremental/code/c/src/v2.0/gnds/Date.cpp new file mode 100644 index 000000000..c378c3bd4 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Date.cpp @@ -0,0 +1,200 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Date.hpp" +#include "Date.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = DateClass; +using CPP = multigroup::Date; + +static const std::string CLASSNAME = "Date"; + +namespace extract { + static auto value = [](auto &obj) { return &obj.value; }; + static auto dateType = [](auto &obj) { return &obj.dateType; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDate +DateDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Date +DateDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDate +DateCreateConst( + const char *const value, + const enums::DateType dateType +) { + ConstHandle2Date handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + value, + dateType + ); + return handle; +} + +// Create, general +Handle2Date +DateCreate( + const char *const value, + const enums::DateType dateType +) { + ConstHandle2Date handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + value, + dateType + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DateAssign(ConstHandle2Date This, ConstHandle2ConstDate from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DateDelete(ConstHandle2ConstDate This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DateRead(ConstHandle2Date This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DateWrite(ConstHandle2ConstDate This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DatePrint(ConstHandle2ConstDate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DatePrintXML(ConstHandle2ConstDate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DatePrintJSON(ConstHandle2ConstDate This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +DateValueHas(ConstHandle2ConstDate This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +const char * +DateValueGet(ConstHandle2ConstDate This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +DateValueSet(ConstHandle2Date This, const char *const value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: dateType +// ----------------------------------------------------------------------------- + +// Has +int +DateDateTypeHas(ConstHandle2ConstDate This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateTypeHas", This, extract::dateType); +} + +// Get +// Returns by value +enums::DateType +DateDateTypeGet(ConstHandle2ConstDate This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateTypeGet", This, extract::dateType); +} + +// Set +void +DateDateTypeSet(ConstHandle2Date This, const enums::DateType dateType) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateTypeSet", This, extract::dateType, dateType); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Date.h b/standards/incremental/code/c/src/v2.0/gnds/Date.h new file mode 100644 index 000000000..c70248871 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Date.h @@ -0,0 +1,175 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Date is the basic handle type in this file. Example: +// // Create a default Date object: +// Date handle = DateDefault(); +// Functions involving Date are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_DATE +#define C_INTERFACE_TEST_V2_0_GNDS_DATE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DateClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Date +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DateClass *Date; + +// --- Const-aware handles. +typedef const struct DateClass *const ConstHandle2ConstDate; +typedef struct DateClass *const ConstHandle2Date; +typedef const struct DateClass * Handle2ConstDate; +typedef struct DateClass * Handle2Date; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDate +DateDefaultConst(); + +// +++ Create, default +extern_c Handle2Date +DateDefault(); + +// --- Create, general, const +extern_c Handle2ConstDate +DateCreateConst( + const char *const value, + const enums::DateType dateType +); + +// +++ Create, general +extern_c Handle2Date +DateCreate( + const char *const value, + const enums::DateType dateType +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DateAssign(ConstHandle2Date This, ConstHandle2ConstDate from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DateDelete(ConstHandle2ConstDate This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DateRead(ConstHandle2Date This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DateWrite(ConstHandle2ConstDate This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DatePrint(ConstHandle2ConstDate This); + +// +++ Print to standard output, as XML +extern_c int +DatePrintXML(ConstHandle2ConstDate This); + +// +++ Print to standard output, as JSON +extern_c int +DatePrintJSON(ConstHandle2ConstDate This); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DateValueHas(ConstHandle2ConstDate This); + +// +++ Get +// +++ Returns by value +extern_c const char * +DateValueGet(ConstHandle2ConstDate This); + +// +++ Set +extern_c void +DateValueSet(ConstHandle2Date This, const char *const value); + + +// ----------------------------------------------------------------------------- +// Metadatum: dateType +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DateDateTypeHas(ConstHandle2ConstDate This); + +// +++ Get +// +++ Returns by value +extern_c enums::DateType +DateDateTypeGet(ConstHandle2ConstDate This); + +// +++ Set +extern_c void +DateDateTypeSet(ConstHandle2Date This, const enums::DateType dateType); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp b/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp new file mode 100644 index 000000000..1b674adf5 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp @@ -0,0 +1,295 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Dates.hpp" +#include "Dates.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = DatesClass; +using CPP = multigroup::Dates; + +static const std::string CLASSNAME = "Dates"; + +namespace extract { + static auto date = [](auto &obj) { return &obj.date; }; +} + +using CPPDate = gnds::Date; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDates +DatesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Dates +DatesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDates +DatesCreateConst( + ConstHandle2Date *const date, const size_t dateSize +) { + ConstHandle2Dates handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + std::vector{} + ); + for (size_t DateN = 0; DateN < dateSize; ++DateN) + DatesDateAdd(handle, date[DateN]); + return handle; +} + +// Create, general +Handle2Dates +DatesCreate( + ConstHandle2Date *const date, const size_t dateSize +) { + ConstHandle2Dates handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + std::vector{} + ); + for (size_t DateN = 0; DateN < dateSize; ++DateN) + DatesDateAdd(handle, date[DateN]); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DatesAssign(ConstHandle2Dates This, ConstHandle2ConstDates from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DatesDelete(ConstHandle2ConstDates This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DatesRead(ConstHandle2Dates This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DatesWrite(ConstHandle2ConstDates This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DatesPrint(ConstHandle2ConstDates This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DatesPrintXML(ConstHandle2ConstDates This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DatesPrintJSON(ConstHandle2ConstDates This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: date +// ----------------------------------------------------------------------------- + +// Has +int +DatesDateHas(ConstHandle2ConstDates This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Clear +void +DatesDateClear(ConstHandle2Dates This) +{ + detail::clearContainer + (CLASSNAME, CLASSNAME+"DateClear", This, extract::date); +} + +// Size +size_t +DatesDateSize(ConstHandle2ConstDates This) +{ + return detail::sizeOfContainer + (CLASSNAME, CLASSNAME+"DateSize", This, extract::date); +} + +// Add +void +DatesDateAdd(ConstHandle2Dates This, ConstHandle2ConstDate date) +{ + detail::addToContainer + (CLASSNAME, CLASSNAME+"DateAdd", This, extract::date, date); +} + +// Get, by index \in [0,size), const +Handle2ConstDate +DatesDateGetConst(ConstHandle2ConstDates This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DateGetConst", This, extract::date, index_); +} + +// Get, by index \in [0,size), non-const +Handle2Date +DatesDateGet(ConstHandle2Dates This, const size_t index_) +{ + return detail::getByIndex + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date, index_); +} + +// Set, by index \in [0,size) +void +DatesDateSet( + ConstHandle2Dates This, + const size_t index_, + ConstHandle2ConstDate date +) { + detail::setByIndex + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, index_, date); +} + +// Has, by value +int +DatesDateHasByValue( + ConstHandle2ConstDates This, + const char *const value +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DateHasByValue", + This, extract::date, meta::value, value); +} + +// Get, by value, const +Handle2ConstDate +DatesDateGetByValueConst( + ConstHandle2ConstDates This, + const char *const value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DateGetByValueConst", + This, extract::date, meta::value, value); +} + +// Get, by value, non-const +Handle2Date +DatesDateGetByValue( + ConstHandle2Dates This, + const char *const value +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DateGetByValue", + This, extract::date, meta::value, value); +} + +// Set, by value +void +DatesDateSetByValue( + ConstHandle2Dates This, + const char *const value, + ConstHandle2ConstDate date +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DateSetByValue", + This, extract::date, meta::value, value, date); +} + +// Has, by dateType +int +DatesDateHasByDateType( + ConstHandle2ConstDates This, + const enums::DateType dateType +) { + return detail::hasByMetadatum + (CLASSNAME, CLASSNAME+"DateHasByDateType", + This, extract::date, meta::dateType, dateType); +} + +// Get, by dateType, const +Handle2ConstDate +DatesDateGetByDateTypeConst( + ConstHandle2ConstDates This, + const enums::DateType dateType +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DateGetByDateTypeConst", + This, extract::date, meta::dateType, dateType); +} + +// Get, by dateType, non-const +Handle2Date +DatesDateGetByDateType( + ConstHandle2Dates This, + const enums::DateType dateType +) { + return detail::getByMetadatum + (CLASSNAME, CLASSNAME+"DateGetByDateType", + This, extract::date, meta::dateType, dateType); +} + +// Set, by dateType +void +DatesDateSetByDateType( + ConstHandle2Dates This, + const enums::DateType dateType, + ConstHandle2ConstDate date +) { + detail::setByMetadatum + (CLASSNAME, CLASSNAME+"DateSetByDateType", + This, extract::date, meta::dateType, dateType, date); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Dates.h b/standards/incremental/code/c/src/v2.0/gnds/Dates.h new file mode 100644 index 000000000..3eb2a096c --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Dates.h @@ -0,0 +1,233 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Dates is the basic handle type in this file. Example: +// // Create a default Dates object: +// Dates handle = DatesDefault(); +// Functions involving Dates are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_DATES +#define C_INTERFACE_TEST_V2_0_GNDS_DATES + +#include "GNDStk.h" +#include "v2.0/gnds/Date.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DatesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Dates +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DatesClass *Dates; + +// --- Const-aware handles. +typedef const struct DatesClass *const ConstHandle2ConstDates; +typedef struct DatesClass *const ConstHandle2Dates; +typedef const struct DatesClass * Handle2ConstDates; +typedef struct DatesClass * Handle2Dates; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDates +DatesDefaultConst(); + +// +++ Create, default +extern_c Handle2Dates +DatesDefault(); + +// --- Create, general, const +extern_c Handle2ConstDates +DatesCreateConst( + ConstHandle2Date *const date, const size_t dateSize +); + +// +++ Create, general +extern_c Handle2Dates +DatesCreate( + ConstHandle2Date *const date, const size_t dateSize +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DatesAssign(ConstHandle2Dates This, ConstHandle2ConstDates from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DatesDelete(ConstHandle2ConstDates This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DatesRead(ConstHandle2Dates This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DatesWrite(ConstHandle2ConstDates This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DatesPrint(ConstHandle2ConstDates This); + +// +++ Print to standard output, as XML +extern_c int +DatesPrintXML(ConstHandle2ConstDates This); + +// +++ Print to standard output, as JSON +extern_c int +DatesPrintJSON(ConstHandle2ConstDates This); + + +// ----------------------------------------------------------------------------- +// Child: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DatesDateHas(ConstHandle2ConstDates This); + +// +++ Clear +extern_c void +DatesDateClear(ConstHandle2Dates This); + +// +++ Size +extern_c size_t +DatesDateSize(ConstHandle2ConstDates This); + +// +++ Add +extern_c void +DatesDateAdd(ConstHandle2Dates This, ConstHandle2ConstDate date); + +// --- Get, by index \in [0,size), const +extern_c Handle2ConstDate +DatesDateGetConst(ConstHandle2ConstDates This, const size_t index_); + +// +++ Get, by index \in [0,size), non-const +extern_c Handle2Date +DatesDateGet(ConstHandle2Dates This, const size_t index_); + +// +++ Set, by index \in [0,size) +extern_c void +DatesDateSet( + ConstHandle2Dates This, + const size_t index_, + ConstHandle2ConstDate date +); + +// +++ Has, by value +extern_c int +DatesDateHasByValue( + ConstHandle2ConstDates This, + const char *const value +); + +// --- Get, by value, const +extern_c Handle2ConstDate +DatesDateGetByValueConst( + ConstHandle2ConstDates This, + const char *const value +); + +// +++ Get, by value, non-const +extern_c Handle2Date +DatesDateGetByValue( + ConstHandle2Dates This, + const char *const value +); + +// +++ Set, by value +extern_c void +DatesDateSetByValue( + ConstHandle2Dates This, + const char *const value, + ConstHandle2ConstDate date +); + +// +++ Has, by dateType +extern_c int +DatesDateHasByDateType( + ConstHandle2ConstDates This, + const enums::DateType dateType +); + +// --- Get, by dateType, const +extern_c Handle2ConstDate +DatesDateGetByDateTypeConst( + ConstHandle2ConstDates This, + const enums::DateType dateType +); + +// +++ Get, by dateType, non-const +extern_c Handle2Date +DatesDateGetByDateType( + ConstHandle2Dates This, + const enums::DateType dateType +); + +// +++ Set, by dateType +extern_c void +DatesDateSetByDateType( + ConstHandle2Dates This, + const enums::DateType dateType, + ConstHandle2ConstDate date +); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp b/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp new file mode 100644 index 000000000..f25b25b2f --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp @@ -0,0 +1,346 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Documentation.hpp" +#include "Documentation.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = DocumentationClass; +using CPP = multigroup::Documentation; + +static const std::string CLASSNAME = "Documentation"; + +namespace extract { + static auto authors = [](auto &obj) { return &obj.authors; }; + static auto dates = [](auto &obj) { return &obj.dates; }; + static auto title = [](auto &obj) { return &obj.title; }; + static auto body = [](auto &obj) { return &obj.body; }; + static auto endfCompatible = [](auto &obj) { return &obj.endfCompatible; }; +} + +using CPPAuthors = gnds::Authors; +using CPPDates = gnds::Dates; +using CPPTitle = gnds::Title; +using CPPBody = gnds::Body; +using CPPEndfCompatible = gnds::EndfCompatible; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDocumentation +DocumentationDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Documentation +DocumentationDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDocumentation +DocumentationCreateConst( + ConstHandle2ConstAuthors authors, + ConstHandle2ConstDates dates, + ConstHandle2ConstTitle title, + ConstHandle2ConstBody body, + ConstHandle2ConstEndfCompatible endfCompatible +) { + ConstHandle2Documentation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(authors), + detail::tocpp(dates), + detail::tocpp(title), + detail::tocpp(body), + detail::tocpp(endfCompatible) + ); + return handle; +} + +// Create, general +Handle2Documentation +DocumentationCreate( + ConstHandle2ConstAuthors authors, + ConstHandle2ConstDates dates, + ConstHandle2ConstTitle title, + ConstHandle2ConstBody body, + ConstHandle2ConstEndfCompatible endfCompatible +) { + ConstHandle2Documentation handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(authors), + detail::tocpp(dates), + detail::tocpp(title), + detail::tocpp(body), + detail::tocpp(endfCompatible) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DocumentationAssign(ConstHandle2Documentation This, ConstHandle2ConstDocumentation from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DocumentationDelete(ConstHandle2ConstDocumentation This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DocumentationRead(ConstHandle2Documentation This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DocumentationWrite(ConstHandle2ConstDocumentation This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DocumentationPrint(ConstHandle2ConstDocumentation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DocumentationPrintXML(ConstHandle2ConstDocumentation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DocumentationPrintJSON(ConstHandle2ConstDocumentation This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: authors +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationAuthorsHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"AuthorsHas", This, extract::authors); +} + +// Get, const +Handle2ConstAuthors +DocumentationAuthorsGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AuthorsGetConst", This, extract::authors); +} + +// Get, non-const +Handle2Authors +DocumentationAuthorsGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"AuthorsGet", This, extract::authors); +} + +// Set +void +DocumentationAuthorsSet(ConstHandle2Documentation This, ConstHandle2ConstAuthors authors) +{ + detail::setField + (CLASSNAME, CLASSNAME+"AuthorsSet", This, extract::authors, authors); +} + + +// ----------------------------------------------------------------------------- +// Child: dates +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationDatesHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DatesHas", This, extract::dates); +} + +// Get, const +Handle2ConstDates +DocumentationDatesGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DatesGetConst", This, extract::dates); +} + +// Get, non-const +Handle2Dates +DocumentationDatesGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DatesGet", This, extract::dates); +} + +// Set +void +DocumentationDatesSet(ConstHandle2Documentation This, ConstHandle2ConstDates dates) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DatesSet", This, extract::dates, dates); +} + + +// ----------------------------------------------------------------------------- +// Child: title +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationTitleHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"TitleHas", This, extract::title); +} + +// Get, const +Handle2ConstTitle +DocumentationTitleGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TitleGetConst", This, extract::title); +} + +// Get, non-const +Handle2Title +DocumentationTitleGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"TitleGet", This, extract::title); +} + +// Set +void +DocumentationTitleSet(ConstHandle2Documentation This, ConstHandle2ConstTitle title) +{ + detail::setField + (CLASSNAME, CLASSNAME+"TitleSet", This, extract::title, title); +} + + +// ----------------------------------------------------------------------------- +// Child: body +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationBodyHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BodyHas", This, extract::body); +} + +// Get, const +Handle2ConstBody +DocumentationBodyGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BodyGetConst", This, extract::body); +} + +// Get, non-const +Handle2Body +DocumentationBodyGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BodyGet", This, extract::body); +} + +// Set +void +DocumentationBodySet(ConstHandle2Documentation This, ConstHandle2ConstBody body) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BodySet", This, extract::body, body); +} + + +// ----------------------------------------------------------------------------- +// Child: endfCompatible +// ----------------------------------------------------------------------------- + +// Has +int +DocumentationEndfCompatibleHas(ConstHandle2ConstDocumentation This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EndfCompatibleHas", This, extract::endfCompatible); +} + +// Get, const +Handle2ConstEndfCompatible +DocumentationEndfCompatibleGetConst(ConstHandle2ConstDocumentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EndfCompatibleGetConst", This, extract::endfCompatible); +} + +// Get, non-const +Handle2EndfCompatible +DocumentationEndfCompatibleGet(ConstHandle2Documentation This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EndfCompatibleGet", This, extract::endfCompatible); +} + +// Set +void +DocumentationEndfCompatibleSet(ConstHandle2Documentation This, ConstHandle2ConstEndfCompatible endfCompatible) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EndfCompatibleSet", This, extract::endfCompatible, endfCompatible); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Documentation.h b/standards/incremental/code/c/src/v2.0/gnds/Documentation.h new file mode 100644 index 000000000..cd6b64e55 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Documentation.h @@ -0,0 +1,255 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Documentation is the basic handle type in this file. Example: +// // Create a default Documentation object: +// Documentation handle = DocumentationDefault(); +// Functions involving Documentation are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_DOCUMENTATION +#define C_INTERFACE_TEST_V2_0_GNDS_DOCUMENTATION + +#include "GNDStk.h" +#include "v2.0/gnds/Authors.h" +#include "v2.0/gnds/Dates.h" +#include "v2.0/gnds/Title.h" +#include "v2.0/gnds/Body.h" +#include "v2.0/gnds/EndfCompatible.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DocumentationClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Documentation +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DocumentationClass *Documentation; + +// --- Const-aware handles. +typedef const struct DocumentationClass *const ConstHandle2ConstDocumentation; +typedef struct DocumentationClass *const ConstHandle2Documentation; +typedef const struct DocumentationClass * Handle2ConstDocumentation; +typedef struct DocumentationClass * Handle2Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDocumentation +DocumentationDefaultConst(); + +// +++ Create, default +extern_c Handle2Documentation +DocumentationDefault(); + +// --- Create, general, const +extern_c Handle2ConstDocumentation +DocumentationCreateConst( + ConstHandle2ConstAuthors authors, + ConstHandle2ConstDates dates, + ConstHandle2ConstTitle title, + ConstHandle2ConstBody body, + ConstHandle2ConstEndfCompatible endfCompatible +); + +// +++ Create, general +extern_c Handle2Documentation +DocumentationCreate( + ConstHandle2ConstAuthors authors, + ConstHandle2ConstDates dates, + ConstHandle2ConstTitle title, + ConstHandle2ConstBody body, + ConstHandle2ConstEndfCompatible endfCompatible +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DocumentationAssign(ConstHandle2Documentation This, ConstHandle2ConstDocumentation from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DocumentationDelete(ConstHandle2ConstDocumentation This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DocumentationRead(ConstHandle2Documentation This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DocumentationWrite(ConstHandle2ConstDocumentation This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DocumentationPrint(ConstHandle2ConstDocumentation This); + +// +++ Print to standard output, as XML +extern_c int +DocumentationPrintXML(ConstHandle2ConstDocumentation This); + +// +++ Print to standard output, as JSON +extern_c int +DocumentationPrintJSON(ConstHandle2ConstDocumentation This); + + +// ----------------------------------------------------------------------------- +// Child: authors +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationAuthorsHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstAuthors +DocumentationAuthorsGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Authors +DocumentationAuthorsGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationAuthorsSet(ConstHandle2Documentation This, ConstHandle2ConstAuthors authors); + + +// ----------------------------------------------------------------------------- +// Child: dates +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationDatesHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstDates +DocumentationDatesGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Dates +DocumentationDatesGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationDatesSet(ConstHandle2Documentation This, ConstHandle2ConstDates dates); + + +// ----------------------------------------------------------------------------- +// Child: title +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationTitleHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstTitle +DocumentationTitleGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Title +DocumentationTitleGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationTitleSet(ConstHandle2Documentation This, ConstHandle2ConstTitle title); + + +// ----------------------------------------------------------------------------- +// Child: body +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationBodyHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstBody +DocumentationBodyGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2Body +DocumentationBodyGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationBodySet(ConstHandle2Documentation This, ConstHandle2ConstBody body); + + +// ----------------------------------------------------------------------------- +// Child: endfCompatible +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DocumentationEndfCompatibleHas(ConstHandle2ConstDocumentation This); + +// --- Get, const +extern_c Handle2ConstEndfCompatible +DocumentationEndfCompatibleGetConst(ConstHandle2ConstDocumentation This); + +// +++ Get, non-const +extern_c Handle2EndfCompatible +DocumentationEndfCompatibleGet(ConstHandle2Documentation This); + +// +++ Set +extern_c void +DocumentationEndfCompatibleSet(ConstHandle2Documentation This, ConstHandle2ConstEndfCompatible endfCompatible); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Double.cpp b/standards/incremental/code/c/src/v2.0/gnds/Double.cpp new file mode 100644 index 000000000..f2484f180 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Double.cpp @@ -0,0 +1,235 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Double.hpp" +#include "Double.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = DoubleClass; +using CPP = multigroup::Double; + +static const std::string CLASSNAME = "Double"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto value = [](auto &obj) { return &obj.value; }; + static auto unit = [](auto &obj) { return &obj.unit; }; +} + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstDouble +DoubleDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Double +DoubleDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstDouble +DoubleCreateConst( + const char *const label, + const double value, + const char *const unit +) { + ConstHandle2Double handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + value, + unit + ); + return handle; +} + +// Create, general +Handle2Double +DoubleCreate( + const char *const label, + const double value, + const char *const unit +) { + ConstHandle2Double handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + value, + unit + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +DoubleAssign(ConstHandle2Double This, ConstHandle2ConstDouble from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +DoubleDelete(ConstHandle2ConstDouble This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +DoubleRead(ConstHandle2Double This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +DoubleWrite(ConstHandle2ConstDouble This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +DoublePrint(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +DoublePrintXML(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +DoublePrintJSON(ConstHandle2ConstDouble This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +DoubleLabelHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +const char * +DoubleLabelGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +DoubleLabelSet(ConstHandle2Double This, const char *const label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// Has +int +DoubleValueHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ValueHas", This, extract::value); +} + +// Get +// Returns by value +double +DoubleValueGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ValueGet", This, extract::value); +} + +// Set +void +DoubleValueSet(ConstHandle2Double This, const double value) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// Has +int +DoubleUnitHas(ConstHandle2ConstDouble This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"UnitHas", This, extract::unit); +} + +// Get +// Returns by value +const char * +DoubleUnitGet(ConstHandle2ConstDouble This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"UnitGet", This, extract::unit); +} + +// Set +void +DoubleUnitSet(ConstHandle2Double This, const char *const unit) +{ + detail::setField + (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Double.h b/standards/incremental/code/c/src/v2.0/gnds/Double.h new file mode 100644 index 000000000..050ab6599 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Double.h @@ -0,0 +1,195 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Double is the basic handle type in this file. Example: +// // Create a default Double object: +// Double handle = DoubleDefault(); +// Functions involving Double are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_DOUBLE +#define C_INTERFACE_TEST_V2_0_GNDS_DOUBLE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct DoubleClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Double +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct DoubleClass *Double; + +// --- Const-aware handles. +typedef const struct DoubleClass *const ConstHandle2ConstDouble; +typedef struct DoubleClass *const ConstHandle2Double; +typedef const struct DoubleClass * Handle2ConstDouble; +typedef struct DoubleClass * Handle2Double; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstDouble +DoubleDefaultConst(); + +// +++ Create, default +extern_c Handle2Double +DoubleDefault(); + +// --- Create, general, const +extern_c Handle2ConstDouble +DoubleCreateConst( + const char *const label, + const double value, + const char *const unit +); + +// +++ Create, general +extern_c Handle2Double +DoubleCreate( + const char *const label, + const double value, + const char *const unit +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +DoubleAssign(ConstHandle2Double This, ConstHandle2ConstDouble from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +DoubleDelete(ConstHandle2ConstDouble This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +DoubleRead(ConstHandle2Double This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +DoubleWrite(ConstHandle2ConstDouble This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +DoublePrint(ConstHandle2ConstDouble This); + +// +++ Print to standard output, as XML +extern_c int +DoublePrintXML(ConstHandle2ConstDouble This); + +// +++ Print to standard output, as JSON +extern_c int +DoublePrintJSON(ConstHandle2ConstDouble This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleLabelHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c const char * +DoubleLabelGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleLabelSet(ConstHandle2Double This, const char *const label); + + +// ----------------------------------------------------------------------------- +// Metadatum: value +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleValueHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c double +DoubleValueGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleValueSet(ConstHandle2Double This, const double value); + + +// ----------------------------------------------------------------------------- +// Metadatum: unit +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +DoubleUnitHas(ConstHandle2ConstDouble This); + +// +++ Get +// +++ Returns by value +extern_c const char * +DoubleUnitGet(ConstHandle2ConstDouble This); + +// +++ Set +extern_c void +DoubleUnitSet(ConstHandle2Double This, const char *const unit); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp new file mode 100644 index 000000000..b1bd4652c --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp @@ -0,0 +1,380 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/EndfCompatible.hpp" +#include "EndfCompatible.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = EndfCompatibleClass; +using CPP = multigroup::EndfCompatible; + +static const std::string CLASSNAME = "EndfCompatible"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEndfCompatible +EndfCompatibleDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2EndfCompatible +EndfCompatibleDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEndfCompatible +EndfCompatibleCreateConst() +{ + ConstHandle2EndfCompatible handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2EndfCompatible +EndfCompatibleCreate() +{ + ConstHandle2EndfCompatible handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EndfCompatibleAssign(ConstHandle2EndfCompatible This, ConstHandle2ConstEndfCompatible from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EndfCompatibleDelete(ConstHandle2ConstEndfCompatible This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EndfCompatibleRead(ConstHandle2EndfCompatible This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EndfCompatibleWrite(ConstHandle2ConstEndfCompatible This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EndfCompatiblePrint(ConstHandle2ConstEndfCompatible This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EndfCompatiblePrintXML(ConstHandle2ConstEndfCompatible This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EndfCompatiblePrintJSON(ConstHandle2ConstEndfCompatible This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +EndfCompatibleIntsClear(ConstHandle2EndfCompatible This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +EndfCompatibleIntsSize(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +EndfCompatibleIntsGet(ConstHandle2ConstEndfCompatible This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +EndfCompatibleIntsSet(ConstHandle2EndfCompatible This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +EndfCompatibleIntsGetArrayConst(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +EndfCompatibleIntsGetArray(ConstHandle2EndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +EndfCompatibleIntsSetArray(ConstHandle2EndfCompatible This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +EndfCompatibleUnsignedsClear(ConstHandle2EndfCompatible This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +EndfCompatibleUnsignedsSize(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +EndfCompatibleUnsignedsGet(ConstHandle2ConstEndfCompatible This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +EndfCompatibleUnsignedsSet(ConstHandle2EndfCompatible This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +EndfCompatibleUnsignedsGetArrayConst(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +EndfCompatibleUnsignedsGetArray(ConstHandle2EndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +EndfCompatibleUnsignedsSetArray(ConstHandle2EndfCompatible This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +EndfCompatibleFloatsClear(ConstHandle2EndfCompatible This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +EndfCompatibleFloatsSize(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +EndfCompatibleFloatsGet(ConstHandle2ConstEndfCompatible This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +EndfCompatibleFloatsSet(ConstHandle2EndfCompatible This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +EndfCompatibleFloatsGetArrayConst(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +EndfCompatibleFloatsGetArray(ConstHandle2EndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +EndfCompatibleFloatsSetArray(ConstHandle2EndfCompatible This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +EndfCompatibleDoublesClear(ConstHandle2EndfCompatible This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +EndfCompatibleDoublesSize(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +EndfCompatibleDoublesGet(ConstHandle2ConstEndfCompatible This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +EndfCompatibleDoublesSet(ConstHandle2EndfCompatible This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +EndfCompatibleDoublesGetArrayConst(ConstHandle2ConstEndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +EndfCompatibleDoublesGetArray(ConstHandle2EndfCompatible This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +EndfCompatibleDoublesSetArray(ConstHandle2EndfCompatible This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h new file mode 100644 index 000000000..402fe705a --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h @@ -0,0 +1,274 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// EndfCompatible is the basic handle type in this file. Example: +// // Create a default EndfCompatible object: +// EndfCompatible handle = EndfCompatibleDefault(); +// Functions involving EndfCompatible are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_ENDFCOMPATIBLE +#define C_INTERFACE_TEST_V2_0_GNDS_ENDFCOMPATIBLE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EndfCompatibleClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ EndfCompatible +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EndfCompatibleClass *EndfCompatible; + +// --- Const-aware handles. +typedef const struct EndfCompatibleClass *const ConstHandle2ConstEndfCompatible; +typedef struct EndfCompatibleClass *const ConstHandle2EndfCompatible; +typedef const struct EndfCompatibleClass * Handle2ConstEndfCompatible; +typedef struct EndfCompatibleClass * Handle2EndfCompatible; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEndfCompatible +EndfCompatibleDefaultConst(); + +// +++ Create, default +extern_c Handle2EndfCompatible +EndfCompatibleDefault(); + +// --- Create, general, const +extern_c Handle2ConstEndfCompatible +EndfCompatibleCreateConst(); + +// +++ Create, general +extern_c Handle2EndfCompatible +EndfCompatibleCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EndfCompatibleAssign(ConstHandle2EndfCompatible This, ConstHandle2ConstEndfCompatible from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EndfCompatibleDelete(ConstHandle2ConstEndfCompatible This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EndfCompatibleRead(ConstHandle2EndfCompatible This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EndfCompatibleWrite(ConstHandle2ConstEndfCompatible This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EndfCompatiblePrint(ConstHandle2ConstEndfCompatible This); + +// +++ Print to standard output, as XML +extern_c int +EndfCompatiblePrintXML(ConstHandle2ConstEndfCompatible This); + +// +++ Print to standard output, as JSON +extern_c int +EndfCompatiblePrintJSON(ConstHandle2ConstEndfCompatible This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +EndfCompatibleIntsClear(ConstHandle2EndfCompatible This); + +// +++ Get size +extern_c size_t +EndfCompatibleIntsSize(ConstHandle2ConstEndfCompatible This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +EndfCompatibleIntsGet(ConstHandle2ConstEndfCompatible This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +EndfCompatibleIntsSet(ConstHandle2EndfCompatible This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +EndfCompatibleIntsGetArrayConst(ConstHandle2ConstEndfCompatible This); + +// +++ Get pointer to existing values, non-const +extern_c int * +EndfCompatibleIntsGetArray(ConstHandle2EndfCompatible This); + +// +++ Set completely new values and size +extern_c void +EndfCompatibleIntsSetArray(ConstHandle2EndfCompatible This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +EndfCompatibleUnsignedsClear(ConstHandle2EndfCompatible This); + +// +++ Get size +extern_c size_t +EndfCompatibleUnsignedsSize(ConstHandle2ConstEndfCompatible This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +EndfCompatibleUnsignedsGet(ConstHandle2ConstEndfCompatible This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +EndfCompatibleUnsignedsSet(ConstHandle2EndfCompatible This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +EndfCompatibleUnsignedsGetArrayConst(ConstHandle2ConstEndfCompatible This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +EndfCompatibleUnsignedsGetArray(ConstHandle2EndfCompatible This); + +// +++ Set completely new values and size +extern_c void +EndfCompatibleUnsignedsSetArray(ConstHandle2EndfCompatible This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +EndfCompatibleFloatsClear(ConstHandle2EndfCompatible This); + +// +++ Get size +extern_c size_t +EndfCompatibleFloatsSize(ConstHandle2ConstEndfCompatible This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +EndfCompatibleFloatsGet(ConstHandle2ConstEndfCompatible This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +EndfCompatibleFloatsSet(ConstHandle2EndfCompatible This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +EndfCompatibleFloatsGetArrayConst(ConstHandle2ConstEndfCompatible This); + +// +++ Get pointer to existing values, non-const +extern_c float * +EndfCompatibleFloatsGetArray(ConstHandle2EndfCompatible This); + +// +++ Set completely new values and size +extern_c void +EndfCompatibleFloatsSetArray(ConstHandle2EndfCompatible This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +EndfCompatibleDoublesClear(ConstHandle2EndfCompatible This); + +// +++ Get size +extern_c size_t +EndfCompatibleDoublesSize(ConstHandle2ConstEndfCompatible This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +EndfCompatibleDoublesGet(ConstHandle2ConstEndfCompatible This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +EndfCompatibleDoublesSet(ConstHandle2EndfCompatible This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +EndfCompatibleDoublesGetArrayConst(ConstHandle2ConstEndfCompatible This); + +// +++ Get pointer to existing values, non-const +extern_c double * +EndfCompatibleDoublesGetArray(ConstHandle2EndfCompatible This); + +// +++ Set completely new values and size +extern_c void +EndfCompatibleDoublesSetArray(ConstHandle2EndfCompatible This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp new file mode 100644 index 000000000..44ce3ec95 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp @@ -0,0 +1,314 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Evaluated.hpp" +#include "Evaluated.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = EvaluatedClass; +using CPP = multigroup::Evaluated; + +static const std::string CLASSNAME = "Evaluated"; + +namespace extract { + static auto label = [](auto &obj) { return &obj.label; }; + static auto date = [](auto &obj) { return &obj.date; }; + static auto library = [](auto &obj) { return &obj.library; }; + static auto version = [](auto &obj) { return &obj.version; }; + static auto documentation = [](auto &obj) { return &obj.documentation; }; +} + +using CPPDocumentation = gnds::Documentation; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstEvaluated +EvaluatedDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Evaluated +EvaluatedDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstEvaluated +EvaluatedCreateConst( + const char *const label, + const char *const date, + const char *const library, + const char *const version, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Evaluated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + label, + date, + library, + version, + detail::tocpp(documentation) + ); + return handle; +} + +// Create, general +Handle2Evaluated +EvaluatedCreate( + const char *const label, + const char *const date, + const char *const library, + const char *const version, + ConstHandle2ConstDocumentation documentation +) { + ConstHandle2Evaluated handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + label, + date, + library, + version, + detail::tocpp(documentation) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +EvaluatedAssign(ConstHandle2Evaluated This, ConstHandle2ConstEvaluated from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +EvaluatedDelete(ConstHandle2ConstEvaluated This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +EvaluatedRead(ConstHandle2Evaluated This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +EvaluatedWrite(ConstHandle2ConstEvaluated This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +EvaluatedPrint(ConstHandle2ConstEvaluated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +EvaluatedPrintXML(ConstHandle2ConstEvaluated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +EvaluatedPrintJSON(ConstHandle2ConstEvaluated This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedLabelHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LabelHas", This, extract::label); +} + +// Get +// Returns by value +const char * +EvaluatedLabelGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LabelGet", This, extract::label); +} + +// Set +void +EvaluatedLabelSet(ConstHandle2Evaluated This, const char *const label) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LabelSet", This, extract::label, label); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedDateHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DateHas", This, extract::date); +} + +// Get +// Returns by value +const char * +EvaluatedDateGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DateGet", This, extract::date); +} + +// Set +void +EvaluatedDateSet(ConstHandle2Evaluated This, const char *const date) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DateSet", This, extract::date, date); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: library +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedLibraryHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"LibraryHas", This, extract::library); +} + +// Get +// Returns by value +const char * +EvaluatedLibraryGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"LibraryGet", This, extract::library); +} + +// Set +void +EvaluatedLibrarySet(ConstHandle2Evaluated This, const char *const library) +{ + detail::setField + (CLASSNAME, CLASSNAME+"LibrarySet", This, extract::library, library); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedVersionHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"VersionHas", This, extract::version); +} + +// Get +// Returns by value +const char * +EvaluatedVersionGet(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"VersionGet", This, extract::version); +} + +// Set +void +EvaluatedVersionSet(ConstHandle2Evaluated This, const char *const version) +{ + detail::setField + (CLASSNAME, CLASSNAME+"VersionSet", This, extract::version, version); +} + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// Has +int +EvaluatedDocumentationHas(ConstHandle2ConstEvaluated This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"DocumentationHas", This, extract::documentation); +} + +// Get, const +Handle2ConstDocumentation +EvaluatedDocumentationGetConst(ConstHandle2ConstEvaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGetConst", This, extract::documentation); +} + +// Get, non-const +Handle2Documentation +EvaluatedDocumentationGet(ConstHandle2Evaluated This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"DocumentationGet", This, extract::documentation); +} + +// Set +void +EvaluatedDocumentationSet(ConstHandle2Evaluated This, ConstHandle2ConstDocumentation documentation) +{ + detail::setField + (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h new file mode 100644 index 000000000..695d5a6c6 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h @@ -0,0 +1,239 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Evaluated is the basic handle type in this file. Example: +// // Create a default Evaluated object: +// Evaluated handle = EvaluatedDefault(); +// Functions involving Evaluated are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_EVALUATED +#define C_INTERFACE_TEST_V2_0_GNDS_EVALUATED + +#include "GNDStk.h" +#include "v2.0/gnds/Documentation.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct EvaluatedClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Evaluated +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct EvaluatedClass *Evaluated; + +// --- Const-aware handles. +typedef const struct EvaluatedClass *const ConstHandle2ConstEvaluated; +typedef struct EvaluatedClass *const ConstHandle2Evaluated; +typedef const struct EvaluatedClass * Handle2ConstEvaluated; +typedef struct EvaluatedClass * Handle2Evaluated; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstEvaluated +EvaluatedDefaultConst(); + +// +++ Create, default +extern_c Handle2Evaluated +EvaluatedDefault(); + +// --- Create, general, const +extern_c Handle2ConstEvaluated +EvaluatedCreateConst( + const char *const label, + const char *const date, + const char *const library, + const char *const version, + ConstHandle2ConstDocumentation documentation +); + +// +++ Create, general +extern_c Handle2Evaluated +EvaluatedCreate( + const char *const label, + const char *const date, + const char *const library, + const char *const version, + ConstHandle2ConstDocumentation documentation +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +EvaluatedAssign(ConstHandle2Evaluated This, ConstHandle2ConstEvaluated from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +EvaluatedDelete(ConstHandle2ConstEvaluated This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +EvaluatedRead(ConstHandle2Evaluated This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +EvaluatedWrite(ConstHandle2ConstEvaluated This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +EvaluatedPrint(ConstHandle2ConstEvaluated This); + +// +++ Print to standard output, as XML +extern_c int +EvaluatedPrintXML(ConstHandle2ConstEvaluated This); + +// +++ Print to standard output, as JSON +extern_c int +EvaluatedPrintJSON(ConstHandle2ConstEvaluated This); + + +// ----------------------------------------------------------------------------- +// Metadatum: label +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedLabelHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c const char * +EvaluatedLabelGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedLabelSet(ConstHandle2Evaluated This, const char *const label); + + +// ----------------------------------------------------------------------------- +// Metadatum: date +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedDateHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c const char * +EvaluatedDateGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedDateSet(ConstHandle2Evaluated This, const char *const date); + + +// ----------------------------------------------------------------------------- +// Metadatum: library +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedLibraryHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c const char * +EvaluatedLibraryGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedLibrarySet(ConstHandle2Evaluated This, const char *const library); + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedVersionHas(ConstHandle2ConstEvaluated This); + +// +++ Get +// +++ Returns by value +extern_c const char * +EvaluatedVersionGet(ConstHandle2ConstEvaluated This); + +// +++ Set +extern_c void +EvaluatedVersionSet(ConstHandle2Evaluated This, const char *const version); + + +// ----------------------------------------------------------------------------- +// Child: documentation +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +EvaluatedDocumentationHas(ConstHandle2ConstEvaluated This); + +// --- Get, const +extern_c Handle2ConstDocumentation +EvaluatedDocumentationGetConst(ConstHandle2ConstEvaluated This); + +// +++ Get, non-const +extern_c Handle2Documentation +EvaluatedDocumentationGet(ConstHandle2Evaluated This); + +// +++ Set +extern_c void +EvaluatedDocumentationSet(ConstHandle2Evaluated This, ConstHandle2ConstDocumentation documentation); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp b/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp new file mode 100644 index 000000000..3d27a5aa8 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp @@ -0,0 +1,322 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/PoPs.hpp" +#include "PoPs.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = PoPsClass; +using CPP = multigroup::PoPs; + +static const std::string CLASSNAME = "PoPs"; + +namespace extract { + static auto name = [](auto &obj) { return &obj.name; }; + static auto version = [](auto &obj) { return &obj.version; }; + static auto format = [](auto &obj) { return &obj.format; }; + static auto styles = [](auto &obj) { return &obj.styles; }; + static auto chemicalElements = [](auto &obj) { return &obj.chemicalElements; }; +} + +using CPPStyles = gnds::Styles; +using CPPChemicalElements = gnds::ChemicalElements; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstPoPs +PoPsDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2PoPs +PoPsDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstPoPs +PoPsCreateConst( + const char *const name, + const char *const version, + const char *const format, + ConstHandle2ConstStyles styles, + ConstHandle2ConstChemicalElements chemicalElements +) { + ConstHandle2PoPs handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + name, + version, + format, + detail::tocpp(styles), + detail::tocpp(chemicalElements) + ); + return handle; +} + +// Create, general +Handle2PoPs +PoPsCreate( + const char *const name, + const char *const version, + const char *const format, + ConstHandle2ConstStyles styles, + ConstHandle2ConstChemicalElements chemicalElements +) { + ConstHandle2PoPs handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + name, + version, + format, + detail::tocpp(styles), + detail::tocpp(chemicalElements) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +PoPsAssign(ConstHandle2PoPs This, ConstHandle2ConstPoPs from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +PoPsDelete(ConstHandle2ConstPoPs This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +PoPsRead(ConstHandle2PoPs This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +PoPsWrite(ConstHandle2ConstPoPs This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +PoPsPrint(ConstHandle2ConstPoPs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +PoPsPrintXML(ConstHandle2ConstPoPs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +PoPsPrintJSON(ConstHandle2ConstPoPs This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// Has +int +PoPsNameHas(ConstHandle2ConstPoPs This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"NameHas", This, extract::name); +} + +// Get +// Returns by value +const char * +PoPsNameGet(ConstHandle2ConstPoPs This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"NameGet", This, extract::name); +} + +// Set +void +PoPsNameSet(ConstHandle2PoPs This, const char *const name) +{ + detail::setField + (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// Has +int +PoPsVersionHas(ConstHandle2ConstPoPs This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"VersionHas", This, extract::version); +} + +// Get +// Returns by value +const char * +PoPsVersionGet(ConstHandle2ConstPoPs This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"VersionGet", This, extract::version); +} + +// Set +void +PoPsVersionSet(ConstHandle2PoPs This, const char *const version) +{ + detail::setField + (CLASSNAME, CLASSNAME+"VersionSet", This, extract::version, version); +} + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// Has +int +PoPsFormatHas(ConstHandle2ConstPoPs This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"FormatHas", This, extract::format); +} + +// Get +// Returns by value +const char * +PoPsFormatGet(ConstHandle2ConstPoPs This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"FormatGet", This, extract::format); +} + +// Set +void +PoPsFormatSet(ConstHandle2PoPs This, const char *const format) +{ + detail::setField + (CLASSNAME, CLASSNAME+"FormatSet", This, extract::format, format); +} + + +// ----------------------------------------------------------------------------- +// Child: styles +// ----------------------------------------------------------------------------- + +// Has +int +PoPsStylesHas(ConstHandle2ConstPoPs This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"StylesHas", This, extract::styles); +} + +// Get, const +Handle2ConstStyles +PoPsStylesGetConst(ConstHandle2ConstPoPs This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StylesGetConst", This, extract::styles); +} + +// Get, non-const +Handle2Styles +PoPsStylesGet(ConstHandle2PoPs This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"StylesGet", This, extract::styles); +} + +// Set +void +PoPsStylesSet(ConstHandle2PoPs This, ConstHandle2ConstStyles styles) +{ + detail::setField + (CLASSNAME, CLASSNAME+"StylesSet", This, extract::styles, styles); +} + + +// ----------------------------------------------------------------------------- +// Child: chemicalElements +// ----------------------------------------------------------------------------- + +// Has +int +PoPsChemicalElementsHas(ConstHandle2ConstPoPs This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"ChemicalElementsHas", This, extract::chemicalElements); +} + +// Get, const +Handle2ConstChemicalElements +PoPsChemicalElementsGetConst(ConstHandle2ConstPoPs This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChemicalElementsGetConst", This, extract::chemicalElements); +} + +// Get, non-const +Handle2ChemicalElements +PoPsChemicalElementsGet(ConstHandle2PoPs This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"ChemicalElementsGet", This, extract::chemicalElements); +} + +// Set +void +PoPsChemicalElementsSet(ConstHandle2PoPs This, ConstHandle2ConstChemicalElements chemicalElements) +{ + detail::setField + (CLASSNAME, CLASSNAME+"ChemicalElementsSet", This, extract::chemicalElements, chemicalElements); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/PoPs.h b/standards/incremental/code/c/src/v2.0/gnds/PoPs.h new file mode 100644 index 000000000..75640a7a3 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/PoPs.h @@ -0,0 +1,243 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// PoPs is the basic handle type in this file. Example: +// // Create a default PoPs object: +// PoPs handle = PoPsDefault(); +// Functions involving PoPs are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_POPS +#define C_INTERFACE_TEST_V2_0_GNDS_POPS + +#include "GNDStk.h" +#include "v2.0/gnds/Styles.h" +#include "v2.0/gnds/ChemicalElements.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct PoPsClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ PoPs +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct PoPsClass *PoPs; + +// --- Const-aware handles. +typedef const struct PoPsClass *const ConstHandle2ConstPoPs; +typedef struct PoPsClass *const ConstHandle2PoPs; +typedef const struct PoPsClass * Handle2ConstPoPs; +typedef struct PoPsClass * Handle2PoPs; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstPoPs +PoPsDefaultConst(); + +// +++ Create, default +extern_c Handle2PoPs +PoPsDefault(); + +// --- Create, general, const +extern_c Handle2ConstPoPs +PoPsCreateConst( + const char *const name, + const char *const version, + const char *const format, + ConstHandle2ConstStyles styles, + ConstHandle2ConstChemicalElements chemicalElements +); + +// +++ Create, general +extern_c Handle2PoPs +PoPsCreate( + const char *const name, + const char *const version, + const char *const format, + ConstHandle2ConstStyles styles, + ConstHandle2ConstChemicalElements chemicalElements +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +PoPsAssign(ConstHandle2PoPs This, ConstHandle2ConstPoPs from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +PoPsDelete(ConstHandle2ConstPoPs This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +PoPsRead(ConstHandle2PoPs This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +PoPsWrite(ConstHandle2ConstPoPs This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +PoPsPrint(ConstHandle2ConstPoPs This); + +// +++ Print to standard output, as XML +extern_c int +PoPsPrintXML(ConstHandle2ConstPoPs This); + +// +++ Print to standard output, as JSON +extern_c int +PoPsPrintJSON(ConstHandle2ConstPoPs This); + + +// ----------------------------------------------------------------------------- +// Metadatum: name +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPsNameHas(ConstHandle2ConstPoPs This); + +// +++ Get +// +++ Returns by value +extern_c const char * +PoPsNameGet(ConstHandle2ConstPoPs This); + +// +++ Set +extern_c void +PoPsNameSet(ConstHandle2PoPs This, const char *const name); + + +// ----------------------------------------------------------------------------- +// Metadatum: version +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPsVersionHas(ConstHandle2ConstPoPs This); + +// +++ Get +// +++ Returns by value +extern_c const char * +PoPsVersionGet(ConstHandle2ConstPoPs This); + +// +++ Set +extern_c void +PoPsVersionSet(ConstHandle2PoPs This, const char *const version); + + +// ----------------------------------------------------------------------------- +// Metadatum: format +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPsFormatHas(ConstHandle2ConstPoPs This); + +// +++ Get +// +++ Returns by value +extern_c const char * +PoPsFormatGet(ConstHandle2ConstPoPs This); + +// +++ Set +extern_c void +PoPsFormatSet(ConstHandle2PoPs This, const char *const format); + + +// ----------------------------------------------------------------------------- +// Child: styles +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPsStylesHas(ConstHandle2ConstPoPs This); + +// --- Get, const +extern_c Handle2ConstStyles +PoPsStylesGetConst(ConstHandle2ConstPoPs This); + +// +++ Get, non-const +extern_c Handle2Styles +PoPsStylesGet(ConstHandle2PoPs This); + +// +++ Set +extern_c void +PoPsStylesSet(ConstHandle2PoPs This, ConstHandle2ConstStyles styles); + + +// ----------------------------------------------------------------------------- +// Child: chemicalElements +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +PoPsChemicalElementsHas(ConstHandle2ConstPoPs This); + +// --- Get, const +extern_c Handle2ConstChemicalElements +PoPsChemicalElementsGetConst(ConstHandle2ConstPoPs This); + +// +++ Get, non-const +extern_c Handle2ChemicalElements +PoPsChemicalElementsGet(ConstHandle2PoPs This); + +// +++ Set +extern_c void +PoPsChemicalElementsSet(ConstHandle2PoPs This, ConstHandle2ConstChemicalElements chemicalElements); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp b/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp new file mode 100644 index 000000000..915273e5f --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp @@ -0,0 +1,174 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Styles.hpp" +#include "Styles.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = StylesClass; +using CPP = multigroup::Styles; + +static const std::string CLASSNAME = "Styles"; + +namespace extract { + static auto evaluated = [](auto &obj) { return &obj.evaluated; }; +} + +using CPPEvaluated = gnds::Evaluated; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstStyles +StylesDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Styles +StylesDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstStyles +StylesCreateConst( + ConstHandle2ConstEvaluated evaluated +) { + ConstHandle2Styles handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst", + detail::tocpp(evaluated) + ); + return handle; +} + +// Create, general +Handle2Styles +StylesCreate( + ConstHandle2ConstEvaluated evaluated +) { + ConstHandle2Styles handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create", + detail::tocpp(evaluated) + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +StylesAssign(ConstHandle2Styles This, ConstHandle2ConstStyles from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +StylesDelete(ConstHandle2ConstStyles This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +StylesRead(ConstHandle2Styles This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +StylesWrite(ConstHandle2ConstStyles This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +StylesPrint(ConstHandle2ConstStyles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +StylesPrintXML(ConstHandle2ConstStyles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +StylesPrintJSON(ConstHandle2ConstStyles This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Child: evaluated +// ----------------------------------------------------------------------------- + +// Has +int +StylesEvaluatedHas(ConstHandle2ConstStyles This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"EvaluatedHas", This, extract::evaluated); +} + +// Get, const +Handle2ConstEvaluated +StylesEvaluatedGetConst(ConstHandle2ConstStyles This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaluatedGetConst", This, extract::evaluated); +} + +// Get, non-const +Handle2Evaluated +StylesEvaluatedGet(ConstHandle2Styles This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"EvaluatedGet", This, extract::evaluated); +} + +// Set +void +StylesEvaluatedSet(ConstHandle2Styles This, ConstHandle2ConstEvaluated evaluated) +{ + detail::setField + (CLASSNAME, CLASSNAME+"EvaluatedSet", This, extract::evaluated, evaluated); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Styles.h b/standards/incremental/code/c/src/v2.0/gnds/Styles.h new file mode 100644 index 000000000..e835d7f74 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Styles.h @@ -0,0 +1,159 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Styles is the basic handle type in this file. Example: +// // Create a default Styles object: +// Styles handle = StylesDefault(); +// Functions involving Styles are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_STYLES +#define C_INTERFACE_TEST_V2_0_GNDS_STYLES + +#include "GNDStk.h" +#include "v2.0/gnds/Evaluated.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct StylesClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Styles +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct StylesClass *Styles; + +// --- Const-aware handles. +typedef const struct StylesClass *const ConstHandle2ConstStyles; +typedef struct StylesClass *const ConstHandle2Styles; +typedef const struct StylesClass * Handle2ConstStyles; +typedef struct StylesClass * Handle2Styles; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstStyles +StylesDefaultConst(); + +// +++ Create, default +extern_c Handle2Styles +StylesDefault(); + +// --- Create, general, const +extern_c Handle2ConstStyles +StylesCreateConst( + ConstHandle2ConstEvaluated evaluated +); + +// +++ Create, general +extern_c Handle2Styles +StylesCreate( + ConstHandle2ConstEvaluated evaluated +); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +StylesAssign(ConstHandle2Styles This, ConstHandle2ConstStyles from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +StylesDelete(ConstHandle2ConstStyles This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +StylesRead(ConstHandle2Styles This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +StylesWrite(ConstHandle2ConstStyles This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +StylesPrint(ConstHandle2ConstStyles This); + +// +++ Print to standard output, as XML +extern_c int +StylesPrintXML(ConstHandle2ConstStyles This); + +// +++ Print to standard output, as JSON +extern_c int +StylesPrintJSON(ConstHandle2ConstStyles This); + + +// ----------------------------------------------------------------------------- +// Child: evaluated +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +StylesEvaluatedHas(ConstHandle2ConstStyles This); + +// --- Get, const +extern_c Handle2ConstEvaluated +StylesEvaluatedGetConst(ConstHandle2ConstStyles This); + +// +++ Get, non-const +extern_c Handle2Evaluated +StylesEvaluatedGet(ConstHandle2Styles This); + +// +++ Set +extern_c void +StylesEvaluatedSet(ConstHandle2Styles This, ConstHandle2ConstEvaluated evaluated); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Title.cpp b/standards/incremental/code/c/src/v2.0/gnds/Title.cpp new file mode 100644 index 000000000..32bae7c23 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Title.cpp @@ -0,0 +1,380 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include "test/v2_0/gnds/Title.hpp" +#include "Title.h" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +using C = TitleClass; +using CPP = multigroup::Title; + +static const std::string CLASSNAME = "Title"; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// Create, default, const +Handle2ConstTitle +TitleDefaultConst() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"DefaultConst"); +} + +// Create, default +Handle2Title +TitleDefault() +{ + return detail::createHandle + (CLASSNAME, CLASSNAME+"Default"); +} + +// Create, general, const +Handle2ConstTitle +TitleCreateConst() +{ + ConstHandle2Title handle = detail::createHandle( + CLASSNAME, CLASSNAME+"CreateConst" + ); + return handle; +} + +// Create, general +Handle2Title +TitleCreate() +{ + ConstHandle2Title handle = detail::createHandle( + CLASSNAME, CLASSNAME+"Create" + ); + return handle; +} + +// Assign +// Use this to assign one handled object to another. Don't assign handles, +// as with to = from. That has a meaning that you probably don't intend. +void +TitleAssign(ConstHandle2Title This, ConstHandle2ConstTitle from) +{ + detail::assignHandle + (CLASSNAME, CLASSNAME+"Assign", This, from); +} + +// Delete +// We'll attempt to remove no-longer-used objects automatically, but you +// may improve performance if you delete them when you're done with them. +void +TitleDelete(ConstHandle2ConstTitle This) +{ + detail::deleteHandle + (CLASSNAME, CLASSNAME+"Delete", This); +} + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// Read from file +// File can be XML, JSON, or HDF5. +// We'll examine the file's contents to determine its type automatically. +int +TitleRead(ConstHandle2Title This, const char *const filename) +{ + return detail::readHandle + (CLASSNAME, CLASSNAME+"Read", This, filename); +} + +// Write to file +// File can be XML, JSON, or HDF5. +// We'll use filename's extension to determine the type you want written. +int +TitleWrite(ConstHandle2ConstTitle This, const char *const filename) +{ + return detail::writeHandle + (CLASSNAME, CLASSNAME+"Write", This, filename); +} + +// Print to standard output, in our prettyprinting format +int +TitlePrint(ConstHandle2ConstTitle This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"Print", This); +} + +// Print to standard output, as XML +int +TitlePrintXML(ConstHandle2ConstTitle This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintXML", This, "XML"); +} + +// Print to standard output, as JSON +int +TitlePrintJSON(ConstHandle2ConstTitle This) +{ + return detail::printHandle + (CLASSNAME, CLASSNAME+"PrintJSON", This, "JSON"); +} + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// Clear +void +TitleIntsClear(ConstHandle2Title This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"IntsClear", This); +} + +// Get size +size_t +TitleIntsSize(ConstHandle2ConstTitle This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"IntsSize", This); +} + +// Get value +// By index \in [0,size) +int +TitleIntsGet(ConstHandle2ConstTitle This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +TitleIntsSet(ConstHandle2Title This, const size_t index, const int value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSet", This, index, value); +} + +// Get pointer to existing values, const +const int * +TitleIntsGetArrayConst(ConstHandle2ConstTitle This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +int * +TitleIntsGetArray(ConstHandle2Title This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"IntsGetArray", This); +} + +// Set completely new values and size +void +TitleIntsSetArray(ConstHandle2Title This, const int *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"IntsSetArray", This, size, values); +} + +// ------------------------ +// unsigned +// ------------------------ + +// Clear +void +TitleUnsignedsClear(ConstHandle2Title This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"UnsignedsClear", This); +} + +// Get size +size_t +TitleUnsignedsSize(ConstHandle2ConstTitle This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"UnsignedsSize", This); +} + +// Get value +// By index \in [0,size) +unsigned +TitleUnsignedsGet(ConstHandle2ConstTitle This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +TitleUnsignedsSet(ConstHandle2Title This, const size_t index, const unsigned value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSet", This, index, value); +} + +// Get pointer to existing values, const +const unsigned * +TitleUnsignedsGetArrayConst(ConstHandle2ConstTitle This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +unsigned * +TitleUnsignedsGetArray(ConstHandle2Title This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"UnsignedsGetArray", This); +} + +// Set completely new values and size +void +TitleUnsignedsSetArray(ConstHandle2Title This, const unsigned *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"UnsignedsSetArray", This, size, values); +} + +// ------------------------ +// float +// ------------------------ + +// Clear +void +TitleFloatsClear(ConstHandle2Title This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"FloatsClear", This); +} + +// Get size +size_t +TitleFloatsSize(ConstHandle2ConstTitle This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"FloatsSize", This); +} + +// Get value +// By index \in [0,size) +float +TitleFloatsGet(ConstHandle2ConstTitle This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGet", This, index); +} + +// Set value +// By index \in [0,size) +void +TitleFloatsSet(ConstHandle2Title This, const size_t index, const float value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSet", This, index, value); +} + +// Get pointer to existing values, const +const float * +TitleFloatsGetArrayConst(ConstHandle2ConstTitle This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArrayConst", This); +} + +// Get pointer to existing values, non-const +float * +TitleFloatsGetArray(ConstHandle2Title This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"FloatsGetArray", This); +} + +// Set completely new values and size +void +TitleFloatsSetArray(ConstHandle2Title This, const float *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"FloatsSetArray", This, size, values); +} + +// ------------------------ +// double +// ------------------------ + +// Clear +void +TitleDoublesClear(ConstHandle2Title This) +{ + detail::vectorClear + (CLASSNAME, CLASSNAME+"DoublesClear", This); +} + +// Get size +size_t +TitleDoublesSize(ConstHandle2ConstTitle This) +{ + return detail::vectorSize + (CLASSNAME, CLASSNAME+"DoublesSize", This); +} + +// Get value +// By index \in [0,size) +double +TitleDoublesGet(ConstHandle2ConstTitle This, const size_t index) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGet", This, index); +} + +// Set value +// By index \in [0,size) +void +TitleDoublesSet(ConstHandle2Title This, const size_t index, const double value) +{ + detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSet", This, index, value); +} + +// Get pointer to existing values, const +const double * +TitleDoublesGetArrayConst(ConstHandle2ConstTitle This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArrayConst", This); +} + +// Get pointer to existing values, non-const +double * +TitleDoublesGetArray(ConstHandle2Title This) +{ + return detail::vectorGet + (CLASSNAME, CLASSNAME+"DoublesGetArray", This); +} + +// Set completely new values and size +void +TitleDoublesSetArray(ConstHandle2Title This, const double *const values, const size_t size) +{ + return detail::vectorSet + (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Title.h b/standards/incremental/code/c/src/v2.0/gnds/Title.h new file mode 100644 index 000000000..1560c3809 --- /dev/null +++ b/standards/incremental/code/c/src/v2.0/gnds/Title.h @@ -0,0 +1,274 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// Interface for C +// This header file is designed to work with both C and C++ +// Function definitions are in this file's .cpp source + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- +// Instructions for Users +// +// Constructs you're MORE likely to care about are preceded with: +// // +++ comment +// Constructs you're LESS likely to care about are preceded with: +// // --- comment +// Anything not marked as above can be ignored by most users. +// +// Title is the basic handle type in this file. Example: +// // Create a default Title object: +// Title handle = TitleDefault(); +// Functions involving Title are declared throughout this file. +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + + +// ----------------------------------------------------------------------------- +// Preliminaries +// ----------------------------------------------------------------------------- + +#ifndef C_INTERFACE_TEST_V2_0_GNDS_TITLE +#define C_INTERFACE_TEST_V2_0_GNDS_TITLE + +#include "GNDStk.h" + +#ifdef __cplusplus + #define extern_c extern "C" +#else + #define extern_c +#endif + +// Proxy C struct for the handled C++ class +struct TitleClass { }; + + +// ----------------------------------------------------------------------------- +// Handle types +// ----------------------------------------------------------------------------- + +// +++ Title +// +++ General handle, suitable for most users. If you're not concerned about +// +++ strict "const correctness" in your C code, you can probably use this in +// +++ place of any function parameter of a const-aware handle type. +typedef struct TitleClass *Title; + +// --- Const-aware handles. +typedef const struct TitleClass *const ConstHandle2ConstTitle; +typedef struct TitleClass *const ConstHandle2Title; +typedef const struct TitleClass * Handle2ConstTitle; +typedef struct TitleClass * Handle2Title; + + +// ----------------------------------------------------------------------------- +// Basics +// Create, Assign, Delete +// ----------------------------------------------------------------------------- + +// --- Create, default, const +extern_c Handle2ConstTitle +TitleDefaultConst(); + +// +++ Create, default +extern_c Handle2Title +TitleDefault(); + +// --- Create, general, const +extern_c Handle2ConstTitle +TitleCreateConst(); + +// +++ Create, general +extern_c Handle2Title +TitleCreate(); + +// +++ Assign +// +++ Use this to assign one handled object to another. Don't assign handles, +// +++ as with to = from. That has a meaning that you probably don't intend. +extern_c void +TitleAssign(ConstHandle2Title This, ConstHandle2ConstTitle from); + +// +++ Delete +// +++ We'll attempt to remove no-longer-used objects automatically, but you +// +++ may improve performance if you delete them when you're done with them. +extern_c void +TitleDelete(ConstHandle2ConstTitle This); + + +// ----------------------------------------------------------------------------- +// I/O +// Read, Write, Print +// Each returns 0 if failure, 1 if success. +// ----------------------------------------------------------------------------- + +// +++ Read from file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll examine the file's contents to determine its type automatically. +extern_c int +TitleRead(ConstHandle2Title This, const char *const filename); + +// +++ Write to file +// +++ File can be XML, JSON, or HDF5. +// +++ We'll use filename's extension to determine the type you want written. +extern_c int +TitleWrite(ConstHandle2ConstTitle This, const char *const filename); + +// +++ Print to standard output, in our prettyprinting format +extern_c int +TitlePrint(ConstHandle2ConstTitle This); + +// +++ Print to standard output, as XML +extern_c int +TitlePrintXML(ConstHandle2ConstTitle This); + +// +++ Print to standard output, as JSON +extern_c int +TitlePrintJSON(ConstHandle2ConstTitle This); + + +// ----------------------------------------------------------------------------- +// Data vector +// ----------------------------------------------------------------------------- + +// ------------------------ +// int +// ------------------------ + +// +++ Clear +extern_c void +TitleIntsClear(ConstHandle2Title This); + +// +++ Get size +extern_c size_t +TitleIntsSize(ConstHandle2ConstTitle This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c int +TitleIntsGet(ConstHandle2ConstTitle This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +TitleIntsSet(ConstHandle2Title This, const size_t index, const int value); + +// --- Get pointer to existing values, const +extern_c const int * +TitleIntsGetArrayConst(ConstHandle2ConstTitle This); + +// +++ Get pointer to existing values, non-const +extern_c int * +TitleIntsGetArray(ConstHandle2Title This); + +// +++ Set completely new values and size +extern_c void +TitleIntsSetArray(ConstHandle2Title This, const int *const values, const size_t size); + +// ------------------------ +// unsigned +// ------------------------ + +// +++ Clear +extern_c void +TitleUnsignedsClear(ConstHandle2Title This); + +// +++ Get size +extern_c size_t +TitleUnsignedsSize(ConstHandle2ConstTitle This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c unsigned +TitleUnsignedsGet(ConstHandle2ConstTitle This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +TitleUnsignedsSet(ConstHandle2Title This, const size_t index, const unsigned value); + +// --- Get pointer to existing values, const +extern_c const unsigned * +TitleUnsignedsGetArrayConst(ConstHandle2ConstTitle This); + +// +++ Get pointer to existing values, non-const +extern_c unsigned * +TitleUnsignedsGetArray(ConstHandle2Title This); + +// +++ Set completely new values and size +extern_c void +TitleUnsignedsSetArray(ConstHandle2Title This, const unsigned *const values, const size_t size); + +// ------------------------ +// float +// ------------------------ + +// +++ Clear +extern_c void +TitleFloatsClear(ConstHandle2Title This); + +// +++ Get size +extern_c size_t +TitleFloatsSize(ConstHandle2ConstTitle This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c float +TitleFloatsGet(ConstHandle2ConstTitle This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +TitleFloatsSet(ConstHandle2Title This, const size_t index, const float value); + +// --- Get pointer to existing values, const +extern_c const float * +TitleFloatsGetArrayConst(ConstHandle2ConstTitle This); + +// +++ Get pointer to existing values, non-const +extern_c float * +TitleFloatsGetArray(ConstHandle2Title This); + +// +++ Set completely new values and size +extern_c void +TitleFloatsSetArray(ConstHandle2Title This, const float *const values, const size_t size); + +// ------------------------ +// double +// ------------------------ + +// +++ Clear +extern_c void +TitleDoublesClear(ConstHandle2Title This); + +// +++ Get size +extern_c size_t +TitleDoublesSize(ConstHandle2ConstTitle This); + +// +++ Get value +// +++ By index \in [0,size) +extern_c double +TitleDoublesGet(ConstHandle2ConstTitle This, const size_t index); + +// +++ Set value +// +++ By index \in [0,size) +extern_c void +TitleDoublesSet(ConstHandle2Title This, const size_t index, const double value); + +// --- Get pointer to existing values, const +extern_c const double * +TitleDoublesGetArrayConst(ConstHandle2ConstTitle This); + +// +++ Get pointer to existing values, non-const +extern_c double * +TitleDoublesGetArray(ConstHandle2Title This); + +// +++ Set completely new values and size +extern_c void +TitleDoublesSetArray(ConstHandle2Title This, const double *const values, const size_t size); + + +// ----------------------------------------------------------------------------- +// Done +// ----------------------------------------------------------------------------- + +#undef extern_c +#endif diff --git a/standards/incremental/code/python/src/v2.0/gnds.python.cpp b/standards/incremental/code/python/src/v2.0/gnds.python.cpp new file mode 100644 index 000000000..59ceaaa92 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds.python.cpp @@ -0,0 +1,65 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#include +#include + +namespace python = pybind11; + +// v2.0 interface +namespace python_v2_0 { + +// gnds declarations +namespace python_gnds { + void wrapAuthor(python::module &); + void wrapAuthors(python::module &); + void wrapDate(python::module &); + void wrapDates(python::module &); + void wrapTitle(python::module &); + void wrapBody(python::module &); + void wrapEndfCompatible(python::module &); + void wrapDocumentation(python::module &); + void wrapEvaluated(python::module &); + void wrapStyles(python::module &); + void wrapConfiguration(python::module &); + void wrapConfigurations(python::module &); + void wrapAtomic(python::module &); + void wrapChemicalElement(python::module &); + void wrapChemicalElements(python::module &); + void wrapPoPs(python::module &); + void wrapDouble(python::module &); + void wrapBindingEnergy(python::module &); +} // namespace python_gnds + +// gnds wrapper +void wrapGnds(python::module &module) +{ + // create the gnds submodule + python::module submodule = module.def_submodule( + "gnds", + "test v2.0 gnds" + ); + + // wrap gnds components + python_gnds::wrapAuthor(submodule); + python_gnds::wrapAuthors(submodule); + python_gnds::wrapDate(submodule); + python_gnds::wrapDates(submodule); + python_gnds::wrapTitle(submodule); + python_gnds::wrapBody(submodule); + python_gnds::wrapEndfCompatible(submodule); + python_gnds::wrapDocumentation(submodule); + python_gnds::wrapEvaluated(submodule); + python_gnds::wrapStyles(submodule); + python_gnds::wrapConfiguration(submodule); + python_gnds::wrapConfigurations(submodule); + python_gnds::wrapAtomic(submodule); + python_gnds::wrapChemicalElement(submodule); + python_gnds::wrapChemicalElements(submodule); + python_gnds::wrapPoPs(submodule); + python_gnds::wrapDouble(submodule); + python_gnds::wrapBindingEnergy(submodule); +}; + +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Atomic.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Atomic.python.cpp new file mode 100644 index 000000000..27d90ced8 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Atomic.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Atomic.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Atomic wrapper +void wrapAtomic(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Atomic; + + // create the component + python::class_ component( + module, + "Atomic", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const gnds::Configurations & + >(), + python::arg("configurations"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "configurations", + [](const Component &self) { return self.configurations(); }, + Component::documentation("configurations").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Author.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Author.python.cpp new file mode 100644 index 000000000..e89aadf55 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Author.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Author.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Author wrapper +void wrapAuthor(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Author; + + // create the component + python::class_ component( + module, + "Author", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string & + >(), + python::arg("name"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Authors.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Authors.python.cpp new file mode 100644 index 000000000..bfdc8dc6d --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Authors.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Authors.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Authors wrapper +void wrapAuthors(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Authors; + + // create the component + python::class_ component( + module, + "Authors", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("author"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "author", + [](const Component &self) { return self.author(); }, + Component::documentation("author").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/BindingEnergy.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/BindingEnergy.python.cpp new file mode 100644 index 000000000..bdc086504 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/BindingEnergy.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/BindingEnergy.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// BindingEnergy wrapper +void wrapBindingEnergy(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::BindingEnergy; + + // create the component + python::class_ component( + module, + "BindingEnergy", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const gnds::Double & + >(), + python::arg("double"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "double", + [](const Component &self) { return self.Double(); }, + Component::documentation("double").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Body.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Body.python.cpp new file mode 100644 index 000000000..79987fcfa --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Body.python.cpp @@ -0,0 +1,85 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Body.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Body wrapper +void wrapBody(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Body; + + // create the component + python::class_ component( + module, + "Body", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/ChemicalElement.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/ChemicalElement.python.cpp new file mode 100644 index 000000000..8f9ce47db --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/ChemicalElement.python.cpp @@ -0,0 +1,77 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/ChemicalElement.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// ChemicalElement wrapper +void wrapChemicalElement(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::ChemicalElement; + + // create the component + python::class_ component( + module, + "ChemicalElement", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const int &, + const std::string &, + const gnds::Atomic & + >(), + python::arg("symbol"), + python::arg("z"), + python::arg("name"), + python::arg("atomic"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "symbol", + [](const Component &self) { return self.symbol(); }, + Component::documentation("symbol").data() + ) + .def_property_readonly( + "z", + [](const Component &self) { return self.Z(); }, + Component::documentation("z").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "atomic", + [](const Component &self) { return self.atomic(); }, + Component::documentation("atomic").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/ChemicalElements.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/ChemicalElements.python.cpp new file mode 100644 index 000000000..b2e496734 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/ChemicalElements.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/ChemicalElements.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// ChemicalElements wrapper +void wrapChemicalElements(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::ChemicalElements; + + // create the component + python::class_ component( + module, + "ChemicalElements", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("chemical_element"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "chemical_element", + [](const Component &self) { return self.chemicalElement(); }, + Component::documentation("chemical_element").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp new file mode 100644 index 000000000..96b1c0474 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Configuration.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Configuration wrapper +void wrapConfiguration(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Configuration; + + // create the component + python::class_ component( + module, + "Configuration", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::string & + >(), + python::arg("subshell"), + python::arg("electron_number"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "subshell", + [](const Component &self) { return self.subshell(); }, + Component::documentation("subshell").data() + ) + .def_property_readonly( + "electron_number", + [](const Component &self) { return self.electronNumber(); }, + Component::documentation("electron_number").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Configurations.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Configurations.python.cpp new file mode 100644 index 000000000..e098da24d --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Configurations.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Configurations.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Configurations wrapper +void wrapConfigurations(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Configurations; + + // create the component + python::class_ component( + module, + "Configurations", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("configuration"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "configuration", + [](const Component &self) { return self.configuration(); }, + Component::documentation("configuration").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Date.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Date.python.cpp new file mode 100644 index 000000000..396a88ece --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Date.python.cpp @@ -0,0 +1,63 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Date.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Date wrapper +void wrapDate(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Date; + + // create the component + python::class_ component( + module, + "Date", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const enums::DateType & + >(), + python::arg("value"), + python::arg("date_type"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "date_type", + [](const Component &self) { return self.dateType(); }, + Component::documentation("date_type").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Dates.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Dates.python.cpp new file mode 100644 index 000000000..01fddde59 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Dates.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Dates.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Dates wrapper +void wrapDates(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Dates; + + // create the component + python::class_ component( + module, + "Dates", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::vector & + >(), + python::arg("date"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Documentation.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Documentation.python.cpp new file mode 100644 index 000000000..bd555b1ed --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Documentation.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Documentation.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Documentation wrapper +void wrapDocumentation(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Documentation; + + // create the component + python::class_ component( + module, + "Documentation", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const gnds::Authors &, + const gnds::Dates &, + const gnds::Title &, + const gnds::Body &, + const gnds::EndfCompatible & + >(), + python::arg("authors"), + python::arg("dates"), + python::arg("title"), + python::arg("body"), + python::arg("endf_compatible"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "authors", + [](const Component &self) { return self.authors(); }, + Component::documentation("authors").data() + ) + .def_property_readonly( + "dates", + [](const Component &self) { return self.dates(); }, + Component::documentation("dates").data() + ) + .def_property_readonly( + "title", + [](const Component &self) { return self.title(); }, + Component::documentation("title").data() + ) + .def_property_readonly( + "body", + [](const Component &self) { return self.body(); }, + Component::documentation("body").data() + ) + .def_property_readonly( + "endf_compatible", + [](const Component &self) { return self.endfCompatible(); }, + Component::documentation("endf_compatible").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Double.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Double.python.cpp new file mode 100644 index 000000000..1c0b7139f --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Double.python.cpp @@ -0,0 +1,70 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Double.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Double wrapper +void wrapDouble(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Double; + + // create the component + python::class_ component( + module, + "Double", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const double &, + const std::string & + >(), + python::arg("label"), + python::arg("value"), + python::arg("unit"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "value", + [](const Component &self) { return self.value(); }, + Component::documentation("value").data() + ) + .def_property_readonly( + "unit", + [](const Component &self) { return self.unit(); }, + Component::documentation("unit").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/EndfCompatible.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/EndfCompatible.python.cpp new file mode 100644 index 000000000..63211b729 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/EndfCompatible.python.cpp @@ -0,0 +1,85 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/EndfCompatible.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// EndfCompatible wrapper +void wrapEndfCompatible(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::EndfCompatible; + + // create the component + python::class_ component( + module, + "EndfCompatible", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Evaluated.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Evaluated.python.cpp new file mode 100644 index 000000000..35aedcafb --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Evaluated.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Evaluated.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Evaluated wrapper +void wrapEvaluated(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Evaluated; + + // create the component + python::class_ component( + module, + "Evaluated", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::string &, + const std::string &, + const std::string &, + const gnds::Documentation & + >(), + python::arg("label"), + python::arg("date"), + python::arg("library"), + python::arg("version"), + python::arg("documentation"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "label", + [](const Component &self) { return self.label(); }, + Component::documentation("label").data() + ) + .def_property_readonly( + "date", + [](const Component &self) { return self.date(); }, + Component::documentation("date").data() + ) + .def_property_readonly( + "library", + [](const Component &self) { return self.library(); }, + Component::documentation("library").data() + ) + .def_property_readonly( + "version", + [](const Component &self) { return self.version(); }, + Component::documentation("version").data() + ) + .def_property_readonly( + "documentation", + [](const Component &self) { return self.documentation(); }, + Component::documentation("documentation").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/PoPs.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/PoPs.python.cpp new file mode 100644 index 000000000..041cf5d61 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/PoPs.python.cpp @@ -0,0 +1,84 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/PoPs.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// PoPs wrapper +void wrapPoPs(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::PoPs; + + // create the component + python::class_ component( + module, + "PoPs", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const std::string &, + const std::string &, + const std::string &, + const gnds::Styles &, + const gnds::ChemicalElements & + >(), + python::arg("name"), + python::arg("version"), + python::arg("format"), + python::arg("styles"), + python::arg("chemical_elements"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "name", + [](const Component &self) { return self.name(); }, + Component::documentation("name").data() + ) + .def_property_readonly( + "version", + [](const Component &self) { return self.version(); }, + Component::documentation("version").data() + ) + .def_property_readonly( + "format", + [](const Component &self) { return self.format(); }, + Component::documentation("format").data() + ) + .def_property_readonly( + "styles", + [](const Component &self) { return self.styles(); }, + Component::documentation("styles").data() + ) + .def_property_readonly( + "chemical_elements", + [](const Component &self) { return self.chemicalElements(); }, + Component::documentation("chemical_elements").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Styles.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Styles.python.cpp new file mode 100644 index 000000000..2d2535240 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Styles.python.cpp @@ -0,0 +1,56 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Styles.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Styles wrapper +void wrapStyles(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Styles; + + // create the component + python::class_ component( + module, + "Styles", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + const gnds::Evaluated & + >(), + python::arg("evaluated"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "evaluated", + [](const Component &self) { return self.evaluated(); }, + Component::documentation("evaluated").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Title.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Title.python.cpp new file mode 100644 index 000000000..070f4c178 --- /dev/null +++ b/standards/incremental/code/python/src/v2.0/gnds/Title.python.cpp @@ -0,0 +1,85 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +// system includes +#include +#include + +// local includes +#include "test/v2.0/gnds/Title.hpp" +#include "definitions.hpp" + +// namespace aliases +namespace python = pybind11; + +namespace python_v2_0 { +namespace python_gnds { + +// Title wrapper +void wrapTitle(python::module &module) +{ + using namespace test; + using namespace test::v2_0; + + // type aliases + using Component = gnds::Title; + + // create the component + python::class_ component( + module, + "Title", + Component::documentation().data() + ); + + // wrap the component + component + .def( + python::init< + >(), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("ints"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("doubles"), + Component::documentation("constructor").data() + ) + .def( + python::init< + const std::vector & + >(), + python::arg("strings"), + Component::documentation("constructor").data() + ) + .def_property_readonly( + "ints", + [] (const Component &self) { return self.ints(); }, + Component::documentation("ints").data() + ) + .def_property_readonly( + "doubles", + [] (const Component &self) { return self.doubles(); }, + Component::documentation("doubles").data() + ) + .def_property_readonly( + "strings", + [] (const Component &self) { return self.strings(); }, + Component::documentation("strings").data() + ) + ; + + // add standard component definitions + addStandardComponentDefinitions< Component >( component ); +} + +} // namespace python_gnds +} // namespace python_v2_0 diff --git a/standards/incremental/code/src/code/v2.0.hpp b/standards/incremental/code/src/code/v2.0.hpp new file mode 100644 index 000000000..2435ff338 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0.hpp @@ -0,0 +1,27 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0 +#define TEST_V2_0 + +#include "test/v2.0/gnds/PoPs.hpp" +#include "test/v2.0/gnds/Styles.hpp" +#include "test/v2.0/gnds/Evaluated.hpp" +#include "test/v2.0/gnds/Documentation.hpp" +#include "test/v2.0/gnds/Authors.hpp" +#include "test/v2.0/gnds/Author.hpp" +#include "test/v2.0/gnds/Dates.hpp" +#include "test/v2.0/gnds/Date.hpp" +#include "test/v2.0/gnds/Title.hpp" +#include "test/v2.0/gnds/Body.hpp" +#include "test/v2.0/gnds/EndfCompatible.hpp" +#include "test/v2.0/gnds/ChemicalElements.hpp" +#include "test/v2.0/gnds/ChemicalElement.hpp" +#include "test/v2.0/gnds/Atomic.hpp" +#include "test/v2.0/gnds/Configurations.hpp" +#include "test/v2.0/gnds/Configuration.hpp" +#include "test/v2.0/gnds/BindingEnergy.hpp" +#include "test/v2.0/gnds/Double.hpp" + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp new file mode 100644 index 000000000..e5438c78b --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp @@ -0,0 +1,110 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_ATOMIC +#define TEST_V2_0_GNDS_ATOMIC + +#include "test/v2.0/gnds/Configurations.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Atomic +// ----------------------------------------------------------------------------- + +class Atomic : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Atomic"; } + static auto FIELD() { return "atomic"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + gnds::Configurations{} + / --Child<>("configurations") + ; + } + +public: + using Component::construct; + + // children + Field configurations{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->configurations) + + // default, and from fields + explicit Atomic( + const wrapper &configurations = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + configurations(this,configurations) + { + std::cout << "ctor: Atomic: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Atomic(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Atomic: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Atomic(const Atomic &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Atomic: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Atomic(Atomic &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Atomic: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Atomic &operator=(const Atomic &) = default; + Atomic &operator=(Atomic &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Atomic/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Atomic + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Atomic/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Atomic/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Atomic/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp new file mode 100644 index 000000000..ed0cd6ee6 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp @@ -0,0 +1,110 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_AUTHOR +#define TEST_V2_0_GNDS_AUTHOR + +#include "test/v2.0/key.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Author +// ----------------------------------------------------------------------------- + +class Author : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Author"; } + static auto FIELD() { return "author"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("name") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name) + + // default, and from fields + explicit Author( + const wrapper &name = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name) + { + std::cout << "ctor: Author: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Author(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Author: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Author(const Author &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Author: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Author(Author &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Author: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Author &operator=(const Author &) = default; + Author &operator=(Author &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Author/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Author + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Author/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Author/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Author/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp new file mode 100644 index 000000000..855a359f5 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp @@ -0,0 +1,118 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_AUTHORS +#define TEST_V2_0_GNDS_AUTHORS + +#include "test/v2.0/gnds/Author.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +template +const T &zzzbar() +{ + static T value = T{}; + return value; +} + +// ----------------------------------------------------------------------------- +// gnds:: +// class Authors +// ----------------------------------------------------------------------------- + +class Authors : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Authors"; } + static auto FIELD() { return "authors"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + ///zzzbar() + gnds::Author{} + / ++Child<>("author") + ; + } + +public: + using Component::construct; + + // children + Field> author{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->author) + + // default, and from fields + explicit Authors( + const wrapper> &author = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + author(this,author) + { + std::cout << "ctor: Authors: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Authors(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Authors: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Authors(const Authors &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Authors: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Authors(Authors &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Authors: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Authors &operator=(const Authors &) = default; + Authors &operator=(Authors &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Authors/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Authors + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Authors/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Authors/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Authors/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp new file mode 100644 index 000000000..ef9c3860c --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp @@ -0,0 +1,110 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_BINDINGENERGY +#define TEST_V2_0_GNDS_BINDINGENERGY + +#include "test/v2.0/gnds/Double.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class BindingEnergy +// ----------------------------------------------------------------------------- + +class BindingEnergy : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "BindingEnergy"; } + static auto FIELD() { return "bindingEnergy"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + gnds::Double{} + / --Child<>("Double") + ; + } + +public: + using Component::construct; + + // children + Field Double{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->Double) + + // default, and from fields + explicit BindingEnergy( + const wrapper &Double = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + Double(this,Double) + { + std::cout << "ctor: BindingEnergy: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit BindingEnergy(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: BindingEnergy: 2. node" << std::endl; + Component::finish(node); + } + + // copy + BindingEnergy(const BindingEnergy &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: BindingEnergy: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + BindingEnergy(BindingEnergy &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: BindingEnergy: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + BindingEnergy &operator=(const BindingEnergy &) = default; + BindingEnergy &operator=(BindingEnergy &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/BindingEnergy/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class BindingEnergy + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp new file mode 100644 index 000000000..252a83850 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp @@ -0,0 +1,109 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_BODY +#define TEST_V2_0_GNDS_BODY + +#include "test/v2.0/key.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Body +// ----------------------------------------------------------------------------- + +class Body : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Body"; } + static auto FIELD() { return "body"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + using BlockData::operator=; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + Body() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Body: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Body(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Body: 2. node" << std::endl; + Component::finish(node); + } + + // from vector + template>> + Body(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Body: 3. vector" << std::endl; + Component::finish(vector); + } + + // copy + Body(const Body &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Body: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Body(Body &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Body: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Body &operator=(const Body &) = default; + Body &operator=(Body &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Body/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Body + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Body/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Body/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Body/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp new file mode 100644 index 000000000..a10be667e --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp @@ -0,0 +1,131 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_CHEMICALELEMENT +#define TEST_V2_0_GNDS_CHEMICALELEMENT + +#include "test/v2.0/gnds/Atomic.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class ChemicalElement +// ----------------------------------------------------------------------------- + +class ChemicalElement : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "ChemicalElement"; } + static auto FIELD() { return "chemicalElement"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("symbol") | + int{} + / Meta<>("Z") | + std::string{} + / Meta<>("name") | + // children + gnds::Atomic{} + / --Child<>("atomic") + ; + } + +public: + using Component::construct; + + // metadata + Field symbol{this}; + Field Z{this}; + Field name{this}; + + // children + Field atomic{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->symbol, \ + this->Z, \ + this->name, \ + this->atomic) + + // default, and from fields + explicit ChemicalElement( + const wrapper &symbol = {}, + const wrapper &Z = {}, + const wrapper &name = {}, + const wrapper &atomic = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + symbol(this,symbol), + Z(this,Z), + name(this,name), + atomic(this,atomic) + { + std::cout << "ctor: ChemicalElement: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit ChemicalElement(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: ChemicalElement: 2. node" << std::endl; + Component::finish(node); + } + + // copy + ChemicalElement(const ChemicalElement &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: ChemicalElement: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + ChemicalElement(ChemicalElement &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: ChemicalElement: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ChemicalElement &operator=(const ChemicalElement &) = default; + ChemicalElement &operator=(ChemicalElement &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/ChemicalElement/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ChemicalElement + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp new file mode 100644 index 000000000..7f683d5e9 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp @@ -0,0 +1,110 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_CHEMICALELEMENTS +#define TEST_V2_0_GNDS_CHEMICALELEMENTS + +#include "test/v2.0/gnds/ChemicalElement.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class ChemicalElements +// ----------------------------------------------------------------------------- + +class ChemicalElements : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "ChemicalElements"; } + static auto FIELD() { return "chemicalElements"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + gnds::ChemicalElement{} + / ++Child<>("chemicalElement") + ; + } + +public: + using Component::construct; + + // children + Field> chemicalElement{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->chemicalElement) + + // default, and from fields + explicit ChemicalElements( + const wrapper> &chemicalElement = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + chemicalElement(this,chemicalElement) + { + std::cout << "ctor: ChemicalElements: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit ChemicalElements(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: ChemicalElements: 2. node" << std::endl; + Component::finish(node); + } + + // copy + ChemicalElements(const ChemicalElements &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: ChemicalElements: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + ChemicalElements(ChemicalElements &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: ChemicalElements: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + ChemicalElements &operator=(const ChemicalElements &) = default; + ChemicalElements &operator=(ChemicalElements &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/ChemicalElements/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class ChemicalElements + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp new file mode 100644 index 000000000..ec70e4db2 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp @@ -0,0 +1,116 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_CONFIGURATION +#define TEST_V2_0_GNDS_CONFIGURATION + +#include "test/v2.0/key.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Configuration +// ----------------------------------------------------------------------------- + +class Configuration : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Configuration"; } + static auto FIELD() { return "configuration"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("subshell") | + std::string{} + / Meta<>("electronNumber") + ; + } + +public: + using Component::construct; + + // metadata + Field subshell{this}; + Field electronNumber{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->subshell, \ + this->electronNumber) + + // default, and from fields + explicit Configuration( + const wrapper &subshell = {}, + const wrapper &electronNumber = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + subshell(this,subshell), + electronNumber(this,electronNumber) + { + std::cout << "ctor: Configuration: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Configuration(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Configuration: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Configuration(const Configuration &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Configuration: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Configuration(Configuration &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Configuration: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Configuration &operator=(const Configuration &) = default; + Configuration &operator=(Configuration &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Configuration/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Configuration + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configuration/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configuration/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Configuration/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp new file mode 100644 index 000000000..c6a08a6c0 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp @@ -0,0 +1,110 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_CONFIGURATIONS +#define TEST_V2_0_GNDS_CONFIGURATIONS + +#include "test/v2.0/gnds/Configuration.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Configurations +// ----------------------------------------------------------------------------- + +class Configurations : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Configurations"; } + static auto FIELD() { return "configurations"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + gnds::Configuration{} + / ++Child<>("configuration") + ; + } + +public: + using Component::construct; + + // children + Field> configuration{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->configuration) + + // default, and from fields + explicit Configurations( + const wrapper> &configuration = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + configuration(this,configuration) + { + std::cout << "ctor: Configurations: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Configurations(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Configurations: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Configurations(const Configurations &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Configurations: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Configurations(Configurations &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Configurations: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Configurations &operator=(const Configurations &) = default; + Configurations &operator=(Configurations &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Configurations/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Configurations + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configurations/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configurations/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Configurations/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp new file mode 100644 index 000000000..c26957925 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp @@ -0,0 +1,116 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_DATE +#define TEST_V2_0_GNDS_DATE + +#include "test/v2.0/key.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Date +// ----------------------------------------------------------------------------- + +class Date : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Date"; } + static auto FIELD() { return "date"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("value") | + enums::DateType{} + / Meta<>("dateType") + ; + } + +public: + using Component::construct; + + // metadata + Field value{this}; + Field dateType{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->value, \ + this->dateType) + + // default, and from fields + explicit Date( + const wrapper &value = {}, + const wrapper &dateType = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + value(this,value), + dateType(this,dateType) + { + std::cout << "ctor: Date: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Date(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Date: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Date(const Date &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Date: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Date(Date &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Date: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Date &operator=(const Date &) = default; + Date &operator=(Date &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Date/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Date + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Date/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Date/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Date/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp new file mode 100644 index 000000000..4061a56e9 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp @@ -0,0 +1,110 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_DATES +#define TEST_V2_0_GNDS_DATES + +#include "test/v2.0/gnds/Date.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Dates +// ----------------------------------------------------------------------------- + +class Dates : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Dates"; } + static auto FIELD() { return "dates"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + gnds::Date{} + / ++Child<>("date") + ; + } + +public: + using Component::construct; + + // children + Field> date{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->date) + + // default, and from fields + explicit Dates( + const wrapper> &date = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + date(this,date) + { + std::cout << "ctor: Dates: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Dates(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Dates: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Dates(const Dates &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Dates: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Dates(Dates &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Dates: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Dates &operator=(const Dates &) = default; + Dates &operator=(Dates &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Dates/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Dates + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Dates/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Dates/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Dates/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp new file mode 100644 index 000000000..9b7307d27 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp @@ -0,0 +1,150 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_DOCUMENTATION +#define TEST_V2_0_GNDS_DOCUMENTATION + +#include "test/v2.0/gnds/Authors.hpp" +#include "test/v2.0/gnds/Dates.hpp" +#include "test/v2.0/gnds/Title.hpp" +#include "test/v2.0/gnds/Body.hpp" +#include "test/v2.0/gnds/EndfCompatible.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Documentation +// ----------------------------------------------------------------------------- + +class Documentation : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Documentation"; } + static auto FIELD() { return "documentation"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + gnds::Authors{} + / --Child<>("authors") | + gnds::Dates{} + / --Child<>("dates") | + gnds::Title{} + / --Child<>("title") | + gnds::Body{} + / --Child<>("body") | + gnds::EndfCompatible{} + / --Child<>("endfCompatible") + ; + } + +public: + using Component::construct; + + // children + Field authors{this}; + Field dates{this}; + Field title{this}; + Field body{this}; + Field endfCompatible{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->authors, \ + this->dates, \ + this->title, \ + this->body, \ + this->endfCompatible) + + + + // default + explicit Documentation() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Documentation: 0. default" << std::endl; + Component::finish(); + } + + // from fields + explicit Documentation( + const wrapper &authors,/// = {}, + const wrapper &dates = {}, + const wrapper &title = {}, + const wrapper &body = {}, + const wrapper &endfCompatible = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + authors(this,authors), + dates(this,dates), + title(this,title), + body(this,body), + endfCompatible(this,endfCompatible) + { + std::cout << "ctor: Documentation: 1. parameters" << std::endl; + Component::finish(); + } + + + + // from node + explicit Documentation(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Documentation: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Documentation(const Documentation &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Documentation: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Documentation(Documentation &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Documentation: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Documentation &operator=(const Documentation &) = default; + Documentation &operator=(Documentation &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Documentation/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Documentation + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Documentation/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Documentation/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Documentation/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp new file mode 100644 index 000000000..0bfd634d9 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp @@ -0,0 +1,122 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_DOUBLE +#define TEST_V2_0_GNDS_DOUBLE + +#include "test/v2.0/key.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Double +// ----------------------------------------------------------------------------- + +class Double : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Double"; } + static auto FIELD() { return "double"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("label") | + double{} + / Meta<>("value") | + std::string{} + / Meta<>("unit") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field value{this}; + Field unit{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->value, \ + this->unit) + + // default, and from fields + explicit Double( + const wrapper &label = {}, + const wrapper &value = {}, + const wrapper &unit = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + value(this,value), + unit(this,unit) + { + std::cout << "ctor: Double: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Double(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Double: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Double(const Double &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Double: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Double(Double &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Double: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Double &operator=(const Double &) = default; + Double &operator=(Double &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Double/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Double + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Double/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Double/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Double/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp new file mode 100644 index 000000000..07ce96575 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp @@ -0,0 +1,109 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_ENDFCOMPATIBLE +#define TEST_V2_0_GNDS_ENDFCOMPATIBLE + +#include "test/v2.0/key.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class EndfCompatible +// ----------------------------------------------------------------------------- + +class EndfCompatible : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "EndfCompatible"; } + static auto FIELD() { return "endfCompatible"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + using BlockData::operator=; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + EndfCompatible() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: EndfCompatible: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit EndfCompatible(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: EndfCompatible: 2. node" << std::endl; + Component::finish(node); + } + + // from vector + template>> + EndfCompatible(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: EndfCompatible: 3. vector" << std::endl; + Component::finish(vector); + } + + // copy + EndfCompatible(const EndfCompatible &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: EndfCompatible: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + EndfCompatible(EndfCompatible &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: EndfCompatible: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + EndfCompatible &operator=(const EndfCompatible &) = default; + EndfCompatible &operator=(EndfCompatible &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/EndfCompatible/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class EndfCompatible + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp new file mode 100644 index 000000000..3b396a87b --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp @@ -0,0 +1,137 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_EVALUATED +#define TEST_V2_0_GNDS_EVALUATED + +#include "test/v2.0/gnds/Documentation.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Evaluated +// ----------------------------------------------------------------------------- + +class Evaluated : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Evaluated"; } + static auto FIELD() { return "evaluated"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("label") | + std::string{} + / Meta<>("date") | + std::string{} + / Meta<>("library") | + std::string{} + / Meta<>("version") | + // children + gnds::Documentation{} + / --Child<>("documentation") + ; + } + +public: + using Component::construct; + + // metadata + Field label{this}; + Field date{this}; + Field library{this}; + Field version{this}; + + // children + Field documentation{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->label, \ + this->date, \ + this->library, \ + this->version, \ + this->documentation) + + // default, and from fields + explicit Evaluated( + const wrapper &label = {}, + const wrapper &date = {}, + const wrapper &library = {}, + const wrapper &version = {}, + const wrapper &documentation = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + label(this,label), + date(this,date), + library(this,library), + version(this,version), + documentation(this,documentation) + { + std::cout << "ctor: Evaluated: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Evaluated(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Evaluated: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Evaluated(const Evaluated &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Evaluated: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Evaluated(Evaluated &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Evaluated: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Evaluated &operator=(const Evaluated &) = default; + Evaluated &operator=(Evaluated &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Evaluated/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Evaluated + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Evaluated/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Evaluated/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Evaluated/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp new file mode 100644 index 000000000..f89fb8c0c --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp @@ -0,0 +1,138 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_POPS +#define TEST_V2_0_GNDS_POPS + +#include "test/v2.0/gnds/Styles.hpp" +#include "test/v2.0/gnds/ChemicalElements.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class PoPs +// ----------------------------------------------------------------------------- + +class PoPs : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "PoPs"; } + static auto FIELD() { return "PoPs"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // metadata + std::string{} + / Meta<>("name") | + std::string{} + / Meta<>("version") | + std::string{} + / Meta<>("format") | + // children + gnds::Styles{} + / --Child<>("styles") | + gnds::ChemicalElements{} + / --Child<>("chemicalElements") + ; + } + +public: + using Component::construct; + + // metadata + Field name{this}; + Field version{this}; + Field format{this}; + + // children + Field styles{this}; + Field chemicalElements{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->name, \ + this->version, \ + this->format, \ + this->styles, \ + this->chemicalElements) + + // default, and from fields + explicit PoPs( + const wrapper &name = {}, + const wrapper &version = {}, + const wrapper &format = {}, + const wrapper &styles = {}, + const wrapper &chemicalElements = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + name(this,name), + version(this,version), + format(this,format), + styles(this,styles), + chemicalElements(this,chemicalElements) + { + std::cout << "ctor: PoPs: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit PoPs(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: PoPs: 2. node" << std::endl; + Component::finish(node); + } + + // copy + PoPs(const PoPs &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: PoPs: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + PoPs(PoPs &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: PoPs: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + PoPs &operator=(const PoPs &) = default; + PoPs &operator=(PoPs &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/PoPs/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class PoPs + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/PoPs/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/PoPs/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/PoPs/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp new file mode 100644 index 000000000..30fc56ae3 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp @@ -0,0 +1,110 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_STYLES +#define TEST_V2_0_GNDS_STYLES + +#include "test/v2.0/gnds/Evaluated.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Styles +// ----------------------------------------------------------------------------- + +class Styles : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Styles"; } + static auto FIELD() { return "styles"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return + // children + gnds::Evaluated{} + / --Child<>("evaluated") + ; + } + +public: + using Component::construct; + + // children + Field evaluated{this}; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->evaluated) + + // default, and from fields + explicit Styles( + const wrapper &evaluated = {} + ) : + GNDSTK_COMPONENT(BlockData{}), + evaluated(this,evaluated) + { + std::cout << "ctor: Styles: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Styles(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Styles: 2. node" << std::endl; + Component::finish(node); + } + + // copy + Styles(const Styles &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Styles: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Styles(Styles &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Styles: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Styles &operator=(const Styles &) = default; + Styles &operator=(Styles &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Styles/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Styles + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Styles/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Styles/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Styles/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp new file mode 100644 index 000000000..b6ca9862e --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp @@ -0,0 +1,109 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_GNDS_TITLE +#define TEST_V2_0_GNDS_TITLE + +#include "test/v2.0/key.hpp" + +namespace test { +namespace v2_0 { +namespace gnds { + +// ----------------------------------------------------------------------------- +// gnds:: +// class Title +// ----------------------------------------------------------------------------- + +class Title : public Component { + friend class Component; + + // ------------------------ + // For Component + // ------------------------ + + // Names: this namespace, this class, a field/node of this type + static auto NAMESPACE() { return "gnds"; } + static auto CLASS() { return "Title"; } + static auto FIELD() { return "title"; } + + // Core Interface multi-query to extract metadata and child nodes + static auto KEYS() + { + return std::tuple<>{}; + } + +public: + using Component::construct; + using BlockData::operator=; + + // ------------------------ + // Constructors + // ------------------------ + + #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + + // default + Title() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Title: 1. default/parameters" << std::endl; + Component::finish(); + } + + // from node + explicit Title(const Node &node) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Title: 2. node" << std::endl; + Component::finish(node); + } + + // from vector + template>> + Title(const std::vector &vector) : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Title: 3. vector" << std::endl; + Component::finish(vector); + } + + // copy + Title(const Title &other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Title: 4. copy" << std::endl; + *this = other; + Component::finish(other); + } + + // move + Title(Title &&other) : + GNDSTK_COMPONENT(other.baseBlockData()) + { + std::cout << "ctor: Title: 5. move" << std::endl; + *this = std::move(other); + Component::finish(other); + } + + // ------------------------ + // Assignment operators + // ------------------------ + + Title &operator=(const Title &) = default; + Title &operator=(Title &&) = default; + + // ------------------------ + // Custom functionality + // ------------------------ + + #include "test/v2.0/gnds/Title/src/custom.hpp" + #undef GNDSTK_COMPONENT +}; // class Title + +} // namespace gnds +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Title/src/custom.hpp b/standards/incremental/code/src/code/v2.0/gnds/Title/src/custom.hpp new file mode 100644 index 000000000..9bf4b251a --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/gnds/Title/src/custom.hpp @@ -0,0 +1,4 @@ + +private: + + static inline helpMap help = {}; diff --git a/standards/incremental/code/src/code/v2.0/key.hpp b/standards/incremental/code/src/code/v2.0/key.hpp new file mode 100644 index 000000000..5a3bf7db7 --- /dev/null +++ b/standards/incremental/code/src/code/v2.0/key.hpp @@ -0,0 +1,100 @@ + +// THIS FILE WAS AUTOGENERATED! +// DO NOT MODIFY! + +#ifndef TEST_V2_0_KEY +#define TEST_V2_0_KEY + +// GNDStk Core Interface +#include "GNDStk.hpp" + +namespace test { +namespace v2_0 { + +using namespace njoy::GNDStk; + + +// ----------------------------------------------------------------------------- +// meta:: +// ----------------------------------------------------------------------------- + +namespace meta { + +#define GNDSTK_MAKE_LOOKUP(nameField,nameGNDS) \ + inline const auto nameField = makeLookup( \ + [](const auto &obj) -> decltype(obj.nameField()) \ + { return obj.nameField(); }, \ + #nameGNDS \ + ) +// nameField vs. nameGNDS: for, e.g., Double vs. double in GNDS + +GNDSTK_MAKE_LOOKUP(Z,Z); +GNDSTK_MAKE_LOOKUP(date,date); +GNDSTK_MAKE_LOOKUP(dateType,dateType); +GNDSTK_MAKE_LOOKUP(electronNumber,electronNumber); +GNDSTK_MAKE_LOOKUP(format,format); +GNDSTK_MAKE_LOOKUP(label,label); +GNDSTK_MAKE_LOOKUP(library,library); +GNDSTK_MAKE_LOOKUP(name,name); +GNDSTK_MAKE_LOOKUP(subshell,subshell); +GNDSTK_MAKE_LOOKUP(symbol,symbol); +GNDSTK_MAKE_LOOKUP(unit,unit); +GNDSTK_MAKE_LOOKUP(value,value); +GNDSTK_MAKE_LOOKUP(version,version); + +#undef GNDSTK_MAKE_LOOKUP + +} // namespace meta + + +// ----------------------------------------------------------------------------- +// gnds::child:: +// ----------------------------------------------------------------------------- + +namespace gnds { +namespace child { + +inline const Child<> Double("double"); +inline const Child<> PoPs("PoPs"); +inline const Child<> atomic("atomic"); +inline const Child<> author("author"); +inline const Child<> authors("authors"); +inline const Child<> bindingEnergy("bindingEnergy"); +inline const Child<> body("body"); +inline const Child<> chemicalElement("chemicalElement"); +inline const Child<> chemicalElements("chemicalElements"); +inline const Child<> configuration("configuration"); +inline const Child<> configurations("configurations"); +inline const Child<> date("date"); +inline const Child<> dates("dates"); +inline const Child<> documentation("documentation"); +inline const Child<> endfCompatible("endfCompatible"); +inline const Child<> evaluated("evaluated"); +inline const Child<> styles("styles"); +inline const Child<> title("title"); + +} // namespace child +using namespace child; +} // namespace gnds + + +// ----------------------------------------------------------------------------- +// For convenience: using directives +// ----------------------------------------------------------------------------- + +namespace key { + using namespace meta; + using namespace gnds::child; +} // namespace key + +using namespace key; +using namespace gnds; + + +// ----------------------------------------------------------------------------- +// ----------------------------------------------------------------------------- + +} // namespace v2_0 +} // namespace test + +#endif diff --git a/standards/incremental/example/.gitignore b/standards/incremental/example/.gitignore new file mode 100644 index 000000000..1c8f805cf --- /dev/null +++ b/standards/incremental/example/.gitignore @@ -0,0 +1,7 @@ + +0 +m +pugixml.o +*.xml +*.out +out diff --git a/standards/incremental/example/0.cpp b/standards/incremental/example/0.cpp new file mode 100644 index 000000000..ecedb9997 --- /dev/null +++ b/standards/incremental/example/0.cpp @@ -0,0 +1,54 @@ + +#include "test/v2.0.hpp" + +using namespace njoy::GNDStk; +using namespace test::v2_0; + +int main(const int argc, const char *const *const argv) +{ + // for printing + color = true; + comments = false; + + /* + // usage + if (argc < 2) { + std::cout << "Usage: " << argv[0] << " file ..." << std::endl; + exit(EXIT_FAILURE); + } + */ + + std::cout << "1" << std::endl; + gnds::Documentation d; + std::cout << "2" << std::endl; + + // files + for (int n = 1; n < argc; ++n) { + const std::string filename = argv[n]; + std::cout << "File: \"" << filename << '"' << std::endl; + + /* + // The following doesn't do what we might intend. Rather, it calls + // PoPs' default constructor. Think about this...it could prove to + // be something that could trip up our users. + // gnds::PoPs p(filename); + + // The CORRECT way to do this: + for (int n = 0; n < 10; ++n) { + static gnds::PoPs p; + p.read(filename); + p.print(); + } + */ + + /* + std::cout << "1" << std::endl; + gnds::Documentation d; + std::cout << "2" << std::endl; + d.read(filename); + std::cout << "3" << std::endl; + d.print(); + std::cout << "4" << std::endl; + */ + } +} diff --git a/standards/incremental/example/compile b/standards/incremental/example/compile new file mode 100755 index 000000000..9bc55ed9e --- /dev/null +++ b/standards/incremental/example/compile @@ -0,0 +1,33 @@ +#!/bin/bash + +COMPILE=" + clang++ -std=c++17 + -I../../../../GNDStk/src + -I../../../../GNDStk/standards/lite/test/src + -I../../../../GNDStk/build/_deps/pugixml-adapter-src/src/src + -I../../../../GNDStk/build/_deps/hdf5-src/include + -I../../../../GNDStk/build/_deps/json-src/include + -I../../../../GNDStk/build/_deps/json-src/include/nlohmann + -I../../../../GNDStk/build/_deps/log-src/src + -I../../../../GNDStk/build/_deps/spdlog-src/include + -I/usr/include/hdf5/serial + -DHIGHFIVE_USE_BOOST=OFF + -L/usr/lib/x86_64-linux-gnu/hdf5/serial + -lhdf5 + -fno-show-column + -Wno-unused-command-line-argument + -Wall -Wextra -Wpedantic " +# -g -O3 + +if [ ! -f "pugixml.o" ]; then +echo 'Compiling pugixml.cpp...' +$COMPILE \ + ../../../../GNDStk/build/_deps/pugixml-adapter-src/src/src/pugixml.cpp \ + -c -o pugixml.o +fi + +# Compile examples +echo 'Compiling...' +$COMPILE 0.cpp pugixml.o -o 0 + +# wait $(jobs -p) diff --git a/standards/incremental/incremental-classes.json b/standards/incremental/incremental-classes.json new file mode 100644 index 000000000..98b1a3a9d --- /dev/null +++ b/standards/incremental/incremental-classes.json @@ -0,0 +1,256 @@ +{ + "namespace": "gnds", + + "PoPs": { + "metadata": { + "name": { + "required": true, + "type": "string" + }, + "version": { + "required": true, + "type": "string" + }, + "format": { + "required": true, + "type": "string" + } + }, + "children": { + "styles": { + "times": "1", + "required": true + }, + "chemicalElements": { + "times": "1", + "required": true + } + } + }, + + "styles": { + "metadata": {}, + "children": { + "evaluated": { + "times": "1", + "required": true + } + } + }, + + "evaluated": { + "metadata": { + "label": { + "required": true, + "type": "string" + }, + "date": { + "required": true, + "type": "string" + }, + "library": { + "required": true, + "type": "string" + }, + "version": { + "required": true, + "type": "string" + } + }, + "children": { + "documentation": { + "times": "1", + "required": true + } + } + }, + + "documentation": { + "metadata": {}, + "children": { + "authors": { + "times": "1", + "required": true + }, + "dates": { + "times": "1", + "required": true + }, + "title": { + "times": "1", + "required": true + }, + "body": { + "times": "1", + "required": true + }, + "endfCompatible": { + "times": "1", + "required": true + } + } + }, + + "authors": { + "metadata": {}, + "children": { + "author": { + "times": "1+", + "required": true + } + } + }, + + "author": { + "metadata": { + "name": { + "required": true, + "type": "string" + } + }, + "children": {} + }, + + "dates": { + "metadata": {}, + "children": { + "date": { + "times": "1+", + "required": true + } + } + }, + + "date": { + "metadata": { + "value": { + "required": true, + "type": "date" + }, + "dateType": { + "required": true, + "type": "dateType" + } + }, + "children": {} + }, + + "title": { + "metadata": {}, + "data": "", + "children": {} + }, + + "body": { + "metadata": {}, + "data": "", + "children": {} + }, + + "endfCompatible": { + "metadata": {}, + "data": "", + "children": {} + }, + + "chemicalElements": { + "metadata": {}, + "children": { + "chemicalElement": { + "times": "1+", + "required": true + } + } + }, + + "chemicalElement": { + "metadata": { + "symbol": { + "required": true, + "type": "string" + }, + "Z": { + "required": true, + "type": "int" + }, + "name": { + "required": true, + "type": "string" + } + }, + "children": { + "atomic": { + "times": "1", + "required": true + } + } + }, + + "atomic": { + "metadata": {}, + "children": { + "configurations": { + "times": "1", + "required": true + } + } + }, + + "configurations": { + "metadata": {}, + "children": { + "configuration": { + "times": "1+", + "required": true + } + } + }, + + "configuration": { + "metadata": { + "subshell": { + "required": true, + "type": "string" + }, + "electronNumber": { + "required": true, + "type": "string" + } + }, + "children": {}, + "// THIS SHOULD BE AN ERROR (itself-circular!)... children": { + "configuration": { + "times": "1+", + "required": true + } + } + }, + + "bindingEnergy": { + "metadata": {}, + "children": { + "double": { + "times": "1", + "required": true + } + } + }, + + "double": { + "metadata": { + "label": { + "required": true, + "type": "string" + }, + "value": { + "required": true, + "type": "double" + }, + "unit": { + "required": true, + "type": "string" + } + }, + "children": {} + } +} diff --git a/standards/incremental/incremental.json b/standards/incremental/incremental.json new file mode 100644 index 000000000..e13853128 --- /dev/null +++ b/standards/incremental/incremental.json @@ -0,0 +1,12 @@ +{ + "Path": ".", + "Project": "code", + "Version": "v2.0", + + "JSONDir": ".", + "JSONFiles": [ + "incremental-classes.json" + ], + + "Changes": "changes.json" +} From caf0ccccc7bc6ba1ef1ce9c3bad9e7cb9b734859 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 24 Oct 2022 15:32:19 -0600 Subject: [PATCH 205/235] Updating generated code for "incremental GNDS 2.0". --- standards/incremental/code/c/src/v2.0.h | 6 +-- .../code/c/src/v2.0/gnds/Atomic.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/Atomic.h | 4 +- .../code/c/src/v2.0/gnds/Author.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/Author.h | 4 +- .../code/c/src/v2.0/gnds/Authors.cpp | 4 +- .../code/c/src/v2.0/gnds/Authors.h | 4 +- .../code/c/src/v2.0/gnds/BindingEnergy.cpp | 4 +- .../code/c/src/v2.0/gnds/BindingEnergy.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Body.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/Body.h | 4 +- .../code/c/src/v2.0/gnds/ChemicalElement.cpp | 4 +- .../code/c/src/v2.0/gnds/ChemicalElement.h | 4 +- .../code/c/src/v2.0/gnds/ChemicalElements.cpp | 4 +- .../code/c/src/v2.0/gnds/ChemicalElements.h | 4 +- .../code/c/src/v2.0/gnds/Configuration.cpp | 4 +- .../code/c/src/v2.0/gnds/Configuration.h | 4 +- .../code/c/src/v2.0/gnds/Configurations.cpp | 4 +- .../code/c/src/v2.0/gnds/Configurations.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Date.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/Date.h | 4 +- .../code/c/src/v2.0/gnds/Dates.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/Dates.h | 4 +- .../code/c/src/v2.0/gnds/Documentation.cpp | 4 +- .../code/c/src/v2.0/gnds/Documentation.h | 4 +- .../code/c/src/v2.0/gnds/Double.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/Double.h | 4 +- .../code/c/src/v2.0/gnds/EndfCompatible.cpp | 4 +- .../code/c/src/v2.0/gnds/EndfCompatible.h | 4 +- .../code/c/src/v2.0/gnds/Evaluated.cpp | 4 +- .../code/c/src/v2.0/gnds/Evaluated.h | 4 +- .../incremental/code/c/src/v2.0/gnds/PoPs.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/PoPs.h | 4 +- .../code/c/src/v2.0/gnds/Styles.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/Styles.h | 4 +- .../code/c/src/v2.0/gnds/Title.cpp | 4 +- .../incremental/code/c/src/v2.0/gnds/Title.h | 4 +- .../code/python/src/v2.0/gnds.python.cpp | 2 +- .../python/src/v2.0/gnds/Atomic.python.cpp | 6 +-- .../python/src/v2.0/gnds/Author.python.cpp | 6 +-- .../python/src/v2.0/gnds/Authors.python.cpp | 6 +-- .../src/v2.0/gnds/BindingEnergy.python.cpp | 6 +-- .../code/python/src/v2.0/gnds/Body.python.cpp | 6 +-- .../src/v2.0/gnds/ChemicalElement.python.cpp | 6 +-- .../src/v2.0/gnds/ChemicalElements.python.cpp | 6 +-- .../src/v2.0/gnds/Configuration.python.cpp | 6 +-- .../src/v2.0/gnds/Configurations.python.cpp | 6 +-- .../code/python/src/v2.0/gnds/Date.python.cpp | 6 +-- .../python/src/v2.0/gnds/Dates.python.cpp | 6 +-- .../src/v2.0/gnds/Documentation.python.cpp | 6 +-- .../python/src/v2.0/gnds/Double.python.cpp | 6 +-- .../src/v2.0/gnds/EndfCompatible.python.cpp | 6 +-- .../python/src/v2.0/gnds/Evaluated.python.cpp | 6 +-- .../code/python/src/v2.0/gnds/PoPs.python.cpp | 6 +-- .../python/src/v2.0/gnds/Styles.python.cpp | 6 +-- .../python/src/v2.0/gnds/Title.python.cpp | 6 +-- standards/incremental/code/src/code/v2.0.hpp | 40 +++++++++---------- .../code/src/code/v2.0/gnds/Atomic.hpp | 16 +++----- .../code/src/code/v2.0/gnds/Author.hpp | 16 +++----- .../code/src/code/v2.0/gnds/Authors.hpp | 24 +++-------- .../code/src/code/v2.0/gnds/BindingEnergy.hpp | 16 +++----- .../code/src/code/v2.0/gnds/Body.hpp | 17 +++----- .../src/code/v2.0/gnds/ChemicalElement.hpp | 16 +++----- .../src/code/v2.0/gnds/ChemicalElements.hpp | 16 +++----- .../code/src/code/v2.0/gnds/Configuration.hpp | 16 +++----- .../src/code/v2.0/gnds/Configurations.hpp | 16 +++----- .../code/src/code/v2.0/gnds/Date.hpp | 16 +++----- .../code/src/code/v2.0/gnds/Dates.hpp | 16 +++----- .../code/src/code/v2.0/gnds/Documentation.hpp | 40 ++++++------------- .../code/src/code/v2.0/gnds/Double.hpp | 16 +++----- .../src/code/v2.0/gnds/EndfCompatible.hpp | 17 +++----- .../code/src/code/v2.0/gnds/Evaluated.hpp | 16 +++----- .../code/src/code/v2.0/gnds/PoPs.hpp | 18 ++++----- .../code/src/code/v2.0/gnds/Styles.hpp | 16 +++----- .../code/src/code/v2.0/gnds/Title.hpp | 17 +++----- .../incremental/code/src/code/v2.0/key.hpp | 8 ++-- standards/incremental/example/0.cpp | 4 +- standards/incremental/example/compile | 2 +- 78 files changed, 272 insertions(+), 367 deletions(-) diff --git a/standards/incremental/code/c/src/v2.0.h b/standards/incremental/code/c/src/v2.0.h index dfdfa5687..949e3b8bc 100644 --- a/standards/incremental/code/c/src/v2.0.h +++ b/standards/incremental/code/c/src/v2.0.h @@ -6,14 +6,14 @@ // This header file is designed to work with both C and C++ // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0 -#define C_INTERFACE_TEST_V2_0 +#ifndef C_INTERFACE_CODE_V2_0 +#define C_INTERFACE_CODE_V2_0 #include "GNDStk.h" #ifdef __cplusplus // For C++ - #include "test/v2_0.hpp" + #include "code/v2_0.hpp" #endif #include "v2.0/gnds/PoPs.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp b/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp index 04ff40a5a..e08300df7 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Atomic.hpp" +#include "code/v2_0/gnds/Atomic.hpp" #include "Atomic.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = AtomicClass; using CPP = multigroup::Atomic; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Atomic.h b/standards/incremental/code/c/src/v2.0/gnds/Atomic.h index b8754e035..dae7a9a2a 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Atomic.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Atomic.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_ATOMIC -#define C_INTERFACE_TEST_V2_0_GNDS_ATOMIC +#ifndef C_INTERFACE_CODE_V2_0_GNDS_ATOMIC +#define C_INTERFACE_CODE_V2_0_GNDS_ATOMIC #include "GNDStk.h" #include "v2.0/gnds/Configurations.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Author.cpp b/standards/incremental/code/c/src/v2.0/gnds/Author.cpp index ab058b361..3dd780260 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Author.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Author.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Author.hpp" +#include "code/v2_0/gnds/Author.hpp" #include "Author.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = AuthorClass; using CPP = multigroup::Author; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Author.h b/standards/incremental/code/c/src/v2.0/gnds/Author.h index eb966cde2..59878b1a6 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Author.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Author.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_AUTHOR -#define C_INTERFACE_TEST_V2_0_GNDS_AUTHOR +#ifndef C_INTERFACE_CODE_V2_0_GNDS_AUTHOR +#define C_INTERFACE_CODE_V2_0_GNDS_AUTHOR #include "GNDStk.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp b/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp index 2829132fd..9514b237b 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Authors.hpp" +#include "code/v2_0/gnds/Authors.hpp" #include "Authors.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = AuthorsClass; using CPP = multigroup::Authors; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Authors.h b/standards/incremental/code/c/src/v2.0/gnds/Authors.h index 7f845324f..a6f7c3688 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Authors.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Authors.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_AUTHORS -#define C_INTERFACE_TEST_V2_0_GNDS_AUTHORS +#ifndef C_INTERFACE_CODE_V2_0_GNDS_AUTHORS +#define C_INTERFACE_CODE_V2_0_GNDS_AUTHORS #include "GNDStk.h" #include "v2.0/gnds/Author.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp index a4e59caa0..a5caaf655 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/BindingEnergy.hpp" +#include "code/v2_0/gnds/BindingEnergy.hpp" #include "BindingEnergy.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = BindingEnergyClass; using CPP = multigroup::BindingEnergy; diff --git a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h index c51a732c3..0ca680e5c 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h +++ b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_BINDINGENERGY -#define C_INTERFACE_TEST_V2_0_GNDS_BINDINGENERGY +#ifndef C_INTERFACE_CODE_V2_0_GNDS_BINDINGENERGY +#define C_INTERFACE_CODE_V2_0_GNDS_BINDINGENERGY #include "GNDStk.h" #include "v2.0/gnds/Double.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Body.cpp b/standards/incremental/code/c/src/v2.0/gnds/Body.cpp index 72be52d92..9ab5dc8af 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Body.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Body.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Body.hpp" +#include "code/v2_0/gnds/Body.hpp" #include "Body.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = BodyClass; using CPP = multigroup::Body; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Body.h b/standards/incremental/code/c/src/v2.0/gnds/Body.h index a9a5eaf4e..00fa3eec4 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Body.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Body.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_BODY -#define C_INTERFACE_TEST_V2_0_GNDS_BODY +#ifndef C_INTERFACE_CODE_V2_0_GNDS_BODY +#define C_INTERFACE_CODE_V2_0_GNDS_BODY #include "GNDStk.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp index 91ad1e09c..350d34695 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/ChemicalElement.hpp" +#include "code/v2_0/gnds/ChemicalElement.hpp" #include "ChemicalElement.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = ChemicalElementClass; using CPP = multigroup::ChemicalElement; diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h index 8a0884ddf..837c50bd9 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_CHEMICALELEMENT -#define C_INTERFACE_TEST_V2_0_GNDS_CHEMICALELEMENT +#ifndef C_INTERFACE_CODE_V2_0_GNDS_CHEMICALELEMENT +#define C_INTERFACE_CODE_V2_0_GNDS_CHEMICALELEMENT #include "GNDStk.h" #include "v2.0/gnds/Atomic.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp index 38f36b53f..0a1e9943f 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/ChemicalElements.hpp" +#include "code/v2_0/gnds/ChemicalElements.hpp" #include "ChemicalElements.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = ChemicalElementsClass; using CPP = multigroup::ChemicalElements; diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h index 7a3c961bc..93ee62616 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_CHEMICALELEMENTS -#define C_INTERFACE_TEST_V2_0_GNDS_CHEMICALELEMENTS +#ifndef C_INTERFACE_CODE_V2_0_GNDS_CHEMICALELEMENTS +#define C_INTERFACE_CODE_V2_0_GNDS_CHEMICALELEMENTS #include "GNDStk.h" #include "v2.0/gnds/ChemicalElement.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp index 46b4207af..9bf0b238b 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Configuration.hpp" +#include "code/v2_0/gnds/Configuration.hpp" #include "Configuration.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = ConfigurationClass; using CPP = multigroup::Configuration; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration.h b/standards/incremental/code/c/src/v2.0/gnds/Configuration.h index f001bfdce..e99d48f5c 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configuration.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Configuration.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_CONFIGURATION -#define C_INTERFACE_TEST_V2_0_GNDS_CONFIGURATION +#ifndef C_INTERFACE_CODE_V2_0_GNDS_CONFIGURATION +#define C_INTERFACE_CODE_V2_0_GNDS_CONFIGURATION #include "GNDStk.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp index a339fb6d0..75c998b77 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Configurations.hpp" +#include "code/v2_0/gnds/Configurations.hpp" #include "Configurations.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = ConfigurationsClass; using CPP = multigroup::Configurations; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configurations.h b/standards/incremental/code/c/src/v2.0/gnds/Configurations.h index 84b6b1cba..ee635ff69 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configurations.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Configurations.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_CONFIGURATIONS -#define C_INTERFACE_TEST_V2_0_GNDS_CONFIGURATIONS +#ifndef C_INTERFACE_CODE_V2_0_GNDS_CONFIGURATIONS +#define C_INTERFACE_CODE_V2_0_GNDS_CONFIGURATIONS #include "GNDStk.h" #include "v2.0/gnds/Configuration.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Date.cpp b/standards/incremental/code/c/src/v2.0/gnds/Date.cpp index c378c3bd4..4ffc76a5a 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Date.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Date.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Date.hpp" +#include "code/v2_0/gnds/Date.hpp" #include "Date.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = DateClass; using CPP = multigroup::Date; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Date.h b/standards/incremental/code/c/src/v2.0/gnds/Date.h index c70248871..45e3ef6b7 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Date.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Date.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_DATE -#define C_INTERFACE_TEST_V2_0_GNDS_DATE +#ifndef C_INTERFACE_CODE_V2_0_GNDS_DATE +#define C_INTERFACE_CODE_V2_0_GNDS_DATE #include "GNDStk.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp b/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp index 1b674adf5..d685dab26 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Dates.hpp" +#include "code/v2_0/gnds/Dates.hpp" #include "Dates.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = DatesClass; using CPP = multigroup::Dates; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Dates.h b/standards/incremental/code/c/src/v2.0/gnds/Dates.h index 3eb2a096c..8d2dcd07f 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Dates.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Dates.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_DATES -#define C_INTERFACE_TEST_V2_0_GNDS_DATES +#ifndef C_INTERFACE_CODE_V2_0_GNDS_DATES +#define C_INTERFACE_CODE_V2_0_GNDS_DATES #include "GNDStk.h" #include "v2.0/gnds/Date.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp b/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp index f25b25b2f..f0980c2fa 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Documentation.hpp" +#include "code/v2_0/gnds/Documentation.hpp" #include "Documentation.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = DocumentationClass; using CPP = multigroup::Documentation; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Documentation.h b/standards/incremental/code/c/src/v2.0/gnds/Documentation.h index cd6b64e55..ac0ed6e92 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Documentation.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Documentation.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_DOCUMENTATION -#define C_INTERFACE_TEST_V2_0_GNDS_DOCUMENTATION +#ifndef C_INTERFACE_CODE_V2_0_GNDS_DOCUMENTATION +#define C_INTERFACE_CODE_V2_0_GNDS_DOCUMENTATION #include "GNDStk.h" #include "v2.0/gnds/Authors.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Double.cpp b/standards/incremental/code/c/src/v2.0/gnds/Double.cpp index f2484f180..f027ba460 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Double.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Double.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Double.hpp" +#include "code/v2_0/gnds/Double.hpp" #include "Double.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = DoubleClass; using CPP = multigroup::Double; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Double.h b/standards/incremental/code/c/src/v2.0/gnds/Double.h index 050ab6599..77d280a4d 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Double.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Double.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_DOUBLE -#define C_INTERFACE_TEST_V2_0_GNDS_DOUBLE +#ifndef C_INTERFACE_CODE_V2_0_GNDS_DOUBLE +#define C_INTERFACE_CODE_V2_0_GNDS_DOUBLE #include "GNDStk.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp index b1bd4652c..e42ac690d 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/EndfCompatible.hpp" +#include "code/v2_0/gnds/EndfCompatible.hpp" #include "EndfCompatible.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = EndfCompatibleClass; using CPP = multigroup::EndfCompatible; diff --git a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h index 402fe705a..1ffb316be 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h +++ b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_ENDFCOMPATIBLE -#define C_INTERFACE_TEST_V2_0_GNDS_ENDFCOMPATIBLE +#ifndef C_INTERFACE_CODE_V2_0_GNDS_ENDFCOMPATIBLE +#define C_INTERFACE_CODE_V2_0_GNDS_ENDFCOMPATIBLE #include "GNDStk.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp index 44ce3ec95..44bf6e947 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Evaluated.hpp" +#include "code/v2_0/gnds/Evaluated.hpp" #include "Evaluated.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = EvaluatedClass; using CPP = multigroup::Evaluated; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h index 695d5a6c6..fab0f7d19 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_EVALUATED -#define C_INTERFACE_TEST_V2_0_GNDS_EVALUATED +#ifndef C_INTERFACE_CODE_V2_0_GNDS_EVALUATED +#define C_INTERFACE_CODE_V2_0_GNDS_EVALUATED #include "GNDStk.h" #include "v2.0/gnds/Documentation.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp b/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp index 3d27a5aa8..60c04d09f 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/PoPs.hpp" +#include "code/v2_0/gnds/PoPs.hpp" #include "PoPs.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = PoPsClass; using CPP = multigroup::PoPs; diff --git a/standards/incremental/code/c/src/v2.0/gnds/PoPs.h b/standards/incremental/code/c/src/v2.0/gnds/PoPs.h index 75640a7a3..34dbd79a2 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/PoPs.h +++ b/standards/incremental/code/c/src/v2.0/gnds/PoPs.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_POPS -#define C_INTERFACE_TEST_V2_0_GNDS_POPS +#ifndef C_INTERFACE_CODE_V2_0_GNDS_POPS +#define C_INTERFACE_CODE_V2_0_GNDS_POPS #include "GNDStk.h" #include "v2.0/gnds/Styles.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp b/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp index 915273e5f..540855874 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Styles.hpp" +#include "code/v2_0/gnds/Styles.hpp" #include "Styles.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = StylesClass; using CPP = multigroup::Styles; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Styles.h b/standards/incremental/code/c/src/v2.0/gnds/Styles.h index e835d7f74..a207909f6 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Styles.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Styles.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_STYLES -#define C_INTERFACE_TEST_V2_0_GNDS_STYLES +#ifndef C_INTERFACE_CODE_V2_0_GNDS_STYLES +#define C_INTERFACE_CODE_V2_0_GNDS_STYLES #include "GNDStk.h" #include "v2.0/gnds/Evaluated.h" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Title.cpp b/standards/incremental/code/c/src/v2.0/gnds/Title.cpp index 32bae7c23..fa5a003e1 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Title.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Title.cpp @@ -2,11 +2,11 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#include "test/v2_0/gnds/Title.hpp" +#include "code/v2_0/gnds/Title.hpp" #include "Title.h" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; using C = TitleClass; using CPP = multigroup::Title; diff --git a/standards/incremental/code/c/src/v2.0/gnds/Title.h b/standards/incremental/code/c/src/v2.0/gnds/Title.h index 1560c3809..6ce2dae7a 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Title.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Title.h @@ -28,8 +28,8 @@ // Preliminaries // ----------------------------------------------------------------------------- -#ifndef C_INTERFACE_TEST_V2_0_GNDS_TITLE -#define C_INTERFACE_TEST_V2_0_GNDS_TITLE +#ifndef C_INTERFACE_CODE_V2_0_GNDS_TITLE +#define C_INTERFACE_CODE_V2_0_GNDS_TITLE #include "GNDStk.h" diff --git a/standards/incremental/code/python/src/v2.0/gnds.python.cpp b/standards/incremental/code/python/src/v2.0/gnds.python.cpp index 59ceaaa92..4e936308f 100644 --- a/standards/incremental/code/python/src/v2.0/gnds.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds.python.cpp @@ -38,7 +38,7 @@ void wrapGnds(python::module &module) // create the gnds submodule python::module submodule = module.def_submodule( "gnds", - "test v2.0 gnds" + "code v2.0 gnds" ); // wrap gnds components diff --git a/standards/incremental/code/python/src/v2.0/gnds/Atomic.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Atomic.python.cpp index 27d90ced8..96a8de593 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Atomic.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Atomic.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Atomic.hpp" +#include "code/v2.0/gnds/Atomic.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Atomic wrapper void wrapAtomic(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Atomic; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Author.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Author.python.cpp index e89aadf55..7e61d4f1c 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Author.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Author.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Author.hpp" +#include "code/v2.0/gnds/Author.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Author wrapper void wrapAuthor(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Author; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Authors.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Authors.python.cpp index bfdc8dc6d..bc1ad326a 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Authors.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Authors.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Authors.hpp" +#include "code/v2.0/gnds/Authors.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Authors wrapper void wrapAuthors(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Authors; diff --git a/standards/incremental/code/python/src/v2.0/gnds/BindingEnergy.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/BindingEnergy.python.cpp index bdc086504..78e66d91c 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/BindingEnergy.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/BindingEnergy.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/BindingEnergy.hpp" +#include "code/v2.0/gnds/BindingEnergy.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // BindingEnergy wrapper void wrapBindingEnergy(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::BindingEnergy; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Body.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Body.python.cpp index 79987fcfa..51f47045b 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Body.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Body.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Body.hpp" +#include "code/v2.0/gnds/Body.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Body wrapper void wrapBody(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Body; diff --git a/standards/incremental/code/python/src/v2.0/gnds/ChemicalElement.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/ChemicalElement.python.cpp index 8f9ce47db..c7829dcda 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/ChemicalElement.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/ChemicalElement.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/ChemicalElement.hpp" +#include "code/v2.0/gnds/ChemicalElement.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // ChemicalElement wrapper void wrapChemicalElement(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::ChemicalElement; diff --git a/standards/incremental/code/python/src/v2.0/gnds/ChemicalElements.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/ChemicalElements.python.cpp index b2e496734..4b6e96988 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/ChemicalElements.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/ChemicalElements.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/ChemicalElements.hpp" +#include "code/v2.0/gnds/ChemicalElements.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // ChemicalElements wrapper void wrapChemicalElements(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::ChemicalElements; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp index 96b1c0474..315dddd12 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Configuration.hpp" +#include "code/v2.0/gnds/Configuration.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Configuration wrapper void wrapConfiguration(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Configuration; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Configurations.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Configurations.python.cpp index e098da24d..1e7607720 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Configurations.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Configurations.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Configurations.hpp" +#include "code/v2.0/gnds/Configurations.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Configurations wrapper void wrapConfigurations(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Configurations; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Date.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Date.python.cpp index 396a88ece..dd403de55 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Date.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Date.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Date.hpp" +#include "code/v2.0/gnds/Date.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Date wrapper void wrapDate(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Date; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Dates.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Dates.python.cpp index 01fddde59..d411e688a 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Dates.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Dates.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Dates.hpp" +#include "code/v2.0/gnds/Dates.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Dates wrapper void wrapDates(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Dates; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Documentation.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Documentation.python.cpp index bd555b1ed..59f532050 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Documentation.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Documentation.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Documentation.hpp" +#include "code/v2.0/gnds/Documentation.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Documentation wrapper void wrapDocumentation(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Documentation; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Double.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Double.python.cpp index 1c0b7139f..a54732d6f 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Double.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Double.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Double.hpp" +#include "code/v2.0/gnds/Double.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Double wrapper void wrapDouble(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Double; diff --git a/standards/incremental/code/python/src/v2.0/gnds/EndfCompatible.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/EndfCompatible.python.cpp index 63211b729..e77b759d5 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/EndfCompatible.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/EndfCompatible.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/EndfCompatible.hpp" +#include "code/v2.0/gnds/EndfCompatible.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // EndfCompatible wrapper void wrapEndfCompatible(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::EndfCompatible; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Evaluated.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Evaluated.python.cpp index 35aedcafb..6df52d885 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Evaluated.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Evaluated.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Evaluated.hpp" +#include "code/v2.0/gnds/Evaluated.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Evaluated wrapper void wrapEvaluated(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Evaluated; diff --git a/standards/incremental/code/python/src/v2.0/gnds/PoPs.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/PoPs.python.cpp index 041cf5d61..6667420eb 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/PoPs.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/PoPs.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/PoPs.hpp" +#include "code/v2.0/gnds/PoPs.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // PoPs wrapper void wrapPoPs(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::PoPs; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Styles.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Styles.python.cpp index 2d2535240..e7581d852 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Styles.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Styles.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Styles.hpp" +#include "code/v2.0/gnds/Styles.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Styles wrapper void wrapStyles(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Styles; diff --git a/standards/incremental/code/python/src/v2.0/gnds/Title.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Title.python.cpp index 070f4c178..346543d64 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Title.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Title.python.cpp @@ -7,7 +7,7 @@ #include // local includes -#include "test/v2.0/gnds/Title.hpp" +#include "code/v2.0/gnds/Title.hpp" #include "definitions.hpp" // namespace aliases @@ -19,8 +19,8 @@ namespace python_gnds { // Title wrapper void wrapTitle(python::module &module) { - using namespace test; - using namespace test::v2_0; + using namespace code; + using namespace code::v2_0; // type aliases using Component = gnds::Title; diff --git a/standards/incremental/code/src/code/v2.0.hpp b/standards/incremental/code/src/code/v2.0.hpp index 2435ff338..bf03a2041 100644 --- a/standards/incremental/code/src/code/v2.0.hpp +++ b/standards/incremental/code/src/code/v2.0.hpp @@ -2,26 +2,26 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0 -#define TEST_V2_0 +#ifndef CODE_V2_0 +#define CODE_V2_0 -#include "test/v2.0/gnds/PoPs.hpp" -#include "test/v2.0/gnds/Styles.hpp" -#include "test/v2.0/gnds/Evaluated.hpp" -#include "test/v2.0/gnds/Documentation.hpp" -#include "test/v2.0/gnds/Authors.hpp" -#include "test/v2.0/gnds/Author.hpp" -#include "test/v2.0/gnds/Dates.hpp" -#include "test/v2.0/gnds/Date.hpp" -#include "test/v2.0/gnds/Title.hpp" -#include "test/v2.0/gnds/Body.hpp" -#include "test/v2.0/gnds/EndfCompatible.hpp" -#include "test/v2.0/gnds/ChemicalElements.hpp" -#include "test/v2.0/gnds/ChemicalElement.hpp" -#include "test/v2.0/gnds/Atomic.hpp" -#include "test/v2.0/gnds/Configurations.hpp" -#include "test/v2.0/gnds/Configuration.hpp" -#include "test/v2.0/gnds/BindingEnergy.hpp" -#include "test/v2.0/gnds/Double.hpp" +#include "code/v2.0/gnds/PoPs.hpp" +#include "code/v2.0/gnds/Styles.hpp" +#include "code/v2.0/gnds/Evaluated.hpp" +#include "code/v2.0/gnds/Documentation.hpp" +#include "code/v2.0/gnds/Authors.hpp" +#include "code/v2.0/gnds/Author.hpp" +#include "code/v2.0/gnds/Dates.hpp" +#include "code/v2.0/gnds/Date.hpp" +#include "code/v2.0/gnds/Title.hpp" +#include "code/v2.0/gnds/Body.hpp" +#include "code/v2.0/gnds/EndfCompatible.hpp" +#include "code/v2.0/gnds/ChemicalElements.hpp" +#include "code/v2.0/gnds/ChemicalElement.hpp" +#include "code/v2.0/gnds/Atomic.hpp" +#include "code/v2.0/gnds/Configurations.hpp" +#include "code/v2.0/gnds/Configuration.hpp" +#include "code/v2.0/gnds/BindingEnergy.hpp" +#include "code/v2.0/gnds/Double.hpp" #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp index e5438c78b..502fa3862 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_ATOMIC -#define TEST_V2_0_GNDS_ATOMIC +#ifndef CODE_V2_0_GNDS_ATOMIC +#define CODE_V2_0_GNDS_ATOMIC -#include "test/v2.0/gnds/Configurations.hpp" +#include "code/v2.0/gnds/Configurations.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -58,7 +58,6 @@ class Atomic : public Component { GNDSTK_COMPONENT(BlockData{}), configurations(this,configurations) { - std::cout << "ctor: Atomic: 1. default/parameters" << std::endl; Component::finish(); } @@ -66,7 +65,6 @@ class Atomic : public Component { explicit Atomic(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Atomic: 2. node" << std::endl; Component::finish(node); } @@ -74,7 +72,6 @@ class Atomic : public Component { Atomic(const Atomic &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Atomic: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -83,7 +80,6 @@ class Atomic : public Component { Atomic(Atomic &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Atomic: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -99,12 +95,12 @@ class Atomic : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Atomic/src/custom.hpp" + #include "code/v2.0/gnds/Atomic/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Atomic } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp index ed0cd6ee6..88c189904 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_AUTHOR -#define TEST_V2_0_GNDS_AUTHOR +#ifndef CODE_V2_0_GNDS_AUTHOR +#define CODE_V2_0_GNDS_AUTHOR -#include "test/v2.0/key.hpp" +#include "code/v2.0/key.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -58,7 +58,6 @@ class Author : public Component { GNDSTK_COMPONENT(BlockData{}), name(this,name) { - std::cout << "ctor: Author: 1. default/parameters" << std::endl; Component::finish(); } @@ -66,7 +65,6 @@ class Author : public Component { explicit Author(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Author: 2. node" << std::endl; Component::finish(node); } @@ -74,7 +72,6 @@ class Author : public Component { Author(const Author &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Author: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -83,7 +80,6 @@ class Author : public Component { Author(Author &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Author: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -99,12 +95,12 @@ class Author : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Author/src/custom.hpp" + #include "code/v2.0/gnds/Author/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Author } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp index 855a359f5..93cf8f488 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp @@ -2,22 +2,15 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_AUTHORS -#define TEST_V2_0_GNDS_AUTHORS +#ifndef CODE_V2_0_GNDS_AUTHORS +#define CODE_V2_0_GNDS_AUTHORS -#include "test/v2.0/gnds/Author.hpp" +#include "code/v2.0/gnds/Author.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { -template -const T &zzzbar() -{ - static T value = T{}; - return value; -} - // ----------------------------------------------------------------------------- // gnds:: // class Authors @@ -40,7 +33,6 @@ class Authors : public Component { { return // children - ///zzzbar() gnds::Author{} / ++Child<>("author") ; @@ -66,7 +58,6 @@ class Authors : public Component { GNDSTK_COMPONENT(BlockData{}), author(this,author) { - std::cout << "ctor: Authors: 1. default/parameters" << std::endl; Component::finish(); } @@ -74,7 +65,6 @@ class Authors : public Component { explicit Authors(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Authors: 2. node" << std::endl; Component::finish(node); } @@ -82,7 +72,6 @@ class Authors : public Component { Authors(const Authors &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Authors: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -91,7 +80,6 @@ class Authors : public Component { Authors(Authors &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Authors: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -107,12 +95,12 @@ class Authors : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Authors/src/custom.hpp" + #include "code/v2.0/gnds/Authors/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Authors } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp index ef9c3860c..2e051e752 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_BINDINGENERGY -#define TEST_V2_0_GNDS_BINDINGENERGY +#ifndef CODE_V2_0_GNDS_BINDINGENERGY +#define CODE_V2_0_GNDS_BINDINGENERGY -#include "test/v2.0/gnds/Double.hpp" +#include "code/v2.0/gnds/Double.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -58,7 +58,6 @@ class BindingEnergy : public Component { GNDSTK_COMPONENT(BlockData{}), Double(this,Double) { - std::cout << "ctor: BindingEnergy: 1. default/parameters" << std::endl; Component::finish(); } @@ -66,7 +65,6 @@ class BindingEnergy : public Component { explicit BindingEnergy(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: BindingEnergy: 2. node" << std::endl; Component::finish(node); } @@ -74,7 +72,6 @@ class BindingEnergy : public Component { BindingEnergy(const BindingEnergy &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: BindingEnergy: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -83,7 +80,6 @@ class BindingEnergy : public Component { BindingEnergy(BindingEnergy &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: BindingEnergy: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -99,12 +95,12 @@ class BindingEnergy : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/BindingEnergy/src/custom.hpp" + #include "code/v2.0/gnds/BindingEnergy/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class BindingEnergy } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp index 252a83850..37db4b3f5 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_BODY -#define TEST_V2_0_GNDS_BODY +#ifndef CODE_V2_0_GNDS_BODY +#define CODE_V2_0_GNDS_BODY -#include "test/v2.0/key.hpp" +#include "code/v2.0/key.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -48,7 +48,6 @@ class Body : public Component { Body() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Body: 1. default/parameters" << std::endl; Component::finish(); } @@ -56,7 +55,6 @@ class Body : public Component { explicit Body(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Body: 2. node" << std::endl; Component::finish(node); } @@ -65,7 +63,6 @@ class Body : public Component { Body(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Body: 3. vector" << std::endl; Component::finish(vector); } @@ -73,7 +70,6 @@ class Body : public Component { Body(const Body &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Body: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -82,7 +78,6 @@ class Body : public Component { Body(Body &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Body: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -98,12 +93,12 @@ class Body : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Body/src/custom.hpp" + #include "code/v2.0/gnds/Body/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Body } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp index a10be667e..05d1934b4 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_CHEMICALELEMENT -#define TEST_V2_0_GNDS_CHEMICALELEMENT +#ifndef CODE_V2_0_GNDS_CHEMICALELEMENT +#define CODE_V2_0_GNDS_CHEMICALELEMENT -#include "test/v2.0/gnds/Atomic.hpp" +#include "code/v2.0/gnds/Atomic.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -79,7 +79,6 @@ class ChemicalElement : public Component { name(this,name), atomic(this,atomic) { - std::cout << "ctor: ChemicalElement: 1. default/parameters" << std::endl; Component::finish(); } @@ -87,7 +86,6 @@ class ChemicalElement : public Component { explicit ChemicalElement(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: ChemicalElement: 2. node" << std::endl; Component::finish(node); } @@ -95,7 +93,6 @@ class ChemicalElement : public Component { ChemicalElement(const ChemicalElement &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: ChemicalElement: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -104,7 +101,6 @@ class ChemicalElement : public Component { ChemicalElement(ChemicalElement &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: ChemicalElement: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -120,12 +116,12 @@ class ChemicalElement : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/ChemicalElement/src/custom.hpp" + #include "code/v2.0/gnds/ChemicalElement/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ChemicalElement } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp index 7f683d5e9..e5bea18ae 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_CHEMICALELEMENTS -#define TEST_V2_0_GNDS_CHEMICALELEMENTS +#ifndef CODE_V2_0_GNDS_CHEMICALELEMENTS +#define CODE_V2_0_GNDS_CHEMICALELEMENTS -#include "test/v2.0/gnds/ChemicalElement.hpp" +#include "code/v2.0/gnds/ChemicalElement.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -58,7 +58,6 @@ class ChemicalElements : public Component { GNDSTK_COMPONENT(BlockData{}), chemicalElement(this,chemicalElement) { - std::cout << "ctor: ChemicalElements: 1. default/parameters" << std::endl; Component::finish(); } @@ -66,7 +65,6 @@ class ChemicalElements : public Component { explicit ChemicalElements(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: ChemicalElements: 2. node" << std::endl; Component::finish(node); } @@ -74,7 +72,6 @@ class ChemicalElements : public Component { ChemicalElements(const ChemicalElements &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: ChemicalElements: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -83,7 +80,6 @@ class ChemicalElements : public Component { ChemicalElements(ChemicalElements &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: ChemicalElements: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -99,12 +95,12 @@ class ChemicalElements : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/ChemicalElements/src/custom.hpp" + #include "code/v2.0/gnds/ChemicalElements/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class ChemicalElements } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp index ec70e4db2..c1923c9d2 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_CONFIGURATION -#define TEST_V2_0_GNDS_CONFIGURATION +#ifndef CODE_V2_0_GNDS_CONFIGURATION +#define CODE_V2_0_GNDS_CONFIGURATION -#include "test/v2.0/key.hpp" +#include "code/v2.0/key.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -64,7 +64,6 @@ class Configuration : public Component { subshell(this,subshell), electronNumber(this,electronNumber) { - std::cout << "ctor: Configuration: 1. default/parameters" << std::endl; Component::finish(); } @@ -72,7 +71,6 @@ class Configuration : public Component { explicit Configuration(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Configuration: 2. node" << std::endl; Component::finish(node); } @@ -80,7 +78,6 @@ class Configuration : public Component { Configuration(const Configuration &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Configuration: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -89,7 +86,6 @@ class Configuration : public Component { Configuration(Configuration &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Configuration: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -105,12 +101,12 @@ class Configuration : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Configuration/src/custom.hpp" + #include "code/v2.0/gnds/Configuration/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Configuration } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp index c6a08a6c0..0ba400f34 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_CONFIGURATIONS -#define TEST_V2_0_GNDS_CONFIGURATIONS +#ifndef CODE_V2_0_GNDS_CONFIGURATIONS +#define CODE_V2_0_GNDS_CONFIGURATIONS -#include "test/v2.0/gnds/Configuration.hpp" +#include "code/v2.0/gnds/Configuration.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -58,7 +58,6 @@ class Configurations : public Component { GNDSTK_COMPONENT(BlockData{}), configuration(this,configuration) { - std::cout << "ctor: Configurations: 1. default/parameters" << std::endl; Component::finish(); } @@ -66,7 +65,6 @@ class Configurations : public Component { explicit Configurations(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Configurations: 2. node" << std::endl; Component::finish(node); } @@ -74,7 +72,6 @@ class Configurations : public Component { Configurations(const Configurations &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Configurations: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -83,7 +80,6 @@ class Configurations : public Component { Configurations(Configurations &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Configurations: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -99,12 +95,12 @@ class Configurations : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Configurations/src/custom.hpp" + #include "code/v2.0/gnds/Configurations/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Configurations } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp index c26957925..25b470cc7 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_DATE -#define TEST_V2_0_GNDS_DATE +#ifndef CODE_V2_0_GNDS_DATE +#define CODE_V2_0_GNDS_DATE -#include "test/v2.0/key.hpp" +#include "code/v2.0/key.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -64,7 +64,6 @@ class Date : public Component { value(this,value), dateType(this,dateType) { - std::cout << "ctor: Date: 1. default/parameters" << std::endl; Component::finish(); } @@ -72,7 +71,6 @@ class Date : public Component { explicit Date(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Date: 2. node" << std::endl; Component::finish(node); } @@ -80,7 +78,6 @@ class Date : public Component { Date(const Date &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Date: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -89,7 +86,6 @@ class Date : public Component { Date(Date &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Date: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -105,12 +101,12 @@ class Date : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Date/src/custom.hpp" + #include "code/v2.0/gnds/Date/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Date } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp index 4061a56e9..3449e1ae5 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_DATES -#define TEST_V2_0_GNDS_DATES +#ifndef CODE_V2_0_GNDS_DATES +#define CODE_V2_0_GNDS_DATES -#include "test/v2.0/gnds/Date.hpp" +#include "code/v2.0/gnds/Date.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -58,7 +58,6 @@ class Dates : public Component { GNDSTK_COMPONENT(BlockData{}), date(this,date) { - std::cout << "ctor: Dates: 1. default/parameters" << std::endl; Component::finish(); } @@ -66,7 +65,6 @@ class Dates : public Component { explicit Dates(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Dates: 2. node" << std::endl; Component::finish(node); } @@ -74,7 +72,6 @@ class Dates : public Component { Dates(const Dates &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Dates: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -83,7 +80,6 @@ class Dates : public Component { Dates(Dates &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Dates: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -99,12 +95,12 @@ class Dates : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Dates/src/custom.hpp" + #include "code/v2.0/gnds/Dates/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Dates } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp index 9b7307d27..64213e709 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp @@ -2,16 +2,16 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_DOCUMENTATION -#define TEST_V2_0_GNDS_DOCUMENTATION +#ifndef CODE_V2_0_GNDS_DOCUMENTATION +#define CODE_V2_0_GNDS_DOCUMENTATION -#include "test/v2.0/gnds/Authors.hpp" -#include "test/v2.0/gnds/Dates.hpp" -#include "test/v2.0/gnds/Title.hpp" -#include "test/v2.0/gnds/Body.hpp" -#include "test/v2.0/gnds/EndfCompatible.hpp" +#include "code/v2.0/gnds/Authors.hpp" +#include "code/v2.0/gnds/Dates.hpp" +#include "code/v2.0/gnds/Title.hpp" +#include "code/v2.0/gnds/Body.hpp" +#include "code/v2.0/gnds/EndfCompatible.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -71,19 +71,9 @@ class Documentation : public Component { this->body, \ this->endfCompatible) - - - // default - explicit Documentation() : - GNDSTK_COMPONENT(BlockData{}) - { - std::cout << "ctor: Documentation: 0. default" << std::endl; - Component::finish(); - } - - // from fields + // default, and from fields explicit Documentation( - const wrapper &authors,/// = {}, + const wrapper &authors = {}, const wrapper &dates = {}, const wrapper &title = {}, const wrapper &body = {}, @@ -96,17 +86,13 @@ class Documentation : public Component { body(this,body), endfCompatible(this,endfCompatible) { - std::cout << "ctor: Documentation: 1. parameters" << std::endl; Component::finish(); } - - // from node explicit Documentation(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Documentation: 2. node" << std::endl; Component::finish(node); } @@ -114,7 +100,6 @@ class Documentation : public Component { Documentation(const Documentation &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Documentation: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -123,7 +108,6 @@ class Documentation : public Component { Documentation(Documentation &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Documentation: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -139,12 +123,12 @@ class Documentation : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Documentation/src/custom.hpp" + #include "code/v2.0/gnds/Documentation/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Documentation } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp index 0bfd634d9..cb5e470b0 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_DOUBLE -#define TEST_V2_0_GNDS_DOUBLE +#ifndef CODE_V2_0_GNDS_DOUBLE +#define CODE_V2_0_GNDS_DOUBLE -#include "test/v2.0/key.hpp" +#include "code/v2.0/key.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -70,7 +70,6 @@ class Double : public Component { value(this,value), unit(this,unit) { - std::cout << "ctor: Double: 1. default/parameters" << std::endl; Component::finish(); } @@ -78,7 +77,6 @@ class Double : public Component { explicit Double(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Double: 2. node" << std::endl; Component::finish(node); } @@ -86,7 +84,6 @@ class Double : public Component { Double(const Double &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Double: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -95,7 +92,6 @@ class Double : public Component { Double(Double &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Double: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -111,12 +107,12 @@ class Double : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Double/src/custom.hpp" + #include "code/v2.0/gnds/Double/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Double } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp index 07ce96575..e3eb951e8 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_ENDFCOMPATIBLE -#define TEST_V2_0_GNDS_ENDFCOMPATIBLE +#ifndef CODE_V2_0_GNDS_ENDFCOMPATIBLE +#define CODE_V2_0_GNDS_ENDFCOMPATIBLE -#include "test/v2.0/key.hpp" +#include "code/v2.0/key.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -48,7 +48,6 @@ class EndfCompatible : public Component { EndfCompatible() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: EndfCompatible: 1. default/parameters" << std::endl; Component::finish(); } @@ -56,7 +55,6 @@ class EndfCompatible : public Component { explicit EndfCompatible(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: EndfCompatible: 2. node" << std::endl; Component::finish(node); } @@ -65,7 +63,6 @@ class EndfCompatible : public Component { EndfCompatible(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: EndfCompatible: 3. vector" << std::endl; Component::finish(vector); } @@ -73,7 +70,6 @@ class EndfCompatible : public Component { EndfCompatible(const EndfCompatible &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: EndfCompatible: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -82,7 +78,6 @@ class EndfCompatible : public Component { EndfCompatible(EndfCompatible &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: EndfCompatible: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -98,12 +93,12 @@ class EndfCompatible : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/EndfCompatible/src/custom.hpp" + #include "code/v2.0/gnds/EndfCompatible/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class EndfCompatible } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp index 3b396a87b..a7440f17a 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_EVALUATED -#define TEST_V2_0_GNDS_EVALUATED +#ifndef CODE_V2_0_GNDS_EVALUATED +#define CODE_V2_0_GNDS_EVALUATED -#include "test/v2.0/gnds/Documentation.hpp" +#include "code/v2.0/gnds/Documentation.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -85,7 +85,6 @@ class Evaluated : public Component { version(this,version), documentation(this,documentation) { - std::cout << "ctor: Evaluated: 1. default/parameters" << std::endl; Component::finish(); } @@ -93,7 +92,6 @@ class Evaluated : public Component { explicit Evaluated(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Evaluated: 2. node" << std::endl; Component::finish(node); } @@ -101,7 +99,6 @@ class Evaluated : public Component { Evaluated(const Evaluated &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Evaluated: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -110,7 +107,6 @@ class Evaluated : public Component { Evaluated(Evaluated &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Evaluated: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -126,12 +122,12 @@ class Evaluated : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Evaluated/src/custom.hpp" + #include "code/v2.0/gnds/Evaluated/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Evaluated } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp index f89fb8c0c..5fdff03c5 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_POPS -#define TEST_V2_0_GNDS_POPS +#ifndef CODE_V2_0_GNDS_POPS +#define CODE_V2_0_GNDS_POPS -#include "test/v2.0/gnds/Styles.hpp" -#include "test/v2.0/gnds/ChemicalElements.hpp" +#include "code/v2.0/gnds/Styles.hpp" +#include "code/v2.0/gnds/ChemicalElements.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -86,7 +86,6 @@ class PoPs : public Component { styles(this,styles), chemicalElements(this,chemicalElements) { - std::cout << "ctor: PoPs: 1. default/parameters" << std::endl; Component::finish(); } @@ -94,7 +93,6 @@ class PoPs : public Component { explicit PoPs(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: PoPs: 2. node" << std::endl; Component::finish(node); } @@ -102,7 +100,6 @@ class PoPs : public Component { PoPs(const PoPs &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: PoPs: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -111,7 +108,6 @@ class PoPs : public Component { PoPs(PoPs &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: PoPs: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -127,12 +123,12 @@ class PoPs : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/PoPs/src/custom.hpp" + #include "code/v2.0/gnds/PoPs/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class PoPs } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp index 30fc56ae3..dba7f324c 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_STYLES -#define TEST_V2_0_GNDS_STYLES +#ifndef CODE_V2_0_GNDS_STYLES +#define CODE_V2_0_GNDS_STYLES -#include "test/v2.0/gnds/Evaluated.hpp" +#include "code/v2.0/gnds/Evaluated.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -58,7 +58,6 @@ class Styles : public Component { GNDSTK_COMPONENT(BlockData{}), evaluated(this,evaluated) { - std::cout << "ctor: Styles: 1. default/parameters" << std::endl; Component::finish(); } @@ -66,7 +65,6 @@ class Styles : public Component { explicit Styles(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Styles: 2. node" << std::endl; Component::finish(node); } @@ -74,7 +72,6 @@ class Styles : public Component { Styles(const Styles &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Styles: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -83,7 +80,6 @@ class Styles : public Component { Styles(Styles &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Styles: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -99,12 +95,12 @@ class Styles : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Styles/src/custom.hpp" + #include "code/v2.0/gnds/Styles/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Styles } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp index b6ca9862e..8b30adebd 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp @@ -2,12 +2,12 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_GNDS_TITLE -#define TEST_V2_0_GNDS_TITLE +#ifndef CODE_V2_0_GNDS_TITLE +#define CODE_V2_0_GNDS_TITLE -#include "test/v2.0/key.hpp" +#include "code/v2.0/key.hpp" -namespace test { +namespace code { namespace v2_0 { namespace gnds { @@ -48,7 +48,6 @@ class Title : public Component { Title() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Title: 1. default/parameters" << std::endl; Component::finish(); } @@ -56,7 +55,6 @@ class Title : public Component { explicit Title(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Title: 2. node" << std::endl; Component::finish(node); } @@ -65,7 +63,6 @@ class Title : public Component { Title(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Title: 3. vector" << std::endl; Component::finish(vector); } @@ -73,7 +70,6 @@ class Title : public Component { Title(const Title &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Title: 4. copy" << std::endl; *this = other; Component::finish(other); } @@ -82,7 +78,6 @@ class Title : public Component { Title(Title &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Title: 5. move" << std::endl; *this = std::move(other); Component::finish(other); } @@ -98,12 +93,12 @@ class Title : public Component { // Custom functionality // ------------------------ - #include "test/v2.0/gnds/Title/src/custom.hpp" + #include "code/v2.0/gnds/Title/src/custom.hpp" #undef GNDSTK_COMPONENT }; // class Title } // namespace gnds } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/code/src/code/v2.0/key.hpp b/standards/incremental/code/src/code/v2.0/key.hpp index 5a3bf7db7..1bacb12ed 100644 --- a/standards/incremental/code/src/code/v2.0/key.hpp +++ b/standards/incremental/code/src/code/v2.0/key.hpp @@ -2,13 +2,13 @@ // THIS FILE WAS AUTOGENERATED! // DO NOT MODIFY! -#ifndef TEST_V2_0_KEY -#define TEST_V2_0_KEY +#ifndef CODE_V2_0_KEY +#define CODE_V2_0_KEY // GNDStk Core Interface #include "GNDStk.hpp" -namespace test { +namespace code { namespace v2_0 { using namespace njoy::GNDStk; @@ -95,6 +95,6 @@ using namespace gnds; // ----------------------------------------------------------------------------- } // namespace v2_0 -} // namespace test +} // namespace code #endif diff --git a/standards/incremental/example/0.cpp b/standards/incremental/example/0.cpp index ecedb9997..2b781b765 100644 --- a/standards/incremental/example/0.cpp +++ b/standards/incremental/example/0.cpp @@ -1,8 +1,8 @@ -#include "test/v2.0.hpp" +#include "code/v2.0.hpp" using namespace njoy::GNDStk; -using namespace test::v2_0; +using namespace code::v2_0; int main(const int argc, const char *const *const argv) { diff --git a/standards/incremental/example/compile b/standards/incremental/example/compile index 9bc55ed9e..a78e09b15 100755 --- a/standards/incremental/example/compile +++ b/standards/incremental/example/compile @@ -3,7 +3,7 @@ COMPILE=" clang++ -std=c++17 -I../../../../GNDStk/src - -I../../../../GNDStk/standards/lite/test/src + -I../../../../GNDStk/standards/incremental/code/src -I../../../../GNDStk/build/_deps/pugixml-adapter-src/src/src -I../../../../GNDStk/build/_deps/hdf5-src/include -I../../../../GNDStk/build/_deps/json-src/include From 37b12444983ed3f8f91c8aad56fd6448a8a3f883 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 28 Oct 2022 16:06:04 -0600 Subject: [PATCH 206/235] Work-in-progress on making certain aspects of generated classes more efficient. This includes work in the Core Interface and the Component class, so that queries into Nodes -- to extract objects of prescribed types -- work more efficiently when the objects in question have relatively expensive construction or assignment. This can easily happen with complicated, highly hierarchical generated classes. --- autogen/json2class.cpp | 114 ++++++++++++------ src/GNDStk/Child.hpp | 55 +++++++-- src/GNDStk/Child/src/operator.hpp | 8 +- src/GNDStk/Component/src/detail-getter.hpp | 22 ++-- src/GNDStk/Component/src/fromNode.hpp | 36 ++++-- src/GNDStk/Component/src/print.hpp | 2 +- src/GNDStk/Lookup.hpp | 2 +- src/GNDStk/Meta.hpp | 8 +- src/GNDStk/Meta/src/detail.hpp | 6 +- src/GNDStk/Meta/src/operator.hpp | 6 +- src/GNDStk/Node/src/child.hpp | 54 ++++----- src/GNDStk/Node/src/detail.hpp | 7 +- src/GNDStk/Node/src/meta.hpp | 15 ++- .../code/c/src/v2.0/gnds/Configuration.cpp | 52 +++++++- .../code/c/src/v2.0/gnds/Configuration.h | 28 ++++- .../code/python/src/v2.0/gnds.python.cpp | 8 +- .../src/v2.0/gnds/Configuration.python.cpp | 9 +- .../code/src/code/v2.0/gnds/Atomic.hpp | 19 ++- .../code/src/code/v2.0/gnds/Author.hpp | 16 ++- .../code/src/code/v2.0/gnds/Authors.hpp | 19 ++- .../code/src/code/v2.0/gnds/BindingEnergy.hpp | 19 ++- .../code/src/code/v2.0/gnds/Body.hpp | 5 + .../src/code/v2.0/gnds/ChemicalElement.hpp | 19 ++- .../src/code/v2.0/gnds/ChemicalElements.hpp | 19 ++- .../code/src/code/v2.0/gnds/Configuration.hpp | 34 ++++-- .../src/code/v2.0/gnds/Configurations.hpp | 19 ++- .../code/src/code/v2.0/gnds/Date.hpp | 16 ++- .../code/src/code/v2.0/gnds/Dates.hpp | 19 ++- .../code/src/code/v2.0/gnds/Documentation.hpp | 31 +++-- .../code/src/code/v2.0/gnds/Double.hpp | 16 ++- .../src/code/v2.0/gnds/EndfCompatible.hpp | 5 + .../code/src/code/v2.0/gnds/Evaluated.hpp | 19 ++- .../code/src/code/v2.0/gnds/PoPs.hpp | 22 +++- .../code/src/code/v2.0/gnds/Styles.hpp | 19 ++- .../code/src/code/v2.0/gnds/Title.hpp | 5 + standards/incremental/example/.gitignore | 2 + standards/incremental/example/0.cpp | 105 ++++++++++++---- .../incremental/incremental-classes.json | 7 +- 38 files changed, 638 insertions(+), 229 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index f05a367a9..5ca753c5f 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -68,6 +68,7 @@ struct InfoMetadata { // construct such as (so that meta is a vector of // integers). We mean here that there isn't a vector of such [meta] entries, // and there shouldn't be (XML wouldn't allow it). + std::string original; // without e.g. the "double" to "Double" change std::string name; std::string type; // underlying type std::string typeFull; // WITH any optional<> or defaulted<> @@ -84,6 +85,7 @@ struct InfoChildren { // but can't make it be a GNDStk::defaulted. (The use of a default value for // child nodes just doesn't exist in the GNDS specifications, even though the // concept would seem to make sense.) + std::string original; // without e.g. the "double" to "Double" change std::string name; std::string ns; // enclosing namespace std::string plain; // underlying type, excluding namespace @@ -392,6 +394,7 @@ std::string nameGNDS( const std::string &nsname = "", const bool print = false ) { + // For debugging if (debugging && print) { const std::string key = keyval.key(); const std::string name = keyval.value().contains("name") @@ -418,8 +421,8 @@ std::string nameField(const KeyValue &keyval, const InfoSpecs &specs) { // Like nameGNDS above, except that we apply any name-modification // map that may have been provided in a "changes" file. Such changes - // can fix, for example, the name "double" that appears in GNDS v1.9 - // as a JSON key, but is unsuitable for use in C++. + // can fix, for example, the name "double" that appears in some GNDS + // specs as a JSON key, because "double" is unsuitable for use in C++. const std::string name = nameGNDS(keyval); const auto it = specs.mapName.find(name); return it == specs.mapName.end() ? name : it->second; @@ -544,6 +547,7 @@ void getClassMetadata( // Name InfoMetadata m; + m.original = nameGNDS(field); m.name = nameField(field,specs); // Type @@ -610,6 +614,7 @@ void getClassChildren( // Name InfoChildren c; + c.original = nameGNDS(field); c.name = nameField(field,specs); // Type, excluding namespace @@ -1008,21 +1013,24 @@ void writeClassForComponent(writer &out, const PerClass &per) out(3,"// metadata"); for (const auto &m : per.metadata) { out(3,"@{@}", m.typeFull, initializer(m)); - out(4,"/ Meta<>(\"@\")@", m.name, ++count < total ? " |" : ""); + out(4,"/ Meta<>(\"@\")@", m.original, ++count < total ? " |" : ""); } // children if (per.children.size() || per.variants.size()) out(3,"// children"); for (const auto &c : per.children) { - out(3,"@{}", c.typeHalf); // w/o any std::vector - out(4,"/ @Child<>(\"@\")@", - c.isVector ? "++" : "--", c.name, ++count < total ? " |" : ""); + out(3,"@Child<@>(\"@\")@", + c.isVector ? "++" : "--", + c.typeHalf, // without any std::vector + c.original, + ++count < total ? " |" : "" + ); } // variants for (const auto &v : per.variants) { - out(3,"@{}", v.typeHalf); // w/o any std::vector + out(3,"@{}", v.typeHalf); // without any std::vector out(4,"/ @(", v.isVector ? "++" : "--", false); int n = 0; // for alternatives; not to be confused w/count for (const auto &c : v.children) @@ -1182,34 +1190,44 @@ void writeClassCtorBody( void writeClassCtors(writer &out, const PerClass &per) { // ------------------------ - // ctor: default, - // and from fields + // macro // ------------------------ const int total = per.nfields(); out(); - if (total == 0) { + if (total == 0) out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata)"); - out(); - out(1,"// default"); - out(1,"@() :", per.clname); - writeClassCtorComponent(out, per, false); - } else { - int count = 0; - - // macro + else { out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata, \\"); + int count = 0; for (const auto &m : per.metadata) out(2,"this->@@", m.name, ++count < total ? ", \\" : ")"); for (const auto &c : per.children) out(2,"this->@@", c.name, ++count < total ? ", \\" : ")"); for (const auto &v : per.variants) out(2,"this->@@", v.name, ++count < total ? ", \\" : ")"); + } - // comment for this constructor + // ------------------------ + // ctor: default + // ------------------------ + + out(); + out(1,"// default"); + out(1,"@() :", per.clname); + writeClassCtorComponent(out, per, false); + writeClassCtorBody(out, "default", per.clname, "", ""); + + // ------------------------ + // ctor: from fields + // ------------------------ + + if (total > 0) { out(); - out(1,"// default, and from fields"); + + // comment for this constructor + out(1,"// from fields"); // informational message, if applicable for (const auto &m : per.metadata) @@ -1220,19 +1238,39 @@ void writeClassCtors(writer &out, const PerClass &per) } // signature, and base constructor call - count = 0; + int count = 0; out(1,"explicit @(", per.clname); - for (const auto &m : per.metadata) - out(2,"const wrapper<@> &@ = {}@", - m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull, - m.name, sep(count,total)); - for (const auto &c : per.children) - out(2,"const wrapper<@> &@ = {}@", - c.typeFull, c.name, sep(count,total)); - for (const auto &v : per.variants) - out(2,"const wrapper<@> &@ = {}@", - v.typeFull, v.name, sep(count,total)); + for (const auto &m : per.metadata) { + out( + 2,"const wrapper<@> &@@@", + m.isDefaulted ? "std::optional<" + m.type + ">" : m.typeFull, + m.name, + count ? " = {}" : "", + count+1 < total ? "," : "" + ); + count++; + } + for (const auto &c : per.children) { + out( + 2,"const wrapper<@> &@@@", + c.typeFull, + c.name, + count ? " = {}" : "", + count+1 < total ? "," : "" + ); + count++; + } + for (const auto &v : per.variants) { + out( + 2,"const wrapper<@> &@@@", + v.typeFull, + v.name, + count ? " = {}" : "", + count+1 < total ? "," : "" + ); + count++; + } out(1,") :"); writeClassCtorComponent(out, per, false, false); @@ -1250,10 +1288,10 @@ void writeClassCtors(writer &out, const PerClass &per) out(2,"@(this,@)@", c.name, c.name, sep(count,total)); for (const auto &v : per.variants) out(2,"@(this,@)@", v.name, v.name, sep(count,total)); - } - // body - writeClassCtorBody(out, "1. default/parameters", per.clname, "", ""); + // body + writeClassCtorBody(out, "fields", per.clname, "", ""); + } // ------------------------ // ctor: node @@ -1263,7 +1301,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// from node"); out(1,"explicit @(const Node &node) :", per.clname); writeClassCtorComponent(out, per, false); - writeClassCtorBody(out, "2. node", per.clname, "", "node"); + writeClassCtorBody(out, "node", per.clname, "", "node"); // ------------------------ // ctor: vector @@ -1276,7 +1314,7 @@ void writeClassCtors(writer &out, const PerClass &per) "std::enable_if_t>>"); out(1,"@(const std::vector &vector) :", per.clname); writeClassCtorComponent(out, per, false); - writeClassCtorBody(out, "3. vector", per.clname, "", "vector"); + writeClassCtorBody(out, "vector", per.clname, "", "vector"); } // ------------------------ @@ -1287,7 +1325,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// copy"); out(1,"@(const @ &other) :", per.clname, per.clname); writeClassCtorComponent(out, per, true); - writeClassCtorBody(out, "4. copy", per.clname, "*this = other;", "other"); + writeClassCtorBody(out, "copy", per.clname, "*this = other;", "other"); // ------------------------ // ctor: move @@ -1297,7 +1335,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// move"); out(1,"@(@ &&other) :", per.clname, per.clname); writeClassCtorComponent(out, per, true); - writeClassCtorBody(out, "5. move", per.clname, "*this = std::move(other);", "other"); + writeClassCtorBody(out, "move", per.clname, "*this = std::move(other);", "other"); } // writeClassCtors diff --git a/src/GNDStk/Child.hpp b/src/GNDStk/Child.hpp index a221670fa..7d1119924 100644 --- a/src/GNDStk/Child.hpp +++ b/src/GNDStk/Child.hpp @@ -69,7 +69,45 @@ class Child { // name, object, converter, filter std::string name; - const TYPE object; + TYPE &placeholder; + CONVERTER converter; // optional custom converter; needs operator() + FILTER filter; // optional custom filter; needs operator() + + // ------------------------ + // constructors + // ------------------------ + + /// Some work-in-progress material here... + + explicit Child( + const std::string &name + ) : + name(name), + placeholder(detail::make_once()), + converter(detail::make_once()), + filter(detail::make_once()) + { } + + explicit Child( + const std::string &name, + const TYPE &t,/// = detail::make_once(), + const CONVERTER &c = detail::make_once(), + const FILTER &f = detail::make_once() + ) : + name(name), + placeholder(detail::make_once() = t), + converter(c), + filter(f) + { } + +#if 0 + // ------------------------ + // data + // ------------------------ + + // name, object, converter, filter + std::string name; + mutable TYPE placeholder; CONVERTER converter; // optional custom converter; needs operator() FILTER filter; // optional custom filter; needs operator() @@ -83,12 +121,13 @@ class Child { // name, type, converter, filter explicit Child( const std::string &n, - const TYPE &t = detail::static_const(), - const CONVERTER &c = detail::static_const(), - const FILTER &f = detail::static_const() + const TYPE &t = detail::make_once(), + const CONVERTER &c = detail::make_once(), + const FILTER &f = detail::make_once() ) : - name(n), object(t), converter(c), filter(f) + name(n), placeholder(t), converter(c), filter(f) { } +#endif // ------------------------ // simple functions @@ -109,7 +148,7 @@ class Child { auto one() const { return Child( - name, object, converter, filter + name, placeholder, converter, filter ); } @@ -118,7 +157,7 @@ class Child { auto many() const { return Child( - name, object, converter, filter + name, placeholder, converter, filter ); } }; @@ -154,7 +193,7 @@ class Child { // name, filter explicit Child( const std::string &n, - const FILTER &f = detail::static_const() + const FILTER &f = detail::make_once() ) : name(n), filter(f) { } diff --git a/src/GNDStk/Child/src/operator.hpp b/src/GNDStk/Child/src/operator.hpp index 9fca8d255..d07c527b2 100644 --- a/src/GNDStk/Child/src/operator.hpp +++ b/src/GNDStk/Child/src/operator.hpp @@ -134,7 +134,7 @@ inline Child< ) { return Child( kwd.name, - kwd.object, + kwd.placeholder, converter, // the new one; not kwd.converter! kwd.filter ); @@ -174,7 +174,7 @@ inline auto operator--( using C = detail::default_converter_t; return Child( kwd.name, - kwd.object, + kwd.placeholder, C{}, kwd.filter ); @@ -225,7 +225,7 @@ inline auto operator+( ) { return Child( kwd.name, - kwd.object, + kwd.placeholder, kwd.converter, filter // the new one ); @@ -285,6 +285,6 @@ inline auto operator||( // both names, space-separated; this gets special treatment elsewhere a.name + " " + b.name, // need an object, converter, and filter; use the first Child's - a.object, a.converter, a.filter + a.placeholder, a.converter, a.filter ); } diff --git a/src/GNDStk/Component/src/detail-getter.hpp b/src/GNDStk/Component/src/detail-getter.hpp index 17b122587..1df608eb7 100644 --- a/src/GNDStk/Component/src/detail-getter.hpp +++ b/src/GNDStk/Component/src/detail-getter.hpp @@ -191,20 +191,20 @@ bool getter( if (std::visit( [&look](auto &&alternative) { - return look.extractor(alternative) == look.object; + return look.extractor(alternative) == look.placeholder; }, elem )) return true; } else // T != variant - if (look.extractor(elem) == look.object) + if (look.extractor(elem) == look.placeholder) return true; } catch (...) { // context log::member( "getter {}::{}.{}(has({}({}))) on vector", - nname, cname, fname, look.name, look.object); + nname, cname, fname, look.name, look.placeholder); throw; } @@ -236,14 +236,14 @@ const T &getter( std::visit( [&elem,&look,&ptr](auto &&alternative) { - if (look.extractor(alternative) == look.object) + if (look.extractor(alternative) == look.placeholder) ptr = &elem; }, elem ); } else { // T != variant - if (look.extractor(elem) == look.object) + if (look.extractor(elem) == look.placeholder) ptr = &elem; } @@ -252,9 +252,9 @@ const T &getter( log::warning( "Element with {}({}) was already found in the vector.\n" "Keeping the first element that was found.", - look.name, look.object + look.name, look.placeholder ); - log::member(context, nname, cname, fname, look.name, look.object); + log::member(context, nname, cname, fname, look.name, look.placeholder); } else object = ptr; } @@ -266,13 +266,13 @@ const T &getter( log::error( "Element with metadatum {} == {} was not found in the vector" + std::string(vec.size() ? "." : ";\nin fact the vector is empty."), - look.name, look.object + look.name, look.placeholder ); throw std::exception{}; } catch (...) { // context - log::member(context, nname, cname, fname, look.name, look.object); + log::member(context, nname, cname, fname, look.name, look.placeholder); throw; } } @@ -365,11 +365,11 @@ decltype(auto) getter( // nname::cname.fname(field(value)) if constexpr (!KEY::Has && !KEY::Void) log::member("getter {}::{}.{}({}({})) on optional", - nname, cname, fname, key.name, key.object); + nname, cname, fname, key.name, key.placeholder); // nname::cname.fname(has(field(value))) if constexpr ( KEY::Has && !KEY::Void) log::member("getter {}::{}.{}(has({}({}))) on optional", - nname, cname, fname, key.name, key.object); + nname, cname, fname, key.name, key.placeholder); // nname::cname.fname(field) if constexpr (!KEY::Has && KEY::Void) log::member("getter {}::{}.{}({}) on optional", diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index 26de86df8..13e515831 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -17,6 +17,23 @@ // new(), below, but to no real effect: the result would be replaced, anyway, // when the derived class' own members are initialized in its constructor. +private: + +template +void transfer(const std::size_t n, const Node &node, const KEY &key) +{ + // todo working here on possibly optimizations + if constexpr (detail::IsMeta::value) { + *(std::decay_t *)links[n] = node(key); + } else if constexpr (detail::IsChild::value) { + *(std::decay_t *)links[n] = node(key); + } else { + assert(false); + } +} + +public: + void fromNode(const Node &node) { try { @@ -29,22 +46,23 @@ void fromNode(const Node &node) throw std::exception{}; } - // retrieve the node's data by doing a multi-query - const auto tuple = node(Keys()); - // consistency check - assert(std::tuple_size_v == links.size()); + assert(std::tuple_size_v == links.size()); // apply links: // Node ==> derived-class data - // Below, each apply'd "result" is one particular element - one - // retrieved value - from the above multi-query on the node. std::apply( - [this](const auto &... result) { + [this,node](const auto &... key) { std::size_t n = 0; - ((*(std::decay_t *)links[n++] = result), ...); + ( + ( + this->transfer(n++, node, key) + ///*(std::decay_t *)links[n++] = node(key) + ), + ... + ); }, - tuple + Keys().tup ); // block data, a.k.a. XML "pcdata" (plain character data), if any diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index 10679d913..e834228f1 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -84,7 +84,7 @@ std::ostream &print(std::ostream &os, const int level) const if (GNDStk::align) std::apply( [&maxlen](const auto &... key) { - ((maxlen=std::max(maxlen,detail::getName(key).size())), ...); + ((maxlen = std::max(maxlen,detail::getName(key).size())), ...); }, Keys().tup ); diff --git a/src/GNDStk/Lookup.hpp b/src/GNDStk/Lookup.hpp index 9f8b010da..07e0c0db3 100644 --- a/src/GNDStk/Lookup.hpp +++ b/src/GNDStk/Lookup.hpp @@ -124,7 +124,7 @@ auto has(const Lookup &look) return Lookup( look.extractor, look.name, - look.object, + look.placeholder, look.converter ); } diff --git a/src/GNDStk/Meta.hpp b/src/GNDStk/Meta.hpp index 1c78817ac..d25b64d21 100644 --- a/src/GNDStk/Meta.hpp +++ b/src/GNDStk/Meta.hpp @@ -17,17 +17,17 @@ class Meta { public: // name, object, converter std::string name; - const TYPE object; + mutable TYPE placeholder; CONVERTER converter; // optional custom converter; needs operator() // ctor explicit Meta( const std::string &n, - const TYPE &t = detail::static_const(), - const CONVERTER &c = detail::static_const() + const TYPE &t = detail::make_once(), + const CONVERTER &c = detail::make_once() ) : name(n), - object(t), + placeholder(t), converter(c) { } diff --git a/src/GNDStk/Meta/src/detail.hpp b/src/GNDStk/Meta/src/detail.hpp index 27bb2ec0d..ca90a2216 100644 --- a/src/GNDStk/Meta/src/detail.hpp +++ b/src/GNDStk/Meta/src/detail.hpp @@ -53,15 +53,15 @@ using default_converter_t = typename default_converter::type; // ----------------------------------------------------------------------------- -// static_const +// make_once // Used in certain places in which default initializations of class T objects // may be needed, but might be expensive. // ----------------------------------------------------------------------------- template -inline const T &static_const() +inline T &make_once() { - static const T value{}; + static T value{}; return value; } diff --git a/src/GNDStk/Meta/src/operator.hpp b/src/GNDStk/Meta/src/operator.hpp index 2f5ef208b..a8682fb53 100644 --- a/src/GNDStk/Meta/src/operator.hpp +++ b/src/GNDStk/Meta/src/operator.hpp @@ -115,7 +115,7 @@ inline Meta< const C &converter ) { // Keep the old type - return Meta(kwd.name, kwd.object, converter); + return Meta(kwd.name, kwd.placeholder, converter); } // Meta/C @@ -130,7 +130,7 @@ inline Meta< !std::is_same_v, // ...require non-void! "Meta/CONVERTER not allowed; the Meta type must be non-void" ); - return kwd; // placeholder; the static_assert will always fail + return kwd; // need a return; but the static_assert will always fail } @@ -150,6 +150,6 @@ inline auto operator--( ) { return Meta>( kwd.name, - kwd.object + kwd.placeholder ); } diff --git a/src/GNDStk/Node/src/child.hpp b/src/GNDStk/Node/src/child.hpp index 9619aa467..ceedb7ed7 100644 --- a/src/GNDStk/Node/src/child.hpp +++ b/src/GNDStk/Node/src/child.hpp @@ -167,31 +167,22 @@ child( // variant obj // ------------------------ - static TYPE obj = kwd.object; const auto names = detail::name_split(kwd); found = false; - variant_find_one<0,std::variant_size_v>(kwd,names,found,obj,0); - return obj; + variant_find_one<0,std::variant_size_v>( + kwd, names, found, kwd.placeholder, 0); } else { + // ------------------------ // non-variant obj // ------------------------ const Node &node = one(kwd.name, kwd.filter, found); - if (found) { - // Many nodes are optional in GNDS, and may not appear at all in a - // given GNDS file. Consider that such a node is slated to go into - // some user-defined (or generated) class that may be expensive to - // construct. I've found that creating obj only "if (found)", as we - // do right here, tends to improve performance in the event that an - // input file could - but doesn't - contain any such nodes. - static TYPE obj = kwd.object; - kwd.converter(node,obj); - return obj; - } - return kwd.object; // !found, so the return shouldn't be used anyway + if (found) + kwd.converter(node,kwd.placeholder); } + return kwd.placeholder; } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::one)"); throw; @@ -213,7 +204,7 @@ child( // Comments as in the meta() analog of this child() function bool f; const TYPE obj = - child((kwd.object.has_value() ? kwd.object.value() : TYPE{})/kwd, f); + child((kwd.placeholder.has_value() ? kwd.placeholder.value() : TYPE{})/kwd, f); found = true; return f ? std::optional(obj) : std::nullopt; } catch (...) { @@ -235,11 +226,11 @@ child( ) const { try { bool f; - const TYPE obj = child(kwd.object.value()/kwd, f); + const TYPE obj = child(kwd.placeholder.value()/kwd, f); found = true; return f - ? Defaulted(kwd.object.get_default(),obj) - : Defaulted(kwd.object.get_default()); + ? Defaulted(kwd.placeholder.get_default(),obj) + : Defaulted(kwd.placeholder.get_default()); } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::one)"); throw; @@ -260,7 +251,7 @@ std::enable_if_t< const Child,Allow::one,CONVERTER,FILTER> &kwd, bool &found = detail::default_bool ) const { - const auto ptr = std::get_if(&kwd.object); + const auto ptr = std::get_if(&kwd.placeholder); return child((ptr ? *ptr : TYPE{})/kwd, found); } @@ -394,9 +385,8 @@ child( // "" // meaning: return a container with the converted-to-TYPE current Node if (kwd.name == "") { - static TYPE obj = kwd.object; - kwd.converter(*this,obj); - container.push_back(obj); + kwd.converter(*this,kwd.placeholder); + container.push_back(kwd.placeholder); found = true; } else { // prepare container @@ -404,16 +394,16 @@ child( container.reserve(count(kwd)); // search in the current Node's children - for (auto &c : children) + for (auto &c : children) { if (std::regex_match(c->name, std::regex(kwd.name)) && kwd.filter(*c) ) { // convert *c to an object of the appropriate type - static TYPE obj = kwd.object; - kwd.converter(*c,obj); - container.push_back(obj); + kwd.converter(*c,kwd.placeholder); + container.push_back(kwd.placeholder); found = true; } + } } } @@ -472,7 +462,7 @@ child( try { bool f; const auto container = - child((kwd.object.has_value() ? kwd.object.value() : TYPE{})/kwd, f); + child((kwd.placeholder.has_value() ? kwd.placeholder.value() : TYPE{})/kwd, f); found = true; return f ? std::optional>(container) : std::nullopt; } catch (...) { @@ -500,13 +490,13 @@ child( ) const { try { bool f; - const auto container = child(kwd.object.value()/kwd, f); + const auto container = child(kwd.placeholder.value()/kwd, f); found = true; return f ? Defaulted>( - CONTAINER(1, kwd.object.get_default()), container) + CONTAINER(1, kwd.placeholder.get_default()), container) : Defaulted>( - CONTAINER(1, kwd.object.get_default())); + CONTAINER(1, kwd.placeholder.get_default())); } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::many)"); throw; @@ -533,6 +523,6 @@ CONTAINER< const Child,Allow::many,CONVERTER,FILTER> &kwd, bool &found = detail::default_bool ) const { - const auto ptr = std::get_if(&kwd.object); + const auto ptr = std::get_if(&kwd.placeholder); return child((ptr ? *ptr : TYPE{})/kwd, found); } diff --git a/src/GNDStk/Node/src/detail.hpp b/src/GNDStk/Node/src/detail.hpp index 72aa679fc..8e082fd0b 100644 --- a/src/GNDStk/Node/src/detail.hpp +++ b/src/GNDStk/Node/src/detail.hpp @@ -186,7 +186,12 @@ class apply_converter { template void operator()(const KEYWORD &kwd, const Node &node) const { - static TYPE obj = kwd.object; + // fixme 2022-10-27. I visited this function while looking at other + // issues, but now wonder: what's the effect of this function supposed + // to be? We create obj, then convert node ==> obj, then do nothing + // with obj. Am I missing something, and/or not testing something that + // should be tested? -MFS + static TYPE obj = kwd.placeholder; kwd.converter(node,obj); } }; diff --git a/src/GNDStk/Node/src/meta.hpp b/src/GNDStk/Node/src/meta.hpp index da5fd2371..5a06ca4d4 100644 --- a/src/GNDStk/Node/src/meta.hpp +++ b/src/GNDStk/Node/src/meta.hpp @@ -89,10 +89,9 @@ meta( // call meta(string), with the Meta's key const std::string &value = meta(kwd.name,found); // convert value, if any, to an object of the appropriate type - static TYPE obj = kwd.object; if (found) - kwd.converter(value,obj); - return obj; + kwd.converter(value,kwd.placeholder); + return kwd.placeholder; } catch (...) { log::member("Node.meta(" + detail::keyname(kwd) + ")"); throw; @@ -115,7 +114,7 @@ meta( // We still place in a try{}, in case an exception otherwise arises. bool f; const TYPE obj = - meta((kwd.object.has_value() ? kwd.object.value() : TYPE{})/kwd, f); + meta((kwd.placeholder.has_value() ? kwd.placeholder.value() : TYPE{})/kwd, f); // The "found" status affects our behavior here, but for optional we'll // always *return* with found == true. After all, being optional means // something can be (1) there or (2) not there. That condition is always @@ -143,11 +142,11 @@ meta( try { // Comments similar to those for std::optional above bool f; // local "found" - const TYPE obj = meta(kwd.object.value()/kwd, f); + const TYPE obj = meta(kwd.placeholder.value()/kwd, f); found = true; // always return f - ? Defaulted(kwd.object.get_default(),obj) - : Defaulted(kwd.object.get_default()); + ? Defaulted(kwd.placeholder.get_default(),obj) + : Defaulted(kwd.placeholder.get_default()); } catch (...) { log::member("Node.meta(" + detail::keyname(kwd) + ")"); throw; @@ -168,6 +167,6 @@ std::enable_if_t< const Meta,CONVERTER> &kwd, bool &found = detail::default_bool ) const { - const auto ptr = std::get_if(&kwd.object); + const auto ptr = std::get_if(&kwd.placeholder); return meta((ptr ? *ptr : TYPE{})/kwd, found); } diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp index 9bf0b238b..0bde7f5ad 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp @@ -16,8 +16,11 @@ static const std::string CLASSNAME = "Configuration"; namespace extract { static auto subshell = [](auto &obj) { return &obj.subshell; }; static auto electronNumber = [](auto &obj) { return &obj.electronNumber; }; + static auto bindingEnergy = [](auto &obj) { return &obj.bindingEnergy; }; } +using CPPBindingEnergy = gnds::BindingEnergy; + // ----------------------------------------------------------------------------- // Basics @@ -44,12 +47,14 @@ ConfigurationDefault() Handle2ConstConfiguration ConfigurationCreateConst( const char *const subshell, - const char *const electronNumber + const char *const electronNumber, + ConstHandle2ConstBindingEnergy bindingEnergy ) { ConstHandle2Configuration handle = detail::createHandle( CLASSNAME, CLASSNAME+"CreateConst", subshell, - electronNumber + electronNumber, + detail::tocpp(bindingEnergy) ); return handle; } @@ -58,12 +63,14 @@ ConfigurationCreateConst( Handle2Configuration ConfigurationCreate( const char *const subshell, - const char *const electronNumber + const char *const electronNumber, + ConstHandle2ConstBindingEnergy bindingEnergy ) { ConstHandle2Configuration handle = detail::createHandle( CLASSNAME, CLASSNAME+"Create", subshell, - electronNumber + electronNumber, + detail::tocpp(bindingEnergy) ); return handle; } @@ -198,3 +205,40 @@ ConfigurationElectronNumberSet(ConstHandle2Configuration This, const char *const detail::setField (CLASSNAME, CLASSNAME+"ElectronNumberSet", This, extract::electronNumber, electronNumber); } + + +// ----------------------------------------------------------------------------- +// Child: bindingEnergy +// ----------------------------------------------------------------------------- + +// Has +int +ConfigurationBindingEnergyHas(ConstHandle2ConstConfiguration This) +{ + return detail::hasField + (CLASSNAME, CLASSNAME+"BindingEnergyHas", This, extract::bindingEnergy); +} + +// Get, const +Handle2ConstBindingEnergy +ConfigurationBindingEnergyGetConst(ConstHandle2ConstConfiguration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BindingEnergyGetConst", This, extract::bindingEnergy); +} + +// Get, non-const +Handle2BindingEnergy +ConfigurationBindingEnergyGet(ConstHandle2Configuration This) +{ + return detail::getField + (CLASSNAME, CLASSNAME+"BindingEnergyGet", This, extract::bindingEnergy); +} + +// Set +void +ConfigurationBindingEnergySet(ConstHandle2Configuration This, ConstHandle2ConstBindingEnergy bindingEnergy) +{ + detail::setField + (CLASSNAME, CLASSNAME+"BindingEnergySet", This, extract::bindingEnergy, bindingEnergy); +} diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration.h b/standards/incremental/code/c/src/v2.0/gnds/Configuration.h index e99d48f5c..87eae7f12 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configuration.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Configuration.h @@ -32,6 +32,7 @@ #define C_INTERFACE_CODE_V2_0_GNDS_CONFIGURATION #include "GNDStk.h" +#include "v2.0/gnds/BindingEnergy.h" #ifdef __cplusplus #define extern_c extern "C" @@ -77,14 +78,16 @@ ConfigurationDefault(); extern_c Handle2ConstConfiguration ConfigurationCreateConst( const char *const subshell, - const char *const electronNumber + const char *const electronNumber, + ConstHandle2ConstBindingEnergy bindingEnergy ); // +++ Create, general extern_c Handle2Configuration ConfigurationCreate( const char *const subshell, - const char *const electronNumber + const char *const electronNumber, + ConstHandle2ConstBindingEnergy bindingEnergy ); // +++ Assign @@ -167,6 +170,27 @@ extern_c void ConfigurationElectronNumberSet(ConstHandle2Configuration This, const char *const electronNumber); +// ----------------------------------------------------------------------------- +// Child: bindingEnergy +// ----------------------------------------------------------------------------- + +// +++ Has +extern_c int +ConfigurationBindingEnergyHas(ConstHandle2ConstConfiguration This); + +// --- Get, const +extern_c Handle2ConstBindingEnergy +ConfigurationBindingEnergyGetConst(ConstHandle2ConstConfiguration This); + +// +++ Get, non-const +extern_c Handle2BindingEnergy +ConfigurationBindingEnergyGet(ConstHandle2Configuration This); + +// +++ Set +extern_c void +ConfigurationBindingEnergySet(ConstHandle2Configuration This, ConstHandle2ConstBindingEnergy bindingEnergy); + + // ----------------------------------------------------------------------------- // Done // ----------------------------------------------------------------------------- diff --git a/standards/incremental/code/python/src/v2.0/gnds.python.cpp b/standards/incremental/code/python/src/v2.0/gnds.python.cpp index 4e936308f..5da8e74a7 100644 --- a/standards/incremental/code/python/src/v2.0/gnds.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds.python.cpp @@ -22,14 +22,14 @@ namespace python_gnds { void wrapDocumentation(python::module &); void wrapEvaluated(python::module &); void wrapStyles(python::module &); + void wrapDouble(python::module &); + void wrapBindingEnergy(python::module &); void wrapConfiguration(python::module &); void wrapConfigurations(python::module &); void wrapAtomic(python::module &); void wrapChemicalElement(python::module &); void wrapChemicalElements(python::module &); void wrapPoPs(python::module &); - void wrapDouble(python::module &); - void wrapBindingEnergy(python::module &); } // namespace python_gnds // gnds wrapper @@ -52,14 +52,14 @@ void wrapGnds(python::module &module) python_gnds::wrapDocumentation(submodule); python_gnds::wrapEvaluated(submodule); python_gnds::wrapStyles(submodule); + python_gnds::wrapDouble(submodule); + python_gnds::wrapBindingEnergy(submodule); python_gnds::wrapConfiguration(submodule); python_gnds::wrapConfigurations(submodule); python_gnds::wrapAtomic(submodule); python_gnds::wrapChemicalElement(submodule); python_gnds::wrapChemicalElements(submodule); python_gnds::wrapPoPs(submodule); - python_gnds::wrapDouble(submodule); - python_gnds::wrapBindingEnergy(submodule); }; } // namespace python_v2_0 diff --git a/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp b/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp index 315dddd12..52a854c54 100644 --- a/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp +++ b/standards/incremental/code/python/src/v2.0/gnds/Configuration.python.cpp @@ -37,10 +37,12 @@ void wrapConfiguration(python::module &module) .def( python::init< const std::string &, - const std::string & + const std::string &, + const gnds::BindingEnergy & >(), python::arg("subshell"), python::arg("electron_number"), + python::arg("binding_energy"), Component::documentation("constructor").data() ) .def_property_readonly( @@ -53,6 +55,11 @@ void wrapConfiguration(python::module &module) [](const Component &self) { return self.electronNumber(); }, Component::documentation("electron_number").data() ) + .def_property_readonly( + "binding_energy", + [](const Component &self) { return self.bindingEnergy(); }, + Component::documentation("binding_energy").data() + ) ; // add standard component definitions diff --git a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp index 502fa3862..e50a02154 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp @@ -33,8 +33,7 @@ class Atomic : public Component { { return // children - gnds::Configurations{} - / --Child<>("configurations") + --Child("configurations") ; } @@ -51,13 +50,22 @@ class Atomic : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->configurations) - // default, and from fields + // default + Atomic() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Atomic: default" << std::endl; + Component::finish(); + } + + // from fields explicit Atomic( - const wrapper &configurations = {} + const wrapper &configurations ) : GNDSTK_COMPONENT(BlockData{}), configurations(this,configurations) { + std::cout << "ctor: Atomic: fields" << std::endl; Component::finish(); } @@ -65,6 +73,7 @@ class Atomic : public Component { explicit Atomic(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Atomic: node" << std::endl; Component::finish(node); } @@ -72,6 +81,7 @@ class Atomic : public Component { Atomic(const Atomic &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Atomic: copy" << std::endl; *this = other; Component::finish(other); } @@ -80,6 +90,7 @@ class Atomic : public Component { Atomic(Atomic &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Atomic: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp index 88c189904..896fd7cc1 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp @@ -51,13 +51,22 @@ class Author : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->name) - // default, and from fields + // default + Author() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Author: default" << std::endl; + Component::finish(); + } + + // from fields explicit Author( - const wrapper &name = {} + const wrapper &name ) : GNDSTK_COMPONENT(BlockData{}), name(this,name) { + std::cout << "ctor: Author: fields" << std::endl; Component::finish(); } @@ -65,6 +74,7 @@ class Author : public Component { explicit Author(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Author: node" << std::endl; Component::finish(node); } @@ -72,6 +82,7 @@ class Author : public Component { Author(const Author &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Author: copy" << std::endl; *this = other; Component::finish(other); } @@ -80,6 +91,7 @@ class Author : public Component { Author(Author &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Author: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp index 93cf8f488..34c163d1e 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp @@ -33,8 +33,7 @@ class Authors : public Component { { return // children - gnds::Author{} - / ++Child<>("author") + ++Child("author") ; } @@ -51,13 +50,22 @@ class Authors : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->author) - // default, and from fields + // default + Authors() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Authors: default" << std::endl; + Component::finish(); + } + + // from fields explicit Authors( - const wrapper> &author = {} + const wrapper> &author ) : GNDSTK_COMPONENT(BlockData{}), author(this,author) { + std::cout << "ctor: Authors: fields" << std::endl; Component::finish(); } @@ -65,6 +73,7 @@ class Authors : public Component { explicit Authors(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Authors: node" << std::endl; Component::finish(node); } @@ -72,6 +81,7 @@ class Authors : public Component { Authors(const Authors &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Authors: copy" << std::endl; *this = other; Component::finish(other); } @@ -80,6 +90,7 @@ class Authors : public Component { Authors(Authors &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Authors: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp index 2e051e752..7ed59e83d 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp @@ -33,8 +33,7 @@ class BindingEnergy : public Component { { return // children - gnds::Double{} - / --Child<>("Double") + --Child("double") ; } @@ -51,13 +50,22 @@ class BindingEnergy : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + BindingEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: BindingEnergy: default" << std::endl; + Component::finish(); + } + + // from fields explicit BindingEnergy( - const wrapper &Double = {} + const wrapper &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) { + std::cout << "ctor: BindingEnergy: fields" << std::endl; Component::finish(); } @@ -65,6 +73,7 @@ class BindingEnergy : public Component { explicit BindingEnergy(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: BindingEnergy: node" << std::endl; Component::finish(node); } @@ -72,6 +81,7 @@ class BindingEnergy : public Component { BindingEnergy(const BindingEnergy &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: BindingEnergy: copy" << std::endl; *this = other; Component::finish(other); } @@ -80,6 +90,7 @@ class BindingEnergy : public Component { BindingEnergy(BindingEnergy &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: BindingEnergy: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp index 37db4b3f5..102d92443 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp @@ -48,6 +48,7 @@ class Body : public Component { Body() : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Body: default" << std::endl; Component::finish(); } @@ -55,6 +56,7 @@ class Body : public Component { explicit Body(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Body: node" << std::endl; Component::finish(node); } @@ -63,6 +65,7 @@ class Body : public Component { Body(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Body: vector" << std::endl; Component::finish(vector); } @@ -70,6 +73,7 @@ class Body : public Component { Body(const Body &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Body: copy" << std::endl; *this = other; Component::finish(other); } @@ -78,6 +82,7 @@ class Body : public Component { Body(Body &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Body: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp index 05d1934b4..176d7ddc9 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp @@ -40,8 +40,7 @@ class ChemicalElement : public Component { std::string{} / Meta<>("name") | // children - gnds::Atomic{} - / --Child<>("atomic") + --Child("atomic") ; } @@ -66,9 +65,17 @@ class ChemicalElement : public Component { this->name, \ this->atomic) - // default, and from fields + // default + ChemicalElement() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: ChemicalElement: default" << std::endl; + Component::finish(); + } + + // from fields explicit ChemicalElement( - const wrapper &symbol = {}, + const wrapper &symbol, const wrapper &Z = {}, const wrapper &name = {}, const wrapper &atomic = {} @@ -79,6 +86,7 @@ class ChemicalElement : public Component { name(this,name), atomic(this,atomic) { + std::cout << "ctor: ChemicalElement: fields" << std::endl; Component::finish(); } @@ -86,6 +94,7 @@ class ChemicalElement : public Component { explicit ChemicalElement(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: ChemicalElement: node" << std::endl; Component::finish(node); } @@ -93,6 +102,7 @@ class ChemicalElement : public Component { ChemicalElement(const ChemicalElement &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: ChemicalElement: copy" << std::endl; *this = other; Component::finish(other); } @@ -101,6 +111,7 @@ class ChemicalElement : public Component { ChemicalElement(ChemicalElement &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: ChemicalElement: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp index e5bea18ae..86e9fbd02 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp @@ -33,8 +33,7 @@ class ChemicalElements : public Component { { return // children - gnds::ChemicalElement{} - / ++Child<>("chemicalElement") + ++Child("chemicalElement") ; } @@ -51,13 +50,22 @@ class ChemicalElements : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->chemicalElement) - // default, and from fields + // default + ChemicalElements() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: ChemicalElements: default" << std::endl; + Component::finish(); + } + + // from fields explicit ChemicalElements( - const wrapper> &chemicalElement = {} + const wrapper> &chemicalElement ) : GNDSTK_COMPONENT(BlockData{}), chemicalElement(this,chemicalElement) { + std::cout << "ctor: ChemicalElements: fields" << std::endl; Component::finish(); } @@ -65,6 +73,7 @@ class ChemicalElements : public Component { explicit ChemicalElements(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: ChemicalElements: node" << std::endl; Component::finish(node); } @@ -72,6 +81,7 @@ class ChemicalElements : public Component { ChemicalElements(const ChemicalElements &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: ChemicalElements: copy" << std::endl; *this = other; Component::finish(other); } @@ -80,6 +90,7 @@ class ChemicalElements : public Component { ChemicalElements(ChemicalElements &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: ChemicalElements: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp index c1923c9d2..274a507fe 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp @@ -5,7 +5,7 @@ #ifndef CODE_V2_0_GNDS_CONFIGURATION #define CODE_V2_0_GNDS_CONFIGURATION -#include "code/v2.0/key.hpp" +#include "code/v2.0/gnds/BindingEnergy.hpp" namespace code { namespace v2_0 { @@ -36,7 +36,9 @@ class Configuration : public Component { std::string{} / Meta<>("subshell") | std::string{} - / Meta<>("electronNumber") + / Meta<>("electronNumber") | + // children + --Child("bindingEnergy") ; } @@ -47,23 +49,38 @@ class Configuration : public Component { Field subshell{this}; Field electronNumber{this}; + // children + Field bindingEnergy{this}; + // ------------------------ // Constructors // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->subshell, \ - this->electronNumber) + this->electronNumber, \ + this->bindingEnergy) + + // default + Configuration() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Configuration: default" << std::endl; + Component::finish(); + } - // default, and from fields + // from fields explicit Configuration( - const wrapper &subshell = {}, - const wrapper &electronNumber = {} + const wrapper &subshell, + const wrapper &electronNumber = {}, + const wrapper &bindingEnergy = {} ) : GNDSTK_COMPONENT(BlockData{}), subshell(this,subshell), - electronNumber(this,electronNumber) + electronNumber(this,electronNumber), + bindingEnergy(this,bindingEnergy) { + std::cout << "ctor: Configuration: fields" << std::endl; Component::finish(); } @@ -71,6 +88,7 @@ class Configuration : public Component { explicit Configuration(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Configuration: node" << std::endl; Component::finish(node); } @@ -78,6 +96,7 @@ class Configuration : public Component { Configuration(const Configuration &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Configuration: copy" << std::endl; *this = other; Component::finish(other); } @@ -86,6 +105,7 @@ class Configuration : public Component { Configuration(Configuration &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Configuration: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp index 0ba400f34..8f30edfd2 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp @@ -33,8 +33,7 @@ class Configurations : public Component { { return // children - gnds::Configuration{} - / ++Child<>("configuration") + ++Child("configuration") ; } @@ -51,13 +50,22 @@ class Configurations : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->configuration) - // default, and from fields + // default + Configurations() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Configurations: default" << std::endl; + Component::finish(); + } + + // from fields explicit Configurations( - const wrapper> &configuration = {} + const wrapper> &configuration ) : GNDSTK_COMPONENT(BlockData{}), configuration(this,configuration) { + std::cout << "ctor: Configurations: fields" << std::endl; Component::finish(); } @@ -65,6 +73,7 @@ class Configurations : public Component { explicit Configurations(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Configurations: node" << std::endl; Component::finish(node); } @@ -72,6 +81,7 @@ class Configurations : public Component { Configurations(const Configurations &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Configurations: copy" << std::endl; *this = other; Component::finish(other); } @@ -80,6 +90,7 @@ class Configurations : public Component { Configurations(Configurations &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Configurations: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp index 25b470cc7..b2dc1f879 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp @@ -55,15 +55,24 @@ class Date : public Component { this->value, \ this->dateType) - // default, and from fields + // default + Date() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Date: default" << std::endl; + Component::finish(); + } + + // from fields explicit Date( - const wrapper &value = {}, + const wrapper &value, const wrapper &dateType = {} ) : GNDSTK_COMPONENT(BlockData{}), value(this,value), dateType(this,dateType) { + std::cout << "ctor: Date: fields" << std::endl; Component::finish(); } @@ -71,6 +80,7 @@ class Date : public Component { explicit Date(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Date: node" << std::endl; Component::finish(node); } @@ -78,6 +88,7 @@ class Date : public Component { Date(const Date &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Date: copy" << std::endl; *this = other; Component::finish(other); } @@ -86,6 +97,7 @@ class Date : public Component { Date(Date &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Date: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp index 3449e1ae5..c02a78687 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp @@ -33,8 +33,7 @@ class Dates : public Component { { return // children - gnds::Date{} - / ++Child<>("date") + ++Child("date") ; } @@ -51,13 +50,22 @@ class Dates : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->date) - // default, and from fields + // default + Dates() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Dates: default" << std::endl; + Component::finish(); + } + + // from fields explicit Dates( - const wrapper> &date = {} + const wrapper> &date ) : GNDSTK_COMPONENT(BlockData{}), date(this,date) { + std::cout << "ctor: Dates: fields" << std::endl; Component::finish(); } @@ -65,6 +73,7 @@ class Dates : public Component { explicit Dates(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Dates: node" << std::endl; Component::finish(node); } @@ -72,6 +81,7 @@ class Dates : public Component { Dates(const Dates &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Dates: copy" << std::endl; *this = other; Component::finish(other); } @@ -80,6 +90,7 @@ class Dates : public Component { Dates(Dates &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Dates: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp index 64213e709..a8255ead5 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp @@ -37,16 +37,11 @@ class Documentation : public Component { { return // children - gnds::Authors{} - / --Child<>("authors") | - gnds::Dates{} - / --Child<>("dates") | - gnds::Title{} - / --Child<>("title") | - gnds::Body{} - / --Child<>("body") | - gnds::EndfCompatible{} - / --Child<>("endfCompatible") + --Child("authors") | + --Child("dates") | + --Child("title") | + --Child("body") | + --Child("endfCompatible") ; } @@ -71,9 +66,17 @@ class Documentation : public Component { this->body, \ this->endfCompatible) - // default, and from fields + // default + Documentation() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Documentation: default" << std::endl; + Component::finish(); + } + + // from fields explicit Documentation( - const wrapper &authors = {}, + const wrapper &authors, const wrapper &dates = {}, const wrapper &title = {}, const wrapper &body = {}, @@ -86,6 +89,7 @@ class Documentation : public Component { body(this,body), endfCompatible(this,endfCompatible) { + std::cout << "ctor: Documentation: fields" << std::endl; Component::finish(); } @@ -93,6 +97,7 @@ class Documentation : public Component { explicit Documentation(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Documentation: node" << std::endl; Component::finish(node); } @@ -100,6 +105,7 @@ class Documentation : public Component { Documentation(const Documentation &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Documentation: copy" << std::endl; *this = other; Component::finish(other); } @@ -108,6 +114,7 @@ class Documentation : public Component { Documentation(Documentation &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Documentation: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp index cb5e470b0..54561130e 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp @@ -59,9 +59,17 @@ class Double : public Component { this->value, \ this->unit) - // default, and from fields + // default + Double() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Double: default" << std::endl; + Component::finish(); + } + + // from fields explicit Double( - const wrapper &label = {}, + const wrapper &label, const wrapper &value = {}, const wrapper &unit = {} ) : @@ -70,6 +78,7 @@ class Double : public Component { value(this,value), unit(this,unit) { + std::cout << "ctor: Double: fields" << std::endl; Component::finish(); } @@ -77,6 +86,7 @@ class Double : public Component { explicit Double(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Double: node" << std::endl; Component::finish(node); } @@ -84,6 +94,7 @@ class Double : public Component { Double(const Double &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Double: copy" << std::endl; *this = other; Component::finish(other); } @@ -92,6 +103,7 @@ class Double : public Component { Double(Double &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Double: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp index e3eb951e8..6f79cb3d9 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp @@ -48,6 +48,7 @@ class EndfCompatible : public Component { EndfCompatible() : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: EndfCompatible: default" << std::endl; Component::finish(); } @@ -55,6 +56,7 @@ class EndfCompatible : public Component { explicit EndfCompatible(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: EndfCompatible: node" << std::endl; Component::finish(node); } @@ -63,6 +65,7 @@ class EndfCompatible : public Component { EndfCompatible(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: EndfCompatible: vector" << std::endl; Component::finish(vector); } @@ -70,6 +73,7 @@ class EndfCompatible : public Component { EndfCompatible(const EndfCompatible &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: EndfCompatible: copy" << std::endl; *this = other; Component::finish(other); } @@ -78,6 +82,7 @@ class EndfCompatible : public Component { EndfCompatible(EndfCompatible &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: EndfCompatible: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp index a7440f17a..53d7699ed 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp @@ -42,8 +42,7 @@ class Evaluated : public Component { std::string{} / Meta<>("version") | // children - gnds::Documentation{} - / --Child<>("documentation") + --Child("documentation") ; } @@ -70,9 +69,17 @@ class Evaluated : public Component { this->version, \ this->documentation) - // default, and from fields + // default + Evaluated() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Evaluated: default" << std::endl; + Component::finish(); + } + + // from fields explicit Evaluated( - const wrapper &label = {}, + const wrapper &label, const wrapper &date = {}, const wrapper &library = {}, const wrapper &version = {}, @@ -85,6 +92,7 @@ class Evaluated : public Component { version(this,version), documentation(this,documentation) { + std::cout << "ctor: Evaluated: fields" << std::endl; Component::finish(); } @@ -92,6 +100,7 @@ class Evaluated : public Component { explicit Evaluated(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Evaluated: node" << std::endl; Component::finish(node); } @@ -99,6 +108,7 @@ class Evaluated : public Component { Evaluated(const Evaluated &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Evaluated: copy" << std::endl; *this = other; Component::finish(other); } @@ -107,6 +117,7 @@ class Evaluated : public Component { Evaluated(Evaluated &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Evaluated: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp index 5fdff03c5..286131b0c 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp @@ -41,10 +41,8 @@ class PoPs : public Component { std::string{} / Meta<>("format") | // children - gnds::Styles{} - / --Child<>("styles") | - gnds::ChemicalElements{} - / --Child<>("chemicalElements") + --Child("styles") | + --Child("chemicalElements") ; } @@ -71,9 +69,17 @@ class PoPs : public Component { this->styles, \ this->chemicalElements) - // default, and from fields + // default + PoPs() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: PoPs: default" << std::endl; + Component::finish(); + } + + // from fields explicit PoPs( - const wrapper &name = {}, + const wrapper &name, const wrapper &version = {}, const wrapper &format = {}, const wrapper &styles = {}, @@ -86,6 +92,7 @@ class PoPs : public Component { styles(this,styles), chemicalElements(this,chemicalElements) { + std::cout << "ctor: PoPs: fields" << std::endl; Component::finish(); } @@ -93,6 +100,7 @@ class PoPs : public Component { explicit PoPs(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: PoPs: node" << std::endl; Component::finish(node); } @@ -100,6 +108,7 @@ class PoPs : public Component { PoPs(const PoPs &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: PoPs: copy" << std::endl; *this = other; Component::finish(other); } @@ -108,6 +117,7 @@ class PoPs : public Component { PoPs(PoPs &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: PoPs: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp index dba7f324c..e9aef7856 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp @@ -33,8 +33,7 @@ class Styles : public Component { { return // children - gnds::Evaluated{} - / --Child<>("evaluated") + --Child("evaluated") ; } @@ -51,13 +50,22 @@ class Styles : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->evaluated) - // default, and from fields + // default + Styles() : + GNDSTK_COMPONENT(BlockData{}) + { + std::cout << "ctor: Styles: default" << std::endl; + Component::finish(); + } + + // from fields explicit Styles( - const wrapper &evaluated = {} + const wrapper &evaluated ) : GNDSTK_COMPONENT(BlockData{}), evaluated(this,evaluated) { + std::cout << "ctor: Styles: fields" << std::endl; Component::finish(); } @@ -65,6 +73,7 @@ class Styles : public Component { explicit Styles(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Styles: node" << std::endl; Component::finish(node); } @@ -72,6 +81,7 @@ class Styles : public Component { Styles(const Styles &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Styles: copy" << std::endl; *this = other; Component::finish(other); } @@ -80,6 +90,7 @@ class Styles : public Component { Styles(Styles &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Styles: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp index 8b30adebd..255fe3262 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp @@ -48,6 +48,7 @@ class Title : public Component { Title() : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Title: default" << std::endl; Component::finish(); } @@ -55,6 +56,7 @@ class Title : public Component { explicit Title(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Title: node" << std::endl; Component::finish(node); } @@ -63,6 +65,7 @@ class Title : public Component { Title(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { + std::cout << "ctor: Title: vector" << std::endl; Component::finish(vector); } @@ -70,6 +73,7 @@ class Title : public Component { Title(const Title &other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Title: copy" << std::endl; *this = other; Component::finish(other); } @@ -78,6 +82,7 @@ class Title : public Component { Title(Title &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { + std::cout << "ctor: Title: move" << std::endl; *this = std::move(other); Component::finish(other); } diff --git a/standards/incremental/example/.gitignore b/standards/incremental/example/.gitignore index 1c8f805cf..34cd43aee 100644 --- a/standards/incremental/example/.gitignore +++ b/standards/incremental/example/.gitignore @@ -5,3 +5,5 @@ pugixml.o *.xml *.out out +h +notes diff --git a/standards/incremental/example/0.cpp b/standards/incremental/example/0.cpp index 2b781b765..0fc6e4357 100644 --- a/standards/incremental/example/0.cpp +++ b/standards/incremental/example/0.cpp @@ -4,51 +4,108 @@ using namespace njoy::GNDStk; using namespace code::v2_0; +void print() +{ + std::cout << std::endl; +} + +template +void print(const T &value) +{ + std::cout << value << std::endl; +} + +// ----------------------------------------------------------------------------- +// typeof +// ----------------------------------------------------------------------------- + +#include +#include + +// typeof +template +inline void typeof(const T &) +{ + std::cout << boost::core::demangle(typeid(T).name()) << std::endl; +} + +#if 0 + typeof(gnds::PoPs::KEYS()); + typeof(gnds::PoPs::KEYS().tup); +#endif + +// ----------------------------------------------------------------------------- +// main +// ----------------------------------------------------------------------------- + int main(const int argc, const char *const *const argv) { + print(); + // for printing color = true; comments = false; - /* + // documentation: default construction + print("1"); + gnds::Documentation d; + print("2"); + // usage if (argc < 2) { std::cout << "Usage: " << argv[0] << " file ..." << std::endl; exit(EXIT_FAILURE); } - */ - std::cout << "1" << std::endl; - gnds::Documentation d; - std::cout << "2" << std::endl; +#if 0 + // speed test: read + for (int n = 1; n < argc; ++n) { + const std::string filename = argv[n]; + std::cout << "\nFile: \"" << filename << '"' << std::endl; + + gnds::PoPs pops; + for (int n = 0; n < 100000; ++n) + pops.read(filename); + } +#endif + +#if 0 + // speed test: construct from node + for (int n = 1; n < argc; ++n) { + const std::string filename = argv[n]; + std::cout << "\nFile: \"" << filename << '"' << std::endl; + + Node node; + node.read(filename); + for (int n = 0; n < 100000; ++n) + gnds::PoPs pops(node); + } +#endif // files for (int n = 1; n < argc; ++n) { const std::string filename = argv[n]; - std::cout << "File: \"" << filename << '"' << std::endl; + std::cout << "\nFile: \"" << filename << '"' << std::endl; - /* // The following doesn't do what we might intend. Rather, it calls // PoPs' default constructor. Think about this...it could prove to - // be something that could trip up our users. - // gnds::PoPs p(filename); - - // The CORRECT way to do this: - for (int n = 0; n < 10; ++n) { - static gnds::PoPs p; - p.read(filename); - p.print(); - } - */ + // be something that confuses users. + // gnds::PoPs p(filename); + // CORRECT WAY: + print("1"); + gnds::PoPs p; + print("2"); + + print(); + + print("read begin"); + p.read(filename); + print("read end"); /* - std::cout << "1" << std::endl; - gnds::Documentation d; - std::cout << "2" << std::endl; - d.read(filename); - std::cout << "3" << std::endl; - d.print(); - std::cout << "4" << std::endl; + print(); + p.print(); + print(); */ } } diff --git a/standards/incremental/incremental-classes.json b/standards/incremental/incremental-classes.json index 98b1a3a9d..2b0844fa7 100644 --- a/standards/incremental/incremental-classes.json +++ b/standards/incremental/incremental-classes.json @@ -217,10 +217,9 @@ "type": "string" } }, - "children": {}, - "// THIS SHOULD BE AN ERROR (itself-circular!)... children": { - "configuration": { - "times": "1+", + "children": { + "bindingEnergy": { + "times": "1", "required": true } } From 856aac0939d79724995bb22a5de1a60dafc2ca37 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Sat, 29 Oct 2022 16:48:59 -0600 Subject: [PATCH 207/235] Code generator updates, and updating some generated example code. --- autogen/json2class.cpp | 60 +++++++++++++++++-- src/GNDStk/Node/src/detail.hpp | 2 +- .../code/src/code/v2.0/gnds/Atomic.hpp | 21 ++++++- .../code/src/code/v2.0/gnds/Author.hpp | 21 ++++++- .../code/src/code/v2.0/gnds/Authors.hpp | 21 ++++++- .../code/src/code/v2.0/gnds/BindingEnergy.hpp | 21 ++++++- .../code/src/code/v2.0/gnds/Body.hpp | 19 +++++- .../src/code/v2.0/gnds/ChemicalElement.hpp | 27 ++++++++- .../src/code/v2.0/gnds/ChemicalElements.hpp | 21 ++++++- .../code/src/code/v2.0/gnds/Configuration.hpp | 25 +++++++- .../src/code/v2.0/gnds/Configurations.hpp | 21 ++++++- .../code/src/code/v2.0/gnds/Date.hpp | 23 ++++++- .../code/src/code/v2.0/gnds/Dates.hpp | 21 ++++++- .../code/src/code/v2.0/gnds/Documentation.hpp | 29 ++++++++- .../code/src/code/v2.0/gnds/Double.hpp | 25 +++++++- .../src/code/v2.0/gnds/EndfCompatible.hpp | 19 +++++- .../code/src/code/v2.0/gnds/Evaluated.hpp | 29 ++++++++- .../code/src/code/v2.0/gnds/PoPs.hpp | 29 ++++++++- .../code/src/code/v2.0/gnds/Styles.hpp | 21 ++++++- .../code/src/code/v2.0/gnds/Title.hpp | 19 +++++- 20 files changed, 433 insertions(+), 41 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 5ca753c5f..8f626c237 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -14,8 +14,8 @@ const bool singletons = true; // Extra debug/informational printing? const bool debugging = false; -// Put print statement in constructor calls. For debugging. -const bool printCtorCalls = false; +// Put print statements in constructor and assignment calls. For debugging. +const bool printCtorCalls = true; // ----------------------------------------------------------------------------- @@ -1052,16 +1052,65 @@ void writeClassForComponent(writer &out, const PerClass &per) void writeClassSuffix( writer &out, const PerClass &per, const InfoSpecs &specs ) { + // ------------------------ // assignment + // ------------------------ + out(); out(1,smallComment); out(1,"// Assignment operators"); out(1,smallComment); out(); - out(1,"@ &operator=(const @ &) = default;", per.clname, per.clname); - out(1,"@ &operator=(@ &&) = default;", per.clname, per.clname); + if (printCtorCalls) { + // copy + out(1,"// copy"); + out(1,"@ &operator=(const @ &other)", per.clname, per.clname); + out(1,"{"); + out(2,"if (this != &other) {"); + if (per.nfields() > 0) { + for (const auto &m : per.metadata) + out(3,"@ = other.@;", m.name, m.name); + for (const auto &c : per.children) + out(3,"@ = other.@;", c.name, c.name); + for (const auto &v : per.variants) + out(3,"@ = other.@;", v.name, v.name); + } + out(2,"}"); + out(2,"std::cout << \"assign: @: copy\" << std::endl;", per.clname); + out(2,"return *this;"); + out(1,"}"); + out(); + + // move + out(1,"// move"); + out(1,"@ &operator=(@ &&other)", per.clname, per.clname); + out(1,"{"); + out(2,"if (this != &other) {"); + if (per.nfields() > 0) { + for (const auto &m : per.metadata) + out(3,"@ = std::move(other.@);", m.name, m.name); + for (const auto &c : per.children) + out(3,"@ = std::move(other.@);", c.name, c.name); + for (const auto &v : per.variants) + out(3,"@ = std::move(other.@);", v.name, v.name); + } + out(2,"}"); + out(2,"std::cout << \"assign: @: move\" << std::endl;", per.clname); + out(2,"return *this;"); + out(1,"}"); + + } else { + // copy + out(1,"@ &operator=(const @ &) = default;", per.clname, per.clname); + // move + out(1,"@ &operator=(@ &&) = default;", per.clname, per.clname); + } + + // ------------------------ // customization #include + // ------------------------ + out(); out(1,smallComment); out(1,"// Custom functionality"); @@ -1073,7 +1122,10 @@ void writeClassSuffix( // this *follows* the customization #include (because it might be used there) out(1,"#undef GNDSTK_COMPONENT"); + // ------------------------ // class+namespace end + // ------------------------ + out("}; // class @", per.clname); out(); out("} // namespace @", per.nsname); diff --git a/src/GNDStk/Node/src/detail.hpp b/src/GNDStk/Node/src/detail.hpp index 8e082fd0b..ba5527dbf 100644 --- a/src/GNDStk/Node/src/detail.hpp +++ b/src/GNDStk/Node/src/detail.hpp @@ -191,7 +191,7 @@ class apply_converter { // to be? We create obj, then convert node ==> obj, then do nothing // with obj. Am I missing something, and/or not testing something that // should be tested? -MFS - static TYPE obj = kwd.placeholder; + static TYPE obj; kwd.converter(node,obj); } }; diff --git a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp index e50a02154..7cbf6be40 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp @@ -99,8 +99,25 @@ class Atomic : public Component { // Assignment operators // ------------------------ - Atomic &operator=(const Atomic &) = default; - Atomic &operator=(Atomic &&) = default; + // copy + Atomic &operator=(const Atomic &other) + { + if (this != &other) { + configurations = other.configurations; + } + std::cout << "assign: Atomic: copy" << std::endl; + return *this; + } + + // move + Atomic &operator=(Atomic &&other) + { + if (this != &other) { + configurations = std::move(other.configurations); + } + std::cout << "assign: Atomic: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp index 896fd7cc1..e6665d2bd 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp @@ -100,8 +100,25 @@ class Author : public Component { // Assignment operators // ------------------------ - Author &operator=(const Author &) = default; - Author &operator=(Author &&) = default; + // copy + Author &operator=(const Author &other) + { + if (this != &other) { + name = other.name; + } + std::cout << "assign: Author: copy" << std::endl; + return *this; + } + + // move + Author &operator=(Author &&other) + { + if (this != &other) { + name = std::move(other.name); + } + std::cout << "assign: Author: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp index 34c163d1e..fb4a0cd1f 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp @@ -99,8 +99,25 @@ class Authors : public Component { // Assignment operators // ------------------------ - Authors &operator=(const Authors &) = default; - Authors &operator=(Authors &&) = default; + // copy + Authors &operator=(const Authors &other) + { + if (this != &other) { + author = other.author; + } + std::cout << "assign: Authors: copy" << std::endl; + return *this; + } + + // move + Authors &operator=(Authors &&other) + { + if (this != &other) { + author = std::move(other.author); + } + std::cout << "assign: Authors: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp index 7ed59e83d..a7d07f761 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp @@ -99,8 +99,25 @@ class BindingEnergy : public Component { // Assignment operators // ------------------------ - BindingEnergy &operator=(const BindingEnergy &) = default; - BindingEnergy &operator=(BindingEnergy &&) = default; + // copy + BindingEnergy &operator=(const BindingEnergy &other) + { + if (this != &other) { + Double = other.Double; + } + std::cout << "assign: BindingEnergy: copy" << std::endl; + return *this; + } + + // move + BindingEnergy &operator=(BindingEnergy &&other) + { + if (this != &other) { + Double = std::move(other.Double); + } + std::cout << "assign: BindingEnergy: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp index 102d92443..9bcfc33cc 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp @@ -91,8 +91,23 @@ class Body : public Component { // Assignment operators // ------------------------ - Body &operator=(const Body &) = default; - Body &operator=(Body &&) = default; + // copy + Body &operator=(const Body &other) + { + if (this != &other) { + } + std::cout << "assign: Body: copy" << std::endl; + return *this; + } + + // move + Body &operator=(Body &&other) + { + if (this != &other) { + } + std::cout << "assign: Body: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp index 176d7ddc9..1ef336779 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp @@ -120,8 +120,31 @@ class ChemicalElement : public Component { // Assignment operators // ------------------------ - ChemicalElement &operator=(const ChemicalElement &) = default; - ChemicalElement &operator=(ChemicalElement &&) = default; + // copy + ChemicalElement &operator=(const ChemicalElement &other) + { + if (this != &other) { + symbol = other.symbol; + Z = other.Z; + name = other.name; + atomic = other.atomic; + } + std::cout << "assign: ChemicalElement: copy" << std::endl; + return *this; + } + + // move + ChemicalElement &operator=(ChemicalElement &&other) + { + if (this != &other) { + symbol = std::move(other.symbol); + Z = std::move(other.Z); + name = std::move(other.name); + atomic = std::move(other.atomic); + } + std::cout << "assign: ChemicalElement: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp index 86e9fbd02..13dbb18c1 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp @@ -99,8 +99,25 @@ class ChemicalElements : public Component { // Assignment operators // ------------------------ - ChemicalElements &operator=(const ChemicalElements &) = default; - ChemicalElements &operator=(ChemicalElements &&) = default; + // copy + ChemicalElements &operator=(const ChemicalElements &other) + { + if (this != &other) { + chemicalElement = other.chemicalElement; + } + std::cout << "assign: ChemicalElements: copy" << std::endl; + return *this; + } + + // move + ChemicalElements &operator=(ChemicalElements &&other) + { + if (this != &other) { + chemicalElement = std::move(other.chemicalElement); + } + std::cout << "assign: ChemicalElements: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp index 274a507fe..d54a37e01 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp @@ -114,8 +114,29 @@ class Configuration : public Component { // Assignment operators // ------------------------ - Configuration &operator=(const Configuration &) = default; - Configuration &operator=(Configuration &&) = default; + // copy + Configuration &operator=(const Configuration &other) + { + if (this != &other) { + subshell = other.subshell; + electronNumber = other.electronNumber; + bindingEnergy = other.bindingEnergy; + } + std::cout << "assign: Configuration: copy" << std::endl; + return *this; + } + + // move + Configuration &operator=(Configuration &&other) + { + if (this != &other) { + subshell = std::move(other.subshell); + electronNumber = std::move(other.electronNumber); + bindingEnergy = std::move(other.bindingEnergy); + } + std::cout << "assign: Configuration: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp index 8f30edfd2..bc7912e54 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp @@ -99,8 +99,25 @@ class Configurations : public Component { // Assignment operators // ------------------------ - Configurations &operator=(const Configurations &) = default; - Configurations &operator=(Configurations &&) = default; + // copy + Configurations &operator=(const Configurations &other) + { + if (this != &other) { + configuration = other.configuration; + } + std::cout << "assign: Configurations: copy" << std::endl; + return *this; + } + + // move + Configurations &operator=(Configurations &&other) + { + if (this != &other) { + configuration = std::move(other.configuration); + } + std::cout << "assign: Configurations: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp index b2dc1f879..360f90f81 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp @@ -106,8 +106,27 @@ class Date : public Component { // Assignment operators // ------------------------ - Date &operator=(const Date &) = default; - Date &operator=(Date &&) = default; + // copy + Date &operator=(const Date &other) + { + if (this != &other) { + value = other.value; + dateType = other.dateType; + } + std::cout << "assign: Date: copy" << std::endl; + return *this; + } + + // move + Date &operator=(Date &&other) + { + if (this != &other) { + value = std::move(other.value); + dateType = std::move(other.dateType); + } + std::cout << "assign: Date: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp index c02a78687..357391146 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp @@ -99,8 +99,25 @@ class Dates : public Component { // Assignment operators // ------------------------ - Dates &operator=(const Dates &) = default; - Dates &operator=(Dates &&) = default; + // copy + Dates &operator=(const Dates &other) + { + if (this != &other) { + date = other.date; + } + std::cout << "assign: Dates: copy" << std::endl; + return *this; + } + + // move + Dates &operator=(Dates &&other) + { + if (this != &other) { + date = std::move(other.date); + } + std::cout << "assign: Dates: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp index a8255ead5..90025f2a9 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp @@ -123,8 +123,33 @@ class Documentation : public Component { // Assignment operators // ------------------------ - Documentation &operator=(const Documentation &) = default; - Documentation &operator=(Documentation &&) = default; + // copy + Documentation &operator=(const Documentation &other) + { + if (this != &other) { + authors = other.authors; + dates = other.dates; + title = other.title; + body = other.body; + endfCompatible = other.endfCompatible; + } + std::cout << "assign: Documentation: copy" << std::endl; + return *this; + } + + // move + Documentation &operator=(Documentation &&other) + { + if (this != &other) { + authors = std::move(other.authors); + dates = std::move(other.dates); + title = std::move(other.title); + body = std::move(other.body); + endfCompatible = std::move(other.endfCompatible); + } + std::cout << "assign: Documentation: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp index 54561130e..816972c14 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp @@ -112,8 +112,29 @@ class Double : public Component { // Assignment operators // ------------------------ - Double &operator=(const Double &) = default; - Double &operator=(Double &&) = default; + // copy + Double &operator=(const Double &other) + { + if (this != &other) { + label = other.label; + value = other.value; + unit = other.unit; + } + std::cout << "assign: Double: copy" << std::endl; + return *this; + } + + // move + Double &operator=(Double &&other) + { + if (this != &other) { + label = std::move(other.label); + value = std::move(other.value); + unit = std::move(other.unit); + } + std::cout << "assign: Double: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp index 6f79cb3d9..53083f89f 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp @@ -91,8 +91,23 @@ class EndfCompatible : public Component { // Assignment operators // ------------------------ - EndfCompatible &operator=(const EndfCompatible &) = default; - EndfCompatible &operator=(EndfCompatible &&) = default; + // copy + EndfCompatible &operator=(const EndfCompatible &other) + { + if (this != &other) { + } + std::cout << "assign: EndfCompatible: copy" << std::endl; + return *this; + } + + // move + EndfCompatible &operator=(EndfCompatible &&other) + { + if (this != &other) { + } + std::cout << "assign: EndfCompatible: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp index 53d7699ed..ed95c01cd 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp @@ -126,8 +126,33 @@ class Evaluated : public Component { // Assignment operators // ------------------------ - Evaluated &operator=(const Evaluated &) = default; - Evaluated &operator=(Evaluated &&) = default; + // copy + Evaluated &operator=(const Evaluated &other) + { + if (this != &other) { + label = other.label; + date = other.date; + library = other.library; + version = other.version; + documentation = other.documentation; + } + std::cout << "assign: Evaluated: copy" << std::endl; + return *this; + } + + // move + Evaluated &operator=(Evaluated &&other) + { + if (this != &other) { + label = std::move(other.label); + date = std::move(other.date); + library = std::move(other.library); + version = std::move(other.version); + documentation = std::move(other.documentation); + } + std::cout << "assign: Evaluated: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp index 286131b0c..7b72019eb 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp @@ -126,8 +126,33 @@ class PoPs : public Component { // Assignment operators // ------------------------ - PoPs &operator=(const PoPs &) = default; - PoPs &operator=(PoPs &&) = default; + // copy + PoPs &operator=(const PoPs &other) + { + if (this != &other) { + name = other.name; + version = other.version; + format = other.format; + styles = other.styles; + chemicalElements = other.chemicalElements; + } + std::cout << "assign: PoPs: copy" << std::endl; + return *this; + } + + // move + PoPs &operator=(PoPs &&other) + { + if (this != &other) { + name = std::move(other.name); + version = std::move(other.version); + format = std::move(other.format); + styles = std::move(other.styles); + chemicalElements = std::move(other.chemicalElements); + } + std::cout << "assign: PoPs: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp index e9aef7856..7a7e4812a 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp @@ -99,8 +99,25 @@ class Styles : public Component { // Assignment operators // ------------------------ - Styles &operator=(const Styles &) = default; - Styles &operator=(Styles &&) = default; + // copy + Styles &operator=(const Styles &other) + { + if (this != &other) { + evaluated = other.evaluated; + } + std::cout << "assign: Styles: copy" << std::endl; + return *this; + } + + // move + Styles &operator=(Styles &&other) + { + if (this != &other) { + evaluated = std::move(other.evaluated); + } + std::cout << "assign: Styles: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp index 255fe3262..1677779aa 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp @@ -91,8 +91,23 @@ class Title : public Component { // Assignment operators // ------------------------ - Title &operator=(const Title &) = default; - Title &operator=(Title &&) = default; + // copy + Title &operator=(const Title &other) + { + if (this != &other) { + } + std::cout << "assign: Title: copy" << std::endl; + return *this; + } + + // move + Title &operator=(Title &&other) + { + if (this != &other) { + } + std::cout << "assign: Title: move" << std::endl; + return *this; + } // ------------------------ // Custom functionality From 7448d6d29df68607af39bc2919258453d13ee12f Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 08:18:55 -0700 Subject: [PATCH 208/235] Work in progress, towards making generated classes more efficient. Regenerated some sample classes. --- src/GNDStk/Child.hpp | 135 +++++++++++++++++- src/GNDStk/Child/src/operator.hpp | 6 +- src/GNDStk/Component/test/Component.test.cpp | 2 +- src/GNDStk/Meta/src/detail.hpp | 2 +- src/GNDStk/Node/src/meta.hpp | 6 +- src/GNDStk/or/src/detail.hpp | 7 +- standards/incremental/.gitignore | 1 + .../code/src/code/v2.0/gnds/Atomic.hpp | 14 +- .../code/src/code/v2.0/gnds/Author.hpp | 14 +- .../code/src/code/v2.0/gnds/Authors.hpp | 14 +- .../code/src/code/v2.0/gnds/BindingEnergy.hpp | 14 +- .../code/src/code/v2.0/gnds/Body.hpp | 8 +- .../src/code/v2.0/gnds/ChemicalElement.hpp | 20 ++- .../src/code/v2.0/gnds/ChemicalElements.hpp | 14 +- .../code/src/code/v2.0/gnds/Configuration.hpp | 18 ++- .../src/code/v2.0/gnds/Configurations.hpp | 14 +- .../code/src/code/v2.0/gnds/Date.hpp | 16 ++- .../code/src/code/v2.0/gnds/Dates.hpp | 14 +- .../code/src/code/v2.0/gnds/Documentation.hpp | 22 ++- .../code/src/code/v2.0/gnds/Double.hpp | 18 ++- .../src/code/v2.0/gnds/EndfCompatible.hpp | 8 +- .../code/src/code/v2.0/gnds/Evaluated.hpp | 22 ++- .../code/src/code/v2.0/gnds/PoPs.hpp | 22 ++- .../code/src/code/v2.0/gnds/Styles.hpp | 14 +- .../code/src/code/v2.0/gnds/Title.hpp | 8 +- standards/incremental/example/.gitignore | 1 + 26 files changed, 316 insertions(+), 118 deletions(-) diff --git a/src/GNDStk/Child.hpp b/src/GNDStk/Child.hpp index 7d1119924..febfad0cd 100644 --- a/src/GNDStk/Child.hpp +++ b/src/GNDStk/Child.hpp @@ -1,4 +1,9 @@ +// zzz +namespace detail { + class dummy { }; +} + // ----------------------------------------------------------------------------- // Child // ----------------------------------------------------------------------------- @@ -63,6 +68,7 @@ template< class Child { public: + /* // ------------------------ // data // ------------------------ @@ -99,15 +105,125 @@ class Child { converter(c), filter(f) { } + */ + + // ------------------------ + // data + // ------------------------ + + static const bool defcon = std::is_default_constructible_v; + using PLACEHOLDER = std::conditional_t; + + // name, object, converter, filter + std::string name; + mutable PLACEHOLDER placeholder; + CONVERTER converter; // optional custom converter; needs operator() + FILTER filter; // optional custom filter; needs operator() + + // ------------------------ + // constructors + // ------------------------ + +/* +zzz +Think about what we need... + +------------------------ +CASE 1 +TYPE is default constructible +------------------------ + +In this case, store a dummy, not an instance of the object. + +Allow construction with or without a caller-provided instance. +If caller-provided, ignore the argument! We're just making a dummy. + +------------------------ +CASE 2 +TYPE is NOT default constructible +------------------------ + +In this case, we *must* store an instance of the object, for use elsewhere. + +Require that the caller provide an instance of the object. Emphasis: required! +Copy that over to the stored instance. +*/ + + // If TYPE is NOT default constructible, then we must provide an object + // of type TYPE. So we have: + // name, type + // name, type, converter + // name, type, converter, filter + // as available constructor arguments. + template< + class T = TYPE, + class = std::enable_if_t> + > + explicit Child( + const std::string &n, + const TYPE &t, + const CONVERTER &c = detail::make_once(), + const FILTER &f = detail::make_once() + ) : + name(n), placeholder(t), converter(c), filter(f) + { } + + // If TYPE is default constructible, then we're allowed to provide an object + // of type TYPE, in order to be consistent with the above case, but any such + // value is ignored, as we're not going to store it anyway. So we again have: + // name, type + // name, type, converter + // name, type, converter, filter + // as available constructor arguments. We also allow the ignored argument to + // be of type detail::dummy. This allows for more uniformity here and there, + // for example in Child's one() and many() member functions. + template< + class FROM, + class = std::enable_if_t< + std::is_same_v || + std::is_same_v + >, + class T = TYPE, + class = std::enable_if_t> + > + explicit Child( + const std::string &n, + const FROM &, + const CONVERTER &c = detail::make_once(), + const FILTER &f = detail::make_once() + ) : + name(n), converter(c), filter(f) + { } -#if 0 + // If TYPE is default constructible, then we're allowed to forego the object + // of type TYPE altogether. Here, then, we allow: + // name + // name, converter + // name, converter, filter + // as available constructor arguments. + template< + class T = TYPE, + class = std::enable_if_t> + > + explicit Child( + const std::string &n, + const CONVERTER &c = detail::make_once(), + const FILTER &f = detail::make_once() + ) : + name(n), converter(c), filter(f) + { } + + /* // ------------------------ // data // ------------------------ + static const bool defcon = std::is_default_constructible_v; + using PLACEHOLDER = std::conditional_t; + // name, object, converter, filter std::string name; - mutable TYPE placeholder; + mutable PLACEHOLDER placeholder; CONVERTER converter; // optional custom converter; needs operator() FILTER filter; // optional custom filter; needs operator() @@ -121,13 +237,24 @@ class Child { // name, type, converter, filter explicit Child( const std::string &n, - const TYPE &t = detail::make_once(), + const PLACEHOLDER &t = detail::make_once(), const CONVERTER &c = detail::make_once(), const FILTER &f = detail::make_once() ) : name(n), placeholder(t), converter(c), filter(f) { } -#endif + + // name, converter + // name, converter, filter + explicit Child( + const std::string &n, + ///const PLACEHOLDER &t = detail::make_once(), + const CONVERTER &c = detail::make_once(), + const FILTER &f = detail::make_once() + ) : + name(n), converter(c), filter(f) + { } + */ // ------------------------ // simple functions diff --git a/src/GNDStk/Child/src/operator.hpp b/src/GNDStk/Child/src/operator.hpp index d07c527b2..65d959196 100644 --- a/src/GNDStk/Child/src/operator.hpp +++ b/src/GNDStk/Child/src/operator.hpp @@ -284,7 +284,9 @@ inline auto operator||( return Child,ALLOW,CONVERTER,FILTER>( // both names, space-separated; this gets special treatment elsewhere a.name + " " + b.name, - // need an object, converter, and filter; use the first Child's - a.placeholder, a.converter, a.filter + // we need an object, a converter, and a filter; use the first Child's + a.placeholder, + a.converter, + a.filter ); } diff --git a/src/GNDStk/Component/test/Component.test.cpp b/src/GNDStk/Component/test/Component.test.cpp index a983a1097..593da9097 100644 --- a/src/GNDStk/Component/test/Component.test.cpp +++ b/src/GNDStk/Component/test/Component.test.cpp @@ -153,7 +153,7 @@ SCENARIO("Testing GNDStk Component") { CHECK(der1.NAMESPACE() == std::string("hello")); CHECK(der2.NAMESPACE() == std::string("world")); DerivedData der; - CHECK(der.NAMESPACE() == ""); + CHECK(der.NAMESPACE() == std::string("")); } // Component << string diff --git a/src/GNDStk/Meta/src/detail.hpp b/src/GNDStk/Meta/src/detail.hpp index ca90a2216..fd61a7fb4 100644 --- a/src/GNDStk/Meta/src/detail.hpp +++ b/src/GNDStk/Meta/src/detail.hpp @@ -61,7 +61,7 @@ using default_converter_t = typename default_converter::type; template inline T &make_once() { - static T value{}; + static T value; return value; } diff --git a/src/GNDStk/Node/src/meta.hpp b/src/GNDStk/Node/src/meta.hpp index 5a06ca4d4..71b2c891b 100644 --- a/src/GNDStk/Node/src/meta.hpp +++ b/src/GNDStk/Node/src/meta.hpp @@ -113,8 +113,10 @@ meta( // Local "found", because found == default can lead to exceptions. // We still place in a try{}, in case an exception otherwise arises. bool f; - const TYPE obj = - meta((kwd.placeholder.has_value() ? kwd.placeholder.value() : TYPE{})/kwd, f); + const TYPE obj = meta( + (kwd.placeholder.has_value() ? kwd.placeholder.value() : TYPE{}) / kwd, + f + ); // The "found" status affects our behavior here, but for optional we'll // always *return* with found == true. After all, being optional means // something can be (1) there or (2) not there. That condition is always diff --git a/src/GNDStk/or/src/detail.hpp b/src/GNDStk/or/src/detail.hpp index 1fe6401a0..2a61c6ed0 100644 --- a/src/GNDStk/or/src/detail.hpp +++ b/src/GNDStk/or/src/detail.hpp @@ -2,12 +2,7 @@ namespace detail { // ----------------------------------------------------------------------------- -// Helper classes: -// IsMeta -// IsChild -// IsMetaOrChild -// IsStringOrRegex -// for SFINAE. +// Helper classes for SFINAE // ----------------------------------------------------------------------------- // ------------------------ diff --git a/standards/incremental/.gitignore b/standards/incremental/.gitignore index 05f772216..779b5ea55 100644 --- a/standards/incremental/.gitignore +++ b/standards/incremental/.gitignore @@ -1,3 +1,4 @@ json2class.exe old.json +j diff --git a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp index 7cbf6be40..a99076c93 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp @@ -79,19 +79,19 @@ class Atomic : public Component { // copy Atomic(const Atomic &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + configurations(this,other.configurations) { std::cout << "ctor: Atomic: copy" << std::endl; - *this = other; Component::finish(other); } // move Atomic(Atomic &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + configurations(this,std::move(other.configurations)) { std::cout << "ctor: Atomic: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -103,9 +103,10 @@ class Atomic : public Component { Atomic &operator=(const Atomic &other) { if (this != &other) { + std::cout << "assign: Atomic: copy" << std::endl; + Component::operator=(other); configurations = other.configurations; } - std::cout << "assign: Atomic: copy" << std::endl; return *this; } @@ -113,9 +114,10 @@ class Atomic : public Component { Atomic &operator=(Atomic &&other) { if (this != &other) { + std::cout << "assign: Atomic: move" << std::endl; + Component::operator=(std::move(other)); configurations = std::move(other.configurations); } - std::cout << "assign: Atomic: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp index e6665d2bd..2803c0932 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp @@ -80,19 +80,19 @@ class Author : public Component { // copy Author(const Author &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name) { std::cout << "ctor: Author: copy" << std::endl; - *this = other; Component::finish(other); } // move Author(Author &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)) { std::cout << "ctor: Author: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -104,9 +104,10 @@ class Author : public Component { Author &operator=(const Author &other) { if (this != &other) { + std::cout << "assign: Author: copy" << std::endl; + Component::operator=(other); name = other.name; } - std::cout << "assign: Author: copy" << std::endl; return *this; } @@ -114,9 +115,10 @@ class Author : public Component { Author &operator=(Author &&other) { if (this != &other) { + std::cout << "assign: Author: move" << std::endl; + Component::operator=(std::move(other)); name = std::move(other.name); } - std::cout << "assign: Author: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp index fb4a0cd1f..e6a39d8db 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp @@ -79,19 +79,19 @@ class Authors : public Component { // copy Authors(const Authors &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + author(this,other.author) { std::cout << "ctor: Authors: copy" << std::endl; - *this = other; Component::finish(other); } // move Authors(Authors &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + author(this,std::move(other.author)) { std::cout << "ctor: Authors: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -103,9 +103,10 @@ class Authors : public Component { Authors &operator=(const Authors &other) { if (this != &other) { + std::cout << "assign: Authors: copy" << std::endl; + Component::operator=(other); author = other.author; } - std::cout << "assign: Authors: copy" << std::endl; return *this; } @@ -113,9 +114,10 @@ class Authors : public Component { Authors &operator=(Authors &&other) { if (this != &other) { + std::cout << "assign: Authors: move" << std::endl; + Component::operator=(std::move(other)); author = std::move(other.author); } - std::cout << "assign: Authors: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp index a7d07f761..7bb9e24d9 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp @@ -79,19 +79,19 @@ class BindingEnergy : public Component { // copy BindingEnergy(const BindingEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { std::cout << "ctor: BindingEnergy: copy" << std::endl; - *this = other; Component::finish(other); } // move BindingEnergy(BindingEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { std::cout << "ctor: BindingEnergy: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -103,9 +103,10 @@ class BindingEnergy : public Component { BindingEnergy &operator=(const BindingEnergy &other) { if (this != &other) { + std::cout << "assign: BindingEnergy: copy" << std::endl; + Component::operator=(other); Double = other.Double; } - std::cout << "assign: BindingEnergy: copy" << std::endl; return *this; } @@ -113,9 +114,10 @@ class BindingEnergy : public Component { BindingEnergy &operator=(BindingEnergy &&other) { if (this != &other) { + std::cout << "assign: BindingEnergy: move" << std::endl; + Component::operator=(std::move(other)); Double = std::move(other.Double); } - std::cout << "assign: BindingEnergy: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp index 9bcfc33cc..b650ac5d2 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp @@ -74,7 +74,6 @@ class Body : public Component { GNDSTK_COMPONENT(other.baseBlockData()) { std::cout << "ctor: Body: copy" << std::endl; - *this = other; Component::finish(other); } @@ -83,7 +82,6 @@ class Body : public Component { GNDSTK_COMPONENT(other.baseBlockData()) { std::cout << "ctor: Body: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -95,8 +93,9 @@ class Body : public Component { Body &operator=(const Body &other) { if (this != &other) { + std::cout << "assign: Body: copy" << std::endl; + Component::operator=(other); } - std::cout << "assign: Body: copy" << std::endl; return *this; } @@ -104,8 +103,9 @@ class Body : public Component { Body &operator=(Body &&other) { if (this != &other) { + std::cout << "assign: Body: move" << std::endl; + Component::operator=(std::move(other)); } - std::cout << "assign: Body: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp index 1ef336779..8f75ecd1c 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp @@ -100,19 +100,25 @@ class ChemicalElement : public Component { // copy ChemicalElement(const ChemicalElement &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + symbol(this,other.symbol), + Z(this,other.Z), + name(this,other.name), + atomic(this,other.atomic) { std::cout << "ctor: ChemicalElement: copy" << std::endl; - *this = other; Component::finish(other); } // move ChemicalElement(ChemicalElement &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + symbol(this,std::move(other.symbol)), + Z(this,std::move(other.Z)), + name(this,std::move(other.name)), + atomic(this,std::move(other.atomic)) { std::cout << "ctor: ChemicalElement: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -124,12 +130,13 @@ class ChemicalElement : public Component { ChemicalElement &operator=(const ChemicalElement &other) { if (this != &other) { + std::cout << "assign: ChemicalElement: copy" << std::endl; + Component::operator=(other); symbol = other.symbol; Z = other.Z; name = other.name; atomic = other.atomic; } - std::cout << "assign: ChemicalElement: copy" << std::endl; return *this; } @@ -137,12 +144,13 @@ class ChemicalElement : public Component { ChemicalElement &operator=(ChemicalElement &&other) { if (this != &other) { + std::cout << "assign: ChemicalElement: move" << std::endl; + Component::operator=(std::move(other)); symbol = std::move(other.symbol); Z = std::move(other.Z); name = std::move(other.name); atomic = std::move(other.atomic); } - std::cout << "assign: ChemicalElement: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp index 13dbb18c1..a2cb91f1c 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp @@ -79,19 +79,19 @@ class ChemicalElements : public Component { // copy ChemicalElements(const ChemicalElements &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + chemicalElement(this,other.chemicalElement) { std::cout << "ctor: ChemicalElements: copy" << std::endl; - *this = other; Component::finish(other); } // move ChemicalElements(ChemicalElements &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + chemicalElement(this,std::move(other.chemicalElement)) { std::cout << "ctor: ChemicalElements: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -103,9 +103,10 @@ class ChemicalElements : public Component { ChemicalElements &operator=(const ChemicalElements &other) { if (this != &other) { + std::cout << "assign: ChemicalElements: copy" << std::endl; + Component::operator=(other); chemicalElement = other.chemicalElement; } - std::cout << "assign: ChemicalElements: copy" << std::endl; return *this; } @@ -113,9 +114,10 @@ class ChemicalElements : public Component { ChemicalElements &operator=(ChemicalElements &&other) { if (this != &other) { + std::cout << "assign: ChemicalElements: move" << std::endl; + Component::operator=(std::move(other)); chemicalElement = std::move(other.chemicalElement); } - std::cout << "assign: ChemicalElements: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp index d54a37e01..264e4f750 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp @@ -94,19 +94,23 @@ class Configuration : public Component { // copy Configuration(const Configuration &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + subshell(this,other.subshell), + electronNumber(this,other.electronNumber), + bindingEnergy(this,other.bindingEnergy) { std::cout << "ctor: Configuration: copy" << std::endl; - *this = other; Component::finish(other); } // move Configuration(Configuration &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + subshell(this,std::move(other.subshell)), + electronNumber(this,std::move(other.electronNumber)), + bindingEnergy(this,std::move(other.bindingEnergy)) { std::cout << "ctor: Configuration: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -118,11 +122,12 @@ class Configuration : public Component { Configuration &operator=(const Configuration &other) { if (this != &other) { + std::cout << "assign: Configuration: copy" << std::endl; + Component::operator=(other); subshell = other.subshell; electronNumber = other.electronNumber; bindingEnergy = other.bindingEnergy; } - std::cout << "assign: Configuration: copy" << std::endl; return *this; } @@ -130,11 +135,12 @@ class Configuration : public Component { Configuration &operator=(Configuration &&other) { if (this != &other) { + std::cout << "assign: Configuration: move" << std::endl; + Component::operator=(std::move(other)); subshell = std::move(other.subshell); electronNumber = std::move(other.electronNumber); bindingEnergy = std::move(other.bindingEnergy); } - std::cout << "assign: Configuration: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp index bc7912e54..6c5e68ead 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp @@ -79,19 +79,19 @@ class Configurations : public Component { // copy Configurations(const Configurations &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + configuration(this,other.configuration) { std::cout << "ctor: Configurations: copy" << std::endl; - *this = other; Component::finish(other); } // move Configurations(Configurations &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + configuration(this,std::move(other.configuration)) { std::cout << "ctor: Configurations: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -103,9 +103,10 @@ class Configurations : public Component { Configurations &operator=(const Configurations &other) { if (this != &other) { + std::cout << "assign: Configurations: copy" << std::endl; + Component::operator=(other); configuration = other.configuration; } - std::cout << "assign: Configurations: copy" << std::endl; return *this; } @@ -113,9 +114,10 @@ class Configurations : public Component { Configurations &operator=(Configurations &&other) { if (this != &other) { + std::cout << "assign: Configurations: move" << std::endl; + Component::operator=(std::move(other)); configuration = std::move(other.configuration); } - std::cout << "assign: Configurations: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp index 360f90f81..051ace545 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp @@ -86,19 +86,21 @@ class Date : public Component { // copy Date(const Date &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + value(this,other.value), + dateType(this,other.dateType) { std::cout << "ctor: Date: copy" << std::endl; - *this = other; Component::finish(other); } // move Date(Date &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + value(this,std::move(other.value)), + dateType(this,std::move(other.dateType)) { std::cout << "ctor: Date: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -110,10 +112,11 @@ class Date : public Component { Date &operator=(const Date &other) { if (this != &other) { + std::cout << "assign: Date: copy" << std::endl; + Component::operator=(other); value = other.value; dateType = other.dateType; } - std::cout << "assign: Date: copy" << std::endl; return *this; } @@ -121,10 +124,11 @@ class Date : public Component { Date &operator=(Date &&other) { if (this != &other) { + std::cout << "assign: Date: move" << std::endl; + Component::operator=(std::move(other)); value = std::move(other.value); dateType = std::move(other.dateType); } - std::cout << "assign: Date: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp index 357391146..decfa5324 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp @@ -79,19 +79,19 @@ class Dates : public Component { // copy Dates(const Dates &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date) { std::cout << "ctor: Dates: copy" << std::endl; - *this = other; Component::finish(other); } // move Dates(Dates &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)) { std::cout << "ctor: Dates: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -103,9 +103,10 @@ class Dates : public Component { Dates &operator=(const Dates &other) { if (this != &other) { + std::cout << "assign: Dates: copy" << std::endl; + Component::operator=(other); date = other.date; } - std::cout << "assign: Dates: copy" << std::endl; return *this; } @@ -113,9 +114,10 @@ class Dates : public Component { Dates &operator=(Dates &&other) { if (this != &other) { + std::cout << "assign: Dates: move" << std::endl; + Component::operator=(std::move(other)); date = std::move(other.date); } - std::cout << "assign: Dates: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp index 90025f2a9..e847bb401 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp @@ -103,19 +103,27 @@ class Documentation : public Component { // copy Documentation(const Documentation &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + authors(this,other.authors), + dates(this,other.dates), + title(this,other.title), + body(this,other.body), + endfCompatible(this,other.endfCompatible) { std::cout << "ctor: Documentation: copy" << std::endl; - *this = other; Component::finish(other); } // move Documentation(Documentation &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + authors(this,std::move(other.authors)), + dates(this,std::move(other.dates)), + title(this,std::move(other.title)), + body(this,std::move(other.body)), + endfCompatible(this,std::move(other.endfCompatible)) { std::cout << "ctor: Documentation: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -127,13 +135,14 @@ class Documentation : public Component { Documentation &operator=(const Documentation &other) { if (this != &other) { + std::cout << "assign: Documentation: copy" << std::endl; + Component::operator=(other); authors = other.authors; dates = other.dates; title = other.title; body = other.body; endfCompatible = other.endfCompatible; } - std::cout << "assign: Documentation: copy" << std::endl; return *this; } @@ -141,13 +150,14 @@ class Documentation : public Component { Documentation &operator=(Documentation &&other) { if (this != &other) { + std::cout << "assign: Documentation: move" << std::endl; + Component::operator=(std::move(other)); authors = std::move(other.authors); dates = std::move(other.dates); title = std::move(other.title); body = std::move(other.body); endfCompatible = std::move(other.endfCompatible); } - std::cout << "assign: Documentation: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp index 816972c14..958300f22 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp @@ -92,19 +92,23 @@ class Double : public Component { // copy Double(const Double &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + value(this,other.value), + unit(this,other.unit) { std::cout << "ctor: Double: copy" << std::endl; - *this = other; Component::finish(other); } // move Double(Double &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + value(this,std::move(other.value)), + unit(this,std::move(other.unit)) { std::cout << "ctor: Double: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -116,11 +120,12 @@ class Double : public Component { Double &operator=(const Double &other) { if (this != &other) { + std::cout << "assign: Double: copy" << std::endl; + Component::operator=(other); label = other.label; value = other.value; unit = other.unit; } - std::cout << "assign: Double: copy" << std::endl; return *this; } @@ -128,11 +133,12 @@ class Double : public Component { Double &operator=(Double &&other) { if (this != &other) { + std::cout << "assign: Double: move" << std::endl; + Component::operator=(std::move(other)); label = std::move(other.label); value = std::move(other.value); unit = std::move(other.unit); } - std::cout << "assign: Double: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp index 53083f89f..6da0125e9 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp @@ -74,7 +74,6 @@ class EndfCompatible : public Component { GNDSTK_COMPONENT(other.baseBlockData()) { std::cout << "ctor: EndfCompatible: copy" << std::endl; - *this = other; Component::finish(other); } @@ -83,7 +82,6 @@ class EndfCompatible : public Component { GNDSTK_COMPONENT(other.baseBlockData()) { std::cout << "ctor: EndfCompatible: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -95,8 +93,9 @@ class EndfCompatible : public Component { EndfCompatible &operator=(const EndfCompatible &other) { if (this != &other) { + std::cout << "assign: EndfCompatible: copy" << std::endl; + Component::operator=(other); } - std::cout << "assign: EndfCompatible: copy" << std::endl; return *this; } @@ -104,8 +103,9 @@ class EndfCompatible : public Component { EndfCompatible &operator=(EndfCompatible &&other) { if (this != &other) { + std::cout << "assign: EndfCompatible: move" << std::endl; + Component::operator=(std::move(other)); } - std::cout << "assign: EndfCompatible: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp index ed95c01cd..6368ae2ee 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp @@ -106,19 +106,27 @@ class Evaluated : public Component { // copy Evaluated(const Evaluated &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + date(this,other.date), + library(this,other.library), + version(this,other.version), + documentation(this,other.documentation) { std::cout << "ctor: Evaluated: copy" << std::endl; - *this = other; Component::finish(other); } // move Evaluated(Evaluated &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + date(this,std::move(other.date)), + library(this,std::move(other.library)), + version(this,std::move(other.version)), + documentation(this,std::move(other.documentation)) { std::cout << "ctor: Evaluated: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -130,13 +138,14 @@ class Evaluated : public Component { Evaluated &operator=(const Evaluated &other) { if (this != &other) { + std::cout << "assign: Evaluated: copy" << std::endl; + Component::operator=(other); label = other.label; date = other.date; library = other.library; version = other.version; documentation = other.documentation; } - std::cout << "assign: Evaluated: copy" << std::endl; return *this; } @@ -144,13 +153,14 @@ class Evaluated : public Component { Evaluated &operator=(Evaluated &&other) { if (this != &other) { + std::cout << "assign: Evaluated: move" << std::endl; + Component::operator=(std::move(other)); label = std::move(other.label); date = std::move(other.date); library = std::move(other.library); version = std::move(other.version); documentation = std::move(other.documentation); } - std::cout << "assign: Evaluated: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp index 7b72019eb..e90f07ef8 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp @@ -106,19 +106,27 @@ class PoPs : public Component { // copy PoPs(const PoPs &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name), + version(this,other.version), + format(this,other.format), + styles(this,other.styles), + chemicalElements(this,other.chemicalElements) { std::cout << "ctor: PoPs: copy" << std::endl; - *this = other; Component::finish(other); } // move PoPs(PoPs &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)), + version(this,std::move(other.version)), + format(this,std::move(other.format)), + styles(this,std::move(other.styles)), + chemicalElements(this,std::move(other.chemicalElements)) { std::cout << "ctor: PoPs: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -130,13 +138,14 @@ class PoPs : public Component { PoPs &operator=(const PoPs &other) { if (this != &other) { + std::cout << "assign: PoPs: copy" << std::endl; + Component::operator=(other); name = other.name; version = other.version; format = other.format; styles = other.styles; chemicalElements = other.chemicalElements; } - std::cout << "assign: PoPs: copy" << std::endl; return *this; } @@ -144,13 +153,14 @@ class PoPs : public Component { PoPs &operator=(PoPs &&other) { if (this != &other) { + std::cout << "assign: PoPs: move" << std::endl; + Component::operator=(std::move(other)); name = std::move(other.name); version = std::move(other.version); format = std::move(other.format); styles = std::move(other.styles); chemicalElements = std::move(other.chemicalElements); } - std::cout << "assign: PoPs: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp index 7a7e4812a..c01c3b9a1 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp @@ -79,19 +79,19 @@ class Styles : public Component { // copy Styles(const Styles &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluated(this,other.evaluated) { std::cout << "ctor: Styles: copy" << std::endl; - *this = other; Component::finish(other); } // move Styles(Styles &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluated(this,std::move(other.evaluated)) { std::cout << "ctor: Styles: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -103,9 +103,10 @@ class Styles : public Component { Styles &operator=(const Styles &other) { if (this != &other) { + std::cout << "assign: Styles: copy" << std::endl; + Component::operator=(other); evaluated = other.evaluated; } - std::cout << "assign: Styles: copy" << std::endl; return *this; } @@ -113,9 +114,10 @@ class Styles : public Component { Styles &operator=(Styles &&other) { if (this != &other) { + std::cout << "assign: Styles: move" << std::endl; + Component::operator=(std::move(other)); evaluated = std::move(other.evaluated); } - std::cout << "assign: Styles: move" << std::endl; return *this; } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp index 1677779aa..f29960152 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp @@ -74,7 +74,6 @@ class Title : public Component { GNDSTK_COMPONENT(other.baseBlockData()) { std::cout << "ctor: Title: copy" << std::endl; - *this = other; Component::finish(other); } @@ -83,7 +82,6 @@ class Title : public Component { GNDSTK_COMPONENT(other.baseBlockData()) { std::cout << "ctor: Title: move" << std::endl; - *this = std::move(other); Component::finish(other); } @@ -95,8 +93,9 @@ class Title : public Component { Title &operator=(const Title &other) { if (this != &other) { + std::cout << "assign: Title: copy" << std::endl; + Component::operator=(other); } - std::cout << "assign: Title: copy" << std::endl; return *this; } @@ -104,8 +103,9 @@ class Title : public Component { Title &operator=(Title &&other) { if (this != &other) { + std::cout << "assign: Title: move" << std::endl; + Component::operator=(std::move(other)); } - std::cout << "assign: Title: move" << std::endl; return *this; } diff --git a/standards/incremental/example/.gitignore b/standards/incremental/example/.gitignore index 34cd43aee..b9ad0b022 100644 --- a/standards/incremental/example/.gitignore +++ b/standards/incremental/example/.gitignore @@ -7,3 +7,4 @@ pugixml.o out h notes +j From 430ebfe7760e9f83f6a74044aa98c34e673f6519 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 08:34:08 -0700 Subject: [PATCH 209/235] Modified the code generator so that generated constructors are more efficient. Also allowed for additional debug printing in generated classes. --- autogen/json2class.cpp | 55 +++++++++++++++++++++++++++++------------- 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 8f626c237..8f3f48786 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1068,6 +1068,8 @@ void writeClassSuffix( out(1,"@ &operator=(const @ &other)", per.clname, per.clname); out(1,"{"); out(2,"if (this != &other) {"); + out(3,"std::cout << \"assign: @: copy\" << std::endl;", per.clname); + out(3,"Component::operator=(other);"); if (per.nfields() > 0) { for (const auto &m : per.metadata) out(3,"@ = other.@;", m.name, m.name); @@ -1077,7 +1079,6 @@ void writeClassSuffix( out(3,"@ = other.@;", v.name, v.name); } out(2,"}"); - out(2,"std::cout << \"assign: @: copy\" << std::endl;", per.clname); out(2,"return *this;"); out(1,"}"); out(); @@ -1087,6 +1088,8 @@ void writeClassSuffix( out(1,"@ &operator=(@ &&other)", per.clname, per.clname); out(1,"{"); out(2,"if (this != &other) {"); + out(3,"std::cout << \"assign: @: move\" << std::endl;", per.clname); + out(3,"Component::operator=(std::move(other));"); if (per.nfields() > 0) { for (const auto &m : per.metadata) out(3,"@ = std::move(other.@);", m.name, m.name); @@ -1096,7 +1099,6 @@ void writeClassSuffix( out(3,"@ = std::move(other.@);", v.name, v.name); } out(2,"}"); - out(2,"std::cout << \"assign: @: move\" << std::endl;", per.clname); out(2,"return *this;"); out(1,"}"); @@ -1225,14 +1227,13 @@ void writeClassCtorComponent( // writeClassCtorBody void writeClassCtorBody( writer &out, - const std::string &kind, const std::string &clname, - const std::string &line, const std::string &argName + const std::string &kind, + const std::string &clname, + const std::string &argName ) { out(1,"{"); if (printCtorCalls) out(2,"std::cout << \"ctor: @: @\" << std::endl;", clname, kind); - if (line != "") - out(2,line); out(2,"Component::finish(@);", argName); out(1,"}"); } @@ -1245,14 +1246,14 @@ void writeClassCtors(writer &out, const PerClass &per) // macro // ------------------------ - const int total = per.nfields(); + int count; const int total = per.nfields(); out(); if (total == 0) out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata)"); else { out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata, \\"); - int count = 0; + count = 0; for (const auto &m : per.metadata) out(2,"this->@@", m.name, ++count < total ? ", \\" : ")"); for (const auto &c : per.children) @@ -1269,7 +1270,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// default"); out(1,"@() :", per.clname); writeClassCtorComponent(out, per, false); - writeClassCtorBody(out, "default", per.clname, "", ""); + writeClassCtorBody(out, "default", per.clname, ""); // ------------------------ // ctor: from fields @@ -1290,7 +1291,7 @@ void writeClassCtors(writer &out, const PerClass &per) } // signature, and base constructor call - int count = 0; + count = 0; out(1,"explicit @(", per.clname); for (const auto &m : per.metadata) { @@ -1342,7 +1343,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(2,"@(this,@)@", v.name, v.name, sep(count,total)); // body - writeClassCtorBody(out, "fields", per.clname, "", ""); + writeClassCtorBody(out, "fields", per.clname, ""); } // ------------------------ @@ -1353,7 +1354,7 @@ void writeClassCtors(writer &out, const PerClass &per) out(1,"// from node"); out(1,"explicit @(const Node &node) :", per.clname); writeClassCtorComponent(out, per, false); - writeClassCtorBody(out, "node", per.clname, "", "node"); + writeClassCtorBody(out, "node", per.clname, "node"); // ------------------------ // ctor: vector @@ -1366,7 +1367,7 @@ void writeClassCtors(writer &out, const PerClass &per) "std::enable_if_t>>"); out(1,"@(const std::vector &vector) :", per.clname); writeClassCtorComponent(out, per, false); - writeClassCtorBody(out, "vector", per.clname, "", "vector"); + writeClassCtorBody(out, "vector", per.clname, "vector"); } // ------------------------ @@ -1376,8 +1377,18 @@ void writeClassCtors(writer &out, const PerClass &per) out(); out(1,"// copy"); out(1,"@(const @ &other) :", per.clname, per.clname); - writeClassCtorComponent(out, per, true); - writeClassCtorBody(out, "copy", per.clname, "*this = other;", "other"); + writeClassCtorComponent(out, per, true, total == 0); + if (total > 0) { + out(","); + count = 0; + for (const auto &m : per.metadata) + out(2,"@(this,other.@)@", m.name, m.name, sep(count,total)); + for (const auto &c : per.children) + out(2,"@(this,other.@)@", c.name, c.name, sep(count,total)); + for (const auto &v : per.variants) + out(2,"@(this,other.@)@", v.name, v.name, sep(count,total)); + } + writeClassCtorBody(out, "copy", per.clname, "other"); // ------------------------ // ctor: move @@ -1386,8 +1397,18 @@ void writeClassCtors(writer &out, const PerClass &per) out(); out(1,"// move"); out(1,"@(@ &&other) :", per.clname, per.clname); - writeClassCtorComponent(out, per, true); - writeClassCtorBody(out, "move", per.clname, "*this = std::move(other);", "other"); + writeClassCtorComponent(out, per, true, total == 0); + if (total > 0) { + out(","); + count = 0; + for (const auto &m : per.metadata) + out(2,"@(this,std::move(other.@))@", m.name, m.name, sep(count,total)); + for (const auto &c : per.children) + out(2,"@(this,std::move(other.@))@", c.name, c.name, sep(count,total)); + for (const auto &v : per.variants) + out(2,"@(this,std::move(other.@))@", v.name, v.name, sep(count,total)); + } + writeClassCtorBody(out, "move", per.clname, "other"); } // writeClassCtors From d4add7fd1df17cd9d50fe5b13842bcaa306487d7 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 08:37:06 -0700 Subject: [PATCH 210/235] Update example code. --- standards/incremental/example/0.cpp | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/standards/incremental/example/0.cpp b/standards/incremental/example/0.cpp index 0fc6e4357..3e75477c7 100644 --- a/standards/incremental/example/0.cpp +++ b/standards/incremental/example/0.cpp @@ -15,25 +15,6 @@ void print(const T &value) std::cout << value << std::endl; } -// ----------------------------------------------------------------------------- -// typeof -// ----------------------------------------------------------------------------- - -#include -#include - -// typeof -template -inline void typeof(const T &) -{ - std::cout << boost::core::demangle(typeid(T).name()) << std::endl; -} - -#if 0 - typeof(gnds::PoPs::KEYS()); - typeof(gnds::PoPs::KEYS().tup); -#endif - // ----------------------------------------------------------------------------- // main // ----------------------------------------------------------------------------- @@ -102,10 +83,8 @@ int main(const int argc, const char *const *const argv) p.read(filename); print("read end"); - /* print(); p.print(); print(); - */ } } From 6d28f6842fede1500de8cf2aba69e618a1bf83ac Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 09:04:20 -0700 Subject: [PATCH 211/235] Meta and Child no longer need a T in them. This helps with some efficiency issues. Some new, alternative query formulations elsewhere allow the T to go. This other work will be uploaded shortly. --- src/GNDStk/Child.hpp | 188 ++--------------------------------------- src/GNDStk/Lookup.hpp | 6 +- src/GNDStk/Meta.hpp | 3 - src/GNDStk/utility.hpp | 32 ------- 4 files changed, 9 insertions(+), 220 deletions(-) diff --git a/src/GNDStk/Child.hpp b/src/GNDStk/Child.hpp index febfad0cd..22f0a8477 100644 --- a/src/GNDStk/Child.hpp +++ b/src/GNDStk/Child.hpp @@ -1,9 +1,4 @@ -// zzz -namespace detail { - class dummy { }; -} - // ----------------------------------------------------------------------------- // Child // ----------------------------------------------------------------------------- @@ -54,7 +49,6 @@ FILTER */ - // ----------------------------------------------------------------------------- // default // ----------------------------------------------------------------------------- @@ -68,162 +62,12 @@ template< class Child { public: - /* - // ------------------------ - // data - // ------------------------ - - // name, object, converter, filter - std::string name; - TYPE &placeholder; - CONVERTER converter; // optional custom converter; needs operator() - FILTER filter; // optional custom filter; needs operator() - - // ------------------------ - // constructors - // ------------------------ - - /// Some work-in-progress material here... - - explicit Child( - const std::string &name - ) : - name(name), - placeholder(detail::make_once()), - converter(detail::make_once()), - filter(detail::make_once()) - { } - - explicit Child( - const std::string &name, - const TYPE &t,/// = detail::make_once(), - const CONVERTER &c = detail::make_once(), - const FILTER &f = detail::make_once() - ) : - name(name), - placeholder(detail::make_once() = t), - converter(c), - filter(f) - { } - */ - - // ------------------------ - // data - // ------------------------ - - static const bool defcon = std::is_default_constructible_v; - using PLACEHOLDER = std::conditional_t; - - // name, object, converter, filter - std::string name; - mutable PLACEHOLDER placeholder; - CONVERTER converter; // optional custom converter; needs operator() - FILTER filter; // optional custom filter; needs operator() - - // ------------------------ - // constructors - // ------------------------ - -/* -zzz -Think about what we need... - ------------------------- -CASE 1 -TYPE is default constructible ------------------------- - -In this case, store a dummy, not an instance of the object. - -Allow construction with or without a caller-provided instance. -If caller-provided, ignore the argument! We're just making a dummy. - ------------------------- -CASE 2 -TYPE is NOT default constructible ------------------------- - -In this case, we *must* store an instance of the object, for use elsewhere. - -Require that the caller provide an instance of the object. Emphasis: required! -Copy that over to the stored instance. -*/ - - // If TYPE is NOT default constructible, then we must provide an object - // of type TYPE. So we have: - // name, type - // name, type, converter - // name, type, converter, filter - // as available constructor arguments. - template< - class T = TYPE, - class = std::enable_if_t> - > - explicit Child( - const std::string &n, - const TYPE &t, - const CONVERTER &c = detail::make_once(), - const FILTER &f = detail::make_once() - ) : - name(n), placeholder(t), converter(c), filter(f) - { } - - // If TYPE is default constructible, then we're allowed to provide an object - // of type TYPE, in order to be consistent with the above case, but any such - // value is ignored, as we're not going to store it anyway. So we again have: - // name, type - // name, type, converter - // name, type, converter, filter - // as available constructor arguments. We also allow the ignored argument to - // be of type detail::dummy. This allows for more uniformity here and there, - // for example in Child's one() and many() member functions. - template< - class FROM, - class = std::enable_if_t< - std::is_same_v || - std::is_same_v - >, - class T = TYPE, - class = std::enable_if_t> - > - explicit Child( - const std::string &n, - const FROM &, - const CONVERTER &c = detail::make_once(), - const FILTER &f = detail::make_once() - ) : - name(n), converter(c), filter(f) - { } - - // If TYPE is default constructible, then we're allowed to forego the object - // of type TYPE altogether. Here, then, we allow: - // name - // name, converter - // name, converter, filter - // as available constructor arguments. - template< - class T = TYPE, - class = std::enable_if_t> - > - explicit Child( - const std::string &n, - const CONVERTER &c = detail::make_once(), - const FILTER &f = detail::make_once() - ) : - name(n), converter(c), filter(f) - { } - - /* // ------------------------ // data // ------------------------ - static const bool defcon = std::is_default_constructible_v; - using PLACEHOLDER = std::conditional_t; - - // name, object, converter, filter + // name, converter, filter std::string name; - mutable PLACEHOLDER placeholder; CONVERTER converter; // optional custom converter; needs operator() FILTER filter; // optional custom filter; needs operator() @@ -232,29 +76,15 @@ Copy that over to the stored instance. // ------------------------ // name - // name, type - // name, type, converter - // name, type, converter, filter - explicit Child( - const std::string &n, - const PLACEHOLDER &t = detail::make_once(), - const CONVERTER &c = detail::make_once(), - const FILTER &f = detail::make_once() - ) : - name(n), placeholder(t), converter(c), filter(f) - { } - // name, converter // name, converter, filter explicit Child( const std::string &n, - ///const PLACEHOLDER &t = detail::make_once(), const CONVERTER &c = detail::make_once(), const FILTER &f = detail::make_once() ) : name(n), converter(c), filter(f) { } - */ // ------------------------ // simple functions @@ -265,32 +95,26 @@ Copy that over to the stored instance. // See remarks for Meta's basic(); similar remarks apply here auto basic() const { - return Child( - name, filter // converter not possible here - ); + // converter isn't possible here + return Child(name, filter); } // one() // Produce an equivalent Child, but formulated as Allow::one auto one() const { - return Child( - name, placeholder, converter, filter - ); + return Child(name, converter, filter); } // many() // Produce an equivalent Child, but formulated as Allow::many auto many() const { - return Child( - name, placeholder, converter, filter - ); + return Child(name, converter, filter); } }; - // ----------------------------------------------------------------------------- // void // ----------------------------------------------------------------------------- @@ -353,7 +177,6 @@ class Child { }; - // ----------------------------------------------------------------------------- // Macro // ----------------------------------------------------------------------------- @@ -369,7 +192,6 @@ class Child { // normally do, because users might find it handy. - // ----------------------------------------------------------------------------- // Operators // ----------------------------------------------------------------------------- diff --git a/src/GNDStk/Lookup.hpp b/src/GNDStk/Lookup.hpp index 07e0c0db3..cf9e219f1 100644 --- a/src/GNDStk/Lookup.hpp +++ b/src/GNDStk/Lookup.hpp @@ -23,6 +23,7 @@ class Lookup : public Meta { // extractor EXTRACTOR extractor; + TYPE placeholder; // constructor Lookup( @@ -31,8 +32,9 @@ class Lookup : public Meta { const TYPE &value, const CONVERTER &converter = CONVERTER{} ) : - Meta(name,value,converter), - extractor(e) + Meta(name,converter), + extractor(e), + placeholder(value) { } }; diff --git a/src/GNDStk/Meta.hpp b/src/GNDStk/Meta.hpp index d25b64d21..40df937e6 100644 --- a/src/GNDStk/Meta.hpp +++ b/src/GNDStk/Meta.hpp @@ -17,17 +17,14 @@ class Meta { public: // name, object, converter std::string name; - mutable TYPE placeholder; CONVERTER converter; // optional custom converter; needs operator() // ctor explicit Meta( const std::string &n, - const TYPE &t = detail::make_once(), const CONVERTER &c = detail::make_once() ) : name(n), - placeholder(t), converter(c) { } diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 5a535f57c..c36a3da8a 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -563,38 +563,6 @@ template inline constexpr bool isAlternative = is_alternative::value; -// ------------------------ -// isAlternativeOrTheVariant -// ------------------------ - -// Is T one of the alternatives in variant, OR is T == variant -// itself? (Not any variant, but precisely that one.) -// -// Consider the functionality (Node::meta() and Node::child(), at the time of -// this writing) that use this. Invoked with a particular type from the variant, -// a call - say, to meta() - might look like node.template meta(M), where -// M is a Meta<> object with the variant type. In contrast, one could merely -// write node.meta(M) for the full variant, i.e. with no specific alternative -// type stipulated. By making this SFINAE work for the full variant, not just -// for each of its constituent types (as with isAlternative), we allow the -// node.template meta(M) form also to work for the full variant. While -// the short (and no doubt preferred) form would be available even without the -// following, we choose to support consistency by allowing the .template form -// to be used too. This might prove to be useful if, for instance, a user embeds -// the call in question into a single function template that invokes the long -// form, while intending to support calls of either the full variant or any of -// its types. - -template -struct is_alternativeOrTheVariant { - static constexpr bool value = - isAlternative || std::is_same_v; -}; - -template -inline constexpr bool isAlternativeOrTheVariant = - is_alternativeOrTheVariant::value; - // ------------------------ // is_void // ------------------------ From 4ce186ba30d08ead761a72e91004c6552e82cd50 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 09:16:03 -0700 Subject: [PATCH 212/235] Child and Meta class operator updates, because they no longer have a T. Removed some constructs elsewhere that were no longer needed. --- src/GNDStk/BlockData/src/detail.hpp | 16 ---------------- src/GNDStk/BlockData/src/fromNode.hpp | 9 +++++---- src/GNDStk/Child/src/operator.hpp | 20 +++----------------- src/GNDStk/Meta/src/operator.hpp | 15 ++++++--------- 4 files changed, 14 insertions(+), 46 deletions(-) diff --git a/src/GNDStk/BlockData/src/detail.hpp b/src/GNDStk/BlockData/src/detail.hpp index 9e52b0f2e..feceb4ab9 100644 --- a/src/GNDStk/BlockData/src/detail.hpp +++ b/src/GNDStk/BlockData/src/detail.hpp @@ -12,19 +12,6 @@ auto scalarize(const std::variant) return std::variant{}; } -// decays, decays_t -// Like std::decay and std::decay_t, but for tuple -template -struct decays { }; -template -struct decays> { - using type = std::tuple ...>; -}; - -template -using decays_t = typename decays::type; - - // ----------------------------------------------------------------------------- // SFINAE constructs for detecting whether or not a class has certain members. @@ -98,7 +85,6 @@ template inline constexpr bool hasLabel = has_label>::value; - // ----------------------------------------------------------------------------- // element2element // ----------------------------------------------------------------------------- @@ -138,7 +124,6 @@ void element2element(const T &value, std::string &str) } - // ----------------------------------------------------------------------------- // getBounds // ----------------------------------------------------------------------------- @@ -155,7 +140,6 @@ auto getBounds(const std::vector &vec) } - // ----------------------------------------------------------------------------- // colorize_*(text) // ----------------------------------------------------------------------------- diff --git a/src/GNDStk/BlockData/src/fromNode.hpp b/src/GNDStk/BlockData/src/fromNode.hpp index d23d9b5c0..fda3eb93e 100644 --- a/src/GNDStk/BlockData/src/fromNode.hpp +++ b/src/GNDStk/BlockData/src/fromNode.hpp @@ -7,10 +7,11 @@ void fromNode(const Node &node) { // length, start, and valueType might be present in the Node, but we won't // fetch any of them here. Elsewhere, the current BlockData object should - // have its length, start, and valueType pulled from those respective values - // in an object of a class derived from Component, which in turn derives from - // BlockData. That object's content will have been pulled from the same Node. - // Here, we just get the Node's values: "plain character data" in XML terms. + // have had its length, start, and valueType pulled from those respective + // values in an object of a class derived from Component, which in turn + // derived from BlockData. That object's content will have been pulled from + // the same Node. Here, we just get the Node's values: plain character data, + // in XML terminology. bool found = false; rawstring = node.pcdata(found); diff --git a/src/GNDStk/Child/src/operator.hpp b/src/GNDStk/Child/src/operator.hpp index 65d959196..12c3ae001 100644 --- a/src/GNDStk/Child/src/operator.hpp +++ b/src/GNDStk/Child/src/operator.hpp @@ -15,7 +15,6 @@ inline auto operator-(const Child &kwd) } - // ----------------------------------------------------------------------------- // T/Child // Change type to T @@ -25,12 +24,11 @@ inline auto operator-(const Child &kwd) // T/Child template inline auto operator/( - const T &object, + const T &, const Child &kwd ) { return Child( kwd.name, - object, kwd.converter, kwd.filter ); @@ -39,20 +37,18 @@ inline auto operator/( // T/Child template inline auto operator/( - const T &object, + const T &, const Child &kwd ) { using CONVERTER = detail::default_converter_t; return Child( kwd.name, - object, CONVERTER{}, // because the input Child didn't have one kwd.filter ); } - // ----------------------------------------------------------------------------- // Child/string // Child/char* @@ -101,7 +97,6 @@ inline auto operator/( } - // ----------------------------------------------------------------------------- // * // regex match-anything @@ -114,7 +109,6 @@ inline auto operator*(const Child &kwd) } - // ----------------------------------------------------------------------------- // Child/C // Change converter to C @@ -134,7 +128,6 @@ inline Child< ) { return Child( kwd.name, - kwd.placeholder, converter, // the new one; not kwd.converter! kwd.filter ); @@ -159,7 +152,6 @@ inline Child< } - // ----------------------------------------------------------------------------- // post-- // Change converter to its default @@ -174,7 +166,6 @@ inline auto operator--( using C = detail::default_converter_t; return Child( kwd.name, - kwd.placeholder, C{}, kwd.filter ); @@ -190,7 +181,6 @@ inline auto operator--( } - // ----------------------------------------------------------------------------- // --pre, ++pre // Downgrade/upgrade to Allow::one/many @@ -211,7 +201,6 @@ inline auto operator++(const Child &kwd) } - // ----------------------------------------------------------------------------- // Child + F // Change filter to F @@ -225,7 +214,6 @@ inline auto operator+( ) { return Child( kwd.name, - kwd.placeholder, kwd.converter, filter // the new one ); @@ -244,7 +232,6 @@ inline auto operator+( } - // ----------------------------------------------------------------------------- // Child || Child // Create a Child that represents one or the other of two children @@ -284,8 +271,7 @@ inline auto operator||( return Child,ALLOW,CONVERTER,FILTER>( // both names, space-separated; this gets special treatment elsewhere a.name + " " + b.name, - // we need an object, a converter, and a filter; use the first Child's - a.placeholder, + // we need a converter and a filter; use the first Child's a.converter, a.filter ); diff --git a/src/GNDStk/Meta/src/operator.hpp b/src/GNDStk/Meta/src/operator.hpp index a8682fb53..a843d4ffc 100644 --- a/src/GNDStk/Meta/src/operator.hpp +++ b/src/GNDStk/Meta/src/operator.hpp @@ -23,21 +23,21 @@ inline auto operator-(const Meta &kwd) // T/Meta template -inline auto operator/(const T &object, const Meta &kwd) +inline auto operator/(const T &, const Meta &kwd) { // Keep the old converter. // You must change that separately if it's necessary to do so, // e.g. because its convert()s handled TYPE, but not T. - return Meta(kwd.name, object, kwd.converter); + return Meta(kwd.name, kwd.converter); } // T/Meta template -inline auto operator/(const T &object, const Meta &kwd) +inline auto operator/(const T &, const Meta &kwd) { // Use our default converter. (The input, a Meta, doesn't have one.) // You must change that separately if the default isn't wanted. - return Meta(kwd.name, object); + return Meta(kwd.name); } @@ -115,7 +115,7 @@ inline Meta< const C &converter ) { // Keep the old type - return Meta(kwd.name, kwd.placeholder, converter); + return Meta(kwd.name, converter); } // Meta/C @@ -148,8 +148,5 @@ inline auto operator--( const Meta &kwd, const int ) { - return Meta>( - kwd.name, - kwd.placeholder - ); + return Meta>(kwd.name); } From 821ead04003a51fac8ce52e40e20d05b0ee20872 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 11:27:08 -0700 Subject: [PATCH 213/235] Alternative formulations of Meta and Child related query functions. Small changes to a couple of test codes. --- src/GNDStk/Node/src/child.hpp | 291 +++++++++++++++++++---------- src/GNDStk/Node/src/meta.hpp | 100 ++++++---- src/GNDStk/Node/test/add.test.cpp | 8 +- src/GNDStk/Node/test/ctor.test.cpp | 4 +- 4 files changed, 261 insertions(+), 142 deletions(-) diff --git a/src/GNDStk/Node/src/child.hpp b/src/GNDStk/Node/src/child.hpp index ceedb7ed7..df84cd13f 100644 --- a/src/GNDStk/Node/src/child.hpp +++ b/src/GNDStk/Node/src/child.hpp @@ -66,7 +66,10 @@ child( private: -template +template< + std::size_t n, std::size_t size, + class KWD, class... Ts +> void variant_find_one( const KWD &kwd, const std::vector &names, @@ -79,7 +82,7 @@ void variant_find_one( bool f = false; // local "found" const Node &node = one(names[n], kwd.filter, f); - if (f) { // if one() found anything for the alternative + if (f) { // if one() found anything for the th alternative... if (found) // if already global "found", then warning... { // The situation here is as follows. In the present context, we're @@ -156,33 +159,22 @@ void variant_find_one( // ------------------------ template -TYPE -child( +void child( + TYPE &existing, const Child &kwd, bool &found = detail::default_bool ) const { try { if constexpr (detail::isVariant::value) { - // ------------------------ - // variant obj - // ------------------------ - - const auto names = detail::name_split(kwd); - found = false; + // TYPE: variant variant_find_one<0,std::variant_size_v>( - kwd, names, found, kwd.placeholder, 0); - + kwd, detail::name_split(kwd), found = false, existing, 0); } else { - - // ------------------------ - // non-variant obj - // ------------------------ - + // TYPE: not variant const Node &node = one(kwd.name, kwd.filter, found); if (found) - kwd.converter(node,kwd.placeholder); + kwd.converter(node,existing); } - return kwd.placeholder; } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::one)"); throw; @@ -195,18 +187,22 @@ child( // ------------------------ template -std::optional -child( +void child( + std::optional &existing, const Child,Allow::one,CONVERTER,FILTER> &kwd, bool &found = detail::default_bool ) const { try { // Comments as in the meta() analog of this child() function bool f; - const TYPE obj = - child((kwd.placeholder.has_value() ? kwd.placeholder.value() : TYPE{})/kwd, f); + // todo Could perhaps make more efficient if (existing.has_value())... + TYPE obj; + child(obj, obj/kwd, f); + if (f) + existing = obj; + else + existing = std::nullopt; found = true; - return f ? std::optional(obj) : std::nullopt; } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::one)"); throw; @@ -219,18 +215,21 @@ child( // ------------------------ template -Defaulted -child( +void child( + Defaulted &existing, const Child,Allow::one,CONVERTER,FILTER> &kwd, bool &found = detail::default_bool ) const { try { + // Comments as with those for std::optional above bool f; - const TYPE obj = child(kwd.placeholder.value()/kwd, f); + TYPE obj; + child(obj, obj/kwd, f); + if (f) + existing = obj; + else + existing.reset(); found = true; - return f - ? Defaulted(kwd.placeholder.get_default(),obj) - : Defaulted(kwd.placeholder.get_default()); } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::one)"); throw; @@ -243,22 +242,22 @@ child( // ------------------------ // With caller-specified type -template -std::enable_if_t< - detail::isAlternativeOrTheVariant>, - TYPE -> child( +template< + class TYPE, class... Ts, class CONVERTER, class FILTER, + class = std::enable_if_t>> +> +void child( + TYPE &existing, const Child,Allow::one,CONVERTER,FILTER> &kwd, bool &found = detail::default_bool ) const { - const auto ptr = std::get_if(&kwd.placeholder); - return child((ptr ? *ptr : TYPE{})/kwd, found); + child(existing, existing/kwd, found); } // ----------------------------------------------------------------------------- -// child(Child[,found]) +// child(Child[,found]) // ----------------------------------------------------------------------------- // ------------------------ @@ -275,10 +274,10 @@ template< > bool variant_find_many( const Node &c, // child node from loop in caller - CONTAINER> &container, const KWD &kwd, const std::vector &names, bool &found, + CONTAINER> &containervar, std::size_t selectedAlternative ) const { if constexpr (n < size) { @@ -291,9 +290,9 @@ bool variant_find_many( // and expected that multiple matches may occur. Bear in mind, then, // that the following message does not (and should not) warn about // multiple matching child nodes. Rather, the warning relates to the - // situation of the current child node (c) matching against multiple + // situation of the current child node, c, matching against multiple // different alternatives in the std::variant. This shouldn't happen - // if the names[n] (the whitespace-separated names we obtained from + // if the names[*] (the whitespace-separated names we obtained from // kwd.name) are distinct. However: (1) a user could make a mistake // in that regard; and (2) as elsewhere, we do a regex match, which // could concievably lead to multiple matches if the regexes aren't @@ -312,7 +311,7 @@ bool variant_find_many( : "" ) + "Keeping the position <{}> \"{}\" variant alternative.\n", - c.name, // current node's name + c.name, // current Node's name selectedAlternative, names[selectedAlternative], // already kwd.name, n, names[n], // new one @@ -328,15 +327,15 @@ bool variant_find_many( // convert the Node to an object of the n-th variant alternative static std::variant_alternative_t> alt; kwd.converter(c,alt); - container.push_back(alt); + containervar.push_back(alt); selectedAlternative = n; found = true; } } // if regex_match + filter - // Proceed to the next alternative in the variant + // Proceed to the next alternative in the variant. return variant_find_many - (c, container, kwd, names, found, selectedAlternative); + (c, kwd, names, found, containervar, selectedAlternative); } // if constexpr (n < size) return found; @@ -350,57 +349,56 @@ bool variant_find_many( // ------------------------ template< - template class CONTAINER = std::vector, + template class CONTAINER, class TYPE, class CONVERTER, class FILTER > -CONTAINER -child( +void child( + CONTAINER &existing, const Child &kwd, bool &found = detail::default_bool ) const { - // container - CONTAINER container; + existing.clear(); found = false; try { if constexpr (detail::isVariant::value) { // ------------------------ - // variant obj + // TYPE: variant // ------------------------ const auto names = detail::name_split(kwd); for (auto &c : children) { bool f = false; // per-child "found", over variant alternatives if (variant_find_many<0,std::variant_size_v> - (*c, container, kwd, names, f, 0)) + (*c, kwd, names, f, existing, 0)) found = true; } } else { // ------------------------ - // non-variant obj + // TYPE: not variant // ------------------------ // "" - // meaning: return a container with the converted-to-TYPE current Node + // meaning: get the converted-to-TYPE current Node if (kwd.name == "") { - kwd.converter(*this,kwd.placeholder); - container.push_back(kwd.placeholder); + existing.push_back(detail::make_once()); + kwd.converter(*this,existing.back()); found = true; } else { // prepare container - // todo Should do something similar for the variant case, above - container.reserve(count(kwd)); + // todo maybe do something similar for the variant case, above + existing.reserve(count(kwd)); // search in the current Node's children for (auto &c : children) { if (std::regex_match(c->name, std::regex(kwd.name)) && kwd.filter(*c) ) { - // convert *c to an object of the appropriate type - kwd.converter(*c,kwd.placeholder); - container.push_back(kwd.placeholder); + // convert Node *c to an object of the appropriate type + existing.push_back(detail::make_once()); + kwd.converter(*c,existing.back()); found = true; } } @@ -411,9 +409,6 @@ child( log::member("Node.child(" + detail::keyname(kwd) + " with Allow::many)"); throw; } - - // done - return container; } @@ -422,49 +417,52 @@ child( // ------------------------ // With an Allow::many Child, as we have here, it's permissible (without an -// exception being thrown) to extract any number of values - including none - +// exception being thrown) to extract any number of values - including zero - // into the container. In some sense, then, Allow::many means it's optional // to have *any* matching values. So the question is: how should we handle // Child,Allow::many>, given that two different "optional" -// concepts are involved? +// concepts are involved in that particular case? // // Creating a container> wouldn't really make sense. // With a container of optionals, when, and from where, would any nullopt // values arise? We're filling the container with what we do find, in which -// case there's no real meaning associated with any nullopt values. +// case there's no real meaning associated with nullopt values. // // We could dispense with "optional" altogether, and return container, // with length 0 (i.e. no elements in the container) if no values are found. // That's arguably a resonable behavior, but is the same behavior we'd have -// if the Child didn't have a std::optional type in the first place. +// if the Child didn't have a std::optional TYPE in the first place. // -// So, let's give the optional encoding (as in Child>) -// some meaning, in the following way. We'll return an optional container, -// with no value (so that optional.has_value() == false) in the event that -// the container would have no elements. Else, optional.has_value() will be -// true, with a container that has >= 1 element. +// So, let's give the Child,Allow::many> situation some +// meaning, in the following way. We'll return an optional container, with +// no value (so that optional.has_value() == false) in the event that the +// container would have no elements. Else, optional.has_value() will be true, +// with a container that has >= 1 element. // // Consistent with the behavior of std::optional elsewhere in GNDStk, we'll // always return from here with found == true. That's already the case with // Allow::many if container.size() > 0 on output, but now we unconditionally -// return found == true, even for "0 size", which, as we'd said, now means +// return found == true, even for "0 size", which, as we've said, now means // that there's no value in the optional. template< - template class CONTAINER = std::vector, + template class CONTAINER, class TYPE, class CONVERTER, class FILTER > -std::optional> -child( +void child( + std::optional> &existing, const Child,Allow::many,CONVERTER,FILTER> &kwd, bool &found = detail::default_bool ) const { try { bool f; - const auto container = - child((kwd.placeholder.has_value() ? kwd.placeholder.value() : TYPE{})/kwd, f); + CONTAINER obj; + child(obj, TYPE{}/kwd, f); + if (f) + existing = obj; + else + existing = std::nullopt; found = true; - return f ? std::optional>(container) : std::nullopt; } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::many)"); throw; @@ -476,27 +474,25 @@ child( // Defaulted // ------------------------ -// Similar to the optional case. We'll return a Defaulted>, -// with the default value being a container of one value - the value from -// the original Defaulted in the Child object. +// Similar to the optional case. We'll set a Defaulted>. template< - template class CONTAINER = std::vector, + template class CONTAINER, class TYPE, class CONVERTER, class FILTER > -Defaulted> -child( +void child( + Defaulted> &existing, const Child,Allow::many,CONVERTER,FILTER> &kwd, bool &found = detail::default_bool ) const { try { bool f; - const auto container = child(kwd.placeholder.value()/kwd, f); + CONTAINER obj; + child(obj, TYPE{}/kwd, f); + if (f) + existing = obj; + else + existing.reset(); found = true; - return f - ? Defaulted>( - CONTAINER(1, kwd.placeholder.get_default()), container) - : Defaulted>( - CONTAINER(1, kwd.placeholder.get_default())); } catch (...) { log::member("Node.child(" + detail::keyname(kwd) + " with Allow::many)"); throw; @@ -511,18 +507,113 @@ child( // With caller-specified type template< class TYPE, + template class CONTAINER, + class... Ts, class CONVERTER, class FILTER, + class = std::enable_if_t>> +> +void child( + CONTAINER &existing, + const Child,Allow::many,CONVERTER,FILTER> &kwd, + bool &found = detail::default_bool +) const { + child(existing, TYPE{}/kwd, found); +} + + + +// ----------------------------------------------------------------------------- +// Formulations that return TYPE, instead of taking an existing TYPE object +// ----------------------------------------------------------------------------- + +// ------------------------ +// Allow::one +// ------------------------ + +// general +template +TYPE child( + const Child &kwd, + bool &found = detail::default_bool +) const { + TYPE ret; + child(ret, kwd, found); + return ret; +} + +// variant +template< + class TYPE, class... Ts, class CONVERTER, class FILTER, + class = std::enable_if_t>> +> +TYPE child( + const Child,Allow::one,CONVERTER,FILTER> &kwd, + bool &found = detail::default_bool +) const { + TYPE ret; + child(ret, kwd, found); + return ret; +} + +// ------------------------ +// Allow::many +// ------------------------ + +// general +template< template class CONTAINER = std::vector, - class... Ts, class CONVERTER, class FILTER + class TYPE, class CONVERTER, class FILTER > -CONTAINER< - std::enable_if_t< - detail::isAlternativeOrTheVariant>, - TYPE +CONTAINER child( + const Child &kwd, + bool &found = detail::default_bool +) const { + CONTAINER ret; + child(ret, kwd, found); + return ret; +} + +// optional +template< + template class CONTAINER = std::vector, + class TYPE, class CONVERTER, class FILTER +> +std::optional> child( + const Child,Allow::many,CONVERTER,FILTER> &kwd, + bool &found = detail::default_bool +) const { + std::optional> ret; + child(ret, kwd, found); + return ret; +} + +// Defaulted +template< + template class CONTAINER = std::vector, + class TYPE, class CONVERTER, class FILTER +> +Defaulted> child( + const Child,Allow::many,CONVERTER,FILTER> &kwd, + bool &found = detail::default_bool +) const { + Defaulted> ret; + child(ret, kwd, found); + return ret; +} + +// variant +template< // With caller-specified type + class TYPE, + template class CONTAINER = std::vector, + class... Ts, class CONVERTER, class FILTER, + class = std::enable_if_t< + detail::isAlternative> > -> child( +> +CONTAINER child( const Child,Allow::many,CONVERTER,FILTER> &kwd, bool &found = detail::default_bool ) const { - const auto ptr = std::get_if(&kwd.placeholder); - return child((ptr ? *ptr : TYPE{})/kwd, found); + CONTAINER ret; + child(ret, kwd, found); + return ret; } diff --git a/src/GNDStk/Node/src/meta.hpp b/src/GNDStk/Node/src/meta.hpp index 71b2c891b..0d4b3066b 100644 --- a/src/GNDStk/Node/src/meta.hpp +++ b/src/GNDStk/Node/src/meta.hpp @@ -80,18 +80,17 @@ meta( // ------------------------ template -TYPE -meta( +void meta( + TYPE &existing, const Meta &kwd, bool &found = detail::default_bool ) const { try { // call meta(string), with the Meta's key - const std::string &value = meta(kwd.name,found); - // convert value, if any, to an object of the appropriate type + const std::string &str = meta(kwd.name,found); + // convert str, if any, to an object of the appropriate type if (found) - kwd.converter(value,kwd.placeholder); - return kwd.placeholder; + kwd.converter(str,existing); } catch (...) { log::member("Node.meta(" + detail::keyname(kwd) + ")"); throw; @@ -104,26 +103,24 @@ meta( // ------------------------ template -std::optional -meta( +void meta( + std::optional &existing, const Meta,CONVERTER> &kwd, bool &found = detail::default_bool ) const { try { - // Local "found", because found == default can lead to exceptions. - // We still place in a try{}, in case an exception otherwise arises. - bool f; - const TYPE obj = meta( - (kwd.placeholder.has_value() ? kwd.placeholder.value() : TYPE{}) / kwd, - f - ); - // The "found" status affects our behavior here, but for optional we'll - // always *return* with found == true. After all, being optional means - // something can be (1) there or (2) not there. That condition is always - // true. :-) And, this way, if an optional element isn't there, then its - // absence won't break a multi-query. + bool f; // local "found" for TYPE (not optional) + TYPE obj; + meta(obj, obj/kwd, f); + if (f) + existing = obj; + else + existing = std::nullopt; + // For optional, we always *return* with found == true. After all, being + // optional means something can either (1) be there, or (2) not be there. + // That condition is always true. :-) And, this way, if an optional value + // isn't there, its absence won't - and shouldn't - break a multi-query. found = true; - return f ? std::optional(obj) : std::nullopt; } catch (...) { log::member("Node.meta(" + detail::keyname(kwd) + ")"); throw; @@ -136,19 +133,21 @@ meta( // ------------------------ template -Defaulted -meta( +void meta( + Defaulted &existing, const Meta,CONVERTER> &kwd, bool &found = detail::default_bool ) const { try { - // Comments similar to those for std::optional above + // Comments as with those for std::optional above bool f; // local "found" - const TYPE obj = meta(kwd.placeholder.value()/kwd, f); + TYPE obj; + meta(obj, obj/kwd, f); + if (f) + existing = obj; + else + existing.reset(); found = true; // always - return f - ? Defaulted(kwd.placeholder.get_default(),obj) - : Defaulted(kwd.placeholder.get_default()); } catch (...) { log::member("Node.meta(" + detail::keyname(kwd) + ")"); throw; @@ -161,14 +160,45 @@ meta( // ------------------------ // With caller-specified type -template -std::enable_if_t< - detail::isAlternativeOrTheVariant>, - TYPE -> meta( +template< + class TYPE, class... Ts, class CONVERTER, + class = std::enable_if_t>> +> +void meta( + TYPE &existing, + const Meta,CONVERTER> &kwd, + bool &found = detail::default_bool +) const { + meta(existing, existing/kwd, found); +} + + + +// ----------------------------------------------------------------------------- +// Formulations that return TYPE, instead of taking an existing TYPE object +// ----------------------------------------------------------------------------- + +// general +template +TYPE meta( + const Meta &kwd, + bool &found = detail::default_bool +) const { + TYPE ret; + meta(ret, kwd, found); + return ret; +} + +// variant +template< + class TYPE, class... Ts, class CONVERTER, + class = std::enable_if_t>> +> +TYPE meta( const Meta,CONVERTER> &kwd, bool &found = detail::default_bool ) const { - const auto ptr = std::get_if(&kwd.placeholder); - return meta((ptr ? *ptr : TYPE{})/kwd, found); + TYPE ret; + meta(ret, kwd, found); + return ret; } diff --git a/src/GNDStk/Node/test/add.test.cpp b/src/GNDStk/Node/test/add.test.cpp index 468ae14c0..f3431430b 100644 --- a/src/GNDStk/Node/test/add.test.cpp +++ b/src/GNDStk/Node/test/add.test.cpp @@ -110,7 +110,7 @@ SCENARIO("Testing GNDStk Node add()") { auto numbers = Child< std::vector, Allow::one - >(special::pcdata,std::vector{})/detail::convert_pcdata_text_t{}; + >(special::pcdata)/detail::convert_pcdata_text_t{}; auto nrepeat = Child("repeated node"); Node node1; node1.name = "aa11"; @@ -126,10 +126,8 @@ SCENARIO("Testing GNDStk Node add()") { n.add(nrepeat,vec); n.add(nrepeat,node5); - // dim2d doesn't happen to have a default constructor, so we'll need - // to give it a value in the following Child. For just the .add()s, - // the value isn't used. - auto drepeat = Child("dimension",dim2d{0,0}); + // dim2d doesn't have a default constructor. That fine in the following. + auto drepeat = Child("dimension"); const dim2d a(1,2), b(3,4), c(5,6), d(7,8), e(9,10); n.add(drepeat,{a,b,c,d}); n.add(drepeat,e); diff --git a/src/GNDStk/Node/test/ctor.test.cpp b/src/GNDStk/Node/test/ctor.test.cpp index b0b441d7d..027a1249f 100644 --- a/src/GNDStk/Node/test/ctor.test.cpp +++ b/src/GNDStk/Node/test/ctor.test.cpp @@ -177,8 +177,8 @@ SCENARIO("Testing GNDStk Node constructors") { // ------------------------ GIVEN("Some Child objects") { - const Child ymd("YearMonthDay",yyyymmdd{0,0,0}); - const Child mdy("MonthDayYear",mmddyyyy{0,0,0}); + const Child ymd("YearMonthDay"); + const Child mdy("MonthDayYear"); WHEN("A Node is constructed with (Child,type)") { Node n(ymd,yyyymmdd{1776,7,4}); From 39b03fb83313bd7f71e5c014d36e2de3daa0fd9a Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 11:35:54 -0700 Subject: [PATCH 214/235] Minor updates to some test codes. --- src/GNDStk/BlockData/test/detail.test.cpp | 19 ------------------- src/GNDStk/Child/test/Child.test.cpp | 10 ++-------- src/GNDStk/Meta/test/Meta.test.cpp | 2 +- 3 files changed, 3 insertions(+), 28 deletions(-) diff --git a/src/GNDStk/BlockData/test/detail.test.cpp b/src/GNDStk/BlockData/test/detail.test.cpp index 593de9122..1500ff506 100644 --- a/src/GNDStk/BlockData/test/detail.test.cpp +++ b/src/GNDStk/BlockData/test/detail.test.cpp @@ -54,25 +54,6 @@ SCENARIO("Testing various BlockData-related detail:: constructs") { } // GIVEN - // ------------------------ - // decays - // ------------------------ - - GIVEN("Testing detail::decays") { - using tup1 = std::tuple<>; - using tup2 = std::tuple; - using tup3 = std::tuple; - using tup4 = std::tuple; - using tup5 = std::tuple; - - CHECK((std::is_same_v, std::tuple<>>)); - CHECK((std::is_same_v, std::tuple>)); - CHECK((std::is_same_v, std::tuple>)); - CHECK((std::is_same_v, std::tuple>)); - CHECK((std::is_same_v, std::tuple>)); - } // GIVEN - - // ------------------------ // element2element // ------------------------ diff --git a/src/GNDStk/Child/test/Child.test.cpp b/src/GNDStk/Child/test/Child.test.cpp index c0de1b37e..176d689e5 100644 --- a/src/GNDStk/Child/test/Child.test.cpp +++ b/src/GNDStk/Child/test/Child.test.cpp @@ -28,19 +28,13 @@ SCENARIO("Testing GNDStk Child") { WHEN("Constructed with (name,converter)") { const Child - foo("foo", 0.0, converter{}); + foo("foo", converter{}); CHECK(foo.name == "foo"); } WHEN("Constructed with (name,converter,filter)") { const Child - foo("foo", 0.0, converter{}, filter); - CHECK(foo.name == "foo"); - } - - WHEN("Constructed with (name,converter,filter,top)") { - const Child - foo("foo", 0.0, converter{}, filter); + foo("foo", converter{}, filter); CHECK(foo.name == "foo"); } } diff --git a/src/GNDStk/Meta/test/Meta.test.cpp b/src/GNDStk/Meta/test/Meta.test.cpp index f70524eec..f7902f4e1 100644 --- a/src/GNDStk/Meta/test/Meta.test.cpp +++ b/src/GNDStk/Meta/test/Meta.test.cpp @@ -25,7 +25,7 @@ SCENARIO("Testing GNDStk Meta") { } WHEN("Constructed with (name,converter)") { - Meta bar("bar",double{},converter{}); + Meta bar("bar",converter{}); CHECK(bar.name == "bar"); } } From 5d07dbc0965271d7c99ad76a131c535694e92c27 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 13:13:31 -0700 Subject: [PATCH 215/235] Finishing off code related to improving generated-class performance. --- src/GNDStk/Component/src/ctor.hpp | 3 +- src/GNDStk/Component/src/detail.hpp | 24 +++++ src/GNDStk/Component/src/finish.hpp | 32 ++----- src/GNDStk/Component/src/fromNode.hpp | 133 +++++++++++++++++++++----- src/GNDStk/Component/src/print.hpp | 6 +- src/GNDStk/Component/src/read.hpp | 44 ++++++++- src/GNDStk/Component/src/sort.hpp | 8 +- src/GNDStk/Component/src/toNode.hpp | 13 ++- 8 files changed, 205 insertions(+), 58 deletions(-) diff --git a/src/GNDStk/Component/src/ctor.hpp b/src/GNDStk/Component/src/ctor.hpp index dbaf23f0c..dec66b874 100644 --- a/src/GNDStk/Component/src/ctor.hpp +++ b/src/GNDStk/Component/src/ctor.hpp @@ -15,7 +15,7 @@ Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) // without again running into the issue of DERIVED being incomplete. // Type that a multi-query with DERIVED::KEYS() will produce. - using multi_t = detail::decays_t; + using multi_t = typename detail::queryResult::type; // The types in ARGS should exactly reflect what we'd get from // a DERIVED::KEYS() multi-query, except that an ARG of Field @@ -28,7 +28,6 @@ Component(const BLOCKDATA &other, ARGS &...args) : BLOCKDATA(other) ); // Create links - ///std::cout << "ctor: " << Class() << std::endl; links.reserve(sizeof...(args)); (links.push_back(fieldAddress(args)), ...); } diff --git a/src/GNDStk/Component/src/detail.hpp b/src/GNDStk/Component/src/detail.hpp index ffa1752a3..315b1fe29 100644 --- a/src/GNDStk/Component/src/detail.hpp +++ b/src/GNDStk/Component/src/detail.hpp @@ -506,4 +506,28 @@ void sort(std::optional> &opt) sort(opt.value()); } + + +// ----------------------------------------------------------------------------- +// queryResult +// ----------------------------------------------------------------------------- + +// default +template +struct queryResult { + using type = std::decay_t()))>; +}; + +// For Meta +template +struct queryResult,CONVERTER>> { + using type = Defaulted; +}; + +// For std::tuple +template +struct queryResult> { + using type = std::tuple::type...>; +}; + } // namespace detail diff --git a/src/GNDStk/Component/src/finish.hpp b/src/GNDStk/Component/src/finish.hpp index e4376f74f..b5bbaf665 100644 --- a/src/GNDStk/Component/src/finish.hpp +++ b/src/GNDStk/Component/src/finish.hpp @@ -116,9 +116,12 @@ void finish(const DERIVED &other) sort(); // construct - void (Component::*stub)(const DERIVED &) = &Component::construct; - void (DERIVED::*custom)(const DERIVED &) = &DERIVED::construct; - if (custom != stub) + void (Component::*componentConstruct) + (const DERIVED &) = &Component::construct; + void (DERIVED::*derivedConstruct) + (const DERIVED &) = &DERIVED::construct; + + if (derivedConstruct != componentConstruct) derived().construct(other); else derived().construct(); @@ -131,28 +134,7 @@ void finish(const DERIVED &other) void finish(const Node &node) { - // Read fields from the Node into the derived object. This applies the KEYS() - // multi-query in the derived class, and also runs BlockData::fromNode() - if - // the Node has block data - in order to get the Node's string of block data. - fromNode(node); - - if constexpr (hasBlockData) { - // length, start, valueType - BLOCKDATA::pullFromDerived(derived()); - // make vector - BLOCKDATA::get(); - } - - // derived-class vector fields - sort(); - - // construct - void (Component::*stub)(const Node &) = &Component::construct; - void (DERIVED::*custom)(const Node &) = &DERIVED::construct; - if (custom != stub) - derived().construct(node); - else - derived().construct(); + read(node); } diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index 13e515831..ab7fbcab0 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -1,4 +1,113 @@ +// ----------------------------------------------------------------------------- +// Helpers +// ----------------------------------------------------------------------------- + +private: + +// ------------------------ +// Transfer Meta +// ------------------------ + +template +void transferMeta( + const Node &node, DEST &to, + const Meta &key +) { + node.meta(to, key); +} + + +// ------------------------ +// Transfer Child +// ------------------------ + +template +void transferChild( + const Node &node, DEST &to, + const Child &key +) { + // Absolutely respect any non-default converter in the Child key, by doing + // a Core Interface child-node query in the usual manner. Note that we can + // still use the more-efficient "node.child(to,key)" rather than the less- + // efficient "to = node(key)", because, in the present context, we do have + // a specific destination for the query result. + if constexpr (!std::is_same_v) { + node.child(to, key); + return; + } + + // In the following conditionals, assume that Foo derives from Component, + // while Bar does not, i.e.: + // Foo: Component + // Bar + // Comments, below, reflect various situations. + + if constexpr (detail::isDerivedFromComponent::value) { + // *** Foo + // Derives from Component, so we know that it has, via Component, + // a .read(node) function, which should be most efficient to use + // for "conversion" of the Node to a Foo. + node.child(to, key/[](const Node &node, DEST &to) { to.read(node); }); + + } else if constexpr (detail::isOptional) { + using OPT = typename DEST::value_type; // type the optional may contain + + if constexpr (detail::isVector_v) { + using ELEM = typename OPT::value_type; // vector element type + if constexpr (detail::isDerivedFromComponent::value) { + // *** optional> + if (!to.has_value()) + to = OPT{}; + node.child(to, key/[](const Node &node, ELEM &e) { e.read(node); }); + } else { + // *** optional> + node.child(to, key); + } + } else { + if constexpr (detail::isDerivedFromComponent::value) { + // *** optional + node.child(to, key/[](const Node &node, OPT &to) { to.read(node); }); + } else { + // *** optional + node.child(to, key); + } + } + } else if constexpr (detail::isVector_v) { + using ELEM = typename DEST::value_type; // vector element type + if constexpr (detail::isDerivedFromComponent::value) { + // *** vector + node.child(to, key/[](const Node &node, ELEM &e) { e.read(node); }); + } else { + // *** vector + node.child(to, key); + } + } else { + // *** Bar + node.child(to, key); + } +} + + +// ------------------------ +// Transfer +// ------------------------ + +template +void transfer(const std::size_t n, const Node &node, const KEY &key) +{ + using DEST = typename detail::queryResult::type; + DEST &to = *(DEST *)links[n]; + + if constexpr (detail::IsMeta::value) + transferMeta(node, to, key); + else if constexpr (detail::IsChild::value) + transferChild(node, to, key); + else + to = node(key); +} + + // ----------------------------------------------------------------------------- // Component::fromNode(Node) // ----------------------------------------------------------------------------- @@ -17,21 +126,6 @@ // new(), below, but to no real effect: the result would be replaced, anyway, // when the derived class' own members are initialized in its constructor. -private: - -template -void transfer(const std::size_t n, const Node &node, const KEY &key) -{ - // todo working here on possibly optimizations - if constexpr (detail::IsMeta::value) { - *(std::decay_t *)links[n] = node(key); - } else if constexpr (detail::IsChild::value) { - *(std::decay_t *)links[n] = node(key); - } else { - assert(false); - } -} - public: void fromNode(const Node &node) @@ -53,14 +147,7 @@ void fromNode(const Node &node) // Node ==> derived-class data std::apply( [this,node](const auto &... key) { - std::size_t n = 0; - ( - ( - this->transfer(n++, node, key) - ///*(std::decay_t *)links[n++] = node(key) - ), - ... - ); + std::size_t n = 0; (this->transfer(n++, node, key), ...); }, Keys().tup ); diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index e834228f1..466f97063 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -100,7 +100,11 @@ std::ostream &print(std::ostream &os, const int level) const detail::printComponentPart( os, level+1, - *(std::decay_t *)links[n++], + *( + typename detail::queryResult< + std::decay_t + >::type + *)links[n++], detail::getName(key), maxlen ) && (os << '\n') // no if()s in fold expressions :-/ diff --git a/src/GNDStk/Component/src/read.hpp b/src/GNDStk/Component/src/read.hpp index fa9c94c8b..313579f02 100644 --- a/src/GNDStk/Component/src/read.hpp +++ b/src/GNDStk/Component/src/read.hpp @@ -1,4 +1,40 @@ +// ----------------------------------------------------------------------------- +// Read this object, in-place, from a Node +// ----------------------------------------------------------------------------- + +void read(const Node &node) +{ + // todo Maybe we don't really need/want a separate fromNode() function...? + + // Read fields from the Node into the derived object. This applies the KEYS() + // multi-query in the derived class, and also runs BlockData::fromNode() - if + // the Node has block data - in order to get the Node's string of block data. + fromNode(node); + + if constexpr (hasBlockData) { + // length, start, valueType + BLOCKDATA::pullFromDerived(derived()); + // make vector + BLOCKDATA::get(); + } + + // derived-class vector fields + sort(); + + // construct + void (Component::*componentConstruct) + (const Node &) = &Component::construct; + void (DERIVED::*derivedConstruct) + (const Node &) = &DERIVED::construct; + + if (derivedConstruct != componentConstruct) + derived().construct(node); + else + derived().construct(); +} + + // ----------------------------------------------------------------------------- // Component::read() // Via Node, and using Node's available read() functions. @@ -13,7 +49,7 @@ std::istream &read( ) { Node node; std::istream &ret = node.read(is, format, decl); - derived() = DERIVED(node); + read(node); return ret; } @@ -25,7 +61,7 @@ bool read( ) { Node node; bool ret = node.read(filename, format, decl); - derived() = DERIVED(node); + read(node); return ret; } @@ -37,7 +73,7 @@ std::istream &read( ) { Node node; std::istream &ret = node.read(is, format, decl); - derived() = DERIVED(node); + read(node); return ret; } @@ -49,6 +85,6 @@ bool read( ) { Node node; bool ret = node.read(filename, format, decl); - derived() = DERIVED(node); + read(node); return ret; } diff --git a/src/GNDStk/Component/src/sort.hpp b/src/GNDStk/Component/src/sort.hpp index bf4f2ba25..5e4bf9b1b 100644 --- a/src/GNDStk/Component/src/sort.hpp +++ b/src/GNDStk/Component/src/sort.hpp @@ -17,7 +17,13 @@ void sort() [this](const auto &... key) { std::size_t n = 0; ( - detail::sort(*(std::decay_t *)links[n++]), + detail::sort( + *( + typename detail::queryResult< + std::decay_t + >::type + *)links[n++] + ), ... ); }, diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index 1d91d823a..3b8702334 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -32,8 +32,17 @@ operator Node() const std::apply( [this,&node](const auto &... key) { std::size_t n = 0; - (node.add(key,*(std::decay_t*)links[n++]), - ...); + ( + node.add( + key, + *( + typename detail::queryResult< + std::decay_t + >::type + *)links[n++] + ), + ... + ); }, Keys().tup ); From 8187e037ccc7519d96f2e3f0db4a438e825755a0 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 14 Nov 2022 16:45:06 -0700 Subject: [PATCH 216/235] Regenerated some code. Update to the code generator. Updates to some example/test material. --- autogen/json2class.cpp | 2 +- .../code/src/code/v2.0/gnds/Atomic.hpp | 28 ++------------- .../code/src/code/v2.0/gnds/Author.hpp | 28 ++------------- .../code/src/code/v2.0/gnds/Authors.hpp | 28 ++------------- .../code/src/code/v2.0/gnds/BindingEnergy.hpp | 28 ++------------- .../code/src/code/v2.0/gnds/Body.hpp | 26 ++------------ .../src/code/v2.0/gnds/ChemicalElement.hpp | 34 ++---------------- .../src/code/v2.0/gnds/ChemicalElements.hpp | 28 ++------------- .../code/src/code/v2.0/gnds/Configuration.hpp | 32 ++--------------- .../src/code/v2.0/gnds/Configurations.hpp | 28 ++------------- .../code/src/code/v2.0/gnds/Date.hpp | 30 ++-------------- .../code/src/code/v2.0/gnds/Dates.hpp | 28 ++------------- .../code/src/code/v2.0/gnds/Documentation.hpp | 36 ++----------------- .../code/src/code/v2.0/gnds/Double.hpp | 32 ++--------------- .../src/code/v2.0/gnds/EndfCompatible.hpp | 26 ++------------ .../code/src/code/v2.0/gnds/Evaluated.hpp | 36 ++----------------- .../code/src/code/v2.0/gnds/PoPs.hpp | 36 ++----------------- .../code/src/code/v2.0/gnds/Styles.hpp | 28 ++------------- .../code/src/code/v2.0/gnds/Title.hpp | 26 ++------------ standards/incremental/example/0.cpp | 4 +-- standards/incremental/example/compile | 2 +- 21 files changed, 40 insertions(+), 506 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 8f3f48786..29f1391e6 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -15,7 +15,7 @@ const bool singletons = true; const bool debugging = false; // Put print statements in constructor and assignment calls. For debugging. -const bool printCtorCalls = true; +const bool printCtorCalls = false; // ----------------------------------------------------------------------------- diff --git a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp index a99076c93..ac848eb0f 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp @@ -54,7 +54,6 @@ class Atomic : public Component { Atomic() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Atomic: default" << std::endl; Component::finish(); } @@ -65,7 +64,6 @@ class Atomic : public Component { GNDSTK_COMPONENT(BlockData{}), configurations(this,configurations) { - std::cout << "ctor: Atomic: fields" << std::endl; Component::finish(); } @@ -73,7 +71,6 @@ class Atomic : public Component { explicit Atomic(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Atomic: node" << std::endl; Component::finish(node); } @@ -82,7 +79,6 @@ class Atomic : public Component { GNDSTK_COMPONENT(other.baseBlockData()), configurations(this,other.configurations) { - std::cout << "ctor: Atomic: copy" << std::endl; Component::finish(other); } @@ -91,7 +87,6 @@ class Atomic : public Component { GNDSTK_COMPONENT(other.baseBlockData()), configurations(this,std::move(other.configurations)) { - std::cout << "ctor: Atomic: move" << std::endl; Component::finish(other); } @@ -99,27 +94,8 @@ class Atomic : public Component { // Assignment operators // ------------------------ - // copy - Atomic &operator=(const Atomic &other) - { - if (this != &other) { - std::cout << "assign: Atomic: copy" << std::endl; - Component::operator=(other); - configurations = other.configurations; - } - return *this; - } - - // move - Atomic &operator=(Atomic &&other) - { - if (this != &other) { - std::cout << "assign: Atomic: move" << std::endl; - Component::operator=(std::move(other)); - configurations = std::move(other.configurations); - } - return *this; - } + Atomic &operator=(const Atomic &) = default; + Atomic &operator=(Atomic &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp index 2803c0932..9c66445b3 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp @@ -55,7 +55,6 @@ class Author : public Component { Author() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Author: default" << std::endl; Component::finish(); } @@ -66,7 +65,6 @@ class Author : public Component { GNDSTK_COMPONENT(BlockData{}), name(this,name) { - std::cout << "ctor: Author: fields" << std::endl; Component::finish(); } @@ -74,7 +72,6 @@ class Author : public Component { explicit Author(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Author: node" << std::endl; Component::finish(node); } @@ -83,7 +80,6 @@ class Author : public Component { GNDSTK_COMPONENT(other.baseBlockData()), name(this,other.name) { - std::cout << "ctor: Author: copy" << std::endl; Component::finish(other); } @@ -92,7 +88,6 @@ class Author : public Component { GNDSTK_COMPONENT(other.baseBlockData()), name(this,std::move(other.name)) { - std::cout << "ctor: Author: move" << std::endl; Component::finish(other); } @@ -100,27 +95,8 @@ class Author : public Component { // Assignment operators // ------------------------ - // copy - Author &operator=(const Author &other) - { - if (this != &other) { - std::cout << "assign: Author: copy" << std::endl; - Component::operator=(other); - name = other.name; - } - return *this; - } - - // move - Author &operator=(Author &&other) - { - if (this != &other) { - std::cout << "assign: Author: move" << std::endl; - Component::operator=(std::move(other)); - name = std::move(other.name); - } - return *this; - } + Author &operator=(const Author &) = default; + Author &operator=(Author &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp index e6a39d8db..1dcf0cdad 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp @@ -54,7 +54,6 @@ class Authors : public Component { Authors() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Authors: default" << std::endl; Component::finish(); } @@ -65,7 +64,6 @@ class Authors : public Component { GNDSTK_COMPONENT(BlockData{}), author(this,author) { - std::cout << "ctor: Authors: fields" << std::endl; Component::finish(); } @@ -73,7 +71,6 @@ class Authors : public Component { explicit Authors(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Authors: node" << std::endl; Component::finish(node); } @@ -82,7 +79,6 @@ class Authors : public Component { GNDSTK_COMPONENT(other.baseBlockData()), author(this,other.author) { - std::cout << "ctor: Authors: copy" << std::endl; Component::finish(other); } @@ -91,7 +87,6 @@ class Authors : public Component { GNDSTK_COMPONENT(other.baseBlockData()), author(this,std::move(other.author)) { - std::cout << "ctor: Authors: move" << std::endl; Component::finish(other); } @@ -99,27 +94,8 @@ class Authors : public Component { // Assignment operators // ------------------------ - // copy - Authors &operator=(const Authors &other) - { - if (this != &other) { - std::cout << "assign: Authors: copy" << std::endl; - Component::operator=(other); - author = other.author; - } - return *this; - } - - // move - Authors &operator=(Authors &&other) - { - if (this != &other) { - std::cout << "assign: Authors: move" << std::endl; - Component::operator=(std::move(other)); - author = std::move(other.author); - } - return *this; - } + Authors &operator=(const Authors &) = default; + Authors &operator=(Authors &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp index 7bb9e24d9..c84605cad 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp @@ -54,7 +54,6 @@ class BindingEnergy : public Component { BindingEnergy() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: BindingEnergy: default" << std::endl; Component::finish(); } @@ -65,7 +64,6 @@ class BindingEnergy : public Component { GNDSTK_COMPONENT(BlockData{}), Double(this,Double) { - std::cout << "ctor: BindingEnergy: fields" << std::endl; Component::finish(); } @@ -73,7 +71,6 @@ class BindingEnergy : public Component { explicit BindingEnergy(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: BindingEnergy: node" << std::endl; Component::finish(node); } @@ -82,7 +79,6 @@ class BindingEnergy : public Component { GNDSTK_COMPONENT(other.baseBlockData()), Double(this,other.Double) { - std::cout << "ctor: BindingEnergy: copy" << std::endl; Component::finish(other); } @@ -91,7 +87,6 @@ class BindingEnergy : public Component { GNDSTK_COMPONENT(other.baseBlockData()), Double(this,std::move(other.Double)) { - std::cout << "ctor: BindingEnergy: move" << std::endl; Component::finish(other); } @@ -99,27 +94,8 @@ class BindingEnergy : public Component { // Assignment operators // ------------------------ - // copy - BindingEnergy &operator=(const BindingEnergy &other) - { - if (this != &other) { - std::cout << "assign: BindingEnergy: copy" << std::endl; - Component::operator=(other); - Double = other.Double; - } - return *this; - } - - // move - BindingEnergy &operator=(BindingEnergy &&other) - { - if (this != &other) { - std::cout << "assign: BindingEnergy: move" << std::endl; - Component::operator=(std::move(other)); - Double = std::move(other.Double); - } - return *this; - } + BindingEnergy &operator=(const BindingEnergy &) = default; + BindingEnergy &operator=(BindingEnergy &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp index b650ac5d2..dae5b369c 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp @@ -48,7 +48,6 @@ class Body : public Component { Body() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Body: default" << std::endl; Component::finish(); } @@ -56,7 +55,6 @@ class Body : public Component { explicit Body(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Body: node" << std::endl; Component::finish(node); } @@ -65,7 +63,6 @@ class Body : public Component { Body(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Body: vector" << std::endl; Component::finish(vector); } @@ -73,7 +70,6 @@ class Body : public Component { Body(const Body &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Body: copy" << std::endl; Component::finish(other); } @@ -81,7 +77,6 @@ class Body : public Component { Body(Body &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Body: move" << std::endl; Component::finish(other); } @@ -89,25 +84,8 @@ class Body : public Component { // Assignment operators // ------------------------ - // copy - Body &operator=(const Body &other) - { - if (this != &other) { - std::cout << "assign: Body: copy" << std::endl; - Component::operator=(other); - } - return *this; - } - - // move - Body &operator=(Body &&other) - { - if (this != &other) { - std::cout << "assign: Body: move" << std::endl; - Component::operator=(std::move(other)); - } - return *this; - } + Body &operator=(const Body &) = default; + Body &operator=(Body &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp index 8f75ecd1c..b17187267 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp @@ -69,7 +69,6 @@ class ChemicalElement : public Component { ChemicalElement() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: ChemicalElement: default" << std::endl; Component::finish(); } @@ -86,7 +85,6 @@ class ChemicalElement : public Component { name(this,name), atomic(this,atomic) { - std::cout << "ctor: ChemicalElement: fields" << std::endl; Component::finish(); } @@ -94,7 +92,6 @@ class ChemicalElement : public Component { explicit ChemicalElement(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: ChemicalElement: node" << std::endl; Component::finish(node); } @@ -106,7 +103,6 @@ class ChemicalElement : public Component { name(this,other.name), atomic(this,other.atomic) { - std::cout << "ctor: ChemicalElement: copy" << std::endl; Component::finish(other); } @@ -118,7 +114,6 @@ class ChemicalElement : public Component { name(this,std::move(other.name)), atomic(this,std::move(other.atomic)) { - std::cout << "ctor: ChemicalElement: move" << std::endl; Component::finish(other); } @@ -126,33 +121,8 @@ class ChemicalElement : public Component { // Assignment operators // ------------------------ - // copy - ChemicalElement &operator=(const ChemicalElement &other) - { - if (this != &other) { - std::cout << "assign: ChemicalElement: copy" << std::endl; - Component::operator=(other); - symbol = other.symbol; - Z = other.Z; - name = other.name; - atomic = other.atomic; - } - return *this; - } - - // move - ChemicalElement &operator=(ChemicalElement &&other) - { - if (this != &other) { - std::cout << "assign: ChemicalElement: move" << std::endl; - Component::operator=(std::move(other)); - symbol = std::move(other.symbol); - Z = std::move(other.Z); - name = std::move(other.name); - atomic = std::move(other.atomic); - } - return *this; - } + ChemicalElement &operator=(const ChemicalElement &) = default; + ChemicalElement &operator=(ChemicalElement &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp index a2cb91f1c..e6ae77a97 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp @@ -54,7 +54,6 @@ class ChemicalElements : public Component { ChemicalElements() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: ChemicalElements: default" << std::endl; Component::finish(); } @@ -65,7 +64,6 @@ class ChemicalElements : public Component { GNDSTK_COMPONENT(BlockData{}), chemicalElement(this,chemicalElement) { - std::cout << "ctor: ChemicalElements: fields" << std::endl; Component::finish(); } @@ -73,7 +71,6 @@ class ChemicalElements : public Component { explicit ChemicalElements(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: ChemicalElements: node" << std::endl; Component::finish(node); } @@ -82,7 +79,6 @@ class ChemicalElements : public Component { GNDSTK_COMPONENT(other.baseBlockData()), chemicalElement(this,other.chemicalElement) { - std::cout << "ctor: ChemicalElements: copy" << std::endl; Component::finish(other); } @@ -91,7 +87,6 @@ class ChemicalElements : public Component { GNDSTK_COMPONENT(other.baseBlockData()), chemicalElement(this,std::move(other.chemicalElement)) { - std::cout << "ctor: ChemicalElements: move" << std::endl; Component::finish(other); } @@ -99,27 +94,8 @@ class ChemicalElements : public Component { // Assignment operators // ------------------------ - // copy - ChemicalElements &operator=(const ChemicalElements &other) - { - if (this != &other) { - std::cout << "assign: ChemicalElements: copy" << std::endl; - Component::operator=(other); - chemicalElement = other.chemicalElement; - } - return *this; - } - - // move - ChemicalElements &operator=(ChemicalElements &&other) - { - if (this != &other) { - std::cout << "assign: ChemicalElements: move" << std::endl; - Component::operator=(std::move(other)); - chemicalElement = std::move(other.chemicalElement); - } - return *this; - } + ChemicalElements &operator=(const ChemicalElements &) = default; + ChemicalElements &operator=(ChemicalElements &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp index 264e4f750..ef8f17dde 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp @@ -65,7 +65,6 @@ class Configuration : public Component { Configuration() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Configuration: default" << std::endl; Component::finish(); } @@ -80,7 +79,6 @@ class Configuration : public Component { electronNumber(this,electronNumber), bindingEnergy(this,bindingEnergy) { - std::cout << "ctor: Configuration: fields" << std::endl; Component::finish(); } @@ -88,7 +86,6 @@ class Configuration : public Component { explicit Configuration(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Configuration: node" << std::endl; Component::finish(node); } @@ -99,7 +96,6 @@ class Configuration : public Component { electronNumber(this,other.electronNumber), bindingEnergy(this,other.bindingEnergy) { - std::cout << "ctor: Configuration: copy" << std::endl; Component::finish(other); } @@ -110,7 +106,6 @@ class Configuration : public Component { electronNumber(this,std::move(other.electronNumber)), bindingEnergy(this,std::move(other.bindingEnergy)) { - std::cout << "ctor: Configuration: move" << std::endl; Component::finish(other); } @@ -118,31 +113,8 @@ class Configuration : public Component { // Assignment operators // ------------------------ - // copy - Configuration &operator=(const Configuration &other) - { - if (this != &other) { - std::cout << "assign: Configuration: copy" << std::endl; - Component::operator=(other); - subshell = other.subshell; - electronNumber = other.electronNumber; - bindingEnergy = other.bindingEnergy; - } - return *this; - } - - // move - Configuration &operator=(Configuration &&other) - { - if (this != &other) { - std::cout << "assign: Configuration: move" << std::endl; - Component::operator=(std::move(other)); - subshell = std::move(other.subshell); - electronNumber = std::move(other.electronNumber); - bindingEnergy = std::move(other.bindingEnergy); - } - return *this; - } + Configuration &operator=(const Configuration &) = default; + Configuration &operator=(Configuration &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp index 6c5e68ead..0f3ee944c 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp @@ -54,7 +54,6 @@ class Configurations : public Component { Configurations() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Configurations: default" << std::endl; Component::finish(); } @@ -65,7 +64,6 @@ class Configurations : public Component { GNDSTK_COMPONENT(BlockData{}), configuration(this,configuration) { - std::cout << "ctor: Configurations: fields" << std::endl; Component::finish(); } @@ -73,7 +71,6 @@ class Configurations : public Component { explicit Configurations(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Configurations: node" << std::endl; Component::finish(node); } @@ -82,7 +79,6 @@ class Configurations : public Component { GNDSTK_COMPONENT(other.baseBlockData()), configuration(this,other.configuration) { - std::cout << "ctor: Configurations: copy" << std::endl; Component::finish(other); } @@ -91,7 +87,6 @@ class Configurations : public Component { GNDSTK_COMPONENT(other.baseBlockData()), configuration(this,std::move(other.configuration)) { - std::cout << "ctor: Configurations: move" << std::endl; Component::finish(other); } @@ -99,27 +94,8 @@ class Configurations : public Component { // Assignment operators // ------------------------ - // copy - Configurations &operator=(const Configurations &other) - { - if (this != &other) { - std::cout << "assign: Configurations: copy" << std::endl; - Component::operator=(other); - configuration = other.configuration; - } - return *this; - } - - // move - Configurations &operator=(Configurations &&other) - { - if (this != &other) { - std::cout << "assign: Configurations: move" << std::endl; - Component::operator=(std::move(other)); - configuration = std::move(other.configuration); - } - return *this; - } + Configurations &operator=(const Configurations &) = default; + Configurations &operator=(Configurations &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp index 051ace545..900136985 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp @@ -59,7 +59,6 @@ class Date : public Component { Date() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Date: default" << std::endl; Component::finish(); } @@ -72,7 +71,6 @@ class Date : public Component { value(this,value), dateType(this,dateType) { - std::cout << "ctor: Date: fields" << std::endl; Component::finish(); } @@ -80,7 +78,6 @@ class Date : public Component { explicit Date(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Date: node" << std::endl; Component::finish(node); } @@ -90,7 +87,6 @@ class Date : public Component { value(this,other.value), dateType(this,other.dateType) { - std::cout << "ctor: Date: copy" << std::endl; Component::finish(other); } @@ -100,7 +96,6 @@ class Date : public Component { value(this,std::move(other.value)), dateType(this,std::move(other.dateType)) { - std::cout << "ctor: Date: move" << std::endl; Component::finish(other); } @@ -108,29 +103,8 @@ class Date : public Component { // Assignment operators // ------------------------ - // copy - Date &operator=(const Date &other) - { - if (this != &other) { - std::cout << "assign: Date: copy" << std::endl; - Component::operator=(other); - value = other.value; - dateType = other.dateType; - } - return *this; - } - - // move - Date &operator=(Date &&other) - { - if (this != &other) { - std::cout << "assign: Date: move" << std::endl; - Component::operator=(std::move(other)); - value = std::move(other.value); - dateType = std::move(other.dateType); - } - return *this; - } + Date &operator=(const Date &) = default; + Date &operator=(Date &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp index decfa5324..11178bdbc 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp @@ -54,7 +54,6 @@ class Dates : public Component { Dates() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Dates: default" << std::endl; Component::finish(); } @@ -65,7 +64,6 @@ class Dates : public Component { GNDSTK_COMPONENT(BlockData{}), date(this,date) { - std::cout << "ctor: Dates: fields" << std::endl; Component::finish(); } @@ -73,7 +71,6 @@ class Dates : public Component { explicit Dates(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Dates: node" << std::endl; Component::finish(node); } @@ -82,7 +79,6 @@ class Dates : public Component { GNDSTK_COMPONENT(other.baseBlockData()), date(this,other.date) { - std::cout << "ctor: Dates: copy" << std::endl; Component::finish(other); } @@ -91,7 +87,6 @@ class Dates : public Component { GNDSTK_COMPONENT(other.baseBlockData()), date(this,std::move(other.date)) { - std::cout << "ctor: Dates: move" << std::endl; Component::finish(other); } @@ -99,27 +94,8 @@ class Dates : public Component { // Assignment operators // ------------------------ - // copy - Dates &operator=(const Dates &other) - { - if (this != &other) { - std::cout << "assign: Dates: copy" << std::endl; - Component::operator=(other); - date = other.date; - } - return *this; - } - - // move - Dates &operator=(Dates &&other) - { - if (this != &other) { - std::cout << "assign: Dates: move" << std::endl; - Component::operator=(std::move(other)); - date = std::move(other.date); - } - return *this; - } + Dates &operator=(const Dates &) = default; + Dates &operator=(Dates &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp index e847bb401..0ac1f33e4 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp @@ -70,7 +70,6 @@ class Documentation : public Component { Documentation() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Documentation: default" << std::endl; Component::finish(); } @@ -89,7 +88,6 @@ class Documentation : public Component { body(this,body), endfCompatible(this,endfCompatible) { - std::cout << "ctor: Documentation: fields" << std::endl; Component::finish(); } @@ -97,7 +95,6 @@ class Documentation : public Component { explicit Documentation(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Documentation: node" << std::endl; Component::finish(node); } @@ -110,7 +107,6 @@ class Documentation : public Component { body(this,other.body), endfCompatible(this,other.endfCompatible) { - std::cout << "ctor: Documentation: copy" << std::endl; Component::finish(other); } @@ -123,7 +119,6 @@ class Documentation : public Component { body(this,std::move(other.body)), endfCompatible(this,std::move(other.endfCompatible)) { - std::cout << "ctor: Documentation: move" << std::endl; Component::finish(other); } @@ -131,35 +126,8 @@ class Documentation : public Component { // Assignment operators // ------------------------ - // copy - Documentation &operator=(const Documentation &other) - { - if (this != &other) { - std::cout << "assign: Documentation: copy" << std::endl; - Component::operator=(other); - authors = other.authors; - dates = other.dates; - title = other.title; - body = other.body; - endfCompatible = other.endfCompatible; - } - return *this; - } - - // move - Documentation &operator=(Documentation &&other) - { - if (this != &other) { - std::cout << "assign: Documentation: move" << std::endl; - Component::operator=(std::move(other)); - authors = std::move(other.authors); - dates = std::move(other.dates); - title = std::move(other.title); - body = std::move(other.body); - endfCompatible = std::move(other.endfCompatible); - } - return *this; - } + Documentation &operator=(const Documentation &) = default; + Documentation &operator=(Documentation &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp index 958300f22..477e8fcd4 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp @@ -63,7 +63,6 @@ class Double : public Component { Double() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Double: default" << std::endl; Component::finish(); } @@ -78,7 +77,6 @@ class Double : public Component { value(this,value), unit(this,unit) { - std::cout << "ctor: Double: fields" << std::endl; Component::finish(); } @@ -86,7 +84,6 @@ class Double : public Component { explicit Double(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Double: node" << std::endl; Component::finish(node); } @@ -97,7 +94,6 @@ class Double : public Component { value(this,other.value), unit(this,other.unit) { - std::cout << "ctor: Double: copy" << std::endl; Component::finish(other); } @@ -108,7 +104,6 @@ class Double : public Component { value(this,std::move(other.value)), unit(this,std::move(other.unit)) { - std::cout << "ctor: Double: move" << std::endl; Component::finish(other); } @@ -116,31 +111,8 @@ class Double : public Component { // Assignment operators // ------------------------ - // copy - Double &operator=(const Double &other) - { - if (this != &other) { - std::cout << "assign: Double: copy" << std::endl; - Component::operator=(other); - label = other.label; - value = other.value; - unit = other.unit; - } - return *this; - } - - // move - Double &operator=(Double &&other) - { - if (this != &other) { - std::cout << "assign: Double: move" << std::endl; - Component::operator=(std::move(other)); - label = std::move(other.label); - value = std::move(other.value); - unit = std::move(other.unit); - } - return *this; - } + Double &operator=(const Double &) = default; + Double &operator=(Double &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp index 6da0125e9..eeb4c03ab 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp @@ -48,7 +48,6 @@ class EndfCompatible : public Component { EndfCompatible() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: EndfCompatible: default" << std::endl; Component::finish(); } @@ -56,7 +55,6 @@ class EndfCompatible : public Component { explicit EndfCompatible(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: EndfCompatible: node" << std::endl; Component::finish(node); } @@ -65,7 +63,6 @@ class EndfCompatible : public Component { EndfCompatible(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: EndfCompatible: vector" << std::endl; Component::finish(vector); } @@ -73,7 +70,6 @@ class EndfCompatible : public Component { EndfCompatible(const EndfCompatible &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: EndfCompatible: copy" << std::endl; Component::finish(other); } @@ -81,7 +77,6 @@ class EndfCompatible : public Component { EndfCompatible(EndfCompatible &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: EndfCompatible: move" << std::endl; Component::finish(other); } @@ -89,25 +84,8 @@ class EndfCompatible : public Component { // Assignment operators // ------------------------ - // copy - EndfCompatible &operator=(const EndfCompatible &other) - { - if (this != &other) { - std::cout << "assign: EndfCompatible: copy" << std::endl; - Component::operator=(other); - } - return *this; - } - - // move - EndfCompatible &operator=(EndfCompatible &&other) - { - if (this != &other) { - std::cout << "assign: EndfCompatible: move" << std::endl; - Component::operator=(std::move(other)); - } - return *this; - } + EndfCompatible &operator=(const EndfCompatible &) = default; + EndfCompatible &operator=(EndfCompatible &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp index 6368ae2ee..01dbcf388 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp @@ -73,7 +73,6 @@ class Evaluated : public Component { Evaluated() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Evaluated: default" << std::endl; Component::finish(); } @@ -92,7 +91,6 @@ class Evaluated : public Component { version(this,version), documentation(this,documentation) { - std::cout << "ctor: Evaluated: fields" << std::endl; Component::finish(); } @@ -100,7 +98,6 @@ class Evaluated : public Component { explicit Evaluated(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Evaluated: node" << std::endl; Component::finish(node); } @@ -113,7 +110,6 @@ class Evaluated : public Component { version(this,other.version), documentation(this,other.documentation) { - std::cout << "ctor: Evaluated: copy" << std::endl; Component::finish(other); } @@ -126,7 +122,6 @@ class Evaluated : public Component { version(this,std::move(other.version)), documentation(this,std::move(other.documentation)) { - std::cout << "ctor: Evaluated: move" << std::endl; Component::finish(other); } @@ -134,35 +129,8 @@ class Evaluated : public Component { // Assignment operators // ------------------------ - // copy - Evaluated &operator=(const Evaluated &other) - { - if (this != &other) { - std::cout << "assign: Evaluated: copy" << std::endl; - Component::operator=(other); - label = other.label; - date = other.date; - library = other.library; - version = other.version; - documentation = other.documentation; - } - return *this; - } - - // move - Evaluated &operator=(Evaluated &&other) - { - if (this != &other) { - std::cout << "assign: Evaluated: move" << std::endl; - Component::operator=(std::move(other)); - label = std::move(other.label); - date = std::move(other.date); - library = std::move(other.library); - version = std::move(other.version); - documentation = std::move(other.documentation); - } - return *this; - } + Evaluated &operator=(const Evaluated &) = default; + Evaluated &operator=(Evaluated &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp index e90f07ef8..7cf3d5459 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp @@ -73,7 +73,6 @@ class PoPs : public Component { PoPs() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: PoPs: default" << std::endl; Component::finish(); } @@ -92,7 +91,6 @@ class PoPs : public Component { styles(this,styles), chemicalElements(this,chemicalElements) { - std::cout << "ctor: PoPs: fields" << std::endl; Component::finish(); } @@ -100,7 +98,6 @@ class PoPs : public Component { explicit PoPs(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: PoPs: node" << std::endl; Component::finish(node); } @@ -113,7 +110,6 @@ class PoPs : public Component { styles(this,other.styles), chemicalElements(this,other.chemicalElements) { - std::cout << "ctor: PoPs: copy" << std::endl; Component::finish(other); } @@ -126,7 +122,6 @@ class PoPs : public Component { styles(this,std::move(other.styles)), chemicalElements(this,std::move(other.chemicalElements)) { - std::cout << "ctor: PoPs: move" << std::endl; Component::finish(other); } @@ -134,35 +129,8 @@ class PoPs : public Component { // Assignment operators // ------------------------ - // copy - PoPs &operator=(const PoPs &other) - { - if (this != &other) { - std::cout << "assign: PoPs: copy" << std::endl; - Component::operator=(other); - name = other.name; - version = other.version; - format = other.format; - styles = other.styles; - chemicalElements = other.chemicalElements; - } - return *this; - } - - // move - PoPs &operator=(PoPs &&other) - { - if (this != &other) { - std::cout << "assign: PoPs: move" << std::endl; - Component::operator=(std::move(other)); - name = std::move(other.name); - version = std::move(other.version); - format = std::move(other.format); - styles = std::move(other.styles); - chemicalElements = std::move(other.chemicalElements); - } - return *this; - } + PoPs &operator=(const PoPs &) = default; + PoPs &operator=(PoPs &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp index c01c3b9a1..39bc3e1d9 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp @@ -54,7 +54,6 @@ class Styles : public Component { Styles() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Styles: default" << std::endl; Component::finish(); } @@ -65,7 +64,6 @@ class Styles : public Component { GNDSTK_COMPONENT(BlockData{}), evaluated(this,evaluated) { - std::cout << "ctor: Styles: fields" << std::endl; Component::finish(); } @@ -73,7 +71,6 @@ class Styles : public Component { explicit Styles(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Styles: node" << std::endl; Component::finish(node); } @@ -82,7 +79,6 @@ class Styles : public Component { GNDSTK_COMPONENT(other.baseBlockData()), evaluated(this,other.evaluated) { - std::cout << "ctor: Styles: copy" << std::endl; Component::finish(other); } @@ -91,7 +87,6 @@ class Styles : public Component { GNDSTK_COMPONENT(other.baseBlockData()), evaluated(this,std::move(other.evaluated)) { - std::cout << "ctor: Styles: move" << std::endl; Component::finish(other); } @@ -99,27 +94,8 @@ class Styles : public Component { // Assignment operators // ------------------------ - // copy - Styles &operator=(const Styles &other) - { - if (this != &other) { - std::cout << "assign: Styles: copy" << std::endl; - Component::operator=(other); - evaluated = other.evaluated; - } - return *this; - } - - // move - Styles &operator=(Styles &&other) - { - if (this != &other) { - std::cout << "assign: Styles: move" << std::endl; - Component::operator=(std::move(other)); - evaluated = std::move(other.evaluated); - } - return *this; - } + Styles &operator=(const Styles &) = default; + Styles &operator=(Styles &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp index f29960152..3db79cf2b 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp @@ -48,7 +48,6 @@ class Title : public Component { Title() : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Title: default" << std::endl; Component::finish(); } @@ -56,7 +55,6 @@ class Title : public Component { explicit Title(const Node &node) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Title: node" << std::endl; Component::finish(node); } @@ -65,7 +63,6 @@ class Title : public Component { Title(const std::vector &vector) : GNDSTK_COMPONENT(BlockData{}) { - std::cout << "ctor: Title: vector" << std::endl; Component::finish(vector); } @@ -73,7 +70,6 @@ class Title : public Component { Title(const Title &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Title: copy" << std::endl; Component::finish(other); } @@ -81,7 +77,6 @@ class Title : public Component { Title(Title &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - std::cout << "ctor: Title: move" << std::endl; Component::finish(other); } @@ -89,25 +84,8 @@ class Title : public Component { // Assignment operators // ------------------------ - // copy - Title &operator=(const Title &other) - { - if (this != &other) { - std::cout << "assign: Title: copy" << std::endl; - Component::operator=(other); - } - return *this; - } - - // move - Title &operator=(Title &&other) - { - if (this != &other) { - std::cout << "assign: Title: move" << std::endl; - Component::operator=(std::move(other)); - } - return *this; - } + Title &operator=(const Title &) = default; + Title &operator=(Title &&) = default; // ------------------------ // Custom functionality diff --git a/standards/incremental/example/0.cpp b/standards/incremental/example/0.cpp index 3e75477c7..cf51a2940 100644 --- a/standards/incremental/example/0.cpp +++ b/standards/incremental/example/0.cpp @@ -38,7 +38,6 @@ int main(const int argc, const char *const *const argv) exit(EXIT_FAILURE); } -#if 0 // speed test: read for (int n = 1; n < argc; ++n) { const std::string filename = argv[n]; @@ -48,7 +47,6 @@ int main(const int argc, const char *const *const argv) for (int n = 0; n < 100000; ++n) pops.read(filename); } -#endif #if 0 // speed test: construct from node @@ -63,6 +61,7 @@ int main(const int argc, const char *const *const argv) } #endif +#if 0 // files for (int n = 1; n < argc; ++n) { const std::string filename = argv[n]; @@ -87,4 +86,5 @@ int main(const int argc, const char *const *const argv) p.print(); print(); } +#endif } diff --git a/standards/incremental/example/compile b/standards/incremental/example/compile index a78e09b15..924b0940f 100755 --- a/standards/incremental/example/compile +++ b/standards/incremental/example/compile @@ -16,7 +16,7 @@ COMPILE=" -lhdf5 -fno-show-column -Wno-unused-command-line-argument - -Wall -Wextra -Wpedantic " + -O3 -Wall -Wextra -Wpedantic " # -g -O3 if [ ! -f "pugixml.o" ]; then From 3ab6cc794ac6cf7e659b063e89ca682968d609b5 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 16 Nov 2022 13:20:21 -0700 Subject: [PATCH 217/235] Some optimizations, relevant to generated classes that have large data arrays. --- src/GNDStk/BlockData/src/get.hpp | 16 +++++++------ src/GNDStk/precision/src/detail.hpp | 37 ++++++++++++++++++++++++----- 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/GNDStk/BlockData/src/get.hpp b/src/GNDStk/BlockData/src/get.hpp index 1abaf84c8..4c5ab6cbd 100644 --- a/src/GNDStk/BlockData/src/get.hpp +++ b/src/GNDStk/BlockData/src/get.hpp @@ -198,21 +198,23 @@ std::enable_if_t< } T zero; - if constexpr (std::is_same_v) zero = ""; else zero = T(0); + if constexpr (std::is_same_v) + zero = ""; + else + zero = T(0); // [*****----------]: leading 0s for (std::size_t i = 0; i < start(); ++i) to->push_back(zero); // [-----*****-----]: values from the raw string - std::istringstream iss(rawstring); if constexpr (std::is_floating_point_v) { - std::string str; - while (iss >> str) - to->push_back( - detail::Precision{}.read(str) - ); + detail::Precision{}. + read_vector(rawstring,*to,false); + // the "false" means "don't clear the vector"; we want that here, + // because leading 0s, from the earlier loop, might be present } else { + std::istringstream iss(rawstring); T element; while (iss >> element) to->push_back(element); diff --git a/src/GNDStk/precision/src/detail.hpp b/src/GNDStk/precision/src/detail.hpp index 8ffd3fe34..61fc2b724 100644 --- a/src/GNDStk/precision/src/detail.hpp +++ b/src/GNDStk/precision/src/detail.hpp @@ -149,7 +149,7 @@ class Precision { std::to_chars_result >> > - bool write(const T &value, std::string &str, int) + bool write(const T &value, std::string &str, int) const { // todo: Use a T-dependent sufficient size std::string chars(100,'\0'); @@ -170,7 +170,7 @@ class Precision { #endif template - bool write(const T &, std::string &, double) + bool write(const T &, std::string &, double) const { // tell the caller that floating-point to_chars() isn't available return false; @@ -188,7 +188,7 @@ class Precision { #ifdef GNDSTK_PRECISION template - auto read(const std::string &str, T &value, int) -> + auto read(const std::string &str, T &value, int) const -> std::enable_if_t< std::is_same_v< decltype(std::from_chars((char*)0, (char*)0, value)), @@ -211,7 +211,7 @@ class Precision { #endif template - bool read(const std::string &, T &, double) + bool read(const std::string &, T &, double) const { // tell the caller that floating-point from_chars() isn't available return false; @@ -223,7 +223,7 @@ class Precision { // write // ------------------------ - std::string write(const REAL &value) + std::string write(const REAL &value) const { if (otype != PrecisionType::stream) { // Use std::to_chars() for REAL, if it exists; @@ -244,7 +244,7 @@ class Precision { // read // ------------------------ - REAL read(const std::string &str) + REAL read(const std::string &str) const { REAL value = REAL(0); @@ -262,6 +262,31 @@ class Precision { return value; } + void read_vector( + const std::string &str, + std::vector &vec, + const bool clear = true + ) const { + if (clear) + vec.clear(); + + if (itype != PrecisionType::stream) { + // todo Can probably be made more efficient, but be careful of the + // fall-through logic noted in the comment in the above function. + std::istringstream i(str); + std::string tmp; + while (i >> tmp) + vec.push_back(read(tmp)); + } + + // Use the istringstream + iss.clear(); + iss.str(str); + REAL elem; + while (iss >> elem) + vec.push_back(elem); + } + // ------------------------ // For C++ I/O stream // manipulators From babad79c3b0b476642a967e7973dd8b2690893e4 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 21 Nov 2022 13:32:31 -0700 Subject: [PATCH 218/235] Substantial optimization. Via reformulation and extension of some floating-point read/write capabilities. --- src/GNDStk.hpp | 1 + src/GNDStk/BlockData/src/get.hpp | 6 +- src/GNDStk/precision/src/detail.hpp | 233 +++++++++++++++++++--------- 3 files changed, 164 insertions(+), 76 deletions(-) diff --git a/src/GNDStk.hpp b/src/GNDStk.hpp index 8012cbad8..bf3b3185c 100644 --- a/src/GNDStk.hpp +++ b/src/GNDStk.hpp @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include diff --git a/src/GNDStk/BlockData/src/get.hpp b/src/GNDStk/BlockData/src/get.hpp index 4c5ab6cbd..6155a889b 100644 --- a/src/GNDStk/BlockData/src/get.hpp +++ b/src/GNDStk/BlockData/src/get.hpp @@ -209,10 +209,10 @@ std::enable_if_t< // [-----*****-----]: values from the raw string if constexpr (std::is_floating_point_v) { + // Below, the "false" means "don't clear the vector"; we want that + // here, because leading 0s from the earlier loop might be present. detail::Precision{}. - read_vector(rawstring,*to,false); - // the "false" means "don't clear the vector"; we want that here, - // because leading 0s, from the earlier loop, might be present + read(rawstring,*to,false); } else { std::istringstream iss(rawstring); T element; diff --git a/src/GNDStk/precision/src/detail.hpp b/src/GNDStk/precision/src/detail.hpp index 61fc2b724..149233bd3 100644 --- a/src/GNDStk/precision/src/detail.hpp +++ b/src/GNDStk/precision/src/detail.hpp @@ -9,25 +9,31 @@ namespace detail { enum class PrecisionContext { metadata, // for GNDStk metadata values data, // for block data, a.k.a. XML "plain character data" - general // for both of the above together + general // for both of the above }; // PrecisionType enum class PrecisionType { - // use formatting that's available through C++ input and output streams + // Use formatting that's available through C++ input and output streams. stream, - // use GNDStk's ability to use to_chars()/from_chars() if SFINAE detects - // that they're available in std:: with the C++ distro that's being used + + // For input, prefer using strtof(), strtod(), and strtold() (for float, + // double, and long double, respectively) over using an input stream. Our + // experience suggests that these are faster for reading big data vectors. + strto, + + // Use GNDStk's ability to use to_chars()/from_chars(), if conditional + // compilation and SFINAE indicate that they're available in std:: with + // the C++ distro that's being used. fixed, scientific, shortest }; - // ----------------------------------------------------------------------------- // Classes behind GNDStk's own floating-point manipulators. -// These match with our three custom PrecisionType values. +// These match with our to/from_chars()-related PrecisionType values. // ----------------------------------------------------------------------------- class Fixed { }; @@ -35,7 +41,6 @@ class Scientific { }; class Shortest { }; - // ----------------------------------------------------------------------------- // Precision class // ----------------------------------------------------------------------------- @@ -57,7 +62,7 @@ process of producing a decimal representation of the number. Naturally, for the decimal representation, we'll use a std::string. -So: given a floating-point number, we want to produce a string. We already +So: given a floating-point number, we wish to produce a string. We already know that C++ provides more than one way to do this. A basic and reasonably flexible way is to begin with an output string stream (a std::ostringstream), use its operator<< to write the floating-point number, and then call the @@ -67,11 +72,11 @@ I/O manipulators. For example, oss << std::setprecision(10) << thenumber, where oss is the std::ostringstream. GNDStk provides that methodology. To do so, objects of the below Precision -class contain a std::ostringstream, the properties of which can be set in -the usual way: by calling << on the Precision object. Precision's operator<< -will pass on its arguments to the std::ostringstream, where those arguments -will be "stored," so to speak, for use whenever the std::ostringstream is -used for the output of a floating-point number. +class contain a std::ostringstream, the properties of which can be set by +calling << on the Precision object. Precision's operator<< passes on its +arguments to the std::ostringstream, where those arguments are "stored," so +to speak, in the std::ostringstream, to be used when the std::ostringstream +is used for writing a floating-point number. However, for the fun and profit of our users, we wish to provide something extra. Sufficiently recent C++-17 enabled compilers provide the to_chars() @@ -81,21 +86,20 @@ such representation. The round-trip guarantee essentially means that if we start with, say, a double-precision number (at the time of this writing, probably 64 bits in memory), use to_chars() to make a string, and then read the string with from_chars(), then we're guaranteed to recover exactly the -same 64 bits in memory - that is, precisely the same double we began with. +same 64 bits in memory - precisely the same double we began with. -Aside: the guarantee requires that from_chars(), not necessarily any old -string-to-floating-point process, be used to read back a string that was +Aside: the guarantee requires that from_chars(), not necessarily any string- +to-floating-point process, be used to read from a string that was earlier produced by to_chars(). Also, obviously, such a guarantee simply cannot be honored if different compilers, computing platforms, or floating-point sizes are used for to_chars() versus from_chars(). Under those circumstances, no -algorithm in the universe could make the guarantee. +algorithm in the universe could make the "round-trip" guarantee. The above discussion speaks in terms of output: operator<<, std::ostringstream, -etc. Our Precision class, below, handles *input* just as fully. +etc. Our Precision class, below, handles *input* in the analogous manner. */ - // ----------------------------------------------------------------------------- // Precision // Set properties for: in the given context, the given floating-point type. @@ -106,13 +110,14 @@ class Precision { // The following hold properties that can be set by using operator<< and // operator>>. The properties might or might not be used when writing or - // reading floating-point numbers, depending on the *type flags below. + // reading floating-point numbers; that depends on the *type flags below. static std::ostringstream oss; static std::istringstream iss; // The value of the following determines whether the above *stringstreams // will be used when writing or reading floating-point numbers, or whether - // to_chars() and from_chars() will be used instead. + // to_chars() and from_chars() will be used instead, or perhaps (for input) + // whether the strto*() family of functions are used. static PrecisionType otype; static PrecisionType itype; @@ -133,8 +138,9 @@ class Precision { // so that the token [chars_format] (which is used in both the SFINAE and // in the function body itself) doesn't even make sense to the compiler. // Perhaps we can find a way around this. For now, given that we don't want - // to_chars() and from_chars() to be GNDStk's default at this time, we'll - // use an #ifdef to remove this code altogether unless someone wants it. + // to_chars() and from_chars() to be GNDStk's default at this time (they're + // slower, and they require a later-model compiler than our users may have), + // we'll use an #ifdef to remove this code unless someone asks for it. template< class T, @@ -151,20 +157,24 @@ class Precision { > bool write(const T &value, std::string &str, int) const { - // todo: Use a T-dependent sufficient size + // todo: compute a T-dependent sufficient size std::string chars(100,'\0'); // todo: check to_chars' return value - if (otype == PrecisionType::fixed) + if (otype == PrecisionType::fixed) { + // fixed std::to_chars(chars.data(), chars.data() + chars.size(), value, std::chars_format::fixed); - else if (otype == PrecisionType::scientific) + } else if (otype == PrecisionType::scientific) { + // scientific std::to_chars(chars.data(), chars.data() + chars.size(), value, std::chars_format::scientific); - else + } else { + // shortest std::to_chars(chars.data(), chars.data() + chars.size(), value); + } - str = chars.data(); // ensure output std::string stops at \0 + str = chars.data(); // ensure output std::string stops at the first \0 return true; } #endif @@ -172,7 +182,9 @@ class Precision { template bool write(const T &, std::string &, double) const { - // tell the caller that floating-point to_chars() isn't available + // Tell the caller that floating-point to_chars() isn't available. + // In this case the "write to string" didn't happen here, and MUST + // instead be done by the caller. return false; } @@ -184,7 +196,7 @@ class Precision { // SFINAE test call. Using T{}, as we did in write(), but here for the (NON- // const &) from_chars() parameter, would in normal circumstances be a C++ // error (rvalue passed to non-const lvalue reference). Here, the attempt to - // do so would make the SFINAE fail always, defeating its purpose. + // do so would instead make the SFINAE fail always, defeating its purpose. #ifdef GNDSTK_PRECISION template @@ -198,7 +210,8 @@ class Precision { > { // Provide a clean slate for from_chars(), which skips white space - // but doesn't like '+'. So we'll skip the white space, AND any '+'. + // but doesn't like '+'. So we'll skip the white space ourselves, + // and then skip any '+' as well. const char *first = str.data(); while (isspace(*first)) first++; @@ -213,78 +226,156 @@ class Precision { template bool read(const std::string &, T &, double) const { - // tell the caller that floating-point from_chars() isn't available + // Tell the caller that floating-point from_chars() isn't available. + // In this case the "read from string" didn't happen here, and MUST + // instead be done by the caller. return false; } public: // ------------------------ - // write + // write single value // ------------------------ + // The value's std::string representation is returned std::string write(const REAL &value) const { - if (otype != PrecisionType::stream) { - // Use std::to_chars() for REAL, if it exists; - // else fall through and use the ostringstream + // N.B.: the two code blocks below can't be reordered, + // because of the potential fall-through. + + // CASE: fixed, scientific, shortest + if ( + otype == PrecisionType::fixed || + otype == PrecisionType::scientific || + otype == PrecisionType::shortest + ) { + // Use std::to_chars(), if it exists for REAL; + // otherwise, FALL THROUGH and use the ostringstream. std::string str; if (write(value,str,0)) return str; } - // Use the ostringstream - oss.str(""); - oss.clear(); - oss << value; + // CASE: strto, stream + // Use the ostringstream. Note that here, in write(), the PrecisionType:: + // strto case arrives here - in the PrecisionType::stream case - because + // strto does something special only for *input*. See the read()s, below. + oss.clear(); // <== clear any existing error flags + oss.str(""); // <== clear any previously printed value + oss << value; // with whatever properties oss happens to have right now return oss.str(); } // ------------------------ - // read + // read single value // ------------------------ + // The value (as obtained from the std::string) is returned REAL read(const std::string &str) const { - REAL value = REAL(0); + // CASE: strto + // One would probably use the strto*() functions for speed, relative + // to the other options. In that spirit, check for this case first. + if (itype == PrecisionType::strto) { + if constexpr (std::is_same_v) + return strtof (str.data(), nullptr); + if constexpr (std::is_same_v) + return strtod (str.data(), nullptr); + if constexpr (std::is_same_v) + return strtold(str.data(), nullptr); + } - if (itype != PrecisionType::stream) { - // Use std::from_chars() for REAL, if it exists; - // else fall through and use the istringstream + REAL value; + + // CASE: fixed, scientific, shortest + if ( + itype == PrecisionType::fixed || + itype == PrecisionType::scientific || + itype == PrecisionType::shortest + ) { + // Use std::from_chars(), if it exists for REAL; + // otherwise, FALL THROUGH and use the istringstream. if (read(str,value,0)) return value; } + // CASE: stream // Use the istringstream - iss.str(str); - iss.clear(); - iss >> value; + iss.clear(); // <== clear any existing error flags + iss.str(str); // <== set str as the brand-new input string + iss >> value; // with whatever properties iss happens to have right now return value; } - void read_vector( + // ------------------------ + // read vector of values + // ------------------------ + + // Values obtained from the std::string parameter + // are read into the std::vector parameter + void read( const std::string &str, - std::vector &vec, - const bool clear = true + std::vector &vec, const bool clear = true ) const { + // Clear the vector, unless the caller has indicated otherwise. if (clear) vec.clear(); - if (itype != PrecisionType::stream) { - // todo Can probably be made more efficient, but be careful of the - // fall-through logic noted in the comment in the above function. - std::istringstream i(str); - std::string tmp; - while (i >> tmp) - vec.push_back(read(tmp)); + REAL element; + + // CASE: strto + if (itype == PrecisionType::strto) { + if constexpr ( + // otherwise we'll need to fall through to other cases, + // and in fact wouldn't want to enter the below do-loop + std::is_same_v || + std::is_same_v || + std::is_same_v + ) { + const char *begin = str.data(); + char *end = nullptr; + + do { + if constexpr (std::is_same_v) + element = strtof(begin,&end); + if constexpr (std::is_same_v) + element = strtod(begin,&end); + if constexpr (std::is_same_v) + element = strtold(begin,&end); + if (end == begin) break; + vec.push_back(element); + begin = end+1; + } while (*end); + return; // done + } + // fall through... } + // CASE: fixed, scientific, shortest + if ( + itype == PrecisionType::fixed || + itype == PrecisionType::scientific || + itype == PrecisionType::shortest + ) { + // The following amounts to a test of whether std::from_chars() + // exists for REAL. We proceed here if and only if it does; and + // otherwise fall through to the stream case. + if (read("1",element,0)) { + std::istringstream i(str); + std::string tmpstr; + while (i >> tmpstr) + vec.push_back(read(tmpstr,element,0)); + } + // fall through... + } + + // CASE: stream // Use the istringstream - iss.clear(); - iss.str(str); - REAL elem; - while (iss >> elem) - vec.push_back(elem); + iss.clear(); // <== clear any existing error flags + iss.str(str); // <== set str as the brand-new input string + while (iss >> element) + vec.push_back(element); } // ------------------------ @@ -320,7 +411,7 @@ class Precision { // ------------------------ // For special GNDStk - // manipulators... + // manipulators // ------------------------ // When you use the below specializations of operator<< and operator>>, i.e. @@ -329,9 +420,9 @@ class Precision { // for input should automatically use it for output; and vice versa. Our // special manipulators cause std::to_chars() and std::from_chars() to be // used, if they're available. std::to_chars() and std::from_chars() are - // designed to be ideal when uses with each other (although they don't need - // to be used together); so, it makes sense that we'd want to "tie" their - // use together, at least by default. + // designed to be ideal when used with each other (although they don't NEED + // to be used together). Therefore, it makes sense that we'd want to "tie" + // their use together, at least by default. bool tie = true; // ------------------------ @@ -386,9 +477,8 @@ class Precision { }; - // ----------------------------------------------------------------------------- -// static initialization +// Static initialization // ----------------------------------------------------------------------------- template @@ -409,8 +499,7 @@ template PrecisionType Precision::otype = PrecisionType::stream; template -PrecisionType Precision::itype = PrecisionType::stream; - +PrecisionType Precision::itype = PrecisionType::strto; // ----------------------------------------------------------------------------- @@ -443,7 +532,6 @@ class Precision { }; - // ----------------------------------------------------------------------------- // Precision // Set properties for: in metadata and data, the given floating-point type. @@ -472,7 +560,6 @@ class Precision { }; - // ----------------------------------------------------------------------------- // Precision // Set properties for: in metadata and data, float, double, and long double. From ea2a04cdfd52a15175a965134a061b969fcc1eb4 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 6 Dec 2022 19:33:22 -0700 Subject: [PATCH 219/235] Fast, completely optional parallel string-of-doubles-to-doubles conversion. Used in BlockData::get(). So, relevant for getting vector in Component-derived classes. --- c/src/GNDStk.cpp | 9 ++ c/src/GNDStk.h | 2 + src/GNDStk.hpp | 5 ++ src/GNDStk/BlockData/src/get.hpp | 2 +- src/GNDStk/precision/src/detail.hpp | 130 +++++++++++++++++++++++++--- src/GNDStk/utility.hpp | 48 ++++++++++ 6 files changed, 183 insertions(+), 13 deletions(-) diff --git a/c/src/GNDStk.cpp b/c/src/GNDStk.cpp index aed1a15f9..696946dad 100644 --- a/c/src/GNDStk.cpp +++ b/c/src/GNDStk.cpp @@ -77,3 +77,12 @@ void context(const int value) { njoy::GNDStk::context = bool(value); } + +// ------------------------ +// Re: OpenMP +// ------------------------ + +void threads(const int value) +{ + njoy::GNDStk::threads = value; +} diff --git a/c/src/GNDStk.h b/c/src/GNDStk.h index 28c6d53ce..0eed6655c 100644 --- a/c/src/GNDStk.h +++ b/c/src/GNDStk.h @@ -36,6 +36,8 @@ extern_C void warning(const int); extern_C void debug(const int); extern_C void context(const int); +extern_C void threads(const int); + // todo // Obviously, we'll want much more here. I'll probably add additional // C-style interfaces to GNDStk's C++ code gradually, as we discover what diff --git a/src/GNDStk.hpp b/src/GNDStk.hpp index bf3b3185c..1214b7bb4 100644 --- a/src/GNDStk.hpp +++ b/src/GNDStk.hpp @@ -16,6 +16,11 @@ #include #include +// OpenMP +#ifdef _OPENMP +#include +#endif + // ------------------------ // C++ #includes diff --git a/src/GNDStk/BlockData/src/get.hpp b/src/GNDStk/BlockData/src/get.hpp index 6155a889b..474b456e4 100644 --- a/src/GNDStk/BlockData/src/get.hpp +++ b/src/GNDStk/BlockData/src/get.hpp @@ -209,7 +209,7 @@ std::enable_if_t< // [-----*****-----]: values from the raw string if constexpr (std::is_floating_point_v) { - // Below, the "false" means "don't clear the vector"; we want that + // Below, the "false" means "don't clear the vector." We need that // here, because leading 0s from the earlier loop might be present. detail::Precision{}. read(rawstring,*to,false); diff --git a/src/GNDStk/precision/src/detail.hpp b/src/GNDStk/precision/src/detail.hpp index 149233bd3..0e9fd6a2a 100644 --- a/src/GNDStk/precision/src/detail.hpp +++ b/src/GNDStk/precision/src/detail.hpp @@ -308,6 +308,102 @@ class Precision { return value; } + // ------------------------ + // read vector of values: + // private OpenMP version + // ------------------------ + +private: + +#ifdef _OPENMP + bool readOpenMP(const std::string &str, std::vector &vec) const + { + // String size. + const std::size_t size = str.size(); + + // Number of threads. + // If there's just *one* thread, then we certainly won't bother with the + // overhead of using OpenMP. Instead, we'll return to the serial read(). + const int nthreads = detail::get_nthreads(); + if (nthreads == 1) + return false; + + // Assume, as a approximation that probably isn't too terrible, that the + // printed floating-point numbers in the input string average around some + // number nchars of characters in length, including separating whitespace. + // Compute a rough estimate of how many floating-points are in the string. + // If that value is less than some minimum threshold, then don't deal with + // OpenMP's overhead, and instead return to the serial read(). + // todo: It might be worth factoring float vs. double vs. long double into + // this computation. It also might be worth considering the actual number + // of threads, as computed above - and possibly, in borderline situations, + // reducing the number of threads but still using more than just one. + static const std::size_t NCHARS = 10; + static const std::size_t MINFLOATS = 200; + if (size/NCHARS < MINFLOATS) + return false; + + // Compute an approximate splitting of the input string into substrings, + // each to be handled by a different thread. + std::vector loc; + for (int t = 0; t < nthreads; ++t) + loc.push_back(&str[t*(size/nthreads)]); + loc.push_back(&str[size]); // simplifies logic below + + // Refine the approximate splitting so that borders occur at whitespace. + for (int t = 1; t < nthreads; ++t) { + const char *const prev = loc[t-1]; + while (prev < loc[t] && !isspace(*(loc[t] ))) loc[t]--; + while (prev < loc[t] && isspace(*(loc[t]-1))) loc[t]--; + } + + // Set number of threads + detail::set_nthreads(nthreads); + std::vector> subvec(nthreads); + + // CASE: strto + if (itype == PrecisionType::strto) { + if constexpr (std::is_floating_point_v) { + #pragma omp parallel + { + const int t = detail::this_thread(); + char *end = (char *)loc[t]; + + for (const char *begin = end; end < loc[t+1]; begin = end+1) { + REAL element; + + if constexpr (std::is_same_v) + element = strtof (begin,&end); + if constexpr (std::is_same_v) + element = strtod (begin,&end); + if constexpr (std::is_same_v) + element = strtold(begin,&end); + + if (!(begin < end)) + break; + subvec[t].push_back(element); + } + } + + // Splice the per-thread vectors; then we're done + std::size_t total = 0; + for (int t = 0; t < nthreads; ++t) + total += subvec[t].size(); + vec.reserve(vec.size() + total); + for (int t = 0; t < nthreads; ++t) + vec.insert(vec.end(), subvec[t].begin(), subvec[t].end()); + return true; + } + // Fall through... + } + + // todo Implement support for other than PrecisionType::strto + return false; + } + #endif // #ifdef _OPENMP + +public: + // ------------------------ // read vector of values // ------------------------ @@ -322,25 +418,35 @@ class Precision { if (clear) vec.clear(); + // If the string is empty, there's nothing more to do. Note that some + // constructs we'll use (e.g. str.back()) actually require a non-empty + // string, so here we dispose of the empty case immediately. + if (str.size() == 0) + return; + + // If OpenMP is available, AND circumstances are such that the + // readOpenMP() function actually does the reading, then we're + // done in this function. Else, continue and do the read below. + #ifdef _OPENMP + if (readOpenMP(str,vec)) + return; + #endif + REAL element; // CASE: strto if (itype == PrecisionType::strto) { - if constexpr ( - // otherwise we'll need to fall through to other cases, - // and in fact wouldn't want to enter the below do-loop - std::is_same_v || - std::is_same_v || - std::is_same_v - ) { + // Otherwise, we'll need to fall through to other cases, and in fact + // we wouldn't want to enter the below do-loop... + if constexpr (std::is_floating_point_v) { const char *begin = str.data(); - char *end = nullptr; + char *end; do { if constexpr (std::is_same_v) - element = strtof(begin,&end); + element = strtof (begin,&end); if constexpr (std::is_same_v) - element = strtod(begin,&end); + element = strtod (begin,&end); if constexpr (std::is_same_v) element = strtold(begin,&end); if (end == begin) break; @@ -349,7 +455,7 @@ class Precision { } while (*end); return; // done } - // fall through... + // Fall through... } // CASE: fixed, scientific, shortest @@ -367,7 +473,7 @@ class Precision { while (i >> tmpstr) vec.push_back(read(tmpstr,element,0)); } - // fall through... + // Fall through... } // CASE: stream diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index c36a3da8a..8fffa9cdf 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -650,3 +650,51 @@ inline std::string printFormat(const FileType f) } } // namespace detail + + + +// ----------------------------------------------------------------------------- +// Re: OpenMP +// Completely optional - and turned off by default - to use in GNDStk. +// A user must compile with -fopenmp (g++/clang++) to get OpenMP at all. +// At the moment, what we do with threading is very limited. +// ----------------------------------------------------------------------------- + +// Number of threads +// Users can set this in their own codes +inline int threads = 1; + +namespace detail { + +#ifdef _OPENMP + // get_nthreads() + inline int get_nthreads() + { + const int want = njoy::GNDStk::threads; + const int have = omp_get_num_procs(); + + if (want <= 0) + return std::max(1,want+have); + if (want >= have) + return have; + return want; + } + + // set_nthreads() + inline void set_nthreads(const int nthreads) + { + omp_set_num_threads(nthreads); + } + + // this_thread() + inline int this_thread() + { + return omp_get_thread_num(); + } +#else + inline int get_nthreads() { return 1; } + inline void set_nthreads(const int) { /* nothing */ } + inline int this_thread () { return 0; } +#endif + +} // namespace detail From 934673ab1773d5525dd1ad7618a16283da1bf8f4 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 8 Dec 2022 17:21:45 -0700 Subject: [PATCH 220/235] Small improvements to the optional parallel string-to-doubles converter. --- src/GNDStk/precision/src/detail.hpp | 39 ++++++++++++----------------- 1 file changed, 16 insertions(+), 23 deletions(-) diff --git a/src/GNDStk/precision/src/detail.hpp b/src/GNDStk/precision/src/detail.hpp index 0e9fd6a2a..5ed296145 100644 --- a/src/GNDStk/precision/src/detail.hpp +++ b/src/GNDStk/precision/src/detail.hpp @@ -318,9 +318,6 @@ class Precision { #ifdef _OPENMP bool readOpenMP(const std::string &str, std::vector &vec) const { - // String size. - const std::size_t size = str.size(); - // Number of threads. // If there's just *one* thread, then we certainly won't bother with the // overhead of using OpenMP. Instead, we'll return to the serial read(). @@ -328,6 +325,9 @@ class Precision { if (nthreads == 1) return false; + // String size. + const std::size_t size = str.size(); + // Assume, as a approximation that probably isn't too terrible, that the // printed floating-point numbers in the input string average around some // number nchars of characters in length, including separating whitespace. @@ -338,23 +338,22 @@ class Precision { // this computation. It also might be worth considering the actual number // of threads, as computed above - and possibly, in borderline situations, // reducing the number of threads but still using more than just one. - static const std::size_t NCHARS = 10; - static const std::size_t MINFLOATS = 200; + static const std::size_t NCHARS = 10, MINFLOATS = 200; if (size/NCHARS < MINFLOATS) return false; // Compute an approximate splitting of the input string into substrings, // each to be handled by a different thread. std::vector loc; + loc.reserve(nthreads+1); for (int t = 0; t < nthreads; ++t) loc.push_back(&str[t*(size/nthreads)]); - loc.push_back(&str[size]); // simplifies logic below + loc.push_back(&str[size]); // simplifies some logic below // Refine the approximate splitting so that borders occur at whitespace. for (int t = 1; t < nthreads; ++t) { - const char *const prev = loc[t-1]; - while (prev < loc[t] && !isspace(*(loc[t] ))) loc[t]--; - while (prev < loc[t] && isspace(*(loc[t]-1))) loc[t]--; + while (loc[t-1] < loc[t] && !isspace(*(loc[t] ))) loc[t]--; + while (loc[t-1] < loc[t] && isspace(*(loc[t]-1))) loc[t]--; } // Set number of threads @@ -368,28 +367,24 @@ class Precision { { const int t = detail::this_thread(); char *end = (char *)loc[t]; + REAL element; for (const char *begin = end; end < loc[t+1]; begin = end+1) { - REAL element; - if constexpr (std::is_same_v) - element = strtof (begin,&end); + if (element = strtof (begin,&end), end <= begin) break; if constexpr (std::is_same_v) - element = strtod (begin,&end); + if (element = strtod (begin,&end), end <= begin) break; if constexpr (std::is_same_v) - element = strtold(begin,&end); - - if (!(begin < end)) - break; + if (element = strtold(begin,&end), end <= begin) break; subvec[t].push_back(element); } } // Splice the per-thread vectors; then we're done - std::size_t total = 0; + std::size_t total = vec.size(); // vec wasn't necessarily cleared for (int t = 0; t < nthreads; ++t) total += subvec[t].size(); - vec.reserve(vec.size() + total); + vec.reserve(total); for (int t = 0; t < nthreads; ++t) vec.insert(vec.end(), subvec[t].begin(), subvec[t].end()); return true; @@ -397,7 +392,7 @@ class Precision { // Fall through... } - // todo Implement support for other than PrecisionType::strto + // todo Implement parallel support for other than PrecisionType::strto return false; } #endif // #ifdef _OPENMP @@ -418,9 +413,7 @@ class Precision { if (clear) vec.clear(); - // If the string is empty, there's nothing more to do. Note that some - // constructs we'll use (e.g. str.back()) actually require a non-empty - // string, so here we dispose of the empty case immediately. + // If the string is empty, there's nothing more to do. if (str.size() == 0) return; From 2750abada296bcb2eee3692daee06110cb1171b5 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 8 Dec 2022 18:50:43 -0700 Subject: [PATCH 221/235] Make some terminology less XML-centric. Work in progress. --- src/GNDStk/Node/test/add.test.cpp | 2 +- src/GNDStk/convert/src/detail-node2hdf5.hpp | 14 +++++++------- src/GNDStk/convert/src/detail-node2json.hpp | 14 +++++++------- src/GNDStk/convert/src/detail-node2xml.hpp | 6 +++--- src/GNDStk/node2type/test/node2type.test.cpp | 8 ++++---- src/GNDStk/test/keys.hpp | 10 +++++----- src/GNDStk/type2node/test/type2node.test.cpp | 8 ++++---- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/GNDStk/Node/test/add.test.cpp b/src/GNDStk/Node/test/add.test.cpp index f3431430b..dd58bc3e2 100644 --- a/src/GNDStk/Node/test/add.test.cpp +++ b/src/GNDStk/Node/test/add.test.cpp @@ -110,7 +110,7 @@ SCENARIO("Testing GNDStk Node add()") { auto numbers = Child< std::vector, Allow::one - >(special::pcdata)/detail::convert_pcdata_text_t{}; + >(special::pcdata)/detail::convert_data_text_t{}; auto nrepeat = Child("repeated node"); Node node1; node1.name = "aa11"; diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index 7a070906f..369e48cb8 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -232,12 +232,12 @@ bool hdf5_reduce_cdata_comment( // ------------------------ -// hdf5_reduce_pcdata +// hdf5_reduce_data // ------------------------ // Simplify PCDATA case. template -bool hdf5_reduce_pcdata( +bool hdf5_reduce_data( const NODE &node, OBJECT &hdf5, const std::string &suffix ) { const std::string nameOriginal = node.name; @@ -271,12 +271,12 @@ bool hdf5_reduce_pcdata( // ------------------------ -// hdf5_reduce_pcdata_metadata +// hdf5_reduce_data_metadata // ------------------------ // Simplify case of node with PCDATA AND metadata template -bool hdf5_reduce_pcdata_metadata( +bool hdf5_reduce_data_metadata( const NODE &node, OBJECT &hdf5, const std::string &suffix ) { // name (think e.g. "values", as in XML ) @@ -330,9 +330,9 @@ bool node2hdf5(const NODE &node, OBJECT &h, const std::string &suffix = "") // ------------------------ if (HDF5::reduced && ( - hdf5_reduce_cdata_comment (node,h,suffix) || - hdf5_reduce_pcdata (node,h,suffix) || - hdf5_reduce_pcdata_metadata(node,h,suffix) + hdf5_reduce_cdata_comment(node,h,suffix) || + hdf5_reduce_data (node,h,suffix) || + hdf5_reduce_data_metadata(node,h,suffix) )) return true; diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index 8f6cf4daa..6082f7da1 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -293,12 +293,12 @@ bool json_reduce_cdata_comment( // ------------------------ -// json_reduce_pcdata +// json_reduce_data // ------------------------ // Simplify PCDATA case. template -bool json_reduce_pcdata( +bool json_reduce_data( const NODE &node, orderedJSON &json, const std::string &digits ) { const std::string nameOriginal = node.name; @@ -344,12 +344,12 @@ bool json_reduce_pcdata( // ------------------------ -// json_reduce_pcdata_metadata +// json_reduce_data_metadata // ------------------------ // Simplify case of node with PCDATA AND metadata template -bool json_reduce_pcdata_metadata( +bool json_reduce_data_metadata( const NODE &node, orderedJSON &json, const std::string &digits ) { const std::string nameSuffixed = node.name + digits; @@ -421,9 +421,9 @@ bool node2json(const NODE &node, orderedJSON &j, const std::string &digits = "") // ------------------------ if (JSON::reduced && ( - json_reduce_cdata_comment (node,j,digits) || - json_reduce_pcdata (node,j,digits) || - json_reduce_pcdata_metadata(node,j,digits) + json_reduce_cdata_comment(node,j,digits) || + json_reduce_data (node,j,digits) || + json_reduce_data_metadata(node,j,digits) )) return true; diff --git a/src/GNDStk/convert/src/detail-node2xml.hpp b/src/GNDStk/convert/src/detail-node2xml.hpp index 4aae589bb..958c2d05a 100644 --- a/src/GNDStk/convert/src/detail-node2xml.hpp +++ b/src/GNDStk/convert/src/detail-node2xml.hpp @@ -51,9 +51,9 @@ bool write_cdata(const NODE &node, pugi::xml_node &xnode) return true; } -// write_pcdata +// write_data template -bool write_pcdata(const NODE &node, pugi::xml_node &xnode) +bool write_data(const NODE &node, pugi::xml_node &xnode) { if (!check_special(node,special::pcdata)) return false; @@ -98,7 +98,7 @@ bool node2xml(const NODE &node, pugi::xml_node &x) if (child->name == special::cdata) { if (write_cdata (*child,xnode)) continue; else return false; } if (child->name == special::pcdata) - { if (write_pcdata (*child,xnode)) continue; else return false; } + { if (write_data (*child,xnode)) continue; else return false; } if (child->name == special::comment) { if (write_comment(*child,xnode)) continue; else return false; } diff --git a/src/GNDStk/node2type/test/node2type.test.cpp b/src/GNDStk/node2type/test/node2type.test.cpp index f217210c7..4d402d96d 100644 --- a/src/GNDStk/node2type/test/node2type.test.cpp +++ b/src/GNDStk/node2type/test/node2type.test.cpp @@ -47,13 +47,13 @@ SCENARIO("Testing GNDStk convert(Node,type)") { foo.add(special::text,"12 34 56 78 90"); // Update, 2020-10-19. The relevant convert() functionality has been - // reformulated into the detail::convert_pcdata_text_t callable object, + // reformulated into the detail::convert_data_text_t callable object, // so we'll reformulate with that. Ultimately, due to the location of // the new code, we should probably put this test material elsewhere. THEN("convert(foo,deque) extracts the content correctly") { std::deque container; - detail::convert_pcdata_text_t{}(foo,container); + detail::convert_data_text_t{}(foo,container); CHECK(container.size() == 5); CHECK(container[0] == 12); CHECK(container[1] == 34); @@ -64,7 +64,7 @@ SCENARIO("Testing GNDStk convert(Node,type)") { THEN("convert(foo,list) extracts the content correctly") { std::list container; - detail::convert_pcdata_text_t{}(foo,container); + detail::convert_data_text_t{}(foo,container); CHECK(container.size() == 5); auto iter = container.begin(); CHECK(*iter++ == 12); @@ -76,7 +76,7 @@ SCENARIO("Testing GNDStk convert(Node,type)") { THEN("convert(foo,vector) extracts the content correctly") { std::vector container; - detail::convert_pcdata_text_t{}(foo,container); + detail::convert_data_text_t{}(foo,container); CHECK(container.size() == 5); CHECK(container[0] == 12); CHECK(container[1] == 34); diff --git a/src/GNDStk/test/keys.hpp b/src/GNDStk/test/keys.hpp index f61246550..25bc506f3 100644 --- a/src/GNDStk/test/keys.hpp +++ b/src/GNDStk/test/keys.hpp @@ -201,10 +201,10 @@ namespace GNDStk { namespace detail { // ------------------------ -// convert_pcdata_text_t +// convert_data_text_t // ------------------------ -class convert_pcdata_text_t { +class convert_data_text_t { public: // Node to container @@ -234,7 +234,7 @@ class convert_pcdata_text_t { ); throw std::exception{}; } catch (...) { - log::function("convert_pcdata_text_t(Node,container)"); + log::function("convert_data_text_t(Node,container)"); throw; } } @@ -250,7 +250,7 @@ class convert_pcdata_text_t { std::string &destination = node.add(special::text,"").second; convert(container, destination); } catch (...) { - log::function("convert_pcdata_text_t(container,Node)"); + log::function("convert_data_text_t(container,Node)"); throw; } } @@ -310,7 +310,7 @@ const auto &getNumeric() // for T already a vector, it remains as-is typename njoy::GNDStk::detail::numeric_type::type, njoy::GNDStk::Allow::one, - njoy::GNDStk::detail::convert_pcdata_text_t + njoy::GNDStk::detail::convert_data_text_t > ret(njoy::GNDStk::special::pcdata); return ret; } diff --git a/src/GNDStk/type2node/test/type2node.test.cpp b/src/GNDStk/type2node/test/type2node.test.cpp index bb8107cf0..d63568368 100644 --- a/src/GNDStk/type2node/test/type2node.test.cpp +++ b/src/GNDStk/type2node/test/type2node.test.cpp @@ -19,14 +19,14 @@ SCENARIO("Testing GNDStk convert(type,Node)") { // convert(type,Node) function. // Update, 2020-10-19. The relevant convert() functionality has been - // reformulated into the detail::convert_pcdata_text_t callable object, + // reformulated into the detail::convert_data_text_t callable object, // so we'll reformulate with that. Ultimately, due to the location of // the new code, we should probably put this test material elsewhere. WHEN("type is vector") { std::vector container = { 1, 2.3, 4.56 }; Node n("old name"); - detail::convert_pcdata_text_t{}(container,n); + detail::convert_data_text_t{}(container,n); // one way to check the Node CHECK(n.name == special::pcdata); @@ -43,7 +43,7 @@ SCENARIO("Testing GNDStk convert(type,Node)") { WHEN("type is deque") { std::deque container = { 1, 2.3, 4.56 }; Node n("old name"); - detail::convert_pcdata_text_t{}(container,n); + detail::convert_data_text_t{}(container,n); std::ostringstream oss; oss << n; CHECK(oss.str() == correct_node); } @@ -51,7 +51,7 @@ SCENARIO("Testing GNDStk convert(type,Node)") { WHEN("type is list") { std::list container = { 1, 2.3, 4.56 }; Node n("old name"); - detail::convert_pcdata_text_t{}(container,n); + detail::convert_data_text_t{}(container,n); std::ostringstream oss; oss << n; CHECK(oss.str() == correct_node); } From 6cf3460659d0a3b65cd9b465bc51b33ed95c466c Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 8 Dec 2022 19:10:05 -0700 Subject: [PATCH 222/235] Continue terminology improvement. --- src/GNDStk/Component/src/toNode.hpp | 2 +- src/GNDStk/HDF5/test/HDF5.test.cpp | 2 +- src/GNDStk/Node/src/special.hpp | 4 ++-- src/GNDStk/Node/test/add.test.cpp | 2 +- src/GNDStk/convert/src/detail-hdf52node.hpp | 10 +++++----- src/GNDStk/convert/src/detail-json2node.hpp | 15 +++++++-------- src/GNDStk/convert/src/detail-node2hdf5.hpp | 6 +++--- src/GNDStk/convert/src/detail-node2json.hpp | 6 +++--- src/GNDStk/convert/src/detail-node2xml.hpp | 4 ++-- src/GNDStk/convert/src/detail-xml2node.hpp | 2 +- src/GNDStk/test/keys.hpp | 6 +++--- src/GNDStk/type2node/test/type2node.test.cpp | 2 +- src/GNDStk/utility.hpp | 2 +- 13 files changed, 31 insertions(+), 32 deletions(-) diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index 3b8702334..c3860e505 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -14,7 +14,7 @@ operator Node() const if constexpr (hasBlockData) { // GNDStk uses a TEXT metadatum of a PCDATA child node for this std::string &text = - node.add(special::pcdata).add(special::text,"").second; + node.add(special::data).add(special::text,"").second; BLOCKDATA::toNode(text); } diff --git a/src/GNDStk/HDF5/test/HDF5.test.cpp b/src/GNDStk/HDF5/test/HDF5.test.cpp index 507421b2c..4821bb330 100644 --- a/src/GNDStk/HDF5/test/HDF5.test.cpp +++ b/src/GNDStk/HDF5/test/HDF5.test.cpp @@ -40,7 +40,7 @@ void writeAndReadHDF5( // reading process correctly recovers what we originally had in the internal // Tree format. IMPORTANT NOTE: It's actually not hard to create situations // where the Tree would look slightly different. Leading or trailing white - // space in special::pcdata Nodes could, in some cases, disappear during the + // space in special::data Nodes could, in some cases, disappear during the // process of write-to-HDF5-then-read-back. Also, in the HDF5::typed cases, // strings that look like floating-point numbers may be converted to doubles // and back again. That could lead to differences, depending on how floating- diff --git a/src/GNDStk/Node/src/special.hpp b/src/GNDStk/Node/src/special.hpp index 110339ea6..a4eb73777 100644 --- a/src/GNDStk/Node/src/special.hpp +++ b/src/GNDStk/Node/src/special.hpp @@ -126,7 +126,7 @@ std::string &cdata(bool &found = detail::default_bool) // const const std::string &pcdata(bool &found = detail::default_bool) const { - static const Child pcdata(special::pcdata); + static const Child pcdata(special::data); static const Meta text(special::text); return (*this)(pcdata, text, found); } @@ -134,7 +134,7 @@ const std::string &pcdata(bool &found = detail::default_bool) const // non-const std::string &pcdata(bool &found = detail::default_bool) { - static const Child pcdata(special::pcdata); + static const Child pcdata(special::data); static const Meta text(special::text); return (*this)(pcdata, text, found); } diff --git a/src/GNDStk/Node/test/add.test.cpp b/src/GNDStk/Node/test/add.test.cpp index dd58bc3e2..84752d81f 100644 --- a/src/GNDStk/Node/test/add.test.cpp +++ b/src/GNDStk/Node/test/add.test.cpp @@ -110,7 +110,7 @@ SCENARIO("Testing GNDStk Node add()") { auto numbers = Child< std::vector, Allow::one - >(special::pcdata)/detail::convert_data_text_t{}; + >(special::data)/detail::convert_data_text_t{}; auto nrepeat = Child("repeated node"); Node node1; node1.name = "aa11"; diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index 65a3a37a5..064d2524f 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -109,9 +109,9 @@ bool dset2node(const HighFive::DataSet &dset, NODE &node) if (dataSize == 1) { T scalar; dset.read(scalar); - node.name == special::pcdata + node.name == special::data ? node.add(special::text,scalar) - : node.add(special::pcdata).add(special::text,scalar); + : node.add(special::data).add(special::text,scalar); return true; } } @@ -120,9 +120,9 @@ bool dset2node(const HighFive::DataSet &dset, NODE &node) std::vector vector; vector.reserve(dataSize); dset.read(vector); - node.name == special::pcdata + node.name == special::data ? node.add(special::text,vector) - : node.add(special::pcdata).add(special::text,vector); + : node.add(special::data).add(special::text,vector); return true; } } @@ -137,7 +137,7 @@ bool dset2node( NODE &parent ) { Node &node = parent.add( - beginsin(dsetName,special::pcdata) ? special::pcdata : dsetName); + beginsin(dsetName,special::data) ? special::data : dsetName); // the DataSet's attributes for (const std::string &attrName : dset.listAttributeNames()) diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 644bcf3be..b5e6a6f22 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -71,7 +71,7 @@ void json_pair( if (peers.size() == 0) node.add(key, json_array(val)); // context is such that it's metadata else { - node.add(special::pcdata).add(special::text, json_array(val)); + node.add(special::data).add(special::text, json_array(val)); for (const auto &peer : peers.items()) { if (peer.key() == key + special::nodename) node.name = peer.value().get(); @@ -135,7 +135,7 @@ void json2node(const orderedJSON &object, NODE &node, bool inferNodeName) } else if ( beginsin(key,special::cdata) || beginsin(key,special::comment) || - beginsin(key,special::pcdata) + beginsin(key,special::data) ) { // Special key: cdata, comment, or pcdata, with optional suffix if (val.is_object()) { @@ -146,12 +146,11 @@ void json2node(const orderedJSON &object, NODE &node, bool inferNodeName) throw; } } else { - using namespace special; - beginsin(key,pcdata) - ? node.add(pcdata ).add(text, json_array(val)) - : beginsin(key,cdata) - ? node.add(cdata ).add(text, val.get()) - : node.add(comment).add(text, val.get()); + beginsin(key,special::data) + ? node.add(special::data ).add(special::text, json_array(val)) + : beginsin(key,special::cdata) + ? node.add(special::cdata ).add(special::text, val.get()) + : node.add(special::comment).add(special::text, val.get()); } } else if (endsin(key,special::nodename) || endsin(key,special::metadata)) { diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index 369e48cb8..574932e13 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -110,7 +110,7 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) } // *** PCDATA/TEXT - if (parent == special::pcdata && key == special::text) { + if (parent == special::data && key == special::text) { const std::string type = guessType(value); if (type == "int" || type == "ints") vector2Attr(key,value,hdf5); @@ -253,7 +253,7 @@ bool hdf5_reduce_data( // | TEXT | | data | // +---------+ +---------+ - if (nameOriginal == special::pcdata && + if (nameOriginal == special::data && node.children.size() == 0 && node.metadata.size() == 1 && node.metadata[0].first == special::text @@ -295,7 +295,7 @@ bool hdf5_reduce_data_metadata( // +---------------+ if (node.children.size() == 1 && - node.children[0]->name == special::pcdata && + node.children[0]->name == special::data && node.children[0]->metadata.size() == 1 && node.children[0]->metadata[0].first == special::text && node.children[0]->children.size() == 0 diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index 6082f7da1..b058e3b04 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -142,7 +142,7 @@ void meta2json_typed(const NODE &node, orderedJSON &json) // because we think this reflects what these (PCDATA) nodes are intended // to represent. (If something was really just a scalar, then surely it // would be placed into standard metadata (in <...>), not into PCDATA. - if (parent == special::pcdata && key == special::text) { + if (parent == special::data && key == special::text) { const std::string type = guessType(value); if (type == "int" || type == "ints") vector2Value(key,value,json); @@ -314,7 +314,7 @@ bool json_reduce_data( // | TEXT | | [...] | // +---------+ +----------+ - if (nameOriginal == special::pcdata && + if (nameOriginal == special::data && node.children.size() == 0 && node.metadata.size() == 1 && node.metadata[0].first == special::text @@ -387,7 +387,7 @@ bool json_reduce_data_metadata( // allowing someone who looks at the file to see what's going on. if (node.children.size() == 1 && - node.children[0]->name == special::pcdata && + node.children[0]->name == special::data && node.children[0]->metadata.size() == 1 && node.children[0]->metadata[0].first == special::text && node.children[0]->children.size() == 0 diff --git a/src/GNDStk/convert/src/detail-node2xml.hpp b/src/GNDStk/convert/src/detail-node2xml.hpp index 958c2d05a..381fca474 100644 --- a/src/GNDStk/convert/src/detail-node2xml.hpp +++ b/src/GNDStk/convert/src/detail-node2xml.hpp @@ -55,7 +55,7 @@ bool write_cdata(const NODE &node, pugi::xml_node &xnode) template bool write_data(const NODE &node, pugi::xml_node &xnode) { - if (!check_special(node,special::pcdata)) + if (!check_special(node,special::data)) return false; xnode.append_child(pugi::node_pcdata) .set_value(node.meta(special::text).data()); @@ -97,7 +97,7 @@ bool node2xml(const NODE &node, pugi::xml_node &x) // special element if (child->name == special::cdata) { if (write_cdata (*child,xnode)) continue; else return false; } - if (child->name == special::pcdata) + if (child->name == special::data) { if (write_data (*child,xnode)) continue; else return false; } if (child->name == special::comment) { if (write_comment(*child,xnode)) continue; else return false; } diff --git a/src/GNDStk/convert/src/detail-xml2node.hpp b/src/GNDStk/convert/src/detail-xml2node.hpp index 0c63ea679..bd913ba51 100644 --- a/src/GNDStk/convert/src/detail-xml2node.hpp +++ b/src/GNDStk/convert/src/detail-xml2node.hpp @@ -112,7 +112,7 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) } if (xsub.type() == pugi::node_pcdata) { - node.add(special::pcdata).add(special::text, xsub.value()); + node.add(special::data).add(special::text, xsub.value()); continue; } diff --git a/src/GNDStk/test/keys.hpp b/src/GNDStk/test/keys.hpp index 25bc506f3..14e916da8 100644 --- a/src/GNDStk/test/keys.hpp +++ b/src/GNDStk/test/keys.hpp @@ -52,7 +52,7 @@ namespace child { gaugeBosons ("gaugeBosons" ), mass ("mass" ), outputChannel ("outputChannel" ), - pcdata (njoy::GNDStk::special::pcdata), + pcdata (njoy::GNDStk::special::data), products ("products" ), reactions ("reactions" ), regions2d ("regions2d" ), @@ -246,7 +246,7 @@ class convert_data_text_t { using namespace njoy::GNDStk; try { node.clear(); - node.name = special::pcdata; + node.name = special::data; std::string &destination = node.add(special::text,"").second; convert(container, destination); } catch (...) { @@ -311,7 +311,7 @@ const auto &getNumeric() typename njoy::GNDStk::detail::numeric_type::type, njoy::GNDStk::Allow::one, njoy::GNDStk::detail::convert_data_text_t - > ret(njoy::GNDStk::special::pcdata); + > ret(njoy::GNDStk::special::data); return ret; } diff --git a/src/GNDStk/type2node/test/type2node.test.cpp b/src/GNDStk/type2node/test/type2node.test.cpp index d63568368..ca3857087 100644 --- a/src/GNDStk/type2node/test/type2node.test.cpp +++ b/src/GNDStk/type2node/test/type2node.test.cpp @@ -29,7 +29,7 @@ SCENARIO("Testing GNDStk convert(type,Node)") { detail::convert_data_text_t{}(container,n); // one way to check the Node - CHECK(n.name == special::pcdata); + CHECK(n.name == special::data); CHECK(n.metadata.size() == 1); CHECK(n.children.size() == 0); CHECK(n.metadata[0].first == special::text); diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 8fffa9cdf..1a800506e 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -43,7 +43,7 @@ namespace special { nodename = prefix + std::string("nodename"), metadata = prefix + std::string("metadata"), cdata = prefix + std::string("cdata"), - pcdata = prefix + std::string("pcdata"), + data = prefix + std::string("pcdata"), comment = prefix + std::string("comment"), text = prefix + std::string("text"), xml = prefix + std::string("xml"), From ba52ae88fc7c9e124ac69b0c180ffc92cff5b171 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 8 Dec 2022 20:01:57 -0700 Subject: [PATCH 223/235] As with last commit. --- src/GNDStk/Component/src/fromNode.hpp | 2 +- .../HDF5/test/resources/correct-raw-string.h5 | Bin 43696 -> 43696 bytes .../HDF5/test/resources/correct-raw-typed.h5 | Bin 43984 -> 43984 bytes .../test/resources/correct-reduced-string.h5 | Bin 19224 -> 19224 bytes .../test/resources/correct-reduced-typed.h5 | Bin 19184 -> 19184 bytes src/GNDStk/JSON/test/JSON.test.cpp | 2 +- .../test/resources/correct-raw-string.json | 24 +++++++++--------- .../test/resources/correct-raw-typed.json | 24 +++++++++--------- .../resources/correct-reduced-string.json | 6 ++--- .../test/resources/correct-reduced-typed.json | 6 ++--- .../test/resources/n-069_Tm_170-covar.json | 2 +- src/GNDStk/Node/test/sort.test.cpp | 2 +- src/GNDStk/Node/test/write.test.cpp | 2 +- src/GNDStk/Tree/test/read.test.cpp | 2 +- .../test/resources/n-069_Tm_170-covar.json | 2 +- src/GNDStk/Tree/test/write.test.cpp | 4 +-- .../test/resources/n-069_Tm_170-covar.json | 2 +- src/GNDStk/convert/src/detail-node2hdf5.hpp | 22 ++++++++-------- src/GNDStk/convert/src/detail-node2json.hpp | 10 ++++---- src/GNDStk/type2node/test/type2node.test.cpp | 2 +- src/GNDStk/utility.hpp | 2 +- 21 files changed, 58 insertions(+), 58 deletions(-) diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index ab7fbcab0..377506a8a 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -152,7 +152,7 @@ void fromNode(const Node &node) Keys().tup ); - // block data, a.k.a. XML "pcdata" (plain character data), if any + // block data if constexpr (hasBlockData) BLOCKDATA::fromNode(node); diff --git a/src/GNDStk/HDF5/test/resources/correct-raw-string.h5 b/src/GNDStk/HDF5/test/resources/correct-raw-string.h5 index 6291e4e888693494ca47c47050cc7ebcf1bffeb1..86b251275a4e42687391675af61473aa4e0a2bb7 100644 GIT binary patch delta 385 zcmdmRm1zSINt&>wB$gyHFl?4LX<~=6C(D}zZvJ6y2;*ie2|qfVe`Vy?~Ggp3=ptl z{^Vb3a-0E+A>4$?7v<$SJ(j_EAJsHAOZGe$V2W6Kv4(H^J^TRhOSTHgDSTy;RZW`x~1rT#@Z0=m#&cyU# z>Eu@i=^Rk2FHCM+=0EvDx5nlR%RVq^20)ZDtmuX?7@>T)8H*qS5t9X1iA!yO8L|{2 OngCV3V%cP=Rnq`I)^pie2|r~V)Mez?~Gg>3=nW) z(d1uha-0RrAl!t>g0k|H4=fXyd_i7evqaAe0j3r6H%qCzF-`WEpD_7D4(H^=1>uv_ zC73D}gM}FjCVyNM4|LV!4f7p6ApSFen$4gL;TxjyjbQwu)b!Gv#3I+6)ZEm(5(WlF zsD#F3!y0u?g9Q+7z~;oo?MzG(%O;=FP2;?=7$W*(a^y1q%@>w^VA70$YU6-vfEfcf dU=c(?#^i%5#iif|EQN?xKy_c}o-DO$8UWdWf64#= diff --git a/src/GNDStk/HDF5/test/resources/correct-raw-typed.h5 b/src/GNDStk/HDF5/test/resources/correct-raw-typed.h5 index 73546200bca3e109fd1fbf5ab92390e8a5c034cc..8a23696a648a6354d91dd72164a004b9ac25615b 100644 GIT binary patch delta 406 zcmca`o$11LrVWB7Y$=H)i3|*r?OOsjXP8*BBlCY)d&2qoUWuDmI3Hw#%5Tp13gUyQ z&G+)0cz|QGL}VuiLMU-FN0Ox=j1Mw?MsX#Qah{tKs&B&7Z?o}A_2x4B?R02AYa$p@FEb0#c-$TUngT)uyDLXXDg56eF=X$C+<87z7r3`Qs) cVGu+hVzS|CaVfYVP;VqaRi9Ws*=qGP0JAK4KmY&$ delta 437 zcmca`o$11LrVWB7Yz4_Fi6x1X?OOsjXP8*BBlCY)d&2qoUWuDmI3Hw#%5Tp13gUyQ z&G+)0cz|QGL}VuiLMU-FN0Ox=j1Mw?MsX#Qah{tKs&B&7Z?{9*YACd~+_&IM2% hFq2NeO@JuKnEY^+xD?!gWf0K{2*r@lGudkOGyteig+KrR diff --git a/src/GNDStk/HDF5/test/resources/correct-reduced-string.h5 b/src/GNDStk/HDF5/test/resources/correct-reduced-string.h5 index 72eabdc7b1753a9cb068f1af62c96d93ae484955..da5378181449da2d24881ece4150b40489fe6d11 100644 GIT binary patch delta 251 zcmbO+jd8{_#tlX0w4-NyvZr{C5#FiH?lJ^8ccrZC}EJ2 zSdwVKz@QAG4WYCV14B`2dTCB#k!wzBZfaf$0|O%i1ZYg$C_hPpV{?F$4Ajs9mko>p mlNDXnCo8yeOb&2WU{u&#=o*ad0fosK?l~|wZ;tRdzytt{L0SI* delta 249 zcmbO+jd8{_#tlxzyJlx5WXQA-w48=%;zMWmtbJ%Oaf=0ewC TWaleP&T!9xxp;Gg#{nh)g>+N( diff --git a/src/GNDStk/HDF5/test/resources/correct-reduced-typed.h5 b/src/GNDStk/HDF5/test/resources/correct-reduced-typed.h5 index f590d928832e6bbb9c08a79905f0b14b6cac114b..a4d81f85eb9ae30bb55ffe7d047184fdbded0c09 100644 GIT binary patch delta 232 zcmew`mGQ$=#tl6xEJtTgO5Qv{g@+TuTA<6q2xd)oaOs$Apx*-LY<4hM!wgaM!I%ZY zn*71IVRMD~5vaI>wFpeJwa?}yHXck6-5=}@Fe+@^$j+o^zyJX!9H9&-rJRyjk_eOp z(}qymX!1WtDMpQn8|5cokmuN};Uoez&%tE}qrl{!F6xXDlNDXn85K5rx&}jR-n_t# L2g=&u?!XKHOomXP delta 273 zcmew`mGQ$=#tl6xEZI9|CT*Ue!ovw+Ezo6Q1hXbPxO7Z5&~JfrHai%sVTLIBV9Wwx zP5xlqu(`tg2vpp`S_G!q+Gq0;8xJOk?hkec7%et#WM@kBV1R%Vj!*`aQZ7hNNi0b; zfQdr+hG={v7{4ery)-AW$TcT5H#M(>fq@Y!A+TA}Nf~OZgUgP|3a%WJToo8KCM&wC ZPYy8U*c{;M199T!1#Uc0)&_S6W&niIQnLU6 diff --git a/src/GNDStk/JSON/test/JSON.test.cpp b/src/GNDStk/JSON/test/JSON.test.cpp index 3a5b55f5d..6d7976a11 100644 --- a/src/GNDStk/JSON/test/JSON.test.cpp +++ b/src/GNDStk/JSON/test/JSON.test.cpp @@ -40,7 +40,7 @@ R"***({ "shape": "78,78" }, "values": { - "#pcdata": { + "#data": { "#metadata": { "#text": "0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012" } diff --git a/src/GNDStk/JSON/test/resources/correct-raw-string.json b/src/GNDStk/JSON/test/resources/correct-raw-string.json index a99b5378b..5deadbfb6 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-string.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-string.json @@ -37,7 +37,7 @@ "#metadata": { "remark": "one double" }, - "#pcdata": { + "#data": { "#metadata": { "#text": "1.2" } @@ -47,21 +47,21 @@ "#metadata": { "remark": "three doubles" }, - "#pcdata": { + "#data": { "#metadata": { "#text": "1.2 3.45 6.789" } } }, "int": { - "#pcdata": { + "#data": { "#metadata": { "#text": "1" } } }, "ints": { - "#pcdata": { + "#data": { "#metadata": { "#text": "12 345 6789" } @@ -75,14 +75,14 @@ } }, "string": { - "#pcdata": { + "#data": { "#metadata": { "#text": "ab" } } }, "strings": { - "#pcdata": { + "#data": { "#metadata": { "#text": "cd efg hijk" } @@ -105,7 +105,7 @@ "#metadata": { "x": "123" }, - "#pcdata": { + "#data": { "#metadata": { "#text": "1 2 3" } @@ -116,7 +116,7 @@ "#metadata": { "y": "4.5" }, - "#pcdata": { + "#data": { "#metadata": { "#text": "4.4 5.5" } @@ -127,7 +127,7 @@ "#metadata": { "z": "abc" }, - "#pcdata": { + "#data": { "#metadata": { "#text": "a b c" } @@ -159,17 +159,17 @@ "#text": "Third comment" } }, - "#pcdata0": { + "#data0": { "#metadata": { "#text": "1 2 3 4" } }, - "#pcdata1": { + "#data1": { "#metadata": { "#text": "9.87 6.54 3.21" } }, - "#pcdata2": { + "#data2": { "#metadata": { "#text": "a b c d e f g" } diff --git a/src/GNDStk/JSON/test/resources/correct-raw-typed.json b/src/GNDStk/JSON/test/resources/correct-raw-typed.json index 4781e5189..6130cd4ab 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-typed.json @@ -44,7 +44,7 @@ "#metadata": { "remark": "one double" }, - "#pcdata": { + "#data": { "#metadata": { "#text": [ 1.2 @@ -56,7 +56,7 @@ "#metadata": { "remark": "three doubles" }, - "#pcdata": { + "#data": { "#metadata": { "#text": [ 1.2, @@ -67,7 +67,7 @@ } }, "int": { - "#pcdata": { + "#data": { "#metadata": { "#text": [ 1 @@ -76,7 +76,7 @@ } }, "ints": { - "#pcdata": { + "#data": { "#metadata": { "#text": [ 12, @@ -94,7 +94,7 @@ } }, "string": { - "#pcdata": { + "#data": { "#metadata": { "#text": [ "ab" @@ -103,7 +103,7 @@ } }, "strings": { - "#pcdata": { + "#data": { "#metadata": { "#text": [ "cd", @@ -130,7 +130,7 @@ "#metadata": { "x": 123 }, - "#pcdata": { + "#data": { "#metadata": { "#text": [ 1, @@ -145,7 +145,7 @@ "#metadata": { "y": 4.5 }, - "#pcdata": { + "#data": { "#metadata": { "#text": [ 4.4, @@ -159,7 +159,7 @@ "#metadata": { "z": "abc" }, - "#pcdata": { + "#data": { "#metadata": { "#text": [ "a", @@ -195,7 +195,7 @@ "#text": "Third comment" } }, - "#pcdata0": { + "#data0": { "#metadata": { "#text": [ 1, @@ -205,7 +205,7 @@ ] } }, - "#pcdata1": { + "#data1": { "#metadata": { "#text": [ 9.87, @@ -214,7 +214,7 @@ ] } }, - "#pcdata2": { + "#data2": { "#metadata": { "#text": [ "a", diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-string.json b/src/GNDStk/JSON/test/resources/correct-reduced-string.json index 57b87d51e..8c9e5f38f 100644 --- a/src/GNDStk/JSON/test/resources/correct-reduced-string.json +++ b/src/GNDStk/JSON/test/resources/correct-reduced-string.json @@ -86,18 +86,18 @@ "#comment0": "First comment", "#comment1": "Second comment", "#comment2": "Third comment", - "#pcdata0": [ + "#data0": [ "1", "2", "3", "4" ], - "#pcdata1": [ + "#data1": [ "9.87", "6.54", "3.21" ], - "#pcdata2": [ + "#data2": [ "a", "b", "c", diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json index 775850dec..2457512c5 100644 --- a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json @@ -93,18 +93,18 @@ "#comment0": "First comment", "#comment1": "Second comment", "#comment2": "Third comment", - "#pcdata0": [ + "#data0": [ 1, 2, 3, 4 ], - "#pcdata1": [ + "#data1": [ 9.87, 6.54, 3.21 ], - "#pcdata2": [ + "#data2": [ "a", "b", "c", diff --git a/src/GNDStk/JSON/test/resources/n-069_Tm_170-covar.json b/src/GNDStk/JSON/test/resources/n-069_Tm_170-covar.json index 81eba8337..91cb7e1a0 100644 --- a/src/GNDStk/JSON/test/resources/n-069_Tm_170-covar.json +++ b/src/GNDStk/JSON/test/resources/n-069_Tm_170-covar.json @@ -26,7 +26,7 @@ "shape": "78,78" }, "values": { - "#pcdata": { + "#data": { "#metadata": { "#text": "0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012" } diff --git a/src/GNDStk/Node/test/sort.test.cpp b/src/GNDStk/Node/test/sort.test.cpp index d5a32901b..2fa572172 100644 --- a/src/GNDStk/Node/test/sort.test.cpp +++ b/src/GNDStk/Node/test/sort.test.cpp @@ -23,7 +23,7 @@ R"***(covarianceSuite: compression: diagonal shape: 78,78 values: - #pcdata: + #data: #text: 0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012 parameters: parameterLink: diff --git a/src/GNDStk/Node/test/write.test.cpp b/src/GNDStk/Node/test/write.test.cpp index 1692d4adb..e7a339c3b 100644 --- a/src/GNDStk/Node/test/write.test.cpp +++ b/src/GNDStk/Node/test/write.test.cpp @@ -43,7 +43,7 @@ R"***(covarianceSuite: shape: 78,78 compression: diagonal values: - #pcdata: + #data: #text: 0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012)***"; SCENARIO("Testing GNDStk Node write() and operator<<") { diff --git a/src/GNDStk/Tree/test/read.test.cpp b/src/GNDStk/Tree/test/read.test.cpp index bc3efaeed..3b9727c4c 100644 --- a/src/GNDStk/Tree/test/read.test.cpp +++ b/src/GNDStk/Tree/test/read.test.cpp @@ -30,7 +30,7 @@ R"***( compression: diagonal shape: 78,78 values: - #pcdata: + #data: #text: 0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012 parameters: parameterLink: diff --git a/src/GNDStk/Tree/test/resources/n-069_Tm_170-covar.json b/src/GNDStk/Tree/test/resources/n-069_Tm_170-covar.json index 81eba8337..91cb7e1a0 100644 --- a/src/GNDStk/Tree/test/resources/n-069_Tm_170-covar.json +++ b/src/GNDStk/Tree/test/resources/n-069_Tm_170-covar.json @@ -26,7 +26,7 @@ "shape": "78,78" }, "values": { - "#pcdata": { + "#data": { "#metadata": { "#text": "0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012" } diff --git a/src/GNDStk/Tree/test/write.test.cpp b/src/GNDStk/Tree/test/write.test.cpp index 1b6c87758..97f480785 100644 --- a/src/GNDStk/Tree/test/write.test.cpp +++ b/src/GNDStk/Tree/test/write.test.cpp @@ -76,7 +76,7 @@ R"***(/: shape: 78,78 compression: diagonal values: - #pcdata: + #data: #text: 0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012)***"; @@ -151,7 +151,7 @@ R"***({ "shape": "78,78" }, "values": { - "#pcdata": { + "#data": { "#metadata": { "#text": "0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012" } diff --git a/src/GNDStk/XML/test/resources/n-069_Tm_170-covar.json b/src/GNDStk/XML/test/resources/n-069_Tm_170-covar.json index 81eba8337..91cb7e1a0 100644 --- a/src/GNDStk/XML/test/resources/n-069_Tm_170-covar.json +++ b/src/GNDStk/XML/test/resources/n-069_Tm_170-covar.json @@ -26,7 +26,7 @@ "shape": "78,78" }, "values": { - "#pcdata": { + "#data": { "#metadata": { "#text": "0.015 0 0 0 4.5e-5 0.015 3e-2 0 0 0 1.35e-4 0.015 2e-2 0 0 0 1.5e-3 0.012 5e-2 0 0 0 1.875e-3 6e-2 5e-2 0 0 0 1.05e-4 0.015 0.1 0 0 0 6e-4 0.012 0.1 0 0 0 2.25e-4 0.012 0.2 0 0 0 5.25e-3 0.012 0.2 0 0 0 3.45e-3 0.012 0.3 0 0 0 4.5e-4 0.012 0.3 0 0 0 3e-3 0.012 0.4 0 0 0 9e-3 0.012 0.4 0 0 0 1.425e-3 0.012" } diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index 574932e13..8dd60db35 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -32,12 +32,12 @@ void vector2Attr( // ------------------------ -// pcdata2DataSet +// data2DataSet // ------------------------ // helper template -HighFive::DataSet pcdata2DataSet( +HighFive::DataSet data2DataSet( const std::string &key, const std::string &value, OBJECT &hdf5 ) { @@ -57,7 +57,7 @@ HighFive::DataSet pcdata2DataSet( // w/ type string template -HighFive::DataSet pcdata2DataSet( +HighFive::DataSet data2DataSet( const std::string &key, const std::string &value, OBJECT &hdf5 ) { @@ -65,17 +65,17 @@ HighFive::DataSet pcdata2DataSet( const std::string type = guessType(value); if (type == "int" || type == "ints" ) - return pcdata2DataSet(key,value,hdf5); + return data2DataSet(key,value,hdf5); if (type == "uint" || type == "uints" ) - return pcdata2DataSet(key,value,hdf5); + return data2DataSet(key,value,hdf5); if (type == "long" || type == "longs" ) - return pcdata2DataSet(key,value,hdf5); + return data2DataSet(key,value,hdf5); if (type == "ulong" || type == "ulongs" ) - return pcdata2DataSet(key,value,hdf5); + return data2DataSet(key,value,hdf5); if (type == "double" || type == "doubles") - return pcdata2DataSet(key,value,hdf5); + return data2DataSet(key,value,hdf5); } - return pcdata2DataSet(key,value,hdf5); + return data2DataSet(key,value,hdf5); } @@ -262,7 +262,7 @@ bool hdf5_reduce_data( // between this function and the one immediately below. // HDF5 data set - pcdata2DataSet(nameSuffixed, node.metadata[0].second, hdf5); + data2DataSet(nameSuffixed, node.metadata[0].second, hdf5); return true; } @@ -302,7 +302,7 @@ bool hdf5_reduce_data_metadata( ) { // HDF5 data set const std::string text = node.children[0]->metadata[0].second; - HighFive::DataSet dataset = pcdata2DataSet(node.name+suffix, text, hdf5); + HighFive::DataSet dataset = data2DataSet(node.name+suffix, text, hdf5); // metadata meta2hdf5(node, dataset, node.name, suffix); diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index b058e3b04..769cc513f 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -71,10 +71,10 @@ void vector2Value( // ------------------------ -// pcdata2Value +// data2Value // ------------------------ -inline void pcdata2Value( +inline void data2Value( const std::string &key, const std::string &value, orderedJSON &json ) { @@ -198,7 +198,7 @@ void meta2json_typed(const NODE &node, orderedJSON &json) // ------------------------ // Write simple JSON in which all metadata, as well as the contents -// of "cdata" and "pcdata" nodes) end up being strings. Not even vectors +// of CDATA and DATA nodes) end up being strings. Not even vectors // of strings, as from H He Li ..., but single strings. template void meta2json_plain(const NODE &node, orderedJSON &json) @@ -335,7 +335,7 @@ bool json_reduce_data( // when PCDATA has sibling nodes. // JSON array - pcdata2Value(nameSuffixed, node.metadata[0].second, json); + data2Value(nameSuffixed, node.metadata[0].second, json); return true; } @@ -394,7 +394,7 @@ bool json_reduce_data_metadata( ) { // JSON array const std::string text = node.children[0]->metadata[0].second; - pcdata2Value(nameSuffixed, text, json); + data2Value(nameSuffixed, text, json); // metadata meta2json(node, json, node.name, digits, nameSuffixed); diff --git a/src/GNDStk/type2node/test/type2node.test.cpp b/src/GNDStk/type2node/test/type2node.test.cpp index ca3857087..08869528d 100644 --- a/src/GNDStk/type2node/test/type2node.test.cpp +++ b/src/GNDStk/type2node/test/type2node.test.cpp @@ -8,7 +8,7 @@ using namespace njoy::GNDStk; static const std::string correct_node = -R"***(#pcdata: +R"***(#data: #text: 1 2.3 4.56)***"; SCENARIO("Testing GNDStk convert(type,Node)") { diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 1a800506e..5eb41c681 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -43,7 +43,7 @@ namespace special { nodename = prefix + std::string("nodename"), metadata = prefix + std::string("metadata"), cdata = prefix + std::string("cdata"), - data = prefix + std::string("pcdata"), + data = prefix + std::string("data"), comment = prefix + std::string("comment"), text = prefix + std::string("text"), xml = prefix + std::string("xml"), From f4821b816ffe6f33b533d993eca1b68e052e4d87 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 8 Dec 2022 20:23:16 -0700 Subject: [PATCH 224/235] Yet more name cleanup. --- src/GNDStk/BlockData/src/fromNode.hpp | 2 +- src/GNDStk/Node/src/special.hpp | 20 ++++---- src/GNDStk/Node/test/special.test.cpp | 22 ++++----- src/GNDStk/precision/test/detail.test.cpp | 2 +- src/GNDStk/precision/test/precision.test.cpp | 48 ++++++++++---------- src/GNDStk/test/keys.hpp | 15 +++--- 6 files changed, 54 insertions(+), 55 deletions(-) diff --git a/src/GNDStk/BlockData/src/fromNode.hpp b/src/GNDStk/BlockData/src/fromNode.hpp index fda3eb93e..c9b7cff99 100644 --- a/src/GNDStk/BlockData/src/fromNode.hpp +++ b/src/GNDStk/BlockData/src/fromNode.hpp @@ -14,7 +14,7 @@ void fromNode(const Node &node) // in XML terminology. bool found = false; - rawstring = node.pcdata(found); + rawstring = node.data(found); if (!found) { rawstring = ""; diff --git a/src/GNDStk/Node/src/special.hpp b/src/GNDStk/Node/src/special.hpp index a4eb73777..1715a6025 100644 --- a/src/GNDStk/Node/src/special.hpp +++ b/src/GNDStk/Node/src/special.hpp @@ -120,23 +120,23 @@ std::string &cdata(bool &found = detail::default_bool) // ------------------------ -// pcdata +// data // ------------------------ // const -const std::string &pcdata(bool &found = detail::default_bool) const +const std::string &data(bool &found = detail::default_bool) const { - static const Child pcdata(special::data); + static const Child data(special::data); static const Meta text(special::text); - return (*this)(pcdata, text, found); + return (*this)(data, text, found); } // non-const -std::string &pcdata(bool &found = detail::default_bool) +std::string &data(bool &found = detail::default_bool) { - static const Child pcdata(special::data); + static const Child data(special::data); static const Meta text(special::text); - return (*this)(pcdata, text, found); + return (*this)(data, text, found); } @@ -184,11 +184,11 @@ std::string &comment( // We provide this because comments occasionally appear *multiple* times // within a given GNDS parent node. Example: -// +// // // -// ... numeric data ... -// +// ... +// // One could argue that the second comment here really isn't important. // However, GNDStk is careful to maintain ALL information that's present // in a GNDS file it reads; it does not make decisions about importance. diff --git a/src/GNDStk/Node/test/special.test.cpp b/src/GNDStk/Node/test/special.test.cpp index 6daea1bd2..f8eb81e8c 100644 --- a/src/GNDStk/Node/test/special.test.cpp +++ b/src/GNDStk/Node/test/special.test.cpp @@ -17,7 +17,7 @@ SCENARIO("Testing certain special functions in GNDStk Node") { reactionSuite, documentations, documentation, - cdata, + CDATA, text ); CHECK(thedocs.size() == 46742); @@ -54,14 +54,14 @@ SCENARIO("Testing certain special functions in GNDStk Node") { CHECK(t(reactionSuite,documentations,documentation).doc() == thedocs); CHECK(c(reactionSuite,documentations,documentation).doc() == thedocs); - // works from the node... - CHECK(t(reactionSuite,documentations,documentation,cdata). + // works from the CDATA node... + CHECK(t(reactionSuite,documentations,documentation,CDATA). documentation() == thedocs); - CHECK(c(reactionSuite,documentations,documentation,cdata). + CHECK(c(reactionSuite,documentations,documentation,CDATA). documentation() == thedocs); - CHECK(t(reactionSuite,documentations,documentation,cdata). + CHECK(t(reactionSuite,documentations,documentation,CDATA). doc() == thedocs); - CHECK(c(reactionSuite,documentations,documentation,cdata). + CHECK(c(reactionSuite,documentations,documentation,CDATA). doc() == thedocs); // doesn't work from some other place... @@ -89,10 +89,10 @@ SCENARIO("Testing certain special functions in GNDStk Node") { } // ------------------------ - // pcdata() + // data() // ------------------------ - WHEN("Testing pcdata()") { + WHEN("Testing data()") { auto &valnode = t( reactionSuite, reactions, @@ -102,11 +102,11 @@ SCENARIO("Testing certain special functions in GNDStk Node") { ).one("values"); const auto &constvalnode = valnode; - const std::string vals = valnode(pcdata,text); + const std::string vals = valnode(DATA,text); CHECK(vals.size() == 70254); - CHECK(valnode.pcdata() == vals); - CHECK(constvalnode.pcdata() == vals); + CHECK(valnode.data() == vals); + CHECK(constvalnode.data() == vals); } // ------------------------ diff --git a/src/GNDStk/precision/test/detail.test.cpp b/src/GNDStk/precision/test/detail.test.cpp index 84cbaf666..bcd705b2a 100644 --- a/src/GNDStk/precision/test/detail.test.cpp +++ b/src/GNDStk/precision/test/detail.test.cpp @@ -117,7 +117,7 @@ SCENARIO("Testing precision detail:: functionality") { { detail::Precision p; }; */ - // Use for the test... + // Use Precision for the test... detail::Precision v; detail::Precision f; detail::Precision d; diff --git a/src/GNDStk/precision/test/precision.test.cpp b/src/GNDStk/precision/test/precision.test.cpp index 3302d761f..b10918d15 100644 --- a/src/GNDStk/precision/test/precision.test.cpp +++ b/src/GNDStk/precision/test/precision.test.cpp @@ -236,28 +236,28 @@ SCENARIO("Precision code in BlockData::get(), " num.reals() = fvec; data::floats << std::setprecision(4); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "1.414 1.732 2.236"); + CHECK((Node(num))(reals).data() == "1.414 1.732 2.236"); } THEN("data::reals precision has the intended effect") { num.reals() = fvec; data::reals << std::setprecision(5); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "1.4142 1.7321 2.2361"); + CHECK((Node(num))(reals).data() == "1.4142 1.7321 2.2361"); } THEN("GNDStk::floats precision has the intended effect") { num.reals() = fvec; njoy::GNDStk::floats << std::setprecision(6); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "1.41421 1.73205 2.23607"); + CHECK((Node(num))(reals).data() == "1.41421 1.73205 2.23607"); } THEN("GNDStk::reals precision has the intended effect") { num.reals() = fvec; njoy::GNDStk::reals << std::setprecision(7); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "1.414214 1.732051 2.236068"); + CHECK((Node(num))(reals).data() == "1.414214 1.732051 2.236068"); } } // WHEN @@ -278,28 +278,28 @@ SCENARIO("Precision code in BlockData::get(), " num.reals() = dvec; data::doubles << std::setprecision(4); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "2.646 3.317 3.606"); + CHECK((Node(num))(reals).data() == "2.646 3.317 3.606"); } THEN("data::reals precision has the intended effect") { num.reals() = dvec; data::reals << std::setprecision(5); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "2.6458 3.3166 3.6056"); + CHECK((Node(num))(reals).data() == "2.6458 3.3166 3.6056"); } THEN("GNDStk::doubles precision has the intended effect") { num.reals() = dvec; njoy::GNDStk::doubles << std::setprecision(6); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "2.64575 3.31662 3.60555"); + CHECK((Node(num))(reals).data() == "2.64575 3.31662 3.60555"); } THEN("GNDStk::reals precision has the intended effect") { num.reals() = dvec; njoy::GNDStk::reals << std::setprecision(7); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "2.645751 3.316625 3.605551"); + CHECK((Node(num))(reals).data() == "2.645751 3.316625 3.605551"); } } // WHEN @@ -320,28 +320,28 @@ SCENARIO("Precision code in BlockData::get(), " num.reals() = qvec; data::longdoubles << std::setprecision(4); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "4.123 4.359 4.796"); + CHECK((Node(num))(reals).data() == "4.123 4.359 4.796"); } THEN("data::reals precision has the intended effect") { num.reals() = qvec; data::reals << std::setprecision(5); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "4.1231 4.3589 4.7958"); + CHECK((Node(num))(reals).data() == "4.1231 4.3589 4.7958"); } THEN("GNDStk::longdoubles precision has the intended effect") { num.reals() = qvec; njoy::GNDStk::longdoubles << std::setprecision(6); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "4.12311 4.3589 4.79583"); + CHECK((Node(num))(reals).data() == "4.12311 4.3589 4.79583"); } THEN("GNDStk::reals precision has the intended effect") { num.reals() = qvec; njoy::GNDStk::reals << std::setprecision(7); num.reals()->get>(); - CHECK((Node(num))(reals).pcdata() == "4.123106 4.358899 4.795832"); + CHECK((Node(num))(reals).data() == "4.123106 4.358899 4.795832"); } } // WHEN } // SCENARIO @@ -450,25 +450,25 @@ SCENARIO("Precision code in BlockData::toNode(), " THEN("data::floats precision has the intended effect") { r = fvec; data::floats << std::setprecision(4); - CHECK((Node(r)).pcdata() == "1.414 1.732 2.236"); + CHECK((Node(r)).data() == "1.414 1.732 2.236"); } THEN("data::reals precision has the intended effect") { r = fvec; data::reals << std::setprecision(5); - CHECK((Node(r)).pcdata() == "1.4142 1.7321 2.2361"); + CHECK((Node(r)).data() == "1.4142 1.7321 2.2361"); } THEN("GNDStk::floats precision has the intended effect") { r = fvec; njoy::GNDStk::floats << std::setprecision(6); - CHECK((Node(r)).pcdata() == "1.41421 1.73205 2.23607"); + CHECK((Node(r)).data() == "1.41421 1.73205 2.23607"); } THEN("GNDStk::reals precision has the intended effect") { r = fvec; njoy::GNDStk::reals << std::setprecision(7); - CHECK((Node(r)).pcdata() == "1.414214 1.732051 2.236068"); + CHECK((Node(r)).data() == "1.414214 1.732051 2.236068"); } } // WHEN @@ -486,25 +486,25 @@ SCENARIO("Precision code in BlockData::toNode(), " THEN("data::doubles precision has the intended effect") { r = dvec; data::doubles << std::setprecision(4); - CHECK((Node(r)).pcdata() == "2.646 3.317 3.606"); + CHECK((Node(r)).data() == "2.646 3.317 3.606"); } THEN("data::reals precision has the intended effect") { r = dvec; data::reals << std::setprecision(5); - CHECK((Node(r)).pcdata() == "2.6458 3.3166 3.6056"); + CHECK((Node(r)).data() == "2.6458 3.3166 3.6056"); } THEN("GNDStk::doubles precision has the intended effect") { r = dvec; njoy::GNDStk::doubles << std::setprecision(6); - CHECK((Node(r)).pcdata() == "2.64575 3.31662 3.60555"); + CHECK((Node(r)).data() == "2.64575 3.31662 3.60555"); } THEN("GNDStk::reals precision has the intended effect") { r = dvec; njoy::GNDStk::reals << std::setprecision(7); - CHECK((Node(r)).pcdata() == "2.645751 3.316625 3.605551"); + CHECK((Node(r)).data() == "2.645751 3.316625 3.605551"); } } // WHEN @@ -522,25 +522,25 @@ SCENARIO("Precision code in BlockData::toNode(), " THEN("data::longdoubles precision has the intended effect") { r = qvec; data::longdoubles << std::setprecision(4); - CHECK((Node(r)).pcdata() == "4.123 4.359 4.796"); + CHECK((Node(r)).data() == "4.123 4.359 4.796"); } THEN("data::reals precision has the intended effect") { r = qvec; data::reals << std::setprecision(5); - CHECK((Node(r)).pcdata() == "4.1231 4.3589 4.7958"); + CHECK((Node(r)).data() == "4.1231 4.3589 4.7958"); } THEN("GNDStk::longdoubles precision has the intended effect") { r = qvec; njoy::GNDStk::longdoubles << std::setprecision(6); - CHECK((Node(r)).pcdata() == "4.12311 4.3589 4.79583"); + CHECK((Node(r)).data() == "4.12311 4.3589 4.79583"); } THEN("GNDStk::reals precision has the intended effect") { r = qvec; njoy::GNDStk::reals << std::setprecision(7); - CHECK((Node(r)).pcdata() == "4.123106 4.358899 4.795832"); + CHECK((Node(r)).data() == "4.123106 4.358899 4.795832"); } } // WHEN } // SCENARIO diff --git a/src/GNDStk/test/keys.hpp b/src/GNDStk/test/keys.hpp index 14e916da8..dcc6c318d 100644 --- a/src/GNDStk/test/keys.hpp +++ b/src/GNDStk/test/keys.hpp @@ -41,7 +41,7 @@ namespace child { RMatrix ("RMatrix" ), angularTwoBody ("angularTwoBody" ), axes ("axes" ), - cdata (njoy::GNDStk::special::cdata), + CDATA (njoy::GNDStk::special::cdata), chemicalElements ("chemicalElements" ), crossSection ("crossSection" ), data ("data" ), @@ -52,7 +52,7 @@ namespace child { gaugeBosons ("gaugeBosons" ), mass ("mass" ), outputChannel ("outputChannel" ), - pcdata (njoy::GNDStk::special::data), + DATA (njoy::GNDStk::special::data), products ("products" ), reactions ("reactions" ), regions2d ("regions2d" ), @@ -214,13 +214,12 @@ class convert_data_text_t { using namespace njoy::GNDStk; try { // Context: - // We're inside of a node that's inside of a - // node that looked something like this (in XML): + // We're inside of a data node that's inside of a node that + // that looked something like this (in XML): // 0.0 1.0 2.0 3.0 4.0 - // In GNDStk, the node has a metadatum with the key - // special::text. The metadatum's string value is the content: - // "0.0 1.0 ..." in our example. Goal here: extract that content - // into the container. + // In GNDStk, the data node has a metadatum with the key special::text. + // The metadatum's string value is the content: "0.0 1.0 ..." in our + // example. Goal here: extract that content into the container. container.clear(); for (auto &m : node.metadata) if (m.first == special::text) { From 1dfef26bc1b09739b20fe2824ccf13897bab7db0 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 8 Dec 2022 21:03:53 -0700 Subject: [PATCH 225/235] Updated some autogenerated code. A few more terminology tweaks. --- autogen/json2class.cpp | 4 +- .../proto/c/src/v1.9/containers/Axes.h | 4 +- .../proto/c/src/v1.9/containers/Axis.h | 4 +- .../proto/c/src/v1.9/containers/Grid.h | 4 +- .../proto/c/src/v1.9/containers/Link.h | 4 +- .../proto/c/src/v1.9/containers/Regions1d.h | 4 +- .../proto/c/src/v1.9/containers/Values.h | 4 +- .../proto/c/src/v1.9/containers/XYs1d.h | 4 +- .../proto/c/src/v1.9/transport/CrossSection.h | 4 +- .../proto/c/src/v1.9/transport/Reaction.h | 4 +- .../c/src/v1.9/transport/ReactionSuite.h | 4 +- .../proto/c/src/v1.9/transport/Reactions.h | 4 +- .../proto/src/proto/v1.9/containers/Axes.hpp | 21 ++-- .../proto/src/proto/v1.9/containers/Axis.hpp | 23 +++-- .../proto/src/proto/v1.9/containers/Grid.hpp | 29 ++++-- .../proto/src/proto/v1.9/containers/Link.hpp | 19 ++-- .../src/proto/v1.9/containers/Regions1d.hpp | 31 ++++-- .../src/proto/v1.9/containers/Values.hpp | 23 +++-- .../proto/src/proto/v1.9/containers/XYs1d.hpp | 35 +++++-- .../src/proto/v1.9/transport/CrossSection.hpp | 19 ++-- .../src/proto/v1.9/transport/Reaction.hpp | 28 ++++-- .../proto/v1.9/transport/ReactionSuite.hpp | 34 +++++-- .../src/proto/v1.9/transport/Reactions.hpp | 22 +++-- .../multi/c/src/v1/multigroup/Element.h | 4 +- .../simple/multi/c/src/v1/multigroup/Foobar.h | 4 +- .../multi/c/src/v1/multigroup/Isotope.h | 4 +- .../multi/c/src/v1/multigroup/Library.h | 4 +- .../multi/c/src/v1/multigroup/Multigroup.h | 4 +- .../multi/src/multi/v1/multigroup/Element.hpp | 31 ++++-- .../multi/src/multi/v1/multigroup/Foobar.hpp | 19 ++-- .../multi/src/multi/v1/multigroup/Isotope.hpp | 19 ++-- .../multi/src/multi/v1/multigroup/Library.hpp | 24 +++-- .../src/multi/v1/multigroup/Multigroup.hpp | 24 +++-- src/GNDStk/BlockData/src/fromNode.hpp | 3 +- src/GNDStk/BlockData/test/fromNode.test.cpp | 24 ++--- src/GNDStk/Component/src/toNode.hpp | 2 +- src/GNDStk/convert/src/detail-json2node.hpp | 2 +- src/GNDStk/convert/src/detail-node2hdf5.hpp | 16 +-- src/GNDStk/convert/src/detail-node2json.hpp | 36 +++---- src/GNDStk/convert/src/detail-xml2node.hpp | 4 +- .../test/c/src/v2.0/appData/ApplicationData.h | 4 +- .../test/c/src/v2.0/appData/Conversion.h | 4 +- .../c/src/v2.0/appData/ENDFconversionFlags.h | 4 +- .../test/c/src/v2.0/appData/Institution.h | 4 +- .../v2.0/atomic/CoherentPhotonScattering.h | 4 +- .../test/c/src/v2.0/atomic/FormFactor.h | 4 +- .../v2.0/atomic/ImaginaryAnomalousFactor.h | 4 +- .../v2.0/atomic/IncoherentPhotonScattering.h | 4 +- .../c/src/v2.0/atomic/RealAnomalousFactor.h | 4 +- .../test/c/src/v2.0/atomic/ScatteringFactor.h | 4 +- .../gnds-2.0/test/c/src/v2.0/common/Energy.h | 4 +- .../test/c/src/v2.0/common/ExternalFile.h | 4 +- .../test/c/src/v2.0/common/ExternalFiles.h | 4 +- .../gnds-2.0/test/c/src/v2.0/common/Mass.h | 4 +- .../test/c/src/v2.0/common/Probability.h | 4 +- .../gnds-2.0/test/c/src/v2.0/common/Product.h | 4 +- .../test/c/src/v2.0/common/Products.h | 4 +- standards/gnds-2.0/test/c/src/v2.0/common/Q.h | 4 +- .../test/c/src/v2.0/common/Temperature.h | 4 +- .../test/c/src/v2.0/containers/Array.h | 4 +- .../test/c/src/v2.0/containers/Axes.h | 4 +- .../test/c/src/v2.0/containers/Axis.h | 4 +- .../src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h | 4 +- .../test/c/src/v2.0/containers/Column.h | 4 +- .../c/src/v2.0/containers/ColumnHeaders.h | 4 +- .../src/v2.0/containers/ConfidenceIntervals.h | 4 +- .../test/c/src/v2.0/containers/Constant1d.h | 4 +- .../test/c/src/v2.0/containers/Covariance.h | 4 +- .../test/c/src/v2.0/containers/Data.h | 4 +- .../test/c/src/v2.0/containers/Double.h | 4 +- .../test/c/src/v2.0/containers/Fraction.h | 4 +- .../test/c/src/v2.0/containers/Function1ds.h | 4 +- .../test/c/src/v2.0/containers/Function2ds.h | 4 +- .../test/c/src/v2.0/containers/Function3ds.h | 4 +- .../test/c/src/v2.0/containers/Grid.h | 4 +- .../test/c/src/v2.0/containers/Gridded1d.h | 4 +- .../test/c/src/v2.0/containers/Gridded2d.h | 4 +- .../test/c/src/v2.0/containers/Gridded3d.h | 4 +- .../test/c/src/v2.0/containers/Integer.h | 4 +- .../test/c/src/v2.0/containers/Interval.h | 4 +- .../test/c/src/v2.0/containers/Legendre.h | 4 +- .../test/c/src/v2.0/containers/Link.h | 4 +- .../c/src/v2.0/containers/ListOfCovariances.h | 4 +- .../test/c/src/v2.0/containers/LogNormal.h | 4 +- .../gnds-2.0/test/c/src/v2.0/containers/Pdf.h | 4 +- .../src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h | 4 +- .../test/c/src/v2.0/containers/Polynomial1d.h | 4 +- .../test/c/src/v2.0/containers/Regions1d.h | 4 +- .../test/c/src/v2.0/containers/Regions2d.h | 4 +- .../test/c/src/v2.0/containers/Regions3d.h | 4 +- .../test/c/src/v2.0/containers/Standard.h | 4 +- .../test/c/src/v2.0/containers/String.h | 4 +- .../test/c/src/v2.0/containers/Table.h | 4 +- .../test/c/src/v2.0/containers/Uncertainty.h | 4 +- .../test/c/src/v2.0/containers/Values.h | 4 +- .../test/c/src/v2.0/containers/XYs1d.h | 4 +- .../test/c/src/v2.0/containers/XYs2d.h | 4 +- .../test/c/src/v2.0/containers/XYs3d.h | 4 +- .../src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h | 4 +- .../test/c/src/v2.0/containers/Xs_pdf_cdf1d.h | 4 +- .../test/c/src/v2.0/containers/Ys1d.h | 4 +- .../covariance/AverageParameterCovariance.h | 4 +- .../test/c/src/v2.0/covariance/ColumnData.h | 4 +- .../c/src/v2.0/covariance/ColumnSensitivity.h | 4 +- .../test/c/src/v2.0/covariance/Covariance.h | 4 +- .../c/src/v2.0/covariance/CovarianceMatrix.h | 4 +- .../c/src/v2.0/covariance/CovarianceSection.h | 4 +- .../src/v2.0/covariance/CovarianceSections.h | 4 +- .../c/src/v2.0/covariance/CovarianceSuite.h | 4 +- .../test/c/src/v2.0/covariance/Mixed.h | 4 +- .../src/v2.0/covariance/ParameterCovariance.h | 4 +- .../covariance/ParameterCovarianceMatrix.h | 4 +- .../v2.0/covariance/ParameterCovariances.h | 4 +- .../c/src/v2.0/covariance/ParameterLink.h | 4 +- .../test/c/src/v2.0/covariance/Parameters.h | 4 +- .../test/c/src/v2.0/covariance/RowData.h | 4 +- .../c/src/v2.0/covariance/RowSensitivity.h | 4 +- .../c/src/v2.0/covariance/SandwichProduct.h | 4 +- .../ShortRangeSelfScalingVariance.h | 4 +- .../test/c/src/v2.0/covariance/Slice.h | 4 +- .../test/c/src/v2.0/covariance/Slices.h | 4 +- .../gnds-2.0/test/c/src/v2.0/covariance/Sum.h | 4 +- .../test/c/src/v2.0/covariance/Summand.h | 4 +- .../cpTransport/CoulombPlusNuclearElastic.h | 4 +- .../cpTransport/ImaginaryInterferenceTerm.h | 4 +- .../cpTransport/NuclearAmplitudeExpansion.h | 4 +- .../cpTransport/NuclearPlusInterference.h | 4 +- .../test/c/src/v2.0/cpTransport/NuclearTerm.h | 4 +- .../v2.0/cpTransport/RealInterferenceTerm.h | 4 +- .../v2.0/cpTransport/RutherfordScattering.h | 4 +- .../test/c/src/v2.0/documentation/Abstract.h | 4 +- .../src/v2.0/documentation/Acknowledgement.h | 4 +- .../src/v2.0/documentation/Acknowledgements.h | 4 +- .../c/src/v2.0/documentation/Affiliation.h | 4 +- .../c/src/v2.0/documentation/Affiliations.h | 4 +- .../test/c/src/v2.0/documentation/Author.h | 4 +- .../test/c/src/v2.0/documentation/Authors.h | 4 +- .../test/c/src/v2.0/documentation/Bibitem.h | 4 +- .../c/src/v2.0/documentation/Bibliography.h | 4 +- .../test/c/src/v2.0/documentation/Body.h | 4 +- .../test/c/src/v2.0/documentation/CodeRepo.h | 4 +- .../c/src/v2.0/documentation/Collaboration.h | 4 +- .../c/src/v2.0/documentation/Collaborations.h | 4 +- .../c/src/v2.0/documentation/ComputerCode.h | 4 +- .../c/src/v2.0/documentation/ComputerCodes.h | 4 +- .../c/src/v2.0/documentation/Contributor.h | 4 +- .../c/src/v2.0/documentation/Contributors.h | 4 +- .../test/c/src/v2.0/documentation/Copyright.h | 4 +- .../src/v2.0/documentation/CorrectionScript.h | 4 +- .../src/v2.0/documentation/CovarianceScript.h | 4 +- .../test/c/src/v2.0/documentation/Date.h | 4 +- .../test/c/src/v2.0/documentation/Dates.h | 4 +- .../c/src/v2.0/documentation/Documentation.h | 4 +- .../c/src/v2.0/documentation/EndfCompatible.h | 4 +- .../v2.0/documentation/ExecutionArguments.h | 4 +- .../c/src/v2.0/documentation/ExforDataSet.h | 4 +- .../c/src/v2.0/documentation/ExforDataSets.h | 4 +- .../v2.0/documentation/ExperimentalDataSets.h | 4 +- .../test/c/src/v2.0/documentation/InputDeck.h | 4 +- .../c/src/v2.0/documentation/InputDecks.h | 4 +- .../test/c/src/v2.0/documentation/Keyword.h | 4 +- .../test/c/src/v2.0/documentation/Keywords.h | 4 +- .../test/c/src/v2.0/documentation/Note.h | 4 +- .../c/src/v2.0/documentation/OutputDeck.h | 4 +- .../c/src/v2.0/documentation/OutputDecks.h | 4 +- .../c/src/v2.0/documentation/RelatedItem.h | 4 +- .../c/src/v2.0/documentation/RelatedItems.h | 4 +- .../test/c/src/v2.0/documentation/Title.h | 4 +- .../test/c/src/v2.0/documentation/Version.h | 4 +- .../gnds-2.0/test/c/src/v2.0/extra/Double.h | 4 +- .../test/c/src/v2.0/extra/Uncertainty.h | 4 +- .../v2.0/fissionFragmentData/DelayedNeutron.h | 4 +- .../fissionFragmentData/DelayedNeutrons.h | 4 +- .../fissionFragmentData/FissionFragmentData.h | 4 +- .../c/src/v2.0/fissionFragmentData/Rate.h | 4 +- .../test/c/src/v2.0/fissionTransport/A.h | 4 +- .../test/c/src/v2.0/fissionTransport/B.h | 4 +- .../v2.0/fissionTransport/DelayedBetaEnergy.h | 4 +- .../fissionTransport/DelayedGammaEnergy.h | 4 +- .../v2.0/fissionTransport/DelayedNeutronKE.h | 4 +- .../test/c/src/v2.0/fissionTransport/EFH.h | 4 +- .../test/c/src/v2.0/fissionTransport/EFL.h | 4 +- .../v2.0/fissionTransport/FissionComponent.h | 4 +- .../v2.0/fissionTransport/FissionComponents.h | 4 +- .../fissionTransport/FissionEnergyReleased.h | 4 +- .../c/src/v2.0/fissionTransport/MadlandNix.h | 4 +- .../v2.0/fissionTransport/NeutrinoEnergy.h | 4 +- .../v2.0/fissionTransport/NonNeutrinoEnergy.h | 4 +- .../v2.0/fissionTransport/PromptGammaEnergy.h | 4 +- .../v2.0/fissionTransport/PromptNeutronKE.h | 4 +- .../v2.0/fissionTransport/PromptProductKE.h | 4 +- .../SimpleMaxwellianFission.h | 4 +- .../test/c/src/v2.0/fissionTransport/T_M.h | 4 +- .../c/src/v2.0/fissionTransport/TotalEnergy.h | 4 +- .../test/c/src/v2.0/fissionTransport/Watt.h | 4 +- .../test/c/src/v2.0/fpy/ElapsedTime.h | 4 +- .../test/c/src/v2.0/fpy/ElapsedTimes.h | 4 +- .../gnds-2.0/test/c/src/v2.0/fpy/Energy.h | 4 +- .../test/c/src/v2.0/fpy/IncidentEnergies.h | 4 +- .../test/c/src/v2.0/fpy/IncidentEnergy.h | 4 +- .../gnds-2.0/test/c/src/v2.0/fpy/Nuclides.h | 4 +- .../test/c/src/v2.0/fpy/ProductYield.h | 4 +- .../test/c/src/v2.0/fpy/ProductYields.h | 4 +- standards/gnds-2.0/test/c/src/v2.0/fpy/Time.h | 4 +- .../gnds-2.0/test/c/src/v2.0/fpy/Yields.h | 4 +- .../gnds-2.0/test/c/src/v2.0/map/Import.h | 4 +- standards/gnds-2.0/test/c/src/v2.0/map/Map.h | 4 +- .../gnds-2.0/test/c/src/v2.0/map/Protare.h | 4 +- standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Alias.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Aliases.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Atomic.h | 4 +- .../test/c/src/v2.0/pops/AverageEnergies.h | 4 +- .../test/c/src/v2.0/pops/AverageEnergy.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Baryon.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Baryons.h | 4 +- .../test/c/src/v2.0/pops/BindingEnergy.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Charge.h | 4 +- .../test/c/src/v2.0/pops/ChemicalElement.h | 4 +- .../test/c/src/v2.0/pops/ChemicalElements.h | 4 +- .../c/src/v2.0/pops/ConfidenceIntervals.h | 4 +- .../test/c/src/v2.0/pops/Configuration.h | 4 +- .../test/c/src/v2.0/pops/Configurations.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Continuum.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Decay.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/DecayData.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/DecayMode.h | 4 +- .../test/c/src/v2.0/pops/DecayModes.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/DecayPath.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Discrete.h | 4 +- .../test/c/src/v2.0/pops/DiscreteEnergy.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Energy.h | 4 +- .../test/c/src/v2.0/pops/GaugeBoson.h | 4 +- .../test/c/src/v2.0/pops/GaugeBosons.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Halflife.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Intensity.h | 4 +- .../pops/InternalConversionCoefficients.h | 4 +- .../pops/InternalPairFormationCoefficient.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Interval.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Isotope.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Isotopes.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Lepton.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Leptons.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/LogNormal.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Mass.h | 4 +- .../test/c/src/v2.0/pops/MetaStable.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Nucleus.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Nuclide.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Nuclides.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Parity.h | 4 +- standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.h | 4 +- .../v2.0/pops/PhotonEmissionProbabilities.h | 4 +- .../test/c/src/v2.0/pops/PoPs_database.h | 4 +- .../src/v2.0/pops/PositronEmissionIntensity.h | 4 +- .../test/c/src/v2.0/pops/Probability.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Product.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Products.h | 4 +- standards/gnds-2.0/test/c/src/v2.0/pops/Q.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Shell.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Spectra.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Spectrum.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Spin.h | 4 +- .../gnds-2.0/test/c/src/v2.0/pops/Standard.h | 4 +- .../test/c/src/v2.0/pops/Uncertainty.h | 4 +- .../test/c/src/v2.0/pops/Unorthodox.h | 4 +- .../test/c/src/v2.0/pops/Unorthodoxes.h | 4 +- .../c/src/v2.0/processed/AngularEnergyMC.h | 4 +- .../c/src/v2.0/processed/AvailableEnergy.h | 4 +- .../c/src/v2.0/processed/AvailableMomentum.h | 4 +- .../src/v2.0/processed/AverageProductEnergy.h | 4 +- .../v2.0/processed/AverageProductMomentum.h | 4 +- .../c/src/v2.0/processed/EnergyAngularMC.h | 4 +- .../test/c/src/v2.0/processed/MultiGroup3d.h | 4 +- .../test/c/src/v2.0/resonances/BreitWigner.h | 4 +- .../test/c/src/v2.0/resonances/Channel.h | 4 +- .../test/c/src/v2.0/resonances/Channels.h | 4 +- .../c/src/v2.0/resonances/EnergyInterval.h | 4 +- .../c/src/v2.0/resonances/EnergyIntervals.h | 4 +- .../c/src/v2.0/resonances/ExternalRMatrix.h | 4 +- .../c/src/v2.0/resonances/HardSphereRadius.h | 4 +- .../gnds-2.0/test/c/src/v2.0/resonances/J.h | 4 +- .../gnds-2.0/test/c/src/v2.0/resonances/Js.h | 4 +- .../gnds-2.0/test/c/src/v2.0/resonances/L.h | 4 +- .../test/c/src/v2.0/resonances/LevelSpacing.h | 4 +- .../gnds-2.0/test/c/src/v2.0/resonances/Ls.h | 4 +- .../test/c/src/v2.0/resonances/RMatrix.h | 4 +- .../test/c/src/v2.0/resonances/Resolved.h | 4 +- .../src/v2.0/resonances/ResonanceParameters.h | 4 +- .../c/src/v2.0/resonances/ResonanceReaction.h | 4 +- .../src/v2.0/resonances/ResonanceReactions.h | 4 +- .../test/c/src/v2.0/resonances/Resonances.h | 4 +- .../c/src/v2.0/resonances/ScatteringRadius.h | 4 +- .../test/c/src/v2.0/resonances/SpinGroup.h | 4 +- .../test/c/src/v2.0/resonances/SpinGroups.h | 4 +- .../c/src/v2.0/resonances/TabulatedWidths.h | 4 +- .../test/c/src/v2.0/resonances/Unresolved.h | 4 +- .../test/c/src/v2.0/resonances/Width.h | 4 +- .../test/c/src/v2.0/resonances/Widths.h | 4 +- .../styles/AngularDistributionReconstructed.h | 4 +- .../c/src/v2.0/styles/AverageProductData.h | 4 +- .../test/c/src/v2.0/styles/Bondarenko.h | 4 +- .../CoulombPlusNuclearElasticMuCutoff.h | 4 +- .../v2.0/styles/CrossSectionReconstructed.h | 4 +- .../c/src/v2.0/styles/EqualProbableBins.h | 4 +- .../test/c/src/v2.0/styles/Evaluated.h | 4 +- .../gnds-2.0/test/c/src/v2.0/styles/Flux.h | 4 +- .../c/src/v2.0/styles/GriddedCrossSection.h | 4 +- .../gnds-2.0/test/c/src/v2.0/styles/Heated.h | 4 +- .../test/c/src/v2.0/styles/HeatedMultiGroup.h | 4 +- .../test/c/src/v2.0/styles/InverseSpeed.h | 4 +- .../test/c/src/v2.0/styles/MonteCarlo_cdf.h | 4 +- .../test/c/src/v2.0/styles/MultiBand.h | 4 +- .../test/c/src/v2.0/styles/MultiGroup.h | 4 +- .../src/v2.0/styles/ProjectileEnergyDomain.h | 4 +- .../test/c/src/v2.0/styles/Realization.h | 4 +- .../test/c/src/v2.0/styles/SigmaZeros.h | 4 +- .../c/src/v2.0/styles/SnElasticUpScatter.h | 4 +- .../gnds-2.0/test/c/src/v2.0/styles/Styles.h | 4 +- .../test/c/src/v2.0/styles/Temperature.h | 4 +- .../test/c/src/v2.0/styles/Transportable.h | 4 +- .../test/c/src/v2.0/styles/Transportables.h | 4 +- .../c/src/v2.0/styles/URR_probabilityTables.h | 4 +- .../gnds-2.0/test/c/src/v2.0/transport/A.h | 4 +- .../gnds-2.0/test/c/src/v2.0/transport/Add.h | 4 +- .../test/c/src/v2.0/transport/AngularEnergy.h | 4 +- .../c/src/v2.0/transport/AngularTwoBody.h | 4 +- .../src/v2.0/transport/Angular_uncorrelated.h | 4 +- .../test/c/src/v2.0/transport/Background.h | 4 +- .../test/c/src/v2.0/transport/Branching1d.h | 4 +- .../test/c/src/v2.0/transport/Branching3d.h | 4 +- .../c/src/v2.0/transport/CoherentPhoton.h | 4 +- .../test/c/src/v2.0/transport/CrossSection.h | 4 +- .../c/src/v2.0/transport/CrossSectionSum.h | 4 +- .../c/src/v2.0/transport/CrossSectionSums.h | 4 +- .../test/c/src/v2.0/transport/DiscreteGamma.h | 4 +- .../test/c/src/v2.0/transport/Distribution.h | 4 +- .../DoubleDifferentialCrossSection.h | 4 +- .../test/c/src/v2.0/transport/EnergyAngular.h | 4 +- .../src/v2.0/transport/Energy_uncorrelated.h | 4 +- .../test/c/src/v2.0/transport/Evaporation.h | 4 +- .../gnds-2.0/test/c/src/v2.0/transport/F.h | 4 +- .../test/c/src/v2.0/transport/FastRegion.h | 4 +- .../test/c/src/v2.0/transport/Forward.h | 4 +- .../gnds-2.0/test/c/src/v2.0/transport/G.h | 4 +- .../c/src/v2.0/transport/GeneralEvaporation.h | 4 +- .../c/src/v2.0/transport/IncoherentPhoton.h | 4 +- .../src/v2.0/transport/IncompleteReactions.h | 4 +- .../test/c/src/v2.0/transport/Isotropic2d.h | 4 +- .../test/c/src/v2.0/transport/KalbachMann.h | 4 +- .../test/c/src/v2.0/transport/MultiGroup3d.h | 4 +- .../test/c/src/v2.0/transport/Multiplicity.h | 4 +- .../c/src/v2.0/transport/MultiplicitySum.h | 4 +- .../c/src/v2.0/transport/MultiplicitySums.h | 4 +- .../c/src/v2.0/transport/NBodyPhaseSpace.h | 4 +- .../test/c/src/v2.0/transport/OrphanProduct.h | 4 +- .../c/src/v2.0/transport/OrphanProducts.h | 4 +- .../test/c/src/v2.0/transport/OutputChannel.h | 4 +- .../transport/PhotonEmissionProbabilities.h | 4 +- .../test/c/src/v2.0/transport/PrimaryGamma.h | 4 +- .../test/c/src/v2.0/transport/Production.h | 4 +- .../test/c/src/v2.0/transport/Productions.h | 4 +- .../gnds-2.0/test/c/src/v2.0/transport/R.h | 4 +- .../test/c/src/v2.0/transport/Reaction.h | 4 +- .../test/c/src/v2.0/transport/ReactionSuite.h | 4 +- .../test/c/src/v2.0/transport/Reactions.h | 4 +- .../test/c/src/v2.0/transport/Recoil.h | 4 +- .../test/c/src/v2.0/transport/Reference.h | 4 +- .../c/src/v2.0/transport/ResolvedRegion.h | 4 +- .../c/src/v2.0/transport/ResonancesLink.h | 4 +- .../v2.0/transport/ResonancesWithBackground.h | 4 +- .../test/c/src/v2.0/transport/Summands.h | 4 +- .../gnds-2.0/test/c/src/v2.0/transport/Sums.h | 4 +- .../test/c/src/v2.0/transport/Theta.h | 4 +- .../gnds-2.0/test/c/src/v2.0/transport/U.h | 4 +- .../v2.0/transport/URR_probabilityTables1d.h | 4 +- .../test/c/src/v2.0/transport/Uncorrelated.h | 4 +- .../c/src/v2.0/transport/UnresolvedRegion.h | 4 +- .../test/c/src/v2.0/transport/Unspecified.h | 4 +- .../test/c/src/v2.0/transport/Weighted.h | 4 +- .../src/v2.0/transport/WeightedFunctionals.h | 4 +- .../c/src/v2.0/tsl/BoundAtomCrossSection.h | 4 +- .../gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.h | 4 +- .../gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.h | 4 +- .../test/c/src/v2.0/tsl/BraggEnergy.h | 4 +- .../c/src/v2.0/tsl/CoherentAtomCrossSection.h | 4 +- .../test/c/src/v2.0/tsl/DebyeWallerIntegral.h | 4 +- .../c/src/v2.0/tsl/DistinctScatteringKernel.h | 4 +- .../gnds-2.0/test/c/src/v2.0/tsl/E_critical.h | 4 +- .../gnds-2.0/test/c/src/v2.0/tsl/E_max.h | 4 +- .../c/src/v2.0/tsl/FreeGasApproximation.h | 4 +- .../c/src/v2.0/tsl/GaussianApproximation.h | 4 +- standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.h | 4 +- .../test/c/src/v2.0/tsl/PhononSpectrum.h | 4 +- .../test/c/src/v2.0/tsl/SCTApproximation.h | 4 +- .../gnds-2.0/test/c/src/v2.0/tsl/S_table.h | 4 +- .../test/c/src/v2.0/tsl/ScatteringAtom.h | 4 +- .../test/c/src/v2.0/tsl/ScatteringAtoms.h | 4 +- .../c/src/v2.0/tsl/SelfScatteringKernel.h | 4 +- .../test/c/src/v2.0/tsl/StructureFactor.h | 4 +- .../test/c/src/v2.0/tsl/T_effective.h | 4 +- .../v2.0/tsl/ThermalNeutronScatteringLaw.h | 4 +- .../v2.0/tsl/ThermalNeutronScatteringLaw1d.h | 4 +- ...rmalNeutronScatteringLaw_coherentElastic.h | 4 +- ...alNeutronScatteringLaw_incoherentElastic.h | 4 +- ...NeutronScatteringLaw_incoherentInelastic.h | 4 +- .../src/test/v2.0/appData/ApplicationData.hpp | 22 +++-- .../test/src/test/v2.0/appData/Conversion.hpp | 21 ++-- .../test/v2.0/appData/ENDFconversionFlags.hpp | 22 +++-- .../src/test/v2.0/appData/Institution.hpp | 24 +++-- .../v2.0/atomic/CoherentPhotonScattering.hpp | 40 +++++--- .../test/src/test/v2.0/atomic/FormFactor.hpp | 27 +++-- .../v2.0/atomic/ImaginaryAnomalousFactor.hpp | 27 +++-- .../atomic/IncoherentPhotonScattering.hpp | 30 ++++-- .../test/v2.0/atomic/RealAnomalousFactor.hpp | 27 +++-- .../src/test/v2.0/atomic/ScatteringFactor.hpp | 27 +++-- .../test/src/test/v2.0/common/Energy.hpp | 38 ++++--- .../src/test/v2.0/common/ExternalFile.hpp | 25 +++-- .../src/test/v2.0/common/ExternalFiles.hpp | 22 +++-- .../test/src/test/v2.0/common/Mass.hpp | 38 ++++--- .../test/src/test/v2.0/common/Probability.hpp | 22 +++-- .../test/src/test/v2.0/common/Product.hpp | 31 ++++-- .../test/src/test/v2.0/common/Products.hpp | 22 +++-- .../gnds-2.0/test/src/test/v2.0/common/Q.hpp | 35 +++++-- .../test/src/test/v2.0/common/Temperature.hpp | 33 +++++-- .../test/src/test/v2.0/containers/Array.hpp | 39 ++++++-- .../test/src/test/v2.0/containers/Axes.hpp | 29 ++++-- .../test/src/test/v2.0/containers/Axis.hpp | 23 +++-- .../v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp | 22 +++-- .../test/src/test/v2.0/containers/Column.hpp | 25 +++-- .../test/v2.0/containers/ColumnHeaders.hpp | 22 +++-- .../v2.0/containers/ConfidenceIntervals.hpp | 22 +++-- .../src/test/v2.0/containers/Constant1d.hpp | 32 ++++-- .../src/test/v2.0/containers/Covariance.hpp | 21 ++-- .../test/src/test/v2.0/containers/Data.hpp | 19 ++-- .../test/src/test/v2.0/containers/Double.hpp | 28 ++++-- .../src/test/v2.0/containers/Fraction.hpp | 23 +++-- .../src/test/v2.0/containers/Function1ds.hpp | 19 ++-- .../src/test/v2.0/containers/Function2ds.hpp | 19 ++-- .../src/test/v2.0/containers/Function3ds.hpp | 19 ++-- .../test/src/test/v2.0/containers/Grid.hpp | 29 ++++-- .../src/test/v2.0/containers/Gridded1d.hpp | 29 ++++-- .../src/test/v2.0/containers/Gridded2d.hpp | 29 ++++-- .../src/test/v2.0/containers/Gridded3d.hpp | 29 ++++-- .../test/src/test/v2.0/containers/Integer.hpp | 23 +++-- .../src/test/v2.0/containers/Interval.hpp | 23 +++-- .../src/test/v2.0/containers/Legendre.hpp | 32 ++++-- .../test/src/test/v2.0/containers/Link.hpp | 19 ++-- .../v2.0/containers/ListOfCovariances.hpp | 22 +++-- .../src/test/v2.0/containers/LogNormal.hpp | 22 +++-- .../test/src/test/v2.0/containers/Pdf.hpp | 27 +++-- .../v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp | 22 +++-- .../src/test/v2.0/containers/Polynomial1d.hpp | 42 +++++--- .../src/test/v2.0/containers/Regions1d.hpp | 36 ++++--- .../src/test/v2.0/containers/Regions2d.hpp | 36 ++++--- .../src/test/v2.0/containers/Regions3d.hpp | 36 ++++--- .../src/test/v2.0/containers/Standard.hpp | 22 +++-- .../test/src/test/v2.0/containers/String.hpp | 23 +++-- .../test/src/test/v2.0/containers/Table.hpp | 33 +++++-- .../src/test/v2.0/containers/Uncertainty.hpp | 57 ++++++----- .../test/src/test/v2.0/containers/Values.hpp | 29 ++++-- .../test/src/test/v2.0/containers/XYs1d.hpp | 40 +++++--- .../test/src/test/v2.0/containers/XYs2d.hpp | 40 +++++--- .../test/src/test/v2.0/containers/XYs3d.hpp | 36 ++++--- .../v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp | 22 +++-- .../src/test/v2.0/containers/Xs_pdf_cdf1d.hpp | 34 ++++--- .../test/src/test/v2.0/containers/Ys1d.hpp | 31 ++++-- .../covariance/AverageParameterCovariance.hpp | 33 +++++-- .../src/test/v2.0/covariance/ColumnData.hpp | 28 ++++-- .../v2.0/covariance/ColumnSensitivity.hpp | 22 +++-- .../src/test/v2.0/covariance/Covariance.hpp | 22 +++-- .../test/v2.0/covariance/CovarianceMatrix.hpp | 25 +++-- .../v2.0/covariance/CovarianceSection.hpp | 33 +++++-- .../v2.0/covariance/CovarianceSections.hpp | 22 +++-- .../test/v2.0/covariance/CovarianceSuite.hpp | 47 ++++++--- .../test/src/test/v2.0/covariance/Mixed.hpp | 34 ++++--- .../v2.0/covariance/ParameterCovariance.hpp | 29 ++++-- .../covariance/ParameterCovarianceMatrix.hpp | 31 ++++-- .../v2.0/covariance/ParameterCovariances.hpp | 27 +++-- .../test/v2.0/covariance/ParameterLink.hpp | 25 +++-- .../src/test/v2.0/covariance/Parameters.hpp | 22 +++-- .../test/src/test/v2.0/covariance/RowData.hpp | 28 ++++-- .../test/v2.0/covariance/RowSensitivity.hpp | 22 +++-- .../test/v2.0/covariance/SandwichProduct.hpp | 37 ++++--- .../ShortRangeSelfScalingVariance.hpp | 28 ++++-- .../test/src/test/v2.0/covariance/Slice.hpp | 27 +++-- .../test/src/test/v2.0/covariance/Slices.hpp | 22 +++-- .../test/src/test/v2.0/covariance/Sum.hpp | 30 ++++-- .../test/src/test/v2.0/covariance/Summand.hpp | 23 +++-- .../cpTransport/CoulombPlusNuclearElastic.hpp | 37 +++++-- .../cpTransport/ImaginaryInterferenceTerm.hpp | 27 +++-- .../cpTransport/NuclearAmplitudeExpansion.hpp | 32 +++--- .../cpTransport/NuclearPlusInterference.hpp | 29 ++++-- .../src/test/v2.0/cpTransport/NuclearTerm.hpp | 27 +++-- .../v2.0/cpTransport/RealInterferenceTerm.hpp | 27 +++-- .../v2.0/cpTransport/RutherfordScattering.hpp | 2 - .../src/test/v2.0/documentation/Abstract.hpp | 23 +++-- .../v2.0/documentation/Acknowledgement.hpp | 25 +++-- .../v2.0/documentation/Acknowledgements.hpp | 22 +++-- .../test/v2.0/documentation/Affiliation.hpp | 21 ++-- .../test/v2.0/documentation/Affiliations.hpp | 22 +++-- .../src/test/v2.0/documentation/Author.hpp | 33 +++++-- .../src/test/v2.0/documentation/Authors.hpp | 22 +++-- .../src/test/v2.0/documentation/Bibitem.hpp | 25 +++-- .../test/v2.0/documentation/Bibliography.hpp | 22 +++-- .../test/src/test/v2.0/documentation/Body.hpp | 23 +++-- .../src/test/v2.0/documentation/CodeRepo.hpp | 25 +++-- .../test/v2.0/documentation/Collaboration.hpp | 21 ++-- .../v2.0/documentation/Collaborations.hpp | 22 +++-- .../test/v2.0/documentation/ComputerCode.hpp | 48 ++++++--- .../test/v2.0/documentation/ComputerCodes.hpp | 22 +++-- .../test/v2.0/documentation/Contributor.hpp | 35 +++++-- .../test/v2.0/documentation/Contributors.hpp | 22 +++-- .../src/test/v2.0/documentation/Copyright.hpp | 25 +++-- .../v2.0/documentation/CorrectionScript.hpp | 23 +++-- .../v2.0/documentation/CovarianceScript.hpp | 23 +++-- .../test/src/test/v2.0/documentation/Date.hpp | 21 ++-- .../src/test/v2.0/documentation/Dates.hpp | 22 +++-- .../test/v2.0/documentation/Documentation.hpp | 98 ++++++++++++------- .../v2.0/documentation/EndfCompatible.hpp | 23 +++-- .../v2.0/documentation/ExecutionArguments.hpp | 23 +++-- .../test/v2.0/documentation/ExforDataSet.hpp | 36 ++++--- .../test/v2.0/documentation/ExforDataSets.hpp | 22 +++-- .../documentation/ExperimentalDataSets.hpp | 22 +++-- .../src/test/v2.0/documentation/InputDeck.hpp | 25 +++-- .../test/v2.0/documentation/InputDecks.hpp | 22 +++-- .../src/test/v2.0/documentation/Keyword.hpp | 25 +++-- .../src/test/v2.0/documentation/Keywords.hpp | 22 +++-- .../test/src/test/v2.0/documentation/Note.hpp | 23 +++-- .../test/v2.0/documentation/OutputDeck.hpp | 25 +++-- .../test/v2.0/documentation/OutputDecks.hpp | 22 +++-- .../test/v2.0/documentation/RelatedItem.hpp | 23 +++-- .../test/v2.0/documentation/RelatedItems.hpp | 22 +++-- .../src/test/v2.0/documentation/Title.hpp | 23 +++-- .../src/test/v2.0/documentation/Version.hpp | 23 +++-- .../test/src/test/v2.0/extra/Double.hpp | 23 +++-- .../test/src/test/v2.0/extra/Uncertainty.hpp | 42 +++++--- .../fissionFragmentData/DelayedNeutron.hpp | 29 ++++-- .../fissionFragmentData/DelayedNeutrons.hpp | 22 +++-- .../FissionFragmentData.hpp | 32 +++--- .../test/v2.0/fissionFragmentData/Rate.hpp | 22 +++-- .../test/src/test/v2.0/fissionTransport/A.hpp | 2 - .../test/src/test/v2.0/fissionTransport/B.hpp | 2 - .../fissionTransport/DelayedBetaEnergy.hpp | 22 +++-- .../fissionTransport/DelayedGammaEnergy.hpp | 22 +++-- .../fissionTransport/DelayedNeutronKE.hpp | 27 +++-- .../src/test/v2.0/fissionTransport/EFH.hpp | 21 ++-- .../src/test/v2.0/fissionTransport/EFL.hpp | 21 ++-- .../fissionTransport/FissionComponent.hpp | 33 +++++-- .../fissionTransport/FissionComponents.hpp | 22 +++-- .../FissionEnergyReleased.hpp | 64 +++++++----- .../test/v2.0/fissionTransport/MadlandNix.hpp | 32 +++--- .../v2.0/fissionTransport/NeutrinoEnergy.hpp | 22 +++-- .../fissionTransport/NonNeutrinoEnergy.hpp | 22 +++-- .../fissionTransport/PromptGammaEnergy.hpp | 27 +++-- .../v2.0/fissionTransport/PromptNeutronKE.hpp | 27 +++-- .../v2.0/fissionTransport/PromptProductKE.hpp | 27 +++-- .../SimpleMaxwellianFission.hpp | 27 +++-- .../src/test/v2.0/fissionTransport/T_M.hpp | 22 +++-- .../v2.0/fissionTransport/TotalEnergy.hpp | 22 +++-- .../src/test/v2.0/fissionTransport/Watt.hpp | 32 +++--- .../test/src/test/v2.0/fpy/ElapsedTime.hpp | 26 +++-- .../test/src/test/v2.0/fpy/ElapsedTimes.hpp | 22 +++-- .../test/src/test/v2.0/fpy/Energy.hpp | 22 +++-- .../src/test/v2.0/fpy/IncidentEnergies.hpp | 22 +++-- .../test/src/test/v2.0/fpy/IncidentEnergy.hpp | 29 ++++-- .../test/src/test/v2.0/fpy/Nuclides.hpp | 19 ++-- .../test/src/test/v2.0/fpy/ProductYield.hpp | 29 ++++-- .../test/src/test/v2.0/fpy/ProductYields.hpp | 22 +++-- .../gnds-2.0/test/src/test/v2.0/fpy/Time.hpp | 19 ++-- .../test/src/test/v2.0/fpy/Yields.hpp | 32 +++--- .../test/src/test/v2.0/map/Import.hpp | 23 +++-- .../gnds-2.0/test/src/test/v2.0/map/Map.hpp | 40 +++++--- .../test/src/test/v2.0/map/Protare.hpp | 31 ++++-- .../gnds-2.0/test/src/test/v2.0/map/TNSL.hpp | 35 +++++-- .../test/src/test/v2.0/pops/Alias.hpp | 21 ++-- .../test/src/test/v2.0/pops/Aliases.hpp | 27 +++-- .../test/src/test/v2.0/pops/Atomic.hpp | 22 +++-- .../src/test/v2.0/pops/AverageEnergies.hpp | 22 +++-- .../test/src/test/v2.0/pops/AverageEnergy.hpp | 33 +++++-- .../test/src/test/v2.0/pops/Baryon.hpp | 49 ++++++---- .../test/src/test/v2.0/pops/Baryons.hpp | 22 +++-- .../test/src/test/v2.0/pops/BindingEnergy.hpp | 38 ++++--- .../test/src/test/v2.0/pops/Charge.hpp | 35 +++++-- .../src/test/v2.0/pops/ChemicalElement.hpp | 33 +++++-- .../src/test/v2.0/pops/ChemicalElements.hpp | 22 +++-- .../test/v2.0/pops/ConfidenceIntervals.hpp | 22 +++-- .../test/src/test/v2.0/pops/Configuration.hpp | 31 ++++-- .../src/test/v2.0/pops/Configurations.hpp | 22 +++-- .../test/src/test/v2.0/pops/Continuum.hpp | 22 +++-- .../test/src/test/v2.0/pops/Decay.hpp | 28 ++++-- .../test/src/test/v2.0/pops/DecayData.hpp | 27 +++-- .../test/src/test/v2.0/pops/DecayMode.hpp | 51 ++++++---- .../test/src/test/v2.0/pops/DecayModes.hpp | 22 +++-- .../test/src/test/v2.0/pops/DecayPath.hpp | 22 +++-- .../test/src/test/v2.0/pops/Discrete.hpp | 49 ++++++---- .../src/test/v2.0/pops/DiscreteEnergy.hpp | 33 +++++-- .../test/src/test/v2.0/pops/Energy.hpp | 38 ++++--- .../test/src/test/v2.0/pops/GaugeBoson.hpp | 49 ++++++---- .../test/src/test/v2.0/pops/GaugeBosons.hpp | 22 +++-- .../test/src/test/v2.0/pops/Halflife.hpp | 35 +++++-- .../test/src/test/v2.0/pops/Intensity.hpp | 33 +++++-- .../pops/InternalConversionCoefficients.hpp | 22 +++-- .../pops/InternalPairFormationCoefficient.hpp | 33 +++++-- .../test/src/test/v2.0/pops/Interval.hpp | 23 +++-- .../test/src/test/v2.0/pops/Isotope.hpp | 26 +++-- .../test/src/test/v2.0/pops/Isotopes.hpp | 22 +++-- .../test/src/test/v2.0/pops/Lepton.hpp | 51 ++++++---- .../test/src/test/v2.0/pops/Leptons.hpp | 22 +++-- .../test/src/test/v2.0/pops/LogNormal.hpp | 22 +++-- .../gnds-2.0/test/src/test/v2.0/pops/Mass.hpp | 38 ++++--- .../test/src/test/v2.0/pops/MetaStable.hpp | 23 +++-- .../test/src/test/v2.0/pops/Nucleus.hpp | 56 +++++++---- .../test/src/test/v2.0/pops/Nuclide.hpp | 54 ++++++---- .../test/src/test/v2.0/pops/Nuclides.hpp | 22 +++-- .../test/src/test/v2.0/pops/Parity.hpp | 38 ++++--- .../gnds-2.0/test/src/test/v2.0/pops/Pdf.hpp | 27 +++-- .../v2.0/pops/PhotonEmissionProbabilities.hpp | 22 +++-- .../test/src/test/v2.0/pops/PoPs_database.hpp | 63 +++++++----- .../v2.0/pops/PositronEmissionIntensity.hpp | 24 +++-- .../test/src/test/v2.0/pops/Probability.hpp | 22 +++-- .../test/src/test/v2.0/pops/Product.hpp | 21 ++-- .../test/src/test/v2.0/pops/Products.hpp | 22 +++-- .../gnds-2.0/test/src/test/v2.0/pops/Q.hpp | 38 ++++--- .../test/src/test/v2.0/pops/Shell.hpp | 23 +++-- .../test/src/test/v2.0/pops/Spectra.hpp | 22 +++-- .../test/src/test/v2.0/pops/Spectrum.hpp | 31 ++++-- .../gnds-2.0/test/src/test/v2.0/pops/Spin.hpp | 38 ++++--- .../test/src/test/v2.0/pops/Standard.hpp | 22 +++-- .../test/src/test/v2.0/pops/Uncertainty.hpp | 37 ++++--- .../test/src/test/v2.0/pops/Unorthodox.hpp | 29 ++++-- .../test/src/test/v2.0/pops/Unorthodoxes.hpp | 22 +++-- .../test/v2.0/processed/AngularEnergyMC.hpp | 31 ++++-- .../test/v2.0/processed/AvailableEnergy.hpp | 27 +++-- .../test/v2.0/processed/AvailableMomentum.hpp | 27 +++-- .../v2.0/processed/AverageProductEnergy.hpp | 32 +++--- .../v2.0/processed/AverageProductMomentum.hpp | 32 +++--- .../test/v2.0/processed/EnergyAngularMC.hpp | 31 ++++-- .../src/test/v2.0/processed/MultiGroup3d.hpp | 26 +++-- .../src/test/v2.0/resonances/BreitWigner.hpp | 45 ++++++--- .../test/src/test/v2.0/resonances/Channel.hpp | 44 ++++++--- .../src/test/v2.0/resonances/Channels.hpp | 22 +++-- .../test/v2.0/resonances/EnergyInterval.hpp | 27 +++-- .../test/v2.0/resonances/EnergyIntervals.hpp | 24 +++-- .../test/v2.0/resonances/ExternalRMatrix.hpp | 24 +++-- .../test/v2.0/resonances/HardSphereRadius.hpp | 22 +++-- .../test/src/test/v2.0/resonances/J.hpp | 31 ++++-- .../test/src/test/v2.0/resonances/Js.hpp | 22 +++-- .../test/src/test/v2.0/resonances/L.hpp | 26 +++-- .../src/test/v2.0/resonances/LevelSpacing.hpp | 32 +++--- .../test/src/test/v2.0/resonances/Ls.hpp | 22 +++-- .../test/src/test/v2.0/resonances/RMatrix.hpp | 48 ++++++--- .../src/test/v2.0/resonances/Resolved.hpp | 25 +++-- .../v2.0/resonances/ResonanceParameters.hpp | 22 +++-- .../v2.0/resonances/ResonanceReaction.hpp | 45 ++++++--- .../v2.0/resonances/ResonanceReactions.hpp | 22 +++-- .../src/test/v2.0/resonances/Resonances.hpp | 39 +++++--- .../test/v2.0/resonances/ScatteringRadius.hpp | 19 ++-- .../src/test/v2.0/resonances/SpinGroup.hpp | 33 +++++-- .../src/test/v2.0/resonances/SpinGroups.hpp | 22 +++-- .../test/v2.0/resonances/TabulatedWidths.hpp | 48 ++++++--- .../src/test/v2.0/resonances/Unresolved.hpp | 25 +++-- .../test/src/test/v2.0/resonances/Width.hpp | 36 ++++--- .../test/src/test/v2.0/resonances/Widths.hpp | 22 +++-- .../AngularDistributionReconstructed.hpp | 33 +++++-- .../test/v2.0/styles/AverageProductData.hpp | 33 +++++-- .../test/src/test/v2.0/styles/Bondarenko.hpp | 33 +++++-- .../CoulombPlusNuclearElasticMuCutoff.hpp | 30 ++++-- .../v2.0/styles/CrossSectionReconstructed.hpp | 33 +++++-- .../test/v2.0/styles/EqualProbableBins.hpp | 30 ++++-- .../test/src/test/v2.0/styles/Evaluated.hpp | 42 +++++--- .../test/src/test/v2.0/styles/Flux.hpp | 24 +++-- .../test/v2.0/styles/GriddedCrossSection.hpp | 33 +++++-- .../test/src/test/v2.0/styles/Heated.hpp | 33 +++++-- .../src/test/v2.0/styles/HeatedMultiGroup.hpp | 43 +++++--- .../src/test/v2.0/styles/InverseSpeed.hpp | 24 +++-- .../src/test/v2.0/styles/MonteCarlo_cdf.hpp | 28 ++++-- .../test/src/test/v2.0/styles/MultiBand.hpp | 30 ++++-- .../test/src/test/v2.0/styles/MultiGroup.hpp | 24 +++-- .../v2.0/styles/ProjectileEnergyDomain.hpp | 25 +++-- .../test/src/test/v2.0/styles/Realization.hpp | 28 ++++-- .../test/src/test/v2.0/styles/SigmaZeros.hpp | 24 +++-- .../test/v2.0/styles/SnElasticUpScatter.hpp | 30 ++++-- .../test/src/test/v2.0/styles/Styles.hpp | 72 ++++++++------ .../test/src/test/v2.0/styles/Temperature.hpp | 33 +++++-- .../src/test/v2.0/styles/Transportable.hpp | 26 +++-- .../src/test/v2.0/styles/Transportables.hpp | 24 +++-- .../v2.0/styles/URR_probabilityTables.hpp | 28 ++++-- .../test/src/test/v2.0/transport/A.hpp | 19 ++-- .../test/src/test/v2.0/transport/Add.hpp | 19 ++-- .../src/test/v2.0/transport/AngularEnergy.hpp | 26 +++-- .../test/v2.0/transport/AngularTwoBody.hpp | 41 +++++--- .../v2.0/transport/Angular_uncorrelated.hpp | 32 +++--- .../src/test/v2.0/transport/Background.hpp | 32 +++--- .../src/test/v2.0/transport/Branching1d.hpp | 19 ++-- .../src/test/v2.0/transport/Branching3d.hpp | 21 ++-- .../test/v2.0/transport/CoherentPhoton.hpp | 2 - .../src/test/v2.0/transport/CrossSection.hpp | 21 ++-- .../test/v2.0/transport/CrossSectionSum.hpp | 36 ++++--- .../test/v2.0/transport/CrossSectionSums.hpp | 22 +++-- .../src/test/v2.0/transport/DiscreteGamma.hpp | 28 ++++-- .../src/test/v2.0/transport/Distribution.hpp | 19 ++-- .../DoubleDifferentialCrossSection.hpp | 62 +++++++----- .../src/test/v2.0/transport/EnergyAngular.hpp | 26 +++-- .../v2.0/transport/Energy_uncorrelated.hpp | 72 ++++++++------ .../src/test/v2.0/transport/Evaporation.hpp | 27 +++-- .../test/src/test/v2.0/transport/F.hpp | 19 ++-- .../src/test/v2.0/transport/FastRegion.hpp | 19 ++-- .../test/src/test/v2.0/transport/Forward.hpp | 2 - .../test/src/test/v2.0/transport/G.hpp | 27 +++-- .../v2.0/transport/GeneralEvaporation.hpp | 32 +++--- .../test/v2.0/transport/IncoherentPhoton.hpp | 2 - .../v2.0/transport/IncompleteReactions.hpp | 22 +++-- .../src/test/v2.0/transport/Isotropic2d.hpp | 2 - .../src/test/v2.0/transport/KalbachMann.hpp | 36 ++++--- .../src/test/v2.0/transport/MultiGroup3d.hpp | 26 +++-- .../src/test/v2.0/transport/Multiplicity.hpp | 19 ++-- .../test/v2.0/transport/MultiplicitySum.hpp | 31 ++++-- .../test/v2.0/transport/MultiplicitySums.hpp | 22 +++-- .../test/v2.0/transport/NBodyPhaseSpace.hpp | 24 +++-- .../src/test/v2.0/transport/OrphanProduct.hpp | 31 ++++-- .../test/v2.0/transport/OrphanProducts.hpp | 22 +++-- .../src/test/v2.0/transport/OutputChannel.hpp | 36 ++++--- .../transport/PhotonEmissionProbabilities.hpp | 22 +++-- .../src/test/v2.0/transport/PrimaryGamma.hpp | 30 ++++-- .../src/test/v2.0/transport/Production.hpp | 31 ++++-- .../src/test/v2.0/transport/Productions.hpp | 22 +++-- .../test/src/test/v2.0/transport/R.hpp | 19 ++-- .../test/src/test/v2.0/transport/Reaction.hpp | 38 ++++--- .../src/test/v2.0/transport/ReactionSuite.hpp | 84 ++++++++++------ .../src/test/v2.0/transport/Reactions.hpp | 22 +++-- .../test/src/test/v2.0/transport/Recoil.hpp | 19 ++-- .../src/test/v2.0/transport/Reference.hpp | 21 ++-- .../test/v2.0/transport/ResolvedRegion.hpp | 19 ++-- .../test/v2.0/transport/ResonancesLink.hpp | 21 ++-- .../transport/ResonancesWithBackground.hpp | 34 ++++--- .../test/src/test/v2.0/transport/Summands.hpp | 22 +++-- .../test/src/test/v2.0/transport/Sums.hpp | 27 +++-- .../test/src/test/v2.0/transport/Theta.hpp | 27 +++-- .../test/src/test/v2.0/transport/U.hpp | 21 ++-- .../transport/URR_probabilityTables1d.hpp | 21 ++-- .../src/test/v2.0/transport/Uncorrelated.hpp | 31 ++++-- .../test/v2.0/transport/UnresolvedRegion.hpp | 19 ++-- .../src/test/v2.0/transport/Unspecified.hpp | 21 ++-- .../test/src/test/v2.0/transport/Weighted.hpp | 52 ++++++---- .../v2.0/transport/WeightedFunctionals.hpp | 22 +++-- .../test/v2.0/tsl/BoundAtomCrossSection.hpp | 21 ++-- .../test/src/test/v2.0/tsl/BraggEdge.hpp | 29 ++++-- .../test/src/test/v2.0/tsl/BraggEdges.hpp | 22 +++-- .../test/src/test/v2.0/tsl/BraggEnergy.hpp | 22 +++-- .../v2.0/tsl/CoherentAtomCrossSection.hpp | 21 ++-- .../src/test/v2.0/tsl/DebyeWallerIntegral.hpp | 22 +++-- .../v2.0/tsl/DistinctScatteringKernel.hpp | 22 +++-- .../test/src/test/v2.0/tsl/E_critical.hpp | 21 ++-- .../gnds-2.0/test/src/test/v2.0/tsl/E_max.hpp | 21 ++-- .../test/v2.0/tsl/FreeGasApproximation.hpp | 2 - .../test/v2.0/tsl/GaussianApproximation.hpp | 22 +++-- .../gnds-2.0/test/src/test/v2.0/tsl/Mass.hpp | 21 ++-- .../test/src/test/v2.0/tsl/PhononSpectrum.hpp | 22 +++-- .../src/test/v2.0/tsl/SCTApproximation.hpp | 2 - .../test/src/test/v2.0/tsl/S_table.hpp | 22 +++-- .../test/src/test/v2.0/tsl/ScatteringAtom.hpp | 63 +++++++----- .../src/test/v2.0/tsl/ScatteringAtoms.hpp | 22 +++-- .../test/v2.0/tsl/SelfScatteringKernel.hpp | 21 ++-- .../src/test/v2.0/tsl/StructureFactor.hpp | 22 +++-- .../test/src/test/v2.0/tsl/T_effective.hpp | 22 +++-- .../v2.0/tsl/ThermalNeutronScatteringLaw.hpp | 21 ++-- .../tsl/ThermalNeutronScatteringLaw1d.hpp | 21 ++-- ...alNeutronScatteringLaw_coherentElastic.hpp | 25 +++-- ...NeutronScatteringLaw_incoherentElastic.hpp | 33 +++++-- ...utronScatteringLaw_incoherentInelastic.hpp | 34 +++++-- .../incremental/code/c/src/v2.0/gnds/Atomic.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Author.h | 4 +- .../code/c/src/v2.0/gnds/Authors.h | 4 +- .../code/c/src/v2.0/gnds/BindingEnergy.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Body.h | 4 +- .../code/c/src/v2.0/gnds/ChemicalElement.h | 4 +- .../code/c/src/v2.0/gnds/ChemicalElements.h | 4 +- .../code/c/src/v2.0/gnds/Configuration.h | 4 +- .../code/c/src/v2.0/gnds/Configurations.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Date.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Dates.h | 4 +- .../code/c/src/v2.0/gnds/Documentation.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Double.h | 4 +- .../code/c/src/v2.0/gnds/EndfCompatible.h | 4 +- .../code/c/src/v2.0/gnds/Evaluated.h | 4 +- .../incremental/code/c/src/v2.0/gnds/PoPs.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Styles.h | 4 +- .../incremental/code/c/src/v2.0/gnds/Title.h | 4 +- 788 files changed, 7963 insertions(+), 4282 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 29f1391e6..ef9cb4e72 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -2967,9 +2967,9 @@ void fileCInterfaceHeader( hdr("// Instructions for Users"); hdr("//"); hdr("// Constructs you're MORE likely to care about are preceded with:"); - hdr("// // +++ comment"); + hdr("// // +++ remark"); hdr("// Constructs you're LESS likely to care about are preceded with:"); - hdr("// // --- comment"); + hdr("// // --- remark"); hdr("// Anything not marked as above can be ignored by most users."); hdr("//"); hdr("// @ is the basic handle type in this file. Example:", per.clname); diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Axes.h b/autogen/prototype/proto/c/src/v1.9/containers/Axes.h index 6f59d7f13..f9770e58f 100644 --- a/autogen/prototype/proto/c/src/v1.9/containers/Axes.h +++ b/autogen/prototype/proto/c/src/v1.9/containers/Axes.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Axes is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Axis.h b/autogen/prototype/proto/c/src/v1.9/containers/Axis.h index 6e0dcc16c..46fe10233 100644 --- a/autogen/prototype/proto/c/src/v1.9/containers/Axis.h +++ b/autogen/prototype/proto/c/src/v1.9/containers/Axis.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Axis is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Grid.h b/autogen/prototype/proto/c/src/v1.9/containers/Grid.h index 250f1f752..fe5064d58 100644 --- a/autogen/prototype/proto/c/src/v1.9/containers/Grid.h +++ b/autogen/prototype/proto/c/src/v1.9/containers/Grid.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Grid is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Link.h b/autogen/prototype/proto/c/src/v1.9/containers/Link.h index c73319795..7cb3f2b71 100644 --- a/autogen/prototype/proto/c/src/v1.9/containers/Link.h +++ b/autogen/prototype/proto/c/src/v1.9/containers/Link.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Link is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.h b/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.h index d09b37aaa..cbf0605b5 100644 --- a/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.h +++ b/autogen/prototype/proto/c/src/v1.9/containers/Regions1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Regions1d is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/containers/Values.h b/autogen/prototype/proto/c/src/v1.9/containers/Values.h index c1dcee295..9b12b3258 100644 --- a/autogen/prototype/proto/c/src/v1.9/containers/Values.h +++ b/autogen/prototype/proto/c/src/v1.9/containers/Values.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Values is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.h b/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.h index 5d68b976b..ac6303f8c 100644 --- a/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.h +++ b/autogen/prototype/proto/c/src/v1.9/containers/XYs1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // XYs1d is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.h b/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.h index 8c27b5ccc..62ea9eb57 100644 --- a/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.h +++ b/autogen/prototype/proto/c/src/v1.9/transport/CrossSection.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CrossSection is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/transport/Reaction.h b/autogen/prototype/proto/c/src/v1.9/transport/Reaction.h index 6f76ae59b..8e4448970 100644 --- a/autogen/prototype/proto/c/src/v1.9/transport/Reaction.h +++ b/autogen/prototype/proto/c/src/v1.9/transport/Reaction.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Reaction is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.h b/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.h index e7a578052..7ab60a06a 100644 --- a/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.h +++ b/autogen/prototype/proto/c/src/v1.9/transport/ReactionSuite.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ReactionSuite is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/c/src/v1.9/transport/Reactions.h b/autogen/prototype/proto/c/src/v1.9/transport/Reactions.h index a3589a5ef..df4f729a5 100644 --- a/autogen/prototype/proto/c/src/v1.9/transport/Reactions.h +++ b/autogen/prototype/proto/c/src/v1.9/transport/Reactions.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Reactions is the basic handle type in this file. Example: diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/Axes.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axes.hpp index 0bcfe439b..729e089a1 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/Axes.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Axes.hpp @@ -66,9 +66,16 @@ class Axes : public Component { this->href, \ this->axis_grid) - // default, and from fields + // default + Axes() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Axes( - const wrapper> &href = {}, + const wrapper> &href, const wrapper> &axis_grid = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -87,17 +94,19 @@ class Axes : public Component { // copy Axes(const Axes &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href), + axis_grid(this,other.axis_grid) { - *this = other; Component::finish(other); } // move Axes(Axes &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)), + axis_grid(this,std::move(other.axis_grid)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/Axis.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Axis.hpp index 792dba566..6e3186131 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/Axis.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Axis.hpp @@ -59,9 +59,16 @@ class Axis : public Component { this->label, \ this->unit) - // default, and from fields + // default + Axis() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Axis( - const wrapper> &index = {}, + const wrapper> &index, const wrapper> &label = {}, const wrapper> &unit = {} ) : @@ -82,17 +89,21 @@ class Axis : public Component { // copy Axis(const Axis &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + label(this,other.label), + unit(this,other.unit) { - *this = other; Component::finish(other); } // move Axis(Axis &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/Grid.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Grid.hpp index 7aa17ef95..eb0eff5de 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/Grid.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Grid.hpp @@ -87,10 +87,17 @@ class Grid : public Component { this->unit, \ this->link_values) - // default, and from fields + // default + Grid() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Grid( - const wrapper> &index = {}, + const wrapper> &index, const wrapper> &interpolation = {}, const wrapper> &label = {}, const wrapper> &style = {}, @@ -117,17 +124,27 @@ class Grid : public Component { // copy Grid(const Grid &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + interpolation(this,other.interpolation), + label(this,other.label), + style(this,other.style), + unit(this,other.unit), + link_values(this,other.link_values) { - *this = other; Component::finish(other); } // move Grid(Grid &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + interpolation(this,std::move(other.interpolation)), + label(this,std::move(other.label)), + style(this,std::move(other.style)), + unit(this,std::move(other.unit)), + link_values(this,std::move(other.link_values)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/Link.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Link.hpp index 5b996fdd8..416abb976 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/Link.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Link.hpp @@ -51,9 +51,16 @@ class Link : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->href) - // default, and from fields + // default + Link() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Link( - const wrapper &href = {} + const wrapper &href ) : GNDSTK_COMPONENT(BlockData{}), href(this,href) @@ -70,17 +77,17 @@ class Link : public Component { // copy Link(const Link &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href) { - *this = other; Component::finish(other); } // move Link(Link &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d.hpp index 4e793c232..fc1e5f09b 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Regions1d.hpp @@ -39,10 +39,8 @@ class Regions1d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - std::optional{} - / --Child<>("axes") | - containers::XYs1d{} - / ++Child<>("XYs1d") + --Child>("axes") | + ++Child("XYs1d") ; } @@ -67,9 +65,16 @@ class Regions1d : public Component { this->axes, \ this->XYs1d) - // default, and from fields + // default + Regions1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Regions1d( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, const wrapper> &XYs1d = {} @@ -92,17 +97,23 @@ class Regions1d : public Component { // copy Regions1d(const Regions1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + XYs1d(this,other.XYs1d) { - *this = other; Component::finish(other); } // move Regions1d(Regions1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + XYs1d(this,std::move(other.XYs1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/Values.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/Values.hpp index 90584176e..602348dd4 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/Values.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/Values.hpp @@ -66,10 +66,17 @@ class Values : public Component { this->start, \ this->length) - // default, and from fields + // default + Values() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Values( - const wrapper> &valueType = {}, + const wrapper> &valueType, const wrapper> &start = {}, const wrapper> &length = {} ) : @@ -98,17 +105,21 @@ class Values : public Component { // copy Values(const Values &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + valueType(this,other.valueType), + start(this,other.start), + length(this,other.length) { - *this = other; Component::finish(other); } // move Values(Values &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + valueType(this,std::move(other.valueType)), + start(this,std::move(other.start)), + length(this,std::move(other.length)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d.hpp b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d.hpp index c07fa4667..aa4d1435d 100644 --- a/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/containers/XYs1d.hpp @@ -43,10 +43,8 @@ class XYs1d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - std::optional{} - / --Child<>("axes") | - containers::Values{} - / --Child<>("values") + --Child>("axes") | + --Child("values") ; } @@ -80,10 +78,17 @@ class XYs1d : public Component { this->axes, \ this->values) - // default, and from fields + // default + XYs1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit XYs1d( - const wrapper> &index = {}, + const wrapper> &index, const wrapper> &interpolation = {}, const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, @@ -110,17 +115,27 @@ class XYs1d : public Component { // copy XYs1d(const XYs1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + interpolation(this,other.interpolation), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + values(this,other.values) { - *this = other; Component::finish(other); } // move XYs1d(XYs1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + interpolation(this,std::move(other.interpolation)), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/transport/CrossSection.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/CrossSection.hpp index d407fa49c..373e0c643 100644 --- a/autogen/prototype/proto/src/proto/v1.9/transport/CrossSection.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/transport/CrossSection.hpp @@ -59,9 +59,16 @@ class CrossSection : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->XYs1d_regions1d) - // default, and from fields + // default + CrossSection() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CrossSection( - const wrapper> &XYs1d_regions1d = {} + const wrapper> &XYs1d_regions1d ) : GNDSTK_COMPONENT(BlockData{}), XYs1d_regions1d(this,XYs1d_regions1d) @@ -78,17 +85,17 @@ class CrossSection : public Component { // copy CrossSection(const CrossSection &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d_regions1d(this,other.XYs1d_regions1d) { - *this = other; Component::finish(other); } // move CrossSection(CrossSection &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d_regions1d(this,std::move(other.XYs1d_regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/transport/Reaction.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/Reaction.hpp index 6456d7cf4..8ac1a48a6 100644 --- a/autogen/prototype/proto/src/proto/v1.9/transport/Reaction.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/transport/Reaction.hpp @@ -40,8 +40,7 @@ class Reaction : public Component { std::string{} / Meta<>("label") | // children - transport::CrossSection{} - / --Child<>("crossSection") + --Child("crossSection") ; } @@ -66,9 +65,16 @@ class Reaction : public Component { this->label, \ this->crossSection) - // default, and from fields + // default + Reaction() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Reaction( - const wrapper &ENDF_MT = {}, + const wrapper &ENDF_MT, const wrapper> &fissionGenre = {}, const wrapper &label = {}, const wrapper &crossSection = {} @@ -91,17 +97,23 @@ class Reaction : public Component { // copy Reaction(const Reaction &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,other.ENDF_MT), + fissionGenre(this,other.fissionGenre), + label(this,other.label), + crossSection(this,other.crossSection) { - *this = other; Component::finish(other); } // move Reaction(Reaction &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,std::move(other.ENDF_MT)), + fissionGenre(this,std::move(other.fissionGenre)), + label(this,std::move(other.label)), + crossSection(this,std::move(other.crossSection)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite.hpp index f5490ef94..091e09c9e 100644 --- a/autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/transport/ReactionSuite.hpp @@ -46,8 +46,7 @@ class ReactionSuite : public Component { std::optional{} / Meta<>("interaction") | // children - std::optional{} - / --Child<>("reactions") + --Child>("reactions") ; } @@ -78,9 +77,16 @@ class ReactionSuite : public Component { this->interaction, \ this->reactions) - // default, and from fields + // default + ReactionSuite() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ReactionSuite( - const wrapper &evaluation = {}, + const wrapper &evaluation, const wrapper &format = {}, const wrapper &projectile = {}, const wrapper &projectileFrame = {}, @@ -109,17 +115,29 @@ class ReactionSuite : public Component { // copy ReactionSuite(const ReactionSuite &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluation(this,other.evaluation), + format(this,other.format), + projectile(this,other.projectile), + projectileFrame(this,other.projectileFrame), + target(this,other.target), + interaction(this,other.interaction), + reactions(this,other.reactions) { - *this = other; Component::finish(other); } // move ReactionSuite(ReactionSuite &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluation(this,std::move(other.evaluation)), + format(this,std::move(other.format)), + projectile(this,std::move(other.projectile)), + projectileFrame(this,std::move(other.projectileFrame)), + target(this,std::move(other.target)), + interaction(this,std::move(other.interaction)), + reactions(this,std::move(other.reactions)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/prototype/proto/src/proto/v1.9/transport/Reactions.hpp b/autogen/prototype/proto/src/proto/v1.9/transport/Reactions.hpp index ef3406833..719c08647 100644 --- a/autogen/prototype/proto/src/proto/v1.9/transport/Reactions.hpp +++ b/autogen/prototype/proto/src/proto/v1.9/transport/Reactions.hpp @@ -33,8 +33,7 @@ class Reactions : public Component { { return // children - transport::Reaction{} - / ++Child<>("reaction") + ++Child("reaction") ; } @@ -51,9 +50,16 @@ class Reactions : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->reaction) - // default, and from fields + // default + Reactions() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Reactions( - const wrapper> &reaction = {} + const wrapper> &reaction ) : GNDSTK_COMPONENT(BlockData{}), reaction(this,reaction) @@ -70,17 +76,17 @@ class Reactions : public Component { // copy Reactions(const Reactions &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + reaction(this,other.reaction) { - *this = other; Component::finish(other); } // move Reactions(Reactions &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + reaction(this,std::move(other.reaction)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index 117db37d0..4fd1fa343 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Element is the basic handle type in this file. Example: diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index 055a0adae..2667e32b5 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Foobar is the basic handle type in this file. Example: diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h index a2e88aebd..02a1bb4f7 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Isotope is the basic handle type in this file. Example: diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.h b/autogen/simple/multi/c/src/v1/multigroup/Library.h index f1171929f..92056d333 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Library is the basic handle type in this file. Example: diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h index 0057d43fb..ca6d2d598 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Multigroup is the basic handle type in this file. Example: diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp index c87342dae..47e23b2e7 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp @@ -39,10 +39,8 @@ class Element : public Component { int{} / Meta<>("atomic_number") | // children - multigroup::Isotope{} - / ++Child<>("isotope") | - std::optional{} - / --Child<>("foobar") + ++Child("isotope") | + --Child>("foobar") ; } @@ -67,9 +65,16 @@ class Element : public Component { this->isotope, \ this->foobar) - // default, and from fields + // default + Element() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Element( - const wrapper> &symbol = {}, + const wrapper> &symbol, const wrapper &atomic_number = {}, const wrapper> &isotope = {}, const wrapper> &foobar = {} @@ -92,17 +97,23 @@ class Element : public Component { // copy Element(const Element &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + symbol(this,other.symbol), + atomic_number(this,other.atomic_number), + isotope(this,other.isotope), + foobar(this,other.foobar) { - *this = other; Component::finish(other); } // move Element(Element &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + symbol(this,std::move(other.symbol)), + atomic_number(this,std::move(other.atomic_number)), + isotope(this,std::move(other.isotope)), + foobar(this,std::move(other.foobar)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp index 85a319bea..e26a64a9e 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp @@ -52,9 +52,16 @@ class Foobar : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->value) - // default, and from fields + // default + Foobar() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Foobar( - const wrapper &value = {} + const wrapper &value ) : GNDSTK_COMPONENT(BlockData{}), value(this,value) @@ -79,17 +86,17 @@ class Foobar : public Component { // copy Foobar(const Foobar &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + value(this,other.value) { - *this = other; Component::finish(other); } // move Foobar(Foobar &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp index 37f7cca31..10cd0733c 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp @@ -51,9 +51,16 @@ class Isotope : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->mass_number) - // default, and from fields + // default + Isotope() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Isotope( - const wrapper &mass_number = {} + const wrapper &mass_number ) : GNDSTK_COMPONENT(BlockData{}), mass_number(this,mass_number) @@ -70,17 +77,17 @@ class Isotope : public Component { // copy Isotope(const Isotope &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + mass_number(this,other.mass_number) { - *this = other; Component::finish(other); } // move Isotope(Isotope &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + mass_number(this,std::move(other.mass_number)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp index d7461a925..08224d822 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp @@ -36,8 +36,7 @@ class Library : public Component { std::string{} / Meta<>("name") | // children - multigroup::Element{} - / ++Child<>("element") + ++Child("element") ; } @@ -58,9 +57,16 @@ class Library : public Component { this->name, \ this->element) - // default, and from fields + // default + Library() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Library( - const wrapper &name = {}, + const wrapper &name, const wrapper> &element = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class Library : public Component { // copy Library(const Library &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name), + element(this,other.element) { - *this = other; Component::finish(other); } // move Library(Library &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)), + element(this,std::move(other.element)) { - *this = std::move(other); Component::finish(other); } diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp index 1e0d5e5ac..16e61c73c 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp @@ -36,8 +36,7 @@ class Multigroup : public Component { std::string{} / Meta<>("projectile") | // children - multigroup::Library{} - / ++Child<>("library") + ++Child("library") ; } @@ -58,9 +57,16 @@ class Multigroup : public Component { this->projectile, \ this->library) - // default, and from fields + // default + Multigroup() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Multigroup( - const wrapper &projectile = {}, + const wrapper &projectile, const wrapper> &library = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class Multigroup : public Component { // copy Multigroup(const Multigroup &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + projectile(this,other.projectile), + library(this,other.library) { - *this = other; Component::finish(other); } // move Multigroup(Multigroup &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + projectile(this,std::move(other.projectile)), + library(this,std::move(other.library)) { - *this = std::move(other); Component::finish(other); } diff --git a/src/GNDStk/BlockData/src/fromNode.hpp b/src/GNDStk/BlockData/src/fromNode.hpp index c9b7cff99..e96c12ccd 100644 --- a/src/GNDStk/BlockData/src/fromNode.hpp +++ b/src/GNDStk/BlockData/src/fromNode.hpp @@ -26,8 +26,7 @@ void fromNode(const Node &node) // consider a Node's lack of plain character data, in the present context, // to be something that merits a warning. log::warning( - "Component marked as having block data, a.k.a. XML \"pcdata\" " - "(plain\ncharacter data), " + "Component marked as having block data, " "but no such content was found in the GNDS node." ); log::member("BlockData::fromNode(Node, with name \"{}\")", node.name); diff --git a/src/GNDStk/BlockData/test/fromNode.test.cpp b/src/GNDStk/BlockData/test/fromNode.test.cpp index dda1bc292..695fdc378 100644 --- a/src/GNDStk/BlockData/test/fromNode.test.cpp +++ b/src/GNDStk/BlockData/test/fromNode.test.cpp @@ -40,19 +40,19 @@ SCENARIO("BlockData fromNode()") { CHECK(b.string() == "some plain character data"); // it shouldn't matter, but leading spaces are preserved - node << " pcdata with leading spaces"; + node << " data with leading spaces"; b.fromNode(node); - CHECK(b.string() == " pcdata with leading spaces"); + CHECK(b.string() == " data with leading spaces"); // ditto for trailing spaces - node << "pcdata with trailing spaces "; + node << "data with trailing spaces "; b.fromNode(node); - CHECK(b.string() == "pcdata with trailing spaces "); + CHECK(b.string() == "data with trailing spaces "); // ditto for both together - node << " pcdata "; + node << " data "; b.fromNode(node); - CHECK(b.string() == " pcdata "); + CHECK(b.string() == " data "); } } } @@ -95,19 +95,19 @@ SCENARIO("BlockData fromNode()") { CHECK(b.string() == "some plain character data"); // it shouldn't matter, but leading spaces are preserved - node << " pcdata with leading spaces"; + node << " data with leading spaces"; b.fromNode(node); - CHECK(b.string() == " pcdata with leading spaces"); + CHECK(b.string() == " data with leading spaces"); // ditto for trailing spaces - node << "pcdata with trailing spaces "; + node << "data with trailing spaces "; b.fromNode(node); - CHECK(b.string() == "pcdata with trailing spaces "); + CHECK(b.string() == "data with trailing spaces "); // ditto for both together - node << " pcdata "; + node << " data "; b.fromNode(node); - CHECK(b.string() == " pcdata "); + CHECK(b.string() == " data "); } } } diff --git a/src/GNDStk/Component/src/toNode.hpp b/src/GNDStk/Component/src/toNode.hpp index c3860e505..28b0334fb 100644 --- a/src/GNDStk/Component/src/toNode.hpp +++ b/src/GNDStk/Component/src/toNode.hpp @@ -12,7 +12,7 @@ operator Node() const try { // Handle block data, if applicable if constexpr (hasBlockData) { - // GNDStk uses a TEXT metadatum of a PCDATA child node for this + // GNDStk uses a #text metadatum of a #data child node for this std::string &text = node.add(special::data).add(special::text,"").second; BLOCKDATA::toNode(text); diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index b5e6a6f22..756747ed8 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -137,7 +137,7 @@ void json2node(const orderedJSON &object, NODE &node, bool inferNodeName) beginsin(key,special::comment) || beginsin(key,special::data) ) { - // Special key: cdata, comment, or pcdata, with optional suffix + // Special key: cdata, comment, or data, with optional suffix if (val.is_object()) { try { json2node(val, node.add(key)); diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index 8dd60db35..eb8e38dda 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -109,7 +109,7 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) continue; } - // *** PCDATA/TEXT + // *** DATA/TEXT if (parent == special::data && key == special::text) { const std::string type = guessType(value); if (type == "int" || type == "ints") @@ -235,7 +235,7 @@ bool hdf5_reduce_cdata_comment( // hdf5_reduce_data // ------------------------ -// Simplify PCDATA case. +// Simplify DATA case. template bool hdf5_reduce_data( const NODE &node, OBJECT &hdf5, const std::string &suffix @@ -243,13 +243,13 @@ bool hdf5_reduce_data( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + suffix; - // PCDATA + // DATA // TEXT the only metadatum // no children - // Reduce to: data set, w/name == PCDATA + suffix + // Reduce to: data set, w/name == DATA + suffix // Sketch: // +---------+ +---------+ - // | PCDATA | ==> | DataSet | name: PCDATA + suffix + // | DATA | ==> | DataSet | name: DATA + suffix // | TEXT | | data | // +---------+ +---------+ @@ -274,14 +274,14 @@ bool hdf5_reduce_data( // hdf5_reduce_data_metadata // ------------------------ -// Simplify case of node with PCDATA AND metadata +// Simplify case of node with DATA AND metadata template bool hdf5_reduce_data_metadata( const NODE &node, OBJECT &hdf5, const std::string &suffix ) { // name (think e.g. "values", as in XML ) // any number of metadata (possibly 0) - // PCDATA the only child + // DATA the only child // TEXT the only metadatum // no children // Reduce to: data set, w/name == name + suffix @@ -289,7 +289,7 @@ bool hdf5_reduce_data_metadata( // +---------------+ +----------------+ // | name | ==> | DataSet | name: name + suffix // | [metadata] | | [Attributes] | - // | PCDATA | | data | + // | DATA | | data | // | TEXT | +----------------+ // | - | // +---------------+ diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index 769cc513f..f61a86a8f 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -134,14 +134,14 @@ void meta2json_typed(const NODE &node, orderedJSON &json) continue; } - // *** PCDATA/TEXT + // *** DATA/TEXT // ACTION: Apply our type-guessing code, but write *vectors* only, never // scalars. So, 10 produces a vector with one element, // NOT a scalar; while 10 20 30 produces a vector with // three elements. What may look like scalars are made into vectors - // because we think this reflects what these (PCDATA) nodes are intended + // because we think this reflects what these (DATA) nodes are intended // to represent. (If something was really just a scalar, then surely it - // would be placed into standard metadata (in <...>), not into PCDATA. + // would be placed into standard metadata (in <...>), not into DATA. if (parent == special::data && key == special::text) { const std::string type = guessType(value); if (type == "int" || type == "ints") @@ -221,7 +221,7 @@ void meta2json( ) { // Create NODENAME iff necessary, to allow recovery of the node's original // name. Note that NODENAME is not necessary for special nodes, in particular - // CDATA, PCDATA, and COMMENT. For those, we can reliably reconstruct the + // CDATA, DATA, and COMMENT. For those, we can reliably reconstruct the // original name by removing trailing digits. A regular node, in contrast, // *might* have an actual name that has trailing digits (one user called a // node "sigma0", for example); or, trailing digits might have been added - @@ -296,7 +296,7 @@ bool json_reduce_cdata_comment( // json_reduce_data // ------------------------ -// Simplify PCDATA case. +// Simplify DATA case. template bool json_reduce_data( const NODE &node, orderedJSON &json, const std::string &digits @@ -304,13 +304,13 @@ bool json_reduce_data( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + digits; - // PCDATA + // DATA // TEXT the only metadatum // no children - // Reduce to: array, w/name == PCDATA + digits + // Reduce to: array, w/name == DATA + digits // Sketch: // +---------+ +----------+ - // | PCDATA | ==> | "name" : | name: PCDATA + digits + // | DATA | ==> | "name" : | name: DATA + digits // | TEXT | | [...] | // +---------+ +----------+ @@ -319,20 +319,20 @@ bool json_reduce_data( node.metadata.size() == 1 && node.metadata[0].first == special::text ) { - // Remark. This case (basically, PCDATA/TEXT) may look superficially + // Remark. This case (basically, DATA/TEXT) may look superficially // like it would have been handled, in the case immediately below here, // in the previous (next-up) recurse of the node2json() function. Often - // it would have, but not always. Later, name/PCDATA/TEXT (three + // it would have, but not always. Later, name/DATA/TEXT (three // levels, so to speak) reduces to one level (name : [...]), but - // only if name has ONE child - the PCDATA. That's true when we - // have (in XML) something like 1 2 3, as the pcdata, + // only if name has ONE child - the DATA. That's true when we + // have (in XML) something like 1 2 3, as the data, // i.e. the 1 2 3 part, is ' only child node. However, it's // actually possible (though I don't see it in current GNDS files) to // have something like: 1 2 3. There, the - // outer "name" node () has child foo and child PCDATA, and - // thus can't be reduced in the manner that's done if only PCDATA is + // outer "name" node () has child foo and child DATA, and + // thus can't be reduced in the manner that's done if only DATA is // there. In short, then, the present situation comes to pass if and - // when PCDATA has sibling nodes. + // when DATA has sibling nodes. // JSON array data2Value(nameSuffixed, node.metadata[0].second, json); @@ -347,7 +347,7 @@ bool json_reduce_data( // json_reduce_data_metadata // ------------------------ -// Simplify case of node with PCDATA AND metadata +// Simplify case of node with DATA AND metadata template bool json_reduce_data_metadata( const NODE &node, orderedJSON &json, const std::string &digits @@ -356,7 +356,7 @@ bool json_reduce_data_metadata( // name (think e.g. "values", as in XML ) // any number of metadata (possibly 0) - // PCDATA the only child + // DATA the only child // TEXT the only metadatum // no children // Reduce to: array, w/name == name + digits; separately encoded metadata @@ -364,7 +364,7 @@ bool json_reduce_data_metadata( // +---------------+ +---------------------+ // | name | ==> | "name" : | name: name + digits // | [metadata] | | [...] | - // | PCDATA | | "nameMETADATA" : { | + // | DATA | | "nameMETADATA" : { | // | TEXT | | key/value pairs | // | - | | } | // +---------------+ +---------------------+ diff --git a/src/GNDStk/convert/src/detail-xml2node.hpp b/src/GNDStk/convert/src/detail-xml2node.hpp index bd913ba51..2debe1f49 100644 --- a/src/GNDStk/convert/src/detail-xml2node.hpp +++ b/src/GNDStk/convert/src/detail-xml2node.hpp @@ -94,7 +94,7 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) } // ------------------------ - // cdata, pcdata, comment + // cdata, data, comment // ------------------------ // We'll store these in a special manner as children of the current node, @@ -104,7 +104,7 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) // there, and then writes an XML back out. GNDS has no ordering, so doing // this isn't necessary. It is, however, easy to handle, and users may // appreciate that GNDStk doesn't toss comments, or mess with the ordering - // of cdata, pcdata, or comment nodes, either individually or together. + // of cdata, data, or comment nodes, either individually or together. if (xsub.type() == pugi::node_cdata) { node.add(special::cdata).add(special::text, xsub.value()); diff --git a/standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.h b/standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.h index bd1a139c3..a913ab9e3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/ApplicationData.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ApplicationData is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.h b/standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.h index 5d2509387..c765f1047 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/Conversion.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Conversion is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.h b/standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.h index 023fa9d5e..ddc0be4d7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.h +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/ENDFconversionFlags.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ENDFconversionFlags is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/appData/Institution.h b/standards/gnds-2.0/test/c/src/v2.0/appData/Institution.h index a62576878..83d8dccfb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/appData/Institution.h +++ b/standards/gnds-2.0/test/c/src/v2.0/appData/Institution.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Institution is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.h index b2cbfcca1..f5b06168b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/CoherentPhotonScattering.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CoherentPhotonScattering is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.h index 551e5fd3c..106d099ce 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/FormFactor.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // FormFactor is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h index 671fc64c3..7af953421 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/ImaginaryAnomalousFactor.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ImaginaryAnomalousFactor is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.h index adc6126fd..e025224f0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/IncoherentPhotonScattering.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // IncoherentPhotonScattering is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.h index 36819e770..a9375b736 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/RealAnomalousFactor.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // RealAnomalousFactor is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.h b/standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.h index 2d1aaa1af..e7e837edc 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/atomic/ScatteringFactor.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ScatteringFactor is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Energy.h b/standards/gnds-2.0/test/c/src/v2.0/common/Energy.h index 1f0639a13..3d76c6bd0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Energy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Energy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Energy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h index 273a78e3e..d2f227716 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFile.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ExternalFile is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h index 0bc7366e7..eab762c94 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/ExternalFiles.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ExternalFiles is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Mass.h b/standards/gnds-2.0/test/c/src/v2.0/common/Mass.h index d0742796c..d0603d092 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Mass.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Mass.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Mass is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Probability.h b/standards/gnds-2.0/test/c/src/v2.0/common/Probability.h index 7615a8a4f..2f1fb21c4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Probability.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Probability.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Probability is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Product.h b/standards/gnds-2.0/test/c/src/v2.0/common/Product.h index 8e89994fb..469dfb168 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Product.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Product.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Product is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Products.h b/standards/gnds-2.0/test/c/src/v2.0/common/Products.h index 56eb51ee2..5d338c707 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Products.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Products.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Products is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Q.h b/standards/gnds-2.0/test/c/src/v2.0/common/Q.h index 735c81e72..bc31673a3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Q.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Q.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Q is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/common/Temperature.h b/standards/gnds-2.0/test/c/src/v2.0/common/Temperature.h index 6f3eea539..a2f96d87a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/common/Temperature.h +++ b/standards/gnds-2.0/test/c/src/v2.0/common/Temperature.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Temperature is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Array.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Array.h index 53d33d92b..3fdc3b68e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Array.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Array.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Array is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Axes.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Axes.h index 6da276525..10ab5d727 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Axes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Axes.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Axes is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Axis.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Axis.h index 361e8e58d..184740fb2 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Axis.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Axis.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Axis is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h index badafddb2..b651af361 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Cdf_in_xs_pdf_cdf1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Cdf_in_xs_pdf_cdf1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Column.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Column.h index fa263f6c1..ab08203ed 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Column.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Column.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Column is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.h b/standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.h index 14fd28fbc..3e166b945 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ColumnHeaders.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ColumnHeaders is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.h b/standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.h index 79f9e4cf0..3258ad1db 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ConfidenceIntervals.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ConfidenceIntervals is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.h index 46c73dedc..f6183f4bb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Constant1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Constant1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.h index 8d2e9d0d2..20a316149 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Covariance.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Covariance is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Data.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Data.h index 027cf42ba..bab9cc574 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Data.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Data.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Data is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Double.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Double.h index 2668b9a50..3e89d81c0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Double.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Double.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Double is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.h index a02a13d94..e2f31efdd 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Fraction.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Fraction is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.h index f1fa10d59..7ecd5f670 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function1ds.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Function1ds is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.h index b18290fc3..d01eac5aa 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function2ds.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Function2ds is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.h index bcf305169..3bb565573 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Function3ds.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Function3ds is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Grid.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Grid.h index 871bce55b..e5d794e56 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Grid.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Grid.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Grid is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.h index b4b3958fe..b6a21b4f1 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Gridded1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.h index d0ee6e74d..d3a971147 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded2d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Gridded2d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.h index 0b23a65da..fd11db4f1 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Gridded3d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Gridded3d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Integer.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Integer.h index 9702e3077..fa9859605 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Integer.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Integer.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Integer is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Interval.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Interval.h index 617709239..041d952f8 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Interval.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Interval.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Interval is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.h index b8b206d3a..ae670e5cb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Legendre.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Legendre is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Link.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Link.h index 10585c32f..f49a01ce1 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Link.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Link.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Link is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.h b/standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.h index d26a7a6e6..1c0527cee 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/ListOfCovariances.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ListOfCovariances is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h index 7ad0ce907..f0d818a6d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/LogNormal.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // LogNormal is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.h index c4fff26c1..f12d88606 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Pdf is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h index 67a8539c9..721e6fd6c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Pdf_in_xs_pdf_cdf1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Pdf_in_xs_pdf_cdf1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h index 5d098ba18..5703200ac 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Polynomial1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Polynomial1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h index bd1f10708..3e0eb62a6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Regions1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.h index c7727ef6c..959462485 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions2d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Regions2d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.h index bd4567ab2..20eb37d71 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Regions3d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Regions3d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h index 7a09fe11c..968ec10e6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Standard.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Standard is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/String.h b/standards/gnds-2.0/test/c/src/v2.0/containers/String.h index eb3685470..165d2a85e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/String.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/String.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // String is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Table.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Table.h index 2d56344bf..130179bee 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Table.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Table.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Table is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.h index 37fe69753..a65951810 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Uncertainty.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Uncertainty is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Values.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Values.h index fcdb28e56..7d34064c9 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Values.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Values.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Values is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h index cc1c70c5d..b83833fea 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // XYs1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.h index 7c65cf02e..44b6166a3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs2d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // XYs2d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.h index 2a313cafa..4aaa635c3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/XYs3d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // XYs3d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h index f08a390a9..ccc9f0b20 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_in_xs_pdf_cdf1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Xs_in_xs_pdf_cdf1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.h index 02859d285..85c4e27c4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Xs_pdf_cdf1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Xs_pdf_cdf1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.h b/standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.h index 0910763d2..6aca42314 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/containers/Ys1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Ys1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.h index 8ea6b44f6..dac724c0d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/AverageParameterCovariance.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AverageParameterCovariance is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.h index 52733e9d2..cf89633f3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnData.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ColumnData is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.h index ba3ee2120..0fc0dc2c8 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ColumnSensitivity.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ColumnSensitivity is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.h index 1110e15a4..ccdbefbad 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Covariance.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Covariance is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.h index fdb45788c..1e0634aac 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceMatrix.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CovarianceMatrix is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.h index 6a7eea951..3e31465d5 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSection.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CovarianceSection is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.h index cf4ec80e7..498008205 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSections.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CovarianceSections is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.h index 55cba6d7e..581423406 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/CovarianceSuite.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CovarianceSuite is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.h index 8fc934bae..5a45a6c1d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Mixed.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Mixed is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.h index 280fb8e45..a3233c07e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariance.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ParameterCovariance is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.h index 19d4ea062..47b7677ff 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovarianceMatrix.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ParameterCovarianceMatrix is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.h index 4ed5faa28..ad87dd56d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterCovariances.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ParameterCovariances is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.h index e11d750da..d48115287 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ParameterLink.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ParameterLink is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.h index db499e41f..c1d8bf517 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Parameters.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Parameters is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.h index da4c08b6c..717a89fbd 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowData.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // RowData is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.h index e821d1fd9..8cc4804f7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/RowSensitivity.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // RowSensitivity is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.h index a1d1604d4..af1964651 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/SandwichProduct.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // SandwichProduct is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h index 1bbc798bc..81c3da484 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/ShortRangeSelfScalingVariance.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ShortRangeSelfScalingVariance is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.h index a1749e1aa..6c0d1882f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slice.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Slice is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.h index 677dc4f18..f1f58d08c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Slices.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Slices is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.h index ad1169d75..7d9fed4ef 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Sum.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Sum is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.h b/standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.h index a0a746d34..820bd9f74 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.h +++ b/standards/gnds-2.0/test/c/src/v2.0/covariance/Summand.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Summand is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h index 4e69663c8..1a2cd69d7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/CoulombPlusNuclearElastic.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CoulombPlusNuclearElastic is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h index 08b8f62ec..db8797c1a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/ImaginaryInterferenceTerm.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ImaginaryInterferenceTerm is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h index 1c4904292..6ea368ab4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearAmplitudeExpansion.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // NuclearAmplitudeExpansion is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.h index 07a95a47a..74742863b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearPlusInterference.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // NuclearPlusInterference is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.h index f8599d4bb..79db6c882 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/NuclearTerm.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // NuclearTerm is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.h index aa93defa0..d1bf1780a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RealInterferenceTerm.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // RealInterferenceTerm is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.h b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.h index c02c84387..b8841deaa 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.h +++ b/standards/gnds-2.0/test/c/src/v2.0/cpTransport/RutherfordScattering.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // RutherfordScattering is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.h index bc8df5d81..c2f484f59 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Abstract.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Abstract is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h index e21408880..861de9e71 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgement.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Acknowledgement is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h index 1d3c422e7..e587aa4b1 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Acknowledgements.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Acknowledgements is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.h index a68a613c6..8fcdaea52 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliation.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Affiliation is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.h index 7dd427709..9aa296cb7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Affiliations.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Affiliations is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Author.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Author.h index 6b91ec5e4..4da369bfa 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Author.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Author.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Author is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.h index 4cb41106b..2554bb014 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Authors.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Authors is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.h index fe71b8ad5..adac4eab6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibitem.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Bibitem is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.h index 7394c145f..6349c35da 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Bibliography.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Bibliography is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Body.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Body.h index eefe0cdf2..81dd2ad48 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Body.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Body.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Body is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.h index 5cb57e93f..fbadca640 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CodeRepo.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CodeRepo is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.h index 338278568..9ba99d6d7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaboration.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Collaboration is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.h index 69ec8888a..8ce95d0f2 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Collaborations.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Collaborations is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.h index d4d768753..59ffcc050 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCode.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ComputerCode is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.h index c7ac6aec5..141883892 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ComputerCodes.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ComputerCodes is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.h index bdce8028f..499f9160a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributor.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Contributor is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.h index a95e7ffd2..bcba97e16 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Contributors.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Contributors is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.h index afe598375..0e4b301f1 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Copyright.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Copyright is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.h index 2b490792e..7975ab153 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CorrectionScript.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CorrectionScript is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.h index 66f164a9d..8055961cd 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/CovarianceScript.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CovarianceScript is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Date.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Date.h index e1892e242..69075ebf6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Date.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Date.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Date is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.h index e6fc5d0d6..d261681e5 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Dates.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Dates is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.h index a33f863bd..6d960ce11 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Documentation.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Documentation is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.h index abdace5a6..1ceb25ada 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/EndfCompatible.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // EndfCompatible is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.h index 998d637f2..41c698a12 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExecutionArguments.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ExecutionArguments is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.h index 2ac308273..cb788c36b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSet.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ExforDataSet is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.h index 3fac61018..dfcd6951b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExforDataSets.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ExforDataSets is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.h index 55c4b2bb5..d7498f164 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/ExperimentalDataSets.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ExperimentalDataSets is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.h index a1a95da50..286538f4a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDeck.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // InputDeck is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.h index 9def3c3d5..dad23006d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/InputDecks.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // InputDecks is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.h index 060f97227..1faa7c29b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keyword.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Keyword is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.h index 031accaea..411c53519 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Keywords.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Keywords is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Note.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Note.h index 9fa8851d5..afd7eff07 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Note.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Note.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Note is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.h index c4acea82f..d50eac54f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDeck.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // OutputDeck is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.h index 22a879543..1d3070088 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/OutputDecks.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // OutputDecks is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.h index e4900cd66..e04d055bc 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItem.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // RelatedItem is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.h index 262e5e6fe..ac37d7006 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/RelatedItems.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // RelatedItems is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Title.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Title.h index a6fc386bb..b2a13a3e5 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Title.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Title.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Title is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/documentation/Version.h b/standards/gnds-2.0/test/c/src/v2.0/documentation/Version.h index 3e3b350c5..c86393472 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/documentation/Version.h +++ b/standards/gnds-2.0/test/c/src/v2.0/documentation/Version.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Version is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/extra/Double.h b/standards/gnds-2.0/test/c/src/v2.0/extra/Double.h index c4a88d48f..bee1011a4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/extra/Double.h +++ b/standards/gnds-2.0/test/c/src/v2.0/extra/Double.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Double is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.h b/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.h index 6abeda0e8..9340814ca 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.h +++ b/standards/gnds-2.0/test/c/src/v2.0/extra/Uncertainty.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Uncertainty is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.h b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.h index d4c7d1edc..eaca99cc5 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutron.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DelayedNeutron is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h index 04b9a531a..11fd9bf63 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/DelayedNeutrons.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DelayedNeutrons is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.h b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.h index bcefd8064..d48af555d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/FissionFragmentData.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // FissionFragmentData is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.h b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.h index 13d71a283..1c7269d8e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionFragmentData/Rate.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Rate is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.h index 739147d35..269162a5b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/A.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // A is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.h index fcfc29840..60c99701d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/B.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // B is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h index b9bd6ae45..6f9c93616 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedBetaEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DelayedBetaEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h index 50e793b81..fe89b760d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedGammaEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DelayedGammaEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.h index a6e49fe73..045516f57 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/DelayedNeutronKE.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DelayedNeutronKE is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.h index c254554cc..68c957d73 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFH.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // EFH is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.h index 92edbfd13..7edb7cf29 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/EFL.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // EFL is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.h index d696ea2ca..ca9317600 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponent.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // FissionComponent is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.h index 5727189eb..47e817be5 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionComponents.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // FissionComponents is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.h index cee7295ba..6c2805c0d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/FissionEnergyReleased.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // FissionEnergyReleased is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.h index 858be8b29..97e28f8f9 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/MadlandNix.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MadlandNix is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.h index 1fed7d346..bd2ca508a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NeutrinoEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // NeutrinoEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h index b1e55a8a3..51a4a3cf9 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/NonNeutrinoEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // NonNeutrinoEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.h index 72b0e7def..e6ffdd767 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptGammaEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PromptGammaEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.h index 9a3d313ca..d6f70f247 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptNeutronKE.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PromptNeutronKE is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.h index efc9a8ba9..366eaec1f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/PromptProductKE.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PromptProductKE is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h index bf7a76dca..ad6f624cd 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/SimpleMaxwellianFission.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // SimpleMaxwellianFission is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.h index 8bb7aa89e..46f905d82 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/T_M.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // T_M is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.h index 77d11272a..f7ae2dabf 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/TotalEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // TotalEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.h b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.h index 2038bac12..e4ff7ebf4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fissionTransport/Watt.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Watt is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.h index accba7dd0..3bb626572 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTime.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ElapsedTime is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.h index fab6a35a9..727fc02c0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ElapsedTimes.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ElapsedTimes is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.h index 50f371318..4efffb21a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Energy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Energy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.h index 47d77d27a..c188f6dd7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergies.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // IncidentEnergies is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.h index 1bf8911a7..ff0064cea 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/IncidentEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // IncidentEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.h index c51fbec2c..d459fa328 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Nuclides.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Nuclides is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.h index a970985c1..6e4837f75 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYield.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ProductYield is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.h index 6f7161044..2a0676e80 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/ProductYields.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ProductYields is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/Time.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/Time.h index 6ec56ff29..48cd6113a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/Time.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Time.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Time is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.h b/standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.h index e75a94d00..b324a934e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.h +++ b/standards/gnds-2.0/test/c/src/v2.0/fpy/Yields.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Yields is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Import.h b/standards/gnds-2.0/test/c/src/v2.0/map/Import.h index 3d30aac37..d89c69ddc 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Import.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Import.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Import is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Map.h b/standards/gnds-2.0/test/c/src/v2.0/map/Map.h index 3f9da8194..3c1a25694 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Map.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Map.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Map is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h index f75137809..b7e09f471 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/Protare.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Protare is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h index d5cea66eb..82deff0a6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h +++ b/standards/gnds-2.0/test/c/src/v2.0/map/TNSL.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // TNSL is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Alias.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Alias.h index 712e24deb..e31e2bae3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Alias.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Alias.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Alias is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.h index 579cd079a..d1a391a34 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Aliases.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Aliases is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.h index 33057d338..144084524 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Atomic.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Atomic is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.h b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.h index 2a5282e45..6e5632bcd 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergies.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AverageEnergies is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.h index ecf7be5d9..827fe2499 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/AverageEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AverageEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.h index 33cfd6418..5506ac330 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryon.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Baryon is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.h index 8ab1b201e..0bb39515b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Baryons.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Baryons is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.h index 11e25cb2c..ea1a65727 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/BindingEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // BindingEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Charge.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Charge.h index 767a0e013..94cd4436f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Charge.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Charge.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Charge is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.h b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.h index 8023ee2aa..ad210425b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElement.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ChemicalElement is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.h b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.h index e3ac27419..a02903604 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ChemicalElements.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ChemicalElements is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.h b/standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.h index a0e9be81f..651814f54 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/ConfidenceIntervals.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ConfidenceIntervals is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.h index 2faa9c36b..f3174ce97 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Configuration.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Configuration is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.h index c5b1e8cd5..720c76e3a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Configurations.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Configurations is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.h index 0f8a1beb4..10130d660 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Continuum.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Continuum is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Decay.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Decay.h index 12fbd1984..ad304777f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Decay.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Decay.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Decay is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.h index 6ab51c570..ec2c33c58 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayData.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DecayData is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.h index 9be3cbb59..0d22c52eb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayMode.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DecayMode is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.h index c232b915a..9414cb263 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayModes.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DecayModes is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.h index 23232365b..233d56c5f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DecayPath.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DecayPath is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.h index d4245f092..724cf5c8d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Discrete.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Discrete is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.h index 583315a7d..56556c8a4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/DiscreteEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DiscreteEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Energy.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Energy.h index e638fde59..01635ff5a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Energy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Energy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Energy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.h b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.h index 3f156bb22..c8dead265 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBoson.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // GaugeBoson is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.h b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.h index 3bf9cb9fd..f44d9f3f4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/GaugeBosons.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // GaugeBosons is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.h index c09c66da1..b85ee2fd3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Halflife.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Halflife is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.h index b7808e5b4..44b8b6462 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Intensity.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Intensity is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.h b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.h index 63b499c88..94d4ce9d4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalConversionCoefficients.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // InternalConversionCoefficients is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.h b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.h index f72ece1cb..f840df1eb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/InternalPairFormationCoefficient.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // InternalPairFormationCoefficient is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Interval.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Interval.h index 892087acd..e8930afed 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Interval.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Interval.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Interval is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.h index fc7436fcc..9b1119dfe 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotope.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Isotope is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.h index 5706ec170..8b261dd86 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Isotopes.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Isotopes is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.h index eaa06098d..bbd8a7242 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Lepton.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Lepton is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.h index a6a1747bd..ebf906b6a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Leptons.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Leptons is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h index 0c819025e..4af234fa6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/LogNormal.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // LogNormal is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Mass.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Mass.h index 2481f1f91..74ee48d1d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Mass.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Mass.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Mass is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.h b/standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.h index c6d61cafd..8617824af 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/MetaStable.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MetaStable is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.h index 811573a0c..9989ab835 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nucleus.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Nucleus is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.h index 48b5fb2be..d74925972 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclide.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Nuclide is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.h index 4e32d3b06..78480bd28 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Nuclides.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Nuclides is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Parity.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Parity.h index e3181e602..66ec299e9 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Parity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Parity.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Parity is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.h index 4b0c9d046..a52426101 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Pdf.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Pdf is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.h b/standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.h index 8c3766607..2b3f37d71 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PhotonEmissionProbabilities.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PhotonEmissionProbabilities is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.h b/standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.h index 8054db1ff..aad47e8fb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PoPs_database.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PoPs_database is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.h b/standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.h index 28dc4ddb5..162a8d145 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/PositronEmissionIntensity.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PositronEmissionIntensity is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Probability.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Probability.h index 3ce49d2c5..4b09d3418 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Probability.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Probability.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Probability is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Product.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Product.h index 59fd11039..852413d13 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Product.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Product.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Product is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Products.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Products.h index 34a6b6e88..fda0bebfe 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Products.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Products.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Products is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Q.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Q.h index 9dc487943..376166cdb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Q.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Q.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Q is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Shell.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Shell.h index 6843479dc..4b80aac4e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Shell.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Shell.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Shell is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.h index 442f70c9f..0527bb1e6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectra.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Spectra is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.h index 0e69c7b0a..e5e63e93b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spectrum.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Spectrum is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Spin.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Spin.h index f94c5f097..45b6053f0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Spin.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Spin.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Spin is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h index 3c3834ddc..9e1137040 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Standard.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Standard is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.h index f58e35fcb..569af1823 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Uncertainty.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Uncertainty is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.h index c5aaa4a31..63ca6cfd3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodox.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Unorthodox is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.h b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.h index cc0861436..1a9ba0e5f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.h +++ b/standards/gnds-2.0/test/c/src/v2.0/pops/Unorthodoxes.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Unorthodoxes is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.h index 0dfae0440..2532ec55c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AngularEnergyMC.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AngularEnergyMC is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.h index f227476a7..d6a481c94 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AvailableEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.h index 5c26f38b6..fed6ecfc5 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AvailableMomentum.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AvailableMomentum is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.h index 54c970bee..9aba14551 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AverageProductEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.h b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.h index 42956264c..772c87d19 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/AverageProductMomentum.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AverageProductMomentum is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.h b/standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.h index 174ebc328..314636c2e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/EnergyAngularMC.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // EnergyAngularMC is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.h b/standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.h index e7a798cd8..e865579c9 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/processed/MultiGroup3d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MultiGroup3d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.h index af86755bf..59752eb39 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/BreitWigner.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // BreitWigner is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.h index bb796b30e..8c22db512 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channel.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Channel is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.h index 8c156bba9..121d8534c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Channels.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Channels is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.h index b6aa8f001..b2460e54a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyInterval.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // EnergyInterval is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.h index 8b0a5fb1e..dfb578271 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/EnergyIntervals.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // EnergyIntervals is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.h index ad59f20ba..d4b661531 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ExternalRMatrix.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ExternalRMatrix is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.h index 0049f980b..bdd1a3afb 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/HardSphereRadius.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // HardSphereRadius is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/J.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/J.h index 310cecd7c..dad6f3b5f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/J.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/J.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // J is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Js.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Js.h index f14598d0e..0ceecfd85 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Js.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Js.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Js is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/L.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/L.h index 4d6bbbda4..e65c94d51 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/L.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/L.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // L is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.h index 01538d871..29c41aba1 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/LevelSpacing.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // LevelSpacing is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.h index a13828961..183104903 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Ls.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Ls is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.h index 83065ed40..69fda0b0f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/RMatrix.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // RMatrix is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.h index 4b3939a64..28abf76c0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resolved.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Resolved is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.h index 5e4030132..fb0189083 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceParameters.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ResonanceParameters is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.h index a567db9d9..d9899e916 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReaction.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ResonanceReaction is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.h index ef65f63d5..245029234 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ResonanceReactions.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ResonanceReactions is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.h index 5eb96a91d..9e5586ca1 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Resonances.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Resonances is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.h index 2f00b283a..91fd2abc1 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/ScatteringRadius.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ScatteringRadius is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.h index 7fe588915..95d4ee3c8 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroup.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // SpinGroup is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.h index 54ebb524a..328314220 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/SpinGroups.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // SpinGroups is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.h index b0083f438..7f2381252 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/TabulatedWidths.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // TabulatedWidths is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.h index 6e73b9a33..ba8757476 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Unresolved.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Unresolved is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Width.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Width.h index ecc4404c4..3f341929a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Width.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Width.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Width is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.h b/standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.h index ad471525e..04370c833 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.h +++ b/standards/gnds-2.0/test/c/src/v2.0/resonances/Widths.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Widths is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.h b/standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.h index d42101c24..02d168fa6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/AngularDistributionReconstructed.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AngularDistributionReconstructed is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.h b/standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.h index 3eac2c09f..4d6df19e4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/AverageProductData.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AverageProductData is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.h index 512511682..62aac9213 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Bondarenko.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Bondarenko is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h b/standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h index 5d772d8c3..dee3b3592 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CoulombPlusNuclearElasticMuCutoff is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.h b/standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.h index c3e5e084f..002ec025b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/CrossSectionReconstructed.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CrossSectionReconstructed is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.h b/standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.h index 4607a1660..8c1e21346 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/EqualProbableBins.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // EqualProbableBins is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.h index c22c6906f..e734b9dc0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Evaluated.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Evaluated is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Flux.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Flux.h index f1783b297..2266b1c16 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Flux.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Flux.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Flux is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.h index f09a23afa..11c35e51a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/GriddedCrossSection.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // GriddedCrossSection is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Heated.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Heated.h index 7177213c0..c42947d18 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Heated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Heated.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Heated is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.h b/standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.h index 53b8ed744..63135e86b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/HeatedMultiGroup.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // HeatedMultiGroup is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.h b/standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.h index 9c171d4be..c132b2b4a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/InverseSpeed.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // InverseSpeed is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.h b/standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.h index d071db519..aee7fe768 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MonteCarlo_cdf.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MonteCarlo_cdf is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.h b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.h index 3dbc1116a..8cff15ac0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiBand.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MultiBand is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.h b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.h index b84d2b17d..8087d6732 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/MultiGroup.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MultiGroup is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.h b/standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.h index fa50afae3..de6993031 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/ProjectileEnergyDomain.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ProjectileEnergyDomain is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Realization.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Realization.h index 6beb4eceb..a55d9da0f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Realization.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Realization.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Realization is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.h b/standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.h index ead6ab0a2..8f9786950 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/SigmaZeros.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // SigmaZeros is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.h b/standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.h index 0e183ab63..83b897045 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/SnElasticUpScatter.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // SnElasticUpScatter is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Styles.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Styles.h index 60c96bdee..b72f9158c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Styles.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Styles.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Styles is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.h index 7f73e92ce..31a51b028 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Temperature.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Temperature is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.h index ca37aebc1..41c8fcd67 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportable.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Transportable is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.h b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.h index 390b4f300..d332537f2 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/Transportables.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Transportables is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.h b/standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.h index 00ef40468..bdd886183 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.h +++ b/standards/gnds-2.0/test/c/src/v2.0/styles/URR_probabilityTables.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // URR_probabilityTables is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/A.h b/standards/gnds-2.0/test/c/src/v2.0/transport/A.h index ce31f9b64..384b985ef 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/A.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/A.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // A is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Add.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Add.h index d984c2ae9..489721961 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Add.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Add.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Add is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.h index ff4b0c658..c65141504 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AngularEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.h b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.h index 2b67c49bd..8d44f4425 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/AngularTwoBody.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // AngularTwoBody is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.h index 48d9efb5d..c94989cb9 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Angular_uncorrelated.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Angular_uncorrelated is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Background.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Background.h index a8d9b94e0..9c1ca41c5 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Background.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Background.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Background is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.h index e65ec3239..9f05b0b70 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Branching1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.h index 674ef1511..4818d7c55 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Branching3d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Branching3d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.h index 8686637b8..bd0c05290 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CoherentPhoton.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CoherentPhoton is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h index fa64cdece..6e47d662f 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSection.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CrossSection is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.h index f44b0294d..0da45bca3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSum.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CrossSectionSum is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.h b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.h index fdc2e1b02..7c70c3aae 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/CrossSectionSums.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CrossSectionSums is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.h b/standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.h index 6f702c9e0..f5d9776d0 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/DiscreteGamma.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DiscreteGamma is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h index 37839af8b..31d03a763 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Distribution.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Distribution is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.h index 8d0ae70ce..fa53cff01 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/DoubleDifferentialCrossSection.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DoubleDifferentialCrossSection is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.h b/standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.h index 02fc8dc61..09dfccc92 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/EnergyAngular.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // EnergyAngular is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.h index 3633a60a4..320f20aac 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Energy_uncorrelated.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Energy_uncorrelated is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.h index 7f89fd599..8d8eb76c6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Evaporation.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Evaporation is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/F.h b/standards/gnds-2.0/test/c/src/v2.0/transport/F.h index fa2f00304..8caf5d5ac 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/F.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/F.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // F is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.h b/standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.h index 2d2043cdb..1f99e23b2 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/FastRegion.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // FastRegion is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Forward.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Forward.h index 8373f852b..b699e2d33 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Forward.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Forward.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Forward is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/G.h b/standards/gnds-2.0/test/c/src/v2.0/transport/G.h index 6dc78a756..608c76f88 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/G.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/G.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // G is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.h b/standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.h index 3a5ba6a67..ccfdc307b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/GeneralEvaporation.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // GeneralEvaporation is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.h b/standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.h index 2abcab9ed..95a51ba4a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/IncoherentPhoton.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // IncoherentPhoton is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.h b/standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.h index 9661f37f3..1fd9f0789 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/IncompleteReactions.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // IncompleteReactions is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.h index f591221bc..f488d6ef9 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Isotropic2d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Isotropic2d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.h b/standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.h index 5cf1141cd..73d2fbec3 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/KalbachMann.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // KalbachMann is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.h index ff23ff3a0..16ad5a20e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiGroup3d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MultiGroup3d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.h index df9c87f23..b8eed7717 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Multiplicity.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Multiplicity is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.h b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.h index 9c7fd19cc..8a7c0b382 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySum.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MultiplicitySum is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.h b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.h index c9cf8004a..f5ce0933a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/MultiplicitySums.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // MultiplicitySums is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.h b/standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.h index c4cebe293..5278ad7c6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/NBodyPhaseSpace.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // NBodyPhaseSpace is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.h b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.h index a394d0d28..8ebd85f79 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProduct.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // OrphanProduct is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.h b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.h index ecc0a249c..f9af409ee 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OrphanProducts.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // OrphanProducts is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.h b/standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.h index fcec3c9c7..e9150e30b 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/OutputChannel.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // OutputChannel is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.h b/standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.h index d1c0699c6..f6ef916f8 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/PhotonEmissionProbabilities.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PhotonEmissionProbabilities is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.h b/standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.h index 96026feb4..780f81d53 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/PrimaryGamma.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PrimaryGamma is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Production.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Production.h index 131ef7cae..445cccecf 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Production.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Production.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Production is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Productions.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Productions.h index fde8dd6e5..b0ff78593 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Productions.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Productions.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Productions is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/R.h b/standards/gnds-2.0/test/c/src/v2.0/transport/R.h index 19b0c05c6..82ccb6bc2 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/R.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/R.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // R is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.h index 51ec0f6d1..2fafae3e2 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reaction.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Reaction is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.h b/standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.h index af498f0cc..5be685f72 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ReactionSuite.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ReactionSuite is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.h index 08b3f1668..62bb21516 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reactions.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Reactions is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.h index 748ffc842..8af981d01 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Recoil.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Recoil is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Reference.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Reference.h index ddc387a12..750ddbcfc 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Reference.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Reference.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Reference is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.h b/standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.h index 1fc989342..f4040bead 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResolvedRegion.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ResolvedRegion is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.h b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.h index f91415c75..e07b8c9f7 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesLink.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ResonancesLink is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.h b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.h index b60f0cb20..bddc85bed 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/ResonancesWithBackground.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ResonancesWithBackground is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Summands.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Summands.h index 1094dde74..cf4fc5905 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Summands.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Summands.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Summands is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Sums.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Sums.h index 9cd505283..d5dbdee15 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Sums.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Sums.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Sums is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Theta.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Theta.h index 988f1e49b..ad8b17c42 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Theta.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Theta.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Theta is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/U.h b/standards/gnds-2.0/test/c/src/v2.0/transport/U.h index 0bebcdebb..ace4bdf45 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/U.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/U.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // U is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.h b/standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.h index c948f4a18..ce569c728 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/URR_probabilityTables1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // URR_probabilityTables1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.h index bbd9ae5bf..ae040518e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Uncorrelated.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Uncorrelated is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.h b/standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.h index d5c5d7fdd..a42b1ba18 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/UnresolvedRegion.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // UnresolvedRegion is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.h index 2f2fa72de..1d7861a07 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Unspecified.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Unspecified is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.h b/standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.h index d01757753..448bb66b8 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/Weighted.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Weighted is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.h b/standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.h index 6f0c32990..9a2c61bb4 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.h +++ b/standards/gnds-2.0/test/c/src/v2.0/transport/WeightedFunctionals.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // WeightedFunctionals is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.h index ea09358a7..f4ca69abe 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BoundAtomCrossSection.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // BoundAtomCrossSection is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.h index 945ac70e0..60781fef8 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdge.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // BraggEdge is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.h index c0b7d3da0..e68ae7d28 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEdges.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // BraggEdges is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.h index ec1a71f34..2d2a1d6ce 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/BraggEnergy.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // BraggEnergy is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.h index 90f7559df..60bcf369e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/CoherentAtomCrossSection.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // CoherentAtomCrossSection is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.h index a6102b2d9..13ec9e249 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/DebyeWallerIntegral.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DebyeWallerIntegral is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.h index 02f92a974..37c7332f9 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/DistinctScatteringKernel.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // DistinctScatteringKernel is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.h index 4d5e9b8d7..358c70002 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_critical.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // E_critical is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.h index d83bddb88..865bb9f28 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/E_max.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // E_max is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.h index 3e445c025..df4faafee 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/FreeGasApproximation.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // FreeGasApproximation is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.h index 5f4ee9eea..189fca160 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/GaussianApproximation.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // GaussianApproximation is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.h index 301c32932..184873385 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/Mass.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // Mass is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.h index 1386f8a93..e33b41449 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/PhononSpectrum.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // PhononSpectrum is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.h index 128020e3b..30701d4dc 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/SCTApproximation.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // SCTApproximation is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.h index 7bcb0db4d..a66d11cdd 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/S_table.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // S_table is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.h index ee4fc8a4e..5a98272a5 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtom.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ScatteringAtom is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.h index 3f801362e..c5e8e313d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ScatteringAtoms.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ScatteringAtoms is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.h index a21f21327..c3273882a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/SelfScatteringKernel.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // SelfScatteringKernel is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.h index f2108d008..85f4f906c 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/StructureFactor.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // StructureFactor is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.h index c71c6612b..dcaefbc56 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/T_effective.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // T_effective is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h index 102681b72..ceebc7da6 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ThermalNeutronScatteringLaw is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h index 6c8876763..2cea7cd4e 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw1d.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ThermalNeutronScatteringLaw1d is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h index 64f421c4f..637e693ee 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_coherentElastic.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ThermalNeutronScatteringLaw_coherentElastic is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h index a56a14aa6..40c8bf05a 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentElastic.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ThermalNeutronScatteringLaw_incoherentElastic is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h index e7aa9a649..fe9c8337d 100644 --- a/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h +++ b/standards/gnds-2.0/test/c/src/v2.0/tsl/ThermalNeutronScatteringLaw_incoherentInelastic.h @@ -11,9 +11,9 @@ // Instructions for Users // // Constructs you're MORE likely to care about are preceded with: -// // +++ comment +// // +++ remark // Constructs you're LESS likely to care about are preceded with: -// // --- comment +// // --- remark // Anything not marked as above can be ignored by most users. // // ThermalNeutronScatteringLaw_incoherentInelastic is the basic handle type in this file. Example: diff --git a/standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData.hpp index 7ba130c89..5fa015c40 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/appData/ApplicationData.hpp @@ -33,8 +33,7 @@ class ApplicationData : public Component { { return // children - std::optional{} - / --Child<>("institution") + --Child>("institution") ; } @@ -51,9 +50,16 @@ class ApplicationData : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->institution) - // default, and from fields + // default + ApplicationData() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ApplicationData( - const wrapper> &institution = {} + const wrapper> &institution ) : GNDSTK_COMPONENT(BlockData{}), institution(this,institution) @@ -70,17 +76,17 @@ class ApplicationData : public Component { // copy ApplicationData(const ApplicationData &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + institution(this,other.institution) { - *this = other; Component::finish(other); } // move ApplicationData(ApplicationData &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + institution(this,std::move(other.institution)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/appData/Conversion.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/Conversion.hpp index ce0d1a1c3..311939085 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/appData/Conversion.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/appData/Conversion.hpp @@ -55,9 +55,16 @@ class Conversion : public Component { this->flags, \ this->href) - // default, and from fields + // default + Conversion() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Conversion( - const wrapper> &flags = {}, + const wrapper> &flags, const wrapper> &href = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Conversion : public Component { // copy Conversion(const Conversion &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + flags(this,other.flags), + href(this,other.href) { - *this = other; Component::finish(other); } // move Conversion(Conversion &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + flags(this,std::move(other.flags)), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags.hpp index 917a6fc6f..0780f00f0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/appData/ENDFconversionFlags.hpp @@ -33,8 +33,7 @@ class ENDFconversionFlags : public Component { { return // children - std::optional{} - / --Child<>("conversion") + --Child>("conversion") ; } @@ -51,9 +50,16 @@ class ENDFconversionFlags : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->conversion) - // default, and from fields + // default + ENDFconversionFlags() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ENDFconversionFlags( - const wrapper> &conversion = {} + const wrapper> &conversion ) : GNDSTK_COMPONENT(BlockData{}), conversion(this,conversion) @@ -70,17 +76,17 @@ class ENDFconversionFlags : public Component { // copy ENDFconversionFlags(const ENDFconversionFlags &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + conversion(this,other.conversion) { - *this = other; Component::finish(other); } // move ENDFconversionFlags(ENDFconversionFlags &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + conversion(this,std::move(other.conversion)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/appData/Institution.hpp b/standards/gnds-2.0/test/src/test/v2.0/appData/Institution.hpp index 2e98f4730..df3387d50 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/appData/Institution.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/appData/Institution.hpp @@ -36,8 +36,7 @@ class Institution : public Component { std::optional{} / Meta<>("label") | // children - std::optional{} - / --Child<>("ENDFconversionFlags") + --Child>("ENDFconversionFlags") ; } @@ -58,9 +57,16 @@ class Institution : public Component { this->label, \ this->ENDFconversionFlags) - // default, and from fields + // default + Institution() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Institution( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &ENDFconversionFlags = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class Institution : public Component { // copy Institution(const Institution &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + ENDFconversionFlags(this,other.ENDFconversionFlags) { - *this = other; Component::finish(other); } // move Institution(Institution &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + ENDFconversionFlags(this,std::move(other.ENDFconversionFlags)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/atomic/CoherentPhotonScattering.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/CoherentPhotonScattering.hpp index 726cd2cbe..7fdc0eb7b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/atomic/CoherentPhotonScattering.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/atomic/CoherentPhotonScattering.hpp @@ -44,12 +44,9 @@ class CoherentPhotonScattering : public Component("productFrame") | // children - std::optional{} - / --Child<>("formFactor") | - std::optional{} - / --Child<>("realAnomalousFactor") | - std::optional{} - / --Child<>("imaginaryAnomalousFactor") + --Child>("formFactor") | + --Child>("realAnomalousFactor") | + --Child>("imaginaryAnomalousFactor") ; } @@ -80,9 +77,16 @@ class CoherentPhotonScattering : public ComponentrealAnomalousFactor, \ this->imaginaryAnomalousFactor) - // default, and from fields + // default + CoherentPhotonScattering() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CoherentPhotonScattering( - const wrapper> &href = {}, + const wrapper> &href, const wrapper> &label = {}, const wrapper> &pid = {}, const wrapper &productFrame = {}, @@ -111,17 +115,29 @@ class CoherentPhotonScattering : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -56,9 +54,16 @@ class FormFactor : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + FormFactor() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit FormFactor( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class FormFactor : public Component { // copy FormFactor(const FormFactor &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move FormFactor(FormFactor &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/atomic/ImaginaryAnomalousFactor.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/ImaginaryAnomalousFactor.hpp index 885716c41..247e2a78d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/atomic/ImaginaryAnomalousFactor.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/atomic/ImaginaryAnomalousFactor.hpp @@ -34,10 +34,8 @@ class ImaginaryAnomalousFactor : public Component{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -56,9 +54,16 @@ class ImaginaryAnomalousFactor : public ComponentXYs1d, \ this->regions1d) - // default, and from fields + // default + ImaginaryAnomalousFactor() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ImaginaryAnomalousFactor( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class ImaginaryAnomalousFactor : public Component("productFrame") | // children - std::optional{} - / --Child<>("scatteringFactor") + --Child>("scatteringFactor") ; } @@ -70,9 +69,16 @@ class IncoherentPhotonScattering : public ComponentproductFrame, \ this->scatteringFactor) - // default, and from fields + // default + IncoherentPhotonScattering() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit IncoherentPhotonScattering( - const wrapper> &href = {}, + const wrapper> &href, const wrapper> &label = {}, const wrapper> &pid = {}, const wrapper &productFrame = {}, @@ -97,17 +103,25 @@ class IncoherentPhotonScattering : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -56,9 +54,16 @@ class RealAnomalousFactor : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + RealAnomalousFactor() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit RealAnomalousFactor( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class RealAnomalousFactor : public Component { // copy RealAnomalousFactor(const RealAnomalousFactor &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move RealAnomalousFactor(RealAnomalousFactor &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor.hpp b/standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor.hpp index 9649fb0c6..94cf345e7 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/atomic/ScatteringFactor.hpp @@ -34,10 +34,8 @@ class ScatteringFactor : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -56,9 +54,16 @@ class ScatteringFactor : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + ScatteringFactor() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ScatteringFactor( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class ScatteringFactor : public Component { // copy ScatteringFactor(const ScatteringFactor &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move ScatteringFactor(ScatteringFactor &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/Energy.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Energy.hpp index f477707b8..06c8c8ec5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/Energy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Energy.hpp @@ -42,12 +42,9 @@ class Energy : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | - containers::Double{} - / ++Child<>("Double") + --Child>("documentation") | + --Child>("uncertainty") | + ++Child("double") ; } @@ -76,9 +73,16 @@ class Energy : public Component { this->uncertainty, \ this->Double) - // default, and from fields + // default + Energy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Energy( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -105,17 +109,27 @@ class Energy : public Component { // copy Energy(const Energy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Energy(Energy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp index a3cd5b05a..12ede071c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFile.hpp @@ -63,9 +63,16 @@ class ExternalFile : public Component { this->checksum, \ this->algorithm) - // default, and from fields + // default + ExternalFile() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ExternalFile( - const wrapper &label = {}, + const wrapper &label, const wrapper &path = {}, const wrapper> &checksum = {}, const wrapper> &algorithm = {} @@ -88,17 +95,23 @@ class ExternalFile : public Component { // copy ExternalFile(const ExternalFile &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + path(this,other.path), + checksum(this,other.checksum), + algorithm(this,other.algorithm) { - *this = other; Component::finish(other); } // move ExternalFile(ExternalFile &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + path(this,std::move(other.path)), + checksum(this,std::move(other.checksum)), + algorithm(this,std::move(other.algorithm)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles.hpp index c16cc6c76..6361a1c2d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/ExternalFiles.hpp @@ -33,8 +33,7 @@ class ExternalFiles : public Component { { return // children - common::ExternalFile{} - / ++Child<>("externalFile") + ++Child("externalFile") ; } @@ -51,9 +50,16 @@ class ExternalFiles : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->externalFile) - // default, and from fields + // default + ExternalFiles() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ExternalFiles( - const wrapper> &externalFile = {} + const wrapper> &externalFile ) : GNDSTK_COMPONENT(BlockData{}), externalFile(this,externalFile) @@ -70,17 +76,17 @@ class ExternalFiles : public Component { // copy ExternalFiles(const ExternalFiles &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + externalFile(this,other.externalFile) { - *this = other; Component::finish(other); } // move ExternalFiles(ExternalFiles &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + externalFile(this,std::move(other.externalFile)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/Mass.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Mass.hpp index 83cd8187f..d75d7eae3 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/Mass.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Mass.hpp @@ -42,12 +42,9 @@ class Mass : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | - containers::Double{} - / ++Child<>("Double") + --Child>("documentation") | + --Child>("uncertainty") | + ++Child("double") ; } @@ -76,9 +73,16 @@ class Mass : public Component { this->uncertainty, \ this->Double) - // default, and from fields + // default + Mass() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Mass( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -105,17 +109,27 @@ class Mass : public Component { // copy Mass(const Mass &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Mass(Mass &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/Probability.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Probability.hpp index df93ec17f..d03df716a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/Probability.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Probability.hpp @@ -33,8 +33,7 @@ class Probability : public Component { { return // children - std::optional{} - / --Child<>("Double") + --Child>("double") ; } @@ -51,9 +50,16 @@ class Probability : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + Probability() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Probability( - const wrapper> &Double = {} + const wrapper> &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) @@ -70,17 +76,17 @@ class Probability : public Component { // copy Probability(const Probability &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Probability(Probability &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp index e4c22b50c..56fc02238 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Product.hpp @@ -39,10 +39,8 @@ class Product : public Component { XMLName{} / Meta<>("pid") | // children - transport::Multiplicity{} - / --Child<>("multiplicity") | - transport::Distribution{} - / --Child<>("distribution") + --Child("multiplicity") | + --Child("distribution") ; } @@ -67,9 +65,16 @@ class Product : public Component { this->multiplicity, \ this->distribution) - // default, and from fields + // default + Product() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Product( - const wrapper &label = {}, + const wrapper &label, const wrapper &pid = {}, const wrapper &multiplicity = {}, const wrapper &distribution = {} @@ -92,17 +97,23 @@ class Product : public Component { // copy Product(const Product &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + pid(this,other.pid), + multiplicity(this,other.multiplicity), + distribution(this,other.distribution) { - *this = other; Component::finish(other); } // move Product(Product &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + pid(this,std::move(other.pid)), + multiplicity(this,std::move(other.multiplicity)), + distribution(this,std::move(other.distribution)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/Products.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Products.hpp index 41b808c98..c215de1b2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/Products.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Products.hpp @@ -33,8 +33,7 @@ class Products : public Component { { return // children - std::optional{} - / ++Child<>("product") + ++Child>("product") ; } @@ -51,9 +50,16 @@ class Products : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->product) - // default, and from fields + // default + Products() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Products( - const wrapper>> &product = {} + const wrapper>> &product ) : GNDSTK_COMPONENT(BlockData{}), product(this,product) @@ -70,17 +76,17 @@ class Products : public Component { // copy Products(const Products &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + product(this,other.product) { - *this = other; Component::finish(other); } // move Products(Products &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + product(this,std::move(other.product)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/Q.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Q.hpp index 34123a70e..62750db7d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/Q.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Q.hpp @@ -54,10 +54,8 @@ class Q : public Component { XMLName{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | + --Child>("documentation") | + --Child>("uncertainty") | _t{} / --(Child<>("constant1d") || Child<>("XYs1d") || Child<>("regions1d") || Child<>("polynomial1d") || Child<>("gridded1d")) ; @@ -95,9 +93,16 @@ class Q : public Component { this->uncertainty, \ this->_constant1dXYs1dregions1dpolynomial1dgridded1d) - // default, and from fields + // default + Q() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Q( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper &value = {}, const wrapper> &documentation = {}, @@ -124,17 +129,27 @@ class Q : public Component { // copy Q(const Q &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + _constant1dXYs1dregions1dpolynomial1dgridded1d(this,other._constant1dXYs1dregions1dpolynomial1dgridded1d) { - *this = other; Component::finish(other); } // move Q(Q &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + _constant1dXYs1dregions1dpolynomial1dgridded1d(this,std::move(other._constant1dXYs1dregions1dpolynomial1dgridded1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/common/Temperature.hpp b/standards/gnds-2.0/test/src/test/v2.0/common/Temperature.hpp index 7ff65032b..a17054a0c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/common/Temperature.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/common/Temperature.hpp @@ -41,10 +41,8 @@ class Temperature : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") + --Child>("documentation") | + --Child>("uncertainty") ; } @@ -71,9 +69,16 @@ class Temperature : public Component { this->documentation, \ this->uncertainty) - // default, and from fields + // default + Temperature() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Temperature( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -98,17 +103,25 @@ class Temperature : public Component { // copy Temperature(const Temperature &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move Temperature(Temperature &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Array.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Array.hpp index ac205911c..1f78ecbd4 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Array.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Array.hpp @@ -46,10 +46,8 @@ class Array : public Component { std::optional{} / Meta<>("offset") | // children - std::optional{} - / ++Child<>("values") | - std::optional{} - / ++Child<>("array") + ++Child>("values") | + ++Child>("array") ; } @@ -87,10 +85,17 @@ class Array : public Component { this->values, \ this->array) - // default, and from fields + // default + Array() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Array( - const wrapper &shape = {}, + const wrapper &shape, const wrapper> &compression = {}, const wrapper> &symmetry = {}, const wrapper> &permutation = {}, @@ -121,17 +126,31 @@ class Array : public Component { // copy Array(const Array &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + shape(this,other.shape), + compression(this,other.compression), + symmetry(this,other.symmetry), + permutation(this,other.permutation), + storageOrder(this,other.storageOrder), + offset(this,other.offset), + values(this,other.values), + array(this,other.array) { - *this = other; Component::finish(other); } // move Array(Array &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + shape(this,std::move(other.shape)), + compression(this,std::move(other.compression)), + symmetry(this,std::move(other.symmetry)), + permutation(this,std::move(other.permutation)), + storageOrder(this,std::move(other.storageOrder)), + offset(this,std::move(other.offset)), + values(this,std::move(other.values)), + array(this,std::move(other.array)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Axes.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Axes.hpp index 2fb45a997..1ad0e6847 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Axes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Axes.hpp @@ -37,10 +37,8 @@ class Axes : public Component { std::optional{} / Meta<>("href") | // children - std::optional{} - / ++Child<>("axis") | - std::optional{} - / ++Child<>("grid") + ++Child>("axis") | + ++Child>("grid") ; } @@ -63,9 +61,16 @@ class Axes : public Component { this->axis, \ this->grid) - // default, and from fields + // default + Axes() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Axes( - const wrapper> &href = {}, + const wrapper> &href, const wrapper>> &axis = {}, const wrapper>> &grid = {} ) : @@ -86,17 +91,21 @@ class Axes : public Component { // copy Axes(const Axes &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href), + axis(this,other.axis), + grid(this,other.grid) { - *this = other; Component::finish(other); } // move Axes(Axes &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)), + axis(this,std::move(other.axis)), + grid(this,std::move(other.grid)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Axis.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Axis.hpp index 0203f7fc8..a9fb0b82b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Axis.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Axis.hpp @@ -59,9 +59,16 @@ class Axis : public Component { this->label, \ this->unit) - // default, and from fields + // default + Axis() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Axis( - const wrapper> &index = {}, + const wrapper> &index, const wrapper &label = {}, const wrapper> &unit = {} ) : @@ -82,17 +89,21 @@ class Axis : public Component { // copy Axis(const Axis &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + label(this,other.label), + unit(this,other.unit) { - *this = other; Component::finish(other); } // move Axis(Axis &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp index 0fe96cb8c..5772fe8ff 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Cdf_in_xs_pdf_cdf1d.hpp @@ -33,8 +33,7 @@ class Cdf_in_xs_pdf_cdf1d : public Component { { return // children - containers::Values{} - / --Child<>("values") + --Child("values") ; } @@ -51,9 +50,16 @@ class Cdf_in_xs_pdf_cdf1d : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->values) - // default, and from fields + // default + Cdf_in_xs_pdf_cdf1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Cdf_in_xs_pdf_cdf1d( - const wrapper &values = {} + const wrapper &values ) : GNDSTK_COMPONENT(BlockData{}), values(this,values) @@ -70,17 +76,17 @@ class Cdf_in_xs_pdf_cdf1d : public Component { // copy Cdf_in_xs_pdf_cdf1d(const Cdf_in_xs_pdf_cdf1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + values(this,other.values) { - *this = other; Component::finish(other); } // move Cdf_in_xs_pdf_cdf1d(Cdf_in_xs_pdf_cdf1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Column.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Column.hpp index 7a890de5a..8c64df243 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Column.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Column.hpp @@ -63,9 +63,16 @@ class Column : public Component { this->unit, \ this->types) - // default, and from fields + // default + Column() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Column( - const wrapper &index = {}, + const wrapper &index, const wrapper &name = {}, const wrapper> &unit = {}, const wrapper> &types = {} @@ -88,17 +95,23 @@ class Column : public Component { // copy Column(const Column &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + name(this,other.name), + unit(this,other.unit), + types(this,other.types) { - *this = other; Component::finish(other); } // move Column(Column &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + name(this,std::move(other.name)), + unit(this,std::move(other.unit)), + types(this,std::move(other.types)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders.hpp index 83124da7d..5a3fead08 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/ColumnHeaders.hpp @@ -33,8 +33,7 @@ class ColumnHeaders : public Component { { return // children - containers::Column{} - / ++Child<>("column") + ++Child("column") ; } @@ -51,9 +50,16 @@ class ColumnHeaders : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->column) - // default, and from fields + // default + ColumnHeaders() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ColumnHeaders( - const wrapper> &column = {} + const wrapper> &column ) : GNDSTK_COMPONENT(BlockData{}), column(this,column) @@ -70,17 +76,17 @@ class ColumnHeaders : public Component { // copy ColumnHeaders(const ColumnHeaders &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + column(this,other.column) { - *this = other; Component::finish(other); } // move ColumnHeaders(ColumnHeaders &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + column(this,std::move(other.column)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals.hpp index 298c7ddd0..95ff9ffb0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/ConfidenceIntervals.hpp @@ -33,8 +33,7 @@ class ConfidenceIntervals : public Component { { return // children - containers::Interval{} - / ++Child<>("interval") + ++Child("interval") ; } @@ -51,9 +50,16 @@ class ConfidenceIntervals : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->interval) - // default, and from fields + // default + ConfidenceIntervals() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ConfidenceIntervals( - const wrapper> &interval = {} + const wrapper> &interval ) : GNDSTK_COMPONENT(BlockData{}), interval(this,interval) @@ -70,17 +76,17 @@ class ConfidenceIntervals : public Component { // copy ConfidenceIntervals(const ConfidenceIntervals &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + interval(this,other.interval) { - *this = other; Component::finish(other); } // move ConfidenceIntervals(ConfidenceIntervals &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + interval(this,std::move(other.interval)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d.hpp index d548b3a56..73bbcbf0e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Constant1d.hpp @@ -44,8 +44,7 @@ class Constant1d : public Component { Float64{} / Meta<>("domainMax") | // children - containers::Axes{} - / --Child<>("axes") + --Child("axes") ; } @@ -74,9 +73,16 @@ class Constant1d : public Component { this->domainMax, \ this->axes) - // default, and from fields + // default + Constant1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Constant1d( - const wrapper> &value = {}, + const wrapper> &value, const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, const wrapper &domainMin = {}, @@ -103,17 +109,27 @@ class Constant1d : public Component { // copy Constant1d(const Constant1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + value(this,other.value), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + domainMin(this,other.domainMin), + domainMax(this,other.domainMax), + axes(this,other.axes) { - *this = other; Component::finish(other); } // move Constant1d(Constant1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + value(this,std::move(other.value)), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + domainMin(this,std::move(other.domainMin)), + domainMax(this,std::move(other.domainMax)), + axes(this,std::move(other.axes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Covariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Covariance.hpp index 9bc7acad0..7a476f2d7 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Covariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Covariance.hpp @@ -55,9 +55,16 @@ class Covariance : public Component { this->label, \ this->href) - // default, and from fields + // default + Covariance() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Covariance( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &href = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Covariance : public Component { // copy Covariance(const Covariance &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + href(this,other.href) { - *this = other; Component::finish(other); } // move Covariance(Covariance &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Data.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Data.hpp index eebafa128..827050870 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Data.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Data.hpp @@ -57,10 +57,17 @@ class Data : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->sep) - // default, and from fields + // default + Data() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Data( - const wrapper> &sep = {} + const wrapper> &sep ) : GNDSTK_COMPONENT(BlockData{}), sep(this,defaults.sep,sep) @@ -85,17 +92,17 @@ class Data : public Component { // copy Data(const Data &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + sep(this,other.sep) { - *this = other; Component::finish(other); } // move Data(Data &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + sep(this,std::move(other.sep)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Double.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Double.hpp index eb5c60943..921936648 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Double.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Double.hpp @@ -40,8 +40,7 @@ class Double : public Component { Float64{} / Meta<>("value") | // children - std::optional{} - / --Child<>("uncertainty") + --Child>("uncertainty") ; } @@ -66,9 +65,16 @@ class Double : public Component { this->value, \ this->uncertainty) - // default, and from fields + // default + Double() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Double( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper &value = {}, const wrapper> &uncertainty = {} @@ -91,17 +97,23 @@ class Double : public Component { // copy Double(const Double &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move Double(Double &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Fraction.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Fraction.hpp index 3f3199b4d..39357cc7c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Fraction.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Fraction.hpp @@ -59,9 +59,16 @@ class Fraction : public Component { this->unit, \ this->value) - // default, and from fields + // default + Fraction() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Fraction( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper &value = {} ) : @@ -82,17 +89,21 @@ class Fraction : public Component { // copy Fraction(const Fraction &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move Fraction(Fraction &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds.hpp index 53a9c3f38..ffc06b05f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Function1ds.hpp @@ -68,9 +68,16 @@ class Function1ds : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs1dconstant1dpolynomial1dLegendregridded1d) - // default, and from fields + // default + Function1ds() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Function1ds( - const wrapper> &_XYs1dconstant1dpolynomial1dLegendregridded1d = {} + const wrapper> &_XYs1dconstant1dpolynomial1dLegendregridded1d ) : GNDSTK_COMPONENT(BlockData{}), _XYs1dconstant1dpolynomial1dLegendregridded1d(this,_XYs1dconstant1dpolynomial1dLegendregridded1d) @@ -87,17 +94,17 @@ class Function1ds : public Component { // copy Function1ds(const Function1ds &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dconstant1dpolynomial1dLegendregridded1d(this,other._XYs1dconstant1dpolynomial1dLegendregridded1d) { - *this = other; Component::finish(other); } // move Function1ds(Function1ds &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dconstant1dpolynomial1dLegendregridded1d(this,std::move(other._XYs1dconstant1dpolynomial1dLegendregridded1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds.hpp index a44a12e06..cf422bc90 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Function2ds.hpp @@ -59,9 +59,16 @@ class Function2ds : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs2dgridded2d) - // default, and from fields + // default + Function2ds() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Function2ds( - const wrapper> &_XYs2dgridded2d = {} + const wrapper> &_XYs2dgridded2d ) : GNDSTK_COMPONENT(BlockData{}), _XYs2dgridded2d(this,_XYs2dgridded2d) @@ -78,17 +85,17 @@ class Function2ds : public Component { // copy Function2ds(const Function2ds &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs2dgridded2d(this,other._XYs2dgridded2d) { - *this = other; Component::finish(other); } // move Function2ds(Function2ds &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs2dgridded2d(this,std::move(other._XYs2dgridded2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds.hpp index 8a1686011..554062c60 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Function3ds.hpp @@ -59,9 +59,16 @@ class Function3ds : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs3dgridded3d) - // default, and from fields + // default + Function3ds() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Function3ds( - const wrapper> &_XYs3dgridded3d = {} + const wrapper> &_XYs3dgridded3d ) : GNDSTK_COMPONENT(BlockData{}), _XYs3dgridded3d(this,_XYs3dgridded3d) @@ -78,17 +85,17 @@ class Function3ds : public Component { // copy Function3ds(const Function3ds &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs3dgridded3d(this,other._XYs3dgridded3d) { - *this = other; Component::finish(other); } // move Function3ds(Function3ds &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs3dgridded3d(this,std::move(other._XYs3dgridded3d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Grid.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Grid.hpp index f1cd0a696..20aed6173 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Grid.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Grid.hpp @@ -87,10 +87,17 @@ class Grid : public Component { this->unit, \ this->_valueslink) - // default, and from fields + // default + Grid() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Grid( - const wrapper> &index = {}, + const wrapper> &index, const wrapper> &interpolation = {}, const wrapper> &label = {}, const wrapper> &style = {}, @@ -117,17 +124,27 @@ class Grid : public Component { // copy Grid(const Grid &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + interpolation(this,other.interpolation), + label(this,other.label), + style(this,other.style), + unit(this,other.unit), + _valueslink(this,other._valueslink) { - *this = other; Component::finish(other); } // move Grid(Grid &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + interpolation(this,std::move(other.interpolation)), + label(this,std::move(other.label)), + style(this,std::move(other.style)), + unit(this,std::move(other.unit)), + _valueslink(this,std::move(other._valueslink)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d.hpp index e44f51b46..5ddb96055 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded1d.hpp @@ -37,10 +37,8 @@ class Gridded1d : public Component { std::optional{} / Meta<>("label") | // children - containers::Array{} - / --Child<>("array") | - containers::Axes{} - / --Child<>("axes") + --Child("array") | + --Child("axes") ; } @@ -63,9 +61,16 @@ class Gridded1d : public Component { this->array, \ this->axes) - // default, and from fields + // default + Gridded1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Gridded1d( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &array = {}, const wrapper &axes = {} ) : @@ -86,17 +91,21 @@ class Gridded1d : public Component { // copy Gridded1d(const Gridded1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + array(this,other.array), + axes(this,other.axes) { - *this = other; Component::finish(other); } // move Gridded1d(Gridded1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + array(this,std::move(other.array)), + axes(this,std::move(other.axes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d.hpp index 865fe1c49..73f015869 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded2d.hpp @@ -37,10 +37,8 @@ class Gridded2d : public Component { std::optional{} / Meta<>("label") | // children - containers::Array{} - / --Child<>("array") | - containers::Axes{} - / --Child<>("axes") + --Child("array") | + --Child("axes") ; } @@ -63,9 +61,16 @@ class Gridded2d : public Component { this->array, \ this->axes) - // default, and from fields + // default + Gridded2d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Gridded2d( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &array = {}, const wrapper &axes = {} ) : @@ -86,17 +91,21 @@ class Gridded2d : public Component { // copy Gridded2d(const Gridded2d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + array(this,other.array), + axes(this,other.axes) { - *this = other; Component::finish(other); } // move Gridded2d(Gridded2d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + array(this,std::move(other.array)), + axes(this,std::move(other.axes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d.hpp index d9d8eb34c..a1053ee4c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Gridded3d.hpp @@ -37,10 +37,8 @@ class Gridded3d : public Component { std::optional{} / Meta<>("label") | // children - containers::Array{} - / --Child<>("array") | - containers::Axes{} - / --Child<>("axes") + --Child("array") | + --Child("axes") ; } @@ -63,9 +61,16 @@ class Gridded3d : public Component { this->array, \ this->axes) - // default, and from fields + // default + Gridded3d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Gridded3d( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &array = {}, const wrapper &axes = {} ) : @@ -86,17 +91,21 @@ class Gridded3d : public Component { // copy Gridded3d(const Gridded3d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + array(this,other.array), + axes(this,other.axes) { - *this = other; Component::finish(other); } // move Gridded3d(Gridded3d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + array(this,std::move(other.array)), + axes(this,std::move(other.axes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Integer.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Integer.hpp index ecf87dc4f..0a4604cfc 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Integer.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Integer.hpp @@ -59,9 +59,16 @@ class Integer : public Component { this->unit, \ this->value) - // default, and from fields + // default + Integer() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Integer( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper &value = {} ) : @@ -82,17 +89,21 @@ class Integer : public Component { // copy Integer(const Integer &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move Integer(Integer &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Interval.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Interval.hpp index 04e5864dd..f5f003a07 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Interval.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Interval.hpp @@ -59,9 +59,16 @@ class Interval : public Component { this->lower, \ this->upper) - // default, and from fields + // default + Interval() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Interval( - const wrapper &confidence = {}, + const wrapper &confidence, const wrapper &lower = {}, const wrapper &upper = {} ) : @@ -82,17 +89,21 @@ class Interval : public Component { // copy Interval(const Interval &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + confidence(this,other.confidence), + lower(this,other.lower), + upper(this,other.upper) { - *this = other; Component::finish(other); } // move Interval(Interval &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + confidence(this,std::move(other.confidence)), + lower(this,std::move(other.lower)), + upper(this,std::move(other.upper)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Legendre.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Legendre.hpp index f2fde7b48..7ed30d57d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Legendre.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Legendre.hpp @@ -44,8 +44,7 @@ class Legendre : public Component { Defaulted{1.0} / Meta<>("domainMax") | // children - containers::Values{} - / --Child<>("values") + --Child("values") ; } @@ -81,10 +80,17 @@ class Legendre : public Component { this->domainMax, \ this->values) - // default, and from fields + // default + Legendre() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Legendre( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &outerDomainValue = {}, const wrapper> &lowerIndex = {}, const wrapper> &domainMin = {}, @@ -111,17 +117,27 @@ class Legendre : public Component { // copy Legendre(const Legendre &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + lowerIndex(this,other.lowerIndex), + domainMin(this,other.domainMin), + domainMax(this,other.domainMax), + values(this,other.values) { - *this = other; Component::finish(other); } // move Legendre(Legendre &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + lowerIndex(this,std::move(other.lowerIndex)), + domainMin(this,std::move(other.domainMin)), + domainMax(this,std::move(other.domainMax)), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Link.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Link.hpp index f890c10b8..edd80c3aa 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Link.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Link.hpp @@ -51,9 +51,16 @@ class Link : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->href) - // default, and from fields + // default + Link() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Link( - const wrapper &href = {} + const wrapper &href ) : GNDSTK_COMPONENT(BlockData{}), href(this,href) @@ -70,17 +77,17 @@ class Link : public Component { // copy Link(const Link &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href) { - *this = other; Component::finish(other); } // move Link(Link &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances.hpp index d464eec16..247f10170 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/ListOfCovariances.hpp @@ -33,8 +33,7 @@ class ListOfCovariances : public Component { { return // children - containers::Covariance{} - / ++Child<>("covariance") + ++Child("covariance") ; } @@ -51,9 +50,16 @@ class ListOfCovariances : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->covariance) - // default, and from fields + // default + ListOfCovariances() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ListOfCovariances( - const wrapper> &covariance = {} + const wrapper> &covariance ) : GNDSTK_COMPONENT(BlockData{}), covariance(this,covariance) @@ -70,17 +76,17 @@ class ListOfCovariances : public Component { // copy ListOfCovariances(const ListOfCovariances &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + covariance(this,other.covariance) { - *this = other; Component::finish(other); } // move ListOfCovariances(ListOfCovariances &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + covariance(this,std::move(other.covariance)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp index 25315e7e0..45d566348 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/LogNormal.hpp @@ -33,8 +33,7 @@ class LogNormal : public Component { { return // children - extra::Double{} - / --Child<>("Double") + --Child("double") ; } @@ -51,9 +50,16 @@ class LogNormal : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + LogNormal() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit LogNormal( - const wrapper &Double = {} + const wrapper &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) @@ -70,17 +76,17 @@ class LogNormal : public Component { // copy LogNormal(const LogNormal &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move LogNormal(LogNormal &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf.hpp index 06ab4e3e8..0a9a7b8aa 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf.hpp @@ -34,10 +34,8 @@ class Pdf : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -56,9 +54,16 @@ class Pdf : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + Pdf() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Pdf( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class Pdf : public Component { // copy Pdf(const Pdf &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move Pdf(Pdf &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp index 18f9b6509..001aafd0f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Pdf_in_xs_pdf_cdf1d.hpp @@ -33,8 +33,7 @@ class Pdf_in_xs_pdf_cdf1d : public Component { { return // children - containers::Values{} - / --Child<>("values") + --Child("values") ; } @@ -51,9 +50,16 @@ class Pdf_in_xs_pdf_cdf1d : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->values) - // default, and from fields + // default + Pdf_in_xs_pdf_cdf1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Pdf_in_xs_pdf_cdf1d( - const wrapper &values = {} + const wrapper &values ) : GNDSTK_COMPONENT(BlockData{}), values(this,values) @@ -70,17 +76,17 @@ class Pdf_in_xs_pdf_cdf1d : public Component { // copy Pdf_in_xs_pdf_cdf1d(const Pdf_in_xs_pdf_cdf1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + values(this,other.values) { - *this = other; Component::finish(other); } // move Pdf_in_xs_pdf_cdf1d(Pdf_in_xs_pdf_cdf1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp index 6e385606e..495d258c4 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Polynomial1d.hpp @@ -46,12 +46,9 @@ class Polynomial1d : public Component { Float64{} / Meta<>("domainMax") | // children - containers::Axes{} - / --Child<>("axes") | - std::optional{} - / --Child<>("uncertainty") | - containers::Values{} - / --Child<>("values") + --Child("axes") | + --Child>("uncertainty") | + --Child("values") ; } @@ -89,10 +86,17 @@ class Polynomial1d : public Component { this->uncertainty, \ this->values) - // default, and from fields + // default + Polynomial1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Polynomial1d( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &outerDomainValue = {}, const wrapper> &lowerIndex = {}, const wrapper &domainMin = {}, @@ -123,17 +127,31 @@ class Polynomial1d : public Component { // copy Polynomial1d(const Polynomial1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + lowerIndex(this,other.lowerIndex), + domainMin(this,other.domainMin), + domainMax(this,other.domainMax), + axes(this,other.axes), + uncertainty(this,other.uncertainty), + values(this,other.values) { - *this = other; Component::finish(other); } // move Polynomial1d(Polynomial1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + lowerIndex(this,std::move(other.lowerIndex)), + domainMin(this,std::move(other.domainMin)), + domainMax(this,std::move(other.domainMax)), + axes(this,std::move(other.axes)), + uncertainty(this,std::move(other.uncertainty)), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp index b8f4494d7..df2f4ed6d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions1d.hpp @@ -40,12 +40,9 @@ class Regions1d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - std::optional{} - / --Child<>("axes") | - containers::Function1ds{} - / --Child<>("function1ds") | - std::optional{} - / --Child<>("uncertainty") + --Child>("axes") | + --Child("function1ds") | + --Child>("uncertainty") ; } @@ -72,9 +69,16 @@ class Regions1d : public Component { this->function1ds, \ this->uncertainty) - // default, and from fields + // default + Regions1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Regions1d( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, const wrapper &function1ds = {}, @@ -99,17 +103,25 @@ class Regions1d : public Component { // copy Regions1d(const Regions1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + function1ds(this,other.function1ds), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move Regions1d(Regions1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + function1ds(this,std::move(other.function1ds)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d.hpp index 46137773d..6282161bf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions2d.hpp @@ -40,12 +40,9 @@ class Regions2d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - std::optional{} - / --Child<>("axes") | - containers::Function2ds{} - / --Child<>("function2ds") | - std::optional{} - / --Child<>("uncertainty") + --Child>("axes") | + --Child("function2ds") | + --Child>("uncertainty") ; } @@ -72,9 +69,16 @@ class Regions2d : public Component { this->function2ds, \ this->uncertainty) - // default, and from fields + // default + Regions2d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Regions2d( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, const wrapper &function2ds = {}, @@ -99,17 +103,25 @@ class Regions2d : public Component { // copy Regions2d(const Regions2d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + function2ds(this,other.function2ds), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move Regions2d(Regions2d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + function2ds(this,std::move(other.function2ds)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d.hpp index 624cf7890..16af03de8 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Regions3d.hpp @@ -40,12 +40,9 @@ class Regions3d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - std::optional{} - / --Child<>("axes") | - containers::Function3ds{} - / --Child<>("function3ds") | - std::optional{} - / --Child<>("uncertainty") + --Child>("axes") | + --Child("function3ds") | + --Child>("uncertainty") ; } @@ -72,9 +69,16 @@ class Regions3d : public Component { this->function3ds, \ this->uncertainty) - // default, and from fields + // default + Regions3d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Regions3d( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &outerDomainValue = {}, const wrapper> &axes = {}, const wrapper &function3ds = {}, @@ -99,17 +103,25 @@ class Regions3d : public Component { // copy Regions3d(const Regions3d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + function3ds(this,other.function3ds), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move Regions3d(Regions3d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + function3ds(this,std::move(other.function3ds)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp index 57eb007a6..fa81e2ec6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Standard.hpp @@ -33,8 +33,7 @@ class Standard : public Component { { return // children - extra::Double{} - / --Child<>("Double") + --Child("double") ; } @@ -51,9 +50,16 @@ class Standard : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + Standard() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Standard( - const wrapper &Double = {} + const wrapper &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) @@ -70,17 +76,17 @@ class Standard : public Component { // copy Standard(const Standard &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Standard(Standard &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/String.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/String.hpp index 3c076513a..67faf28f5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/String.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/String.hpp @@ -59,9 +59,16 @@ class String : public Component { this->unit, \ this->value) - // default, and from fields + // default + String() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit String( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper &value = {} ) : @@ -82,17 +89,21 @@ class String : public Component { // copy String(const String &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move String(String &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Table.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Table.hpp index d20173154..aea117320 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Table.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Table.hpp @@ -41,10 +41,8 @@ class Table : public Component { Defaulted{"row-major"} / Meta<>("storageOrder") | // children - containers::ColumnHeaders{} - / --Child<>("columnHeaders") | - containers::Data{} - / --Child<>("data") + --Child("columnHeaders") | + --Child("data") ; } @@ -76,10 +74,17 @@ class Table : public Component { this->columnHeaders, \ this->data) - // default, and from fields + // default + Table() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Table( - const wrapper &columns = {}, + const wrapper &columns, const wrapper &rows = {}, const wrapper> &storageOrder = {}, const wrapper &columnHeaders = {}, @@ -104,17 +109,25 @@ class Table : public Component { // copy Table(const Table &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + columns(this,other.columns), + rows(this,other.rows), + storageOrder(this,other.storageOrder), + columnHeaders(this,other.columnHeaders), + data(this,other.data) { - *this = other; Component::finish(other); } // move Table(Table &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + columns(this,std::move(other.columns)), + rows(this,std::move(other.rows)), + storageOrder(this,std::move(other.storageOrder)), + columnHeaders(this,std::move(other.columnHeaders)), + data(this,std::move(other.data)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty.hpp index b07cf6b49..2d970a5d5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Uncertainty.hpp @@ -40,22 +40,14 @@ class Uncertainty : public Component { { return // children - std::optional{} - / --Child<>("standard") | - std::optional{} - / --Child<>("logNormal") | - std::optional{} - / --Child<>("confidenceIntervals") | - std::optional{} - / --Child<>("pdf") | - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("polynomial1d") | - std::optional{} - / --Child<>("covariance") | - std::optional{} - / --Child<>("listOfCovariances") + --Child>("standard") | + --Child>("logNormal") | + --Child>("confidenceIntervals") | + --Child>("pdf") | + --Child>("XYs1d") | + --Child>("polynomial1d") | + --Child>("covariance") | + --Child>("listOfCovariances") ; } @@ -86,9 +78,16 @@ class Uncertainty : public Component { this->covariance, \ this->listOfCovariances) - // default, and from fields + // default + Uncertainty() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Uncertainty( - const wrapper> &standard = {}, + const wrapper> &standard, const wrapper> &logNormal = {}, const wrapper> &confidenceIntervals = {}, const wrapper> &pdf = {}, @@ -119,17 +118,31 @@ class Uncertainty : public Component { // copy Uncertainty(const Uncertainty &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + standard(this,other.standard), + logNormal(this,other.logNormal), + confidenceIntervals(this,other.confidenceIntervals), + pdf(this,other.pdf), + XYs1d(this,other.XYs1d), + polynomial1d(this,other.polynomial1d), + covariance(this,other.covariance), + listOfCovariances(this,other.listOfCovariances) { - *this = other; Component::finish(other); } // move Uncertainty(Uncertainty &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + standard(this,std::move(other.standard)), + logNormal(this,std::move(other.logNormal)), + confidenceIntervals(this,std::move(other.confidenceIntervals)), + pdf(this,std::move(other.pdf)), + XYs1d(this,std::move(other.XYs1d)), + polynomial1d(this,std::move(other.polynomial1d)), + covariance(this,std::move(other.covariance)), + listOfCovariances(this,std::move(other.listOfCovariances)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Values.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Values.hpp index 0d160eff6..b11e68b97 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Values.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Values.hpp @@ -78,10 +78,17 @@ class Values : public Component { this->startIndex, \ this->count) - // default, and from fields + // default + Values() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Values( - const wrapper> &valueType = {}, + const wrapper> &valueType, const wrapper> &start = {}, const wrapper> &length = {}, const wrapper> &href = {}, @@ -116,17 +123,27 @@ class Values : public Component { // copy Values(const Values &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + valueType(this,other.valueType), + start(this,other.start), + length(this,other.length), + href(this,other.href), + startIndex(this,other.startIndex), + count(this,other.count) { - *this = other; Component::finish(other); } // move Values(Values &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + valueType(this,std::move(other.valueType)), + start(this,std::move(other.start)), + length(this,std::move(other.length)), + href(this,std::move(other.href)), + startIndex(this,std::move(other.startIndex)), + count(this,std::move(other.count)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp index 76b3e532f..b869dfe50 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs1d.hpp @@ -44,12 +44,9 @@ class XYs1d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - std::optional{} - / --Child<>("axes") | - std::optional{} - / --Child<>("uncertainty") | - containers::Values{} - / --Child<>("values") + --Child>("axes") | + --Child>("uncertainty") | + --Child("values") ; } @@ -85,10 +82,17 @@ class XYs1d : public Component { this->uncertainty, \ this->values) - // default, and from fields + // default + XYs1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit XYs1d( - const wrapper> &index = {}, + const wrapper> &index, const wrapper> &interpolation = {}, const wrapper> &label = {}, const wrapper> &outerDomainValue = {}, @@ -117,17 +121,29 @@ class XYs1d : public Component { // copy XYs1d(const XYs1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + interpolation(this,other.interpolation), + label(this,other.label), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + uncertainty(this,other.uncertainty), + values(this,other.values) { - *this = other; Component::finish(other); } // move XYs1d(XYs1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + interpolation(this,std::move(other.interpolation)), + label(this,std::move(other.label)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + uncertainty(this,std::move(other.uncertainty)), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d.hpp index 06dd130a1..487fa460a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs2d.hpp @@ -44,12 +44,9 @@ class XYs2d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - std::optional{} - / --Child<>("axes") | - containers::Function1ds{} - / --Child<>("function1ds") | - std::optional{} - / --Child<>("uncertainty") + --Child>("axes") | + --Child("function1ds") | + --Child>("uncertainty") ; } @@ -85,10 +82,17 @@ class XYs2d : public Component { this->function1ds, \ this->uncertainty) - // default, and from fields + // default + XYs2d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit XYs2d( - const wrapper> &index = {}, + const wrapper> &index, const wrapper> &interpolation = {}, const wrapper> &interpolationQualifier = {}, const wrapper> &outerDomainValue = {}, @@ -117,17 +121,29 @@ class XYs2d : public Component { // copy XYs2d(const XYs2d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + interpolation(this,other.interpolation), + interpolationQualifier(this,other.interpolationQualifier), + outerDomainValue(this,other.outerDomainValue), + axes(this,other.axes), + function1ds(this,other.function1ds), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move XYs2d(XYs2d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + interpolation(this,std::move(other.interpolation)), + interpolationQualifier(this,std::move(other.interpolationQualifier)), + outerDomainValue(this,std::move(other.outerDomainValue)), + axes(this,std::move(other.axes)), + function1ds(this,std::move(other.function1ds)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d.hpp index 58dedb3dd..3ee1751ac 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/XYs3d.hpp @@ -40,12 +40,9 @@ class XYs3d : public Component { std::optional{} / Meta<>("interpolationQualifier") | // children - std::optional{} - / --Child<>("axes") | - containers::Function2ds{} - / --Child<>("function2ds") | - std::optional{} - / --Child<>("uncertainty") + --Child>("axes") | + --Child("function2ds") | + --Child>("uncertainty") ; } @@ -77,10 +74,17 @@ class XYs3d : public Component { this->function2ds, \ this->uncertainty) - // default, and from fields + // default + XYs3d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit XYs3d( - const wrapper> &interpolation = {}, + const wrapper> &interpolation, const wrapper> &interpolationQualifier = {}, const wrapper> &axes = {}, const wrapper &function2ds = {}, @@ -105,17 +109,25 @@ class XYs3d : public Component { // copy XYs3d(const XYs3d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + interpolation(this,other.interpolation), + interpolationQualifier(this,other.interpolationQualifier), + axes(this,other.axes), + function2ds(this,other.function2ds), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move XYs3d(XYs3d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + interpolation(this,std::move(other.interpolation)), + interpolationQualifier(this,std::move(other.interpolationQualifier)), + axes(this,std::move(other.axes)), + function2ds(this,std::move(other.function2ds)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp index 95af38e36..0c8a01d28 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_in_xs_pdf_cdf1d.hpp @@ -33,8 +33,7 @@ class Xs_in_xs_pdf_cdf1d : public Component { { return // children - containers::Values{} - / --Child<>("values") + --Child("values") ; } @@ -51,9 +50,16 @@ class Xs_in_xs_pdf_cdf1d : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->values) - // default, and from fields + // default + Xs_in_xs_pdf_cdf1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Xs_in_xs_pdf_cdf1d( - const wrapper &values = {} + const wrapper &values ) : GNDSTK_COMPONENT(BlockData{}), values(this,values) @@ -70,17 +76,17 @@ class Xs_in_xs_pdf_cdf1d : public Component { // copy Xs_in_xs_pdf_cdf1d(const Xs_in_xs_pdf_cdf1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + values(this,other.values) { - *this = other; Component::finish(other); } // move Xs_in_xs_pdf_cdf1d(Xs_in_xs_pdf_cdf1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d.hpp index e96497a1e..b21831ea1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Xs_pdf_cdf1d.hpp @@ -38,12 +38,9 @@ class Xs_pdf_cdf1d : public Component { std::optional{} / Meta<>("outerDomainValue") | // children - containers::Xs_in_xs_pdf_cdf1d{} - / --Child<>("xs") | - containers::Pdf{} - / --Child<>("pdf") | - containers::Cdf_in_xs_pdf_cdf1d{} - / --Child<>("cdf") + --Child("xs") | + --Child("pdf") | + --Child("cdf") ; } @@ -68,9 +65,16 @@ class Xs_pdf_cdf1d : public Component { this->pdf, \ this->cdf) - // default, and from fields + // default + Xs_pdf_cdf1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Xs_pdf_cdf1d( - const wrapper> &outerDomainValue = {}, + const wrapper> &outerDomainValue, const wrapper &xs = {}, const wrapper &pdf = {}, const wrapper &cdf = {} @@ -93,17 +97,23 @@ class Xs_pdf_cdf1d : public Component { // copy Xs_pdf_cdf1d(const Xs_pdf_cdf1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + outerDomainValue(this,other.outerDomainValue), + xs(this,other.xs), + pdf(this,other.pdf), + cdf(this,other.cdf) { - *this = other; Component::finish(other); } // move Xs_pdf_cdf1d(Xs_pdf_cdf1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + outerDomainValue(this,std::move(other.outerDomainValue)), + xs(this,std::move(other.xs)), + pdf(this,std::move(other.pdf)), + cdf(this,std::move(other.cdf)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d.hpp index 329d34a75..6862dd3e1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/containers/Ys1d.hpp @@ -39,10 +39,8 @@ class Ys1d : public Component { std::optional{} / Meta<>("label") | // children - containers::Axes{} - / --Child<>("axes") | - containers::Values{} - / --Child<>("values") + --Child("axes") | + --Child("values") ; } @@ -72,10 +70,17 @@ class Ys1d : public Component { this->axes, \ this->values) - // default, and from fields + // default + Ys1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Ys1d( - const wrapper> &interpolation = {}, + const wrapper> &interpolation, const wrapper> &label = {}, const wrapper &axes = {}, const wrapper &values = {} @@ -98,17 +103,23 @@ class Ys1d : public Component { // copy Ys1d(const Ys1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + interpolation(this,other.interpolation), + label(this,other.label), + axes(this,other.axes), + values(this,other.values) { - *this = other; Component::finish(other); } // move Ys1d(Ys1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + interpolation(this,std::move(other.interpolation)), + label(this,std::move(other.label)), + axes(this,std::move(other.axes)), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/AverageParameterCovariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/AverageParameterCovariance.hpp index 752eb3417..e279958d0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/AverageParameterCovariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/AverageParameterCovariance.hpp @@ -44,10 +44,8 @@ class AverageParameterCovariance : public Component{} / Meta<>("label") | // children - std::optional{} - / --Child<>("columnData") | - std::optional{} - / --Child<>("rowData") | + --Child>("columnData") | + --Child>("rowData") | _t{} / --(Child<>("covarianceMatrix")) ; @@ -79,9 +77,16 @@ class AverageParameterCovariance : public ComponentrowData, \ this->_covarianceMatrix) - // default, and from fields + // default + AverageParameterCovariance() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AverageParameterCovariance( - const wrapper> &crossTerm = {}, + const wrapper> &crossTerm, const wrapper> &label = {}, const wrapper> &columnData = {}, const wrapper> &rowData = {}, @@ -106,17 +111,25 @@ class AverageParameterCovariance : public Component { std::optional{} / Meta<>("dimension") | // children - std::optional{} - / --Child<>("slices") + --Child>("slices") ; } @@ -66,9 +65,16 @@ class ColumnData : public Component { this->dimension, \ this->slices) - // default, and from fields + // default + ColumnData() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ColumnData( - const wrapper> &ENDF_MFMT = {}, + const wrapper> &ENDF_MFMT, const wrapper> &href = {}, const wrapper> &dimension = {}, const wrapper> &slices = {} @@ -91,17 +97,23 @@ class ColumnData : public Component { // copy ColumnData(const ColumnData &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MFMT(this,other.ENDF_MFMT), + href(this,other.href), + dimension(this,other.dimension), + slices(this,other.slices) { - *this = other; Component::finish(other); } // move ColumnData(ColumnData &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MFMT(this,std::move(other.ENDF_MFMT)), + href(this,std::move(other.href)), + dimension(this,std::move(other.dimension)), + slices(this,std::move(other.slices)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity.hpp index c72eae3cf..069d6fd1a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ColumnSensitivity.hpp @@ -33,8 +33,7 @@ class ColumnSensitivity : public Component { { return // children - containers::Array{} - / --Child<>("array") + --Child("array") ; } @@ -51,9 +50,16 @@ class ColumnSensitivity : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->array) - // default, and from fields + // default + ColumnSensitivity() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ColumnSensitivity( - const wrapper &array = {} + const wrapper &array ) : GNDSTK_COMPONENT(BlockData{}), array(this,array) @@ -70,17 +76,17 @@ class ColumnSensitivity : public Component { // copy ColumnSensitivity(const ColumnSensitivity &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + array(this,other.array) { - *this = other; Component::finish(other); } // move ColumnSensitivity(ColumnSensitivity &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + array(this,std::move(other.array)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance.hpp index c0521effd..738eba6ff 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Covariance.hpp @@ -33,8 +33,7 @@ class Covariance : public Component { { return // children - containers::Array{} - / --Child<>("array") + --Child("array") ; } @@ -51,9 +50,16 @@ class Covariance : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->array) - // default, and from fields + // default + Covariance() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Covariance( - const wrapper &array = {} + const wrapper &array ) : GNDSTK_COMPONENT(BlockData{}), array(this,array) @@ -70,17 +76,17 @@ class Covariance : public Component { // copy Covariance(const Covariance &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + array(this,other.array) { - *this = other; Component::finish(other); } // move Covariance(Covariance &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + array(this,std::move(other.array)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix.hpp index 3b7ec6de6..39c7057cf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceMatrix.hpp @@ -74,9 +74,16 @@ class CovarianceMatrix : public Component { this->type, \ this->_gridded2dsandwichProduct) - // default, and from fields + // default + CovarianceMatrix() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CovarianceMatrix( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &productFrame = {}, const wrapper &type = {}, const wrapper<_t> &_gridded2dsandwichProduct = {} @@ -99,17 +106,23 @@ class CovarianceMatrix : public Component { // copy CovarianceMatrix(const CovarianceMatrix &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + type(this,other.type), + _gridded2dsandwichProduct(this,other._gridded2dsandwichProduct) { - *this = other; Component::finish(other); } // move CovarianceMatrix(CovarianceMatrix &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + type(this,std::move(other.type)), + _gridded2dsandwichProduct(this,std::move(other._gridded2dsandwichProduct)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection.hpp index 3b0fb218b..28a53739f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSection.hpp @@ -48,10 +48,8 @@ class CovarianceSection : public Component { std::optional{} / Meta<>("label") | // children - covariance::RowData{} - / --Child<>("rowData") | - std::optional{} - / --Child<>("columnData") | + --Child("rowData") | + --Child>("columnData") | _t{} / --(Child<>("covarianceMatrix") || Child<>("sum") || Child<>("mixed")) ; @@ -90,10 +88,17 @@ class CovarianceSection : public Component { this->columnData, \ this->_covarianceMatrixsummixed) - // default, and from fields + // default + CovarianceSection() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit CovarianceSection( - const wrapper> &crossTerm = {}, + const wrapper> &crossTerm, const wrapper> &label = {}, const wrapper &rowData = {}, const wrapper> &columnData = {}, @@ -118,17 +123,25 @@ class CovarianceSection : public Component { // copy CovarianceSection(const CovarianceSection &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + crossTerm(this,other.crossTerm), + label(this,other.label), + rowData(this,other.rowData), + columnData(this,other.columnData), + _covarianceMatrixsummixed(this,other._covarianceMatrixsummixed) { - *this = other; Component::finish(other); } // move CovarianceSection(CovarianceSection &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + crossTerm(this,std::move(other.crossTerm)), + label(this,std::move(other.label)), + rowData(this,std::move(other.rowData)), + columnData(this,std::move(other.columnData)), + _covarianceMatrixsummixed(this,std::move(other._covarianceMatrixsummixed)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections.hpp index 6af028bb2..0d1672cd0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSections.hpp @@ -33,8 +33,7 @@ class CovarianceSections : public Component { { return // children - std::optional{} - / ++Child<>("covarianceSection") + ++Child>("covarianceSection") ; } @@ -51,9 +50,16 @@ class CovarianceSections : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->covarianceSection) - // default, and from fields + // default + CovarianceSections() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CovarianceSections( - const wrapper>> &covarianceSection = {} + const wrapper>> &covarianceSection ) : GNDSTK_COMPONENT(BlockData{}), covarianceSection(this,covarianceSection) @@ -70,17 +76,17 @@ class CovarianceSections : public Component { // copy CovarianceSections(const CovarianceSections &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + covarianceSection(this,other.covarianceSection) { - *this = other; Component::finish(other); } // move CovarianceSections(CovarianceSections &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + covarianceSection(this,std::move(other.covarianceSection)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite.hpp index 694840c06..75098ab3d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/CovarianceSuite.hpp @@ -47,14 +47,10 @@ class CovarianceSuite : public Component { std::optional{} / Meta<>("version") | // children - std::optional{} - / --Child<>("externalFiles") | - std::optional{} - / --Child<>("styles") | - std::optional{} - / --Child<>("covarianceSections") | - std::optional{} - / --Child<>("parameterCovariances") + --Child>("externalFiles") | + --Child>("styles") | + --Child>("covarianceSections") | + --Child>("parameterCovariances") ; } @@ -89,9 +85,16 @@ class CovarianceSuite : public Component { this->covarianceSections, \ this->parameterCovariances) - // default, and from fields + // default + CovarianceSuite() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CovarianceSuite( - const wrapper> &evaluation = {}, + const wrapper> &evaluation, const wrapper> &projectile = {}, const wrapper> &target = {}, const wrapper &interaction = {}, @@ -124,17 +127,33 @@ class CovarianceSuite : public Component { // copy CovarianceSuite(const CovarianceSuite &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluation(this,other.evaluation), + projectile(this,other.projectile), + target(this,other.target), + interaction(this,other.interaction), + version(this,other.version), + externalFiles(this,other.externalFiles), + styles(this,other.styles), + covarianceSections(this,other.covarianceSections), + parameterCovariances(this,other.parameterCovariances) { - *this = other; Component::finish(other); } // move CovarianceSuite(CovarianceSuite &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluation(this,std::move(other.evaluation)), + projectile(this,std::move(other.projectile)), + target(this,std::move(other.target)), + interaction(this,std::move(other.interaction)), + version(this,std::move(other.version)), + externalFiles(this,std::move(other.externalFiles)), + styles(this,std::move(other.styles)), + covarianceSections(this,std::move(other.covarianceSections)), + parameterCovariances(this,std::move(other.parameterCovariances)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed.hpp index 49f4dc676..99117bb81 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Mixed.hpp @@ -38,12 +38,9 @@ class Mixed : public Component { XMLName{} / Meta<>("label") | // children - std::optional{} - / ++Child<>("covarianceMatrix") | - std::optional{} - / ++Child<>("shortRangeSelfScalingVariance") | - std::optional{} - / ++Child<>("sum") + ++Child>("covarianceMatrix") | + ++Child>("shortRangeSelfScalingVariance") | + ++Child>("sum") ; } @@ -68,9 +65,16 @@ class Mixed : public Component { this->shortRangeSelfScalingVariance, \ this->sum) - // default, and from fields + // default + Mixed() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Mixed( - const wrapper &label = {}, + const wrapper &label, const wrapper>> &covarianceMatrix = {}, const wrapper>> &shortRangeSelfScalingVariance = {}, const wrapper>> &sum = {} @@ -93,17 +97,23 @@ class Mixed : public Component { // copy Mixed(const Mixed &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + covarianceMatrix(this,other.covarianceMatrix), + shortRangeSelfScalingVariance(this,other.shortRangeSelfScalingVariance), + sum(this,other.sum) { - *this = other; Component::finish(other); } // move Mixed(Mixed &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + covarianceMatrix(this,std::move(other.covarianceMatrix)), + shortRangeSelfScalingVariance(this,std::move(other.shortRangeSelfScalingVariance)), + sum(this,std::move(other.sum)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance.hpp index 1b81b18b2..d3f9b6343 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovariance.hpp @@ -37,10 +37,8 @@ class ParameterCovariance : public Component { std::optional{} / Meta<>("label") | // children - covariance::RowData{} - / --Child<>("rowData") | - covariance::ParameterCovarianceMatrix{} - / ++Child<>("parameterCovarianceMatrix") + --Child("rowData") | + ++Child("parameterCovarianceMatrix") ; } @@ -63,9 +61,16 @@ class ParameterCovariance : public Component { this->rowData, \ this->parameterCovarianceMatrix) - // default, and from fields + // default + ParameterCovariance() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ParameterCovariance( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &rowData = {}, const wrapper> ¶meterCovarianceMatrix = {} ) : @@ -86,17 +91,21 @@ class ParameterCovariance : public Component { // copy ParameterCovariance(const ParameterCovariance &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + rowData(this,other.rowData), + parameterCovarianceMatrix(this,other.parameterCovarianceMatrix) { - *this = other; Component::finish(other); } // move ParameterCovariance(ParameterCovariance &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + rowData(this,std::move(other.rowData)), + parameterCovarianceMatrix(this,std::move(other.parameterCovarianceMatrix)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovarianceMatrix.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovarianceMatrix.hpp index 2f431d8e7..6e3ab6d02 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovarianceMatrix.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterCovarianceMatrix.hpp @@ -39,10 +39,8 @@ class ParameterCovarianceMatrix : public Component{} / Meta<>("type") | // children - covariance::Parameters{} - / --Child<>("parameters") | - containers::Array{} - / --Child<>("array") + --Child("parameters") | + --Child("array") ; } @@ -67,9 +65,16 @@ class ParameterCovarianceMatrix : public Componentparameters, \ this->array) - // default, and from fields + // default + ParameterCovarianceMatrix() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ParameterCovarianceMatrix( - const wrapper &label = {}, + const wrapper &label, const wrapper> &type = {}, const wrapper ¶meters = {}, const wrapper &array = {} @@ -92,17 +97,23 @@ class ParameterCovarianceMatrix : public Component { return // children - std::optional{} - / ++Child<>("averageParameterCovariance") | - std::optional{} - / ++Child<>("parameterCovariance") + ++Child>("averageParameterCovariance") | + ++Child>("parameterCovariance") ; } @@ -56,9 +54,16 @@ class ParameterCovariances : public Component this->averageParameterCovariance, \ this->parameterCovariance) - // default, and from fields + // default + ParameterCovariances() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ParameterCovariances( - const wrapper>> &averageParameterCovariance = {}, + const wrapper>> &averageParameterCovariance, const wrapper>> ¶meterCovariance = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class ParameterCovariances : public Component // copy ParameterCovariances(const ParameterCovariances &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + averageParameterCovariance(this,other.averageParameterCovariance), + parameterCovariance(this,other.parameterCovariance) { - *this = other; Component::finish(other); } // move ParameterCovariances(ParameterCovariances &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + averageParameterCovariance(this,std::move(other.averageParameterCovariance)), + parameterCovariance(this,std::move(other.parameterCovariance)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink.hpp index d9f4d47b6..4917feff2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ParameterLink.hpp @@ -69,10 +69,17 @@ class ParameterLink : public Component { this->matrixStartIndex, \ this->nParameters) - // default, and from fields + // default + ParameterLink() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit ParameterLink( - const wrapper> &href = {}, + const wrapper> &href, const wrapper> &label = {}, const wrapper> &matrixStartIndex = {}, const wrapper> &nParameters = {} @@ -95,17 +102,23 @@ class ParameterLink : public Component { // copy ParameterLink(const ParameterLink &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href), + label(this,other.label), + matrixStartIndex(this,other.matrixStartIndex), + nParameters(this,other.nParameters) { - *this = other; Component::finish(other); } // move ParameterLink(ParameterLink &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)), + label(this,std::move(other.label)), + matrixStartIndex(this,std::move(other.matrixStartIndex)), + nParameters(this,std::move(other.nParameters)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters.hpp index 2624897ea..6f13acd4e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Parameters.hpp @@ -33,8 +33,7 @@ class Parameters : public Component { { return // children - std::optional{} - / ++Child<>("parameterLink") + ++Child>("parameterLink") ; } @@ -51,9 +50,16 @@ class Parameters : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->parameterLink) - // default, and from fields + // default + Parameters() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Parameters( - const wrapper>> ¶meterLink = {} + const wrapper>> ¶meterLink ) : GNDSTK_COMPONENT(BlockData{}), parameterLink(this,parameterLink) @@ -70,17 +76,17 @@ class Parameters : public Component { // copy Parameters(const Parameters &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + parameterLink(this,other.parameterLink) { - *this = other; Component::finish(other); } // move Parameters(Parameters &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + parameterLink(this,std::move(other.parameterLink)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/RowData.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowData.hpp index d0e7cecd5..68eb761c1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/RowData.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowData.hpp @@ -40,8 +40,7 @@ class RowData : public Component { std::optional{} / Meta<>("dimension") | // children - std::optional{} - / --Child<>("slices") + --Child>("slices") ; } @@ -66,9 +65,16 @@ class RowData : public Component { this->dimension, \ this->slices) - // default, and from fields + // default + RowData() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit RowData( - const wrapper> &ENDF_MFMT = {}, + const wrapper> &ENDF_MFMT, const wrapper> &href = {}, const wrapper> &dimension = {}, const wrapper> &slices = {} @@ -91,17 +97,23 @@ class RowData : public Component { // copy RowData(const RowData &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MFMT(this,other.ENDF_MFMT), + href(this,other.href), + dimension(this,other.dimension), + slices(this,other.slices) { - *this = other; Component::finish(other); } // move RowData(RowData &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MFMT(this,std::move(other.ENDF_MFMT)), + href(this,std::move(other.href)), + dimension(this,std::move(other.dimension)), + slices(this,std::move(other.slices)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity.hpp index 7bdd8d0fe..2da3bc2b2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/RowSensitivity.hpp @@ -33,8 +33,7 @@ class RowSensitivity : public Component { { return // children - containers::Array{} - / --Child<>("array") + --Child("array") ; } @@ -51,9 +50,16 @@ class RowSensitivity : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->array) - // default, and from fields + // default + RowSensitivity() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit RowSensitivity( - const wrapper &array = {} + const wrapper &array ) : GNDSTK_COMPONENT(BlockData{}), array(this,array) @@ -70,17 +76,17 @@ class RowSensitivity : public Component { // copy RowSensitivity(const RowSensitivity &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + array(this,other.array) { - *this = other; Component::finish(other); } // move RowSensitivity(RowSensitivity &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + array(this,std::move(other.array)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct.hpp index b16848d6d..d062de535 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/SandwichProduct.hpp @@ -36,14 +36,10 @@ class SandwichProduct : public Component { { return // children - containers::Axes{} - / --Child<>("axes") | - covariance::Covariance{} - / --Child<>("covariance") | - covariance::RowSensitivity{} - / --Child<>("rowSensitivity") | - std::optional{} - / --Child<>("columnSensitivity") + --Child("axes") | + --Child("covariance") | + --Child("rowSensitivity") | + --Child>("columnSensitivity") ; } @@ -66,9 +62,16 @@ class SandwichProduct : public Component { this->rowSensitivity, \ this->columnSensitivity) - // default, and from fields + // default + SandwichProduct() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit SandwichProduct( - const wrapper &axes = {}, + const wrapper &axes, const wrapper &covariance = {}, const wrapper &rowSensitivity = {}, const wrapper> &columnSensitivity = {} @@ -91,17 +94,23 @@ class SandwichProduct : public Component { // copy SandwichProduct(const SandwichProduct &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + axes(this,other.axes), + covariance(this,other.covariance), + rowSensitivity(this,other.rowSensitivity), + columnSensitivity(this,other.columnSensitivity) { - *this = other; Component::finish(other); } // move SandwichProduct(SandwichProduct &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + axes(this,std::move(other.axes)), + covariance(this,std::move(other.covariance)), + rowSensitivity(this,std::move(other.rowSensitivity)), + columnSensitivity(this,std::move(other.columnSensitivity)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp index 2d76fbd27..5549c2acf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/ShortRangeSelfScalingVariance.hpp @@ -40,8 +40,7 @@ class ShortRangeSelfScalingVariance : public Component{} / Meta<>("type") | // children - std::optional{} - / --Child<>("gridded2d") + --Child>("gridded2d") ; } @@ -66,9 +65,16 @@ class ShortRangeSelfScalingVariance : public Componenttype, \ this->gridded2d) - // default, and from fields + // default + ShortRangeSelfScalingVariance() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ShortRangeSelfScalingVariance( - const wrapper> &dependenceOnProcessedGroupWidth = {}, + const wrapper> &dependenceOnProcessedGroupWidth, const wrapper> &label = {}, const wrapper> &type = {}, const wrapper> &gridded2d = {} @@ -91,17 +97,23 @@ class ShortRangeSelfScalingVariance : public Component { this->domainUnit, \ this->dimension) - // default, and from fields + // default + Slice() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Slice( - const wrapper> &domainMin = {}, + const wrapper> &domainMin, const wrapper> &domainMax = {}, const wrapper> &domainValue = {}, const wrapper> &domainUnit = {}, @@ -94,17 +101,25 @@ class Slice : public Component { // copy Slice(const Slice &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMin(this,other.domainMin), + domainMax(this,other.domainMax), + domainValue(this,other.domainValue), + domainUnit(this,other.domainUnit), + dimension(this,other.dimension) { - *this = other; Component::finish(other); } // move Slice(Slice &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMin(this,std::move(other.domainMin)), + domainMax(this,std::move(other.domainMax)), + domainValue(this,std::move(other.domainValue)), + domainUnit(this,std::move(other.domainUnit)), + dimension(this,std::move(other.dimension)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/Slices.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Slices.hpp index 9289779c8..e2e43a8cb 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/Slices.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Slices.hpp @@ -33,8 +33,7 @@ class Slices : public Component { { return // children - covariance::Slice{} - / ++Child<>("slice") + ++Child("slice") ; } @@ -51,9 +50,16 @@ class Slices : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->slice) - // default, and from fields + // default + Slices() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Slices( - const wrapper> &slice = {} + const wrapper> &slice ) : GNDSTK_COMPONENT(BlockData{}), slice(this,slice) @@ -70,17 +76,17 @@ class Slices : public Component { // copy Slices(const Slices &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + slice(this,other.slice) { - *this = other; Component::finish(other); } // move Slices(Slices &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + slice(this,std::move(other.slice)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/Sum.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Sum.hpp index 0168ab57e..c47606759 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/Sum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Sum.hpp @@ -42,8 +42,7 @@ class Sum : public Component { std::optional{} / Meta<>("label") | // children - std::optional{} - / ++Child<>("summand") + ++Child>("summand") ; } @@ -70,9 +69,16 @@ class Sum : public Component { this->label, \ this->summand) - // default, and from fields + // default + Sum() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Sum( - const wrapper &domainMin = {}, + const wrapper &domainMin, const wrapper &domainMax = {}, const wrapper &domainUnit = {}, const wrapper> &label = {}, @@ -97,17 +103,25 @@ class Sum : public Component { // copy Sum(const Sum &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMin(this,other.domainMin), + domainMax(this,other.domainMax), + domainUnit(this,other.domainUnit), + label(this,other.label), + summand(this,other.summand) { - *this = other; Component::finish(other); } // move Sum(Sum &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMin(this,std::move(other.domainMin)), + domainMax(this,std::move(other.domainMax)), + domainUnit(this,std::move(other.domainUnit)), + label(this,std::move(other.label)), + summand(this,std::move(other.summand)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/covariance/Summand.hpp b/standards/gnds-2.0/test/src/test/v2.0/covariance/Summand.hpp index b78e1138c..d88a895b3 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/covariance/Summand.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/covariance/Summand.hpp @@ -59,9 +59,16 @@ class Summand : public Component { this->coefficient, \ this->href) - // default, and from fields + // default + Summand() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Summand( - const wrapper> &ENDF_MFMT = {}, + const wrapper> &ENDF_MFMT, const wrapper> &coefficient = {}, const wrapper> &href = {} ) : @@ -82,17 +89,21 @@ class Summand : public Component { // copy Summand(const Summand &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MFMT(this,other.ENDF_MFMT), + coefficient(this,other.coefficient), + href(this,other.href) { - *this = other; Component::finish(other); } // move Summand(Summand &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MFMT(this,std::move(other.ENDF_MFMT)), + coefficient(this,std::move(other.coefficient)), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp index c4b150fbc..b1fc236cf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/CoulombPlusNuclearElastic.hpp @@ -45,10 +45,8 @@ class CoulombPlusNuclearElastic : public Component{} / Meta<>("productFrame") | // children - std::optional{} - / --Child<>("RutherfordScattering") | - std::optional{} - / --Child<>("nuclearAmplitudeExpansion") + --Child>("RutherfordScattering") | + --Child>("nuclearAmplitudeExpansion") ; } @@ -84,10 +82,17 @@ class CoulombPlusNuclearElastic : public ComponentRutherfordScattering, \ this->nuclearAmplitudeExpansion) - // default, and from fields + // default + CoulombPlusNuclearElastic() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit CoulombPlusNuclearElastic( - const wrapper> &href = {}, + const wrapper> &href, const wrapper> &identicalParticles = {}, const wrapper &label = {}, const wrapper> &pid = {}, @@ -116,17 +121,29 @@ class CoulombPlusNuclearElastic : public Component{} - / --Child<>("XYs2d") | - std::optional{} - / --Child<>("regions2d") + --Child>("XYs2d") | + --Child>("regions2d") ; } @@ -56,9 +54,16 @@ class ImaginaryInterferenceTerm : public ComponentXYs2d, \ this->regions2d) - // default, and from fields + // default + ImaginaryInterferenceTerm() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ImaginaryInterferenceTerm( - const wrapper> &XYs2d = {}, + const wrapper> &XYs2d, const wrapper> ®ions2d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class ImaginaryInterferenceTerm : public Component("nuclearTerm") | - cpTransport::RealInterferenceTerm{} - / --Child<>("realInterferenceTerm") | - cpTransport::ImaginaryInterferenceTerm{} - / --Child<>("imaginaryInterferenceTerm") + --Child("nuclearTerm") | + --Child("realInterferenceTerm") | + --Child("imaginaryInterferenceTerm") ; } @@ -61,9 +58,16 @@ class NuclearAmplitudeExpansion : public ComponentrealInterferenceTerm, \ this->imaginaryInterferenceTerm) - // default, and from fields + // default + NuclearAmplitudeExpansion() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit NuclearAmplitudeExpansion( - const wrapper &nuclearTerm = {}, + const wrapper &nuclearTerm, const wrapper &realInterferenceTerm = {}, const wrapper &imaginaryInterferenceTerm = {} ) : @@ -84,17 +88,21 @@ class NuclearAmplitudeExpansion : public Component("muCutoff") | // children - transport::CrossSection{} - / --Child<>("crossSection") | - transport::Distribution{} - / --Child<>("distribution") + --Child("crossSection") | + --Child("distribution") ; } @@ -63,9 +61,16 @@ class NuclearPlusInterference : public ComponentcrossSection, \ this->distribution) - // default, and from fields + // default + NuclearPlusInterference() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit NuclearPlusInterference( - const wrapper &muCutoff = {}, + const wrapper &muCutoff, const wrapper &crossSection = {}, const wrapper &distribution = {} ) : @@ -86,17 +91,21 @@ class NuclearPlusInterference : public Component { { return // children - std::optional{} - / --Child<>("XYs2d") | - std::optional{} - / --Child<>("regions2d") + --Child>("XYs2d") | + --Child>("regions2d") ; } @@ -56,9 +54,16 @@ class NuclearTerm : public Component { this->XYs2d, \ this->regions2d) - // default, and from fields + // default + NuclearTerm() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit NuclearTerm( - const wrapper> &XYs2d = {}, + const wrapper> &XYs2d, const wrapper> ®ions2d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class NuclearTerm : public Component { // copy NuclearTerm(const NuclearTerm &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs2d(this,other.XYs2d), + regions2d(this,other.regions2d) { - *this = other; Component::finish(other); } // move NuclearTerm(NuclearTerm &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs2d(this,std::move(other.XYs2d)), + regions2d(this,std::move(other.regions2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm.hpp index 4b4ee55f6..4128b297e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RealInterferenceTerm.hpp @@ -34,10 +34,8 @@ class RealInterferenceTerm : public Component { return // children - std::optional{} - / --Child<>("XYs2d") | - std::optional{} - / --Child<>("regions2d") + --Child>("XYs2d") | + --Child>("regions2d") ; } @@ -56,9 +54,16 @@ class RealInterferenceTerm : public Component this->XYs2d, \ this->regions2d) - // default, and from fields + // default + RealInterferenceTerm() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit RealInterferenceTerm( - const wrapper> &XYs2d = {}, + const wrapper> &XYs2d, const wrapper> ®ions2d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class RealInterferenceTerm : public Component // copy RealInterferenceTerm(const RealInterferenceTerm &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs2d(this,other.XYs2d), + regions2d(this,other.regions2d) { - *this = other; Component::finish(other); } // move RealInterferenceTerm(RealInterferenceTerm &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs2d(this,std::move(other.XYs2d)), + regions2d(this,std::move(other.regions2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering.hpp b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering.hpp index 8be0a2c2f..fb8ec2c2b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/cpTransport/RutherfordScattering.hpp @@ -61,7 +61,6 @@ class RutherfordScattering : public Component RutherfordScattering(const RutherfordScattering &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class RutherfordScattering : public Component RutherfordScattering(RutherfordScattering &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract.hpp index 4db41953c..b58a9cb0e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Abstract.hpp @@ -66,10 +66,17 @@ class Abstract : public Component { this->markup, \ this->label) - // default, and from fields + // default + Abstract() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Abstract( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class Abstract : public Component { // copy Abstract(const Abstract &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label) { - *this = other; Component::finish(other); } // move Abstract(Abstract &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp index b4013001f..788208123 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgement.hpp @@ -70,10 +70,17 @@ class Acknowledgement : public Component { this->label, \ this->type) - // default, and from fields + // default + Acknowledgement() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Acknowledgement( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {}, const wrapper &type = {} @@ -104,17 +111,23 @@ class Acknowledgement : public Component { // copy Acknowledgement(const Acknowledgement &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label), + type(this,other.type) { - *this = other; Component::finish(other); } // move Acknowledgement(Acknowledgement &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)), + type(this,std::move(other.type)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements.hpp index b8a7f8913..4f09c459a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Acknowledgements.hpp @@ -33,8 +33,7 @@ class Acknowledgements : public Component { { return // children - documentation::Acknowledgement{} - / ++Child<>("acknowledgement") + ++Child("acknowledgement") ; } @@ -51,9 +50,16 @@ class Acknowledgements : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->acknowledgement) - // default, and from fields + // default + Acknowledgements() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Acknowledgements( - const wrapper> &acknowledgement = {} + const wrapper> &acknowledgement ) : GNDSTK_COMPONENT(BlockData{}), acknowledgement(this,acknowledgement) @@ -70,17 +76,17 @@ class Acknowledgements : public Component { // copy Acknowledgements(const Acknowledgements &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + acknowledgement(this,other.acknowledgement) { - *this = other; Component::finish(other); } // move Acknowledgements(Acknowledgements &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + acknowledgement(this,std::move(other.acknowledgement)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation.hpp index 36c7c0879..8b4c9d53d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliation.hpp @@ -55,9 +55,16 @@ class Affiliation : public Component { this->name, \ this->href) - // default, and from fields + // default + Affiliation() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Affiliation( - const wrapper &name = {}, + const wrapper &name, const wrapper> &href = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Affiliation : public Component { // copy Affiliation(const Affiliation &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name), + href(this,other.href) { - *this = other; Component::finish(other); } // move Affiliation(Affiliation &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations.hpp index f4f83e244..e9eaf7d12 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Affiliations.hpp @@ -33,8 +33,7 @@ class Affiliations : public Component { { return // children - documentation::Affiliation{} - / ++Child<>("affiliation") + ++Child("affiliation") ; } @@ -51,9 +50,16 @@ class Affiliations : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->affiliation) - // default, and from fields + // default + Affiliations() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Affiliations( - const wrapper> &affiliation = {} + const wrapper> &affiliation ) : GNDSTK_COMPONENT(BlockData{}), affiliation(this,affiliation) @@ -70,17 +76,17 @@ class Affiliations : public Component { // copy Affiliations(const Affiliations &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + affiliation(this,other.affiliation) { - *this = other; Component::finish(other); } // move Affiliations(Affiliations &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + affiliation(this,std::move(other.affiliation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Author.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Author.hpp index 62da8c221..af1f38b59 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Author.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Author.hpp @@ -41,10 +41,8 @@ class Author : public Component { std::optional{} / Meta<>("email") | // children - std::optional{} - / --Child<>("affiliations") | - std::optional{} - / --Child<>("note") + --Child>("affiliations") | + --Child>("note") ; } @@ -71,9 +69,16 @@ class Author : public Component { this->affiliations, \ this->note) - // default, and from fields + // default + Author() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Author( - const wrapper &name = {}, + const wrapper &name, const wrapper> &orcid = {}, const wrapper> &email = {}, const wrapper> &affiliations = {}, @@ -98,17 +103,25 @@ class Author : public Component { // copy Author(const Author &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name), + orcid(this,other.orcid), + email(this,other.email), + affiliations(this,other.affiliations), + note(this,other.note) { - *this = other; Component::finish(other); } // move Author(Author &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)), + orcid(this,std::move(other.orcid)), + email(this,std::move(other.email)), + affiliations(this,std::move(other.affiliations)), + note(this,std::move(other.note)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Authors.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Authors.hpp index ed57e8ad3..c1c1df98a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Authors.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Authors.hpp @@ -33,8 +33,7 @@ class Authors : public Component { { return // children - documentation::Author{} - / ++Child<>("author") + ++Child("author") ; } @@ -51,9 +50,16 @@ class Authors : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->author) - // default, and from fields + // default + Authors() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Authors( - const wrapper> &author = {} + const wrapper> &author ) : GNDSTK_COMPONENT(BlockData{}), author(this,author) @@ -70,17 +76,17 @@ class Authors : public Component { // copy Authors(const Authors &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + author(this,other.author) { - *this = other; Component::finish(other); } // move Authors(Authors &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + author(this,std::move(other.author)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem.hpp index 58ee9a588..0b4e53908 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibitem.hpp @@ -70,10 +70,17 @@ class Bibitem : public Component { this->label, \ this->xref) - // default, and from fields + // default + Bibitem() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Bibitem( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {}, const wrapper &xref = {} @@ -104,17 +111,23 @@ class Bibitem : public Component { // copy Bibitem(const Bibitem &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label), + xref(this,other.xref) { - *this = other; Component::finish(other); } // move Bibitem(Bibitem &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)), + xref(this,std::move(other.xref)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography.hpp index 46c49916e..19b24a8b1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Bibliography.hpp @@ -33,8 +33,7 @@ class Bibliography : public Component { { return // children - documentation::Bibitem{} - / ++Child<>("bibitem") + ++Child("bibitem") ; } @@ -51,9 +50,16 @@ class Bibliography : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->bibitem) - // default, and from fields + // default + Bibliography() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Bibliography( - const wrapper> &bibitem = {} + const wrapper> &bibitem ) : GNDSTK_COMPONENT(BlockData{}), bibitem(this,bibitem) @@ -70,17 +76,17 @@ class Bibliography : public Component { // copy Bibliography(const Bibliography &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + bibitem(this,other.bibitem) { - *this = other; Component::finish(other); } // move Bibliography(Bibliography &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + bibitem(this,std::move(other.bibitem)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Body.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Body.hpp index 2531a7370..ff3214cea 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Body.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Body.hpp @@ -66,10 +66,17 @@ class Body : public Component { this->markup, \ this->label) - // default, and from fields + // default + Body() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Body( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class Body : public Component { // copy Body(const Body &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label) { - *this = other; Component::finish(other); } // move Body(Body &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo.hpp index 3b554a277..a992184a2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/CodeRepo.hpp @@ -63,9 +63,16 @@ class CodeRepo : public Component { this->href, \ this->revisionID) - // default, and from fields + // default + CodeRepo() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CodeRepo( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &revisionSystem = {}, const wrapper &href = {}, const wrapper &revisionID = {} @@ -88,17 +95,23 @@ class CodeRepo : public Component { // copy CodeRepo(const CodeRepo &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + revisionSystem(this,other.revisionSystem), + href(this,other.href), + revisionID(this,other.revisionID) { - *this = other; Component::finish(other); } // move CodeRepo(CodeRepo &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + revisionSystem(this,std::move(other.revisionSystem)), + href(this,std::move(other.href)), + revisionID(this,std::move(other.revisionID)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration.hpp index 6424ad5ac..70fa2e1cd 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaboration.hpp @@ -55,9 +55,16 @@ class Collaboration : public Component { this->name, \ this->href) - // default, and from fields + // default + Collaboration() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Collaboration( - const wrapper &name = {}, + const wrapper &name, const wrapper> &href = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Collaboration : public Component { // copy Collaboration(const Collaboration &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name), + href(this,other.href) { - *this = other; Component::finish(other); } // move Collaboration(Collaboration &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations.hpp index 5c321b13e..399007108 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Collaborations.hpp @@ -33,8 +33,7 @@ class Collaborations : public Component { { return // children - documentation::Collaboration{} - / ++Child<>("collaboration") + ++Child("collaboration") ; } @@ -51,9 +50,16 @@ class Collaborations : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->collaboration) - // default, and from fields + // default + Collaborations() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Collaborations( - const wrapper> &collaboration = {} + const wrapper> &collaboration ) : GNDSTK_COMPONENT(BlockData{}), collaboration(this,collaboration) @@ -70,17 +76,17 @@ class Collaborations : public Component { // copy Collaborations(const Collaborations &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + collaboration(this,other.collaboration) { - *this = other; Component::finish(other); } // move Collaborations(Collaborations &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + collaboration(this,std::move(other.collaboration)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode.hpp index 5e1c1df21..fe976de0c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCode.hpp @@ -44,16 +44,11 @@ class ComputerCode : public Component { XMLName{} / Meta<>("version") | // children - std::optional{} - / --Child<>("executionArguments") | - std::optional{} - / --Child<>("codeRepo") | - std::optional{} - / --Child<>("note") | - std::optional{} - / --Child<>("inputDecks") | - std::optional{} - / --Child<>("outputDecks") + --Child>("executionArguments") | + --Child>("codeRepo") | + --Child>("note") | + --Child>("inputDecks") | + --Child>("outputDecks") ; } @@ -86,9 +81,16 @@ class ComputerCode : public Component { this->inputDecks, \ this->outputDecks) - // default, and from fields + // default + ComputerCode() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ComputerCode( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &name = {}, const wrapper &version = {}, const wrapper> &executionArguments = {}, @@ -119,17 +121,31 @@ class ComputerCode : public Component { // copy ComputerCode(const ComputerCode &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + name(this,other.name), + version(this,other.version), + executionArguments(this,other.executionArguments), + codeRepo(this,other.codeRepo), + note(this,other.note), + inputDecks(this,other.inputDecks), + outputDecks(this,other.outputDecks) { - *this = other; Component::finish(other); } // move ComputerCode(ComputerCode &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + name(this,std::move(other.name)), + version(this,std::move(other.version)), + executionArguments(this,std::move(other.executionArguments)), + codeRepo(this,std::move(other.codeRepo)), + note(this,std::move(other.note)), + inputDecks(this,std::move(other.inputDecks)), + outputDecks(this,std::move(other.outputDecks)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes.hpp index 3975fdc05..db2fd017a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ComputerCodes.hpp @@ -33,8 +33,7 @@ class ComputerCodes : public Component { { return // children - documentation::ComputerCode{} - / ++Child<>("computerCode") + ++Child("computerCode") ; } @@ -51,9 +50,16 @@ class ComputerCodes : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->computerCode) - // default, and from fields + // default + ComputerCodes() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ComputerCodes( - const wrapper> &computerCode = {} + const wrapper> &computerCode ) : GNDSTK_COMPONENT(BlockData{}), computerCode(this,computerCode) @@ -70,17 +76,17 @@ class ComputerCodes : public Component { // copy ComputerCodes(const ComputerCodes &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + computerCode(this,other.computerCode) { - *this = other; Component::finish(other); } // move ComputerCodes(ComputerCodes &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + computerCode(this,std::move(other.computerCode)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor.hpp index af36d948b..a0dca0319 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributor.hpp @@ -43,10 +43,8 @@ class Contributor : public Component { std::optional{} / Meta<>("email") | // children - std::optional{} - / --Child<>("affiliations") | - std::optional{} - / --Child<>("note") + --Child>("affiliations") | + --Child>("note") ; } @@ -75,9 +73,16 @@ class Contributor : public Component { this->affiliations, \ this->note) - // default, and from fields + // default + Contributor() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Contributor( - const wrapper &name = {}, + const wrapper &name, const wrapper &contributorType = {}, const wrapper> &orcid = {}, const wrapper> &email = {}, @@ -104,17 +109,27 @@ class Contributor : public Component { // copy Contributor(const Contributor &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name), + contributorType(this,other.contributorType), + orcid(this,other.orcid), + email(this,other.email), + affiliations(this,other.affiliations), + note(this,other.note) { - *this = other; Component::finish(other); } // move Contributor(Contributor &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)), + contributorType(this,std::move(other.contributorType)), + orcid(this,std::move(other.orcid)), + email(this,std::move(other.email)), + affiliations(this,std::move(other.affiliations)), + note(this,std::move(other.note)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors.hpp index 3a1381749..e677c5491 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Contributors.hpp @@ -33,8 +33,7 @@ class Contributors : public Component { { return // children - documentation::Author{} - / ++Child<>("contributor") + ++Child("contributor") ; } @@ -51,9 +50,16 @@ class Contributors : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->contributor) - // default, and from fields + // default + Contributors() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Contributors( - const wrapper> &contributor = {} + const wrapper> &contributor ) : GNDSTK_COMPONENT(BlockData{}), contributor(this,contributor) @@ -70,17 +76,17 @@ class Contributors : public Component { // copy Contributors(const Contributors &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + contributor(this,other.contributor) { - *this = other; Component::finish(other); } // move Contributors(Contributors &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + contributor(this,std::move(other.contributor)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright.hpp index 1cd9f730e..9d11a6db4 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Copyright.hpp @@ -70,10 +70,17 @@ class Copyright : public Component { this->label, \ this->href) - // default, and from fields + // default + Copyright() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Copyright( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {}, const wrapper> &href = {} @@ -104,17 +111,23 @@ class Copyright : public Component { // copy Copyright(const Copyright &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label), + href(this,other.href) { - *this = other; Component::finish(other); } // move Copyright(Copyright &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript.hpp index 605a9a812..0f96d6b38 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/CorrectionScript.hpp @@ -66,10 +66,17 @@ class CorrectionScript : public Component this->markup, \ this->label) - // default, and from fields + // default + CorrectionScript() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit CorrectionScript( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class CorrectionScript : public Component // copy CorrectionScript(const CorrectionScript &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label) { - *this = other; Component::finish(other); } // move CorrectionScript(CorrectionScript &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript.hpp index 8267690a6..6c435b1c9 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/CovarianceScript.hpp @@ -66,10 +66,17 @@ class CovarianceScript : public Component this->markup, \ this->label) - // default, and from fields + // default + CovarianceScript() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit CovarianceScript( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class CovarianceScript : public Component // copy CovarianceScript(const CovarianceScript &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label) { - *this = other; Component::finish(other); } // move CovarianceScript(CovarianceScript &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Date.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Date.hpp index 9a439938d..d906e3385 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Date.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Date.hpp @@ -55,9 +55,16 @@ class Date : public Component { this->dateType, \ this->value) - // default, and from fields + // default + Date() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Date( - const wrapper &dateType = {}, + const wrapper &dateType, const wrapper &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Date : public Component { // copy Date(const Date &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + dateType(this,other.dateType), + value(this,other.value) { - *this = other; Component::finish(other); } // move Date(Date &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + dateType(this,std::move(other.dateType)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Dates.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Dates.hpp index bb0eef855..961df6bf0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Dates.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Dates.hpp @@ -33,8 +33,7 @@ class Dates : public Component { { return // children - documentation::Date{} - / ++Child<>("date") + ++Child("date") ; } @@ -51,9 +50,16 @@ class Dates : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->date) - // default, and from fields + // default + Dates() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Dates( - const wrapper> &date = {} + const wrapper> &date ) : GNDSTK_COMPONENT(BlockData{}), date(this,date) @@ -70,17 +76,17 @@ class Dates : public Component { // copy Dates(const Dates &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date) { - *this = other; Component::finish(other); } // move Dates(Dates &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation.hpp index 26cb6b964..60001af72 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Documentation.hpp @@ -54,36 +54,21 @@ class Documentation : public Component { std::optional{} / Meta<>("version") | // children - documentation::Authors{} - / --Child<>("authors") | - std::optional{} - / --Child<>("contributors") | - std::optional{} - / --Child<>("collaborations") | - documentation::Dates{} - / --Child<>("dates") | - std::optional{} - / --Child<>("copyright") | - std::optional{} - / --Child<>("acknowledgements") | - std::optional{} - / --Child<>("keywords") | - std::optional{} - / --Child<>("relatedItems") | - documentation::Title{} - / --Child<>("title") | - std::optional{} - / --Child<>("abstract") | - documentation::Body{} - / --Child<>("body") | - std::optional{} - / --Child<>("computerCodes") | - std::optional{} - / --Child<>("experimentalDataSets") | - std::optional{} - / --Child<>("bibliography") | - std::optional{} - / --Child<>("endfCompatible") + --Child("authors") | + --Child>("contributors") | + --Child>("collaborations") | + --Child("dates") | + --Child>("copyright") | + --Child>("acknowledgements") | + --Child>("keywords") | + --Child>("relatedItems") | + --Child("title") | + --Child>("abstract") | + --Child("body") | + --Child>("computerCodes") | + --Child>("experimentalDataSets") | + --Child>("bibliography") | + --Child>("endfCompatible") ; } @@ -136,9 +121,16 @@ class Documentation : public Component { this->bibliography, \ this->endfCompatible) - // default, and from fields + // default + Documentation() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Documentation( - const wrapper> &doi = {}, + const wrapper> &doi, const wrapper> &publicationDate = {}, const wrapper> &version = {}, const wrapper &authors = {}, @@ -189,17 +181,51 @@ class Documentation : public Component { // copy Documentation(const Documentation &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + doi(this,other.doi), + publicationDate(this,other.publicationDate), + version(this,other.version), + authors(this,other.authors), + contributors(this,other.contributors), + collaborations(this,other.collaborations), + dates(this,other.dates), + copyright(this,other.copyright), + acknowledgements(this,other.acknowledgements), + keywords(this,other.keywords), + relatedItems(this,other.relatedItems), + title(this,other.title), + abstract(this,other.abstract), + body(this,other.body), + computerCodes(this,other.computerCodes), + experimentalDataSets(this,other.experimentalDataSets), + bibliography(this,other.bibliography), + endfCompatible(this,other.endfCompatible) { - *this = other; Component::finish(other); } // move Documentation(Documentation &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + doi(this,std::move(other.doi)), + publicationDate(this,std::move(other.publicationDate)), + version(this,std::move(other.version)), + authors(this,std::move(other.authors)), + contributors(this,std::move(other.contributors)), + collaborations(this,std::move(other.collaborations)), + dates(this,std::move(other.dates)), + copyright(this,std::move(other.copyright)), + acknowledgements(this,std::move(other.acknowledgements)), + keywords(this,std::move(other.keywords)), + relatedItems(this,std::move(other.relatedItems)), + title(this,std::move(other.title)), + abstract(this,std::move(other.abstract)), + body(this,std::move(other.body)), + computerCodes(this,std::move(other.computerCodes)), + experimentalDataSets(this,std::move(other.experimentalDataSets)), + bibliography(this,std::move(other.bibliography)), + endfCompatible(this,std::move(other.endfCompatible)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible.hpp index ce6a86313..17a977197 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/EndfCompatible.hpp @@ -66,10 +66,17 @@ class EndfCompatible : public Component { this->markup, \ this->label) - // default, and from fields + // default + EndfCompatible() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit EndfCompatible( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class EndfCompatible : public Component { // copy EndfCompatible(const EndfCompatible &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label) { - *this = other; Component::finish(other); } // move EndfCompatible(EndfCompatible &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/ExecutionArguments.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExecutionArguments.hpp index ac6ae58d1..7efab98a0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/ExecutionArguments.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExecutionArguments.hpp @@ -66,10 +66,17 @@ class ExecutionArguments : public Componentmarkup, \ this->label) - // default, and from fields + // default + ExecutionArguments() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit ExecutionArguments( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class ExecutionArguments : public Component { std::string{} / Meta<>("retrievalDate") | // children - std::optional{} - / --Child<>("covarianceScript") | - std::optional{} - / --Child<>("correctionScript") | - std::optional{} - / --Child<>("note") + --Child>("covarianceScript") | + --Child>("correctionScript") | + --Child>("note") ; } @@ -72,9 +69,16 @@ class ExforDataSet : public Component { this->correctionScript, \ this->note) - // default, and from fields + // default + ExforDataSet() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ExforDataSet( - const wrapper &subentry = {}, + const wrapper &subentry, const wrapper &retrievalDate = {}, const wrapper> &covarianceScript = {}, const wrapper> &correctionScript = {}, @@ -99,17 +103,25 @@ class ExforDataSet : public Component { // copy ExforDataSet(const ExforDataSet &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + subentry(this,other.subentry), + retrievalDate(this,other.retrievalDate), + covarianceScript(this,other.covarianceScript), + correctionScript(this,other.correctionScript), + note(this,other.note) { - *this = other; Component::finish(other); } // move ExforDataSet(ExforDataSet &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + subentry(this,std::move(other.subentry)), + retrievalDate(this,std::move(other.retrievalDate)), + covarianceScript(this,std::move(other.covarianceScript)), + correctionScript(this,std::move(other.correctionScript)), + note(this,std::move(other.note)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets.hpp index a1a10efa3..8479e5b24 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExforDataSets.hpp @@ -33,8 +33,7 @@ class ExforDataSets : public Component { { return // children - documentation::ExforDataSet{} - / ++Child<>("exforDataSet") + ++Child("exforDataSet") ; } @@ -51,9 +50,16 @@ class ExforDataSets : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->exforDataSet) - // default, and from fields + // default + ExforDataSets() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ExforDataSets( - const wrapper> &exforDataSet = {} + const wrapper> &exforDataSet ) : GNDSTK_COMPONENT(BlockData{}), exforDataSet(this,exforDataSet) @@ -70,17 +76,17 @@ class ExforDataSets : public Component { // copy ExforDataSets(const ExforDataSets &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + exforDataSet(this,other.exforDataSet) { - *this = other; Component::finish(other); } // move ExforDataSets(ExforDataSets &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + exforDataSet(this,std::move(other.exforDataSet)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/ExperimentalDataSets.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExperimentalDataSets.hpp index aaffb75b8..6bbe76ad5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/ExperimentalDataSets.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/ExperimentalDataSets.hpp @@ -33,8 +33,7 @@ class ExperimentalDataSets : public Component("exforDataSets") + --Child("exforDataSets") ; } @@ -51,9 +50,16 @@ class ExperimentalDataSets : public ComponentexforDataSets) - // default, and from fields + // default + ExperimentalDataSets() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ExperimentalDataSets( - const wrapper &exforDataSets = {} + const wrapper &exforDataSets ) : GNDSTK_COMPONENT(BlockData{}), exforDataSets(this,exforDataSets) @@ -70,17 +76,17 @@ class ExperimentalDataSets : public Component { this->label, \ this->filename) - // default, and from fields + // default + InputDeck() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit InputDeck( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {}, const wrapper> &filename = {} @@ -104,17 +111,23 @@ class InputDeck : public Component { // copy InputDeck(const InputDeck &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label), + filename(this,other.filename) { - *this = other; Component::finish(other); } // move InputDeck(InputDeck &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)), + filename(this,std::move(other.filename)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks.hpp index ad82dec9b..c4dc87a9b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/InputDecks.hpp @@ -33,8 +33,7 @@ class InputDecks : public Component { { return // children - documentation::InputDeck{} - / ++Child<>("inputDeck") + ++Child("inputDeck") ; } @@ -51,9 +50,16 @@ class InputDecks : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->inputDeck) - // default, and from fields + // default + InputDecks() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit InputDecks( - const wrapper> &inputDeck = {} + const wrapper> &inputDeck ) : GNDSTK_COMPONENT(BlockData{}), inputDeck(this,inputDeck) @@ -70,17 +76,17 @@ class InputDecks : public Component { // copy InputDecks(const InputDecks &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + inputDeck(this,other.inputDeck) { - *this = other; Component::finish(other); } // move InputDecks(InputDecks &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + inputDeck(this,std::move(other.inputDeck)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword.hpp index 989b0946d..f97507663 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keyword.hpp @@ -70,10 +70,17 @@ class Keyword : public Component { this->label, \ this->type) - // default, and from fields + // default + Keyword() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Keyword( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {}, const wrapper &type = {} @@ -104,17 +111,23 @@ class Keyword : public Component { // copy Keyword(const Keyword &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label), + type(this,other.type) { - *this = other; Component::finish(other); } // move Keyword(Keyword &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)), + type(this,std::move(other.type)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords.hpp index 7832d1904..016d2529f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Keywords.hpp @@ -33,8 +33,7 @@ class Keywords : public Component { { return // children - documentation::Keyword{} - / ++Child<>("keyword") + ++Child("keyword") ; } @@ -51,9 +50,16 @@ class Keywords : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->keyword) - // default, and from fields + // default + Keywords() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Keywords( - const wrapper> &keyword = {} + const wrapper> &keyword ) : GNDSTK_COMPONENT(BlockData{}), keyword(this,keyword) @@ -70,17 +76,17 @@ class Keywords : public Component { // copy Keywords(const Keywords &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + keyword(this,other.keyword) { - *this = other; Component::finish(other); } // move Keywords(Keywords &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + keyword(this,std::move(other.keyword)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Note.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Note.hpp index 109d33528..2df97787c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Note.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Note.hpp @@ -66,10 +66,17 @@ class Note : public Component { this->markup, \ this->label) - // default, and from fields + // default + Note() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Note( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class Note : public Component { // copy Note(const Note &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label) { - *this = other; Component::finish(other); } // move Note(Note &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck.hpp index 25ba5cf03..f9a3a85f1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDeck.hpp @@ -70,10 +70,17 @@ class OutputDeck : public Component { this->label, \ this->filename) - // default, and from fields + // default + OutputDeck() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit OutputDeck( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {}, const wrapper> &filename = {} @@ -104,17 +111,23 @@ class OutputDeck : public Component { // copy OutputDeck(const OutputDeck &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label), + filename(this,other.filename) { - *this = other; Component::finish(other); } // move OutputDeck(OutputDeck &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)), + filename(this,std::move(other.filename)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks.hpp index 6eb234428..c8da6023c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/OutputDecks.hpp @@ -33,8 +33,7 @@ class OutputDecks : public Component { { return // children - documentation::OutputDeck{} - / ++Child<>("outputDeck") + ++Child("outputDeck") ; } @@ -51,9 +50,16 @@ class OutputDecks : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->outputDeck) - // default, and from fields + // default + OutputDecks() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit OutputDecks( - const wrapper> &outputDeck = {} + const wrapper> &outputDeck ) : GNDSTK_COMPONENT(BlockData{}), outputDeck(this,outputDeck) @@ -70,17 +76,17 @@ class OutputDecks : public Component { // copy OutputDecks(const OutputDecks &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + outputDeck(this,other.outputDeck) { - *this = other; Component::finish(other); } // move OutputDecks(OutputDecks &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + outputDeck(this,std::move(other.outputDeck)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem.hpp index df889fd8f..acb57db67 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItem.hpp @@ -59,9 +59,16 @@ class RelatedItem : public Component { this->href, \ this->relationType) - // default, and from fields + // default + RelatedItem() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit RelatedItem( - const wrapper &name = {}, + const wrapper &name, const wrapper> &href = {}, const wrapper> &relationType = {} ) : @@ -82,17 +89,21 @@ class RelatedItem : public Component { // copy RelatedItem(const RelatedItem &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name), + href(this,other.href), + relationType(this,other.relationType) { - *this = other; Component::finish(other); } // move RelatedItem(RelatedItem &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)), + href(this,std::move(other.href)), + relationType(this,std::move(other.relationType)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems.hpp index e09343860..cbc38c7b1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/RelatedItems.hpp @@ -33,8 +33,7 @@ class RelatedItems : public Component { { return // children - documentation::RelatedItem{} - / ++Child<>("relatedItem") + ++Child("relatedItem") ; } @@ -51,9 +50,16 @@ class RelatedItems : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->relatedItem) - // default, and from fields + // default + RelatedItems() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit RelatedItems( - const wrapper> &relatedItem = {} + const wrapper> &relatedItem ) : GNDSTK_COMPONENT(BlockData{}), relatedItem(this,relatedItem) @@ -70,17 +76,17 @@ class RelatedItems : public Component { // copy RelatedItems(const RelatedItems &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + relatedItem(this,other.relatedItem) { - *this = other; Component::finish(other); } // move RelatedItems(RelatedItems &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + relatedItem(this,std::move(other.relatedItem)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Title.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Title.hpp index cce300605..90af764c9 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Title.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Title.hpp @@ -66,10 +66,17 @@ class Title : public Component { this->markup, \ this->label) - // default, and from fields + // default + Title() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Title( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class Title : public Component { // copy Title(const Title &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label) { - *this = other; Component::finish(other); } // move Title(Title &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/documentation/Version.hpp b/standards/gnds-2.0/test/src/test/v2.0/documentation/Version.hpp index 7820a55a4..5063695a9 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/documentation/Version.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/documentation/Version.hpp @@ -66,10 +66,17 @@ class Version : public Component { this->markup, \ this->label) - // default, and from fields + // default + Version() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Version( - const wrapper> &encoding = {}, + const wrapper> &encoding, const wrapper> &markup = {}, const wrapper> &label = {} ) : @@ -98,17 +105,21 @@ class Version : public Component { // copy Version(const Version &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,other.encoding), + markup(this,other.markup), + label(this,other.label) { - *this = other; Component::finish(other); } // move Version(Version &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + encoding(this,std::move(other.encoding)), + markup(this,std::move(other.markup)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/extra/Double.hpp b/standards/gnds-2.0/test/src/test/v2.0/extra/Double.hpp index c897bc938..d5b03bc4f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/extra/Double.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/extra/Double.hpp @@ -59,9 +59,16 @@ class Double : public Component { this->unit, \ this->value) - // default, and from fields + // default + Double() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Double( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper &value = {} ) : @@ -82,17 +89,21 @@ class Double : public Component { // copy Double(const Double &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move Double(Double &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty.hpp b/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty.hpp index ee6577a5a..407b7bd5b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/extra/Uncertainty.hpp @@ -37,16 +37,11 @@ class Uncertainty : public Component { { return // children - std::optional{} - / --Child<>("standard") | - std::optional{} - / --Child<>("logNormal") | - std::optional{} - / --Child<>("confidenceIntervals") | - std::optional{} - / --Child<>("covariance") | - std::optional{} - / --Child<>("listOfCovariances") + --Child>("standard") | + --Child>("logNormal") | + --Child>("confidenceIntervals") | + --Child>("covariance") | + --Child>("listOfCovariances") ; } @@ -71,9 +66,16 @@ class Uncertainty : public Component { this->covariance, \ this->listOfCovariances) - // default, and from fields + // default + Uncertainty() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Uncertainty( - const wrapper> &standard = {}, + const wrapper> &standard, const wrapper> &logNormal = {}, const wrapper> &confidenceIntervals = {}, const wrapper> &covariance = {}, @@ -98,17 +100,25 @@ class Uncertainty : public Component { // copy Uncertainty(const Uncertainty &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + standard(this,other.standard), + logNormal(this,other.logNormal), + confidenceIntervals(this,other.confidenceIntervals), + covariance(this,other.covariance), + listOfCovariances(this,other.listOfCovariances) { - *this = other; Component::finish(other); } // move Uncertainty(Uncertainty &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + standard(this,std::move(other.standard)), + logNormal(this,std::move(other.logNormal)), + confidenceIntervals(this,std::move(other.confidenceIntervals)), + covariance(this,std::move(other.covariance)), + listOfCovariances(this,std::move(other.listOfCovariances)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron.hpp index 24f8adf18..685fcf6c5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutron.hpp @@ -37,10 +37,8 @@ class DelayedNeutron : public Component { XMLName{} / Meta<>("label") | // children - fissionFragmentData::Rate{} - / --Child<>("rate") | - common::Product{} - / --Child<>("product") + --Child("rate") | + --Child("product") ; } @@ -63,9 +61,16 @@ class DelayedNeutron : public Component { this->rate, \ this->product) - // default, and from fields + // default + DelayedNeutron() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DelayedNeutron( - const wrapper &label = {}, + const wrapper &label, const wrapper &rate = {}, const wrapper &product = {} ) : @@ -86,17 +91,21 @@ class DelayedNeutron : public Component { // copy DelayedNeutron(const DelayedNeutron &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + rate(this,other.rate), + product(this,other.product) { - *this = other; Component::finish(other); } // move DelayedNeutron(DelayedNeutron &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + rate(this,std::move(other.rate)), + product(this,std::move(other.product)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons.hpp index dfb87aa92..ee39921ed 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/DelayedNeutrons.hpp @@ -33,8 +33,7 @@ class DelayedNeutrons : public Component { { return // children - fissionFragmentData::DelayedNeutron{} - / ++Child<>("delayedNeutron") + ++Child("delayedNeutron") ; } @@ -51,9 +50,16 @@ class DelayedNeutrons : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->delayedNeutron) - // default, and from fields + // default + DelayedNeutrons() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DelayedNeutrons( - const wrapper> &delayedNeutron = {} + const wrapper> &delayedNeutron ) : GNDSTK_COMPONENT(BlockData{}), delayedNeutron(this,delayedNeutron) @@ -70,17 +76,17 @@ class DelayedNeutrons : public Component { // copy DelayedNeutrons(const DelayedNeutrons &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + delayedNeutron(this,other.delayedNeutron) { - *this = other; Component::finish(other); } // move DelayedNeutrons(DelayedNeutrons &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + delayedNeutron(this,std::move(other.delayedNeutron)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/FissionFragmentData.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/FissionFragmentData.hpp index b980753bd..bd8f81191 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/FissionFragmentData.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionFragmentData/FissionFragmentData.hpp @@ -35,12 +35,9 @@ class FissionFragmentData : public Component{} - / --Child<>("delayedNeutrons") | - std::optional{} - / --Child<>("fissionEnergyReleased") | - std::optional{} - / --Child<>("productYields") + --Child>("delayedNeutrons") | + --Child>("fissionEnergyReleased") | + --Child>("productYields") ; } @@ -61,9 +58,16 @@ class FissionFragmentData : public ComponentfissionEnergyReleased, \ this->productYields) - // default, and from fields + // default + FissionFragmentData() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit FissionFragmentData( - const wrapper> &delayedNeutrons = {}, + const wrapper> &delayedNeutrons, const wrapper> &fissionEnergyReleased = {}, const wrapper> &productYields = {} ) : @@ -84,17 +88,21 @@ class FissionFragmentData : public Component { { return // children - containers::Double{} - / --Child<>("Double") + --Child("double") ; } @@ -51,9 +50,16 @@ class Rate : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + Rate() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Rate( - const wrapper &Double = {} + const wrapper &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) @@ -70,17 +76,17 @@ class Rate : public Component { // copy Rate(const Rate &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Rate(Rate &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A.hpp index 1e374f2cc..7aad52031 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/A.hpp @@ -61,7 +61,6 @@ class A : public Component { A(const A &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class A : public Component { A(A &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B.hpp index 5130e351b..2bda522d6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/B.hpp @@ -61,7 +61,6 @@ class B : public Component { B(const B &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class B : public Component { B(B &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy.hpp index 06bf8595b..5f117286f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedBetaEnergy.hpp @@ -33,8 +33,7 @@ class DelayedBetaEnergy : public Component { return // children - std::optional{} - / --Child<>("polynomial1d") + --Child>("polynomial1d") ; } @@ -51,9 +50,16 @@ class DelayedBetaEnergy : public Component #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->polynomial1d) - // default, and from fields + // default + DelayedBetaEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DelayedBetaEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) @@ -70,17 +76,17 @@ class DelayedBetaEnergy : public Component // copy DelayedBetaEnergy(const DelayedBetaEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + polynomial1d(this,other.polynomial1d) { - *this = other; Component::finish(other); } // move DelayedBetaEnergy(DelayedBetaEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + polynomial1d(this,std::move(other.polynomial1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedGammaEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedGammaEnergy.hpp index 19d7bed3b..5e851bf70 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedGammaEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/DelayedGammaEnergy.hpp @@ -33,8 +33,7 @@ class DelayedGammaEnergy : public Component{} - / --Child<>("polynomial1d") + --Child>("polynomial1d") ; } @@ -51,9 +50,16 @@ class DelayedGammaEnergy : public Componentpolynomial1d) - // default, and from fields + // default + DelayedGammaEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DelayedGammaEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) @@ -70,17 +76,17 @@ class DelayedGammaEnergy : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("polynomial1d") + --Child>("XYs1d") | + --Child>("polynomial1d") ; } @@ -56,9 +54,16 @@ class DelayedNeutronKE : public Component { this->XYs1d, \ this->polynomial1d) - // default, and from fields + // default + DelayedNeutronKE() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DelayedNeutronKE( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class DelayedNeutronKE : public Component { // copy DelayedNeutronKE(const DelayedNeutronKE &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + polynomial1d(this,other.polynomial1d) { - *this = other; Component::finish(other); } // move DelayedNeutronKE(DelayedNeutronKE &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + polynomial1d(this,std::move(other.polynomial1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH.hpp index 2b59e65ee..f99ab10c9 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFH.hpp @@ -55,9 +55,16 @@ class EFH : public Component { this->unit, \ this->value) - // default, and from fields + // default + EFH() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit EFH( - const wrapper &unit = {}, + const wrapper &unit, const wrapper &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class EFH : public Component { // copy EFH(const EFH &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move EFH(EFH &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL.hpp index 2789a0985..6e9ff4e27 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/EFL.hpp @@ -55,9 +55,16 @@ class EFL : public Component { this->unit, \ this->value) - // default, and from fields + // default + EFL() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit EFL( - const wrapper &unit = {}, + const wrapper &unit, const wrapper &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class EFL : public Component { // copy EFL(const EFL &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move EFL(EFL &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent.hpp index 62ed7f844..3022e6425 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponent.hpp @@ -41,10 +41,8 @@ class FissionComponent : public Component { XMLName{} / Meta<>("label") | // children - std::optional{} - / --Child<>("crossSection") | - std::optional{} - / --Child<>("outputChannel") + --Child>("crossSection") | + --Child>("outputChannel") ; } @@ -71,9 +69,16 @@ class FissionComponent : public Component { this->crossSection, \ this->outputChannel) - // default, and from fields + // default + FissionComponent() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit FissionComponent( - const wrapper> &ENDF_MT = {}, + const wrapper> &ENDF_MT, const wrapper &fissionGenre = {}, const wrapper &label = {}, const wrapper> &crossSection = {}, @@ -98,17 +103,25 @@ class FissionComponent : public Component { // copy FissionComponent(const FissionComponent &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,other.ENDF_MT), + fissionGenre(this,other.fissionGenre), + label(this,other.label), + crossSection(this,other.crossSection), + outputChannel(this,other.outputChannel) { - *this = other; Component::finish(other); } // move FissionComponent(FissionComponent &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,std::move(other.ENDF_MT)), + fissionGenre(this,std::move(other.fissionGenre)), + label(this,std::move(other.label)), + crossSection(this,std::move(other.crossSection)), + outputChannel(this,std::move(other.outputChannel)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents.hpp index e2f2eb8c6..d3cecafba 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionComponents.hpp @@ -33,8 +33,7 @@ class FissionComponents : public Component { return // children - std::optional{} - / ++Child<>("fissionComponent") + ++Child>("fissionComponent") ; } @@ -51,9 +50,16 @@ class FissionComponents : public Component #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->fissionComponent) - // default, and from fields + // default + FissionComponents() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit FissionComponents( - const wrapper>> &fissionComponent = {} + const wrapper>> &fissionComponent ) : GNDSTK_COMPONENT(BlockData{}), fissionComponent(this,fissionComponent) @@ -70,17 +76,17 @@ class FissionComponents : public Component // copy FissionComponents(const FissionComponents &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + fissionComponent(this,other.fissionComponent) { - *this = other; Component::finish(other); } // move FissionComponents(FissionComponents &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + fissionComponent(this,std::move(other.fissionComponent)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionEnergyReleased.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionEnergyReleased.hpp index dd42e6482..0797f2e84 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionEnergyReleased.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/FissionEnergyReleased.hpp @@ -44,24 +44,15 @@ class FissionEnergyReleased : public Component{} / Meta<>("label") | // children - std::optional{} - / --Child<>("delayedBetaEnergy") | - std::optional{} - / --Child<>("delayedGammaEnergy") | - std::optional{} - / --Child<>("delayedNeutronKE") | - std::optional{} - / --Child<>("neutrinoEnergy") | - std::optional{} - / --Child<>("nonNeutrinoEnergy") | - std::optional{} - / --Child<>("promptGammaEnergy") | - std::optional{} - / --Child<>("promptNeutronKE") | - std::optional{} - / --Child<>("promptProductKE") | - std::optional{} - / --Child<>("totalEnergy") + --Child>("delayedBetaEnergy") | + --Child>("delayedGammaEnergy") | + --Child>("delayedNeutronKE") | + --Child>("neutrinoEnergy") | + --Child>("nonNeutrinoEnergy") | + --Child>("promptGammaEnergy") | + --Child>("promptNeutronKE") | + --Child>("promptProductKE") | + --Child>("totalEnergy") ; } @@ -98,9 +89,16 @@ class FissionEnergyReleased : public ComponentpromptProductKE, \ this->totalEnergy) - // default, and from fields + // default + FissionEnergyReleased() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit FissionEnergyReleased( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &delayedBetaEnergy = {}, const wrapper> &delayedGammaEnergy = {}, const wrapper> &delayedNeutronKE = {}, @@ -135,17 +133,35 @@ class FissionEnergyReleased : public Component { { return // children - fissionTransport::EFH{} - / --Child<>("EFH") | - fissionTransport::EFL{} - / --Child<>("EFL") | - fissionTransport::T_M{} - / --Child<>("T_M") + --Child("EFH") | + --Child("EFL") | + --Child("T_M") ; } @@ -61,9 +58,16 @@ class MadlandNix : public Component { this->EFL, \ this->T_M) - // default, and from fields + // default + MadlandNix() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MadlandNix( - const wrapper &EFH = {}, + const wrapper &EFH, const wrapper &EFL = {}, const wrapper &T_M = {} ) : @@ -84,17 +88,21 @@ class MadlandNix : public Component { // copy MadlandNix(const MadlandNix &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + EFH(this,other.EFH), + EFL(this,other.EFL), + T_M(this,other.T_M) { - *this = other; Component::finish(other); } // move MadlandNix(MadlandNix &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + EFH(this,std::move(other.EFH)), + EFL(this,std::move(other.EFL)), + T_M(this,std::move(other.T_M)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy.hpp index 4753d9756..0ac88b873 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NeutrinoEnergy.hpp @@ -33,8 +33,7 @@ class NeutrinoEnergy : public Component { { return // children - std::optional{} - / --Child<>("polynomial1d") + --Child>("polynomial1d") ; } @@ -51,9 +50,16 @@ class NeutrinoEnergy : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->polynomial1d) - // default, and from fields + // default + NeutrinoEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit NeutrinoEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) @@ -70,17 +76,17 @@ class NeutrinoEnergy : public Component { // copy NeutrinoEnergy(const NeutrinoEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + polynomial1d(this,other.polynomial1d) { - *this = other; Component::finish(other); } // move NeutrinoEnergy(NeutrinoEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + polynomial1d(this,std::move(other.polynomial1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp index 09c529815..728261f71 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/NonNeutrinoEnergy.hpp @@ -33,8 +33,7 @@ class NonNeutrinoEnergy : public Component { return // children - std::optional{} - / --Child<>("polynomial1d") + --Child>("polynomial1d") ; } @@ -51,9 +50,16 @@ class NonNeutrinoEnergy : public Component #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->polynomial1d) - // default, and from fields + // default + NonNeutrinoEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit NonNeutrinoEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) @@ -70,17 +76,17 @@ class NonNeutrinoEnergy : public Component // copy NonNeutrinoEnergy(const NonNeutrinoEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + polynomial1d(this,other.polynomial1d) { - *this = other; Component::finish(other); } // move NonNeutrinoEnergy(NonNeutrinoEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + polynomial1d(this,std::move(other.polynomial1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy.hpp index 7230b47b7..48428444b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptGammaEnergy.hpp @@ -34,10 +34,8 @@ class PromptGammaEnergy : public Component { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("polynomial1d") + --Child>("XYs1d") | + --Child>("polynomial1d") ; } @@ -56,9 +54,16 @@ class PromptGammaEnergy : public Component this->XYs1d, \ this->polynomial1d) - // default, and from fields + // default + PromptGammaEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PromptGammaEnergy( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class PromptGammaEnergy : public Component // copy PromptGammaEnergy(const PromptGammaEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + polynomial1d(this,other.polynomial1d) { - *this = other; Component::finish(other); } // move PromptGammaEnergy(PromptGammaEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + polynomial1d(this,std::move(other.polynomial1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE.hpp index 80f42f768..7b361dff6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptNeutronKE.hpp @@ -34,10 +34,8 @@ class PromptNeutronKE : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("polynomial1d") + --Child>("XYs1d") | + --Child>("polynomial1d") ; } @@ -56,9 +54,16 @@ class PromptNeutronKE : public Component { this->XYs1d, \ this->polynomial1d) - // default, and from fields + // default + PromptNeutronKE() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PromptNeutronKE( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class PromptNeutronKE : public Component { // copy PromptNeutronKE(const PromptNeutronKE &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + polynomial1d(this,other.polynomial1d) { - *this = other; Component::finish(other); } // move PromptNeutronKE(PromptNeutronKE &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + polynomial1d(this,std::move(other.polynomial1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE.hpp index 60649e600..b75eef482 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/PromptProductKE.hpp @@ -34,10 +34,8 @@ class PromptProductKE : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("polynomial1d") + --Child>("XYs1d") | + --Child>("polynomial1d") ; } @@ -56,9 +54,16 @@ class PromptProductKE : public Component { this->XYs1d, \ this->polynomial1d) - // default, and from fields + // default + PromptProductKE() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PromptProductKE( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> &polynomial1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class PromptProductKE : public Component { // copy PromptProductKE(const PromptProductKE &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + polynomial1d(this,other.polynomial1d) { - *this = other; Component::finish(other); } // move PromptProductKE(PromptProductKE &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + polynomial1d(this,std::move(other.polynomial1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp index 69f8cf641..4d48f7425 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/SimpleMaxwellianFission.hpp @@ -34,10 +34,8 @@ class SimpleMaxwellianFission : public Component{} - / --Child<>("U") | - std::optional{} - / --Child<>("theta") + --Child>("U") | + --Child>("theta") ; } @@ -56,9 +54,16 @@ class SimpleMaxwellianFission : public ComponentU, \ this->theta) - // default, and from fields + // default + SimpleMaxwellianFission() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit SimpleMaxwellianFission( - const wrapper> &U = {}, + const wrapper> &U, const wrapper> &theta = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class SimpleMaxwellianFission : public Component { { return // children - containers::XYs1d{} - / --Child<>("XYs1d") + --Child("XYs1d") ; } @@ -51,9 +50,16 @@ class T_M : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->XYs1d) - // default, and from fields + // default + T_M() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit T_M( - const wrapper &XYs1d = {} + const wrapper &XYs1d ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) @@ -70,17 +76,17 @@ class T_M : public Component { // copy T_M(const T_M &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d) { - *this = other; Component::finish(other); } // move T_M(T_M &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy.hpp index 32462416a..ec6c6a704 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/TotalEnergy.hpp @@ -33,8 +33,7 @@ class TotalEnergy : public Component { { return // children - std::optional{} - / --Child<>("polynomial1d") + --Child>("polynomial1d") ; } @@ -51,9 +50,16 @@ class TotalEnergy : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->polynomial1d) - // default, and from fields + // default + TotalEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit TotalEnergy( - const wrapper> &polynomial1d = {} + const wrapper> &polynomial1d ) : GNDSTK_COMPONENT(BlockData{}), polynomial1d(this,polynomial1d) @@ -70,17 +76,17 @@ class TotalEnergy : public Component { // copy TotalEnergy(const TotalEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + polynomial1d(this,other.polynomial1d) { - *this = other; Component::finish(other); } // move TotalEnergy(TotalEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + polynomial1d(this,std::move(other.polynomial1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt.hpp b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt.hpp index b87d62a04..d2be3e179 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fissionTransport/Watt.hpp @@ -35,12 +35,9 @@ class Watt : public Component { { return // children - transport::U{} - / --Child<>("U") | - fissionTransport::A{} - / --Child<>("a") | - fissionTransport::B{} - / --Child<>("b") + --Child("U") | + --Child("a") | + --Child("b") ; } @@ -61,9 +58,16 @@ class Watt : public Component { this->a, \ this->b) - // default, and from fields + // default + Watt() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Watt( - const wrapper &U = {}, + const wrapper &U, const wrapper &a = {}, const wrapper &b = {} ) : @@ -84,17 +88,21 @@ class Watt : public Component { // copy Watt(const Watt &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + U(this,other.U), + a(this,other.a), + b(this,other.b) { - *this = other; Component::finish(other); } // move Watt(Watt &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + U(this,std::move(other.U)), + a(this,std::move(other.a)), + b(this,std::move(other.b)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime.hpp index c466c7dd3..2d9cb0944 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTime.hpp @@ -43,8 +43,7 @@ class ElapsedTime : public Component { std::optional{} / Meta<>("label") | // children - fpy::Time{} - / --Child<>("time") | + --Child("time") | _t{} / --(Child<>("yields") || Child<>("incidentEnergies")) ; @@ -73,9 +72,16 @@ class ElapsedTime : public Component { this->time, \ this->_yieldsincidentEnergies) - // default, and from fields + // default + ElapsedTime() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ElapsedTime( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &time = {}, const wrapper<_t> &_yieldsincidentEnergies = {} ) : @@ -96,17 +102,21 @@ class ElapsedTime : public Component { // copy ElapsedTime(const ElapsedTime &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + time(this,other.time), + _yieldsincidentEnergies(this,other._yieldsincidentEnergies) { - *this = other; Component::finish(other); } // move ElapsedTime(ElapsedTime &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + time(this,std::move(other.time)), + _yieldsincidentEnergies(this,std::move(other._yieldsincidentEnergies)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes.hpp index c438e89e1..62fd10aee 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/ElapsedTimes.hpp @@ -33,8 +33,7 @@ class ElapsedTimes : public Component { { return // children - fpy::ElapsedTime{} - / ++Child<>("elapsedTime") + ++Child("elapsedTime") ; } @@ -51,9 +50,16 @@ class ElapsedTimes : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->elapsedTime) - // default, and from fields + // default + ElapsedTimes() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ElapsedTimes( - const wrapper> &elapsedTime = {} + const wrapper> &elapsedTime ) : GNDSTK_COMPONENT(BlockData{}), elapsedTime(this,elapsedTime) @@ -70,17 +76,17 @@ class ElapsedTimes : public Component { // copy ElapsedTimes(const ElapsedTimes &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + elapsedTime(this,other.elapsedTime) { - *this = other; Component::finish(other); } // move ElapsedTimes(ElapsedTimes &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + elapsedTime(this,std::move(other.elapsedTime)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/Energy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Energy.hpp index 15abb44a8..1e958da92 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/Energy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/Energy.hpp @@ -33,8 +33,7 @@ class Energy : public Component { { return // children - containers::Double{} - / --Child<>("Double") + --Child("double") ; } @@ -51,9 +50,16 @@ class Energy : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + Energy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Energy( - const wrapper &Double = {} + const wrapper &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) @@ -70,17 +76,17 @@ class Energy : public Component { // copy Energy(const Energy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Energy(Energy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies.hpp index f94df24be..b1f9b0e91 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergies.hpp @@ -33,8 +33,7 @@ class IncidentEnergies : public Component { { return // children - fpy::IncidentEnergy{} - / ++Child<>("incidentEnergy") + ++Child("incidentEnergy") ; } @@ -51,9 +50,16 @@ class IncidentEnergies : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->incidentEnergy) - // default, and from fields + // default + IncidentEnergies() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit IncidentEnergies( - const wrapper> &incidentEnergy = {} + const wrapper> &incidentEnergy ) : GNDSTK_COMPONENT(BlockData{}), incidentEnergy(this,incidentEnergy) @@ -70,17 +76,17 @@ class IncidentEnergies : public Component { // copy IncidentEnergies(const IncidentEnergies &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + incidentEnergy(this,other.incidentEnergy) { - *this = other; Component::finish(other); } // move IncidentEnergies(IncidentEnergies &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + incidentEnergy(this,std::move(other.incidentEnergy)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy.hpp index 18b06ae6a..c28d3e295 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/IncidentEnergy.hpp @@ -37,10 +37,8 @@ class IncidentEnergy : public Component { XMLName{} / Meta<>("label") | // children - fpy::Energy{} - / --Child<>("energy") | - fpy::Yields{} - / --Child<>("yields") + --Child("energy") | + --Child("yields") ; } @@ -63,9 +61,16 @@ class IncidentEnergy : public Component { this->energy, \ this->yields) - // default, and from fields + // default + IncidentEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit IncidentEnergy( - const wrapper &label = {}, + const wrapper &label, const wrapper &energy = {}, const wrapper &yields = {} ) : @@ -86,17 +91,21 @@ class IncidentEnergy : public Component { // copy IncidentEnergy(const IncidentEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + energy(this,other.energy), + yields(this,other.yields) { - *this = other; Component::finish(other); } // move IncidentEnergy(IncidentEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + energy(this,std::move(other.energy)), + yields(this,std::move(other.yields)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides.hpp index cc13332dc..93fe499d6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/Nuclides.hpp @@ -52,9 +52,16 @@ class Nuclides : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->href) - // default, and from fields + // default + Nuclides() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Nuclides( - const wrapper> &href = {} + const wrapper> &href ) : GNDSTK_COMPONENT(BlockData{}), href(this,href) @@ -79,17 +86,17 @@ class Nuclides : public Component { // copy Nuclides(const Nuclides &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href) { - *this = other; Component::finish(other); } // move Nuclides(Nuclides &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield.hpp index 9b76b80f7..cd95b6ea9 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYield.hpp @@ -37,10 +37,8 @@ class ProductYield : public Component { XMLName{} / Meta<>("label") | // children - std::optional{} - / --Child<>("nuclides") | - fpy::ElapsedTimes{} - / --Child<>("elapsedTimes") + --Child>("nuclides") | + --Child("elapsedTimes") ; } @@ -63,9 +61,16 @@ class ProductYield : public Component { this->nuclides, \ this->elapsedTimes) - // default, and from fields + // default + ProductYield() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ProductYield( - const wrapper &label = {}, + const wrapper &label, const wrapper> &nuclides = {}, const wrapper &elapsedTimes = {} ) : @@ -86,17 +91,21 @@ class ProductYield : public Component { // copy ProductYield(const ProductYield &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + nuclides(this,other.nuclides), + elapsedTimes(this,other.elapsedTimes) { - *this = other; Component::finish(other); } // move ProductYield(ProductYield &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + nuclides(this,std::move(other.nuclides)), + elapsedTimes(this,std::move(other.elapsedTimes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields.hpp index 1cc1f3898..c8b2db9d2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/ProductYields.hpp @@ -33,8 +33,7 @@ class ProductYields : public Component { { return // children - fpy::ProductYield{} - / ++Child<>("productYield") + ++Child("productYield") ; } @@ -51,9 +50,16 @@ class ProductYields : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->productYield) - // default, and from fields + // default + ProductYields() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ProductYields( - const wrapper> &productYield = {} + const wrapper> &productYield ) : GNDSTK_COMPONENT(BlockData{}), productYield(this,productYield) @@ -70,17 +76,17 @@ class ProductYields : public Component { // copy ProductYields(const ProductYields &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + productYield(this,other.productYield) { - *this = other; Component::finish(other); } // move ProductYields(ProductYields &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + productYield(this,std::move(other.productYield)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/Time.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Time.hpp index 2f4ef8bef..e2278e0d6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/Time.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/Time.hpp @@ -59,9 +59,16 @@ class Time : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_Doublestring) - // default, and from fields + // default + Time() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Time( - const wrapper<_t> &_Doublestring = {} + const wrapper<_t> &_Doublestring ) : GNDSTK_COMPONENT(BlockData{}), _Doublestring(this,_Doublestring) @@ -78,17 +85,17 @@ class Time : public Component { // copy Time(const Time &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _Doublestring(this,other._Doublestring) { - *this = other; Component::finish(other); } // move Time(Time &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _Doublestring(this,std::move(other._Doublestring)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/fpy/Yields.hpp b/standards/gnds-2.0/test/src/test/v2.0/fpy/Yields.hpp index e05b6f12e..bd38d9b31 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/fpy/Yields.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/fpy/Yields.hpp @@ -35,12 +35,9 @@ class Yields : public Component { { return // children - fpy::Nuclides{} - / --Child<>("nuclides") | - containers::Values{} - / --Child<>("values") | - std::optional{} - / --Child<>("uncertainty") + --Child("nuclides") | + --Child("values") | + --Child>("uncertainty") ; } @@ -61,9 +58,16 @@ class Yields : public Component { this->values, \ this->uncertainty) - // default, and from fields + // default + Yields() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Yields( - const wrapper &nuclides = {}, + const wrapper &nuclides, const wrapper &values = {}, const wrapper> &uncertainty = {} ) : @@ -84,17 +88,21 @@ class Yields : public Component { // copy Yields(const Yields &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + nuclides(this,other.nuclides), + values(this,other.values), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move Yields(Yields &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + nuclides(this,std::move(other.nuclides)), + values(this,std::move(other.values)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp index 0beb28a60..b3b2b2260 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Import.hpp @@ -59,9 +59,16 @@ class Import : public Component { this->checksum, \ this->algorithm) - // default, and from fields + // default + Import() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Import( - const wrapper &path = {}, + const wrapper &path, const wrapper &checksum = {}, const wrapper> &algorithm = {} ) : @@ -82,17 +89,21 @@ class Import : public Component { // copy Import(const Import &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + path(this,other.path), + checksum(this,other.checksum), + algorithm(this,other.algorithm) { - *this = other; Component::finish(other); } // move Import(Import &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + path(this,std::move(other.path)), + checksum(this,std::move(other.checksum)), + algorithm(this,std::move(other.algorithm)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp index 78d1cf70e..53ca0ced6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Map.hpp @@ -44,12 +44,9 @@ class Map : public Component { enums::HashAlgorithm{} / Meta<>("algorithm") | // children - std::optional{} - / ++Child<>("import") | - std::optional{} - / ++Child<>("protare") | - std::optional{} - / ++Child<>("TNSL") + ++Child>("import") | + ++Child>("protare") | + ++Child>("TNSL") ; } @@ -80,9 +77,16 @@ class Map : public Component { this->protare, \ this->TNSL) - // default, and from fields + // default + Map() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Map( - const wrapper &library = {}, + const wrapper &library, const wrapper &format = {}, const wrapper &checksum = {}, const wrapper &algorithm = {}, @@ -111,17 +115,29 @@ class Map : public Component { // copy Map(const Map &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + library(this,other.library), + format(this,other.format), + checksum(this,other.checksum), + algorithm(this,other.algorithm), + import(this,other.import), + protare(this,other.protare), + TNSL(this,other.TNSL) { - *this = other; Component::finish(other); } // move Map(Map &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + library(this,std::move(other.library)), + format(this,std::move(other.format)), + checksum(this,std::move(other.checksum)), + algorithm(this,std::move(other.algorithm)), + import(this,std::move(other.import)), + protare(this,std::move(other.protare)), + TNSL(this,std::move(other.TNSL)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp index e29e98de6..05b7d122c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/Protare.hpp @@ -75,9 +75,16 @@ class Protare : public Component { this->checksum, \ this->algorithm) - // default, and from fields + // default + Protare() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Protare( - const wrapper &projectile = {}, + const wrapper &projectile, const wrapper &target = {}, const wrapper &evaluation = {}, const wrapper &path = {}, @@ -106,17 +113,29 @@ class Protare : public Component { // copy Protare(const Protare &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + projectile(this,other.projectile), + target(this,other.target), + evaluation(this,other.evaluation), + path(this,other.path), + interaction(this,other.interaction), + checksum(this,other.checksum), + algorithm(this,other.algorithm) { - *this = other; Component::finish(other); } // move Protare(Protare &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + projectile(this,std::move(other.projectile)), + target(this,std::move(other.target)), + evaluation(this,std::move(other.evaluation)), + path(this,std::move(other.path)), + interaction(this,std::move(other.interaction)), + checksum(this,std::move(other.checksum)), + algorithm(this,std::move(other.algorithm)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp b/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp index 2678c69a5..2467a75f3 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/map/TNSL.hpp @@ -83,9 +83,16 @@ class TNSL : public Component { this->standardTarget, \ this->standardEvaluation) - // default, and from fields + // default + TNSL() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit TNSL( - const wrapper &projectile = {}, + const wrapper &projectile, const wrapper &target = {}, const wrapper &evaluation = {}, const wrapper &path = {}, @@ -118,17 +125,33 @@ class TNSL : public Component { // copy TNSL(const TNSL &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + projectile(this,other.projectile), + target(this,other.target), + evaluation(this,other.evaluation), + path(this,other.path), + interaction(this,other.interaction), + checksum(this,other.checksum), + algorithm(this,other.algorithm), + standardTarget(this,other.standardTarget), + standardEvaluation(this,other.standardEvaluation) { - *this = other; Component::finish(other); } // move TNSL(TNSL &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + projectile(this,std::move(other.projectile)), + target(this,std::move(other.target)), + evaluation(this,std::move(other.evaluation)), + path(this,std::move(other.path)), + interaction(this,std::move(other.interaction)), + checksum(this,std::move(other.checksum)), + algorithm(this,std::move(other.algorithm)), + standardTarget(this,std::move(other.standardTarget)), + standardEvaluation(this,std::move(other.standardEvaluation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Alias.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Alias.hpp index d012ae773..06ef98554 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Alias.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Alias.hpp @@ -55,9 +55,16 @@ class Alias : public Component { this->id, \ this->pid) - // default, and from fields + // default + Alias() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Alias( - const wrapper &id = {}, + const wrapper &id, const wrapper &pid = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Alias : public Component { // copy Alias(const Alias &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,other.id), + pid(this,other.pid) { - *this = other; Component::finish(other); } // move Alias(Alias &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,std::move(other.id)), + pid(this,std::move(other.pid)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Aliases.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Aliases.hpp index e0a49cf46..4c634cb4f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Aliases.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Aliases.hpp @@ -34,10 +34,8 @@ class Aliases : public Component { { return // children - std::optional{} - / ++Child<>("alias") | - std::optional{} - / ++Child<>("metaStable") + ++Child>("alias") | + ++Child>("metaStable") ; } @@ -56,9 +54,16 @@ class Aliases : public Component { this->alias, \ this->metaStable) - // default, and from fields + // default + Aliases() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Aliases( - const wrapper>> &alias = {}, + const wrapper>> &alias, const wrapper>> &metaStable = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class Aliases : public Component { // copy Aliases(const Aliases &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + alias(this,other.alias), + metaStable(this,other.metaStable) { - *this = other; Component::finish(other); } // move Aliases(Aliases &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + alias(this,std::move(other.alias)), + metaStable(this,std::move(other.metaStable)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Atomic.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Atomic.hpp index e2e70e446..93fe793c7 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Atomic.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Atomic.hpp @@ -33,8 +33,7 @@ class Atomic : public Component { { return // children - std::optional{} - / --Child<>("configurations") + --Child>("configurations") ; } @@ -51,9 +50,16 @@ class Atomic : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->configurations) - // default, and from fields + // default + Atomic() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Atomic( - const wrapper> &configurations = {} + const wrapper> &configurations ) : GNDSTK_COMPONENT(BlockData{}), configurations(this,configurations) @@ -70,17 +76,17 @@ class Atomic : public Component { // copy Atomic(const Atomic &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + configurations(this,other.configurations) { - *this = other; Component::finish(other); } // move Atomic(Atomic &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + configurations(this,std::move(other.configurations)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies.hpp index 486f05b60..16de3e48d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergies.hpp @@ -33,8 +33,7 @@ class AverageEnergies : public Component { { return // children - pops::AverageEnergy{} - / ++Child<>("averageEnergy") + ++Child("averageEnergy") ; } @@ -51,9 +50,16 @@ class AverageEnergies : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->averageEnergy) - // default, and from fields + // default + AverageEnergies() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AverageEnergies( - const wrapper> &averageEnergy = {} + const wrapper> &averageEnergy ) : GNDSTK_COMPONENT(BlockData{}), averageEnergy(this,averageEnergy) @@ -70,17 +76,17 @@ class AverageEnergies : public Component { // copy AverageEnergies(const AverageEnergies &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + averageEnergy(this,other.averageEnergy) { - *this = other; Component::finish(other); } // move AverageEnergies(AverageEnergies &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + averageEnergy(this,std::move(other.averageEnergy)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy.hpp index e6ea4a2a1..a0108da75 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/AverageEnergy.hpp @@ -41,10 +41,8 @@ class AverageEnergy : public Component { XMLName{} / Meta<>("unit") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") + --Child>("documentation") | + --Child>("uncertainty") ; } @@ -71,9 +69,16 @@ class AverageEnergy : public Component { this->documentation, \ this->uncertainty) - // default, and from fields + // default + AverageEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AverageEnergy( - const wrapper &label = {}, + const wrapper &label, const wrapper &value = {}, const wrapper &unit = {}, const wrapper> &documentation = {}, @@ -98,17 +103,25 @@ class AverageEnergy : public Component { // copy AverageEnergy(const AverageEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + value(this,other.value), + unit(this,other.unit), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move AverageEnergy(AverageEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + value(this,std::move(other.value)), + unit(this,std::move(other.unit)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Baryon.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryon.hpp index 78cb19648..8ac06d137 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Baryon.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryon.hpp @@ -41,18 +41,12 @@ class Baryon : public Component { XMLName{} / Meta<>("id") | // children - std::optional{} - / --Child<>("charge") | - std::optional{} - / --Child<>("halflife") | - std::optional{} - / --Child<>("mass") | - std::optional{} - / --Child<>("spin") | - std::optional{} - / --Child<>("parity") | - std::optional{} - / --Child<>("decayData") + --Child>("charge") | + --Child>("halflife") | + --Child>("mass") | + --Child>("spin") | + --Child>("parity") | + --Child>("decayData") ; } @@ -83,9 +77,16 @@ class Baryon : public Component { this->parity, \ this->decayData) - // default, and from fields + // default + Baryon() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Baryon( - const wrapper &id = {}, + const wrapper &id, const wrapper> &charge = {}, const wrapper> &halflife = {}, const wrapper> &mass = {}, @@ -114,17 +115,29 @@ class Baryon : public Component { // copy Baryon(const Baryon &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,other.id), + charge(this,other.charge), + halflife(this,other.halflife), + mass(this,other.mass), + spin(this,other.spin), + parity(this,other.parity), + decayData(this,other.decayData) { - *this = other; Component::finish(other); } // move Baryon(Baryon &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,std::move(other.id)), + charge(this,std::move(other.charge)), + halflife(this,std::move(other.halflife)), + mass(this,std::move(other.mass)), + spin(this,std::move(other.spin)), + parity(this,std::move(other.parity)), + decayData(this,std::move(other.decayData)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Baryons.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryons.hpp index b8d99e0eb..ffc906917 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Baryons.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Baryons.hpp @@ -33,8 +33,7 @@ class Baryons : public Component { { return // children - std::optional{} - / ++Child<>("baryon") + ++Child>("baryon") ; } @@ -51,9 +50,16 @@ class Baryons : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->baryon) - // default, and from fields + // default + Baryons() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Baryons( - const wrapper>> &baryon = {} + const wrapper>> &baryon ) : GNDSTK_COMPONENT(BlockData{}), baryon(this,baryon) @@ -70,17 +76,17 @@ class Baryons : public Component { // copy Baryons(const Baryons &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + baryon(this,other.baryon) { - *this = other; Component::finish(other); } // move Baryons(Baryons &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + baryon(this,std::move(other.baryon)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy.hpp index ae902270a..732fe4b2f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/BindingEnergy.hpp @@ -42,12 +42,9 @@ class BindingEnergy : public Component { XMLName{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | - std::optional{} - / ++Child<>("Double") + --Child>("documentation") | + --Child>("uncertainty") | + ++Child>("double") ; } @@ -76,9 +73,16 @@ class BindingEnergy : public Component { this->uncertainty, \ this->Double) - // default, and from fields + // default + BindingEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit BindingEnergy( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper &value = {}, const wrapper> &documentation = {}, @@ -105,17 +109,27 @@ class BindingEnergy : public Component { // copy BindingEnergy(const BindingEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move BindingEnergy(BindingEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp index dbc242df4..4773fd62a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Charge.hpp @@ -48,10 +48,8 @@ class Charge : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | + --Child>("documentation") | + --Child>("uncertainty") | _t{} / --(Child<>("integer") || Child<>("fraction")) ; @@ -86,9 +84,16 @@ class Charge : public Component { this->uncertainty, \ this->_integerfraction) - // default, and from fields + // default + Charge() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Charge( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -115,17 +120,27 @@ class Charge : public Component { // copy Charge(const Charge &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + _integerfraction(this,other._integerfraction) { - *this = other; Component::finish(other); } // move Charge(Charge &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + _integerfraction(this,std::move(other._integerfraction)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement.hpp index d24851641..1ef63376b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElement.hpp @@ -41,10 +41,8 @@ class ChemicalElement : public Component { std::optional{} / Meta<>("name") | // children - std::optional{} - / --Child<>("atomic") | - std::optional{} - / --Child<>("isotopes") + --Child>("atomic") | + --Child>("isotopes") ; } @@ -71,9 +69,16 @@ class ChemicalElement : public Component { this->atomic, \ this->isotopes) - // default, and from fields + // default + ChemicalElement() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ChemicalElement( - const wrapper &symbol = {}, + const wrapper &symbol, const wrapper &Z = {}, const wrapper> &name = {}, const wrapper> &atomic = {}, @@ -98,17 +103,25 @@ class ChemicalElement : public Component { // copy ChemicalElement(const ChemicalElement &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + symbol(this,other.symbol), + Z(this,other.Z), + name(this,other.name), + atomic(this,other.atomic), + isotopes(this,other.isotopes) { - *this = other; Component::finish(other); } // move ChemicalElement(ChemicalElement &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + symbol(this,std::move(other.symbol)), + Z(this,std::move(other.Z)), + name(this,std::move(other.name)), + atomic(this,std::move(other.atomic)), + isotopes(this,std::move(other.isotopes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements.hpp index 1860de9e4..b4b4aa28d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/ChemicalElements.hpp @@ -33,8 +33,7 @@ class ChemicalElements : public Component { { return // children - std::optional{} - / ++Child<>("chemicalElement") + ++Child>("chemicalElement") ; } @@ -51,9 +50,16 @@ class ChemicalElements : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->chemicalElement) - // default, and from fields + // default + ChemicalElements() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ChemicalElements( - const wrapper>> &chemicalElement = {} + const wrapper>> &chemicalElement ) : GNDSTK_COMPONENT(BlockData{}), chemicalElement(this,chemicalElement) @@ -70,17 +76,17 @@ class ChemicalElements : public Component { // copy ChemicalElements(const ChemicalElements &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + chemicalElement(this,other.chemicalElement) { - *this = other; Component::finish(other); } // move ChemicalElements(ChemicalElements &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + chemicalElement(this,std::move(other.chemicalElement)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals.hpp index e727ca535..4c623cced 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/ConfidenceIntervals.hpp @@ -33,8 +33,7 @@ class ConfidenceIntervals : public Component { { return // children - pops::Interval{} - / ++Child<>("interval") + ++Child("interval") ; } @@ -51,9 +50,16 @@ class ConfidenceIntervals : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->interval) - // default, and from fields + // default + ConfidenceIntervals() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ConfidenceIntervals( - const wrapper> &interval = {} + const wrapper> &interval ) : GNDSTK_COMPONENT(BlockData{}), interval(this,interval) @@ -70,17 +76,17 @@ class ConfidenceIntervals : public Component { // copy ConfidenceIntervals(const ConfidenceIntervals &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + interval(this,other.interval) { - *this = other; Component::finish(other); } // move ConfidenceIntervals(ConfidenceIntervals &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + interval(this,std::move(other.interval)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Configuration.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Configuration.hpp index 3c3ca30c6..e0d076756 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Configuration.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Configuration.hpp @@ -39,10 +39,8 @@ class Configuration : public Component { Float64{} / Meta<>("electronNumber") | // children - pops::BindingEnergy{} - / --Child<>("bindingEnergy") | - std::optional{} - / --Child<>("decayData") + --Child("bindingEnergy") | + --Child>("decayData") ; } @@ -67,9 +65,16 @@ class Configuration : public Component { this->bindingEnergy, \ this->decayData) - // default, and from fields + // default + Configuration() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Configuration( - const wrapper &subshell = {}, + const wrapper &subshell, const wrapper &electronNumber = {}, const wrapper &bindingEnergy = {}, const wrapper> &decayData = {} @@ -92,17 +97,23 @@ class Configuration : public Component { // copy Configuration(const Configuration &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + subshell(this,other.subshell), + electronNumber(this,other.electronNumber), + bindingEnergy(this,other.bindingEnergy), + decayData(this,other.decayData) { - *this = other; Component::finish(other); } // move Configuration(Configuration &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + subshell(this,std::move(other.subshell)), + electronNumber(this,std::move(other.electronNumber)), + bindingEnergy(this,std::move(other.bindingEnergy)), + decayData(this,std::move(other.decayData)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Configurations.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Configurations.hpp index d8460cb1b..e7322104e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Configurations.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Configurations.hpp @@ -33,8 +33,7 @@ class Configurations : public Component { { return // children - pops::Configuration{} - / ++Child<>("configuration") + ++Child("configuration") ; } @@ -51,9 +50,16 @@ class Configurations : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->configuration) - // default, and from fields + // default + Configurations() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Configurations( - const wrapper> &configuration = {} + const wrapper> &configuration ) : GNDSTK_COMPONENT(BlockData{}), configuration(this,configuration) @@ -70,17 +76,17 @@ class Configurations : public Component { // copy Configurations(const Configurations &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + configuration(this,other.configuration) { - *this = other; Component::finish(other); } // move Configurations(Configurations &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + configuration(this,std::move(other.configuration)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Continuum.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Continuum.hpp index c8e8cbbe4..f3fb9d528 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Continuum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Continuum.hpp @@ -33,8 +33,7 @@ class Continuum : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") + --Child>("XYs1d") ; } @@ -51,9 +50,16 @@ class Continuum : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->XYs1d) - // default, and from fields + // default + Continuum() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Continuum( - const wrapper> &XYs1d = {} + const wrapper> &XYs1d ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) @@ -70,17 +76,17 @@ class Continuum : public Component { // copy Continuum(const Continuum &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d) { - *this = other; Component::finish(other); } // move Continuum(Continuum &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Decay.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Decay.hpp index 36e612db6..253fb8fdf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Decay.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Decay.hpp @@ -40,8 +40,7 @@ class Decay : public Component { Defaulted{false} / Meta<>("complete") | // children - std::optional{} - / --Child<>("products") + --Child>("products") ; } @@ -71,10 +70,17 @@ class Decay : public Component { this->complete, \ this->products) - // default, and from fields + // default + Decay() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Decay( - const wrapper &index = {}, + const wrapper &index, const wrapper> &mode = {}, const wrapper> &complete = {}, const wrapper> &products = {} @@ -97,17 +103,23 @@ class Decay : public Component { // copy Decay(const Decay &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + mode(this,other.mode), + complete(this,other.complete), + products(this,other.products) { - *this = other; Component::finish(other); } // move Decay(Decay &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + mode(this,std::move(other.mode)), + complete(this,std::move(other.complete)), + products(this,std::move(other.products)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/DecayData.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayData.hpp index df0aeb75c..cdc026032 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/DecayData.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayData.hpp @@ -34,10 +34,8 @@ class DecayData : public Component { { return // children - std::optional{} - / --Child<>("decayModes") | - std::optional{} - / --Child<>("averageEnergies") + --Child>("decayModes") | + --Child>("averageEnergies") ; } @@ -56,9 +54,16 @@ class DecayData : public Component { this->decayModes, \ this->averageEnergies) - // default, and from fields + // default + DecayData() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DecayData( - const wrapper> &decayModes = {}, + const wrapper> &decayModes, const wrapper> &averageEnergies = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class DecayData : public Component { // copy DecayData(const DecayData &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + decayModes(this,other.decayModes), + averageEnergies(this,other.averageEnergies) { - *this = other; Component::finish(other); } // move DecayData(DecayData &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + decayModes(this,std::move(other.decayModes)), + averageEnergies(this,std::move(other.averageEnergies)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode.hpp index 72d1ccf25..2a7a79f30 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayMode.hpp @@ -43,18 +43,12 @@ class DecayMode : public Component { enums::DecayType{} / Meta<>("mode") | // children - pops::Probability{} - / --Child<>("probability") | - std::optional{} - / --Child<>("internalConversionCoefficients") | - std::optional{} - / --Child<>("photonEmissionProbabilities") | - std::optional{} - / --Child<>("Q") | - std::optional{} - / --Child<>("decayPath") | - std::optional{} - / --Child<>("spectra") + --Child("probability") | + --Child>("internalConversionCoefficients") | + --Child>("photonEmissionProbabilities") | + --Child>("Q") | + --Child>("decayPath") | + --Child>("spectra") ; } @@ -87,9 +81,16 @@ class DecayMode : public Component { this->decayPath, \ this->spectra) - // default, and from fields + // default + DecayMode() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DecayMode( - const wrapper &label = {}, + const wrapper &label, const wrapper &mode = {}, const wrapper &probability = {}, const wrapper> &internalConversionCoefficients = {}, @@ -120,17 +121,31 @@ class DecayMode : public Component { // copy DecayMode(const DecayMode &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + mode(this,other.mode), + probability(this,other.probability), + internalConversionCoefficients(this,other.internalConversionCoefficients), + photonEmissionProbabilities(this,other.photonEmissionProbabilities), + Q(this,other.Q), + decayPath(this,other.decayPath), + spectra(this,other.spectra) { - *this = other; Component::finish(other); } // move DecayMode(DecayMode &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + mode(this,std::move(other.mode)), + probability(this,std::move(other.probability)), + internalConversionCoefficients(this,std::move(other.internalConversionCoefficients)), + photonEmissionProbabilities(this,std::move(other.photonEmissionProbabilities)), + Q(this,std::move(other.Q)), + decayPath(this,std::move(other.decayPath)), + spectra(this,std::move(other.spectra)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes.hpp index 862b707fa..8ff6dd33b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayModes.hpp @@ -33,8 +33,7 @@ class DecayModes : public Component { { return // children - pops::DecayMode{} - / ++Child<>("decayMode") + ++Child("decayMode") ; } @@ -51,9 +50,16 @@ class DecayModes : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->decayMode) - // default, and from fields + // default + DecayModes() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DecayModes( - const wrapper> &decayMode = {} + const wrapper> &decayMode ) : GNDSTK_COMPONENT(BlockData{}), decayMode(this,decayMode) @@ -70,17 +76,17 @@ class DecayModes : public Component { // copy DecayModes(const DecayModes &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + decayMode(this,other.decayMode) { - *this = other; Component::finish(other); } // move DecayModes(DecayModes &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + decayMode(this,std::move(other.decayMode)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath.hpp index 949a1364b..20046a394 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DecayPath.hpp @@ -33,8 +33,7 @@ class DecayPath : public Component { { return // children - pops::Decay{} - / ++Child<>("decay") + ++Child("decay") ; } @@ -51,9 +50,16 @@ class DecayPath : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->decay) - // default, and from fields + // default + DecayPath() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DecayPath( - const wrapper> &decay = {} + const wrapper> &decay ) : GNDSTK_COMPONENT(BlockData{}), decay(this,decay) @@ -70,17 +76,17 @@ class DecayPath : public Component { // copy DecayPath(const DecayPath &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + decay(this,other.decay) { - *this = other; Component::finish(other); } // move DecayPath(DecayPath &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + decay(this,std::move(other.decay)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Discrete.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Discrete.hpp index 6ce944c18..d1be6c379 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Discrete.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Discrete.hpp @@ -41,18 +41,12 @@ class Discrete : public Component { std::optional{} / Meta<>("type") | // children - pops::DiscreteEnergy{} - / --Child<>("energy") | - pops::Intensity{} - / --Child<>("intensity") | - std::optional{} - / --Child<>("internalConversionCoefficients") | - std::optional{} - / --Child<>("internalPairFormationCoefficient") | - std::optional{} - / --Child<>("photonEmissionProbabilities") | - std::optional{} - / --Child<>("positronEmissionIntensity") + --Child("energy") | + --Child("intensity") | + --Child>("internalConversionCoefficients") | + --Child>("internalPairFormationCoefficient") | + --Child>("photonEmissionProbabilities") | + --Child>("positronEmissionIntensity") ; } @@ -83,9 +77,16 @@ class Discrete : public Component { this->photonEmissionProbabilities, \ this->positronEmissionIntensity) - // default, and from fields + // default + Discrete() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Discrete( - const wrapper> &type = {}, + const wrapper> &type, const wrapper &energy = {}, const wrapper &intensity = {}, const wrapper> &internalConversionCoefficients = {}, @@ -114,17 +115,29 @@ class Discrete : public Component { // copy Discrete(const Discrete &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + type(this,other.type), + energy(this,other.energy), + intensity(this,other.intensity), + internalConversionCoefficients(this,other.internalConversionCoefficients), + internalPairFormationCoefficient(this,other.internalPairFormationCoefficient), + photonEmissionProbabilities(this,other.photonEmissionProbabilities), + positronEmissionIntensity(this,other.positronEmissionIntensity) { - *this = other; Component::finish(other); } // move Discrete(Discrete &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + type(this,std::move(other.type)), + energy(this,std::move(other.energy)), + intensity(this,std::move(other.intensity)), + internalConversionCoefficients(this,std::move(other.internalConversionCoefficients)), + internalPairFormationCoefficient(this,std::move(other.internalPairFormationCoefficient)), + photonEmissionProbabilities(this,std::move(other.photonEmissionProbabilities)), + positronEmissionIntensity(this,std::move(other.positronEmissionIntensity)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy.hpp index 57223d000..1e07ad678 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/DiscreteEnergy.hpp @@ -41,10 +41,8 @@ class DiscreteEnergy : public Component { XMLName{} / Meta<>("unit") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") + --Child>("documentation") | + --Child>("uncertainty") ; } @@ -71,9 +69,16 @@ class DiscreteEnergy : public Component { this->documentation, \ this->uncertainty) - // default, and from fields + // default + DiscreteEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DiscreteEnergy( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &value = {}, const wrapper &unit = {}, const wrapper> &documentation = {}, @@ -98,17 +103,25 @@ class DiscreteEnergy : public Component { // copy DiscreteEnergy(const DiscreteEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + value(this,other.value), + unit(this,other.unit), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move DiscreteEnergy(DiscreteEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + value(this,std::move(other.value)), + unit(this,std::move(other.unit)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp index 8a069fde5..208e4d430 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Energy.hpp @@ -42,12 +42,9 @@ class Energy : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | - std::optional{} - / ++Child<>("Double") + --Child>("documentation") | + --Child>("uncertainty") | + ++Child>("double") ; } @@ -76,9 +73,16 @@ class Energy : public Component { this->uncertainty, \ this->Double) - // default, and from fields + // default + Energy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Energy( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -105,17 +109,27 @@ class Energy : public Component { // copy Energy(const Energy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Energy(Energy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson.hpp index c1ac332cb..0ae3f738d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBoson.hpp @@ -41,18 +41,12 @@ class GaugeBoson : public Component { XMLName{} / Meta<>("id") | // children - std::optional{} - / --Child<>("charge") | - std::optional{} - / --Child<>("halflife") | - std::optional{} - / --Child<>("mass") | - std::optional{} - / --Child<>("spin") | - std::optional{} - / --Child<>("parity") | - std::optional{} - / --Child<>("decayData") + --Child>("charge") | + --Child>("halflife") | + --Child>("mass") | + --Child>("spin") | + --Child>("parity") | + --Child>("decayData") ; } @@ -83,9 +77,16 @@ class GaugeBoson : public Component { this->parity, \ this->decayData) - // default, and from fields + // default + GaugeBoson() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit GaugeBoson( - const wrapper &id = {}, + const wrapper &id, const wrapper> &charge = {}, const wrapper> &halflife = {}, const wrapper> &mass = {}, @@ -114,17 +115,29 @@ class GaugeBoson : public Component { // copy GaugeBoson(const GaugeBoson &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,other.id), + charge(this,other.charge), + halflife(this,other.halflife), + mass(this,other.mass), + spin(this,other.spin), + parity(this,other.parity), + decayData(this,other.decayData) { - *this = other; Component::finish(other); } // move GaugeBoson(GaugeBoson &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,std::move(other.id)), + charge(this,std::move(other.charge)), + halflife(this,std::move(other.halflife)), + mass(this,std::move(other.mass)), + spin(this,std::move(other.spin)), + parity(this,std::move(other.parity)), + decayData(this,std::move(other.decayData)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons.hpp index 38c61228f..a92418054 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/GaugeBosons.hpp @@ -33,8 +33,7 @@ class GaugeBosons : public Component { { return // children - std::optional{} - / ++Child<>("gaugeBoson") + ++Child>("gaugeBoson") ; } @@ -51,9 +50,16 @@ class GaugeBosons : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->gaugeBoson) - // default, and from fields + // default + GaugeBosons() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit GaugeBosons( - const wrapper>> &gaugeBoson = {} + const wrapper>> &gaugeBoson ) : GNDSTK_COMPONENT(BlockData{}), gaugeBoson(this,gaugeBoson) @@ -70,17 +76,17 @@ class GaugeBosons : public Component { // copy GaugeBosons(const GaugeBosons &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + gaugeBoson(this,other.gaugeBoson) { - *this = other; Component::finish(other); } // move GaugeBosons(GaugeBosons &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + gaugeBoson(this,std::move(other.gaugeBoson)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp index 91c15080d..2eefa64a1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Halflife.hpp @@ -48,10 +48,8 @@ class Halflife : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | + --Child>("documentation") | + --Child>("uncertainty") | _t{} / --(Child<>("string") || Child<>("Double")) ; @@ -86,9 +84,16 @@ class Halflife : public Component { this->uncertainty, \ this->_stringDouble) - // default, and from fields + // default + Halflife() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Halflife( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -115,17 +120,27 @@ class Halflife : public Component { // copy Halflife(const Halflife &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + _stringDouble(this,other._stringDouble) { - *this = other; Component::finish(other); } // move Halflife(Halflife &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + _stringDouble(this,std::move(other._stringDouble)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Intensity.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Intensity.hpp index 14ae8102b..217160235 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Intensity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Intensity.hpp @@ -41,10 +41,8 @@ class Intensity : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") + --Child>("documentation") | + --Child>("uncertainty") ; } @@ -71,9 +69,16 @@ class Intensity : public Component { this->documentation, \ this->uncertainty) - // default, and from fields + // default + Intensity() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Intensity( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -98,17 +103,25 @@ class Intensity : public Component { // copy Intensity(const Intensity &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move Intensity(Intensity &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/InternalConversionCoefficients.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/InternalConversionCoefficients.hpp index 1e64f788d..339df04a4 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/InternalConversionCoefficients.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/InternalConversionCoefficients.hpp @@ -33,8 +33,7 @@ class InternalConversionCoefficients : public Component("shell") + ++Child("shell") ; } @@ -51,9 +50,16 @@ class InternalConversionCoefficients : public Componentshell) - // default, and from fields + // default + InternalConversionCoefficients() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit InternalConversionCoefficients( - const wrapper> &shell = {} + const wrapper> &shell ) : GNDSTK_COMPONENT(BlockData{}), shell(this,shell) @@ -70,17 +76,17 @@ class InternalConversionCoefficients : public Component("unit") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") + --Child>("documentation") | + --Child>("uncertainty") ; } @@ -71,9 +69,16 @@ class InternalPairFormationCoefficient : public Componentdocumentation, \ this->uncertainty) - // default, and from fields + // default + InternalPairFormationCoefficient() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit InternalPairFormationCoefficient( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &value = {}, const wrapper &unit = {}, const wrapper> &documentation = {}, @@ -98,17 +103,25 @@ class InternalPairFormationCoefficient : public Component { this->lower, \ this->upper) - // default, and from fields + // default + Interval() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Interval( - const wrapper &confidence = {}, + const wrapper &confidence, const wrapper &lower = {}, const wrapper &upper = {} ) : @@ -82,17 +89,21 @@ class Interval : public Component { // copy Interval(const Interval &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + confidence(this,other.confidence), + lower(this,other.lower), + upper(this,other.upper) { - *this = other; Component::finish(other); } // move Interval(Interval &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + confidence(this,std::move(other.confidence)), + lower(this,std::move(other.lower)), + upper(this,std::move(other.upper)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Isotope.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotope.hpp index aa6e7f108..d72376303 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Isotope.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotope.hpp @@ -38,8 +38,7 @@ class Isotope : public Component { XMLName{} / Meta<>("symbol") | // children - std::optional{} - / --Child<>("nuclides") + --Child>("nuclides") ; } @@ -62,9 +61,16 @@ class Isotope : public Component { this->symbol, \ this->nuclides) - // default, and from fields + // default + Isotope() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Isotope( - const wrapper &A = {}, + const wrapper &A, const wrapper &symbol = {}, const wrapper> &nuclides = {} ) : @@ -85,17 +91,21 @@ class Isotope : public Component { // copy Isotope(const Isotope &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + A(this,other.A), + symbol(this,other.symbol), + nuclides(this,other.nuclides) { - *this = other; Component::finish(other); } // move Isotope(Isotope &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + A(this,std::move(other.A)), + symbol(this,std::move(other.symbol)), + nuclides(this,std::move(other.nuclides)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes.hpp index dd3ea83ee..a2a3a7d71 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Isotopes.hpp @@ -33,8 +33,7 @@ class Isotopes : public Component { { return // children - pops::Isotope{} - / ++Child<>("isotope") + ++Child("isotope") ; } @@ -51,9 +50,16 @@ class Isotopes : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->isotope) - // default, and from fields + // default + Isotopes() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Isotopes( - const wrapper> &isotope = {} + const wrapper> &isotope ) : GNDSTK_COMPONENT(BlockData{}), isotope(this,isotope) @@ -70,17 +76,17 @@ class Isotopes : public Component { // copy Isotopes(const Isotopes &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + isotope(this,other.isotope) { - *this = other; Component::finish(other); } // move Isotopes(Isotopes &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + isotope(this,std::move(other.isotope)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Lepton.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Lepton.hpp index c48627d04..004822326 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Lepton.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Lepton.hpp @@ -43,18 +43,12 @@ class Lepton : public Component { XMLName{} / Meta<>("id") | // children - std::optional{} - / --Child<>("charge") | - std::optional{} - / --Child<>("halflife") | - std::optional{} - / --Child<>("mass") | - std::optional{} - / --Child<>("spin") | - std::optional{} - / --Child<>("parity") | - std::optional{} - / --Child<>("decayData") + --Child>("charge") | + --Child>("halflife") | + --Child>("mass") | + --Child>("spin") | + --Child>("parity") | + --Child>("decayData") ; } @@ -87,9 +81,16 @@ class Lepton : public Component { this->parity, \ this->decayData) - // default, and from fields + // default + Lepton() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Lepton( - const wrapper> &generation = {}, + const wrapper> &generation, const wrapper &id = {}, const wrapper> &charge = {}, const wrapper> &halflife = {}, @@ -120,17 +121,31 @@ class Lepton : public Component { // copy Lepton(const Lepton &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + generation(this,other.generation), + id(this,other.id), + charge(this,other.charge), + halflife(this,other.halflife), + mass(this,other.mass), + spin(this,other.spin), + parity(this,other.parity), + decayData(this,other.decayData) { - *this = other; Component::finish(other); } // move Lepton(Lepton &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + generation(this,std::move(other.generation)), + id(this,std::move(other.id)), + charge(this,std::move(other.charge)), + halflife(this,std::move(other.halflife)), + mass(this,std::move(other.mass)), + spin(this,std::move(other.spin)), + parity(this,std::move(other.parity)), + decayData(this,std::move(other.decayData)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Leptons.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Leptons.hpp index bb76122ad..65593ff1b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Leptons.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Leptons.hpp @@ -33,8 +33,7 @@ class Leptons : public Component { { return // children - pops::Lepton{} - / ++Child<>("lepton") + ++Child("lepton") ; } @@ -51,9 +50,16 @@ class Leptons : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->lepton) - // default, and from fields + // default + Leptons() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Leptons( - const wrapper> &lepton = {} + const wrapper> &lepton ) : GNDSTK_COMPONENT(BlockData{}), lepton(this,lepton) @@ -70,17 +76,17 @@ class Leptons : public Component { // copy Leptons(const Leptons &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + lepton(this,other.lepton) { - *this = other; Component::finish(other); } // move Leptons(Leptons &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + lepton(this,std::move(other.lepton)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp index 7c814211b..47aef260c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/LogNormal.hpp @@ -33,8 +33,7 @@ class LogNormal : public Component { { return // children - extra::Double{} - / --Child<>("Double") + --Child("double") ; } @@ -51,9 +50,16 @@ class LogNormal : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + LogNormal() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit LogNormal( - const wrapper &Double = {} + const wrapper &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) @@ -70,17 +76,17 @@ class LogNormal : public Component { // copy LogNormal(const LogNormal &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move LogNormal(LogNormal &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Mass.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Mass.hpp index 9320d82f6..fe470b438 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Mass.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Mass.hpp @@ -42,12 +42,9 @@ class Mass : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | - std::optional{} - / --Child<>("Double") + --Child>("documentation") | + --Child>("uncertainty") | + --Child>("double") ; } @@ -76,9 +73,16 @@ class Mass : public Component { this->uncertainty, \ this->Double) - // default, and from fields + // default + Mass() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Mass( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -105,17 +109,27 @@ class Mass : public Component { // copy Mass(const Mass &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Mass(Mass &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable.hpp index 939c2be82..5a6f8d7ee 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/MetaStable.hpp @@ -59,9 +59,16 @@ class MetaStable : public Component { this->metaStableIndex, \ this->pid) - // default, and from fields + // default + MetaStable() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MetaStable( - const wrapper &id = {}, + const wrapper &id, const wrapper &metaStableIndex = {}, const wrapper &pid = {} ) : @@ -82,17 +89,21 @@ class MetaStable : public Component { // copy MetaStable(const MetaStable &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,other.id), + metaStableIndex(this,other.metaStableIndex), + pid(this,other.pid) { - *this = other; Component::finish(other); } // move MetaStable(MetaStable &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,std::move(other.id)), + metaStableIndex(this,std::move(other.metaStableIndex)), + pid(this,std::move(other.pid)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus.hpp index a4002246e..0e5349259 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Nucleus.hpp @@ -44,20 +44,13 @@ class Nucleus : public Component { Integer32{} / Meta<>("index") | // children - std::optional{} - / --Child<>("charge") | - std::optional{} - / --Child<>("energy") | - std::optional{} - / --Child<>("halflife") | - std::optional{} - / --Child<>("spin") | - std::optional{} - / --Child<>("parity") | - std::optional{} - / --Child<>("decayData") | - std::optional{} - / --Child<>("fissionFragmentData") + --Child>("charge") | + --Child>("energy") | + --Child>("halflife") | + --Child>("spin") | + --Child>("parity") | + --Child>("decayData") | + --Child>("fissionFragmentData") ; } @@ -92,9 +85,16 @@ class Nucleus : public Component { this->decayData, \ this->fissionFragmentData) - // default, and from fields + // default + Nucleus() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Nucleus( - const wrapper &id = {}, + const wrapper &id, const wrapper &index = {}, const wrapper> &charge = {}, const wrapper> &energy = {}, @@ -127,17 +127,33 @@ class Nucleus : public Component { // copy Nucleus(const Nucleus &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,other.id), + index(this,other.index), + charge(this,other.charge), + energy(this,other.energy), + halflife(this,other.halflife), + spin(this,other.spin), + parity(this,other.parity), + decayData(this,other.decayData), + fissionFragmentData(this,other.fissionFragmentData) { - *this = other; Component::finish(other); } // move Nucleus(Nucleus &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,std::move(other.id)), + index(this,std::move(other.index)), + charge(this,std::move(other.charge)), + energy(this,std::move(other.energy)), + halflife(this,std::move(other.halflife)), + spin(this,std::move(other.spin)), + parity(this,std::move(other.parity)), + decayData(this,std::move(other.decayData)), + fissionFragmentData(this,std::move(other.fissionFragmentData)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide.hpp index 2ab1760dc..7dac6d074 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclide.hpp @@ -42,20 +42,13 @@ class Nuclide : public Component { XMLName{} / Meta<>("id") | // children - std::optional{} - / --Child<>("charge") | - std::optional{} - / --Child<>("mass") | - std::optional{} - / --Child<>("spin") | - std::optional{} - / --Child<>("parity") | - std::optional{} - / --Child<>("nucleus") | - std::optional{} - / --Child<>("decayData") | - std::optional{} - / --Child<>("fissionFragmentData") + --Child>("charge") | + --Child>("mass") | + --Child>("spin") | + --Child>("parity") | + --Child>("nucleus") | + --Child>("decayData") | + --Child>("fissionFragmentData") ; } @@ -88,9 +81,16 @@ class Nuclide : public Component { this->decayData, \ this->fissionFragmentData) - // default, and from fields + // default + Nuclide() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Nuclide( - const wrapper &id = {}, + const wrapper &id, const wrapper> &charge = {}, const wrapper> &mass = {}, const wrapper> &spin = {}, @@ -121,17 +121,31 @@ class Nuclide : public Component { // copy Nuclide(const Nuclide &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,other.id), + charge(this,other.charge), + mass(this,other.mass), + spin(this,other.spin), + parity(this,other.parity), + nucleus(this,other.nucleus), + decayData(this,other.decayData), + fissionFragmentData(this,other.fissionFragmentData) { - *this = other; Component::finish(other); } // move Nuclide(Nuclide &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,std::move(other.id)), + charge(this,std::move(other.charge)), + mass(this,std::move(other.mass)), + spin(this,std::move(other.spin)), + parity(this,std::move(other.parity)), + nucleus(this,std::move(other.nucleus)), + decayData(this,std::move(other.decayData)), + fissionFragmentData(this,std::move(other.fissionFragmentData)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides.hpp index ae86ce5f4..a63a0feb0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Nuclides.hpp @@ -33,8 +33,7 @@ class Nuclides : public Component { { return // children - pops::Nuclide{} - / ++Child<>("nuclide") + ++Child("nuclide") ; } @@ -51,9 +50,16 @@ class Nuclides : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->nuclide) - // default, and from fields + // default + Nuclides() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Nuclides( - const wrapper> &nuclide = {} + const wrapper> &nuclide ) : GNDSTK_COMPONENT(BlockData{}), nuclide(this,nuclide) @@ -70,17 +76,17 @@ class Nuclides : public Component { // copy Nuclides(const Nuclides &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + nuclide(this,other.nuclide) { - *this = other; Component::finish(other); } // move Nuclides(Nuclides &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + nuclide(this,std::move(other.nuclide)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp index 117e2bdf6..bdbe953f6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Parity.hpp @@ -42,12 +42,9 @@ class Parity : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | - std::optional{} - / ++Child<>("integer") + --Child>("documentation") | + --Child>("uncertainty") | + ++Child>("integer") ; } @@ -76,9 +73,16 @@ class Parity : public Component { this->uncertainty, \ this->integer) - // default, and from fields + // default + Parity() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Parity( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -105,17 +109,27 @@ class Parity : public Component { // copy Parity(const Parity &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + integer(this,other.integer) { - *this = other; Component::finish(other); } // move Parity(Parity &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + integer(this,std::move(other.integer)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Pdf.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Pdf.hpp index 4c9a6f45f..1b8896121 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Pdf.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Pdf.hpp @@ -34,10 +34,8 @@ class Pdf : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -56,9 +54,16 @@ class Pdf : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + Pdf() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Pdf( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class Pdf : public Component { // copy Pdf(const Pdf &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move Pdf(Pdf &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/PhotonEmissionProbabilities.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/PhotonEmissionProbabilities.hpp index 839010444..e5c06bcd7 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/PhotonEmissionProbabilities.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/PhotonEmissionProbabilities.hpp @@ -33,8 +33,7 @@ class PhotonEmissionProbabilities : public Component("shell") + ++Child("shell") ; } @@ -51,9 +50,16 @@ class PhotonEmissionProbabilities : public Componentshell) - // default, and from fields + // default + PhotonEmissionProbabilities() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PhotonEmissionProbabilities( - const wrapper> &shell = {} + const wrapper> &shell ) : GNDSTK_COMPONENT(BlockData{}), shell(this,shell) @@ -70,17 +76,17 @@ class PhotonEmissionProbabilities : public Component { XMLName{} / Meta<>("format") | // children - std::optional{} - / --Child<>("styles") | - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("aliases") | - std::optional{} - / --Child<>("gaugeBosons") | - std::optional{} - / --Child<>("leptons") | - std::optional{} - / --Child<>("baryons") | - std::optional{} - / --Child<>("chemicalElements") | - std::optional{} - / --Child<>("unorthodoxes") + --Child>("styles") | + --Child>("documentation") | + --Child>("aliases") | + --Child>("gaugeBosons") | + --Child>("leptons") | + --Child>("baryons") | + --Child>("chemicalElements") | + --Child>("unorthodoxes") ; } @@ -101,9 +93,16 @@ class PoPs_database : public Component { this->chemicalElements, \ this->unorthodoxes) - // default, and from fields + // default + PoPs_database() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PoPs_database( - const wrapper &name = {}, + const wrapper &name, const wrapper &version = {}, const wrapper &format = {}, const wrapper> &styles = {}, @@ -140,17 +139,37 @@ class PoPs_database : public Component { // copy PoPs_database(const PoPs_database &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,other.name), + version(this,other.version), + format(this,other.format), + styles(this,other.styles), + documentation(this,other.documentation), + aliases(this,other.aliases), + gaugeBosons(this,other.gaugeBosons), + leptons(this,other.leptons), + baryons(this,other.baryons), + chemicalElements(this,other.chemicalElements), + unorthodoxes(this,other.unorthodoxes) { - *this = other; Component::finish(other); } // move PoPs_database(PoPs_database &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + name(this,std::move(other.name)), + version(this,std::move(other.version)), + format(this,std::move(other.format)), + styles(this,std::move(other.styles)), + documentation(this,std::move(other.documentation)), + aliases(this,std::move(other.aliases)), + gaugeBosons(this,std::move(other.gaugeBosons)), + leptons(this,std::move(other.leptons)), + baryons(this,std::move(other.baryons)), + chemicalElements(this,std::move(other.chemicalElements)), + unorthodoxes(this,std::move(other.unorthodoxes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/PositronEmissionIntensity.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/PositronEmissionIntensity.hpp index dc0e3d9fd..91cef2afe 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/PositronEmissionIntensity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/PositronEmissionIntensity.hpp @@ -36,8 +36,7 @@ class PositronEmissionIntensity : public Component("value") | // children - std::optional{} - / --Child<>("uncertainty") + --Child>("uncertainty") ; } @@ -58,9 +57,16 @@ class PositronEmissionIntensity : public Componentvalue, \ this->uncertainty) - // default, and from fields + // default + PositronEmissionIntensity() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PositronEmissionIntensity( - const wrapper &value = {}, + const wrapper &value, const wrapper> &uncertainty = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class PositronEmissionIntensity : public Component { { return // children - containers::Double{} - / ++Child<>("Double") + ++Child("double") ; } @@ -51,9 +50,16 @@ class Probability : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + Probability() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Probability( - const wrapper> &Double = {} + const wrapper> &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) @@ -70,17 +76,17 @@ class Probability : public Component { // copy Probability(const Probability &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Probability(Probability &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Product.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Product.hpp index 670277bf6..2ad5441c8 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Product.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Product.hpp @@ -55,9 +55,16 @@ class Product : public Component { this->label, \ this->pid) - // default, and from fields + // default + Product() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Product( - const wrapper &label = {}, + const wrapper &label, const wrapper &pid = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Product : public Component { // copy Product(const Product &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + pid(this,other.pid) { - *this = other; Component::finish(other); } // move Product(Product &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + pid(this,std::move(other.pid)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Products.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Products.hpp index 24e7ba4e3..17ad6038a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Products.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Products.hpp @@ -33,8 +33,7 @@ class Products : public Component { { return // children - pops::Product{} - / ++Child<>("product") + ++Child("product") ; } @@ -51,9 +50,16 @@ class Products : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->product) - // default, and from fields + // default + Products() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Products( - const wrapper> &product = {} + const wrapper> &product ) : GNDSTK_COMPONENT(BlockData{}), product(this,product) @@ -70,17 +76,17 @@ class Products : public Component { // copy Products(const Products &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + product(this,other.product) { - *this = other; Component::finish(other); } // move Products(Products &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + product(this,std::move(other.product)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Q.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Q.hpp index a164f5da5..a36320e65 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Q.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Q.hpp @@ -42,12 +42,9 @@ class Q : public Component { XMLName{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | - containers::Double{} - / ++Child<>("Double") + --Child>("documentation") | + --Child>("uncertainty") | + ++Child("double") ; } @@ -76,9 +73,16 @@ class Q : public Component { this->uncertainty, \ this->Double) - // default, and from fields + // default + Q() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Q( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper &value = {}, const wrapper> &documentation = {}, @@ -105,17 +109,27 @@ class Q : public Component { // copy Q(const Q &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Q(Q &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Shell.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Shell.hpp index aa60e2ce5..f55288810 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Shell.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Shell.hpp @@ -59,9 +59,16 @@ class Shell : public Component { this->value, \ this->unit) - // default, and from fields + // default + Shell() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Shell( - const wrapper &label = {}, + const wrapper &label, const wrapper &value = {}, const wrapper> &unit = {} ) : @@ -82,17 +89,21 @@ class Shell : public Component { // copy Shell(const Shell &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + value(this,other.value), + unit(this,other.unit) { - *this = other; Component::finish(other); } // move Shell(Shell &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + value(this,std::move(other.value)), + unit(this,std::move(other.unit)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Spectra.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectra.hpp index d5451edb2..c4bfc88a2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Spectra.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectra.hpp @@ -33,8 +33,7 @@ class Spectra : public Component { { return // children - pops::Spectrum{} - / ++Child<>("spectrum") + ++Child("spectrum") ; } @@ -51,9 +50,16 @@ class Spectra : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->spectrum) - // default, and from fields + // default + Spectra() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Spectra( - const wrapper> &spectrum = {} + const wrapper> &spectrum ) : GNDSTK_COMPONENT(BlockData{}), spectrum(this,spectrum) @@ -70,17 +76,17 @@ class Spectra : public Component { // copy Spectra(const Spectra &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + spectrum(this,other.spectrum) { - *this = other; Component::finish(other); } // move Spectra(Spectra &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + spectrum(this,std::move(other.spectrum)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum.hpp index 184e74118..dbf291a96 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Spectrum.hpp @@ -39,10 +39,8 @@ class Spectrum : public Component { XMLName{} / Meta<>("pid") | // children - std::optional{} - / --Child<>("continuum") | - std::optional{} - / ++Child<>("discrete") + --Child>("continuum") | + ++Child>("discrete") ; } @@ -67,9 +65,16 @@ class Spectrum : public Component { this->continuum, \ this->discrete) - // default, and from fields + // default + Spectrum() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Spectrum( - const wrapper &label = {}, + const wrapper &label, const wrapper &pid = {}, const wrapper> &continuum = {}, const wrapper>> &discrete = {} @@ -92,17 +97,23 @@ class Spectrum : public Component { // copy Spectrum(const Spectrum &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + pid(this,other.pid), + continuum(this,other.continuum), + discrete(this,other.discrete) { - *this = other; Component::finish(other); } // move Spectrum(Spectrum &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + pid(this,std::move(other.pid)), + continuum(this,std::move(other.continuum)), + discrete(this,std::move(other.discrete)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp index af486e1ff..cd697df81 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Spin.hpp @@ -42,12 +42,9 @@ class Spin : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") | - std::optional{} - / ++Child<>("fraction") + --Child>("documentation") | + --Child>("uncertainty") | + ++Child>("fraction") ; } @@ -76,9 +73,16 @@ class Spin : public Component { this->uncertainty, \ this->fraction) - // default, and from fields + // default + Spin() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Spin( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &unit = {}, const wrapper> &value = {}, const wrapper> &documentation = {}, @@ -105,17 +109,27 @@ class Spin : public Component { // copy Spin(const Spin &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + unit(this,other.unit), + value(this,other.value), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty), + fraction(this,other.fraction) { - *this = other; Component::finish(other); } // move Spin(Spin &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)), + fraction(this,std::move(other.fraction)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp index 95408bdab..cd0e7c4d6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Standard.hpp @@ -33,8 +33,7 @@ class Standard : public Component { { return // children - extra::Double{} - / --Child<>("Double") + --Child("double") ; } @@ -51,9 +50,16 @@ class Standard : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->Double) - // default, and from fields + // default + Standard() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Standard( - const wrapper &Double = {} + const wrapper &Double ) : GNDSTK_COMPONENT(BlockData{}), Double(this,Double) @@ -70,17 +76,17 @@ class Standard : public Component { // copy Standard(const Standard &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move Standard(Standard &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty.hpp index f3e29bc61..535099084 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Uncertainty.hpp @@ -36,14 +36,10 @@ class Uncertainty : public Component { { return // children - std::optional{} - / --Child<>("standard") | - std::optional{} - / --Child<>("logNormal") | - std::optional{} - / --Child<>("confidenceIntervals") | - std::optional{} - / --Child<>("pdf") + --Child>("standard") | + --Child>("logNormal") | + --Child>("confidenceIntervals") | + --Child>("pdf") ; } @@ -66,9 +62,16 @@ class Uncertainty : public Component { this->confidenceIntervals, \ this->pdf) - // default, and from fields + // default + Uncertainty() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Uncertainty( - const wrapper> &standard = {}, + const wrapper> &standard, const wrapper> &logNormal = {}, const wrapper> &confidenceIntervals = {}, const wrapper> &pdf = {} @@ -91,17 +94,23 @@ class Uncertainty : public Component { // copy Uncertainty(const Uncertainty &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + standard(this,other.standard), + logNormal(this,other.logNormal), + confidenceIntervals(this,other.confidenceIntervals), + pdf(this,other.pdf) { - *this = other; Component::finish(other); } // move Uncertainty(Uncertainty &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + standard(this,std::move(other.standard)), + logNormal(this,std::move(other.logNormal)), + confidenceIntervals(this,std::move(other.confidenceIntervals)), + pdf(this,std::move(other.pdf)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox.hpp index 8797b5151..5c7941b18 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodox.hpp @@ -37,10 +37,8 @@ class Unorthodox : public Component { XMLName{} / Meta<>("id") | // children - std::optional{} - / --Child<>("charge") | - std::optional{} - / --Child<>("mass") + --Child>("charge") | + --Child>("mass") ; } @@ -63,9 +61,16 @@ class Unorthodox : public Component { this->charge, \ this->mass) - // default, and from fields + // default + Unorthodox() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Unorthodox( - const wrapper &id = {}, + const wrapper &id, const wrapper> &charge = {}, const wrapper> &mass = {} ) : @@ -86,17 +91,21 @@ class Unorthodox : public Component { // copy Unorthodox(const Unorthodox &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,other.id), + charge(this,other.charge), + mass(this,other.mass) { - *this = other; Component::finish(other); } // move Unorthodox(Unorthodox &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + id(this,std::move(other.id)), + charge(this,std::move(other.charge)), + mass(this,std::move(other.mass)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes.hpp b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes.hpp index 1ab7ba4ba..b91fa8dfc 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/pops/Unorthodoxes.hpp @@ -33,8 +33,7 @@ class Unorthodoxes : public Component { { return // children - pops::Nuclide{} - / ++Child<>("unorthodox") + ++Child("unorthodox") ; } @@ -51,9 +50,16 @@ class Unorthodoxes : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->unorthodox) - // default, and from fields + // default + Unorthodoxes() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Unorthodoxes( - const wrapper> &unorthodox = {} + const wrapper> &unorthodox ) : GNDSTK_COMPONENT(BlockData{}), unorthodox(this,unorthodox) @@ -70,17 +76,17 @@ class Unorthodoxes : public Component { // copy Unorthodoxes(const Unorthodoxes &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unorthodox(this,other.unorthodox) { - *this = other; Component::finish(other); } // move Unorthodoxes(Unorthodoxes &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unorthodox(this,std::move(other.unorthodox)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC.hpp index 5a99ebc8b..2a164c7ba 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AngularEnergyMC.hpp @@ -39,10 +39,8 @@ class AngularEnergyMC : public Component { XMLName{} / Meta<>("productFrame") | // children - transport::Angular_uncorrelated{} - / --Child<>("angular") | - transport::AngularEnergy{} - / --Child<>("angularEnergy") + --Child("angular") | + --Child("angularEnergy") ; } @@ -67,9 +65,16 @@ class AngularEnergyMC : public Component { this->angular, \ this->angularEnergy) - // default, and from fields + // default + AngularEnergyMC() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AngularEnergyMC( - const wrapper &label = {}, + const wrapper &label, const wrapper &productFrame = {}, const wrapper &angular = {}, const wrapper &angularEnergy = {} @@ -92,17 +97,23 @@ class AngularEnergyMC : public Component { // copy AngularEnergyMC(const AngularEnergyMC &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + angular(this,other.angular), + angularEnergy(this,other.angularEnergy) { - *this = other; Component::finish(other); } // move AngularEnergyMC(AngularEnergyMC &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + angular(this,std::move(other.angular)), + angularEnergy(this,std::move(other.angularEnergy)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy.hpp index 18a78f47d..fcaacc45b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableEnergy.hpp @@ -34,10 +34,8 @@ class AvailableEnergy : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("gridded1d") + --Child>("XYs1d") | + --Child>("gridded1d") ; } @@ -56,9 +54,16 @@ class AvailableEnergy : public Component { this->XYs1d, \ this->gridded1d) - // default, and from fields + // default + AvailableEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AvailableEnergy( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> &gridded1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class AvailableEnergy : public Component { // copy AvailableEnergy(const AvailableEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + gridded1d(this,other.gridded1d) { - *this = other; Component::finish(other); } // move AvailableEnergy(AvailableEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + gridded1d(this,std::move(other.gridded1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum.hpp index 5b9d3caef..7b82d61c1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AvailableMomentum.hpp @@ -34,10 +34,8 @@ class AvailableMomentum : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("gridded1d") + --Child>("XYs1d") | + --Child>("gridded1d") ; } @@ -56,9 +54,16 @@ class AvailableMomentum : public Component { this->XYs1d, \ this->gridded1d) - // default, and from fields + // default + AvailableMomentum() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AvailableMomentum( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> &gridded1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class AvailableMomentum : public Component { // copy AvailableMomentum(const AvailableMomentum &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + gridded1d(this,other.gridded1d) { - *this = other; Component::finish(other); } // move AvailableMomentum(AvailableMomentum &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + gridded1d(this,std::move(other.gridded1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy.hpp index 11f84f167..01ce114f2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductEnergy.hpp @@ -35,12 +35,9 @@ class AverageProductEnergy : public Component { { return // children - containers::XYs1d{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("gridded1d") | - std::optional{} - / --Child<>("regions1d") + --Child("XYs1d") | + --Child>("gridded1d") | + --Child>("regions1d") ; } @@ -61,9 +58,16 @@ class AverageProductEnergy : public Component { this->gridded1d, \ this->regions1d) - // default, and from fields + // default + AverageProductEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AverageProductEnergy( - const wrapper &XYs1d = {}, + const wrapper &XYs1d, const wrapper> &gridded1d = {}, const wrapper> ®ions1d = {} ) : @@ -84,17 +88,21 @@ class AverageProductEnergy : public Component { // copy AverageProductEnergy(const AverageProductEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + gridded1d(this,other.gridded1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move AverageProductEnergy(AverageProductEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + gridded1d(this,std::move(other.gridded1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductMomentum.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductMomentum.hpp index fefa92de3..ee8ae2bc5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductMomentum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/AverageProductMomentum.hpp @@ -35,12 +35,9 @@ class AverageProductMomentum : public Component{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("gridded1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("gridded1d") | + --Child>("regions1d") ; } @@ -61,9 +58,16 @@ class AverageProductMomentum : public Componentgridded1d, \ this->regions1d) - // default, and from fields + // default + AverageProductMomentum() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AverageProductMomentum( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> &gridded1d = {}, const wrapper> ®ions1d = {} ) : @@ -84,17 +88,21 @@ class AverageProductMomentum : public Component { XMLName{} / Meta<>("productFrame") | // children - common::Energy{} - / --Child<>("energy") | - transport::EnergyAngular{} - / --Child<>("energyAngular") + --Child("energy") | + --Child("energyAngular") ; } @@ -67,9 +65,16 @@ class EnergyAngularMC : public Component { this->energy, \ this->energyAngular) - // default, and from fields + // default + EnergyAngularMC() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit EnergyAngularMC( - const wrapper &label = {}, + const wrapper &label, const wrapper &productFrame = {}, const wrapper &energy = {}, const wrapper &energyAngular = {} @@ -92,17 +97,23 @@ class EnergyAngularMC : public Component { // copy EnergyAngularMC(const EnergyAngularMC &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + energy(this,other.energy), + energyAngular(this,other.energyAngular) { - *this = other; Component::finish(other); } // move EnergyAngularMC(EnergyAngularMC &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + energy(this,std::move(other.energy)), + energyAngular(this,std::move(other.energyAngular)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d.hpp index 0f71074f0..ea7684ba8 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/processed/MultiGroup3d.hpp @@ -38,8 +38,7 @@ class MultiGroup3d : public Component { XMLName{} / Meta<>("productFrame") | // children - containers::Gridded3d{} - / --Child<>("gridded3d") + --Child("gridded3d") ; } @@ -62,9 +61,16 @@ class MultiGroup3d : public Component { this->productFrame, \ this->gridded3d) - // default, and from fields + // default + MultiGroup3d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MultiGroup3d( - const wrapper &label = {}, + const wrapper &label, const wrapper &productFrame = {}, const wrapper &gridded3d = {} ) : @@ -85,17 +91,21 @@ class MultiGroup3d : public Component { // copy MultiGroup3d(const MultiGroup3d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + gridded3d(this,other.gridded3d) { - *this = other; Component::finish(other); } // move MultiGroup3d(MultiGroup3d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + gridded3d(this,std::move(other.gridded3d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner.hpp index ba025dd82..e68f5827c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/BreitWigner.hpp @@ -45,14 +45,10 @@ class BreitWigner : public Component { Defaulted{false} / Meta<>("useForSelfShieldingOnly") | // children - std::optional{} - / --Child<>("PoPs") | - std::optional{} - / --Child<>("scatteringRadius") | - std::optional{} - / --Child<>("hardSphereRadius") | - std::optional{} - / --Child<>("resonanceParameters") + --Child>("PoPs") | + --Child>("scatteringRadius") | + --Child>("hardSphereRadius") | + --Child>("resonanceParameters") ; } @@ -91,10 +87,17 @@ class BreitWigner : public Component { this->hardSphereRadius, \ this->resonanceParameters) - // default, and from fields + // default + BreitWigner() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit BreitWigner( - const wrapper &label = {}, + const wrapper &label, const wrapper &approximation = {}, const wrapper> &calculateChannelRadius = {}, const wrapper> &useForSelfShieldingOnly = {}, @@ -125,17 +128,31 @@ class BreitWigner : public Component { // copy BreitWigner(const BreitWigner &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + approximation(this,other.approximation), + calculateChannelRadius(this,other.calculateChannelRadius), + useForSelfShieldingOnly(this,other.useForSelfShieldingOnly), + PoPs(this,other.PoPs), + scatteringRadius(this,other.scatteringRadius), + hardSphereRadius(this,other.hardSphereRadius), + resonanceParameters(this,other.resonanceParameters) { - *this = other; Component::finish(other); } // move BreitWigner(BreitWigner &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + approximation(this,std::move(other.approximation)), + calculateChannelRadius(this,std::move(other.calculateChannelRadius)), + useForSelfShieldingOnly(this,std::move(other.useForSelfShieldingOnly)), + PoPs(this,std::move(other.PoPs)), + scatteringRadius(this,std::move(other.scatteringRadius)), + hardSphereRadius(this,std::move(other.hardSphereRadius)), + resonanceParameters(this,std::move(other.resonanceParameters)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Channel.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channel.hpp index f5b1584cd..2571b6d9f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Channel.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channel.hpp @@ -48,12 +48,9 @@ class Channel : public Component { Integer32{} / Meta<>("columnIndex") | // children - std::optional{} - / --Child<>("externalRMatrix") | - std::optional{} - / --Child<>("scatteringRadius") | - std::optional{} - / --Child<>("hardSphereRadius") + --Child>("externalRMatrix") | + --Child>("scatteringRadius") | + --Child>("hardSphereRadius") ; } @@ -88,9 +85,16 @@ class Channel : public Component { this->scatteringRadius, \ this->hardSphereRadius) - // default, and from fields + // default + Channel() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Channel( - const wrapper &label = {}, + const wrapper &label, const wrapper &resonanceReaction = {}, const wrapper &L = {}, const wrapper &channelSpin = {}, @@ -123,17 +127,33 @@ class Channel : public Component { // copy Channel(const Channel &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + resonanceReaction(this,other.resonanceReaction), + L(this,other.L), + channelSpin(this,other.channelSpin), + boundaryConditionValue(this,other.boundaryConditionValue), + columnIndex(this,other.columnIndex), + externalRMatrix(this,other.externalRMatrix), + scatteringRadius(this,other.scatteringRadius), + hardSphereRadius(this,other.hardSphereRadius) { - *this = other; Component::finish(other); } // move Channel(Channel &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + resonanceReaction(this,std::move(other.resonanceReaction)), + L(this,std::move(other.L)), + channelSpin(this,std::move(other.channelSpin)), + boundaryConditionValue(this,std::move(other.boundaryConditionValue)), + columnIndex(this,std::move(other.columnIndex)), + externalRMatrix(this,std::move(other.externalRMatrix)), + scatteringRadius(this,std::move(other.scatteringRadius)), + hardSphereRadius(this,std::move(other.hardSphereRadius)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Channels.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channels.hpp index ed6646391..e1ea797aa 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Channels.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Channels.hpp @@ -33,8 +33,7 @@ class Channels : public Component { { return // children - resonances::Channel{} - / ++Child<>("channel") + ++Child("channel") ; } @@ -51,9 +50,16 @@ class Channels : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->channel) - // default, and from fields + // default + Channels() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Channels( - const wrapper> &channel = {} + const wrapper> &channel ) : GNDSTK_COMPONENT(BlockData{}), channel(this,channel) @@ -70,17 +76,17 @@ class Channels : public Component { // copy Channels(const Channels &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + channel(this,other.channel) { - *this = other; Component::finish(other); } // move Channels(Channels &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + channel(this,std::move(other.channel)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval.hpp index c79940526..8094f2f48 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyInterval.hpp @@ -78,9 +78,16 @@ class EnergyInterval : public Component { this->domainUnit, \ this->_RMatrixBreitWigner) - // default, and from fields + // default + EnergyInterval() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit EnergyInterval( - const wrapper &index = {}, + const wrapper &index, const wrapper &domainMin = {}, const wrapper &domainMax = {}, const wrapper &domainUnit = {}, @@ -105,17 +112,25 @@ class EnergyInterval : public Component { // copy EnergyInterval(const EnergyInterval &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,other.index), + domainMin(this,other.domainMin), + domainMax(this,other.domainMax), + domainUnit(this,other.domainUnit), + _RMatrixBreitWigner(this,other._RMatrixBreitWigner) { - *this = other; Component::finish(other); } // move EnergyInterval(EnergyInterval &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + index(this,std::move(other.index)), + domainMin(this,std::move(other.domainMin)), + domainMax(this,std::move(other.domainMax)), + domainUnit(this,std::move(other.domainUnit)), + _RMatrixBreitWigner(this,std::move(other._RMatrixBreitWigner)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals.hpp index a74c5a76c..2d4ec325f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/EnergyIntervals.hpp @@ -36,8 +36,7 @@ class EnergyIntervals : public Component { XMLName{} / Meta<>("label") | // children - resonances::EnergyInterval{} - / ++Child<>("energyInterval") + ++Child("energyInterval") ; } @@ -58,9 +57,16 @@ class EnergyIntervals : public Component { this->label, \ this->energyInterval) - // default, and from fields + // default + EnergyIntervals() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit EnergyIntervals( - const wrapper &label = {}, + const wrapper &label, const wrapper> &energyInterval = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class EnergyIntervals : public Component { // copy EnergyIntervals(const EnergyIntervals &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + energyInterval(this,other.energyInterval) { - *this = other; Component::finish(other); } // move EnergyIntervals(EnergyIntervals &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + energyInterval(this,std::move(other.energyInterval)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix.hpp index 78e05453b..78c606a62 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ExternalRMatrix.hpp @@ -36,8 +36,7 @@ class ExternalRMatrix : public Component { Defaulted{"Froehner"} / Meta<>("type") | // children - containers::Double{} - / ++Child<>("Double") + ++Child("double") ; } @@ -63,10 +62,17 @@ class ExternalRMatrix : public Component { this->type, \ this->Double) - // default, and from fields + // default + ExternalRMatrix() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit ExternalRMatrix( - const wrapper> &type = {}, + const wrapper> &type, const wrapper> &Double = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -85,17 +91,19 @@ class ExternalRMatrix : public Component { // copy ExternalRMatrix(const ExternalRMatrix &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + type(this,other.type), + Double(this,other.Double) { - *this = other; Component::finish(other); } // move ExternalRMatrix(ExternalRMatrix &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + type(this,std::move(other.type)), + Double(this,std::move(other.Double)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius.hpp index 9c9191f3b..df27ee81e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/HardSphereRadius.hpp @@ -33,8 +33,7 @@ class HardSphereRadius : public Component { { return // children - containers::Constant1d{} - / --Child<>("constant1d") + --Child("constant1d") ; } @@ -51,9 +50,16 @@ class HardSphereRadius : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->constant1d) - // default, and from fields + // default + HardSphereRadius() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit HardSphereRadius( - const wrapper &constant1d = {} + const wrapper &constant1d ) : GNDSTK_COMPONENT(BlockData{}), constant1d(this,constant1d) @@ -70,17 +76,17 @@ class HardSphereRadius : public Component { // copy HardSphereRadius(const HardSphereRadius &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + constant1d(this,other.constant1d) { - *this = other; Component::finish(other); } // move HardSphereRadius(HardSphereRadius &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + constant1d(this,std::move(other.constant1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/J.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/J.hpp index 4bb66550a..9e7460665 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/J.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/J.hpp @@ -39,10 +39,8 @@ class J : public Component { Fraction32{} / Meta<>("value") | // children - resonances::LevelSpacing{} - / --Child<>("levelSpacing") | - resonances::Widths{} - / --Child<>("widths") + --Child("levelSpacing") | + --Child("widths") ; } @@ -67,9 +65,16 @@ class J : public Component { this->levelSpacing, \ this->widths) - // default, and from fields + // default + J() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit J( - const wrapper &label = {}, + const wrapper &label, const wrapper &value = {}, const wrapper &levelSpacing = {}, const wrapper &widths = {} @@ -92,17 +97,23 @@ class J : public Component { // copy J(const J &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + value(this,other.value), + levelSpacing(this,other.levelSpacing), + widths(this,other.widths) { - *this = other; Component::finish(other); } // move J(J &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + value(this,std::move(other.value)), + levelSpacing(this,std::move(other.levelSpacing)), + widths(this,std::move(other.widths)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Js.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Js.hpp index f58880d75..28c7fe6a1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Js.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Js.hpp @@ -33,8 +33,7 @@ class Js : public Component { { return // children - resonances::J{} - / ++Child<>("J") + ++Child("J") ; } @@ -51,9 +50,16 @@ class Js : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->J) - // default, and from fields + // default + Js() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Js( - const wrapper> &J = {} + const wrapper> &J ) : GNDSTK_COMPONENT(BlockData{}), J(this,J) @@ -70,17 +76,17 @@ class Js : public Component { // copy Js(const Js &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + J(this,other.J) { - *this = other; Component::finish(other); } // move Js(Js &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + J(this,std::move(other.J)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/L.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/L.hpp index 235db981e..2c76424ca 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/L.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/L.hpp @@ -38,8 +38,7 @@ class L : public Component { Integer32{} / Meta<>("value") | // children - resonances::Js{} - / --Child<>("Js") + --Child("Js") ; } @@ -62,9 +61,16 @@ class L : public Component { this->value, \ this->Js) - // default, and from fields + // default + L() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit L( - const wrapper &label = {}, + const wrapper &label, const wrapper &value = {}, const wrapper &Js = {} ) : @@ -85,17 +91,21 @@ class L : public Component { // copy L(const L &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + value(this,other.value), + Js(this,other.Js) { - *this = other; Component::finish(other); } // move L(L &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + value(this,std::move(other.value)), + Js(this,std::move(other.Js)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing.hpp index c6cc09144..f915fea21 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/LevelSpacing.hpp @@ -35,12 +35,9 @@ class LevelSpacing : public Component { { return // children - std::optional{} - / --Child<>("constant1d") | - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("constant1d") | + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -61,9 +58,16 @@ class LevelSpacing : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + LevelSpacing() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit LevelSpacing( - const wrapper> &constant1d = {}, + const wrapper> &constant1d, const wrapper> &XYs1d = {}, const wrapper> ®ions1d = {} ) : @@ -84,17 +88,21 @@ class LevelSpacing : public Component { // copy LevelSpacing(const LevelSpacing &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + constant1d(this,other.constant1d), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move LevelSpacing(LevelSpacing &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + constant1d(this,std::move(other.constant1d)), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Ls.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Ls.hpp index dce456500..952168a29 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Ls.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Ls.hpp @@ -33,8 +33,7 @@ class Ls : public Component { { return // children - resonances::L{} - / ++Child<>("L") + ++Child("L") ; } @@ -51,9 +50,16 @@ class Ls : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->L) - // default, and from fields + // default + Ls() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Ls( - const wrapper> &L = {} + const wrapper> &L ) : GNDSTK_COMPONENT(BlockData{}), L(this,L) @@ -70,17 +76,17 @@ class Ls : public Component { // copy Ls(const Ls &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + L(this,other.L) { - *this = other; Component::finish(other); } // move Ls(Ls &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + L(this,std::move(other.L)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix.hpp index 5ed44b05d..5139c8671 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/RMatrix.hpp @@ -52,12 +52,9 @@ class RMatrix : public Component { Defaulted{false} / Meta<>("supportsAngularReconstruction") | // children - std::optional{} - / --Child<>("PoPs") | - resonances::ResonanceReactions{} - / --Child<>("resonanceReactions") | - resonances::SpinGroups{} - / --Child<>("spinGroups") + --Child>("PoPs") | + --Child("resonanceReactions") | + --Child("spinGroups") ; } @@ -105,10 +102,17 @@ class RMatrix : public Component { this->resonanceReactions, \ this->spinGroups) - // default, and from fields + // default + RMatrix() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit RMatrix( - const wrapper &label = {}, + const wrapper &label, const wrapper &approximation = {}, const wrapper> &boundaryCondition = {}, const wrapper> &boundaryConditionValue = {}, @@ -145,17 +149,37 @@ class RMatrix : public Component { // copy RMatrix(const RMatrix &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + approximation(this,other.approximation), + boundaryCondition(this,other.boundaryCondition), + boundaryConditionValue(this,other.boundaryConditionValue), + calculateChannelRadius(this,other.calculateChannelRadius), + calculatePenetrability(this,other.calculatePenetrability), + useForSelfShieldingOnly(this,other.useForSelfShieldingOnly), + supportsAngularReconstruction(this,other.supportsAngularReconstruction), + PoPs(this,other.PoPs), + resonanceReactions(this,other.resonanceReactions), + spinGroups(this,other.spinGroups) { - *this = other; Component::finish(other); } // move RMatrix(RMatrix &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + approximation(this,std::move(other.approximation)), + boundaryCondition(this,std::move(other.boundaryCondition)), + boundaryConditionValue(this,std::move(other.boundaryConditionValue)), + calculateChannelRadius(this,std::move(other.calculateChannelRadius)), + calculatePenetrability(this,std::move(other.calculatePenetrability)), + useForSelfShieldingOnly(this,std::move(other.useForSelfShieldingOnly)), + supportsAngularReconstruction(this,std::move(other.supportsAngularReconstruction)), + PoPs(this,std::move(other.PoPs)), + resonanceReactions(this,std::move(other.resonanceReactions)), + spinGroups(this,std::move(other.spinGroups)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved.hpp index 254992fd4..b7ecf3591 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resolved.hpp @@ -77,9 +77,16 @@ class Resolved : public Component { this->domainUnit, \ this->_RMatrixBreitWignerenergyIntervals) - // default, and from fields + // default + Resolved() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Resolved( - const wrapper &domainMin = {}, + const wrapper &domainMin, const wrapper &domainMax = {}, const wrapper &domainUnit = {}, const wrapper<_t> &_RMatrixBreitWignerenergyIntervals = {} @@ -102,17 +109,23 @@ class Resolved : public Component { // copy Resolved(const Resolved &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMin(this,other.domainMin), + domainMax(this,other.domainMax), + domainUnit(this,other.domainUnit), + _RMatrixBreitWignerenergyIntervals(this,other._RMatrixBreitWignerenergyIntervals) { - *this = other; Component::finish(other); } // move Resolved(Resolved &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMin(this,std::move(other.domainMin)), + domainMax(this,std::move(other.domainMax)), + domainUnit(this,std::move(other.domainUnit)), + _RMatrixBreitWignerenergyIntervals(this,std::move(other._RMatrixBreitWignerenergyIntervals)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters.hpp index c338cd077..7424a030b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceParameters.hpp @@ -33,8 +33,7 @@ class ResonanceParameters : public Component { { return // children - containers::Table{} - / --Child<>("table") + --Child("table") ; } @@ -51,9 +50,16 @@ class ResonanceParameters : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->table) - // default, and from fields + // default + ResonanceParameters() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ResonanceParameters( - const wrapper &table = {} + const wrapper &table ) : GNDSTK_COMPONENT(BlockData{}), table(this,table) @@ -70,17 +76,17 @@ class ResonanceParameters : public Component { // copy ResonanceParameters(const ResonanceParameters &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + table(this,other.table) { - *this = other; Component::finish(other); } // move ResonanceParameters(ResonanceParameters &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + table(this,std::move(other.table)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction.hpp index 165185ec3..7680a1d1c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReaction.hpp @@ -45,14 +45,10 @@ class ResonanceReaction : public Component { Defaulted{false} / Meta<>("eliminated") | // children - std::optional{} - / --Child<>("Q") | - std::optional{} - / --Child<>("scatteringRadius") | - std::optional{} - / --Child<>("hardSphereRadius") | - containers::Link{} - / --Child<>("link") + --Child>("Q") | + --Child>("scatteringRadius") | + --Child>("hardSphereRadius") | + --Child("link") ; } @@ -90,10 +86,17 @@ class ResonanceReaction : public Component { this->hardSphereRadius, \ this->link) - // default, and from fields + // default + ResonanceReaction() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit ResonanceReaction( - const wrapper &label = {}, + const wrapper &label, const wrapper &ejectile = {}, const wrapper> &boundaryConditionValue = {}, const wrapper> &eliminated = {}, @@ -124,17 +127,31 @@ class ResonanceReaction : public Component { // copy ResonanceReaction(const ResonanceReaction &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + ejectile(this,other.ejectile), + boundaryConditionValue(this,other.boundaryConditionValue), + eliminated(this,other.eliminated), + Q(this,other.Q), + scatteringRadius(this,other.scatteringRadius), + hardSphereRadius(this,other.hardSphereRadius), + link(this,other.link) { - *this = other; Component::finish(other); } // move ResonanceReaction(ResonanceReaction &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + ejectile(this,std::move(other.ejectile)), + boundaryConditionValue(this,std::move(other.boundaryConditionValue)), + eliminated(this,std::move(other.eliminated)), + Q(this,std::move(other.Q)), + scatteringRadius(this,std::move(other.scatteringRadius)), + hardSphereRadius(this,std::move(other.hardSphereRadius)), + link(this,std::move(other.link)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions.hpp index 2b24538e6..2ca67e6bf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ResonanceReactions.hpp @@ -33,8 +33,7 @@ class ResonanceReactions : public Component { { return // children - resonances::ResonanceReaction{} - / ++Child<>("resonanceReaction") + ++Child("resonanceReaction") ; } @@ -51,9 +50,16 @@ class ResonanceReactions : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->resonanceReaction) - // default, and from fields + // default + ResonanceReactions() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ResonanceReactions( - const wrapper> &resonanceReaction = {} + const wrapper> &resonanceReaction ) : GNDSTK_COMPONENT(BlockData{}), resonanceReaction(this,resonanceReaction) @@ -70,17 +76,17 @@ class ResonanceReactions : public Component { // copy ResonanceReactions(const ResonanceReactions &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + resonanceReaction(this,other.resonanceReaction) { - *this = other; Component::finish(other); } // move ResonanceReactions(ResonanceReactions &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + resonanceReaction(this,std::move(other.resonanceReaction)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances.hpp index 26411ec24..9900131dd 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Resonances.hpp @@ -39,14 +39,10 @@ class Resonances : public Component { std::optional{} / Meta<>("href") | // children - resonances::ScatteringRadius{} - / --Child<>("scatteringRadius") | - std::optional{} - / --Child<>("hardSphereRadius") | - std::optional{} - / ++Child<>("resolved") | - std::optional{} - / ++Child<>("unresolved") + --Child("scatteringRadius") | + --Child>("hardSphereRadius") | + ++Child>("resolved") | + ++Child>("unresolved") ; } @@ -73,9 +69,16 @@ class Resonances : public Component { this->resolved, \ this->unresolved) - // default, and from fields + // default + Resonances() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Resonances( - const wrapper> &href = {}, + const wrapper> &href, const wrapper &scatteringRadius = {}, const wrapper> &hardSphereRadius = {}, const wrapper>> &resolved = {}, @@ -100,17 +103,25 @@ class Resonances : public Component { // copy Resonances(const Resonances &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href), + scatteringRadius(this,other.scatteringRadius), + hardSphereRadius(this,other.hardSphereRadius), + resolved(this,other.resolved), + unresolved(this,other.unresolved) { - *this = other; Component::finish(other); } // move Resonances(Resonances &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)), + scatteringRadius(this,std::move(other.scatteringRadius)), + hardSphereRadius(this,std::move(other.hardSphereRadius)), + resolved(this,std::move(other.resolved)), + unresolved(this,std::move(other.unresolved)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius.hpp index d00bbd260..b22d81d86 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/ScatteringRadius.hpp @@ -62,9 +62,16 @@ class ScatteringRadius : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_constant1dXYs1dregions1d) - // default, and from fields + // default + ScatteringRadius() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ScatteringRadius( - const wrapper<_t> &_constant1dXYs1dregions1d = {} + const wrapper<_t> &_constant1dXYs1dregions1d ) : GNDSTK_COMPONENT(BlockData{}), _constant1dXYs1dregions1d(this,_constant1dXYs1dregions1d) @@ -81,17 +88,17 @@ class ScatteringRadius : public Component { // copy ScatteringRadius(const ScatteringRadius &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _constant1dXYs1dregions1d(this,other._constant1dXYs1dregions1d) { - *this = other; Component::finish(other); } // move ScatteringRadius(ScatteringRadius &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _constant1dXYs1dregions1d(this,std::move(other._constant1dXYs1dregions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup.hpp index 5ddca4e4a..74bb77f44 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroup.hpp @@ -41,10 +41,8 @@ class SpinGroup : public Component { Defaulted{1} / Meta<>("parity") | // children - resonances::Channels{} - / --Child<>("channels") | - resonances::ResonanceParameters{} - / --Child<>("resonanceParameters") + --Child("channels") | + --Child("resonanceParameters") ; } @@ -76,10 +74,17 @@ class SpinGroup : public Component { this->channels, \ this->resonanceParameters) - // default, and from fields + // default + SpinGroup() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit SpinGroup( - const wrapper &label = {}, + const wrapper &label, const wrapper &spin = {}, const wrapper> &parity = {}, const wrapper &channels = {}, @@ -104,17 +109,25 @@ class SpinGroup : public Component { // copy SpinGroup(const SpinGroup &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + spin(this,other.spin), + parity(this,other.parity), + channels(this,other.channels), + resonanceParameters(this,other.resonanceParameters) { - *this = other; Component::finish(other); } // move SpinGroup(SpinGroup &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + spin(this,std::move(other.spin)), + parity(this,std::move(other.parity)), + channels(this,std::move(other.channels)), + resonanceParameters(this,std::move(other.resonanceParameters)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups.hpp index e996a6447..6674a2470 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/SpinGroups.hpp @@ -33,8 +33,7 @@ class SpinGroups : public Component { { return // children - resonances::SpinGroup{} - / ++Child<>("spinGroup") + ++Child("spinGroup") ; } @@ -51,9 +50,16 @@ class SpinGroups : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->spinGroup) - // default, and from fields + // default + SpinGroups() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit SpinGroups( - const wrapper> &spinGroup = {} + const wrapper> &spinGroup ) : GNDSTK_COMPONENT(BlockData{}), spinGroup(this,spinGroup) @@ -70,17 +76,17 @@ class SpinGroups : public Component { // copy SpinGroups(const SpinGroups &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + spinGroup(this,other.spinGroup) { - *this = other; Component::finish(other); } // move SpinGroups(SpinGroups &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + spinGroup(this,std::move(other.spinGroup)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths.hpp index 2a49e125b..55196306f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/TabulatedWidths.hpp @@ -44,16 +44,11 @@ class TabulatedWidths : public Component { Defaulted{false} / Meta<>("useForSelfShieldingOnly") | // children - std::optional{} - / --Child<>("PoPs") | - std::optional{} - / --Child<>("scatteringRadius") | - std::optional{} - / --Child<>("hardSphereRadius") | - resonances::ResonanceReactions{} - / --Child<>("resonanceReactions") | - resonances::Ls{} - / --Child<>("Ls") + --Child>("PoPs") | + --Child>("scatteringRadius") | + --Child>("hardSphereRadius") | + --Child("resonanceReactions") | + --Child("Ls") ; } @@ -91,10 +86,17 @@ class TabulatedWidths : public Component { this->resonanceReactions, \ this->Ls) - // default, and from fields + // default + TabulatedWidths() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit TabulatedWidths( - const wrapper &label = {}, + const wrapper &label, const wrapper &approximation = {}, const wrapper> &useForSelfShieldingOnly = {}, const wrapper> &PoPs = {}, @@ -125,17 +127,31 @@ class TabulatedWidths : public Component { // copy TabulatedWidths(const TabulatedWidths &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + approximation(this,other.approximation), + useForSelfShieldingOnly(this,other.useForSelfShieldingOnly), + PoPs(this,other.PoPs), + scatteringRadius(this,other.scatteringRadius), + hardSphereRadius(this,other.hardSphereRadius), + resonanceReactions(this,other.resonanceReactions), + Ls(this,other.Ls) { - *this = other; Component::finish(other); } // move TabulatedWidths(TabulatedWidths &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + approximation(this,std::move(other.approximation)), + useForSelfShieldingOnly(this,std::move(other.useForSelfShieldingOnly)), + PoPs(this,std::move(other.PoPs)), + scatteringRadius(this,std::move(other.scatteringRadius)), + hardSphereRadius(this,std::move(other.hardSphereRadius)), + resonanceReactions(this,std::move(other.resonanceReactions)), + Ls(this,std::move(other.Ls)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved.hpp index efa8f6b3b..cf7064b44 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Unresolved.hpp @@ -71,9 +71,16 @@ class Unresolved : public Component { this->domainUnit, \ this->_tabulatedWidths) - // default, and from fields + // default + Unresolved() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Unresolved( - const wrapper &domainMin = {}, + const wrapper &domainMin, const wrapper &domainMax = {}, const wrapper &domainUnit = {}, const wrapper<_t> &_tabulatedWidths = {} @@ -96,17 +103,23 @@ class Unresolved : public Component { // copy Unresolved(const Unresolved &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMin(this,other.domainMin), + domainMax(this,other.domainMax), + domainUnit(this,other.domainUnit), + _tabulatedWidths(this,other._tabulatedWidths) { - *this = other; Component::finish(other); } // move Unresolved(Unresolved &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMin(this,std::move(other.domainMin)), + domainMax(this,std::move(other.domainMax)), + domainUnit(this,std::move(other.domainUnit)), + _tabulatedWidths(this,std::move(other._tabulatedWidths)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Width.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Width.hpp index 83f5c228a..298ef7b3a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Width.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Width.hpp @@ -40,12 +40,9 @@ class Width : public Component { Float64{} / Meta<>("degreesOfFreedom") | // children - std::optional{} - / --Child<>("constant1d") | - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("constant1d") | + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -72,9 +69,16 @@ class Width : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + Width() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Width( - const wrapper &resonanceReaction = {}, + const wrapper &resonanceReaction, const wrapper °reesOfFreedom = {}, const wrapper> &constant1d = {}, const wrapper> &XYs1d = {}, @@ -99,17 +103,25 @@ class Width : public Component { // copy Width(const Width &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + resonanceReaction(this,other.resonanceReaction), + degreesOfFreedom(this,other.degreesOfFreedom), + constant1d(this,other.constant1d), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move Width(Width &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + resonanceReaction(this,std::move(other.resonanceReaction)), + degreesOfFreedom(this,std::move(other.degreesOfFreedom)), + constant1d(this,std::move(other.constant1d)), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/resonances/Widths.hpp b/standards/gnds-2.0/test/src/test/v2.0/resonances/Widths.hpp index 51c63d157..8cb27ee82 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/resonances/Widths.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/resonances/Widths.hpp @@ -33,8 +33,7 @@ class Widths : public Component { { return // children - resonances::Width{} - / ++Child<>("width") + ++Child("width") ; } @@ -51,9 +50,16 @@ class Widths : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->width) - // default, and from fields + // default + Widths() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Widths( - const wrapper> &width = {} + const wrapper> &width ) : GNDSTK_COMPONENT(BlockData{}), width(this,width) @@ -70,17 +76,17 @@ class Widths : public Component { // copy Widths(const Widths &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + width(this,other.width) { - *this = other; Component::finish(other); } // move Widths(Widths &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + width(this,std::move(other.width)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/AngularDistributionReconstructed.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/AngularDistributionReconstructed.hpp index f89762a22..c15406a21 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/AngularDistributionReconstructed.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/AngularDistributionReconstructed.hpp @@ -41,10 +41,8 @@ class AngularDistributionReconstructed : public Component{} / Meta<>("derivedFrom") | // children - std::optional{} - / --Child<>("temperature") | - std::optional{} - / --Child<>("documentation") + --Child>("temperature") | + --Child>("documentation") ; } @@ -71,9 +69,16 @@ class AngularDistributionReconstructed : public Componenttemperature, \ this->documentation) - // default, and from fields + // default + AngularDistributionReconstructed() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AngularDistributionReconstructed( - const wrapper &date = {}, + const wrapper &date, const wrapper &label = {}, const wrapper> &derivedFrom = {}, const wrapper> &temperature = {}, @@ -98,17 +103,25 @@ class AngularDistributionReconstructed : public Component { std::optional{} / Meta<>("derivedFrom") | // children - styles::Temperature{} - / --Child<>("temperature") | - std::optional{} - / --Child<>("documentation") + --Child("temperature") | + --Child>("documentation") ; } @@ -71,9 +69,16 @@ class AverageProductData : public Component { this->temperature, \ this->documentation) - // default, and from fields + // default + AverageProductData() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AverageProductData( - const wrapper &date = {}, + const wrapper &date, const wrapper &label = {}, const wrapper> &derivedFrom = {}, const wrapper &temperature = {}, @@ -98,17 +103,25 @@ class AverageProductData : public Component { // copy AverageProductData(const AverageProductData &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + label(this,other.label), + derivedFrom(this,other.derivedFrom), + temperature(this,other.temperature), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move AverageProductData(AverageProductData &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + label(this,std::move(other.label)), + derivedFrom(this,std::move(other.derivedFrom)), + temperature(this,std::move(other.temperature)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko.hpp index b337a7055..771a184ad 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Bondarenko.hpp @@ -41,10 +41,8 @@ class Bondarenko : public Component { XMLName{} / Meta<>("label") | // children - styles::SigmaZeros{} - / --Child<>("sigmaZeros") | - std::optional{} - / --Child<>("documentation") + --Child("sigmaZeros") | + --Child>("documentation") ; } @@ -71,9 +69,16 @@ class Bondarenko : public Component { this->sigmaZeros, \ this->documentation) - // default, and from fields + // default + Bondarenko() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Bondarenko( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper &sigmaZeros = {}, @@ -98,17 +103,25 @@ class Bondarenko : public Component { // copy Bondarenko(const Bondarenko &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + sigmaZeros(this,other.sigmaZeros), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move Bondarenko(Bondarenko &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + sigmaZeros(this,std::move(other.sigmaZeros)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp index 8aa691e1f..8d44d1b24 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/CoulombPlusNuclearElasticMuCutoff.hpp @@ -42,8 +42,7 @@ class CoulombPlusNuclearElasticMuCutoff : public Component("muCutoff") | // children - std::optional{} - / --Child<>("documentation") + --Child>("documentation") ; } @@ -70,9 +69,16 @@ class CoulombPlusNuclearElasticMuCutoff : public ComponentmuCutoff, \ this->documentation) - // default, and from fields + // default + CoulombPlusNuclearElasticMuCutoff() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CoulombPlusNuclearElasticMuCutoff( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper &muCutoff = {}, @@ -97,17 +103,25 @@ class CoulombPlusNuclearElasticMuCutoff : public Component{} / Meta<>("derivedFrom") | // children - std::optional{} - / --Child<>("temperature") | - std::optional{} - / --Child<>("documentation") + --Child>("temperature") | + --Child>("documentation") ; } @@ -71,9 +69,16 @@ class CrossSectionReconstructed : public Componenttemperature, \ this->documentation) - // default, and from fields + // default + CrossSectionReconstructed() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CrossSectionReconstructed( - const wrapper &date = {}, + const wrapper &date, const wrapper &label = {}, const wrapper> &derivedFrom = {}, const wrapper> &temperature = {}, @@ -98,17 +103,25 @@ class CrossSectionReconstructed : public Component { Integer32{} / Meta<>("numberOfBins") | // children - std::optional{} - / --Child<>("documentation") + --Child>("documentation") ; } @@ -70,9 +69,16 @@ class EqualProbableBins : public Component { this->numberOfBins, \ this->documentation) - // default, and from fields + // default + EqualProbableBins() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit EqualProbableBins( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper &numberOfBins = {}, @@ -97,17 +103,25 @@ class EqualProbableBins : public Component { // copy EqualProbableBins(const EqualProbableBins &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + numberOfBins(this,other.numberOfBins), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move EqualProbableBins(EqualProbableBins &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + numberOfBins(this,std::move(other.numberOfBins)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated.hpp index 6d471d6e5..2272b81d2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Evaluated.hpp @@ -46,12 +46,9 @@ class Evaluated : public Component { XMLName{} / Meta<>("version") | // children - styles::ProjectileEnergyDomain{} - / --Child<>("projectileEnergyDomain") | - styles::Temperature{} - / --Child<>("temperature") | - documentation::Documentation{} - / --Child<>("documentation") + --Child("projectileEnergyDomain") | + --Child("temperature") | + --Child("documentation") ; } @@ -84,9 +81,16 @@ class Evaluated : public Component { this->temperature, \ this->documentation) - // default, and from fields + // default + Evaluated() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Evaluated( - const wrapper &date = {}, + const wrapper &date, const wrapper &label = {}, const wrapper> &derivedFrom = {}, const wrapper &library = {}, @@ -117,17 +121,31 @@ class Evaluated : public Component { // copy Evaluated(const Evaluated &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + label(this,other.label), + derivedFrom(this,other.derivedFrom), + library(this,other.library), + version(this,other.version), + projectileEnergyDomain(this,other.projectileEnergyDomain), + temperature(this,other.temperature), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move Evaluated(Evaluated &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + label(this,std::move(other.label)), + derivedFrom(this,std::move(other.derivedFrom)), + library(this,std::move(other.library)), + version(this,std::move(other.version)), + projectileEnergyDomain(this,std::move(other.projectileEnergyDomain)), + temperature(this,std::move(other.temperature)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Flux.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Flux.hpp index 41325d2a1..5054b2b0d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Flux.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Flux.hpp @@ -36,8 +36,7 @@ class Flux : public Component { XMLName{} / Meta<>("label") | // children - containers::XYs2d{} - / --Child<>("XYs2d") + --Child("XYs2d") ; } @@ -58,9 +57,16 @@ class Flux : public Component { this->label, \ this->XYs2d) - // default, and from fields + // default + Flux() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Flux( - const wrapper &label = {}, + const wrapper &label, const wrapper &XYs2d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class Flux : public Component { // copy Flux(const Flux &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + XYs2d(this,other.XYs2d) { - *this = other; Component::finish(other); } // move Flux(Flux &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + XYs2d(this,std::move(other.XYs2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection.hpp index 67836633f..d40688bbe 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/GriddedCrossSection.hpp @@ -41,10 +41,8 @@ class GriddedCrossSection : public Component { XMLName{} / Meta<>("label") | // children - containers::Grid{} - / --Child<>("grid") | - std::optional{} - / --Child<>("documentation") + --Child("grid") | + --Child>("documentation") ; } @@ -71,9 +69,16 @@ class GriddedCrossSection : public Component { this->grid, \ this->documentation) - // default, and from fields + // default + GriddedCrossSection() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit GriddedCrossSection( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper &grid = {}, @@ -98,17 +103,25 @@ class GriddedCrossSection : public Component { // copy GriddedCrossSection(const GriddedCrossSection &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + grid(this,other.grid), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move GriddedCrossSection(GriddedCrossSection &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + grid(this,std::move(other.grid)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Heated.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Heated.hpp index de911e6f7..86764c7ae 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Heated.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Heated.hpp @@ -41,10 +41,8 @@ class Heated : public Component { XMLName{} / Meta<>("label") | // children - styles::Temperature{} - / --Child<>("temperature") | - std::optional{} - / --Child<>("documentation") + --Child("temperature") | + --Child>("documentation") ; } @@ -71,9 +69,16 @@ class Heated : public Component { this->temperature, \ this->documentation) - // default, and from fields + // default + Heated() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Heated( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper &temperature = {}, @@ -98,17 +103,25 @@ class Heated : public Component { // copy Heated(const Heated &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + temperature(this,other.temperature), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move Heated(Heated &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + temperature(this,std::move(other.temperature)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup.hpp index 2970a0b57..027dc9805 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/HeatedMultiGroup.hpp @@ -43,14 +43,10 @@ class HeatedMultiGroup : public Component { XMLName{} / Meta<>("label") | // children - styles::Transportables{} - / --Child<>("transportables") | - styles::Flux{} - / --Child<>("flux") | - styles::InverseSpeed{} - / --Child<>("inverseSpeed") | - std::optional{} - / --Child<>("documentation") + --Child("transportables") | + --Child("flux") | + --Child("inverseSpeed") | + --Child>("documentation") ; } @@ -81,9 +77,16 @@ class HeatedMultiGroup : public Component { this->inverseSpeed, \ this->documentation) - // default, and from fields + // default + HeatedMultiGroup() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit HeatedMultiGroup( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper &transportables = {}, @@ -112,17 +115,29 @@ class HeatedMultiGroup : public Component { // copy HeatedMultiGroup(const HeatedMultiGroup &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + transportables(this,other.transportables), + flux(this,other.flux), + inverseSpeed(this,other.inverseSpeed), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move HeatedMultiGroup(HeatedMultiGroup &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + transportables(this,std::move(other.transportables)), + flux(this,std::move(other.flux)), + inverseSpeed(this,std::move(other.inverseSpeed)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed.hpp index 7ded286a8..b2cdbeb9e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/InverseSpeed.hpp @@ -36,8 +36,7 @@ class InverseSpeed : public Component { std::optional{} / Meta<>("label") | // children - containers::Gridded1d{} - / --Child<>("gridded1d") + --Child("gridded1d") ; } @@ -58,9 +57,16 @@ class InverseSpeed : public Component { this->label, \ this->gridded1d) - // default, and from fields + // default + InverseSpeed() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit InverseSpeed( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &gridded1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class InverseSpeed : public Component { // copy InverseSpeed(const InverseSpeed &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + gridded1d(this,other.gridded1d) { - *this = other; Component::finish(other); } // move InverseSpeed(InverseSpeed &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + gridded1d(this,std::move(other.gridded1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf.hpp index 401c6940d..1f19c2679 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/MonteCarlo_cdf.hpp @@ -40,8 +40,7 @@ class MonteCarlo_cdf : public Component { XMLName{} / Meta<>("label") | // children - std::optional{} - / --Child<>("documentation") + --Child>("documentation") ; } @@ -66,9 +65,16 @@ class MonteCarlo_cdf : public Component { this->label, \ this->documentation) - // default, and from fields + // default + MonteCarlo_cdf() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MonteCarlo_cdf( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper> &documentation = {} @@ -91,17 +97,23 @@ class MonteCarlo_cdf : public Component { // copy MonteCarlo_cdf(const MonteCarlo_cdf &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move MonteCarlo_cdf(MonteCarlo_cdf &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand.hpp index 235b7d39f..1ce0f44b2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiBand.hpp @@ -42,8 +42,7 @@ class MultiBand : public Component { Integer32{} / Meta<>("numberOfBands") | // children - std::optional{} - / --Child<>("documentation") + --Child>("documentation") ; } @@ -70,9 +69,16 @@ class MultiBand : public Component { this->numberOfBands, \ this->documentation) - // default, and from fields + // default + MultiBand() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MultiBand( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper &numberOfBands = {}, @@ -97,17 +103,25 @@ class MultiBand : public Component { // copy MultiBand(const MultiBand &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + numberOfBands(this,other.numberOfBands), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move MultiBand(MultiBand &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + numberOfBands(this,std::move(other.numberOfBands)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup.hpp index f708f65a1..4aabbdfb1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/MultiGroup.hpp @@ -36,8 +36,7 @@ class MultiGroup : public Component { XMLName{} / Meta<>("label") | // children - containers::Grid{} - / --Child<>("grid") + --Child("grid") ; } @@ -58,9 +57,16 @@ class MultiGroup : public Component { this->label, \ this->grid) - // default, and from fields + // default + MultiGroup() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MultiGroup( - const wrapper &label = {}, + const wrapper &label, const wrapper &grid = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class MultiGroup : public Component { // copy MultiGroup(const MultiGroup &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + grid(this,other.grid) { - *this = other; Component::finish(other); } // move MultiGroup(MultiGroup &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + grid(this,std::move(other.grid)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain.hpp index c16d23187..049951ed3 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/ProjectileEnergyDomain.hpp @@ -63,9 +63,16 @@ class ProjectileEnergyDomain : public Component this->min, \ this->unit) - // default, and from fields + // default + ProjectileEnergyDomain() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ProjectileEnergyDomain( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &max = {}, const wrapper &min = {}, const wrapper &unit = {} @@ -88,17 +95,23 @@ class ProjectileEnergyDomain : public Component // copy ProjectileEnergyDomain(const ProjectileEnergyDomain &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + max(this,other.max), + min(this,other.min), + unit(this,other.unit) { - *this = other; Component::finish(other); } // move ProjectileEnergyDomain(ProjectileEnergyDomain &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + max(this,std::move(other.max)), + min(this,std::move(other.min)), + unit(this,std::move(other.unit)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Realization.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Realization.hpp index 29fc5d6af..a2242bca4 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Realization.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Realization.hpp @@ -40,8 +40,7 @@ class Realization : public Component { XMLName{} / Meta<>("label") | // children - std::optional{} - / --Child<>("documentation") + --Child>("documentation") ; } @@ -66,9 +65,16 @@ class Realization : public Component { this->label, \ this->documentation) - // default, and from fields + // default + Realization() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Realization( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper> &documentation = {} @@ -91,17 +97,23 @@ class Realization : public Component { // copy Realization(const Realization &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move Realization(Realization &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros.hpp index fe8c28eca..90ba47af2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/SigmaZeros.hpp @@ -36,8 +36,7 @@ class SigmaZeros : public Component { std::optional{} / Meta<>("label") | // children - containers::Values{} - / --Child<>("values") + --Child("values") ; } @@ -58,9 +57,16 @@ class SigmaZeros : public Component { this->label, \ this->values) - // default, and from fields + // default + SigmaZeros() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit SigmaZeros( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &values = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class SigmaZeros : public Component { // copy SigmaZeros(const SigmaZeros &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + values(this,other.values) { - *this = other; Component::finish(other); } // move SigmaZeros(SigmaZeros &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + values(this,std::move(other.values)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter.hpp index 9d627bf0f..59bd380f8 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/SnElasticUpScatter.hpp @@ -42,8 +42,7 @@ class SnElasticUpScatter : public Component { std::optional{} / Meta<>("upperCalculatedGroup") | // children - std::optional{} - / --Child<>("documentation") + --Child>("documentation") ; } @@ -70,9 +69,16 @@ class SnElasticUpScatter : public Component { this->upperCalculatedGroup, \ this->documentation) - // default, and from fields + // default + SnElasticUpScatter() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit SnElasticUpScatter( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper> &upperCalculatedGroup = {}, @@ -97,17 +103,25 @@ class SnElasticUpScatter : public Component { // copy SnElasticUpScatter(const SnElasticUpScatter &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + upperCalculatedGroup(this,other.upperCalculatedGroup), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move SnElasticUpScatter(SnElasticUpScatter &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + upperCalculatedGroup(this,std::move(other.upperCalculatedGroup)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Styles.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Styles.hpp index 8164a3318..446adb7f9 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Styles.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Styles.hpp @@ -43,28 +43,17 @@ class Styles : public Component { { return // children - std::optional{} - / ++Child<>("evaluated") | - std::optional{} - / ++Child<>("crossSectionReconstructed") | - std::optional{} - / ++Child<>("angularDistributionReconstructed") | - std::optional{} - / ++Child<>("CoulombPlusNuclearElasticMuCutoff") | - std::optional{} - / ++Child<>("heated") | - std::optional{} - / ++Child<>("averageProductData") | - std::optional{} - / ++Child<>("MonteCarlo_cdf") | - std::optional{} - / ++Child<>("griddedCrossSection") | - std::optional{} - / ++Child<>("URR_probabilityTables") | - std::optional{} - / ++Child<>("heatedMultiGroup") | - std::optional{} - / ++Child<>("SnElasticUpScatter") + ++Child>("evaluated") | + ++Child>("crossSectionReconstructed") | + ++Child>("angularDistributionReconstructed") | + ++Child>("CoulombPlusNuclearElasticMuCutoff") | + ++Child>("heated") | + ++Child>("averageProductData") | + ++Child>("MonteCarlo_cdf") | + ++Child>("griddedCrossSection") | + ++Child>("URR_probabilityTables") | + ++Child>("heatedMultiGroup") | + ++Child>("SnElasticUpScatter") ; } @@ -101,9 +90,16 @@ class Styles : public Component { this->heatedMultiGroup, \ this->SnElasticUpScatter) - // default, and from fields + // default + Styles() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Styles( - const wrapper>> &evaluated = {}, + const wrapper>> &evaluated, const wrapper>> &crossSectionReconstructed = {}, const wrapper>> &angularDistributionReconstructed = {}, const wrapper>> &CoulombPlusNuclearElasticMuCutoff = {}, @@ -140,17 +136,37 @@ class Styles : public Component { // copy Styles(const Styles &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluated(this,other.evaluated), + crossSectionReconstructed(this,other.crossSectionReconstructed), + angularDistributionReconstructed(this,other.angularDistributionReconstructed), + CoulombPlusNuclearElasticMuCutoff(this,other.CoulombPlusNuclearElasticMuCutoff), + heated(this,other.heated), + averageProductData(this,other.averageProductData), + MonteCarlo_cdf(this,other.MonteCarlo_cdf), + griddedCrossSection(this,other.griddedCrossSection), + URR_probabilityTables(this,other.URR_probabilityTables), + heatedMultiGroup(this,other.heatedMultiGroup), + SnElasticUpScatter(this,other.SnElasticUpScatter) { - *this = other; Component::finish(other); } // move Styles(Styles &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluated(this,std::move(other.evaluated)), + crossSectionReconstructed(this,std::move(other.crossSectionReconstructed)), + angularDistributionReconstructed(this,std::move(other.angularDistributionReconstructed)), + CoulombPlusNuclearElasticMuCutoff(this,std::move(other.CoulombPlusNuclearElasticMuCutoff)), + heated(this,std::move(other.heated)), + averageProductData(this,std::move(other.averageProductData)), + MonteCarlo_cdf(this,std::move(other.MonteCarlo_cdf)), + griddedCrossSection(this,std::move(other.griddedCrossSection)), + URR_probabilityTables(this,std::move(other.URR_probabilityTables)), + heatedMultiGroup(this,std::move(other.heatedMultiGroup)), + SnElasticUpScatter(this,std::move(other.SnElasticUpScatter)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Temperature.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Temperature.hpp index dcfb1af19..521f6881f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Temperature.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Temperature.hpp @@ -41,10 +41,8 @@ class Temperature : public Component { XMLName{} / Meta<>("unit") | // children - std::optional{} - / --Child<>("documentation") | - std::optional{} - / --Child<>("uncertainty") + --Child>("documentation") | + --Child>("uncertainty") ; } @@ -71,9 +69,16 @@ class Temperature : public Component { this->documentation, \ this->uncertainty) - // default, and from fields + // default + Temperature() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Temperature( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &value = {}, const wrapper &unit = {}, const wrapper> &documentation = {}, @@ -98,17 +103,25 @@ class Temperature : public Component { // copy Temperature(const Temperature &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + value(this,other.value), + unit(this,other.unit), + documentation(this,other.documentation), + uncertainty(this,other.uncertainty) { - *this = other; Component::finish(other); } // move Temperature(Temperature &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + value(this,std::move(other.value)), + unit(this,std::move(other.unit)), + documentation(this,std::move(other.documentation)), + uncertainty(this,std::move(other.uncertainty)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Transportable.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportable.hpp index 24305f0a7..fa6c0645d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Transportable.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportable.hpp @@ -38,8 +38,7 @@ class Transportable : public Component { XMLName{} / Meta<>("label") | // children - styles::MultiGroup{} - / --Child<>("multiGroup") + --Child("multiGroup") ; } @@ -67,10 +66,17 @@ class Transportable : public Component { this->label, \ this->multiGroup) - // default, and from fields + // default + Transportable() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit Transportable( - const wrapper> &conserve = {}, + const wrapper> &conserve, const wrapper &label = {}, const wrapper &multiGroup = {} ) : @@ -91,17 +97,21 @@ class Transportable : public Component { // copy Transportable(const Transportable &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + conserve(this,other.conserve), + label(this,other.label), + multiGroup(this,other.multiGroup) { - *this = other; Component::finish(other); } // move Transportable(Transportable &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + conserve(this,std::move(other.conserve)), + label(this,std::move(other.label)), + multiGroup(this,std::move(other.multiGroup)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/Transportables.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportables.hpp index 3834d4cac..aee8381df 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/Transportables.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/Transportables.hpp @@ -36,8 +36,7 @@ class Transportables : public Component { std::optional{} / Meta<>("label") | // children - styles::Transportable{} - / ++Child<>("transportable") + ++Child("transportable") ; } @@ -58,9 +57,16 @@ class Transportables : public Component { this->label, \ this->transportable) - // default, and from fields + // default + Transportables() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Transportables( - const wrapper> &label = {}, + const wrapper> &label, const wrapper> &transportable = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class Transportables : public Component { // copy Transportables(const Transportables &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + transportable(this,other.transportable) { - *this = other; Component::finish(other); } // move Transportables(Transportables &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + transportable(this,std::move(other.transportable)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables.hpp b/standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables.hpp index 21964c644..d12e7c28d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/styles/URR_probabilityTables.hpp @@ -40,8 +40,7 @@ class URR_probabilityTables : public Component { XMLName{} / Meta<>("label") | // children - std::optional{} - / --Child<>("documentation") + --Child>("documentation") ; } @@ -66,9 +65,16 @@ class URR_probabilityTables : public Component { this->label, \ this->documentation) - // default, and from fields + // default + URR_probabilityTables() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit URR_probabilityTables( - const wrapper &date = {}, + const wrapper &date, const wrapper &derivedFrom = {}, const wrapper &label = {}, const wrapper> &documentation = {} @@ -91,17 +97,23 @@ class URR_probabilityTables : public Component { // copy URR_probabilityTables(const URR_probabilityTables &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,other.date), + derivedFrom(this,other.derivedFrom), + label(this,other.label), + documentation(this,other.documentation) { - *this = other; Component::finish(other); } // move URR_probabilityTables(URR_probabilityTables &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + date(this,std::move(other.date)), + derivedFrom(this,std::move(other.derivedFrom)), + label(this,std::move(other.label)), + documentation(this,std::move(other.documentation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/A.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/A.hpp index 76c43dbff..ad026fae2 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/A.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/A.hpp @@ -59,9 +59,16 @@ class A : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs2dregions2d) - // default, and from fields + // default + A() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit A( - const wrapper<_t> &_XYs2dregions2d = {} + const wrapper<_t> &_XYs2dregions2d ) : GNDSTK_COMPONENT(BlockData{}), _XYs2dregions2d(this,_XYs2dregions2d) @@ -78,17 +85,17 @@ class A : public Component { // copy A(const A &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs2dregions2d(this,other._XYs2dregions2d) { - *this = other; Component::finish(other); } // move A(A &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs2dregions2d(this,std::move(other._XYs2dregions2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Add.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Add.hpp index 9e91bd57f..2bf82a9f6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Add.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Add.hpp @@ -51,9 +51,16 @@ class Add : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->href) - // default, and from fields + // default + Add() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Add( - const wrapper> &href = {} + const wrapper> &href ) : GNDSTK_COMPONENT(BlockData{}), href(this,href) @@ -70,17 +77,17 @@ class Add : public Component { // copy Add(const Add &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href) { - *this = other; Component::finish(other); } // move Add(Add &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy.hpp index a260c230a..221404b8d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularEnergy.hpp @@ -38,8 +38,7 @@ class AngularEnergy : public Component { XMLName{} / Meta<>("productFrame") | // children - containers::XYs3d{} - / --Child<>("XYs3d") + --Child("XYs3d") ; } @@ -62,9 +61,16 @@ class AngularEnergy : public Component { this->productFrame, \ this->XYs3d) - // default, and from fields + // default + AngularEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AngularEnergy( - const wrapper &label = {}, + const wrapper &label, const wrapper &productFrame = {}, const wrapper &XYs3d = {} ) : @@ -85,17 +91,21 @@ class AngularEnergy : public Component { // copy AngularEnergy(const AngularEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + XYs3d(this,other.XYs3d) { - *this = other; Component::finish(other); } // move AngularEnergy(AngularEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + XYs3d(this,std::move(other.XYs3d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody.hpp index 7d9a42755..bd25c6281 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/AngularTwoBody.hpp @@ -41,14 +41,10 @@ class AngularTwoBody : public Component { XMLName{} / Meta<>("productFrame") | // children - std::optional{} - / --Child<>("XYs2d") | - std::optional{} - / --Child<>("regions2d") | - std::optional{} - / --Child<>("isotropic2d") | - std::optional{} - / --Child<>("recoil") + --Child>("XYs2d") | + --Child>("regions2d") | + --Child>("isotropic2d") | + --Child>("recoil") ; } @@ -77,9 +73,16 @@ class AngularTwoBody : public Component { this->isotropic2d, \ this->recoil) - // default, and from fields + // default + AngularTwoBody() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit AngularTwoBody( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &productFrame = {}, const wrapper> &XYs2d = {}, const wrapper> ®ions2d = {}, @@ -106,17 +109,27 @@ class AngularTwoBody : public Component { // copy AngularTwoBody(const AngularTwoBody &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + XYs2d(this,other.XYs2d), + regions2d(this,other.regions2d), + isotropic2d(this,other.isotropic2d), + recoil(this,other.recoil) { - *this = other; Component::finish(other); } // move AngularTwoBody(AngularTwoBody &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + XYs2d(this,std::move(other.XYs2d)), + regions2d(this,std::move(other.regions2d)), + isotropic2d(this,std::move(other.isotropic2d)), + recoil(this,std::move(other.recoil)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated.hpp index 7ca428f85..f99d76cae 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Angular_uncorrelated.hpp @@ -35,12 +35,9 @@ class Angular_uncorrelated : public Component { { return // children - std::optional{} - / --Child<>("XYs2d") | - std::optional{} - / --Child<>("isotropic2d") | - std::optional{} - / --Child<>("forward") + --Child>("XYs2d") | + --Child>("isotropic2d") | + --Child>("forward") ; } @@ -61,9 +58,16 @@ class Angular_uncorrelated : public Component { this->isotropic2d, \ this->forward) - // default, and from fields + // default + Angular_uncorrelated() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Angular_uncorrelated( - const wrapper> &XYs2d = {}, + const wrapper> &XYs2d, const wrapper> &isotropic2d = {}, const wrapper> &forward = {} ) : @@ -84,17 +88,21 @@ class Angular_uncorrelated : public Component { // copy Angular_uncorrelated(const Angular_uncorrelated &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs2d(this,other.XYs2d), + isotropic2d(this,other.isotropic2d), + forward(this,other.forward) { - *this = other; Component::finish(other); } // move Angular_uncorrelated(Angular_uncorrelated &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs2d(this,std::move(other.XYs2d)), + isotropic2d(this,std::move(other.isotropic2d)), + forward(this,std::move(other.forward)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Background.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Background.hpp index 14a2892e7..f718cfe64 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Background.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Background.hpp @@ -35,12 +35,9 @@ class Background : public Component { { return // children - std::optional{} - / --Child<>("resolvedRegion") | - std::optional{} - / --Child<>("unresolvedRegion") | - std::optional{} - / --Child<>("fastRegion") + --Child>("resolvedRegion") | + --Child>("unresolvedRegion") | + --Child>("fastRegion") ; } @@ -61,9 +58,16 @@ class Background : public Component { this->unresolvedRegion, \ this->fastRegion) - // default, and from fields + // default + Background() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Background( - const wrapper> &resolvedRegion = {}, + const wrapper> &resolvedRegion, const wrapper> &unresolvedRegion = {}, const wrapper> &fastRegion = {} ) : @@ -84,17 +88,21 @@ class Background : public Component { // copy Background(const Background &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + resolvedRegion(this,other.resolvedRegion), + unresolvedRegion(this,other.unresolvedRegion), + fastRegion(this,other.fastRegion) { - *this = other; Component::finish(other); } // move Background(Background &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + resolvedRegion(this,std::move(other.resolvedRegion)), + unresolvedRegion(this,std::move(other.unresolvedRegion)), + fastRegion(this,std::move(other.fastRegion)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d.hpp index df205e2a2..20e72445f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching1d.hpp @@ -51,9 +51,16 @@ class Branching1d : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->label) - // default, and from fields + // default + Branching1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Branching1d( - const wrapper &label = {} + const wrapper &label ) : GNDSTK_COMPONENT(BlockData{}), label(this,label) @@ -70,17 +77,17 @@ class Branching1d : public Component { // copy Branching1d(const Branching1d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label) { - *this = other; Component::finish(other); } // move Branching1d(Branching1d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d.hpp index ce8a069ef..260a6b3ee 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Branching3d.hpp @@ -55,9 +55,16 @@ class Branching3d : public Component { this->label, \ this->productFrame) - // default, and from fields + // default + Branching3d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Branching3d( - const wrapper &label = {}, + const wrapper &label, const wrapper &productFrame = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Branching3d : public Component { // copy Branching3d(const Branching3d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame) { - *this = other; Component::finish(other); } // move Branching3d(Branching3d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton.hpp index 3db95ad2b..1c4fd6a21 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CoherentPhoton.hpp @@ -61,7 +61,6 @@ class CoherentPhoton : public Component { CoherentPhoton(const CoherentPhoton &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class CoherentPhoton : public Component { CoherentPhoton(CoherentPhoton &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp index df9943322..e9ff990c7 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSection.hpp @@ -87,9 +87,16 @@ class CrossSection : public Component { this->label, \ this->_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) - // default, and from fields + // default + CrossSection() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CrossSection( - const wrapper> &label = {}, + const wrapper> &label, const wrapper<_t> &_XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -108,17 +115,19 @@ class CrossSection : public Component { // copy CrossSection(const CrossSection &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(this,other._XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d) { - *this = other; Component::finish(other); } // move CrossSection(CrossSection &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + _XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d(this,std::move(other._XYs1dregions1dresonancesWithBackgroundCoulombPlusNuclearElasticthermalNeutronScatteringLaw1dreferencegridded1dYs1dURR_probabilityTables1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum.hpp index 5391ab765..65cdafb3e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSum.hpp @@ -40,12 +40,9 @@ class CrossSectionSum : public Component { XMLName{} / Meta<>("label") | // children - common::Q{} - / --Child<>("Q") | - transport::CrossSection{} - / --Child<>("crossSection") | - transport::Summands{} - / --Child<>("summands") + --Child("Q") | + --Child("crossSection") | + --Child("summands") ; } @@ -72,9 +69,16 @@ class CrossSectionSum : public Component { this->crossSection, \ this->summands) - // default, and from fields + // default + CrossSectionSum() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CrossSectionSum( - const wrapper> &ENDF_MT = {}, + const wrapper> &ENDF_MT, const wrapper &label = {}, const wrapper &Q = {}, const wrapper &crossSection = {}, @@ -99,17 +103,25 @@ class CrossSectionSum : public Component { // copy CrossSectionSum(const CrossSectionSum &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,other.ENDF_MT), + label(this,other.label), + Q(this,other.Q), + crossSection(this,other.crossSection), + summands(this,other.summands) { - *this = other; Component::finish(other); } // move CrossSectionSum(CrossSectionSum &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,std::move(other.ENDF_MT)), + label(this,std::move(other.label)), + Q(this,std::move(other.Q)), + crossSection(this,std::move(other.crossSection)), + summands(this,std::move(other.summands)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums.hpp index a8502c2f1..779399f09 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/CrossSectionSums.hpp @@ -33,8 +33,7 @@ class CrossSectionSums : public Component { { return // children - std::optional{} - / ++Child<>("crossSectionSum") + ++Child>("crossSectionSum") ; } @@ -51,9 +50,16 @@ class CrossSectionSums : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->crossSectionSum) - // default, and from fields + // default + CrossSectionSums() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CrossSectionSums( - const wrapper>> &crossSectionSum = {} + const wrapper>> &crossSectionSum ) : GNDSTK_COMPONENT(BlockData{}), crossSectionSum(this,crossSectionSum) @@ -70,17 +76,17 @@ class CrossSectionSums : public Component { // copy CrossSectionSums(const CrossSectionSums &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + crossSectionSum(this,other.crossSectionSum) { - *this = other; Component::finish(other); } // move CrossSectionSums(CrossSectionSums &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + crossSectionSum(this,std::move(other.crossSectionSum)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma.hpp index 2c441163d..d683f6eea 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/DiscreteGamma.hpp @@ -40,8 +40,7 @@ class DiscreteGamma : public Component { std::optional{} / Meta<>("value") | // children - std::optional{} - / --Child<>("axes") + --Child>("axes") ; } @@ -66,9 +65,16 @@ class DiscreteGamma : public Component { this->value, \ this->axes) - // default, and from fields + // default + DiscreteGamma() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DiscreteGamma( - const wrapper> &domainMax = {}, + const wrapper> &domainMax, const wrapper> &domainMin = {}, const wrapper> &value = {}, const wrapper> &axes = {} @@ -91,17 +97,23 @@ class DiscreteGamma : public Component { // copy DiscreteGamma(const DiscreteGamma &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMax(this,other.domainMax), + domainMin(this,other.domainMin), + value(this,other.value), + axes(this,other.axes) { - *this = other; Component::finish(other); } // move DiscreteGamma(DiscreteGamma &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMax(this,std::move(other.domainMax)), + domainMin(this,std::move(other.domainMin)), + value(this,std::move(other.value)), + axes(this,std::move(other.axes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp index 0ac5fbd19..b99a643bf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Distribution.hpp @@ -101,9 +101,16 @@ class Distribution : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d) - // default, and from fields + // default + Distribution() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Distribution( - const wrapper<_t> &_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d = {} + const wrapper<_t> &_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d ) : GNDSTK_COMPONENT(BlockData{}), _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d(this,_angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d) @@ -120,17 +127,17 @@ class Distribution : public Component { // copy Distribution(const Distribution &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d(this,other._angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d) { - *this = other; Component::finish(other); } // move Distribution(Distribution &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d(this,std::move(other._angularTwoBodyuncorrelatedangularEnergyenergyAngularKalbachMannreferencebranching3dCoulombPlusNuclearElasticthermalNeutronScatteringLawcoherentPhotonScatteringincoherentPhotonScatteringunspecifiedmultiGroup3dangularEnergyMCenergyAngularMCXYs2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/DoubleDifferentialCrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/DoubleDifferentialCrossSection.hpp index 5787718a0..c65de6049 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/DoubleDifferentialCrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/DoubleDifferentialCrossSection.hpp @@ -41,24 +41,15 @@ class DoubleDifferentialCrossSection : public Component{} - / --Child<>("regions3d") | - std::optional{} - / --Child<>("XYs3d") | - std::optional{} - / --Child<>("CoulombPlusNuclearElastic") | - std::optional{} - / --Child<>("reference") | - std::optional{} - / --Child<>("coherentPhotonScattering") | - std::optional{} - / --Child<>("incoherentPhotonScattering") | - std::optional{} - / --Child<>("thermalNeutronScatteringLaw_coherentElastic") | - std::optional{} - / --Child<>("thermalNeutronScatteringLaw_incoherentElastic") | - std::optional{} - / --Child<>("thermalNeutronScatteringLaw_incoherentInelastic") + --Child>("regions3d") | + --Child>("XYs3d") | + --Child>("CoulombPlusNuclearElastic") | + --Child>("reference") | + --Child>("coherentPhotonScattering") | + --Child>("incoherentPhotonScattering") | + --Child>("thermalNeutronScatteringLaw_coherentElastic") | + --Child>("thermalNeutronScatteringLaw_incoherentElastic") | + --Child>("thermalNeutronScatteringLaw_incoherentInelastic") ; } @@ -91,9 +82,16 @@ class DoubleDifferentialCrossSection : public ComponentthermalNeutronScatteringLaw_incoherentElastic, \ this->thermalNeutronScatteringLaw_incoherentInelastic) - // default, and from fields + // default + DoubleDifferentialCrossSection() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DoubleDifferentialCrossSection( - const wrapper> ®ions3d = {}, + const wrapper> ®ions3d, const wrapper> &XYs3d = {}, const wrapper> &CoulombPlusNuclearElastic = {}, const wrapper> &reference = {}, @@ -126,17 +124,33 @@ class DoubleDifferentialCrossSection : public Component { XMLName{} / Meta<>("productFrame") | // children - containers::XYs3d{} - / --Child<>("XYs3d") + --Child("XYs3d") ; } @@ -62,9 +61,16 @@ class EnergyAngular : public Component { this->productFrame, \ this->XYs3d) - // default, and from fields + // default + EnergyAngular() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit EnergyAngular( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &productFrame = {}, const wrapper &XYs3d = {} ) : @@ -85,17 +91,21 @@ class EnergyAngular : public Component { // copy EnergyAngular(const EnergyAngular &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + XYs3d(this,other.XYs3d) { - *this = other; Component::finish(other); } // move EnergyAngular(EnergyAngular &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + XYs3d(this,std::move(other.XYs3d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated.hpp index cd28a066a..095bfa10e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Energy_uncorrelated.hpp @@ -43,28 +43,17 @@ class Energy_uncorrelated : public Component { { return // children - std::optional{} - / --Child<>("XYs2d") | - std::optional{} - / --Child<>("regions2d") | - std::optional{} - / --Child<>("generalEvaporation") | - std::optional{} - / --Child<>("discreteGamma") | - std::optional{} - / --Child<>("primaryGamma") | - std::optional{} - / --Child<>("NBodyPhaseSpace") | - std::optional{} - / --Child<>("evaporation") | - std::optional{} - / --Child<>("weightedFunctionals") | - std::optional{} - / --Child<>("simpleMaxwellianFission") | - std::optional{} - / --Child<>("Watt") | - std::optional{} - / --Child<>("MadlandNix") + --Child>("XYs2d") | + --Child>("regions2d") | + --Child>("generalEvaporation") | + --Child>("discreteGamma") | + --Child>("primaryGamma") | + --Child>("NBodyPhaseSpace") | + --Child>("evaporation") | + --Child>("weightedFunctionals") | + --Child>("simpleMaxwellianFission") | + --Child>("Watt") | + --Child>("MadlandNix") ; } @@ -101,9 +90,16 @@ class Energy_uncorrelated : public Component { this->Watt, \ this->MadlandNix) - // default, and from fields + // default + Energy_uncorrelated() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Energy_uncorrelated( - const wrapper> &XYs2d = {}, + const wrapper> &XYs2d, const wrapper> ®ions2d = {}, const wrapper> &generalEvaporation = {}, const wrapper> &discreteGamma = {}, @@ -140,17 +136,37 @@ class Energy_uncorrelated : public Component { // copy Energy_uncorrelated(const Energy_uncorrelated &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs2d(this,other.XYs2d), + regions2d(this,other.regions2d), + generalEvaporation(this,other.generalEvaporation), + discreteGamma(this,other.discreteGamma), + primaryGamma(this,other.primaryGamma), + NBodyPhaseSpace(this,other.NBodyPhaseSpace), + evaporation(this,other.evaporation), + weightedFunctionals(this,other.weightedFunctionals), + simpleMaxwellianFission(this,other.simpleMaxwellianFission), + Watt(this,other.Watt), + MadlandNix(this,other.MadlandNix) { - *this = other; Component::finish(other); } // move Energy_uncorrelated(Energy_uncorrelated &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs2d(this,std::move(other.XYs2d)), + regions2d(this,std::move(other.regions2d)), + generalEvaporation(this,std::move(other.generalEvaporation)), + discreteGamma(this,std::move(other.discreteGamma)), + primaryGamma(this,std::move(other.primaryGamma)), + NBodyPhaseSpace(this,std::move(other.NBodyPhaseSpace)), + evaporation(this,std::move(other.evaporation)), + weightedFunctionals(this,std::move(other.weightedFunctionals)), + simpleMaxwellianFission(this,std::move(other.simpleMaxwellianFission)), + Watt(this,std::move(other.Watt)), + MadlandNix(this,std::move(other.MadlandNix)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation.hpp index 8ba563a5a..a24eb761a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Evaporation.hpp @@ -34,10 +34,8 @@ class Evaporation : public Component { { return // children - std::optional{} - / --Child<>("U") | - std::optional{} - / --Child<>("theta") + --Child>("U") | + --Child>("theta") ; } @@ -56,9 +54,16 @@ class Evaporation : public Component { this->U, \ this->theta) - // default, and from fields + // default + Evaporation() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Evaporation( - const wrapper> &U = {}, + const wrapper> &U, const wrapper> &theta = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class Evaporation : public Component { // copy Evaporation(const Evaporation &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + U(this,other.U), + theta(this,other.theta) { - *this = other; Component::finish(other); } // move Evaporation(Evaporation &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + U(this,std::move(other.U)), + theta(this,std::move(other.theta)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/F.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/F.hpp index b99155dd8..3664359a7 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/F.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/F.hpp @@ -59,9 +59,16 @@ class F : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs2dregions2d) - // default, and from fields + // default + F() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit F( - const wrapper<_t> &_XYs2dregions2d = {} + const wrapper<_t> &_XYs2dregions2d ) : GNDSTK_COMPONENT(BlockData{}), _XYs2dregions2d(this,_XYs2dregions2d) @@ -78,17 +85,17 @@ class F : public Component { // copy F(const F &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs2dregions2d(this,other._XYs2dregions2d) { - *this = other; Component::finish(other); } // move F(F &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs2dregions2d(this,std::move(other._XYs2dregions2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion.hpp index 7d97bfeec..59bc4f75e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/FastRegion.hpp @@ -59,9 +59,16 @@ class FastRegion : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs1dregions1d) - // default, and from fields + // default + FastRegion() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit FastRegion( - const wrapper<_t> &_XYs1dregions1d = {} + const wrapper<_t> &_XYs1dregions1d ) : GNDSTK_COMPONENT(BlockData{}), _XYs1dregions1d(this,_XYs1dregions1d) @@ -78,17 +85,17 @@ class FastRegion : public Component { // copy FastRegion(const FastRegion &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dregions1d(this,other._XYs1dregions1d) { - *this = other; Component::finish(other); } // move FastRegion(FastRegion &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dregions1d(this,std::move(other._XYs1dregions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Forward.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Forward.hpp index 85e98683d..2c064233d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Forward.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Forward.hpp @@ -61,7 +61,6 @@ class Forward : public Component { Forward(const Forward &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class Forward : public Component { Forward(Forward &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/G.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/G.hpp index 1403607af..af9877e62 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/G.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/G.hpp @@ -34,10 +34,8 @@ class G : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -56,9 +54,16 @@ class G : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + G() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit G( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class G : public Component { // copy G(const G &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move G(G &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation.hpp index c839757c1..326ff8bc6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/GeneralEvaporation.hpp @@ -35,12 +35,9 @@ class GeneralEvaporation : public Component { { return // children - std::optional{} - / --Child<>("U") | - std::optional{} - / --Child<>("g") | - std::optional{} - / --Child<>("theta") + --Child>("U") | + --Child>("g") | + --Child>("theta") ; } @@ -61,9 +58,16 @@ class GeneralEvaporation : public Component { this->g, \ this->theta) - // default, and from fields + // default + GeneralEvaporation() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit GeneralEvaporation( - const wrapper> &U = {}, + const wrapper> &U, const wrapper> &g = {}, const wrapper> &theta = {} ) : @@ -84,17 +88,21 @@ class GeneralEvaporation : public Component { // copy GeneralEvaporation(const GeneralEvaporation &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + U(this,other.U), + g(this,other.g), + theta(this,other.theta) { - *this = other; Component::finish(other); } // move GeneralEvaporation(GeneralEvaporation &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + U(this,std::move(other.U)), + g(this,std::move(other.g)), + theta(this,std::move(other.theta)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton.hpp index a429240d0..9d59b4fe9 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/IncoherentPhoton.hpp @@ -61,7 +61,6 @@ class IncoherentPhoton : public Component { IncoherentPhoton(const IncoherentPhoton &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class IncoherentPhoton : public Component { IncoherentPhoton(IncoherentPhoton &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions.hpp index 226bb202c..934963d05 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/IncompleteReactions.hpp @@ -33,8 +33,7 @@ class IncompleteReactions : public Component { { return // children - std::optional{} - / --Child<>("reaction") + --Child>("reaction") ; } @@ -51,9 +50,16 @@ class IncompleteReactions : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->reaction) - // default, and from fields + // default + IncompleteReactions() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit IncompleteReactions( - const wrapper> &reaction = {} + const wrapper> &reaction ) : GNDSTK_COMPONENT(BlockData{}), reaction(this,reaction) @@ -70,17 +76,17 @@ class IncompleteReactions : public Component { // copy IncompleteReactions(const IncompleteReactions &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + reaction(this,other.reaction) { - *this = other; Component::finish(other); } // move IncompleteReactions(IncompleteReactions &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + reaction(this,std::move(other.reaction)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d.hpp index 8aab4b351..aa17a021f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Isotropic2d.hpp @@ -61,7 +61,6 @@ class Isotropic2d : public Component { Isotropic2d(const Isotropic2d &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class Isotropic2d : public Component { Isotropic2d(Isotropic2d &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann.hpp index 61261922c..a84762470 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/KalbachMann.hpp @@ -40,12 +40,9 @@ class KalbachMann : public Component { XMLName{} / Meta<>("productFrame") | // children - transport::F{} - / --Child<>("f") | - transport::R{} - / --Child<>("r") | - std::optional{} - / --Child<>("a") + --Child("f") | + --Child("r") | + --Child>("a") ; } @@ -72,9 +69,16 @@ class KalbachMann : public Component { this->r, \ this->a) - // default, and from fields + // default + KalbachMann() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit KalbachMann( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &productFrame = {}, const wrapper &f = {}, const wrapper &r = {}, @@ -99,17 +103,25 @@ class KalbachMann : public Component { // copy KalbachMann(const KalbachMann &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + f(this,other.f), + r(this,other.r), + a(this,other.a) { - *this = other; Component::finish(other); } // move KalbachMann(KalbachMann &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + f(this,std::move(other.f)), + r(this,std::move(other.r)), + a(this,std::move(other.a)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d.hpp index 8459e30c0..3c0ebf755 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiGroup3d.hpp @@ -38,8 +38,7 @@ class MultiGroup3d : public Component { XMLName{} / Meta<>("productFrame") | // children - containers::Gridded3d{} - / --Child<>("gridded3d") + --Child("gridded3d") ; } @@ -62,9 +61,16 @@ class MultiGroup3d : public Component { this->productFrame, \ this->gridded3d) - // default, and from fields + // default + MultiGroup3d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MultiGroup3d( - const wrapper &label = {}, + const wrapper &label, const wrapper &productFrame = {}, const wrapper &gridded3d = {} ) : @@ -85,17 +91,21 @@ class MultiGroup3d : public Component { // copy MultiGroup3d(const MultiGroup3d &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + gridded3d(this,other.gridded3d) { - *this = other; Component::finish(other); } // move MultiGroup3d(MultiGroup3d &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + gridded3d(this,std::move(other.gridded3d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity.hpp index 9f17ff057..5a104d14e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Multiplicity.hpp @@ -74,9 +74,16 @@ class Multiplicity : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d) - // default, and from fields + // default + Multiplicity() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Multiplicity( - const wrapper<_t> &_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d = {} + const wrapper<_t> &_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d ) : GNDSTK_COMPONENT(BlockData{}), _XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d(this,_XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d) @@ -93,17 +100,17 @@ class Multiplicity : public Component { // copy Multiplicity(const Multiplicity &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d(this,other._XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d) { - *this = other; Component::finish(other); } // move Multiplicity(Multiplicity &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d(this,std::move(other._XYs1dconstant1dpolynomial1dbranching1dreferencegridded1dregions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum.hpp index e34db6fc0..68424cd06 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySum.hpp @@ -39,10 +39,8 @@ class MultiplicitySum : public Component { XMLName{} / Meta<>("label") | // children - transport::Multiplicity{} - / --Child<>("multiplicity") | - transport::Summands{} - / --Child<>("summands") + --Child("multiplicity") | + --Child("summands") ; } @@ -67,9 +65,16 @@ class MultiplicitySum : public Component { this->multiplicity, \ this->summands) - // default, and from fields + // default + MultiplicitySum() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MultiplicitySum( - const wrapper> &ENDF_MT = {}, + const wrapper> &ENDF_MT, const wrapper &label = {}, const wrapper &multiplicity = {}, const wrapper &summands = {} @@ -92,17 +97,23 @@ class MultiplicitySum : public Component { // copy MultiplicitySum(const MultiplicitySum &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,other.ENDF_MT), + label(this,other.label), + multiplicity(this,other.multiplicity), + summands(this,other.summands) { - *this = other; Component::finish(other); } // move MultiplicitySum(MultiplicitySum &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,std::move(other.ENDF_MT)), + label(this,std::move(other.label)), + multiplicity(this,std::move(other.multiplicity)), + summands(this,std::move(other.summands)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums.hpp index 1bfcbeb2e..98d9577b1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/MultiplicitySums.hpp @@ -33,8 +33,7 @@ class MultiplicitySums : public Component { { return // children - std::optional{} - / ++Child<>("multiplicitySum") + ++Child>("multiplicitySum") ; } @@ -51,9 +50,16 @@ class MultiplicitySums : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->multiplicitySum) - // default, and from fields + // default + MultiplicitySums() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit MultiplicitySums( - const wrapper>> &multiplicitySum = {} + const wrapper>> &multiplicitySum ) : GNDSTK_COMPONENT(BlockData{}), multiplicitySum(this,multiplicitySum) @@ -70,17 +76,17 @@ class MultiplicitySums : public Component { // copy MultiplicitySums(const MultiplicitySums &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + multiplicitySum(this,other.multiplicitySum) { - *this = other; Component::finish(other); } // move MultiplicitySums(MultiplicitySums &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + multiplicitySum(this,std::move(other.multiplicitySum)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace.hpp index 8ec0f9d0c..6680713a8 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/NBodyPhaseSpace.hpp @@ -36,8 +36,7 @@ class NBodyPhaseSpace : public Component { std::optional{} / Meta<>("numberOfProducts") | // children - std::optional{} - / --Child<>("mass") + --Child>("mass") ; } @@ -58,9 +57,16 @@ class NBodyPhaseSpace : public Component { this->numberOfProducts, \ this->mass) - // default, and from fields + // default + NBodyPhaseSpace() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit NBodyPhaseSpace( - const wrapper> &numberOfProducts = {}, + const wrapper> &numberOfProducts, const wrapper> &mass = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -79,17 +85,19 @@ class NBodyPhaseSpace : public Component { // copy NBodyPhaseSpace(const NBodyPhaseSpace &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + numberOfProducts(this,other.numberOfProducts), + mass(this,other.mass) { - *this = other; Component::finish(other); } // move NBodyPhaseSpace(NBodyPhaseSpace &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + numberOfProducts(this,std::move(other.numberOfProducts)), + mass(this,std::move(other.mass)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct.hpp index 03235c386..c9b0e3989 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProduct.hpp @@ -39,10 +39,8 @@ class OrphanProduct : public Component { XMLName{} / Meta<>("label") | // children - transport::CrossSection{} - / --Child<>("crossSection") | - transport::OutputChannel{} - / --Child<>("outputChannel") + --Child("crossSection") | + --Child("outputChannel") ; } @@ -67,9 +65,16 @@ class OrphanProduct : public Component { this->crossSection, \ this->outputChannel) - // default, and from fields + // default + OrphanProduct() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit OrphanProduct( - const wrapper &ENDF_MT = {}, + const wrapper &ENDF_MT, const wrapper &label = {}, const wrapper &crossSection = {}, const wrapper &outputChannel = {} @@ -92,17 +97,23 @@ class OrphanProduct : public Component { // copy OrphanProduct(const OrphanProduct &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,other.ENDF_MT), + label(this,other.label), + crossSection(this,other.crossSection), + outputChannel(this,other.outputChannel) { - *this = other; Component::finish(other); } // move OrphanProduct(OrphanProduct &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,std::move(other.ENDF_MT)), + label(this,std::move(other.label)), + crossSection(this,std::move(other.crossSection)), + outputChannel(this,std::move(other.outputChannel)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts.hpp index 14a088ce0..bd37f669b 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/OrphanProducts.hpp @@ -33,8 +33,7 @@ class OrphanProducts : public Component { { return // children - transport::OrphanProduct{} - / ++Child<>("orphanProduct") + ++Child("orphanProduct") ; } @@ -51,9 +50,16 @@ class OrphanProducts : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->orphanProduct) - // default, and from fields + // default + OrphanProducts() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit OrphanProducts( - const wrapper> &orphanProduct = {} + const wrapper> &orphanProduct ) : GNDSTK_COMPONENT(BlockData{}), orphanProduct(this,orphanProduct) @@ -70,17 +76,17 @@ class OrphanProducts : public Component { // copy OrphanProducts(const OrphanProducts &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + orphanProduct(this,other.orphanProduct) { - *this = other; Component::finish(other); } // move OrphanProducts(OrphanProducts &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + orphanProduct(this,std::move(other.orphanProduct)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel.hpp index 825a30fdb..03e63b53e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/OutputChannel.hpp @@ -40,12 +40,9 @@ class OutputChannel : public Component { std::optional{} / Meta<>("process") | // children - std::optional{} - / --Child<>("Q") | - std::optional{} - / --Child<>("products") | - std::optional{} - / --Child<>("fissionFragmentData") + --Child>("Q") | + --Child>("products") | + --Child>("fissionFragmentData") ; } @@ -72,9 +69,16 @@ class OutputChannel : public Component { this->products, \ this->fissionFragmentData) - // default, and from fields + // default + OutputChannel() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit OutputChannel( - const wrapper> &genre = {}, + const wrapper> &genre, const wrapper> &process = {}, const wrapper> &Q = {}, const wrapper> &products = {}, @@ -99,17 +103,25 @@ class OutputChannel : public Component { // copy OutputChannel(const OutputChannel &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + genre(this,other.genre), + process(this,other.process), + Q(this,other.Q), + products(this,other.products), + fissionFragmentData(this,other.fissionFragmentData) { - *this = other; Component::finish(other); } // move OutputChannel(OutputChannel &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + genre(this,std::move(other.genre)), + process(this,std::move(other.process)), + Q(this,std::move(other.Q)), + products(this,std::move(other.products)), + fissionFragmentData(this,std::move(other.fissionFragmentData)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/PhotonEmissionProbabilities.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/PhotonEmissionProbabilities.hpp index 1b7ba80e6..0452b9a69 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/PhotonEmissionProbabilities.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/PhotonEmissionProbabilities.hpp @@ -33,8 +33,7 @@ class PhotonEmissionProbabilities : public Component{} - / --Child<>("shell") + --Child>("shell") ; } @@ -51,9 +50,16 @@ class PhotonEmissionProbabilities : public Componentshell) - // default, and from fields + // default + PhotonEmissionProbabilities() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PhotonEmissionProbabilities( - const wrapper> &shell = {} + const wrapper> &shell ) : GNDSTK_COMPONENT(BlockData{}), shell(this,shell) @@ -70,17 +76,17 @@ class PhotonEmissionProbabilities : public Component { std::optional{} / Meta<>("finalState") | // children - std::optional{} - / --Child<>("axes") + --Child>("axes") ; } @@ -70,9 +69,16 @@ class PrimaryGamma : public Component { this->finalState, \ this->axes) - // default, and from fields + // default + PrimaryGamma() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PrimaryGamma( - const wrapper> &domainMax = {}, + const wrapper> &domainMax, const wrapper> &domainMin = {}, const wrapper> &value = {}, const wrapper> &finalState = {}, @@ -97,17 +103,25 @@ class PrimaryGamma : public Component { // copy PrimaryGamma(const PrimaryGamma &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMax(this,other.domainMax), + domainMin(this,other.domainMin), + value(this,other.value), + finalState(this,other.finalState), + axes(this,other.axes) { - *this = other; Component::finish(other); } // move PrimaryGamma(PrimaryGamma &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + domainMax(this,std::move(other.domainMax)), + domainMin(this,std::move(other.domainMin)), + value(this,std::move(other.value)), + finalState(this,std::move(other.finalState)), + axes(this,std::move(other.axes)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Production.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Production.hpp index 82994da3e..f6e7ca8af 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Production.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Production.hpp @@ -39,10 +39,8 @@ class Production : public Component { std::optional{} / Meta<>("label") | // children - std::optional{} - / --Child<>("crossSection") | - std::optional{} - / --Child<>("outputChannel") + --Child>("crossSection") | + --Child>("outputChannel") ; } @@ -67,9 +65,16 @@ class Production : public Component { this->crossSection, \ this->outputChannel) - // default, and from fields + // default + Production() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Production( - const wrapper> &ENDF_MT = {}, + const wrapper> &ENDF_MT, const wrapper> &label = {}, const wrapper> &crossSection = {}, const wrapper> &outputChannel = {} @@ -92,17 +97,23 @@ class Production : public Component { // copy Production(const Production &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,other.ENDF_MT), + label(this,other.label), + crossSection(this,other.crossSection), + outputChannel(this,other.outputChannel) { - *this = other; Component::finish(other); } // move Production(Production &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,std::move(other.ENDF_MT)), + label(this,std::move(other.label)), + crossSection(this,std::move(other.crossSection)), + outputChannel(this,std::move(other.outputChannel)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Productions.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Productions.hpp index cd8423373..ea3dd27ca 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Productions.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Productions.hpp @@ -33,8 +33,7 @@ class Productions : public Component { { return // children - std::optional{} - / --Child<>("production") + --Child>("production") ; } @@ -51,9 +50,16 @@ class Productions : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->production) - // default, and from fields + // default + Productions() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Productions( - const wrapper> &production = {} + const wrapper> &production ) : GNDSTK_COMPONENT(BlockData{}), production(this,production) @@ -70,17 +76,17 @@ class Productions : public Component { // copy Productions(const Productions &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + production(this,other.production) { - *this = other; Component::finish(other); } // move Productions(Productions &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + production(this,std::move(other.production)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/R.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/R.hpp index 3568a1395..53f45cc47 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/R.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/R.hpp @@ -59,9 +59,16 @@ class R : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs2dregions2d) - // default, and from fields + // default + R() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit R( - const wrapper<_t> &_XYs2dregions2d = {} + const wrapper<_t> &_XYs2dregions2d ) : GNDSTK_COMPONENT(BlockData{}), _XYs2dregions2d(this,_XYs2dregions2d) @@ -78,17 +85,17 @@ class R : public Component { // copy R(const R &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs2dregions2d(this,other._XYs2dregions2d) { - *this = other; Component::finish(other); } // move R(R &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs2dregions2d(this,std::move(other._XYs2dregions2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Reaction.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reaction.hpp index 25f3ad61e..525b626fe 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Reaction.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Reaction.hpp @@ -42,12 +42,9 @@ class Reaction : public Component { XMLName{} / Meta<>("label") | // children - std::optional{} - / --Child<>("doubleDifferentialCrossSection") | - transport::CrossSection{} - / --Child<>("crossSection") | - transport::OutputChannel{} - / --Child<>("outputChannel") + --Child>("doubleDifferentialCrossSection") | + --Child("crossSection") | + --Child("outputChannel") ; } @@ -76,9 +73,16 @@ class Reaction : public Component { this->crossSection, \ this->outputChannel) - // default, and from fields + // default + Reaction() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Reaction( - const wrapper &ENDF_MT = {}, + const wrapper &ENDF_MT, const wrapper> &fissionGenre = {}, const wrapper &label = {}, const wrapper> &doubleDifferentialCrossSection = {}, @@ -105,17 +109,27 @@ class Reaction : public Component { // copy Reaction(const Reaction &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,other.ENDF_MT), + fissionGenre(this,other.fissionGenre), + label(this,other.label), + doubleDifferentialCrossSection(this,other.doubleDifferentialCrossSection), + crossSection(this,other.crossSection), + outputChannel(this,other.outputChannel) { - *this = other; Component::finish(other); } // move Reaction(Reaction &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + ENDF_MT(this,std::move(other.ENDF_MT)), + fissionGenre(this,std::move(other.fissionGenre)), + label(this,std::move(other.label)), + doubleDifferentialCrossSection(this,std::move(other.doubleDifferentialCrossSection)), + crossSection(this,std::move(other.crossSection)), + outputChannel(this,std::move(other.outputChannel)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite.hpp index 18912edae..663f7002e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/ReactionSuite.hpp @@ -56,28 +56,17 @@ class ReactionSuite : public Component { enums::Interaction{} / Meta<>("interaction") | // children - std::optional{} - / --Child<>("externalFiles") | - styles::Styles{} - / --Child<>("styles") | - pops::PoPs_database{} - / --Child<>("PoPs") | - std::optional{} - / --Child<>("resonances") | - std::optional{} - / --Child<>("reactions") | - std::optional{} - / --Child<>("orphanProducts") | - std::optional{} - / --Child<>("sums") | - std::optional{} - / --Child<>("fissionComponents") | - std::optional{} - / --Child<>("productions") | - std::optional{} - / --Child<>("incompleteReactions") | - std::optional{} - / --Child<>("applicationData") + --Child>("externalFiles") | + --Child("styles") | + --Child("PoPs") | + --Child>("resonances") | + --Child>("reactions") | + --Child>("orphanProducts") | + --Child>("sums") | + --Child>("fissionComponents") | + --Child>("productions") | + --Child>("incompleteReactions") | + --Child>("applicationData") ; } @@ -128,9 +117,16 @@ class ReactionSuite : public Component { this->incompleteReactions, \ this->applicationData) - // default, and from fields + // default + ReactionSuite() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ReactionSuite( - const wrapper &evaluation = {}, + const wrapper &evaluation, const wrapper &format = {}, const wrapper &projectile = {}, const wrapper &projectileFrame = {}, @@ -179,17 +175,49 @@ class ReactionSuite : public Component { // copy ReactionSuite(const ReactionSuite &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluation(this,other.evaluation), + format(this,other.format), + projectile(this,other.projectile), + projectileFrame(this,other.projectileFrame), + target(this,other.target), + interaction(this,other.interaction), + externalFiles(this,other.externalFiles), + styles(this,other.styles), + PoPs(this,other.PoPs), + resonances(this,other.resonances), + reactions(this,other.reactions), + orphanProducts(this,other.orphanProducts), + sums(this,other.sums), + fissionComponents(this,other.fissionComponents), + productions(this,other.productions), + incompleteReactions(this,other.incompleteReactions), + applicationData(this,other.applicationData) { - *this = other; Component::finish(other); } // move ReactionSuite(ReactionSuite &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + evaluation(this,std::move(other.evaluation)), + format(this,std::move(other.format)), + projectile(this,std::move(other.projectile)), + projectileFrame(this,std::move(other.projectileFrame)), + target(this,std::move(other.target)), + interaction(this,std::move(other.interaction)), + externalFiles(this,std::move(other.externalFiles)), + styles(this,std::move(other.styles)), + PoPs(this,std::move(other.PoPs)), + resonances(this,std::move(other.resonances)), + reactions(this,std::move(other.reactions)), + orphanProducts(this,std::move(other.orphanProducts)), + sums(this,std::move(other.sums)), + fissionComponents(this,std::move(other.fissionComponents)), + productions(this,std::move(other.productions)), + incompleteReactions(this,std::move(other.incompleteReactions)), + applicationData(this,std::move(other.applicationData)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Reactions.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reactions.hpp index eed437433..da085e82f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Reactions.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Reactions.hpp @@ -33,8 +33,7 @@ class Reactions : public Component { { return // children - transport::Reaction{} - / ++Child<>("reaction") + ++Child("reaction") ; } @@ -51,9 +50,16 @@ class Reactions : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->reaction) - // default, and from fields + // default + Reactions() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Reactions( - const wrapper> &reaction = {} + const wrapper> &reaction ) : GNDSTK_COMPONENT(BlockData{}), reaction(this,reaction) @@ -70,17 +76,17 @@ class Reactions : public Component { // copy Reactions(const Reactions &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + reaction(this,other.reaction) { - *this = other; Component::finish(other); } // move Reactions(Reactions &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + reaction(this,std::move(other.reaction)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Recoil.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Recoil.hpp index 1fdacf934..9f6ac99e0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Recoil.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Recoil.hpp @@ -51,9 +51,16 @@ class Recoil : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->href) - // default, and from fields + // default + Recoil() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Recoil( - const wrapper &href = {} + const wrapper &href ) : GNDSTK_COMPONENT(BlockData{}), href(this,href) @@ -70,17 +77,17 @@ class Recoil : public Component { // copy Recoil(const Recoil &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href) { - *this = other; Component::finish(other); } // move Recoil(Recoil &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Reference.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Reference.hpp index aabd1cfd3..48cc0da09 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Reference.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Reference.hpp @@ -55,9 +55,16 @@ class Reference : public Component { this->href, \ this->label) - // default, and from fields + // default + Reference() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Reference( - const wrapper> &href = {}, + const wrapper> &href, const wrapper> &label = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Reference : public Component { // copy Reference(const Reference &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,other.href), + label(this,other.label) { - *this = other; Component::finish(other); } // move Reference(Reference &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + href(this,std::move(other.href)), + label(this,std::move(other.label)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion.hpp index 1bec650da..c44a0de76 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/ResolvedRegion.hpp @@ -59,9 +59,16 @@ class ResolvedRegion : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs1dregions1d) - // default, and from fields + // default + ResolvedRegion() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ResolvedRegion( - const wrapper<_t> &_XYs1dregions1d = {} + const wrapper<_t> &_XYs1dregions1d ) : GNDSTK_COMPONENT(BlockData{}), _XYs1dregions1d(this,_XYs1dregions1d) @@ -78,17 +85,17 @@ class ResolvedRegion : public Component { // copy ResolvedRegion(const ResolvedRegion &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dregions1d(this,other._XYs1dregions1d) { - *this = other; Component::finish(other); } // move ResolvedRegion(ResolvedRegion &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dregions1d(this,std::move(other._XYs1dregions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink.hpp index cead1a3c3..1443e5ec3 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesLink.hpp @@ -55,9 +55,16 @@ class ResonancesLink : public Component { this->label, \ this->href) - // default, and from fields + // default + ResonancesLink() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ResonancesLink( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &href = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class ResonancesLink : public Component { // copy ResonancesLink(const ResonancesLink &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + href(this,other.href) { - *this = other; Component::finish(other); } // move ResonancesLink(ResonancesLink &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + href(this,std::move(other.href)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesWithBackground.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesWithBackground.hpp index b196e6014..ab47ac940 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesWithBackground.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/ResonancesWithBackground.hpp @@ -38,12 +38,9 @@ class ResonancesWithBackground : public Component("label") | // children - transport::ResonancesLink{} - / --Child<>("resonances") | - transport::Background{} - / --Child<>("background") | - std::optional{} - / --Child<>("uncertainty") + --Child("resonances") | + --Child("background") | + --Child>("uncertainty") ; } @@ -68,9 +65,16 @@ class ResonancesWithBackground : public Componentbackground, \ this->uncertainty) - // default, and from fields + // default + ResonancesWithBackground() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ResonancesWithBackground( - const wrapper &label = {}, + const wrapper &label, const wrapper &resonances = {}, const wrapper &background = {}, const wrapper> &uncertainty = {} @@ -93,17 +97,23 @@ class ResonancesWithBackground : public Component { { return // children - std::optional{} - / ++Child<>("add") + ++Child>("add") ; } @@ -51,9 +50,16 @@ class Summands : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->add) - // default, and from fields + // default + Summands() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Summands( - const wrapper>> &add = {} + const wrapper>> &add ) : GNDSTK_COMPONENT(BlockData{}), add(this,add) @@ -70,17 +76,17 @@ class Summands : public Component { // copy Summands(const Summands &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + add(this,other.add) { - *this = other; Component::finish(other); } // move Summands(Summands &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + add(this,std::move(other.add)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Sums.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Sums.hpp index d50ff42a0..fa25c9402 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Sums.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Sums.hpp @@ -34,10 +34,8 @@ class Sums : public Component { { return // children - transport::CrossSectionSums{} - / --Child<>("crossSectionSums") | - std::optional{} - / --Child<>("multiplicitySums") + --Child("crossSectionSums") | + --Child>("multiplicitySums") ; } @@ -56,9 +54,16 @@ class Sums : public Component { this->crossSectionSums, \ this->multiplicitySums) - // default, and from fields + // default + Sums() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Sums( - const wrapper &crossSectionSums = {}, + const wrapper &crossSectionSums, const wrapper> &multiplicitySums = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class Sums : public Component { // copy Sums(const Sums &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + crossSectionSums(this,other.crossSectionSums), + multiplicitySums(this,other.multiplicitySums) { - *this = other; Component::finish(other); } // move Sums(Sums &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + crossSectionSums(this,std::move(other.crossSectionSums)), + multiplicitySums(this,std::move(other.multiplicitySums)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Theta.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Theta.hpp index aeb4683a1..c976a66a1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Theta.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Theta.hpp @@ -34,10 +34,8 @@ class Theta : public Component { { return // children - std::optional{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("regions1d") + --Child>("XYs1d") | + --Child>("regions1d") ; } @@ -56,9 +54,16 @@ class Theta : public Component { this->XYs1d, \ this->regions1d) - // default, and from fields + // default + Theta() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Theta( - const wrapper> &XYs1d = {}, + const wrapper> &XYs1d, const wrapper> ®ions1d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -77,17 +82,19 @@ class Theta : public Component { // copy Theta(const Theta &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + regions1d(this,other.regions1d) { - *this = other; Component::finish(other); } // move Theta(Theta &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + regions1d(this,std::move(other.regions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/U.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/U.hpp index 8cea485d0..5ed629dd5 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/U.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/U.hpp @@ -55,9 +55,16 @@ class U : public Component { this->unit, \ this->value) - // default, and from fields + // default + U() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit U( - const wrapper> &unit = {}, + const wrapper> &unit, const wrapper> &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class U : public Component { // copy U(const U &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move U(U &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/URR_probabilityTables1d.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/URR_probabilityTables1d.hpp index 562bf12e4..891b23a83 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/URR_probabilityTables1d.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/URR_probabilityTables1d.hpp @@ -66,9 +66,16 @@ class URR_probabilityTables1d : public Componentlabel, \ this->_XYs2dregions2d) - // default, and from fields + // default + URR_probabilityTables1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit URR_probabilityTables1d( - const wrapper &label = {}, + const wrapper &label, const wrapper<_t> &_XYs2dregions2d = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -87,17 +94,19 @@ class URR_probabilityTables1d : public Component { XMLName{} / Meta<>("productFrame") | // children - transport::Angular_uncorrelated{} - / --Child<>("angular") | - transport::Energy_uncorrelated{} - / --Child<>("energy") + --Child("angular") | + --Child("energy") ; } @@ -67,9 +65,16 @@ class Uncorrelated : public Component { this->angular, \ this->energy) - // default, and from fields + // default + Uncorrelated() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Uncorrelated( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &productFrame = {}, const wrapper &angular = {}, const wrapper &energy = {} @@ -92,17 +97,23 @@ class Uncorrelated : public Component { // copy Uncorrelated(const Uncorrelated &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame), + angular(this,other.angular), + energy(this,other.energy) { - *this = other; Component::finish(other); } // move Uncorrelated(Uncorrelated &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)), + angular(this,std::move(other.angular)), + energy(this,std::move(other.energy)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion.hpp index 5eacc36e0..842f9171a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/UnresolvedRegion.hpp @@ -59,9 +59,16 @@ class UnresolvedRegion : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->_XYs1dregions1d) - // default, and from fields + // default + UnresolvedRegion() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit UnresolvedRegion( - const wrapper<_t> &_XYs1dregions1d = {} + const wrapper<_t> &_XYs1dregions1d ) : GNDSTK_COMPONENT(BlockData{}), _XYs1dregions1d(this,_XYs1dregions1d) @@ -78,17 +85,17 @@ class UnresolvedRegion : public Component { // copy UnresolvedRegion(const UnresolvedRegion &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dregions1d(this,other._XYs1dregions1d) { - *this = other; Component::finish(other); } // move UnresolvedRegion(UnresolvedRegion &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + _XYs1dregions1d(this,std::move(other._XYs1dregions1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified.hpp index ea1496aef..bc1475bc0 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Unspecified.hpp @@ -55,9 +55,16 @@ class Unspecified : public Component { this->label, \ this->productFrame) - // default, and from fields + // default + Unspecified() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Unspecified( - const wrapper> &label = {}, + const wrapper> &label, const wrapper &productFrame = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Unspecified : public Component { // copy Unspecified(const Unspecified &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + productFrame(this,other.productFrame) { - *this = other; Component::finish(other); } // move Unspecified(Unspecified &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + productFrame(this,std::move(other.productFrame)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/Weighted.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/Weighted.hpp index 2fee2f79f..388ed572a 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/Weighted.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/Weighted.hpp @@ -39,20 +39,13 @@ class Weighted : public Component { { return // children - containers::XYs1d{} - / --Child<>("XYs1d") | - std::optional{} - / --Child<>("XYs2d") | - std::optional{} - / --Child<>("evaporation") | - std::optional{} - / --Child<>("generalEvaporation") | - std::optional{} - / --Child<>("simpleMaxwellianFission") | - std::optional{} - / --Child<>("Watt") | - std::optional{} - / --Child<>("MadlandNix") + --Child("XYs1d") | + --Child>("XYs2d") | + --Child>("evaporation") | + --Child>("generalEvaporation") | + --Child>("simpleMaxwellianFission") | + --Child>("Watt") | + --Child>("MadlandNix") ; } @@ -81,9 +74,16 @@ class Weighted : public Component { this->Watt, \ this->MadlandNix) - // default, and from fields + // default + Weighted() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Weighted( - const wrapper &XYs1d = {}, + const wrapper &XYs1d, const wrapper> &XYs2d = {}, const wrapper> &evaporation = {}, const wrapper> &generalEvaporation = {}, @@ -112,17 +112,29 @@ class Weighted : public Component { // copy Weighted(const Weighted &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d), + XYs2d(this,other.XYs2d), + evaporation(this,other.evaporation), + generalEvaporation(this,other.generalEvaporation), + simpleMaxwellianFission(this,other.simpleMaxwellianFission), + Watt(this,other.Watt), + MadlandNix(this,other.MadlandNix) { - *this = other; Component::finish(other); } // move Weighted(Weighted &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)), + XYs2d(this,std::move(other.XYs2d)), + evaporation(this,std::move(other.evaporation)), + generalEvaporation(this,std::move(other.generalEvaporation)), + simpleMaxwellianFission(this,std::move(other.simpleMaxwellianFission)), + Watt(this,std::move(other.Watt)), + MadlandNix(this,std::move(other.MadlandNix)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals.hpp b/standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals.hpp index c349a7d4f..1f10fc6e1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/transport/WeightedFunctionals.hpp @@ -33,8 +33,7 @@ class WeightedFunctionals : public Component { { return // children - transport::Weighted{} - / --Child<>("weighted") + --Child("weighted") ; } @@ -51,9 +50,16 @@ class WeightedFunctionals : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->weighted) - // default, and from fields + // default + WeightedFunctionals() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit WeightedFunctionals( - const wrapper &weighted = {} + const wrapper &weighted ) : GNDSTK_COMPONENT(BlockData{}), weighted(this,weighted) @@ -70,17 +76,17 @@ class WeightedFunctionals : public Component { // copy WeightedFunctionals(const WeightedFunctionals &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + weighted(this,other.weighted) { - *this = other; Component::finish(other); } // move WeightedFunctionals(WeightedFunctionals &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + weighted(this,std::move(other.weighted)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection.hpp index 2549e4414..a946826c3 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/BoundAtomCrossSection.hpp @@ -55,9 +55,16 @@ class BoundAtomCrossSection : public Component { this->unit, \ this->value) - // default, and from fields + // default + BoundAtomCrossSection() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit BoundAtomCrossSection( - const wrapper &unit = {}, + const wrapper &unit, const wrapper &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class BoundAtomCrossSection : public Component { // copy BoundAtomCrossSection(const BoundAtomCrossSection &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move BoundAtomCrossSection(BoundAtomCrossSection &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge.hpp index d386d8208..c53014c8d 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdge.hpp @@ -37,10 +37,8 @@ class BraggEdge : public Component { XMLName{} / Meta<>("label") | // children - tsl::BraggEnergy{} - / --Child<>("BraggEnergy") | - tsl::StructureFactor{} - / --Child<>("structureFactor") + --Child("BraggEnergy") | + --Child("structureFactor") ; } @@ -63,9 +61,16 @@ class BraggEdge : public Component { this->BraggEnergy, \ this->structureFactor) - // default, and from fields + // default + BraggEdge() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit BraggEdge( - const wrapper &label = {}, + const wrapper &label, const wrapper &BraggEnergy = {}, const wrapper &structureFactor = {} ) : @@ -86,17 +91,21 @@ class BraggEdge : public Component { // copy BraggEdge(const BraggEdge &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,other.label), + BraggEnergy(this,other.BraggEnergy), + structureFactor(this,other.structureFactor) { - *this = other; Component::finish(other); } // move BraggEdge(BraggEdge &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + label(this,std::move(other.label)), + BraggEnergy(this,std::move(other.BraggEnergy)), + structureFactor(this,std::move(other.structureFactor)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges.hpp index 530b42382..311122818 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEdges.hpp @@ -33,8 +33,7 @@ class BraggEdges : public Component { { return // children - tsl::BraggEdge{} - / ++Child<>("BraggEdge") + ++Child("BraggEdge") ; } @@ -51,9 +50,16 @@ class BraggEdges : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->BraggEdge) - // default, and from fields + // default + BraggEdges() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit BraggEdges( - const wrapper> &BraggEdge = {} + const wrapper> &BraggEdge ) : GNDSTK_COMPONENT(BlockData{}), BraggEdge(this,BraggEdge) @@ -70,17 +76,17 @@ class BraggEdges : public Component { // copy BraggEdges(const BraggEdges &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + BraggEdge(this,other.BraggEdge) { - *this = other; Component::finish(other); } // move BraggEdges(BraggEdges &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + BraggEdge(this,std::move(other.BraggEdge)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy.hpp index 0d5666e18..bca3efbbf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/BraggEnergy.hpp @@ -33,8 +33,7 @@ class BraggEnergy : public Component { { return // children - containers::XYs1d{} - / --Child<>("XYs1d") + --Child("XYs1d") ; } @@ -51,9 +50,16 @@ class BraggEnergy : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->XYs1d) - // default, and from fields + // default + BraggEnergy() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit BraggEnergy( - const wrapper &XYs1d = {} + const wrapper &XYs1d ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) @@ -70,17 +76,17 @@ class BraggEnergy : public Component { // copy BraggEnergy(const BraggEnergy &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d) { - *this = other; Component::finish(other); } // move BraggEnergy(BraggEnergy &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection.hpp index 5a4d45991..62827d0bf 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/CoherentAtomCrossSection.hpp @@ -55,9 +55,16 @@ class CoherentAtomCrossSection : public Component this->unit, \ this->value) - // default, and from fields + // default + CoherentAtomCrossSection() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit CoherentAtomCrossSection( - const wrapper &unit = {}, + const wrapper &unit, const wrapper &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class CoherentAtomCrossSection : public Component // copy CoherentAtomCrossSection(const CoherentAtomCrossSection &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move CoherentAtomCrossSection(CoherentAtomCrossSection &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral.hpp index 68cd6c442..a24139378 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/DebyeWallerIntegral.hpp @@ -33,8 +33,7 @@ class DebyeWallerIntegral : public Component { { return // children - containers::XYs1d{} - / --Child<>("XYs1d") + --Child("XYs1d") ; } @@ -51,9 +50,16 @@ class DebyeWallerIntegral : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->XYs1d) - // default, and from fields + // default + DebyeWallerIntegral() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DebyeWallerIntegral( - const wrapper &XYs1d = {} + const wrapper &XYs1d ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) @@ -70,17 +76,17 @@ class DebyeWallerIntegral : public Component { // copy DebyeWallerIntegral(const DebyeWallerIntegral &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d) { - *this = other; Component::finish(other); } // move DebyeWallerIntegral(DebyeWallerIntegral &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel.hpp index 66ac69b8e..7958077db 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/DistinctScatteringKernel.hpp @@ -33,8 +33,7 @@ class DistinctScatteringKernel : public Component { return // children - std::optional{} - / --Child<>("gridded3d") + --Child>("gridded3d") ; } @@ -51,9 +50,16 @@ class DistinctScatteringKernel : public Component #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->gridded3d) - // default, and from fields + // default + DistinctScatteringKernel() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit DistinctScatteringKernel( - const wrapper> &gridded3d = {} + const wrapper> &gridded3d ) : GNDSTK_COMPONENT(BlockData{}), gridded3d(this,gridded3d) @@ -70,17 +76,17 @@ class DistinctScatteringKernel : public Component // copy DistinctScatteringKernel(const DistinctScatteringKernel &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + gridded3d(this,other.gridded3d) { - *this = other; Component::finish(other); } // move DistinctScatteringKernel(DistinctScatteringKernel &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + gridded3d(this,std::move(other.gridded3d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical.hpp index 3305e7a59..9e8aabff3 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_critical.hpp @@ -55,9 +55,16 @@ class E_critical : public Component { this->unit, \ this->value) - // default, and from fields + // default + E_critical() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit E_critical( - const wrapper> &unit = {}, + const wrapper> &unit, const wrapper> &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class E_critical : public Component { // copy E_critical(const E_critical &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move E_critical(E_critical &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/E_max.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_max.hpp index 926bc565c..68b38b7dd 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/E_max.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/E_max.hpp @@ -55,9 +55,16 @@ class E_max : public Component { this->unit, \ this->value) - // default, and from fields + // default + E_max() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit E_max( - const wrapper> &unit = {}, + const wrapper> &unit, const wrapper> &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class E_max : public Component { // copy E_max(const E_max &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move E_max(E_max &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation.hpp index e4892ae72..a7e277560 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/FreeGasApproximation.hpp @@ -61,7 +61,6 @@ class FreeGasApproximation : public Component { FreeGasApproximation(const FreeGasApproximation &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class FreeGasApproximation : public Component { FreeGasApproximation(FreeGasApproximation &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation.hpp index 47470d154..15e205aef 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/GaussianApproximation.hpp @@ -33,8 +33,7 @@ class GaussianApproximation : public Component { { return // children - std::optional{} - / --Child<>("phononSpectrum") + --Child>("phononSpectrum") ; } @@ -51,9 +50,16 @@ class GaussianApproximation : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->phononSpectrum) - // default, and from fields + // default + GaussianApproximation() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit GaussianApproximation( - const wrapper> &phononSpectrum = {} + const wrapper> &phononSpectrum ) : GNDSTK_COMPONENT(BlockData{}), phononSpectrum(this,phononSpectrum) @@ -70,17 +76,17 @@ class GaussianApproximation : public Component { // copy GaussianApproximation(const GaussianApproximation &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + phononSpectrum(this,other.phononSpectrum) { - *this = other; Component::finish(other); } // move GaussianApproximation(GaussianApproximation &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + phononSpectrum(this,std::move(other.phononSpectrum)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/Mass.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/Mass.hpp index fa41395d0..8cae4989e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/Mass.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/Mass.hpp @@ -55,9 +55,16 @@ class Mass : public Component { this->unit, \ this->value) - // default, and from fields + // default + Mass() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit Mass( - const wrapper &unit = {}, + const wrapper &unit, const wrapper &value = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class Mass : public Component { // copy Mass(const Mass &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,other.unit), + value(this,other.value) { - *this = other; Component::finish(other); } // move Mass(Mass &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + unit(this,std::move(other.unit)), + value(this,std::move(other.value)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum.hpp index c0b84fc20..de924085e 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/PhononSpectrum.hpp @@ -33,8 +33,7 @@ class PhononSpectrum : public Component { { return // children - containers::XYs1d{} - / --Child<>("XYs1d") + --Child("XYs1d") ; } @@ -51,9 +50,16 @@ class PhononSpectrum : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->XYs1d) - // default, and from fields + // default + PhononSpectrum() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit PhononSpectrum( - const wrapper &XYs1d = {} + const wrapper &XYs1d ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) @@ -70,17 +76,17 @@ class PhononSpectrum : public Component { // copy PhononSpectrum(const PhononSpectrum &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d) { - *this = other; Component::finish(other); } // move PhononSpectrum(PhononSpectrum &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation.hpp index ff136b39a..75e47f20f 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/SCTApproximation.hpp @@ -61,7 +61,6 @@ class SCTApproximation : public Component { SCTApproximation(const SCTApproximation &other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = other; Component::finish(other); } @@ -69,7 +68,6 @@ class SCTApproximation : public Component { SCTApproximation(SCTApproximation &&other) : GNDSTK_COMPONENT(other.baseBlockData()) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/S_table.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/S_table.hpp index 1b73f69c5..e7534d60c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/S_table.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/S_table.hpp @@ -33,8 +33,7 @@ class S_table : public Component { { return // children - containers::Gridded2d{} - / --Child<>("gridded2d") + --Child("gridded2d") ; } @@ -51,9 +50,16 @@ class S_table : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->gridded2d) - // default, and from fields + // default + S_table() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit S_table( - const wrapper &gridded2d = {} + const wrapper &gridded2d ) : GNDSTK_COMPONENT(BlockData{}), gridded2d(this,gridded2d) @@ -70,17 +76,17 @@ class S_table : public Component { // copy S_table(const S_table &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + gridded2d(this,other.gridded2d) { - *this = other; Component::finish(other); } // move S_table(S_table &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + gridded2d(this,std::move(other.gridded2d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom.hpp index 2577b4835..eb5c1a3b3 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtom.hpp @@ -47,22 +47,14 @@ class ScatteringAtom : public Component { Integer32{} / Meta<>("numberPerMolecule") | // children - tsl::Mass{} - / --Child<>("mass") | - std::optional{} - / --Child<>("e_critical") | - tsl::E_max{} - / --Child<>("e_max") | - tsl::BoundAtomCrossSection{} - / --Child<>("boundAtomCrossSection") | - std::optional{} - / --Child<>("coherentAtomCrossSection") | - std::optional{} - / --Child<>("distinctScatteringKernel") | - tsl::SelfScatteringKernel{} - / --Child<>("selfScatteringKernel") | - std::optional{} - / --Child<>("T_effective") + --Child("mass") | + --Child>("e_critical") | + --Child("e_max") | + --Child("boundAtomCrossSection") | + --Child>("coherentAtomCrossSection") | + --Child>("distinctScatteringKernel") | + --Child("selfScatteringKernel") | + --Child>("T_effective") ; } @@ -101,9 +93,16 @@ class ScatteringAtom : public Component { this->selfScatteringKernel, \ this->T_effective) - // default, and from fields + // default + ScatteringAtom() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ScatteringAtom( - const wrapper &pid = {}, + const wrapper &pid, const wrapper &primaryScatterer = {}, const wrapper &numberPerMolecule = {}, const wrapper &mass = {}, @@ -140,17 +139,37 @@ class ScatteringAtom : public Component { // copy ScatteringAtom(const ScatteringAtom &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + pid(this,other.pid), + primaryScatterer(this,other.primaryScatterer), + numberPerMolecule(this,other.numberPerMolecule), + mass(this,other.mass), + e_critical(this,other.e_critical), + e_max(this,other.e_max), + boundAtomCrossSection(this,other.boundAtomCrossSection), + coherentAtomCrossSection(this,other.coherentAtomCrossSection), + distinctScatteringKernel(this,other.distinctScatteringKernel), + selfScatteringKernel(this,other.selfScatteringKernel), + T_effective(this,other.T_effective) { - *this = other; Component::finish(other); } // move ScatteringAtom(ScatteringAtom &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + pid(this,std::move(other.pid)), + primaryScatterer(this,std::move(other.primaryScatterer)), + numberPerMolecule(this,std::move(other.numberPerMolecule)), + mass(this,std::move(other.mass)), + e_critical(this,std::move(other.e_critical)), + e_max(this,std::move(other.e_max)), + boundAtomCrossSection(this,std::move(other.boundAtomCrossSection)), + coherentAtomCrossSection(this,std::move(other.coherentAtomCrossSection)), + distinctScatteringKernel(this,std::move(other.distinctScatteringKernel)), + selfScatteringKernel(this,std::move(other.selfScatteringKernel)), + T_effective(this,std::move(other.T_effective)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms.hpp index 0ce3c5d8d..25cd2f4e8 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/ScatteringAtoms.hpp @@ -33,8 +33,7 @@ class ScatteringAtoms : public Component { { return // children - tsl::ScatteringAtom{} - / ++Child<>("scatteringAtom") + ++Child("scatteringAtom") ; } @@ -51,9 +50,16 @@ class ScatteringAtoms : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->scatteringAtom) - // default, and from fields + // default + ScatteringAtoms() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ScatteringAtoms( - const wrapper> &scatteringAtom = {} + const wrapper> &scatteringAtom ) : GNDSTK_COMPONENT(BlockData{}), scatteringAtom(this,scatteringAtom) @@ -70,17 +76,17 @@ class ScatteringAtoms : public Component { // copy ScatteringAtoms(const ScatteringAtoms &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + scatteringAtom(this,other.scatteringAtom) { - *this = other; Component::finish(other); } // move ScatteringAtoms(ScatteringAtoms &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + scatteringAtom(this,std::move(other.scatteringAtom)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel.hpp index b3dc22a8b..db0ffbe96 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/SelfScatteringKernel.hpp @@ -72,9 +72,16 @@ class SelfScatteringKernel : public Component { this->symmetric, \ this->_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation) - // default, and from fields + // default + SelfScatteringKernel() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit SelfScatteringKernel( - const wrapper> &symmetric = {}, + const wrapper> &symmetric, const wrapper<_t> &_gridded3dGaussianApproximationSCTApproximationfreeGasApproximation = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -93,17 +100,19 @@ class SelfScatteringKernel : public Component { // copy SelfScatteringKernel(const SelfScatteringKernel &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + symmetric(this,other.symmetric), + _gridded3dGaussianApproximationSCTApproximationfreeGasApproximation(this,other._gridded3dGaussianApproximationSCTApproximationfreeGasApproximation) { - *this = other; Component::finish(other); } // move SelfScatteringKernel(SelfScatteringKernel &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + symmetric(this,std::move(other.symmetric)), + _gridded3dGaussianApproximationSCTApproximationfreeGasApproximation(this,std::move(other._gridded3dGaussianApproximationSCTApproximationfreeGasApproximation)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor.hpp index f3bc94e15..138685fa6 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/StructureFactor.hpp @@ -33,8 +33,7 @@ class StructureFactor : public Component { { return // children - containers::XYs1d{} - / --Child<>("XYs1d") + --Child("XYs1d") ; } @@ -51,9 +50,16 @@ class StructureFactor : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->XYs1d) - // default, and from fields + // default + StructureFactor() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit StructureFactor( - const wrapper &XYs1d = {} + const wrapper &XYs1d ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) @@ -70,17 +76,17 @@ class StructureFactor : public Component { // copy StructureFactor(const StructureFactor &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d) { - *this = other; Component::finish(other); } // move StructureFactor(StructureFactor &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective.hpp index afa436c9e..ff9ba64c1 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/T_effective.hpp @@ -33,8 +33,7 @@ class T_effective : public Component { { return // children - containers::XYs1d{} - / --Child<>("XYs1d") + --Child("XYs1d") ; } @@ -51,9 +50,16 @@ class T_effective : public Component { #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ this->XYs1d) - // default, and from fields + // default + T_effective() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit T_effective( - const wrapper &XYs1d = {} + const wrapper &XYs1d ) : GNDSTK_COMPONENT(BlockData{}), XYs1d(this,XYs1d) @@ -70,17 +76,17 @@ class T_effective : public Component { // copy T_effective(const T_effective &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,other.XYs1d) { - *this = other; Component::finish(other); } // move T_effective(T_effective &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + XYs1d(this,std::move(other.XYs1d)) { - *this = std::move(other); Component::finish(other); } diff --git a/standards/gnds-2.0/test/src/test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp b/standards/gnds-2.0/test/src/test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp index db0b08a33..2836b434c 100644 --- a/standards/gnds-2.0/test/src/test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp +++ b/standards/gnds-2.0/test/src/test/v2.0/tsl/ThermalNeutronScatteringLaw.hpp @@ -55,9 +55,16 @@ class ThermalNeutronScatteringLaw : public Componentlabel, \ this->href) - // default, and from fields + // default + ThermalNeutronScatteringLaw() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ThermalNeutronScatteringLaw( - const wrapper &label = {}, + const wrapper &label, const wrapper &href = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class ThermalNeutronScatteringLaw : public Componentlabel, \ this->href) - // default, and from fields + // default + ThermalNeutronScatteringLaw1d() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ThermalNeutronScatteringLaw1d( - const wrapper &label = {}, + const wrapper &label, const wrapper &href = {} ) : GNDSTK_COMPONENT(BlockData{}), @@ -76,17 +83,19 @@ class ThermalNeutronScatteringLaw1d : public ComponentproductFrame, \ this->_S_tableBraggEdges) - // default, and from fields + // default + ThermalNeutronScatteringLaw_coherentElastic() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit ThermalNeutronScatteringLaw_coherentElastic( - const wrapper &label = {}, + const wrapper &label, const wrapper> &pid = {}, const wrapper> &productFrame = {}, const wrapper<_t> &_S_tableBraggEdges = {} @@ -106,17 +113,23 @@ class ThermalNeutronScatteringLaw_coherentElastic : public Component("productFrame") | // children - tsl::BoundAtomCrossSection{} - / --Child<>("boundAtomCrossSection") | - tsl::DebyeWallerIntegral{} - / --Child<>("DebyeWallerIntegral") + --Child("boundAtomCrossSection") | + --Child("DebyeWallerIntegral") ; } @@ -71,9 +69,16 @@ class ThermalNeutronScatteringLaw_incoherentElastic : public ComponentboundAtomCrossSection, \ this->DebyeWallerIntegral) - // default, and from fields + // default + ThermalNeutronScatteringLaw_incoherentElastic() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields explicit ThermalNeutronScatteringLaw_incoherentElastic( - const wrapper &label = {}, + const wrapper &label, const wrapper &pid = {}, const wrapper &productFrame = {}, const wrapper &boundAtomCrossSection = {}, @@ -98,17 +103,25 @@ class ThermalNeutronScatteringLaw_incoherentElastic : public Component("primaryScatterer") | // children - tsl::ScatteringAtoms{} - / --Child<>("scatteringAtoms") + --Child("scatteringAtoms") ; } @@ -86,10 +85,17 @@ class ThermalNeutronScatteringLaw_incoherentInelastic : public ComponentprimaryScatterer, \ this->scatteringAtoms) - // default, and from fields + // default + ThermalNeutronScatteringLaw_incoherentInelastic() : + GNDSTK_COMPONENT(BlockData{}) + { + Component::finish(); + } + + // from fields // std::optional replaces Defaulted; this class knows the default(s) explicit ThermalNeutronScatteringLaw_incoherentInelastic( - const wrapper &label = {}, + const wrapper &label, const wrapper> &pid = {}, const wrapper> &productFrame = {}, const wrapper> &calculatedAtThermal = {}, @@ -118,17 +124,29 @@ class ThermalNeutronScatteringLaw_incoherentInelastic : public Component Date: Fri, 9 Dec 2022 13:38:42 -0700 Subject: [PATCH 226/235] Changed some terminology, updating test material appropriately. Changing "comment" to "remark" may seem pointless at first glance, but serves a purpose. I'm currently preparing the way for some updating to how GNDStk handles certain special nodes - think CDATA and PCDATA in XML, as well as comments (in XML and elsewhere). Some modifications in the handling of special nodes will be important for the smooth handling of GNDS 2.0 files. Throughout GNDStk, I'd been using the word "comment" in both a casual sense ("In this comment I'll describe such-and-such..."), and in a technical sense (the comment() function, comment nodes, etc.). To help make future grep'ing more useful, I decided to use "remark" for the casual sense, and keep "comment" for the technical sense. Henceforth, when I search for instances of the second case, I'll encounter less clutter. --- autogen/prototype/prototype.json | 2 +- autogen/v1.9/summary_basic.json | 10 ++-- src/GNDStk/BlockData/src/get.hpp | 4 +- src/GNDStk/Component.hpp | 2 +- src/GNDStk/Component/src/fromNode.hpp | 2 +- src/GNDStk/Component/test/finish.test.cpp | 2 +- .../HDF5/test/resources/correct-raw-string.h5 | Bin 43696 -> 43696 bytes .../HDF5/test/resources/correct-raw-typed.h5 | Bin 43984 -> 43984 bytes .../test/resources/correct-reduced-string.h5 | Bin 19224 -> 19224 bytes .../test/resources/correct-reduced-typed.h5 | Bin 19184 -> 19208 bytes src/GNDStk/HDF5/test/resources/various.xml | 20 +++---- .../test/resources/correct-raw-string.json | 54 +++++++++--------- .../test/resources/correct-raw-typed.json | 54 +++++++++--------- .../resources/correct-reduced-string.json | 22 +++---- .../test/resources/correct-reduced-typed.json | 22 +++---- src/GNDStk/JSON/test/resources/various.xml | 20 +++---- src/GNDStk/Node/src/child.hpp | 4 +- src/GNDStk/Node/src/meta.hpp | 2 +- src/GNDStk/XML/src/read.hpp | 4 +- src/GNDStk/convert/src/detail-node2hdf5.hpp | 2 +- src/GNDStk/convert/src/detail-xml2node.hpp | 2 +- src/GNDStk/type2node.hpp | 2 +- standards/gnds-2.0/summary_basic.json | 10 ++-- 23 files changed, 120 insertions(+), 120 deletions(-) diff --git a/autogen/prototype/prototype.json b/autogen/prototype/prototype.json index 80d813dfc..138df990b 100644 --- a/autogen/prototype/prototype.json +++ b/autogen/prototype/prototype.json @@ -1,5 +1,5 @@ { - "comment" : [ + "remark" : [ "Path", " Path to the Project directory.", " Optional (defaults to .).", diff --git a/autogen/v1.9/summary_basic.json b/autogen/v1.9/summary_basic.json index a3f4f65c2..3efc842da 100644 --- a/autogen/v1.9/summary_basic.json +++ b/autogen/v1.9/summary_basic.json @@ -160,7 +160,7 @@ "description": "This represents the allowed set and sequence of characters that represent the Boolean \\attrval{true} and \\attrval{false} values in general-purpose data containers.", "name": "Boolean", "allowedValueDescription": "The allowed strings are `true' and `false'. For a table cell, the allowed values are `\\texttt{}' and `\\texttt{}'.", - "comment": "the standard XML attribute value representation for Boolean values true and false are `true' and `false' respectively.", + "remark": "the standard XML attribute value representation for Boolean values true and false are `true' and `false' respectively.", "C_equivalent": "bool"}, "whiteSpace": { @@ -210,7 +210,7 @@ "description": "Floating point number that can be stored at reduced precision", "name": "Float32", "allowedValueDescription": "n/a", - "comment": "Since only ASCII representation of data types is being considered here, and since Float32 is a subset of Float64, this is probably not needed.", + "remark": "Since only ASCII representation of data types is being considered here, and since Float32 is a subset of Float64, this is probably not needed.", "implementationStatus": "Not implemented as of GNDS-1.9"}, "Integer64": { @@ -227,7 +227,7 @@ "\\noindent with the restriction that the value shall be in the range ", "[\\textbf{Integer64\\_Min}, \\textbf{Integer64\\_Max}]."], "C_equivalent": "int64\\_t", - "comment": "Currently not needed so not defined.", + "remark": "Currently not needed so not defined.", "implementationStatus": "Not implemented as of GNDS-1.9"}, "Hexadecimal": { @@ -235,7 +235,7 @@ "description": "Typical hexadecimal number", "name": "Hexadecimal", "allowedValueDescription": "n/a", - "comment": "Currently not needed so not defined.", + "remark": "Currently not needed so not defined.", "implementationStatus": "Not implemented as of GNDS-1.9"}, "Octal": { @@ -243,6 +243,6 @@ "description": "Typical octal number", "name": "Octal", "allowedValueDescription": "n/a", - "comment": "Currently not needed so not defined.", + "remark": "Currently not needed so not defined.", "implementationStatus": "Not implemented as of GNDS-1.9"} } diff --git a/src/GNDStk/BlockData/src/get.hpp b/src/GNDStk/BlockData/src/get.hpp index 474b456e4..cd1017010 100644 --- a/src/GNDStk/BlockData/src/get.hpp +++ b/src/GNDStk/BlockData/src/get.hpp @@ -136,8 +136,8 @@ as follows. Set the raw string to what you wish, using the string() setter. Set length, start, or valueType as you wish, either before or after possibly setting the string. Finally, after doing all that, do a get>(). Then the vector in the variant will be remade, per the new string and/or the -length etc. parameters, as described earlier in this descriptive comment, if -and when a get> function is next called. +length etc. parameters, as described earlier in this remark, if and when a +get> function is next called. The return value of the const version is a const reference to a (possibly newly converted-to from the raw string, possibly existing, or possibly remade) diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index c12052ad8..d2d92f4cc 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -54,7 +54,7 @@ class Component : public BlockData #include "GNDStk/Component/src/ctor.hpp" // finish - // See comments in finish.hpp + // See remarks in finish.hpp #include "GNDStk/Component/src/finish.hpp" // Helpers for derived-class getters/setters. diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index 377506a8a..e85a84875 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -41,7 +41,7 @@ void transferChild( // while Bar does not, i.e.: // Foo: Component // Bar - // Comments, below, reflect various situations. + // Remarks, below, reflect various situations. if constexpr (detail::isDerivedFromComponent::value) { // *** Foo diff --git a/src/GNDStk/Component/test/finish.test.cpp b/src/GNDStk/Component/test/finish.test.cpp index 0cb05a749..d45f51488 100644 --- a/src/GNDStk/Component/test/finish.test.cpp +++ b/src/GNDStk/Component/test/finish.test.cpp @@ -466,7 +466,7 @@ SCENARIO("Component finish()") { // ctor: copy WHEN("We call the copy constructor") { CHECK(test::construct2DerivedPlain == false); - // Comment as for the one regarding DerivedValue test + // Remark as for the one regarding DerivedValue test test::DerivedPlain dfrom; test::DerivedPlain d(dfrom); CHECK(test::construct2DerivedPlain == true); diff --git a/src/GNDStk/HDF5/test/resources/correct-raw-string.h5 b/src/GNDStk/HDF5/test/resources/correct-raw-string.h5 index 86b251275a4e42687391675af61473aa4e0a2bb7..fddeb804df9d3dd9c3e3f3b2e4db996fd7768f36 100644 GIT binary patch delta 1784 zcmZ`(O-vg{6y6z&W_PiJX{*GsA!~l*wV-iLYAQoW>?DY|P+0~7HBkY(B`8VTU^x}C zl1jKz4o**)CpARM!Q@a?Ibm%Nw90{~Jy<=_LsiHrJ=I5gsDvU#>F&%MR&Eu`nm6CK z-^}-B_U+sJoo<@{oTI}p@n33&#{^>e4xf~avg0qJt|DC;gBO95iYLW!27c2t#XTty ziD|}uQ;kAc@emnW<>N$wtfCPWzBb2Z*ieoWC;Vv6U9hKUD@SqPH!x0I{UV$HOp;m< zD-FEAD~#Cvn&*AUx4!22Y2@GJ(Rih7kSQmUBiHk{zVzoY1xe~e-i2}U>ZeOL7i>Wn z@?!nvYuEFKkBxtt&$usCy19m+w1&7I;DjIf;5&RGbScESP`Ucun(m>y8jKEv$bpe< zZ=q`u846k}oQQk`;dVC^Bg5nfybSngyxZ{VBa~ENpmXU&6t@?CtEn^NoLX=jW-uf!?ofx*t3 z-fg|{EOo?kPqliIta)VBX5dDAl&IxdpK6~NMi+I`$J|##;Jvs^_fNA^(NrHZsD~O2 z-0yN6?z0SF|8qq-WWd{d4pJT`X|_xX?{VdNKMb}9=uVWmZ1po2&meaxM45~G{YIB4 z;&fCT!)D;8KCAdp%gt=sf8(m6>zaJ4UHp6bKc-IL(#M{(; z>;>*IepyN5n{Klr!ej6#FjwA|9iL?L@YYO!i}+%AyaktLK7e|_V+8dmrG=!K#lnh1 zl6e|Zsi`ra=!YDqlRSD*xA`Ak0ejB+1Q!HRm&5KOihLdM))We?P=4~WRd}|Sby64W zE|^z~@lrcO>DC1NdTLR%&Hg8Jvkxsi%`bU(is@}rOKj%i)ln&uho!uYgK)3a77 zkOL^E=V8YuuZRPruqed=>>}mMMb9f>X$hTOYFroRL8@SZ2%TLpT#(?wC)IE!g!T)^ zrc;??ha?ho%r1G?ukeLJzK!_#$D)vI2A<6&VY4X+@piwFn6LT9@$E^gcqw9+!%Ir@ z-7!ege4|?saU#q43}o-e(bEW(~SmJIUMeJ^nu55CnLR--b0dGNNw#Cs3_ GaQzDej6hrf delta 1760 zcmZ`)O=uHQ5Z?Dn>28|Z4T_CT>ZVQTrWQ-oN^7e%wc3WnpB8J0LfRC68ilr^BEcV8 zPe$>ObWp2!=s~0iLc(4|6fJrv;vpA7d&)tudRh;H7s1_qv%BoU5O&^t^S$}r%)D%h zpJ`G1UaV>kbL_KplGzyg{B^d-D}}1>q;3&mHK{G&jqG=iGbF7W_&eSXYKvD#k_&wP8P3q?uWO$hq%GRH;_8`!AoQV z2!gbw9$5q}Cg()x7bN0=NkLNn2+QO|9TEo5U%GrHa2ku?xE91Wpgn%}^z6(Tn-E0Y z+&`K*f5{3fziWHN1JMxUm}khKpKE2fIgDjIoXIPrukI?8o)ywws7NB@Z#65EP4yJ! zGdyG^4|onv(MnKRlLsk{wm{GAS+C^O;{wbND9u5c2$l;Yq5Y7&I)S(#b-E=DJGHH&ZHh!Zqof%bp7Sl;WfoUR3*NxtryRbZJeQ zX?)PE68*q70&DGkkPo@F%d2Nndv#4BDl0t=lrHufn#nyZU$$4%?1Q50 z)-JiuPDYgr)7mWh4B6qmPT4H_i+#E*h{pxNLNwVpe2DplN|bHlV5MKC-GfH0fdRPN zah1*wv9cT9D15sY5Itv5{nxu%SV|C zf5cE(iaS+S(O*AoRFRei!9rkLPn?LlLgX0RH9TS{w1NyLa3 zR(uU}=FN@ZJk4LaJzu8L%?$T4$`&TiniV!4!(3&^$+O$daO}R1n*vH~V%68C|6S;x2=>gBvwDbxG>~Hrp6~=? z$0nK0z~ptAWZ{nXoQIP3%)wXfnODe-hmHE}SDrrDR0a8dxANhUw$PDpPd?TC11Zr@ AUH||9 diff --git a/src/GNDStk/HDF5/test/resources/correct-raw-typed.h5 b/src/GNDStk/HDF5/test/resources/correct-raw-typed.h5 index 8a23696a648a6354d91dd72164a004b9ac25615b..45b8507542fb20241121443d38bfc2c3b7b27e45 100644 GIT binary patch delta 1683 zcmZ`(O>7fK7~L6Tva=14Lq&{3Sra0AaUj?URA~u~(?(8kXqpBR*%nDm3&8<3ag7zN z6k1ZL2e&7i?@(%~5~nKUl+|3)N=SRmsrW|JQ#jSiDcs5pd*>UkjD!#V_Pu@c-u!$! z)t9vTl5XWZrvr-k5T~p7j$(>zzn<&>MU|yqMy2Te&AI- zkYhe_2!3HY@xn8vKRS%VWu3nB-L3q6MQKBxVHJGfOa!s|p7+sr_;<(m<9kh1{(}8Z zX4;XAFXbN;0(qQ*qWFfBwP!j?bU=2n|8$4&qu+ z5CP<4=fs25Wf2$q%GRGy)qSk03q^fva|Y?QHjh(k>Ja{U5sZ&Iz`Qt0JaE2nlJxLI zVT?kwd&M6?d+C})Y<64LDFO$V8EZ1|@8B}cgy8S!1rp}_W+x?~hP&oY8R$>~ZuXvJ zJH28qCVzD?MoAd_UoQLYkRWAP4Y3+-ggx$6HJ5>Vu^%;ejgamMQakFbX`>I)iB+l& z@O?c_X*TMZD;HYL4aDP7Y3?$xIku>k2E>4^OOAPM&@r#pQDT)vJ{2#s{IxzzX=%{O zFg|Y0m_nQzlo>7q2{R79uMEvbtGyv7#}{*Qlq>M-*Q+!$A{Jo}I|0cntpV$ZpAO3a zmjSJkAl~v^msT4QqtsC+AvR`h9;L9CRjDxwd3}`@$9bi1jFPw$vOd}xvVnLf-UxwM zl(8lQ`)59T{6jlA+{o#;Dh5U-8aeD>Qb5D9+9;HQDxI2uN^rhxtDbLe6rXf zM125vQ&&l#Y<2Qv;S)+GA$@lFbkW;7pX4=xP4xFcd9Abm30@rA)0irXQo<`lHq|!b z-I=oWkJG?SyT)RUG`{x@yd2v2`4g8Z-JOOsENX5-Lr55m429^_EZ_X1zI8K>#5I?a z*$~^E6;t^izMlNcPd$eZg4HjLD{4J33i^t18U zrOs^wAs82>OR3?L6uRdquMT@&Xmd`xlK_m&t@yXof|SGd5G!*|pV*U3l?=R@Uw|#I z0hyivHx~}N`th`sE!-Sw(%h`1Fvp@q7ND|rie%ugwGhd{tNOnQ>|uzkL$v;1QuIcpuUzoSw)Mxe03Sc8F$#K0k|Ol4Ut@)WZ{#oZ@7iFUH>E)k1VDlHV^ zNtu>9K~Ltu_l2KHCq+sL zn38T=;wG{r2dvqHQn-!u!f)ZPNgw|&+)7RG<>M*E?H~LT(n$-v(%R*i*!MJlr^PAh zgD0_>K()8|FnfsQKD$-c5nKxN@C@7U7c27cyAdJh`GZL_YrmZ}b4G-Wewf#Ecskb3 zGI6B%50A{G19sBXIYBxVG!U;3G?Ka${C)CArH(fKL2DjpYN)bl&R}d1{ye=z*N6G$ zm|3Muws~Q&*?b%E?j_qiHO^Rrfk1RhQSnxZ>$bNsVteOx+q?Q5*VQ3P)e#6}XWR5< z@3)Ah5!<_(W30h|ZVbWN*@%+5EEdg;+WzIV?Ozy$|IaP4{VO7f!;nhbXV@EU&g1)D z;O=yzKrUtdgJA31gYay;of+doxel+#HCoErxwbRrS#rgy3|mS0Gv|WA_ky_qc=9yV zlL_L78xyT7&LDSVKb=0g{S`@Yprl${U`OY6OYj($>ch=CxAKC=Mg*k@mdr79OK4t4 zJfp@aO=PV~wXNX|?I`7I!Yaal$!df(AiT~^TK5+>CijC~86lEVSS@FDqk1UF!|}_l zP+sH|-2SRW>{`1AF{9{_d< BN3{R| diff --git a/src/GNDStk/HDF5/test/resources/correct-reduced-string.h5 b/src/GNDStk/HDF5/test/resources/correct-reduced-string.h5 index da5378181449da2d24881ece4150b40489fe6d11..d6f9b543540ce09fdd722af365853c169161c8a8 100644 GIT binary patch delta 1164 zcmZ`(OHUI~6rOtrWM*h(3TOui&TS~+Wh;GMa*9WY@QbLRWbBj@pDwl>k$Cfdn~ zh`_w4qo-Cu{E3uxfjyZ%Yppsif+nd*fqjTyJI$!$kzzT6B?v0`6hHDom!hxKbKePWug*M}%HJ1+29D(;JZbCYxbYZ& zg!8A4@%M55G_zJ(8N@d{oE(|WFD#NgZ$S`3ocD5jZRXD0!)Z4l%=vQu_3UiE;Wif{vj;q4XNG5P{C%7#0XD28pO|0K5zi)1~i+3}_Bzu}WY! z&Kz$-!>}710IgM%lV@4Q3{14>u%u@kw*MSsvoK%NFi}H+vv-NHwbVG5SDLjB;@fyblN8czR}h4Z4$aXq z(xN8@f6N)oKbBq+vu>&lm5 zb^$)eE>R6fhIH>oKKw8H{;)q}dL7~L;Tpg&k1~z$!ZfL{Z$_8#syoYE>Y38%v@8f} z7d_WXS#SM1qn#bmPj@uNCz%nx{TJs>$pS`sT#+|iu6JYr9z#vx{VQj=>xY-yQ-w<| zPA5bp{~;`gz~f+(qoj1=3VawCP{w&NEk?&dlh9>!ASxXC&cQN$FTu9a0YyWCF9xCi zg1-hrSPfK!N9$PA7e0x|0}(R~dm#@zH&YaSHJ5QR0GCsaK&`n{6ysGlkI8~S_Trel R6JSl`D&0}9H91wzC!n}=WrHH*aK@${3Sx-qRddY5>oLyX6R;F+T9M_F0)rc2nrsgx#<$xgC?fi?{ z>|)8Se|L7)qzQ(^z1C$?w$NkS73*ThX~>_pT6Wa}PB@w`?m$HLxc0DuW_a|Ct|1Cp zd2-DoNaY@o4kcZtq^P3rgM)Kb?SY-dcz!;tZWcgck|J z;v^C@dFQC74Q{In|MBG-y!MX3Z(kI$4kxLCD~f;AlnQ$p+c2MlypC~m`N$1HOxck) zFm6hRyk5VrJaND=pGMU-xYuFzeB&EoqVIcSFqrg#qNeFYd7xGGC)LWatLkGIl#jTC zK31BYN#kR#ifjW3Up1DsfIo6B4ClMj(Ab}$g?|gKth|^TugwTm_jrdkF}F5+-2W~uo-KI z1LoOfo}B(GMhH~{rFFAP`t+&KJRJC(5KRn2uFDC}85;a+B10zvaCX>~MxP(J<ub-Hp0;_;HNgu;>`}~%qx=a3u;U=IN3@a#8q%eb*&6HbLOJwfMtCH3Mg;& zEjmaFR#X8Cf{666Du}bY7+JHYN3Ra0E_0lL;R3T1C-rU?^Z&_vcHlefnO4q7dCGes zgU*>)QEVbLHBC}X0>|xRcqOxEMlW8!Hc}?+XSh~>c6=gLN-HmS_nM_=Rv=LU)k<=$ zkubVjl;kxqI|&eb086D)SxSp+>-298Iw3m;FgnSA339jigK2?hVdH$ zcU&|Z?p^?MjaBG7Om7(kp+*$qEi@XJWKl66#5_#4x#3&Hg9sc5mMWD%O#tJqW_Vb4 z$@sjH*5sREuQ!48inBV1@usVo%(CNiF8D0QU@mAnR9GG2^#9yF@zS$+q%>7`Vq}Ho z)&Xgq*9{M)0DS&E+OVmeg4ezih)A*paw2ccGxb{@FxJN^3%guli#Nc9`p91h4^QeN zNPvFtO`Iq2&P%)d;k^yS&l??72)E);S23&oMqPx$h5xqjm3yag7d6~Cp^nBYkAdRa z6Uj2g8n4^|JBS)-Ed%CQ0G8TX@mE!AXGv>u6DS9A`tQa$qZyFZ+Ijd8vIt9InqG&Wp-$Le4w@wBb{ dY+~Q>q74>%=!~ECWP}o5>5qpo%7T;__yc^j1mgez delta 1279 zcmZ`&OH30{6rJ}9L9h^^1Xwf?BkXFz zf_l}EU?L=jG$sa{+2BHh3llIbaOEeOxHB;>Fma(Po#}hi2`0?u-gEB%zB{>xX#W9P zYQX!6Vq;8qqJbfw*iK}e;tv6$EJ=CYH{@ET^i&&B5L3Y*S+!7}XZVuF!9OguS$cWoET2#oqI`ZEkx79_ zbxD4aVAU^0@w|iZ>RT{%`Qj@Gi57N`W=Km#R}kZ@0N}hOq!lIqHY}lh!q`Kk)USSA(op4_uR*&m0%y;MK$?Ba?8; z*A830II_UINDW7`F?>_LXy^Q-C?hs2C`6IhBO^zgq7V&HA4_W}UtE_*8pi`p_|Z}7 zN2>08f$?USvTZioNir-$SN9)0ug#nZoQEf;*72e?M<#FyiLev!a7kJ=)vC0VqA1-V zBVU@L9Q{Gmmdcg7h(nh8ZFb91u+?Kg+pyLna5>7SdX)i}D0=>1wp@@H3Vr!vGx&R- z;z#8HLFs)kcoS_)uY)yM&ik?N23wARGyU&jDr^LII0CC~Bh1NC!Mov6ysM3?9K+WL zk2c|Fq#pAzrA_fT3w_c0S}$F^I$VG*OlBTC%MW`)Z XtYVGFEnGQ1AvM - - - + + + - - - - - + + + + + 1.2 1.2 3.45 6.789 @@ -43,8 +43,8 @@ a b c - 1 2 3 4 - 9.87 6.54 3.21 + 1 2 3 4 + 9.87 6.54 3.21 a b c d e f g diff --git a/src/GNDStk/JSON/test/resources/correct-raw-string.json b/src/GNDStk/JSON/test/resources/correct-raw-string.json index 5deadbfb6..49b1eaa3c 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-string.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-string.json @@ -9,30 +9,6 @@ "strings": "cd ef gh ij" }, "bar": null, - "comment": { - "#comment": { - "#metadata": { - "#text": "Comment" - } - } - }, - "comments": { - "#comment0": { - "#metadata": { - "#text": "Comment #0" - } - }, - "#comment1": { - "#metadata": { - "#text": "Comment #1" - } - }, - "#comment2": { - "#metadata": { - "#text": "Comment #2" - } - } - }, "double": { "#metadata": { "remark": "one double" @@ -74,6 +50,30 @@ } } }, + "remark": { + "#comment": { + "#metadata": { + "#text": "Remark" + } + } + }, + "remarks": { + "#comment0": { + "#metadata": { + "#text": "Remark #0" + } + }, + "#comment1": { + "#metadata": { + "#text": "Remark #1" + } + }, + "#comment2": { + "#metadata": { + "#text": "Remark #2" + } + } + }, "string": { "#data": { "#metadata": { @@ -146,17 +146,17 @@ }, "#comment0": { "#metadata": { - "#text": "First comment" + "#text": "First remark" } }, "#comment1": { "#metadata": { - "#text": "Second comment" + "#text": "Second remark" } }, "#comment2": { "#metadata": { - "#text": "Third comment" + "#text": "Third remark" } }, "#data0": { diff --git a/src/GNDStk/JSON/test/resources/correct-raw-typed.json b/src/GNDStk/JSON/test/resources/correct-raw-typed.json index 6130cd4ab..151d321a0 100644 --- a/src/GNDStk/JSON/test/resources/correct-raw-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-raw-typed.json @@ -16,30 +16,6 @@ "strings": "cd ef gh ij" }, "bar": null, - "comment": { - "#comment": { - "#metadata": { - "#text": "Comment" - } - } - }, - "comments": { - "#comment0": { - "#metadata": { - "#text": "Comment #0" - } - }, - "#comment1": { - "#metadata": { - "#text": "Comment #1" - } - }, - "#comment2": { - "#metadata": { - "#text": "Comment #2" - } - } - }, "double": { "#metadata": { "remark": "one double" @@ -93,6 +69,30 @@ } } }, + "remark": { + "#comment": { + "#metadata": { + "#text": "Remark" + } + } + }, + "remarks": { + "#comment0": { + "#metadata": { + "#text": "Remark #0" + } + }, + "#comment1": { + "#metadata": { + "#text": "Remark #1" + } + }, + "#comment2": { + "#metadata": { + "#text": "Remark #2" + } + } + }, "string": { "#data": { "#metadata": { @@ -182,17 +182,17 @@ }, "#comment0": { "#metadata": { - "#text": "First comment" + "#text": "First remark" } }, "#comment1": { "#metadata": { - "#text": "Second comment" + "#text": "Second remark" } }, "#comment2": { "#metadata": { - "#text": "Third comment" + "#text": "Third remark" } }, "#data0": { diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-string.json b/src/GNDStk/JSON/test/resources/correct-reduced-string.json index 8c9e5f38f..bb3597ab8 100644 --- a/src/GNDStk/JSON/test/resources/correct-reduced-string.json +++ b/src/GNDStk/JSON/test/resources/correct-reduced-string.json @@ -9,14 +9,6 @@ "strings": "cd ef gh ij" }, "bar": null, - "comment": { - "#comment": "Comment" - }, - "comments": { - "#comment0": "Comment #0", - "#comment1": "Comment #1", - "#comment2": "Comment #2" - }, "double": [ "1.2" ], @@ -42,6 +34,14 @@ "onecdata": { "#cdata": "Block of CDATA" }, + "remark": { + "#comment": "Remark" + }, + "remarks": { + "#comment0": "Remark #0", + "#comment1": "Remark #1", + "#comment2": "Remark #2" + }, "string": [ "ab" ], @@ -83,9 +83,9 @@ "various": { "#cdata0": "More CDATA", "#cdata1": "Some CDATA", - "#comment0": "First comment", - "#comment1": "Second comment", - "#comment2": "Third comment", + "#comment0": "First remark", + "#comment1": "Second remark", + "#comment2": "Third remark", "#data0": [ "1", "2", diff --git a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json index 2457512c5..386e6f0b5 100644 --- a/src/GNDStk/JSON/test/resources/correct-reduced-typed.json +++ b/src/GNDStk/JSON/test/resources/correct-reduced-typed.json @@ -16,14 +16,6 @@ "strings": "cd ef gh ij" }, "bar": null, - "comment": { - "#comment": "Comment" - }, - "comments": { - "#comment0": "Comment #0", - "#comment1": "Comment #1", - "#comment2": "Comment #2" - }, "double": [ 1.2 ], @@ -49,6 +41,14 @@ "onecdata": { "#cdata": "Block of CDATA" }, + "remark": { + "#comment": "Remark" + }, + "remarks": { + "#comment0": "Remark #0", + "#comment1": "Remark #1", + "#comment2": "Remark #2" + }, "string": [ "ab" ], @@ -90,9 +90,9 @@ "various": { "#cdata0": "More CDATA", "#cdata1": "Some CDATA", - "#comment0": "First comment", - "#comment1": "Second comment", - "#comment2": "Third comment", + "#comment0": "First remark", + "#comment1": "Second remark", + "#comment2": "Third remark", "#data0": [ 1, 2, diff --git a/src/GNDStk/JSON/test/resources/various.xml b/src/GNDStk/JSON/test/resources/various.xml index 239dac3ea..b54accea4 100644 --- a/src/GNDStk/JSON/test/resources/various.xml +++ b/src/GNDStk/JSON/test/resources/various.xml @@ -10,15 +10,15 @@ - - - + + + - - - - - + + + + + 1.2 1.2 3.45 6.789 @@ -43,8 +43,8 @@ a b c - 1 2 3 4 - 9.87 6.54 3.21 + 1 2 3 4 + 9.87 6.54 3.21 a b c d e f g diff --git a/src/GNDStk/Node/src/child.hpp b/src/GNDStk/Node/src/child.hpp index df84cd13f..009d2dc77 100644 --- a/src/GNDStk/Node/src/child.hpp +++ b/src/GNDStk/Node/src/child.hpp @@ -193,7 +193,7 @@ void child( bool &found = detail::default_bool ) const { try { - // Comments as in the meta() analog of this child() function + // Remarks as in the meta() analog of this child() function bool f; // todo Could perhaps make more efficient if (existing.has_value())... TYPE obj; @@ -221,7 +221,7 @@ void child( bool &found = detail::default_bool ) const { try { - // Comments as with those for std::optional above + // Remarks as with those for std::optional above bool f; TYPE obj; child(obj, obj/kwd, f); diff --git a/src/GNDStk/Node/src/meta.hpp b/src/GNDStk/Node/src/meta.hpp index 0d4b3066b..aa3d59db0 100644 --- a/src/GNDStk/Node/src/meta.hpp +++ b/src/GNDStk/Node/src/meta.hpp @@ -139,7 +139,7 @@ void meta( bool &found = detail::default_bool ) const { try { - // Comments as with those for std::optional above + // Remarks as with those for std::optional above bool f; // local "found" TYPE obj; meta(obj, obj/kwd, f); diff --git a/src/GNDStk/XML/src/read.hpp b/src/GNDStk/XML/src/read.hpp index b1dcc6fa8..e233ca919 100644 --- a/src/GNDStk/XML/src/read.hpp +++ b/src/GNDStk/XML/src/read.hpp @@ -17,7 +17,7 @@ std::istream &read(std::istream &is) is, pugi::parse_default | pugi::parse_declaration // preserve material - | pugi::parse_comments // preserve material + | pugi::parse_comments // preserve material ); // check for errors @@ -37,7 +37,7 @@ std::istream &read(std::istream &is) ); } else { // !is - // given the earlier comment about pugixml and !is, it may + // given the earlier remark about pugixml and !is, it may // not be possible to get here, but we'll cover it... log::error( "pugi::xml_document.load(istream,...) returned with !istream" diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index eb8e38dda..adca7123a 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -81,7 +81,7 @@ HighFive::DataSet data2DataSet( // ----------------------------------------------------------------------------- // meta2hdf5* -// See comments in the JSON analogs of these functions. +// See remarks in the JSON analogs of these functions. // ----------------------------------------------------------------------------- // ------------------------ diff --git a/src/GNDStk/convert/src/detail-xml2node.hpp b/src/GNDStk/convert/src/detail-xml2node.hpp index 2debe1f49..a65e8f2f9 100644 --- a/src/GNDStk/convert/src/detail-xml2node.hpp +++ b/src/GNDStk/convert/src/detail-xml2node.hpp @@ -103,7 +103,7 @@ bool xml2node(const pugi::xml_node &xnode, NODE &node) // reads an XML, makes modest modifications or additions to data here and // there, and then writes an XML back out. GNDS has no ordering, so doing // this isn't necessary. It is, however, easy to handle, and users may - // appreciate that GNDStk doesn't toss comments, or mess with the ordering + // appreciate that GNDStk doesn't remove comments, or change the ordering // of cdata, data, or comment nodes, either individually or together. if (xsub.type() == pugi::node_cdata) { diff --git a/src/GNDStk/type2node.hpp b/src/GNDStk/type2node.hpp index 4fe0bedef..cca58db71 100644 --- a/src/GNDStk/type2node.hpp +++ b/src/GNDStk/type2node.hpp @@ -10,7 +10,7 @@ The description of those, seen in reverse, applies here. In short, these functions are for taking various types, perhaps user-defined, and converting them into a Node that's destined to be added as a child node. -At the moment, this file is empty except for comments. We're intentionally +At the moment, this file is empty except for remarks. We're intentionally leaving it here, as a placeholder, in case we decide that we *should* have some default type-to-Node convert() functions. */ diff --git a/standards/gnds-2.0/summary_basic.json b/standards/gnds-2.0/summary_basic.json index 2ba123b97..e1882563d 100644 --- a/standards/gnds-2.0/summary_basic.json +++ b/standards/gnds-2.0/summary_basic.json @@ -164,7 +164,7 @@ "description": "This represents the allowed set and sequence of characters that represent the Boolean \\attrval{true} and \\attrval{false} values in general-purpose data containers.", "name": "Boolean", "allowedValueDescription": "The allowed strings are `true' and `false'. For a table cell, the allowed values are `\\texttt{}' and `\\texttt{}'.", - "comment": "the standard XML attribute value representation for Boolean values true and false are `true' and `false' respectively.", + "remark": "the standard XML attribute value representation for Boolean values true and false are `true' and `false' respectively.", "C_equivalent": "bool"}, "whiteSpace": { @@ -273,7 +273,7 @@ "description": "Floating point number that can be stored at reduced precision", "name": "Float32", "allowedValueDescription": "n/a", - "comment": "Since only ASCII representation of data types is being considered here, and since Float32 is a subset of Float64, this is probably not needed.", + "remark": "Since only ASCII representation of data types is being considered here, and since Float32 is a subset of Float64, this is probably not needed.", "implementationStatus": "Not implemented as of GNDS-1.9"}, "Integer64": { @@ -290,7 +290,7 @@ "\\noindent with the restriction that the value shall be in the range ", "[\\textbf{Integer64\\_Min}, \\textbf{Integer64\\_Max}]."], "C_equivalent": "int64\\_t", - "comment": "Currently not needed so not defined.", + "remark": "Currently not needed so not defined.", "implementationStatus": "Not implemented as of GNDS-1.9"}, "Hexadecimal": { @@ -298,7 +298,7 @@ "description": "Typical hexadecimal number", "name": "Hexadecimal", "allowedValueDescription": "n/a", - "comment": "Currently not needed so not defined.", + "remark": "Currently not needed so not defined.", "implementationStatus": "Not implemented as of GNDS-1.9"}, "Octal": { @@ -306,6 +306,6 @@ "description": "Typical octal number", "name": "Octal", "allowedValueDescription": "n/a", - "comment": "Currently not needed so not defined.", + "remark": "Currently not needed so not defined.", "implementationStatus": "Not implemented as of GNDS-1.9"} } From 53b7a5fc3ef0424e8cad7c6cf4050d6f863cc244 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 9 Dec 2022 15:18:42 -0700 Subject: [PATCH 227/235] Some more small changes to improve the "special node" system. This is all in preparation for adding some things we'll be needing for GNDS 2.0, in particular regarding CDATA and plain-character data nodes. --- src/GNDStk/Node/src/special.hpp | 2 +- src/GNDStk/Node/test/child.test.cpp | 2 +- src/GNDStk/Node/test/special.test.cpp | 4 +- src/GNDStk/convert/src/detail-hdf52node.hpp | 14 ++-- src/GNDStk/convert/src/detail-node2hdf5.hpp | 52 +++++++------- src/GNDStk/convert/src/detail-node2json.hpp | 76 ++++++++++----------- src/GNDStk/test/keys.hpp | 12 ++-- 7 files changed, 79 insertions(+), 83 deletions(-) diff --git a/src/GNDStk/Node/src/special.hpp b/src/GNDStk/Node/src/special.hpp index 1715a6025..0f9f9dc1c 100644 --- a/src/GNDStk/Node/src/special.hpp +++ b/src/GNDStk/Node/src/special.hpp @@ -3,7 +3,7 @@ // documentation // doc (short version, for user ease) // -// Look around for the CDATA content that appears in places like this: +// Look around for CDATA content that may appear in places like this: // // // diff --git a/src/GNDStk/Node/test/child.test.cpp b/src/GNDStk/Node/test/child.test.cpp index 9ad350ba6..15e9140b9 100644 --- a/src/GNDStk/Node/test/child.test.cpp +++ b/src/GNDStk/Node/test/child.test.cpp @@ -195,7 +195,7 @@ SCENARIO("Testing GNDStk Node child()") { basic::child::reactionSuite, basic::child::documentations, basic::child::documentation, - misc::child::cdata + misc::child::CDATA ); CHECK(0 == strncmp(descr.data(), "\n 8-O - 16 LANL", 16)); } diff --git a/src/GNDStk/Node/test/special.test.cpp b/src/GNDStk/Node/test/special.test.cpp index f8eb81e8c..4e7abbf05 100644 --- a/src/GNDStk/Node/test/special.test.cpp +++ b/src/GNDStk/Node/test/special.test.cpp @@ -18,7 +18,7 @@ SCENARIO("Testing certain special functions in GNDStk Node") { documentations, documentation, CDATA, - text + TEXT ); CHECK(thedocs.size() == 46742); @@ -102,7 +102,7 @@ SCENARIO("Testing certain special functions in GNDStk Node") { ).one("values"); const auto &constvalnode = valnode; - const std::string vals = valnode(DATA,text); + const std::string vals = valnode(DATA,TEXT); CHECK(vals.size() == 70254); CHECK(valnode.data() == vals); diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index 064d2524f..4fb98fbbc 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -203,23 +203,23 @@ bool hdf52node( if (!atRoot) { for (const std::string &attrName : group.listAttributeNames()) { if (attrName == special::nodename) { - // NODENAME + // #nodename // Handled not as a regular attribute, but as the present node's // true name. The following line is basically a compressed version // of attr2node (see early in this file). It assumes, - // in short, that this NODENAME attribute is one (not a vector of) + // in short, that this #nodename attribute is one (not a vector of) // T == std::string. And that's precisely what it should be, given - // how GNDStk creates NODENAME attributes in the first place. + // how GNDStk creates #nodename attributes in the first place. group.getAttribute(attrName).read(node.name); } else if (beginsin(attrName,special::cdata)) { - // CDATA, possibly with a numeric suffix - // Expand into a child node CDATA with a TEXT attribute. + // #cdata, possibly with a numeric suffix + // Expand into a child node #cdata with a #text attribute. std::string value; group.getAttribute(attrName).read(value); node.add(special::cdata).add(special::text,value); } else if (beginsin(attrName,special::comment)) { - // COMMENT, possibly with a numeric suffix - // Expand into a child node COMMENT with a TEXT attribute. + // #comment, possibly with a numeric suffix + // Expand into a child node #comment with a #text attribute. std::string value; group.getAttribute(attrName).read(value); node.add(special::comment).add(special::text,value); diff --git a/src/GNDStk/convert/src/detail-node2hdf5.hpp b/src/GNDStk/convert/src/detail-node2hdf5.hpp index adca7123a..e9b7456bc 100644 --- a/src/GNDStk/convert/src/detail-node2hdf5.hpp +++ b/src/GNDStk/convert/src/detail-node2hdf5.hpp @@ -101,15 +101,15 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) // Special cases // ------------------------ - // *** CDATA/TEXT - // *** COMMENT/TEXT + // *** #cdata/#text + // *** #comment/#text if ((parent == special::cdata || parent == special::comment) && key == special::text) { hdf5.createAttribute(key,value); // just a simple string attribute continue; } - // *** DATA/TEXT + // *** #data/#text if (parent == special::data && key == special::text) { const std::string type = guessType(value); if (type == "int" || type == "ints") @@ -127,7 +127,7 @@ void meta2hdf5_typed(const NODE &node, OBJECT &hdf5) continue; } - // *** key/TEXT not expected, except as already handled + // *** key/#text not expected, except as already handled if (key == special::text) { log::warning("Metadatum \"{}\" not expected here; writing anyway", special::text); @@ -178,7 +178,7 @@ void meta2hdf5( const std::string &base, const std::string &digits ) { - // Create NODENAME iff necessary. See remarks in the analogous JSON code. + // Create #nodename iff necessary. See remarks in the analogous JSON code. if (digits != "" && !beginsin(base,std::string(1,special::prefix))) hdf5.createAttribute(special::nodename, node.name); @@ -198,7 +198,7 @@ void meta2hdf5( // hdf5_reduce_cdata_comment // ------------------------ -// Simplify certain CDATA and COMMENT cases. +// Simplify certain #cdata and #comment cases. template bool hdf5_reduce_cdata_comment( const NODE &node, OBJECT &hdf5, const std::string &suffix @@ -206,15 +206,15 @@ bool hdf5_reduce_cdata_comment( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + suffix; - // CDATA or COMMENT - // TEXT the only metadatum + // #cdata or #comment + // #text the only metadatum // no children - // Reduce to: string attribute, w/name == (CDATA or COMMENT) + suffix + // Reduce to: string attribute, w/name == (#cdata or #comment) + suffix // Sketch: - // +---------------+ +-----------+ - // | CDATA/COMMENT | ==> | Attribute | name: CDATA/COMMENT + suffix - // | TEXT | | value | - // +---------------+ +-----------+ + // +-----------------+ +-----------+ + // | #cdata/#comment | ==> | Attribute | name: #cdata/#comment + suffix + // | #text | | value | + // +-----------------+ +-----------+ if ( (nameOriginal == special::cdata || nameOriginal == special::comment) && @@ -235,7 +235,7 @@ bool hdf5_reduce_cdata_comment( // hdf5_reduce_data // ------------------------ -// Simplify DATA case. +// Simplify #data case. template bool hdf5_reduce_data( const NODE &node, OBJECT &hdf5, const std::string &suffix @@ -243,15 +243,15 @@ bool hdf5_reduce_data( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + suffix; - // DATA - // TEXT the only metadatum + // #data + // #text the only metadatum // no children - // Reduce to: data set, w/name == DATA + suffix + // Reduce to: data set, w/name == #data + suffix // Sketch: - // +---------+ +---------+ - // | DATA | ==> | DataSet | name: DATA + suffix - // | TEXT | | data | - // +---------+ +---------+ + // +----------+ +---------+ + // | #data | ==> | DataSet | name: #data + suffix + // | #text | | data | + // +----------+ +---------+ if (nameOriginal == special::data && node.children.size() == 0 && @@ -274,23 +274,23 @@ bool hdf5_reduce_data( // hdf5_reduce_data_metadata // ------------------------ -// Simplify case of node with DATA AND metadata +// Simplify case of node with #data AND metadata template bool hdf5_reduce_data_metadata( const NODE &node, OBJECT &hdf5, const std::string &suffix ) { // name (think e.g. "values", as in XML ) // any number of metadata (possibly 0) - // DATA the only child - // TEXT the only metadatum + // #data the only child + // #text the only metadatum // no children // Reduce to: data set, w/name == name + suffix // Sketch: // +---------------+ +----------------+ // | name | ==> | DataSet | name: name + suffix // | [metadata] | | [Attributes] | - // | DATA | | data | - // | TEXT | +----------------+ + // | #data | | data | + // | #text | +----------------+ // | - | // +---------------+ diff --git a/src/GNDStk/convert/src/detail-node2json.hpp b/src/GNDStk/convert/src/detail-node2json.hpp index f61a86a8f..21ff8bea4 100644 --- a/src/GNDStk/convert/src/detail-node2json.hpp +++ b/src/GNDStk/convert/src/detail-node2json.hpp @@ -121,8 +121,8 @@ void meta2json_typed(const NODE &node, orderedJSON &json) // Special cases // ------------------------ - // *** CDATA/TEXT - // *** COMMENT/TEXT + // *** #cdata/#text + // *** #comment/#text // ACTION: Write these as-is. That is, do NOT apply our type-guessing code // to a comment, or to the contents of a block like those // that we see in existing XML-format GNDS files. The type guesser would @@ -134,14 +134,14 @@ void meta2json_typed(const NODE &node, orderedJSON &json) continue; } - // *** DATA/TEXT + // *** #data/#text // ACTION: Apply our type-guessing code, but write *vectors* only, never // scalars. So, 10 produces a vector with one element, // NOT a scalar; while 10 20 30 produces a vector with // three elements. What may look like scalars are made into vectors - // because we think this reflects what these (DATA) nodes are intended + // because we think this reflects what these data nodes are intended // to represent. (If something was really just a scalar, then surely it - // would be placed into standard metadata (in <...>), not into DATA. + // would be placed into standard metadata (in <...>), not into data. if (parent == special::data && key == special::text) { const std::string type = guessType(value); if (type == "int" || type == "ints") @@ -159,7 +159,7 @@ void meta2json_typed(const NODE &node, orderedJSON &json) continue; } - // *** key/TEXT not expected, except as already handled + // *** key/#text not expected, except as already handled if (key == special::text) { log::warning("Metadatum \"{}\" not expected here; writing anyway", special::text); @@ -198,7 +198,7 @@ void meta2json_typed(const NODE &node, orderedJSON &json) // ------------------------ // Write simple JSON in which all metadata, as well as the contents -// of CDATA and DATA nodes) end up being strings. Not even vectors +// of #cdata and #data nodes) end up being strings. Not even vectors // of strings, as from H He Li ..., but single strings. template void meta2json_plain(const NODE &node, orderedJSON &json) @@ -219,9 +219,9 @@ void meta2json( const std::string &digits, const std::string &prefix ) { - // Create NODENAME iff necessary, to allow recovery of the node's original - // name. Note that NODENAME is not necessary for special nodes, in particular - // CDATA, DATA, and COMMENT. For those, we can reliably reconstruct the + // Create #nodename iff necessary, to allow recovery of the node's original + // name. Note that #nodename isn't necessary for special nodes, in particular + // #cdata, #data, and #comment. For those, we can reliably reconstruct the // original name by removing trailing digits. A regular node, in contrast, // *might* have an actual name that has trailing digits (one user called a // node "sigma0", for example); or, trailing digits might have been added - @@ -254,7 +254,7 @@ void meta2json( // json_reduce_cdata_comment // ------------------------ -// Simplify certain CDATA and COMMENT cases. +// Simplify certain #cdata and #comment cases. template bool json_reduce_cdata_comment( const NODE &node, orderedJSON &json, const std::string &digits @@ -267,15 +267,15 @@ bool json_reduce_cdata_comment( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + digits; - // CDATA or COMMENT - // TEXT the only metadatum + // #cdata or #comment + // #text the only metadatum // no children - // Reduce to: string value, w/name == (CDATA or COMMENT) + digits + // Reduce to: string value, w/name == (#cdata or #comment) + digits // Sketch: - // +---------------+ +------------+ - // | CDATA/COMMENT | ==> | "name" : | name: CDATA/COMMENT + digits - // | TEXT | | "value" | - // +---------------+ +------------+ + // +-----------------+ +------------+ + // | #cdata/#comment | ==> | "name" : | name: #cdata/#comment + digits + // | #text | | "value" | + // +-----------------+ +------------+ if ( (nameOriginal == special::cdata || nameOriginal == special::comment) && @@ -296,7 +296,7 @@ bool json_reduce_cdata_comment( // json_reduce_data // ------------------------ -// Simplify DATA case. +// Simplify #data case. template bool json_reduce_data( const NODE &node, orderedJSON &json, const std::string &digits @@ -304,35 +304,35 @@ bool json_reduce_data( const std::string nameOriginal = node.name; const std::string nameSuffixed = node.name + digits; - // DATA - // TEXT the only metadatum + // #data + // #text the only metadatum // no children - // Reduce to: array, w/name == DATA + digits + // Reduce to: array, w/name == #data + digits // Sketch: - // +---------+ +----------+ - // | DATA | ==> | "name" : | name: DATA + digits - // | TEXT | | [...] | - // +---------+ +----------+ + // +----------+ +----------+ + // | #data | ==> | "name" : | name: #data + digits + // | #text | | [...] | + // +----------+ +----------+ if (nameOriginal == special::data && node.children.size() == 0 && node.metadata.size() == 1 && node.metadata[0].first == special::text ) { - // Remark. This case (basically, DATA/TEXT) may look superficially + // Remark. This case (basically, #data/#text) may look superficially // like it would have been handled, in the case immediately below here, // in the previous (next-up) recurse of the node2json() function. Often - // it would have, but not always. Later, name/DATA/TEXT (three + // it would have, but not always. Later, name/#data/#text (three // levels, so to speak) reduces to one level (name : [...]), but - // only if name has ONE child - the DATA. That's true when we + // only if name has ONE child - the #data. That's true when we // have (in XML) something like 1 2 3, as the data, // i.e. the 1 2 3 part, is ' only child node. However, it's // actually possible (though I don't see it in current GNDS files) to // have something like: 1 2 3. There, the - // outer "name" node () has child foo and child DATA, and - // thus can't be reduced in the manner that's done if only DATA is + // outer "name" node () has child foo and child #data, and + // thus can't be reduced in the manner that's done if only #data is // there. In short, then, the present situation comes to pass if and - // when DATA has sibling nodes. + // when #data has sibling nodes. // JSON array data2Value(nameSuffixed, node.metadata[0].second, json); @@ -347,7 +347,7 @@ bool json_reduce_data( // json_reduce_data_metadata // ------------------------ -// Simplify case of node with DATA AND metadata +// Simplify case of node with data AND metadata template bool json_reduce_data_metadata( const NODE &node, orderedJSON &json, const std::string &digits @@ -356,16 +356,16 @@ bool json_reduce_data_metadata( // name (think e.g. "values", as in XML ) // any number of metadata (possibly 0) - // DATA the only child - // TEXT the only metadatum + // #data the only child + // #text the only metadatum // no children // Reduce to: array, w/name == name + digits; separately encoded metadata // Sketch: // +---------------+ +---------------------+ // | name | ==> | "name" : | name: name + digits // | [metadata] | | [...] | - // | DATA | | "nameMETADATA" : { | - // | TEXT | | key/value pairs | + // | #data | | "name#metadata" : { | + // | #text | | key/value pairs | // | - | | } | // +---------------+ +---------------------+ // Remark. We're not super psyched about the "name#metadata" construction. @@ -383,7 +383,7 @@ bool json_reduce_data_metadata( // Hence, our choice above. An important thing is that the above system // is reversible - a file, thus written, can be read back in, recovering // our original internal data structure unambiguously. Also, the two JSON - // constructs, "name" and "nameMETADATA", will appear next to each other, + // constructs, "name" and "name#metadata", will appear next to each other, // allowing someone who looks at the file to see what's going on. if (node.children.size() == 1 && diff --git a/src/GNDStk/test/keys.hpp b/src/GNDStk/test/keys.hpp index dcc6c318d..8d040861c 100644 --- a/src/GNDStk/test/keys.hpp +++ b/src/GNDStk/test/keys.hpp @@ -19,7 +19,7 @@ namespace meta { label ("label" ), projectile("projectile"), symbol ("symbol" ), - text (njoy::GNDStk::special::text), + TEXT (njoy::GNDStk::special::text), unit ("unit" ), value ("value" ), version ("version" ); @@ -94,7 +94,7 @@ using namespace child; // GNDS tree, while others stipulate specific types. // ----------------------------------------------------------------------------- -// Helper for cdata Child object below +// Helper for the CDATA Child object below namespace njoy { namespace GNDStk { namespace detail { @@ -171,17 +171,13 @@ namespace child { GNDSTK_MAKE_CHILD(void, evaluated, many); GNDSTK_MAKE_CHILD(void, XYs1d, many); - // cdata - // This is where XML (comment) material resides. It's reasonable - // to extract such content into std::strings. We then store these in nodes - // of name CDATA, each with one metadatum having a key of TEXT and a value - // containing the original content. + // CDATA inline const njoy::GNDStk::Child< std::string, njoy::GNDStk::Allow::one, njoy::GNDStk::detail::text_metadatum_to_string > - cdata(njoy::GNDStk::special::cdata); + CDATA(njoy::GNDStk::special::cdata); } // namespace child using namespace meta; From 29e88af6cab8d3f948cece51989b1e389b36999c Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 9 Dec 2022 15:56:30 -0700 Subject: [PATCH 228/235] In .json specs, use "vector":"type" in place of "data":"type". This is part of a series of updates to help us enable proper GNDS 2.0 handling. Besides, "vector" is really a better name, given what we're trying to accomplish. We may eventually support other container types than vector, in which case the specific name "vector", not "data", makes more sense. --- autogen/json2class.cpp | 4 ++-- autogen/simple/multi-classes.json | 2 +- src/GNDStk/precision/test/precision-test-classes.json | 6 +++--- standards/incremental/incremental-classes.json | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index ef9cb4e72..9b7796a9d 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1587,7 +1587,7 @@ void printSingletons(const std::string &file) const auto metadata = getMetadataJSON(rhs); const auto children = getChildrenJSON(rhs); - const bool data = rhs.contains("data") && !rhs["data"].is_null(); + const bool data = rhs.contains("vector") && !rhs["vector"].is_null(); const bool body = rhs.contains("bodyText") && !rhs["bodyText"].is_null(); if (metadata.size() == 0 && children.size() == 0 && !data && !body) @@ -1871,7 +1871,7 @@ void getClass( getClassVariants(elems, specs, per, dep); // data-node information - static const std::string datastr = "data"; + static const std::string datastr = "vector"; static const std::string bodystr = "bodyText"; const bool data = classRHS.contains(datastr) && !classRHS[datastr].is_null(); const bool body = classRHS.contains(bodystr) && !classRHS[bodystr].is_null(); diff --git a/autogen/simple/multi-classes.json b/autogen/simple/multi-classes.json index eeabd8395..f528ed38b 100644 --- a/autogen/simple/multi-classes.json +++ b/autogen/simple/multi-classes.json @@ -74,6 +74,6 @@ } }, "children": { }, - "data": "double" + "vector": "double" } } diff --git a/src/GNDStk/precision/test/precision-test-classes.json b/src/GNDStk/precision/test/precision-test-classes.json index 81d1835e6..84c22938a 100644 --- a/src/GNDStk/precision/test/precision-test-classes.json +++ b/src/GNDStk/precision/test/precision-test-classes.json @@ -18,7 +18,7 @@ "required": false } }, - "data": "float", + "vector": "float", "childNodes": {} }, @@ -39,7 +39,7 @@ "required": false } }, - "data": "double", + "vector": "double", "childNodes": {} }, @@ -60,7 +60,7 @@ "required": false } }, - "data": "long double", + "vector": "long double", "childNodes": {} }, diff --git a/standards/incremental/incremental-classes.json b/standards/incremental/incremental-classes.json index 2b0844fa7..7eaae5a69 100644 --- a/standards/incremental/incremental-classes.json +++ b/standards/incremental/incremental-classes.json @@ -137,19 +137,19 @@ "title": { "metadata": {}, - "data": "", + "vector": "", "children": {} }, "body": { "metadata": {}, - "data": "", + "vector": "", "children": {} }, "endfCompatible": { "metadata": {}, - "data": "", + "vector": "", "children": {} }, From 808b844c4f1e04b229947868bce175a3957c389b Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 13 Dec 2022 14:48:42 -0700 Subject: [PATCH 229/235] Autogenerate customization files for the C interface. --- autogen/json2class.cpp | 87 ++++++++++++++++++++++++++++++------------ 1 file changed, 63 insertions(+), 24 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 9b7796a9d..5ce9782ef 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1702,47 +1702,77 @@ void preprocessClass( specs.class2nspace.insert(std::make_pair(clname,nsname)); // ------------------------ - // Create directories and - // custom files as needed + // Create directories // ------------------------ // For the present namespace: C++, Python, and C directories. The present // namespace probably contains multiple classes, so these directories may // have been created already, but that's fine. - const std::string nsdir = specs.Path + "/" + specs.Project + + const std::string nsdircpp = specs.Path + "/" + specs.Project + "/src/" + specs.Project + "/" + specs.Version + "/" + nsname; - const std::string nsdirpy = specs.Path + "/" + specs.Project + + const std::string nsdirpy = specs.Path + "/" + specs.Project + "/python/src/" + specs.Version + "/" + nsname; - const std::string nsdirc = specs.Path + "/" + specs.Project + + const std::string nsdirc = specs.Path + "/" + specs.Project + "/c/src/" + specs.Version + "/" + nsname; - // For the present class: C++ source and test directories. - const std::string clsrc = nsdir + "/" + clname + "/src"; - const std::string cltest = nsdir + "/" + clname + "/test"; + // For the present class: C++ and C source and test directories. + const std::string clsrccpp = nsdircpp + "/" + clname + "/src"; + const std::string cltestcpp = nsdircpp + "/" + clname + "/test"; + const std::string clsrcc = nsdirc + "/" + clname + "/src"; + const std::string cltestc = nsdirc + "/" + clname + "/test"; // Create the above directories, if (and only if) they don't already exist. - system(("mkdir -p " + nsdir ).data()); - system(("mkdir -p " + nsdirpy).data()); - system(("mkdir -p " + nsdirc ).data()); - system(("mkdir -p " + clsrc ).data()); - system(("mkdir -p " + cltest ).data()); + system(("mkdir -p " + nsdircpp ).data()); + system(("mkdir -p " + nsdirpy ).data()); + system(("mkdir -p " + nsdirc ).data()); + system(("mkdir -p " + clsrccpp ).data()); + system(("mkdir -p " + cltestcpp).data()); + system(("mkdir -p " + clsrcc ).data()); + system(("mkdir -p " + cltestc ).data()); + + // ------------------------ + // Create custom files + // ------------------------ // To allow for customization of the present class in the present namespace, // create a custom.hpp file in the C++ source directory for the class. But // do so only if the customization file isn't already there, or else we might // be trashing someone's customization! - const std::string custom = clsrc + "/custom.hpp"; - if (!std::ifstream(custom)) { - std::cout << " No customization file " << custom << "\n"; + + // C++ custom.hpp + const std::string customhpp = clsrccpp + "/custom.hpp"; + if (!std::ifstream(customhpp)) { + std::cout << " No customization file " << customhpp << "\n"; std::cout << " ...so, creating a basic one" << std::endl; - writer out(custom,false); // false: no "file was autogenerated" message + writer out(customhpp,false); // false: no "file was autogenerated" message out(); out(0,"private:"); out(); out(1,"static inline helpMap help = {};"); } + // As above, but for the C interface: create custom.h and custom.cpp if and + // where they don't already exist. + + // C custom.h + const std::string customh = clsrcc + "/custom.h"; + if (!std::ifstream(customh)) { + std::cout << " No customization file " << customh << "\n"; + std::cout << " ...so, creating a basic one" << std::endl; + writer out(customh,false); + } + + // C custom.cpp + // Meaning, C++ source for the C interface to call. (That is, this isn't for + // C++ itself; remember that our C++ library is header-only.) + const std::string customcpp = clsrcc + "/custom.cpp"; + if (!std::ifstream(customcpp)) { + std::cout << " No customization file " << customcpp << "\n"; + std::cout << " ...so, creating a basic one" << std::endl; + writer out(customcpp,false); + } + // ------------------------ // Create file-name maps // ------------------------ @@ -1760,10 +1790,10 @@ void preprocessClass( auto cl = specs.class2data.insert( std::make_pair(NamespaceAndClass{nsname,clname}, PerClass{})); assert(cl.second); // should have been inserted - not there already - cl.first->second.cppPython = nsdirpy + "/" + clname + ".python.cpp"; - cl.first->second.hppGNDStk = nsdir + "/" + clname + ".hpp"; - cl.first->second.headerC = nsdirc + "/" + clname + ".h"; - cl.first->second.sourceC = nsdirc + "/" + clname + ".cpp"; + cl.first->second.cppPython = nsdirpy + "/" + clname + ".python.cpp"; + cl.first->second.hppGNDStk = nsdircpp + "/" + clname + ".hpp"; + cl.first->second.headerC = nsdirc + "/" + clname + ".h"; + cl.first->second.sourceC = nsdirc + "/" + clname + ".cpp"; } // preprocessClass @@ -3132,14 +3162,23 @@ void fileCInterface( writer src(per.sourceC); fileCInterfaceSource(src, specs, per, c2d); - // common or partially common to both header and source + // common, or partially common, to both header and source fileCInterfaceCommon(hdr,src, specs, per, c2d); - // header: ending - section(hdr, "// Done"); + // header: customization #include, then done + section(hdr, "// Custom functionality"); + hdr(); + hdr("#include \"@/@/@/src/custom.h\"", + specs.Version, per.nsname, per.clname); hdr(); hdr("#undef extern_c"); hdr("#endif"); + + // source: customization #include, then done + section(src, "// Custom functionality"); + src(); + src("#include \"@/@/@/src/custom.cpp\"", + specs.Version, per.nsname, per.clname); } // fileCInterface From 5ee6831b0a040db0de002625e56cfc43068b92f9 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 14 Dec 2022 16:42:06 -0700 Subject: [PATCH 230/235] Improved the exposition of some XML-, JSON-, and HDF5-related files. This is in preparation for some things I'll be doing for GNDS 2.0. Fixed an informational message in one of the test codes. Added a "generic special node", for certain upcoming purposes. Removed dumb sounding aliases for "/" nodes. Factored some conversion-related stuff into detail functions. --- src/GNDStk/BlockData/test/detail.test.cpp | 2 +- src/GNDStk/Node.hpp | 7 +- src/GNDStk/Node/src/detail.hpp | 2 +- src/GNDStk/Node/src/special.hpp | 2 +- src/GNDStk/Tree/src/ctor.hpp | 22 +-- src/GNDStk/convert/src/HDF5.hpp | 147 +++++++++----------- src/GNDStk/convert/src/JSON.hpp | 136 ++++++++---------- src/GNDStk/convert/src/Node.hpp | 10 +- src/GNDStk/convert/src/XML.hpp | 142 +++++++++---------- src/GNDStk/convert/src/detail-hdf52node.hpp | 5 +- src/GNDStk/convert/src/detail-node2xml.hpp | 3 +- src/GNDStk/convert/src/detail.hpp | 20 +++ src/GNDStk/utility.hpp | 1 + 13 files changed, 226 insertions(+), 273 deletions(-) diff --git a/src/GNDStk/BlockData/test/detail.test.cpp b/src/GNDStk/BlockData/test/detail.test.cpp index 1500ff506..c1df565b6 100644 --- a/src/GNDStk/BlockData/test/detail.test.cpp +++ b/src/GNDStk/BlockData/test/detail.test.cpp @@ -231,7 +231,7 @@ SCENARIO("Testing various BlockData-related detail:: constructs") { WHEN("We try vectors of varying sizes") { - THEN("Bounds are correct when size == \"\"") { + THEN("Bounds are correct when size == 0") { std::vector v = {}; const auto bounds = detail::getBounds(v); CHECK(bounds.first == 0); diff --git a/src/GNDStk/Node.hpp b/src/GNDStk/Node.hpp index 35f263c6b..1898beeed 100644 --- a/src/GNDStk/Node.hpp +++ b/src/GNDStk/Node.hpp @@ -2,9 +2,6 @@ // Name for newly-created nodes inline const std::string emptyNodeName = ""; -// Name for root nodes of trees -inline const std::string slashTreeName = "/"; - #include "GNDStk/Node/src/detail.hpp" std::ostream &operator<<(std::ostream &os, const Node &node); @@ -44,7 +41,7 @@ class Node { // clear Node &clear() { - if (name != slashTreeName) // else Tree; leave alone + if (name != "/") // else Tree; leave alone name = emptyNodeName; metadata.clear(); children.clear(); @@ -55,7 +52,7 @@ class Node { bool empty() const { return - (name == emptyNodeName || name == slashTreeName) && + (name == emptyNodeName || name == "/") && metadata.size() == 0 && children.size() == 0; } diff --git a/src/GNDStk/Node/src/detail.hpp b/src/GNDStk/Node/src/detail.hpp index ba5527dbf..bf4e98f26 100644 --- a/src/GNDStk/Node/src/detail.hpp +++ b/src/GNDStk/Node/src/detail.hpp @@ -720,7 +720,7 @@ inline const std::string error_format_read = template bool getDecl(const NODE &node, const bool &decl) { - return sent(decl) ? decl : node.name == slashTreeName; + return sent(decl) ? decl : node.name == "/"; } diff --git a/src/GNDStk/Node/src/special.hpp b/src/GNDStk/Node/src/special.hpp index 0f9f9dc1c..9c88212bc 100644 --- a/src/GNDStk/Node/src/special.hpp +++ b/src/GNDStk/Node/src/special.hpp @@ -60,7 +60,7 @@ const std::string &documentation(bool &found = detail::default_bool) const // If we're in what looks like the root node of a tree, then look in all // of the top-level nodes. In a properly formatted GNDS file, there will // be just one such top-level node, e.g. reactionSuite. - if (name == slashTreeName) + if (name == "/") for (auto &ptr : children) if (look(*ptr,s)) return found = true, *s; diff --git a/src/GNDStk/Tree/src/ctor.hpp b/src/GNDStk/Tree/src/ctor.hpp index 1ca29db3a..f3048543c 100644 --- a/src/GNDStk/Tree/src/ctor.hpp +++ b/src/GNDStk/Tree/src/ctor.hpp @@ -4,7 +4,7 @@ // ----------------------------------------------------------------------------- // default -Tree() : Node(slashTreeName) +Tree() : Node("/") { } @@ -12,7 +12,7 @@ Tree() : Node(slashTreeName) Tree(Tree &&) = default; // copy -Tree(const Tree &other) : Node(slashTreeName) +Tree(const Tree &other) : Node("/") { try { if (!convert(other,*this)) @@ -30,7 +30,7 @@ Tree(const Tree &other) : Node(slashTreeName) // ----------------------------------------------------------------------------- // XML -explicit Tree(const XML &x) : Node(slashTreeName) +explicit Tree(const XML &x) : Node("/") { try { if (!convert(x,*this)) @@ -42,7 +42,7 @@ explicit Tree(const XML &x) : Node(slashTreeName) } // JSON -explicit Tree(const JSON &j) : Node(slashTreeName) +explicit Tree(const JSON &j) : Node("/") { try { if (!convert(j,*this)) @@ -54,7 +54,7 @@ explicit Tree(const JSON &j) : Node(slashTreeName) } // HDF5 -explicit Tree(const HDF5 &h) : Node(slashTreeName) +explicit Tree(const HDF5 &h) : Node("/") { try { if (!convert(h,*this)) @@ -79,7 +79,7 @@ explicit Tree( const std::string &filename, const FileType format = FileType::guess ) - : Node(slashTreeName) + : Node("/") { try { if (!read(filename,format)) @@ -95,7 +95,7 @@ explicit Tree( // Example: // Tree t("n-008_O_016.xml", "xml"); Tree(const std::string &filename, const std::string &format) - : Node(slashTreeName) + : Node("/") { try { if (!read(filename,format)) @@ -111,7 +111,7 @@ Tree(const std::string &filename, const std::string &format) // std::ifstream ifs("n-008_O_016.xml"); // Tree t(ifs, FileType::xml); explicit Tree(std::istream &is, const FileType format = FileType::guess) - : Node(slashTreeName) + : Node("/") { try { if (!read(is,format)) @@ -127,7 +127,7 @@ explicit Tree(std::istream &is, const FileType format = FileType::guess) // std::ifstream ifs("n-008_O_016.xml"); // Tree t(ifs, "xml"); Tree(std::istream &is, const std::string &format) - : Node(slashTreeName) + : Node("/") { try { if (!read(is,format)) @@ -173,7 +173,7 @@ Tree( const std::string &version = detail::default_string, const std::string &encoding = detail::default_string ) - : Node(slashTreeName) + : Node("/") { try { reset(kwd, format, version, encoding); @@ -191,7 +191,7 @@ Tree( const std::string &version = detail::default_string, const std::string &encoding = detail::default_string ) - : Node(slashTreeName) + : Node("/") { try { reset(kwd, format, version, encoding); diff --git a/src/GNDStk/convert/src/HDF5.hpp b/src/GNDStk/convert/src/HDF5.hpp index f6216814b..76ad9581e 100644 --- a/src/GNDStk/convert/src/HDF5.hpp +++ b/src/GNDStk/convert/src/HDF5.hpp @@ -7,71 +7,50 @@ inline bool convert(const Node &node, HDF5 &h, const std::string &name) { static const std::string context = "convert(Node,HDF5)"; - // Prepare the HDF5 + // clear h.clear(); - const std::string tmpfile = name != "" ? name : h.temporaryName(h.fileDesc); try { + // bookkeeping, re: HighFive employing basically a file descriptor + const std::string tmpfile = + name != "" ? name : h.temporaryName(h.fileDesc); h.filePtr = new HighFive::File(tmpfile, HDF5::modeWrite); - // Probably a regular Node... - if (node.name != slashTreeName) { + // ------------------------ + // Node + // ------------------------ + + if (node.name != "/") { const bool ret = detail::node2hdf5(node,*h.filePtr); h.filePtr->flush(); return ret; } - // Probably a Tree... - if (node.metadata.size() != 0) { - log::warning( - "Encountered Node with empty name \"\",\n" - "but the Node also contains metadata.\n" - "Not expected in this context. We'll ignore the metadata." - ); - log::function(context); - } + // ------------------------ + // Tree + // ------------------------ + + detail::warn_node_top_metadata(node,context); + bool found_dec = false; - bool found_decl = false; - bool found_top = false; + for (auto &cptr : node.children) { + if (cptr->name == special::xml ) continue; + if (cptr->name == special::json) continue; - for (auto &c : node.children) { - if (c->name == special::xml || - c->name == special::json || - c->name == special::hdf5 - ) { + if (cptr->name == special::hdf5 || cptr->name == special::any) { // looks like a declaration node - if (found_decl) { - // already seen - log::warning( - "Encountered Node with empty name \"\",\n" - "and > 1 child nodes that look like " - "declaration nodes.\n" - "Not expected in this context. " - "For HDF5, we're ignoring declaration nodes anyway." - ); - log::function(context); - } - found_decl = true; + if (found_dec) // already seen + detail::info_node_multiple_dec(context); + // fixme Implement top-level metadata/attributes in HDF5 + found_dec = true; } else { // looks like a regular node - if (found_top) { - // already seen - log::warning( - "Encountered Node with empty name \"\",\n" - "and > 1 child nodes that look like " - "regular (non-declaration) nodes.\n" - "Not expected in this context. " - "We'll convert all the child nodes." - ); - log::function(context); - } - const bool ret = detail::node2hdf5(*c,*h.filePtr); + const bool ret = detail::node2hdf5(*cptr,*h.filePtr); h.filePtr->flush(); if (!ret) return false; - found_top = true; - } // else - } // for + } + } } catch (...) { log::function(context); @@ -83,37 +62,6 @@ inline bool convert(const Node &node, HDF5 &h, const std::string &name) } - -// ----------------------------------------------------------------------------- -// XML ==> HDF5 -// JSON ==> HDF5 -// As with convert()s to XML, these go through temporaries. -// ----------------------------------------------------------------------------- - -inline bool convert(const XML &x, HDF5 &h) -{ - try { - Tree t; // temporary - return convert(x,t) && convert(t,h); - } catch (...) { - log::function("convert(XML,HDF5)"); - throw; - } -} - -inline bool convert(const JSON &j, HDF5 &h) -{ - try { - Tree t; // temporary - return convert(j,t) && convert(t,h); - } catch (...) { - log::function("convert(JSON,HDF5)"); - throw; - } -} - - - // ----------------------------------------------------------------------------- // HDF5 ==> HDF5 // For completeness @@ -121,7 +69,7 @@ inline bool convert(const JSON &j, HDF5 &h) inline bool convert(const HDF5 &from, HDF5 &to) { - // self? + // same object? if (&to == &from) return true; @@ -132,7 +80,7 @@ inline bool convert(const HDF5 &from, HDF5 &to) if (from.empty()) return true; - // convert + // from ==> to try { std::ifstream ifs(from.filePtr->getName(), std::ios::binary); if (!ifs) { @@ -144,12 +92,12 @@ inline bool convert(const HDF5 &from, HDF5 &to) // to create a *file* for the destination object. It cannot simply // duplicate an internal data structure, as the analogous XML and // JSON convert() functions do. The above error message might thus - // surprise a user, who wouldn't necessarily realize that a file - // is being created as a result of this convert(). To help clarify - // the situation, we'll write an informational note. + // surprise a user, who wouldn't necessarily realize that a file is + // being created as a result of this convert(). To help clarify the + // situation, we'll write an informational note. log::info( - "We're attempting to open this file here because it's referenced\n" - "by the source HDF5 object."); + "We're attempting to open this in this context because it's\n" + "behind the source HDF5 object."); throw std::exception{}; } if (!to.read(ifs)) @@ -162,3 +110,32 @@ inline bool convert(const HDF5 &from, HDF5 &to) // done return true; } + + +// ----------------------------------------------------------------------------- +// XML ==> HDF5 +// JSON ==> HDF5 +// As with our convert()s to XML, these go through temporaries. +// ----------------------------------------------------------------------------- + +inline bool convert(const XML &x, HDF5 &h) +{ + try { + Tree tmp; + return convert(x,tmp) && convert(tmp,h); + } catch (...) { + log::function("convert(XML,HDF5)"); + throw; + } +} + +inline bool convert(const JSON &j, HDF5 &h) +{ + try { + Tree tmp; + return convert(j,tmp) && convert(tmp,h); + } catch (...) { + log::function("convert(JSON,HDF5)"); + throw; + } +} diff --git a/src/GNDStk/convert/src/JSON.hpp b/src/GNDStk/convert/src/JSON.hpp index 9c9e215f3..665c4b0f7 100644 --- a/src/GNDStk/convert/src/JSON.hpp +++ b/src/GNDStk/convert/src/JSON.hpp @@ -5,65 +5,42 @@ inline bool convert(const Node &node, JSON &j) { + static const std::string context = "convert(Node,JSON)"; + // clear j.clear(); - static const std::string context = "convert(Node,JSON)"; try { + // ------------------------ + // Node + // ------------------------ - // Probably a regular Node... - if (node.name != slashTreeName) + if (node.name != "/") return detail::node2json(node,j.doc); - // Probably a Tree... - if (node.metadata.size() != 0) { - log::warning( - "Encountered Node with empty name \"\",\n" - "but the Node also contains metadata.\n" - "Not expected in this context. We'll ignore the metadata." - ); - log::function(context); - } + // ------------------------ + // Tree + // ------------------------ - bool found_decl = false; - bool found_top = false; + detail::warn_node_top_metadata(node,context); + bool found_dec = false; - for (auto &c : node.children) { - if (c->name == special::xml || - c->name == special::json || - c->name == special::hdf5 - ) { + for (auto &cptr : node.children) { + if (cptr->name == special::xml ) continue; + if (cptr->name == special::hdf5) continue; + + if (cptr->name == special::json || cptr->name == special::any) { // looks like a declaration node - if (found_decl) { - // already seen - log::warning( - "Encountered Node with empty name \"\",\n" - "and > 1 child nodes that look like " - "declaration nodes.\n" - "Not expected in this context. " - "For JSON, we're ignoring declaration nodes anyway." - ); - log::function(context); - } - found_decl = true; + if (found_dec) // already seen + detail::info_node_multiple_dec(context); + // fixme Implement top-level metadata/attributes in JSON + found_dec = true; } else { // looks like a regular node - if (found_top) { - // already seen - log::warning( - "Encountered Node with empty name \"\",\n" - "and > 1 child nodes that look like " - "regular (non-declaration) nodes.\n" - "Not expected in this context. " - "We'll convert all the child nodes." - ); - log::function(context); - } - if (!detail::node2json(*c,j.doc)) + if (!detail::node2json(*cptr,j.doc)) return false; - found_top = true; - } // else - } // for + } + } } catch (...) { log::function(context); @@ -75,37 +52,6 @@ inline bool convert(const Node &node, JSON &j) } - -// ----------------------------------------------------------------------------- -// XML ==> JSON -// HDF5 ==> JSON -// As with convert()s to XML, these go through temporaries. -// ----------------------------------------------------------------------------- - -inline bool convert(const XML &x, JSON &j) -{ - try { - Tree t; // temporary - return convert(x,t) && convert(t,j); - } catch (...) { - log::function("convert(XML,JSON)"); - throw; - } -} - -inline bool convert(const HDF5 &h, JSON &j) -{ - try { - Tree t; // temporary - return convert(h,t) && convert(t,j); - } catch (...) { - log::function("convert(HDF5,JSON)"); - throw; - } -} - - - // ----------------------------------------------------------------------------- // JSON ==> JSON // For completeness @@ -113,13 +59,18 @@ inline bool convert(const HDF5 &h, JSON &j) inline bool convert(const JSON &from, JSON &to) { + // same object? if (&to == &from) return true; // clear to.clear(); - // convert + // empty? + if (from.empty()) + return true; + + // from ==> to try { to.doc = from.doc; // orderedJSON's assignment } catch (...) { @@ -130,3 +81,32 @@ inline bool convert(const JSON &from, JSON &to) // done return true; } + + +// ----------------------------------------------------------------------------- +// XML ==> JSON +// HDF5 ==> JSON +// As with our convert()s to XML, these go through temporaries. +// ----------------------------------------------------------------------------- + +inline bool convert(const XML &x, JSON &j) +{ + try { + Tree tmp; + return convert(x,tmp) && convert(tmp,j); + } catch (...) { + log::function("convert(XML,JSON)"); + throw; + } +} + +inline bool convert(const HDF5 &h, JSON &j) +{ + try { + Tree tmp; + return convert(h,tmp) && convert(tmp,j); + } catch (...) { + log::function("convert(HDF5,JSON)"); + throw; + } +} diff --git a/src/GNDStk/convert/src/Node.hpp b/src/GNDStk/convert/src/Node.hpp index 8b29c29ab..46f21a9f1 100644 --- a/src/GNDStk/convert/src/Node.hpp +++ b/src/GNDStk/convert/src/Node.hpp @@ -16,7 +16,7 @@ inline bool convert(const XML &x, Node &node, const bool &DECL) // optionally, make a boilerplate declaration node if (decl) { - node.name = slashTreeName; + node.name = "/"; node.add(special::xml); // "we built the object from an XML" } @@ -111,7 +111,7 @@ inline bool convert(const JSON &j, Node &node, const bool &DECL) // optionally, make a boilerplate declaration node if (decl) { - node.name = slashTreeName; + node.name = "/"; node.add(special::json); // "we built the object from a JSON" } @@ -172,7 +172,7 @@ inline bool convert(const HDF5 &h, Node &node, const bool &DECL) // optionally, make a boilerplate declaration node Node *declnode = nullptr; if (decl) { - node.name = slashTreeName; + node.name = "/"; declnode = &node.add(special::hdf5); // "we built the object from an HDF5" } @@ -182,7 +182,7 @@ inline bool convert(const HDF5 &h, Node &node, const bool &DECL) // not empty in the earlier (h.filePtr == nullptr) sense, // but with no real content in the HDF5 document? - const HighFive::Group &rootGroup = h.filePtr->getGroup(detail::rootHDF5Name); + const HighFive::Group &rootGroup = h.filePtr->getGroup("/"); if (rootGroup.getNumberAttributes() == 0 && rootGroup.getNumberObjects() == 0) return true; @@ -197,7 +197,7 @@ inline bool convert(const HDF5 &h, Node &node, const bool &DECL) return false; // visit the rest of the root HDF5 group - return detail::hdf52node(rootGroup, detail::rootHDF5Name, node, decl); + return detail::hdf52node(rootGroup, "/", node, decl); } catch (...) { log::function("convert(HDF5,Node)"); throw; diff --git a/src/GNDStk/convert/src/XML.hpp b/src/GNDStk/convert/src/XML.hpp index c6e85830e..9a907eeb9 100644 --- a/src/GNDStk/convert/src/XML.hpp +++ b/src/GNDStk/convert/src/XML.hpp @@ -5,92 +5,73 @@ inline bool convert(const Node &node, XML &x) { + static const std::string context = "convert(Node,XML)"; + // clear x.clear(); - // We recognize here that the Node could in fact be the base of a Tree, + // We recognize below that the Node could in fact be the base of a Tree, // which might have a declaration node. If it does, then we'll preserve // the declaration node's information in the output XML object. // // The way we're storing things in Tree, a declaration node might contain, // for example, the following, if the Tree was built from an XML: // - // name: special::xml + // name: #xml // metadata: // "version", "1.0" // "encoding", "UTF-8" // children: - // N/A - // - // or this if it was built from a JSON: + // (none) // - // name: special::json - // metadata: - // (nothing; empty vector) - // children: - // N/A - // - // or something else if it was built in another manner. In an XML file, - // the declaration node is the thing like: . + // In an XML file, the declaration node is the construct that optionally + // can appear at the beginning, and looks like: . - static const std::string context = "convert(Node,XML)"; try { + // ------------------------ + // Node + // ------------------------ - if (node.name != slashTreeName) { - // A Tree should have name slashTreeName at the root level, so this - // looks like a garden-variety Node. Do a straight Node conversion. + if (node.name != "/") { + // A Tree should have name "/" at the root level, so this looks + // like it's garden-variety Node. Do a straight Node conversion. return detail::node2xml(node,x.doc); } // Henceforth it's presumably a Tree, unless someone gave the root Tree- // node name to a regular node, which they really shouldn't have done. - if (node.metadata.size() != 0) { - log::warning( - "Encountered Node with empty name \"\",\n" - "but the Node also contains metadata.\n" - "Not expected in this context. We'll ignore the metadata." - ); - log::function(context); - } - pugi::xml_node xdecl; - bool found_decl = false; - bool found_top = false; + // ------------------------ + // Tree + // ------------------------ + + detail::warn_node_top_metadata(node,context); + bool found_dec = false; + bool found_top = false; - for (auto &c : node.children) { - if (c->name == special::xml || - c->name == special::json || - c->name == special::hdf5) { + for (auto &cptr : node.children) { + if (cptr->name == special::json) continue; + if (cptr->name == special::hdf5) continue; + + if (cptr->name == special::xml || cptr->name == special::any) { // looks like a declaration node - if (found_decl) { - // already seen - log::warning( - "Encountered Node with empty name \"\",\n" - "and > 1 child nodes that look like " - "declaration nodes.\n" - "Not expected in this context. " - "We'll combine the metadata." - ); - log::function(context); - } else + pugi::xml_node xdecl; + if (found_dec) // already seen + detail::info_node_multiple_dec(context); + else xdecl = x.doc.append_child(pugi::node_declaration); - for (auto &meta : c->metadata) + for (auto &meta : cptr->metadata) xdecl.append_attribute(meta.first.data()) = meta.second.data(); - found_decl = true; + found_dec = true; } else { // looks like a regular node - if (found_top) { - // already seen - log::warning( - "Encountered Node with empty name \"\",\n" - "and > 1 child nodes that look like " - "regular (non-declaration) nodes.\n" - "Not expected in this context. " - "We'll convert all the child nodes." - ); + if (found_top) { // already seen + log::info( + "Node has name \"/\" and multiple \"document nodes\".\n" + "This is nonstandard in XML, but we'll write them all."); log::function(context); } - if (!detail::node2xml(*c,x.doc)) + if (!detail::node2xml(*cptr,x.doc)) return false; found_top = true; } @@ -106,7 +87,6 @@ inline bool convert(const Node &node, XML &x) } - // ----------------------------------------------------------------------------- // XML ==> XML // For completeness @@ -114,57 +94,59 @@ inline bool convert(const Node &node, XML &x) inline bool convert(const XML &from, XML &to) { + // same object? if (&to == &from) return true; // clear to.clear(); - // Unfortunately, we can't use pugi::xml_document's assignment, or for - // that matter its copy constructor, because, for whatever reason, the - // pugixml library makes those private. + // empty? + if (from.empty()) + return true; - // For now, I'll write something simple that works, although not very - // efficiently: write "from" to a stringstream, then read "to" out of - // the stringstream. The GNDS files that I've seen so far aren't large - // enough to make this untenable. We can revisit this issue if and when - // it becomes necessary to be more efficient. + // It seems that pugi::xml_document's assignment operator, and for that + // matter its copy constructor, are private. So, we can't use either of + // those here. For now, then, we'll do something simple that works, but + // not very efficiently: write "from" to a stringstream, then read "to" + // from the stringstream. (Note that it's XML that's written and read.) + // The GNDS files that I've seen so far aren't large enough to make this + // problematic. We'll revisit this if and when more efficiency is needed. - // back up indentation + // back up indentation; is restored later const int indent = GNDStk::indent; - GNDStk::indent = 0; // saves memory in the stringstream + GNDStk::indent = 0; // to save memory in the intermediary stringstream - // from ==> stringstream ==> to + // from ==> temporary stringstream ==> to try { - std::stringstream sstr; - from.write(sstr,true); - to.read(sstr); + std::stringstream tmp; + from.write(tmp,true); // true: include declaration node + if (!to.read(tmp)) + throw std::exception{}; } catch (...) { + GNDStk::indent = indent; log::function("convert(XML,XML)"); throw; } - // restore indentation - GNDStk::indent = indent; - // done + GNDStk::indent = indent; return true; } - // ----------------------------------------------------------------------------- // JSON ==> XML // HDF5 ==> XML -// These go through temporaries, for compactness. They could likely be -// made more efficient if written directly. We'll revisit this if necessary. +// These go through temporaries, for compactness. They could likely be made +// more efficient if written directly. We'll revisit this issue if necessary. // ----------------------------------------------------------------------------- inline bool convert(const JSON &j, XML &x) { try { - Tree t; // temporary - return convert(j,t) && convert(t,x); + Tree tmp; + return convert(j,tmp) && convert(tmp,x); } catch (...) { log::function("convert(JSON,XML)"); throw; @@ -174,8 +156,8 @@ inline bool convert(const JSON &j, XML &x) inline bool convert(const HDF5 &h, XML &x) { try { - Tree t; // temporary - return convert(h,t) && convert(t,x); + Tree tmp; + return convert(h,tmp) && convert(tmp,x); } catch (...) { log::function("convert(HDF5,XML)"); throw; diff --git a/src/GNDStk/convert/src/detail-hdf52node.hpp b/src/GNDStk/convert/src/detail-hdf52node.hpp index 4fb98fbbc..c94c2ae76 100644 --- a/src/GNDStk/convert/src/detail-hdf52node.hpp +++ b/src/GNDStk/convert/src/detail-hdf52node.hpp @@ -1,7 +1,4 @@ -// rootHDF5Name: name of the root HDF5 group -inline const std::string rootHDF5Name = "/"; - // Helper: hdf52node_error inline void hdf52node_error(const std::string &message) { @@ -181,7 +178,7 @@ bool hdf52node( const HighFive::Group &group, const std::string &groupName, NODE &node, const bool decl ) { - const bool atRoot = groupName == rootHDF5Name; + const bool atRoot = groupName == "/"; // node name: from HDF5 group name if (!decl) { diff --git a/src/GNDStk/convert/src/detail-node2xml.hpp b/src/GNDStk/convert/src/detail-node2xml.hpp index 381fca474..209f134c5 100644 --- a/src/GNDStk/convert/src/detail-node2xml.hpp +++ b/src/GNDStk/convert/src/detail-node2xml.hpp @@ -81,8 +81,7 @@ bool write_comment(const NODE &node, pugi::xml_node &xnode) template bool node2xml(const NODE &node, pugi::xml_node &x) { - static const std::string context = - "node2xml(Node, pugi::xml_node)"; + static const std::string context = "node2xml(Node, pugi::xml_node)"; // name pugi::xml_node xnode = x.append_child(node.name.data()); diff --git a/src/GNDStk/convert/src/detail.hpp b/src/GNDStk/convert/src/detail.hpp index f5c44567f..f109f375c 100644 --- a/src/GNDStk/convert/src/detail.hpp +++ b/src/GNDStk/convert/src/detail.hpp @@ -13,4 +13,24 @@ namespace detail { #include "detail-node2hdf5.hpp" #include "detail-hdf52node.hpp" +// Helper +inline void warn_node_top_metadata(const Node &node, const std::string &context) +{ + if (node.metadata.size() != 0) { + log::warning( + "Node has name \"/\" but also contains metadata. This is\n" + "not expected in this context. We'll ignore the metadata."); + log::function(context); + } +} + +// Helper +inline void info_node_multiple_dec(const std::string &context) +{ + log::info( + "Node has name \"/\" but multiple \"declaration nodes\".\n" + "We'll combine the metadata from all such nodes."); + log::function(context); +} + } // namespace detail diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 5eb41c681..460b76e35 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -40,6 +40,7 @@ namespace special { inline const char prefix = '#'; inline const std::string + any = prefix + std::string(""), nodename = prefix + std::string("nodename"), metadata = prefix + std::string("metadata"), cdata = prefix + std::string("cdata"), From 7a9107ddd5e2e1e5626ae6615e122c32faa2589c Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Wed, 14 Dec 2022 17:14:30 -0700 Subject: [PATCH 231/235] Updating autogenerated files. Adding newly autogenerated files. --- autogen/simple/.gitignore | 1 - autogen/simple/multi/c/src/v1/multigroup/Element.cpp | 7 +++++++ autogen/simple/multi/c/src/v1/multigroup/Element.h | 4 +++- .../multi/c/src/v1/multigroup/Element/src/custom.cpp | 0 .../simple/multi/c/src/v1/multigroup/Element/src/custom.h | 0 autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp | 7 +++++++ autogen/simple/multi/c/src/v1/multigroup/Foobar.h | 4 +++- .../simple/multi/c/src/v1/multigroup/Foobar/src/custom.cpp | 0 .../simple/multi/c/src/v1/multigroup/Foobar/src/custom.h | 0 autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp | 7 +++++++ autogen/simple/multi/c/src/v1/multigroup/Isotope.h | 4 +++- .../multi/c/src/v1/multigroup/Isotope/src/custom.cpp | 0 .../simple/multi/c/src/v1/multigroup/Isotope/src/custom.h | 0 autogen/simple/multi/c/src/v1/multigroup/Library.cpp | 7 +++++++ autogen/simple/multi/c/src/v1/multigroup/Library.h | 4 +++- .../multi/c/src/v1/multigroup/Library/src/custom.cpp | 0 .../simple/multi/c/src/v1/multigroup/Library/src/custom.h | 0 autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp | 7 +++++++ autogen/simple/multi/c/src/v1/multigroup/Multigroup.h | 4 +++- .../multi/c/src/v1/multigroup/Multigroup/src/custom.cpp | 0 .../multi/c/src/v1/multigroup/Multigroup/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Atomic.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/Atomic/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Atomic/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Author.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Author.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/Author/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Author/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Authors.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Authors.h | 4 +++- .../code/c/src/v2.0/gnds/Authors/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Authors/src/custom.h | 0 .../incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h | 4 +++- .../code/c/src/v2.0/gnds/BindingEnergy/src/custom.cpp | 0 .../code/c/src/v2.0/gnds/BindingEnergy/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Body.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Body.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/Body/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Body/src/custom.h | 0 .../incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp | 7 +++++++ .../incremental/code/c/src/v2.0/gnds/ChemicalElement.h | 4 +++- .../code/c/src/v2.0/gnds/ChemicalElement/src/custom.cpp | 0 .../code/c/src/v2.0/gnds/ChemicalElement/src/custom.h | 0 .../incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp | 7 +++++++ .../incremental/code/c/src/v2.0/gnds/ChemicalElements.h | 4 +++- .../code/c/src/v2.0/gnds/ChemicalElements/src/custom.cpp | 0 .../code/c/src/v2.0/gnds/ChemicalElements/src/custom.h | 0 .../incremental/code/c/src/v2.0/gnds/Configuration.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Configuration.h | 4 +++- .../code/c/src/v2.0/gnds/Configuration/src/custom.cpp | 0 .../code/c/src/v2.0/gnds/Configuration/src/custom.h | 0 .../incremental/code/c/src/v2.0/gnds/Configurations.cpp | 7 +++++++ .../incremental/code/c/src/v2.0/gnds/Configurations.h | 4 +++- .../code/c/src/v2.0/gnds/Configurations/src/custom.cpp | 0 .../code/c/src/v2.0/gnds/Configurations/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Date.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Date.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/Date/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Date/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Dates.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Dates.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/Dates/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Dates/src/custom.h | 0 .../incremental/code/c/src/v2.0/gnds/Documentation.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Documentation.h | 4 +++- .../code/c/src/v2.0/gnds/Documentation/src/custom.cpp | 0 .../code/c/src/v2.0/gnds/Documentation/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Double.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Double.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/Double/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Double/src/custom.h | 0 .../incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp | 7 +++++++ .../incremental/code/c/src/v2.0/gnds/EndfCompatible.h | 4 +++- .../code/c/src/v2.0/gnds/EndfCompatible/src/custom.cpp | 0 .../code/c/src/v2.0/gnds/EndfCompatible/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Evaluated.h | 4 +++- .../code/c/src/v2.0/gnds/Evaluated/src/custom.cpp | 0 .../code/c/src/v2.0/gnds/Evaluated/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/PoPs.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/PoPs/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/PoPs/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Styles.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Styles.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/Styles/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Styles/src/custom.h | 0 standards/incremental/code/c/src/v2.0/gnds/Title.cpp | 7 +++++++ standards/incremental/code/c/src/v2.0/gnds/Title.h | 4 +++- .../incremental/code/c/src/v2.0/gnds/Title/src/custom.cpp | 0 .../incremental/code/c/src/v2.0/gnds/Title/src/custom.h | 0 93 files changed, 230 insertions(+), 24 deletions(-) create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Element/src/custom.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Element/src/custom.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Foobar/src/custom.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Foobar/src/custom.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Isotope/src/custom.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Isotope/src/custom.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Library/src/custom.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Library/src/custom.h create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Multigroup/src/custom.cpp create mode 100644 autogen/simple/multi/c/src/v1/multigroup/Multigroup/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Atomic/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Atomic/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Author/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Author/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Authors/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Authors/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/BindingEnergy/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/BindingEnergy/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Body/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Body/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/ChemicalElement/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/ChemicalElement/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/ChemicalElements/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/ChemicalElements/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Configuration/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Configuration/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Configurations/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Configurations/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Date/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Date/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Dates/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Dates/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Documentation/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Documentation/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Double/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Double/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/EndfCompatible/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/EndfCompatible/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Evaluated/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Evaluated/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/PoPs/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/PoPs/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Styles/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Styles/src/custom.h create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Title/src/custom.cpp create mode 100644 standards/incremental/code/c/src/v2.0/gnds/Title/src/custom.h diff --git a/autogen/simple/.gitignore b/autogen/simple/.gitignore index 05d6da7a4..341fa1ae2 100644 --- a/autogen/simple/.gitignore +++ b/autogen/simple/.gitignore @@ -1,5 +1,4 @@ -[a-z] [0-9] *.o *~ diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp index 82f796f0f..aa27be469 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.cpp @@ -361,3 +361,10 @@ ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar) detail::setField (CLASSNAME, CLASSNAME+"FoobarSet", This, extract::foobar, foobar); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v1/multigroup/Element/src/custom.cpp" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element.h b/autogen/simple/multi/c/src/v1/multigroup/Element.h index 4fd1fa343..44030949b 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Element.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Element.h @@ -261,8 +261,10 @@ ElementFoobarSet(ConstHandle2Element This, ConstHandle2ConstFoobar foobar); // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v1/multigroup/Element/src/custom.h" + #undef extern_c #endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element/src/custom.cpp b/autogen/simple/multi/c/src/v1/multigroup/Element/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Element/src/custom.h b/autogen/simple/multi/c/src/v1/multigroup/Element/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp index 82eabc01d..57f0c3504 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.cpp @@ -226,3 +226,10 @@ FoobarValueSet(ConstHandle2Foobar This, const char *const value) detail::setField (CLASSNAME, CLASSNAME+"ValueSet", This, extract::value, value); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v1/multigroup/Foobar/src/custom.cpp" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h index 2667e32b5..112b0d182 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Foobar.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Foobar.h @@ -183,8 +183,10 @@ FoobarValueSet(ConstHandle2Foobar This, const char *const value); // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v1/multigroup/Foobar/src/custom.h" + #undef extern_c #endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar/src/custom.cpp b/autogen/simple/multi/c/src/v1/multigroup/Foobar/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Foobar/src/custom.h b/autogen/simple/multi/c/src/v1/multigroup/Foobar/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp index 70087fbe9..83febb1a2 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.cpp @@ -163,3 +163,10 @@ IsotopeMassNumberSet(ConstHandle2Isotope This, const int mass_number) detail::setField (CLASSNAME, CLASSNAME+"MassNumberSet", This, extract::mass_number, mass_number); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v1/multigroup/Isotope/src/custom.cpp" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h index 02a1bb4f7..189746cf7 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Isotope.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Isotope.h @@ -148,8 +148,10 @@ IsotopeMassNumberSet(ConstHandle2Isotope This, const int mass_number); // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v1/multigroup/Isotope/src/custom.h" + #undef extern_c #endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope/src/custom.cpp b/autogen/simple/multi/c/src/v1/multigroup/Isotope/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Isotope/src/custom.h b/autogen/simple/multi/c/src/v1/multigroup/Isotope/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp index 494a4ce09..5212b8fab 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.cpp @@ -328,3 +328,10 @@ LibraryElementSetByAtomicNumber( (CLASSNAME, CLASSNAME+"ElementSetByAtomicNumber", This, extract::element, meta::atomic_number, atomic_number, element); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v1/multigroup/Library/src/custom.cpp" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library.h b/autogen/simple/multi/c/src/v1/multigroup/Library.h index 92056d333..18e2828ed 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Library.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Library.h @@ -246,8 +246,10 @@ LibraryElementSetByAtomicNumber( // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v1/multigroup/Library/src/custom.h" + #undef extern_c #endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library/src/custom.cpp b/autogen/simple/multi/c/src/v1/multigroup/Library/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Library/src/custom.h b/autogen/simple/multi/c/src/v1/multigroup/Library/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp index c34ccd936..86e31208a 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.cpp @@ -283,3 +283,10 @@ MultigroupLibrarySetByName( (CLASSNAME, CLASSNAME+"LibrarySetByName", This, extract::library, meta::name, name, library); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v1/multigroup/Multigroup/src/custom.cpp" diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h index ca6d2d598..db7148d2b 100644 --- a/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h +++ b/autogen/simple/multi/c/src/v1/multigroup/Multigroup.h @@ -217,8 +217,10 @@ MultigroupLibrarySetByName( // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v1/multigroup/Multigroup/src/custom.h" + #undef extern_c #endif diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup/src/custom.cpp b/autogen/simple/multi/c/src/v1/multigroup/Multigroup/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/autogen/simple/multi/c/src/v1/multigroup/Multigroup/src/custom.h b/autogen/simple/multi/c/src/v1/multigroup/Multigroup/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp b/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp index e08300df7..e46a082c0 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Atomic.cpp @@ -172,3 +172,10 @@ AtomicConfigurationsSet(ConstHandle2Atomic This, ConstHandle2ConstConfigurations detail::setField (CLASSNAME, CLASSNAME+"ConfigurationsSet", This, extract::configurations, configurations); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Atomic/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Atomic.h b/standards/incremental/code/c/src/v2.0/gnds/Atomic.h index 13e1e26db..096a39d9d 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Atomic.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Atomic.h @@ -152,8 +152,10 @@ AtomicConfigurationsSet(ConstHandle2Atomic This, ConstHandle2ConstConfigurations // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Atomic/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Atomic/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Atomic/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Atomic/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Atomic/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Author.cpp b/standards/incremental/code/c/src/v2.0/gnds/Author.cpp index 3dd780260..08696da93 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Author.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Author.cpp @@ -163,3 +163,10 @@ AuthorNameSet(ConstHandle2Author This, const char *const name) detail::setField (CLASSNAME, CLASSNAME+"NameSet", This, extract::name, name); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Author/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Author.h b/standards/incremental/code/c/src/v2.0/gnds/Author.h index 077a9db00..d309854df 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Author.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Author.h @@ -148,8 +148,10 @@ AuthorNameSet(ConstHandle2Author This, const char *const name); // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Author/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Author/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Author/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Author/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Author/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp b/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp index 9514b237b..3c9ff8b78 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Authors.cpp @@ -248,3 +248,10 @@ AuthorsAuthorSetByName( (CLASSNAME, CLASSNAME+"AuthorSetByName", This, extract::author, meta::name, name, author); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Authors/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Authors.h b/standards/incremental/code/c/src/v2.0/gnds/Authors.h index 0736aeea6..b27e7b6a0 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Authors.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Authors.h @@ -197,8 +197,10 @@ AuthorsAuthorSetByName( // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Authors/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Authors/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Authors/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Authors/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Authors/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp index a5caaf655..6351f2db3 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.cpp @@ -172,3 +172,10 @@ BindingEnergyDoubleSet(ConstHandle2BindingEnergy This, ConstHandle2ConstDouble D detail::setField (CLASSNAME, CLASSNAME+"DoubleSet", This, extract::Double, Double); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/BindingEnergy/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h index e95e7ff8c..6cf5b05fb 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h +++ b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy.h @@ -152,8 +152,10 @@ BindingEnergyDoubleSet(ConstHandle2BindingEnergy This, ConstHandle2ConstDouble D // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/BindingEnergy/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/BindingEnergy/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Body.cpp b/standards/incremental/code/c/src/v2.0/gnds/Body.cpp index 9ab5dc8af..437ee3c93 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Body.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Body.cpp @@ -378,3 +378,10 @@ BodyDoublesSetArray(ConstHandle2Body This, const double *const values, const siz return detail::vectorSet (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Body/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Body.h b/standards/incremental/code/c/src/v2.0/gnds/Body.h index b062dd918..cc8ba4ea7 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Body.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Body.h @@ -267,8 +267,10 @@ BodyDoublesSetArray(ConstHandle2Body This, const double *const values, const siz // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Body/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Body/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Body/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Body/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Body/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp index 350d34695..72e3a9d42 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.cpp @@ -277,3 +277,10 @@ ChemicalElementAtomicSet(ConstHandle2ChemicalElement This, ConstHandle2ConstAtom detail::setField (CLASSNAME, CLASSNAME+"AtomicSet", This, extract::atomic, atomic); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/ChemicalElement/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h index 36a08dd61..f56383565 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement.h @@ -212,8 +212,10 @@ ChemicalElementAtomicSet(ConstHandle2ChemicalElement This, ConstHandle2ConstAtom // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/ChemicalElement/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElement/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp index 0a1e9943f..d92cc797f 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.cpp @@ -338,3 +338,10 @@ ChemicalElementsChemicalElementSetByName( (CLASSNAME, CLASSNAME+"ChemicalElementSetByName", This, extract::chemicalElement, meta::name, name, chemicalElement); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/ChemicalElements/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h index 94dda8390..484b610c9 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h +++ b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements.h @@ -255,8 +255,10 @@ ChemicalElementsChemicalElementSetByName( // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/ChemicalElements/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/ChemicalElements/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp index 0bde7f5ad..cbeb083a4 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Configuration.cpp @@ -242,3 +242,10 @@ ConfigurationBindingEnergySet(ConstHandle2Configuration This, ConstHandle2ConstB detail::setField (CLASSNAME, CLASSNAME+"BindingEnergySet", This, extract::bindingEnergy, bindingEnergy); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Configuration/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration.h b/standards/incremental/code/c/src/v2.0/gnds/Configuration.h index f122382b6..bc02fd019 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configuration.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Configuration.h @@ -192,8 +192,10 @@ ConfigurationBindingEnergySet(ConstHandle2Configuration This, ConstHandle2ConstB // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Configuration/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configuration/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configuration/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Configuration/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp index 75c998b77..253727692 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Configurations.cpp @@ -293,3 +293,10 @@ ConfigurationsConfigurationSetByElectronNumber( (CLASSNAME, CLASSNAME+"ConfigurationSetByElectronNumber", This, extract::configuration, meta::electronNumber, electronNumber, configuration); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Configurations/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configurations.h b/standards/incremental/code/c/src/v2.0/gnds/Configurations.h index 00693ec3d..fb86a3e3e 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Configurations.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Configurations.h @@ -226,8 +226,10 @@ ConfigurationsConfigurationSetByElectronNumber( // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Configurations/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configurations/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Configurations/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Configurations/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Configurations/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Date.cpp b/standards/incremental/code/c/src/v2.0/gnds/Date.cpp index 4ffc76a5a..23084dfdf 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Date.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Date.cpp @@ -198,3 +198,10 @@ DateDateTypeSet(ConstHandle2Date This, const enums::DateType dateType) detail::setField (CLASSNAME, CLASSNAME+"DateTypeSet", This, extract::dateType, dateType); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Date/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Date.h b/standards/incremental/code/c/src/v2.0/gnds/Date.h index 8d146e4ba..e709454af 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Date.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Date.h @@ -168,8 +168,10 @@ DateDateTypeSet(ConstHandle2Date This, const enums::DateType dateType); // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Date/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Date/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Date/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Date/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Date/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp b/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp index d685dab26..6f439cb53 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Dates.cpp @@ -293,3 +293,10 @@ DatesDateSetByDateType( (CLASSNAME, CLASSNAME+"DateSetByDateType", This, extract::date, meta::dateType, dateType, date); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Dates/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Dates.h b/standards/incremental/code/c/src/v2.0/gnds/Dates.h index 798ab9d84..4a6102072 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Dates.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Dates.h @@ -226,8 +226,10 @@ DatesDateSetByDateType( // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Dates/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Dates/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Dates/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Dates/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Dates/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp b/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp index f0980c2fa..4bed5fe42 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Documentation.cpp @@ -344,3 +344,10 @@ DocumentationEndfCompatibleSet(ConstHandle2Documentation This, ConstHandle2Const detail::setField (CLASSNAME, CLASSNAME+"EndfCompatibleSet", This, extract::endfCompatible, endfCompatible); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Documentation/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Documentation.h b/standards/incremental/code/c/src/v2.0/gnds/Documentation.h index 2cc23c285..246e8e292 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Documentation.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Documentation.h @@ -248,8 +248,10 @@ DocumentationEndfCompatibleSet(ConstHandle2Documentation This, ConstHandle2Const // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Documentation/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Documentation/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Documentation/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Documentation/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Documentation/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Double.cpp b/standards/incremental/code/c/src/v2.0/gnds/Double.cpp index f027ba460..c3dd9e33b 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Double.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Double.cpp @@ -233,3 +233,10 @@ DoubleUnitSet(ConstHandle2Double This, const char *const unit) detail::setField (CLASSNAME, CLASSNAME+"UnitSet", This, extract::unit, unit); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Double/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Double.h b/standards/incremental/code/c/src/v2.0/gnds/Double.h index ff4a4ce2c..04f18e2fa 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Double.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Double.h @@ -188,8 +188,10 @@ DoubleUnitSet(ConstHandle2Double This, const char *const unit); // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Double/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Double/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Double/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Double/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Double/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp index e42ac690d..c97e0d602 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.cpp @@ -378,3 +378,10 @@ EndfCompatibleDoublesSetArray(ConstHandle2EndfCompatible This, const double *con return detail::vectorSet (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/EndfCompatible/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h index 50aacfb59..c786c500c 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h +++ b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible.h @@ -267,8 +267,10 @@ EndfCompatibleDoublesSetArray(ConstHandle2EndfCompatible This, const double *con // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/EndfCompatible/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/EndfCompatible/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp index 44bf6e947..816455d1e 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.cpp @@ -312,3 +312,10 @@ EvaluatedDocumentationSet(ConstHandle2Evaluated This, ConstHandle2ConstDocumenta detail::setField (CLASSNAME, CLASSNAME+"DocumentationSet", This, extract::documentation, documentation); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Evaluated/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h index 5c21ae9a5..781b86d23 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Evaluated.h @@ -232,8 +232,10 @@ EvaluatedDocumentationSet(ConstHandle2Evaluated This, ConstHandle2ConstDocumenta // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Evaluated/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Evaluated/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Evaluated/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Evaluated/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Evaluated/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp b/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp index 60c04d09f..d23f230e1 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/PoPs.cpp @@ -320,3 +320,10 @@ PoPsChemicalElementsSet(ConstHandle2PoPs This, ConstHandle2ConstChemicalElements detail::setField (CLASSNAME, CLASSNAME+"ChemicalElementsSet", This, extract::chemicalElements, chemicalElements); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/PoPs/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/PoPs.h b/standards/incremental/code/c/src/v2.0/gnds/PoPs.h index 44179c300..5dee70b63 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/PoPs.h +++ b/standards/incremental/code/c/src/v2.0/gnds/PoPs.h @@ -236,8 +236,10 @@ PoPsChemicalElementsSet(ConstHandle2PoPs This, ConstHandle2ConstChemicalElements // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/PoPs/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/PoPs/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/PoPs/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/PoPs/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/PoPs/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp b/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp index 540855874..a13771d5d 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Styles.cpp @@ -172,3 +172,10 @@ StylesEvaluatedSet(ConstHandle2Styles This, ConstHandle2ConstEvaluated evaluated detail::setField (CLASSNAME, CLASSNAME+"EvaluatedSet", This, extract::evaluated, evaluated); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Styles/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Styles.h b/standards/incremental/code/c/src/v2.0/gnds/Styles.h index 7c768a345..f6fe65674 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Styles.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Styles.h @@ -152,8 +152,10 @@ StylesEvaluatedSet(ConstHandle2Styles This, ConstHandle2ConstEvaluated evaluated // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Styles/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Styles/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Styles/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Styles/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Styles/src/custom.h new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Title.cpp b/standards/incremental/code/c/src/v2.0/gnds/Title.cpp index fa5a003e1..a21dca08e 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Title.cpp +++ b/standards/incremental/code/c/src/v2.0/gnds/Title.cpp @@ -378,3 +378,10 @@ TitleDoublesSetArray(ConstHandle2Title This, const double *const values, const s return detail::vectorSet (CLASSNAME, CLASSNAME+"DoublesSetArray", This, size, values); } + + +// ----------------------------------------------------------------------------- +// Custom functionality +// ----------------------------------------------------------------------------- + +#include "v2.0/gnds/Title/src/custom.cpp" diff --git a/standards/incremental/code/c/src/v2.0/gnds/Title.h b/standards/incremental/code/c/src/v2.0/gnds/Title.h index 277dc032c..a9874073c 100644 --- a/standards/incremental/code/c/src/v2.0/gnds/Title.h +++ b/standards/incremental/code/c/src/v2.0/gnds/Title.h @@ -267,8 +267,10 @@ TitleDoublesSetArray(ConstHandle2Title This, const double *const values, const s // ----------------------------------------------------------------------------- -// Done +// Custom functionality // ----------------------------------------------------------------------------- +#include "v2.0/gnds/Title/src/custom.h" + #undef extern_c #endif diff --git a/standards/incremental/code/c/src/v2.0/gnds/Title/src/custom.cpp b/standards/incremental/code/c/src/v2.0/gnds/Title/src/custom.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/standards/incremental/code/c/src/v2.0/gnds/Title/src/custom.h b/standards/incremental/code/c/src/v2.0/gnds/Title/src/custom.h new file mode 100644 index 000000000..e69de29bb From c4c0fef67e1b2957a373a790d7a2cfca755091f6 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Mon, 19 Dec 2022 18:17:31 -0700 Subject: [PATCH 232/235] Autogenerated classes all support comments. Will help w/GNDS 2.0. Some general cleanup and simplifications. Regenerated classes, per the new autogenerator. --- autogen/json2class.cpp | 203 +++++++++--------- autogen/simple/.gitignore | 1 + autogen/simple/multi-classes.json | 3 - .../multi/src/multi/v1/multigroup/Element.hpp | 10 + .../multi/src/multi/v1/multigroup/Foobar.hpp | 9 + .../multi/src/multi/v1/multigroup/Isotope.hpp | 9 + .../multi/src/multi/v1/multigroup/Library.hpp | 10 + .../src/multi/v1/multigroup/Multigroup.hpp | 10 + src/GNDStk/BlockData.hpp | 4 +- src/GNDStk/BlockData/src/colors.hpp | 20 +- src/GNDStk/BlockData/src/detail.hpp | 29 ++- src/GNDStk/Component.hpp | 12 ++ standards/incremental/.gitignore | 1 - .../code/src/code/v2.0/gnds/Atomic.hpp | 9 + .../code/src/code/v2.0/gnds/Author.hpp | 9 + .../code/src/code/v2.0/gnds/Authors.hpp | 9 + .../code/src/code/v2.0/gnds/BindingEnergy.hpp | 9 + .../code/src/code/v2.0/gnds/Body.hpp | 17 +- .../src/code/v2.0/gnds/ChemicalElement.hpp | 10 + .../src/code/v2.0/gnds/ChemicalElements.hpp | 9 + .../code/src/code/v2.0/gnds/Configuration.hpp | 10 + .../src/code/v2.0/gnds/Configurations.hpp | 9 + .../code/src/code/v2.0/gnds/Date.hpp | 9 + .../code/src/code/v2.0/gnds/Dates.hpp | 9 + .../code/src/code/v2.0/gnds/Documentation.hpp | 9 + .../code/src/code/v2.0/gnds/Double.hpp | 9 + .../src/code/v2.0/gnds/EndfCompatible.hpp | 17 +- .../code/src/code/v2.0/gnds/Evaluated.hpp | 10 + .../code/src/code/v2.0/gnds/PoPs.hpp | 10 + .../code/src/code/v2.0/gnds/Styles.hpp | 9 + .../code/src/code/v2.0/gnds/Title.hpp | 17 +- .../incremental/incremental-classes.json | 29 +-- 32 files changed, 365 insertions(+), 175 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 5ce9782ef..0799ffe3f 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -1003,45 +1003,49 @@ void writeClassForComponent(writer &out, const PerClass &per) // KEYS() contents int count = 0; const int total = per.nfields(); - if (total == 0) - out(2,"return std::tuple<>{};"); - else { - out(2,"return"); + out(2,"return"); - // metadata - if (per.metadata.size()) - out(3,"// metadata"); - for (const auto &m : per.metadata) { - out(3,"@{@}", m.typeFull, initializer(m)); - out(4,"/ Meta<>(\"@\")@", m.original, ++count < total ? " |" : ""); - } + // comment + out(3,"// comment"); + out(3,"++Child(special::comment)/commentConverter{}@", + std::string(total ? " |" : "")); - // children - if (per.children.size() || per.variants.size()) - out(3,"// children"); - for (const auto &c : per.children) { - out(3,"@Child<@>(\"@\")@", - c.isVector ? "++" : "--", - c.typeHalf, // without any std::vector - c.original, - ++count < total ? " |" : "" - ); - } + // metadata + if (per.metadata.size()) { + out(); + out(3,"// metadata"); + } + for (const auto &m : per.metadata) { + out(3,"@{@}", m.typeFull, initializer(m)); + out(4,"/ Meta<>(\"@\")@", m.original, ++count < total ? " |" : ""); + } - // variants - for (const auto &v : per.variants) { - out(3,"@{}", v.typeHalf); // without any std::vector - out(4,"/ @(", v.isVector ? "++" : "--", false); - int n = 0; // for alternatives; not to be confused w/count - for (const auto &c : v.children) - out("@Child<>(\"@\")", n++ == 0 ? "" : " || ", c.name, false); - out(")@", ++count < total ? " |" : ""); - } + // children + if (per.children.size() || per.variants.size()) { + out(); + out(3,"// children"); + } + for (const auto &c : per.children) { + out(3,"@Child<@>(\"@\")@", + c.isVector ? "++" : "--", + c.typeHalf, // without any std::vector + c.original, + ++count < total ? " |" : "" + ); + } - out(2,";"); + // variants + for (const auto &v : per.variants) { + out(3,"@{}", v.typeHalf); // without any std::vector + out(4,"/ @(", v.isVector ? "++" : "--", false); + int n = 0; // for alternatives; not to be confused w/count + for (const auto &c : v.children) + out("@Child<>(\"@\")", n++ == 0 ? "" : " || ", c.name, false); + out(")@", ++count < total ? " |" : ""); } // KEYS() end + out(2,";"); out(1,"}"); out(); out("public:"); @@ -1070,6 +1074,7 @@ void writeClassSuffix( out(2,"if (this != &other) {"); out(3,"std::cout << \"assign: @: copy\" << std::endl;", per.clname); out(3,"Component::operator=(other);"); + out(3,"comment = other.comment;"); if (per.nfields() > 0) { for (const auto &m : per.metadata) out(3,"@ = other.@;", m.name, m.name); @@ -1090,6 +1095,7 @@ void writeClassSuffix( out(2,"if (this != &other) {"); out(3,"std::cout << \"assign: @: move\" << std::endl;", per.clname); out(3,"Component::operator=(std::move(other));"); + out(3,"comment = std::move(other.comment);"); if (per.nfields() > 0) { for (const auto &m : per.metadata) out(3,"@ = std::move(other.@);", m.name, m.name); @@ -1249,18 +1255,15 @@ void writeClassCtors(writer &out, const PerClass &per) int count; const int total = per.nfields(); out(); - if (total == 0) - out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata)"); - else { - out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata, \\"); - count = 0; - for (const auto &m : per.metadata) - out(2,"this->@@", m.name, ++count < total ? ", \\" : ")"); - for (const auto &c : per.children) - out(2,"this->@@", c.name, ++count < total ? ", \\" : ")"); - for (const auto &v : per.variants) - out(2,"this->@@", v.name, ++count < total ? ", \\" : ")"); - } + out(1,"#define GNDSTK_COMPONENT(blockdata) Component(blockdata, \\"); + out(2,"this->comment@", std::string(total ? ", \\" : ")")); + count = 0; + for (const auto &m : per.metadata) + out(2,"this->@@", m.name, ++count < total ? ", \\" : ")"); + for (const auto &c : per.children) + out(2,"this->@@", c.name, ++count < total ? ", \\" : ")"); + for (const auto &v : per.variants) + out(2,"this->@@", v.name, ++count < total ? ", \\" : ")"); // ------------------------ // ctor: default @@ -1377,17 +1380,16 @@ void writeClassCtors(writer &out, const PerClass &per) out(); out(1,"// copy"); out(1,"@(const @ &other) :", per.clname, per.clname); - writeClassCtorComponent(out, per, true, total == 0); - if (total > 0) { - out(","); - count = 0; - for (const auto &m : per.metadata) - out(2,"@(this,other.@)@", m.name, m.name, sep(count,total)); - for (const auto &c : per.children) - out(2,"@(this,other.@)@", c.name, c.name, sep(count,total)); - for (const auto &v : per.variants) - out(2,"@(this,other.@)@", v.name, v.name, sep(count,total)); - } + writeClassCtorComponent(out, per, true, false); + out(","); + out(2,"comment(this,other.comment)@", std::string(total ? "," : "")); + count = 0; + for (const auto &m : per.metadata) + out(2,"@(this,other.@)@", m.name, m.name, sep(count,total)); + for (const auto &c : per.children) + out(2,"@(this,other.@)@", c.name, c.name, sep(count,total)); + for (const auto &v : per.variants) + out(2,"@(this,other.@)@", v.name, v.name, sep(count,total)); writeClassCtorBody(out, "copy", per.clname, "other"); // ------------------------ @@ -1397,17 +1399,17 @@ void writeClassCtors(writer &out, const PerClass &per) out(); out(1,"// move"); out(1,"@(@ &&other) :", per.clname, per.clname); - writeClassCtorComponent(out, per, true, total == 0); - if (total > 0) { - out(","); - count = 0; - for (const auto &m : per.metadata) - out(2,"@(this,std::move(other.@))@", m.name, m.name, sep(count,total)); - for (const auto &c : per.children) - out(2,"@(this,std::move(other.@))@", c.name, c.name, sep(count,total)); - for (const auto &v : per.variants) - out(2,"@(this,std::move(other.@))@", v.name, v.name, sep(count,total)); - } + writeClassCtorComponent(out, per, true, false); + out(","); + out(2,"comment(this,std::move(other.comment))@", + std::string(total ? "," : "")); + count = 0; + for (const auto &m : per.metadata) + out(2,"@(this,std::move(other.@))@", m.name, m.name, sep(count,total)); + for (const auto &c : per.children) + out(2,"@(this,std::move(other.@))@", c.name, c.name, sep(count,total)); + for (const auto &v : per.variants) + out(2,"@(this,std::move(other.@))@", v.name, v.name, sep(count,total)); writeClassCtorBody(out, "move", per.clname, "other"); } // writeClassCtors @@ -1449,6 +1451,11 @@ void writeClass(PerClass &per, const InfoSpecs &specs) out(1,"} defaults;"); } + // output: comment + out(); + out(1,"// comment"); + out(1,"Field> comment{this};"); + // output: fields writeClassContentMetadata(out, per); writeClassContentChildren(out, per); @@ -1500,44 +1507,28 @@ orderedJSON readJSONFile(const std::string &file, const bool print = false) // getMetadataJSON -template -auto getMetadataJSON(const orderedJSON &j) +orderedJSON getMetadataJSON(const orderedJSON &j) { static const std::string metastr = "metadata"; static const std::string attrstr = "attributes"; - const bool meta = j.contains(metastr); const bool attr = j.contains(attrstr); - if constexpr (required) { - assert(meta != attr); // exactly one - return meta ? j[metastr] : j[attrstr]; - } else { - assert(!(meta && attr)); // not both - return std::optional( - meta ? j[metastr] : attr ? j[attrstr] : orderedJSON{}); - } + assert(!(meta && attr)); // not both + return meta ? j[metastr] : attr ? j[attrstr] : orderedJSON{}; } // getMetadataJSON // getChildrenJSON -template -auto getChildrenJSON(const orderedJSON &j) +orderedJSON getChildrenJSON(const orderedJSON &j) { static const std::string chldstr = "children"; static const std::string nodestr = "childNodes"; - const bool chld = j.contains(chldstr); const bool node = j.contains(nodestr); - if constexpr (required) { - assert(chld != node); // exactly one - return chld ? j[chldstr] : j[nodestr]; - } else { - assert(!(chld && node)); // not both - return std::optional( - chld ? j[chldstr] : node ? j[nodestr] : orderedJSON{}); - } + assert(!(chld && node)); // not both + return chld ? j[chldstr] : node ? j[nodestr] : orderedJSON{}; } // getChildrenJSON @@ -1558,19 +1549,18 @@ void readChangesFile(const std::string &file, InfoSpecs &specs) specs.mapName.insert(pair(item.key(),item.value())); // Changes to metadata/attributes? - const auto metadata = getMetadataJSON(jchanges); - if (metadata.has_value()) { - // from/to pairs for "type" - if (metadata->contains("type")) - for (const auto &item : (*metadata)["type"].items()) - if (!isComment(item.key())) - specs.mapMetaType.insert(pair(item.key(),item.value())); - // from/to pairs for "default" - if (metadata->contains("default")) - for (const auto &item : (*metadata)["default"].items()) - if (!isComment(item.key())) - specs.mapMetaDefault.insert(pair(item.key(),item.value())); - } + const orderedJSON metadata = getMetadataJSON(jchanges); + + // from/to pairs for "type" + if (metadata.contains("type")) + for (const auto &item : metadata["type"].items()) + if (!isComment(item.key())) + specs.mapMetaType.insert(pair(item.key(),item.value())); + // from/to pairs for "default" + if (metadata.contains("default")) + for (const auto &item : metadata["default"].items()) + if (!isComment(item.key())) + specs.mapMetaDefault.insert(pair(item.key(),item.value())); } // readChangesFile @@ -1585,11 +1575,12 @@ void printSingletons(const std::string &file) if (!isClass(item)) continue; - const auto metadata = getMetadataJSON(rhs); - const auto children = getChildrenJSON(rhs); const bool data = rhs.contains("vector") && !rhs["vector"].is_null(); const bool body = rhs.contains("bodyText") && !rhs["bodyText"].is_null(); + const orderedJSON metadata = getMetadataJSON(rhs); + const orderedJSON children = getChildrenJSON(rhs); + if (metadata.size() == 0 && children.size() == 0 && !data && !body) log::info("This class has no metadata, data, or children: " "\"{}\"", parent); @@ -1892,8 +1883,8 @@ void getClass( per.nameGNDS = nameGNDS(keyval,nsname,true); // metadata/children information - const orderedJSON attrs = getMetadataJSON(classRHS); - const orderedJSON elems = getChildrenJSON(classRHS); + const orderedJSON attrs = getMetadataJSON(classRHS); + const orderedJSON elems = getChildrenJSON(classRHS); validateMetadata(attrs); validateChildren(elems, per); getClassMetadata(attrs, specs, per); @@ -2090,7 +2081,7 @@ void fileGNDStkKey(const InfoSpecs &specs) nameGNDS(node))); // attributes ==> metadata - const auto attrs = getMetadataJSON(node.value()); + const orderedJSON attrs = getMetadataJSON(node.value()); for (const auto &attr : attrs.items()) metadata.insert(std::make_pair( nameField(attr,specs), diff --git a/autogen/simple/.gitignore b/autogen/simple/.gitignore index 341fa1ae2..ad858e531 100644 --- a/autogen/simple/.gitignore +++ b/autogen/simple/.gitignore @@ -17,3 +17,4 @@ foobar.xml foobar.json foobar.h5 m +j diff --git a/autogen/simple/multi-classes.json b/autogen/simple/multi-classes.json index f528ed38b..26e44cda9 100644 --- a/autogen/simple/multi-classes.json +++ b/autogen/simple/multi-classes.json @@ -61,8 +61,6 @@ "type": "int", "required": true } - }, - "children": { } }, @@ -73,7 +71,6 @@ "required": true } }, - "children": { }, "vector": "double" } } diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp index 47e23b2e7..a6d51ce77 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Element.hpp @@ -33,11 +33,15 @@ class Element : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::optional{} / Meta<>("symbol") | int{} / Meta<>("atomic_number") | + // children ++Child("isotope") | --Child>("foobar") @@ -47,6 +51,9 @@ class Element : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field> symbol{this}; Field atomic_number{this}; @@ -60,6 +67,7 @@ class Element : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->symbol, \ this->atomic_number, \ this->isotope, \ @@ -98,6 +106,7 @@ class Element : public Component { // copy Element(const Element &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), symbol(this,other.symbol), atomic_number(this,other.atomic_number), isotope(this,other.isotope), @@ -109,6 +118,7 @@ class Element : public Component { // move Element(Element &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), symbol(this,std::move(other.symbol)), atomic_number(this,std::move(other.atomic_number)), isotope(this,std::move(other.isotope)), diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp index e26a64a9e..c5c838071 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Foobar.hpp @@ -32,6 +32,9 @@ class Foobar : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("value") @@ -42,6 +45,9 @@ class Foobar : public Component { using Component::construct; using BlockData::operator=; + // comment + Field> comment{this}; + // metadata Field value{this}; @@ -50,6 +56,7 @@ class Foobar : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->value) // default @@ -87,6 +94,7 @@ class Foobar : public Component { // copy Foobar(const Foobar &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), value(this,other.value) { Component::finish(other); @@ -95,6 +103,7 @@ class Foobar : public Component { // move Foobar(Foobar &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), value(this,std::move(other.value)) { Component::finish(other); diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp index 10cd0733c..fabc55ec7 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Isotope.hpp @@ -32,6 +32,9 @@ class Isotope : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata int{} / Meta<>("mass_number") @@ -41,6 +44,9 @@ class Isotope : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field mass_number{this}; @@ -49,6 +55,7 @@ class Isotope : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->mass_number) // default @@ -78,6 +85,7 @@ class Isotope : public Component { // copy Isotope(const Isotope &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), mass_number(this,other.mass_number) { Component::finish(other); @@ -86,6 +94,7 @@ class Isotope : public Component { // move Isotope(Isotope &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), mass_number(this,std::move(other.mass_number)) { Component::finish(other); diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp index 08224d822..327dce4b1 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Library.hpp @@ -32,9 +32,13 @@ class Library : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("name") | + // children ++Child("element") ; @@ -43,6 +47,9 @@ class Library : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field name{this}; @@ -54,6 +61,7 @@ class Library : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->name, \ this->element) @@ -86,6 +94,7 @@ class Library : public Component { // copy Library(const Library &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), name(this,other.name), element(this,other.element) { @@ -95,6 +104,7 @@ class Library : public Component { // move Library(Library &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), name(this,std::move(other.name)), element(this,std::move(other.element)) { diff --git a/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp b/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp index 16e61c73c..024fc697b 100644 --- a/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp +++ b/autogen/simple/multi/src/multi/v1/multigroup/Multigroup.hpp @@ -32,9 +32,13 @@ class Multigroup : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("projectile") | + // children ++Child("library") ; @@ -43,6 +47,9 @@ class Multigroup : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field projectile{this}; @@ -54,6 +61,7 @@ class Multigroup : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->projectile, \ this->library) @@ -86,6 +94,7 @@ class Multigroup : public Component { // copy Multigroup(const Multigroup &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), projectile(this,other.projectile), library(this,other.library) { @@ -95,6 +104,7 @@ class Multigroup : public Component { // move Multigroup(Multigroup &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), projectile(this,std::move(other.projectile)), library(this,std::move(other.library)) { diff --git a/src/GNDStk/BlockData.hpp b/src/GNDStk/BlockData.hpp index 2e4bfe3e6..2caae5c29 100644 --- a/src/GNDStk/BlockData.hpp +++ b/src/GNDStk/BlockData.hpp @@ -10,8 +10,8 @@ // ----------------------------------------------------------------------------- // BlockData -// The case is specialized and has the fun stuff. This one needs -// just a bit of content, in order to facilitate uniform treatment of BlockData. +// The case is specialized and has the fun stuff. This one +// needs just a bit of content, to allow for uniform treatment of BlockData. // ----------------------------------------------------------------------------- template diff --git a/src/GNDStk/BlockData/src/colors.hpp b/src/GNDStk/BlockData/src/colors.hpp index 0f0c0affb..c9b0cc949 100644 --- a/src/GNDStk/BlockData/src/colors.hpp +++ b/src/GNDStk/BlockData/src/colors.hpp @@ -7,7 +7,7 @@ namespace colors { // Specific colors: // colors::plain::* -// colors::vivid::* +// colors::bold::* // Reset/clear: // colors::reset // Note that all of these are ANSI color escape sequences. They'll work on many @@ -15,8 +15,7 @@ namespace colors { // by default, so colors aren't actually used unless someone sets it to true. namespace plain { - -inline const std::string + inline const std::string black = "\033[30;1m", red = "\033[31;1m", green = "\033[32;1m", @@ -27,12 +26,10 @@ inline const std::string violet = magenta, yellow = "\033[33;1m", white = "\033[37;1m"; +} -} // namespace plain - -namespace vivid { - -inline const std::string +namespace bold { + inline const std::string black = "\033[30;21m", red = "\033[31;21m", green = "\033[32;21m", @@ -43,8 +40,7 @@ inline const std::string violet = magenta, yellow = "\033[33;21m", white = "\033[37;21m"; - -} // namespace vivid +} inline const std::string reset = "\033[0m"; @@ -66,11 +62,11 @@ inline const std::string reset = "\033[0m"; inline std::string label = ""; inline std::string colon = ""; -// Component labels + begin/end curly braces +// Component labels, and begin/end curly braces inline std::string component = plain::magenta; inline std::string brace = plain::magenta; -// Vector labels + begin/end square brackets +// Vector labels, and begin/end square brackets inline std::string vector = plain::yellow; inline std::string bracket = plain::yellow; diff --git a/src/GNDStk/BlockData/src/detail.hpp b/src/GNDStk/BlockData/src/detail.hpp index feceb4ab9..4882b8962 100644 --- a/src/GNDStk/BlockData/src/detail.hpp +++ b/src/GNDStk/BlockData/src/detail.hpp @@ -12,6 +12,18 @@ auto scalarize(const std::variant) return std::variant{}; } +// getBounds +template +auto getBounds(const std::vector &vec) +{ + T zero; + if constexpr (std::is_same_v) zero = ""; else zero = T(0); + std::pair bnd(0,vec.size()); + while (bnd.first < bnd.second && vec[bnd.first ] == zero) ++bnd.first; + while (bnd.first < bnd.second && vec[bnd.second-1] == zero) --bnd.second; + return bnd; +} + // ----------------------------------------------------------------------------- // SFINAE constructs for detecting whether or not a class has certain members. @@ -81,6 +93,7 @@ struct has_label> { template inline constexpr bool hasIndex = has_index>::value; + template inline constexpr bool hasLabel = has_label>::value; @@ -124,22 +137,6 @@ void element2element(const T &value, std::string &str) } -// ----------------------------------------------------------------------------- -// getBounds -// ----------------------------------------------------------------------------- - -template -auto getBounds(const std::vector &vec) -{ - T zero; - if constexpr (std::is_same_v) zero = ""; else zero = T(0); - std::pair bnd(0,vec.size()); - while (bnd.first < bnd.second && vec[bnd.first ] == zero) ++bnd.first; - while (bnd.first < bnd.second && vec[bnd.second-1] == zero) --bnd.second; - return bnd; -} - - // ----------------------------------------------------------------------------- // colorize_*(text) // ----------------------------------------------------------------------------- diff --git a/src/GNDStk/Component.hpp b/src/GNDStk/Component.hpp index d2d92f4cc..21f06f9f6 100644 --- a/src/GNDStk/Component.hpp +++ b/src/GNDStk/Component.hpp @@ -160,6 +160,18 @@ class Component : public BlockData // Wrapper for derived-class fields #include "GNDStk/Component/src/field.hpp" + // Core Interface node "converter" to support comments + struct commentConverter { + void operator()(const Node &node, std::string &string) const + { + string = node.meta(special::text); + } + + void operator()(const std::string &string, Node &node) const + { + node.add(special::text,string); + } + }; }; // class Component diff --git a/standards/incremental/.gitignore b/standards/incremental/.gitignore index 779b5ea55..6ddbe5efc 100644 --- a/standards/incremental/.gitignore +++ b/standards/incremental/.gitignore @@ -1,4 +1,3 @@ -json2class.exe old.json j diff --git a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp index ac848eb0f..53d15dbea 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Atomic.hpp @@ -32,6 +32,9 @@ class Atomic : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // children --Child("configurations") ; @@ -40,6 +43,9 @@ class Atomic : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // children Field configurations{this}; @@ -48,6 +54,7 @@ class Atomic : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->configurations) // default @@ -77,6 +84,7 @@ class Atomic : public Component { // copy Atomic(const Atomic &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), configurations(this,other.configurations) { Component::finish(other); @@ -85,6 +93,7 @@ class Atomic : public Component { // move Atomic(Atomic &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), configurations(this,std::move(other.configurations)) { Component::finish(other); diff --git a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp index 9c66445b3..a59983668 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Author.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Author.hpp @@ -32,6 +32,9 @@ class Author : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("name") @@ -41,6 +44,9 @@ class Author : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field name{this}; @@ -49,6 +55,7 @@ class Author : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->name) // default @@ -78,6 +85,7 @@ class Author : public Component { // copy Author(const Author &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), name(this,other.name) { Component::finish(other); @@ -86,6 +94,7 @@ class Author : public Component { // move Author(Author &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), name(this,std::move(other.name)) { Component::finish(other); diff --git a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp index 1dcf0cdad..fc9bf9b88 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Authors.hpp @@ -32,6 +32,9 @@ class Authors : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // children ++Child("author") ; @@ -40,6 +43,9 @@ class Authors : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // children Field> author{this}; @@ -48,6 +54,7 @@ class Authors : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->author) // default @@ -77,6 +84,7 @@ class Authors : public Component { // copy Authors(const Authors &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), author(this,other.author) { Component::finish(other); @@ -85,6 +93,7 @@ class Authors : public Component { // move Authors(Authors &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), author(this,std::move(other.author)) { Component::finish(other); diff --git a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp index c84605cad..5beda5ec2 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/BindingEnergy.hpp @@ -32,6 +32,9 @@ class BindingEnergy : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // children --Child("double") ; @@ -40,6 +43,9 @@ class BindingEnergy : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // children Field Double{this}; @@ -48,6 +54,7 @@ class BindingEnergy : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->Double) // default @@ -77,6 +84,7 @@ class BindingEnergy : public Component { // copy BindingEnergy(const BindingEnergy &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), Double(this,other.Double) { Component::finish(other); @@ -85,6 +93,7 @@ class BindingEnergy : public Component { // move BindingEnergy(BindingEnergy &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), Double(this,std::move(other.Double)) { Component::finish(other); diff --git a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp index dae5b369c..9efbae68f 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Body.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Body.hpp @@ -31,18 +31,25 @@ class Body : public Component { // Core Interface multi-query to extract metadata and child nodes static auto KEYS() { - return std::tuple<>{}; + return + // comment + ++Child(special::comment)/commentConverter{} + ; } public: using Component::construct; using BlockData::operator=; + // comment + Field> comment{this}; + // ------------------------ // Constructors // ------------------------ - #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment) // default Body() : @@ -68,14 +75,16 @@ class Body : public Component { // copy Body(const Body &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment) { Component::finish(other); } // move Body(Body &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)) { Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp index b17187267..96e78cc7b 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElement.hpp @@ -32,6 +32,9 @@ class ChemicalElement : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("symbol") | @@ -39,6 +42,7 @@ class ChemicalElement : public Component { / Meta<>("Z") | std::string{} / Meta<>("name") | + // children --Child("atomic") ; @@ -47,6 +51,9 @@ class ChemicalElement : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field symbol{this}; Field Z{this}; @@ -60,6 +67,7 @@ class ChemicalElement : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->symbol, \ this->Z, \ this->name, \ @@ -98,6 +106,7 @@ class ChemicalElement : public Component { // copy ChemicalElement(const ChemicalElement &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), symbol(this,other.symbol), Z(this,other.Z), name(this,other.name), @@ -109,6 +118,7 @@ class ChemicalElement : public Component { // move ChemicalElement(ChemicalElement &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), symbol(this,std::move(other.symbol)), Z(this,std::move(other.Z)), name(this,std::move(other.name)), diff --git a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp index e6ae77a97..6356c7277 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/ChemicalElements.hpp @@ -32,6 +32,9 @@ class ChemicalElements : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // children ++Child("chemicalElement") ; @@ -40,6 +43,9 @@ class ChemicalElements : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // children Field> chemicalElement{this}; @@ -48,6 +54,7 @@ class ChemicalElements : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->chemicalElement) // default @@ -77,6 +84,7 @@ class ChemicalElements : public Component { // copy ChemicalElements(const ChemicalElements &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), chemicalElement(this,other.chemicalElement) { Component::finish(other); @@ -85,6 +93,7 @@ class ChemicalElements : public Component { // move ChemicalElements(ChemicalElements &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), chemicalElement(this,std::move(other.chemicalElement)) { Component::finish(other); diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp index ef8f17dde..f344449aa 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configuration.hpp @@ -32,11 +32,15 @@ class Configuration : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("subshell") | std::string{} / Meta<>("electronNumber") | + // children --Child("bindingEnergy") ; @@ -45,6 +49,9 @@ class Configuration : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field subshell{this}; Field electronNumber{this}; @@ -57,6 +64,7 @@ class Configuration : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->subshell, \ this->electronNumber, \ this->bindingEnergy) @@ -92,6 +100,7 @@ class Configuration : public Component { // copy Configuration(const Configuration &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), subshell(this,other.subshell), electronNumber(this,other.electronNumber), bindingEnergy(this,other.bindingEnergy) @@ -102,6 +111,7 @@ class Configuration : public Component { // move Configuration(Configuration &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), subshell(this,std::move(other.subshell)), electronNumber(this,std::move(other.electronNumber)), bindingEnergy(this,std::move(other.bindingEnergy)) diff --git a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp index 0f3ee944c..6cd135b8c 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Configurations.hpp @@ -32,6 +32,9 @@ class Configurations : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // children ++Child("configuration") ; @@ -40,6 +43,9 @@ class Configurations : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // children Field> configuration{this}; @@ -48,6 +54,7 @@ class Configurations : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->configuration) // default @@ -77,6 +84,7 @@ class Configurations : public Component { // copy Configurations(const Configurations &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), configuration(this,other.configuration) { Component::finish(other); @@ -85,6 +93,7 @@ class Configurations : public Component { // move Configurations(Configurations &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), configuration(this,std::move(other.configuration)) { Component::finish(other); diff --git a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp index 900136985..adf519f6c 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Date.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Date.hpp @@ -32,6 +32,9 @@ class Date : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("value") | @@ -43,6 +46,9 @@ class Date : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field value{this}; Field dateType{this}; @@ -52,6 +58,7 @@ class Date : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->value, \ this->dateType) @@ -84,6 +91,7 @@ class Date : public Component { // copy Date(const Date &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), value(this,other.value), dateType(this,other.dateType) { @@ -93,6 +101,7 @@ class Date : public Component { // move Date(Date &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), value(this,std::move(other.value)), dateType(this,std::move(other.dateType)) { diff --git a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp index 11178bdbc..764baeba2 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Dates.hpp @@ -32,6 +32,9 @@ class Dates : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // children ++Child("date") ; @@ -40,6 +43,9 @@ class Dates : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // children Field> date{this}; @@ -48,6 +54,7 @@ class Dates : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->date) // default @@ -77,6 +84,7 @@ class Dates : public Component { // copy Dates(const Dates &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), date(this,other.date) { Component::finish(other); @@ -85,6 +93,7 @@ class Dates : public Component { // move Dates(Dates &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), date(this,std::move(other.date)) { Component::finish(other); diff --git a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp index 0ac1f33e4..17230728e 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Documentation.hpp @@ -36,6 +36,9 @@ class Documentation : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // children --Child("authors") | --Child("dates") | @@ -48,6 +51,9 @@ class Documentation : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // children Field authors{this}; Field dates{this}; @@ -60,6 +66,7 @@ class Documentation : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->authors, \ this->dates, \ this->title, \ @@ -101,6 +108,7 @@ class Documentation : public Component { // copy Documentation(const Documentation &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), authors(this,other.authors), dates(this,other.dates), title(this,other.title), @@ -113,6 +121,7 @@ class Documentation : public Component { // move Documentation(Documentation &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), authors(this,std::move(other.authors)), dates(this,std::move(other.dates)), title(this,std::move(other.title)), diff --git a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp index 477e8fcd4..c5b450d53 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Double.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Double.hpp @@ -32,6 +32,9 @@ class Double : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("label") | @@ -45,6 +48,9 @@ class Double : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field label{this}; Field value{this}; @@ -55,6 +61,7 @@ class Double : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->label, \ this->value, \ this->unit) @@ -90,6 +97,7 @@ class Double : public Component { // copy Double(const Double &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), label(this,other.label), value(this,other.value), unit(this,other.unit) @@ -100,6 +108,7 @@ class Double : public Component { // move Double(Double &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), label(this,std::move(other.label)), value(this,std::move(other.value)), unit(this,std::move(other.unit)) diff --git a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp index eeb4c03ab..787e06249 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/EndfCompatible.hpp @@ -31,18 +31,25 @@ class EndfCompatible : public Component { // Core Interface multi-query to extract metadata and child nodes static auto KEYS() { - return std::tuple<>{}; + return + // comment + ++Child(special::comment)/commentConverter{} + ; } public: using Component::construct; using BlockData::operator=; + // comment + Field> comment{this}; + // ------------------------ // Constructors // ------------------------ - #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment) // default EndfCompatible() : @@ -68,14 +75,16 @@ class EndfCompatible : public Component { // copy EndfCompatible(const EndfCompatible &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment) { Component::finish(other); } // move EndfCompatible(EndfCompatible &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)) { Component::finish(other); } diff --git a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp index 01dbcf388..ac7736894 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Evaluated.hpp @@ -32,6 +32,9 @@ class Evaluated : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("label") | @@ -41,6 +44,7 @@ class Evaluated : public Component { / Meta<>("library") | std::string{} / Meta<>("version") | + // children --Child("documentation") ; @@ -49,6 +53,9 @@ class Evaluated : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field label{this}; Field date{this}; @@ -63,6 +70,7 @@ class Evaluated : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->label, \ this->date, \ this->library, \ @@ -104,6 +112,7 @@ class Evaluated : public Component { // copy Evaluated(const Evaluated &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), label(this,other.label), date(this,other.date), library(this,other.library), @@ -116,6 +125,7 @@ class Evaluated : public Component { // move Evaluated(Evaluated &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), label(this,std::move(other.label)), date(this,std::move(other.date)), library(this,std::move(other.library)), diff --git a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp index 7cf3d5459..15a610ab7 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/PoPs.hpp @@ -33,6 +33,9 @@ class PoPs : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // metadata std::string{} / Meta<>("name") | @@ -40,6 +43,7 @@ class PoPs : public Component { / Meta<>("version") | std::string{} / Meta<>("format") | + // children --Child("styles") | --Child("chemicalElements") @@ -49,6 +53,9 @@ class PoPs : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // metadata Field name{this}; Field version{this}; @@ -63,6 +70,7 @@ class PoPs : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->name, \ this->version, \ this->format, \ @@ -104,6 +112,7 @@ class PoPs : public Component { // copy PoPs(const PoPs &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), name(this,other.name), version(this,other.version), format(this,other.format), @@ -116,6 +125,7 @@ class PoPs : public Component { // move PoPs(PoPs &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), name(this,std::move(other.name)), version(this,std::move(other.version)), format(this,std::move(other.format)), diff --git a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp index 39bc3e1d9..4a4d0864b 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Styles.hpp @@ -32,6 +32,9 @@ class Styles : public Component { static auto KEYS() { return + // comment + ++Child(special::comment)/commentConverter{} | + // children --Child("evaluated") ; @@ -40,6 +43,9 @@ class Styles : public Component { public: using Component::construct; + // comment + Field> comment{this}; + // children Field evaluated{this}; @@ -48,6 +54,7 @@ class Styles : public Component { // ------------------------ #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment, \ this->evaluated) // default @@ -77,6 +84,7 @@ class Styles : public Component { // copy Styles(const Styles &other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment), evaluated(this,other.evaluated) { Component::finish(other); @@ -85,6 +93,7 @@ class Styles : public Component { // move Styles(Styles &&other) : GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)), evaluated(this,std::move(other.evaluated)) { Component::finish(other); diff --git a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp index 3db79cf2b..017504e32 100644 --- a/standards/incremental/code/src/code/v2.0/gnds/Title.hpp +++ b/standards/incremental/code/src/code/v2.0/gnds/Title.hpp @@ -31,18 +31,25 @@ class Title : public Component { // Core Interface multi-query to extract metadata and child nodes static auto KEYS() { - return std::tuple<>{}; + return + // comment + ++Child(special::comment)/commentConverter{} + ; } public: using Component::construct; using BlockData::operator=; + // comment + Field> comment{this}; + // ------------------------ // Constructors // ------------------------ - #define GNDSTK_COMPONENT(blockdata) Component(blockdata) + #define GNDSTK_COMPONENT(blockdata) Component(blockdata, \ + this->comment) // default Title() : @@ -68,14 +75,16 @@ class Title : public Component { // copy Title(const Title &other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,other.comment) { Component::finish(other); } // move Title(Title &&other) : - GNDSTK_COMPONENT(other.baseBlockData()) + GNDSTK_COMPONENT(other.baseBlockData()), + comment(this,std::move(other.comment)) { Component::finish(other); } diff --git a/standards/incremental/incremental-classes.json b/standards/incremental/incremental-classes.json index 7eaae5a69..f9d6f2b46 100644 --- a/standards/incremental/incremental-classes.json +++ b/standards/incremental/incremental-classes.json @@ -29,7 +29,6 @@ }, "styles": { - "metadata": {}, "children": { "evaluated": { "times": "1", @@ -66,7 +65,6 @@ }, "documentation": { - "metadata": {}, "children": { "authors": { "times": "1", @@ -92,7 +90,6 @@ }, "authors": { - "metadata": {}, "children": { "author": { "times": "1+", @@ -107,12 +104,10 @@ "required": true, "type": "string" } - }, - "children": {} + } }, "dates": { - "metadata": {}, "children": { "date": { "times": "1+", @@ -131,30 +126,22 @@ "required": true, "type": "dateType" } - }, - "children": {} + } }, "title": { - "metadata": {}, - "vector": "", - "children": {} + "vector": "" }, "body": { - "metadata": {}, - "vector": "", - "children": {} + "vector": "" }, "endfCompatible": { - "metadata": {}, - "vector": "", - "children": {} + "vector": "" }, "chemicalElements": { - "metadata": {}, "children": { "chemicalElement": { "times": "1+", @@ -187,7 +174,6 @@ }, "atomic": { - "metadata": {}, "children": { "configurations": { "times": "1", @@ -197,7 +183,6 @@ }, "configurations": { - "metadata": {}, "children": { "configuration": { "times": "1+", @@ -226,7 +211,6 @@ }, "bindingEnergy": { - "metadata": {}, "children": { "double": { "times": "1", @@ -249,7 +233,6 @@ "required": true, "type": "string" } - }, - "children": {} + } } } From 9b75f75bbdca06aa7e7a7f14e5b9f43cfc8aeb24 Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Tue, 20 Dec 2022 20:31:41 -0700 Subject: [PATCH 233/235] Finished a "comment" capability in all autogenerated classes. Convenience functions: xml(), json(), hdf5() for quick printing. Improved formulations for various functions in class Field. Gave class Field a size() and operator[] where warranted. Similarly to above, with class FieldPart as well. --- src/GNDStk/CInterface/src/detail.hpp | 5 +- src/GNDStk/Component/src/detail-getter.hpp | 4 +- src/GNDStk/Component/src/field.hpp | 160 ++++++++++++++---- src/GNDStk/Component/src/fromNode.hpp | 8 +- src/GNDStk/Component/src/print.hpp | 28 +++ src/GNDStk/Component/src/setter.hpp | 4 +- src/GNDStk/convert/src/detail-json2node.hpp | 9 +- standards/incremental/example/0.cpp | 8 +- standards/incremental/example/compile | 3 +- .../incremental/incremental-classes.json | 1 + 10 files changed, 182 insertions(+), 48 deletions(-) diff --git a/src/GNDStk/CInterface/src/detail.hpp b/src/GNDStk/CInterface/src/detail.hpp index e08961576..0485a09f3 100644 --- a/src/GNDStk/CInterface/src/detail.hpp +++ b/src/GNDStk/CInterface/src/detail.hpp @@ -517,7 +517,10 @@ HANDLE getByMetadatum( } // setByMetadatum -template +template< + class CPP, class CLASS, class C, + class EXTRACT, class META, class V, class T +> void setByMetadatum( const std::string &classname, const std::string &funname, diff --git a/src/GNDStk/Component/src/detail-getter.hpp b/src/GNDStk/Component/src/detail-getter.hpp index 1df608eb7..ef773a0ab 100644 --- a/src/GNDStk/Component/src/detail-getter.hpp +++ b/src/GNDStk/Component/src/detail-getter.hpp @@ -79,6 +79,7 @@ const T &getter( // !hasIndex // No "index" is anywhere to be found in T. Here, then, we interpret // this function's index parameter to be a C++ vector [index]. + // zzz Really need to rethink "index" and "label" interpretations. if (index < vec.size()) return vec[index]; @@ -254,7 +255,8 @@ const T &getter( "Keeping the first element that was found.", look.name, look.placeholder ); - log::member(context, nname, cname, fname, look.name, look.placeholder); + log::member(context, nname, cname, fname, look.name, + look.placeholder); } else object = ptr; } diff --git a/src/GNDStk/Component/src/field.hpp b/src/GNDStk/Component/src/field.hpp index 5cc4f82ac..d66c4ff07 100644 --- a/src/GNDStk/Component/src/field.hpp +++ b/src/GNDStk/Component/src/field.hpp @@ -97,7 +97,7 @@ class Field { // class - say, Element - that contains a vector of isotopes, and that // the Isotope class contains an integer metadatum called mass_number.) // Note: the SFINAE is such that this function is enabled iff a call to - // operator()(key) of the present class would be valid, and return bool. + // operator()(key) of the present class would be valid and return bool. template< class KEY, class = std::enable_if_t (via the "has" function) + // (index/label/Lookup), including Lookup (via the "has" function) // If T == vector template< class KEY, class = detail::isSearchKey, @@ -162,6 +162,35 @@ class Field { decltype(auto) operator()(const KEY &key) { return parent.getter(wrappedValue,key); } + // [index/label/Lookup] + // If T == vector + template< + class KEY, class = detail::isSearchKey, + class TEE = T, class = detail::isVectorOrOptionalVector_t + > + decltype(auto) operator[](const KEY &key) const + { return (*this)(key); } + + template< + class KEY, class = detail::isSearchKey, + class TEE = T, class = detail::isVectorOrOptionalVector_t + > + decltype(auto) operator[](const KEY &key) + { return (*this)(key); } + + // size() + // If T == vector + template< + class TEE = T, class = detail::isVectorOrOptionalVector_t + > + std::size_t size() const + { + if constexpr (detail::isOptional) + return wrappedValue.has_value() ? wrappedValue->size() : 0; + else + return wrappedValue.size(); + } + // ------------------------ // Conversions // ------------------------ @@ -196,30 +225,44 @@ class Field { } // ------------------------ - // Setters + // Setters: general // ------------------------ // replace(T) // Replace existing value with another. + // Provides a "builder pattern" for DERIVED. DERIVED &replace(const T &val) { wrappedValue = val; return parent; } + // operator()(T) + // Provides a "builder pattern" for DERIVED. Note that no ambiguity should + // arise with Field's operator() that accepts an index, a label, or + // a Lookup object, because the parameter here is also a T (and thus is a + // vector if we're in a Field). DERIVED &operator()(const T &val) { return replace(val); } - DERIVED &operator=(const T &val) + // operator=(T) + // Returns the left-hand side, as one would probably expect. For assignment, + // a builder pattern for DERIVED would just be goofy. + Field &operator=(const T &val) { - return replace(val); + return replace(val), *this; } + // ------------------------ + // Setters: for Defaulted; + // remarks as above + // ------------------------ + // replace(optional) - // If T == Defaulted // Replace existing Defaulted's value with the given optional value. + // Provides a "builder pattern" for DERIVED. template> DERIVED &replace(const std::optional &opt) { @@ -227,46 +270,76 @@ class Field { return parent; } + // operator()(optional) + // As above. template> DERIVED &operator()(const std::optional &opt) { return replace(opt); } + // operator=(optional) + // As above, except returns Field, as expected for assignment. template> - DERIVED &operator=(const std::optional &opt) + Field &operator=(const std::optional &opt) { - return replace(opt); + return replace(opt), *this; } + // ------------------------ + // Setters: add to vector + // ------------------------ + // add(element) // If T == [optional] vector - // Add (via push_back) to this->wrappedValue, which in this context + // Add (via push_back()) to this->wrappedValue, which in this context // is a vector. template> - DERIVED &add( + Field &add( const typename detail::isVectorOrOptionalVector::value_type &elem ) { - parent.setter(wrappedValue, elem); - return parent; + Component::setter(wrappedValue, elem); + return *this; } + // Here, we actually don't want an operator() that forwards to add(), like + // the operator()s that forwarded to replace() in earlier setters. Imagine + // that this Field wrapped, say, a vector. If someone used the above + // add() function and wrote field.add(123), the meaning is clearly that 123 + // is to be added (think push_back()) to the vector. But if we allowed + // for an operator() that forwards to add(), and someone used it to write + // field(123), they *might* want 123 added to the vector - or they might + // be intending to retrieve vector[123]. In the *getter* functions defined + // earlier, note that we do indeed allow both operator() and operator[] for + // retrieving vector elements (by index, label, or Lookup object). I suppose + // we could allow only the operator[] form for getting, and then be able to + // have an operator() setter here, with the same meaning as add(). However, + // we believe that the getter's use of the operator() in question provides + // for the better and more-expected meaning. + + // operator+=(element) template> - DERIVED &operator()( + Field &operator+=( const typename detail::isVectorOrOptionalVector::value_type &elem ) { return add(elem); } - template> - DERIVED &operator+=( - const typename detail::isVectorOrOptionalVector::value_type &elem - ) { - return add(elem); - } + // ------------------------ + // Setters: for vector or + // optional vector, replace + // an element + // ------------------------ + + // The following may not see too much use. They mostly have the same effect + // as indexing into the vector and then doing an assignment. The difference + // is that these functions endow the operation with a "builder pattern" for + // DERIVED, and in that respect are analogous to replace(T) and operator()(T) + // as defined earlier. Indexing+assignment, in contrast, returns a reference + // to the assignment's left-hand side (as one would expect from assignment), + // which is the current Field, not its parent DERIVED. // replace(index/label/Lookup, element) - // If T == [optional] vector // Find the vector's element that has the given index, label, or Lookup, // and replace it with the given replacement element. template< @@ -281,6 +354,7 @@ class Field { return parent; } + // operator()(index/label/Lookup, element) template< class KEY, class = detail::isSearchKeyRefReturn, class TEE = T, class = detail::isVectorOrOptionalVector_t @@ -537,7 +611,7 @@ class FieldPart,PART> { return p ? std::optional{*p} : std::optional{}; } - // index/label/Lookup, including Lookup (via the "has" function) + // (index/label/Lookup), including Lookup (via the "has" function) template< class KEY, class = detail::isSearchKey, class T = WHOLE, class = detail::isVector_t @@ -573,6 +647,31 @@ class FieldPart,PART> { } } + // [index/label/Lookup] + template< + class KEY, class = detail::isSearchKey, + class T = WHOLE, class = detail::isVector_t + > + decltype(auto) operator[](const KEY &key) const + { return (*this)(key); } + + template< + class KEY, class = detail::isSearchKey, + class T = WHOLE, class = detail::isVector_t + > + decltype(auto) operator[](const KEY &key) + { return (*this)(key); } + + // size() + // If T == vector + template< + class T = WHOLE, class = detail::isVector_t + > + std::size_t size() const + { + return whole.size(); + } + // ------------------------ // Setters // ------------------------ @@ -586,33 +685,30 @@ class FieldPart,PART> { return whole.parent; } + // operator()(value) template, int> = 0> DERIVED &operator()(const std::optional &opt) { return replace(opt); } + // operator=(value) template, int> = 0> - DERIVED &operator=(const std::optional &opt) + FieldPart &operator=(const std::optional &opt) { - return replace(opt); + return replace(opt), *this; } // add(value) // If WHOLE == vector template> - DERIVED &add(const std::optional &opt) + FieldPart &add(const std::optional &opt) { if (opt) whole.add(opt.value()); - return whole.parent; - } - - template, int> = 0> - DERIVED &operator()(const std::optional &opt) - { - return add(opt); + return *this; } + // operator+=(value) template> DERIVED &operator+=(const std::optional &opt) { @@ -621,8 +717,6 @@ class FieldPart,PART> { // replace(index/label/Lookup, element) // If WHOLE == vector - // Find the vector's element that has the given index, label, or Lookup, - // and replace it with the given replacement value. template< class KEY, class = detail::isSearchKeyRefReturn, class T = WHOLE, class = detail::isVector_t> diff --git a/src/GNDStk/Component/src/fromNode.hpp b/src/GNDStk/Component/src/fromNode.hpp index e85a84875..4515cf21f 100644 --- a/src/GNDStk/Component/src/fromNode.hpp +++ b/src/GNDStk/Component/src/fromNode.hpp @@ -48,7 +48,7 @@ void transferChild( // Derives from Component, so we know that it has, via Component, // a .read(node) function, which should be most efficient to use // for "conversion" of the Node to a Foo. - node.child(to, key/[](const Node &node, DEST &to) { to.read(node); }); + node.child(to, key/[](const Node &n, DEST &to) { to.read(n); }); } else if constexpr (detail::isOptional) { using OPT = typename DEST::value_type; // type the optional may contain @@ -59,7 +59,7 @@ void transferChild( // *** optional> if (!to.has_value()) to = OPT{}; - node.child(to, key/[](const Node &node, ELEM &e) { e.read(node); }); + node.child(to, key/[](const Node &n, ELEM &e) { e.read(n); }); } else { // *** optional> node.child(to, key); @@ -67,7 +67,7 @@ void transferChild( } else { if constexpr (detail::isDerivedFromComponent::value) { // *** optional - node.child(to, key/[](const Node &node, OPT &to) { to.read(node); }); + node.child(to, key/[](const Node &n, OPT &to) { to.read(n); }); } else { // *** optional node.child(to, key); @@ -77,7 +77,7 @@ void transferChild( using ELEM = typename DEST::value_type; // vector element type if constexpr (detail::isDerivedFromComponent::value) { // *** vector - node.child(to, key/[](const Node &node, ELEM &e) { e.read(node); }); + node.child(to, key/[](const Node &n, ELEM &e) { e.read(n); }); } else { // *** vector node.child(to, key); diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index 466f97063..df77a22a2 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -207,3 +207,31 @@ DERIVED &print(std::ostream &os = std::cout) print(os,0) << std::endl; return *static_cast(this); } + + +// ----------------------------------------------------------------------------- +// Component::xml() +// Component::json() +// Component::hdf5() +// +// Shortcuts: like write(), but (1) in the given format, (2) to std::cout +// by default, and (3) with the trailing newline, print()-style. +// ----------------------------------------------------------------------------- + +// xml +std::ostream &xml(std::ostream &os = std::cout, const bool decl = false) const +{ + return write(os, "xml", decl) << std::endl, os; +} + +// json +std::ostream &json(std::ostream &os = std::cout, const bool decl = false) const +{ + return write(os, "json", decl) << std::endl, os; +} + +// hdf5 +std::ostream &hdf5(std::ostream &os = std::cout, const bool decl = false) const +{ + return write(os, "hdf5", decl) << std::endl, os; +} diff --git a/src/GNDStk/Component/src/setter.hpp b/src/GNDStk/Component/src/setter.hpp index 58b4a1e96..51146144e 100644 --- a/src/GNDStk/Component/src/setter.hpp +++ b/src/GNDStk/Component/src/setter.hpp @@ -8,7 +8,7 @@ template< std::is_constructible_v || std::is_convertible_v > > -void setter(std::vector &vec, const FROM &value) +static void setter(std::vector &vec, const FROM &value) { vec.push_back(value); } @@ -21,7 +21,7 @@ template< std::is_constructible_v || std::is_convertible_v > > -void setter(std::optional> &opt, const FROM &value) +static void setter(std::optional> &opt, const FROM &value) { if (!opt.has_value()) opt = std::vector{}; diff --git a/src/GNDStk/convert/src/detail-json2node.hpp b/src/GNDStk/convert/src/detail-json2node.hpp index 756747ed8..93428cffc 100644 --- a/src/GNDStk/convert/src/detail-json2node.hpp +++ b/src/GNDStk/convert/src/detail-json2node.hpp @@ -147,10 +147,13 @@ void json2node(const orderedJSON &object, NODE &node, bool inferNodeName) } } else { beginsin(key,special::data) - ? node.add(special::data ).add(special::text, json_array(val)) + ? node.add(special::data ) + .add(special::text, json_array(val)) : beginsin(key,special::cdata) - ? node.add(special::cdata ).add(special::text, val.get()) - : node.add(special::comment).add(special::text, val.get()); + ? node.add(special::cdata ) + .add(special::text, val.get()) + : node.add(special::comment) + .add(special::text, val.get()); } } else if (endsin(key,special::nodename) || endsin(key,special::metadata)) { diff --git a/standards/incremental/example/0.cpp b/standards/incremental/example/0.cpp index cf51a2940..0c6c2233e 100644 --- a/standards/incremental/example/0.cpp +++ b/standards/incremental/example/0.cpp @@ -42,10 +42,14 @@ int main(const int argc, const char *const *const argv) for (int n = 1; n < argc; ++n) { const std::string filename = argv[n]; std::cout << "\nFile: \"" << filename << '"' << std::endl; + print(); gnds::PoPs pops; - for (int n = 0; n < 100000; ++n) - pops.read(filename); + pops.read(filename); + ///pops.print(); // Component's prettyprinting + ///pops.write(); // Internal debug format :-/ + pops.xml(); + print(); } #if 0 diff --git a/standards/incremental/example/compile b/standards/incremental/example/compile index 924b0940f..0b490b893 100755 --- a/standards/incremental/example/compile +++ b/standards/incremental/example/compile @@ -16,8 +16,7 @@ COMPILE=" -lhdf5 -fno-show-column -Wno-unused-command-line-argument - -O3 -Wall -Wextra -Wpedantic " -# -g -O3 + -Wall -Wextra -Wpedantic " if [ ! -f "pugixml.o" ]; then echo 'Compiling pugixml.cpp...' diff --git a/standards/incremental/incremental-classes.json b/standards/incremental/incremental-classes.json index f9d6f2b46..b6953333e 100644 --- a/standards/incremental/incremental-classes.json +++ b/standards/incremental/incremental-classes.json @@ -120,6 +120,7 @@ "metadata": { "value": { "required": true, + "remark": "type changes to (std::)string via changes.json...", "type": "date" }, "dateType": { From 33ad7af75b5694a8fc3c2a274bcede304ca94c6d Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Thu, 22 Dec 2022 19:28:25 -0700 Subject: [PATCH 234/235] Simplified some code related to constructors in Component-derived classes. Tweaked the prettyprinting coloring scheme of Component-derived classes. Also tweaked the prettyprinting formatting a bit. Made the names of some global flags more consistent. Fixed a comment that was no longer correct, and another that had a typo. Updates some test codes, as necessary. Put in some other variations of the xml(), json(), and hdf5() print functions. --- autogen/json2class.cpp | 8 +- autogen/simple/example-01.cpp | 2 +- autogen/simple/example-02.cpp | 2 +- c/src/GNDStk.cpp | 12 +- src/GNDStk/BlockData.hpp | 2 +- src/GNDStk/BlockData/src/colors.hpp | 59 +++++----- src/GNDStk/BlockData/src/detail.hpp | 4 +- src/GNDStk/BlockData/src/print.hpp | 8 +- src/GNDStk/Child.hpp | 2 +- src/GNDStk/Component/src/detail.hpp | 95 ++++++++++++---- src/GNDStk/Component/src/finish.hpp | 40 ++----- src/GNDStk/Component/src/print.hpp | 107 +++++++++++++++--- src/GNDStk/Component/src/read.hpp | 10 +- src/GNDStk/Component/test/Component.test.cpp | 2 +- src/GNDStk/Component/test/detail.test.cpp | 26 +++-- src/GNDStk/Component/test/print.test.cpp | 6 +- src/GNDStk/convert/src/HDF5.hpp | 2 +- src/GNDStk/convert/src/JSON.hpp | 2 +- src/GNDStk/convert/src/XML.hpp | 2 +- src/GNDStk/type2string.hpp | 6 +- .../type2string/test/type2string.test.cpp | 8 +- src/GNDStk/utility.hpp | 23 ++-- standards/gnds-2.0/try/0.cpp | 4 +- standards/incremental/example/0.cpp | 4 +- 24 files changed, 272 insertions(+), 164 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 0799ffe3f..82718d643 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -224,11 +224,11 @@ void action(const std::string &str) static const std::string inverse = "\033[7m"; static const std::string background(80,' '); std::cout - << inverse << colors::plain::blue << '\n' + << inverse << color::plain::blue << '\n' << background << '\n' << std::setw(80) << std::left << str << '\n' << background << '\n' - << colors::reset + << color::reset << std::endl; } @@ -1490,7 +1490,7 @@ orderedJSON readJSONFile(const std::string &file, const bool print = false) if (print) { const std::string f = beginsin(file,"./") ? std::string(&file[2]) : file; std::cout << "File: "; - std::cout << '"' << colors::plain::purple << f << colors::reset << '"'; + std::cout << '"' << color::plain::magenta << f << color::reset << '"'; std::cout << std::endl; } @@ -3456,7 +3456,7 @@ void filePythonClass(const InfoSpecs &specs, const PerClass &per) int main(const int argc, const char *const *const argv) { // For GNDStk's diagnostics - color = true; + colors = true; // READ INFORMATION from the JSON file on the command line InfoSpecs specs; diff --git a/autogen/simple/example-01.cpp b/autogen/simple/example-01.cpp index 80950cf96..f9afcc1b5 100644 --- a/autogen/simple/example-01.cpp +++ b/autogen/simple/example-01.cpp @@ -4,7 +4,7 @@ using namespace multi::v1; int main() { - color = true; + colors = true; // Make some elements. We can make elements ("outer // objects") first, then add isotopes ("inner objects"). diff --git a/autogen/simple/example-02.cpp b/autogen/simple/example-02.cpp index b5b38bca7..42d409b21 100644 --- a/autogen/simple/example-02.cpp +++ b/autogen/simple/example-02.cpp @@ -4,7 +4,7 @@ using namespace multi::v1; int main() { - color = true; + colors = true; // Try a Foobar all by itself { diff --git a/c/src/GNDStk.cpp b/c/src/GNDStk.cpp index 696946dad..9e7f9f4ba 100644 --- a/c/src/GNDStk.cpp +++ b/c/src/GNDStk.cpp @@ -27,9 +27,9 @@ void align(const int value) njoy::GNDStk::align = bool(value); } -void color(const int value) +void colors(const int value) { - njoy::GNDStk::color = bool(value); + njoy::GNDStk::colors = bool(value); } // ------------------------ @@ -58,14 +58,14 @@ void truncation(const long value) // Re: GNDStk diagnostics // ------------------------ -void note(const int value) +void notes(const int value) { - njoy::GNDStk::info = bool(value); + njoy::GNDStk::notes = bool(value); } -void warning(const int value) +void warnings(const int value) { - njoy::GNDStk::warning = bool(value); + njoy::GNDStk::warnings = bool(value); } void debug(const int value) diff --git a/src/GNDStk/BlockData.hpp b/src/GNDStk/BlockData.hpp index 2caae5c29..54d684339 100644 --- a/src/GNDStk/BlockData.hpp +++ b/src/GNDStk/BlockData.hpp @@ -137,7 +137,7 @@ class BlockData { // Print to ostream #include "GNDStk/BlockData/src/print.hpp" - // Pull/push length/start/valueType from/to derived-class struct Content + // Pull/push length/start/valueType from/to derived-class object #include "GNDStk/BlockData/src/sync.hpp" // Assignment diff --git a/src/GNDStk/BlockData/src/colors.hpp b/src/GNDStk/BlockData/src/colors.hpp index c9b0cc949..9d4531a04 100644 --- a/src/GNDStk/BlockData/src/colors.hpp +++ b/src/GNDStk/BlockData/src/colors.hpp @@ -1,18 +1,18 @@ -namespace colors { +namespace color { // ----------------------------------------------------------------------------- // Colors themselves // ----------------------------------------------------------------------------- // Specific colors: -// colors::plain::* -// colors::bold::* +// color::plain::* +// color::bold::* // Reset/clear: -// colors::reset -// Note that all of these are ANSI color escape sequences. They'll work on many -// terminals, perhaps most, but working isn't guaranteed. GNDStk::color is false -// by default, so colors aren't actually used unless someone sets it to true. +// color::reset +// All of these are ANSI color escape sequences. They'll work on many terminals, +// perhaps most, but working isn't guaranteed. The GNDStk::colors flag is false +// by default, so that colors aren't used unless a user sets it to true. namespace plain { inline const std::string @@ -22,8 +22,6 @@ namespace plain { blue = "\033[34;1m", cyan = "\033[36;1m", magenta = "\033[35;1m", - purple = magenta, - violet = magenta, yellow = "\033[33;1m", white = "\033[37;1m"; } @@ -36,8 +34,6 @@ namespace bold { blue = "\033[34;21m", cyan = "\033[36;21m", magenta = "\033[35;21m", - purple = magenta, - violet = magenta, yellow = "\033[33;21m", white = "\033[37;21m"; } @@ -53,33 +49,44 @@ inline const std::string reset = "\033[0m"; // ----------------------------------------------------------------------------- // Use: -// colors::part +// color::part // Where part is a particular portion of the relevant printed output. // Available parts appear below. "" means no special color treatment, // so that users get whatever text color their terminal already uses. -// General labels, and colon separator between label and value -inline std::string label = ""; +// Note: the following seemed to work reasonably well on terminal applications +// we tried. One such app, in particular, was "terminator" on a Linux platform. +// We like terminator, because it allows a single terminal window to be split, +// recursively, horizontally or vertically. (Allowing someone to run several +// logically related codes on different command prompts, but within the same +// overall window on their screen.) We noticed, however, that terminator prints +// all of the above-defined bold:: colors not only colored, but underlined as +// well. So, we avoided using bold:: colors below, as we found the underlines +// to be more distracting than helpful. + +// General labels, colon separator between label and value, and values +inline std::string label = plain::blue; inline std::string colon = ""; +inline std::string value = plain::magenta; -// Component labels, and begin/end curly braces -inline std::string component = plain::magenta; -inline std::string brace = plain::magenta; +// Component labels, and their begin/end curly braces +inline std::string component = plain::blue; +inline std::string brace = plain::blue; -// Vector labels, and begin/end square brackets -inline std::string vector = plain::yellow; -inline std::string bracket = plain::yellow; +// Vector labels, and their begin/end square brackets +inline std::string vector = plain::green; +inline std::string bracket = plain::green; // If optional/defaulted, label (but not curly braces or square brackets, -// where applicable) are modified to these. Both are blue-ish, reflecting -// the general similarities between std::optional and GNDStk::Defaulted. +// where applicable) is modified to these. inline std::string optional = plain::cyan; -inline std::string defaulted = plain::blue; +inline std::string defaulted = plain::cyan; // Values in nodes with block data -inline std::string value = plain::white; +inline std::string data = plain::white; -// Comments +// Comments - both those that we will (optionally) emit, and also those +// that appear in a comment vector in a Component-derived class. inline std::string comment = plain::red; -} // namespace colors +} // namespace color diff --git a/src/GNDStk/BlockData/src/detail.hpp b/src/GNDStk/BlockData/src/detail.hpp index 4882b8962..c35df6cba 100644 --- a/src/GNDStk/BlockData/src/detail.hpp +++ b/src/GNDStk/BlockData/src/detail.hpp @@ -145,8 +145,8 @@ void element2element(const T &value, std::string &str) #define gndstkColorFun(part) \ inline std::string gndstkPaste(colorize_,part)(const std::string &text) \ { \ - return GNDStk::color && colors::part != "" \ - ? colors::part + text + colors::reset \ + return GNDStk::colors && color::part != "" \ + ? color::part + text + color::reset \ : text; \ } diff --git a/src/GNDStk/BlockData/src/print.hpp b/src/GNDStk/BlockData/src/print.hpp index 9a7eae7d6..4a9d6ec8b 100644 --- a/src/GNDStk/BlockData/src/print.hpp +++ b/src/GNDStk/BlockData/src/print.hpp @@ -12,7 +12,7 @@ std::ostream &print(std::ostream &os, const int level) const return os; // Coloring? - const bool coloring = GNDStk::color && GNDStk::colors::value != ""; + const bool coloring = GNDStk::colors && GNDStk::color::data != ""; // ------------------------ // If string is active @@ -22,7 +22,7 @@ std::ostream &print(std::ostream &os, const int level) const // Print the string exactly as-is, without our column formatting // or any indentation; then also print a newline return coloring - ? os << colors::value << rawstring << colors::reset << std::endl + ? os << color::data << rawstring << color::reset << std::endl : os << rawstring << std::endl; } @@ -56,12 +56,12 @@ std::ostream &print(std::ostream &os, const int level) const // value using namespace detail; - if (coloring) os << colors::value; + if (coloring) os << color::data; if constexpr (std::is_floating_point_v) os << Precision{}.write(element); else os << element; - if (coloring) os << colors::reset; + if (coloring) os << color::reset; }; // If applicable, print a message saying the data were truncated diff --git a/src/GNDStk/Child.hpp b/src/GNDStk/Child.hpp index 22f0a8477..815fd21b4 100644 --- a/src/GNDStk/Child.hpp +++ b/src/GNDStk/Child.hpp @@ -35,7 +35,7 @@ ALLOW tree(...,axes,axis) gives back a container of axis objects, not a single axis object, because - our Child axis object has ALLOW == Allow::any. Note that axes, not to be + our Child axis object has ALLOW == Allow::many. Note that axes, not to be confused with axis, has ALLOW == Allow::one because it's expected just once. CONVERTER diff --git a/src/GNDStk/Component/src/detail.hpp b/src/GNDStk/Component/src/detail.hpp index 315b1fe29..ea8d0ab05 100644 --- a/src/GNDStk/Component/src/detail.hpp +++ b/src/GNDStk/Component/src/detail.hpp @@ -46,16 +46,16 @@ inline std::string colorize( const std::string &label, const std::string &color ) { - // no coloring in the first place? - if (!GNDStk::color) + // no coloring wanted? + if (!GNDStk::colors) return label; - // normal label color? + // normal (not overridden) label color? if (color == "") return colorize_label(label); - // override, e.g. for optional - return color + label + colors::reset; + // override, e.g. for the label of a std::optional + return color + label + GNDStk::color::reset; } @@ -134,6 +134,15 @@ inline constexpr bool hasPrintTwoArg = HasPrintTwoArg::has; // printComponentPart // ----------------------------------------------------------------------------- +// ------------------------ +// Forward declarations +// ------------------------ + +// todo +// Verify that we really need these. At some point, I thought I determined that +// they were necessary for proper resolution of calls to the various overloaded +// printComponentPart() functions, which often call one another. + // Cases: // std::string // T @@ -190,20 +199,51 @@ inline bool printComponentPart( if (maxlen != 0) os << std::string(maxlen-label.size(),' '); os << " " << colorize_colon(":"); - // assuming the string to be printed isn't empty - which we don't really - // anticipate would happen - then print a space after the ":" and before - // the soon-to-be-printed string + // Assuming the string to be printed isn't empty - which we don't really + // anticipate would happen - print a space after the ":" and before the + // soon-to-be-printed string. if (str != "") os << ' '; } + // Nothing to print. + if (str == "") + return true; + + // Print, indenting after any internal newlines the string might happen + // to have. Note that callers probably shouldn't *end* such strings with + // newlines. They generally won't, given how this function is called, but + // its possible that such newlines could arrive in the original data, from + // somebody's file. These won't really do any harm (and all of this is just + // prettyprinting, after all), but will simply cause a blank line to appear + // where it may seem unexpected. Speaking of the unexpected, a newline at + // the string's *beginning*, as opposed to its ending, will produce an end- + // of-line space after the label and colon a few lines above ("label : \n"). + // Some may find end-of-line whitespace to feel...icky. We could write logic + // that avoids producing end-of-line whitespace or blank lines, but believe + // it's better to leave such things. If they occur, it may point somebody + // to a construct like, say, the following in an XML file: + // + // + // + // which should probably be this instead: + // + // + // + // That is, without leading and trailing newlines. + + bool start = true; for (auto &ch : str) { + if (GNDStk::colors && start) os << color::value; + start = ch == '\n'; + if (GNDStk::colors && start) os << color::reset; // before os << \n... os << ch; - // indent after any internal newlines the string might happen to have; - // but callers probably shouldn't *end* such strings with newlines - if (ch == '\n') + if (start) // after \n, indent for additional content indentString(os,level); } + if (GNDStk::colors) os << color::reset; return true; } @@ -216,7 +256,8 @@ inline bool printComponentPart( // helper // isDerivedFromComponent // Adapted from an answer here: -// https://stackoverflow.com/questions/34672441 +// https://stackoverflow.com/questions/34672441 +// The issue is that Component is a class *template*. template class isDerivedFromComponent { template @@ -274,12 +315,12 @@ bool printComponentPart( if (opt.has_value()) printComponentPart( os, level, opt.value(), - label, maxlen, colors::optional + label, maxlen, color::optional ); else if (comments) printComponentPart( os, level, colorize_comment("// optional; has no value"), - label, maxlen, colors::optional + label, maxlen, color::optional ); else return false; // <== caller won't print newline @@ -299,7 +340,7 @@ bool printComponentPart( if (def.has_value()) { printComponentPart( os, level, def.value(), - label, maxlen, colors::defaulted + label, maxlen, color::defaulted ); } else if (comments) { std::string str; @@ -307,10 +348,10 @@ bool printComponentPart( printComponentPart( os, level, colorize_comment("// defaulted; is its default (" + str + ")"), - label, maxlen, colors::defaulted + label, maxlen, color::defaulted ); } else - return false; // <== caller won't print newline + return false; // <== so that caller won't print newline return true; } @@ -332,11 +373,21 @@ bool printComponentPart( ) { (void)maxlen; // doesn't use; formats with [...] + // To avoid user confusion in prettyprinted output, we'll change our special + // name "#comment" (which identifies comment nodes to be transformed into the + // form when writing to XML), to the name "comment" instead. + // Also, because our code generator creates the comment vector field + // automatically, in generated classes, we'll forego printing it here at all, + // that is, we won't write "comment [(nothing)]"), if the vector is empty. + const bool comment = label == special::comment; + if (comment && vec.size() == 0) + return false; // <== so that caller won't print newline + indentString( os, level, colorize( - label, - color != "" ? color : colors::vector + comment ? "comment" : label, + color != "" ? color : GNDStk::color::vector ) + " " + colorize_bracket("[") + "\n" ); @@ -371,8 +422,8 @@ bool printComponentPart( // For sorting derived-class fields based on index and label, if and when one // or the other of those is determined to be present. That determination hinges // on both a compile-time check that the classes involved even *have* index or -// label fields in their Content struct, and if they do, if either of those is -// possibly a std::optional that may or may not contain a value at the moment. +// label fields, and, if they do, if either of those is possibly a std::optional +// that may or may not contain a value at the moment. // ----------------------------------------------------------------------------- // ------------------------ @@ -441,7 +492,7 @@ bool compareRegular(const A &a, const B &b) : ahaslabel && bhaslabel ? alabel < blabel : ahaslabel ? true : bhaslabel ? false - // equal + // equal (so, not <, for strict weak ordering purposes) : false; } diff --git a/src/GNDStk/Component/src/finish.hpp b/src/GNDStk/Component/src/finish.hpp index b5bbaf665..6d6b05140 100644 --- a/src/GNDStk/Component/src/finish.hpp +++ b/src/GNDStk/Component/src/finish.hpp @@ -18,8 +18,8 @@ advised to call a finish() as well, or to achieve the necessary effect in some other manner. 2. These also provide a means by which derived-class constructors that are built -by our autogeneration tool can run additional code that someone's customization -of the autogenerated class might need. +by our autogeneration tool can run additional code that someone's customizations +of their autogenerated classes might need. The second thing is achieved in the following way. Autogenerated constructors each call one of the finish() functions. Each finish() function first does what @@ -32,9 +32,9 @@ thus can, but does not need to, provide a construct(). Arguments are received where (1) the derived-class constructor receives the argument, but (2) the argument is transitory - it's used in the constructor, -but it doesn't go into the autogenerated Content struct in the derived class. -(If it did go into the Content struct then we'd simply extract it from there, -instead of having finish() receive it as a parameter.) +but it doesn't go into a generated field in the derived class. (If it did go +into a generated field, then we'd simply extract it from there, instead of +having finish() receive it as a parameter.) Specifically, the constructors in the auto-generated classes call: @@ -61,20 +61,13 @@ block data, not a vector that might be there for a different reason. // construct() stubs // Override in a derived-class customization, to have custom code be run. // Cases: (), (DERIVED), (Node), (vector). -// Derived-class customizations should always return void. // ----------------------------------------------------------------------------- void construct() { } -void construct(const DERIVED &) { } -void construct(const Node &) { } - -// The next one returns bool, but customizations in DERIVED should return void, -// just as customizations to the above three construct() function variations -// return void. We use bool, here, for technical reasons, relating to the test -// used in the template finish() function (as opposed to the non-template cases) -// to determine whether or not someone has provided a custom construct(). -template>> -bool construct(const std::vector &) { return true; } +void construct(const DERIVED &) { derived().construct(); } +void construct(const Node &) { derived().construct(); } +template +void construct(const std::vector &) { derived().construct(); } @@ -116,15 +109,7 @@ void finish(const DERIVED &other) sort(); // construct - void (Component::*componentConstruct) - (const DERIVED &) = &Component::construct; - void (DERIVED::*derivedConstruct) - (const DERIVED &) = &DERIVED::construct; - - if (derivedConstruct != componentConstruct) - derived().construct(other); - else - derived().construct(); + derived().construct(other); } @@ -156,8 +141,5 @@ void finish(const std::vector &vector) sort(); // construct - if constexpr (std::is_same_v) - derived().construct(vector); - else - derived().construct(); + derived().construct(vector); } diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index df77a22a2..85d569fb4 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -15,23 +15,22 @@ write() functions. Node's write() functions can do a number of things, such as writing to XML, or to GNDStk's debug format. Someone who wishes to print the contents of a Component-derived class may prefer -to see our print() function's "prettyprinting" output. Not XML, not our internal -debug format, not the various other things that the write() functions can do. +to see our print() function's "prettyprinting" output. Not XML, certainly not +our internal debug format, and not other formats our Node's write()s support. -The name print(), then, not only aligns with what a Python user might expect, -but also reflects the difference from its - really, Node's - write() functions. -Note, in particular, that write() (called with no argument) behaves as it does -for Node, while print() (called with no argument) does something completely -different: prettyprint to standard output. +The name print(), then, not only aligns with what Python users might expect, but +also reflects a difference from Node's write() functions. In particular, write() +behaves as it does for Node, while print() does something completely different: +it prettyprints to standard output. -Our no-argument print() functions also print a newline at the end - which, when -prettyprinting, a user probably expects. +Our print() functions also print a newline at the end - which a user probably +expects to see when prettyprinting. The write() functions, being arguably more "low level", don't emit that newline, and shouldn't. Just as C++ doesn't automatically print something basic (an int, for example, or a floating-point number) with a newline, neither should a well- mannered system for writing class objects. Whether a newline is really wanted, -or not, depends on context. +or not wanted, depends on context. If you write std::cout << 1.23 << std::endl, you expect one line, with "1.23", followed by a newline via std::endl, then the cursor ready at the beginning of @@ -59,7 +58,10 @@ the enclosing class to do the right thing. std::ostream &print(std::ostream &os, const int level) const { try { + // ------------------------ // Indent, header, newline + // ------------------------ + detail::indentString( os, level, detail::colorize_component( @@ -68,9 +70,16 @@ std::ostream &print(std::ostream &os, const int level) const detail::colorize_brace("{") + "\n" ); + // ------------------------ // Consistency check + // ------------------------ + assert(std::tuple_size_v == links.size()); + // ------------------------ + // For alignment + // ------------------------ + // Compute maximum length of key names, if aligning. Note that we // could - but don't - take into account that keys associated with // optional or Defaulted values *might* not in fact show up in the @@ -81,15 +90,42 @@ std::ostream &print(std::ostream &os, const int level) const // particular Component<...> type will print with consistent spacing. // We prefer this behavior, and its code is also slightly simpler. std::size_t maxlen = 0; - if (GNDStk::align) + + if (GNDStk::align) { std::apply( [&maxlen](const auto &... key) { - ((maxlen = std::max(maxlen,detail::getName(key).size())), ...); + using namespace detail; + (( + maxlen = std::max( + maxlen, + // The following selection excludes vectors, optional + // vectors, and Component-derived classes from the + // alignment computation. Those are printed in their + // own specific manner, and we think the alignment just + // looks better, and has fewer spurious-looking spaces, + // when those constructs are excluded. + isVector< + typename queryResult>::type + >::value || + isOptionalVector< + typename queryResult>::type + >::value || + isDerivedFromComponent< + typename queryResult>::type + >::value + ? 0 // excluded cases + : getName(key).size() // normal cases + ) + ), ... ); }, Keys().tup ); + } + + // ------------------------ + // Apply links + // ------------------------ - // Apply links: // derived-class data ==> print std::apply( [this,&os,&level,maxlen](const auto &... key) { @@ -115,7 +151,11 @@ std::ostream &print(std::ostream &os, const int level) const Keys().tup ); - // Custom derived-class print()s, if any. + // ------------------------ + // Customizations, if any + // ------------------------ + + // Custom derived-class print()s. // To be recognized here, derived-class print() functions must be public, // and have signatures that are *exactly* as we expect, including their // constness. @@ -155,11 +195,18 @@ std::ostream &print(std::ostream &os, const int level) const } } + // ------------------------ // BlockData, if any + // ------------------------ + if constexpr (hasBlockData) BLOCKDATA::print(os,level+1); - // Indent, footer, NO trailing newline + // ------------------------ + // Indent, footer, + // NO trailing newline + // ------------------------ + detail::indentString( os, level, detail::colorize_brace("}") @@ -215,9 +262,15 @@ DERIVED &print(std::ostream &os = std::cout) // Component::hdf5() // // Shortcuts: like write(), but (1) in the given format, (2) to std::cout -// by default, and (3) with the trailing newline, print()-style. +// by default, and (3) with a trailing newline, print()-style. In view of +// points (2) and (3), these resemble print() more than write(), so I put +// them here, not in the file that defines the write()s. // ----------------------------------------------------------------------------- +// ------------------------ +// ostream, decl +// ------------------------ + // xml std::ostream &xml(std::ostream &os = std::cout, const bool decl = false) const { @@ -235,3 +288,25 @@ std::ostream &hdf5(std::ostream &os = std::cout, const bool decl = false) const { return write(os, "hdf5", decl) << std::endl, os; } + +// ------------------------ +// decl, ostream +// ------------------------ + +// xml +std::ostream &xml(const bool decl, std::ostream &os = std::cout) const +{ + return xml(os,decl); +} + +// json +std::ostream &json(const bool decl, std::ostream &os = std::cout) const +{ + return json(os,decl); +} + +// hdf5 +std::ostream &hdf5(const bool decl, std::ostream &os = std::cout) const +{ + return hdf5(os,decl); +} diff --git a/src/GNDStk/Component/src/read.hpp b/src/GNDStk/Component/src/read.hpp index 313579f02..dd36f280c 100644 --- a/src/GNDStk/Component/src/read.hpp +++ b/src/GNDStk/Component/src/read.hpp @@ -23,15 +23,7 @@ void read(const Node &node) sort(); // construct - void (Component::*componentConstruct) - (const Node &) = &Component::construct; - void (DERIVED::*derivedConstruct) - (const Node &) = &DERIVED::construct; - - if (derivedConstruct != componentConstruct) - derived().construct(node); - else - derived().construct(); + derived().construct(node); } diff --git a/src/GNDStk/Component/test/Component.test.cpp b/src/GNDStk/Component/test/Component.test.cpp index 593da9097..58207c69a 100644 --- a/src/GNDStk/Component/test/Component.test.cpp +++ b/src/GNDStk/Component/test/Component.test.cpp @@ -164,7 +164,7 @@ SCENARIO("Testing GNDStk Component") { // Component. ostream << Component prints the object to the ostream. WHEN("We test (Component << string) and (ostream << Component)") { DerivedData der; - color = false; // avoid cluttering the checked output below + colors = false; // avoid cluttering the checked output below const std::string expected = "DerivedData {\n" diff --git a/src/GNDStk/Component/test/detail.test.cpp b/src/GNDStk/Component/test/detail.test.cpp index 85a6fabef..186316cd2 100644 --- a/src/GNDStk/Component/test/detail.test.cpp +++ b/src/GNDStk/Component/test/detail.test.cpp @@ -155,34 +155,36 @@ SCENARIO("Testing Component detail:: miscellaneous functions") { // colorize GIVEN("Function: colorize()") { - WHEN("Called with GNDStk::color == true and color == \"\"") { + WHEN("Called with GNDStk::colors == true and color == \"\"") { THEN("It returns the expected result") { - njoy::GNDStk::color = true; - // coloring is on, but we don't give a color + njoy::GNDStk::colors = true; + // coloring is on, but we don't provide a color, + // and the default label color is set to "" + color::label = ""; CHECK(detail::colorize("one","") == "one"); } } - WHEN("Called with GNDStk::color == true and color != \"\"") { + WHEN("Called with GNDStk::colors == true and color != \"\"") { THEN("It returns the expected result") { - njoy::GNDStk::color = true; - // coloring is on, and we give a color + njoy::GNDStk::colors = true; + // coloring is on, and we provide a color CHECK(detail::colorize("two","[color]") == "[color]two\033[0m"); } } - WHEN("Called with GNDStk::color == false and color == \"\"") { + WHEN("Called with GNDStk::colors == false and color == \"\"") { THEN("It returns the expected result") { - njoy::GNDStk::color = false; - // coloring is off, and we don't give a color anyway + njoy::GNDStk::colors = false; + // coloring is off, and we don't provide a color anyway CHECK(detail::colorize("three","") == "three"); } } - WHEN("Called with GNDStk::color == false and color != \"\"") { + WHEN("Called with GNDStk::colors == false and color != \"\"") { THEN("It returns the expected result") { - njoy::GNDStk::color = false; - // coloring is off, and we give a color (but it isn't used, + njoy::GNDStk::colors = false; + // coloring is off, and we provide a color (but it isn't used, // because coloring is off) CHECK(detail::colorize("four","[color]") == "four"); } diff --git a/src/GNDStk/Component/test/print.test.cpp b/src/GNDStk/Component/test/print.test.cpp index 46fee4d27..359b6e6f7 100644 --- a/src/GNDStk/Component/test/print.test.cpp +++ b/src/GNDStk/Component/test/print.test.cpp @@ -68,7 +68,7 @@ R"***(proto::ReactionSuite { label : eval outerDomainValue : // optional; has no value proto::Axes { - href : // optional; has no value + href : // optional; has no value axis grid [ proto::Axis { index : 0 @@ -265,7 +265,7 @@ R"***(proto::ReactionSuite { } // proto::XYs1d ] proto::Axes { - href : // optional; has no value + href : // optional; has no value axis grid [ proto::Axis { index : 0 @@ -295,7 +295,7 @@ R"***(proto::ReactionSuite { label : eval outerDomainValue : // optional; has no value proto::Axes { - href : // optional; has no value + href : // optional; has no value axis grid [ proto::Axis { index : 0 diff --git a/src/GNDStk/convert/src/HDF5.hpp b/src/GNDStk/convert/src/HDF5.hpp index 76ad9581e..6fb9aadc6 100644 --- a/src/GNDStk/convert/src/HDF5.hpp +++ b/src/GNDStk/convert/src/HDF5.hpp @@ -37,7 +37,7 @@ inline bool convert(const Node &node, HDF5 &h, const std::string &name) if (cptr->name == special::xml ) continue; if (cptr->name == special::json) continue; - if (cptr->name == special::hdf5 || cptr->name == special::any) { + if (cptr->name == special::hdf5 || cptr->name == special::decl) { // looks like a declaration node if (found_dec) // already seen detail::info_node_multiple_dec(context); diff --git a/src/GNDStk/convert/src/JSON.hpp b/src/GNDStk/convert/src/JSON.hpp index 665c4b0f7..1b6bf3e01 100644 --- a/src/GNDStk/convert/src/JSON.hpp +++ b/src/GNDStk/convert/src/JSON.hpp @@ -29,7 +29,7 @@ inline bool convert(const Node &node, JSON &j) if (cptr->name == special::xml ) continue; if (cptr->name == special::hdf5) continue; - if (cptr->name == special::json || cptr->name == special::any) { + if (cptr->name == special::json || cptr->name == special::decl) { // looks like a declaration node if (found_dec) // already seen detail::info_node_multiple_dec(context); diff --git a/src/GNDStk/convert/src/XML.hpp b/src/GNDStk/convert/src/XML.hpp index 9a907eeb9..521dddb31 100644 --- a/src/GNDStk/convert/src/XML.hpp +++ b/src/GNDStk/convert/src/XML.hpp @@ -53,7 +53,7 @@ inline bool convert(const Node &node, XML &x) if (cptr->name == special::json) continue; if (cptr->name == special::hdf5) continue; - if (cptr->name == special::xml || cptr->name == special::any) { + if (cptr->name == special::xml || cptr->name == special::decl) { // looks like a declaration node pugi::xml_node xdecl; if (found_dec) // already seen diff --git a/src/GNDStk/type2string.hpp b/src/GNDStk/type2string.hpp index ffee2823a..53db6d2a4 100644 --- a/src/GNDStk/type2string.hpp +++ b/src/GNDStk/type2string.hpp @@ -13,7 +13,7 @@ key/value pair. */ // User-settable flag -inline bool comma = false; +inline bool commas = false; // ----------------------------------------------------------------------------- @@ -44,7 +44,7 @@ inline void convert(const std::string &value, std::ostream &os) template inline void convert(const std::pair &p, std::ostream &os) { - if ((convert(p.first,os),os) && os << (GNDStk::comma ? ',' : ' ')) + if ((convert(p.first,os),os) && os << (GNDStk::commas ? ',' : ' ')) convert(p.second,os); } @@ -55,7 +55,7 @@ inline void convert(const std::pair &p, std::ostream &os) const std::container &value, \ std::ostream &os \ ) { \ - const std::string sep = GNDStk::comma ? "," : " "; \ + const std::string sep = GNDStk::commas ? "," : " "; \ std::size_t count = 0; \ for (const T &val : value) \ if (!(os << (count++ ? sep : "") && (convert(val,os),os))) \ diff --git a/src/GNDStk/type2string/test/type2string.test.cpp b/src/GNDStk/type2string/test/type2string.test.cpp index cf403cfa0..23d9f3c35 100644 --- a/src/GNDStk/type2string/test/type2string.test.cpp +++ b/src/GNDStk/type2string/test/type2string.test.cpp @@ -212,8 +212,8 @@ SCENARIO("Testing some GNDStk::convert(pair,ostream) functionality") { // ------------------------ WHEN("We call convert(pair,ostream)") { - THEN("It works correctly when GNDStk::comma == false") { - njoy::GNDStk::comma = false; // we don't want a comma in the output... + THEN("It works correctly when GNDStk::commas == false") { + njoy::GNDStk::commas = false; // we don't want a comma in the output... const std::pair p(12,34); std::ostringstream oss; njoy::GNDStk::convert(p,oss); @@ -221,8 +221,8 @@ SCENARIO("Testing some GNDStk::convert(pair,ostream) functionality") { CHECK(str == "12 34"); // ...so, no comma } - THEN("It works correctly when GNDStk::comma == true") { - njoy::GNDStk::comma = true; // we do want a comma in the output... + THEN("It works correctly when GNDStk::commas == true") { + njoy::GNDStk::commas = true; // we want a comma in the output... const std::pair p(56,78); std::ostringstream oss; njoy::GNDStk::convert(p,oss); diff --git a/src/GNDStk/utility.hpp b/src/GNDStk/utility.hpp index 460b76e35..51bca173f 100644 --- a/src/GNDStk/utility.hpp +++ b/src/GNDStk/utility.hpp @@ -41,6 +41,7 @@ namespace special { inline const std::string any = prefix + std::string(""), + decl = prefix + std::string(""), nodename = prefix + std::string("nodename"), metadata = prefix + std::string("metadata"), cdata = prefix + std::string("cdata"), @@ -95,11 +96,11 @@ inline void failback(std::istream &is, const std::streampos pos) // Helper constructs for some simple Log-enhancing prettyprinting // ----------------------------------------------------------------------------- -// align, color +// align, colors // Users can set these in their own codes. // Remember that they're scoped in njoy::GNDStk, like other things. inline bool align = true; // extra spaces, to line stuff up for easy reading -inline bool color = false; // default: impose no ANSI escape-sequence clutter +inline bool colors = false; // default: no colors; so no ANSI escape sequences namespace detail { @@ -133,13 +134,13 @@ inline std::string diagnostic( }; static const std::string under = "\033[4m"; // underline on static const std::string unoff = "\033[24m"; // underline off - static const std::string reset = "\033[0m"; // all color/decorations off + static const std::string reset = "\033[0m"; // all colors/decorations off static const std::size_t warn = 7; // length of "warning", the longest label // full text, including the (possibly underlined) prefix if one was provided const std::string text = prefix == "" ? message - : (color ? under : "") + prefix + (color ? unoff : "") + ": " + message; + : (colors ? under : "") + prefix + (colors ? unoff : "") + ": " + message; // full text, possibly spaced for alignment std::string spaced, indent = std::string(warn+3,' '); // 3 for '[', ']', ' ' @@ -151,7 +152,7 @@ inline std::string diagnostic( spaced = text; // final message, possibly colorized - return color ? codes[label] + spaced + reset : spaced; + return colors ? codes[label] + spaced + reset : spaced; } // context @@ -205,12 +206,10 @@ inline long truncate = -1; // those are in namespace GNDStk::log; so, the names don't conflict. // Print info messages? (with log::info()) -inline bool info = true; -inline bool ¬e = info; // alias +inline bool notes = true; // Print warnings? (with log::warning()) -inline bool warning = true; -inline bool &warnings = warning; // alias; plural may "read" better +inline bool warnings = true; // Print debug messages? (with log::debug()) inline bool debug = false; @@ -241,7 +240,7 @@ namespace log { template void info(const std::string &str, Args &&...args) { - if (GNDStk::info) { + if (GNDStk::notes) { const std::string msg = detail::diagnostic("info",str); Log::info(msg.data(), std::forward(args)...); } @@ -251,7 +250,7 @@ void info(const std::string &str, Args &&...args) template void warning(const std::string &str, Args &&...args) { - if (GNDStk::warning) { + if (GNDStk::warnings) { const std::string msg = detail::diagnostic("warning",str); Log::warning(msg.data(), std::forward(args)...); } @@ -460,7 +459,7 @@ inline bool endsin_hdf5(const std::string &str) // ----------------------------------------------------------------------------- // Re: file format indicators -// These are used in places where we're allowing a user to give a string, +// These are used in places where we're allowing a user to provide a string, // e.g. "xml", in place of a file format specifier ala enum class file. // ----------------------------------------------------------------------------- diff --git a/standards/gnds-2.0/try/0.cpp b/standards/gnds-2.0/try/0.cpp index 4ac5eb697..7c2bd049c 100644 --- a/standards/gnds-2.0/try/0.cpp +++ b/standards/gnds-2.0/try/0.cpp @@ -6,8 +6,8 @@ using namespace test::v2_0; int main(const int argc, const char *const *const argv) { - // color, for diagnostics - color = true; + // color for diagnostics + colors = true; // usage if (argc < 2) { diff --git a/standards/incremental/example/0.cpp b/standards/incremental/example/0.cpp index 0c6c2233e..e184db0ad 100644 --- a/standards/incremental/example/0.cpp +++ b/standards/incremental/example/0.cpp @@ -24,7 +24,7 @@ int main(const int argc, const char *const *const argv) print(); // for printing - color = true; + colors = true; comments = false; // documentation: default construction @@ -46,7 +46,7 @@ int main(const int argc, const char *const *const argv) gnds::PoPs pops; pops.read(filename); - ///pops.print(); // Component's prettyprinting + pops.print(); // Component's prettyprinting ///pops.write(); // Internal debug format :-/ pops.xml(); print(); From 24ae1aa333f8d41373527b45e4d5bb8325a37a7b Mon Sep 17 00:00:00 2001 From: Martin Staley Date: Fri, 23 Dec 2022 15:09:28 -0700 Subject: [PATCH 235/235] Uploading miscellaneous un-uploaded work. --- autogen/json2class.cpp | 14 ++- src/GNDStk/BlockData/src/colors.hpp | 123 ++++++++++++++++++++++- src/GNDStk/BlockData/src/print.hpp | 147 +++++++++++++++------------- src/GNDStk/Component/src/detail.hpp | 91 ++++++++++------- src/GNDStk/Component/src/print.hpp | 72 ++++++-------- standards/incremental/example/0.cpp | 10 +- 6 files changed, 300 insertions(+), 157 deletions(-) diff --git a/autogen/json2class.cpp b/autogen/json2class.cpp index 82718d643..3eb2040e3 100644 --- a/autogen/json2class.cpp +++ b/autogen/json2class.cpp @@ -219,14 +219,16 @@ struct InfoSpecs { // ----------------------------------------------------------------------------- // Print text describing an action the code is about to take -void action(const std::string &str) +template +void action(const ARGS &...args) { static const std::string inverse = "\033[7m"; static const std::string background(80,' '); std::cout << inverse << color::plain::blue << '\n' - << background << '\n' - << std::setw(80) << std::left << str << '\n' + << background << '\n'; + ((std::cout << std::setw(80) << std::left << args << '\n'), ...); + std::cout << background << '\n' << color::reset << std::endl; @@ -1605,6 +1607,12 @@ void commandLine( static const std::string files = "JSONFiles"; static const std::string changes = "Changes"; + action( + "GNDStk Code Generator", + "Author: Martin Staley", + "Los Alamos National Laboratory" + ); + // Usage if (argc != 2) { std::cout << "Usage: " << argv[0] << " file.json" << std::endl; diff --git a/src/GNDStk/BlockData/src/colors.hpp b/src/GNDStk/BlockData/src/colors.hpp index 9d4531a04..30de3b7ad 100644 --- a/src/GNDStk/BlockData/src/colors.hpp +++ b/src/GNDStk/BlockData/src/colors.hpp @@ -41,6 +41,89 @@ namespace bold { inline const std::string reset = "\033[0m"; +// ----------------------------------------------------------------------------- +// Color-related functions +// ----------------------------------------------------------------------------- + +// makeColor +// Here, not in detail::, because it's possibly of interest to users. +inline std::string makeColor(const int r, const int g, const int b) +{ + return "\033[38;2;" + + std::to_string(r < 0 ? 0 : r > 255 ? 255 : r) + ";" + + std::to_string(g < 0 ? 0 : g > 255 ? 255 : g) + ";" + + std::to_string(b < 0 ? 0 : b > 255 ? 255 : b) + "m"; +} + +// spectrum +template +std::string spectrum( + T min, + T val, + T max, + const std::string &color = "" +) { + if constexpr (!std::is_arithmetic_v) + return color; // fallback + + if (max < min) + std::swap(min,max); + val = val < min ? min : val > max ? max : val; + + using quad = long double; + // zzz but deal with max == min + const T frac = quad(val-min)/(max-min); + + // zzz maybe not quite right... + const int r = lround(256*frac); + const int g = lround(128 - 256*std::abs(frac-0.5)); + const int b = lround(256*(1-frac)); + + // zzz remember to return something here! + + /* + zzz + + const int ncol = argc == 1 ? 80 : atoi(argv[1]); + const int last = ncol == 1 ? 1 : ncol-1; + + for (int col = 0; col < ncol; ++col) { + const int r = 255*col/last; + const int g = 255 - std::abs(255*(last-col-col)/last); + const int b = 255*(last-col)/last; + + std::cout << "\033[48;2;" << r << ";" << g << ";" << b << "m" + << " " // just print a space + << "\033[0m"; + std::cout << " " << r << ", " << g << ", " << b << std::endl; + } + */ + + /* + zzz c.cc + #include + #include + #include + + int main(const int argc, const char *const *const argv) + { + const int ncol = argc == 1 ? 80 : atoi(argv[1]); + const int last = ncol == 1 ? 1 : ncol-1; + + for (int col = 0; col < ncol; ++col) { + const int r = 255*(last-col)/last; + const int g = 255 - std::abs(255*(last-col-col)/last); + const int b = 255*col/last; + + std::cout << "\033[48;2;" << r << ";" << g << ";" << b << "m" + << " " // just print a space + << "\033[0m"; + std::cout << " " << r << ", " << g << ", " << b << std::endl; + } + } + */ +} + // ----------------------------------------------------------------------------- // For Component printing @@ -83,10 +166,48 @@ inline std::string optional = plain::cyan; inline std::string defaulted = plain::cyan; // Values in nodes with block data -inline std::string data = plain::white; +inline std::string data = ""; // Comments - both those that we will (optionally) emit, and also those // that appear in a comment vector in a Component-derived class. inline std::string comment = plain::red; + +// ----------------------------------------------------------------------------- +// truecolor +// ----------------------------------------------------------------------------- + +inline void truecolor() +{ + /* + static const std::string + blue = makeColor( 41, 128, 185), + green = makeColor( 39, 174, 96), + red = makeColor(218, 68, 83), + magenta = makeColor(128, 68, 83), + cyan = makeColor( 61, 174, 233), + gray = makeColor(189, 195, 199); + */ + + static const std::string + blue = makeColor( 45, 135, 192), + green = makeColor( 39, 174, 96), + red = makeColor(218, 68, 83), + magenta = makeColor(128, 68, 83), + cyan = makeColor( 72, 192, 253), + gray = makeColor(189, 195, 199); + + label = blue; + colon = ""; + value = magenta; + component = blue; + brace = blue; + vector = green; + bracket = green; + optional = cyan; + defaulted = cyan; + data = ""; + comment = red; +} + } // namespace color diff --git a/src/GNDStk/BlockData/src/print.hpp b/src/GNDStk/BlockData/src/print.hpp index 4a9d6ec8b..f4c5a7d85 100644 --- a/src/GNDStk/BlockData/src/print.hpp +++ b/src/GNDStk/BlockData/src/print.hpp @@ -6,77 +6,84 @@ std::ostream &print(std::ostream &os, const int level) const { - // If empty, don't even print a newline - if ((active() == Active::string && rawstring == "") || - (active() == Active::vector && size() == 0)) - return os; - - // Coloring? - const bool coloring = GNDStk::colors && GNDStk::color::data != ""; - - // ------------------------ - // If string is active - // ------------------------ - - if (active() == Active::string) { - // Print the string exactly as-is, without our column formatting - // or any indentation; then also print a newline - return coloring - ? os << color::data << rawstring << color::reset << std::endl - : os << rawstring << std::endl; - } + try { + + // If empty, don't even print a newline + if ((active() == Active::string && rawstring == "") || + (active() == Active::vector && size() == 0)) + return os; + + // Coloring? + const bool coloring = GNDStk::colors && GNDStk::color::data != ""; + + // ------------------------ + // If string is active + // ------------------------ + + if (active() == Active::string) { + // Print the string exactly as-is, without our column formatting + // or any indentation; then also print a newline + return coloring + ? os << color::data << rawstring << color::reset << std::endl + : os << rawstring << std::endl; + } + + // ------------------------ + // If vector is active + // ------------------------ + + // Indentation (string, with some number of spaces) + const std::string indent(GNDStk::indent*level,' '); - // ------------------------ - // If vector is active - // ------------------------ - - // Indentation (string, with some number of spaces) - const std::string indent(GNDStk::indent*level,' '); - - const auto printLambda = - [&os,&indent,coloring](auto &&alt) - { - using T = std::decay_t; - const std::size_t size = alt.size(); - const std::size_t end = (GNDStk::truncate < 0) - ? size - : std::min(size,std::size_t(GNDStk::truncate)); - - // Print, using our column formatting - for (std::size_t i = 0; i < end; ++i) { - const T &element = alt[i]; - - // value's whitespace prefix - i == 0 - ? os << indent // at the very beginning, or... - : GNDStk::columns <= 0 || - i % std::size_t(std::abs(GNDStk::columns)) != 0 - ? os << ' ' // still on the current line, or... - : os << '\n' << indent; // starting the next line - - // value - using namespace detail; - if (coloring) os << color::data; - if constexpr (std::is_floating_point_v) - os << Precision{}.write(element); - else - os << element; - if (coloring) os << color::reset; + const auto printLambda = + [&os,&indent,coloring](auto &&alt) + { + using T = std::decay_t; + const std::size_t size = alt.size(); + const std::size_t end = (GNDStk::truncate < 0) + ? size + : std::min(size,std::size_t(GNDStk::truncate)); + + // Print, using our column formatting + for (std::size_t i = 0; i < end; ++i) { + const T &element = alt[i]; + + // value's whitespace prefix + i == 0 + ? os << indent // at the very beginning, or... + : GNDStk::columns <= 0 || + i % std::size_t(std::abs(GNDStk::columns)) != 0 + ? os << ' ' // still on the current line, or... + : os << '\n' << indent; // starting the next line + + // value + using namespace detail; + if (coloring) os << color::data; + if constexpr (std::is_floating_point_v) + os << Precision{}.write(element); + else + os << element; + if (coloring) os << color::reset; + }; + + // If applicable, print a message saying the data were truncated + if (end < size) { + if (end > 0) + os << '\n'; + os << indent << detail::colorize_comment( + "// truncated; total #values == " + std::to_string(size)); + } }; - // If applicable, print a message saying the data were truncated - if (end < size) { - if (end > 0) - os << '\n'; - os << indent << detail::colorize_comment( - "// truncated; total #values == " + std::to_string(size)); - } - }; - - if constexpr (runtime) - std::visit(printLambda,variant); - else - printLambda(vector); - - return os << std::endl; + if constexpr (runtime) + std::visit(printLambda,variant); + else + printLambda(vector); + + return os << std::endl; + + } catch (...) { + log::member("BlockData.print()"); + throw; + } } diff --git a/src/GNDStk/Component/src/detail.hpp b/src/GNDStk/Component/src/detail.hpp index ea8d0ab05..4a6af25c8 100644 --- a/src/GNDStk/Component/src/detail.hpp +++ b/src/GNDStk/Component/src/detail.hpp @@ -15,14 +15,16 @@ namespace detail { // Meta template -std::string getName(const Meta &m) +const std::string & +getName(const Meta &m) { return m.name; } // Child template -std::string getName(const Child &c) +const std::string & +getName(const Child &c) { return c.name; } @@ -32,16 +34,18 @@ template< class TYPE, Allow ALLOW, class CONVERTER, class FILTER, class T, class = std::enable_if_t::value> > -std::string getName(const std::pair,T> &p) +const std::string & +getName(const std::pair,T> &p) { return getName(p.first); } // ------------------------ -// colorize +// Various // ------------------------ +// colorize inline std::string colorize( const std::string &label, const std::string &color @@ -58,11 +62,7 @@ inline std::string colorize( return color + label + GNDStk::color::reset; } - -// ------------------------ // fullName -// ------------------------ - inline std::string fullName( const std::string &nname, // name of namespace const std::string &cname // name of class @@ -70,17 +70,27 @@ inline std::string fullName( return (nname == "" ? "" : nname + "::") + cname; } - -// ------------------------ // indentString -// ------------------------ - inline void indentString( std::ostream &os, const int level, const std::string &str = "" ) { os << std::string(GNDStk::indent * level,' ') << str; } +// isDerivedFromComponent +// Adapted from an answer here: +// https://stackoverflow.com/questions/34672441 +// The issue is that Component is a class *template*. +template +class isDerivedFromComponent { + template + static constexpr std::true_type test(Component *); + static constexpr std::false_type test(...); + using type = decltype(test(std::declval())); +public: + static constexpr bool value = type::value; +}; + // ------------------------ // hasPrint* @@ -132,11 +142,8 @@ inline constexpr bool hasPrintTwoArg = HasPrintTwoArg::has; // ----------------------------------------------------------------------------- // printComponentPart -// ----------------------------------------------------------------------------- - -// ------------------------ // Forward declarations -// ------------------------ +// ----------------------------------------------------------------------------- // todo // Verify that we really need these. At some point, I thought I determined that @@ -183,6 +190,12 @@ bool printComponentPart( ); + +// ----------------------------------------------------------------------------- +// printComponentPart +// Definitions +// ----------------------------------------------------------------------------- + // ------------------------ // for string // ------------------------ @@ -196,8 +209,10 @@ inline bool printComponentPart( if (label != "") { os << colorize(label,color); - if (maxlen != 0) + if (maxlen != 0) { + assert(maxlen >= label.size()); os << std::string(maxlen-label.size(),' '); + } os << " " << colorize_colon(":"); // Assuming the string to be printed isn't empty - which we don't really // anticipate would happen - print a space after the ":" and before the @@ -240,8 +255,10 @@ inline bool printComponentPart( start = ch == '\n'; if (GNDStk::colors && start) os << color::reset; // before os << \n... os << ch; - if (start) // after \n, indent for additional content + if (start) { // after \n, indent for additional content + os << std::flush; indentString(os,level); + } } if (GNDStk::colors) os << color::reset; @@ -253,21 +270,6 @@ inline bool printComponentPart( // for T // ------------------------ -// helper -// isDerivedFromComponent -// Adapted from an answer here: -// https://stackoverflow.com/questions/34672441 -// The issue is that Component is a class *template*. -template -class isDerivedFromComponent { - template - static constexpr std::true_type test(Component *); - static constexpr std::false_type test(...); - using type = decltype(test(std::declval())); -public: - static constexpr bool value = type::value; -}; - template bool printComponentPart( std::ostream &os, const int level, const T &value, @@ -368,10 +370,10 @@ bool printComponentPart( template bool printComponentPart( std::ostream &os, const int level, const std::vector &vec, - const std::string &label, const std::size_t maxlen, + const std::string &label, const std::size_t /*maxlen*/, const std::string &color ) { - (void)maxlen; // doesn't use; formats with [...] + // Doesn't use maxlen; formats with [...] // To avoid user confusion in prettyprinted output, we'll change our special // name "#comment" (which identifies comment nodes to be transformed into the @@ -394,7 +396,7 @@ bool printComponentPart( for (auto &value : vec) { printComponentPart(os, level+1, value, "", 0); - os << '\n'; // between elements + os << std::endl; // between elements } indentString( @@ -561,6 +563,7 @@ void sort(std::optional> &opt) // ----------------------------------------------------------------------------- // queryResult +// doNotAlign // ----------------------------------------------------------------------------- // default @@ -581,4 +584,20 @@ struct queryResult> { using type = std::tuple::type...>; }; +// doNotAlign +// Component::print() uses the following to exclude [optional] vectors and +// Component-derived classes from its alignment computation. Those are printed +// in their own specific manner, and we think the alignment just looks better, +// and has fewer spurious-looking spaces, when those constructs are excluded. +template +struct doNotAlign { + static constexpr bool value = + isVector< + typename queryResult>::type>::value || + isOptionalVector< + typename queryResult>::type>::value || + isDerivedFromComponent< + typename queryResult>::type>::value; +}; + } // namespace detail diff --git a/src/GNDStk/Component/src/print.hpp b/src/GNDStk/Component/src/print.hpp index 85d569fb4..7e554168c 100644 --- a/src/GNDStk/Component/src/print.hpp +++ b/src/GNDStk/Component/src/print.hpp @@ -67,8 +67,9 @@ std::ostream &print(std::ostream &os, const int level) const detail::colorize_component( detail::fullName(Namespace(), Class()) ) + " " + - detail::colorize_brace("{") + "\n" + detail::colorize_brace("{") ); + os << std::endl; // ------------------------ // Consistency check @@ -93,28 +94,14 @@ std::ostream &print(std::ostream &os, const int level) const if (GNDStk::align) { std::apply( - [&maxlen](const auto &... key) { - using namespace detail; + [&maxlen](const auto &... key) + { (( maxlen = std::max( maxlen, - // The following selection excludes vectors, optional - // vectors, and Component-derived classes from the - // alignment computation. Those are printed in their - // own specific manner, and we think the alignment just - // looks better, and has fewer spurious-looking spaces, - // when those constructs are excluded. - isVector< - typename queryResult>::type - >::value || - isOptionalVector< - typename queryResult>::type - >::value || - isDerivedFromComponent< - typename queryResult>::type - >::value - ? 0 // excluded cases - : getName(key).size() // normal cases + detail::doNotAlign::value + ? 0 // non-aligned cases + : detail::getName(key).size() // normal cases ) ), ... ); }, @@ -128,25 +115,23 @@ std::ostream &print(std::ostream &os, const int level) const // derived-class data ==> print std::apply( - [this,&os,&level,maxlen](const auto &... key) { + [this,&os,&level,maxlen](const auto &... key) + { std::size_t n = 0; - ( - ( - // indent, value, newline - detail::printComponentPart( - os, - level+1, - *( - typename detail::queryResult< - std::decay_t - >::type - *)links[n++], - detail::getName(key), - maxlen - ) && (os << '\n') // no if()s in fold expressions :-/ - ), - ... - ); + (( + // indent, value, newline + detail::printComponentPart( + os, + level+1, + *( + typename detail::queryResult< + std::decay_t + >::type + *)links[n++], + detail::getName(key), + detail::doNotAlign::value ? 0 : maxlen + ) && (os << std::endl) // no if()s in fold expressions :-/ + ), ... ); }, Keys().tup ); @@ -162,7 +147,7 @@ std::ostream &print(std::ostream &os, const int level) const if constexpr (detail::hasPrintTwoArg) { // Derived class has: // std::ostream &print(std::ostream &os, const int level) const; - // and handles indentation level in its own way; we won't here. + // and handles the indentation level in its own way; we won't here. std::ostringstream tmp; derived().print(tmp,level+1); const std::string &str = tmp.str(); @@ -173,7 +158,7 @@ std::ostream &print(std::ostream &os, const int level) const if (str[size-1] == '\n') size--; for (std::size_t i = 0; i < size; ++i) os << str[i]; - std::cout << std::endl; + os << std::endl; } } else if constexpr (detail::hasPrintOneArg) { // Derived class has: @@ -191,7 +176,7 @@ std::ostream &print(std::ostream &os, const int level) const os << indentTo(level+1); for (std::size_t i = 0; i < size; ++i) os << str[i] << (str[i] == '\n' ? indentTo(level+1) : ""); - std::cout << std::endl; + os << std::endl; } } @@ -222,7 +207,10 @@ std::ostream &print(std::ostream &os, const int level) const return os; } catch (...) { - log::member("Component.print()"); + log::member( + "Component.print() for {}", + detail::fullName(Namespace(), Class()) + ); throw; } } diff --git a/standards/incremental/example/0.cpp b/standards/incremental/example/0.cpp index e184db0ad..c9bd20fd2 100644 --- a/standards/incremental/example/0.cpp +++ b/standards/incremental/example/0.cpp @@ -47,12 +47,12 @@ int main(const int argc, const char *const *const argv) gnds::PoPs pops; pops.read(filename); pops.print(); // Component's prettyprinting - ///pops.write(); // Internal debug format :-/ + //pops.write(); // Internal debug format :-/ pops.xml(); print(); } -#if 0 + /* // speed test: construct from node for (int n = 1; n < argc; ++n) { const std::string filename = argv[n]; @@ -63,9 +63,9 @@ int main(const int argc, const char *const *const argv) for (int n = 0; n < 100000; ++n) gnds::PoPs pops(node); } -#endif + */ -#if 0 + /* // files for (int n = 1; n < argc; ++n) { const std::string filename = argv[n]; @@ -90,5 +90,5 @@ int main(const int argc, const char *const *const argv) p.print(); print(); } -#endif + */ }